@shifl-inc/ui 0.2.0 → 0.4.0

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.
package/dist/shifl-ui.js CHANGED
@@ -1,313 +1,508 @@
1
- import { ref as k, computed as v, onMounted as X, onUnmounted as q, defineComponent as _e, createElementBlock as a, openBlock as s, withModifiers as B, createElementVNode as u, createCommentVNode as P, createTextVNode as O, toDisplayString as b, Fragment as M, renderList as z, normalizeClass as V, watch as Y, nextTick as Pe, createBlock as R, Teleport as me, normalizeStyle as G, createVNode as he, unref as S, resolveDynamicComponent as pe, createStaticVNode as gt, provide as ht, inject as pt } from "vue";
2
- function vt(r) {
3
- const c = (r.columns || []).map((l) => ({
4
- ...l,
5
- frozen: l.frozen ?? l.fixed ?? !1,
6
- visible: l.visible ?? !0,
7
- protected: l.protected ?? !1
8
- }));
1
+ import { ref as k, computed as b, onMounted as le, onUnmounted as ue, watch as O, nextTick as Le, defineComponent as xe, createElementBlock as u, openBlock as a, withModifiers as J, createElementVNode as h, createCommentVNode as D, createTextVNode as ee, toDisplayString as L, Fragment as x, renderList as H, normalizeClass as I, createBlock as G, Teleport as Ae, normalizeStyle as j, createVNode as Pe, unref as E, resolveDynamicComponent as ae, createStaticVNode as Ht, provide as Vt, inject as Bt } from "vue";
2
+ function It(o) {
3
+ const s = (o.columns || []).map((_) => ({
4
+ ..._,
5
+ freeze: _.freeze ?? !1,
6
+ visible: _.visible ?? !0,
7
+ protected: _.protected ?? !1
8
+ })), g = o.apiConfig ? "server" : o.searchMode || "client";
9
9
  return {
10
- ...r,
11
- columns: c,
12
- rows: r.rows ?? [],
13
- search: r.search ?? [],
14
- filters: r.filters ?? [],
15
- paginationMeta: r.paginationMeta ? {
16
- show: r.paginationMeta.show ?? !0,
17
- currentPage: r.paginationMeta.currentPage ?? 1,
18
- perPage: r.paginationMeta.perPage ?? 20,
19
- total: r.paginationMeta.total ?? 0,
20
- from: r.paginationMeta.from,
21
- to: r.paginationMeta.to,
22
- ...r.paginationMeta
10
+ ...o,
11
+ columns: s,
12
+ rows: o.rows ?? [],
13
+ search: o.search ?? [],
14
+ searchMode: g,
15
+ filters: o.filters ?? [],
16
+ paginationMeta: o.paginationMeta ? {
17
+ show: o.paginationMeta.show ?? !0,
18
+ currentPage: o.paginationMeta.currentPage ?? 1,
19
+ perPage: o.paginationMeta.perPage ?? 20,
20
+ total: o.paginationMeta.total ?? 0,
21
+ from: o.paginationMeta.from,
22
+ to: o.paginationMeta.to,
23
+ ...o.paginationMeta
23
24
  } : void 0
24
25
  };
25
26
  }
26
- function mt(r) {
27
- const c = [...r], l = k([...r]);
28
- function m(h) {
29
- l.value = l.value.map(
30
- (f) => f.key === h ? { ...f, visible: !f.visible } : f
27
+ function Gt(o) {
28
+ const s = [...o], g = k([...o]);
29
+ function _(d) {
30
+ g.value = g.value.map(
31
+ (f) => f.key === d ? { ...f, visible: !f.visible } : f
31
32
  );
32
33
  }
33
- function d(h) {
34
- l.value = l.value.map((f) => ({ ...f, visible: h }));
34
+ function c(d) {
35
+ g.value = g.value.map((f) => ({ ...f, visible: d }));
35
36
  }
36
- function _(h) {
37
- const f = l.value.map(
38
- (C) => C.key === h ? { ...C, frozen: !C.frozen } : C
39
- ), g = f.filter((C) => C.frozen), L = f.filter((C) => !C.frozen);
40
- l.value = [...g, ...L];
37
+ function v(d) {
38
+ const f = g.value.map(
39
+ (C) => C.key === d ? { ...C, freeze: !C.freeze } : C
40
+ ), p = f.filter((C) => C.freeze), $ = f.filter((C) => !C.freeze);
41
+ g.value = [...p, ...$];
41
42
  }
42
- function T(h, f) {
43
- if (h === f || f < 0 || f >= l.value.length) return;
44
- const g = l.value.findIndex((J) => !J.frozen), L = g === -1 ? l.value.length : g;
45
- if (h < L || f < L) return;
46
- const C = [...l.value], [H] = C.splice(h, 1);
47
- C.splice(f, 0, H), l.value = C;
43
+ function M(d, f) {
44
+ if (d === f || f < 0 || f >= g.value.length) return;
45
+ const p = g.value.findIndex((m) => !m.freeze), $ = p === -1 ? g.value.length : p;
46
+ if (d < $ || f < $) return;
47
+ const C = [...g.value], [l] = C.splice(d, 1);
48
+ C.splice(f, 0, l), g.value = C;
48
49
  }
49
- function y() {
50
- l.value = [...c];
50
+ function T() {
51
+ g.value = [...s];
51
52
  }
52
- const x = v(() => l.value.filter((h) => h.visible));
53
+ const w = b(() => g.value.filter((d) => d.visible));
53
54
  return {
54
- columns: l,
55
- visibleColumns: x,
56
- toggleColumnVisibility: m,
57
- setAllVisible: d,
58
- toggleFrozen: _,
59
- moveColumn: T,
60
- resetColumns: y
55
+ columns: g,
56
+ visibleColumns: w,
57
+ toggleColumnVisibility: _,
58
+ setAllVisible: c,
59
+ toggleFreeze: v,
60
+ moveColumn: M,
61
+ resetColumns: T
61
62
  };
62
63
  }
63
- function _t(r) {
64
- const c = k(r);
65
- function l(d) {
66
- var _;
67
- c.value = ((_ = c.value) == null ? void 0 : _.key) === d && c.value.order === "asc" ? { key: d, order: "desc" } : { key: d, order: "asc" };
64
+ function Zt(o) {
65
+ const s = k(o);
66
+ function g(c) {
67
+ var v;
68
+ s.value = ((v = s.value) == null ? void 0 : v.key) === c && s.value.order === "asc" ? { key: c, order: "desc" } : { key: c, order: "asc" };
68
69
  }
69
- function m(d) {
70
- if (!c.value) return d;
71
- const { key: _, order: T } = c.value;
72
- return [...d].sort((y, x) => {
73
- const h = y[_], f = x[_];
74
- if (h === f) return 0;
75
- if (h == null) return 1;
70
+ function _(c) {
71
+ if (!s.value) return c;
72
+ const { key: v, order: M } = s.value;
73
+ return [...c].sort((T, w) => {
74
+ const d = T[v], f = w[v];
75
+ if (d === f) return 0;
76
+ if (d == null) return 1;
76
77
  if (f == null) return -1;
77
- const g = String(h).localeCompare(String(f), void 0, {
78
+ const p = String(d).localeCompare(String(f), void 0, {
78
79
  numeric: !0
79
80
  });
80
- return T === "asc" ? g : -g;
81
+ return M === "asc" ? p : -p;
81
82
  });
82
83
  }
83
84
  return {
84
- sort: c,
85
- setSort: l,
86
- applySort: m
85
+ sort: s,
86
+ setSort: g,
87
+ applySort: _
87
88
  };
88
89
  }
89
- function Ct() {
90
- function r(c, l, m) {
91
- const d = (m || "").trim().toLowerCase();
92
- return d ? c.filter((_) => (l && l.length ? l.map((y) => _[y]) : Object.values(_)).some(
93
- (y) => String(y ?? "").toLowerCase().includes(d)
94
- )) : c;
90
+ function Ot() {
91
+ function o(s, g, _) {
92
+ const c = (_ || "").trim().toLowerCase();
93
+ return c ? s.filter((v) => (g && g.length ? g.map((T) => v[T]) : Object.values(v)).some(
94
+ (T) => String(T ?? "").toLowerCase().includes(c)
95
+ )) : s;
95
96
  }
96
97
  return {
97
- applyGlobalFilter: r
98
+ applyGlobalFilter: o
98
99
  };
99
100
  }
100
- function yt() {
101
- const r = k({
101
+ function Ft() {
102
+ const o = k({
102
103
  rowIndex: null,
103
104
  position: null
104
105
  });
105
- function c(_, T) {
106
- const y = T.getBoundingClientRect();
107
- r.value = {
108
- rowIndex: _,
106
+ function s(v, M, T = 200) {
107
+ const w = M.getBoundingClientRect();
108
+ let d = w.left;
109
+ d + T > window.innerWidth - 8 && (d = window.innerWidth - T + 8), o.value = {
110
+ rowIndex: v,
109
111
  position: {
110
- top: y.bottom + 4,
111
- // 4px gap below icon
112
- left: y.left
112
+ top: w.bottom,
113
+ // 4px below trigger
114
+ left: d
113
115
  }
114
116
  };
115
117
  }
116
- function l() {
117
- r.value = {
118
+ function g() {
119
+ o.value = {
118
120
  rowIndex: null,
119
121
  position: null
120
122
  };
121
123
  }
122
- function m(_) {
123
- return r.value.rowIndex === _;
124
+ function _(v) {
125
+ return o.value.rowIndex === v;
124
126
  }
125
- function d(_) {
126
- _.key === "Escape" && r.value.rowIndex !== null && l();
127
+ function c(v) {
128
+ v.key === "Escape" && o.value.rowIndex !== null && g();
127
129
  }
128
- return X(() => {
129
- document.addEventListener("keydown", d);
130
- }), q(() => {
131
- document.removeEventListener("keydown", d);
130
+ return le(() => {
131
+ document.addEventListener("keydown", c);
132
+ }), ue(() => {
133
+ document.removeEventListener("keydown", c);
132
134
  }), {
133
- menuState: r,
134
- openMenu: c,
135
- closeMenu: l,
136
- isMenuOpen: m
135
+ menuState: o,
136
+ openMenu: s,
137
+ closeMenu: g,
138
+ isMenuOpen: _
137
139
  };
138
140
  }
139
- const kt = { class: "shifl-column-manager__header" }, bt = { class: "shifl-column-manager__title-wrapper" }, wt = { class: "shifl-column-manager__title" }, Mt = { key: 0 }, Tt = { class: "shifl-column-manager__controls" }, $t = { class: "shifl-column-manager__controls-left" }, xt = { class: "shifl-column-manager__content" }, Lt = { class: "shifl-column-manager__list" }, St = ["draggable", "onDragstart", "onDragover", "onDrop"], Pt = ["aria-label", "disabled"], At = ["checked", "disabled", "onChange"], zt = { class: "shifl-column-manager__label-text" }, Ht = { class: "shifl-column-manager__footer" }, Rt = /* @__PURE__ */ _e({
141
+ function jt(o, s) {
142
+ const g = k(!1), _ = k(null), c = k([]), v = k(void 0);
143
+ let M = null;
144
+ function T(l) {
145
+ const m = new URLSearchParams();
146
+ if (l.search && m.append("search", l.search), l.page !== void 0 && m.append("page", String(l.page)), l.perPage !== void 0 && m.append("per_page", String(l.perPage)), l.sort && (m.append("sort", l.sort.key), m.append("order", l.sort.order)), l.filters && l.filters.length > 0 && l.filters.forEach((S) => {
147
+ if (S.value !== void 0 && S.value !== null && S.value !== "") {
148
+ const N = `filters[${S.key}]`;
149
+ Array.isArray(S.value) ? S.value.forEach((P) => m.append(`${N}[]`, String(P))) : m.append(N, String(S.value));
150
+ }
151
+ }), s != null && s.additionalParams) {
152
+ const S = typeof s.additionalParams == "function" ? s.additionalParams(l) : s.additionalParams;
153
+ Object.entries(S).forEach(([N, P]) => {
154
+ P != null && P !== "" && (Array.isArray(P) ? P.forEach((R) => m.append(`${N}[]`, String(R))) : m.append(N, String(P)));
155
+ });
156
+ }
157
+ return m;
158
+ }
159
+ function w(l) {
160
+ var m, S, N;
161
+ return s != null && s.bodyBuilder ? s.bodyBuilder(l) : {
162
+ search: l.search,
163
+ page: l.page,
164
+ per_page: l.perPage,
165
+ sort: (m = l.sort) == null ? void 0 : m.key,
166
+ order: (S = l.sort) == null ? void 0 : S.order,
167
+ filters: (N = l.filters) == null ? void 0 : N.reduce(
168
+ (P, R) => (R.value !== void 0 && R.value !== null && R.value !== "" && (P[R.key] = R.value), P),
169
+ {}
170
+ ),
171
+ ...typeof (s == null ? void 0 : s.additionalParams) == "function" ? s.additionalParams(l) : (s == null ? void 0 : s.additionalParams) || {}
172
+ };
173
+ }
174
+ function d() {
175
+ const l = {
176
+ "Content-Type": "application/json",
177
+ ...(s == null ? void 0 : s.headers) || {}
178
+ };
179
+ if (s != null && s.getAuthToken) {
180
+ const m = s.getAuthToken();
181
+ m && (l.Authorization = `Bearer ${m}`);
182
+ }
183
+ return l;
184
+ }
185
+ function f(l) {
186
+ if (s != null && s.responseTransformer)
187
+ return s.responseTransformer(l);
188
+ const m = l;
189
+ return {
190
+ data: m.data || m.rows || [],
191
+ meta: m.meta
192
+ };
193
+ }
194
+ async function p(l) {
195
+ if (!o) {
196
+ _.value = new Error("API URL is required");
197
+ return;
198
+ }
199
+ g.value = !0, _.value = null;
200
+ try {
201
+ const m = (s == null ? void 0 : s.method) || "GET", S = d();
202
+ let N = o, P;
203
+ if (m === "GET") {
204
+ const V = s != null && s.paramsBuilder ? s.paramsBuilder(l) : T(l);
205
+ if (V instanceof URLSearchParams) {
206
+ const F = V.toString();
207
+ N = F ? `${o}?${F}` : o;
208
+ } else {
209
+ const F = new URLSearchParams();
210
+ Object.entries(V).forEach(([Y, Z]) => {
211
+ Z != null && Z !== "" && (Array.isArray(Z) ? Z.forEach((ne) => F.append(`${Y}[]`, String(ne))) : F.append(Y, String(Z)));
212
+ });
213
+ const U = F.toString();
214
+ N = U ? `${o}?${U}` : o;
215
+ }
216
+ } else
217
+ P = w(l);
218
+ const R = await fetch(N, {
219
+ method: m,
220
+ headers: S,
221
+ body: P ? JSON.stringify(P) : void 0
222
+ });
223
+ if (!R.ok)
224
+ throw new Error(`API request failed: ${R.status} ${R.statusText}`);
225
+ const ce = await R.json(), te = f(ce);
226
+ c.value = te.data, v.value = te.meta;
227
+ } catch (m) {
228
+ _.value = m instanceof Error ? m : new Error("Unknown error occurred"), c.value = [], v.value = void 0;
229
+ } finally {
230
+ g.value = !1;
231
+ }
232
+ }
233
+ function $(l, m = !1) {
234
+ M && (clearTimeout(M), M = null);
235
+ const S = (s == null ? void 0 : s.debounceMs) ?? 300;
236
+ m || !l.search ? p(l) : M = setTimeout(() => {
237
+ p(l);
238
+ }, S);
239
+ }
240
+ function C(l) {
241
+ $(l, !0);
242
+ }
243
+ return {
244
+ loading: b(() => g.value),
245
+ error: b(() => _.value),
246
+ data: b(() => c.value),
247
+ paginationMeta: b(() => v.value),
248
+ fetchData: p,
249
+ fetchDataDebounced: $,
250
+ refresh: C
251
+ };
252
+ }
253
+ function Wt(o, s) {
254
+ var T, w;
255
+ const g = (s == null ? void 0 : s.search) || k(void 0), _ = (s == null ? void 0 : s.filters) || k(o.filters), c = (s == null ? void 0 : s.sort) || k(o.sort), v = (s == null ? void 0 : s.pagination) || k({
256
+ page: ((T = o.paginationMeta) == null ? void 0 : T.currentPage) || 1,
257
+ perPage: ((w = o.paginationMeta) == null ? void 0 : w.perPage) || 20
258
+ }), M = (s == null ? void 0 : s.extraState) || k(void 0);
259
+ if (o.apiConfig && o.searchMode === "server") {
260
+ let d = function() {
261
+ var l, m;
262
+ return {
263
+ search: g.value,
264
+ filters: _.value,
265
+ sort: c.value,
266
+ page: (l = v.value) == null ? void 0 : l.page,
267
+ perPage: (m = v.value) == null ? void 0 : m.perPage,
268
+ extraState: M.value
269
+ };
270
+ }, f = function(l) {
271
+ var m, S, N, P;
272
+ return C ? l.search !== C.search || l.page !== C.page || l.perPage !== C.perPage || ((m = l.sort) == null ? void 0 : m.key) !== ((S = C.sort) == null ? void 0 : S.key) || ((N = l.sort) == null ? void 0 : N.order) !== ((P = C.sort) == null ? void 0 : P.order) || JSON.stringify(l.filters) !== JSON.stringify(C.filters) || JSON.stringify(l.extraState) !== JSON.stringify(C.extraState) : !0;
273
+ };
274
+ const p = jt(o.apiConfig.apiUrl, o.apiConfig);
275
+ let $ = !1, C = null;
276
+ return O(
277
+ [g, _, c, v, M],
278
+ () => {
279
+ if ($)
280
+ return;
281
+ const l = d();
282
+ if (!f(l))
283
+ return;
284
+ C = l;
285
+ const m = g.value !== void 0;
286
+ p.fetchDataDebounced(l, !m);
287
+ },
288
+ { immediate: !0, deep: !0 }
289
+ ), O(p.paginationMeta, (l) => {
290
+ if (l && v.value) {
291
+ const m = l.perPage || v.value.perPage;
292
+ m !== v.value.perPage && ($ = !0, v.value.perPage = m, Le(() => {
293
+ $ = !1;
294
+ }));
295
+ }
296
+ }), {
297
+ rows: p.data,
298
+ loading: p.loading,
299
+ error: p.error,
300
+ paginationMeta: p.paginationMeta,
301
+ refresh: () => {
302
+ var m, S;
303
+ const l = {
304
+ search: g.value,
305
+ filters: _.value,
306
+ sort: c.value,
307
+ page: (m = v.value) == null ? void 0 : m.page,
308
+ perPage: (S = v.value) == null ? void 0 : S.perPage,
309
+ extraState: M.value
310
+ };
311
+ p.refresh(l);
312
+ }
313
+ };
314
+ }
315
+ return {
316
+ rows: b(() => o.rows),
317
+ loading: b(() => !1),
318
+ error: b(() => null),
319
+ paginationMeta: b(() => o.paginationMeta),
320
+ refresh: () => {
321
+ }
322
+ };
323
+ }
324
+ const Kt = { class: "shifl-column-manager__header" }, Jt = { class: "shifl-column-manager__title-wrapper" }, qt = { class: "shifl-column-manager__title" }, Ut = { key: 0 }, Yt = { key: 1 }, Qt = { class: "shifl-column-manager__controls" }, Xt = { class: "shifl-column-manager__controls-left" }, en = { class: "shifl-column-manager__content" }, tn = { class: "shifl-column-manager__list" }, nn = ["draggable", "onDragstart", "onDragover", "onDrop"], rn = ["aria-label", "disabled"], sn = ["checked", "disabled", "onChange"], on = { class: "shifl-column-manager__label-text" }, an = { class: "shifl-column-manager__footer" }, ln = /* @__PURE__ */ xe({
140
325
  __name: "GridColumnManager",
141
326
  props: {
142
327
  titlePrefix: {},
143
328
  columns: {}
144
329
  },
145
- emits: ["close", "toggle", "move", "toggleFrozen", "selectAll", "deselectAll", "restoreDefault"],
146
- setup(r, { emit: c }) {
147
- const l = r, m = v(() => l.columns), d = c, _ = k(null);
148
- function T(h) {
149
- var f, g;
150
- (f = l.columns[h]) != null && f.frozen || (g = l.columns[h]) != null && g.protected || (_.value = h);
330
+ emits: ["close", "toggle", "move", "toggleFreeze", "selectAll", "deselectAll", "restoreDefault"],
331
+ setup(o, { emit: s }) {
332
+ const g = o, _ = b(() => g.columns), c = s, v = k(null);
333
+ function M(d) {
334
+ var f, p;
335
+ (f = g.columns[d]) != null && f.freeze || (p = g.columns[d]) != null && p.protected || (v.value = d);
151
336
  }
152
- function y(h) {
337
+ function T(d) {
153
338
  }
154
- function x(h) {
155
- _.value === null || _.value === h || (d("move", _.value, h), _.value = null);
339
+ function w(d) {
340
+ v.value === null || v.value === d || (c("move", v.value, d), v.value = null);
156
341
  }
157
- return (h, f) => (s(), a("div", {
342
+ return (d, f) => (a(), u("div", {
158
343
  class: "shifl-column-manager__backdrop",
159
- onClick: f[7] || (f[7] = B((g) => h.$emit("close"), ["self"]))
344
+ onClick: f[7] || (f[7] = J((p) => d.$emit("close"), ["self"]))
160
345
  }, [
161
- u("div", {
346
+ h("div", {
162
347
  class: "shifl-column-manager__dialog",
163
348
  role: "dialog",
164
349
  "aria-modal": "true",
165
- onClick: f[6] || (f[6] = B(() => {
350
+ onClick: f[6] || (f[6] = J(() => {
166
351
  }, ["stop"]))
167
352
  }, [
168
- u("header", kt, [
169
- u("div", bt, [
170
- u("h2", wt, [
171
- r.titlePrefix ? (s(), a("span", Mt, b(r.titlePrefix) + " > ", 1)) : P("", !0),
172
- f[8] || (f[8] = O("Edit Columns ", -1))
353
+ h("header", Kt, [
354
+ h("div", Jt, [
355
+ h("h2", qt, [
356
+ o.titlePrefix ? (a(), u("span", Ut, L(o.titlePrefix), 1)) : D("", !0),
357
+ o.titlePrefix ? (a(), u("span", Yt, ">")) : D("", !0),
358
+ f[8] || (f[8] = ee("Edit Columns ", -1))
173
359
  ])
174
360
  ]),
175
- u("button", {
361
+ h("button", {
176
362
  type: "button",
177
363
  class: "shifl-column-manager__close",
178
- onClick: f[0] || (f[0] = (g) => h.$emit("close"))
364
+ onClick: f[0] || (f[0] = (p) => d.$emit("close"))
179
365
  }, [...f[9] || (f[9] = [
180
- u("span", null, "✕", -1)
366
+ h("span", null, "✕", -1)
181
367
  ])])
182
368
  ]),
183
- u("div", Tt, [
184
- u("div", $t, [
185
- u("button", {
369
+ h("div", Qt, [
370
+ h("div", Xt, [
371
+ h("button", {
186
372
  type: "button",
187
373
  class: "shifl-column-manager__link-button",
188
- onClick: f[1] || (f[1] = (g) => h.$emit("selectAll"))
374
+ onClick: f[1] || (f[1] = (p) => d.$emit("selectAll"))
189
375
  }, " Select All "),
190
- u("button", {
376
+ h("button", {
191
377
  type: "button",
192
378
  class: "shifl-column-manager__link-button",
193
- onClick: f[2] || (f[2] = (g) => h.$emit("deselectAll"))
379
+ onClick: f[2] || (f[2] = (p) => d.$emit("deselectAll"))
194
380
  }, " Deselect All ")
195
381
  ]),
196
- u("button", {
382
+ h("button", {
197
383
  type: "button",
198
384
  class: "shifl-column-manager__link-button shifl-column-manager__link-button--primary",
199
- onClick: f[3] || (f[3] = (g) => h.$emit("restoreDefault"))
385
+ onClick: f[3] || (f[3] = (p) => d.$emit("restoreDefault"))
200
386
  }, " Restore Default ")
201
387
  ]),
202
- u("div", xt, [
203
- u("ul", Lt, [
204
- (s(!0), a(M, null, z(m.value, (g, L) => (s(), a("li", {
205
- key: g.key,
206
- class: V(["shifl-column-manager__item", {
207
- "shifl-column-manager__item--disabled": g.frozen || g.protected
388
+ h("div", en, [
389
+ h("ul", tn, [
390
+ (a(!0), u(x, null, H(_.value, (p, $) => (a(), u("li", {
391
+ key: p.key,
392
+ class: I(["shifl-column-manager__item", {
393
+ "shifl-column-manager__item--disabled": p.freeze || p.protected
208
394
  }]),
209
- draggable: !g.frozen && !g.protected,
210
- onDragstart: (C) => T(L),
211
- onDragover: B((C) => void 0, ["prevent"]),
212
- onDrop: B((C) => x(L), ["prevent"])
395
+ draggable: !p.freeze && !p.protected,
396
+ onDragstart: (C) => M($),
397
+ onDragover: J((C) => void 0, ["prevent"]),
398
+ onDrop: J((C) => w($), ["prevent"])
213
399
  }, [
214
- u("button", {
400
+ h("button", {
215
401
  type: "button",
216
- class: V(["shifl-column-manager__drag-handle", {
217
- "shifl-column-manager__drag-handle--disabled": g.frozen || g.protected
402
+ class: I(["shifl-column-manager__drag-handle", {
403
+ "shifl-column-manager__drag-handle--disabled": p.freeze || p.protected
218
404
  }]),
219
- "aria-label": `Move ${g.label}`,
220
- disabled: g.frozen || g.protected
405
+ "aria-label": `Move ${p.label}`,
406
+ disabled: p.freeze || p.protected
221
407
  }, [...f[10] || (f[10] = [
222
- u("span", null, "⋮⋮", -1)
223
- ])], 10, Pt),
224
- u("label", {
225
- class: V(["shifl-column-manager__checkbox-label", {
226
- "shifl-column-manager__checkbox-label--disabled": g.frozen || g.protected
408
+ h("span", null, "⋮⋮", -1)
409
+ ])], 10, rn),
410
+ h("label", {
411
+ class: I(["shifl-column-manager__checkbox-label", {
412
+ "shifl-column-manager__checkbox-label--disabled": p.freeze || p.protected
227
413
  }])
228
414
  }, [
229
- u("input", {
415
+ h("input", {
230
416
  type: "checkbox",
231
417
  class: "shifl-column-manager__checkbox",
232
- checked: g.visible,
233
- disabled: g.frozen || g.protected,
234
- onChange: (C) => h.$emit("toggle", g.key)
235
- }, null, 40, At),
236
- u("span", zt, b(g.label), 1)
418
+ checked: p.visible,
419
+ disabled: p.freeze || p.protected,
420
+ onChange: (C) => d.$emit("toggle", p.key)
421
+ }, null, 40, sn),
422
+ f[11] || (f[11] = h("span", { class: "shifl-column-manager__checkbox-custom" }, null, -1)),
423
+ h("span", on, L(p.label), 1)
237
424
  ], 2)
238
- ], 42, St))), 128))
425
+ ], 42, nn))), 128))
239
426
  ])
240
427
  ]),
241
- u("footer", Ht, [
242
- u("button", {
243
- type: "button",
244
- class: "shifl-column-manager__button shifl-column-manager__button--secondary",
245
- onClick: f[4] || (f[4] = (g) => h.$emit("close"))
246
- }, " Cancel "),
247
- u("button", {
428
+ h("footer", an, [
429
+ h("button", {
248
430
  type: "button",
249
431
  class: "shifl-column-manager__button shifl-column-manager__button--primary",
250
- onClick: f[5] || (f[5] = (g) => h.$emit("close"))
251
- }, " Update ")
432
+ onClick: f[4] || (f[4] = (p) => d.$emit("close"))
433
+ }, " Update "),
434
+ h("button", {
435
+ type: "button",
436
+ class: "shifl-column-manager__button shifl-column-manager__button--secondary",
437
+ onClick: f[5] || (f[5] = (p) => d.$emit("close"))
438
+ }, " Cancel ")
252
439
  ])
253
440
  ])
254
441
  ]));
255
442
  }
256
- }), D = (r, c) => {
257
- const l = r.__vccOpts || r;
258
- for (const [m, d] of c)
259
- l[m] = d;
260
- return l;
261
- }, Vt = /* @__PURE__ */ D(Rt, [["__scopeId", "data-v-70b33c44"]]), Et = { class: "shifl-grid__tooltip-content" }, Zt = /* @__PURE__ */ _e({
443
+ }), q = (o, s) => {
444
+ const g = o.__vccOpts || o;
445
+ for (const [_, c] of s)
446
+ g[_] = c;
447
+ return g;
448
+ }, un = /* @__PURE__ */ q(ln, [["__scopeId", "data-v-40ca0ed0"]]), cn = { class: "shifl-grid__tooltip-content" }, fn = /* @__PURE__ */ xe({
262
449
  __name: "GridTooltip",
263
450
  props: {
264
451
  content: {},
265
452
  visible: { type: Boolean },
266
453
  triggerElement: {}
267
454
  },
268
- setup(r) {
269
- const c = r, l = k(null), m = k({}), d = v(() => c.content.includes(`
270
- `)), _ = v(() => d.value ? c.content.split(`
271
- `).filter((y) => y.trim().length > 0) : []);
272
- function T() {
273
- if (!c.triggerElement || !l.value) return;
274
- const y = c.triggerElement.getBoundingClientRect(), x = l.value.getBoundingClientRect(), h = window.innerWidth, f = window.innerHeight, g = window.scrollX || window.pageXOffset, L = window.scrollY || window.pageYOffset;
275
- let C = y.bottom + L + 8, H = y.left + g;
276
- H + x.width > h + g && (H = h + g - x.width - 16), H < g + 16 && (H = g + 16), C + x.height > f + L && (C = y.top + L - x.height - 8), m.value = {
455
+ setup(o) {
456
+ const s = o, g = k(null), _ = k({}), c = b(() => s.content.includes(`
457
+ `)), v = b(() => c.value ? s.content.split(`
458
+ `).filter((d) => d.trim().length > 0) : []), M = k("top"), T = k({});
459
+ function w() {
460
+ if (!s.triggerElement || !g.value) return;
461
+ const d = s.triggerElement.getBoundingClientRect(), f = g.value.getBoundingClientRect(), p = window.innerWidth, $ = window.innerHeight;
462
+ let C = d.bottom + 8, l = d.left + window.scrollX;
463
+ l + f.width > p - 16 && (l = p - f.width - 16), l < 16 && (l = 16), C + f.height > $ - 16 ? (C = d.top - f.height - 8, M.value = "bottom") : M.value = "top", _.value = {
277
464
  position: "fixed",
278
465
  top: `${C}px`,
279
- left: `${H}px`,
466
+ left: `${l}px`,
280
467
  zIndex: "10000"
281
468
  };
469
+ const m = d.left + d.width / 2 - l;
470
+ T.value = {
471
+ left: `${m}px`
472
+ };
282
473
  }
283
- return Y(
284
- () => c.visible,
285
- async (y) => {
286
- y && (await Pe(), T());
474
+ return O(
475
+ () => s.visible,
476
+ async (d) => {
477
+ d && (await Le(), w());
287
478
  }
288
- ), X(() => {
289
- c.visible && Pe(() => T());
290
- }), q(() => {
291
- }), (y, x) => (s(), R(me, { to: "body" }, [
292
- r.visible ? (s(), a("div", {
479
+ ), le(() => {
480
+ s.visible && Le(() => w());
481
+ }), ue(() => {
482
+ }), (d, f) => (a(), G(Ae, { to: "body" }, [
483
+ o.visible ? (a(), u("div", {
293
484
  key: 0,
294
485
  ref_key: "tooltipRef",
295
- ref: l,
486
+ ref: g,
296
487
  class: "shifl-grid__tooltip",
297
- style: G(m.value)
488
+ style: j(_.value)
298
489
  }, [
299
- u("div", Et, [
300
- d.value ? (s(!0), a(M, { key: 0 }, z(_.value, (h, f) => (s(), a("div", {
301
- key: f,
490
+ h("div", {
491
+ class: I(["shifl-grid__tooltip-arrow", M.value]),
492
+ style: j(T.value)
493
+ }, null, 6),
494
+ h("div", cn, [
495
+ c.value ? (a(!0), u(x, { key: 0 }, H(v.value, (p, $) => (a(), u("div", {
496
+ key: $,
302
497
  class: "shifl-grid__tooltip-line"
303
- }, b(h), 1))), 128)) : (s(), a(M, { key: 1 }, [
304
- O(b(r.content), 1)
498
+ }, L(p), 1))), 128)) : (a(), u(x, { key: 1 }, [
499
+ ee(L(o.content), 1)
305
500
  ], 64))
306
501
  ])
307
- ], 4)) : P("", !0)
502
+ ], 4)) : D("", !0)
308
503
  ]));
309
504
  }
310
- }), Dt = /* @__PURE__ */ D(Zt, [["__scopeId", "data-v-601cf0b0"]]), It = {}, Gt = {
505
+ }), dn = /* @__PURE__ */ q(fn, [["__scopeId", "data-v-f9f586fc"]]), gn = {}, hn = {
311
506
  width: "14",
312
507
  height: "15",
313
508
  viewBox: "0 0 14 15",
@@ -315,24 +510,24 @@ const kt = { class: "shifl-column-manager__header" }, bt = { class: "shifl-colum
315
510
  xmlns: "http://www.w3.org/2000/svg",
316
511
  class: "shifl-smart-tracking-icon"
317
512
  };
318
- function Bt(r, c) {
319
- return s(), a("svg", Gt, [...c[0] || (c[0] = [
320
- u("path", {
513
+ function pn(o, s) {
514
+ return a(), u("svg", hn, [...s[0] || (s[0] = [
515
+ h("path", {
321
516
  d: "M1.03223 9.27441C1.22778 9.27445 1.40954 9.32951 1.57812 9.43066L3.86523 10.8594C4.1957 11.0618 4.3916 11.4202 4.3916 11.8047C4.39151 12.189 4.19562 12.5467 3.86523 12.749L1.57812 14.1797C1.41642 14.2806 1.22754 14.334 1.03223 14.334V14.3408C0.465713 14.3408 0.000165713 13.8751 0 13.3086V10.3066C0.000236867 9.74022 0.465756 9.27443 1.03223 9.27441ZM1.01172 13.3018L3.3252 11.8916C3.32796 11.8884 3.3728 11.8374 3.37305 11.8047C3.37305 11.771 3.35218 11.737 3.3252 11.7168L1.03906 10.2871L1.01172 13.3018ZM6.07129 3.37305C6.35041 3.37318 6.5771 3.59977 6.57715 3.87891C6.57715 4.15809 6.35044 4.38463 6.07129 4.38477H5.05957C4.03708 4.38477 3.20433 5.06537 3.2041 5.90234C3.2041 6.73947 4.03694 7.4209 5.05957 7.4209H7.08301C8.66344 7.42096 9.95019 8.55525 9.9502 9.9502C9.95009 11.3451 8.66338 12.4794 7.08301 12.4795H6.07129C5.79202 12.4795 5.56543 12.2529 5.56543 11.9736C5.56548 11.6944 5.79205 11.4678 6.07129 11.4678H7.08301C8.10552 11.4677 8.93739 10.7872 8.9375 9.9502C8.93749 9.11311 8.10558 8.43267 7.08301 8.43262H5.05957C3.47908 8.43262 2.19238 7.29733 2.19238 5.90234C2.19259 4.50751 3.4792 3.37305 5.05957 3.37305H6.07129ZM10.7939 0C12.0694 0.000131868 13.2591 0.779675 13.7549 1.94043C14.6093 3.9666 13.0453 5.42741 11.9033 6.49316L11.8818 6.51367C11.7964 6.59308 11.711 6.67193 11.6289 6.75C11.4057 6.96444 11.1095 7.08195 10.7939 7.08203C10.4783 7.08203 10.1803 6.9642 9.95703 6.74902C9.86266 6.65937 9.76511 6.56666 9.66602 6.47363L9.66016 6.46875C8.53029 5.40836 6.98418 3.95585 7.83203 1.94238C8.32854 0.77953 9.51841 6.29203e-06 10.7939 0ZM10.7939 1.01172C9.91775 1.01173 9.10234 1.54537 8.76367 2.33789C8.22961 3.60525 9.04604 4.50453 10.3525 5.73145L10.4229 5.79688C10.5024 5.87104 10.5804 5.94604 10.6572 6.01953C10.7267 6.08617 10.861 6.08446 10.9277 6.02051L10.9307 6.01758C11.0223 5.93066 11.1172 5.84284 11.2129 5.75391C12.5356 4.51951 13.3612 3.61352 12.8223 2.33594C12.4849 1.54493 11.6691 1.0127 10.793 1.0127L10.7939 1.01172ZM10.7998 2.53027C11.1719 2.53041 11.4734 2.83199 11.4736 3.2041C11.4736 3.57637 11.172 3.87877 10.7998 3.87891C10.4275 3.87882 10.1221 3.57641 10.1221 3.2041C10.1223 2.8319 10.4207 2.53027 10.793 2.53027H10.7998Z",
322
517
  fill: "#05963F"
323
518
  }, null, -1)
324
519
  ])]);
325
520
  }
326
- const Nt = /* @__PURE__ */ D(It, [["render", Bt]]), Ot = {}, Wt = {
521
+ const mn = /* @__PURE__ */ q(gn, [["render", pn]]), vn = {}, _n = {
327
522
  width: "14",
328
523
  height: "10",
329
524
  viewBox: "0 0 14 10",
330
525
  fill: "none",
331
526
  xmlns: "http://www.w3.org/2000/svg"
332
527
  };
333
- function Ft(r, c) {
334
- return s(), a("svg", Wt, [...c[0] || (c[0] = [
335
- u("path", {
528
+ function yn(o, s) {
529
+ return a(), u("svg", _n, [...s[0] || (s[0] = [
530
+ h("path", {
336
531
  "fill-rule": "evenodd",
337
532
  "clip-rule": "evenodd",
338
533
  d: "M0 0.666667C0 0.298477 0.314186 2.98023e-08 0.701754 2.98023e-08H4.2807C4.66827 2.98023e-08 4.98246 0.298477 4.98246 0.666667C4.98246 1.03486 4.66827 1.33333 4.2807 1.33333H0.701754C0.314186 1.33333 0 1.03486 0 0.666667ZM10.0301 0.195262C10.3042 -0.0650874 10.7485 -0.0650874 11.0225 0.195262L13.1278 2.19526C13.4018 2.45561 13.4018 2.87772 13.1278 3.13807C12.8537 3.39842 12.4094 3.39842 12.1354 3.13807L11.2281 2.27614V8.66667C11.2281 9.03486 10.9139 9.33333 10.5263 9.33333C10.1387 9.33333 9.82456 9.03486 9.82456 8.66667V2.27614L8.91727 3.13807C8.64322 3.39842 8.19889 3.39842 7.92484 3.13807C7.65079 2.87772 7.65079 2.45561 7.92484 2.19526L10.0301 0.195262ZM0 4.66667C0 4.29848 0.314186 4 0.701754 4H5.61404C6.0016 4 6.31579 4.29848 6.31579 4.66667C6.31579 5.03486 6.0016 5.33333 5.61404 5.33333H0.701754C0.314186 5.33333 0 5.03486 0 4.66667ZM0 8.66667C0 8.29848 0.314186 8 0.701754 8H7.01754C7.40511 8 7.7193 8.29848 7.7193 8.66667C7.7193 9.03486 7.40511 9.33333 7.01754 9.33333H0.701754C0.314186 9.33333 0 9.03486 0 8.66667Z",
@@ -340,82 +535,88 @@ function Ft(r, c) {
340
535
  }, null, -1)
341
536
  ])]);
342
537
  }
343
- const jt = /* @__PURE__ */ D(Ot, [["render", Ft]]), Kt = {}, Yt = {
538
+ const bn = /* @__PURE__ */ q(vn, [["render", yn]]), kn = {}, Cn = {
344
539
  width: "14",
345
540
  height: "10",
346
541
  viewBox: "0 0 14 10",
347
542
  fill: "none",
348
543
  xmlns: "http://www.w3.org/2000/svg"
349
544
  };
350
- function Xt(r, c) {
351
- return s(), a("svg", Yt, [...c[0] || (c[0] = [
352
- u("path", {
545
+ function wn(o, s) {
546
+ return a(), u("svg", Cn, [...s[0] || (s[0] = [
547
+ h("path", {
353
548
  d: "M4.28125 8C4.66872 8.00011 4.98242 8.29887 4.98242 8.66699C4.98242 9.03511 4.66872 9.33387 4.28125 9.33398H0.702148C0.314581 9.33398 8.1338e-07 9.03518 0 8.66699C0 8.2988 0.31458 8 0.702148 8H4.28125ZM10.5264 0C10.9139 0 11.2285 0.298802 11.2285 0.666992V7.05762L12.1357 6.19531C12.4097 5.93519 12.8539 5.93524 13.1279 6.19531C13.402 6.45566 13.402 6.87832 13.1279 7.13867L11.0225 9.13867C10.7484 9.39867 10.3042 9.39886 10.0303 9.13867L7.9248 7.13867C7.65082 6.87834 7.65082 6.45565 7.9248 6.19531C8.19886 5.93496 8.64392 5.93496 8.91797 6.19531L9.8252 7.05762V0.666992C9.8252 0.298891 10.1389 0.000143144 10.5264 0ZM5.61426 4C6.00183 4 6.31641 4.2988 6.31641 4.66699C6.31641 5.03518 6.00183 5.33398 5.61426 5.33398H0.702148C0.314581 5.33398 6.77817e-07 5.03518 0 4.66699C0 4.2988 0.31458 4 0.702148 4H5.61426ZM7.01758 0C7.40515 0 7.71973 0.298802 7.71973 0.666992C7.71973 1.03518 7.40515 1.33398 7.01758 1.33398H0.702148C0.31458 1.33398 5.42254e-07 1.03518 0 0.666992C0 0.298802 0.31458 0 0.702148 0H7.01758Z",
354
549
  fill: "#1A6D9E"
355
550
  }, null, -1)
356
551
  ])]);
357
552
  }
358
- const qt = /* @__PURE__ */ D(Kt, [["render", Xt]]), Jt = {}, Ut = {
553
+ const Mn = /* @__PURE__ */ q(kn, [["render", wn]]), Sn = {}, Tn = {
359
554
  width: "21",
360
555
  height: "13",
361
556
  viewBox: "0 0 21 13",
362
557
  fill: "none",
363
558
  xmlns: "http://www.w3.org/2000/svg"
364
559
  };
365
- function Qt(r, c) {
366
- return s(), a("svg", Ut, [...c[0] || (c[0] = [
367
- u("path", {
560
+ function Pn(o, s) {
561
+ return a(), u("svg", Tn, [...s[0] || (s[0] = [
562
+ h("path", {
368
563
  d: "M19.6426 4.61523C19.9311 4.61524 20.1317 4.90139 20.0342 5.17285L17.499 12.2246C17.4395 12.3899 17.2821 12.5 17.1064 12.5H1.5459C1.35628 12.5 1.19044 12.3719 1.14258 12.1885L0.0136719 7.83887C-0.0548101 7.575 0.14438 7.31738 0.416992 7.31738H12.6016L14.71 4.61523H19.6426ZM3.51465 8.82324C3.11322 8.82324 2.78728 9.15265 2.78711 9.55859C2.78711 9.96468 3.11312 10.2939 3.51465 10.2939C3.9161 10.2938 4.24121 9.96462 4.24121 9.55859C4.24104 9.15271 3.91599 8.82334 3.51465 8.82324ZM7.87695 8.82324C7.47553 8.82324 7.14958 9.15265 7.14941 9.55859C7.14941 9.96468 7.47542 10.2939 7.87695 10.2939C8.27846 10.2939 8.60352 9.96466 8.60352 9.55859C8.60335 9.15267 8.27835 8.82327 7.87695 8.82324ZM12.2393 8.82324C11.8378 8.82324 11.5119 9.15265 11.5117 9.55859C11.5117 9.96468 11.8377 10.2939 12.2393 10.2939C12.6407 10.2938 12.9658 9.96458 12.9658 9.55859C12.9657 9.15275 12.6405 8.82341 12.2393 8.82324ZM10.3291 3.67676C10.5591 3.67679 10.7459 3.86283 10.7461 4.09277V5.46582C10.746 5.69585 10.5591 5.88278 10.3291 5.88281H1.75C1.51993 5.88281 1.33309 5.69587 1.33301 5.46582V4.09277C1.3332 3.86282 1.52 3.67676 1.75 3.67676H10.3291ZM8.91406 0C9.14418 0 9.33105 0.186874 9.33105 0.416992V1.78906C9.33105 2.01918 9.14418 2.20605 8.91406 2.20605H3.2041C2.97398 2.20605 2.78711 2.01918 2.78711 1.78906V0.416992C2.78711 0.186874 2.97398 1.52829e-06 3.2041 0H8.91406Z",
369
564
  fill: "#9CA5B4"
370
565
  }, null, -1)
371
566
  ])]);
372
567
  }
373
- const Ae = /* @__PURE__ */ D(Jt, [["render", Qt]]), en = {}, tn = {
374
- width: "11",
375
- height: "11",
376
- viewBox: "0 0 11 11",
568
+ const Ye = /* @__PURE__ */ q(Sn, [["render", Pn]]), $n = {}, Ln = {
569
+ width: "16",
570
+ height: "16",
571
+ viewBox: "0 0 16 16",
377
572
  fill: "none",
378
573
  xmlns: "http://www.w3.org/2000/svg"
379
574
  };
380
- function nn(r, c) {
381
- return s(), a("svg", tn, [...c[0] || (c[0] = [
382
- u("path", {
383
- d: "M5.39941 0C8.38169 0 10.7997 2.41717 10.7998 5.39941C10.7998 8.38175 8.38175 10.7998 5.39941 10.7998C2.41717 10.7997 0 8.38169 0 5.39941C0.000106094 2.41723 2.41723 0.000105613 5.39941 0ZM5.39941 0.80957C2.86451 0.809676 0.809676 2.86451 0.80957 5.39941C0.80957 7.93441 2.86445 9.98915 5.39941 9.98926C7.93447 9.98926 9.98926 7.93447 9.98926 5.39941C9.98915 2.86445 7.9344 0.80957 5.39941 0.80957ZM5.39746 4.58887C5.60229 4.58873 5.77167 4.74108 5.79883 4.93848L5.80273 4.99414L5.80469 7.96387C5.80483 8.18742 5.6239 8.36885 5.40039 8.36914C5.19539 8.36927 5.02597 8.21716 4.99902 8.01953L4.99512 7.96484L4.99316 4.99414C4.99317 4.77069 5.174 4.58911 5.39746 4.58887ZM5.39941 2.70117C5.6972 2.70117 5.93945 2.94245 5.93945 3.24023C5.93928 3.53787 5.69709 3.7793 5.39941 3.7793C5.10194 3.77906 4.86053 3.53773 4.86035 3.24023C4.86035 2.94259 5.10183 2.70141 5.39941 2.70117Z",
575
+ function An(o, s) {
576
+ return a(), u("svg", Ln, [...s[0] || (s[0] = [
577
+ h("path", {
578
+ d: "M7.99976 0.799561C11.9761 0.799561 15.1998 4.0234 15.2 7.99976C15.2 11.9762 11.9762 15.2 7.99976 15.2C4.0234 15.1998 0.799561 11.9761 0.799561 7.99976C0.799666 4.02346 4.02346 0.799666 7.99976 0.799561ZM7.99976 1.87964C4.61984 1.87974 1.87974 4.61984 1.87964 7.99976C1.87964 11.3798 4.61977 14.1198 7.99976 14.1199C11.3798 14.1199 14.1199 11.3798 14.1199 7.99976C14.1198 4.61977 11.3798 1.87964 7.99976 1.87964ZM7.9978 6.91968C8.27087 6.91973 8.49698 7.12223 8.53296 7.3855L8.53784 7.45874L8.53979 11.4197C8.5399 11.7178 8.29882 11.9595 8.00073 11.9597C7.72754 11.9599 7.50169 11.7572 7.46558 11.4939L7.46069 11.4207L7.45776 7.45972C7.45757 7.16153 7.69962 6.91987 7.9978 6.91968ZM8.00073 4.40112C8.39742 4.40137 8.71923 4.72319 8.71948 5.11987C8.71948 5.51677 8.39757 5.83935 8.00073 5.8396C7.60368 5.8396 7.28101 5.51692 7.28101 5.11987C7.28126 4.72304 7.60384 4.40112 8.00073 4.40112Z",
384
579
  fill: "#69758C"
385
580
  }, null, -1)
386
581
  ])]);
387
582
  }
388
- const on = /* @__PURE__ */ D(en, [["render", nn]]), rn = { class: "shifl-grid relative" }, sn = { class: "shifl-grid__controls" }, ln = { class: "shifl-grid__table" }, an = ["onClick"], un = { class: "shifl-grid__header-content" }, cn = {
583
+ const xn = /* @__PURE__ */ q($n, [["render", An]]), Nn = { class: "shifl-grid relative" }, Rn = { class: "shifl-grid__controls" }, zn = { class: "shifl-grid__table" }, Dn = ["onClick"], En = { class: "shifl-grid__header-content" }, Hn = {
389
584
  key: 0,
390
585
  class: "shifl-grid__header-label"
391
- }, fn = {
586
+ }, Vn = {
392
587
  key: 1,
393
588
  class: "shifl-grid__sort-icon"
394
- }, dn = { key: 0 }, gn = ["colspan"], hn = {
589
+ }, Bn = { key: 0 }, In = ["colspan"], Gn = {
395
590
  key: 0,
396
591
  class: "shifl-grid__smart-tracking-icon"
397
- }, pn = ["onClick"], vn = { key: 0 }, mn = ["innerHTML"], _n = {
592
+ }, Zn = ["onClick"], On = { key: 0 }, Fn = ["innerHTML"], jn = {
398
593
  key: 2,
594
+ class: "shifl-grid__composite-cell"
595
+ }, Wn = {
596
+ key: 3,
399
597
  class: "shifl-grid__type-cell"
400
- }, Cn = {
598
+ }, Kn = {
401
599
  key: 0,
402
600
  class: "shifl-grid__container-badge"
403
- }, yn = {
404
- key: 3,
405
- class: "shifl-grid__tags-cell"
406
- }, kn = { class: "shifl-grid__tags-wrapper" }, bn = ["onMouseenter"], wn = {
601
+ }, Jn = {
407
602
  key: 4,
408
- class: "shifl-grid__truncated-cell"
409
- }, Mn = ["onMouseenter"], Tn = ["onMouseenter"], $n = {
603
+ class: "shifl-grid__tags-cell"
604
+ }, qn = { class: "shifl-grid__tags-wrapper" }, Un = ["onMouseenter"], Yn = {
410
605
  key: 5,
411
606
  class: "shifl-grid__chips-container"
412
- }, xn = {
607
+ }, Qn = {
608
+ key: 6,
609
+ class: "shifl-grid__truncated-cell"
610
+ }, Xn = ["onMouseenter"], er = ["onMouseenter"], tr = ["href"], nr = {
611
+ key: 8,
612
+ class: "shifl-grid__progress-cell"
613
+ }, rr = { class: "shifl-grid__progress-bar" }, sr = { class: "shifl-grid__progress-text" }, ir = {
413
614
  key: 0,
414
615
  class: "shifl-grid__pagination"
415
- }, Ln = { class: "shifl-grid__pagination-left" }, Sn = { class: "shifl-grid__pagination-range" }, Pn = { class: "shifl-grid__pagination-range-numbers" }, An = { class: "shifl-grid__pagination-right" }, zn = { class: "shifl-grid__pagination-rows" }, Hn = ["value", "disabled"], Rn = { class: "shifl-grid__pagination-nav" }, Vn = ["disabled"], En = { class: "shifl-grid__pagination-pages" }, Zn = ["disabled", "onClick"], Dn = {
616
+ }, or = { class: "shifl-grid__pagination-left" }, ar = { class: "shifl-grid__pagination-range" }, lr = { class: "shifl-grid__pagination-range-numbers" }, ur = { class: "shifl-grid__pagination-right" }, cr = { class: "shifl-grid__pagination-rows" }, fr = ["value", "disabled"], dr = { class: "shifl-grid__pagination-nav" }, gr = ["disabled"], hr = { class: "shifl-grid__pagination-pages" }, pr = ["disabled", "onClick"], mr = {
416
617
  key: 1,
417
618
  class: "shifl-grid__pagination-ellipsis"
418
- }, In = ["disabled"], Gn = ["onClick"], Bn = ["innerHTML"], Nn = /* @__PURE__ */ _e({
619
+ }, vr = ["disabled"], _r = ["onClick"], yr = ["innerHTML"], br = /* @__PURE__ */ xe({
419
620
  __name: "ShiflGrid",
420
621
  props: {
421
622
  config: {},
@@ -423,270 +624,424 @@ const on = /* @__PURE__ */ D(en, [["render", nn]]), rn = { class: "shifl-grid re
423
624
  loading: { type: Boolean }
424
625
  },
425
626
  emits: ["action-click", "search-change", "pagination-change"],
426
- setup(r, { emit: c }) {
427
- const l = r, m = c, d = v(() => vt(l.config)), _ = v(() => d.value.columns.filter((e) => !e.smartTrackingColumn)), {
428
- columns: T,
429
- visibleColumns: y,
430
- toggleColumnVisibility: x,
431
- setAllVisible: h,
432
- toggleFrozen: f,
433
- moveColumn: g,
434
- resetColumns: L
435
- } = mt(_.value), { sort: C, setSort: H, applySort: J } = _t(d.value.sort), { applyGlobalFilter: Re } = Ct(), { menuState: E, openMenu: Ve, closeMenu: U } = yt(), Q = k(!1), Ce = k({}), ye = k(null), ke = k(null), ee = k(null), te = k(!1), be = k(""), ne = k(null), Ee = k({});
627
+ setup(o, { emit: s }) {
628
+ var qe, Ue;
629
+ const g = o, _ = s, c = b(() => It(g.config)), v = k(g.search), M = k(c.value.filters), T = k(c.value.sort), w = k({
630
+ page: ((qe = c.value.paginationMeta) == null ? void 0 : qe.currentPage) || 1,
631
+ perPage: ((Ue = c.value.paginationMeta) == null ? void 0 : Ue.perPage) || 20
632
+ }), d = Wt(c.value, {
633
+ search: v,
634
+ filters: M,
635
+ sort: T,
636
+ pagination: w
637
+ }), f = b(() => c.value.columns.filter((e) => !e.smartTrackingColumn)), {
638
+ columns: p,
639
+ visibleColumns: $,
640
+ toggleColumnVisibility: C,
641
+ setAllVisible: l,
642
+ toggleFreeze: m,
643
+ moveColumn: S,
644
+ resetColumns: N
645
+ } = Gt(f.value), { sort: P, setSort: R, applySort: ce } = Zt(c.value.sort), { applyGlobalFilter: te } = Ot(), { menuState: V, openMenu: F, closeMenu: U } = Ft(), Y = k(!1), Z = k({}), ne = k(null), Ne = k(null), fe = k(null), de = k(!1), Re = k(""), ge = k(null), et = k({});
436
646
  k({});
437
- const ie = k({});
438
- Y(
439
- () => d.value.columns,
647
+ const he = k({});
648
+ O(
649
+ () => c.value.filters,
650
+ (e) => {
651
+ M.value = e;
652
+ },
653
+ { deep: !0 }
654
+ ), O(
655
+ () => c.value.paginationMeta,
656
+ (e) => {
657
+ c.value.searchMode !== "server" && e && w.value && (w.value.page = e.currentPage || w.value.page, w.value.perPage = e.perPage || w.value.perPage);
658
+ },
659
+ { deep: !0 }
660
+ ), O(
661
+ () => c.value.columns,
440
662
  (e) => {
441
663
  const n = e.filter((t) => !t.smartTrackingColumn);
442
- T.value = [...n];
664
+ p.value = [...n];
443
665
  },
444
666
  { deep: !0 }
445
- ), Y(
446
- () => d.value.sort,
667
+ ), O(
668
+ () => c.value.sort,
447
669
  (e) => {
448
- e && (C.value = e);
670
+ e && (P.value = e, T.value = e);
449
671
  },
450
672
  { deep: !0 }
451
- ), Y(
452
- () => l.search,
673
+ ), O(
674
+ () => g.search,
453
675
  (e, n) => {
454
676
  var t;
455
- if (d.value.searchMode === "server")
456
- m("search-change", e || "");
457
- else if (d.value.searchMode === "client" && e !== n) {
458
- const i = ((t = $.value) == null ? void 0 : t.perPage) || 20;
459
- m("pagination-change", 1, i);
677
+ if (v.value = e, c.value.searchMode === "server")
678
+ _("search-change", e || "");
679
+ else if (c.value.searchMode === "client" && e !== n) {
680
+ const r = ((t = z.value) == null ? void 0 : t.perPage) || 20;
681
+ w.value = { page: 1, perPage: r }, _("pagination-change", 1, r);
460
682
  }
683
+ },
684
+ { immediate: !0 }
685
+ ), O(
686
+ () => P.value,
687
+ (e) => {
688
+ T.value = e;
461
689
  }
462
690
  );
463
- const we = v(() => {
464
- if ((d.value.searchMode || "client") === "server")
465
- return d.value.rows;
466
- const n = l.search || "";
467
- return Re(d.value.rows, d.value.search, n);
468
- }), oe = v(() => {
691
+ const ze = b(() => d.rows.value || []), pe = b(() => {
692
+ if ((c.value.searchMode || "client") === "server")
693
+ return ze.value;
694
+ const n = g.search || "";
695
+ return te(ze.value, c.value.search, n);
696
+ }), me = b(() => {
469
697
  var n;
470
- return (d.value.searchMode || "client") === "client" ? we.value.length : ((n = $.value) == null ? void 0 : n.total) || 0;
471
- }), re = v(() => J(we.value)), Me = v(() => {
472
- if ((d.value.searchMode || "client") === "server")
473
- return re.value;
474
- const n = $.value;
698
+ return (c.value.searchMode || "client") === "client" ? pe.value.length : ((n = d.paginationMeta.value) == null ? void 0 : n.total) || 0;
699
+ }), ve = b(() => (c.value.searchMode || "client") === "server" ? pe.value : ce(pe.value)), De = b(() => {
700
+ if ((c.value.searchMode || "client") === "server")
701
+ return ve.value;
702
+ const n = z.value;
475
703
  if (!n || !n.show)
476
- return re.value;
477
- const t = n.perPage || 20, o = ((n.currentPage || 1) - 1) * t, p = o + t;
478
- return re.value.slice(o, p);
479
- }), $ = v(() => d.value.paginationMeta), Ze = v(() => {
704
+ return ve.value;
705
+ const t = n.perPage || 20, i = ((n.currentPage || 1) - 1) * t, y = i + t;
706
+ return ve.value.slice(i, y);
707
+ }), z = b(() => {
708
+ var e;
709
+ return c.value.searchMode === "server" && d.paginationMeta.value ? {
710
+ show: !0,
711
+ // Default to showing pagination
712
+ ...d.paginationMeta.value,
713
+ currentPage: ((e = w.value) == null ? void 0 : e.page) || d.paginationMeta.value.currentPage || 1
714
+ } : c.value.paginationMeta;
715
+ }), W = b(() => g.loading !== void 0 ? g.loading : d.loading.value), tt = b(() => {
480
716
  var e;
481
- return ((e = $.value) == null ? void 0 : e.perPage) === 100;
482
- }), De = v(() => {
717
+ return ((e = z.value) == null ? void 0 : e.perPage) === 100;
718
+ }), nt = b(() => {
483
719
  var e;
484
- return ((e = $.value) == null ? void 0 : e.perPage) || 10;
485
- }), Te = v(() => {
486
- const e = $.value;
487
- if (!e || !e.show)
720
+ return ((e = z.value) == null ? void 0 : e.perPage) || 10;
721
+ }), Ee = b(() => {
722
+ const e = z.value;
723
+ if (!e || e.show === !1)
488
724
  return { from: 0, to: 0 };
489
- const n = oe.value, t = e.perPage || 20, i = e.currentPage || 1;
490
- if ((d.value.searchMode || "client") === "server" && e.from !== void 0 && e.to !== void 0)
725
+ const n = me.value, t = e.perPage || 20, r = e.currentPage || 1;
726
+ if ((c.value.searchMode || "client") === "server" && e.from !== void 0 && e.to !== void 0)
491
727
  return { from: e.from, to: e.to };
492
- const p = (i - 1) * t + 1, w = Math.min(i * t, n);
493
- return n === 0 ? { from: 0, to: 0 } : { from: p, to: w };
494
- }), Z = v(() => {
728
+ const y = (r - 1) * t + 1, A = Math.min(r * t, n);
729
+ return n === 0 ? { from: 0, to: 0 } : { from: y, to: A };
730
+ }), K = b(() => {
495
731
  var e;
496
- return ((e = $.value) == null ? void 0 : e.currentPage) || 1;
497
- }), se = v(() => {
498
- const e = $.value;
499
- if (!e || !e.show) return 1;
500
- const n = oe.value;
732
+ return ((e = z.value) == null ? void 0 : e.currentPage) || 1;
733
+ }), _e = b(() => {
734
+ const e = z.value;
735
+ if (!e || e.show === !1) return 1;
736
+ const n = me.value;
501
737
  if (n === 0) return 1;
502
- const t = e.perPage || 20, i = Math.ceil(n / t);
503
- return Math.max(1, i);
504
- }), $e = v(() => Z.value <= 1), xe = v(() => Z.value >= se.value), Ie = v(() => {
505
- const e = se.value, n = Z.value, t = [];
738
+ const t = e.perPage || 20, r = Math.ceil(n / t);
739
+ return Math.max(1, r);
740
+ }), He = b(() => K.value <= 1), Ve = b(() => K.value >= _e.value), rt = b(() => {
741
+ const e = _e.value, n = K.value, t = [];
506
742
  if (e <= 7)
507
- for (let i = 1; i <= e; i++)
508
- t.push(i);
743
+ for (let r = 1; r <= e; r++)
744
+ t.push(r);
509
745
  else if (n <= 4) {
510
- for (let i = 1; i <= 5; i++)
511
- t.push(i);
746
+ for (let r = 1; r <= 5; r++)
747
+ t.push(r);
512
748
  t.push(-1), t.push(e);
513
749
  } else if (n >= e - 3) {
514
750
  t.push(1), t.push(-1);
515
- for (let i = e - 4; i <= e; i++)
516
- t.push(i);
751
+ for (let r = e - 4; r <= e; r++)
752
+ t.push(r);
517
753
  } else {
518
754
  t.push(1), t.push(-1);
519
- for (let i = n - 1; i <= n + 1; i++)
520
- t.push(i);
755
+ for (let r = n - 1; r <= n + 1; r++)
756
+ t.push(r);
521
757
  t.push(-1), t.push(e);
522
758
  }
523
759
  return t;
524
760
  });
525
- function Ge(e) {
761
+ function st(e) {
526
762
  var t;
527
- if (e < 1 || e > se.value || e === Z.value || l.loading) return;
528
- const n = ((t = $.value) == null ? void 0 : t.perPage) || 20;
529
- m("pagination-change", e, n);
763
+ if (e < 1 || e > _e.value || e === K.value || W.value) return;
764
+ const n = ((t = z.value) == null ? void 0 : t.perPage) || 20;
765
+ w.value = { page: e, perPage: n }, _("pagination-change", e, n);
530
766
  }
531
- function Be() {
532
- var n;
533
- if ($e.value || l.loading) return;
534
- const e = ((n = $.value) == null ? void 0 : n.perPage) || 20;
535
- m("pagination-change", Z.value - 1, e);
767
+ function it() {
768
+ var t;
769
+ if (He.value || W.value) return;
770
+ const e = ((t = z.value) == null ? void 0 : t.perPage) || 20, n = K.value - 1;
771
+ w.value = { page: n, perPage: e }, _("pagination-change", n, e);
536
772
  }
537
- function Ne() {
538
- var n;
539
- if (xe.value || l.loading) return;
540
- const e = ((n = $.value) == null ? void 0 : n.perPage) || 20;
541
- m("pagination-change", Z.value + 1, e);
773
+ function ot() {
774
+ var t;
775
+ if (Ve.value || W.value) return;
776
+ const e = ((t = z.value) == null ? void 0 : t.perPage) || 20, n = K.value + 1;
777
+ w.value = { page: n, perPage: e }, _("pagination-change", n, e);
542
778
  }
543
- function Oe(e) {
544
- var i;
545
- if (l.loading) return;
779
+ function at(e) {
780
+ var r;
781
+ if (W.value) return;
546
782
  const n = e.target, t = parseInt(n.value, 10);
547
- t && t !== (((i = $.value) == null ? void 0 : i.perPage) || 20) && m("pagination-change", 1, t);
783
+ t && t !== (((r = z.value) == null ? void 0 : r.perPage) || 20) && (w.value = { page: 1, perPage: t }, _("pagination-change", 1, t));
548
784
  }
549
- const We = v(() => {
550
- const e = d.value.columns.find((t) => t.smartTrackingColumn);
785
+ const lt = b(() => {
786
+ const e = c.value.columns.find((t) => t.smartTrackingColumn);
551
787
  if (!(e != null && e.smartTrackingColumn)) return !1;
552
788
  const n = e.smartTrackingColumn.dataKey;
553
- return d.value.rows.some((t) => {
554
- const i = t[n];
555
- return i === !0 || i === 1 || i === "true" || i === "1";
789
+ return c.value.rows.some((t) => {
790
+ const r = t[n];
791
+ return r === !0 || r === 1 || r === "true" || r === "1";
556
792
  });
557
- }), le = v(() => d.value.columns.find((e) => e.smartTrackingColumn)), I = v(() => {
793
+ }), ye = b(() => c.value.columns.find((e) => e.smartTrackingColumn)), Q = b(() => {
558
794
  var t;
559
- const e = y.value.filter((i) => !i.smartTrackingColumn);
560
- if (We.value && le.value) {
561
- const i = {
795
+ const e = $.value.filter((r) => !r.smartTrackingColumn);
796
+ if (lt.value && ye.value) {
797
+ const r = {
562
798
  key: "_smart_tracking",
563
799
  label: "",
564
800
  // No label
565
801
  order: -1,
566
802
  // Before everything
567
- frozen: !0,
803
+ freeze: !0,
568
804
  visible: !0,
569
805
  protected: !0,
570
806
  sortable: !1,
571
- width: ((t = le.value.smartTrackingColumn) == null ? void 0 : t.width) || "36px",
572
- smartTrackingColumn: le.value.smartTrackingColumn
573
- }, o = e.findIndex((p) => p.key === "ref");
574
- o >= 0 ? e.splice(o, 0, i) : e.unshift(i);
807
+ width: ((t = ye.value.smartTrackingColumn) == null ? void 0 : t.width) || "36px",
808
+ smartTrackingColumn: ye.value.smartTrackingColumn,
809
+ cellType: "icon"
810
+ }, i = e.findIndex((y) => y.key === "ref");
811
+ i >= 0 ? e.splice(i, 0, r) : e.unshift(r);
575
812
  }
576
- const n = e.find((i) => i.key === "ref");
577
- return n && (n.frozen = !0, n.protected = !0), e;
578
- }), Fe = v(() => {
813
+ const n = e.find((r) => r.key === "ref");
814
+ return n && (n.freeze = !0, n.protected = !0), e;
815
+ }), ut = b(() => {
579
816
  let e = 0;
580
817
  const n = {};
581
- for (const t of I.value) {
582
- t.frozen && (n[t.key] = e);
583
- const i = parseInt(t.width ?? "160", 10);
584
- Number.isNaN(i) || (e += i);
818
+ for (const t of Q.value) {
819
+ t.freeze && (n[t.key] = e);
820
+ const r = parseInt(t.width ?? "160", 10);
821
+ Number.isNaN(r) || (e += r);
585
822
  }
586
823
  return n;
587
- });
588
- function je(e) {
589
- const n = T.value.find((t) => t.key === e);
590
- !(n != null && n.sortable) || F(n) || ge(n) || H(e);
824
+ }), Be = k(0);
825
+ function ct(e) {
826
+ const n = e.target;
827
+ Be.value = n.scrollLeft;
828
+ }
829
+ function ft(e) {
830
+ const n = p.value.find((t) => t.key === e);
831
+ !(n != null && n.sortable) || se(n) || Te(n) || R(e);
832
+ }
833
+ function be(e, n) {
834
+ if (e == null || e === "" || e === void 0)
835
+ return Ie(n.blankStyle);
836
+ const t = n.cellType;
837
+ if (Array.isArray(t)) {
838
+ const r = t.find((i) => typeof i == "string" && i !== "icon");
839
+ return r && typeof r == "string" ? We(e, r, n) : "";
840
+ }
841
+ if (!t)
842
+ return typeof e == "object" ? JSON.stringify(e) : String(e);
843
+ switch (t) {
844
+ case "number":
845
+ return Ge(e);
846
+ case "currency":
847
+ return Ze(e);
848
+ case "date":
849
+ return Oe(e);
850
+ case "boolean":
851
+ return Fe(e);
852
+ case "text":
853
+ default:
854
+ return typeof e == "object" ? JSON.stringify(e) : String(e);
855
+ }
856
+ }
857
+ function Ie(e) {
858
+ switch (e) {
859
+ case "dash":
860
+ return "--";
861
+ case "zero":
862
+ return "0";
863
+ case "na":
864
+ return "N/A";
865
+ case "empty":
866
+ default:
867
+ return "";
868
+ }
869
+ }
870
+ function Ge(e) {
871
+ if (typeof e == "number")
872
+ return e.toLocaleString();
873
+ const n = Number(e);
874
+ return Number.isNaN(n) ? String(e) : n.toLocaleString();
875
+ }
876
+ function Ze(e) {
877
+ if (typeof e == "number")
878
+ return new Intl.NumberFormat("en-US", {
879
+ style: "currency",
880
+ currency: "USD"
881
+ }).format(e);
882
+ const n = Number(e);
883
+ return Number.isNaN(n) ? String(e) : new Intl.NumberFormat("en-US", {
884
+ style: "currency",
885
+ currency: "USD"
886
+ }).format(n);
591
887
  }
592
- function Ke(e) {
593
- return e == null ? "" : typeof e == "object" ? JSON.stringify(e) : String(e);
888
+ function Oe(e) {
889
+ if (e instanceof Date)
890
+ return e.toLocaleDateString();
891
+ if (typeof e == "string") {
892
+ const n = new Date(e);
893
+ if (!Number.isNaN(n.getTime()))
894
+ return n.toLocaleDateString();
895
+ }
896
+ return String(e);
897
+ }
898
+ function Fe(e) {
899
+ return typeof e == "boolean" ? e ? "Yes" : "No" : e === 1 || e === "1" || e === "true" || e === "True" ? "Yes" : e === 0 || e === "0" || e === "false" || e === "False" ? "No" : String(e);
594
900
  }
595
- function Ye(e) {
596
- return typeof e == "string" && e.toLowerCase() === "ocean", Ae;
901
+ function dt(e) {
902
+ if (typeof e == "number")
903
+ return Math.min(100, Math.max(0, e));
904
+ const n = Number(e);
905
+ return Number.isNaN(n) ? 0 : Math.min(100, Math.max(0, n));
597
906
  }
598
- function Xe(e) {
907
+ function je(e) {
908
+ return typeof e == "string" && e.toLowerCase() === "ocean", Ye;
909
+ }
910
+ function gt(e) {
599
911
  const n = e.toLowerCase();
600
912
  return ["supplier", "suppliers", "po", "pos", "product_description"].includes(n);
601
913
  }
602
- function qe(e) {
914
+ function ht(e) {
915
+ if (e.cellType === "badge") return !0;
916
+ const n = e.key.toLowerCase();
917
+ return n === "tag" || n === "tags";
918
+ }
919
+ function pt(e) {
920
+ return e.cellType === "status" ? !0 : e.key.toLowerCase() === "status";
921
+ }
922
+ function mt(e) {
923
+ return e.cellType === "icon" ? !0 : e.key.toLowerCase() === "type";
924
+ }
925
+ function vt(e) {
926
+ return Array.isArray(e.cellType) && e.cellType.length > 0;
927
+ }
928
+ function _t(e) {
929
+ return Array.isArray(e.cellType) ? e.cellType.filter((n) => typeof n == "string") : e.cellType && typeof e.cellType == "string" ? [e.cellType] : [];
930
+ }
931
+ function We(e, n, t) {
932
+ if (e == null || e === "" || e === void 0)
933
+ return Ie(t.blankStyle);
934
+ switch (n) {
935
+ case "number":
936
+ return Ge(e);
937
+ case "currency":
938
+ return Ze(e);
939
+ case "date":
940
+ return Oe(e);
941
+ case "boolean":
942
+ return Fe(e);
943
+ case "text":
944
+ default:
945
+ return typeof e == "object" ? JSON.stringify(e) : String(e);
946
+ }
947
+ }
948
+ function yt(e) {
949
+ return {
950
+ number: "shifl-grid__composite-number",
951
+ currency: "shifl-grid__composite-currency",
952
+ date: "shifl-grid__composite-date",
953
+ boolean: "shifl-grid__composite-boolean",
954
+ text: "shifl-grid__composite-text"
955
+ }[e] || "shifl-grid__composite-text";
956
+ }
957
+ function bt(e) {
603
958
  if (e == null) return "";
604
959
  if (Array.isArray(e)) {
605
960
  if (e.length === 0) return "";
606
961
  const n = e.join(", ");
607
- return Le(n, 45);
962
+ return Ke(n, 45);
608
963
  }
609
- return typeof e == "string" ? Le(e, 45) : String(e);
964
+ return typeof e == "string" ? Ke(e, 45) : String(e);
610
965
  }
611
- function Le(e, n) {
966
+ function Ke(e, n) {
612
967
  return e.length <= n ? e : e.substring(0, n) + "...";
613
968
  }
614
- function ae(e) {
969
+ function ke(e) {
615
970
  const n = e.toLowerCase();
616
971
  return ["po", "pos", "supplier", "suppliers", "tag", "tags"].includes(n);
617
972
  }
618
- function Je(e, n) {
619
- return e == null || ae(n) ? !1 : Array.isArray(e) ? e.length === 0 ? !1 : e.join(", ").length > 30 : typeof e == "string" ? e.length > 30 : !1;
973
+ function kt(e, n) {
974
+ return e == null || ke(n) ? !1 : Array.isArray(e) ? e.length === 0 ? !1 : e.join(", ").length > 30 : typeof e == "string" ? e.length > 30 : !1;
620
975
  }
621
- function Ue(e) {
976
+ function Ct(e) {
622
977
  return e == null ? !1 : Array.isArray(e) ? e.length === 0 ? !1 : e.join(", ").length > 45 : typeof e == "string" ? e.length > 45 : !1;
623
978
  }
624
- function Qe(e) {
979
+ function wt(e) {
625
980
  if (e == null) return 0;
626
981
  if (Array.isArray(e)) {
627
982
  if (e.length === 0 || e.join(", ").length <= 45) return 0;
628
- let t = 0, i = 0;
629
- for (let o = 0; o < e.length; o++) {
630
- const p = String(e[o]), A = (o > 0 ? ", " : "").length + p.length;
631
- if (t + A <= 45)
632
- t += A, i++;
983
+ let t = 0, r = 0;
984
+ for (let i = 0; i < e.length; i++) {
985
+ const y = String(e[i]), B = (i > 0 ? ", " : "").length + y.length;
986
+ if (t + B <= 45)
987
+ t += B, r++;
633
988
  else
634
989
  break;
635
990
  }
636
- return e.length - i;
991
+ return e.length - r;
637
992
  }
638
993
  return typeof e == "string" && e.length > 45 ? 1 : 0;
639
994
  }
640
- function ue(e, n, t, i) {
641
- let o = "";
642
- Array.isArray(t) ? t.length > 0 && (o = t.join(`
643
- `)) : t != null && (o = String(t)), be.value = o, ne.value = i, te.value = !0;
995
+ function Ce(e, n, t, r) {
996
+ let i = "";
997
+ Array.isArray(t) ? t.length > 0 && (i = t.join(`
998
+ `)) : t != null && (i = String(t)), Re.value = i, ge.value = r, de.value = !0;
644
999
  }
645
- function ce() {
646
- te.value = !1, ne.value = null;
1000
+ function we() {
1001
+ de.value = !1, ge.value = null;
647
1002
  }
648
- function et(e, n, t) {
649
- t && (Ee.value[`${e}-${n}`] = t);
1003
+ function Mt(e, n, t) {
1004
+ t && (et.value[`${e}-${n}`] = t);
650
1005
  }
651
- function W(e) {
1006
+ function re(e) {
652
1007
  return e == null ? [] : Array.isArray(e) ? e.map((n) => String(n)).filter((n) => n.length > 0) : typeof e == "string" ? e.split(",").map((n) => n.trim()).filter((n) => n.length > 0) : [String(e)];
653
1008
  }
654
- function fe(e, n, t) {
655
- const i = W(e);
656
- if (i.length === 0) return [];
657
- const o = `${n}-${t}`;
658
- if (ie.value[o])
659
- return ie.value[o];
660
- const p = I.value.find((K) => K.key === n), A = (p != null && p.width ? parseInt(p.width) : 200) - 32, N = tt(i, A);
661
- return ie.value[o] = N, N;
1009
+ function Me(e, n, t) {
1010
+ const r = re(e);
1011
+ if (r.length === 0) return [];
1012
+ const i = `${n}-${t}`;
1013
+ if (he.value[i])
1014
+ return he.value[i];
1015
+ const y = Q.value.find((oe) => oe.key === n), B = (y != null && y.width ? parseInt(y.width) : 200) - 32, X = St(r, B);
1016
+ return he.value[i] = X, X;
662
1017
  }
663
- function tt(e, n) {
1018
+ function St(e, n) {
664
1019
  if (e.length === 0) return [];
665
1020
  const t = document.createElement("div");
666
1021
  t.style.cssText = "position: absolute; visibility: hidden; display: flex; flex-wrap: nowrap; gap: 6px;", t.className = "shifl-grid__chips-container", document.body.appendChild(t);
667
- let i = 0, o = 0;
668
- const p = 40;
669
- for (let w = 0; w < e.length; w++) {
670
- const A = document.createElement("span");
671
- A.className = "shifl-grid__chip shifl-grid__chip--tag", A.textContent = e[w], A.style.cssText = "padding: 4px 8px; border-left: 3px solid; border: 1px solid; background: white; white-space: nowrap;", t.appendChild(A);
672
- const N = A.offsetWidth, K = w > 0 ? 6 : 0, dt = w < e.length - 1;
673
- if (o + K + N + (dt ? p : 0) > n && w > 0) {
674
- t.removeChild(A);
1022
+ let r = 0, i = 0;
1023
+ const y = 40;
1024
+ for (let A = 0; A < e.length; A++) {
1025
+ const B = document.createElement("span");
1026
+ B.className = "shifl-grid__chip shifl-grid__chip--tag", B.textContent = e[A], B.style.cssText = "padding: 4px 8px; border-left: 3px solid; border: 1px solid; background: white; white-space: nowrap;", t.appendChild(B);
1027
+ const X = B.offsetWidth, oe = A > 0 ? 6 : 0, Et = A < e.length - 1;
1028
+ if (i + oe + X + (Et ? y : 0) > n && A > 0) {
1029
+ t.removeChild(B);
675
1030
  break;
676
1031
  }
677
- o += K + N, i++;
1032
+ i += oe + X, r++;
678
1033
  }
679
- return document.body.removeChild(t), e.slice(0, i);
1034
+ return document.body.removeChild(t), e.slice(0, r);
680
1035
  }
681
- function nt(e, n, t) {
682
- const i = W(e), o = fe(e, n, t);
683
- return i.length > o.length;
1036
+ function Tt(e, n, t) {
1037
+ const r = re(e), i = Me(e, n, t);
1038
+ return r.length > i.length;
684
1039
  }
685
- function it(e, n, t) {
686
- const i = W(e), o = fe(e, n, t);
687
- return i.length - o.length;
1040
+ function Pt(e, n, t) {
1041
+ const r = re(e), i = Me(e, n, t);
1042
+ return r.length - i.length;
688
1043
  }
689
- function ot(e) {
1044
+ function $t(e) {
690
1045
  const n = e.toLowerCase(), t = {
691
1046
  "high priority": "var(--shifl-color-error-r70)",
692
1047
  express: "var(--shifl-color-primary-b80)",
@@ -701,15 +1056,15 @@ const on = /* @__PURE__ */ D(en, [["render", nn]]), rn = { class: "shifl-grid re
701
1056
  };
702
1057
  if (t[n])
703
1058
  return t[n];
704
- for (const [i, o] of Object.entries(t))
705
- if (n.includes(i) || i.includes(n))
706
- return o;
707
- return rt(e);
1059
+ for (const [r, i] of Object.entries(t))
1060
+ if (n.includes(r) || r.includes(n))
1061
+ return i;
1062
+ return Lt(e);
708
1063
  }
709
- function rt(e) {
1064
+ function Lt(e) {
710
1065
  let n = 0;
711
- for (let i = 0; i < e.length; i++)
712
- n = e.charCodeAt(i) + ((n << 5) - n);
1066
+ for (let r = 0; r < e.length; r++)
1067
+ n = e.charCodeAt(r) + ((n << 5) - n);
713
1068
  const t = [
714
1069
  "var(--shifl-color-primary-b80)",
715
1070
  "var(--shifl-color-success-g70)",
@@ -722,357 +1077,382 @@ const on = /* @__PURE__ */ D(en, [["render", nn]]), rn = { class: "shifl-grid re
722
1077
  ];
723
1078
  return t[Math.abs(n) % t.length];
724
1079
  }
725
- function de(e, n = !0) {
726
- const t = {
1080
+ function Se(e, n = !0) {
1081
+ const r = { ...{
727
1082
  width: e.width ?? "160px",
728
1083
  minWidth: e.width ?? "160px"
729
- };
730
- if (!e.frozen) return t;
731
- const i = Fe.value[e.key] ?? 0;
732
- return {
733
- ...t,
734
- position: "sticky",
735
- left: `${i}px`,
736
- zIndex: n ? 30 : 10,
737
- background: "var(--shifl-color-surface)"
738
- };
1084
+ } }, i = Be.value > 0;
1085
+ if (e.freeze) {
1086
+ const y = ut.value[e.key] ?? 0;
1087
+ r.position = "sticky", r.left = `${y}px`, r.background = "#ffffff", r.boxShadow = i ? "2px 0 6px rgba(0, 0, 0, 0.12)" : "none", r.zIndex = n ? 40 : 10;
1088
+ }
1089
+ return n && (r.position = "sticky", r.top = "0px"), r;
739
1090
  }
740
- const st = v(() => T.value.filter((e) => !e.smartTrackingColumn));
741
- function F(e) {
1091
+ const At = b(() => p.value.filter((e) => !e.smartTrackingColumn));
1092
+ function se(e) {
742
1093
  return !!e.actionColumn;
743
1094
  }
744
- function ge(e) {
1095
+ function Te(e) {
745
1096
  return !!e.smartTrackingColumn;
746
1097
  }
747
- function lt(e, n) {
1098
+ function xt(e, n) {
748
1099
  if (!e.smartTrackingColumn) return !1;
749
- const t = e.smartTrackingColumn.dataKey, i = n[t];
750
- if (i === !0 || i === 1) return !0;
751
- if (typeof i == "string") {
752
- const o = i.toLowerCase().trim();
753
- return o === "true" || o === "1" || o === "yes";
1100
+ const t = e.smartTrackingColumn.dataKey, r = n[t];
1101
+ if (r === !0 || r === 1) return !0;
1102
+ if (typeof r == "string") {
1103
+ const i = r.toLowerCase().trim();
1104
+ return i === "true" || i === "1" || i === "yes";
754
1105
  }
755
1106
  return !1;
756
1107
  }
757
- function j(e, n) {
1108
+ function ie(e, n) {
758
1109
  if (!e.actionColumn) return null;
759
1110
  const t = e.actionColumn.icon;
760
1111
  return t ? typeof t == "function" ? t(n) : t : null;
761
1112
  }
762
- function at(e, n, t, i) {
1113
+ function Nt(e, n, t, r) {
763
1114
  if (!t.actionColumn) return;
764
- const o = i.currentTarget;
765
- if (E.value.rowIndex === e) {
1115
+ const i = r.currentTarget;
1116
+ if (V.value.rowIndex === e) {
766
1117
  U();
767
1118
  return;
768
1119
  }
769
- ke.value = t, ee.value = n, Ve(e, o);
1120
+ Ne.value = t, fe.value = n, F(e, i);
770
1121
  }
771
- function ut(e, n) {
772
- return !(e != null && e.actionColumn) || !n ? [] : (typeof e.actionColumn.actions == "function" ? e.actionColumn.actions(n) : e.actionColumn.actions).filter((i) => i.show ? i.show(n) : !0);
1122
+ function Rt(e, n) {
1123
+ return !(e != null && e.actionColumn) || !n ? [] : (typeof e.actionColumn.actions == "function" ? e.actionColumn.actions(n) : e.actionColumn.actions).filter((r) => r.show ? r.show(n) : !0);
773
1124
  }
774
- function ct(e, n, t) {
775
- m("action-click", e.key, n, t), U();
1125
+ function zt(e, n, t) {
1126
+ _("action-click", e.key, n, t), U();
776
1127
  }
777
- function ft(e, n) {
778
- n && (Ce.value[e] = n);
1128
+ function Dt(e, n) {
1129
+ n && (Z.value[e] = n);
779
1130
  }
780
- function Se(e) {
781
- if (E.value.rowIndex === null) return;
782
- const n = e.target, t = ye.value, i = Object.values(Ce.value), o = t == null ? void 0 : t.contains(n), p = i.some((w) => w.contains(n));
783
- !o && !p && U();
1131
+ function Je(e) {
1132
+ if (V.value.rowIndex === null) return;
1133
+ const n = e.target, t = ne.value, r = Object.values(Z.value), i = t == null ? void 0 : t.contains(n), y = r.some((A) => A.contains(n));
1134
+ !i && !y && U();
784
1135
  }
785
- return X(() => {
786
- document.addEventListener("click", Se);
787
- }), q(() => {
788
- document.removeEventListener("click", Se);
789
- }), (e, n) => (s(), a("div", rn, [
790
- u("div", sn, [
791
- u("button", {
1136
+ return le(() => {
1137
+ document.addEventListener("click", Je);
1138
+ }), ue(() => {
1139
+ document.removeEventListener("click", Je);
1140
+ }), (e, n) => (a(), u("div", Nn, [
1141
+ h("div", Rn, [
1142
+ h("button", {
792
1143
  type: "button",
793
1144
  class: "shifl-grid__pill-button whitespace-nowrap",
794
- onClick: n[0] || (n[0] = (t) => Q.value = !0)
795
- }, " Edit Columns ")
1145
+ onClick: n[0] || (n[0] = (t) => Y.value = !0)
1146
+ }, " Edit Column ")
796
1147
  ]),
797
- u("div", {
798
- class: V(["shifl-grid__viewport", { "shifl-grid__viewport--scroll": Ze.value }])
1148
+ h("div", {
1149
+ class: I(["shifl-grid__viewport", { "shifl-grid__viewport--scroll": tt.value }]),
1150
+ onScroll: ct
799
1151
  }, [
800
- u("table", ln, [
801
- u("thead", null, [
802
- u("tr", null, [
803
- (s(!0), a(M, null, z(I.value, (t) => {
804
- var i;
805
- return s(), a("th", {
1152
+ h("table", zn, [
1153
+ h("thead", null, [
1154
+ h("tr", null, [
1155
+ (a(!0), u(x, null, H(Q.value, (t) => {
1156
+ var r;
1157
+ return a(), u("th", {
806
1158
  key: t.key,
807
- style: G(de(t, !0)),
808
- onClick: () => je(t.key),
809
- class: V(["shifl-grid__header-cell", { "shifl-grid__cell--sticky": t.frozen }])
1159
+ style: j(Se(t, !0)),
1160
+ onClick: () => ft(t.key),
1161
+ class: I([
1162
+ "shifl-grid__header-cell",
1163
+ `shifl-grid__header-align-${t != null && t.align ? t.align : "left"}`,
1164
+ {
1165
+ "shifl-grid__cell--sticky": t.freeze,
1166
+ "shifl-grid__sortable-col": t.sortable,
1167
+ "shifl-grid__icon": t.cellType === "icon"
1168
+ }
1169
+ ])
810
1170
  }, [
811
- u("div", un, [
812
- t.label ? (s(), a("span", cn, b(t.label), 1)) : P("", !0),
813
- ((i = S(C)) == null ? void 0 : i.key) === t.key && !F(t) && !ge(t) ? (s(), a("span", fn, [
814
- S(C).order === "asc" ? (s(), R(jt, { key: 0 })) : (s(), R(qt, { key: 1 }))
815
- ])) : P("", !0)
1171
+ h("div", En, [
1172
+ t.label ? (a(), u("span", Hn, L(t.label), 1)) : D("", !0),
1173
+ ((r = E(P)) == null ? void 0 : r.key) === t.key && !se(t) && !Te(t) ? (a(), u("span", Vn, [
1174
+ E(P).order === "asc" ? (a(), G(bn, { key: 0 })) : (a(), G(Mn, { key: 1 }))
1175
+ ])) : D("", !0)
816
1176
  ])
817
- ], 14, an);
1177
+ ], 14, Dn);
818
1178
  }), 128))
819
1179
  ])
820
1180
  ]),
821
- u("tbody", null, [
822
- l.loading ? (s(!0), a(M, { key: 0 }, z(De.value, (t) => (s(), a("tr", {
1181
+ h("tbody", null, [
1182
+ W.value ? (a(!0), u(x, { key: 0 }, H(nt.value, (t) => (a(), u("tr", {
823
1183
  key: `skeleton-${t}`,
824
1184
  class: "shifl-grid__skeleton-row"
825
1185
  }, [
826
- (s(!0), a(M, null, z(I.value, (i) => (s(), a("td", {
827
- key: i.key,
828
- style: G(de(i, !1)),
829
- class: V({ "shifl-grid__cell--sticky": i.frozen })
830
- }, [...n[5] || (n[5] = [
831
- u("div", { class: "shifl-grid__skeleton-cell" }, null, -1)
1186
+ (a(!0), u(x, null, H(Q.value, (r) => (a(), u("td", {
1187
+ key: r.key,
1188
+ style: j(Se(r, !1)),
1189
+ class: I({ "shifl-grid__cell--sticky": r.freeze })
1190
+ }, [...n[6] || (n[6] = [
1191
+ h("div", { class: "shifl-grid__skeleton-cell" }, null, -1)
832
1192
  ])], 6))), 128))
833
- ]))), 128)) : (s(), a(M, { key: 1 }, [
834
- Me.value.length ? P("", !0) : (s(), a("tr", dn, [
835
- u("td", {
836
- colspan: I.value.length,
1193
+ ]))), 128)) : (a(), u(x, { key: 1 }, [
1194
+ De.value.length ? D("", !0) : (a(), u("tr", Bn, [
1195
+ h("td", {
1196
+ colspan: Q.value.length,
837
1197
  class: "text-center text-gray-500 py-6"
838
- }, " No data ", 8, gn)
1198
+ }, " No data ", 8, In)
839
1199
  ])),
840
- (s(!0), a(M, null, z(Me.value, (t, i) => (s(), a("tr", { key: i }, [
841
- (s(!0), a(M, null, z(I.value, (o) => (s(), a("td", {
842
- key: o.key,
843
- style: G(de(o, !1)),
844
- class: V([
845
- { "shifl-grid__cell--sticky": o.frozen },
846
- { "shifl-grid__cell--action": F(o) }
1200
+ (a(!0), u(x, null, H(De.value, (t, r) => (a(), u("tr", { key: r }, [
1201
+ (a(!0), u(x, null, H(Q.value, (i) => (a(), u("td", {
1202
+ key: i.key,
1203
+ style: j(Se(i, !1)),
1204
+ class: I([
1205
+ { "shifl-grid__cell--sticky": i.freeze },
1206
+ { "shifl-grid__cell--action": se(i) },
1207
+ `shifl-grid__cell-align-${i != null && i.align ? i.align : "left"}`,
1208
+ { "shifl-grid__icon": i.cellType === "icon" }
847
1209
  ])
848
1210
  }, [
849
- ge(o) ? (s(), a(M, { key: 0 }, [
850
- lt(o, t) ? (s(), a("div", hn, [
851
- he(Nt)
852
- ])) : P("", !0)
853
- ], 64)) : F(o) ? (s(), a("button", {
1211
+ Te(i) ? (a(), u(x, { key: 0 }, [
1212
+ xt(i, t) ? (a(), u("div", Gn, [
1213
+ Pe(mn)
1214
+ ])) : D("", !0)
1215
+ ], 64)) : se(i) ? (a(), u("button", {
854
1216
  key: 1,
855
1217
  type: "button",
856
1218
  class: "shifl-grid__action-icon",
857
1219
  ref_for: !0,
858
- ref: (p) => ft(i, p),
859
- onClick: B((p) => at(i, t, o, p), ["stop"])
1220
+ ref: (y) => Dt(r, y),
1221
+ onClick: J((y) => Nt(r, t, i, y), ["stop"])
860
1222
  }, [
861
- j(o, t) ? typeof j(o, t) == "string" ? (s(), a("span", {
1223
+ ie(i, t) ? typeof ie(i, t) == "string" ? (a(), u("span", {
862
1224
  key: 1,
863
- innerHTML: j(o, t),
1225
+ innerHTML: ie(i, t),
864
1226
  class: "w-4 h-4 inline-block"
865
- }, null, 8, mn)) : (s(), R(pe(j(o, t)), {
1227
+ }, null, 8, Fn)) : (a(), G(ae(ie(i, t)), {
866
1228
  key: 2,
867
1229
  class: "w-4 h-4"
868
- })) : (s(), a("span", vn, "⋯"))
869
- ], 8, pn)) : o.key.toLowerCase() === "type" ? (s(), a("div", _n, [
870
- (s(), R(pe(Ye(t[o.key])), { class: "shifl-grid__type-icon" })),
871
- t.container_count != null ? (s(), a("span", Cn, " (" + b(t.container_count) + ") ", 1)) : P("", !0)
872
- ])) : o.key.toLowerCase() === "tag" || o.key.toLowerCase() === "tags" ? (s(), a("div", yn, [
873
- u("div", kn, [
874
- u("div", {
1230
+ })) : (a(), u("span", On, "⋯"))
1231
+ ], 8, Zn)) : vt(i) ? (a(), u("div", jn, [
1232
+ (a(!0), u(x, null, H(_t(i), (y, A) => (a(), u(x, { key: A }, [
1233
+ y === "icon" ? (a(), G(ae(je(t[i.key])), {
1234
+ key: 0,
1235
+ class: "shifl-grid__type-icon"
1236
+ })) : (a(), u("span", {
1237
+ key: 1,
1238
+ class: I(yt(y))
1239
+ }, L(We(t[i.key], y, i)), 3))
1240
+ ], 64))), 128))
1241
+ ])) : mt(i) ? (a(), u("div", Wn, [
1242
+ (a(), G(ae(je(t[i.key])), { class: "shifl-grid__type-icon" })),
1243
+ t.container_count != null ? (a(), u("span", Kn, " (" + L(t.container_count) + ") ", 1)) : D("", !0)
1244
+ ])) : ht(i) ? (a(), u("div", Jn, [
1245
+ h("div", qn, [
1246
+ h("div", {
875
1247
  ref_for: !0,
876
1248
  ref: "(el) => setTagsRef(col.key, rowIndex, el as HTMLElement)",
877
1249
  class: "shifl-grid__chips-container shifl-grid__chips-container--single-line"
878
1250
  }, [
879
- (s(!0), a(M, null, z(fe(
880
- t[o.key],
881
- o.key,
882
- i
883
- ), (p, w) => (s(), a("span", {
884
- key: w,
1251
+ (a(!0), u(x, null, H(Me(
1252
+ t[i.key],
1253
+ i.key,
1254
+ r
1255
+ ), (y, A) => (a(), u("span", {
1256
+ key: A,
885
1257
  class: "shifl-grid__chip shifl-grid__chip--tag",
886
- style: G({ borderLeftColor: ot(p) })
887
- }, b(p), 5))), 128))
1258
+ style: j({ borderLeftColor: $t(y) })
1259
+ }, L(y), 5))), 128))
888
1260
  ], 512)
889
1261
  ]),
890
- nt(t[o.key], o.key, i) ? (s(), a("button", {
1262
+ Tt(t[i.key], i.key, r) ? (a(), u("button", {
891
1263
  key: 0,
892
1264
  type: "button",
893
1265
  class: "shifl-grid__counter-button",
894
- onMouseenter: (p) => ue(
895
- o.key,
896
- i,
897
- t[o.key],
898
- p.currentTarget
1266
+ onMouseenter: (y) => Ce(
1267
+ i.key,
1268
+ r,
1269
+ t[i.key],
1270
+ y.currentTarget
899
1271
  ),
900
- onMouseleave: ce
901
- }, " +" + b(it(t[o.key], o.key, i)), 41, bn)) : P("", !0)
902
- ])) : Xe(o.key) ? (s(), a("div", wn, [
903
- u("span", {
1272
+ onMouseleave: we
1273
+ }, " +" + L(Pt(t[i.key], i.key, r)), 41, Un)) : D("", !0)
1274
+ ])) : pt(i) ? (a(), u("div", Yn, [
1275
+ (a(!0), u(x, null, H(re(t[i.key]), (y, A) => (a(), u("span", {
1276
+ key: A,
1277
+ class: "shifl-grid__chip shifl-grid__chip--status"
1278
+ }, L(y), 1))), 128))
1279
+ ])) : i.truncate !== !1 && (i.truncate === !0 || gt(i.key)) ? (a(), u("div", Qn, [
1280
+ h("span", {
904
1281
  class: "shifl-grid__truncated-text",
905
1282
  ref_for: !0,
906
- ref: (p) => et(o.key, i, p)
907
- }, b(qe(t[o.key])), 513),
908
- ae(o.key) && Ue(t[o.key]) ? (s(), a("button", {
1283
+ ref: (y) => Mt(i.key, r, y)
1284
+ }, L(bt(t[i.key])), 513),
1285
+ ke(i.key) && Ct(t[i.key]) ? (a(), u("button", {
909
1286
  key: 0,
910
1287
  type: "button",
911
1288
  class: "shifl-grid__counter-button",
912
- onMouseenter: (p) => ue(
913
- o.key,
914
- i,
915
- t[o.key],
916
- p.currentTarget
1289
+ onMouseenter: (y) => Ce(
1290
+ i.key,
1291
+ r,
1292
+ t[i.key],
1293
+ y.currentTarget
917
1294
  ),
918
- onMouseleave: ce
919
- }, " +" + b(Qe(t[o.key])), 41, Mn)) : !ae(o.key) && Je(t[o.key], o.key) ? (s(), a("button", {
1295
+ onMouseleave: we
1296
+ }, " +" + L(wt(t[i.key])), 41, Xn)) : !ke(i.key) && kt(t[i.key], i.key) ? (a(), u("button", {
920
1297
  key: 1,
921
1298
  type: "button",
922
1299
  class: "shifl-grid__info-icon-button",
923
- onMouseenter: (p) => ue(
924
- o.key,
925
- i,
926
- t[o.key],
927
- p.currentTarget
1300
+ onMouseenter: (y) => Ce(
1301
+ i.key,
1302
+ r,
1303
+ t[i.key],
1304
+ y.currentTarget
928
1305
  ),
929
- onMouseleave: ce
1306
+ onMouseleave: we
930
1307
  }, [
931
- he(on)
932
- ], 40, Tn)) : P("", !0)
933
- ])) : o.key.toLowerCase() === "status" ? (s(), a("div", $n, [
934
- (s(!0), a(M, null, z(W(t[o.key]), (p, w) => (s(), a("span", {
935
- key: w,
936
- class: "shifl-grid__chip"
937
- }, b(p), 1))), 128))
938
- ])) : (s(), a(M, { key: 6 }, [
939
- O(b(Ke(t[o.key])), 1)
1308
+ Pe(xn)
1309
+ ], 40, er)) : D("", !0)
1310
+ ])) : i.cellType === "link" ? (a(), u("a", {
1311
+ key: 7,
1312
+ href: String(t[i.key] || ""),
1313
+ class: "shifl-grid__link-cell",
1314
+ onClick: n[1] || (n[1] = J(() => {
1315
+ }, ["stop"]))
1316
+ }, L(be(t[i.key], i)), 9, tr)) : i.cellType === "progress" ? (a(), u("div", nr, [
1317
+ h("div", rr, [
1318
+ h("div", {
1319
+ class: "shifl-grid__progress-fill",
1320
+ style: j({ width: `${dt(t[i.key])}%` })
1321
+ }, null, 4)
1322
+ ]),
1323
+ h("span", sr, L(be(t[i.key], i)), 1)
1324
+ ])) : (a(), u(x, { key: 9 }, [
1325
+ ee(L(be(t[i.key], i)), 1)
940
1326
  ], 64))
941
1327
  ], 6))), 128))
942
1328
  ]))), 128))
943
1329
  ], 64))
944
1330
  ])
945
1331
  ])
946
- ], 2),
947
- $.value && $.value.show !== !1 ? (s(), a("div", xn, [
948
- u("div", Ln, [
949
- u("span", Sn, [
950
- n[6] || (n[6] = O(" Showing ", -1)),
951
- u("span", Pn, b(Te.value.from) + "–" + b(Te.value.to), 1),
952
- O(" of " + b(oe.value), 1)
1332
+ ], 34),
1333
+ z.value && z.value.show !== !1 ? (a(), u("div", ir, [
1334
+ h("div", or, [
1335
+ h("span", ar, [
1336
+ n[7] || (n[7] = ee(" Showing ", -1)),
1337
+ h("span", lr, L(Ee.value.from) + "–" + L(Ee.value.to), 1),
1338
+ ee(" of " + L(me.value), 1)
953
1339
  ])
954
1340
  ]),
955
- u("div", An, [
956
- u("div", zn, [
957
- n[8] || (n[8] = u("label", { class: "shifl-grid__pagination-label" }, "Rows per page", -1)),
958
- u("select", {
959
- value: $.value.perPage || 20,
960
- disabled: l.loading,
961
- onChange: Oe,
1341
+ h("div", ur, [
1342
+ h("div", cr, [
1343
+ n[9] || (n[9] = h("label", { class: "shifl-grid__pagination-label" }, "Row per page", -1)),
1344
+ h("select", {
1345
+ value: z.value.perPage || 20,
1346
+ disabled: W.value,
1347
+ onChange: at,
962
1348
  class: "shifl-grid__pagination-select"
963
- }, [...n[7] || (n[7] = [
964
- gt('<option value="20">20</option><option value="30">30</option><option value="50">50</option><option value="75">75</option><option value="100">100</option>', 5)
965
- ])], 40, Hn)
1349
+ }, [...n[8] || (n[8] = [
1350
+ Ht('<option value="20">20</option><option value="30">30</option><option value="50">50</option><option value="75">75</option><option value="100">100</option>', 5)
1351
+ ])], 40, fr)
966
1352
  ]),
967
- u("div", Rn, [
968
- u("button", {
1353
+ h("div", dr, [
1354
+ h("button", {
969
1355
  type: "button",
970
1356
  class: "shifl-grid__pagination-button",
971
- disabled: $e.value || l.loading,
972
- onClick: Be,
1357
+ disabled: He.value || g.loading,
1358
+ onClick: it,
973
1359
  "aria-label": "Previous page"
974
- }, " ‹ ", 8, Vn),
975
- u("div", En, [
976
- (s(!0), a(M, null, z(Ie.value, (t) => (s(), a(M, { key: t }, [
977
- t !== -1 ? (s(), a("button", {
1360
+ }, " ‹ ", 8, gr),
1361
+ h("div", hr, [
1362
+ (a(!0), u(x, null, H(rt.value, (t) => (a(), u(x, { key: t }, [
1363
+ t !== -1 ? (a(), u("button", {
978
1364
  key: 0,
979
1365
  type: "button",
980
- class: V(["shifl-grid__pagination-page", { "shifl-grid__pagination-page--active": t === Z.value }]),
981
- disabled: l.loading,
982
- onClick: (i) => Ge(t)
983
- }, b(t), 11, Zn)) : (s(), a("span", Dn, "…"))
1366
+ class: I(["shifl-grid__pagination-page", { "shifl-grid__pagination-page--active": t === K.value }]),
1367
+ disabled: W.value,
1368
+ onClick: (r) => st(t)
1369
+ }, L(t), 11, pr)) : (a(), u("span", mr, "…"))
984
1370
  ], 64))), 128))
985
1371
  ]),
986
- u("button", {
1372
+ h("button", {
987
1373
  type: "button",
988
1374
  class: "shifl-grid__pagination-button",
989
- disabled: xe.value || l.loading,
990
- onClick: Ne,
1375
+ disabled: Ve.value || g.loading,
1376
+ onClick: ot,
991
1377
  "aria-label": "Next page"
992
- }, " › ", 8, In)
1378
+ }, " › ", 8, vr)
993
1379
  ])
994
1380
  ])
995
- ])) : P("", !0),
996
- (s(), R(me, { to: "body" }, [
997
- S(E).rowIndex !== null && S(E).position ? (s(), a("div", {
1381
+ ])) : D("", !0),
1382
+ (a(), G(Ae, { to: "body" }, [
1383
+ E(V).rowIndex !== null && E(V).position ? (a(), u("div", {
998
1384
  key: 0,
999
1385
  ref_key: "actionMenuRef",
1000
- ref: ye,
1386
+ ref: ne,
1001
1387
  class: "shifl-grid__action-menu",
1002
- style: G({
1003
- position: "fixed",
1004
- top: `${S(E).position.top}px`,
1005
- left: `${S(E).position.left}px`,
1006
- zIndex: 1e3
1007
- }),
1008
- onClick: n[1] || (n[1] = B(() => {
1388
+ style: j(`
1389
+ position: fixed !important;
1390
+ top: ${E(V).position.top}px !important;
1391
+ left: ${E(V).position.left}px !important;
1392
+ z-index: 1000 !important;`),
1393
+ onClick: n[2] || (n[2] = J(() => {
1009
1394
  }, ["stop"]))
1010
1395
  }, [
1011
- (s(!0), a(M, null, z(ut(ke.value, ee.value), (t) => (s(), a("div", {
1396
+ (a(!0), u(x, null, H(Rt(Ne.value, fe.value), (t) => (a(), u("div", {
1012
1397
  key: t.key,
1013
- class: V(["shifl-grid__action-menu-item", { "shifl-grid__action-menu-item--danger": t.danger }]),
1014
- onClick: () => ct(t, ee.value, S(E).rowIndex)
1398
+ class: I(["shifl-grid__action-menu-item", { "shifl-grid__action-menu-item--danger": t.danger }]),
1399
+ onClick: () => zt(t, fe.value, E(V).rowIndex)
1015
1400
  }, [
1016
- t.icon && typeof t.icon == "string" ? (s(), a("span", {
1401
+ t.icon && typeof t.icon == "string" ? (a(), u("span", {
1017
1402
  key: 0,
1018
1403
  innerHTML: t.icon,
1019
1404
  class: "w-4 h-4 inline-block"
1020
- }, null, 8, Bn)) : t.icon ? (s(), R(pe(typeof t.icon == "function" ? t.icon() : t.icon), {
1405
+ }, null, 8, yr)) : t.icon ? (a(), G(ae(typeof t.icon == "function" ? t.icon() : t.icon), {
1021
1406
  key: 1,
1022
1407
  class: "w-4 h-4"
1023
- })) : P("", !0),
1024
- u("span", null, b(t.label), 1)
1025
- ], 10, Gn))), 128))
1026
- ], 4)) : P("", !0)
1408
+ })) : D("", !0),
1409
+ h("span", null, L(t.label), 1)
1410
+ ], 10, _r))), 128))
1411
+ ], 4)) : D("", !0)
1027
1412
  ])),
1028
- he(Dt, {
1029
- content: be.value,
1030
- visible: te.value,
1031
- "trigger-element": ne.value
1413
+ Pe(dn, {
1414
+ content: Re.value,
1415
+ visible: de.value,
1416
+ "trigger-element": ge.value
1032
1417
  }, null, 8, ["content", "visible", "trigger-element"]),
1033
- (s(), R(me, { to: "body" }, [
1034
- Q.value ? (s(), R(Vt, {
1418
+ (a(), G(Ae, { to: "body" }, [
1419
+ Y.value ? (a(), G(un, {
1035
1420
  key: 0,
1036
- "title-prefix": r.config.name,
1037
- columns: st.value,
1038
- onClose: n[2] || (n[2] = (t) => Q.value = !1),
1039
- onToggle: S(x),
1040
- onToggleFrozen: S(f),
1041
- onMove: S(g),
1042
- onSelectAll: n[3] || (n[3] = (t) => S(h)(!0)),
1043
- onDeselectAll: n[4] || (n[4] = (t) => S(h)(!1)),
1044
- onRestoreDefault: S(L)
1045
- }, null, 8, ["title-prefix", "columns", "onToggle", "onToggleFrozen", "onMove", "onRestoreDefault"])) : P("", !0)
1421
+ "title-prefix": o.config.name,
1422
+ columns: At.value,
1423
+ onClose: n[3] || (n[3] = (t) => Y.value = !1),
1424
+ onToggle: E(C),
1425
+ onToggleFreeze: E(m),
1426
+ onMove: E(S),
1427
+ onSelectAll: n[4] || (n[4] = (t) => E(l)(!0)),
1428
+ onDeselectAll: n[5] || (n[5] = (t) => E(l)(!1)),
1429
+ onRestoreDefault: E(N)
1430
+ }, null, 8, ["title-prefix", "columns", "onToggle", "onToggleFreeze", "onMove", "onRestoreDefault"])) : D("", !0)
1046
1431
  ]))
1047
1432
  ]));
1048
1433
  }
1049
- }), Fn = {
1050
- install(r) {
1051
- r.component("ShiflGrid", Nn);
1434
+ }), wr = {
1435
+ install(o) {
1436
+ o.component("ShiflGrid", br);
1052
1437
  }
1053
1438
  };
1054
- function jn(r) {
1055
- return {
1056
- rows: r.rows
1057
- };
1058
- }
1059
- function Kn() {
1060
- const r = k(/* @__PURE__ */ new Set());
1061
- function c(l) {
1062
- const m = l.id ?? JSON.stringify(l), d = new Set(r.value);
1063
- d.has(m) ? d.delete(m) : d.add(m), r.value = d;
1439
+ function Mr() {
1440
+ const o = k(/* @__PURE__ */ new Set());
1441
+ function s(g) {
1442
+ const _ = g.id ?? JSON.stringify(g), c = new Set(o.value);
1443
+ c.has(_) ? c.delete(_) : c.add(_), o.value = c;
1064
1444
  }
1065
1445
  return {
1066
- selectedKeys: r,
1067
- toggleRow: c
1446
+ selectedKeys: o,
1447
+ toggleRow: s
1068
1448
  };
1069
1449
  }
1070
- function Yn() {
1450
+ function Sr() {
1071
1451
  return {
1072
1452
  // placeholder
1073
1453
  };
1074
1454
  }
1075
- const ze = Symbol("shifl-grid-theme"), He = {
1455
+ const Qe = Symbol("shifl-grid-theme"), Xe = {
1076
1456
  surface: "var(--shifl-surface)",
1077
1457
  surfaceAlt: "var(--shifl-surface-alt)",
1078
1458
  border: "var(--shifl-border)",
@@ -1082,61 +1462,61 @@ const ze = Symbol("shifl-grid-theme"), He = {
1082
1462
  accentStrong: "var(--shifl-accent-strong)",
1083
1463
  focus: "var(--shifl-focus)"
1084
1464
  };
1085
- function Xn(r) {
1086
- const c = k({ ...He, ...r });
1087
- return ht(ze, c), c;
1465
+ function Tr(o) {
1466
+ const s = k({ ...Xe, ...o });
1467
+ return Vt(Qe, s), s;
1088
1468
  }
1089
- function qn() {
1090
- const r = pt(ze);
1091
- return v(() => (r == null ? void 0 : r.value) ?? He);
1469
+ function Pr() {
1470
+ const o = Bt(Qe);
1471
+ return b(() => (o == null ? void 0 : o.value) ?? Xe);
1092
1472
  }
1093
- const ve = {
1473
+ const $e = {
1094
1474
  sm: 640,
1095
1475
  lg: 1024
1096
1476
  };
1097
- function Jn() {
1098
- const r = k(typeof window < "u" ? window.innerWidth : 0);
1099
- function c() {
1100
- r.value = window.innerWidth;
1477
+ function $r() {
1478
+ const o = k(typeof window < "u" ? window.innerWidth : 0);
1479
+ function s() {
1480
+ o.value = window.innerWidth;
1101
1481
  }
1102
- return X(() => {
1103
- window.addEventListener("resize", c);
1104
- }), q(() => {
1105
- window.removeEventListener("resize", c);
1482
+ return le(() => {
1483
+ window.addEventListener("resize", s);
1484
+ }), ue(() => {
1485
+ window.removeEventListener("resize", s);
1106
1486
  }), {
1107
- width: r,
1108
- isMobile: v(() => r.value < ve.sm),
1109
- isTablet: v(() => r.value >= ve.sm && r.value < ve.lg)
1487
+ width: o,
1488
+ isMobile: b(() => o.value < $e.sm),
1489
+ isTablet: b(() => o.value >= $e.sm && o.value < $e.lg)
1110
1490
  };
1111
1491
  }
1112
- function Un() {
1492
+ function Lr() {
1113
1493
  return {
1114
1494
  // placeholder
1115
1495
  };
1116
1496
  }
1117
- function Qn() {
1497
+ function Ar() {
1118
1498
  return {
1119
1499
  // placeholder
1120
1500
  };
1121
1501
  }
1122
- function ei() {
1502
+ function xr() {
1123
1503
  return {
1124
1504
  // placeholder
1125
1505
  };
1126
1506
  }
1127
1507
  export {
1128
- Nn as ShiflGrid,
1129
- Fn as ShiflGridPlugin,
1130
- Xn as provideGridTheme,
1131
- Jn as useBreakpoints,
1132
- mt as useGridColumns,
1133
- jn as useGridData,
1134
- Yn as useGridEditing,
1135
- Ct as useGridFilter,
1136
- Un as useGridInfiniteScroll,
1137
- Kn as useGridSelection,
1138
- _t as useGridSort,
1139
- qn as useGridTheme,
1140
- ei as useGridTour,
1141
- Qn as useVirtualScroll
1508
+ br as ShiflGrid,
1509
+ wr as ShiflGridPlugin,
1510
+ Tr as provideGridTheme,
1511
+ $r as useBreakpoints,
1512
+ Gt as useGridColumns,
1513
+ Wt as useGridData,
1514
+ Sr as useGridEditing,
1515
+ Ot as useGridFilter,
1516
+ Lr as useGridInfiniteScroll,
1517
+ Mr as useGridSelection,
1518
+ Zt as useGridSort,
1519
+ Pr as useGridTheme,
1520
+ xr as useGridTour,
1521
+ Ar as useVirtualScroll
1142
1522
  };