@feedmepos/mf-inventory-portal 0.0.25-dev.5 → 0.0.25-dev.51

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 (118) hide show
  1. package/dist/{App-Kq8apMtA.js → App-Bf7Ef5j4.js} +29 -28
  2. package/dist/ApprovalView-CTKJY1vM.js +143 -0
  3. package/dist/{BindingsDialog-DOXckftj.js → BindingsDialog-Cb7aRRNk.js} +6 -6
  4. package/dist/{BindingsPicker-Cm5vh_SU.js → BindingsPicker-DOI78hCt.js} +3 -3
  5. package/dist/{BindingsTable-CqIY16hU.js → BindingsTable-CZE4g-lw.js} +6 -6
  6. package/dist/ClosingDraftView-ChjnuJSG.js +1348 -0
  7. package/dist/ClosingTemplateView-gSQqeQ_q.js +1859 -0
  8. package/dist/FmCustomAttribute.vue_vue_type_script_setup_true_lang-D-IWRjRD.js +34 -0
  9. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BMFxe5xn.js +211 -0
  10. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-0Kw57u62.js → FmUnitInput.vue_vue_type_script_setup_true_lang-PmKyuRhO.js} +31 -31
  11. package/dist/IngredientBindedItem.vue_vue_type_script_setup_true_lang-CnRG4x74.js +51 -0
  12. package/dist/{IngredientGroupView-CLmsjrp8.js → IngredientGroupView-CaF4rmHy.js} +14 -14
  13. package/dist/{IngredientsView-T5S1322D.js → IngredientsView-CX_MSjT3.js} +577 -551
  14. package/dist/{IntegrationView-DLLrgrr9.js → IntegrationView-BRkcILmI.js} +681 -710
  15. package/dist/{InventoryBindingForm-BCPZcNwR.js → InventoryBindingForm-BK7OBXJt.js} +1 -1
  16. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-DY96hhyi.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-D81eO5Mu.js} +98 -98
  17. package/dist/{InventoryBindingSummary-CpCsz_Xc.js → InventoryBindingSummary-B3m-PoE-.js} +1 -1
  18. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CP5yNARW.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DsTKgxFv.js} +1 -1
  19. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-Cow0sp-k.js → PremiumBadge.vue_vue_type_script_setup_true_lang-8Sa_WUWa.js} +17 -17
  20. package/dist/PublishView-DZR7-XFd.js +222 -0
  21. package/dist/{PurchaseOrderPrintPreview-DQ8GaxvA.js → PurchaseOrderPrintPreview-BT5Khjs6.js} +1 -1
  22. package/dist/ReceiveRequestView-3nhyFqXE.js +2579 -0
  23. package/dist/{RecipeView-CROffYxl.js → RecipeView-R-lqVFmh.js} +47 -46
  24. package/dist/{index-B2ISFLHY.js → StockView-Did7vk97.js} +3601 -1764
  25. package/dist/{SupplierView-DUFTtK7r.js → SupplierView-BGHR6LD2.js} +446 -457
  26. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-vjDgXu5D.js +1605 -0
  27. package/dist/TransferTemplateView-Dh1iZbPZ.js +1526 -0
  28. package/dist/{UnitView-B4jcaZF4.js → UnitView-DE9WIvA-.js} +14 -14
  29. package/dist/{WarehouseView-BmZtdMZU.js → WarehouseView-CgurMkHh.js} +332 -314
  30. package/dist/api/closing-draft.d.ts +1 -0
  31. package/dist/api/inventory.d.ts +9 -6
  32. package/dist/api/netsuite.d.ts +22 -5
  33. package/dist/api/purchase-order.d.ts +7 -1
  34. package/dist/api/stock.d.ts +1 -0
  35. package/dist/app-BoT0hU4y.js +88112 -0
  36. package/dist/app.js +1 -1
  37. package/dist/components/FmAutocompleteTextField.vue.d.ts +31 -0
  38. package/dist/components/FmCustomAttribute.vue.d.ts +3 -8
  39. package/dist/components/FmLockableField.vue.d.ts +3 -0
  40. package/dist/components/FmMultiselectDialog.d.ts +23 -0
  41. package/dist/components/FmMultiselectDialog.vue.d.ts +9 -1
  42. package/dist/components/FmMultiselectDialogProps.d.ts +2 -0
  43. package/dist/components/inventory-binding/InventoryBinding.vue.d.ts +1 -1
  44. package/dist/components/shell/inventory/binding-ui.vue.d.ts +1 -1
  45. package/dist/{decimal-T4Ng3pLP.js → decimal-CpTYRDjJ.js} +1 -1
  46. package/dist/feature-CW1D96VL.js +1015 -0
  47. package/dist/{format-unit-display-D6tf1DHa.js → format-unit-display-D6lsq-iX.js} +337 -330
  48. package/dist/helper/country.d.ts +1 -0
  49. package/dist/helper/fuzzy.d.ts +10 -0
  50. package/dist/helper/number.d.ts +1 -1
  51. package/dist/index-TqOHI1Dk.js +12197 -0
  52. package/dist/index-tTGOQaym.js +77 -0
  53. package/dist/{stock-CmZXXh6b.js → stock-Cnh2comB.js} +29 -25
  54. package/dist/stores/feature.d.ts +7 -5
  55. package/dist/stores/helper/generate-backend-urls.d.ts +0 -1
  56. package/dist/stores/integration/index.d.ts +1 -0
  57. package/dist/stores/integration/netsuite.d.ts +22 -5
  58. package/dist/stores/inventory.d.ts +141 -8
  59. package/dist/stores/location.d.ts +9 -0
  60. package/dist/stores/stock.d.ts +5 -0
  61. package/dist/stores/warehouse.d.ts +5 -7
  62. package/dist/style.css +1 -1
  63. package/dist/{supplier-BVsAD8Ou.js → supplier-BY8xacQQ.js} +1 -1
  64. package/dist/tsconfig.app.tsbuildinfo +1 -1
  65. package/dist/use-ingredient-select-dialog-BwbzsMlI.js +51 -0
  66. package/dist/{use-inventory-binding-dialog-CqrrqmB7.js → use-inventory-binding-dialog-3srettA-.js} +1 -1
  67. package/dist/views/adjustment-template/wastage-template/actions.d.ts +24 -0
  68. package/dist/views/adjustment-template/wastage-template/table.d.ts +24 -0
  69. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftDialog.vue.d.ts +8 -4
  70. package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +4 -1
  71. package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +48 -24
  72. package/dist/views/closing-draft/helpers/export-draft.helper.d.ts +1 -1
  73. package/dist/views/closing-template/components/closing-template-form/composables/use-closing-template-items.d.ts +1 -1
  74. package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +36 -12
  75. package/dist/views/closing-template/composables/use-closing-template-table.d.ts +36 -12
  76. package/dist/views/dev/components/AutocompleteTextField.vue.d.ts +2 -0
  77. package/dist/views/ingredient-group/composables/use-ingredient-group-table.d.ts +3 -3
  78. package/dist/views/ingredients/components/ingredient-form/IngredientForm.vue.d.ts +2 -2
  79. package/dist/views/ingredients/composables/use-ingredient-select-dialog.d.ts +16 -0
  80. package/dist/views/ingredients/composables/use-ingredient-table.d.ts +1 -1
  81. package/dist/views/receive-request/components/netsuite/NetSuiteProps.d.ts +2 -0
  82. package/dist/views/receive-request/components/transfer-details/TransferDetailsProps.d.ts +4 -1
  83. package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +427 -31
  84. package/dist/views/receive-request/components/transfer-form/components/ForecastStock.vue.d.ts +8 -4
  85. package/dist/views/receive-request/components/transfer-form/components/TransferItemTable.vue.d.ts +382 -2
  86. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +7 -4
  87. package/dist/views/receive-request/composables/use-process-purchase-order.d.ts +18 -0
  88. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +867 -68
  89. package/dist/views/receive-request/composables/use-receive-request-table.d.ts +678 -70
  90. package/dist/views/receive-request/import/XilnexImportDialog.vue.d.ts +22 -0
  91. package/dist/views/receive-request/import/XilnexImportForm.vue.d.ts +17 -0
  92. package/dist/views/receive-request/import/XilnexResult.vue.d.ts +17 -0
  93. package/dist/views/receive-request/import/export.d.ts +12 -0
  94. package/dist/views/receive-request/import/props.d.ts +7 -0
  95. package/dist/views/stock/components/dialog/AdjustedItemForm.vue.d.ts +4 -2
  96. package/dist/views/transfer-template/components/transfer-template-form/components/TransferTemplateItemTable.vue.d.ts +220 -0
  97. package/dist/views/transfer-template/components/transfer-template-form/composables/use-template-enabled-locations-2.d.ts +8 -0
  98. package/dist/views/transfer-template/components/transfer-template-form/composables/use-template-enabled-locations.d.ts +1 -0
  99. package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-template-items.d.ts +10 -5
  100. package/dist/views/transfer-template/composables/use-transfer-template-actions.d.ts +72 -24
  101. package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +72 -24
  102. package/dist/views/transfer-template/composables/useTransferTemplateHelper.d.ts +305 -0
  103. package/dist/views/warehouse/components/WarehouseForm.vue.d.ts +10 -14
  104. package/dist/{vue-i18n-Mb3AM8uP.js → vue-i18n-C9tRTjjd.js} +312 -312
  105. package/package.json +4 -4
  106. package/dist/ApprovalView-DXlXet32.js +0 -138
  107. package/dist/ClosingDraftView-CABY9YVF.js +0 -1225
  108. package/dist/ClosingTemplateView-Bsd6W6id.js +0 -1819
  109. package/dist/FmCustomAttribute.vue_vue_type_script_setup_true_lang-d-Qy7I_I.js +0 -142
  110. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CXjO-PL0.js +0 -286
  111. package/dist/PublishView-BQ9pqu-S.js +0 -192
  112. package/dist/ReceiveRequestView-Cj1g6ZzI.js +0 -1876
  113. package/dist/StockView-D_XXAmSl.js +0 -1817
  114. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-BLADqDM9.js +0 -1327
  115. package/dist/TransferTemplateView-Dy2nZRCc.js +0 -1284
  116. package/dist/app-DcBKHZIR.js +0 -85643
  117. package/dist/components/FmCustomAttribute2.vue.d.ts +0 -18
  118. package/dist/index-Cxi2NbBg.js +0 -29202
