@feedmepos/mf-inventory-portal 0.0.23-dev.2 → 0.0.23-dev.21

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 (112) hide show
  1. package/dist/{App-DRE3c1lJ.js → App-CvIvF0fg.js} +59 -51
  2. package/dist/{ApprovalView-B4ZYcS3B.js → ApprovalView-BOn2HDVY.js} +20 -23
  3. package/dist/{BindingsDialog-Df1yrWHU.js → BindingsDialog-9qfADiSA.js} +7 -7
  4. package/dist/{BindingsPicker-BERMWh4w.js → BindingsPicker-CpV9uOqj.js} +7 -8
  5. package/dist/{BindingsTable-DRIapOWW.js → BindingsTable-BYScxUTj.js} +16 -20
  6. package/dist/ClosingDraftView-DM7-3zOd.js +1116 -0
  7. package/dist/{ClosingTemplateView-CbFn3Sdy.js → ClosingTemplateView-Cye5VPAM.js} +66 -76
  8. package/dist/{FmDroppableField-8RzKjEdL.js → FmDroppableField-AIKfZo3H.js} +1 -1
  9. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-CQUsooGm.js +282 -0
  10. package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-BHSGZyJL.js → FmUnitInput.vue_vue_type_script_setup_true_lang-CFQc-CBX.js} +121 -119
  11. package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-DH5IQchQ.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-2r8mut0B.js} +7 -7
  12. package/dist/{IngredientGroupView-DoETcEvV.js → IngredientGroupView-RNokzPJa.js} +30 -36
  13. package/dist/IngredientsView-M7K_GAEO.js +1660 -0
  14. package/dist/{IntegrationView-D1HeBiGF.js → IntegrationView-D9a8d1sO.js} +18 -20
  15. package/dist/{InventoryBindingForm-Dmz9BQ37.js → InventoryBindingForm-B0Gx5N1p.js} +1 -1
  16. package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-DoyqVBOd.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-DEOudgKD.js} +15 -17
  17. package/dist/{InventoryBindingSummary-DrpwiRGZ.js → InventoryBindingSummary-C16Nc5aN.js} +1 -1
  18. package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-yNEswIEI.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CZiypEex.js} +1 -1
  19. package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-Br4_VUza.js → PremiumBadge.vue_vue_type_script_setup_true_lang-BbYZwclN.js} +8 -8
  20. package/dist/{PurchaseOrderPrintPreview-cp671yWE.js → PurchaseOrderPrintPreview-DdKF8g0J.js} +13 -14
  21. package/dist/ReceiveRequestView-DBPRR6fz.js +4186 -0
  22. package/dist/{RecipeView-CD_dAWLo.js → RecipeView-CzUgVxKz.js} +58 -63
  23. package/dist/{StockView-DfUzFC1b.js → StockView-DCO3N1FS.js} +1338 -1446
  24. package/dist/{SupplierView-DB-zrNxh.js → SupplierView-CzV6DYSj.js} +2345 -783
  25. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-00pcY0qu.js +1228 -0
  26. package/dist/TransferTemplateView-uL5PId9-.js +1265 -0
  27. package/dist/{UnitView-BlC9-WOA.js → UnitView-d-mCs-cS.js} +40 -44
  28. package/dist/{WarehouseView-CgEY87Lo.js → WarehouseView-B7z8m-Hv.js} +67 -73
  29. package/dist/api/adjustment-template.d.ts +23 -0
  30. package/dist/api/bill.d.ts +2 -2
  31. package/dist/api/closing-draft.d.ts +6 -0
  32. package/dist/api/closing.d.ts +1 -0
  33. package/dist/api/netsuite.d.ts +69 -0
  34. package/dist/app-CTCC1zfY.js +58871 -0
  35. package/dist/app.d.ts +56 -0
  36. package/dist/app.js +2 -2
  37. package/dist/components/FmMinMaxInputRules.d.ts +4 -1
  38. package/dist/components/FmMultiselectDialogProps.d.ts +1 -0
  39. package/dist/components/row-action.enum.d.ts +1 -0
  40. package/dist/composable/defineDeepModel.d.ts +1 -1
  41. package/dist/{decimal-D7BCubZO.js → decimal-DhUR6QsF.js} +1 -1
  42. package/dist/{feature-BR-MsGYt.js → feature-DiGS5Fa4.js} +23 -9
  43. package/dist/format-unit-display-MRARpSlY.js +1210 -0
  44. package/dist/index-BSN3RnCl.js +12087 -0
  45. package/dist/netsuite-CIibMNer.js +251 -0
  46. package/dist/router/name.d.ts +2 -0
  47. package/dist/stock-COHpOTJk.js +110 -0
  48. package/dist/stores/feature.d.ts +2 -0
  49. package/dist/stores/integration/netsuite.d.ts +81 -0
  50. package/dist/stores/inventory.d.ts +1 -4
  51. package/dist/style.css +1 -1
  52. package/dist/{supplier-aBuwVukl.js → supplier-csNwTHYl.js} +15 -15
  53. package/dist/tsconfig.app.tsbuildinfo +1 -1
  54. package/dist/{use-inventory-binding-dialog-CLQ0LUmW.js → use-inventory-binding-dialog-172A48Xx.js} +10 -11
  55. package/dist/views/adjustment-template/wastage-template/WastageTemplateDetails.vue.d.ts +2 -0
  56. package/dist/views/adjustment-template/wastage-template/WastageTemplateDialog.vue.d.ts +22 -0
  57. package/dist/views/adjustment-template/wastage-template/WastageTemplatePublish.vue.d.ts +6 -0
  58. package/dist/views/adjustment-template/wastage-template/WastageTemplateView.vue.d.ts +2 -0
  59. package/dist/views/adjustment-template/wastage-template/actions.d.ts +1295 -0
  60. package/dist/views/adjustment-template/wastage-template/form/WastageTemplateForm.vue.d.ts +16 -0
  61. package/dist/views/adjustment-template/wastage-template/form/WastageTemplateItemTable.vue.d.ts +35 -0
  62. package/dist/views/adjustment-template/wastage-template/form/useAdjustmentTemplateItems.d.ts +20 -0
  63. package/dist/views/adjustment-template/wastage-template/props.d.ts +29 -0
  64. package/dist/views/adjustment-template/wastage-template/table.d.ts +1273 -0
  65. package/dist/views/closing-draft/ClosingDraftView.vue.d.ts +2 -0
  66. package/dist/views/closing-draft/components/closing-draft-action/ClosingDraftAction.vue.d.ts +22 -0
  67. package/dist/views/closing-draft/components/closing-draft-dialog/ClosingDraftDialog.vue.d.ts +451 -0
  68. package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +25 -0
  69. package/dist/views/closing-draft/composables/use-closing-draft-table.d.ts +2601 -0
  70. package/dist/views/closing-draft/helpers/draft-status-to-class-name.helper.d.ts +1 -0
  71. package/dist/views/closing-draft/helpers/export-draft.helper.d.ts +19 -0
  72. package/dist/views/closing-draft/helpers/get-calculated-total.helper.d.ts +4 -0
  73. package/dist/views/closing-template/composables/use-closing-template-actions.d.ts +24 -192
  74. package/dist/views/closing-template/composables/use-closing-template-table.d.ts +24 -192
  75. package/dist/views/receive-request/components/transfer-form/TransferForm.vue.d.ts +34 -34
  76. package/dist/views/receive-request/components/transfer-form/composables/use-transfer-items.d.ts +1 -0
  77. package/dist/views/receive-request/composables/use-receive-request-form.d.ts +54 -54
  78. package/dist/views/receive-request/composables/use-receive-request-table.d.ts +54 -54
  79. package/dist/views/receive-request/helper/check-netsuite-subsidiary.helper.d.ts +1 -0
  80. package/dist/views/stock/components/StockRecordCard.vue.d.ts +1 -1
  81. package/dist/views/stock/components/dialog/AdjustedItemForm.vue.d.ts +2 -2
  82. package/dist/views/stock/helper/compute-summary-total.d.ts +2 -2
  83. package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-template-items.d.ts +8 -8
  84. package/dist/views/transfer-template/composables/use-transfer-template-actions.d.ts +96 -96
  85. package/dist/views/transfer-template/composables/use-transfer-template-table.d.ts +96 -96
  86. package/dist/{xlsx-BbtURTDy.js → xlsx-CH-bhcOL.js} +1 -1
  87. package/dist/{xlsx.util-zYS4OJFi.js → xlsx.util-4aHI7W-Z.js} +1 -1
  88. package/package.json +3 -3
  89. package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-7JYNssTm.js +0 -267
  90. package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-KbYSywk2.js +0 -436
  91. package/dist/FmMultiselectDialog-Da9JMCYa.js +0 -415
  92. package/dist/IngredientsView-DHAhj9pV.js +0 -1613
  93. package/dist/ReceiveRequestView-C1WBlpho.js +0 -4082
  94. package/dist/TableActionableRow.vue_vue_type_script_setup_true_lang-DlNJ6kRg.js +0 -135
  95. package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-2mzqFGCz.js +0 -1144
  96. package/dist/TransferTemplateView-CaAJrqU6.js +0 -1262
  97. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  98. package/dist/app-CAyFhmAz.js +0 -33457
  99. package/dist/date2-D9i5izMt.js +0 -117
  100. package/dist/dayjs.min-SJKP9zBL.js +0 -282
  101. package/dist/defineDeepModel-DS4Shctf.js +0 -13
  102. package/dist/format-time-from-id-CUby60uW.js +0 -15
  103. package/dist/format-unit-display-D25Al2JZ.js +0 -1198
  104. package/dist/fuzzy-BryBtMz_.js +0 -41
  105. package/dist/index-ByJbUSIQ.js +0 -45
  106. package/dist/index-CFA_VFyX.js +0 -10545
  107. package/dist/index-CTvgBOum.js +0 -22280
  108. package/dist/netsuite-D0G4B60k.js +0 -146
  109. package/dist/normalizeArguments-DP7Hrren.js +0 -1552
  110. package/dist/row-action.enum-PMKMRrZR.js +0 -50
  111. package/dist/rules-DxVY0b7F.js +0 -198
  112. package/dist/use-template-enabled-locations-2-BgTiwy_3.js +0 -86
