overview-components 1.0.91 → 1.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/package.json +74 -76
  2. package/dist/assets/generated/locales/de.js +0 -73
  3. package/dist/assets/generated/locales/en.js +0 -73
  4. package/dist/assets/generated/locales/fr.js +0 -73
  5. package/dist/assets/generated/locales/hr.js +0 -73
  6. package/dist/assets/generated/locales/it.js +0 -73
  7. package/dist/assets/generated/locales/pl.js +0 -73
  8. package/dist/assets/generated/locales/ro.js +0 -73
  9. package/dist/assets/generated/locales/sk.js +0 -73
  10. package/dist/assets/generated/locales/sr.js +0 -73
  11. package/dist/components/lit-attachments-tab.js +0 -515
  12. package/dist/components/lit-badge.js +0 -97
  13. package/dist/components/lit-case-variables-tab.js +0 -723
  14. package/dist/components/lit-chart.js +0 -392
  15. package/dist/components/lit-data-grid-tanstack.js +0 -1728
  16. package/dist/components/lit-filter-modal.js +0 -308
  17. package/dist/components/lit-multiselect-item.js +0 -526
  18. package/dist/components/lit-section-tab.js +0 -129
  19. package/dist/components/lit-tabs-overview.js +0 -300
  20. package/dist/components/react-wrappers/attachments-tab.js +0 -14
  21. package/dist/components/react-wrappers/badge.js +0 -14
  22. package/dist/components/react-wrappers/button.js +0 -14
  23. package/dist/components/react-wrappers/case-variables-tab.js +0 -14
  24. package/dist/components/react-wrappers/chart.js +0 -14
  25. package/dist/components/react-wrappers/data-grid-tanstack.js +0 -14
  26. package/dist/components/react-wrappers/filter-modal.js +0 -14
  27. package/dist/components/react-wrappers/progress-bar.js +0 -14
  28. package/dist/components/react-wrappers/section-tab.js +0 -14
  29. package/dist/components/react-wrappers/tabs-overview.js +0 -14
  30. package/dist/index.js +0 -42
  31. package/dist/libs/xlsx.mini.min.js +0 -10
  32. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -42
  33. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -9
  34. package/dist/node_modules/@lit/reactive-element/decorators/custom-element.js +0 -13
  35. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -37
  36. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -20
  37. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -12
  38. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -249
  39. package/dist/node_modules/lit-html/async-directive.js +0 -69
  40. package/dist/node_modules/lit-html/directive-helpers.js +0 -45
  41. package/dist/node_modules/lit-html/directive.js +0 -27
  42. package/dist/node_modules/lit-html/directives/ref.js +0 -42
  43. package/dist/node_modules/lit-html/directives/repeat.js +0 -61
  44. package/dist/node_modules/lit-html/directives/style-map.js +0 -36
  45. package/dist/node_modules/lit-html/directives/unsafe-html.js +0 -27
  46. package/dist/node_modules/lit-html/lit-html.js +0 -242
  47. package/dist/shared/lit-button.js +0 -139
  48. package/dist/shared/lit-progress-bar.js +0 -80
  49. package/dist/shared/simple-tooltip.js +0 -172
  50. package/dist/shared/styles/button-shared-styles.js +0 -202
  51. package/dist/utils/currency.js +0 -13
  52. package/dist/utils/custom-filters.js +0 -49
  53. package/dist/utils/date.js +0 -14
  54. package/dist/utils/getOperatorByType.js +0 -51
  55. package/dist/utils/localization.js +0 -30
  56. package/dist/vite.svg +0 -1