@@ -0,0 +1,34 @@
1
+ import { defineComponent as m, computed as a, openBlock as p, createElementBlock as d, createElementVNode as c, createVNode as f, unref as l, isRef as v, createCommentVNode as y } from "vue";
2
+ import { useProxiedModel as V } from "@feedmepos/ui-library";
3
+ import { useCoreStore as g, CustomAttributesForm as C } from "@feedmepos/mf-common";
4
+ const S = {
5
+ key: 0,
6
+ class: "flex flex-col gap-16"
7
+ }, x = /* @__PURE__ */ m({
8
+ __name: "FmCustomAttribute",
9
+ props: {
10
+ entity: {},
11
+ modelValue: {},
12
+ valueOptions: {}
13
+ },
14
+ setup(s) {
15
+ const r = s, o = V(r, "modelValue"), u = g(), i = a(() => {
16
+ var t, e;
17
+ return ((e = (t = u.currentBusiness.value) == null ? void 0 : t.attributeSettings) == null ? void 0 : e.filter(
18
+ (n) => String(n.entity) === String(r.entity)
19
+ )) || [];
20
+ });
21
+ return (t, e) => i.value.length ? (p(), d("div", S, [
22
+ e[1] || (e[1] = c("div", { class: "fm-typo-en-title-sm-600" }, "Custom attributes", -1)),
23
+ f(l(C), {
24
+ entity: t.entity,
25
+ modelValue: l(o),
26
+ "onUpdate:modelValue": e[0] || (e[0] = (n) => v(o) ? o.value = n : null),
27
+ "value-options": t.valueOptions
28
+ }, null, 8, ["entity", "modelValue", "value-options"])
29
+ ])) : y("", !0);
30
+ }
31
+ });
32
+ export {
33
+ x as _
34
+ };
@@ -0,0 +1,211 @@
1
+ import { i as T, t as R, as as w, u as B, ax as E, aI as H, aJ as z, aK as U } from "./app-BoT0hU4y.js";
2
+ import { u as D } from "./supplier-BY8xacQQ.js";
3
+ import { P as F } from "./format-unit-display-D6lsq-iX.js";
4
+ import { computed as f, defineComponent as x, mergeModels as j, useModel as q, ref as W, resolveComponent as V, openBlock as S, createElementBlock as I, normalizeStyle as $, createElementVNode as N, createVNode as J, withCtx as K, createBlock as g, createCommentVNode as O, Fragment as Q, renderList as X, unref as M } from "vue";
5
+ function Y(t, i, a) {
6
+ var s;
7
+ if (!!i.measurement === !!a && ((s = i.measurement) == null ? void 0 : s.id) === a)
8
+ return i;
9
+ if (!a)
10
+ return {
11
+ costPerUnit: i.costPerUnit
12
+ };
13
+ const o = t.measurements.find((p) => p.id === a);
14
+ return o ? {
15
+ costPerUnit: i.costPerUnit,
16
+ measurement: o
17
+ } : {
18
+ costPerUnit: i.costPerUnit
19
+ };
20
+ }
21
+ function se(t, i, a, l) {
22
+ var P, _, n;
23
+ if (l != null && l.manualTotalCost)
24
+ return l == null ? void 0 : l.manualTotalCost;
25
+ const u = (n = (_ = (P = l == null ? void 0 : l.supplier) == null ? void 0 : P.supplyItems) == null ? void 0 : _.find(
26
+ (e) => e.skuId === t._id
27
+ )) == null ? void 0 : n.defaultCost, o = t.defaultCost ? Y(t.unit, t.defaultCost, t.trackingMeasurement) : void 0, s = u ?? o, p = s == null ? void 0 : s.costPerUnit, y = p ? s != null && s.measurement ? +T(p) / +T(s == null ? void 0 : s.measurement.conversion) : +T(p) : void 0, v = y ? a ? y * +T(a.conversion) : y : void 0, h = v ? +T(i) * v : void 0;
28
+ return h ? {
29
+ ...R(h ?? 0, 2),
30
+ currency: w()
31
+ } : {
32
+ amount: 0,
33
+ precision: 0,
34
+ currency: w()
35
+ };
36
+ }
37
+ function k(t) {
38
+ return H.parse(t);
39
+ }
40
+ function L(t) {
41
+ return {
42
+ _id: t.doc._id,
43
+ internal: t.type,
44
+ contactName: t.doc.profile.name,
45
+ name: t.doc.profile.name ?? "",
46
+ email: t.doc.profile.email,
47
+ phoneNumber: t.doc.profile.phoneNo,
48
+ registrationNumber: t.doc.profile.regNo,
49
+ address: t.doc.profile.address ?? {
50
+ line1: "",
51
+ state: "",
52
+ city: "",
53
+ postcode: "",
54
+ country: ""
55
+ }
56
+ };
57
+ }
58
+ function oe(t, i, a = !1, l = !1) {
59
+ const u = D(), o = B();
60
+ o.watchLocation(async () => {
61
+ var b;
62
+ await u.readSuppliers();
63
+ const n = t();
64
+ if ((b = n.supplier) != null && b._id) return;
65
+ const e = l ? u.suppliers[0] : u.businessSuppliers[0], r = (a ? o.locations.filter((m) => m.doc._id !== o.currentLocation.doc._id) : o.locations)[0];
66
+ i({
67
+ ...n,
68
+ supplier: e ? k(e) : r ? L(r) : n.supplier
69
+ });
70
+ });
71
+ const s = f(
72
+ () => {
73
+ var n, e;
74
+ return typeof ((e = (n = t()) == null ? void 0 : n.supplier) == null ? void 0 : e.internal) == "string" ? F.TRANSFER : F.PURCHASE;
75
+ }
76
+ ), p = f({
77
+ get() {
78
+ var n, e;
79
+ return (e = (n = t()) == null ? void 0 : n.supplier) == null ? void 0 : e._id;
80
+ },
81
+ set(n) {
82
+ const e = t() ?? {};
83
+ if (s.value === F.PURCHASE) {
84
+ const C = (l ? u.suppliers : u.businessSuppliers).find((A) => A._id === n);
85
+ i({
86
+ ...e,
87
+ supplier: C ? k(C) : e.supplier
88
+ });
89
+ return;
90
+ }
91
+ const b = (a ? o.locations.filter((m) => m.doc._id !== o.currentLocation.doc._id) : o.locations).find((m) => m.doc._id === n);
92
+ i({
93
+ ...e,
94
+ supplier: b ? L(b) : e.supplier
95
+ });
96
+ }
97
+ }), y = f(() => u.locationSuppliers.map(k)), v = f(() => u.businessSuppliers.map(k)), h = f(() => {
98
+ const n = [...y.value], e = [...v.value];
99
+ return l ? [...e, ...n] : e;
100
+ }), c = f(() => {
101
+ var d;
102
+ const n = ((d = o._currentLocation) == null ? void 0 : d.type) === E.warehouse;
103
+ return (a ? o.locations.filter((r) => r.doc._id !== o.currentLocation.doc._id) : o.locations).filter((r) => n || r.acceptRequest).map(L);
104
+ }), P = f(() => {
105
+ if (s.value === F.PURCHASE) {
106
+ const e = y.value.map((r) => ({
107
+ label: r.name,
108
+ value: r._id
109
+ })), d = v.value.map((r) => ({
110
+ label: r.name,
111
+ sublabel: "Business supplier",
112
+ value: r._id
113
+ }));
114
+ return l ? [...e, ...d] : d;
115
+ }
116
+ return c.value.map((e) => ({
117
+ label: e.name,
118
+ sublabel: e.internal ? `${e.internal}` : void 0,
119
+ value: e._id
120
+ }));
121
+ }), _ = f(() => {
122
+ var r, b;
123
+ const n = (b = (r = t()) == null ? void 0 : r.supplier) == null ? void 0 : b._id;
124
+ if (s.value === F.PURCHASE) {
125
+ const m = u.suppliers.find((C) => C._id === n);
126
+ return m ? k(m) : null;
127
+ }
128
+ const d = o.locations.find((m) => m.doc._id);
129
+ return d ? L(d) : null;
130
+ });
131
+ return {
132
+ transferLocationModel: p,
133
+ transferLocationOptions: P,
134
+ locationOptionsTypePurchase: h,
135
+ locationOptionsTypePurchaseLocationLevel: y,
136
+ locationOptionsTypeTransfer: c,
137
+ selectedLocation: _
138
+ };
139
+ }
140
+ const Z = { class: "overflow-y-auto h-full pb-8" }, ae = /* @__PURE__ */ x({
141
+ __name: "FmFilterableMenuOptions",
142
+ props: /* @__PURE__ */ j({
143
+ modelValue: {},
144
+ maxHeight: {},
145
+ width: {},
146
+ handleItemChange: { type: Function },
147
+ items: {},
148
+ options: {}
149
+ }, {
150
+ search: {},
151
+ searchModifiers: {}
152
+ }),
153
+ emits: ["update:search"],
154
+ setup(t) {
155
+ const i = t, a = q(t, "search"), l = f(
156
+ () => new z(i.items, ["label", "sublabel"], i.options)
157
+ ), u = f(() => l.value.search(a.value)), o = W();
158
+ return console.log({ stickyRef: o }), (s, p) => {
159
+ const y = V("FmButton"), v = V("FmTextField"), h = V("FmMenuItem");
160
+ return S(), I("div", {
161
+ class: "relative",
162
+ style: $({ width: s.width })
163
+ }, [
164
+ N("div", {
165
+ class: "sticky top-0 bg-white mb-8",
166
+ ref_key: "stickyRef",
167
+ ref: o
168
+ }, [
169
+ J(v, {
170
+ modelValue: a.value,
171
+ "onUpdate:modelValue": p[1] || (p[1] = (c) => a.value = c),
172
+ placeholder: "Filter options"
173
+ }, {
174
+ append: K(() => [
175
+ a.value ? (S(), g(y, {
176
+ key: 0,
177
+ variant: "tertiary",
178
+ "prepend-icon": "close",
179
+ onClick: p[0] || (p[0] = (c) => a.value = "")
180
+ })) : O("", !0)
181
+ ]),
182
+ _: 1
183
+ }, 8, ["modelValue"])
184
+ ], 512),
185
+ N("div", Z, [
186
+ (S(!0), I(Q, null, X(u.value, (c, P) => (S(), g(h, {
187
+ key: P,
188
+ label: c.label,
189
+ sublabel: c.sublabel,
190
+ "model-value": M(U)(s.modelValue, c.value),
191
+ onClick: () => s.handleItemChange(M(U)(s.modelValue, c.value), c),
192
+ onVnodeMounted: (_) => {
193
+ var n, e;
194
+ return M(U)(s.modelValue, c.value) && ((n = _.el) == null || n.scrollIntoView({ behavior: "instant", block: "end" }), (e = _.el) == null || e.scrollIntoView({ behavior: "smooth", block: "center" })), void 0;
195
+ }
196
+ }, null, 8, ["label", "sublabel", "model-value", "onClick", "onVnodeMounted"]))), 128)),
197
+ u.value.length ? O("", !0) : (S(), g(h, {
198
+ key: 0,
199
+ disabled: "",
200
+ label: "No options available"
201
+ }))
202
+ ])
203
+ ], 4);
204
+ };
205
+ }
206
+ });
207
+ export {
208
+ ae as _,
209
+ se as c,
210
+ oe as u
211
+ };
@@ -1,5 +1,5 @@
1
- import { defineComponent as oe, mergeModels as z, useModel as se, computed as v, ref as P, watch as O, inject as ie, resolveComponent as b, openBlock as f, createElementBlock as y, createElementVNode as u, createVNode as h, withCtx as g, renderSlot as T, normalizeClass as V, toDisplayString as x, withDirectives as le, vModelText as ae, createCommentVNode as q, createTextVNode as ue, createBlock as W, Fragment as re, renderList as me } from "vue";
2
- import { $ as I, I as k, P as L, L as ce, j as M, aB as de, t as pe, K as fe, ah as ve, az as be, ay as ye } from "./app-DcBKHZIR.js";
1
+ import { defineComponent as oe, mergeModels as O, useModel as se, computed as v, ref as P, watch as z, inject as ie, resolveComponent as b, openBlock as f, createElementBlock as y, createElementVNode as u, createVNode as M, withCtx as g, renderSlot as T, normalizeClass as V, toDisplayString as x, withDirectives as le, vModelText as ae, createCommentVNode as q, createTextVNode as ue, createBlock as W, Fragment as re, renderList as me } from "vue";
2
+ import { $ as I, I as k, P as L, K as ce, i as h, aG as de, t as pe, J as fe, am as ve, aE as be, aD as ye } from "./app-BoT0hU4y.js";
3
3
  import "@feedmepos/ui-library";
