@feedmepos/mf-inventory-portal 1.2.49 → 1.2.50-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 (91) hide show
  1. package/dist/{App-w_Dbl-jn.js → App-DkCjc9Ei.js} +72 -68
  2. package/dist/{ApprovalView-CuOM9Ych.js → ApprovalView-CVBi-iKx.js} +34 -34
  3. package/dist/{BindingsDialog-DkMSnr51.js → BindingsDialog-D1EDPBOt.js} +2 -2
  4. package/dist/{BindingsPicker-DrXdWUTh.js → BindingsPicker-BhtMvuQY.js} +2 -2
  5. package/dist/{BindingsTable-Bj0eBYdU.js → BindingsTable-UI5TuSBx.js} +4 -4
  6. package/dist/{ClosingDraftView-D1oohB8Y.js → ClosingDraftView-Dsj4ZYEi.js} +19 -18
  7. package/dist/{ClosingHistoryView-BCYNhLDg.js → ClosingHistoryView-DoW-S9iS.js} +3 -3
  8. package/dist/{ClosingTemplateView-DIvZkCgT.js → ClosingTemplateView-vvlSzfDQ.js} +18 -17
  9. package/dist/{DeliveryOrderPrintPreview-C83_a-LI.js → DeliveryOrderPrintPreview-obetnJsJ.js} +1 -1
  10. package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-Bmas1qkC.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BQiI8aOT.js} +4 -4
  11. package/dist/{FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-CQ_Er40u.js → FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-B746F-IR.js} +12 -12
  12. package/dist/{FmMultiselectDialog-BtvZkE6p.js → FmMultiselectDialog-CCvkuTS3.js} +1 -1
  13. package/dist/FmMultiselectDialog-NSDOnWEh.js +621 -0
  14. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-BN9OeQF3.js → FmUnitInput.vue_vue_type_script_setup_true_lang-DWwF_0sR.js} +3 -3
  15. package/dist/{ImportView-CRdvYxW3.js → ImportView-COQQTu8N.js} +7 -7
  16. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-D6J1wcU6.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-BeXoFMVr.js} +1 -1
  17. package/dist/{IngredientGroupView-DCdnjh-f.js → IngredientGroupView-RR_JvJ28.js} +108 -107
  18. package/dist/{IngredientsView-DhZadYV8.js → IngredientsView-C3X5o2k_.js} +126 -125
  19. package/dist/{IntegrationView-B_D6Sgj-.js → IntegrationView-B5eHHOqw.js} +80 -80
  20. package/dist/{InventoryBindingForm-CM47I9t9.js → InventoryBindingForm-BUmVxK-a.js} +1 -1
  21. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-BYKUWI9e.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-jXzjJ0Kk.js} +4 -4
  22. package/dist/{InventoryBindingSummary-BSuJMrFU.js → InventoryBindingSummary-BX1xdZX3.js} +1 -1
  23. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-9TTwcC8s.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-BCcSPsw6.js} +1 -1
  24. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-D2vWMBZF.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BUPtyu3J.js} +2 -2
  25. package/dist/{PublishView-DxhE5g9_.js → PublishView-CzxnrErB.js} +3 -3
  26. package/dist/{PurchaseOrderPrintPreview-BzIwRI7z.js → PurchaseOrderPrintPreview-fVyn0zFN.js} +1 -1
  27. package/dist/ReceiveRequestView-CkYyKxe-.js +3028 -0
  28. package/dist/{RecipeView-Azx2MoPR.js → RecipeView-DFCFRYey.js} +83 -82
  29. package/dist/{StockView-D51RBHWQ.js → StockView-BRcgulQk.js} +113 -112
  30. package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-R0yauCbz.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-BOYDCjdV.js} +1 -1
  31. package/dist/{SupplierView-BeHjJ0xJ.js → SupplierView-DIPr4lvP.js} +28 -27
  32. package/dist/SurchargeView-Cszy8Wqp.js +460 -0
  33. package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DG1p3Rim.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-v8ef-mpz.js} +2 -2
  34. package/dist/TableActionableRow.vue_vue_type_script_setup_true_lang-Ca_eYa8-.js +84 -0
  35. package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-cPIomfPb.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-B-oyRnPC.js} +13 -13
  36. package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-BZR_EozX.js → TransferDetails.vue_vue_type_script_setup_true_lang-BlLY3DLp.js} +15 -15
  37. package/dist/{TransferTemplateView-BwdhVKO4.js → TransferTemplateView-DSpZoO9t.js} +16 -16
  38. package/dist/{UnitView-BT23dBtV.js → UnitView-IJsE_qkc.js} +20 -19
  39. package/dist/{WarehouseView-PWigQlHk.js → WarehouseView-Dyd2kUli.js} +21 -20
  40. package/dist/{WastageTemplateView-BGO19Pux.js → WastageTemplateView-Dk_bWOam.js} +165 -164
  41. package/dist/api/netsuite.d.ts +8 -0
  42. package/dist/api/surcharge.d.ts +31 -0
  43. package/dist/{app-C0a15lwm.js → app-DavdITF-.js} +4511 -4408
  44. package/dist/app-DiX-EfV6.js +8167 -0
  45. package/dist/app.d.ts +52 -0
  46. package/dist/app.js +1 -1
  47. package/dist/{closing-template-C9jSN68K.js → closing-template-DR9_kQ8D.js} +1 -1
  48. package/dist/component-DpCUABT3.js +82 -0
  49. package/dist/components/FmInventoryTableToolbar.vue.d.ts +8 -0
  50. package/dist/components/FmMultiselectDialogProps.d.ts +5 -0
  51. package/dist/{date2-DND2dkpu.js → date2-8GI9HBWH.js} +1 -1
  52. package/dist/{dayjs.min-CvewwBuM.js → dayjs.min-BlY4XBqj.js} +1 -1
  53. package/dist/{decimal-C11049RC.js → decimal-DL6mE527.js} +2 -2
  54. package/dist/{defineDeepModel-BYmk9G2K.js → defineDeepModel-BfjUieWa.js} +1 -1
  55. package/dist/{duplicate-template-CJLrmGdo.js → duplicate-template-Bgv9_gY3.js} +1 -1
  56. package/dist/{feature-D2GGGVQh.js → feature-Cw8ehb86.js} +3442 -2812
  57. package/dist/{format-time-from-id-DuUqVP8F.js → format-time-from-id-BGWQ_4he.js} +1 -1
  58. package/dist/{format-unit-display-BwBGMuCk.js → format-unit-display-DLGhl4yz.js} +11 -11
  59. package/dist/{import-export.helper-ejk_vT2V.js → import-export.helper-BquBG7Ja.js} +5 -5
  60. package/dist/{index-D65a-5cn.js → index-CU0XsNCT.js} +1 -1
  61. package/dist/{index-C9F5LU0v.js → index-CUO2gkjR.js} +3 -3
  62. package/dist/{index-Cy-YW3O0.js → index-E5tuyI2k.js} +1 -1
  63. package/dist/{lodash-DNLSknxF.js → lodash-CBzRp2rs.js} +1 -1
  64. package/dist/netsuite-fKE8zkqA.js +5402 -0
  65. package/dist/{purchase-order-template-C7J9I7o4.js → purchase-order-template-3KsyDF00.js} +1 -1
  66. package/dist/router/name.d.ts +1 -0
  67. package/dist/{rules-DQNuaKK6.js → rules-nrlXpIxl.js} +3 -3
  68. package/dist/{stock-bYU0NTHD.js → stock-BDzZUQ12.js} +1 -1
  69. package/dist/{stock-1aynIWpi.js → stock-BOXAynI6.js} +3 -3
  70. package/dist/stores/integration/netsuite.d.ts +5 -0
  71. package/dist/stores/surcharge.d.ts +18 -0
  72. package/dist/style.css +1 -1
  73. package/dist/{supplier-B72SAF3j.js → supplier-ImcuOQDw.js} +2 -2
  74. package/dist/surcharge-B8ym7Px4.js +71 -0
  75. package/dist/tsconfig.app.tsbuildinfo +1 -1
  76. package/dist/{use-ingredient-select-dialog-DO20RWUv.js → use-ingredient-select-dialog-DyzX-ffV.js} +2 -2
  77. package/dist/{use-inventory-binding-dialog-R2VQakMR.js → use-inventory-binding-dialog-CSGz0tLk.js} +2 -2
  78. package/dist/{use-template-enabled-locations-2-C7L_vyIF.js → use-template-enabled-locations-2-BgCxeCaB.js} +2 -2
  79. package/dist/views/receive-request/components/transfer-form/TransferFormWithController.vue.d.ts +714 -0
  80. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +5 -0
  81. package/dist/views/surcharge/SurchargeView.vue.d.ts +2 -0
  82. package/dist/vue-i18n-DQB_dR_X.js +2365 -0
  83. package/dist/{xlsx-DZcSBj-s.js → xlsx-qb-9b1qs.js} +1 -1
  84. package/dist/{xlsx.util-DMCjqrHn.js → xlsx.util-BCW4ouE2.js} +1 -1
  85. package/package.json +2 -2
  86. package/dist/FmMultiselectDialog-IU5C9o_F.js +0 -598
  87. package/dist/ReceiveRequestView-C5wqi0jE.js +0 -2913
  88. package/dist/TableActionableRow.vue_vue_type_script_setup_true_lang-cfFHDIwQ.js +0 -162
  89. package/dist/app-uBuHtW8m.js +0 -8127
  90. package/dist/netsuite-TqUeqkqw.js +0 -5131
  91. package/dist/vue-i18n-BLzLoy1U.js +0 -2365