@@ -1,267 +0,0 @@
1
- import { r as I, u as B, I as D, y as R, z as V } from "./app-CAyFhmAz.js";
2
- import { a as P, t as H } from "./rules-DxVY0b7F.js";
3
- import { u as j } from "./supplier-aBuwVukl.js";
4
- import { P as S } from "./format-unit-display-D25Al2JZ.js";
5
- import { computed as y, defineComponent as $, mergeModels as W, useModel as J, resolveComponent as w, openBlock as F, createElementBlock as A, normalizeStyle as K, createElementVNode as N, createVNode as Q, withCtx as X, createBlock as x, createCommentVNode as E, Fragment as Y, renderList as Z, unref as M } from "vue";
6
- function oe(c, i, t, s) {
7
- var b, g, u;
8
- if (s != null && s.manualTotalCost)
9
- return s == null ? void 0 : s.manualTotalCost;
10
- const e = (u = (g = (b = s == null ? void 0 : s.supplier) == null ? void 0 : b.supplyItems) == null ? void 0 : g.find(
11
- (r) => r.skuId === c._id
12
- )) == null ? void 0 : u.defaultCost, o = c.defaultCost, n = e ?? o, l = n == null ? void 0 : n.costPerUnit, a = l ? n != null && n.measurement ? +P(l) / +P(n == null ? void 0 : n.measurement.conversion) : +P(l) : void 0, p = a ? t ? a * +P(t.conversion) : a : void 0, f = p ? +P(i) * p : void 0;
13
- return f ? {
14
- ...H(f ?? 0, 2),
15
- currency: I()
16
- } : {
17
- amount: 0,
18
- precision: 0,
19
- currency: I()
20
- };
21
- }
22
- function _(c) {
23
- return R.parse(c);
24
- }
25
- function T(c) {
26
- return {
27
- _id: c.doc._id,
28
- internal: c.type,
29
- contactName: c.doc.profile.name,
30
- name: c.doc.profile.name ?? "",
31
- email: c.doc.profile.email,
32
- phoneNumber: c.doc.profile.phoneNo,
33
- registrationNumber: c.doc.profile.regNo,
34
- address: c.doc.profile.address ?? {
35
- line1: "",
36
- state: "",
37
- city: "",
38
- postcode: "",
39
- country: ""
40
- }
41
- };
42
- }
43
- function le(c, i, t = !1, s = !1) {
44
- const e = j(), o = B();
45
- o.watchLocation(async () => {
46
- var v;
47
- await e.readSuppliers();
48
- const u = c();
49
- if ((v = u.supplier) != null && v._id) return;
50
- const r = s ? e.suppliers[0] : e.businessSuppliers[0], d = (t ? o.locations.filter((m) => m.doc._id !== o.currentLocation.doc._id) : o.locations)[0];
51
- i({
52
- ...u,
53
- supplier: r ? _(r) : d ? T(d) : u.supplier
54
- });
55
- });
56
- const n = y(
57
- () => {
58
- var u, r;
59
- return typeof ((r = (u = c()) == null ? void 0 : u.supplier) == null ? void 0 : r.internal) == "string" ? S.TRANSFER : S.PURCHASE;
60
- }
61
- ), l = y({
62
- get() {
63
- var u, r;
64
- return (r = (u = c()) == null ? void 0 : u.supplier) == null ? void 0 : r._id;
65
- },
66
- set(u) {
67
- const r = c() ?? {};
68
- if (n.value === S.PURCHASE) {
69
- const C = (s ? e.suppliers : e.businessSuppliers).find((U) => U._id === u);
70
- i({
71
- ...r,
72
- supplier: C ? _(C) : r.supplier
73
- });
74
- return;
75
- }
76
- const v = (t ? o.locations.filter((m) => m.doc._id !== o.currentLocation.doc._id) : o.locations).find((m) => m.doc._id === u);
77
- i({
78
- ...r,
79
- supplier: v ? T(v) : r.supplier
80
- });
81
- }
82
- }), a = y(() => e.locationSuppliers.map(_)), p = y(() => e.businessSuppliers.map(_)), f = y(() => {
83
- const u = [...a.value], r = [...p.value];
84
- return s ? [...r, ...u] : r;
85
- }), k = y(() => {
86
- var h;
87
- const u = ((h = o._currentLocation) == null ? void 0 : h.type) === D.warehouse;
88
- return (t ? o.locations.filter((d) => d.doc._id !== o.currentLocation.doc._id) : o.locations).filter((d) => u || d.acceptRequest).map(T);
89
- }), b = y(() => {
90
- if (n.value === S.PURCHASE) {
91
- const r = a.value.map((d) => ({
92
- label: d.name,
93
- value: d._id
94
- })), h = p.value.map((d) => ({
95
- label: d.name,
96
- sublabel: "Business supplier",
97
- value: d._id
98
- }));
99
- return s ? [...r, ...h] : h;
100
- }
101
- return k.value.map((r) => ({
102
- label: r.name,
103
- sublabel: r.internal ? `${r.internal}` : void 0,
104
- value: r._id
105
- }));
106
- }), g = y(() => {
107
- var d, v;
108
- const u = (v = (d = c()) == null ? void 0 : d.supplier) == null ? void 0 : v._id;
109
- if (n.value === S.PURCHASE) {
110
- const m = e.suppliers.find((C) => C._id === u);
111
- return m ? _(m) : null;
112
- }
113
- const h = o.locations.find((m) => m.doc._id);
114
- return h ? T(h) : null;
115
- });
116
- return {
117
- transferLocationModel: l,
118
- transferLocationOptions: b,
119
- locationOptionsTypePurchase: f,
120
- locationOptionsTypePurchaseLocationLevel: a,
121
- locationOptionsTypeTransfer: k,
122
- selectedLocation: g
123
- };
124
- }
125
- class O {
126
- static getDescendantProperty(i, t, s = []) {
127
- let e, o, n, l, a, p;
128
- if (t) {
129
- if (n = t.indexOf("."), n === -1 ? e = t : (e = t.slice(0, n), o = t.slice(n + 1)), l = i[e], l !== null && typeof l < "u")
130
- if (!o && (typeof l == "string" || typeof l == "number"))
131
- s.push(l);
132
- else if (Object.prototype.toString.call(l) === "[object Array]")
133
- for (a = 0, p = l.length; a < p; a++)
134
- O.getDescendantProperty(l[a], o, s);
135
- else o && O.getDescendantProperty(l, o, s);
136
- } else
137
- s.push(i);
138
- return s;
139
- }
140
- }
141
- class L {
142
- constructor(i = [], t = [], s = {}) {
143
- Array.isArray(t) || (s = t, t = []), this.haystack = i, this.keys = t, this.options = Object.assign({
144
- caseSensitive: !1,
145
- sort: !1
146
- }, s);
147
- }
148
- search(i = "") {
149
- if (i === "")
150
- return this.haystack;
151
- const t = [];
152
- for (let s = 0; s < this.haystack.length; s++) {
153
- const e = this.haystack[s];
154
- if (this.keys.length === 0) {
155
- const o = L.isMatch(e, i, this.options.caseSensitive);
156
- o && t.push({ item: e, score: o });
157
- } else
158
- for (let o = 0; o < this.keys.length; o++) {
159
- const n = O.getDescendantProperty(e, this.keys[o]);
160
- let l = !1;
161
- for (let a = 0; a < n.length; a++) {
162
- const p = L.isMatch(n[a], i, this.options.caseSensitive);
163
- if (p) {
164
- l = !0, t.push({ item: e, score: p });
165
- break;
166
- }
167
- }
168
- if (l)
169
- break;
170
- }
171
- }
172
- return this.options.sort && t.sort((s, e) => s.score - e.score), t.map((s) => s.item);
173
- }
174
- static isMatch(i, t, s) {
175
- i = String(i), t = String(t), s || (i = i.toLocaleLowerCase(), t = t.toLocaleLowerCase());
176
- const e = L.nearestIndexesFor(i, t);
177
- return e ? i === t ? 1 : e.length > 1 ? 2 + (e[e.length - 1] - e[0]) : 2 + e[0] : !1;
178
- }
179
- static nearestIndexesFor(i, t) {
180
- const s = t.split("");
181
- let e = [];
182
- return L.indexesOfFirstLetter(i, t).forEach((n, l) => {
183
- let a = n + 1;
184
- e[l] = [n];
185
- for (let p = 1; p < s.length; p++) {
186
- const f = s[p];
187
- if (a = i.indexOf(f, a), a === -1) {
188
- e[l] = !1;
189
- break;
190
- }
191
- e[l].push(a), a++;
192
- }
193
- }), e = e.filter((n) => n !== !1), e.length ? e.sort((n, l) => n.length === 1 ? n[0] - l[0] : (n = n[n.length - 1] - n[0], l = l[l.length - 1] - l[0], n - l))[0] : !1;
194
- }
195
- static indexesOfFirstLetter(i, t) {
196
- const s = t[0];
197
- return i.split("").map((e, o) => e !== s ? !1 : o).filter((e) => e !== !1);
198
- }
199
- }
200
- const z = { class: "sticky top-0 bg-white mb-8" }, G = { class: "overflow-y-auto pb-8" }, ie = /* @__PURE__ */ $({
201
- __name: "FmFilterableMenuOptions",
202
- props: /* @__PURE__ */ W({
203
- modelValue: {},
204
- maxHeight: {},
205
- width: {},
206
- handleItemChange: { type: Function },
207
- items: {},
208
- options: {}
209
- }, {
210
- search: {},
211
- searchModifiers: {}
212
- }),
213
- emits: ["update:search"],
214
- setup(c) {
215
- const i = c, t = J(c, "search"), s = y(
216
- () => new L(i.items, ["label", "sublabel"], i.options)
217
- ), e = y(() => s.value.search(t.value));
218
- return (o, n) => {
219
- const l = w("FmButton"), a = w("FmTextField"), p = w("FmMenuItem");
220
- return F(), A("div", {
221
- class: "relative",
222
- style: K({ maxHeight: `${o.maxHeight}px`, width: o.width })
223
- }, [
224
- N("div", z, [
225
- Q(a, {
226
- modelValue: t.value,
227
- "onUpdate:modelValue": n[1] || (n[1] = (f) => t.value = f),
228
- placeholder: "Filter options"
229
- }, {
230
- append: X(() => [
231
- t.value ? (F(), x(l, {
232
- key: 0,
233
- variant: "tertiary",
234
- "prepend-icon": "close",
235
- onClick: n[0] || (n[0] = (f) => t.value = "")
236
- })) : E("", !0)
237
- ]),
238
- _: 1
239
- }, 8, ["modelValue"])
240
- ]),
241
- N("div", G, [
242
- (F(!0), A(Y, null, Z(e.value, (f, k) => (F(), x(p, {
243
- key: k,
244
- label: f.label,
245
- sublabel: f.sublabel,
246
- "model-value": M(V)(o.modelValue, f.value),
247
- onClick: () => o.handleItemChange(M(V)(o.modelValue, f.value), f),
248
- onVnodeMounted: (b) => {
249
- var g;
250
- return M(V)(o.modelValue, f.value) && ((g = b.el) == null || g.scrollIntoView({ behavior: "smooth", block: "center" }), console.log("scrollTo", b.el)), void 0;
251
- }
252
- }, null, 8, ["label", "sublabel", "model-value", "onClick", "onVnodeMounted"]))), 128)),
253
- e.value.length ? E("", !0) : (F(), x(p, {
254
- key: 0,
255
- disabled: "",
256
- label: "No options available"
257
- }))
258
- ])
259
- ], 4);
260
- };
261
- }
262
- });
263
- export {
264
- ie as _,
265
- oe as c,
266
- le as u
267
- };
@@ -1,436 +0,0 @@
1
- import { reactive as W, onUnmounted as q, defineComponent as T, ref as H, computed as _, resolveComponent as k, openBlock as o, createElementBlock as w, Fragment as V, createElementVNode as f, normalizeClass as D, unref as g, toDisplayString as R, createCommentVNode as b, createBlock as d, withCtx as I, createVNode as M, renderList as S, renderSlot as G, Teleport as z, watch as J, mergeModels as K, useModel as P } from "vue";
2
- import { useBreakpoints as Y } from "@feedmepos/ui-library";
3
- import { u as j } from "./app-CAyFhmAz.js";
4
- import { useCoreStore as X, useI18n as Q } from "@feedmepos/mf-common";
5
- import { c as O } from "./date2-D9i5izMt.js";
6
- const N = W({});
7
- function E() {
8
- const v = `${Math.random()}`, l = new ResizeObserver((s) => {
9
- const t = s.map((e) => e.target.scrollHeight).reduce((e, c) => e + c);
10
- N[v] = t;
11
- }), m = (s) => {
12
- const t = s.el;
13
- t && l.observe(t);
14
- }, a = (s) => {
15
- const t = s.el;
16
- t && l.unobserve(t);
17
- };
18
- return q(() => {
19
- l.disconnect(), delete N[v];
20
- }), {
21
- get tableHeight() {
22
- return {
23
- height: `calc(100dvh - ${Object.values(N).reduce((e, c) => e + c, 0) + 80}px)`
24
- };
25
- },
26
- onMounted: m,
27
- onUnmounted: a
28
- };
29
- }
30
- const Z = {
31
- key: 0,
32
- class: /* @__PURE__ */ D(["text-fm-color-typo-secondary fm-typo-en-body-sm-400"])
33
- }, ee = { class: "bg-white flex-1" }, ne = { class: "fixed bottom-96 right-16" }, ke = /* @__PURE__ */ T({
34
- __name: "SingleColumnLayout",
35
- props: {
36
- actions: { default: () => [] },
37
- title: { default: "Title" },
38
- description: {},
39
- showBackButton: { type: Boolean },
40
- defaultPadding: { type: Boolean },
41
- breadcrumbs: { default: () => [] },
42
- usingBusinessHelperText: {}
43
- },
44
- emits: ["click:action"],
45
- setup(v, { emit: l }) {
46
- const m = v, a = l, s = H(!1), t = _(() => m.actions.find((y) => y.isPrimary)), e = _(() => m.actions.filter((y) => !y.isPrimary)), c = _(
47
- () => e.value.map(
48
- (y) => ({
49
- label: y.label,
50
- value: y.value
51
- })
52
- )
53
- ), { breakpoints: p } = Y(), h = _(() => p.value.xs || p.value.sm), L = j(), n = _(() => L.businessLevel), B = E();
54
- return (y, u) => {
55
- const x = k("FmButton"), U = k("FmMenuItem"), i = k("FmMenu"), F = k("FmCollapsibleTabs"), C = k("FmBottomSheet");
56
- return o(), w(V, null, [
57
- f("div", {
58
- class: D([
59
- "flex flex-col w-full bg-white h-full",
60
- {
61
- "gap-12": h.value
62
- }
63
- ])
64
- }, [
65
- f("div", {
66
- onVnodeMounted: u[5] || (u[5] = //@ts-ignore
67
- (...r) => g(B).onMounted && g(B).onMounted(...r)),
68
- class: D([
69
- "flex gap-8 items-center",
70
- {
71
- "p-12 border-b-[1px] border-b-fm-color-neutral-gray-100": h.value,
72
- "px-24 py-16": !h.value
73
- }
74
- ])
75
- }, [
76
- f("div", {
77
- class: D([
78
- "flex-1 flex flex-col gap-4 fm-typo-en-title-md-600 bg-white",
79
- {
80
- "py-12": h.value
81
- }
82
- ])
83
- }, [
84
- f("div", null, R(y.title), 1),
85
- y.usingBusinessHelperText && n.value ? (o(), w("div", Z, R(y.usingBusinessHelperText), 1)) : b("", !0)
86
- ], 2),
87
- h.value ? (o(), w(V, { key: 0 }, [
88
- e.value.length ? (o(), d(x, {
89
- key: 0,
90
- variant: "tertiary",
91
- "prepend-icon": "more_vert",
92
- onClick: u[0] || (u[0] = (r) => s.value = !0)
93
- })) : b("", !0)
94
- ], 64)) : (o(), w(V, { key: 1 }, [
95
- e.value[0] ? (o(), d(x, {
96
- key: e.value[0].value,
97
- label: e.value[0].label,
98
- "prepend-icon": e.value[0].prependIcon,
99
- variant: e.value[0].variant,
100
- "bg-color": e.value[0].variant ? void 0 : "neutral-gray-100",
101
- "text-color": e.value[0].variant ? void 0 : "neutral-gray-400",
102
- onClick: u[1] || (u[1] = (r) => a("click:action", e.value[0].value))
103
- }, null, 8, ["label", "prepend-icon", "variant", "bg-color", "text-color"])) : b("", !0),
104
- e.value[1] ? (o(), d(x, {
105
- key: e.value[1].value,
106
- label: e.value[1].label,
107
- "prepend-icon": e.value[1].prependIcon,
108
- variant: e.value[1].variant,
109
- "bg-color": e.value[1].variant ? void 0 : "neutral-gray-100",
110
- "text-color": e.value[1].variant ? void 0 : "neutral-gray-400",
111
- onClick: u[2] || (u[2] = (r) => a("click:action", e.value[1].value))
112
- }, null, 8, ["label", "prepend-icon", "variant", "bg-color", "text-color"])) : b("", !0),
113
- e.value.length === 3 ? (o(), d(x, {
114
- key: e.value[2].value,
115
- label: e.value[2].label,
116
- "prepend-icon": e.value[2].prependIcon,
117
- variant: e.value[2].variant,
118
- "bg-color": e.value[2].variant ? void 0 : "neutral-gray-100",
119
- "text-color": e.value[2].variant ? void 0 : "neutral-gray-400",
120
- onClick: u[3] || (u[3] = (r) => a("click:action", e.value[2].value))
121
- }, null, 8, ["label", "prepend-icon", "variant", "bg-color", "text-color"])) : b("", !0),
122
- e.value.length > 3 ? (o(), d(i, { key: 3 }, {
123
- "menu-button": I(() => [
124
- M(x, {
125
- label: "More",
126
- "append-icon": "expand_more",
127
- "bg-color": "neutral-gray-100",
128
- "text-color": "neutral-gray-400"
129
- })
130
- ]),
131
- default: I(() => [
132
- (o(!0), w(V, null, S(e.value.slice(2), (r, $) => (o(), d(U, {
133
- key: $,
134
- label: r.label,
135
- onClick: (pe) => a("click:action", r.value)
136
- }, null, 8, ["label", "onClick"]))), 128))
137
- ]),
138
- _: 1
139
- })) : b("", !0),
140
- t.value ? (o(), d(x, {
141
- key: 4,
142
- label: t.value.label,
143
- "prepend-icon": t.value.prependIcon,
144
- onClick: u[4] || (u[4] = (r) => a("click:action", t.value.value))
145
- }, null, 8, ["label", "prepend-icon"])) : b("", !0)
146
- ], 64))
147
- ], 2),
148
- f("div", ee, [
149
- G(y.$slots, "default")
150
- ])
151
- ], 2),
152
- t.value && h.value ? (o(), d(z, {
153
- key: 0,
154
- to: "body"
155
- }, [
156
- f("div", ne, [
157
- M(x, {
158
- label: t.value.label,
159
- "prepend-icon": t.value.prependIcon,
160
- onClick: u[6] || (u[6] = (r) => a("click:action", t.value.value)),
161
- variant: "fab"
162
- }, null, 8, ["label", "prepend-icon"])
163
- ])
164
- ])) : b("", !0),
165
- e.value.length ? (o(), d(z, {
166
- key: 1,
167
- to: "body"
168
- }, [
169
- M(C, {
170
- "dismiss-away": "",
171
- "no-header": "",
172
- modelValue: s.value,
173
- "onUpdate:modelValue": u[8] || (u[8] = (r) => s.value = r)
174
- }, {
175
- default: I(() => [
176
- M(F, {
177
- class: "pb-8",
178
- items: c.value,
179
- "onUpdate:modelValue": u[7] || (u[7] = (r) => (a("click:action", r), s.value = !1))
180
- }, null, 8, ["items"])
181
- ]),
182
- _: 1
183
- }, 8, ["modelValue"])
184
- ])) : b("", !0)
185
- ], 64);
186
- };
187
- }
188
- }), te = { class: "inline-flex" }, oe = { class: "inline-flex rounded-md items-center gap-4 justify-center h-[30px] px-8 py-4 bg-fm-color-neutral-gray-100 cursor-pointer text-fm-color-neutral-gray-400" }, le = { class: "fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap" }, ae = { class: "relative" }, se = { class: "sticky top-0 py-8 bg-white translate-y-[-12px]" }, ue = /* @__PURE__ */ T({
189
- __name: "ChangeLocationComponent",
190
- props: {
191
- showBusiness: { type: Boolean }
192
- },
193
- setup(v) {
194
- const l = j(), m = X(), a = _(() => {
195
- var n;
196
- return (n = m.currentBusiness.value) == null ? void 0 : n.name;
197
- }), { t: s } = Q(), t = H(""), e = _({
198
- get() {
199
- return l.businessLevel;
200
- },
201
- set(n) {
202
- l.businessLevel = n;
203
- }
204
- }), c = _(
205
- () => l.locations.map((n) => ({ label: n.name, value: n.dbName, type: n.type })).filter(
206
- (n) => t.value ? n.label.toLocaleLowerCase().includes(t.value.toLocaleLowerCase()) : !0
207
- )
208
- ), p = _(
209
- () => c.value.filter((n) => n.type === "restaurant")
210
- ), h = _(
211
- () => c.value.filter((n) => n.type === "warehouse")
212
- );
213
- function L({ value: n }) {
214
- e.value = !1, l.selectLocation(l.locations.find((B) => B.dbName === n));
215
- }
216
- return (n, B) => {
217
- const y = k("FmIcon"), u = k("FmSearch"), x = k("FmMenuItem"), U = k("FmMenu");
218
- return o(), w("div", te, [
219
- M(U, { "close-on-click": !0 }, {
220
- "menu-button": I(() => {
221
- var i;
222
- return [
223
- f("div", oe, [
224
- M(y, {
225
- name: n.showBusiness && e.value ? "store" : "storefront",
226
- size: "sm"
227
- }, null, 8, ["name"]),
228
- f("div", le, R(n.showBusiness && e.value ? a.value : ((i = g(l)._currentLocation) == null ? void 0 : i.name) ?? g(s)("inventory.common.noLocationSelected")), 1),
229
- M(y, {
230
- name: "expand_more",
231
- size: "sm"
232
- })
233
- ])
234
- ];
235
- }),
236
- default: I(() => [
237
- f("div", ae, [
238
- f("div", se, [
239
- M(u, {
240
- "model-value": t.value,
241
- "onUpdate:modelValue": B[0] || (B[0] = (i) => t.value = i),
242
- placeholder: g(s)("inventory.common.table.toolbar.filterItems")
243
- }, null, 8, ["model-value", "placeholder"])
244
- ]),
245
- f("div", null, [
246
- n.showBusiness ? (o(), d(x, {
247
- key: 0,
248
- "model-value": e.value,
249
- label: a.value,
250
- sublabel: "Business",
251
- onClick: B[1] || (B[1] = (i) => e.value = !0)
252
- }, null, 8, ["model-value", "label"])) : b("", !0),
253
- (o(!0), w(V, null, S(p.value, (i) => {
254
- var F;
255
- return o(), d(x, {
256
- key: i.value,
257
- "model-value": !e.value && ((F = g(l)._currentLocation) == null ? void 0 : F.dbName) === i.value,
258
- label: i.label,
259
- sublabel: "Restaurant",
260
- onClick: (C) => L(i),
261
- onVnodeMounted: (C) => {
262
- var r, $;
263
- return !e.value && ((r = g(l)._currentLocation) == null ? void 0 : r.dbName) === i.value && (($ = C.el) == null || $.scrollIntoView({ behavior: "smooth", block: "center" })), void 0;
264
- }
265
- }, null, 8, ["model-value", "label", "onClick", "onVnodeMounted"]);
266
- }), 128)),
267
- (o(!0), w(V, null, S(h.value, (i) => {
268
- var F;
269
- return o(), d(x, {
270
- key: i.value,
271
- "model-value": !e.value && ((F = g(l)._currentLocation) == null ? void 0 : F.dbName) === i.value,
272
- label: i.label,
273
- sublabel: "Warehouse",
274
- onClick: (C) => L(i),
275
- onVnodeMounted: (C) => {
276
- var r, $;
277
- return !e.value && ((r = g(l)._currentLocation) == null ? void 0 : r.dbName) === i.value && (($ = C.el) == null || $.scrollIntoView({ behavior: "smooth", block: "center" })), void 0;
278
- }
279
- }, null, 8, ["model-value", "label", "onClick", "onVnodeMounted"]);
280
- }), 128)),
281
- !n.showBusiness && !p.value.length && !h.value.length ? (o(), d(x, {
282
- key: 1,
283
- disabled: "",
284
- label: g(s)("inventory.common.noResultFound")
285
- }, null, 8, ["label"])) : b("", !0)
286
- ])
287
- ])
288
- ]),
289
- _: 1
290
- })
291
- ]);
292
- };
293
- }
294
- });
295
- function xe() {
296
- const v = /* @__PURE__ */ new Date();
297
- return v.setDate(v.getDate() - 15), {
298
- start: v,
299
- end: /* @__PURE__ */ new Date()
300
- };
301
- }
302
- function A(v = 15) {
303
- const l = /* @__PURE__ */ new Date();
304
- l.setDate(l.getDate() - v);
305
- const m = l, a = /* @__PURE__ */ new Date();
306
- return {
307
- startDate: `${O(m)}`,
308
- endDate: `${O(a)}`
309
- };
310
- }
311
- const re = { class: "inline-flex rounded-md items-center gap-4 justify-center h-[30px] px-8 py-4 bg-fm-color-neutral-gray-100 cursor-pointer text-fm-color-neutral-gray-400" }, ie = { class: "fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap" }, ce = /* @__PURE__ */ T({
312
- __name: "FmDateRangePickerChip",
313
- props: {
314
- modelValue: { default: (v) => v.modelValue ?? A() }
315
- },
316
- emits: ["update:modelValue"],
317
- setup(v, { emit: l }) {
318
- const m = l, a = H(A());
319
- J(a, (t) => {
320
- m("update:modelValue", t);
321
- });
322
- const s = _(() => {
323
- const { startDate: t, endDate: e } = a.value;
324
- return !t && !e ? "" : `${t} - ${e}`;
325
- });
326
- return (t, e) => {
327
- const c = k("FmIcon"), p = k("FmDateRangePicker");
328
- return o(), d(p, {
329
- "show-predefined-range": "",
330
- modelValue: a.value,
331
- "onUpdate:modelValue": e[0] || (e[0] = (h) => a.value = h),
332
- "start-label": "",
333
- "end-label": ""
334
- }, {
335
- "trigger-button": I(() => [
336
- f("div", re, [
337
- M(c, {
338
- name: "calendar_month",
339
- size: "sm"
340
- }),
341
- f("div", ie, R(s.value), 1)
342
- ])
343
- ]),
344
- _: 1
345
- }, 8, ["modelValue"]);
346
- };
347
- }
348
- }), de = { class: "flex-1 w-full flex items-center gap-4" }, ve = {
349
- key: 0,
350
- class: "flex-1"
351
- }, me = { class: "w-full max-w-[343px] xs:max-w-[unset] sm:max-w-[unset]" }, _e = /* @__PURE__ */ T({
352
- __name: "FmInventoryTableToolbar",
353
- props: /* @__PURE__ */ K({
354
- dateRangeQuery: { type: Boolean },
355
- changeLocation: { type: Boolean },
356
- searchable: { type: Boolean },
357
- actions: {},
358
- usingBusinessHelperText: {},
359
- showBusiness: { type: Boolean }
360
- }, {
361
- search: {},
362
- searchModifiers: {},
363
- dateRange: {},
364
- dateRangeModifiers: {}
365
- }),
366
- emits: ["update:search", "update:dateRange"],
367
- setup(v) {
368
- const { breakpoints: l } = Y(), m = _(() => l.value.xs || l.value.sm), a = P(v, "search"), s = P(v, "dateRange"), { t } = Q(), e = E();
369
- return (c, p) => {
370
- const h = k("FmTextField"), L = k("FmButton");
371
- return o(), w("div", {
372
- class: "flex flex-col gap-8",
373
- onVnodeMounted: p[2] || (p[2] = //@ts-ignore
374
- (...n) => g(e).onMounted && g(e).onMounted(...n)),
375
- onVnodeUnmounted: p[3] || (p[3] = //@ts-ignore
376
- (...n) => g(e).onUnmounted && g(e).onUnmounted(...n))
377
- }, [
378
- f("div", {
379
- class: D([
380
- "flex gap-8 items-center",
381
- {
382
- "px-8 flex-col-reverse h-[unset]": m.value,
383
- "h-48": !m.value
384
- }
385
- ])
386
- }, [
387
- c.changeLocation || c.dateRangeQuery ? (o(), w("div", {
388
- key: 0,
389
- class: D([
390
- "flex gap-8 items-center",
391
- {
392
- "w-full overflow-x-auto": m.value
393
- }
394
- ])
395
- }, [
396
- c.changeLocation ? (o(), d(ue, {
397
- key: 0,
398
- "show-business": c.showBusiness
399
- }, null, 8, ["show-business"])) : b("", !0),
400
- c.dateRangeQuery ? (o(), d(ce, {
401
- key: 1,
402
- "model-value": s.value,
403
- "onUpdate:modelValue": p[0] || (p[0] = (n) => s.value = n)
404
- }, null, 8, ["model-value"])) : b("", !0)
405
- ], 2)) : b("", !0),
406
- f("div", de, [
407
- m.value ? b("", !0) : (o(), w("div", ve)),
408
- f("div", me, [
409
- c.searchable ? (o(), d(h, {
410
- key: 0,
411
- "model-value": a.value,
412
- "onUpdate:modelValue": p[1] || (p[1] = (n) => a.value = n),
413
- "prepend-icon": "search",
414
- placeholder: g(t)("inventory.common.table.toolbar.filterItems"),
415
- class: "w-full"
416
- }, null, 8, ["model-value", "placeholder"])) : b("", !0)
417
- ]),
418
- (o(!0), w(V, null, S(c.actions, (n, B) => (o(), d(L, {
419
- key: B,
420
- variant: "tertiary",
421
- "prepend-icon": n.icon,
422
- onClick: n.onClick
423
- }, null, 8, ["prepend-icon", "onClick"]))), 128))
424
- ])
425
- ], 2)
426
- ], 512);
427
- };
428
- }
429
- });
430
- export {
431
- ke as _,
432
- _e as a,
433
- xe as b,
434
- A as i,
435
- E as u
436
- };