@shifl-inc/ui 0.3.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,324 +1,508 @@
1
- import { ref as y, computed as v, onMounted as U, onUnmounted as X, defineComponent as _e, createElementBlock as a, openBlock as s, withModifiers as B, createElementVNode as c, createCommentVNode as T, createTextVNode as F, toDisplayString as k, Fragment as x, renderList as z, normalizeClass as R, watch as J, nextTick as Ae, createBlock as V, Teleport as me, normalizeStyle as Z, createVNode as he, unref as P, resolveDynamicComponent as pe, createStaticVNode as pt, provide as vt, inject as mt } from "vue";
2
- function _t(r) {
3
- const f = (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: f,
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 Ct(r) {
27
- const f = [...r], l = y([...r]);
28
- function m(d) {
29
- l.value = l.value.map(
30
- (u) => u.key === d ? { ...u, visible: !u.visible } : u
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 g(d) {
34
- l.value = l.value.map((u) => ({ ...u, visible: d }));
34
+ function c(d) {
35
+ g.value = g.value.map((f) => ({ ...f, visible: d }));
35
36
  }
36
- function _(d) {
37
- const u = l.value.map(
38
- (C) => C.key === d ? { ...C, frozen: !C.frozen } : C
39
- ), h = u.filter((C) => C.frozen), S = u.filter((C) => !C.frozen);
40
- l.value = [...h, ...S];
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 b(d, u) {
43
- if (d === u || u < 0 || u >= l.value.length) return;
44
- const h = l.value.findIndex((N) => !N.frozen), S = h === -1 ? l.value.length : h;
45
- if (d < S || u < S) return;
46
- const C = [...l.value], [H] = C.splice(d, 1);
47
- C.splice(u, 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 w() {
50
- l.value = [...f];
50
+ function T() {
51
+ g.value = [...s];
51
52
  }
52
- const L = v(() => l.value.filter((d) => d.visible));
53
+ const w = b(() => g.value.filter((d) => d.visible));
53
54
  return {
54
- columns: l,
55
- visibleColumns: L,
56
- toggleColumnVisibility: m,
57
- setAllVisible: g,
58
- toggleFrozen: _,
59
- moveColumn: b,
60
- resetColumns: w
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 yt(r) {
64
- const f = y(r);
65
- function l(g) {
66
- var _;
67
- f.value = ((_ = f.value) == null ? void 0 : _.key) === g && f.value.order === "asc" ? { key: g, order: "desc" } : { key: g, 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(g) {
70
- if (!f.value) return g;
71
- const { key: _, order: b } = f.value;
72
- return [...g].sort((w, L) => {
73
- const d = w[_], u = L[_];
74
- if (d === u) return 0;
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;
75
76
  if (d == null) return 1;
76
- if (u == null) return -1;
77
- const h = String(d).localeCompare(String(u), void 0, {
77
+ if (f == null) return -1;
78
+ const p = String(d).localeCompare(String(f), void 0, {
78
79
  numeric: !0
79
80
  });
80
- return b === "asc" ? h : -h;
81
+ return M === "asc" ? p : -p;
81
82
  });
82
83
  }
83
84
  return {
84
- sort: f,
85
- setSort: l,
86
- applySort: m
85
+ sort: s,
86
+ setSort: g,
87
+ applySort: _
87
88
  };
88
89
  }
89
- function kt() {
90
- function r(f, l, m) {
91
- const g = (m || "").trim().toLowerCase();
92
- return g ? f.filter((_) => (l && l.length ? l.map((w) => _[w]) : Object.values(_)).some(
93
- (w) => String(w ?? "").toLowerCase().includes(g)
94
- )) : f;
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 bt() {
101
- const r = y({
101
+ function Ft() {
102
+ const o = k({
102
103
  rowIndex: null,
103
104
  position: null
104
105
  });
105
- function f(_, b, w = 200) {
106
- const L = b.getBoundingClientRect();
107
- let d = L.left;
108
- d + w > window.innerWidth - 8 && (d = window.innerWidth - w + 8), r.value = {
109
- 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,
110
111
  position: {
111
- top: L.bottom,
112
+ top: w.bottom,
112
113
  // 4px below trigger
113
114
  left: d
114
115
  }
115
116
  };
116
117
  }
117
- function l() {
118
- r.value = {
118
+ function g() {
119
+ o.value = {
119
120
  rowIndex: null,
120
121
  position: null
121
122
  };
122
123
  }
123
- function m(_) {
124
- return r.value.rowIndex === _;
124
+ function _(v) {
125
+ return o.value.rowIndex === v;
125
126
  }
126
- function g(_) {
127
- _.key === "Escape" && r.value.rowIndex !== null && l();
127
+ function c(v) {
128
+ v.key === "Escape" && o.value.rowIndex !== null && g();
128
129
  }
129
- return U(() => {
130
- document.addEventListener("keydown", g);
131
- }), X(() => {
132
- document.removeEventListener("keydown", g);
130
+ return le(() => {
131
+ document.addEventListener("keydown", c);
132
+ }), ue(() => {
133
+ document.removeEventListener("keydown", c);
133
134
  }), {
134
- menuState: r,
135
- openMenu: f,
136
- closeMenu: l,
137
- isMenuOpen: m
135
+ menuState: o,
136
+ openMenu: s,
137
+ closeMenu: g,
138
+ isMenuOpen: _
139
+ };
140
+ }
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
+ }
138
322
  };
139
323
  }
140
- const wt = { class: "shifl-column-manager__header" }, Mt = { class: "shifl-column-manager__title-wrapper" }, xt = { class: "shifl-column-manager__title" }, $t = { key: 0 }, Tt = { key: 1 }, Lt = { class: "shifl-column-manager__controls" }, St = { class: "shifl-column-manager__controls-left" }, Pt = { class: "shifl-column-manager__content" }, At = { class: "shifl-column-manager__list" }, zt = ["draggable", "onDragstart", "onDragover", "onDrop"], Ht = ["aria-label", "disabled"], Rt = ["checked", "disabled", "onChange"], Vt = { class: "shifl-column-manager__label-text" }, Et = { class: "shifl-column-manager__footer" }, Dt = /* @__PURE__ */ _e({
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({
141
325
  __name: "GridColumnManager",
142
326
  props: {
143
327
  titlePrefix: {},
144
328
  columns: {}
145
329
  },
146
- emits: ["close", "toggle", "move", "toggleFrozen", "selectAll", "deselectAll", "restoreDefault"],
147
- setup(r, { emit: f }) {
148
- const l = r, m = v(() => l.columns), g = f, _ = y(null);
149
- function b(d) {
150
- var u, h;
151
- (u = l.columns[d]) != null && u.frozen || (h = l.columns[d]) != null && h.protected || (_.value = d);
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);
152
336
  }
153
- function w(d) {
337
+ function T(d) {
154
338
  }
155
- function L(d) {
156
- _.value === null || _.value === d || (g("move", _.value, d), _.value = null);
339
+ function w(d) {
340
+ v.value === null || v.value === d || (c("move", v.value, d), v.value = null);
157
341
  }
158
- return (d, u) => (s(), a("div", {
342
+ return (d, f) => (a(), u("div", {
159
343
  class: "shifl-column-manager__backdrop",
160
- onClick: u[7] || (u[7] = B((h) => d.$emit("close"), ["self"]))
344
+ onClick: f[7] || (f[7] = J((p) => d.$emit("close"), ["self"]))
161
345
  }, [
162
- c("div", {
346
+ h("div", {
163
347
  class: "shifl-column-manager__dialog",
164
348
  role: "dialog",
165
349
  "aria-modal": "true",
166
- onClick: u[6] || (u[6] = B(() => {
350
+ onClick: f[6] || (f[6] = J(() => {
167
351
  }, ["stop"]))
168
352
  }, [
169
- c("header", wt, [
170
- c("div", Mt, [
171
- c("h2", xt, [
172
- r.titlePrefix ? (s(), a("span", $t, k(r.titlePrefix), 1)) : T("", !0),
173
- r.titlePrefix ? (s(), a("span", Tt, ">")) : T("", !0),
174
- u[8] || (u[8] = F("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))
175
359
  ])
176
360
  ]),
177
- c("button", {
361
+ h("button", {
178
362
  type: "button",
179
363
  class: "shifl-column-manager__close",
180
- onClick: u[0] || (u[0] = (h) => d.$emit("close"))
181
- }, [...u[9] || (u[9] = [
182
- c("span", null, "✕", -1)
364
+ onClick: f[0] || (f[0] = (p) => d.$emit("close"))
365
+ }, [...f[9] || (f[9] = [
366
+ h("span", null, "✕", -1)
183
367
  ])])
184
368
  ]),
185
- c("div", Lt, [
186
- c("div", St, [
187
- c("button", {
369
+ h("div", Qt, [
370
+ h("div", Xt, [
371
+ h("button", {
188
372
  type: "button",
189
373
  class: "shifl-column-manager__link-button",
190
- onClick: u[1] || (u[1] = (h) => d.$emit("selectAll"))
374
+ onClick: f[1] || (f[1] = (p) => d.$emit("selectAll"))
191
375
  }, " Select All "),
192
- c("button", {
376
+ h("button", {
193
377
  type: "button",
194
378
  class: "shifl-column-manager__link-button",
195
- onClick: u[2] || (u[2] = (h) => d.$emit("deselectAll"))
379
+ onClick: f[2] || (f[2] = (p) => d.$emit("deselectAll"))
196
380
  }, " Deselect All ")
197
381
  ]),
198
- c("button", {
382
+ h("button", {
199
383
  type: "button",
200
384
  class: "shifl-column-manager__link-button shifl-column-manager__link-button--primary",
201
- onClick: u[3] || (u[3] = (h) => d.$emit("restoreDefault"))
385
+ onClick: f[3] || (f[3] = (p) => d.$emit("restoreDefault"))
202
386
  }, " Restore Default ")
203
387
  ]),
204
- c("div", Pt, [
205
- c("ul", At, [
206
- (s(!0), a(x, null, z(m.value, (h, S) => (s(), a("li", {
207
- key: h.key,
208
- class: R(["shifl-column-manager__item", {
209
- "shifl-column-manager__item--disabled": h.frozen || h.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
210
394
  }]),
211
- draggable: !h.frozen && !h.protected,
212
- onDragstart: (C) => b(S),
213
- onDragover: B((C) => void 0, ["prevent"]),
214
- onDrop: B((C) => L(S), ["prevent"])
395
+ draggable: !p.freeze && !p.protected,
396
+ onDragstart: (C) => M($),
397
+ onDragover: J((C) => void 0, ["prevent"]),
398
+ onDrop: J((C) => w($), ["prevent"])
215
399
  }, [
216
- c("button", {
400
+ h("button", {
217
401
  type: "button",
218
- class: R(["shifl-column-manager__drag-handle", {
219
- "shifl-column-manager__drag-handle--disabled": h.frozen || h.protected
402
+ class: I(["shifl-column-manager__drag-handle", {
403
+ "shifl-column-manager__drag-handle--disabled": p.freeze || p.protected
220
404
  }]),
221
- "aria-label": `Move ${h.label}`,
222
- disabled: h.frozen || h.protected
223
- }, [...u[10] || (u[10] = [
224
- c("span", null, "⋮⋮", -1)
225
- ])], 10, Ht),
226
- c("label", {
227
- class: R(["shifl-column-manager__checkbox-label", {
228
- "shifl-column-manager__checkbox-label--disabled": h.frozen || h.protected
405
+ "aria-label": `Move ${p.label}`,
406
+ disabled: p.freeze || p.protected
407
+ }, [...f[10] || (f[10] = [
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
229
413
  }])
230
414
  }, [
231
- c("input", {
415
+ h("input", {
232
416
  type: "checkbox",
233
417
  class: "shifl-column-manager__checkbox",
234
- checked: h.visible,
235
- disabled: h.frozen || h.protected,
236
- onChange: (C) => d.$emit("toggle", h.key)
237
- }, null, 40, Rt),
238
- u[11] || (u[11] = c("span", { class: "shifl-column-manager__checkbox-custom" }, null, -1)),
239
- c("span", Vt, k(h.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)
240
424
  ], 2)
241
- ], 42, zt))), 128))
425
+ ], 42, nn))), 128))
242
426
  ])
243
427
  ]),
244
- c("footer", Et, [
245
- c("button", {
428
+ h("footer", an, [
429
+ h("button", {
246
430
  type: "button",
247
431
  class: "shifl-column-manager__button shifl-column-manager__button--primary",
248
- onClick: u[4] || (u[4] = (h) => d.$emit("close"))
432
+ onClick: f[4] || (f[4] = (p) => d.$emit("close"))
249
433
  }, " Update "),
250
- c("button", {
434
+ h("button", {
251
435
  type: "button",
252
436
  class: "shifl-column-manager__button shifl-column-manager__button--secondary",
253
- onClick: u[5] || (u[5] = (h) => d.$emit("close"))
437
+ onClick: f[5] || (f[5] = (p) => d.$emit("close"))
254
438
  }, " Cancel ")
255
439
  ])
256
440
  ])
257
441
  ]));
258
442
  }
259
- }), G = (r, f) => {
260
- const l = r.__vccOpts || r;
261
- for (const [m, g] of f)
262
- l[m] = g;
263
- return l;
264
- }, Zt = /* @__PURE__ */ G(Dt, [["__scopeId", "data-v-e57fe743"]]), Gt = { class: "shifl-grid__tooltip-content" }, It = /* @__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({
265
449
  __name: "GridTooltip",
266
450
  props: {
267
451
  content: {},
268
452
  visible: { type: Boolean },
269
453
  triggerElement: {}
270
454
  },
271
- setup(r) {
272
- const f = r, l = y(null), m = y({}), g = v(() => f.content.includes(`
273
- `)), _ = v(() => g.value ? f.content.split(`
274
- `).filter((d) => d.trim().length > 0) : []), b = y("top"), w = y({});
275
- function L() {
276
- if (!f.triggerElement || !l.value) return;
277
- const d = f.triggerElement.getBoundingClientRect(), u = l.value.getBoundingClientRect(), h = window.innerWidth, S = window.innerHeight;
278
- let C = d.bottom + 8, H = d.left + scrollX;
279
- H + u.width > h - 16 && (H = h - u.width - 16), H < 16 && (H = 16), C + u.height > S - 16 ? (C = d.top - u.height - 8, b.value = "bottom") : b.value = "top", 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 = {
280
464
  position: "fixed",
281
465
  top: `${C}px`,
282
- left: `${H}px`,
466
+ left: `${l}px`,
283
467
  zIndex: "10000"
284
468
  };
285
- const N = d.left + d.width / 2 - H;
286
- w.value = {
287
- left: `${N}px`
469
+ const m = d.left + d.width / 2 - l;
470
+ T.value = {
471
+ left: `${m}px`
288
472
  };
289
473
  }
290
- return J(
291
- () => f.visible,
474
+ return O(
475
+ () => s.visible,
292
476
  async (d) => {
293
- d && (await Ae(), L());
477
+ d && (await Le(), w());
294
478
  }
295
- ), U(() => {
296
- f.visible && Ae(() => L());
297
- }), X(() => {
298
- }), (d, u) => (s(), V(me, { to: "body" }, [
299
- 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", {
300
484
  key: 0,
301
485
  ref_key: "tooltipRef",
302
- ref: l,
486
+ ref: g,
303
487
  class: "shifl-grid__tooltip",
304
- style: Z(m.value)
488
+ style: j(_.value)
305
489
  }, [
306
- c("div", {
307
- class: R(["shifl-grid__tooltip-arrow", b.value]),
308
- style: Z(w.value)
490
+ h("div", {
491
+ class: I(["shifl-grid__tooltip-arrow", M.value]),
492
+ style: j(T.value)
309
493
  }, null, 6),
310
- c("div", Gt, [
311
- g.value ? (s(!0), a(x, { key: 0 }, z(_.value, (h, S) => (s(), a("div", {
312
- key: S,
494
+ h("div", cn, [
495
+ c.value ? (a(!0), u(x, { key: 0 }, H(v.value, (p, $) => (a(), u("div", {
496
+ key: $,
313
497
  class: "shifl-grid__tooltip-line"
314
- }, k(h), 1))), 128)) : (s(), a(x, { key: 1 }, [
315
- F(k(r.content), 1)
498
+ }, L(p), 1))), 128)) : (a(), u(x, { key: 1 }, [
499
+ ee(L(o.content), 1)
316
500
  ], 64))
317
501
  ])
318
- ], 4)) : T("", !0)
502
+ ], 4)) : D("", !0)
319
503
  ]));
320
504
  }
321
- }), Bt = /* @__PURE__ */ G(It, [["__scopeId", "data-v-44347dc9"]]), Nt = {}, Wt = {
505
+ }), dn = /* @__PURE__ */ q(fn, [["__scopeId", "data-v-f9f586fc"]]), gn = {}, hn = {
322
506
  width: "14",
323
507
  height: "15",
324
508
  viewBox: "0 0 14 15",
@@ -326,24 +510,24 @@ const wt = { class: "shifl-column-manager__header" }, Mt = { class: "shifl-colum
326
510
  xmlns: "http://www.w3.org/2000/svg",
327
511
  class: "shifl-smart-tracking-icon"
328
512
  };
329
- function Ft(r, f) {
330
- return s(), a("svg", Wt, [...f[0] || (f[0] = [
331
- c("path", {
513
+ function pn(o, s) {
514
+ return a(), u("svg", hn, [...s[0] || (s[0] = [
515
+ h("path", {
332
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",
333
517
  fill: "#05963F"
334
518
  }, null, -1)
335
519
  ])]);
336
520
  }
337
- const Ot = /* @__PURE__ */ G(Nt, [["render", Ft]]), jt = {}, Kt = {
521
+ const mn = /* @__PURE__ */ q(gn, [["render", pn]]), vn = {}, _n = {
338
522
  width: "14",
339
523
  height: "10",
340
524
  viewBox: "0 0 14 10",
341
525
  fill: "none",
342
526
  xmlns: "http://www.w3.org/2000/svg"
343
527
  };
344
- function qt(r, f) {
345
- return s(), a("svg", Kt, [...f[0] || (f[0] = [
346
- c("path", {
528
+ function yn(o, s) {
529
+ return a(), u("svg", _n, [...s[0] || (s[0] = [
530
+ h("path", {
347
531
  "fill-rule": "evenodd",
348
532
  "clip-rule": "evenodd",
349
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",
@@ -351,82 +535,88 @@ function qt(r, f) {
351
535
  }, null, -1)
352
536
  ])]);
353
537
  }
354
- const Jt = /* @__PURE__ */ G(jt, [["render", qt]]), Ut = {}, Xt = {
538
+ const bn = /* @__PURE__ */ q(vn, [["render", yn]]), kn = {}, Cn = {
355
539
  width: "14",
356
540
  height: "10",
357
541
  viewBox: "0 0 14 10",
358
542
  fill: "none",
359
543
  xmlns: "http://www.w3.org/2000/svg"
360
544
  };
361
- function Yt(r, f) {
362
- return s(), a("svg", Xt, [...f[0] || (f[0] = [
363
- c("path", {
545
+ function wn(o, s) {
546
+ return a(), u("svg", Cn, [...s[0] || (s[0] = [
547
+ h("path", {
364
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",
365
549
  fill: "#1A6D9E"
366
550
  }, null, -1)
367
551
  ])]);
368
552
  }
369
- const Qt = /* @__PURE__ */ G(Ut, [["render", Yt]]), en = {}, tn = {
553
+ const Mn = /* @__PURE__ */ q(kn, [["render", wn]]), Sn = {}, Tn = {
370
554
  width: "21",
371
555
  height: "13",
372
556
  viewBox: "0 0 21 13",
373
557
  fill: "none",
374
558
  xmlns: "http://www.w3.org/2000/svg"
375
559
  };
376
- function nn(r, f) {
377
- return s(), a("svg", tn, [...f[0] || (f[0] = [
378
- c("path", {
560
+ function Pn(o, s) {
561
+ return a(), u("svg", Tn, [...s[0] || (s[0] = [
562
+ h("path", {
379
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",
380
564
  fill: "#9CA5B4"
381
565
  }, null, -1)
382
566
  ])]);
383
567
  }
384
- const ze = /* @__PURE__ */ G(en, [["render", nn]]), on = {}, rn = {
568
+ const Ye = /* @__PURE__ */ q(Sn, [["render", Pn]]), $n = {}, Ln = {
385
569
  width: "16",
386
570
  height: "16",
387
571
  viewBox: "0 0 16 16",
388
572
  fill: "none",
389
573
  xmlns: "http://www.w3.org/2000/svg"
390
574
  };
391
- function sn(r, f) {
392
- return s(), a("svg", rn, [...f[0] || (f[0] = [
393
- c("path", {
575
+ function An(o, s) {
576
+ return a(), u("svg", Ln, [...s[0] || (s[0] = [
577
+ h("path", {
394
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",
395
579
  fill: "#69758C"
396
580
  }, null, -1)
397
581
  ])]);
398
582
  }
399
- const ln = /* @__PURE__ */ G(on, [["render", sn]]), an = { class: "shifl-grid relative" }, un = { class: "shifl-grid__controls" }, cn = { class: "shifl-grid__table" }, fn = ["onClick"], dn = { class: "shifl-grid__header-content" }, gn = {
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 = {
400
584
  key: 0,
401
585
  class: "shifl-grid__header-label"
402
- }, hn = {
586
+ }, Vn = {
403
587
  key: 1,
404
588
  class: "shifl-grid__sort-icon"
405
- }, pn = { key: 0 }, vn = ["colspan"], mn = {
589
+ }, Bn = { key: 0 }, In = ["colspan"], Gn = {
406
590
  key: 0,
407
591
  class: "shifl-grid__smart-tracking-icon"
408
- }, _n = ["onClick"], Cn = { key: 0 }, yn = ["innerHTML"], kn = {
592
+ }, Zn = ["onClick"], On = { key: 0 }, Fn = ["innerHTML"], jn = {
409
593
  key: 2,
594
+ class: "shifl-grid__composite-cell"
595
+ }, Wn = {
596
+ key: 3,
410
597
  class: "shifl-grid__type-cell"
411
- }, bn = {
598
+ }, Kn = {
412
599
  key: 0,
413
600
  class: "shifl-grid__container-badge"
414
- }, wn = {
415
- key: 3,
416
- class: "shifl-grid__tags-cell"
417
- }, Mn = { class: "shifl-grid__tags-wrapper" }, xn = ["onMouseenter"], $n = {
601
+ }, Jn = {
418
602
  key: 4,
419
- class: "shifl-grid__truncated-cell"
420
- }, Tn = ["onMouseenter"], Ln = ["onMouseenter"], Sn = {
603
+ class: "shifl-grid__tags-cell"
604
+ }, qn = { class: "shifl-grid__tags-wrapper" }, Un = ["onMouseenter"], Yn = {
421
605
  key: 5,
422
606
  class: "shifl-grid__chips-container"
423
- }, Pn = {
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 = {
424
614
  key: 0,
425
615
  class: "shifl-grid__pagination"
426
- }, An = { class: "shifl-grid__pagination-left" }, zn = { class: "shifl-grid__pagination-range" }, Hn = { class: "shifl-grid__pagination-range-numbers" }, Rn = { class: "shifl-grid__pagination-right" }, Vn = { class: "shifl-grid__pagination-rows" }, En = ["value", "disabled"], Dn = { class: "shifl-grid__pagination-nav" }, Zn = ["disabled"], Gn = { class: "shifl-grid__pagination-pages" }, In = ["disabled", "onClick"], Bn = {
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 = {
427
617
  key: 1,
428
618
  class: "shifl-grid__pagination-ellipsis"
429
- }, Nn = ["disabled"], Wn = ["onClick"], Fn = ["innerHTML"], On = 8, jn = /* @__PURE__ */ _e({
619
+ }, vr = ["disabled"], _r = ["onClick"], yr = ["innerHTML"], br = /* @__PURE__ */ xe({
430
620
  __name: "ShiflGrid",
431
621
  props: {
432
622
  config: {},
@@ -434,274 +624,424 @@ const ln = /* @__PURE__ */ G(on, [["render", sn]]), an = { class: "shifl-grid re
434
624
  loading: { type: Boolean }
435
625
  },
436
626
  emits: ["action-click", "search-change", "pagination-change"],
437
- setup(r, { emit: f }) {
438
- const l = r, m = f, g = v(() => _t(l.config)), _ = v(() => g.value.columns.filter((e) => !e.smartTrackingColumn)), {
439
- columns: b,
440
- visibleColumns: w,
441
- toggleColumnVisibility: L,
442
- setAllVisible: d,
443
- toggleFrozen: u,
444
- moveColumn: h,
445
- resetColumns: S
446
- } = Ct(_.value), { sort: C, setSort: H, applySort: N } = yt(g.value.sort), { applyGlobalFilter: Ve } = kt(), { menuState: E, openMenu: Ee, closeMenu: Y } = bt(), Q = y(!1), Ce = y({}), ye = y(null), ke = y(null), ee = y(null), te = y(!1), be = y(""), ne = y(null), De = y({});
447
- y({});
448
- const ie = y({});
449
- J(
450
- () => g.value.columns,
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({});
646
+ k({});
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,
451
662
  (e) => {
452
663
  const n = e.filter((t) => !t.smartTrackingColumn);
453
- b.value = [...n];
664
+ p.value = [...n];
454
665
  },
455
666
  { deep: !0 }
456
- ), J(
457
- () => g.value.sort,
667
+ ), O(
668
+ () => c.value.sort,
458
669
  (e) => {
459
- e && (C.value = e);
670
+ e && (P.value = e, T.value = e);
460
671
  },
461
672
  { deep: !0 }
462
- ), J(
463
- () => l.search,
673
+ ), O(
674
+ () => g.search,
464
675
  (e, n) => {
465
676
  var t;
466
- if (g.value.searchMode === "server")
467
- m("search-change", e || "");
468
- else if (g.value.searchMode === "client" && e !== n) {
469
- const i = ((t = $.value) == null ? void 0 : t.perPage) || 20;
470
- 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);
471
682
  }
683
+ },
684
+ { immediate: !0 }
685
+ ), O(
686
+ () => P.value,
687
+ (e) => {
688
+ T.value = e;
472
689
  }
473
690
  );
474
- const we = v(() => {
475
- if ((g.value.searchMode || "client") === "server")
476
- return g.value.rows;
477
- const n = l.search || "";
478
- return Ve(g.value.rows, g.value.search, n);
479
- }), 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(() => {
480
697
  var n;
481
- return (g.value.searchMode || "client") === "client" ? we.value.length : ((n = $.value) == null ? void 0 : n.total) || 0;
482
- }), re = v(() => N(we.value)), Me = v(() => {
483
- if ((g.value.searchMode || "client") === "server")
484
- return re.value;
485
- 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;
486
703
  if (!n || !n.show)
487
- return re.value;
488
- const t = n.perPage || 20, o = ((n.currentPage || 1) - 1) * t, p = o + t;
489
- return re.value.slice(o, p);
490
- }), $ = v(() => g.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(() => {
491
716
  var e;
492
- return ((e = $.value) == null ? void 0 : e.perPage) === 100;
493
- }), Ge = v(() => {
717
+ return ((e = z.value) == null ? void 0 : e.perPage) === 100;
718
+ }), nt = b(() => {
494
719
  var e;
495
- return ((e = $.value) == null ? void 0 : e.perPage) || 10;
496
- }), xe = v(() => {
497
- const e = $.value;
498
- 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)
499
724
  return { from: 0, to: 0 };
500
- const n = oe.value, t = e.perPage || 20, i = e.currentPage || 1;
501
- if ((g.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)
502
727
  return { from: e.from, to: e.to };
503
- const p = (i - 1) * t + 1, M = Math.min(i * t, n);
504
- return n === 0 ? { from: 0, to: 0 } : { from: p, to: M };
505
- }), D = 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(() => {
506
731
  var e;
507
- return ((e = $.value) == null ? void 0 : e.currentPage) || 1;
508
- }), se = v(() => {
509
- const e = $.value;
510
- if (!e || !e.show) return 1;
511
- 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;
512
737
  if (n === 0) return 1;
513
- const t = e.perPage || 20, i = Math.ceil(n / t);
514
- return Math.max(1, i);
515
- }), $e = v(() => D.value <= 1), Te = v(() => D.value >= se.value), Ie = v(() => {
516
- const e = se.value, n = D.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 = [];
517
742
  if (e <= 7)
518
- for (let i = 1; i <= e; i++)
519
- t.push(i);
743
+ for (let r = 1; r <= e; r++)
744
+ t.push(r);
520
745
  else if (n <= 4) {
521
- for (let i = 1; i <= 5; i++)
522
- t.push(i);
746
+ for (let r = 1; r <= 5; r++)
747
+ t.push(r);
523
748
  t.push(-1), t.push(e);
524
749
  } else if (n >= e - 3) {
525
750
  t.push(1), t.push(-1);
526
- for (let i = e - 4; i <= e; i++)
527
- t.push(i);
751
+ for (let r = e - 4; r <= e; r++)
752
+ t.push(r);
528
753
  } else {
529
754
  t.push(1), t.push(-1);
530
- for (let i = n - 1; i <= n + 1; i++)
531
- t.push(i);
755
+ for (let r = n - 1; r <= n + 1; r++)
756
+ t.push(r);
532
757
  t.push(-1), t.push(e);
533
758
  }
534
759
  return t;
535
760
  });
536
- function Be(e) {
761
+ function st(e) {
537
762
  var t;
538
- if (e < 1 || e > se.value || e === D.value || l.loading) return;
539
- const n = ((t = $.value) == null ? void 0 : t.perPage) || 20;
540
- 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);
541
766
  }
542
- function Ne() {
543
- var n;
544
- if ($e.value || l.loading) return;
545
- const e = ((n = $.value) == null ? void 0 : n.perPage) || 20;
546
- m("pagination-change", D.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);
547
772
  }
548
- function We() {
549
- var n;
550
- if (Te.value || l.loading) return;
551
- const e = ((n = $.value) == null ? void 0 : n.perPage) || 20;
552
- m("pagination-change", D.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);
553
778
  }
554
- function Fe(e) {
555
- var i;
556
- if (l.loading) return;
779
+ function at(e) {
780
+ var r;
781
+ if (W.value) return;
557
782
  const n = e.target, t = parseInt(n.value, 10);
558
- 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));
559
784
  }
560
- const Oe = v(() => {
561
- const e = g.value.columns.find((t) => t.smartTrackingColumn);
785
+ const lt = b(() => {
786
+ const e = c.value.columns.find((t) => t.smartTrackingColumn);
562
787
  if (!(e != null && e.smartTrackingColumn)) return !1;
563
788
  const n = e.smartTrackingColumn.dataKey;
564
- return g.value.rows.some((t) => {
565
- const i = t[n];
566
- 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";
567
792
  });
568
- }), le = v(() => g.value.columns.find((e) => e.smartTrackingColumn)), I = v(() => {
793
+ }), ye = b(() => c.value.columns.find((e) => e.smartTrackingColumn)), Q = b(() => {
569
794
  var t;
570
- const e = w.value.filter((i) => !i.smartTrackingColumn);
571
- if (Oe.value && le.value) {
572
- const i = {
795
+ const e = $.value.filter((r) => !r.smartTrackingColumn);
796
+ if (lt.value && ye.value) {
797
+ const r = {
573
798
  key: "_smart_tracking",
574
799
  label: "",
575
800
  // No label
576
801
  order: -1,
577
802
  // Before everything
578
- frozen: !0,
803
+ freeze: !0,
579
804
  visible: !0,
580
805
  protected: !0,
581
806
  sortable: !1,
582
- width: ((t = le.value.smartTrackingColumn) == null ? void 0 : t.width) || "36px",
583
- smartTrackingColumn: le.value.smartTrackingColumn
584
- }, o = e.findIndex((p) => p.key === "ref");
585
- 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);
586
812
  }
587
- const n = e.find((i) => i.key === "ref");
588
- return n && (n.frozen = !0, n.protected = !0), e;
589
- }), je = v(() => {
813
+ const n = e.find((r) => r.key === "ref");
814
+ return n && (n.freeze = !0, n.protected = !0), e;
815
+ }), ut = b(() => {
590
816
  let e = 0;
591
817
  const n = {};
592
- for (const t of I.value) {
593
- t.frozen && (n[t.key] = e);
594
- const i = parseInt(t.width ?? "160", 10);
595
- Number.isNaN(i) || (e += i + On * 2);
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);
596
822
  }
597
823
  return n;
598
- }), Le = y(0);
599
- function Ke(e) {
824
+ }), Be = k(0);
825
+ function ct(e) {
600
826
  const n = e.target;
601
- Le.value = n.scrollLeft;
827
+ Be.value = n.scrollLeft;
602
828
  }
603
- function qe(e) {
604
- const n = b.value.find((t) => t.key === e);
605
- !(n != null && n.sortable) || j(n) || ge(n) || H(e);
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);
606
832
  }
607
- function Je(e) {
608
- return e == null ? "" : typeof e == "object" ? JSON.stringify(e) : String(e);
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
+ }
609
856
  }
610
- function Ue(e) {
611
- return typeof e == "string" && e.toLowerCase() === "ocean", ze;
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);
887
+ }
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);
612
897
  }
613
- function Xe(e) {
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);
900
+ }
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));
906
+ }
907
+ function je(e) {
908
+ return typeof e == "string" && e.toLowerCase() === "ocean", Ye;
909
+ }
910
+ function gt(e) {
614
911
  const n = e.toLowerCase();
615
912
  return ["supplier", "suppliers", "po", "pos", "product_description"].includes(n);
616
913
  }
617
- function Ye(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) {
618
958
  if (e == null) return "";
619
959
  if (Array.isArray(e)) {
620
960
  if (e.length === 0) return "";
621
961
  const n = e.join(", ");
622
- return Se(n, 45);
962
+ return Ke(n, 45);
623
963
  }
624
- return typeof e == "string" ? Se(e, 45) : String(e);
964
+ return typeof e == "string" ? Ke(e, 45) : String(e);
625
965
  }
626
- function Se(e, n) {
966
+ function Ke(e, n) {
627
967
  return e.length <= n ? e : e.substring(0, n) + "...";
628
968
  }
629
- function ae(e) {
969
+ function ke(e) {
630
970
  const n = e.toLowerCase();
631
971
  return ["po", "pos", "supplier", "suppliers", "tag", "tags"].includes(n);
632
972
  }
633
- function Qe(e, n) {
634
- 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;
635
975
  }
636
- function et(e) {
976
+ function Ct(e) {
637
977
  return e == null ? !1 : Array.isArray(e) ? e.length === 0 ? !1 : e.join(", ").length > 45 : typeof e == "string" ? e.length > 45 : !1;
638
978
  }
639
- function tt(e) {
979
+ function wt(e) {
640
980
  if (e == null) return 0;
641
981
  if (Array.isArray(e)) {
642
982
  if (e.length === 0 || e.join(", ").length <= 45) return 0;
643
- let t = 0, i = 0;
644
- for (let o = 0; o < e.length; o++) {
645
- const p = String(e[o]), A = (o > 0 ? ", " : "").length + p.length;
646
- if (t + A <= 45)
647
- 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++;
648
988
  else
649
989
  break;
650
990
  }
651
- return e.length - i;
991
+ return e.length - r;
652
992
  }
653
993
  return typeof e == "string" && e.length > 45 ? 1 : 0;
654
994
  }
655
- function ue(e, n, t, i) {
656
- let o = "";
657
- Array.isArray(t) ? t.length > 0 && (o = t.join(`
658
- `)) : 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;
659
999
  }
660
- function ce() {
661
- te.value = !1, ne.value = null;
1000
+ function we() {
1001
+ de.value = !1, ge.value = null;
662
1002
  }
663
- function nt(e, n, t) {
664
- t && (De.value[`${e}-${n}`] = t);
1003
+ function Mt(e, n, t) {
1004
+ t && (et.value[`${e}-${n}`] = t);
665
1005
  }
666
- function O(e) {
1006
+ function re(e) {
667
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)];
668
1008
  }
669
- function fe(e, n, t) {
670
- const i = O(e);
671
- if (i.length === 0) return [];
672
- const o = `${n}-${t}`;
673
- if (ie.value[o])
674
- return ie.value[o];
675
- const p = I.value.find((q) => q.key === n), A = (p != null && p.width ? parseInt(p.width) : 200) - 32, W = it(i, A);
676
- return ie.value[o] = W, W;
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;
677
1017
  }
678
- function it(e, n) {
1018
+ function St(e, n) {
679
1019
  if (e.length === 0) return [];
680
1020
  const t = document.createElement("div");
681
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);
682
- let i = 0, o = 0;
683
- const p = 40;
684
- for (let M = 0; M < e.length; M++) {
685
- const A = document.createElement("span");
686
- A.className = "shifl-grid__chip shifl-grid__chip--tag", A.textContent = e[M], A.style.cssText = "padding: 4px 8px; border-left: 3px solid; border: 1px solid; background: white; white-space: nowrap;", t.appendChild(A);
687
- const W = A.offsetWidth, q = M > 0 ? 6 : 0, ht = M < e.length - 1;
688
- if (o + q + W + (ht ? p : 0) > n && M > 0) {
689
- 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);
690
1030
  break;
691
1031
  }
692
- o += q + W, i++;
1032
+ i += oe + X, r++;
693
1033
  }
694
- return document.body.removeChild(t), e.slice(0, i);
1034
+ return document.body.removeChild(t), e.slice(0, r);
695
1035
  }
696
- function ot(e, n, t) {
697
- const i = O(e), o = fe(e, n, t);
698
- 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;
699
1039
  }
700
- function rt(e, n, t) {
701
- const i = O(e), o = fe(e, n, t);
702
- 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;
703
1043
  }
704
- function st(e) {
1044
+ function $t(e) {
705
1045
  const n = e.toLowerCase(), t = {
706
1046
  "high priority": "var(--shifl-color-error-r70)",
707
1047
  express: "var(--shifl-color-primary-b80)",
@@ -716,15 +1056,15 @@ const ln = /* @__PURE__ */ G(on, [["render", sn]]), an = { class: "shifl-grid re
716
1056
  };
717
1057
  if (t[n])
718
1058
  return t[n];
719
- for (const [i, o] of Object.entries(t))
720
- if (n.includes(i) || i.includes(n))
721
- return o;
722
- return lt(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);
723
1063
  }
724
- function lt(e) {
1064
+ function Lt(e) {
725
1065
  let n = 0;
726
- for (let i = 0; i < e.length; i++)
727
- n = e.charCodeAt(i) + ((n << 5) - n);
1066
+ for (let r = 0; r < e.length; r++)
1067
+ n = e.charCodeAt(r) + ((n << 5) - n);
728
1068
  const t = [
729
1069
  "var(--shifl-color-primary-b80)",
730
1070
  "var(--shifl-color-success-g70)",
@@ -737,226 +1077,252 @@ const ln = /* @__PURE__ */ G(on, [["render", sn]]), an = { class: "shifl-grid re
737
1077
  ];
738
1078
  return t[Math.abs(n) % t.length];
739
1079
  }
740
- function de(e, n = !0) {
741
- const i = { ...{
1080
+ function Se(e, n = !0) {
1081
+ const r = { ...{
742
1082
  width: e.width ?? "160px",
743
1083
  minWidth: e.width ?? "160px"
744
- } }, o = Le.value > 0;
745
- if (e.frozen) {
746
- const p = je.value[e.key] ?? 0;
747
- i.position = "sticky", i.left = `${p}px`, i.background = "#ffffff", i.boxShadow = o ? "2px 0 6px rgba(0, 0, 0, 0.12)" : "none", i.zIndex = n ? 40 : 10;
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;
748
1088
  }
749
- return n && (i.position = "sticky", i.top = "0px"), i;
1089
+ return n && (r.position = "sticky", r.top = "0px"), r;
750
1090
  }
751
- const at = v(() => b.value.filter((e) => !e.smartTrackingColumn));
752
- function j(e) {
1091
+ const At = b(() => p.value.filter((e) => !e.smartTrackingColumn));
1092
+ function se(e) {
753
1093
  return !!e.actionColumn;
754
1094
  }
755
- function ge(e) {
1095
+ function Te(e) {
756
1096
  return !!e.smartTrackingColumn;
757
1097
  }
758
- function ut(e, n) {
1098
+ function xt(e, n) {
759
1099
  if (!e.smartTrackingColumn) return !1;
760
- const t = e.smartTrackingColumn.dataKey, i = n[t];
761
- if (i === !0 || i === 1) return !0;
762
- if (typeof i == "string") {
763
- const o = i.toLowerCase().trim();
764
- 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";
765
1105
  }
766
1106
  return !1;
767
1107
  }
768
- function K(e, n) {
1108
+ function ie(e, n) {
769
1109
  if (!e.actionColumn) return null;
770
1110
  const t = e.actionColumn.icon;
771
1111
  return t ? typeof t == "function" ? t(n) : t : null;
772
1112
  }
773
- function ct(e, n, t, i) {
1113
+ function Nt(e, n, t, r) {
774
1114
  if (!t.actionColumn) return;
775
- const o = i.currentTarget;
776
- if (E.value.rowIndex === e) {
777
- Y();
1115
+ const i = r.currentTarget;
1116
+ if (V.value.rowIndex === e) {
1117
+ U();
778
1118
  return;
779
1119
  }
780
- ke.value = t, ee.value = n, Ee(e, o);
1120
+ Ne.value = t, fe.value = n, F(e, i);
781
1121
  }
782
- function ft(e, n) {
783
- 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);
784
1124
  }
785
- function dt(e, n, t) {
786
- m("action-click", e.key, n, t), Y();
1125
+ function zt(e, n, t) {
1126
+ _("action-click", e.key, n, t), U();
787
1127
  }
788
- function gt(e, n) {
789
- n && (Ce.value[e] = n);
1128
+ function Dt(e, n) {
1129
+ n && (Z.value[e] = n);
790
1130
  }
791
- function Pe(e) {
792
- if (E.value.rowIndex === null) return;
793
- const n = e.target, t = ye.value, i = Object.values(Ce.value), o = t == null ? void 0 : t.contains(n), p = i.some((M) => M.contains(n));
794
- !o && !p && Y();
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();
795
1135
  }
796
- return U(() => {
797
- document.addEventListener("click", Pe);
798
- }), X(() => {
799
- document.removeEventListener("click", Pe);
800
- }), (e, n) => (s(), a("div", an, [
801
- c("div", un, [
802
- c("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", {
803
1143
  type: "button",
804
1144
  class: "shifl-grid__pill-button whitespace-nowrap",
805
- onClick: n[0] || (n[0] = (t) => Q.value = !0)
1145
+ onClick: n[0] || (n[0] = (t) => Y.value = !0)
806
1146
  }, " Edit Column ")
807
1147
  ]),
808
- c("div", {
809
- class: R(["shifl-grid__viewport", { "shifl-grid__viewport--scroll": Ze.value }]),
810
- onScroll: Ke
1148
+ h("div", {
1149
+ class: I(["shifl-grid__viewport", { "shifl-grid__viewport--scroll": tt.value }]),
1150
+ onScroll: ct
811
1151
  }, [
812
- c("table", cn, [
813
- c("thead", null, [
814
- c("tr", null, [
815
- (s(!0), a(x, null, z(I.value, (t) => {
816
- var i;
817
- 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", {
818
1158
  key: t.key,
819
- style: Z(de(t, !0)),
820
- onClick: () => qe(t.key),
821
- class: R([
1159
+ style: j(Se(t, !0)),
1160
+ onClick: () => ft(t.key),
1161
+ class: I([
822
1162
  "shifl-grid__header-cell",
823
1163
  `shifl-grid__header-align-${t != null && t.align ? t.align : "left"}`,
824
1164
  {
825
- "shifl-grid__cell--sticky": t.frozen,
826
- "shifl-grid__sortable-col": t.sortable
1165
+ "shifl-grid__cell--sticky": t.freeze,
1166
+ "shifl-grid__sortable-col": t.sortable,
1167
+ "shifl-grid__icon": t.cellType === "icon"
827
1168
  }
828
1169
  ])
829
1170
  }, [
830
- c("div", dn, [
831
- t.label ? (s(), a("span", gn, k(t.label), 1)) : T("", !0),
832
- ((i = P(C)) == null ? void 0 : i.key) === t.key && !j(t) && !ge(t) ? (s(), a("span", hn, [
833
- P(C).order === "asc" ? (s(), V(Jt, { key: 0 })) : (s(), V(Qt, { key: 1 }))
834
- ])) : T("", !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)
835
1176
  ])
836
- ], 14, fn);
1177
+ ], 14, Dn);
837
1178
  }), 128))
838
1179
  ])
839
1180
  ]),
840
- c("tbody", null, [
841
- l.loading ? (s(!0), a(x, { key: 0 }, z(Ge.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", {
842
1183
  key: `skeleton-${t}`,
843
1184
  class: "shifl-grid__skeleton-row"
844
1185
  }, [
845
- (s(!0), a(x, null, z(I.value, (i) => (s(), a("td", {
846
- key: i.key,
847
- style: Z(de(i, !1)),
848
- class: R({ "shifl-grid__cell--sticky": i.frozen })
849
- }, [...n[5] || (n[5] = [
850
- c("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)
851
1192
  ])], 6))), 128))
852
- ]))), 128)) : (s(), a(x, { key: 1 }, [
853
- Me.value.length ? T("", !0) : (s(), a("tr", pn, [
854
- c("td", {
855
- 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,
856
1197
  class: "text-center text-gray-500 py-6"
857
- }, " No data ", 8, vn)
1198
+ }, " No data ", 8, In)
858
1199
  ])),
859
- (s(!0), a(x, null, z(Me.value, (t, i) => (s(), a("tr", { key: i }, [
860
- (s(!0), a(x, null, z(I.value, (o) => (s(), a("td", {
861
- key: o.key,
862
- style: Z(de(o, !1)),
863
- class: R([
864
- { "shifl-grid__cell--sticky": o.frozen },
865
- { "shifl-grid__cell--action": j(o) },
866
- `shifl-grid__cell-align-${o != null && o.align ? o.align : "left"}`
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" }
867
1209
  ])
868
1210
  }, [
869
- ge(o) ? (s(), a(x, { key: 0 }, [
870
- ut(o, t) ? (s(), a("div", mn, [
871
- he(Ot)
872
- ])) : T("", !0)
873
- ], 64)) : j(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", {
874
1216
  key: 1,
875
1217
  type: "button",
876
1218
  class: "shifl-grid__action-icon",
877
1219
  ref_for: !0,
878
- ref: (p) => gt(i, p),
879
- onClick: B((p) => ct(i, t, o, p), ["stop"])
1220
+ ref: (y) => Dt(r, y),
1221
+ onClick: J((y) => Nt(r, t, i, y), ["stop"])
880
1222
  }, [
881
- K(o, t) ? typeof K(o, t) == "string" ? (s(), a("span", {
1223
+ ie(i, t) ? typeof ie(i, t) == "string" ? (a(), u("span", {
882
1224
  key: 1,
883
- innerHTML: K(o, t),
1225
+ innerHTML: ie(i, t),
884
1226
  class: "w-4 h-4 inline-block"
885
- }, null, 8, yn)) : (s(), V(pe(K(o, t)), {
1227
+ }, null, 8, Fn)) : (a(), G(ae(ie(i, t)), {
886
1228
  key: 2,
887
1229
  class: "w-4 h-4"
888
- })) : (s(), a("span", Cn, "⋯"))
889
- ], 8, _n)) : o.key.toLowerCase() === "type" ? (s(), a("div", kn, [
890
- (s(), V(pe(Ue(t[o.key])), { class: "shifl-grid__type-icon" })),
891
- t.container_count != null ? (s(), a("span", bn, " (" + k(t.container_count) + ") ", 1)) : T("", !0)
892
- ])) : o.key.toLowerCase() === "tag" || o.key.toLowerCase() === "tags" ? (s(), a("div", wn, [
893
- c("div", Mn, [
894
- c("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", {
895
1247
  ref_for: !0,
896
1248
  ref: "(el) => setTagsRef(col.key, rowIndex, el as HTMLElement)",
897
1249
  class: "shifl-grid__chips-container shifl-grid__chips-container--single-line"
898
1250
  }, [
899
- (s(!0), a(x, null, z(fe(
900
- t[o.key],
901
- o.key,
902
- i
903
- ), (p, M) => (s(), a("span", {
904
- key: M,
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,
905
1257
  class: "shifl-grid__chip shifl-grid__chip--tag",
906
- style: Z({ borderLeftColor: st(p) })
907
- }, k(p), 5))), 128))
1258
+ style: j({ borderLeftColor: $t(y) })
1259
+ }, L(y), 5))), 128))
908
1260
  ], 512)
909
1261
  ]),
910
- ot(t[o.key], o.key, i) ? (s(), a("button", {
1262
+ Tt(t[i.key], i.key, r) ? (a(), u("button", {
911
1263
  key: 0,
912
1264
  type: "button",
913
1265
  class: "shifl-grid__counter-button",
914
- onMouseenter: (p) => ue(
915
- o.key,
916
- i,
917
- t[o.key],
918
- p.currentTarget
1266
+ onMouseenter: (y) => Ce(
1267
+ i.key,
1268
+ r,
1269
+ t[i.key],
1270
+ y.currentTarget
919
1271
  ),
920
- onMouseleave: ce
921
- }, " +" + k(rt(t[o.key], o.key, i)), 41, xn)) : T("", !0)
922
- ])) : Xe(o.key) ? (s(), a("div", $n, [
923
- c("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", {
924
1281
  class: "shifl-grid__truncated-text",
925
1282
  ref_for: !0,
926
- ref: (p) => nt(o.key, i, p)
927
- }, k(Ye(t[o.key])), 513),
928
- ae(o.key) && et(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", {
929
1286
  key: 0,
930
1287
  type: "button",
931
1288
  class: "shifl-grid__counter-button",
932
- onMouseenter: (p) => ue(
933
- o.key,
934
- i,
935
- t[o.key],
936
- p.currentTarget
1289
+ onMouseenter: (y) => Ce(
1290
+ i.key,
1291
+ r,
1292
+ t[i.key],
1293
+ y.currentTarget
937
1294
  ),
938
- onMouseleave: ce
939
- }, " +" + k(tt(t[o.key])), 41, Tn)) : !ae(o.key) && Qe(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", {
940
1297
  key: 1,
941
1298
  type: "button",
942
1299
  class: "shifl-grid__info-icon-button",
943
- onMouseenter: (p) => ue(
944
- o.key,
945
- i,
946
- t[o.key],
947
- p.currentTarget
1300
+ onMouseenter: (y) => Ce(
1301
+ i.key,
1302
+ r,
1303
+ t[i.key],
1304
+ y.currentTarget
948
1305
  ),
949
- onMouseleave: ce
1306
+ onMouseleave: we
950
1307
  }, [
951
- he(ln)
952
- ], 40, Ln)) : T("", !0)
953
- ])) : o.key.toLowerCase() === "status" ? (s(), a("div", Sn, [
954
- (s(!0), a(x, null, z(O(t[o.key]), (p, M) => (s(), a("span", {
955
- key: M,
956
- class: "shifl-grid__chip shifl-grid__chip--status"
957
- }, k(p), 1))), 128))
958
- ])) : (s(), a(x, { key: 6 }, [
959
- F(k(Je(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)
960
1326
  ], 64))
961
1327
  ], 6))), 128))
962
1328
  ]))), 128))
@@ -964,134 +1330,129 @@ const ln = /* @__PURE__ */ G(on, [["render", sn]]), an = { class: "shifl-grid re
964
1330
  ])
965
1331
  ])
966
1332
  ], 34),
967
- $.value && $.value.show !== !1 ? (s(), a("div", Pn, [
968
- c("div", An, [
969
- c("span", zn, [
970
- n[6] || (n[6] = F(" Showing ", -1)),
971
- c("span", Hn, k(xe.value.from) + "–" + k(xe.value.to), 1),
972
- F(" of " + k(oe.value), 1)
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)
973
1339
  ])
974
1340
  ]),
975
- c("div", Rn, [
976
- c("div", Vn, [
977
- n[8] || (n[8] = c("label", { class: "shifl-grid__pagination-label" }, "Row per page", -1)),
978
- c("select", {
979
- value: $.value.perPage || 20,
980
- disabled: l.loading,
981
- onChange: Fe,
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,
982
1348
  class: "shifl-grid__pagination-select"
983
- }, [...n[7] || (n[7] = [
984
- pt('<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)
985
- ])], 40, En)
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)
986
1352
  ]),
987
- c("div", Dn, [
988
- c("button", {
1353
+ h("div", dr, [
1354
+ h("button", {
989
1355
  type: "button",
990
1356
  class: "shifl-grid__pagination-button",
991
- disabled: $e.value || l.loading,
992
- onClick: Ne,
1357
+ disabled: He.value || g.loading,
1358
+ onClick: it,
993
1359
  "aria-label": "Previous page"
994
- }, " ‹ ", 8, Zn),
995
- c("div", Gn, [
996
- (s(!0), a(x, null, z(Ie.value, (t) => (s(), a(x, { key: t }, [
997
- 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", {
998
1364
  key: 0,
999
1365
  type: "button",
1000
- class: R(["shifl-grid__pagination-page", { "shifl-grid__pagination-page--active": t === D.value }]),
1001
- disabled: l.loading,
1002
- onClick: (i) => Be(t)
1003
- }, k(t), 11, In)) : (s(), a("span", Bn, "…"))
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, "…"))
1004
1370
  ], 64))), 128))
1005
1371
  ]),
1006
- c("button", {
1372
+ h("button", {
1007
1373
  type: "button",
1008
1374
  class: "shifl-grid__pagination-button",
1009
- disabled: Te.value || l.loading,
1010
- onClick: We,
1375
+ disabled: Ve.value || g.loading,
1376
+ onClick: ot,
1011
1377
  "aria-label": "Next page"
1012
- }, " › ", 8, Nn)
1378
+ }, " › ", 8, vr)
1013
1379
  ])
1014
1380
  ])
1015
- ])) : T("", !0),
1016
- (s(), V(me, { to: "body" }, [
1017
- P(E).rowIndex !== null && P(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", {
1018
1384
  key: 0,
1019
1385
  ref_key: "actionMenuRef",
1020
- ref: ye,
1386
+ ref: ne,
1021
1387
  class: "shifl-grid__action-menu",
1022
- style: Z(`
1388
+ style: j(`
1023
1389
  position: fixed !important;
1024
- top: ${P(E).position.top}px !important;
1025
- left: ${P(E).position.left}px !important;
1390
+ top: ${E(V).position.top}px !important;
1391
+ left: ${E(V).position.left}px !important;
1026
1392
  z-index: 1000 !important;`),
1027
- onClick: n[1] || (n[1] = B(() => {
1393
+ onClick: n[2] || (n[2] = J(() => {
1028
1394
  }, ["stop"]))
1029
1395
  }, [
1030
- (s(!0), a(x, null, z(ft(ke.value, ee.value), (t) => (s(), a("div", {
1396
+ (a(!0), u(x, null, H(Rt(Ne.value, fe.value), (t) => (a(), u("div", {
1031
1397
  key: t.key,
1032
- class: R(["shifl-grid__action-menu-item", { "shifl-grid__action-menu-item--danger": t.danger }]),
1033
- onClick: () => dt(t, ee.value, P(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)
1034
1400
  }, [
1035
- t.icon && typeof t.icon == "string" ? (s(), a("span", {
1401
+ t.icon && typeof t.icon == "string" ? (a(), u("span", {
1036
1402
  key: 0,
1037
1403
  innerHTML: t.icon,
1038
1404
  class: "w-4 h-4 inline-block"
1039
- }, null, 8, Fn)) : t.icon ? (s(), V(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), {
1040
1406
  key: 1,
1041
1407
  class: "w-4 h-4"
1042
- })) : T("", !0),
1043
- c("span", null, k(t.label), 1)
1044
- ], 10, Wn))), 128))
1045
- ], 4)) : T("", !0)
1408
+ })) : D("", !0),
1409
+ h("span", null, L(t.label), 1)
1410
+ ], 10, _r))), 128))
1411
+ ], 4)) : D("", !0)
1046
1412
  ])),
1047
- he(Bt, {
1048
- content: be.value,
1049
- visible: te.value,
1050
- "trigger-element": ne.value
1413
+ Pe(dn, {
1414
+ content: Re.value,
1415
+ visible: de.value,
1416
+ "trigger-element": ge.value
1051
1417
  }, null, 8, ["content", "visible", "trigger-element"]),
1052
- (s(), V(me, { to: "body" }, [
1053
- Q.value ? (s(), V(Zt, {
1418
+ (a(), G(Ae, { to: "body" }, [
1419
+ Y.value ? (a(), G(un, {
1054
1420
  key: 0,
1055
- "title-prefix": r.config.name,
1056
- columns: at.value,
1057
- onClose: n[2] || (n[2] = (t) => Q.value = !1),
1058
- onToggle: P(L),
1059
- onToggleFrozen: P(u),
1060
- onMove: P(h),
1061
- onSelectAll: n[3] || (n[3] = (t) => P(d)(!0)),
1062
- onDeselectAll: n[4] || (n[4] = (t) => P(d)(!1)),
1063
- onRestoreDefault: P(S)
1064
- }, null, 8, ["title-prefix", "columns", "onToggle", "onToggleFrozen", "onMove", "onRestoreDefault"])) : T("", !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)
1065
1431
  ]))
1066
1432
  ]));
1067
1433
  }
1068
- }), Jn = {
1069
- install(r) {
1070
- r.component("ShiflGrid", jn);
1434
+ }), wr = {
1435
+ install(o) {
1436
+ o.component("ShiflGrid", br);
1071
1437
  }
1072
1438
  };
1073
- function Un(r) {
1074
- return {
1075
- rows: r.rows
1076
- };
1077
- }
1078
- function Xn() {
1079
- const r = y(/* @__PURE__ */ new Set());
1080
- function f(l) {
1081
- const m = l.id ?? JSON.stringify(l), g = new Set(r.value);
1082
- g.has(m) ? g.delete(m) : g.add(m), r.value = g;
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;
1083
1444
  }
1084
1445
  return {
1085
- selectedKeys: r,
1086
- toggleRow: f
1446
+ selectedKeys: o,
1447
+ toggleRow: s
1087
1448
  };
1088
1449
  }
1089
- function Yn() {
1450
+ function Sr() {
1090
1451
  return {
1091
1452
  // placeholder
1092
1453
  };
1093
1454
  }
1094
- const He = Symbol("shifl-grid-theme"), Re = {
1455
+ const Qe = Symbol("shifl-grid-theme"), Xe = {
1095
1456
  surface: "var(--shifl-surface)",
1096
1457
  surfaceAlt: "var(--shifl-surface-alt)",
1097
1458
  border: "var(--shifl-border)",
@@ -1101,61 +1462,61 @@ const He = Symbol("shifl-grid-theme"), Re = {
1101
1462
  accentStrong: "var(--shifl-accent-strong)",
1102
1463
  focus: "var(--shifl-focus)"
1103
1464
  };
1104
- function Qn(r) {
1105
- const f = y({ ...Re, ...r });
1106
- return vt(He, f), f;
1465
+ function Tr(o) {
1466
+ const s = k({ ...Xe, ...o });
1467
+ return Vt(Qe, s), s;
1107
1468
  }
1108
- function ei() {
1109
- const r = mt(He);
1110
- return v(() => (r == null ? void 0 : r.value) ?? Re);
1469
+ function Pr() {
1470
+ const o = Bt(Qe);
1471
+ return b(() => (o == null ? void 0 : o.value) ?? Xe);
1111
1472
  }
1112
- const ve = {
1473
+ const $e = {
1113
1474
  sm: 640,
1114
1475
  lg: 1024
1115
1476
  };
1116
- function ti() {
1117
- const r = y(typeof window < "u" ? window.innerWidth : 0);
1118
- function f() {
1119
- 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;
1120
1481
  }
1121
- return U(() => {
1122
- window.addEventListener("resize", f);
1123
- }), X(() => {
1124
- window.removeEventListener("resize", f);
1482
+ return le(() => {
1483
+ window.addEventListener("resize", s);
1484
+ }), ue(() => {
1485
+ window.removeEventListener("resize", s);
1125
1486
  }), {
1126
- width: r,
1127
- isMobile: v(() => r.value < ve.sm),
1128
- 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)
1129
1490
  };
1130
1491
  }
1131
- function ni() {
1492
+ function Lr() {
1132
1493
  return {
1133
1494
  // placeholder
1134
1495
  };
1135
1496
  }
1136
- function ii() {
1497
+ function Ar() {
1137
1498
  return {
1138
1499
  // placeholder
1139
1500
  };
1140
1501
  }
1141
- function oi() {
1502
+ function xr() {
1142
1503
  return {
1143
1504
  // placeholder
1144
1505
  };
1145
1506
  }
1146
1507
  export {
1147
- jn as ShiflGrid,
1148
- Jn as ShiflGridPlugin,
1149
- Qn as provideGridTheme,
1150
- ti as useBreakpoints,
1151
- Ct as useGridColumns,
1152
- Un as useGridData,
1153
- Yn as useGridEditing,
1154
- kt as useGridFilter,
1155
- ni as useGridInfiniteScroll,
1156
- Xn as useGridSelection,
1157
- yt as useGridSort,
1158
- ei as useGridTheme,
1159
- oi as useGridTour,
1160
- ii 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
1161
1522
  };