@feedmepos/mf-inventory-portal 1.2.30-dev.1 → 1.2.31-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 (83) hide show
  1. package/dist/{App-kX4bqoEe.js → App-DfKh34ES.js} +43 -41
  2. package/dist/{ApprovalView-DCNKqVE2.js → ApprovalView-DyoKsEqh.js} +34 -28
  3. package/dist/{BindingsDialog-d7f1f8gf.js → BindingsDialog-7rGLzkyA.js} +8 -8
  4. package/dist/{BindingsPicker-2HJOx0QW.js → BindingsPicker-Cj1DvhQN.js} +6 -5
  5. package/dist/{BindingsTable-CPAjxOZG.js → BindingsTable-CAreptqr.js} +28 -24
  6. package/dist/{ClosingDraftView-CUng41eo.js → ClosingDraftView-DoDGz9Y8.js} +183 -175
  7. package/dist/{ClosingHistoryView-CcGc2NwU.js → ClosingHistoryView-BJSE7ZSv.js} +43 -41
  8. package/dist/{ClosingTemplateView-D8IAdhDb.js → ClosingTemplateView-Dr2eJk4h.js} +94 -76
  9. package/dist/{DeliveryOrderPrintPreview-BsM-CCc5.js → DeliveryOrderPrintPreview-BzYLm6J6.js} +15 -14
  10. package/dist/FmDroppableField-J0xUsOTV.js +154 -0
  11. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-cuggJ5Xd.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-16r_hkBE.js} +74 -72
  12. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-Csesow4V.js +279 -0
  13. package/dist/FmMultiselectDialog-BGhSjgbj.js +597 -0
  14. package/dist/{FmMultiselectDialog-BGbrqXUF.js → FmMultiselectDialog-DUrpqAkF.js} +1 -1
  15. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-isogcN1O.js → FmUnitInput.vue_vue_type_script_setup_true_lang-CSv7osJW.js} +51 -49
  16. package/dist/{ImportView-wAVrMEwL.js → ImportView-BAkyTU_3.js} +81 -74
  17. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-DVUF4I2Q.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-z0IAsrH_.js} +5 -5
  18. package/dist/{IngredientGroupView-BZczeXdL.js → IngredientGroupView-D7gurA7T.js} +73 -65
  19. package/dist/{IngredientsView-D5N5Y1ZY.js → IngredientsView-hwfpMtTX.js} +358 -345
  20. package/dist/{IntegrationView-Hrslmuc1.js → IntegrationView-DwqzQ6E3.js} +1618 -1593
  21. package/dist/{InventoryBindingForm-DH6wgxOG.js → InventoryBindingForm-CwjM6Rqk.js} +1 -1
  22. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-Drr5vD6f.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-BPr8PDwu.js} +41 -40
  23. package/dist/{InventoryBindingSummary-BU1ehpQZ.js → InventoryBindingSummary-B7UFFMkm.js} +1 -1
  24. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-1ueC4GfZ.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-Djo2b2Ix.js} +5 -5
  25. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-FHcU1zZt.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BSgGGiN6.js} +22 -21
  26. package/dist/{PublishView-CQtj0f31.js → PublishView-CA9gFV_r.js} +26 -23
  27. package/dist/{PurchaseOrderPrintPreview-BQyXtHST.js → PurchaseOrderPrintPreview-BeHd82Y0.js} +10 -9
  28. package/dist/{ReceiveRequestView-Dm-h_SrY.js → ReceiveRequestView-DEthRdM1.js} +472 -456
  29. package/dist/{RecipeView-DNNRvr1w.js → RecipeView-D45gkYHY.js} +73 -64
  30. package/dist/SingleColumnLayout.vue_vue_type_script_setup_true_lang-CWZkVCAj.js +251 -0
  31. package/dist/{StockView-CaOm5BCx.js → StockView-COx7A4Ac.js} +292 -282
  32. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-Z91XRszD.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-DX35xDkm.js} +1 -1
  33. package/dist/{SupplierView-JSII9qwL.js → SupplierView-DHM3dJMZ.js} +92 -80
  34. package/dist/SystemTrailDialog.vue_vue_type_script_setup_true_lang-Bg2K2ULw.js +177 -0
  35. package/dist/TableActionableRow.vue_vue_type_script_setup_true_lang-DlNJ6kRg.js +135 -0
  36. package/dist/TemplatePublishDialog.vue_vue_type_script_setup_true_lang-CyMEGFh5.js +123 -0
  37. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-Mehd4lGs.js → TransferDetails.vue_vue_type_script_setup_true_lang-CVm2bXic.js} +318 -305
  38. package/dist/{TransferTemplateView-DyCpNKJd.js → TransferTemplateView-BtYozLuk.js} +228 -216
  39. package/dist/{UnitView-CqN7mlJ2.js → UnitView-B4mqodQa.js} +70 -63
  40. package/dist/{WarehouseView-gFWD-m8e.js → WarehouseView-CjDM8L_V.js} +123 -114
  41. package/dist/WastageTemplateView-Be4Y_zV8.js +2288 -0
  42. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  43. package/dist/api/netsuite.d.ts +9 -3
  44. package/dist/app-DYsP0gKj.js +64121 -0
  45. package/dist/app-rgirz_52.js +8024 -0
  46. package/dist/app.js +6 -6
  47. package/dist/closing-template-BVy1ga2g.js +117 -0
  48. package/dist/date2-BO7HiZTk.js +116 -0
  49. package/dist/dayjs.min-HNt4C1ja.js +282 -0
  50. package/dist/{decimal-DfF_g5rc.js → decimal-BJ8rKm1R.js} +4 -3
  51. package/dist/defineDeepModel-CidpVmK7.js +19 -0
  52. package/dist/duplicate-template-C25Z0lvq.js +34 -0
  53. package/dist/feature-DCia3aqG.js +20162 -0
  54. package/dist/form-mode.enum-BKiNVH6A.js +4 -0
  55. package/dist/format-time-from-id-BPws326b.js +15 -0
  56. package/dist/{format-unit-display-ivAljvlo.js → format-unit-display-C2P3mS8l.js} +308 -297
  57. package/dist/{import-export.helper-B2MWv9v7.js → import-export.helper-Dt6ZMAPT.js} +56 -52
  58. package/dist/{index-DZaT0ZaL.js → index-6zxXdF-V.js} +1 -1
  59. package/dist/index-BjUDHtA2.js +45 -0
  60. package/dist/{index-BbhuWHyh.js → index-tZj47B-j.js} +16 -14
  61. package/dist/lodash-DLMgBu6M.js +3678 -0
  62. package/dist/netsuite-BSMLXIQa.js +4979 -0
  63. package/dist/{purchase-order-template-DdybMC_P.js → purchase-order-template-D5NGCbI2.js} +1 -1
  64. package/dist/router/shared.spec.d.ts +1 -0
  65. package/dist/row-action.enum-BcW_L_nE.js +67 -0
  66. package/dist/rules-BiaGzhvQ.js +201 -0
  67. package/dist/{stock-BYagIdsj.js → stock-DOCQ91Jh.js} +1 -1
  68. package/dist/{stock-V4ciPiBe.js → stock-Ty-89Ap8.js} +11 -10
  69. package/dist/stores/integration/netsuite.d.ts +5 -1
  70. package/dist/style.css +1 -1
  71. package/dist/{supplier-CgtB1I9I.js → supplier-Dxb5ULjF.js} +27 -26
  72. package/dist/tsconfig.app.tsbuildinfo +1 -1
  73. package/dist/{use-ingredient-select-dialog-BIQovyZX.js → use-ingredient-select-dialog-BI0yIG6A.js} +4 -3
  74. package/dist/{use-inventory-binding-dialog-DyjicXgc.js → use-inventory-binding-dialog-CbZC-VuL.js} +4 -3
  75. package/dist/use-template-enabled-locations-2-Dhttpl0B.js +111 -0
  76. package/dist/views/adjustment-template/wastage-template/table.d.ts +1 -1
  77. package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +1 -1
  78. package/dist/views/integration/components/netsuite/business/BusinessNetSuiteSideSheet.vue.d.ts +6 -2
  79. package/dist/vue-i18n-Cqx7gNJF.js +2365 -0
  80. package/dist/xlsx-ex8Bmftq.js +24004 -0
  81. package/dist/xlsx.util-C8YXEqEl.js +78 -0
  82. package/package.json +2 -2
  83. package/dist/app-CnQ49Lyb.js +0 -131483
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-Drr5vD6f.js";
1
+ import { _ as f } from "./InventoryBindingForm.vue_vue_type_script_setup_true_lang-BPr8PDwu.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,7 +1,8 @@
1
- import { defineComponent as ee, computed as _, reactive as ne, resolveComponent as k, openBlock as r, createElementBlock as p, createVNode as y, withCtx as U, createElementVNode as n, toDisplayString as m, unref as i, createBlock as B, createCommentVNode as v, Fragment as E, renderList as C, nextTick as oe } from "vue";
2
- import { a as te, a3 as le, bd as ie, n as h, be as T, a1 as G, a0 as se, F as de } from "./app-CnQ49Lyb.js";
3
- import { u as re } from "./use-inventory-binding-dialog-DyjicXgc.js";
4
- import { _ as ae, c as ue, d as me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-isogcN1O.js";
1
+ import { defineComponent as ee, computed as _, reactive as ne, resolveComponent as k, openBlock as d, createElementBlock as p, createVNode as y, withCtx as U, createElementVNode as n, toDisplayString as m, unref as i, createBlock as B, createCommentVNode as v, Fragment as E, renderList as C, nextTick as oe } from "vue";
2
+ import { a as te, D as le, ae as ie, F as se } from "./app-DYsP0gKj.js";
3
+ import { a as h, q as T, h as G, d as re } from "./rules-BiaGzhvQ.js";
4
+ import { u as de } from "./use-inventory-binding-dialog-CbZC-VuL.js";
5
+ import { _ as ae, c as ue, d as me } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CSv7osJW.js";
5
6
  import { useI18n as ce } from "@feedmepos/mf-common";
6
7
  const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-16" }, fe = { class: "flex items-center" }, ve = { class: "flex-1 fm-typo-en-title-sm-600" }, be = { class: "flex flex-col" }, ge = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, _e = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, xe = { class: "flex flex-col w-full border-b border-fm-color-neutral-gray-100" }, he = {
7
8
  class: "flex items-center",
@@ -24,13 +25,13 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
24
25
  }, Ne = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, Te = { class: "flex flex-col" }, Me = { class: "w-[200px]" }, De = {
25
26
  key: 0,
26
27
  class: "w-[52px]"
27
- }, Ke = { class: "flex flex-col gap-16" }, $e = { class: "flex items-center" }, je = { class: "flex-1 fm-typo-en-title-sm-600" }, ze = { class: "flex flex-col" }, Le = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, Oe = { class: "flex-1 fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Ye = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary w-[150px] px-16" }, We = {
28
+ }, Ke = { class: "flex flex-col gap-16" }, $e = { class: "flex items-center" }, je = { class: "flex-1 fm-typo-en-title-sm-600" }, ze = { class: "flex flex-col" }, Le = { class: "flex py-8 px-12 border-b border-fm-color-neutral-gray-200 bg-fm-color-neutral-gray-100 h-[44px] items-center" }, Oe = { class: "flex-1 fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Ye = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary w-[150px] px-16" }, qe = {
28
29
  class: "flex items-center w-full",
29
30
  style: { "min-height": "48px" }
30
- }, qe = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, He = { class: "line-clamp-1" }, Je = { class: "w-[150px]" }, Qe = {
31
+ }, We = { class: "flex-1 fm-typo-en-body-md-400 py-8 px-12" }, He = { class: "line-clamp-1" }, Je = { class: "w-[150px]" }, Qe = {
31
32
  key: 0,
32
33
  class: "w-[52px]"
33
- }, Xe = { class: "flex flex-col px-12 pb-4" }, ln = /* @__PURE__ */ ee({
34
+ }, Xe = { class: "flex flex-col px-12 pb-4" }, sn = /* @__PURE__ */ ee({
34
35
  __name: "InventoryBindingForm",
35
36
  props: {
36
37
  id: {},
@@ -63,7 +64,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
63
64
  var t;
64
65
  return (t = e.bindingPaths[0]) == null ? void 0 : t.id;
65
66
  }))
66
- ), j = _(() => s.modelValue.filter((e) => e.type === "RECIPE")), { promptIngredientsBinding: z, promptRecipesBinding: L, promptIngredientGroupsBinding: O } = re();
67
+ ), j = _(() => s.modelValue.filter((e) => e.type === "RECIPE")), { promptIngredientsBinding: z, promptRecipesBinding: L, promptIngredientGroupsBinding: O } = de();
67
68
  async function Y() {
68
69
  if (s.iframeMode) {
69
70
  b("click:pick-inventory-bindings", "RECIPE");
@@ -75,8 +76,8 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
75
76
  s.id ? [s.id] : []
76
77
  );
77
78
  }