@@ -0,0 +1,621 @@
1
+ var He = Object.defineProperty;
2
+ var Pe = (F, i, l) => i in F ? He(F, i, { enumerable: !0, configurable: !0, writable: !0, value: l }) : F[i] = l;
3
+ var ve = (F, i, l) => Pe(F, typeof i != "symbol" ? i + "" : i, l);
4
+ import { defineComponent as be, computed as x, ref as $, watch as ge, openBlock as d, createElementBlock as p, normalizeStyle as G, Fragment as V, renderList as O, renderSlot as ke, createCommentVNode as D, useSlots as Oe, onMounted as Ue, onUnmounted as Ee, reactive as ee, resolveComponent as T, createElementVNode as B, createVNode as k, createTextVNode as Ke, toDisplayString as P, unref as L, createSlots as je, withCtx as w, createBlock as I, resolveDynamicComponent as pe, normalizeClass as fe, withModifiers as Ne, Transition as Ge } from "vue";
5
+ import { useDialogChild as ze } from "@feedmepos/ui-library";
6
+ import { y as he } from "./app-DavdITF-.js";
7
+ import { d as Je } from "./index-E5tuyI2k.js";
8
+ /* empty css */
9
+ import { useI18n as Re } from "@feedmepos/mf-common";
10
+ import { P as We, J as ye, D as Qe } from "./app-DiX-EfV6.js";
11
+ import { _ as Xe } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
+ const Ye = /* @__PURE__ */ be({
13
+ __name: "VirtualScroll",
14
+ props: {
15
+ itemHeight: {},
16
+ length: {},
17
+ scrollTop: {},
18
+ prerender: {}
19
+ },
20
+ emits: ["changed:minHeight"],
21
+ setup(F, { emit: i }) {
22
+ const l = F, u = i, a = x(() => {
23
+ const S = l.itemHeight * l.length;
24
+ return u("changed:minHeight", S), `${S}px`;
25
+ }), v = $(0), m = x(
26
+ () => Array.from({ length: l.prerender }).map((S, y) => y + v.value)
27
+ );
28
+ function c() {
29
+ v.value = Math.floor(l.scrollTop / l.itemHeight) - Math.floor(l.prerender / 2);
30
+ }
31
+ const o = $(Je(c, 10));
32
+ ge([() => l.scrollTop], () => {
33
+ o.value();
34
+ });
35
+ function g(S) {
36
+ const y = S.el;
37
+ y && (y.style.opacity = "0", setTimeout(() => {
38
+ y.style.opacity = "1";
39
+ }, 0));
40
+ }
41
+ return (S, y) => (d(), p("div", {
42
+ class: "relative",
43
+ style: G({ minHeight: a.value })
44
+ }, [
45
+ (d(!0), p(V, null, O(m.value, (C) => (d(), p(V, { key: C }, [
46
+ C >= 0 && C < S.length ? (d(), p("div", {
47
+ key: 0,
48
+ class: "absolute w-full left-0 bg-white",
49
+ style: G({
50
+ top: `${S.itemHeight * C}px`,
51
+ height: `${S.itemHeight}px`,
52
+ transition: "opacity 0.5s ease"
53
+ }),
54
+ onVnodeMounted: g
55
+ }, [
56
+ ke(S.$slots, "default", {
57
+ key: C,
58
+ index: C,
59
+ getItem: (A) => A[C]
60
+ })
61
+ ], 4)) : D("", !0)
62
+ ], 64))), 128))
63
+ ], 4));
64
+ }
65
+ });
66
+ class W {
67
+ static getDescendantProperty(i, l, u = []) {
68
+ let a, v, m, c, o, g;
69
+ if (l) {
70
+ if (m = l.indexOf("."), m === -1 ? a = l : (a = l.slice(0, m), v = l.slice(m + 1)), c = i[a], c !== null && typeof c < "u")
71
+ if (!v && (typeof c == "string" || typeof c == "number"))
72
+ u.push(c);
73
+ else if (Object.prototype.toString.call(c) === "[object Array]")
74
+ for (o = 0, g = c.length; o < g; o++)
75
+ W.getDescendantProperty(c[o], v, u);
76
+ else v && W.getDescendantProperty(c, v, u);
77
+ } else
78
+ u.push(i);
79
+ return u;
80
+ }
81
+ }
82
+ class U {
83
+ constructor(i = [], l = [], u = {}) {
84
+ Array.isArray(l) || (u = l, l = []), this.haystack = i, this.keys = l, this.options = Object.assign({
85
+ caseSensitive: !1,
86
+ sort: !1
87
+ }, u);
88
+ }
89
+ search(i = "") {
90
+ if (i === "")
91
+ return this.haystack;
92
+ const l = [];
93
+ for (let u = 0; u < this.haystack.length; u++) {
94
+ const a = this.haystack[u];
95
+ if (this.keys.length === 0) {
96
+ const v = U.isMatch(a, i, this.options.caseSensitive);
97
+ v && l.push({ item: a, score: v });
98
+ } else
99
+ for (let v = 0; v < this.keys.length; v++) {
100
+ const m = W.getDescendantProperty(a, this.keys[v]);
101
+ let c = !1;
102
+ for (let o = 0; o < m.length; o++) {
103
+ const g = U.isMatch(m[o], i, this.options.caseSensitive);
104
+ if (g) {
105
+ c = !0, l.push({ item: a, score: g });
106
+ break;
107
+ }
108
+ }
109
+ if (c)
110
+ break;
111
+ }
112
+ }
113
+ return this.options.sort && l.sort((u, a) => u.score - a.score), l.map((u) => u.item);
114
+ }
115
+ static isMatch(i, l, u) {
116
+ i = String(i), l = String(l), u || (i = i.toLocaleLowerCase(), l = l.toLocaleLowerCase());
117
+ const a = U.nearestIndexesFor(i, l);
118
+ return a ? i === l ? 1 : a.length > 1 ? 2 + (a[a.length - 1] - a[0]) : 2 + a[0] : !1;
119
+ }
120
+ static nearestIndexesFor(i, l) {
121
+ const u = l.split("");
122
+ let a = [];
123
+ return U.indexesOfFirstLetter(i, l).forEach((m, c) => {
124
+ let o = m + 1;
125
+ a[c] = [m];
126
+ for (let g = 1; g < u.length; g++) {
127
+ const S = u[g];
128
+ if (o = i.indexOf(S, o), o === -1) {
129
+ a[c] = !1;
130
+ break;
131
+ }
132
+ a[c].push(o), o++;
133
+ }
134
+ }), a = a.filter((m) => m !== !1), a.length ? a.sort((m, c) => m.length === 1 ? m[0] - c[0] : (m = m[m.length - 1] - m[0], c = c[c.length - 1] - c[0], m - c))[0] : !1;
135
+ }
136
+ static indexesOfFirstLetter(i, l) {
137
+ const u = l[0];
138
+ return i.split("").map((a, v) => a !== u ? !1 : v).filter((a) => a !== !1);
139
+ }
140
+ }
141
+ class Ze {
142
+ constructor(i, l) {
143
+ ve(this, "searcher");
144
+ this.candidates = i, l ?? (l = (u) => [String(u)]), this.searcher = new U(
145
+ i.flatMap(
146
+ (u, a) => (l == null ? void 0 : l(u).map((v) => ({ key: v, index: a }))) ?? []
147
+ ),
148
+ ["key"],
149
+ { caseSensitive: !1, sort: !0 }
150
+ );
151
+ }
152
+ search(i) {
153
+ return [...new Set(this.searcher.search(i).map((l) => l.index))].map(
154
+ (l) => this.candidates[l]
155
+ );
156
+ }
157
+ }
158
+ const qe = { class: "sticky top-0 bg-white z-50" }, et = {
159
+ key: 0,
160
+ class: "h-12 bg-white absolute top-[-12px] left-[-24px] w-lvw z-50",
161
+ style: { "max-width": "min(100vw - 48px, 560px)" }
162
+ }, tt = { class: "flex justify-between items-center" }, lt = { class: "flex gap-16 basis-1/2" }, at = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, st = {
163
+ key: 0,
164
+ class: "ml-4"
165
+ }, nt = {
166
+ key: 1,
167
+ class: "pt-8 pb-8"
168
+ }, ot = {
169
+ key: 2,
170
+ class: "mt-8 p-12 bg-fm-color-state-warning-subtle border border-fm-color-state-warning-base rounded-4 flex items-center gap-8"
171
+ }, it = { class: "fm-typo-en-body-md-400 text-fm-color-typo-primary" }, rt = {
172
+ key: 0,
173
+ class: "flex items-center gap-8 justify-center py-32"
174
+ }, ut = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, dt = {
175
+ key: 0,
176
+ class: "flex gap-4 items-center"
177
+ }, ct = {
178
+ key: 2,
179
+ class: "p-16 text-fm-color-typo-disabled fm-typo-en-body-lg-400 text-center"
180
+ }, mt = /* @__PURE__ */ be({
181
+ __name: "FmMultiselectDialog",
182
+ props: {
183
+ modelValue: {},
184
+ items: {},
185
+ groups: {},
186
+ singleSelect: { type: Boolean },
187
+ placeholder: {},
188
+ showValidBorder: { type: Boolean },
189
+ maxHeight: {},
190
+ width: {},
191
+ noShadow: { type: Boolean },
192
+ loading: { type: Boolean },
193
+ virtualScroll: { type: Boolean },
194
+ filterAttributes: {},
195
+ attributeKey: {},
196
+ maxSelections: {}
197
+ },
198
+ emits: ["update:modelValue", "close"],
199
+ setup(F, { emit: i }) {
200
+ var oe, ie, re;
201
+ const { t: l } = Re(), u = ze(), a = F, v = Oe(), m = x(() => {
202
+ var t;
203
+ const e = (t = v.appendList) == null ? void 0 : t.call(v);
204
+ return Array.isArray(e) ? e : e ? [e] : [];
205
+ }), c = i, o = $(a.modelValue ?? []);
206
+ Ue(() => {
207
+ var t, n, r, f;
208
+ u.emitData(o.value);
209
+ const e = (t = a.modelValue) != null && t.length ? a.items.findIndex((_) => {
210
+ var M;
211
+ return he(_.value, (M = a.modelValue) == null ? void 0 : M[0]);
212
+ }) : 0;
213
+ (n = R.value) == null || n.scrollTo({ top: e * 64 - 64, behavior: "smooth" }), (f = (r = ne.value) == null ? void 0 : r.inputEl) == null || f.focus();
214
+ }), Ee(() => {
215
+ c("close");
216
+ }), ge([() => o.value], ([e]) => {
217
+ u.emitData(e), c("update:modelValue", e);
218
+ });
219
+ function g(e) {
220
+ return A.value.has(y(e));
221
+ }
222
+ const S = /* @__PURE__ */ new WeakMap();
223
+ function y(e) {
224
+ if (e && typeof e == "object") {
225
+ if ("_id" in e && e._id) return String(e._id);
226
+ const t = S.get(e);
227
+ if (t) return t;
228
+ const n = JSON.stringify(e);
229
+ return S.set(e, n), n;
230
+ }
231
+ return String(e);
232
+ }
233
+ const C = x(() => {
234
+ const e = /* @__PURE__ */ new Map();
235
+ for (const t of a.items) e.set(y(t.value), t);
236
+ return e;
237
+ }), A = x(() => new Set(o.value.map((e) => y(e)))), Q = x(
238
+ () => new Set(b.value.map((e) => y(e.value)))
239
+ );
240
+ function H(e, t) {
241
+ if (a.singleSelect) {
242
+ o.value = t ? [e] : [];
243
+ return;
244
+ }
245
+ const n = y(e), r = A.value.has(n);
246
+ if (!(t && r || !t && !r))
247
+ if (t) {
248
+ if (a.maxSelections && o.value.length >= a.maxSelections)
249
+ return;
250
+ o.value = [...o.value, e];
251
+ } else
252
+ o.value = o.value.filter((f) => y(f) !== n);
253
+ }
254
+ const xe = x(
255
+ () => new Ze(
256
+ a.items,
257
+ (e) => [e.label ?? "", e.sublabel ?? "", ...e.searchKeys ?? []].filter((t) => t)
258
+ )
259
+ ), E = $(""), z = $(null), b = x(() => {
260
+ let e = xe.value.search(E.value);
261
+ if (z.value && a.filterAttributes) {
262
+ const t = We.build(z.value);
263
+ e = a.attributeKey ? e.filter((n) => ye(n[a.attributeKey] ?? {}, t)) : e.filter((n) => ye(n, t));
264
+ }
265
+ return e;
266
+ }), te = x(() => {
267
+ const e = [], t = C.value, n = Q.value;
268
+ for (const r of o.value) {
269
+ const f = y(r), _ = t.get(f);
270
+ _ && !_.disabled && n.has(f) && e.push(r);
271
+ }
272
+ return e;
273
+ }), K = x(() => {
274
+ const e = b.value.filter((t) => !t.disabled);
275
+ return te.value.length === e.length;
276
+ }), le = x(() => te.value.length > 0 && !K.value);
277
+ function Se() {
278
+ if (K.value) {
279
+ const e = Q.value;
280
+ o.value = o.value.filter((t) => {
281
+ const n = y(t), r = C.value.get(n);
282
+ return (r == null ? void 0 : r.disabled) && !e.has(n);
283
+ });
284
+ } else {
285
+ const e = A.value, t = Q.value;
286
+ o.value = a.items.filter(
287
+ (n) => !n.disabled && (e.has(y(n.value)) || t.has(y(n.value)))
288
+ ).map((n) => n.value);
289
+ }
290
+ }
291
+ const _e = ee(
292
+ ((oe = a.items) == null ? void 0 : oe.map((e) => ({ value: e.value, disabled: e.disabled ?? !1 }))) ?? []
293
+ );
294
+ function we(e, t) {
295
+ return e.reduce(
296
+ (n, r) => {
297
+ const f = t(r);
298
+ return n[f] || (n[f] = []), n[f].push(r), n;
299
+ },
300
+ {}
301
+ );
302
+ }
303
+ const Fe = x(() => we(_e, (e) => {
304
+ var t;
305
+ return (t = e.value) == null ? void 0 : t._id;
306
+ })), Ce = ee(
307
+ ((ie = a.items) == null ? void 0 : ie.map((e) => ({ value: e.value, collapsed: e.collapsed ?? !1 }))) ?? []
308
+ ), X = ee(
309
+ ((re = a.groups) == null ? void 0 : re.reduce(
310
+ (e, t) => (e[t.id] = t.collapse ?? !1, e),
311
+ {}
312
+ )) ?? {}
313
+ );
314
+ function Y({ groupId: e, value: t }) {
315
+ var n;
316
+ return e && X[e] || ((n = Ce.find((r) => he(r.value, t))) == null ? void 0 : n.collapsed);
317
+ }
318
+ function Ve(e) {
319
+ X[e] = !X[e];
320
+ }
321
+ const Z = x(() => {
322
+ const e = /* @__PURE__ */ new Map();
323
+ for (const t of a.items)
324
+ if (t.groupId) {
325
+ const n = y(t.value), r = e.get(t.groupId) ?? [];
326
+ r.push(n), e.set(t.groupId, r);
327
+ }
328
+ return e;
329
+ });
330
+ function q(e) {
331
+ const t = Z.value.get(e) || [], n = A.value;
332
+ return t.length > 0 && t.every((r) => n.has(r));
333
+ }
334
+ function ae(e) {
335
+ const t = Z.value.get(e) || [], n = A.value;
336
+ return t.some((r) => n.has(r)) && !q(e);
337
+ }
338
+ function Ae(e) {
339
+ const t = Z.value.get(e) || [];
340
+ if (!t.length) return;
341
+ const n = A.value;
342
+ if (q(e))
343
+ o.value = o.value.filter((r) => !t.includes(y(r)));
344
+ else if (ae(e)) {
345
+ const r = [];
346
+ for (const f of a.items)
347
+ if (f.groupId === e) {
348
+ const _ = y(f.value);
349
+ n.has(_) || r.push(f.value);
350
+ }
351
+ r.length && (o.value = [...o.value, ...r]);
352
+ } else {
353
+ const r = a.items.filter((f) => f.groupId === e).map((f) => f.value);
354
+ o.value = [...o.value, ...r];
355
+ }
356
+ }
357
+ const J = $(0);
358
+ function se(e) {
359
+ var t;
360
+ J.value = ((t = e.target) == null ? void 0 : t.scrollTop) ?? J;
361
+ }
362
+ const Me = x(() => J.value > 100), R = $(), ne = $(), Te = x(() => a.maxSelections ? Math.max(0, a.maxSelections - o.value.length) : null), Be = x(() => a.maxSelections && o.value.length >= a.maxSelections);
363
+ return (e, t) => {
364
+ var de, ce;
365
+ const n = T("FmIcon"), r = T("FmTextField"), f = T("FmCircularProgress"), _ = T("FmCheckbox"), M = T("FmListItem"), Le = T("FmChip"), ue = T("FmButton"), Ie = T("FmList");
366
+ return d(), p("div", {
367
+ class: "relative max-h-[380px] overflow-y-auto overflow-x-hidden",
368
+ onScroll: se,
369
+ onScrollend: se,
370
+ ref_key: "scrollable",
371
+ ref: R
372
+ }, [
373
+ B("div", qe, [
374
+ e.noShadow ? D("", !0) : (d(), p("div", et)),
375
+ B("div", tt, [
376
+ B("div", lt, [
377
+ k(n, { name: "autorenew" }),
378
+ B("span", at, [
379
+ Ke(P(L(l)("inventory.formField.itemsSelected", { count: ((de = o.value) == null ? void 0 : de.length) ?? 0 })) + " ", 1),
380
+ e.maxSelections ? (d(), p("span", st, " (" + P(L(l)("inventory.formField.maximum")) + " " + P(Te.value) + ") ", 1)) : D("", !0)
381
+ ])
382
+ ]),
383
+ k(r, {
384
+ class: "basis-1/2",
385
+ modelValue: E.value,
386
+ "onUpdate:modelValue": t[1] || (t[1] = (s) => E.value = s),
387
+ "prepend-icon": "search",
388
+ placeholder: e.placeholder,
389
+ ref_key: "searchTextField",
390
+ ref: ne
391
+ }, je({ _: 2 }, [
392
+ E.value.length ? {
393
+ name: "append",
394
+ fn: w(() => [
395
+ k(n, {
396
+ class: "cursor-pointer",
397
+ name: "close",
398
+ onClick: t[0] || (t[0] = (s) => E.value = "")
399
+ })
400
+ ]),
401
+ key: "0"
402
+ } : void 0
403
+ ]), 1032, ["modelValue", "placeholder"])
404
+ ]),
405
+ e.filterAttributes && e.filterAttributes.length > 0 ? (d(), p("div", nt, [
406
+ k(L(Qe), {
407
+ modelValue: z.value,
408
+ "onUpdate:modelValue": t[2] || (t[2] = (s) => z.value = s),
409
+ attributes: e.filterAttributes
410
+ }, null, 8, ["modelValue", "attributes"])
411
+ ])) : D("", !0),
412
+ Be.value ? (d(), p("div", ot, [
413
+ k(n, {
414
+ name: "warning",
415
+ class: "text-fm-color-state-warning-base"
416
+ }),
417
+ B("span", it, P(L(l)("inventory.formField.maxSelectionsReached", { count: e.maxSelections })), 1)
418
+ ])) : D("", !0)
419
+ ]),
420
+ B("div", null, [
421
+ e.loading ? (d(), p("div", rt, [
422
+ k(f, {
423
+ size: "md",
424
+ color: "neutral-gray-400"
425
+ }),
426
+ B("div", ut, P(L(l)("inventory.formField.loading")), 1)
427
+ ])) : b.value.length ? (d(), I(Ie, { key: 1 }, {
428
+ default: w(() => [
429
+ e.singleSelect ? D("", !0) : (d(), I(M, {
430
+ key: 0,
431
+ "model-value": K.value,
432
+ indeterminate: le.value,
433
+ value: "",
434
+ onClick: t[3] || (t[3] = (s) => Se())
435
+ }, {
436
+ prepend: w(() => [
437
+ k(_, {
438
+ "model-value": K.value,
439
+ indeterminate: le.value,
440
+ label: K.value ? L(l)("inventory.formField.select.removeAll") : L(l)("inventory.formField.select.selectAll"),
441
+ value: ""
442
+ }, null, 8, ["model-value", "indeterminate", "label"])
443
+ ]),
444
+ _: 1
445
+ }, 8, ["model-value", "indeterminate"])),
446
+ e.groups ? (d(!0), p(V, { key: 2 }, O(e.groups, (s) => (d(), p(V, {
447
+ key: s.id
448
+ }, [
449
+ k(M, {
450
+ label: s.label,
451
+ sublabel: s.sublabel,
452
+ style: { "padding-top": "4px", "padding-bottom": "4px", "padding-left": "32px" },
453
+ disabled: s.disabled
454
+ }, {
455
+ prepend: w(() => [
456
+ k(_, {
457
+ "model-value": q(s.id),
458
+ indeterminate: ae(s.id),
459
+ onClick: () => Ae(s.id),
460
+ value: s.id,
461
+ disabled: s.disabled
462
+ }, null, 8, ["model-value", "indeterminate", "onClick", "value", "disabled"])
463
+ ]),
464
+ append: w(() => [
465
+ k(ue, {
466
+ "prepend-icon": Y({ groupId: s.id }) ? "expand_less" : "expand_more",
467
+ size: "md",
468
+ variant: "tertiary",
469
+ onClick: Ne(() => Ve(s.id), ["stop"])
470
+ }, null, 8, ["prepend-icon", "onClick"])
471
+ ]),
472
+ _: 2
473
+ }, 1032, ["label", "sublabel", "disabled"]),
474
+ (d(!0), p(V, null, O(b.value.filter((h) => h.groupId === s.id), (h) => (d(), p("div", {
475
+ key: h.value,
476
+ class: fe([
477
+ "transition-all overflow-y-clip",
478
+ Y({ groupId: s.id, value: h.value }) ? "max-h-0 opacity-0" : "max-h-[64px] opacity-100"
479
+ ])
480
+ }, [
481
+ k(M, {
482
+ label: h.label,
483
+ sublabel: h.sublabel,
484
+ disabled: h.disabled,
485
+ onClick: (j) => H(h.value, !g(h.value)),
486
+ style: { "padding-top": "4px", "padding-bottom": "4px", "padding-left": "64px" }
487
+ }, {
488
+ prepend: w(() => [
489
+ k(_, {
490
+ "model-value": g(h.value),
491
+ "onUpdate:modelValue": (j) => H(h.value, j),
492
+ value: h.value,
493
+ disabled: h.disabled
494
+ }, null, 8, ["model-value", "onUpdate:modelValue", "value", "disabled"])
495
+ ]),
496
+ _: 2
497
+ }, 1032, ["label", "sublabel", "disabled", "onClick"])
498
+ ], 2))), 128))
499
+ ], 64))), 128)) : (d(), p(V, { key: 1 }, [
500
+ e.virtualScroll ? (d(), I(Ye, {
501
+ key: 0,
502
+ length: b.value.length + m.value.length,
503
+ "item-height": 64,
504
+ scrollTop: J.value,
505
+ prerender: 100
506
+ }, {
507
+ default: w(({ getItem: s, index: h }) => {
508
+ var j, me;
509
+ return [
510
+ h < b.value.length ? (d(), I(M, {
511
+ key: 0,
512
+ label: s(b.value).label,
513
+ sublabel: s(b.value).sublabel,
514
+ onClick: (N) => H(
515
+ s(b.value).value,
516
+ !g(s(b.value).value)
517
+ ),
518
+ disabled: (me = Fe.value[(j = s(b.value).value) == null ? void 0 : j._id][0]) == null ? void 0 : me.disabled,
519
+ style: G({
520
+ paddingTop: 4,
521
+ paddingBottom: 4,
522
+ paddingLeft: e.singleSelect === !0 ? 12 : 32
523
+ })
524
+ }, {
525
+ prepend: w(() => [
526
+ k(_, {
527
+ "model-value": g(s(b.value).value),
528
+ "onUpdate:modelValue": (N) => H(s(b.value).value, N),
529
+ value: s(b.value).value,
530
+ disabled: s(b.value).disabled
531
+ }, null, 8, ["model-value", "onUpdate:modelValue", "value", "disabled"])
532
+ ]),
533
+ append: w(() => {
534
+ var N;
535
+ return [
536
+ (N = s(b.value)) != null && N.tags ? (d(), p("div", dt, [
537
+ (d(!0), p(V, null, O(s(b.value).tags, (De, $e) => (d(), I(Le, {
538
+ key: $e,
539
+ label: De,
540
+ compact: ""
541
+ }, null, 8, ["label"]))), 128))
542
+ ])) : D("", !0),
543
+ ke(e.$slots, "appendListItem", {
544
+ item: s(b.value)
545
+ }, void 0, !0)
546
+ ];
547
+ }),
548
+ _: 2
549
+ }, 1032, ["label", "sublabel", "onClick", "disabled", "style"])) : (d(), I(pe(m.value[h - b.value.length]), { key: 1 }))
550
+ ];
551
+ }),
552
+ _: 3
553
+ }, 8, ["length", "scrollTop"])) : (d(), p(V, { key: 1 }, [
554
+ (d(!0), p(V, null, O(b.value, (s) => (d(), p("div", {
555
+ key: s.value,
556
+ class: fe([
557
+ "transition-all overflow-y-clip",
558
+ Y({ value: s.value }) ? "max-h-0 opacity-0" : "max-h-[64px] opacity-100"
559
+ ])
560
+ }, [
561
+ k(M, {
562
+ label: s.label,
563
+ sublabel: s.sublabel,
564
+ onClick: (h) => H(s.value, !g(s.value)),
565
+ disabled: s.disabled,
566
+ style: G({
567
+ paddingTop: 4,
568
+ paddingBottom: 4,
569
+ paddingLeft: e.singleSelect === !0 ? 12 : 32
570
+ })
571
+ }, {
572
+ prepend: w(() => [
573
+ k(_, {
574
+ "model-value": g(s.value),
575
+ "onUpdate:modelValue": (h) => H(s.value, h),
576
+ value: s.value,
577
+ disabled: s.disabled
578
+ }, null, 8, ["model-value", "onUpdate:modelValue", "value", "disabled"])
579
+ ]),
580
+ _: 2
581
+ }, 1032, ["label", "sublabel", "onClick", "disabled", "style"])
582
+ ], 2))), 128)),
583
+ (d(!0), p(V, null, O(m.value, (s, h) => (d(), p("div", { key: h }, [
584
+ (d(), I(pe(s)))
585
+ ]))), 128))
586
+ ], 64))
587
+ ], 64))
588
+ ]),
589
+ _: 3
590
+ })) : (d(), p("div", ct, P(L(l)("inventory.formField.noItemsFound")), 1))
591
+ ]),
592
+ B("div", {
593
+ class: "sticky bottom-24",
594
+ style: G({ transform: `translateX(${(((ce = R.value) == null ? void 0 : ce.clientWidth) ?? 0) - 80}px)` })
595
+ }, [
596
+ k(Ge, { name: "fade" }, {
597
+ default: w(() => [
598
+ Me.value ? (d(), I(ue, {
599
+ key: 0,
600
+ variant: "fab",
601
+ class: "bg-white",
602
+ "text-color": "neutral-gray-400",
603
+ "prepend-icon": "keyboard_arrow_up",
604
+ onClick: t[4] || (t[4] = () => {
605
+ var s;
606
+ return (s = R.value) == null ? void 0 : s.scrollTo({ top: 0, behavior: "smooth" });
607
+ })
608
+ })) : D("", !0)
609
+ ]),
610
+ _: 1
611
+ })
612
+ ], 4)
613
+ ], 544);
614
+ };
615
+ }
616
+ }), St = /* @__PURE__ */ Xe(mt, [["__scopeId", "data-v-0cf5baa2"]]);
617
+ export {
618
+ U as F,
619
+ St as a,
620
+ Ze as b
621
+ };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as ie, mergeModels as W, useModel as le, computed as v, ref as B, watch as E, onBeforeUnmount as ae, inject as ue, resolveComponent as b, openBlock as d, createElementBlock as y, createElementVNode as u, createVNode as h, withCtx as F, renderSlot as G, normalizeClass as j, toDisplayString as _, withDirectives as re, vModelText as me, createCommentVNode as I, createTextVNode as ce, createBlock as U, Fragment as de, renderList as pe } from "vue";
2
- import { l as fe } from "./lodash-DNLSknxF.js";
3
- import { s as D } from "./app-C0a15lwm.js";
4
- import { I as R, g as O, d as ve, a as M, c as be, t as ye, f as he, p as Me, b as ge, u as xe } from "./rules-DQNuaKK6.js";
2
+ import { l as fe } from "./lodash-CBzRp2rs.js";
3
+ import { s as D } from "./app-DavdITF-.js";
4
+ import { I as R, g as O, d as ve, a as M, c as be, t as ye, f as he, p as Me, b as ge, u as xe } from "./rules-nrlXpIxl.js";
5
5
  import "@feedmepos/ui-library";