@@ -1,1728 +0,0 @@
1
- import { LitElement as tt, html as u, css as et } from "lit";
2
- import it, { isEqual as ot } from "lodash";
3
- import { msg as R } from "@lit/localize";
4
- import { customElement as nt } from "../node_modules/@lit/reactive-element/decorators/custom-element.js";
5
- import { property as a } from "../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { state as z } from "../node_modules/@lit/reactive-element/decorators/state.js";
7
- import { query as Q } from "../node_modules/@lit/reactive-element/decorators/query.js";
8
- import { unsafeHTML as j } from "../node_modules/lit-html/directives/unsafe-html.js";
9
- import { TableController as lt, filterFns as T, getFacetedUniqueValues as st, getExpandedRowModel as rt, getGroupedRowModel as at, getFacetedRowModel as dt, getFilteredRowModel as ct, getSortedRowModel as ht, getCoreRowModel as pt, flexRender as L } from "@tanstack/lit-table";
10
- import { repeat as V } from "../node_modules/lit-html/directives/repeat.js";
11
- import { VirtualizerController as K } from "@tanstack/lit-virtual";
12
- import { createRef as ut, ref as X } from "../node_modules/lit-html/directives/ref.js";
13
- import { styleMap as E } from "../node_modules/lit-html/directives/style-map.js";
14
- import gt from "sortablejs";
15
- import { formatDate as W } from "../utils/date.js";
16
- import { formatCurrency as mt } from "../utils/currency.js";
17
- import { dateFilterFn as Z, dateRangeFilterFn as Y, multiselectFilterFn as J } from "../utils/custom-filters.js";
18
- import { getLocale as ft, setLocale as bt } from "../utils/localization.js";
19
- import { getOperatorsByColumnType as yt } from "../utils/getOperatorByType.js";
20
- var wt = Object.defineProperty, xt = Object.getOwnPropertyDescriptor, l = (t, e, o, d) => {
21
- for (var s = d > 1 ? void 0 : d ? xt(e, o) : e, p = t.length - 1, g; p >= 0; p--)
22
- (g = t[p]) && (s = (d ? g(e, o, s) : g(s)) || s);
23
- return d && s && wt(e, o, s), s;
24
- };
25
- let n = class extends tt {
26
- constructor() {
27
- super(...arguments), this.row = [], this.columns = [], this.enableRowVirtualization = !0, this.enableColumnVirtualization = !1, this.enableColumnPinning = !0, this.enableColumnOrdering = !1, this.enableGrouping = !0, this.enablePinning = !0, this.exportData = !0, this.actionButtonsInMenu = !1, this.id = "", this.initialSorting = [], this.initialRowExpanded = {}, this.columnSizing = {}, this.leftPinnedColumns = [], this.rightPinnedColumns = [], this.enableFiltering = !0, this.enableSorting = !0, this.userLang = "cs", this.dateFormat = null, this.isLoading = !1, this.enableRowSelection = !1, this.initialFiltering = [], this.server = !1, this.scrollEndThreshold = 100, this.rowDensity = "standard", this.enableMultiRowSelection = !1, this.minFilterCharacters = 3, this.localizeDate = !0, this.rowsSelected = {}, this.enableSettings = !1, this.onSettingsChanged = () => {
28
- }, this.onCellKeyDown = (t, e) => {
29
- }, this.onColumnResize = () => {
30
- }, this.onColumnFiltersChanged = (t, e) => {
31
- }, this.onColumnSortChanged = (t, e) => {
32
- }, this.onRowSelectionChanged = (t, e) => {
33
- }, this.onColumnOrderChanged = (t, e) => {
34
- }, this.hideFooter = !1, this.columnVisibility = {}, this.onColumnVisibilityChanged = (t, e) => {
35
- }, this.onMouseDown = (t, e) => {
36
- }, this.onRowFocusChanged = (t, e) => {
37
- }, this.focusedRowIndex = null, this.autoFocus = !1, this.rowsCount = 0, this.isScrollable = !1, this.disableScrollLeft = !0, this.disableScrollRight = !1, this.columnOrder = [], this.isOpen = !1, this.filterText = "", this.isOpenModal = !1, this.scrollToEnd = !1, this.tableContainerRef = ut(), this.scrollInterval = null, this.currentScrollTop = 0, this.lastSelectedIndex = null, this.getCellBackgroundColor = (t) => t.getIsGrouped() ? this.columnGroupedColor ?? "var(--color-primary-light, #f0fadf)" : t.getIsAggregated() ? this.rowAggregationColor ?? "var(--color-warning-light, #ffe1a8)" : t.getIsPlaceholder() ? "var(--background-default, #eff3f4)" : t.column.getIsPinned() ? "var(--background-paper, #fff)" : "transparent", this.updateScrollState = () => {
38
- const t = this.tableContainerRef.value;
39
- if (t) {
40
- const e = t.scrollWidth > t.clientWidth;
41
- this.isScrollable = e, this.disableScrollLeft = t.scrollLeft === 0, this.disableScrollRight = t.scrollLeft + t.clientWidth >= t.scrollWidth, this.currentScrollTop = t.scrollTop;
42
- }
43
- };
44
- }
45
- get rows() {
46
- return [...this.row || []];
47
- }
48
- get getColumns() {
49
- return [...this.columns || []];
50
- }
51
- // lifecycle
52
- connectedCallback() {
53
- this.initRowVirtualizer(), this.initColumnVirtualizer(), this.initTable(), window.addEventListener("resize", this.updateScrollState), super.connectedCallback();
54
- }
55
- disconnectedCallback() {
56
- super.disconnectedCallback(), window.removeEventListener("resize", this.updateScrollState);
57
- }
58
- updated(t) {
59
- var e, o, d, s, p;
60
- if (t.has("rowsCount") && this.enableRowVirtualization) {
61
- this.scrollToEnd = !1;
62
- const g = (e = this.rowVirtualizerController) == null ? void 0 : e.getVirtualizer();
63
- g && g.setOptions({
64
- ...g.options,
65
- count: (d = (o = this.table) == null ? void 0 : o.getRowModel()) == null ? void 0 : d.rows.length
66
- }), this.requestUpdate();
67
- }
68
- if ((t.has("columns") || t.has("columnVisibility")) && this.enableColumnVirtualization) {
69
- const g = (s = this.columnVirtualizerController) == null ? void 0 : s.getVirtualizer();
70
- g && g.setOptions({
71
- ...g.options,
72
- count: (p = this.table) == null ? void 0 : p.getVisibleLeafColumns().length
73
- });
74
- }
75
- (t.has("row") || t.has("columns")) && (this.initTable(), this.requestUpdate());
76
- }
77
- firstUpdated() {
78
- const t = this.tableContainerRef.value;
79
- t && t.addEventListener("scroll", this.updateScrollState), this.updateScrollState(), this.initSortable(), this._container.addEventListener("scroll", this.handleScroll.bind(this)), this.autoFocus && setTimeout(() => {
80
- var e, o;
81
- if (this.focusedRowIndex !== null && this.focusedRowIndex !== void 0)
82
- (e = this.focusRow) == null || e.call(this, this.focusedRowIndex);
83
- else {
84
- const d = this.table.getSelectedRowModel().rows;
85
- d.length > 0 && ((o = this.focusRow) == null || o.call(this, d[0].index));
86
- }
87
- }, 0);
88
- }
89
- toggleModal() {
90
- this.isOpenModal = !this.isOpenModal;
91
- }
92
- async initSortable() {
93
- var e;
94
- if (!this.enableColumnOrdering) return;
95
- const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector("thead tr.head");
96
- t && gt.create(t, {
97
- animation: 150,
98
- direction: "horizontal",
99
- handle: ".drag-handle",
100
- filter: 'th[data-index="checkbox"], th[data-index="actions"]',
101
- preventOnFilter: !1,
102
- onMove: (o) => {
103
- var v, I, i, r, b, c, D, y;
104
- const d = o.dragged.getAttribute("data-index"), s = o.related.getAttribute("data-index"), p = ["checkbox", "actions"];
105
- if (p.includes(d) || p.includes(s))
106
- return !1;
107
- const g = this.table.getHeaderGroups()[0].headers, h = g.find((F) => F.id === d), m = g.find((F) => F.id === s);
108
- if (!h || !m) return !1;
109
- const x = (I = (v = h.column).getIsPinned) == null ? void 0 : I.call(v), C = (r = (i = m.column).getIsPinned) == null ? void 0 : r.call(i), w = (c = (b = h.column).getIsGrouped) == null ? void 0 : c.call(b), S = (y = (D = m.column).getIsGrouped) == null ? void 0 : y.call(D);
110
- return !(x || C || w || S);
111
- },
112
- onEnd: () => {
113
- const o = Array.from(t.querySelectorAll("th")).map((d) => d.getAttribute("data-index")).filter((d) => {
114
- var p, g, h, m;
115
- if (!d || d === "checkbox" || d === "actions") return !1;
116
- const s = this.table.getHeaderGroups()[0].headers.find((x) => x.id === d);
117
- return s ? !((g = (p = s.column).getIsPinned) != null && g.call(p)) && !((m = (h = s.column).getIsGrouped) != null && m.call(h)) : !1;
118
- });
119
- this.table.setColumnOrder(o);
120
- }
121
- });
122
- }
123
- async loadXLSX() {
124
- !window.XLSX && !this.server && await new Promise((t) => {
125
- const e = document.createElement("script");
126
- e.src = "../../public/libs/xlsx.mini.min.js", e.onload = t, document.head.appendChild(e);
127
- });
128
- }
129
- // row density
130
- getRowHeight() {
131
- switch (this.rowDensity) {
132
- case "compact":
133
- return 31;
134
- case "standard":
135
- return 38;
136
- case "comfort":
137
- return 50;
138
- default:
139
- return 38;
140
- }
141
- }
142
- getButtonSize() {
143
- switch (this.rowDensity) {
144
- case "compact":
145
- return "small";
146
- case "standard":
147
- return "medium";
148
- case "comfort":
149
- return "large";
150
- default:
151
- return "medium";
152
- }
153
- }
154
- handleSetDensity(t) {
155
- this.rowDensity = t, this.rowDensityChange && this.rowDensityChange(this.table, t);
156
- }
157
- handleMouseDown(t, e) {
158
- this.onMouseDown && this.onMouseDown(t, e);
159
- }
160
- handleFilterTabNavigation(t) {
161
- var g, h, m;
162
- const { direction: e, currentFilter: o } = t.detail, d = Array.from(((g = this.shadowRoot) == null ? void 0 : g.querySelectorAll("filter-inputs")) || []);
163
- if (d.length === 0) return;
164
- const s = d.indexOf(o);
165
- let p;
166
- if (e === "forward")
167
- if (s === d.length - 1) {
168
- const x = (h = this.shadowRoot) == null ? void 0 : h.querySelector(".grid");
169
- x && (x.scrollLeft = 0), setTimeout(() => {
170
- var w;
171
- const C = (w = this.shadowRoot) == null ? void 0 : w.querySelector("filter-inputs");
172
- C && C.focus();
173
- }, 0);
174
- return;
175
- } else
176
- p = s + 1;
177
- else if (s === 0) {
178
- const x = (m = this.shadowRoot) == null ? void 0 : m.querySelector(".grid");
179
- x && (x.scrollLeft = x.scrollWidth), setTimeout(() => {
180
- var w;
181
- const C = Array.from(
182
- ((w = this.shadowRoot) == null ? void 0 : w.querySelectorAll("filter-inputs")) || []
183
- );
184
- C.length > 0 && C[C.length - 1].focus();
185
- }, 0);
186
- return;
187
- } else
188
- p = s - 1;
189
- d[p].focus();
190
- }
191
- // virtualization
192
- initRowVirtualizer() {
193
- var t, e, o;
194
- this.rowVirtualizerController = new K(this, {
195
- count: ((e = (t = this.table) == null ? void 0 : t.getRowModel()) == null ? void 0 : e.rows.length) || ((o = this.row) == null ? void 0 : o.length) || 1,
196
- getScrollElement: () => this.tableContainerRef.value,
197
- estimateSize: () => this.getRowHeight(),
198
- overscan: 5,
199
- initialOffset: this.currentScrollTop,
200
- enabled: this.enableRowVirtualization
201
- });
202
- }
203
- initTable() {
204
- this.tableController = new lt(this);
205
- }
206
- initColumnVirtualizer() {
207
- var t;
208
- this.columnVirtualizerController = new K(this, {
209
- horizontal: !0,
210
- count: ((t = this.table) == null ? void 0 : t.getVisibleLeafColumns().length) || this.columns.length || 1,
211
- getScrollElement: () => this.tableContainerRef.value,
212
- estimateSize: (e) => {
213
- var o;
214
- return ((o = this.table.getVisibleLeafColumns()[e]) == null ? void 0 : o.getSize()) || 200;
215
- },
216
- overscan: 5,
217
- enabled: this.enableColumnVirtualization
218
- });
219
- }
220
- handleRowClick(t, e) {
221
- var s, p;
222
- (s = this.onRowClick) == null || s.call(this, t, this.table, e), (p = this.onRowFocusChanged) == null || p.call(this, this.table, e.index);
223
- const o = t.shiftKey, d = t.ctrlKey || t.metaKey;
224
- if (this.enableRowSelection && e.getCanSelect() && (d || o)) {
225
- const { rows: g } = this.table.getRowModel();
226
- if (this.enableMultiRowSelection && o && this.focusedRowIndex !== null && this.focusedRowIndex !== void 0) {
227
- const [h, m] = [
228
- Math.min(this.focusedRowIndex, e.index),
229
- Math.max(this.focusedRowIndex, e.index)
230
- ], x = g.slice(h, m + 1).map((w) => w.id), C = { ...this.rowsSelected };
231
- x.forEach((w) => C[w] = !0), this.table.setRowSelection(C);
232
- } else if (d && this.enableMultiRowSelection) {
233
- const h = { ...this.rowsSelected };
234
- h[e.id] ? delete h[e.id] : h[e.id] = !0, this.table.setRowSelection(h);
235
- } else {
236
- const h = { [e.id]: !0 };
237
- this.table.setRowSelection(h);
238
- }
239
- }
240
- this.focusedRowIndex = e.index;
241
- }
242
- handleRowDoubleClick(t) {
243
- this.onRowDoubleClick && this.onRowDoubleClick(this.table, t);
244
- }
245
- handleKeyDown(t) {
246
- var d;
247
- const e = this.table.getRowModel().rows;
248
- if (!e.length) return;
249
- let o = this.focusedRowIndex ?? e.findIndex((s) => this.rowsSelected[s.id]);
250
- if (this.enableRowSelection) {
251
- if (o === -1 && (o = 0), t.key === "ArrowDown" && t.shiftKey && this.enableMultiRowSelection) {
252
- t.preventDefault();
253
- const s = o + 1;
254
- if (s < e.length) {
255
- const p = e[s].id;
256
- this.table.setRowSelection((g) => ({
257
- ...g,
258
- [p]: !g[p]
259
- })), this.focusRow(s);
260
- }
261
- } else if (t.key === "ArrowUp" && t.shiftKey && this.enableMultiRowSelection) {
262
- t.preventDefault();
263
- const s = o - 1;
264
- if (s >= 0) {
265
- const p = e[s].id;
266
- this.table.setRowSelection((g) => ({
267
- ...g,
268
- [p]: !g[p]
269
- })), this.focusRow(s);
270
- }
271
- } else if (t.key === "ArrowDown" && o < e.length - 1) {
272
- t.preventDefault();
273
- const s = o + 1;
274
- this.focusRow(s);
275
- } else if (t.key === "ArrowUp" && o > 0) {
276
- t.preventDefault();
277
- const s = o - 1;
278
- this.focusRow(s);
279
- }
280
- }
281
- (d = this.onCellKeyDown) == null || d.call(this, t, e[o]);
282
- }
283
- focusRow(t) {
284
- var o, d;
285
- const e = t ?? this.focusedRowIndex;
286
- (o = this.rowVirtualizerController) == null || o.getVirtualizer().scrollToIndex(e ?? 0, { align: "auto" }), setTimeout(() => {
287
- var p;
288
- const s = (p = this.shadowRoot) == null ? void 0 : p.querySelector(
289
- `[data-row-index="${e}"]`
290
- );
291
- this.enableRowVirtualization ? s && setTimeout(() => {
292
- s.focus();
293
- }, 0) : s && (s.focus(), s.scrollIntoView({ block: "nearest" }));
294
- }, 100), (d = this.onRowFocusChanged) == null || d.call(this, this.table, e), this.focusedRowIndex = e;
295
- }
296
- getTanstackColumns(t) {
297
- return t.map((e) => ({
298
- id: e.field,
299
- accessorKey: e.field,
300
- accessorFn: (o) => (e.type === "date" || e.type === "dateTime" || e.type === "dateTimeRange" || e.type === "dateRange") && !this.server && this.localizeDate ? e.accessorFn ? W(
301
- e.accessorFn(o),
302
- this.userLang || "cs",
303
- e.type === "date" || e.type === "dateRange" ? void 0 : !0,
304
- this.dateFormat
305
- ) : W(
306
- o[e.field],
307
- this.userLang || "cs",
308
- e.type === "date" || e.type === "dateRange" ? void 0 : !0,
309
- this.dateFormat
310
- ) : e.accessorFn ? e.accessorFn(o) : o[e.field],
311
- type: e.type,
312
- header: e.headerName,
313
- cell: (o) => {
314
- var s;
315
- const d = o.getValue();
316
- return e.type === "actions" ? u`
317
- <lit-data-grid-row-actions
318
- .buttons=${((s = e.getActions) == null ? void 0 : s.call(e, o)) || []}
319
- ></lit-data-grid-row-actions>
320
- ` : e.type === "currency" ? mt(d, this.userLang || "cs") : e.cell ? e.cell(o, u, j) : d;
321
- },
322
- filterFn: (() => {
323
- switch (e.type) {
324
- case "numberRange":
325
- return T.inNumberRange;
326
- case "select":
327
- return T.weakEquals;
328
- case "multiselect":
329
- return J;
330
- case "number":
331
- case "currency":
332
- return T.weakEquals;
333
- case "dateRange":
334
- case "dateTimeRange":
335
- return Y;
336
- case "date":
337
- case "dateTime":
338
- return Z;
339
- case "string":
340
- default:
341
- return T.includesString;
342
- }
343
- })(),
344
- enableSorting: e.enableSorting ?? !0,
345
- enableColumnFilter: this.enableFiltering && (e.enableFilter ?? !0),
346
- size: e.size || this.columnDefaultSize || void 0,
347
- maxSize: e.maxSize || this.columnDefaultMaxSize || 500,
348
- minSize: e.minSize || this.columnDefaultMinSize || 100,
349
- meta: {
350
- filterVariant: e.type ?? "string",
351
- valueOptions: e.valueOptions,
352
- filterOperators: e.filterOperators
353
- },
354
- aggregationFn: e.columnAggregation ?? void 0,
355
- enableGrouping: e.enableGrouping ?? !0,
356
- sortDescFirst: e.sortDescFirst || !0,
357
- enableResizing: e.enableResizing ?? !0,
358
- enablePinning: this.enablePinning && (e.enablePinning ?? !0),
359
- aggregatedCell: (o) => {
360
- const d = o.getValue();
361
- return e.aggregatedCell ? e.aggregatedCell(o, u, j) : d;
362
- }
363
- }));
364
- }
365
- getCommonPinningStyles(t) {
366
- const e = t.getIsPinned();
367
- if (!e)
368
- return {};
369
- const o = e === "left" && t.getIsLastColumn("left");
370
- return {
371
- position: e ? "sticky" : "relative",
372
- left: e === "left" ? `${t.getStart("left")}px` : void 0,
373
- right: e === "right" ? "0px" : void 0,
374
- boxShadow: o && t.columnDef.type !== "checkbox" ? "-4px 0 4px -4px gray inset" : void 0,
375
- zIndex: `${e ? 1 : "auto"}`,
376
- background: e ? "var(--background-paper, #fff)" : void 0
377
- };
378
- }
379
- togglePin(t) {
380
- t.column.getIsPinned() ? t.column.pin(!1) : t.column.pin("left");
381
- }
382
- // export to excel and csv
383
- exportDataToCsv() {
384
- const t = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows);
385
- if (!t || t.length === 0) {
386
- console.warn("No data to export");
387
- return;
388
- }
389
- const e = this.columns.map((m) => m.headerName || "").join(","), o = t.map((m) => this.columns.map((x) => {
390
- var S, v;
391
- const C = x.field;
392
- if ((S = m.getIsGrouped) != null && S.call(m))
393
- return x.field === m.groupingColumnId ? `"${m.getValue(x.field)} (${m.subRows.length})"` : "";
394
- const w = ((v = m.getValue) == null ? void 0 : v.call(m, C)) || "";
395
- return typeof w == "string" ? `"${w.replace(/"/g, '""')}"` : w;
396
- }).join(","));
397
- o.unshift(e);
398
- const d = o.join(`
399
- `), s = new Blob([d], { type: "text/csv;charset=utf-8;" }), p = prompt(R("Zadejte název souboru:"), "data");
400
- if (!p)
401
- return;
402
- const g = URL.createObjectURL(s), h = document.createElement("a");
403
- h.href = g, h.download = `${p}.csv`, h.click(), URL.revokeObjectURL(g);
404
- }
405
- async exportDataToExcel() {
406
- await this.loadXLSX();
407
- const t = window.XLSX, e = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows);
408
- if (!e || e.length === 0) {
409
- console.warn("No data to export");
410
- return;
411
- }
412
- const o = e.map((h) => {
413
- const m = {};
414
- return this.columns.forEach((x) => {
415
- var S, v;
416
- const C = x.headerName || "", w = x.field;
417
- (S = h.getIsGrouped) != null && S.call(h) ? x.field === h.groupingColumnId ? m[C] = `${h.getValue(w)} (${h.subRows.length})` : m[C] = "" : w && (m[C] = ((v = h.getValue) == null ? void 0 : v.call(h, w)) || "");
418
- }), m;
419
- }), d = t.utils.json_to_sheet(o), s = this.columns.map((h, m) => {
420
- var C;
421
- return { wch: Math.max(
422
- ((C = h.headerName) == null ? void 0 : C.length) || 10,
423
- ...o.map((w) => {
424
- var S;
425
- return ((S = w[h.headerName || ""]) == null ? void 0 : S.toString().length) || 0;
426
- })
427
- // Najdlhší obsah v stĺpci
428
- ) + 2 };
429
- });
430
- d["!cols"] = s;
431
- const p = t.utils.book_new();
432
- t.utils.book_append_sheet(p, d, "Data");
433
- const g = prompt(R("Zadejte název souboru:"), "data");
434
- g && t.writeFile(p, `${g}.xlsx`);
435
- }
436
- getAllRowsIncludingGrouped(t) {
437
- const e = [];
438
- return t.forEach((o) => {
439
- var d;
440
- (d = o.getIsGrouped) != null && d.call(o) ? (e.push(o), o.subRows && o.subRows.length > 0 && e.push(...this.getAllRowsIncludingGrouped(o.subRows))) : e.push(o);
441
- }), e.filter(
442
- (o, d, s) => d === s.findIndex((p) => p.id === o.id)
443
- );
444
- }
445
- startScroll(t) {
446
- const e = this.tableContainerRef.value;
447
- if (!e) return;
448
- const o = t === "left" ? -15 : 15, d = () => {
449
- e.scrollLeft += o, this.updateScrollState(), this.scrollInterval = requestAnimationFrame(d);
450
- };
451
- this.scrollInterval = requestAnimationFrame(d);
452
- }
453
- stopScroll() {
454
- this.scrollInterval && (cancelAnimationFrame(this.scrollInterval), this.scrollInterval = null);
455
- }
456
- // centralize your “at end” logic
457
- _atScrollEnd(t) {
458
- const e = this.scrollEndThreshold ?? 100;
459
- return t.scrollHeight <= t.clientHeight || t.scrollTop + t.clientHeight >= t.scrollHeight - e;
460
- }
461
- _maybeTriggerScrollEnd() {
462
- this._atScrollEnd(this._container) && this.onRowsScrollEnd && !this.isLoading && !this.scrollToEnd && (this.scrollToEnd = !0, this.onRowsScrollEnd());
463
- }
464
- handleScroll(t) {
465
- this._maybeTriggerScrollEnd();
466
- }
467
- // handleScroll(event: Event) {
468
- // const container = event.target as HTMLElement;
469
- // if (
470
- // container.scrollTop + container.clientHeight >=
471
- // container.scrollHeight - (this.scrollEndThreshold || 100) &&
472
- // this.onRowsScrollEnd &&
473
- // !this.isLoading &&
474
- // !this.scrollToEnd
475
- // ) {
476
- // this.scrollToEnd = true;
477
- // this.onRowsScrollEnd();
478
- // }
479
- // }
480
- handleGetTotalNumber() {
481
- this.getTotalNumberFn && this.getTotalNumberFn();
482
- }
483
- toggleCustomPopover() {
484
- this.isOpen = !this.isOpen;
485
- }
486
- closePopover() {
487
- this.isOpen = !1;
488
- }
489
- toggleColumn(t) {
490
- var e;
491
- this.columnVisibility = {
492
- ...this.columnVisibility,
493
- [t]: !(((e = this.columnVisibility) == null ? void 0 : e[t]) ?? !0)
494
- }, this.table.setColumnVisibility(this.columnVisibility);
495
- }
496
- onSettingsChangedCallback(t) {
497
- var e;
498
- (t == null ? void 0 : t.enableSorting) !== void 0 && (this.enableSorting = t.enableSorting), (t == null ? void 0 : t.enableFiltering) !== void 0 && (this.enableFiltering = t.enableFiltering), (t == null ? void 0 : t.columnDefaultSize) !== void 0 && (this.columnDefaultSize = t.columnDefaultSize), (t == null ? void 0 : t.columnGroupedColor) !== void 0 && (this.columnGroupedColor = t.columnGroupedColor), (t == null ? void 0 : t.rowAggregationColor) !== void 0 && (this.rowAggregationColor = t.rowAggregationColor), (t == null ? void 0 : t.enableGrouping) !== void 0 && (this.enableGrouping = t.enableGrouping), (t == null ? void 0 : t.exportData) !== void 0 && (this.exportData = t.exportData), (t == null ? void 0 : t.actionButtonsInMenu) !== void 0 && (this.actionButtonsInMenu = t.actionButtonsInMenu), (t == null ? void 0 : t.hideFooter) !== void 0 && (this.hideFooter = t.hideFooter), (t == null ? void 0 : t.enableColumnPinning) !== void 0 && (this.enableColumnPinning = t.enableColumnPinning), this.initTable(), this.requestUpdate(), this.onSettingsChanged && (this.dispatchEvent(
499
- new CustomEvent("onSettingsChanged", {
500
- bubbles: !0,
501
- composed: !0,
502
- detail: t
503
- })
504
- ), (e = this.onSettingsChanged) == null || e.call(this, t));
505
- }
506
- _onRowMouseDown(t, e) {
507
- if (this.handleMouseDown(t, e), t.shiftKey) {
508
- t.currentTarget && t.currentTarget.classList.add("no-select");
509
- const o = window.getSelection();
510
- o && o.removeAllRanges();
511
- }
512
- }
513
- _onRowMouseUp(t) {
514
- t.currentTarget.classList.remove("no-select");
515
- }
516
- _rowUnselectAll(t) {
517
- t.resetRowSelection(), this.focusedRowIndex = 0;
518
- }
519
- render() {
520
- var C, w, S, v, I;
521
- const t = ((C = this.columns) == null ? void 0 : C.filter((i) => {
522
- var b;
523
- return (((b = i.headerName) == null ? void 0 : b.toLowerCase()) || i.field.toLowerCase()).includes(this.filterText);
524
- })) || [], e = this.enableMultiRowSelection ? [
525
- {
526
- id: "checkboxForMultiselect",
527
- type: "checkbox",
528
- minSize: 30,
529
- size: 30,
530
- enablePinning: !1,
531
- enableResizing: !1,
532
- header: ({ table: i }) => u`
533
- <div style="position: absolute; left: 0; bottom: 0; margin: 0.65rem 0;">
534
- <lit-checkbox
535
- type="checkbox"
536
- .onChange="${() => i.getIsSomeRowsSelected() ? this._rowUnselectAll(i) : i.toggleAllRowsSelected()}"
537
- .checked="${i.getIsAllRowsSelected()}"
538
- .indeterminate="${i.getIsSomeRowsSelected()}"
539
- ></lit-checkbox>
540
- </div>
541
- `,
542
- cell: ({ table: i, row: r }) => u`
543
- <div
544
- style="padding: 0.1875rem 0px 0px 0px"
545
- @click=${(b) => b.stopPropagation()}
546
- >
547
- <lit-checkbox
548
- type="checkbox"
549
- .onChange="${(b) => {
550
- b.stopPropagation(), r.toggleSelected(b.target.checked);
551
- }}"
552
- .checked="${r.getIsSelected()}"
553
- ?disabled="${!r.getCanSelect()}"
554
- .indeterminate="${r.getIsSomeSelected()}"
555
- ></lit-checkbox>
556
- </div>
557
- `
558
- }
559
- ] : [];
560
- ft() !== this.userLang && bt(this.userLang || "cs"), this.table = this.tableController.table({
561
- data: this.rows || [],
562
- columns: [...e, ...this.getTanstackColumns(this.getColumns)],
563
- columnResizeMode: "onChange",
564
- columnResizeDirection: "ltr",
565
- defaultColumn: {
566
- size: this.columnDefaultSize || void 0,
567
- //starting column size
568
- minSize: this.columnDefaultMinSize || 100,
569
- //enforced during column resizing
570
- maxSize: this.columnDefaultMaxSize || 500
571
- //enforced during column resizing
572
- },
573
- initialState: {
574
- // columnFilters: [...(this.initialFiltering || [])],
575
- // sorting: [...(this.initialSorting || [])],
576
- // expanded: { ...this.initialRowExpanded },
577
- grouping: [...this.initialGroups || []],
578
- columnVisibility: { ...this.initialColumnVisibility },
579
- columnPinning: {
580
- left: [...this.leftPinnedColumns || [], "checkboxForMultiselect"],
581
- right: ["actions"]
582
- }
583
- },
584
- state: {
585
- columnVisibility: this.columnVisibility,
586
- // columnFilters: this.server ? this.filtersServer : this.filters,
587
- columnFilters: this.initialFiltering,
588
- sorting: this.initialSorting,
589
- rowSelection: this.rowsSelected,
590
- columnSizing: this.columnSizing,
591
- expanded: this.initialRowExpanded,
592
- columnOrder: this.columnOrder
593
- },
594
- filterFns: {
595
- dateRangeFilterFn: Y,
596
- dateFilterFn: Z,
597
- multiselectFilterFn: J
598
- },
599
- // debugTable: true,
600
- enableRowSelection: this.enableRowSelection,
601
- enableMultiRowSelection: this.enableMultiRowSelection,
602
- enableColumnPinning: this.enableColumnPinning,
603
- enableGrouping: this.enableGrouping,
604
- manualFiltering: this.server,
605
- manualSorting: this.server,
606
- enableSorting: this.enableSorting,
607
- getRowId: (i, r) => this.getRowId ? this.getRowId(i, r) : r.toString(),
608
- // groupedColumnMode: 'reorder',
609
- getCoreRowModel: pt(),
610
- getSortedRowModel: ht(),
611
- getFilteredRowModel: ct(),
612
- getFacetedRowModel: dt(),
613
- getGroupedRowModel: at(),
614
- getExpandedRowModel: rt(),
615
- getFacetedUniqueValues: st(),
616
- onColumnFiltersChange: (i) => {
617
- this.currentScrollTop = 0;
618
- const r = this.tableContainerRef.value;
619
- r && (r.scrollTop = 0);
620
- const b = typeof i == "function" ? i(this.table.getState().columnFilters) : i;
621
- this.initialFiltering = b, this.onColumnFiltersChanged && this.onColumnFiltersChanged(this.table, b);
622
- },
623
- onSortingChange: (i) => {
624
- this.currentScrollTop = 0;
625
- const r = this.tableContainerRef.value;
626
- r && (r.scrollTop = 0);
627
- const b = typeof i == "function" ? i(this.table.getState().sorting) : i;
628
- this.initialSorting = b, this.onColumnSortChanged && this.onColumnSortChanged(this.table, b);
629
- },
630
- onRowSelectionChange: (i) => {
631
- const r = typeof i == "function" ? i(this.rowsSelected) : i;
632
- this.rowsSelected = r, this.onRowSelectionChanged && this.onRowSelectionChanged(this.table, r);
633
- },
634
- onColumnSizingChange: (i) => {
635
- const r = typeof i == "function" ? i(this.table.getState().columnSizing) : i;
636
- this.columnSizing = r, this.onColumnResize && this.onColumnResize(this.table, r);
637
- },
638
- onExpandedChange: (i) => {
639
- const r = typeof i == "function" ? i(this.initialRowExpanded) : i;
640
- this.initialRowExpanded = it.isEmpty(r) ? this.initialRowExpanded : r, this.requestUpdate();
641
- },
642
- onColumnOrderChange: (i) => {
643
- const r = typeof i == "function" ? i(this.columnOrder) : i;
644
- this.columnOrder = r, this.render(), this.onColumnOrderChanged && this.onColumnOrderChanged(this.table, r);
645
- },
646
- onColumnVisibilityChange: (i) => {
647
- const r = typeof i == "function" ? i(this.table.getState().columnVisibility) : i;
648
- this.columnVisibility = r, this.onColumnVisibilityChanged && this.onColumnVisibilityChanged(this.table, r);
649
- }
650
- }), this.rowsCount = this.table.getRowModel().rows.length;
651
- const o = this.enableRowVirtualization ? (w = this.rowVirtualizerController) == null ? void 0 : w.getVirtualizer() : null, d = this.enableColumnVirtualization ? (S = this.columnVirtualizerController) == null ? void 0 : S.getVirtualizer() : null, s = (d == null ? void 0 : d.getVirtualItems()) ?? [], { rows: p } = this.table.getRowModel(), g = o ? o.getVirtualItems() : p.map((i, r) => ({
652
- key: r,
653
- index: r,
654
- start: r * this.getRowHeight(),
655
- end: (r + 1) * this.getRowHeight(),
656
- size: this.getRowHeight(),
657
- lane: 0
658
- }));
659
- let h, m;
660
- d && (s != null && s.length) && this.enableColumnVirtualization && (h = ((v = s[0]) == null ? void 0 : v.start) ?? 0, m = d.getTotalSize() - (((I = s[s.length - 1]) == null ? void 0 : I.end) ?? 0));
661
- let x = window.matchMedia("(max-width: 600px)").matches;
662
- return u`
663
- <div class="data-grid__wrapper">
664
- ${this.isScrollable && !x ? u`
665
- <lit-icon-button
666
- class="scroll-button left"
667
- .disabled="${this.disableScrollLeft}"
668
- @pointerdown="${() => this.startScroll("left")}"
669
- @pointerup="${this.stopScroll}"
670
- @pointerleave="${this.stopScroll}"
671
- size="small"
672
- variant="contained"
673
- icon="arrowLeft"
674
- >
675
- </lit-icon-button>
676
- <lit-icon-button
677
- class="scroll-button right"
678
- .disabled="${this.disableScrollRight}"
679
- @pointerdown="${() => this.startScroll("right")}"
680
- @pointerup="${this.stopScroll}"
681
- @pointerleave="${this.stopScroll}"
682
- size="small"
683
- variant="contained"
684
- icon="arrowRight"
685
- >
686
- </lit-icon-button>
687
- ` : null}
688
-
689
- <div class="grid" ${X(this.tableContainerRef)}>
690
- <table
691
- part="dataGrid-table"
692
- style="width: ${this.table.getCenterTotalSize()}px"
693
- >
694
- <thead
695
- part="dataGrid-header"
696
- style="height: ${this.enableFiltering ? "4rem" : "1.625rem"};"
697
- >
698
- ${V(
699
- this.table.getHeaderGroups(),
700
- (i) => i.id,
701
- (i) => {
702
- const r = this.enableColumnVirtualization ? s.map((c) => i.headers[c.index]) : i.headers, b = this.enableColumnVirtualization ? [
703
- ...i.headers.filter(
704
- (c) => c.column.getIsPinned()
705
- ),
706
- ...r.filter(
707
- (c) => !c.column.getIsPinned()
708
- )
709
- ] : r;
710
- return u`
711
- <tr class="head" data-index="${i.id}">
712
- ${h ? u`
713
- <th
714
- style=" display: flex; width: ${h}px;"
715
- ></th>
716
- ` : ""}
717
- ${V(
718
- b,
719
- (c) => c.id,
720
- (c, D) => {
721
- var G, A, O, _, B, N, H, U;
722
- const y = c.column, F = {
723
- visibility: y.columnDef.type === "actions" ? "hidden" : "visible",
724
- ...this.getCommonPinningStyles(
725
- c.column
726
- ),
727
- width: `${y == null ? void 0 : y.getSize()}px`,
728
- flexGrow: `${y.columnDef.size === void 0 ? 1 : "unset"}`
729
- }, f = (G = y.columnDef.meta) == null ? void 0 : G.filterVariant, k = ((O = (A = y == null ? void 0 : y.columnDef) == null ? void 0 : A.meta) == null ? void 0 : O.filterOperators) || yt(f), P = ((_ = y == null ? void 0 : y.getFilterValue()) == null ? void 0 : _.value) || (y == null ? void 0 : y.getFilterValue()) || "", M = ((B = y == null ? void 0 : y.getFilterValue()) == null ? void 0 : B.operator) || ((N = k[0]) == null ? void 0 : N.value);
730
- return (f === "select" || f === "multiselect") && ((H = y == null ? void 0 : y.columnDef) != null && H.meta.valueOptions || this.server ? (U = y == null ? void 0 : y.columnDef) != null && U.meta.valueOptions : Array.from(
731
- y == null ? void 0 : y.getFacetedUniqueValues().keys()
732
- ).sort().slice(0, 5e3).map(
733
- (q) => ({
734
- value: q,
735
- label: q
736
- })
737
- )), u`
738
- <th
739
- class="head"
740
- style="${E(F)}"
741
- colspan="${c.colSpan}"
742
- data-index="${c.id}"
743
- >
744
- ${c.isPlaceholder ? "" : u`
745
- <div
746
- class="resizer ${this.table.options.columnResizeDirection} ${c.column.getIsResizing() ? "is-resizing" : ""}"
747
- style="transform: ${this.table.options.columnResizeMode === "onEnd" && c.column.getIsResizing() ? `translateX(${(this.table.options.columnResizeDirection === "rtl" ? -1 : 1) * (this.table.getState().columnSizingInfo.deltaOffset ?? 0)}px)` : ""}"
748
- >
749
- <div class="header">
750
- ${c.column.getIsFiltered() ? u`
751
- <div
752
- class="filterCirclePoint"
753
- ></div>
754
- ` : ""}
755
- <div
756
- class="column-header"
757
- @click=${c.column.getToggleSortingHandler()}
758
- >
759
- <lit-overflow-tooltip
760
- label="${c.column.columnDef.header}"
761
- >
762
- ${L(
763
- c.column.columnDef.header,
764
- c.getContext()
765
- )}
766
- </lit-overflow-tooltip>
767
- </div>
768
-
769
- <div
770
- class="icons-group-pin"
771
- >
772
- ${c.column.getCanSort() ? c.column.getIsSorted() ? c.column.getIsSorted() === "asc" ? u`<slot
773
- name="iconSortUp"
774
- ><lit-icon
775
- class="cursor"
776
- @click=${c.column.getToggleSortingHandler()}
777
- size="0.75rem"
778
- icon="chevronUpFilled"
779
- ></lit-icon
780
- ></slot>` : u`<slot
781
- name="iconSortDown"
782
- >
783
- <lit-icon
784
- class="cursor"
785
- @click=${c.column.getToggleSortingHandler()}
786
- size="0.75rem"
787
- icon="chevronDownFilled"
788
- ></lit-icon>
789
- </slot>` : u`<div
790
- class="sortFilled"
791
- >
792
- <lit-icon
793
- class="cursor"
794
- @click=${c.column.getToggleSortingHandler()}
795
- size="0.75rem"
796
- icon="sortFilled"
797
- ></lit-icon>
798
- </div>` : u`<div></div>`}
799
- <div class="flex">
800
- ${this.actionButtonsInMenu ? u`
801
- <lit-data-grid-action-buttons-popover
802
- .group="${c.column.getToggleGroupingHandler()}"
803
- .pin="${() => this.togglePin(
804
- c
805
- )}"
806
- .header="${c}"
807
- .table="${this.table}"
808
- ></lit-data-grid-action-buttons-popover>
809
- ` : u`
810
- ${c.column.getCanPin() ? u`
811
- <lit-icon-button
812
- @click="${() => this.togglePin(
813
- c
814
- )}"
815
- size="small"
816
- variant="text"
817
- icon="pin"
818
- .active="${c.column.getIsPinned()}"
819
- >
820
- </lit-icon-button>
821
- <simple-tooltip
822
- placement="bottom"
823
- >${c.column.getIsPinned() ? R(
824
- "Zrušit připnutí sloupce"
825
- ) : R(
826
- "Připnout sloupec vlevo"
827
- )}
828
- </simple-tooltip>
829
- ` : ""}
830
- ${c.column.getCanGroup() ? u`
831
- <lit-icon-button
832
- @click="${c.column.getToggleGroupingHandler()}"
833
- size="small"
834
- variant="text"
835
- .active="${c.column.getIsGrouped()}"
836
- icon="agregation"
837
- >
838
- </lit-icon-button>
839
- <simple-tooltip
840
- placement="bottom"
841
- >
842
- ${c.column.getIsGrouped() ? R(
843
- "Zrušit seskupení"
844
- ) : R(
845
- "Seskupit sloupec"
846
- )}</simple-tooltip
847
- >
848
- ` : ""}
849
- `}
850
- ${this.enableColumnOrdering && !c.column.getIsPinned() && !c.column.getIsGrouped() && ![
851
- "checkbox",
852
- "actions"
853
- ].includes(
854
- c.column.id
855
- ) ? u`<div
856
- class="drag-handle"
857
- >
858
- <lit-icon
859
- icon="hamburger"
860
- size="1rem"
861
- ></lit-icon>
862
- </div>
863
- <simple-tooltip
864
- placement="bottom"
865
- >${R(
866
- "Přesunout sloupec"
867
- )}</simple-tooltip
868
- > ` : null}
869
- </div>
870
- </div>
871
- </div>
872
- </div>
873
- ${c.column.getCanFilter() ? u`
874
- <div>
875
- <filter-inputs
876
- .minFilterCharacters=${this.minFilterCharacters}
877
- .column=${c.column}
878
- .dateFormat=${this.dateFormat}
879
- .userLang=${this.userLang}
880
- @filter-tab=${this.handleFilterTabNavigation}
881
- .server=${this.server}
882
- .value="${P}"
883
- .operator="${M}"
884
- .filterVariant="${f}"
885
- .filterOperators="${k}"
886
- ></filter-inputs>
887
- </div>
888
- ` : null}
889
- `}
890
- <div
891
- class="resize-handle"
892
- @dblclick="${($) => {
893
- $.target.classList.contains(
894
- "resize-handle"
895
- ) && c.column.resetSize();
896
- }}"
897
- @mousedown="${($) => {
898
- $.preventDefault(), $.stopPropagation(), $.target.classList.contains(
899
- "resize-handle"
900
- ) && c.getResizeHandler()(
901
- $
902
- );
903
- }}"
904
- @touchstart="${($) => {
905
- $.preventDefault(), $.stopPropagation(), $.target.classList.contains(
906
- "resize-handle"
907
- ) && c.getResizeHandler()(
908
- $
909
- );
910
- }}"
911
- ></div>
912
- </th>
913
- `;
914
- }
915
- )}
916
- ${m ? u`
917
- <th
918
- style=" display: flex; width: ${m}px;"
919
- ></th>
920
- ` : ""}
921
- </tr>
922
- `;
923
- }
924
- )}
925
- ${this.isLoading ? u`
926
- <div style="position: absolute; bottom: 0px; width: 100%;">
927
- <lit-loading-bar></lit-loading-bar>
928
- </div>
929
- ` : ""}
930
- </thead>
931
-
932
- <tbody
933
- @keydown=${this.handleKeyDown}
934
- tabindex="0"
935
- part="dataGrid-body"
936
- style="height: ${o && this.table.getRowModel().rows.length > 0 ? o.getTotalSize() + "px" : "auto"};"
937
- >
938
- ${p.length > 0 ? V(
939
- g,
940
- (i) => i.key,
941
- (i) => {
942
- const r = p[i.index], b = r == null ? void 0 : r.getVisibleCells(), c = this.enableColumnVirtualization ? s == null ? void 0 : s.map(
943
- (f) => b && b[f.index]
944
- ) : b, D = (b == null ? void 0 : b.filter(
945
- (f) => f.column.getIsPinned()
946
- )) || [], y = this.enableColumnVirtualization ? [.../* @__PURE__ */ new Set([...D, ...c])] : c, F = {
947
- transform: o ? `translateY(${i.start}px)` : "none",
948
- height: `${this.getRowHeight()}px`,
949
- lineHeight: `${this.getRowHeight()}px`,
950
- position: o ? "absolute" : "relative"
951
- };
952
- return r ? u`
953
- <tr
954
- tabindex=${this.enableRowSelection ? "0" : void 0}
955
- data-row-index="${r.index}"
956
- class="${this.rowsSelected[r.id] ? "selected body" : "body"}"
957
- data-index="${i.index}"
958
- @click="${r.getIsGrouped() ? r.getToggleExpandedHandler() : (f) => this.handleRowClick(f, r)}"
959
- @mousedown=${(f) => this._onRowMouseDown(f, r)}
960
- @mouseup=${this._onRowMouseUp}
961
- @mouseleave=${this._onRowMouseUp}
962
- @contextmenu=${(f) => f.preventDefault()}
963
- @dblclick="${() => this.handleRowDoubleClick(r)}"
964
- style="${E(F)}"
965
- ${X((f) => {
966
- f && this.enableRowVirtualization && o && o.measureElement(f);
967
- })}
968
- >
969
- ${h ? u`
970
- <th
971
- style=" display: flex; width: ${h}px;"
972
- ></th>
973
- ` : ""}
974
- <!-- Cells for each row -->
975
- ${V(
976
- y,
977
- (f) => f.key,
978
- (f) => {
979
- var M;
980
- this.getButtonSize();
981
- const { column: k } = f, P = {
982
- ...this.getCommonPinningStyles(
983
- f.column
984
- ),
985
- width: `${(M = f.column) == null ? void 0 : M.getSize()}px`,
986
- flexGrow: `${k.columnDef.size === void 0 ? 1 : "unset"}`,
987
- background: this.getCellBackgroundColor(
988
- f
989
- ),
990
- lineHeight: `${this.getRowHeight()}px`,
991
- padding: k.columnDef.type === "actions" || k.columnDef.type === "checkbox" ? "0" : "0px 14px"
992
- };
993
- return u`
994
- <td style="${E(P)}">
995
- ${f.getIsGrouped() ? u`<div
996
- class="grouped-column"
997
- >
998
- <lit-icon
999
- class="grouped-column--icon-button"
1000
- size="1.25rem"
1001
- icon="${r.getIsExpanded() ? "chevronDownFilled" : "chevron"}"
1002
- ></lit-icon>
1003
- <div
1004
- class="grouped-column--label"
1005
- >
1006
- <lit-overflow-tooltip
1007
- label=${f.getValue()}
1008
- >
1009
- ${f.getValue()}
1010
- </lit-overflow-tooltip>
1011
- </div>
1012
- <lit-pill
1013
- class="grouped-column--pill"
1014
- style="margin-left: 0.5rem"
1015
- count="${r.subRows.length}"
1016
- ></lit-pill>
1017
- </div> ` : f.getIsAggregated() ? u`
1018
- <div
1019
- style="flex-grow:1"
1020
- >
1021
- ${L(
1022
- f.column.columnDef.aggregatedCell ?? f.column.columnDef.cell,
1023
- f.getContext()
1024
- )}
1025
- </div>
1026
- ` : f.getIsPlaceholder() ? null : u`<lit-overflow-tooltip
1027
- placement="right"
1028
- label=${f.getValue()}
1029
- >${L(
1030
- f.column.columnDef.cell,
1031
- f.getContext()
1032
- )}</lit-overflow-tooltip
1033
- >`}
1034
- </td>
1035
- `;
1036
- }
1037
- )}
1038
- ${m ? u`
1039
- <th
1040
- style=" display: flex; width: ${m}px;"
1041
- ></th>
1042
- ` : ""}
1043
- </tr>
1044
- ` : null;
1045
- }
1046
- ) : null}
1047
- </tbody>
1048
- </table>
1049
- ${this.hideFooter ? "" : u`
1050
- <slot
1051
- part="dataGrid-footer"
1052
- name="dataGridFooter"
1053
- class="footer-container"
1054
- >
1055
- <div class="numberCount">
1056
- ${R("Počet záznamů")}:
1057
- ${this.table.getRowModel().rows.length}
1058
- <pre>/</pre>
1059
- ${this.server ? this.totalNumberRows ? this.totalNumberRows : "?" : this.table.getRowModel().rows.length}
1060
- ${this.server ? u`<lit-icon-button
1061
- icon="reload"
1062
- size="mini"
1063
- variant="text"
1064
- @click="${() => this.handleGetTotalNumber()}"
1065
- style="margin-left: 0.2rem; margin-top: -0.1rem"
1066
- ></lit-icon-button>` : ""}
1067
- </div>
1068
- <div class="right-actions">
1069
- <lit-data-grid-density-popover
1070
- .density="${this.rowDensity}"
1071
- .setDensity="${(i) => this.handleSetDensity(i)}"
1072
- >
1073
- </lit-data-grid-density-popover>
1074
- <lit-responsive-button
1075
- size="medium"
1076
- variant="text"
1077
- label=${R("Přizpůsobit sloupce")}
1078
- icon="columns"
1079
- @click=${() => this.table.resetColumnSizing()}
1080
- ></lit-responsive-button>
1081
- ${this.exportData ? u`
1082
- <lit-data-grid-export-popover
1083
- .exportToCsv="${typeof this.exportExcelFn == "function" ? () => this.exportCsvFn && this.exportCsvFn() : () => this.exportDataToCsv()}"
1084
- .exportToExcel="${typeof this.exportExcelFn == "function" ? () => this.exportExcelFn && this.exportExcelFn() : () => this.exportDataToExcel()}"
1085
- .disabledButtons="${this.isLoading}"
1086
- >
1087
- </lit-data-grid-export-popover>
1088
- ` : null}
1089
- ${this.enableSettings ? u`
1090
- <div>
1091
- <lit-responsive-button
1092
- variant="dashed"
1093
- label="${R("Přiřadit sloupec")}"
1094
- icon="add"
1095
- style="display: inline-block"
1096
- @click="${this.toggleCustomPopover}"
1097
- ></lit-responsive-button>
1098
-
1099
- <simple-popper
1100
- .showing=${this.isOpen}
1101
- .placement=${"top-end"}
1102
- .manualOpening=${!0}
1103
- .maxWidthAsTarget=${!1}
1104
- .onClose=${() => this.closePopover()}
1105
- >
1106
- <div
1107
- class="popper-input"
1108
- style="position: sticky; top: 0; z-index: 1;"
1109
- >
1110
- <lit-input
1111
- .value=${this.filterText}
1112
- .onInput=${(i) => {
1113
- var r;
1114
- this.filterText = ((r = i == null ? void 0 : i.toLowerCase) == null ? void 0 : r.call(i)) || "";
1115
- }}
1116
- .onClear=${() => {
1117
- this.filterText = "";
1118
- }}
1119
- placeholder="${R(
1120
- "Zadejte název sloupce"
1121
- )}"
1122
- ></lit-input>
1123
- </div>
1124
- <lit-menu tabindex="0">
1125
- ${this.columns.filter((i) => {
1126
- var b;
1127
- return (((b = i == null ? void 0 : i.headerName) == null ? void 0 : b.toLowerCase()) || (i == null ? void 0 : i.field.toLowerCase())).includes(
1128
- this.filterText
1129
- );
1130
- }).sort((i, r) => {
1131
- const b = i.field.startsWith("_"), c = r.field.startsWith("_");
1132
- return b && !c ? 1 : !b && c ? -1 : (i.headerName || i.field).localeCompare(
1133
- r.headerName || r.field
1134
- );
1135
- }).map(
1136
- (i) => {
1137
- var r, b;
1138
- return u`
1139
- <lit-menu-item
1140
- .onClick=${() => this.toggleColumn(
1141
- i == null ? void 0 : i.field
1142
- )}
1143
- .isActive=${((r = this.columnVisibility) == null ? void 0 : r[i == null ? void 0 : i.field]) !== !1}
1144
- >
1145
- <span
1146
- class="menu-item--multiple"
1147
- >
1148
- <lit-checkbox
1149
- class="cursor"
1150
- .checked=${((b = this.columnVisibility) == null ? void 0 : b[i == null ? void 0 : i.field]) !== !1}
1151
- ></lit-checkbox>
1152
- ${(i == null ? void 0 : i.headerName) || (i == null ? void 0 : i.field)}
1153
- </span>
1154
- </lit-menu-item>
1155
- `;
1156
- }
1157
- )}
1158
- </lit-menu>
1159
-
1160
- ${ot(t.length, 0) ? u`
1161
- <div
1162
- style="display: flex; flex-direction: column; align-items: center; padding: 1rem;"
1163
- >
1164
- <div
1165
- style="max-height: 6rem; max-width: 6rem;"
1166
- >
1167
- <not-found></not-found>
1168
- </div>
1169
- <div>
1170
- ${R("Nenalezeno")}
1171
- </div>
1172
- </div>
1173
- ` : null}
1174
- </simple-popper>
1175
-
1176
- <lit-icon-button
1177
- icon="administration"
1178
- @click="${this.toggleModal}"
1179
- variant="dashed"
1180
- style="display: inline-block"
1181
- ></lit-icon-button>
1182
- <data-grid-settings
1183
- .onClose="${() => {
1184
- this.isOpenModal = !1;
1185
- }}"
1186
- .isOpenModal="${this.isOpenModal}"
1187
- .enableFiltering="${this.enableFiltering}"
1188
- .enableSorting="${this.enableSorting}"
1189
- .columnDefaultSize="${this.columnDefaultSize}"
1190
- .columnGroupedColor="${this.columnGroupedColor}"
1191
- .rowAggregationColor="${this.rowAggregationColor}"
1192
- .enableGrouping="${this.enableGrouping}"
1193
- .enableColumnPinning="${this.enableColumnPinning}"
1194
- .exportData="${this.exportData}"
1195
- .actionButtonsInMenu="${this.actionButtonsInMenu}"
1196
- .hideFooter="${this.hideFooter}"
1197
- .onSettingsChangedModal="${this.onSettingsChangedCallback.bind(
1198
- this
1199
- )}"
1200
- ></data-grid-settings>
1201
- </div>
1202
- ` : null}
1203
- </div>
1204
- </slot>
1205
- `}
1206
- </div>
1207
- ${this.table.getRowModel().rows.length < 1 && !this.isLoading ? u` <div class="data-grid__empty">
1208
- <div style="max-height: 7.125rem; max-width: 7.125rem">
1209
- <not-found></not-found>
1210
- </div>
1211
- <div class="data-grid__empty-text">${R("Nic dalšího tu není")}</div>
1212
- </div>` : null}
1213
- </div>
1214
- `;
1215
- }
1216
- };
1217
- n.styles = [
1218
- // styles,
1219
- et`
1220
- *,
1221
- *::before,
1222
- *::after {
1223
- margin: 0;
1224
- padding: 0;
1225
- box-sizing: border-box;
1226
- }
1227
-
1228
- display: block;
1229
- font-family: 'Inter', sans-serif;
1230
- box-sizing: border-box;
1231
-
1232
- td {
1233
- padding: 0px;
1234
- }
1235
- .data-grid__wrapper {
1236
- position: relative;
1237
- background-color: var(--background-paper, #fff);
1238
- height: 100%;
1239
- z-index: 1;
1240
- }
1241
-
1242
- .grid {
1243
- overflow: auto;
1244
- position: relative;
1245
- height: 100%;
1246
- }
1247
-
1248
- .data-grid__empty {
1249
- position: absolute;
1250
- top: 50%;
1251
- left: 50%;
1252
- transform: translate(-50%, -50%);
1253
- font-size: 0.875rem;
1254
- text-align: center;
1255
- }
1256
-
1257
- table {
1258
- border-collapse: collapse;
1259
- border-spacing: 0;
1260
- width: 99% !important;
1261
- height: calc(100% - 38px);
1262
- }
1263
-
1264
- thead {
1265
- display: flex;
1266
- position: sticky;
1267
- top: 0;
1268
- z-index: 10;
1269
- background-color: var(--background-paper, #fff);
1270
- border-bottom: 1px solid var(--color-divider, #d0d3db);
1271
- }
1272
-
1273
- tr.head {
1274
- display: flex;
1275
- width: 100%;
1276
- }
1277
-
1278
- th.head {
1279
- display: block;
1280
- position: relative;
1281
- padding: 0 6px;
1282
- gap: 0.25rem;
1283
- //z-index: auto !important;
1284
- }
1285
-
1286
- tbody {
1287
- display: grid;
1288
- position: relative;
1289
- outline: none;
1290
- }
1291
-
1292
- tr.body {
1293
- width: 100%;
1294
- border-bottom: 1px solid var(--color-divider, #d0d3db);
1295
- display: flex;
1296
- overflow: visible;
1297
- }
1298
- tr:focus {
1299
- background-color: var(--color-primary-light, #f0fadf);
1300
- outline: none;
1301
- }
1302
- // tr.selected:focus {
1303
- // background-color: var(--color-primary-main, #f0fadf);
1304
- // outline: none;
1305
- // }
1306
-
1307
- tr.body:hover:not(.selected):not(:focus) {
1308
- cursor: pointer;
1309
- background-color: var(--background-default, #eff3f4);
1310
- }
1311
-
1312
- td {
1313
- display: table-cell;
1314
- white-space: nowrap;
1315
- overflow: hidden;
1316
- padding: 0px 14px;
1317
- font-weight: 500;
1318
- font-size: 12px;
1319
- color: var(--text-primary, #111827);
1320
- display: flex;
1321
- align-items: center;
1322
- }
1323
-
1324
- .column-header {
1325
- font-size: 11px;
1326
- font-weight: 600;
1327
- color: var(--text-secondary, #5d6371);
1328
- cursor: pointer;
1329
- gap: 0.25rem;
1330
- justify-content: center;
1331
- align-items: center;
1332
- margin: 0 0.25rem;
1333
- overflow: hidden;
1334
- white-space: nowrap;
1335
- text-overflow: ellipsis;
1336
- height: inherit;
1337
- display: flex;
1338
- }
1339
- .no-select,
1340
- .no-select * {
1341
- user-select: none !important;
1342
- }
1343
- .ellipsis {
1344
- overflow: hidden;
1345
- white-space: nowrap;
1346
- text-overflow: ellipsis;
1347
- }
1348
-
1349
- .icons-group-pin {
1350
- display: flex;
1351
- height: 100%;
1352
- justify-content: space-between;
1353
- flex-grow: 1;
1354
- }
1355
-
1356
- .flex {
1357
- display: flex;
1358
- }
1359
-
1360
- .drag-handle {
1361
- display: flex;
1362
- align-items: center;
1363
- justify-content: center;
1364
- padding: 1px 6px;
1365
- cursor: grab;
1366
- }
1367
-
1368
- .resizer {
1369
- height: 23px;
1370
- padding: 0 0 0 6px;
1371
- text-align: start;
1372
- //cursor: col-resize;
1373
- user-select: none;
1374
- touch-action: none;
1375
- }
1376
-
1377
- .resize-handle {
1378
- position: absolute;
1379
- top: 0;
1380
- right: 0px;
1381
- width: 6px;
1382
- height: 100%;
1383
- background: transparent;
1384
- cursor: col-resize;
1385
- transition: background-color 0.2s ease-in-out;
1386
- // border-radius: 5px;
1387
- // padding-bottom: 5px;
1388
- }
1389
-
1390
- .resize-handle:hover {
1391
- border-right: 2px solid var(--color-primary-main, #75b603);
1392
- }
1393
-
1394
- .resizer.ltr {
1395
- right: 0;
1396
- }
1397
-
1398
- .resizer.rtl {
1399
- left: 0;
1400
- }
1401
-
1402
- .resizer.is-resizing {
1403
- opacity: 1;
1404
- }
1405
-
1406
- .footer-container {
1407
- position: sticky;
1408
- left: 0;
1409
- bottom: 0;
1410
- background-color: var(--background-paper, #fff);
1411
- width: auto;
1412
- border-top: 1px solid var(--color-divider, #d0d3db);
1413
- height: 2.375rem;
1414
- display: flex;
1415
- flex-direction: row;
1416
- justify-content: space-between;
1417
- align-items: center;
1418
- // padding: 0 16px;
1419
- z-index: 10;
1420
- }
1421
-
1422
- .right-actions {
1423
- position: absolute;
1424
- right: 0;
1425
- display: flex;
1426
- }
1427
-
1428
- .numberCount {
1429
- margin: 0.375rem 0;
1430
- font-size: 12px;
1431
- font-weight: 400;
1432
- color: var(--text-primary, #111827);
1433
- display: flex;
1434
- align-items: center;
1435
- }
1436
-
1437
- .scroll-button {
1438
- position: absolute;
1439
- top: 50%;
1440
- transform: translateY(-50%);
1441
- z-index: 1000;
1442
- cursor: pointer;
1443
- }
1444
-
1445
- .scroll-button.left {
1446
- left: 3rem;
1447
- }
1448
-
1449
- .scroll-button.right {
1450
- right: 3rem;
1451
- }
1452
-
1453
- .selected {
1454
- background-color: var(--color-primary-light, #f0fadf);
1455
- }
1456
-
1457
- .sortFilled {
1458
- visibility: hidden;
1459
- }
1460
- .header {
1461
- display: flex;
1462
- align-items: center;
1463
- height: 100%;
1464
- }
1465
- .header:hover .sortFilled {
1466
- visibility: visible;
1467
- }
1468
- .grouped-column {
1469
- display: flex;
1470
- align-items: center;
1471
- justify-content: space-between;
1472
- width: 100%;
1473
- gap: 0.25rem;
1474
- }
1475
- .grouped-column--icon-button {
1476
- display: flex;
1477
- align-items: center;
1478
- position: relative;
1479
- top: -1.5px;
1480
- }
1481
- .grouped-column--label {
1482
- display: flex;
1483
- align-items: center;
1484
- overflow: hidden;
1485
- flex-grow: 1;
1486
- }
1487
- .grouped-column--pill {
1488
- margin-left: 0.5rem;
1489
- }
1490
- .filterCirclePoint {
1491
- width: 8px;
1492
- height: 8px;
1493
- border-radius: 50%;
1494
- background-color: var(--color-primary-main, #75b603);
1495
- display: inline-block;
1496
- vertical-align: middle;
1497
- }
1498
- .cursor {
1499
- cursor: pointer;
1500
- color: var(--text-secondary, #5d6371);
1501
- }
1502
- .data-grid__empty-text {
1503
- color: var(--text-primary, #5d6371);
1504
- }
1505
- `
1506
- ];
1507
- l([
1508
- a({ type: Array, reflect: !0 })
1509
- ], n.prototype, "row", 2);
1510
- l([
1511
- a({ type: Array })
1512
- ], n.prototype, "columns", 2);
1513
- l([
1514
- a({ type: Number })
1515
- ], n.prototype, "columnDefaultSize", 2);
1516
- l([
1517
- a({ type: Number })
1518
- ], n.prototype, "columnDefaultMinSize", 2);
1519
- l([
1520
- a({ type: Number })
1521
- ], n.prototype, "columnDefaultMaxSize", 2);
1522
- l([
1523
- a({ type: String })
1524
- ], n.prototype, "columnGroupedColor", 2);
1525
- l([
1526
- a({ type: String })
1527
- ], n.prototype, "rowAggregationColor", 2);
1528
- l([
1529
- a({ type: Boolean })
1530
- ], n.prototype, "enableRowVirtualization", 2);
1531
- l([
1532
- a({ type: Boolean })
1533
- ], n.prototype, "enableColumnVirtualization", 2);
1534
- l([
1535
- a({ type: Boolean })
1536
- ], n.prototype, "enableColumnPinning", 2);
1537
- l([
1538
- a({ type: Boolean })
1539
- ], n.prototype, "enableColumnOrdering", 2);
1540
- l([
1541
- a({ type: Boolean })
1542
- ], n.prototype, "enableGrouping", 2);
1543
- l([
1544
- a({ type: Boolean })
1545
- ], n.prototype, "enablePinning", 2);
1546
- l([
1547
- a({ type: Boolean })
1548
- ], n.prototype, "exportData", 2);
1549
- l([
1550
- a({ type: Boolean })
1551
- ], n.prototype, "actionButtonsInMenu", 2);
1552
- l([
1553
- a({ type: String })
1554
- ], n.prototype, "id", 2);
1555
- l([
1556
- a({ type: Array })
1557
- ], n.prototype, "initialGroups", 2);
1558
- l([
1559
- a({ type: Array })
1560
- ], n.prototype, "initialSorting", 2);
1561
- l([
1562
- a({ type: Object })
1563
- ], n.prototype, "initialColumnVisibility", 2);
1564
- l([
1565
- a({ type: Object })
1566
- ], n.prototype, "initialRowExpanded", 2);
1567
- l([
1568
- a({ type: Object })
1569
- ], n.prototype, "columnSizing", 2);
1570
- l([
1571
- a({ type: Array })
1572
- ], n.prototype, "leftPinnedColumns", 2);
1573
- l([
1574
- a({ type: Array })
1575
- ], n.prototype, "rightPinnedColumns", 2);
1576
- l([
1577
- a({ type: Boolean })
1578
- ], n.prototype, "enableFiltering", 2);
1579
- l([
1580
- a({ type: Boolean })
1581
- ], n.prototype, "enableSorting", 2);
1582
- l([
1583
- a({ type: String })
1584
- ], n.prototype, "userLang", 2);
1585
- l([
1586
- a({ type: String })
1587
- ], n.prototype, "dateFormat", 2);
1588
- l([
1589
- a({ type: Boolean })
1590
- ], n.prototype, "isLoading", 2);
1591
- l([
1592
- a({ type: Boolean })
1593
- ], n.prototype, "enableRowSelection", 2);
1594
- l([
1595
- a({ type: Array })
1596
- ], n.prototype, "initialFiltering", 2);
1597
- l([
1598
- a({ type: Boolean })
1599
- ], n.prototype, "server", 2);
1600
- l([
1601
- a({ type: Number })
1602
- ], n.prototype, "scrollEndThreshold", 2);
1603
- l([
1604
- a({ type: String })
1605
- ], n.prototype, "rowDensity", 2);
1606
- l([
1607
- a({ type: Boolean })
1608
- ], n.prototype, "enableMultiRowSelection", 2);
1609
- l([
1610
- a({ type: Number })
1611
- ], n.prototype, "totalNumberRows", 2);
1612
- l([
1613
- a({ type: Number })
1614
- ], n.prototype, "minFilterCharacters", 2);
1615
- l([
1616
- a({ type: Boolean })
1617
- ], n.prototype, "localizeDate", 2);
1618
- l([
1619
- a({ type: Boolean })
1620
- ], n.prototype, "rowsSelected", 2);
1621
- l([
1622
- a({ type: Boolean })
1623
- ], n.prototype, "enableSettings", 2);
1624
- l([
1625
- a({ attribute: !1 })
1626
- ], n.prototype, "onSettingsChanged", 2);
1627
- l([
1628
- a({ type: Function })
1629
- ], n.prototype, "onRowClick", 2);
1630
- l([
1631
- a({ type: Function })
1632
- ], n.prototype, "onRowsScrollEnd", 2);
1633
- l([
1634
- a({ type: Function })
1635
- ], n.prototype, "onRowDoubleClick", 2);
1636
- l([
1637
- a({ type: Function })
1638
- ], n.prototype, "rowDensityChange", 2);
1639
- l([
1640
- a({ type: Function })
1641
- ], n.prototype, "exportExcelFn", 2);
1642
- l([
1643
- a({ type: Function })
1644
- ], n.prototype, "exportCsvFn", 2);
1645
- l([
1646
- a({ type: Function })
1647
- ], n.prototype, "getTotalNumberFn", 2);
1648
- l([
1649
- a({ type: Function })
1650
- ], n.prototype, "onCellKeyDown", 2);
1651
- l([
1652
- a({ type: Function })
1653
- ], n.prototype, "getRowId", 2);
1654
- l([
1655
- a({ type: Function })
1656
- ], n.prototype, "onColumnResize", 2);
1657
- l([
1658
- a({ type: Boolean })
1659
- ], n.prototype, "onColumnFiltersChanged", 2);
1660
- l([
1661
- a({ type: Boolean })
1662
- ], n.prototype, "onColumnSortChanged", 2);
1663
- l([
1664
- a({ type: Function })
1665
- ], n.prototype, "onRowSelectionChanged", 2);
1666
- l([
1667
- a({ type: Function })
1668
- ], n.prototype, "onColumnOrderChanged", 2);
1669
- l([
1670
- a({ type: Boolean })
1671
- ], n.prototype, "hideFooter", 2);
1672
- l([
1673
- a({ type: Object })
1674
- ], n.prototype, "columnVisibility", 2);
1675
- l([
1676
- a({ type: Function })
1677
- ], n.prototype, "onColumnVisibilityChanged", 2);
1678
- l([
1679
- a({ type: Function })
1680
- ], n.prototype, "onMouseDown", 2);
1681
- l([
1682
- a({ type: Function })
1683
- ], n.prototype, "onRowFocusChanged", 2);
1684
- l([
1685
- a({ type: Number })
1686
- ], n.prototype, "focusedRowIndex", 2);
1687
- l([
1688
- a({ type: Boolean })
1689
- ], n.prototype, "autoFocus", 2);
1690
- l([
1691
- z()
1692
- ], n.prototype, "rowsCount", 2);
1693
- l([
1694
- z()
1695
- ], n.prototype, "isScrollable", 2);
1696
- l([
1697
- z()
1698
- ], n.prototype, "disableScrollLeft", 2);
1699
- l([
1700
- z()
1701
- ], n.prototype, "disableScrollRight", 2);
1702
- l([
1703
- z()
1704
- ], n.prototype, "columnOrder", 2);
1705
- l([
1706
- z()
1707
- ], n.prototype, "table", 2);
1708
- l([
1709
- z()
1710
- ], n.prototype, "isOpen", 2);
1711
- l([
1712
- z()
1713
- ], n.prototype, "filterText", 2);
1714
- l([
1715
- z()
1716
- ], n.prototype, "isOpenModal", 2);
1717
- l([
1718
- Q("tbody")
1719
- ], n.prototype, "tableBody", 2);
1720
- l([
1721
- Q(".grid")
1722
- ], n.prototype, "_container", 2);
1723
- n = l([
1724
- nt("lit-data-grid-tanstack")
1725
- ], n);
1726
- export {
1727
- n as LitDataGridTanstack
1728
- };