4
4
  function E() {
5
5
  return {
@@ -27,7 +27,7 @@ function G(l, d = !1) {
27
27
  if (s != !0)
28
28
  return d ? s : !0;
29
29
  const F = typeof l == "number" ? l : L(l, r.modelValue.measurement);
30
- return ce(+r.amountAsString).precision > F ? `Cannot exceed precision more than ${M({
30
+ return ce(+r.amountAsString).precision > F ? `Cannot exceed precision more than ${h({
31
31
  amount: 1,
32
32
  precision: F
33
33
  })}` : !0;
@@ -39,13 +39,13 @@ function Le(l) {
39
39
  return d(r.modelValue.amount);
40
40
  };
41
41
  }
42
- const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { class: "flex-1" }, xe = { class: "flex items-center gap-4" }, Fe = { class: "flex-1 flex gap-4" }, Ae = { class: "shrink-0 grow basis-2/5" }, _e = {
42
+ const Me = { class: "flex flex-col" }, he = { class: "flex flex-col" }, ge = { class: "flex-1" }, xe = { class: "flex items-center gap-4" }, Fe = { class: "flex-1 flex gap-4" }, Ae = { class: "shrink-0 grow basis-2/5" }, _e = {
43
43
  key: 0,
44
44
  class: "text-fm-color-typo-secondary"
45
45
  }, Pe = {
46
46
  key: 0,
47
47
  class: "line-clamp-1 text-ellipsis break-all"
48
- }, Ie = { class: "flex items-center gap-4" }, ke = { class: "line-clamp-1 text-ellipsis break-all" }, Be = { class: "max-w-[200px] flex flex-col gap-[1px]" }, De = {
48
+ }, Ie = { class: "flex items-center gap-4" }, ke = { class: "line-clamp-1 text-ellipsis break-all" }, De = { class: "max-w-[200px] flex flex-col gap-[1px]" }, Be = {
49
49
  key: 1,
50
50
  class: "flex flex-col gap-4 pl-8 shrink-0"
51
51
  }, Re = {
@@ -56,7 +56,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
56
56
  style: { "pointer-events": "none" }
57
57
  }, $e = /* @__PURE__ */ oe({
58
58
  __name: "FmUnitInput",
59
- props: /* @__PURE__ */ z({
59
+ props: /* @__PURE__ */ O({
60
60
  modelValue: {},
61
61
  unit: {},
62
62
  rules: {},
@@ -103,27 +103,27 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
103
103
  modelValue: {},
104
104
  modelModifiers: {}
105
105
  }),
106
- emits: /* @__PURE__ */ z(["update:amount", "update:measurement"], ["update:modelValue"]),
106
+ emits: /* @__PURE__ */ O(["update:amount", "update:measurement"], ["update:modelValue"]),
107
107
  setup(l, { emit: d }) {
108
- const t = l, r = d, s = se(l, "modelValue"), F = k(), B = v(() => {
108
+ const t = l, r = d, s = se(l, "modelValue"), F = k(), D = v(() => {
109
109
  var n;
110
110
  return L(t.unit, (n = s.value) == null ? void 0 : n.measurement);
111
111
  }), c = P((() => {
112
112
  var o;
113
113
  const e = ((o = s.value) == null ? void 0 : o.amount) ?? I.reset(), n = be(e), i = t.formatMinimumPrecision ?? n.precision, a = ye(n, i);
114
- return M(a);
114
+ return h(a);
115
115
  })());
116
- O(c, (e) => {
117
- const n = F(e), i = t.precision ?? B.value, o = typeof t.formatMinimumPrecision == "number" && t.formatMinimumPrecision > i ? t.formatMinimumPrecision : i;
116
+ z(c, (e) => {
117
+ const n = F(e), i = t.precision ?? D.value, o = typeof t.formatMinimumPrecision == "number" && t.formatMinimumPrecision > i ? t.formatMinimumPrecision : i;
118
118
  n == !0 && (s.value = {
119
119
  ...s.value,
120
120
  amount: pe(+e, o)
121
121
  }), r("update:amount", e);
122
122
  });
123
- const Z = Symbol.for("fm:form-state"), D = ie(Z, null), A = v(() => t.disabled ?? (D == null ? void 0 : D.getDisabled()) ?? !1), J = P(), R = P(!1), $ = P(!1), Q = v(() => R.value || $.value), X = v(() => {
123
+ const K = Symbol.for("fm:form-state"), B = ie(K, null), A = v(() => t.disabled ?? (B == null ? void 0 : B.getDisabled()) ?? !1), Z = P(), R = P(!1), $ = P(!1), Q = v(() => R.value || $.value), X = v(() => {
124
124
  var a;
125
- const i = [...t.unit.measurements.filter((o) => !o.name.toLocaleLowerCase().includes("inactive")).filter((o) => o.abbrev !== t.unit.abbrev || +M(o.conversion) != 1).groupBy(
126
- (o) => `${o.abbrev}${M(o.conversion)}`
125
+ const i = [...t.unit.measurements.filter((o) => !o.name.toLocaleLowerCase().includes("inactive")).filter((o) => o.abbrev !== t.unit.abbrev || +h(o.conversion) != 1).groupBy(
126
+ (o) => `${o.abbrev}${h(o.conversion)}`
127
127
  ).values()].map((o) => o[0]).flat();
128
128
  return [
129
129
  {
@@ -155,7 +155,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
155
155
  }
156
156
  }
157
157
  });
158
- O(U, (e, n) => {
158
+ z(U, (e, n) => {
159
159
  var m;
160
160
  if (!t.convertAmountOnChangeUnit)
161
161
  return;
@@ -163,7 +163,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
163
163
  value: w,
164
164
  precision: N
165
165
  });
166
- c.value = M(S);
166
+ c.value = h(S);
167
167
  });
168
168
  const C = v(() => {
169
169
  var e, n;
@@ -180,34 +180,34 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
180
180
  typeof t.precision == "number" ? G(t.precision) : G(t.unit)
181
181
  ] : [], ...Y.value]);
182
182
  function j(e) {
183
- const n = t.precision ?? B.value, a = typeof t.formatMinimumPrecision == "number" && t.formatMinimumPrecision > n ? t.formatMinimumPrecision : n, o = e.toFixed(a), p = o.includes(".") ? o.replace(/0+$/, "") : o;
183
+ const n = t.precision ?? D.value, a = typeof t.formatMinimumPrecision == "number" && t.formatMinimumPrecision > n ? t.formatMinimumPrecision : n, o = e.toFixed(a), p = o.includes(".") ? o.replace(/0+$/, "") : o;
184
184
  return p.endsWith(".") ? p.slice(0, p.length - 1) : p;
185
185
  }
186
186
  function te() {
187
187
  if (!t.stepper)
188
188
  return;
189
- const e = +c.value + +M(t.stepper);
189
+ const e = +c.value + +h(t.stepper);
190
190
  c.value = j(e);
191
191
  }
192
192
  function ne() {
193
193
  if (!t.stepper)
194
194
  return;
195
- const e = +c.value - +M(t.stepper);
195
+ const e = +c.value - +h(t.stepper);
196
196
  c.value = j(e);
197
197
  }
198
198
  return (e, n) => {
199
199
  const i = b("FmLabel"), a = b("FmIcon"), o = b("FmMenuItem"), p = b("FmMenu"), w = b("FmTooltip"), N = b("FmField"), S = b("FmFormGroup");
200
- return f(), y("div", he, [
201
- u("div", Me, [
200
+ return f(), y("div", Me, [
201
+ u("div", he, [
202
202
  u("div", ge, [
203
- h(i, {
203
+ M(i, {
204
204
  label: e.label,
205
205
  disabled: e.disabled,
206
206
  required: e.labelMark === "required",
207
207
  optional: e.labelMark === "optional"
208
208
  }, null, 8, ["label", "disabled", "required", "optional"])
209
209
  ]),
210
- h(N, { focused: Q.value }, {
210
+ M(N, { focused: Q.value }, {
211
211
  default: g(() => [
212
212
  u("div", xe, [
213
213
  T(e.$slots, "prepend"),
@@ -224,7 +224,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
224
224
  key: 1,
225
225
  type: "text",
226
226
  ref_key: "inputRef",
227
- ref: J,
227
+ ref: Z,
228
228
  onFocus: n[0] || (n[0] = () => R.value = !0),
229
229
  onBlur: n[1] || (n[1] = () => R.value = !1),
230
230
  "onUpdate:modelValue": n[2] || (n[2] = (m) => c.value = m),
@@ -241,7 +241,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
241
241
  u("div", {
242
242
  class: V([e.disabled ? "text-fm-color-typo-disabled" : "text-fm-color-typo-secondary"])
243
243
  }, [
244
- h(w, { "z-index": 51 }, {
244
+ M(w, { "z-index": 51 }, {
245
245
  content: g(() => [
246
246
  ue(x(C.value), 1)
247
247
  ]),
@@ -256,11 +256,11 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
256
256
  "menu-button": g(() => [
257
257
  u("div", Ie, [
258
258
  u("div", ke, x(C.value), 1),
259
- h(a, { name: "keyboard_arrow_down" })
259
+ M(a, { name: "keyboard_arrow_down" })
260
260
  ])
261
261
  ]),
262
262
  default: g(() => [
263
- u("div", Be, [
263
+ u("div", De, [
264
264
  (f(!0), y(re, null, me(X.value, (m) => (f(), W(o, {
265
265
  key: m.value ?? void 0,
266
266
  label: m.label,
@@ -275,13 +275,13 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
275
275
  _: 1
276
276
  })
277
277
  ], 2),
278
- e.stepper ? (f(), y("div", De, [
278
+ e.stepper ? (f(), y("div", Be, [
279
279
  u("div", {
280
280
  class: "w-24 h-12 flex items-center justify-center fm-corner-radius-sm bg-fm-color-neutral-gray-100 hover:bg-fm-color-neutral-gray-200",
281
281
  onClick: te
282
282
  }, [
283
283
  u("div", Re, [
284
- h(a, {
284
+ M(a, {
285
285
  name: "expand_less",
286
286
  size: "md"
287
287
  })
@@ -292,7 +292,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
292
292
  onClick: ne
293
293
  }, [
294
294
  u("div", Ue, [
295
- h(a, {
295
+ M(a, {
296
296
  name: "expand_more",
297
297
  size: "md"
298
298
  })
@@ -306,7 +306,7 @@ const he = { class: "flex flex-col" }, Me = { class: "flex flex-col" }, ge = { c
306
306
  _: 3
307
307
  }, 8, ["focused"])
308
308
  ]),
309
- h(S, {
309
+ M(S, {
310
310
  class: "flex-1",
311
311
  "model-value": { modelValue: s.value, amountAsString: String(c.value) },
312
312
  info: e.labelInfo,
@@ -0,0 +1,51 @@
1
+ import { defineComponent as p, openBlock as s, createElementBlock as n, createElementVNode as r, toDisplayString as o, unref as l, Fragment as d, renderList as x } from "vue";
2
+ import { i as a, J as y } from "./app-BoT0hU4y.js";
3
+ import { useI18n as _ } from "@feedmepos/mf-common";
4
+ const v = { class: "flex flex-col" }, g = { class: "flex flex-row fm-typo-en-body-md-600 bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary h-48 items-center" }, h = { class: "flex-1 py-8 px-16" }, b = {
5
+ class: "flex-0 py-8 px-16",
6
+ style: { "flex-basis": "120px" }
7
+ }, k = { class: "flex-1 py-8 px-16" }, B = {
8
+ key: 0,
9
+ class: "flex-0 py-8 px-16",
10
+ style: { "flex-basis": "120px" }
11
+ }, I = {
12
+ key: 1,
13
+ class: "flex-0 py-8 px-16",
14
+ style: { "flex-basis": "120px" }
15
+ }, A = /* @__PURE__ */ p({
16
+ __name: "IngredientBindedItem",
17
+ props: {
18
+ name: {},
19
+ bindings: {}
20
+ },
21
+ setup($) {
22
+ const { t: m } = _();
23
+ function c(e, i) {
24
+ var t;
25
+ if (e.measurement) {
26
+ const u = y(e.amount, e.measurement.conversion);
27
+ return `${a(u, !1)} ${(t = e.measurement) == null ? void 0 : t.abbrev}`;
28
+ }
29
+ return `${a(e.amount, !1)} ${i.abbrev}`;
30
+ }
31
+ function f(e) {
32
+ return e.unit !== void 0;
33
+ }
34
+ return (e, i) => (s(), n("div", v, [
35
+ r("div", g, [
36
+ r("div", h, o(e.name), 1),
37
+ r("div", b, o(l(m)("inventory.ingredient.bindedItems.amount")), 1)
38
+ ]),
39
+ (s(!0), n(d, null, x(e.bindings, (t) => (s(), n("div", {
40
+ key: t.id,
41
+ class: "flex flex-row fm-typo-en-body-md-400 h-48 items-center border-b border-b-fm-color-neutral-gray-100"
42
+ }, [
43
+ r("div", k, o(t.name), 1),
44
+ f(t) ? (s(), n("div", B, o(c(t, t.unit)), 1)) : (s(), n("div", I, o(l(a)(t.amount, !1)), 1))
45
+ ]))), 128))
46
+ ]));
47
+ }
48
+ });
49
+ export {
50
+ A as _
51
+ };
@@ -1,13 +1,13 @@
1
- import { ref as C, computed as F, defineComponent as Y, resolveComponent as S, openBlock as M, createBlock as O, withCtx as R, createElementVNode as x, createVNode as g, unref as l, createElementBlock as ee, toDisplayString as j, createTextVNode as te, watch as ue, isRef as ce, normalizeClass as de, normalizeStyle as me, createSlots as pe, Teleport as fe, normalizeProps as ve, guardReactiveProps as ge } from "vue";
2
- import { a as J, e as h, f as B, h as ye, D as oe, i as Q, H as be, m as _e, A as xe, J as ne, p as se, u as ke, z as he, _ as we, B as Se, E as Ie, G as ae } from "./app-DcBKHZIR.js";
3
- import { useDialog as le, useSnackbar as Z, useProxiedModel as Fe, useBreakpoints as Ce } from "@feedmepos/ui-library";
1
+ import { ref as F, computed as C, defineComponent as Y, resolveComponent as S, openBlock as M, createBlock as O, withCtx as R, createElementVNode as x, createVNode as g, unref as l, createElementBlock as ee, toDisplayString as j, createTextVNode as te, watch as ue, isRef as ce, normalizeClass as de, normalizeStyle as me, createSlots as pe, Teleport as fe, normalizeProps as ve, guardReactiveProps as ge } from "vue";
2
+ import { a as J, d as h, e as B, f as ye, D as oe, h as Q, G as be, l as _e, A as xe, H as ne, p as se, u as ke, z as he, _ as we, B as Se, C as Ie, E as ae } from "./app-BoT0hU4y.js";
3
+ import { useDialog as le, useSnackbar as Z, useProxiedModel as Ce, useBreakpoints as Fe } from "@feedmepos/ui-library";
4
4
  import { useI18n as W } from "@feedmepos/mf-common";
5
5
  import { defineStore as ie, storeToRefs as re } from "pinia";
6
6
  import "./array-hChJVZLE.js";
7
7
  const X = ie(
8
8
  "ingredientGroupactions",
9
9
  function() {
10
- const c = le(), w = Z(), o = J(), { t: r } = W(), i = C();
10
+ const c = le(), w = Z(), o = J(), { t: r } = W(), i = F();
11
11
  function p() {
12
12
  const d = {
13
13
  modelValue: {},
@@ -80,7 +80,7 @@ const X = ie(
80
80
  ), Ge = ie(
81
81
  "ingredientGroupTable",
82
82
  function() {
83
- const c = C(!1), w = Z(), o = J(), r = X();
83
+ const c = F(!1), w = Z(), o = J(), r = X();
84
84
  async function i() {
85
85
  c.value = !0;
86
86
  try {
@@ -107,7 +107,7 @@ const X = ie(
107
107
  );
108
108
  }
109
109
  }
110
- const v = F(() => [
110
+ const v = C(() => [
111
111
  {
112
112
  accessorKey: "name",
113
113
  header: () => "Name"
@@ -160,7 +160,7 @@ const X = ie(
160
160
  },
161
161
  emits: ["validation-success"],
162
162
  setup(U, { expose: c, emit: w }) {
163
- const o = be("modelValue"), r = w, i = J(), p = le(), { t: v } = W(), f = C();
163
+ const o = be("modelValue"), r = w, i = J(), p = le(), { t: v } = W(), f = F();
164
164
  c({
165
165
  validateInputs: () => {
166
166
  var a;
@@ -175,7 +175,7 @@ const X = ie(
175
175
  return (a = f.value) == null ? void 0 : a.resetInputs();
176
176
  }
177
177
  });
178
- const y = F(() => i.skus.groupBy((a) => a.unit._id));
178
+ const y = C(() => i.skus.groupBy((a) => a.unit._id));
179
179
  function G() {
180
180
  var s;
181
181
  const a = i.skus.filter((n) => {
@@ -364,7 +364,7 @@ const X = ie(
364
364
  },
365
365
  emits: ["update:show"],
366
366
  setup(U) {
367
- const c = U, w = J(), o = Z(), { t: r } = W(), i = Fe(c, "show"), p = C({}), v = C(`${Math.random()}`);
367
+ const c = U, w = J(), o = Z(), { t: r } = W(), i = Ce(c, "show"), p = F({}), v = F(`${Math.random()}`);
368
368
  ue(
369
369
  () => c.show,
370
370
  (t) => {
@@ -376,7 +376,7 @@ const X = ie(
376
376
  }), v.value = `${Math.random()}`);
377
377
  }
378
378
  );
379
- const f = F(() => {
379
+ const f = C(() => {
380
380
  switch (c.mode) {
381
381
  case h.READ:
382
382
  return "";
@@ -386,7 +386,7 @@ const X = ie(
386
386
  return r("inventory.ingredient.create.title");
387
387
  }
388
388
  return "";
389
- }), y = F(() => {
389
+ }), y = C(() => {
390
390
  switch (c.mode) {
391
391
  case h.READ:
392
392
  return "";
@@ -396,7 +396,7 @@ const X = ie(
396
396
  return r("common.add");
397
397
  }
398
398
  return "";
399
- }), G = C(), b = C(!1);
399
+ }), G = F(), b = F(!1);
400
400
  async function d() {
401
401
  b.value = !0;
402
402
  const t = B(p.value);
@@ -494,7 +494,7 @@ const X = ie(
494
494
  }), ze = { class: "flex flex-col py-8" }, Le = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ne = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Qe = /* @__PURE__ */ Y({
495
495
  __name: "IngredientGroupView",
496
496
  setup(U) {
497
- const c = J(), w = F(() => c.skuGroups), o = ke(), { t: r } = W(), {
497
+ const c = J(), w = C(() => c.skuGroups), o = ke(), { t: r } = W(), {
498
498
  createIngredientGroup: i,
499
499
  updateIngredientGroup: p,
500
500
  importIngredientGroups: v,
@@ -510,7 +510,7 @@ const X = ie(
510
510
  return f();
511
511
  }
512
512
  }
513
- const a = C(""), s = C(!1), n = F(() => s.value || G.value), { breakpoints: t } = Ce(), e = F(() => t.value.xs || t.value.sm), u = F(() => e.value ? 10 : 20), _ = he(), m = F(() => [
513
+ const a = F(""), s = F(!1), n = C(() => s.value || G.value), { breakpoints: t } = Fe(), e = C(() => t.value.xs || t.value.sm), u = C(() => e.value ? 10 : 20), _ = he(), m = C(() => [
514
514
  {
515
515
  label: r("inventory.ingredient.create.title"),
516
516
  value: "add",