6
6
  function H() {
7
7
  return {
@@ -2,14 +2,14 @@ import { defineComponent as De, ref as F, computed as J, watch as ze, resolveCom
2
2
  import { u as Ve, _ as ke } from "./SingleColumnLayout.vue_vue_type_script_setup_true_lang-CWZkVCAj.js";
3
3
  import { useCoreStore as Re, useI18n as je } from "@feedmepos/mf-common";
4
4
  import { useDialogChild as We, useSnackbar as Oe, useDialog as Le, useBreakpoints as Je } from "@feedmepos/ui-library";
5
- import { u as Xe } from "./feature-D2GGGVQh.js";
6
- import { a as ie } from "./app-C0a15lwm.js";
7
- import "./dayjs.min-CvewwBuM.js";
8
- import "./app-uBuHtW8m.js";
9
- import { s as He, a as qe, d as Qe, t as Ce, r as Ye } from "./xlsx.util-DMCjqrHn.js";
10
- import { s as Ze, g as et, b as tt, d as Fe } from "./import-export.helper-ejk_vT2V.js";
5
+ import { u as Xe } from "./feature-Cw8ehb86.js";
6
+ import { a as ie } from "./app-DavdITF-.js";
7
+ import "./dayjs.min-BlY4XBqj.js";
8
+ import "./app-DiX-EfV6.js";
9
+ import { s as He, a as qe, d as Qe, t as Ce, r as Ye } from "./xlsx.util-BCW4ouE2.js";
10
+ import { s as Ze, g as et, b as tt, d as Fe } from "./import-export.helper-BquBG7Ja.js";
11
11
  import { r as nt } from "./random-CSbEbElR.js";
12
- import { d as Ae, a as pe } from "./rules-DQNuaKK6.js";
12
+ import { d as Ae, a as pe } from "./rules-nrlXpIxl.js";
13
13
  import { F as ot } from "./FmDroppableField-J0xUsOTV.js";
14
14
  function Ee() {
15
15
  return `measurement_${(/* @__PURE__ */ new Date()).toISOString()}_${nt()}`;
@@ -1,5 +1,5 @@
1
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 { a, f as y } from "./rules-DQNuaKK6.js";
2
+ import { a, f as y } from "./rules-nrlXpIxl.js";
3
3
  import { useI18n as _ } from "@feedmepos/mf-common";
4
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
5
  class: "flex-0 py-8 px-16",