78
- const W = _(() => s.modelValue.filter((e) => e.type === "SKU_GROUP"));
79
- async function q() {
79
+ const q = _(() => s.modelValue.filter((e) => e.type === "SKU_GROUP"));
80
+ async function W() {
80
81
  O(
81
82
  s.modelValue,
82
83
  (e) => b("update:modelValue", e),
@@ -97,32 +98,32 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
97
98
  );
98
99
  }
99
100
  function S(e, t, o) {
100
- const d = +t;
101
+ const r = +t;
101
102
  let f = o;
102
- t.length > 0 && isFinite(d) ? f = o.map((u) => (u.id !== e || (u.amount = se(d)), u)) : f = o.map((u) => (u.id !== e || (u.amount = { amount: 0, precision: 0 }), u)), b("update:modelValue", f);
103
+ t.length > 0 && isFinite(r) ? f = o.map((u) => (u.id !== e || (u.amount = re(r)), u)) : f = o.map((u) => (u.id !== e || (u.amount = { amount: 0, precision: 0 }), u)), b("update:modelValue", f);
103
104
  }
104
105
  function F(e, t) {
105
- const o = t.filter((d) => d.id !== e);
106
+ const o = t.filter((r) => r.id !== e);
106
107
  b("update:modelValue", o);
107
108
  }
108
109
  function P(e) {
109
- var o, d;
110
- if (e.type !== de.enum.SKU)
110
+ var o, r;
111
+ if (e.type !== se.enum.SKU)
111
112
  throw new Error("Non-SKU binding does not have unit");
112
113
  if (!((o = I.value[e.id]) == null ? void 0 : o.unit))
113
114
  throw new Error(`Cannot find ingredient: ${e.id}`);
114
- return (d = I.value[e.id]) == null ? void 0 : d.unit;
115
+ return (r = I.value[e.id]) == null ? void 0 : r.unit;
115
116
  }
116
117
  function J(e) {
117
118
  return { amount: e.amount, measurement: e.measurement };
118
119
  }
119
120
  function Q(e, t, o) {
120
- const d = o.map((f) => f.id !== e ? f : {
121
+ const r = o.map((f) => f.id !== e ? f : {
121
122
  ...f,
122
123
  amount: t.amount,
123
124
  measurement: t.measurement
124
125
  });
125
- b("update:modelValue", d);
126
+ b("update:modelValue", r);
126
127
  }
127
128
  const N = ne({});
128
129
  function X(e) {
@@ -146,8 +147,8 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
146
147
  });
147
148
  }
148
149
  return (e, t) => {
149
- const o = k("FmFormGroup"), d = k("FmButton"), f = k("FmTextField"), u = k("FmIcon");
150
- return r(), p("div", pe, [
150
+ const o = k("FmFormGroup"), r = k("FmButton"), f = k("FmTextField"), u = k("FmIcon");
151
+ return d(), p("div", pe, [
151
152
  y(o, {
152
153
  disabled: e.disabled,
153
154
  "model-value": e.modelValue,
@@ -164,7 +165,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
164
165
  n("div", ye, [
165
166
  n("div", fe, [
166
167
  n("div", ve, m(i(a)("inventory.inventoryBindings.recipe")), 1),
167
- e.readonly ? v("", !0) : (r(), B(d, {
168
+ e.readonly ? v("", !0) : (d(), B(r, {
168
169
  key: 0,
169
170
  variant: "secondary",
170
171
  "text-color": "primary",
@@ -180,7 +181,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
180
181
  t[1] || (t[1] = n("div", { class: "w-[200px]" }, null, -1)),
181
182
  t[2] || (t[2] = n("div", { class: "w-[52px]" }, null, -1))
182
183
  ]),
183
- (r(!0), p(E, null, C(j.value, (l) => (r(), B(o, {
184
+ (d(!0), p(E, null, C(j.value, (l) => (d(), B(o, {
184
185
  key: l.id,
185
186
  disabled: e.disabled,
186
187
  modelValue: +i(h)(l.amount ?? { amount: 1, precision: 0 }),
@@ -203,8 +204,8 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
203
204
  invalid: V
204
205
  }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
205
206
  ]),
206
- e.readonly ? v("", !0) : (r(), p("div", Ie, [
207
- y(d, {
207
+ e.readonly ? v("", !0) : (d(), p("div", Ie, [
208
+ y(r, {
208
209
  disabled: e.disabled,
209
210
  type: "button",
210
211
  variant: "plain",
@@ -214,7 +215,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
214
215
  }, null, 8, ["disabled", "onClick"])
215
216
  ]))
216
217
  ]),
217
- w.value.has(l.id) ? (r(), p("div", we, [
218
+ w.value.has(l.id) ? (d(), p("div", we, [
218
219
  y(u, {
219
220
  name: "error",
220
221
  color: "system-error-300",
@@ -229,17 +230,17 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
229
230
  }, 1032, ["disabled", "modelValue", "rules"]))), 128))
230
231
  ])
231
232
  ]),
232
- e.enableIngredientGroup ? (r(), p("div", Fe, [
233
+ e.enableIngredientGroup ? (d(), p("div", Fe, [
233
234
  n("div", Ue, [
234
235
  n("div", Ee, m(i(a)("inventory.inventoryBindings.ingredientGroup")), 1),
235
- e.readonly ? v("", !0) : (r(), B(d, {
236
+ e.readonly ? v("", !0) : (d(), B(r, {
236
237
  key: 0,
237
238
  variant: "secondary",
238
239
  "text-color": "primary",
239
240
  "border-color": "primary",
240
241
  label: i(a)("inventory.inventoryBindings.linkIngredientGroup"),
241
242
  "prepend-icon": "link",
242
- onClick: q
243
+ onClick: W
243
244
  }, null, 8, ["label"]))
244
245
  ]),
245
246
  n("div", Ce, [
@@ -248,7 +249,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
248
249
  t[3] || (t[3] = n("div", { class: "w-[200px]" }, null, -1)),
249
250
  t[4] || (t[4] = n("div", { class: "w-[52px]" }, null, -1))
250
251
  ]),
251
- (r(!0), p(E, null, C(W.value, (l) => (r(), B(o, {
252
+ (d(!0), p(E, null, C(q.value, (l) => (d(), B(o, {
252
253
  key: l.id,
253
254
  disabled: e.disabled,
254
255
  modelValue: +i(h)(l.amount ?? { amount: 1, precision: 0 }),
@@ -258,7 +259,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
258
259
  var g;
259
260
  return [
260
261
  n("div", Re, [
261
- w.value.has(l.id) ? (r(), p("div", Se, [
262
+ w.value.has(l.id) ? (d(), p("div", Se, [
262
263
  y(u, {
263
264
  name: "error",
264
265
  color: "system-error-300",
@@ -279,8 +280,8 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
279
280
  invalid: V
280
281
  }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue", "invalid"])
281
282
  ]),
282
- e.readonly ? v("", !0) : (r(), p("div", De, [
283
- y(d, {
283
+ e.readonly ? v("", !0) : (d(), p("div", De, [
284
+ y(r, {
284
285
  disabled: e.disabled,
285
286
  type: "button",
286
287
  variant: "plain",
@@ -300,7 +301,7 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
300
301
  n("div", Ke, [
301
302
  n("div", $e, [
302
303
  n("div", je, m(i(a)("inventory.inventoryBindings.ingredient")), 1),
303
- e.readonly ? v("", !0) : (r(), B(d, {
304
+ e.readonly ? v("", !0) : (d(), B(r, {
304
305
  key: 0,
305
306
  variant: "secondary",
306
307
  "text-color": "primary",
@@ -316,14 +317,14 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
316
317
  n("div", Ye, m(i(a)("inventory.inventoryBindings.amount")), 1),
317
318
  t[5] || (t[5] = n("div", { class: "w-[52px]" }, null, -1))
318
319
  ]),
319
- (r(!0), p(E, null, C(R.value, (l, V) => {
320
+ (d(!0), p(E, null, C(R.value, (l, V) => {
320
321
  var g;
321
- return r(), p("div", {
322
+ return d(), p("div", {
322
323
  key: l.id,
323
324
  class: "flex flex-col border-b border-fm-color-neutral-gray-100"
324
325
  }, [
325
- n("div", We, [
326
- n("div", qe, [
326
+ n("div", qe, [
327
+ n("div", We, [
327
328
  n("span", He, m((g = I.value[l.id]) == null ? void 0 : g.name), 1)
328
329
  ]),
329
330
  n("div", Je, [
@@ -337,8 +338,8 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
337
338
  disabled: e.readonly
338
339
  }, null, 8, ["model-value", "onUpdate:modelValue", "onUpdate:amount", "unit", "placement", "disabled"])
339
340
  ]),
340
- e.readonly ? v("", !0) : (r(), p("div", Qe, [
341
- y(d, {
341
+ e.readonly ? v("", !0) : (d(), p("div", Qe, [
342
+ y(r, {
342
343
  disabled: e.disabled,
343
344
  type: "button",
344
345
  variant: "tertiary",
@@ -370,5 +371,5 @@ const pe = { class: "flex flex-col gap-24" }, ye = { class: "flex flex-col gap-1
370
371
  }
371
372
  });
372
373
  export {
373
- ln as _
374
+ sn as _
374
375
  };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as l, resolveComponent as m, openBlock as c, createBlock as d, h as g } from "vue";
2
2
  import { useI18n as p } from "@feedmepos/mf-common";
3
3
  import { components as u } from "@feedmepos/ui-library";
4
- import { F as r } from "./app-CnQ49Lyb.js";
4
+ import { F as r } from "./app-DYsP0gKj.js";
5
5
  const w = /* @__PURE__ */ l({
6
6
  __name: "InventoryBindingSummary",
7
7
  props: {
@@ -1,5 +1,5 @@
1
- import { defineComponent as V, computed as w, ref as h, watch as u, resolveComponent as i, openBlock as F, createBlock as g, withCtx as d, createVNode as A, createElementVNode as k, normalizeClass as K } from "vue";
2
- import { a0 as s } from "./app-CnQ49Lyb.js";
1
+ import { defineComponent as V, computed as w, ref as h, watch as u, resolveComponent as d, openBlock as F, createBlock as g, withCtx as i, createVNode as A, createElementVNode as k, normalizeClass as K } from "vue";
2
+ import { d as s } from "./rules-BiaGzhvQ.js";
3
3
  const _ = ["value", "disabled"], C = /* @__PURE__ */ V({
4
4
  __name: "NumberPrecisionInput",
5
5
  props: {
@@ -35,7 +35,7 @@ const _ = ["value", "disabled"], C = /* @__PURE__ */ V({
35
35
  t.value.length === 0 && (e.key === "-" || e.key === ".") || e.preventDefault();
36
36
  };
37
37
  return (e, t) => {
38
- const o = i("FmField"), a = i("FmFormGroup");
38
+ const o = d("FmField"), a = d("FmFormGroup");
39
39
  return F(), g(a, {
40
40
  disabled: e.disabled,
41
41
  modelValue: e.modelValue,
@@ -43,9 +43,9 @@ const _ = ["value", "disabled"], C = /* @__PURE__ */ V({
43
43
  "helper-text": e.helperText,
44
44
  label: e.label
45
45
  }, {
46
- default: d(({ invalid: b }) => [
46
+ default: i(({ invalid: b }) => [
47
47
  A(o, { invalid: b }, {
48
- default: d(() => [
48
+ default: i(() => [
49
49
  k("input", {
50
50
  value: l.value,
51
51
  onInput: t[0] || (t[0] = (y) => l.value = y.target.value),
@@ -1,22 +1,23 @@
1
- import { aR as u, aS as _, aa as h, u as F } from "./app-CnQ49Lyb.js";
1
+ import { u, w as _ } from "./xlsx-ex8Bmftq.js";
2
+ import { o as h, u as F } from "./app-DYsP0gKj.js";
2
3
  import { useCoreStore as y } from "@feedmepos/mf-common";
3
- import { ref as v, defineComponent as k, resolveComponent as l, openBlock as g, createElementBlock as S, renderSlot as x, createVNode as m, withCtx as O } from "vue";
4
- function w(e, t) {
4
+ import { ref as v, defineComponent as k, resolveComponent as l, openBlock as g, createElementBlock as S, renderSlot as x, createVNode as m, withCtx as w } from "vue";
5
+ function O(e, t) {
5
6
  return t.map((r) => typeof r.selector == "function" ? r.selector(e) : e[r.selector]);
6
7
  }
7
8
  function I(e, t) {
8
- const r = t.map((o) => o.name), n = e.map((o) => w(o, t));
9
+ const r = t.map((o) => o.name), n = e.map((o) => O(o, t));
9
10
  return u.aoa_to_sheet([r, ...n]);
10
11
  }
11
- async function C(e, t) {
12
+ async function D(e, t) {
12
13
  const r = u.book_new();
13
14
  for (const n of e) {
14
15
  const o = I(
15
16
  n.data,
16
- n.columns.map((a) => typeof a == "string" ? {
17
- name: a,
18
- selector: a
19
- } : a)
17
+ n.columns.map((s) => typeof s == "string" ? {
18
+ name: s,
19
+ selector: s
20
+ } : s)
20
21
  );
21
22
  u.book_append_sheet(r, o, n.name);
22
23
  }
@@ -26,17 +27,17 @@ const f = h((e, t) => {
26
27
  const r = F(), n = y();
27
28
  return {
28
29
  async getInventoryForecast() {
29
- var s;
30
- const o = ((s = n.currentBusiness.value) == null ? void 0 : s._id) ?? "", a = r.currentLocationId ?? "", i = `${e.dataBackendUrl}/${o}/${a}/inventory-forecast`;
30
+ var a;
31
+ const o = ((a = n.currentBusiness.value) == null ? void 0 : a._id) ?? "", s = r.currentLocationId ?? "", i = `${e.dataBackendUrl}/${o}/${s}/inventory-forecast`;
31
32
  try {
32
33
  return await t.get(i);
33
34
  } catch {
34
35
  return { skus: [] };
35
36
  }
36
37
  },
37
- async getPurchaseOrderForecast(o, a) {
38
+ async getPurchaseOrderForecast(o, s) {
38
39
  var p;
39
- const i = ((p = n.currentBusiness.value) == null ? void 0 : p._id) ?? "", s = r.currentLocationId ?? "", d = `${e.dataBackendUrl}/${i}/${s}/purchase-order-forecast?days=${o}${a ? `&template_id=${a}` : ""}`;
40
+ const i = ((p = n.currentBusiness.value) == null ? void 0 : p._id) ?? "", a = r.currentLocationId ?? "", d = `${e.dataBackendUrl}/${i}/${a}/purchase-order-forecast?days=${o}${s ? `&template_id=${s}` : ""}`;
40
41
  try {
41
42
  return await t.get(d);
42
43
  } catch {
@@ -52,7 +53,7 @@ function $() {
52
53
  };
53
54
  }
54
55
  const c = v($());
55
- function D() {
56
+ function N() {
56
57
  return {
57
58
  // state
58
59
  get inventoryForecast() {
@@ -78,11 +79,11 @@ function D() {
78
79
  }
79
80
  };
80
81
  }
81
- function N(e) {
82
+ function L(e) {
82
83
  let t = e.substring(e.indexOf("_") + 1);
83
84
  return t.includes("_") && (t = t.substring(0, t.lastIndexOf("_"))), Number.isNaN(Date.parse(t)) ? null : new Date(t).toISOString();
84
85
  }
85
- const b = { class: "flex items-center gap-8" }, B = "Experience enhanced inventory features with premium plan.", L = /* @__PURE__ */ k({
86
+ const b = { class: "flex items-center gap-8" }, B = "Experience enhanced inventory features with premium plan.", T = /* @__PURE__ */ k({
86
87
  __name: "PremiumBadge",
87
88
  props: {
88
89
  zIndex: {}
@@ -98,7 +99,7 @@ const b = { class: "flex items-center gap-8" }, B = "Experience enhanced invento
98
99
  content: B,
99
100
  "z-index": t.zIndex
100
101
  }, {
101
- default: O(() => [
102
+ default: w(() => [
102
103
  m(n, { variant: "premium" })
103
104
  ]),
104
105
  _: 1
@@ -108,8 +109,8 @@ const b = { class: "flex items-center gap-8" }, B = "Experience enhanced invento
108
109
  }
109
110
  });
110
111
  export {
111
- L as _,
112
- C as e,
113
- N as i,
114
- D as u
112
+ T as _,
113
+ D as e,
114
+ L as i,
115
+ N as u
115
116
  };
@@ -1,10 +1,13 @@
1
1
  import { defineComponent as Q, ref as D, computed as c, watch as X, resolveComponent as l, openBlock as W, createBlock as z, unref as h, createSlots as Z, withCtx as u, createElementVNode as f, normalizeClass as ee, createVNode as a, normalizeStyle as te, Teleport as oe, h as g } from "vue";
2
- import { aM as ne, u as ae, a as se, b7 as le, G as ie, I as re, ab as B } from "./app-CnQ49Lyb.js";
3
- import { useBreakpoints as ce, useDialog as ue, useSnackbar as me, components as H } from "@feedmepos/ui-library";
4
- const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ye = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, ge = /* @__PURE__ */ Q({
2
+ import { u as ne, a as ae, v as se } from "./app-DYsP0gKj.js";
3
+ import { u as le, _ as ie } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-CWZkVCAj.js";
4
+ import { useBreakpoints as re, useDialog as ce, useSnackbar as ue, components as B } from "@feedmepos/ui-library";
5
+ import { u as me } from "./vue-i18n-Cqx7gNJF.js";
6
+ import { a as H } from "./date2-BO7HiZTk.js";
7
+ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ye = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, xe = /* @__PURE__ */ Q({
5
8
  __name: "PublishView",
6
- setup(be) {
7
- const { t } = ne(), { breakpoints: x } = ce(), n = ae(), A = se(), S = le(), i = D(!1), m = c(() => A.state.inventory.updatedAt ? A.state.inventory.updatedAt : null), R = ie(), I = ue(), Y = me(), N = c(() => n.locationsWithInventory), _ = c(() => x.value.xs || x.value.sm), $ = c(() => _.value ? 10 : 20);
9
+ setup(ve) {
10
+ const { t } = me(), { breakpoints: x } = re(), n = ne(), A = ae(), S = se(), i = D(!1), m = c(() => A.state.inventory.updatedAt ? A.state.inventory.updatedAt : null), R = le(), C = ce(), Y = ue(), N = c(() => n.locationsWithInventory), _ = c(() => x.value.xs || x.value.sm), $ = c(() => _.value ? 10 : 20);
8
11
  X(
9
12
  () => n._locations,
10
13
  async () => {
@@ -25,7 +28,7 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
25
28
  async function q(e) {
26
29
  switch (e) {
27
30
  case "publish":
28
- I.open({
31
+ C.open({
29
32
  title: t("inventory.common.publish"),
30
33
  message: "Are you sure you want to publish to all locations?",
31
34
  primaryActions: { text: t("inventory.common.publish"), close: !0 },
@@ -45,19 +48,19 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
45
48
  label: t("inventory.publish.actions.publishAll")
46
49
  }
47
50
  ];
48
- function G(e) {
51
+ function K(e) {
49
52
  switch (w.value = !1, e) {
50
53
  case "publish":
51
54
  console.log("publish all");
52
55
  }
53
56
  }
54
- const K = [
57
+ const j = [
55
58
  {
56
59
  id: "type",
57
60
  header: () => t("inventory.publish.columns.type"),
58
61
  enableSorting: !0,
59
62
  cell(e) {
60
- return g(H.FmChip, {
63
+ return g(B.FmChip, {
61
64
  color: "primary",
62
65
  label: e.row.original.type
63
66
  });
@@ -75,7 +78,7 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
75
78
  enableSorting: !0,
76
79
  cell(e) {
77
80
  var o, s;
78
- return (o = e.row.original.inventory) != null && o.updatedAt ? B((s = e.row.original.inventory) == null ? void 0 : s.updatedAt) : "";
81
+ return (o = e.row.original.inventory) != null && o.updatedAt ? H((s = e.row.original.inventory) == null ? void 0 : s.updatedAt) : "";
79
82
  }
80
83
  },
81
84
  {
@@ -103,12 +106,12 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
103
106
  },
104
107
  t(o ? "inventory.publish.status.published" : "inventory.publish.status.outdated")
105
108
  ),
106
- !o && !p ? g(H.FmButton, {
109
+ !o && !p ? g(B.FmButton, {
107
110
  class: "tertiary",
108
111
  variant: "secondary",
109
112
  icon: "sync",
110
113
  onClick: () => {
111
- I.open({
114
+ C.open({
112
115
  title: t("inventory.common.publish"),
113
116
  message: `Are you sure you want to publish this location "${e.row.original.name}"?`,
114
117
  primaryActions: { text: t("inventory.common.publish"), close: !0 },
@@ -142,8 +145,8 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
142
145
  // }
143
146
  ];
144
147
  return (e, o) => {
145
- const s = l("FmChip"), p = l("FlexRender"), d = l("TableActionableRow"), j = l("FmTable"), J = l("FmCollapsibleTabs"), O = l("FmBottomSheet");
146
- return W(), z(re, {
148
+ const s = l("FmChip"), p = l("FlexRender"), d = l("TableActionableRow"), G = l("FmTable"), J = l("FmCollapsibleTabs"), O = l("FmBottomSheet");
149
+ return W(), z(ie, {
147
150
  title: h(t)("inventory.publish.title"),
148
151
  actions: U.value,
149
152
  "onClick:action": q
@@ -158,9 +161,9 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
158
161
  }
159
162
  ])
160
163
  }, [
161
- a(j, {
164
+ a(G, {
162
165
  style: te(h(R).tableHeight),
163
- "column-defs": K,
166
+ "column-defs": j,
164
167
  "row-data": N.value,
165
168
  loading: !h(n)._currentLocation || i.value,
166
169
  "loading-text": "Loading",
@@ -169,19 +172,19 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
169
172
  "list-row": u((r) => [
170
173
  a(d, { row: r }, {
171
174
  default: u((y) => {
172
- var C, F, k, b, M, L, P, T, v, V;
175
+ var F, I, k, v, M, L, P, T, b, V;
173
176
  return [
174
177
  f("div", pe, [
175
178
  f("div", de, [
176
179
  a(p, {
177
- render: (k = (F = (C = y.code) == null ? void 0 : C.column) == null ? void 0 : F.columnDef) == null ? void 0 : k.cell,
178
- props: (M = (b = y.code) == null ? void 0 : b.getContext) == null ? void 0 : M.call(b)
180
+ render: (k = (I = (F = y.code) == null ? void 0 : F.column) == null ? void 0 : I.columnDef) == null ? void 0 : k.cell,
181
+ props: (M = (v = y.code) == null ? void 0 : v.getContext) == null ? void 0 : M.call(v)
179
182
  }, null, 8, ["render", "props"])
180
183
  ]),
181
184
  f("div", ye, [
182
185
  a(p, {
183
186
  render: (T = (P = (L = y.name) == null ? void 0 : L.column) == null ? void 0 : P.columnDef) == null ? void 0 : T.cell,
184
- props: (V = (v = y.name) == null ? void 0 : v.getContext) == null ? void 0 : V.call(v)
187
+ props: (V = (b = y.name) == null ? void 0 : b.getContext) == null ? void 0 : V.call(b)
185
188
  }, null, 8, ["render", "props"])
186
189
  ])
187
190
  ])
@@ -203,7 +206,7 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
203
206
  a(J, {
204
207
  class: "pb-8",
205
208
  items: E,
206
- "onUpdate:modelValue": o[0] || (o[0] = (r) => G(r))
209
+ "onUpdate:modelValue": o[0] || (o[0] = (r) => K(r))
207
210
  })
208
211
  ]),
209
212
  _: 1
@@ -217,7 +220,7 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
217
220
  fn: u(() => [
218
221
  a(s, {
219
222
  variant: "info",
220
- label: `Latest: ${h(B)(m.value)}`
223
+ label: `Latest: ${h(H)(m.value)}`
221
224
  }, null, 8, ["label"])
222
225
  ]),
223
226
  key: "0"
@@ -227,5 +230,5 @@ const pe = { class: "flex flex-col py-8" }, de = { class: "fm-typo-en-body-md-40
227
230
  }
228
231
  });
229
232
  export {
230
- ge as default
233
+ xe as default
231
234
  };
@@ -1,7 +1,8 @@
1
1
  import { defineComponent as b, computed as m, ref as x, onMounted as f, openBlock as u, createElementBlock as n, createElementVNode as t, toDisplayString as e, normalizeStyle as g, createTextVNode as i, Fragment as o, createCommentVNode as p, renderList as v } from "vue";
2
2
  import { useRoute as w } from "vue-router";
3
- import { aL as y, aw as k } from "./app-CnQ49Lyb.js";
4
- const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "title" }, N = { class: "text-right" }, O = { class: "header" }, P = { class: "sub-header" }, D = { class: "caption" }, E = { class: "address" }, S = { class: "text-right" }, T = { class: "sub-header" }, F = { class: "address" }, L = { class: "purchase-body" }, q = { class: "text-left" }, U = { class: "text-left" }, V = { class: "text-right" }, B = { class: "text-right" }, H = { class: "text-right" }, I = { style: { "padding-top": "30px" } }, M = { valign: "bottom" }, z = { class: "header" }, J = { class: "caption" }, Q = {
3
+ import { J as y } from "./app-DYsP0gKj.js";
4
+ import { _ as k } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
+ const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "title" }, N = { class: "text-right" }, O = { class: "header" }, P = { class: "sub-header" }, D = { class: "caption" }, E = { class: "address" }, S = { class: "text-right" }, T = { class: "sub-header" }, F = { class: "address" }, q = { class: "purchase-body" }, L = { class: "text-left" }, U = { class: "text-left" }, V = { class: "text-right" }, B = { class: "text-right" }, H = { class: "text-right" }, I = { style: { "padding-top": "30px" } }, J = { valign: "bottom" }, M = { class: "header" }, z = { class: "caption" }, Q = {
5
6
  class: "text-left",
6
7
  style: { width: "20%" }
7
8
  }, j = { class: "text-left" }, G = {
@@ -79,7 +80,7 @@ const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "tit
79
80
  ])
80
81
  ])
81
82
  ]),
82
- t("div", L, [
83
+ t("div", q, [
83
84
  t("table", null, [
84
85
  l[10] || (l[10] = t("thead", { class: "item-header" }, [
85
86
  t("tr", null, [
@@ -104,7 +105,7 @@ const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "tit
104
105
  ], -1)),
105
106
  t("tbody", null, [
106
107
  (u(!0), n(o, null, v(s.value.items, (r, a) => (u(), n("tr", { key: a }, [
107
- t("td", q, e(r.code), 1),
108
+ t("td", L, e(r.code), 1),
108
109
  t("td", U, e(r.description), 1),
109
110
  t("td", V, e(r.quantity), 1),
110
111
  t("td", B, e(r.unit), 1),
@@ -123,10 +124,10 @@ const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "tit
123
124
  style: { padding: "10px 30px" }
124
125
  }, [
125
126
  t("table", null, [
126
- t("tr", M, [
127
+ t("tr", J, [
127
128
  t("td", null, [
128
- t("div", z, "Ref: " + e(r.ref), 1),
129
- t("div", J, e(r.createdAt), 1),
129
+ t("div", M, "Ref: " + e(r.ref), 1),
130
+ t("div", z, e(r.createdAt), 1),
130
131
  t("div", null, "Remark: " + e(r.remark), 1)
131
132
  ])
132
133
  ])
@@ -147,7 +148,7 @@ const A = { class: "purchase-box" }, C = { valign: "bottom" }, R = { class: "tit
147
148
  ])
148
149
  ]));
149
150
  }
150
- }), et = /* @__PURE__ */ k(W, [["__scopeId", "data-v-3cb85541"]]);
151
+ }), lt = /* @__PURE__ */ k(W, [["__scopeId", "data-v-3cb85541"]]);
151
152
  export {
152
- et as default
153
+ lt as default
153
154
  };