@guiexpert/table 1.1.8 → 1.1.10

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/index.js CHANGED
@@ -23,18 +23,18 @@ class F {
23
23
  }
24
24
  }
25
25
  }
26
- function O(h) {
27
- return h && h.type === "TreeRow";
26
+ function L(c) {
27
+ return c && c.type === "TreeRow";
28
28
  }
29
- function z(h) {
30
- return h && h.type === "AreaModelTree";
29
+ function z(c) {
30
+ return c && c.type === "AreaModelTree";
31
31
  }
32
- function we(h) {
33
- return h && h.type === "CheckboxColumnDef";
32
+ function ye(c) {
33
+ return c && c.type === "CheckboxColumnDef";
34
34
  }
35
35
  class K {
36
- constructor(e = -1, t = -1, o = -1, s = -1, i, r, l, n = 0, d = 0, a = 0, c = "") {
37
- this.rowIndex = e, this.rowTop = t, this.columnIndex = o, this.columnLeft = s, this.areaIdent = i, this.sideIdent = r, this.originalEvent = l, this.clickCount = n, this.draggingX = d, this.draggingY = a, this.action = c;
36
+ constructor(e = -1, t = -1, o = -1, s = -1, i, r, n, l = 0, d = 0, a = 0, h = "") {
37
+ this.rowIndex = e, this.rowTop = t, this.columnIndex = o, this.columnLeft = s, this.areaIdent = i, this.sideIdent = r, this.originalEvent = n, this.clickCount = l, this.draggingX = d, this.draggingY = a, this.action = h;
38
38
  }
39
39
  clone() {
40
40
  return new K(
@@ -52,25 +52,25 @@ class K {
52
52
  );
53
53
  }
54
54
  }
55
- class P {
55
+ class O {
56
56
  constructor(e = ">", t = "", o = []) {
57
57
  this.content = e, this.style = t, this.classes = o;
58
58
  }
59
59
  }
60
60
  class ge {
61
- constructor(e = new P(
61
+ constructor(e = new O(
62
62
  ">",
63
63
  "transform: rotate(90deg) translate(66%, -66%); transform-origin: 0 0;",
64
64
  ["gt-table-tree-arrow-expanded"]
65
- ), t = new P(
65
+ ), t = new O(
66
66
  ">",
67
67
  "",
68
68
  ["ge-table-tree-arrow-collapsed"]
69
- ), o = new P(
69
+ ), o = new O(
70
70
  ">",
71
71
  "color:transparent;",
72
72
  ["gt-table-tree-arrow-hidden"]
73
- ), s = new P(
73
+ ), s = new O(
74
74
  "↕",
75
75
  "",
76
76
  ["gt-table-tree-arrow-expanded-all"]
@@ -78,12 +78,12 @@ class ge {
78
78
  this.arrowExpanded = e, this.arrowCollapsed = t, this.arrowPlaceholder = o, this.arrowExpandCollapseAll = s;
79
79
  }
80
80
  }
81
- class be {
82
- constructor(e = new P("↑", "", ["ge-header-sorted-asc"]), t = new P("↓", "", ["ge-header-sorted-desc"]), o = new P("↑", "color:transparent;", [])) {
81
+ class pe {
82
+ constructor(e = new O("↑", "", ["ge-header-sorted-asc"]), t = new O("↓", "", ["ge-header-sorted-desc"]), o = new O("↑", "color:transparent;", [])) {
83
83
  this.iconAsc = e, this.iconDesc = t, this.iconPlaceholder = o;
84
84
  }
85
85
  }
86
- class xe {
86
+ class Ce {
87
87
  constructor(e) {
88
88
  this.domService = e;
89
89
  }
@@ -157,26 +157,26 @@ class xe {
157
157
  return this.addClass(e, o), this.domService.appendChild(t, o), o;
158
158
  }
159
159
  addRowDiv(e, t, o = -1, s, i, r = "") {
160
- const l = t.index ?? -1, n = this.getDivOrCreateDiv(l, e);
161
- if (this.domService.addClass(n, "ge-table-row-div"), this.domService.addClass(n, `ge-table-row-div-${t.index}`), s === "body" && i === "center") {
160
+ const n = t.index ?? -1, l = this.getDivOrCreateDiv(n, e);
161
+ if (this.domService.addClass(l, "ge-table-row-div"), this.domService.addClass(l, `ge-table-row-div-${t.index}`), s === "body" && i === "center") {
162
162
  const d = ((t == null ? void 0 : t.index) ?? 0) % 2 === 0 ? "even" : "odd";
163
- this.domService.addClass(n, `ge-table-row-${d}`);
163
+ this.domService.addClass(l, `ge-table-row-${d}`);
164
164
  }
165
- if (this.domService.setStyle(n, "display", "clip"), this.domService.setStyle(n, "position", "absolute"), this.domService.setStyle(n, "left", `${t.left}px`), this.domService.setStyle(n, "top", `${t.top}px`), this.domService.setStyle(n, "width", `${t.width}px`), this.domService.setStyle(n, "height", `${t.height}px`), this.domService.setAttribute(n, "data-row-index", `${o}`), this.domService.setAttribute(n, "data-area", `${s}`), r) {
165
+ if (this.domService.setStyle(l, "display", "clip"), this.domService.setStyle(l, "position", "absolute"), this.domService.setStyle(l, "left", `${t.left}px`), this.domService.setStyle(l, "top", `${t.top}px`), this.domService.setStyle(l, "width", `${t.width}px`), this.domService.setStyle(l, "height", `${t.height}px`), this.domService.setAttribute(l, "data-row-index", `${o}`), this.domService.setAttribute(l, "data-area", `${s}`), r) {
166
166
  const d = this.domService.createText(r);
167
- this.domService.appendChild(n, d);
167
+ this.domService.appendChild(l, d);
168
168
  }
169
- return this.domService.appendChild(e.child, n), n;
170
- }
171
- addColumnDiv(e, t, o = -1, s = -1, i, r, l = "", n, d, a = void 0, c) {
172
- const u = d == null ? void 0 : d.treeOptions, m = d == null ? void 0 : d.showCheckboxWihoutExtraColumn, b = this.domService.createElement("div");
173
- this.domService.addClass(b, "ge-table-col-div"), this.domService.addClass(b, `ge-table-col-div-${t.index}`), this.domService.setAttribute(b, "data-col-index", `${t.index}`), this.domService.setAttribute(b, "data-row-index", `${o}`), this.domService.setAttribute(b, "data-area", `${i}`);
174
- const S = ((t == null ? void 0 : t.index) ?? 0) % 2 === 0 ? "even" : "odd";
175
- if (i === "body" && r === "center" && this.domService.addClass(b, `ge-table-column-${S}`), this.domService.setStyle(b, "display", "clip"), this.domService.setStyle(b, "position", "absolute"), this.domService.setStyle(b, "left", `${t.left}px`), this.domService.setStyle(b, "top", `${t.top}px`), this.domService.setStyle(b, "width", `${t.width}px`), this.domService.setStyle(b, "height", `${t.height}px`), n && n !== "none" && (this.domService.addClass(b, "ge-table-col-tree"), this.addArrowDiv(b, n, u, o, s, i)), m && s === 0 && a && this.addCheckboxToDiv(b, a, i, o), l) {
176
- const g = n !== "none" && s === 0;
177
- this.addLabelDiv(b, l, g, o, s, i);
169
+ return this.domService.appendChild(e.child, l), l;
170
+ }
171
+ addColumnDiv(e) {
172
+ const { parent: t, geo: o, rowIndex: s = -1, columnIndex: i = -1, areaIdent: r, sideIdent: n, text: l = "", treeArrow: d, tableOptions: a, checkedType: h = void 0, sortState: u } = e, w = a == null ? void 0 : a.treeOptions, f = a == null ? void 0 : a.showCheckboxWihoutExtraColumn, b = this.domService.createElement("div");
173
+ this.domService.addClass(b, "ge-table-col-div"), this.domService.addClass(b, `ge-table-col-div-${o.index}`), this.domService.setAttribute(b, "data-col-index", `${o.index}`), this.domService.setAttribute(b, "data-row-index", `${s}`), this.domService.setAttribute(b, "data-area", `${r}`);
174
+ const g = ((o == null ? void 0 : o.index) ?? 0) % 2 === 0 ? "even" : "odd";
175
+ if (r === "body" && n === "center" && this.domService.addClass(b, `ge-table-column-${g}`), this.domService.setStyle(b, "display", "clip"), this.domService.setStyle(b, "position", "absolute"), this.domService.setStyle(b, "left", `${o.left}px`), this.domService.setStyle(b, "top", `${o.top}px`), this.domService.setStyle(b, "width", `${o.width}px`), this.domService.setStyle(b, "height", `${o.height}px`), d && d !== "none" && (this.domService.addClass(b, "ge-table-col-tree"), this.addArrowDiv(b, d, w, s, i, r)), f && i === 0 && h && this.addCheckboxToDiv(b, h, r, s), l) {
176
+ const p = d !== "none" && i === 0;
177
+ this.addLabelDiv(b, l, p, s, i, r);
178
178
  }
179
- return c && this.addSortedIcon(b, c, d == null ? void 0 : d.sortedOptions, s), this.domService.appendChild(e, b), b;
179
+ return u && this.addSortedIcon(b, u, a == null ? void 0 : a.sortedOptions, i), this.domService.appendChild(t, b), b;
180
180
  }
181
181
  addCheckboxToDiv(e, t, o, s) {
182
182
  const i = this.domService.createElement("div"), r = t === "full" ? "checked" : "";
@@ -190,40 +190,40 @@ class xe {
190
190
  class="ge-table-row-checkbox"> `, this.domService.setStyle(i, "display", "inline"), this.domService.setStyle(i, "width", "inherit"), this.domService.setAttribute(i, "data-row-index", `${s}`), this.domService.appendChild(e, i), i;
191
191
  }
192
192
  addLabelDiv(e, t = "", o = !1, s = -1, i = -1, r = "body") {
193
- const l = this.domService.createElement("div");
194
- if (this.domService.addClass(l, "ge-table-label-div"), this.domService.setStyle(l, "position", "relative"), this.domService.setStyle(l, "background", "transparent"), this.domService.setStyle(l, "width", "100%"), this.domService.setStyle(l, "height", "100%"), this.domService.setAttribute(l, "data-row-index", `${s}`), this.domService.setAttribute(l, "data-col-index", `${i}`), this.domService.setAttribute(l, "data-area", `${r}`), t)
193
+ const n = this.domService.createElement("div");
194
+ if (this.domService.addClass(n, "ge-table-label-div"), this.domService.setStyle(n, "position", "relative"), this.domService.setStyle(n, "background", "transparent"), this.domService.setStyle(n, "width", "100%"), this.domService.setStyle(n, "height", "100%"), this.domService.setAttribute(n, "data-row-index", `${s}`), this.domService.setAttribute(n, "data-col-index", `${i}`), this.domService.setAttribute(n, "data-area", `${r}`), t)
195
195
  if (o) {
196
- const n = this.domService.createText(t);
197
- this.domService.appendChild(l, n);
196
+ const l = this.domService.createText(t);
197
+ this.domService.appendChild(n, l);
198
198
  } else {
199
- const n = this.domService.createElement("div");
200
- this.domService.appendChild(l, n);
199
+ const l = this.domService.createElement("div");
200
+ this.domService.appendChild(n, l);
201
201
  const d = this.domService.createText(t);
202
- this.domService.addClass(n, "ge-table-label"), this.domService.appendChild(n, d), this.domService.setAttribute(n, "data-row-index", `${s}`), this.domService.setAttribute(n, "data-col-index", `${i}`), this.domService.setAttribute(n, "data-area", `${r}`);
202
+ this.domService.addClass(l, "ge-table-label"), this.domService.appendChild(l, d), this.domService.setAttribute(l, "data-row-index", `${s}`), this.domService.setAttribute(l, "data-col-index", `${i}`), this.domService.setAttribute(l, "data-area", `${r}`);
203
203
  }
204
- return this.domService.appendChild(e, l), l;
204
+ return this.domService.appendChild(e, n), n;
205
205
  }
206
- addSortedIcon(e, t = "", o = new be(), s = -1) {
206
+ addSortedIcon(e, t = "", o = new pe(), s = -1) {
207
207
  const i = this.domService.createElement("div");
208
208
  this.domService.addClass(i, "ge-table-sorted-icon-div"), this.domService.setStyle(i, "position", "absolute"), this.domService.setStyle(i, "top", "0"), this.domService.setStyle(i, "right", "0"), this.domService.setStyle(i, "width", "20px"), this.domService.setStyle(i, "background", "transparent"), this.domService.setStyle(i, "cursor", "pointer"), this.domService.setAttribute(i, "data-col-index", `${s}`), this.domService.setAttribute(i, "data-area", "header");
209
209
  let r;
210
210
  t === "asc" ? r = o.iconAsc : t === "desc" ? r = o.iconDesc : r = o.iconPlaceholder;
211
- const l = r.content, n = this.domService.createText(l);
212
- this.domService.appendChild(i, n), r.style && this.applyStyleString(i, r.style);
211
+ const n = r.content, l = this.domService.createText(n);
212
+ this.domService.appendChild(i, l), r.style && this.applyStyleString(i, r.style);
213
213
  for (const d of r.classes)
214
214
  this.domService.addClass(i, d);
215
215
  return this.domService.appendChild(e, i), i;
216
216
  }
217
217
  addArrowDiv(e, t = "none", o = new ge(), s = -1, i = -1, r = "body") {
218
- const l = this.domService.createElement("div");
219
- this.domService.addClass(l, "ge-table-tree-arrow-div"), this.domService.setStyle(l, "display", "inline-block"), this.domService.setStyle(l, "position", ""), this.domService.setStyle(l, "width", "20px"), this.domService.setStyle(l, "background", "transparent"), this.domService.setStyle(l, "cursor", "pointer"), this.domService.setAttribute(l, "data-row-index", `${s}`), this.domService.setAttribute(l, "data-col-index", `${i}`), this.domService.setAttribute(l, "data-area", `${r}`);
220
- let n;
221
- t === "expanded" ? n = o.arrowExpanded : t === "collapsed" ? n = o.arrowCollapsed : n = o.arrowPlaceholder;
222
- const d = n.content, a = this.domService.createText(d);
223
- this.domService.appendChild(l, a), n.style && this.applyStyleString(l, n.style);
224
- for (const c of n.classes)
225
- this.domService.addClass(l, c);
226
- return this.domService.appendChild(e, l), l;
218
+ const n = this.domService.createElement("div");
219
+ this.domService.addClass(n, "ge-table-tree-arrow-div"), this.domService.setStyle(n, "display", "inline-block"), this.domService.setStyle(n, "position", ""), this.domService.setStyle(n, "width", "20px"), this.domService.setStyle(n, "background", "transparent"), this.domService.setStyle(n, "cursor", "pointer"), this.domService.setAttribute(n, "data-row-index", `${s}`), this.domService.setAttribute(n, "data-col-index", `${i}`), this.domService.setAttribute(n, "data-area", `${r}`);
220
+ let l;
221
+ t === "expanded" ? l = o.arrowExpanded : t === "collapsed" ? l = o.arrowCollapsed : l = o.arrowPlaceholder;
222
+ const d = l.content, a = this.domService.createText(d);
223
+ this.domService.appendChild(n, a), l.style && this.applyStyleString(n, l.style);
224
+ for (const h of l.classes)
225
+ this.domService.addClass(n, h);
226
+ return this.domService.appendChild(e, n), n;
227
227
  }
228
228
  addColumnBorderDivs(e, t, o, s, i) {
229
229
  if (e.verticalBorderVisible) {
@@ -265,8 +265,8 @@ class xe {
265
265
  return o ? (o.innerText = "", o) : (o = this.domService.createElement("div"), t.cache[e] = o, o);
266
266
  }
267
267
  }
268
- const U = (h) => h === "header" ? "header" : h === "footer" ? "footer" : "body";
269
- class ye {
268
+ const U = (c) => c === "header" ? "header" : c === "footer" ? "footer" : "body";
269
+ class ve {
270
270
  constructor(e, t) {
271
271
  if (this.rowIdx = -1, this.colIdx = -1, this.action = null, this.inputType = null, this.className = "", e !== null && (e instanceof HTMLDivElement || e instanceof HTMLSpanElement || e instanceof HTMLInputElement)) {
272
272
  this.className = e.className, this.action = e.getAttribute("data-ge-action"), this.inputType = e.getAttribute("data-input-type"), this.rowIdx = Number(e.getAttribute("data-row-index")), this.colIdx = Number(e.getAttribute("data-col-index"));
@@ -278,7 +278,7 @@ class ye {
278
278
  }
279
279
  }
280
280
  }
281
- class Ce {
281
+ class Re {
282
282
  constructor(e) {
283
283
  this.tableScope = e, this.doubleClickDelay = 500, this.expandedAll = !0, this.mouseDown = !1, this.dragging = !1, this.lastClicked = 0, this.tableScope.hostElement.addEventListener("click", this.onHostElementClicked.bind(this)), this.tableScope.hostElement.addEventListener("dblclick", this.onHostElementDblClicked.bind(this)), this.tableScope.hostElement.addEventListener("mousedown", this.onMouseDown.bind(this)), this.tableScope.hostElement.addEventListener("mousemove", this.onMouseMove.bind(this)), this.tableScope.hostElement.addEventListener("mouseup", this.onMouseUp.bind(this)), this.tableScope.hostElement.addEventListener("contextmenu", this.onContextmenu.bind(this)), this.tableScope.hostElement._MouseHandler = "true", this.tableScope.scrollViewport.addEventListener("scroll", this.tableScope.adjustAfterScrolling.bind(this.tableScope)), [window, this.tableScope.hostElement].forEach(
284
284
  (t) => t.addEventListener("resize", this.tableScope.adjustContainersAndRows.bind(this.tableScope))
@@ -308,12 +308,14 @@ class Ce {
308
308
  if (t - this.lastClicked < this.doubleClickDelay)
309
309
  return;
310
310
  this.lastClicked = t;
311
- const o = new ye(e.target, this.tableScope);
311
+ const o = new ve(e.target, this.tableScope);
312
312
  if (o.action === "toggleExpandCollapseAll")
313
313
  this.expandedAll = !this.expandedAll, this.tableScope.toggleExpandCollapseAll(this.expandedAll), e.preventDefault(), e.stopPropagation();
314
+ else if (o.action === "toggleHeaderGroup")
315
+ this.tableScope.toggleHeaderGroup(o), e.preventDefault(), e.stopPropagation();
314
316
  else if (o.inputType === "checkbox" && o.areaIdent)
315
317
  this.tableScope.toggleRowCheckbox(o.rowIdx, o.colIdx, o.areaIdent), e.preventDefault(), e.stopPropagation();
316
- else if (O(o.row) && o.areaModel) {
318
+ else if (L(o.row) && o.areaModel) {
317
319
  const s = o.colIdx === this.getArrowColumnIndex() && e.altKey, i = o.className.includes("ge-table-tree-arrow-div");
318
320
  if (console.info(i, s), s || i) {
319
321
  e.preventDefault(), e.stopPropagation();
@@ -335,15 +337,15 @@ class Ce {
335
337
  */
336
338
  onHostElementDblClicked(e) {
337
339
  if (this.lastClicked = Date.now(), e.target instanceof HTMLElement) {
338
- const t = e.target, o = t.getAttribute("data-area"), s = U(o), i = Number(t.getAttribute("data-row-index")), r = Number(t.getAttribute("data-col-index")), l = this.tableScope.tableModel.getAreaModel(s);
340
+ const t = e.target, o = t.getAttribute("data-area"), s = U(o), i = Number(t.getAttribute("data-row-index")), r = Number(t.getAttribute("data-col-index")), n = this.tableScope.tableModel.getAreaModel(s);
339
341
  if (o && s === "header")
340
342
  this.tableScope.tableModel.isSortable(r) && (this.tableScope.clearSelection(), this.tableScope.onHeaderDblClicked(e, i, r));
341
343
  else if (t.getAttribute("data-row-index")) {
342
- const n = l.getRowByIndex(i);
343
- if (o && s === "body" && l.isEditable(i, r) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(i, r)), O(n) && r === this.getArrowColumnIndex()) {
344
+ const l = n.getRowByIndex(i);
345
+ if (o && s === "body" && n.isEditable(i, r) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(i, r)), L(l) && r === this.getArrowColumnIndex()) {
344
346
  e.preventDefault(), e.stopPropagation();
345
- const d = n;
346
- d.expanded = !d.expanded, "recalcVisibleTreeRows" in l && l.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(d);
347
+ const d = l;
348
+ d.expanded = !d.expanded, "recalcVisibleTreeRows" in n && n.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(d);
347
349
  }
348
350
  }
349
351
  }
@@ -368,30 +370,30 @@ class Ce {
368
370
  * @returns {void}
369
371
  */
370
372
  updateCollapsedExpandedState(e) {
371
- var o, s, i, r, l;
373
+ var o, s, i, r, n;
372
374
  const t = (s = (o = this.tableScope.tableOptions) == null ? void 0 : o.autoRestoreOptions) == null ? void 0 : s.getRowId;
373
375
  if (t) {
374
- const n = (i = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : i.collapsedExpandedStateGet().mode, d = n === "collapsed" && !e.expanded || n === "expanded" && e.expanded, a = n === "collapsed" && e.expanded || n === "expanded" && !e.expanded, c = t(e.data);
375
- d ? (r = this.tableScope.storeStateCollapsedExpandService) == null || r.collapsedStateIdsPush(c) : a && ((l = this.tableScope.storeStateCollapsedExpandService) == null || l.collapsedStateIdsRemove(c));
376
+ const l = (i = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : i.collapsedExpandedStateGet().mode, d = l === "collapsed" && !e.expanded || l === "expanded" && e.expanded, a = l === "collapsed" && e.expanded || l === "expanded" && !e.expanded, h = t(e.data);
377
+ d ? (r = this.tableScope.storeStateCollapsedExpandService) == null || r.collapsedStateIdsPush(h) : a && ((n = this.tableScope.storeStateCollapsedExpandService) == null || n.collapsedStateIdsRemove(h));
376
378
  }
377
379
  }
378
380
  getArrowColumnIndex() {
379
381
  return this.tableScope.tableModel.isRowCheckboxVisible() ? 1 : 0;
380
382
  }
381
383
  onMouseDown(e) {
382
- this.mouseEvent = e, this.startMouseEvent = this.tableScope.createGeMouseEvent(this.mouseEvent), this.tableScope.onMouseDown(this.startMouseEvent), this.mouseDown = !0;
384
+ this.dragging || (this.mouseEvent = e, this.startMouseEvent = this.tableScope.createGeMouseEvent(this.mouseEvent), this.tableScope.onMouseDown(this.startMouseEvent), this.mouseDown = !0);
383
385
  }
384
386
  onMouseMove(e) {
385
- this.mouseEvent = e, this.mouseDown ? (this.dragging = !0, requestAnimationFrame(this.mouseDraggingOnFrame.bind(this))) : requestAnimationFrame(this.mouseMoveOnFrame.bind(this));
387
+ this.mouseEvent = e, this.mouseDown ? (this.dragging || (this.dragging = !0, this.tableScope.setDragging(!0)), requestAnimationFrame(this.mouseDraggingOnFrame.bind(this))) : requestAnimationFrame(this.mouseMoveOnFrame.bind(this));
386
388
  }
387
389
  onMouseUp(e) {
388
- this.mouseEvent = e, this.dragging && requestAnimationFrame(this.mouseDraggingEndOnFrame.bind(this)), this.mouseDown = !1, this.dragging = !1;
390
+ this.mouseEvent = e, this.dragging && requestAnimationFrame(this.mouseDraggingEndOnFrame.bind(this)), this.mouseDown = !1, this.dragging = !1, this.tableScope.setDragging(!1);
389
391
  }
390
392
  mouseDraggingOnFrame() {
391
393
  var e;
392
394
  if (this.mouseEvent) {
393
395
  const t = this.tableScope.createGeMouseEvent(this.mouseEvent);
394
- (e = this.startMouseEvent) != null && e.originalEvent && (t.draggingX = this.mouseEvent.clientX - this.startMouseEvent.originalEvent.clientX, t.draggingY = this.mouseEvent.clientY - this.startMouseEvent.originalEvent.clientY), this.tableScope.mouseDraggingOnFrame(t);
396
+ (e = this.startMouseEvent) != null && e.originalEvent && (t.draggingX = this.mouseEvent.clientX - this.startMouseEvent.originalEvent.clientX, t.draggingY = this.mouseEvent.clientY - this.startMouseEvent.originalEvent.clientY), this.tableScope.mouseDraggingOnFrame(t, this.startMouseEvent);
395
397
  }
396
398
  }
397
399
  mouseDraggingEndOnFrame() {
@@ -408,7 +410,7 @@ class Ce {
408
410
  }
409
411
  }
410
412
  }
411
- class ve {
413
+ class Ae {
412
414
  constructor(e) {
413
415
  this.tableScope = e;
414
416
  }
@@ -552,6 +554,18 @@ class ve {
552
554
  getShortcutActionMapping() {
553
555
  return this.tableScope.shortcutService.getShortcutActionMapping();
554
556
  }
557
+ /**
558
+ * Copies the selected data from the table to the clipboard.
559
+ *
560
+ * @return {Promise<string>} - A promise that resolves with the copied data as a string.
561
+ */
562
+ copyToClipboard() {
563
+ return this.tableScope.copyService.copyToClipboard(
564
+ this.tableScope.tableModel,
565
+ this.tableScope.selectionModel(),
566
+ this.tableScope.focusModel()
567
+ );
568
+ }
555
569
  }
556
570
  class q {
557
571
  constructor(e) {
@@ -628,7 +642,7 @@ class q {
628
642
  // }
629
643
  // }
630
644
  }
631
- class Re extends q {
645
+ class Me extends q {
632
646
  constructor(e) {
633
647
  super(e), this.SCROLL_STATE = "scrollState", this.scrollOffset = [0, 0], this.load();
634
648
  }
@@ -650,14 +664,14 @@ class Re extends q {
650
664
  }
651
665
  }
652
666
  }
653
- class Ae {
667
+ class Ee {
654
668
  constructor(e = "collapsed", t = [], o = !1, s = !1) {
655
669
  this.mode = e, this.rowIds = t, this.allCollapsed = o, this.allExpanded = s;
656
670
  }
657
671
  }
658
- class Ee extends q {
672
+ class Ie extends q {
659
673
  constructor(e) {
660
- super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new Ae(), this.load();
674
+ super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new Ee(), this.load();
661
675
  }
662
676
  collapsedExpandedStateGet() {
663
677
  return this.collapsedExpandedState;
@@ -689,7 +703,7 @@ class Ee extends q {
689
703
  this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
690
704
  }
691
705
  }
692
- class Me extends q {
706
+ class ke extends q {
693
707
  constructor(e) {
694
708
  super(e), this.SORTING_STATE = "sortingState", this.sortItems = [], this.load();
695
709
  }
@@ -716,7 +730,7 @@ class $ {
716
730
  this.left = e, this.width = t, this.height = o, this.top = s, this.index = i;
717
731
  }
718
732
  }
719
- class ke {
733
+ class Te {
720
734
  constructor(e, t, o, s) {
721
735
  this.hostElement = e, this.tableModel = t, this.dom = o, this.tableOptions = s, this.scrollTop = 0, this.areaBodyWestGeo = new $(), this.areaBodyCenterGeo = new $(), this.areaBodyEastGeo = new $();
722
736
  const i = this.hostElement;
@@ -728,6 +742,8 @@ class ke {
728
742
  o.createDivWithClass("ge-table-hover-row", i)
729
743
  ), this.hoverColumn = o.applyStylePosistionAbsolute(
730
744
  o.createDivWithClass("ge-table-hover-column", i)
745
+ ), this.draggingColumn = o.applyStylePosistionAbsolute(
746
+ o.createDivWithClass("ge-table-dragging-column", i)
731
747
  ), this.areaHeaderWest = o.appendRelativeChildDiv(
732
748
  o.applyStylePosistionAbsolute(
733
749
  o.createAreaDivWithClass("ge-table-header ge-table-header-west", i, "header", "west")
@@ -867,7 +883,7 @@ class ke {
867
883
  this.dom.setStyle(this.contentWrapperDiv, "width", e), this.dom.setStyle(this.contentWrapperDiv, "height", t);
868
884
  }
869
885
  }
870
- class v {
886
+ class R {
871
887
  /**
872
888
  * Represents a constructor for a class.
873
889
  * @constructor
@@ -881,7 +897,7 @@ class v {
881
897
  this.r1 = e, this.c1 = t, this.r2 = o, this.c2 = s, this.gammaRange = i;
882
898
  }
883
899
  static create(e) {
884
- return e.gammaRange === void 0 && (e.gammaRange = !1), new v(
900
+ return e.gammaRange === void 0 && (e.gammaRange = !1), new R(
885
901
  e.rowIndex1,
886
902
  e.columnIndex1,
887
903
  e.rowIndex2,
@@ -890,19 +906,19 @@ class v {
890
906
  );
891
907
  }
892
908
  static singleCell(e, t) {
893
- return new v(e, t, e, t);
909
+ return new R(e, t, e, t);
894
910
  }
895
911
  static singleRow(e) {
896
- return new v(e, 0, e, Number.MAX_SAFE_INTEGER);
912
+ return new R(e, 0, e, Number.MAX_SAFE_INTEGER);
897
913
  }
898
914
  static singleColumn(e) {
899
- return new v(0, e, Number.MAX_SAFE_INTEGER, e);
915
+ return new R(0, e, Number.MAX_SAFE_INTEGER, e);
900
916
  }
901
917
  isInRange(e, t) {
902
918
  return e >= this.r1 && e <= this.r2 && t >= this.c1 && t <= this.c2;
903
919
  }
904
920
  }
905
- class Ie {
921
+ class De {
906
922
  constructor(e, t) {
907
923
  this.tableModel = e, this.areaModel = t, this.colAndRowspanRanges = void 0;
908
924
  }
@@ -916,9 +932,9 @@ class Ie {
916
932
  let i = this.areaModel.getColspanAt(o, s), r = this.areaModel.getRowspanAt(o, s);
917
933
  if (i > 1 || r > 1) {
918
934
  i === 0 && (i = 1), r === 0 && (r = 1);
919
- const l = this.areaModel.hasOwnProperty("gammaCells");
935
+ const n = "gammaCells" in this.areaModel;
920
936
  this.colAndRowspanRanges.push(
921
- new v(o, s, o + r - 1, s + i - 1, l)
937
+ new R(o, s, o + r - 1, s + i - 1, n)
922
938
  );
923
939
  }
924
940
  }
@@ -940,17 +956,17 @@ class T {
940
956
  this.header = e, this.body = t, this.footer = o;
941
957
  }
942
958
  }
943
- class Te extends ke {
959
+ class _e extends Te {
944
960
  constructor(e, t, o, s) {
945
- var r, l;
946
- super(e, t, o, s), this.scrollLeft = 0, this.scrollViewportLeft = 0, this.scrollFactorY = 0, this.scrollFactorX = 0, this.cleanupFunctions = {
961
+ var r, n;
962
+ super(e, t, o, s), this.dragging = !1, this.editing = !1, this.storedColumnWidths = [], this.scrollLeft = 0, this.scrollViewportLeft = 0, this.scrollFactorY = 0, this.scrollFactorX = 0, this.cleanupFunctions = {
947
963
  header: [],
948
964
  body: [],
949
965
  footer: []
950
- }, this.tree = !1, this.colAndRowspanModels = new T(), this.firstVisibleRowIndex = -1, this.draggingTargetColumnIndex = -1, this.removables = [], this.editing = !1, this.tableModel.getSelectionModel ? this.getSelectionModel = this.tableModel.getSelectionModel : (r = this.tableOptions) != null && r.getSelectionModel && (this.getSelectionModel = this.tableOptions.getSelectionModel), (l = this.tableOptions) != null && l.getFocusModel && (this.getFocusModel = this.tableOptions.getFocusModel), z(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
951
- (n) => {
966
+ }, this.tree = !1, this.colAndRowspanModels = new T(), this.firstVisibleRowIndex = -1, this.draggingTargetColumnIndex = -1, this.removables = [], this.tableModel.getSelectionModel ? this.getSelectionModel = this.tableModel.getSelectionModel : (r = this.tableOptions) != null && r.getSelectionModel && (this.getSelectionModel = this.tableOptions.getSelectionModel), (n = this.tableOptions) != null && n.getFocusModel && (this.getFocusModel = this.tableOptions.getFocusModel), z(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
967
+ (l) => {
952
968
  var d;
953
- this.colAndRowspanModels[n] = new Ie(t, t.getAreaModel(n)), (d = this.colAndRowspanModels[n]) == null || d.init();
969
+ this.colAndRowspanModels[l] = new De(t, t.getAreaModel(l)), (d = this.colAndRowspanModels[l]) == null || d.init();
954
970
  }
955
971
  );
956
972
  }
@@ -1020,6 +1036,10 @@ class Te extends ke {
1020
1036
  }
1021
1037
  ), t && this.repaint();
1022
1038
  }
1039
+ storeColumnWidths() {
1040
+ const e = this.tableModel.getColumnDefs();
1041
+ e != null && e.length && (this.storedColumnWidths = e.map((t, o) => this.tableModel.getColumnWidth(o)));
1042
+ }
1023
1043
  getAreaAndSideIdentByAttr(e) {
1024
1044
  if (e) {
1025
1045
  const t = this.getStringByAttr(e, "data-area"), o = this.getStringByAttr(e, "data-side");
@@ -1079,84 +1099,84 @@ class Te extends ke {
1079
1099
  var g;
1080
1100
  const o = this.getArea(e, "west"), s = this.getArea(e, "center"), i = this.getArea(e, "east"), r = s.child.clientHeight;
1081
1101
  o.child.innerText = "", s.child.innerText = "", i.child.innerText = "";
1082
- const l = 0, n = this.areaBodyCenterGeo.width, d = this.tableModel.getPadding(), a = this.tableModel.getAreaModel(e), c = a.getRowCount();
1102
+ const n = 0, l = this.areaBodyCenterGeo.width, d = this.tableModel.getPadding(), a = this.tableModel.getAreaModel(e), h = a.getRowCount();
1083
1103
  for (; this.cleanupFunctions[e].length; ) {
1084
1104
  const p = this.cleanupFunctions[e].shift();
1085
1105
  p && p();
1086
1106
  }
1087
1107
  let u = t;
1088
- const m = this.tableModel.getColumnCount(), b = this.tableModel.getFixedRightColumnCount(), S = this.tableModel.getFixedLeftColumnCount();
1089
- for (let p = 0; p < c; p++) {
1090
- const A = u, C = p === c - 1, R = this.tableModel.getRowHeight(e, p);
1091
- if (A + R > 0) {
1108
+ const w = this.tableModel.getColumnCount(), f = this.tableModel.getFixedRightColumnCount(), b = this.tableModel.getFixedLeftColumnCount();
1109
+ for (let p = 0; p < h; p++) {
1110
+ const C = u, v = p === h - 1, A = this.tableModel.getRowHeight(e, p);
1111
+ if (C + A > 0) {
1092
1112
  this.firstVisibleRowIndex = p;
1093
- let x = { left: l, width: n, height: R, top: A, index: p }, y = this.dom.addRowDiv(s, x, p, e, "center");
1094
- const E = S;
1113
+ let y = { left: n, width: l, height: A, top: C, index: p }, S = this.dom.addRowDiv(s, y, p, e, "center");
1114
+ const k = b;
1095
1115
  if (this.adjustColumnsToRowParent({
1096
1116
  areaIdent: e,
1097
1117
  sideIdent: "center",
1098
1118
  areaModel: a,
1099
- geo: x,
1100
- parent: y,
1119
+ geo: y,
1120
+ parent: S,
1101
1121
  rowIndex: p,
1102
- columnIndexStart: E,
1103
- columnIndexEnd: m - b - 1,
1122
+ columnIndexStart: k,
1123
+ columnIndexEnd: w - f - 1,
1104
1124
  verticalFixed: !1,
1105
- lastRowOfModel: C
1106
- }), d.left > 0 && (x = { left: l, width: this.areaBodyWestGeo.width, height: R, top: A, index: p }, y = this.dom.addRowDiv(o, x, p, e, "west"), this.adjustColumnsToRowParent({
1125
+ lastRowOfModel: v
1126
+ }), d.left > 0 && (y = { left: n, width: this.areaBodyWestGeo.width, height: A, top: C, index: p }, S = this.dom.addRowDiv(o, y, p, e, "west"), this.adjustColumnsToRowParent({
1107
1127
  areaIdent: e,
1108
1128
  sideIdent: "west",
1109
1129
  areaModel: a,
1110
- geo: x,
1111
- parent: y,
1130
+ geo: y,
1131
+ parent: S,
1112
1132
  rowIndex: p,
1113
1133
  columnIndexStart: 0,
1114
- columnIndexEnd: E - 1,
1134
+ columnIndexEnd: k - 1,
1115
1135
  verticalFixed: !0,
1116
- lastRowOfModel: C
1117
- })), d.right > 0 && (x = { left: l, width: this.areaBodyEastGeo.width, height: R, top: A, index: p }, y = this.dom.addRowDiv(i, x, p, e, "east"), this.adjustColumnsToRowParent({
1136
+ lastRowOfModel: v
1137
+ })), d.right > 0 && (y = { left: n, width: this.areaBodyEastGeo.width, height: A, top: C, index: p }, S = this.dom.addRowDiv(i, y, p, e, "east"), this.adjustColumnsToRowParent({
1118
1138
  areaIdent: e,
1119
1139
  sideIdent: "east",
1120
1140
  areaModel: a,
1121
- geo: x,
1122
- parent: y,
1141
+ geo: y,
1142
+ parent: S,
1123
1143
  rowIndex: p,
1124
- columnIndexStart: m - b,
1125
- columnIndexEnd: m - 1,
1144
+ columnIndexStart: w - f,
1145
+ columnIndexEnd: w - 1,
1126
1146
  verticalFixed: !0,
1127
- lastRowOfModel: C
1128
- })), e === "header" && this.tree && p === c - 1) {
1147
+ lastRowOfModel: v
1148
+ })), e === "header" && this.tree && p === h - 1) {
1129
1149
  const M = this.dom.applyStyle(
1130
1150
  this.dom.setAttribute(
1131
- this.dom.addDiv(y, new $(16, 20, 20, 8)),
1151
+ this.dom.addDiv(S, new $(16, 20, 20, 8)),
1132
1152
  "data-ge-action",
1133
1153
  "toggleExpandCollapseAll"
1134
1154
  ),
1135
1155
  { cursor: "pointer" }
1136
- ), k = this.tableOptions.treeOptions.arrowExpandCollapseAll;
1137
- if (k) {
1138
- const H = this.dom.domService.createText(k.content);
1139
- this.dom.domService.appendChild(M, H), k.style && this.dom.applyStyleString(M, k.style);
1156
+ ), E = this.tableOptions.treeOptions.arrowExpandCollapseAll;
1157
+ if (E) {
1158
+ const B = this.dom.domService.createText(E.content);
1159
+ this.dom.domService.appendChild(M, B), E.style && this.dom.applyStyleString(M, E.style);
1140
1160
  }
1141
1161
  }
1142
1162
  }
1143
- if (u = u + R, u > r)
1163
+ if (u = u + A, u > r)
1144
1164
  break;
1145
1165
  }
1146
1166
  if (this.colAndRowspanModels && this.colAndRowspanModels[e]) {
1147
1167
  const p = ((g = this.colAndRowspanModels[e]) == null ? void 0 : g.getRanges()) ?? [];
1148
1168
  if (p.length)
1149
- for (const A of p) {
1150
- let C = 0, R = s.child, x = "center";
1151
- if (A.c1 < S)
1152
- R = o.child, x = "west";
1153
- else if (b > 0 && A.c1 >= m - b)
1154
- R = i.child, x = "east";
1169
+ for (const C of p) {
1170
+ let v = 0, A = s.child, y = "center";
1171
+ if (C.c1 < b)
1172
+ A = o.child, y = "west";
1173
+ else if (f > 0 && C.c1 >= w - f)
1174
+ A = i.child, y = "east";
1155
1175
  else {
1156
- const y = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
1157
- C = this.scrollFactorX * y - this.areaBodyWestGeo.width, x = "center";
1176
+ const S = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
1177
+ v = this.scrollFactorX * S - this.areaBodyWestGeo.width, y = "center";
1158
1178
  }
1159
- this.drawBigCell(A, C, t, a, R, x);
1179
+ this.drawBigCell(C, v, t, a, A, y);
1160
1180
  }
1161
1181
  }
1162
1182
  }
@@ -1171,46 +1191,46 @@ class Te extends ke {
1171
1191
  * @protected
1172
1192
  */
1173
1193
  drawBigCell(e, t, o, s, i, r) {
1174
- const l = o + this.getRowHeights(0, e.r1 - 1, s).reduce((g, p) => g + p, 0), n = this.tableModel.getColumnCount(), d = this.tableModel.getFixedRightColumnCount();
1194
+ const n = o + this.getRowHeights(0, e.r1 - 1, s).reduce((g, p) => g + p, 0), l = this.tableModel.getColumnCount(), d = this.tableModel.getFixedRightColumnCount();
1175
1195
  let a = 0;
1176
- d > 0 && e.c1 >= n - d && (a = n - d);
1177
- const c = t + this.getColumnWidths(a, e.c1 - 1).reduce((g, p) => g + p, 0), u = this.getRowHeights(e.r1, e.r2, s).reduce((g, p) => g + p, 0), m = this.getColumnWidths(e.c1, e.c2).reduce((g, p) => g + p, 0);
1178
- let b = !1;
1179
- const S = this.getSelectionModel ? this.getSelectionModel() : void 0;
1180
- S && (b = S.getSelectionCount(e.r1, e.c1) > 0), e.gammaRange ? (console.info("TODO here", e), this.renderCell({
1196
+ d > 0 && e.c1 >= l - d && (a = l - d);
1197
+ const h = t + this.getColumnWidths(a, e.c1 - 1).reduce((g, p) => g + p, 0), u = this.getRowHeights(e.r1, e.r2, s).reduce((g, p) => g + p, 0), w = this.getColumnWidths(e.c1, e.c2).reduce((g, p) => g + p, 0);
1198
+ let f = !1;
1199
+ const b = this.getSelectionModel ? this.getSelectionModel() : void 0;
1200
+ b && (f = b.getSelectionCount(e.r1, e.c1) > 0), e.gammaRange ? this.renderCell({
1181
1201
  areaModel: s,
1182
1202
  areaIdent: s.areaIdent,
1183
1203
  sideIdent: r,
1184
1204
  rowIndex: e.r1,
1185
1205
  columnIndex: e.c1,
1186
- left: c,
1187
- top: l,
1188
- width: m,
1206
+ left: h,
1207
+ top: n,
1208
+ width: w,
1189
1209
  height: u,
1190
1210
  parent: i,
1191
- cellSelected: b,
1211
+ cellSelected: f,
1192
1212
  lastRowOfModel: !0,
1193
1213
  gammaRange: e.gammaRange
1194
- })) : this.renderCell({
1214
+ }) : this.renderCell({
1195
1215
  areaModel: s,
1196
1216
  areaIdent: s.areaIdent,
1197
1217
  sideIdent: r,
1198
1218
  rowIndex: e.r1,
1199
1219
  columnIndex: e.c1,
1200
- left: c,
1201
- top: l,
1202
- width: m,
1220
+ left: h,
1221
+ top: n,
1222
+ width: w,
1203
1223
  height: u,
1204
1224
  parent: i,
1205
- cellSelected: b,
1225
+ cellSelected: f,
1206
1226
  lastRowOfModel: !0,
1207
1227
  gammaRange: e.gammaRange
1208
1228
  }), s.areaIdent === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
1209
1229
  rowIndex: e.r1,
1210
1230
  columnIndex: e.c1,
1211
- cellLeft: c,
1212
- cellTop: l,
1213
- cellWidth: m,
1231
+ cellLeft: h,
1232
+ cellTop: n,
1233
+ cellWidth: w,
1214
1234
  cellHeight: u,
1215
1235
  parent: i
1216
1236
  });
@@ -1233,36 +1253,36 @@ class Te extends ke {
1233
1253
  geo: s,
1234
1254
  parent: i,
1235
1255
  rowIndex: r,
1236
- columnIndexStart: l,
1237
- columnIndexEnd: n,
1256
+ columnIndexStart: n,
1257
+ columnIndexEnd: l,
1238
1258
  verticalFixed: d = !1,
1239
1259
  lastRowOfModel: a = !1
1240
1260
  }) {
1241
- var S;
1261
+ var b;
1242
1262
  this.scrollViewportLeft = this.scrollViewport.scrollLeft;
1243
- let c = 0;
1263
+ let h = 0;
1244
1264
  if (!d) {
1245
1265
  const g = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
1246
- c = this.scrollFactorX * g;
1266
+ h = this.scrollFactorX * g;
1247
1267
  }
1248
- const u = 0, m = !!(e === "body" && t);
1249
- let b = c;
1250
- for (let g = l; g <= n; g++) {
1251
- const p = b, A = this.tableModel.getColumnWidth(g);
1252
- if (A > 0 && p + A > 0) {
1253
- let C = s.height;
1254
- const R = o.getRowspanAt(r, g), x = o.getColspanAt(r, g);
1255
- R > 1 && (C = this.getRowHeights(r, r + R - 1, o).reduce((M, k) => M + k, 0));
1256
- let y = A;
1257
- x > 1 && (y = this.getColumnWidths(g, g + x - 1).reduce((M, k) => M + k, 0));
1258
- let E = !1;
1259
- if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (S = this.colAndRowspanModels[e]) != null && S.isInRange(r, g) && (E = !0), this.draggingTargetColumnIndex === g && e !== "header") {
1260
- this.renderDragTargetDiv(i, p, u, y, C);
1261
- const M = { left: p, top: u, width: y, height: C };
1268
+ const u = 0, w = !!(e === "body" && t);
1269
+ let f = h;
1270
+ for (let g = n; g <= l; g++) {
1271
+ const p = f, C = this.tableModel.getColumnWidth(g);
1272
+ if (C > 0 && p + C > 0) {
1273
+ let v = s.height;
1274
+ const A = o.getRowspanAt(r, g), y = o.getColspanAt(r, g);
1275
+ A > 1 && (v = this.getRowHeights(r, r + A - 1, o).reduce((M, E) => M + E, 0));
1276
+ let S = C;
1277
+ y > 1 && (S = this.getColumnWidths(g, g + y - 1).reduce((M, E) => M + E, 0));
1278
+ let k = !1;
1279
+ if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (b = this.colAndRowspanModels[e]) != null && b.isInRange(r, g) && (k = !0), this.draggingTargetColumnIndex === g && e !== "header") {
1280
+ this.renderDragTargetDiv(i, p, u, S, v);
1281
+ const M = { left: p, top: u, width: S, height: v };
1262
1282
  this.dom.addColumnBorderDivs(this.tableOptions, i, M, e, t);
1263
1283
  } else {
1264
- const M = this.renderSelectedBackgroundDiv(E, m, t, o, r, g, i, p, u, y, C);
1265
- E || this.renderCell({
1284
+ const M = this.renderSelectedBackgroundDiv(k, w, t, o, r, g, i, p, u, S, v);
1285
+ "gammaCells" in o && o.getValueAt(r, g) && (k = !1), k || this.renderCell({
1266
1286
  areaModel: o,
1267
1287
  areaIdent: e,
1268
1288
  sideIdent: t,
@@ -1270,8 +1290,8 @@ class Te extends ke {
1270
1290
  columnIndex: g,
1271
1291
  left: p,
1272
1292
  top: u,
1273
- width: y,
1274
- height: C,
1293
+ width: S,
1294
+ height: v,
1275
1295
  parent: i,
1276
1296
  cellSelected: M,
1277
1297
  lastRowOfModel: a,
@@ -1281,16 +1301,16 @@ class Te extends ke {
1281
1301
  columnIndex: g,
1282
1302
  cellLeft: p,
1283
1303
  cellTop: u,
1284
- cellWidth: y,
1285
- cellHeight: C,
1304
+ cellWidth: S,
1305
+ cellHeight: v,
1286
1306
  parent: i
1287
1307
  });
1288
1308
  }
1289
1309
  }
1290
- if (b = b + A, b > this.areaBodyCenterGeo.width)
1310
+ if (f = f + C, f > this.areaBodyCenterGeo.width)
1291
1311
  break;
1292
1312
  }
1293
- this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new $(b - 1, 1, s.height, 0), i);
1313
+ this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new $(f - 1, 1, s.height, 0), i);
1294
1314
  }
1295
1315
  getTreeArrowColumnIndex() {
1296
1316
  return this.tableOptions.showCheckboxWihoutExtraColumn ? 0 : this.tableModel.isRowCheckboxVisible() ? 1 : 0;
@@ -1302,54 +1322,55 @@ class Te extends ke {
1302
1322
  rowIndex: s,
1303
1323
  index: i,
1304
1324
  left: r,
1305
- width: l,
1306
- height: n,
1325
+ width: n,
1326
+ height: l,
1307
1327
  top: d,
1308
1328
  parent: a,
1309
- lastRowOfModel: c,
1310
- gammaRange: u
1329
+ lastRowOfModel: h
1311
1330
  }) {
1312
1331
  var te;
1313
- const b = this.editorRenderer && this.editorRendererRow === s && this.editorRendererColumn === i ? this.editorRenderer : e.getCellRenderer(s, i), S = { left: r, width: l, height: n, top: d, index: i }, g = e.getRowByIndex(s);
1314
- let p = "none";
1315
- if (i === this.getTreeArrowColumnIndex() && O(g)) {
1316
- const w = g;
1317
- (te = w.children) != null && te.length ? w.expanded ? p = "expanded" : p = "collapsed" : p = "hidden";
1332
+ const w = this.editorRenderer && this.editorRendererRow === s && this.editorRendererColumn === i ? this.editorRenderer : e.getCellRenderer(s, i), f = { left: r, width: n, height: l, top: d, index: i }, b = e.getRowByIndex(s);
1333
+ let g = "none";
1334
+ if (i === this.getTreeArrowColumnIndex() && L(b)) {
1335
+ const x = b;
1336
+ (te = x.children) != null && te.length ? x.expanded ? g = "expanded" : g = "collapsed" : g = "hidden";
1318
1337
  }
1319
1338
  let C;
1320
1339
  if (t === "header") {
1321
- const w = this.tableModel.getColumnDef(i);
1322
- (!(w != null && w.sortIconVisible) || w != null && w.sortIconVisible()) && (C = w == null ? void 0 : w.sortState);
1340
+ const x = this.tableModel.getColumnDef(i);
1341
+ (!(x != null && x.sortIconVisible) || x != null && x.sortIconVisible()) && (C = x == null ? void 0 : x.sortState);
1323
1342
  }
1324
- const R = e.getValueAt(s, i), x = b ? "" : `${R}`, y = e.isRowChecked(s), E = this.dom.addColumnDiv(
1325
- a,
1326
- S,
1327
- s,
1328
- i,
1329
- t,
1330
- o,
1331
- x,
1332
- p,
1333
- this.tableOptions,
1334
- y,
1335
- C
1336
- ), M = e.getTooltipAt(s, i);
1337
- M && this.dom.setAttribute(E, "title", M);
1338
- const k = this.tableModel.getColumnDef(i);
1339
- k && k.classes[t] && this.dom.addClasses(k.classes[t], E);
1340
- let H;
1341
- b && (H = b.render(E, s, i, t, e, R, this.dom.domService));
1342
- const ee = e.getCustomClassesAt(s, i);
1343
- if (ee.length && this.dom.addClasses(ee, E), this.dom.addColumnBorderDivs(this.tableOptions, a, S, t, o), c && this.dom.addHorizontalBorder({ left: r, width: l, height: n, top: d + n }, a), this.getFocusModel && t === "body") {
1344
- const w = this.getFocusModel();
1345
- w != null && w.hasFocus(s, i) && this.dom.addFocusBorderDivs(a, S, {});
1343
+ const v = e.getValueAt(s, i), A = w ? "" : `${v}`, y = e.isRowChecked(s), S = this.dom.addColumnDiv(
1344
+ {
1345
+ parent: a,
1346
+ geo: f,
1347
+ rowIndex: s,
1348
+ columnIndex: i,
1349
+ areaIdent: t,
1350
+ sideIdent: o,
1351
+ text: A,
1352
+ treeArrow: g,
1353
+ tableOptions: this.tableOptions,
1354
+ checkedType: y,
1355
+ sortState: C
1356
+ }
1357
+ ), k = e.getTooltipAt(s, i);
1358
+ k && this.dom.setAttribute(S, "title", k);
1359
+ const M = this.tableModel.getColumnDef(i);
1360
+ M && M.classes[t] && this.dom.addClasses(M.classes[t], S);
1361
+ let E;
1362
+ w && (E = w.render(S, s, i, t, e, v, this.dom.domService));
1363
+ const B = e.getCustomClassesAt(s, i);
1364
+ if (B.length && this.dom.addClasses(B, S), this.dom.addColumnBorderDivs(this.tableOptions, a, f, t, o), h && this.dom.addHorizontalBorder({ left: r, width: n, height: l, top: d + l }, a), this.getFocusModel && t === "body") {
1365
+ const x = this.getFocusModel();
1366
+ x != null && x.hasFocus(s, i) && this.dom.addFocusBorderDivs(a, f, {});
1346
1367
  }
1347
- t === "header" && this.dom.setAttribute(E, "data-ge-action", "drag-column");
1368
+ t === "header" && this.dom.setAttribute(S, "data-ge-action", "drag-column");
1348
1369
  const G = e.getCustomStyleAt(s, i);
1349
1370
  if (G)
1350
- for (const w in G)
1351
- this.dom.setStyle(E, w, G[w]);
1352
- return [E, H];
1371
+ for (const x in G)
1372
+ this.dom.setStyle(S, x, G[x]);
1373
+ return [S, E];
1353
1374
  }
1354
1375
  applyCssClasses(e, t = {}) {
1355
1376
  e && Object.entries(t).forEach(([o, s]) => {
@@ -1357,22 +1378,22 @@ class Te extends ke {
1357
1378
  });
1358
1379
  }
1359
1380
  rerenderCellContent({ area: e, rowIndex: t, columnIndex: o, value: s, cssClasses: i }) {
1360
- const r = this.tableModel.getAreaModel(e), l = 'div[data-col-index="' + o + '"][data-row-index="' + t + '"][data-area="' + e + '"]', n = document.querySelector(l);
1361
- if (n) {
1381
+ const r = this.tableModel.getAreaModel(e), n = 'div[data-col-index="' + o + '"][data-row-index="' + t + '"][data-area="' + e + '"]', l = document.querySelector(n);
1382
+ if (l) {
1362
1383
  let d;
1363
- const c = this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === o ? this.editorRenderer : r.getCellRenderer(t, o);
1364
- if (n.innerText = "", this.applyCssClasses(n, i), c)
1365
- d = c.render(n, t, o, e, r, s, this.dom.domService), d && this.cleanupFunctions[e].push(d);
1384
+ const h = this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === o ? this.editorRenderer : r.getCellRenderer(t, o);
1385
+ if (l.innerText = "", this.applyCssClasses(l, i), h)
1386
+ d = h.render(l, t, o, e, r, s, this.dom.domService), d && this.cleanupFunctions[e].push(d);
1366
1387
  else {
1367
- const b = `${s}`;
1368
- this.dom.addLabelDiv(n, b, !1, t, o, e);
1388
+ const f = `${s}`;
1389
+ this.dom.addLabelDiv(l, f, !1, t, o, e);
1369
1390
  }
1370
1391
  const u = r.getCustomClassesAt(t, o);
1371
- u.length && this.dom.addClasses(u, n);
1372
- const m = r.getCustomStyleAt(t, o);
1373
- if (m)
1374
- for (const b in m)
1375
- this.dom.setStyle(n, b, m[b]);
1392
+ u.length && this.dom.addClasses(u, l);
1393
+ const w = r.getCustomStyleAt(t, o);
1394
+ if (w)
1395
+ for (const f in w)
1396
+ this.dom.setStyle(l, f, w[f]);
1376
1397
  }
1377
1398
  }
1378
1399
  getColumnWidths(e, t) {
@@ -1426,25 +1447,48 @@ class Te extends ke {
1426
1447
  debounce(e, t = 1e3) {
1427
1448
  this.debounceTimeout && clearTimeout(this.debounceTimeout), this.debounceTimeout = setTimeout(e.bind(this), t);
1428
1449
  }
1450
+ adjustDraggingColumn(e, t) {
1451
+ var o, s;
1452
+ if (this.dragging) {
1453
+ const i = this.hostElement.clientHeight, r = this.tableModel.getColumnWidth(t);
1454
+ if ((o = e.originalEvent) != null && o.clientX) {
1455
+ const n = ((s = e.originalEvent) == null ? void 0 : s.clientX) - r / 2;
1456
+ this.dom.applyStyle(this.draggingColumn, {
1457
+ background: "rgba(128,128,128,0.2)",
1458
+ left: n + "px",
1459
+ top: "0px",
1460
+ width: r + "px",
1461
+ height: i + "px",
1462
+ display: "block"
1463
+ });
1464
+ }
1465
+ } else
1466
+ this.hideDraggingColumn();
1467
+ }
1468
+ hideDraggingColumn() {
1469
+ this.dom.applyStyle(this.draggingColumn, {
1470
+ display: "none"
1471
+ });
1472
+ }
1429
1473
  renderDragTargetDiv(e, t, o, s, i) {
1430
1474
  const r = this.dom.applyStylePosistionAbsolute(
1431
1475
  this.dom.createDivWithClass("ge-table-drop-zone", e)
1432
1476
  );
1433
1477
  return this.dom.setStyle(r, "left", `${t}px`), this.dom.setStyle(r, "top", `${o}px`), this.dom.setStyle(r, "width", `${s}px`), this.dom.setStyle(r, "height", `${i}px`), r;
1434
1478
  }
1435
- renderSelectedBackgroundDiv(e, t, o, s, i, r, l, n, d, a, c) {
1479
+ renderSelectedBackgroundDiv(e, t, o, s, i, r, n, l, d, a, h) {
1436
1480
  let u = !1;
1437
1481
  if (!e && t && s.isSelectable(i, r) && this.getSelectionModel) {
1438
- const m = this.getSelectionModel();
1439
- if (m) {
1440
- const b = m.getSelectionCount(i, r);
1441
- u = b > 0;
1442
- for (let S = 0; S < b; S++) {
1482
+ const w = this.getSelectionModel();
1483
+ if (w) {
1484
+ const f = w.getSelectionCount(i, r);
1485
+ u = f > 0;
1486
+ for (let b = 0; b < f; b++) {
1443
1487
  const g = this.dom.applyStylePosistionAbsolute(
1444
1488
  // ge-table-body-west-selected-range
1445
- this.dom.createDivWithClass(`ge-table-${s.areaIdent}-${o}-selected-range`, l)
1489
+ this.dom.createDivWithClass(`ge-table-${s.areaIdent}-${o}-selected-range`, n)
1446
1490
  );
1447
- this.dom.setStyle(g, "left", `${n}px`), this.dom.setStyle(g, "top", `${d}px`), this.dom.setStyle(g, "width", `${a}px`), this.dom.setStyle(g, "height", `${c}px`);
1491
+ this.dom.setStyle(g, "left", `${l}px`), this.dom.setStyle(g, "top", `${d}px`), this.dom.setStyle(g, "width", `${a}px`), this.dom.setStyle(g, "height", `${h}px`);
1448
1492
  }
1449
1493
  }
1450
1494
  }
@@ -1457,41 +1501,39 @@ class Te extends ke {
1457
1501
  rowIndex: s,
1458
1502
  columnIndex: i,
1459
1503
  left: r,
1460
- top: l,
1461
- width: n,
1504
+ top: n,
1505
+ width: l,
1462
1506
  height: d,
1463
1507
  parent: a,
1464
- cellSelected: c,
1465
- lastRowOfModel: u,
1466
- gammaRange: m
1508
+ cellSelected: h,
1509
+ lastRowOfModel: u
1467
1510
  }) {
1468
- const [b, S] = this.addAndRenderCellDiv({
1511
+ const [w, f] = this.addAndRenderCellDiv({
1469
1512
  areaModel: e,
1470
1513
  areaIdent: t,
1471
1514
  sideIdent: o,
1472
1515
  rowIndex: s,
1473
1516
  index: i,
1474
1517
  left: r,
1475
- width: n,
1518
+ width: l,
1476
1519
  height: d,
1477
- top: l,
1520
+ top: n,
1478
1521
  parent: a,
1479
- lastRowOfModel: u,
1480
- gammaRange: m
1522
+ lastRowOfModel: u
1481
1523
  });
1482
- c && this.dom.addClass(`ge-table-${t}-${o}-selected-range`, b), S && this.cleanupFunctions[t].push(S);
1524
+ h && this.dom.addClass(`ge-table-${t}-${o}-selected-range`, w), f && this.cleanupFunctions[t].push(f);
1483
1525
  }
1484
- renderHeaderCellResizeHandle({ rowIndex: e, columnIndex: t, cellLeft: o, cellTop: s, cellWidth: i, cellHeight: r, parent: l }) {
1485
- const n = this.dom.domService, d = this.tableOptions.columnResizeHandleWidthInPx ?? 2, a = n.createElement("div");
1486
- n.setAttribute(a, "data-col-index", `${t}`), n.setAttribute(a, "data-row-index", `${e}`), n.setAttribute(a, "data-area", "header"), n.setAttribute(a, "data-ge-action", "resize-column"), n.addClass(a, "ge-table-column-resize-handle"), n.setStyle(a, "display", "clip"), n.setStyle(a, "position", "absolute"), n.setStyle(a, "cursor", "col-resize"), n.setStyle(a, "left", `${o + i - d}px`), n.setStyle(a, "top", `${s}px`), n.setStyle(a, "width", `${d}px`), n.setStyle(a, "height", `${r}px`), n.appendChild(l, a);
1526
+ renderHeaderCellResizeHandle({ rowIndex: e, columnIndex: t, cellLeft: o, cellTop: s, cellWidth: i, cellHeight: r, parent: n }) {
1527
+ const l = this.dom.domService, d = this.tableOptions.columnResizeHandleWidthInPx ?? 2, a = l.createElement("div");
1528
+ l.setAttribute(a, "data-col-index", `${t}`), l.setAttribute(a, "data-row-index", `${e}`), l.setAttribute(a, "data-area", "header"), l.setAttribute(a, "data-ge-action", "resize-column"), l.addClass(a, "ge-table-column-resize-handle"), l.setStyle(a, "display", "clip"), l.setStyle(a, "position", "absolute"), l.setStyle(a, "cursor", "col-resize"), l.setStyle(a, "left", `${o + i - d}px`), l.setStyle(a, "top", `${s}px`), l.setStyle(a, "width", `${d}px`), l.setStyle(a, "height", `${r}px`), l.appendChild(n, a);
1487
1529
  }
1488
1530
  }
1489
- class _e {
1531
+ class $e {
1490
1532
  constructor(e, t) {
1491
1533
  this.columnIndex = e, this.sortState = t;
1492
1534
  }
1493
1535
  }
1494
- class De {
1536
+ class Oe {
1495
1537
  constructor(e) {
1496
1538
  this.tableScope = e, this.tableScope.hostElement.addEventListener("change", this.onHostElementChanged.bind(this));
1497
1539
  }
@@ -1507,13 +1549,13 @@ class De {
1507
1549
  if (e.target instanceof HTMLInputElement || e.target instanceof HTMLSelectElement || e.target instanceof HTMLTextAreaElement) {
1508
1550
  const t = e.target, o = t.getAttribute("data-area"), s = t.getAttribute("data-row-index"), i = t.getAttribute("data-col-index");
1509
1551
  if (o && s && i) {
1510
- const r = U(o), l = Number(s), n = Number(i);
1511
- this.tableScope.updateModelValueAfterEdit(r, l, n, t.value);
1552
+ const r = U(o), n = Number(s), l = Number(i);
1553
+ this.tableScope.updateModelValueAfterEdit(r, n, l, t.value);
1512
1554
  }
1513
1555
  }
1514
1556
  }
1515
1557
  }
1516
- class $e {
1558
+ class Pe {
1517
1559
  constructor(e = -1, t = -1) {
1518
1560
  this.rowIndex = e, this.columnIndex = t;
1519
1561
  }
@@ -1523,20 +1565,20 @@ class J {
1523
1565
  this.cells = e;
1524
1566
  }
1525
1567
  static createSingle(e, t) {
1526
- return new J([new $e(e, t)]);
1568
+ return new J([new Pe(e, t)]);
1527
1569
  }
1528
1570
  }
1529
- class Pe {
1571
+ class Fe {
1530
1572
  constructor(e) {
1531
1573
  var t, o;
1532
1574
  this.tableScope = e, (t = this.tableScope.tableOptions) != null && t.getSelectionModel && (this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel), (o = this.tableScope.tableOptions) != null && o.getFocusModel && (this.getFocusModel = this.tableScope.tableOptions.getFocusModel);
1533
1575
  }
1534
1576
  onMouseClicked(e, t) {
1535
- var i, r, l, n, d, a, c;
1577
+ var i, r, n, l, d, a, h;
1536
1578
  let o = !1, s = !1;
1537
1579
  if (this.getSelectionModel && this.getFocusModel) {
1538
- const u = this.getSelectionModel(), m = this.getFocusModel();
1539
- u && m && (m.hasFocus(e.rowIndex, e.columnIndex) || (m.setFocus(e.rowIndex, e.columnIndex), o = !0), (i = e.originalEvent) != null && i.shiftKey || u.hasSelection() && (u.clear(), o = !0), (r = e.originalEvent) != null && r.shiftKey && this.previousEvt ? (u.addSelection(this.createRangeByEvents(e, this.previousEvt)), s = !0, o = !0) : (l = e.originalEvent) != null && l.altKey && ((n = e.originalEvent) != null && n.ctrlKey || (d = e.originalEvent) != null && d.metaKey) ? (u.removeSelection(v.singleCell(e.rowIndex, e.columnIndex)), s = !0, o = !0) : (a = e.originalEvent) != null && a.ctrlKey || (c = e.originalEvent) != null && c.metaKey ? (u.addSelection(v.singleCell(e.rowIndex, e.columnIndex)), s = !0, o = !0) : (u.firstClick(e.rowIndex, e.columnIndex), o = !0));
1580
+ const u = this.getSelectionModel(), w = this.getFocusModel();
1581
+ u && w && (w.hasFocus(e.rowIndex, e.columnIndex) || (w.setFocus(e.rowIndex, e.columnIndex), o = !0), (i = e.originalEvent) != null && i.shiftKey || u.hasSelection() && (u.clear(), o = !0), (r = e.originalEvent) != null && r.shiftKey && this.previousEvt ? (u.addSelection(this.createRangeByEvents(e, this.previousEvt)), s = !0, o = !0) : (n = e.originalEvent) != null && n.altKey && ((l = e.originalEvent) != null && l.ctrlKey || (d = e.originalEvent) != null && d.metaKey) ? (u.removeSelection(R.singleCell(e.rowIndex, e.columnIndex)), s = !0, o = !0) : (a = e.originalEvent) != null && a.ctrlKey || (h = e.originalEvent) != null && h.metaKey ? (u.addSelection(R.singleCell(e.rowIndex, e.columnIndex)), s = !0, o = !0) : (u.firstClick(e.rowIndex, e.columnIndex), o = !0));
1540
1582
  }
1541
1583
  return s ? this.previousEvt = void 0 : this.previousEvt = e == null ? void 0 : e.clone(), o;
1542
1584
  }
@@ -1559,7 +1601,7 @@ class Pe {
1559
1601
  createRangeByEvents(e, t) {
1560
1602
  t || (t = e);
1561
1603
  const o = Math.min(e.rowIndex, t == null ? void 0 : t.rowIndex), s = Math.max(e.rowIndex, t == null ? void 0 : t.rowIndex), i = Math.min(e.columnIndex, t == null ? void 0 : t.columnIndex), r = Math.max(e.columnIndex, t == null ? void 0 : t.columnIndex);
1562
- return v.create({
1604
+ return R.create({
1563
1605
  rowIndex1: o,
1564
1606
  columnIndex1: i,
1565
1607
  rowIndex2: s,
@@ -1587,7 +1629,7 @@ class Le {
1587
1629
  };
1588
1630
  }
1589
1631
  }
1590
- class Fe {
1632
+ class He {
1591
1633
  get() {
1592
1634
  return {
1593
1635
  f2: "START_EDITING",
@@ -1609,7 +1651,7 @@ class Fe {
1609
1651
  };
1610
1652
  }
1611
1653
  }
1612
- class Oe {
1654
+ class Ve {
1613
1655
  constructor(e) {
1614
1656
  this.tableScope = e, this.shortcutActionIdMapping = {}, this.listener = [], this.listener.push(e), this.init();
1615
1657
  }
@@ -1630,7 +1672,7 @@ class Oe {
1630
1672
  this.assignPredefinedSystemShortcutMappings(), Object.assign(this.shortcutActionIdMapping, this.tableScope.tableOptions.shortcutActionIdMapping), this.isDebug() && console.debug("ShortcutService", this.shortcutActionIdMapping), this.tableScope.hostElement.addEventListener("keydown", this.onKeyDown.bind(this));
1631
1673
  }
1632
1674
  assignPredefinedSystemShortcutMappings() {
1633
- this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new Fe().get()) : Object.assign(this.shortcutActionIdMapping, new Le().get());
1675
+ this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new He().get()) : Object.assign(this.shortcutActionIdMapping, new Le().get());
1634
1676
  }
1635
1677
  isMacintosh() {
1636
1678
  return navigator.platform.indexOf("Mac") > -1;
@@ -1698,7 +1740,7 @@ class oe {
1698
1740
  onMouseMoved(e) {
1699
1741
  }
1700
1742
  }
1701
- class Ve {
1743
+ class Be {
1702
1744
  setStyle(e, t, o) {
1703
1745
  return e.style[t] = o, e;
1704
1746
  }
@@ -1725,15 +1767,15 @@ class Ve {
1725
1767
  e.setAttribute(t, o);
1726
1768
  }
1727
1769
  }
1728
- class Be {
1729
- render(e, t, o, s, i, r, l) {
1770
+ class We {
1771
+ render(e, t, o, s, i, r, n) {
1730
1772
  if (i.isEditable(t, o)) {
1731
- l.addClass(e, "ge-table-row-input-div");
1732
- const n = i.getValueAt(t, o);
1773
+ n.addClass(e, "ge-table-row-input-div");
1774
+ const l = i.getValueAt(t, o);
1733
1775
  e.innerHTML = `
1734
1776
  <input
1735
1777
  type="text"
1736
- value="${n}"
1778
+ value="${l}"
1737
1779
  autofocus
1738
1780
  onfocus="this.setSelectionRange(0, this.value.length)"
1739
1781
  data-listen="change"
@@ -1746,12 +1788,12 @@ class Be {
1746
1788
  }
1747
1789
  }
1748
1790
  }
1749
- class He {
1791
+ class Ge {
1750
1792
  constructor(e = "none", t = "single") {
1751
1793
  this.selectionType = e, this.selectionMode = t, this.ranges = [], this.negativeRanges = [], this.allSelected = !1;
1752
1794
  }
1753
1795
  firstClick(e, t) {
1754
- this.selectionType === "row" ? this.addRange(v.singleRow(e)) : this.selectionType === "column" && this.addRange(v.singleColumn(t));
1796
+ this.selectionType === "row" ? this.addRange(R.singleRow(e)) : this.selectionType === "column" && this.addRange(R.singleColumn(t));
1755
1797
  }
1756
1798
  getSelectionCount(e, t) {
1757
1799
  let o = 0;
@@ -1784,10 +1826,10 @@ class He {
1784
1826
  if (this.selectionType === "none")
1785
1827
  return;
1786
1828
  let t = e;
1787
- this.selectionType === "row" ? t = v.singleRow(e.r1) : this.selectionType === "column" && (t = v.singleColumn(e.c1)), this.negativeRanges.push(t);
1829
+ this.selectionType === "row" ? t = R.singleRow(e.r1) : this.selectionType === "column" && (t = R.singleColumn(e.c1)), this.negativeRanges.push(t);
1788
1830
  }
1789
1831
  togglePoint(e, t) {
1790
- this.getSelectionCount(e, t) > 0 ? this.removeSelection(v.singleCell(e, t)) : this.addSelection(v.singleCell(e, t));
1832
+ this.getSelectionCount(e, t) > 0 ? this.removeSelection(R.singleCell(e, t)) : this.addSelection(R.singleCell(e, t));
1791
1833
  }
1792
1834
  isSelected(e, t) {
1793
1835
  return this.getSelectionCount(e, t) > 0;
@@ -1796,7 +1838,7 @@ class He {
1796
1838
  this.selectionType !== "none" && (this.allSelected = !1, this.selectionMode === "single" && (this.ranges = []), this.selectionType === "row" ? (e.c1 = 0, e.c2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "column" ? (e.r1 = 0, e.r2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "cell" ? (e.r2 = e.r1, e.c2 = e.c1) : this.selectionType, this.ranges.push(e));
1797
1839
  }
1798
1840
  }
1799
- class We {
1841
+ class Ne {
1800
1842
  constructor(e = "none") {
1801
1843
  this.selectionType = e, this.rowIndex = -1, this.columnIndex = -1, this.changed = !1;
1802
1844
  }
@@ -1819,69 +1861,129 @@ class We {
1819
1861
  return [this.rowIndex, this.columnIndex];
1820
1862
  }
1821
1863
  }
1822
- const Ge = new He(), Ne = new We("cell");
1864
+ class Q {
1865
+ constructor(e = new O(
1866
+ "❯",
1867
+ "",
1868
+ ["gt-table-icon-expanded"]
1869
+ ), t = new O(
1870
+ "❯",
1871
+ "transform: rotate(180deg) translate(-100%, -100%); transform-origin: 0 0;",
1872
+ ["ge-table-icon-collapsed"]
1873
+ )) {
1874
+ this.iconExpanded = e, this.iconCollapsed = t;
1875
+ }
1876
+ // `⊖ `, `⊕ `;
1877
+ }
1878
+ const ze = new Ge(), je = new Ne("cell");
1823
1879
  class j {
1824
1880
  constructor() {
1825
1881
  this.overflowX = "auto", this.overflowY = "auto", this.horizontalBorderVisible = !0, this.verticalBorderVisible = !0, this.footerSeparatorBorderVisible = !0, this.headerSeparatorBorderVisible = !0, this.fixedEastSeparatorBorderVisible = !0, this.fixedWestSeparatorBorderVisible = !0, this.tableTopBorderVisible = !0, this.tableBottomBorderVisible = !0, this.hoverRowVisible = !0, this.hoverColumnVisible = !0, this.columnsResizable = !0, this.columnsDraggable = !0, this.columnResizeHandleWidthInPx = 4, this.defaultRowHeights = {
1826
1882
  header: 34,
1827
1883
  body: 34,
1828
1884
  footer: 34
1829
- }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new ge(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new be(), this.sortOrder = ["asc", "desc"], this.getEditRenderer = (e, t) => new Be(), this.getSelectionModel = () => Ge, this.getFocusModel = () => Ne;
1885
+ }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new ge(), this.headerGroupOptions = new Q(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new pe(), this.sortOrder = ["asc", "desc"], this.getEditRenderer = (e, t) => new We(), this.getSelectionModel = () => ze, this.getFocusModel = () => je;
1830
1886
  }
1831
1887
  }
1832
- const Q = class X {
1888
+ const Z = class X {
1889
+ /**
1890
+ * Returns the content to be copied based on the provided table model, selection model, and focus model.
1891
+ *
1892
+ * @param {TableModelIf} tableModel - The table model for data retrieval.
1893
+ * @param {SelectionModelIf} selectionModel - The selection model to determine the selected range.
1894
+ * @param {FocusModelIf} focusModel - The focus model to determine the focused cell.
1895
+ * @return {Promise<string>} A promise that resolves to the copied content as a string.
1896
+ * @throws {string} Throws an error if neither selection nor focus is defined.
1897
+ */
1833
1898
  createContent(e, t, o) {
1834
1899
  return new Promise((s, i) => {
1835
1900
  if (t != null && t.hasSelection()) {
1836
1901
  const r = this.mergeRanges(t.getRanges());
1837
1902
  if (r) {
1838
1903
  r.c2 = Math.min(r.c2, e.getColumnCount() - 1), r.r2 = Math.min(r.r2, e.getBodyModel().getRowCount() - 1);
1839
- const l = [];
1840
- for (let n = r.r1; n <= r.r2; n++) {
1904
+ const n = [];
1905
+ for (let l = r.r1; l <= r.r2; l++) {
1841
1906
  const d = [];
1842
1907
  for (let a = r.c1; a <= r.c2; a++) {
1843
- const c = t.isSelected(n, a) ? e.getBodyModel().getTextValueAt(n, a) : "";
1844
- d.push(c);
1908
+ const h = t.isSelected(l, a) ? e.getBodyModel().getTextValueAt(l, a) : "";
1909
+ d.push(h);
1845
1910
  }
1846
- l.push(d.join(X.columnSeparatorChar));
1911
+ n.push(d.join(X.columnSeparatorChar));
1847
1912
  }
1848
- return s(l.join(X.rowSeparatorChar));
1913
+ return s(n.join(X.rowSeparatorChar));
1849
1914
  }
1850
1915
  }
1851
1916
  if (o) {
1852
- const [r, l] = o.getFocus(), n = e.getBodyModel().getTextValueAt(r, l);
1853
- return s(n);
1917
+ const [r, n] = o.getFocus(), l = e.getBodyModel().getTextValueAt(r, n);
1918
+ return s(l);
1854
1919
  }
1855
1920
  i("Cannot copy, neither selection nor focus defined.");
1856
1921
  });
1857
1922
  }
1923
+ /**
1924
+ * Copy the provided content to the clipboard.
1925
+ *
1926
+ * @param {string} content - The content to be copied.
1927
+ * @return {Promise<void>} A promise that resolves when the content has been successfully copied to the clipboard.
1928
+ */
1858
1929
  copyContent(e) {
1859
1930
  return navigator.clipboard.writeText(e);
1860
1931
  }
1932
+ /**
1933
+ * Asynchronously copies the content of a table to the clipboard.
1934
+ *
1935
+ * @param {TableModelIf} tableModel - The table model to copy from.
1936
+ * @param {SelectionModelIf} selectionModel - The selection model of the table.
1937
+ * @param {FocusModelIf} focusModel - The focus model of the table.
1938
+ * @returns {Promise<string>} A promise that resolves with the copied text if successful, or rejects if an error occurs.
1939
+ */
1940
+ copyToClipboard(e, t, o) {
1941
+ return new Promise((s, i) => {
1942
+ this.createContent(
1943
+ e,
1944
+ t,
1945
+ o
1946
+ ).then((r) => {
1947
+ r && this.copyContent(r).then((n) => {
1948
+ s(r);
1949
+ }).catch((n) => {
1950
+ i();
1951
+ });
1952
+ }).catch((r) => {
1953
+ i();
1954
+ });
1955
+ });
1956
+ }
1957
+ /**
1958
+ * Merges an array of CellRanges into a single merged CellRange.
1959
+ *
1960
+ * @param {CellRange[]} ranges - The array of CellRanges to be merged.
1961
+ * @return {CellRange | undefined} - The merged CellRange, or undefined if the ranges array is empty.
1962
+ */
1861
1963
  mergeRanges(e) {
1862
1964
  let t;
1863
1965
  for (const o of e)
1864
- t ? (t.r1 = Math.min(t.r1, o.r1), t.c1 = Math.min(t.c1, o.c1), t.r2 = Math.max(t.r2, o.r2), t.c2 = Math.max(t.c2, o.c2)) : t = new v(o.r1, o.c1, o.r2, o.c2);
1966
+ t ? (t.r1 = Math.min(t.r1, o.r1), t.c1 = Math.min(t.c1, o.c1), t.r2 = Math.max(t.r2, o.r2), t.c2 = Math.max(t.c2, o.c2)) : t = new R(o.r1, o.c1, o.r2, o.c2);
1865
1967
  return t;
1866
1968
  }
1867
1969
  };
1868
- Q.columnSeparatorChar = " ";
1869
- Q.rowSeparatorChar = `
1970
+ Z.columnSeparatorChar = " ";
1971
+ Z.rowSeparatorChar = `
1870
1972
  `;
1871
- let se = Q;
1872
- class pe extends Te {
1973
+ let se = Z;
1974
+ class be extends _e {
1873
1975
  constructor(e, t, o, s, i, r = new se()) {
1874
- var l;
1976
+ var n;
1875
1977
  if (super(
1876
1978
  e,
1877
1979
  t,
1878
- new xe(o),
1980
+ new Ce(o),
1879
1981
  s
1880
- ), this.eventListener = i, this.copyService = r, this.licenseManager = F.getInstance(), this.selectionService = new Pe(this), this.api = new ve(this), this.mouseStartAction = "", this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, i || (this.eventListener = new oe()), (l = this.tableOptions) != null && l.autoRestoreOptions) {
1881
- const n = this.tableOptions.autoRestoreOptions, d = n.getStorageKeyFn;
1882
- d && (n.autoRestoreScrollPosition && (this.storeScrollPosStateService = new Re(d)), n.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new Ee(d)), n.autoRestoreSortingState && (this.storeSortingService = new Me(d)));
1982
+ ), this.eventListener = i, this.copyService = r, this.licenseManager = F.getInstance(), this.selectionService = new Fe(this), this.api = new Ae(this), this.mouseStartAction = "", this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.lastDragFrom = -1, this.lastDragTo = -1, i || (this.eventListener = new oe()), (n = this.tableOptions) != null && n.autoRestoreOptions) {
1983
+ const l = this.tableOptions.autoRestoreOptions, d = l.getStorageKeyFn;
1984
+ d && (l.autoRestoreScrollPosition && (this.storeScrollPosStateService = new Me(d)), l.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new Ie(d)), l.autoRestoreSortingState && (this.storeSortingService = new ke(d)));
1883
1985
  }
1884
- this.mouseHandler = new Ce(this), this.inputHandler = new De(this), this.shortcutService = new Oe(this), this.shortcutService.addListener(this.selectionService);
1986
+ this.mouseHandler = new Re(this), this.inputHandler = new Oe(this), this.shortcutService = new Ve(this), this.shortcutService.addListener(this.selectionService);
1885
1987
  }
1886
1988
  /**
1887
1989
  * Creates a TableScope instance.
@@ -1894,8 +1996,8 @@ class pe extends Te {
1894
1996
  *
1895
1997
  * @return {TableScope} - The newly created TableScope instance.
1896
1998
  */
1897
- static create(e, t, o = new j(), s = new oe(), i = new Ve(), r = new se()) {
1898
- return new pe(
1999
+ static create(e, t, o = new j(), s = new oe(), i = new Be(), r = new se()) {
2000
+ return new be(
1899
2001
  e,
1900
2002
  t,
1901
2003
  i,
@@ -1986,9 +2088,10 @@ class pe extends Te {
1986
2088
  * Handles mouse dragging on the frame.
1987
2089
  *
1988
2090
  * @param {GeMouseEvent} mouseEvent - The mouse event object.
2091
+ * @param startMouseEvent
1989
2092
  */
1990
- mouseDraggingOnFrame(e) {
1991
- this.eventListener.onMouseDragging(e), this.mouseEvent = e, this.mouseStartColumnIndex > -1 && this.mouseStartAction === "resize-column" && this.tableOptions.columnsResizable ? this.resizeColumn(e) : this.mouseStartAction === "drag-column" && e.columnIndex > -1 && this.tableOptions.columnsDraggable && (this.draggingTargetColumnIndex = e.columnIndex, this.dragTo = this.draggingTargetColumnIndex, this.dragFrom > -1 && this.dragTo > -1 && this.dragFrom !== this.dragTo && (this.tableModel.changeColumnOrder(this.dragFrom, this.dragTo), this.dragFrom = this.dragTo, this.resetSizeOfWrapperDiv(), this.adjustContainersAndRows()), this.repaint());
2093
+ mouseDraggingOnFrame(e, t) {
2094
+ this.eventListener.onMouseDragging(e), this.mouseEvent = e, this.mouseStartColumnIndex > -1 && this.mouseStartAction === "resize-column" && this.tableOptions.columnsResizable ? this.resizeColumn(e) : this.mouseStartAction === "drag-column" && e.columnIndex > -1 && this.tableOptions.columnsDraggable && (this.draggingTargetColumnIndex = e.columnIndex, this.dragTo = this.draggingTargetColumnIndex, this.dragFrom > -1 && this.dragTo > -1 && this.dragFrom !== this.dragTo && (this.lastDragFrom === this.dragTo && this.lastDragTo === this.dragFrom || (this.tableModel.changeColumnOrder(this.dragFrom, this.dragTo), this.lastDragFrom = this.dragFrom, this.lastDragTo = this.dragTo, this.dragFrom = this.dragTo, this.resetSizeOfWrapperDiv(), this.adjustContainersAndRows())), t && this.adjustDraggingColumn(e, t.columnIndex), this.repaint());
1992
2095
  }
1993
2096
  /**
1994
2097
  * Handles the end of mouse dragging event on a frame.
@@ -1998,7 +2101,7 @@ class pe extends Te {
1998
2101
  * @returns {void}
1999
2102
  */
2000
2103
  mouseDraggingEndOnFrame(e) {
2001
- this.eventListener.onMouseDraggingEnd(e), this.draggingTargetColumnIndex = -1, this.mouseStartAction === "resize-column" ? this.resizeColumn(e) : this.mouseStartAction === "drag-column" && this.repaint(), this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.mouseStartAction = "";
2104
+ this.eventListener.onMouseDraggingEnd(e), this.draggingTargetColumnIndex = -1, this.mouseStartAction === "resize-column" ? this.resizeColumn(e) : this.mouseStartAction === "drag-column" && (this.hideDraggingColumn(), this.repaint()), this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.mouseStartAction = "";
2002
2105
  }
2003
2106
  /**
2004
2107
  * Handles the mouse move event.
@@ -2040,11 +2143,11 @@ class pe extends Te {
2040
2143
  * @return {void} - This method does not return anything.
2041
2144
  */
2042
2145
  toggleRowCheckbox(e, t, o) {
2043
- var n;
2146
+ var l;
2044
2147
  const s = this.tableModel.getAreaModel(o), i = s.isRowChecked(e), r = i === void 0 || i === "semi" || i === "none";
2045
2148
  s.setRowChecked(e, r), this.repaint();
2046
- const l = (n = s.rowSelectionModel) == null ? void 0 : n.getCheckedRows();
2047
- this.eventListener.onCheckboxChanged(l || []);
2149
+ const n = (l = s.rowSelectionModel) == null ? void 0 : l.getCheckedRows();
2150
+ this.eventListener.onCheckboxChanged(n || []);
2048
2151
  }
2049
2152
  /**
2050
2153
  * Handle mouse click events.
@@ -2092,10 +2195,68 @@ class pe extends Te {
2092
2195
  const s = this.tableModel.getColumnDef(o);
2093
2196
  if (s != null && s.sortable && s.sortable()) {
2094
2197
  e.preventDefault(), e.stopPropagation();
2095
- const l = s.sortStatesOrder ? s.sortStatesOrder : this.tableOptions.sortOrder, n = s.sortState ?? "", d = l[(l.indexOf(n) + 1) % l.length], a = new _e(o, d);
2198
+ const n = s.sortStatesOrder ? s.sortStatesOrder : this.tableOptions.sortOrder, l = s.sortState ?? "", d = n[(n.indexOf(l) + 1) % n.length], a = new $e(o, d);
2096
2199
  this.tableModel.doSort([a]) && ((i = this.tableModel.getColumnDefs()) == null || i.forEach((u) => u.sortState = ""), s.sortState = d), this.repaint(), (r = this.storeSortingService) == null || r.setSortItems([a]);
2097
2200
  }
2098
2201
  }
2202
+ /**
2203
+ * Scrolls the viewport to the specified pixel coordinates.
2204
+ *
2205
+ * @param {number} px - The horizontal pixel coordinate to scroll to.
2206
+ * @param {number} py - The vertical pixel coordinate to scroll to.
2207
+ *
2208
+ * @return {void}
2209
+ */
2210
+ scrollToPixel(e, t) {
2211
+ this.scrollViewport.scrollTo(e, t);
2212
+ }
2213
+ /**
2214
+ * Scrolls to the specified index in the table.
2215
+ *
2216
+ * @param {number} _indexX - The horizontal index of the table where scrolling is needed.
2217
+ * @param {number} indexY - The vertical index of the table where scrolling is needed.
2218
+ * @return {void}
2219
+ */
2220
+ scrollToIndex(e, t) {
2221
+ const s = this.tableModel.getAreaModel("body").getYPosByRowIndex(t);
2222
+ this.scrollToPixel(0, s);
2223
+ }
2224
+ /**
2225
+ * Sets the selection model for the table.
2226
+ *
2227
+ * @param {SelectionModel} sm - The selection model to be set.
2228
+ * @param {boolean} rerender - Optional parameter indicating whether to rerender the table after setting the selection model. Default value is false.
2229
+ *
2230
+ * @return {void} - This method does not return any value.
2231
+ */
2232
+ setSelectionModel(e, t = !1) {
2233
+ const o = () => e;
2234
+ this.tableOptions.getSelectionModel = o, this.getSelectionModel = o, this.selectionService.getSelectionModel = o, t && this.repaint();
2235
+ }
2236
+ toggleHeaderGroup(e) {
2237
+ const t = this.tableModel.getAreaModel("header");
2238
+ "columnDefs" in this.tableModel && (this.tableModel.columnDefs = t.toggleHeaderGroup(e), console.info("####### !!!!!! *******, this.tableModel.columnDefs")), this.firstInit();
2239
+ }
2240
+ /**
2241
+ * Retrieves the selection model.
2242
+ * @returns {SelectionModelIf | undefined} The selection model if available, otherwise undefined.
2243
+ */
2244
+ selectionModel() {
2245
+ if (this != null && this.getSelectionModel)
2246
+ return this.getSelectionModel();
2247
+ }
2248
+ /**
2249
+ * Retrieves the focus model.
2250
+ *
2251
+ * @returns {FocusModelIf | undefined} The focus model if it exists, or undefined otherwise.
2252
+ */
2253
+ focusModel() {
2254
+ if (this != null && this.getFocusModel)
2255
+ return this.getFocusModel();
2256
+ }
2257
+ setDragging(e) {
2258
+ this.dragging = e, this.dragging ? (this.storeColumnWidths(), this.lastDragFrom = -1, this.lastDragTo = -1) : this.storedColumnWidths = [];
2259
+ }
2099
2260
  /**
2100
2261
  * Changes the focus cell using the specified deltas.
2101
2262
  *
@@ -2181,8 +2342,8 @@ class pe extends Te {
2181
2342
  if (o.autoRestoreCollapsedExpandedState && s) {
2182
2343
  const i = this.storeStateCollapsedExpandService.collapsedExpandedStateGet(), r = this.tableModel.getAreaModel("body");
2183
2344
  if (z(r)) {
2184
- const l = r, n = r.getRowCount();
2185
- for (let d = 0; d < n; d++) {
2345
+ const n = r, l = r.getRowCount();
2346
+ for (let d = 0; d < l; d++) {
2186
2347
  const a = r.getRowByIndex(d);
2187
2348
  if (a)
2188
2349
  if (i.allExpanded)
@@ -2190,49 +2351,15 @@ class pe extends Te {
2190
2351
  else if (i.allCollapsed)
2191
2352
  a.expanded = !1;
2192
2353
  else {
2193
- const c = s(a.data);
2194
- i.mode === "expanded" ? a.expanded = this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(c) : i.mode === "collapsed" && (a.expanded = !this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(c));
2354
+ const h = s(a.data);
2355
+ i.mode === "expanded" ? a.expanded = this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h) : i.mode === "collapsed" && (a.expanded = !this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h));
2195
2356
  }
2196
2357
  }
2197
- l.recalcVisibleTreeRows();
2358
+ n.recalcVisibleTreeRows();
2198
2359
  }
2199
2360
  }
2200
2361
  }
2201
2362
  }
2202
- /**
2203
- * Scrolls the viewport to the specified pixel coordinates.
2204
- *
2205
- * @param {number} px - The horizontal pixel coordinate to scroll to.
2206
- * @param {number} py - The vertical pixel coordinate to scroll to.
2207
- *
2208
- * @return {void}
2209
- */
2210
- scrollToPixel(e, t) {
2211
- this.scrollViewport.scrollTo(e, t);
2212
- }
2213
- /**
2214
- * Scrolls to the specified index in the table.
2215
- *
2216
- * @param {number} _indexX - The horizontal index of the table where scrolling is needed.
2217
- * @param {number} indexY - The vertical index of the table where scrolling is needed.
2218
- * @return {void}
2219
- */
2220
- scrollToIndex(e, t) {
2221
- const s = this.tableModel.getAreaModel("body").getYPosByRowIndex(t);
2222
- this.scrollToPixel(0, s);
2223
- }
2224
- /**
2225
- * Sets the selection model for the table.
2226
- *
2227
- * @param {SelectionModel} sm - The selection model to be set.
2228
- * @param {boolean} rerender - Optional parameter indicating whether to rerender the table after setting the selection model. Default value is false.
2229
- *
2230
- * @return {void} - This method does not return any value.
2231
- */
2232
- setSelectionModel(e, t = !1) {
2233
- const o = () => e;
2234
- this.tableOptions.getSelectionModel = o, this.getSelectionModel = o, this.selectionService.getSelectionModel = o, t && this.repaint();
2235
- }
2236
2363
  }
2237
2364
  class fe {
2238
2365
  }
@@ -2472,8 +2599,8 @@ fe.vars = {
2472
2599
  }`
2473
2600
  };
2474
2601
  class ie {
2475
- constructor(e, t = !0, o, s, i = 0, r = !1, l = !1) {
2476
- this.data = e, this.expanded = t, this.children = o, this.parent = s, this.deep = i, this.checked = r, this.keep = l, this.type = "TreeRow";
2602
+ constructor(e, t = !0, o, s, i = 0, r = !1, n = !1) {
2603
+ this.data = e, this.expanded = t, this.children = o, this.parent = s, this.deep = i, this.checked = r, this.keep = n, this.type = "TreeRow";
2477
2604
  }
2478
2605
  }
2479
2606
  class Y {
@@ -2484,15 +2611,15 @@ class Y {
2484
2611
  return s;
2485
2612
  }
2486
2613
  static buildTreeRow(e, t = "children", o = new ie(e, !0, [], void 0, 0), s = 0, i = 12) {
2487
- var l;
2614
+ var n;
2488
2615
  if (s > i)
2489
2616
  return console.warn("Max deep limit reached: ", s), o;
2490
2617
  const r = e[t];
2491
2618
  if (r)
2492
- for (const n of r) {
2493
- const d = new ie(n, !0, [], o, s + 1);
2494
- if ((l = o.children) == null || l.push(d), Y.buildTreeRow(
2495
- n,
2619
+ for (const l of r) {
2620
+ const d = new ie(l, !0, [], o, s + 1);
2621
+ if ((n = o.children) == null || n.push(d), Y.buildTreeRow(
2622
+ l,
2496
2623
  t,
2497
2624
  d,
2498
2625
  s + 1
@@ -2502,20 +2629,20 @@ class Y {
2502
2629
  return o;
2503
2630
  }
2504
2631
  }
2505
- class V {
2632
+ class H {
2506
2633
  constructor(e = 34, t = 34, o = 34) {
2507
2634
  this.header = e, this.body = t, this.footer = o;
2508
2635
  }
2509
2636
  }
2510
- class f {
2637
+ class m {
2511
2638
  constructor(e = 100, t = "px") {
2512
2639
  this.value = e, this.unit = t;
2513
2640
  }
2514
2641
  }
2515
- const ze = () => !0, re = () => !1;
2516
- class B {
2517
- constructor(e, t, o = new f(100, "px"), s = new T(), i = new T(), r = new f(100, "px"), l = new f(100, "px"), n, d, a, c, u, m, b, S, g = () => this.visible) {
2518
- this.property = e, this.headerLabel = t, this.width = o, this.classes = s, this.rendererMap = i, this.minWidth = r, this.maxWidth = l, this.sortable = n, this.sortComparator = d, this.sortState = a, this.sortStatesOrder = c, this.sortIconVisible = u, this.editable = m, this.getEditRenderer = b, this.editInputPipe = S, this.isVisible = g, this.visible = !0;
2642
+ const Xe = () => !0, re = () => !1;
2643
+ class V {
2644
+ constructor(e, t, o = new m(100, "px"), s = new T(), i = new T(), r = new m(100, "px"), n = new m(100, "px"), l, d, a, h, u, w, f, b, g = () => this.visible) {
2645
+ this.property = e, this.headerLabel = t, this.width = o, this.classes = s, this.rendererMap = i, this.minWidth = r, this.maxWidth = n, this.sortable = l, this.sortComparator = d, this.sortState = a, this.sortStatesOrder = h, this.sortIconVisible = u, this.editable = w, this.getEditRenderer = f, this.editInputPipe = b, this.isVisible = g, this.visible = !0;
2519
2646
  }
2520
2647
  static bodyRenderer(e) {
2521
2648
  return new T(
@@ -2533,15 +2660,15 @@ class B {
2533
2660
  e.headerClasses,
2534
2661
  e.bodyClasses,
2535
2662
  e.footerClasses
2536
- ), s = e.sortIconVisible ?? e.sortable ?? re, i = e.editable ?? e.editable ?? re, r = e.isVisible ?? e.isVisible ?? ze;
2537
- return new B(
2663
+ ), s = e.sortIconVisible ?? e.sortable ?? re, i = e.editable ?? e.editable ?? re, r = e.isVisible ?? e.isVisible ?? Xe;
2664
+ return new V(
2538
2665
  e.property ?? "",
2539
2666
  e.headerLabel ?? "",
2540
- e.width ?? new f(100, "px"),
2667
+ e.width ?? new m(100, "px"),
2541
2668
  o,
2542
2669
  t,
2543
- e.minWidth ?? new f(100, "px"),
2544
- e.maxWidth ?? new f(100, "px"),
2670
+ e.minWidth ?? new m(100, "px"),
2671
+ e.maxWidth ?? new m(100, "px"),
2545
2672
  e.sortable,
2546
2673
  e.sortComparator,
2547
2674
  e.sortState,
@@ -2554,8 +2681,8 @@ class B {
2554
2681
  );
2555
2682
  }
2556
2683
  }
2557
- const Ze = new f(300, "px"), et = new f(290, "px"), tt = new f(280, "px"), ot = new f(270, "px"), st = new f(260, "px"), it = new f(250, "px"), rt = new f(240, "px"), lt = new f(230, "px"), nt = new f(220, "px"), at = new f(210, "px"), le = new f(200, "px"), dt = new f(190, "px"), ht = new f(180, "px"), ct = new f(170, "px"), ut = new f(160, "px"), gt = new f(150, "px"), bt = new f(140, "px"), pt = new f(130, "px"), ft = new f(120, "px"), mt = new f(110, "px"), St = new f(100, "px"), wt = new f(90, "px"), xt = new f(80, "px"), yt = new f(70, "px"), Ct = new f(60, "px"), vt = new f(50, "px"), Rt = new f(40, "px"), At = new f(30, "px"), Et = new f(20, "px"), Mt = new f(10, "px"), kt = new f(0, "px");
2558
- class Z {
2684
+ const tt = new m(300, "px"), ot = new m(290, "px"), st = new m(280, "px"), it = new m(270, "px"), rt = new m(260, "px"), lt = new m(250, "px"), nt = new m(240, "px"), at = new m(230, "px"), dt = new m(220, "px"), ht = new m(210, "px"), le = new m(200, "px"), ct = new m(190, "px"), ut = new m(180, "px"), gt = new m(170, "px"), pt = new m(160, "px"), bt = new m(150, "px"), ft = new m(140, "px"), mt = new m(130, "px"), wt = new m(120, "px"), St = new m(110, "px"), xt = new m(100, "px"), yt = new m(90, "px"), Ct = new m(80, "px"), vt = new m(70, "px"), Rt = new m(60, "px"), At = new m(50, "px"), Mt = new m(40, "px"), Et = new m(30, "px"), It = new m(20, "px"), kt = new m(10, "px"), Tt = new m(0, "px");
2685
+ class ee {
2559
2686
  constructor(e, t = [], o = -1) {
2560
2687
  this.areaIdent = e, this.columnDefs = t, this.defaultRowHeight = o, this.rowSelectionModel = void 0, this.yPositions = [], this.cellRenderers = t.map((s) => s.rendererMap[e]);
2561
2688
  }
@@ -2615,11 +2742,13 @@ class Z {
2615
2742
  return !1;
2616
2743
  }
2617
2744
  isEditable(e, t) {
2618
- return this.columnDefs && t < this.columnDefs.length && this.columnDefs[t].editable ? this.columnDefs[t].editable() : !1;
2745
+ var s, i;
2746
+ const o = (s = this.columnDefs) == null ? void 0 : s[t];
2747
+ return ((i = o == null ? void 0 : o.editable) == null ? void 0 : i.call(o)) ?? !1;
2619
2748
  }
2620
2749
  setValue(e, t, o) {
2621
- var l;
2622
- const s = (l = this.columnDefs[t]) == null ? void 0 : l.editInputPipe;
2750
+ var n;
2751
+ const s = (n = this.columnDefs[t]) == null ? void 0 : n.editInputPipe;
2623
2752
  s && (o = s(o, e, t));
2624
2753
  const i = this.getRowByIndex(e), r = this.columnDefs[t].property;
2625
2754
  return r.includes(".") ? this.setPropertyValue(i, r.split("."), o) : (i[r] = o, !0);
@@ -2633,7 +2762,7 @@ class Z {
2633
2762
  setPropertyValue(e, t, o) {
2634
2763
  const s = t.shift();
2635
2764
  if (s) {
2636
- let i = e[s];
2765
+ const i = e[s];
2637
2766
  return i && t.length ? this.setPropertyValue(i, t, o) : (e[s] = o, !0);
2638
2767
  }
2639
2768
  return !1;
@@ -2649,7 +2778,7 @@ class Z {
2649
2778
  this.yPositions[t + 1] = this.getRowHeight(t) + this.yPositions[t];
2650
2779
  }
2651
2780
  }
2652
- class _ extends Z {
2781
+ class D extends ee {
2653
2782
  constructor(e, t, o, s = []) {
2654
2783
  super(e, s, o), this.areaIdent = e, this.arr = t, this.defaultRowHeight = o, this.columnDefs = s, this.filteredArr = [...t];
2655
2784
  }
@@ -2677,7 +2806,7 @@ class _ extends Z {
2677
2806
  this.filteredArr.forEach((o) => this.arrayMove(o, e, t)), super.changeColumnOrder(e, t);
2678
2807
  }
2679
2808
  }
2680
- class D {
2809
+ class _ {
2681
2810
  constructor(e = "body") {
2682
2811
  this.areaIdent = e, this.rowSelectionModel = void 0;
2683
2812
  }
@@ -2749,7 +2878,7 @@ class D {
2749
2878
  changeColumnOrder(e, t) {
2750
2879
  }
2751
2880
  }
2752
- class je {
2881
+ class Ye {
2753
2882
  flattenTree(e, t = []) {
2754
2883
  var o;
2755
2884
  for (const s of e)
@@ -2778,9 +2907,9 @@ class me {
2778
2907
  return o * ("" + e).localeCompare("" + t);
2779
2908
  }
2780
2909
  }
2781
- class ne extends Z {
2910
+ class ne extends ee {
2782
2911
  constructor(e, t, o, s = []) {
2783
- super(e, s, o), this.areaIdent = e, this.rows = t, this.defaultRowHeight = o, this.columnDefs = s, this.type = "AreaModelTree", this.sorterService = new me(), this.service = new je(), this.properties = s.map((i) => i.property), this.flattenRows = this.service.flattenTree(t), this.filteredFlattenRows = [...this.flattenRows];
2912
+ super(e, s, o), this.areaIdent = e, this.rows = t, this.defaultRowHeight = o, this.columnDefs = s, this.type = "AreaModelTree", this.sorterService = new me(), this.service = new Ye(), this.properties = s.map((i) => i.property), this.flattenRows = this.service.flattenTree(t), this.filteredFlattenRows = [...this.flattenRows];
2784
2913
  }
2785
2914
  changeColumnOrder(e, t) {
2786
2915
  this.arrayMove(this.properties, e, t), super.changeColumnOrder(e, t);
@@ -2837,8 +2966,8 @@ class ne extends Z {
2837
2966
  s && (o = s(o, e, t));
2838
2967
  const i = this.getRowByIndex(e);
2839
2968
  if (i) {
2840
- const l = i.data, n = this.columnDefs[t].property;
2841
- return n.includes(".") ? this.setPropertyValue(l, n.split("."), o) : (l[n] = o, !0);
2969
+ const n = i.data, l = this.columnDefs[t].property;
2970
+ return l.includes(".") ? this.setPropertyValue(n, l.split("."), o) : (n[l] = o, !0);
2842
2971
  }
2843
2972
  return !1;
2844
2973
  }
@@ -2947,7 +3076,7 @@ class de {
2947
3076
  this.top = e, this.right = t, this.bottom = o, this.left = s;
2948
3077
  }
2949
3078
  }
2950
- class Xe {
3079
+ class Ke {
2951
3080
  constructor() {
2952
3081
  this.checkedRows = [];
2953
3082
  }
@@ -2979,10 +3108,10 @@ class Xe {
2979
3108
  }
2980
3109
  }
2981
3110
  class N {
2982
- constructor(e, t, o, s = 0, i = 0, r = !1, l = new V(), n = [], d = [], a = -1, c = 0, u = 400, m = () => {
3111
+ constructor(e, t, o, s = 0, i = 0, r = !1, n = new H(), l = [], d = [], a = -1, h = 0, u = 400, w = () => {
2983
3112
  }) {
2984
- var b, S, g, p;
2985
- this.headerAreaModel = e, this.bodyAreaModel = t, this.footerAreaModel = o, this.fixedLeftColumnCount = s, this.fixedRightColumnCount = i, this.rowCheckboxVisible = r, this.defaultRowHeights = l, this.columnDefs = n, this.columnSizes = d, this.overridingColumnWidth = a, this.columnCount = c, this.parentSize = u, this.getSelectionModel = m, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new de(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", o.areaIdent = "footer", this.columnCount || ((b = this.columnDefs) != null && b.length ? this.columnCount = this.columnDefs.length : (S = this.columnSizes) != null && S.length && (this.columnCount = (g = this.columnSizes) == null ? void 0 : g.length)), (p = this.columnDefs) != null && p.length && we(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Xe());
3113
+ var f, b, g, p;
3114
+ this.headerAreaModel = e, this.bodyAreaModel = t, this.footerAreaModel = o, this.fixedLeftColumnCount = s, this.fixedRightColumnCount = i, this.rowCheckboxVisible = r, this.defaultRowHeights = n, this.columnDefs = l, this.columnSizes = d, this.overridingColumnWidth = a, this.columnCount = h, this.parentSize = u, this.getSelectionModel = w, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new de(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", o.areaIdent = "footer", this.columnCount || ((f = this.columnDefs) != null && f.length ? this.columnCount = this.columnDefs.length : (b = this.columnSizes) != null && b.length && (this.columnCount = (g = this.columnSizes) == null ? void 0 : g.length)), (p = this.columnDefs) != null && p.length && ye(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Ke());
2986
3115
  }
2987
3116
  init() {
2988
3117
  this.recalcSize(this.parentSize), this.overridingColumnWidth === -1 && this.calcXPositions(), this.headerAreaModel && this.headerAreaModel.init(), this.bodyAreaModel && this.bodyAreaModel.init(), this.footerAreaModel && this.footerAreaModel.init();
@@ -3281,7 +3410,13 @@ class N {
3281
3410
  * @returns {boolean} - `true` if the column is sortable, `false` otherwise.
3282
3411
  */
3283
3412
  isSortable(e) {
3284
- return this.columnDefs && e < this.columnDefs.length && this.columnDefs[e].sortable ? this.columnDefs[e].sortable() : !1;
3413
+ var t;
3414
+ if (this.columnDefs && e < this.columnDefs.length) {
3415
+ const o = (t = this.columnDefs[e]) == null ? void 0 : t.sortable;
3416
+ if (typeof o == "function")
3417
+ return o();
3418
+ }
3419
+ return !1;
3285
3420
  }
3286
3421
  /**
3287
3422
  * Moves a column in the column order.
@@ -3301,12 +3436,12 @@ class N {
3301
3436
  if (i.width.unit === "%" && e) {
3302
3437
  let r = Math.floor(i.width.value * e / 100);
3303
3438
  if (i.minWidth) {
3304
- let l = i.minWidth.unit === "px" ? i.minWidth.value : Math.floor(i.minWidth.value * e / 100);
3305
- r = Math.max(l, r);
3439
+ const n = i.minWidth.unit === "px" ? i.minWidth.value : Math.floor(i.minWidth.value * e / 100);
3440
+ r = Math.max(n, r);
3306
3441
  }
3307
3442
  if (i.maxWidth) {
3308
- let l = i.maxWidth.unit === "px" ? i.maxWidth.value : Math.floor(i.maxWidth.value * e / 100);
3309
- r = Math.min(l, r);
3443
+ const n = i.maxWidth.unit === "px" ? i.maxWidth.value : Math.floor(i.maxWidth.value * e / 100);
3444
+ r = Math.min(n, r);
3310
3445
  }
3311
3446
  return r;
3312
3447
  }
@@ -3327,7 +3462,7 @@ class N {
3327
3462
  this.xPositions[t + 1] = this.getColumnWidth(t) + this.xPositions[t];
3328
3463
  }
3329
3464
  }
3330
- class Ye extends Z {
3465
+ class Ue extends ee {
3331
3466
  constructor(e, t, o, s = []) {
3332
3467
  super(e, s, o), this.areaIdent = e, this.rows = t, this.defaultRowHeight = o, this.columnDefs = s, this.sorterService = new me(), this.filteredRows = [...t], this.properties = s.map((i) => i.property);
3333
3468
  }
@@ -3338,7 +3473,7 @@ class Ye extends Z {
3338
3473
  getValueAt(e, t) {
3339
3474
  const o = this.properties[t];
3340
3475
  let s = this.filteredRows[e];
3341
- return O(s) && (s = s.data), s ? this.getValueByT(s, o) : "";
3476
+ return L(s) && (s = s.data), s ? this.getValueByT(s, o) : "";
3342
3477
  }
3343
3478
  getFilteredRows() {
3344
3479
  return this.filteredRows;
@@ -3380,7 +3515,7 @@ class Ye extends Z {
3380
3515
  return s && t.length ? this.getPropertyValue(s, t) : s;
3381
3516
  }
3382
3517
  }
3383
- class he extends Ye {
3518
+ class he extends Ue {
3384
3519
  constructor(e, t, o, s) {
3385
3520
  super(
3386
3521
  e,
@@ -3390,14 +3525,14 @@ class he extends Ye {
3390
3525
  ), this.areaIdent = e, this.rows = t, this.columnDefs = o, this.defaultRowHeight = s;
3391
3526
  }
3392
3527
  }
3393
- class L {
3528
+ class P {
3394
3529
  static createTableModel(e) {
3395
- var t, o, s, i, r, l, n, d, a, c, u, m, b, S;
3530
+ var t, o, s, i, r, n, l, d, a, h, u, w, f, b;
3396
3531
  if (e.defaultRowHeights === void 0)
3397
3532
  if ((t = e.tableOptions) != null && t.defaultRowHeights)
3398
3533
  e.defaultRowHeights = e.tableOptions.defaultRowHeights;
3399
3534
  else {
3400
- if (e.defaultRowHeights = new V(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
3535
+ if (e.defaultRowHeights = new H(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
3401
3536
  const g = e.headerAreaModel.defaultRowHeight;
3402
3537
  g > -1 && (e.defaultRowHeights.header = g);
3403
3538
  }
@@ -3410,31 +3545,31 @@ class L {
3410
3545
  g > -1 && (e.defaultRowHeights.footer = g);
3411
3546
  }
3412
3547
  }
3413
- if (e.columnDefs === void 0 && ((o = e.properties) != null && o.length ? e.columnDefs = e.properties.map((g) => new B(g, g.toUpperCase(), le)) : (s = e.rows) != null && s.length ? e.columnDefs = Object.keys(e.rows[0]).map((g) => new B(g, g.toUpperCase(), le)) : e.columnDefs = []), e.columnCount === void 0 && ((i = e.columnDefs) != null && i.length ? e.columnCount = e.columnDefs.length : (r = e.headerData) != null && r.length ? e.columnCount = e.headerData[0].length : (l = e.columnSizes) != null && l.length ? e.columnCount = (n = e.columnSizes) == null ? void 0 : n.length : console.warn('Property "columnCount" is missing and cannot be derived from other properties.')), e.headerAreaModel || ((d = e.headerData) != null && d.length ? e.headerAreaModel = new _(
3548
+ if (e.columnDefs === void 0 && ((o = e.properties) != null && o.length ? e.columnDefs = e.properties.map((g) => new V(g, g.toUpperCase(), le)) : (s = e.rows) != null && s.length ? e.columnDefs = Object.keys(e.rows[0]).map((g) => new V(g, g.toUpperCase(), le)) : e.columnDefs = []), e.columnCount === void 0 && ((i = e.columnDefs) != null && i.length ? e.columnCount = e.columnDefs.length : (r = e.headerData) != null && r.length ? e.columnCount = e.headerData[0].length : (n = e.columnSizes) != null && n.length ? e.columnCount = (l = e.columnSizes) == null ? void 0 : l.length : console.warn('Property "columnCount" is missing and cannot be derived from other properties.')), e.headerAreaModel || ((d = e.headerData) != null && d.length ? e.headerAreaModel = new D(
3414
3549
  "header",
3415
3550
  e.headerData,
3416
3551
  e.defaultRowHeights.header,
3417
3552
  e.columnDefs
3418
- ) : (a = e.columnDefs) != null && a.length ? e.headerAreaModel = new _(
3553
+ ) : (a = e.columnDefs) != null && a.length ? e.headerAreaModel = new D(
3419
3554
  "header",
3420
3555
  [e.columnDefs.map((g) => g.headerLabel)],
3421
3556
  e.defaultRowHeights.header,
3422
3557
  e.columnDefs
3423
- ) : e.headerAreaModel = new D("header")), e.footerAreaModel || ((c = e.footerData) != null && c.length ? e.footerAreaModel = new _(
3558
+ ) : e.headerAreaModel = new _("header")), e.footerAreaModel || ((h = e.footerData) != null && h.length ? e.footerAreaModel = new D(
3424
3559
  "footer",
3425
3560
  e.footerData,
3426
3561
  e.defaultRowHeights.footer,
3427
3562
  e.columnDefs
3428
- ) : e.footerAreaModel = new D("footer")), !e.bodyAreaModel)
3563
+ ) : e.footerAreaModel = new _("footer")), !e.bodyAreaModel)
3429
3564
  if (e.rows)
3430
- if ((u = e.rows) != null && u.length && O(e.rows[0])) {
3565
+ if ((u = e.rows) != null && u.length && L(e.rows[0])) {
3431
3566
  const g = e.rows;
3432
3567
  e.bodyAreaModel = new ne(
3433
3568
  "body",
3434
3569
  g,
3435
3570
  e.defaultRowHeights.body,
3436
3571
  e.columnDefs
3437
- ), (e.columnDefs[0].property === "CheckboxColumn" || (m = e.tableOptions) != null && m.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new ae(g));
3572
+ ), (e.columnDefs[0].property === "CheckboxColumn" || (w = e.tableOptions) != null && w.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new ae(g));
3438
3573
  } else
3439
3574
  e.bodyAreaModel = new he(
3440
3575
  "body",
@@ -3443,12 +3578,12 @@ class L {
3443
3578
  e.defaultRowHeights.body
3444
3579
  );
3445
3580
  else
3446
- e.bodyData ? e.bodyAreaModel = new _(
3581
+ e.bodyData ? e.bodyAreaModel = new D(
3447
3582
  "body",
3448
3583
  e.bodyData,
3449
3584
  e.defaultRowHeights.body
3450
- ) : e.bodyAreaModel = new D("body");
3451
- return e.fixedLeftColumnCount === void 0 && (e.fixedLeftColumnCount = 0), e.fixedRightColumnCount === void 0 && (e.fixedRightColumnCount = 0), e.rowCheckboxVisible === void 0 && (e.rowCheckboxVisible = !1), e.overridingColumnWidth === void 0 && (e.overridingColumnWidth = -1), !e.getSelectionModel && ((b = e.tableOptions) != null && b.getSelectionModel) && (e.getSelectionModel = (S = e.tableOptions) == null ? void 0 : S.getSelectionModel), new N(
3585
+ ) : e.bodyAreaModel = new _("body");
3586
+ return e.fixedLeftColumnCount === void 0 && (e.fixedLeftColumnCount = 0), e.fixedRightColumnCount === void 0 && (e.fixedRightColumnCount = 0), e.rowCheckboxVisible === void 0 && (e.rowCheckboxVisible = !1), e.overridingColumnWidth === void 0 && (e.overridingColumnWidth = -1), !e.getSelectionModel && ((f = e.tableOptions) != null && f.getSelectionModel) && (e.getSelectionModel = (b = e.tableOptions) == null ? void 0 : b.getSelectionModel), new N(
3452
3587
  e.headerAreaModel,
3453
3588
  e.bodyAreaModel,
3454
3589
  e.footerAreaModel,
@@ -3465,7 +3600,7 @@ class L {
3465
3600
  );
3466
3601
  }
3467
3602
  static buildByTypedRowsParam(e) {
3468
- return L.buildByTypedRows(
3603
+ return P.buildByTypedRows(
3469
3604
  e.rows ?? [],
3470
3605
  e.columnDefs,
3471
3606
  e.tableOptions ?? new j(),
@@ -3474,18 +3609,18 @@ class L {
3474
3609
  );
3475
3610
  }
3476
3611
  static buildByTypedRows(e, t, o = new j(), s = 0, i = 0) {
3477
- const r = o.defaultRowHeights, l = t[0].property === "CheckboxColumn";
3478
- if (e != null && e.length && O(e[0])) {
3479
- const n = e, d = new ne(
3612
+ const r = o.defaultRowHeights, n = t[0].property === "CheckboxColumn";
3613
+ if (e != null && e.length && L(e[0])) {
3614
+ const l = e, d = new ne(
3480
3615
  "body",
3481
- n,
3616
+ l,
3482
3617
  r.body,
3483
3618
  t
3484
3619
  );
3485
- return (l || o.showCheckboxWihoutExtraColumn) && (d.rowSelectionModel = new ae(n)), L.createByAreaModelsParam({
3486
- headerAreaModel: new _("header", [t.map((a) => a.headerLabel)], r.header),
3620
+ return (n || o.showCheckboxWihoutExtraColumn) && (d.rowSelectionModel = new ae(l)), P.createByAreaModelsParam({
3621
+ headerAreaModel: new D("header", [t.map((a) => a.headerLabel)], r.header),
3487
3622
  bodyAreaModel: d,
3488
- footerAreaModel: new _("footer", [], r.footer),
3623
+ footerAreaModel: new D("footer", [], r.footer),
3489
3624
  columnDefs: t,
3490
3625
  fixedLeftColumnCount: s,
3491
3626
  fixedRightColumnCount: i,
@@ -3496,7 +3631,7 @@ class L {
3496
3631
  overridingColumnWidth: -1
3497
3632
  });
3498
3633
  }
3499
- return L.createByObjectArrayParam({
3634
+ return P.createByObjectArrayParam({
3500
3635
  rows: e,
3501
3636
  columnDefs: t,
3502
3637
  fixedLeftColumnCount: s,
@@ -3506,19 +3641,19 @@ class L {
3506
3641
  }
3507
3642
  static createByObjectArrayParam(e) {
3508
3643
  const t = e.rowCheckboxVisible !== void 0 ? e.rowCheckboxVisible : !1;
3509
- return L.createByObjectArray(
3644
+ return P.createByObjectArray(
3510
3645
  e.rows,
3511
3646
  e.header ?? [],
3512
3647
  e.footer ?? [],
3513
3648
  e.fixedLeftColumnCount ?? 0,
3514
3649
  e.fixedRightColumnCount ?? 0,
3515
3650
  t,
3516
- e.defaultRowHeights ?? new V(),
3651
+ e.defaultRowHeights ?? new H(),
3517
3652
  e.columnDefs ?? [],
3518
3653
  e.columnSizes ?? []
3519
3654
  );
3520
3655
  }
3521
- static createByAreaModels(e = new D(), t, o = new D(), s = 0, i = 0, r = !1, l = new V(), n, d = [], a = -1, c) {
3656
+ static createByAreaModels(e = new _(), t, o = new _(), s = 0, i = 0, r = !1, n = new H(), l, d = [], a = -1, h) {
3522
3657
  return new N(
3523
3658
  e,
3524
3659
  t,
@@ -3526,18 +3661,18 @@ class L {
3526
3661
  s,
3527
3662
  i,
3528
3663
  r,
3529
- l,
3530
3664
  n,
3665
+ l,
3531
3666
  d,
3532
3667
  a,
3533
- c
3668
+ h
3534
3669
  );
3535
3670
  }
3536
3671
  static createByAreaModelsParam(e) {
3537
- return L.createByAreaModels(
3538
- e.headerAreaModel ?? new D(),
3672
+ return P.createByAreaModels(
3673
+ e.headerAreaModel ?? new _(),
3539
3674
  e.bodyAreaModel,
3540
- e.footerAreaModel ?? new D(),
3675
+ e.footerAreaModel ?? new _(),
3541
3676
  e.fixedLeftColumnCount ?? 0,
3542
3677
  e.fixedRightColumnCount ?? 0,
3543
3678
  e.rowCheckboxVisible === void 0 ? !1 : e.rowCheckboxVisible,
@@ -3548,24 +3683,24 @@ class L {
3548
3683
  e.columnCount ?? 0
3549
3684
  );
3550
3685
  }
3551
- static createByObjectArray(e, t = [], o = [], s = 0, i = 0, r = !1, l = new V(), n, d = []) {
3686
+ static createByObjectArray(e, t = [], o = [], s = 0, i = 0, r = !1, n = new H(), l, d = []) {
3552
3687
  let a;
3553
- t != null && t.length ? a = new _("header", t, l.header, n) : n != null && n.length ? a = new _("header", [n.map((m) => m.headerLabel)], l.header, n) : a = new D();
3554
- const c = o ? new _("footer", o, l.footer, n) : new D(), u = new he("body", e, n, l.body);
3688
+ t != null && t.length ? a = new D("header", t, n.header, l) : l != null && l.length ? a = new D("header", [l.map((w) => w.headerLabel)], n.header, l) : a = new _();
3689
+ const h = o ? new D("footer", o, n.footer, l) : new _(), u = new he("body", e, l, n.body);
3555
3690
  return new N(
3556
3691
  a,
3557
3692
  u,
3558
- c,
3693
+ h,
3559
3694
  s,
3560
3695
  i,
3561
3696
  r,
3562
- l,
3563
3697
  n,
3698
+ l,
3564
3699
  d
3565
3700
  );
3566
3701
  }
3567
3702
  }
3568
- const It = [
3703
+ const Dt = [
3569
3704
  "COPY_2_CLIPBOARD",
3570
3705
  "START_EDITING",
3571
3706
  "TOGGLE_SELECTION",
@@ -3583,18 +3718,18 @@ const It = [
3583
3718
  // "PAGEUP_PRESSED",
3584
3719
  // "PAGEDOWN_PRESSED"
3585
3720
  ];
3586
- class Tt {
3721
+ class _t {
3587
3722
  constructor(e, t) {
3588
3723
  this.tableModel = e, this.tableOptions = t;
3589
3724
  }
3590
3725
  }
3591
- class Ke {
3592
- constructor(e, t, o, s, i, r, l) {
3593
- this.emmitDataKey = e, this.emmitCancelKey = t, this.queryId = o, this.filter = s, this.sorting = i, this.startIndex = r, this.endIndex = l;
3726
+ class qe {
3727
+ constructor(e, t, o, s, i, r, n) {
3728
+ this.emmitDataKey = e, this.emmitCancelKey = t, this.queryId = o, this.filter = s, this.sorting = i, this.startIndex = r, this.endIndex = n;
3594
3729
  }
3595
3730
  }
3596
- class _t extends Ke {
3597
- constructor(e, t, o, s, i, r, l, n) {
3731
+ class $t extends qe {
3732
+ constructor(e, t, o, s, i, r, n, l) {
3598
3733
  super(
3599
3734
  e,
3600
3735
  t,
@@ -3602,38 +3737,38 @@ class _t extends Ke {
3602
3737
  s,
3603
3738
  i,
3604
3739
  r,
3605
- l
3606
- ), this.rows = n;
3740
+ n
3741
+ ), this.rows = l;
3607
3742
  }
3608
3743
  }
3609
- class Ue {
3744
+ class Je {
3610
3745
  constructor(e, t) {
3611
3746
  this.value = e, this.label = t;
3612
3747
  }
3613
3748
  }
3614
- class Dt {
3749
+ class Ot {
3615
3750
  constructor(e, t) {
3616
3751
  this.index = e, this.px = t;
3617
3752
  }
3618
3753
  }
3619
- const $t = { body: ["ge-table-text-align-left"] }, Pt = { body: ["ge-table-text-align-center"] }, Lt = { body: ["ge-table-text-align-right"] }, Ft = {
3754
+ const Pt = { body: ["ge-table-text-align-left"] }, Ft = { body: ["ge-table-text-align-center"] }, Lt = { body: ["ge-table-text-align-right"] }, Ht = {
3620
3755
  header: ["ge-table-text-align-left"],
3621
3756
  body: ["ge-table-text-align-left"],
3622
3757
  footer: ["ge-table-text-align-left"]
3623
- }, Ot = {
3758
+ }, Vt = {
3624
3759
  header: ["ge-table-text-align-center"],
3625
3760
  body: ["ge-table-text-align-center"],
3626
3761
  footer: ["ge-table-text-align-center"]
3627
- }, Vt = {
3762
+ }, Bt = {
3628
3763
  header: ["ge-table-text-align-right"],
3629
3764
  body: ["ge-table-text-align-right"],
3630
3765
  footer: ["ge-table-text-align-right"]
3631
3766
  };
3632
3767
  class ce {
3633
- render(e, t, o, s, i, r, l) {
3768
+ render(e, t, o, s, i, r, n) {
3634
3769
  if (i.isRowCheckable(t)) {
3635
- l.addClass(e, "ge-table-row-checkbox-div");
3636
- const n = i.isRowChecked(t), d = n === "full" ? "checked" : "", a = n === "semi" ? '<span style="opacity: 0.4;">✓<span>' : "";
3770
+ n.addClass(e, "ge-table-row-checkbox-div");
3771
+ const l = i.isRowChecked(t), d = l === "full" ? "checked" : "", a = l === "semi" ? '<span style="opacity: 0.4;">✓<span>' : "";
3637
3772
  e.innerHTML = `
3638
3773
  <input
3639
3774
  type="checkbox"
@@ -3647,16 +3782,16 @@ class ce {
3647
3782
  }
3648
3783
  }
3649
3784
  }
3650
- class Bt {
3785
+ class Wt {
3651
3786
  constructor() {
3652
- this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new f(50, "px"), this.minWidth = new f(50, "px"), this.maxWidth = new f(100, "px"), this.rendererMap = new T(new ce(), new ce(), void 0), this.classes = new T(
3787
+ this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new m(50, "px"), this.minWidth = new m(50, "px"), this.maxWidth = new m(100, "px"), this.rendererMap = new T(new ce(), new ce(), void 0), this.classes = new T(
3653
3788
  [],
3654
3789
  ["ge-table-text-align-left"],
3655
3790
  []
3656
3791
  );
3657
3792
  }
3658
3793
  }
3659
- class Ht {
3794
+ class Gt {
3660
3795
  /**
3661
3796
  * A factory that creates a new AreaObjectMap with the given body renderer.
3662
3797
  *
@@ -3671,17 +3806,17 @@ class Ht {
3671
3806
  );
3672
3807
  }
3673
3808
  }
3674
- class Wt {
3809
+ class Nt {
3675
3810
  constructor(e = "down", t) {
3676
3811
  this.status = e, this.originalEvent = t;
3677
3812
  }
3678
3813
  }
3679
- class Gt {
3814
+ class zt {
3680
3815
  constructor(e, t, o, s, i = {}) {
3681
3816
  this.area = e, this.rowIndex = t, this.columnIndex = o, this.value = s, this.cssClasses = i;
3682
3817
  }
3683
3818
  }
3684
- class Nt {
3819
+ class jt {
3685
3820
  constructor() {
3686
3821
  this.autoRestoreSortingState = !1, this.autoRestoreCollapsedExpandedState = !1, this.autoRestoreScrollPosition = !1, this.autoRestoreCheckedState = !1, this.autoRestoreSelectedState = !1, this.getStorageKeyFn = void 0, this.isSame = (e, t, o) => {
3687
3822
  if (e && t && o.getRowId) {
@@ -3706,12 +3841,12 @@ class Nt {
3706
3841
  };
3707
3842
  }
3708
3843
  }
3709
- class qe {
3844
+ class Qe {
3710
3845
  constructor(e, t, o, s = !1, i = "normal", r = void 0) {
3711
3846
  this.data = e, this.property = t, this.toggle = o, this.closed = s, this.visibility = i, this.children = r, this.impl = "CellGroup";
3712
3847
  }
3713
3848
  }
3714
- class Je extends qe {
3849
+ class Ze extends Qe {
3715
3850
  constructor(e, t = 0, o = 0, s) {
3716
3851
  super(
3717
3852
  e.data,
@@ -3783,29 +3918,31 @@ class Je extends qe {
3783
3918
  getParentCount(e = this, t = 0) {
3784
3919
  return e.parent && (t = t + 1 + this.getParentCount(e.parent, t)), t;
3785
3920
  }
3786
- log(e) {
3787
- const t = " ".substring(0, 2 * this.rowIndex), o = `${this.getColumnIndex()}`, s = `${this.getColumnCount(this)}`, i = `${this.getRowSpan(this, e)}`, r = `${this.getParentCount(this)}`;
3788
- if (console.info(`${t + this.data}
3921
+ log(e = 10) {
3922
+ const t = " ".substring(0, 2 * this.rowIndex), o = `${this.getColumnIndex()}`, s = `${this.getColumnCount(this)}`, i = `${this.getRowSpan(this, e)}`, r = `${this.getParentCount(this)}`, n = `${t + this.data}
3789
3923
  childIndex:${this.childIndex}
3790
3924
  row:${this.rowIndex}
3791
3925
  col:${o}
3792
3926
  vis:${this.visibility}
3927
+ toggle:${this.toggle}
3793
3928
  closed:${this.closed}
3794
3929
  isVisible:${this.isVisible()}
3795
3930
  ownColumn:${this.ownColumn()}
3796
3931
  claimsSpace:${this.claimsSpace()}
3797
3932
  colCount:${s}
3798
3933
  rowSpan:${i}
3799
- pc:${r}`.replace(/[ \n]+/g, " ")), this.children)
3934
+ pc:${r}`.replace(/[ \n]+/g, " ");
3935
+ if (this.children)
3800
3936
  for (const l of this.children)
3801
3937
  l.log(e);
3938
+ return n;
3802
3939
  }
3803
3940
  }
3804
3941
  class I {
3805
3942
  static buildColumnDefs(e, t = []) {
3806
3943
  for (const o of e)
3807
3944
  o.property && t.push(
3808
- B.create({
3945
+ V.create({
3809
3946
  property: o.property,
3810
3947
  headerLabel: o.data ? o.data : o.property,
3811
3948
  isVisible: () => typeof o.isVisible == "function" ? o.isVisible() : !0
@@ -3834,8 +3971,8 @@ class I {
3834
3971
  static buildGroupExts(e, t = [], o = 0, s) {
3835
3972
  let i;
3836
3973
  for (let r = 0; r < e.length; r++) {
3837
- const l = e[r], n = new Je(l, o, r, s);
3838
- i && (n.leftNeighbour = i, i.rightNeighbour = n), t.push(n), l.children && (n.children = I.buildGroupExts(l.children, [], o + 1, n)), i = n;
3974
+ const n = e[r], l = new Ze(n, o, r, s);
3975
+ i && (l.leftNeighbour = i, i.rightNeighbour = l), t.push(l), n.children && (l.children = I.buildGroupExts(n.children, [], o + 1, l)), i = l;
3839
3976
  }
3840
3977
  return t;
3841
3978
  }
@@ -3857,15 +3994,15 @@ class I {
3857
3994
  for (const r of e) {
3858
3995
  if (r.rowIndex <= s) {
3859
3996
  o++;
3860
- for (let l = 0; l < t.length; l++)
3861
- t[l][o] = null;
3997
+ for (let n = 0; n < t.length; n++)
3998
+ t[n][o] = null;
3862
3999
  }
3863
4000
  if (t[r.rowIndex][o] = r, s = r.rowIndex, r.ownColumn() && ((i = r.children) != null && i.length)) {
3864
- for (let l = r.rowIndex + 1; l < t.length; l++)
3865
- t[l][o] = void 0;
4001
+ for (let n = r.rowIndex + 1; n < t.length; n++)
4002
+ t[n][o] = void 0;
3866
4003
  o++;
3867
- for (let l = 0; l < t.length; l++)
3868
- t[l][o] = null;
4004
+ for (let n = 0; n < t.length; n++)
4005
+ t[n][o] = null;
3869
4006
  }
3870
4007
  }
3871
4008
  return t;
@@ -3876,7 +4013,7 @@ class I {
3876
4013
  e.push(s.data + " rowIndex:" + s.rowIndex), (o = s.children) != null && o.length && I.iterateThrowColumns(e, s.children);
3877
4014
  }
3878
4015
  }
3879
- class zt {
4016
+ class Xt {
3880
4017
  constructor() {
3881
4018
  this.areaIdent = "body", this.rowSelectionModel = void 0;
3882
4019
  }
@@ -3946,19 +4083,56 @@ class zt {
3946
4083
  return !1;
3947
4084
  }
3948
4085
  }
3949
- class Qe {
3950
- render(e, t, o, s, i, r, l) {
3951
- const n = r != null && r.data ? r.data : "";
3952
- e.innerHTML = `${n}`;
4086
+ const we = class Se {
4087
+ constructor(e = new Q()) {
4088
+ this.headerGroupOptions = e;
3953
4089
  }
3954
- }
3955
- class jt {
3956
- constructor(e = "header", t, o = [], s) {
3957
- var i;
3958
- this.areaIdent = e, this.groups = t, this.columnDefs = o, this.defaultRowHeight = s, this.gammaCells = !0, this.groupExts = [], this.cellGroupExtCellRenderer = new Qe(), this.groupExts = I.buildGroupExts(t), console.info(this.groupExts), console.info(this.getAllLeafs()), console.info(this.getMaxRowCount());
3959
- for (const r of this.groupExts)
3960
- r.log(this.getMaxRowCount());
3961
- this.arr = this.buildArray(), !((i = this.columnDefs) != null && i.length) && e === "header" && (this.columnDefs = I.buildColumnDefs(t)), console.info("this.columnDefs", this.columnDefs), console.info("this.arr", this.arr);
4090
+ render(e, t, o, s, i, r, n) {
4091
+ const l = r != null && r.data ? r.data : "";
4092
+ if (r) {
4093
+ const { toggle: d, visibility: a, closed: h } = r, u = d ? Se.toggleHeaderGroup : "";
4094
+ this.addText(e, s, t, o, l, u), d && a !== "always" && this.addArrowDiv(n, e, !h, t, o, s, u);
4095
+ } else
4096
+ this.addText(e, s, t, o, l, "");
4097
+ }
4098
+ addText(e, t, o, s, i, r) {
4099
+ e.innerHTML = `<span
4100
+ data-ge-action="${r}"
4101
+ data-area="${t}"
4102
+ data-row-index="${o}"
4103
+ data-col-index="${s}"
4104
+ >${i}</span>`;
4105
+ }
4106
+ addArrowDiv(e, t, o = !0, s = -1, i = -1, r = "header", n) {
4107
+ const l = e.createElement("div");
4108
+ e.addClass(l, "ge-table-toggle-icon-div"), e.setStyle(l, "display", "inline-block"), e.setStyle(l, "position", ""), e.setStyle(l, "width", "20px"), e.setStyle(l, "background", "transparent"), e.setStyle(l, "cursor", "pointer"), e.setAttribute(l, "data-row-index", `${s}`), e.setAttribute(l, "data-col-index", `${i}`), e.setAttribute(l, "data-area", `${r}`), e.setAttribute(l, "data-ge-action", `${n}`);
4109
+ let d;
4110
+ o ? d = this.headerGroupOptions.iconExpanded : d = this.headerGroupOptions.iconCollapsed;
4111
+ const a = d.content, h = e.createText(a);
4112
+ e.appendChild(l, h), d.style && this.applyStyleString(e, l, d.style);
4113
+ for (const u of d.classes)
4114
+ e.addClass(l, u);
4115
+ return e.appendChild(t, l), l;
4116
+ }
4117
+ applyStyleString(e, t, o) {
4118
+ const s = o.split(";").map((i) => i.trim()).filter((i) => i);
4119
+ for (const i of s) {
4120
+ const [r, n] = i.split(":");
4121
+ e.setStyle(t, r.trim(), n.trim());
4122
+ }
4123
+ }
4124
+ };
4125
+ we.toggleHeaderGroup = "toggleHeaderGroup";
4126
+ let et = we;
4127
+ class Yt {
4128
+ constructor(e = "header", t, o = [], s, i = new Q()) {
4129
+ this.areaIdent = e, this.groups = t, this.columnDefs = o, this.defaultRowHeight = s, this.headerGroupOptions = i, this.gammaCells = !0, this.arr = [], this.groupExts = [], this.cellGroupExtCellRenderer = new et(this.headerGroupOptions), this.groupExts = I.buildGroupExts(t), this.init();
4130
+ }
4131
+ init() {
4132
+ var e;
4133
+ for (const t of this.groupExts)
4134
+ t.log(this.getMaxRowCount());
4135
+ this.arr = this.buildArray(), !((e = this.columnDefs) != null && e.length) && this.areaIdent === "header" && (this.columnDefs = I.buildColumnDefs(this.groups));
3962
4136
  }
3963
4137
  getAllLeafs() {
3964
4138
  return I.flattenGroupExts(this.groupExts).filter((t) => !t.children);
@@ -3968,15 +4142,10 @@ class jt {
3968
4142
  return e != null && e.length ? 1 + Math.max(...e.map((t) => t.getParentCount(t))) : 0;
3969
4143
  }
3970
4144
  buildArray() {
3971
- console.info("");
3972
- let e = I.flattenGroupExts(this.groupExts);
3973
- const t = e.length, o = 1 + Math.max(...e.map((l) => l.rowIndex));
3974
- console.info("max row/col:", o + "/" + t);
3975
- const s = [];
3976
- I.iterateThrowColumns(s, this.groupExts), console.info(s);
3977
- const i = Array.from(Array(o).keys()).map((l) => []);
3978
- let r = I.buildArrayOfArrays(e, i);
3979
- return console.table(r), r;
4145
+ const e = I.flattenGroupExts(this.groupExts), t = 1 + Math.max(...e.map((r) => r.rowIndex)), o = [];
4146
+ I.iterateThrowColumns(o, this.groupExts);
4147
+ const s = Array.from(Array(t).keys()).map((r) => []), i = I.buildArrayOfArrays(e, s);
4148
+ return console.table(i), i;
3980
4149
  }
3981
4150
  changeColumnOrder(e, t) {
3982
4151
  }
@@ -4028,8 +4197,6 @@ class jt {
4028
4197
  getYPosByRowIndex(e) {
4029
4198
  return 0;
4030
4199
  }
4031
- init() {
4032
- }
4033
4200
  getRowHeight(e) {
4034
4201
  return this.defaultRowHeight;
4035
4202
  }
@@ -4052,25 +4219,29 @@ class jt {
4052
4219
  setValue(e, t, o) {
4053
4220
  return !1;
4054
4221
  }
4222
+ toggleHeaderGroup(e) {
4223
+ const t = this.arr[e.rowIdx][e.colIdx];
4224
+ return t != null && t.toggle && t.visibility !== "always" && (t.closed = !t.closed, this.init()), I.buildColumnDefs(this.groupExts);
4225
+ }
4055
4226
  }
4056
- class Xt {
4227
+ class Kt {
4057
4228
  filterPredict(e, t, o = this.objectToString.bind(this)) {
4058
4229
  if (!e)
4059
4230
  return !1;
4060
4231
  if (!t)
4061
4232
  return !0;
4062
4233
  t = t.toLowerCase();
4063
- const s = "+", i = "-", r = t.toLowerCase().split(" ").filter((c) => c !== s && c !== i && c !== ""), l = r.filter((c) => !c.startsWith(s) && !c.startsWith(i)), n = r.filter((c) => c.startsWith(s)).map((c) => c.replace(/\+/g, "")), d = r.filter((c) => c.startsWith(i)).map((c) => c.replace(/-/g, ""));
4064
- let a = !l.length;
4065
- for (let c = 0; c < l.length; c++)
4066
- (a || o(e).includes(l[c])) && (a = !0);
4234
+ const s = "+", i = "-", r = t.toLowerCase().split(" ").filter((h) => h !== s && h !== i && h !== ""), n = r.filter((h) => !h.startsWith(s) && !h.startsWith(i)), l = r.filter((h) => h.startsWith(s)).map((h) => h.replace(/\+/g, "")), d = r.filter((h) => h.startsWith(i)).map((h) => h.replace(/-/g, ""));
4235
+ let a = !n.length;
4236
+ for (let h = 0; h < n.length; h++)
4237
+ (a || o(e).includes(n[h])) && (a = !0);
4067
4238
  if (!a)
4068
4239
  return !1;
4069
- for (let c = 0; c < n.length; c++)
4070
- if (!o(e).includes(n[c]))
4240
+ for (let h = 0; h < l.length; h++)
4241
+ if (!o(e).includes(l[h]))
4071
4242
  return !1;
4072
- for (let c = 0; c < d.length; c++)
4073
- if (o(e).includes(d[c]))
4243
+ for (let h = 0; h < d.length; h++)
4244
+ if (o(e).includes(d[h]))
4074
4245
  return !1;
4075
4246
  return !0;
4076
4247
  }
@@ -4080,15 +4251,15 @@ class Xt {
4080
4251
  if (!t)
4081
4252
  return [...e];
4082
4253
  t = t.toLowerCase();
4083
- const s = "+", i = "-", r = t.toLowerCase().split(" ").filter((a) => a !== s && a !== i && a !== ""), l = r.filter((a) => !a.startsWith(s) && !a.startsWith(i)), n = r.filter((a) => a.startsWith(s)).map((a) => a.replace(/\+/g, "")), d = r.filter((a) => a.startsWith(i)).map((a) => a.replace(/-/g, ""));
4254
+ const s = "+", i = "-", r = t.toLowerCase().split(" ").filter((a) => a !== s && a !== i && a !== ""), n = r.filter((a) => !a.startsWith(s) && !a.startsWith(i)), l = r.filter((a) => a.startsWith(s)).map((a) => a.replace(/\+/g, "")), d = r.filter((a) => a.startsWith(i)).map((a) => a.replace(/-/g, ""));
4084
4255
  return e == null ? void 0 : e.filter((a) => {
4085
- let c = !l.length;
4086
- for (let u = 0; u < l.length; u++)
4087
- (c || o(a).includes(l[u])) && (c = !0);
4088
- if (!c)
4089
- return !1;
4256
+ let h = !n.length;
4090
4257
  for (let u = 0; u < n.length; u++)
4091
- if (!o(a).includes(n[u]))
4258
+ (h || o(a).includes(n[u])) && (h = !0);
4259
+ if (!h)
4260
+ return !1;
4261
+ for (let u = 0; u < l.length; u++)
4262
+ if (!o(a).includes(l[u]))
4092
4263
  return !1;
4093
4264
  for (let u = 0; u < d.length; u++)
4094
4265
  if (o(a).includes(d[u]))
@@ -4107,20 +4278,20 @@ class Xt {
4107
4278
  return t.join(" ").toLowerCase();
4108
4279
  }
4109
4280
  }
4110
- class Yt {
4281
+ class Ut {
4111
4282
  static bodyRenderer(e) {
4112
4283
  return new T(void 0, e, void 0);
4113
4284
  }
4114
4285
  }
4115
- class Kt {
4286
+ class qt {
4116
4287
  constructor(e, t = !0, o = !1) {
4117
4288
  this.property = e, this.skipCheckableCheck = t, this.readonly = o;
4118
4289
  }
4119
- render(e, t, o, s, i, r, l) {
4290
+ render(e, t, o, s, i, r, n) {
4120
4291
  if (this.readonly || this.skipCheckableCheck || i.isRowCheckable(t)) {
4121
- l.addClass(e, "ge-table-row-checkbox-div");
4122
- const n = i.getRowByIndex(t), a = i.getValueByT(n, this.property) === !0 ? "checked" : "", c = this.readonly ? " readonly " : "";
4123
- if (l.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
4292
+ n.addClass(e, "ge-table-row-checkbox-div");
4293
+ const l = i.getRowByIndex(t), a = i.getValueByT(l, this.property) === !0 ? "checked" : "", h = this.readonly ? " readonly " : "";
4294
+ if (n.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
4124
4295
  <input
4125
4296
  type="checkbox"
4126
4297
  data-area="${s}"
@@ -4129,20 +4300,20 @@ class Kt {
4129
4300
  data-property-index="${this.property}"
4130
4301
  data-input-type="checkbox"
4131
4302
  ${a}
4132
- ${c}
4303
+ ${h}
4133
4304
  class="ge-input-checkbox">`, !this.readonly) {
4134
4305
  const u = e.querySelector(".ge-input-checkbox");
4135
- u && u.addEventListener("click", (m, b) => (n[this.property] = !n[this.property], !0));
4306
+ u && u.addEventListener("click", (w, f) => (l[this.property] = !l[this.property], !0));
4136
4307
  }
4137
4308
  }
4138
4309
  }
4139
4310
  }
4140
- class Ut {
4141
- render(e, t, o, s, i, r, l) {
4311
+ class Jt {
4312
+ render(e, t, o, s, i, r, n) {
4142
4313
  r && (e.innerText = new Date(r).toISOString());
4143
4314
  }
4144
4315
  }
4145
- class qt {
4316
+ class Qt {
4146
4317
  constructor() {
4147
4318
  this.formatter = new Intl.DateTimeFormat("de-DE", {
4148
4319
  year: "numeric",
@@ -4150,37 +4321,37 @@ class qt {
4150
4321
  day: "2-digit"
4151
4322
  });
4152
4323
  }
4153
- render(e, t, o, s, i, r, l) {
4324
+ render(e, t, o, s, i, r, n) {
4154
4325
  if (r) {
4155
- let n = "";
4326
+ let l = "";
4156
4327
  try {
4157
- n = this.formatter.format(new Date(r));
4328
+ l = this.formatter.format(new Date(r));
4158
4329
  } catch {
4159
- n = r;
4330
+ l = r;
4160
4331
  }
4161
4332
  e.innerHTML = `
4162
4333
  <div class="ge-table-label-div" data-row-index="${t}" data-col-index="${o}" data-area="${s}" style="position: relative; background: transparent; width: 100%; height: 100%;">
4163
- <div class="ge-table-label" data-row-index="${t}" data-col-index="${o}" data-area="${s}">${n}</div>
4334
+ <div class="ge-table-label" data-row-index="${t}" data-col-index="${o}" data-area="${s}">${l}</div>
4164
4335
  </div>`;
4165
4336
  }
4166
4337
  }
4167
4338
  }
4168
- class Jt {
4169
- render(e, t, o, s, i, r, l) {
4339
+ class Zt {
4340
+ render(e, t, o, s, i, r, n) {
4170
4341
  r && (e.innerText = new Date(r).toLocaleDateString());
4171
4342
  }
4172
4343
  }
4173
- class Qt {
4174
- render(e, t, o, s, i, r, l) {
4344
+ class eo {
4345
+ render(e, t, o, s, i, r, n) {
4175
4346
  r === "male" || r === "m" ? e.innerText = "♂" : (r === "female" || r === "f") && (e.innerText = "♀");
4176
4347
  }
4177
4348
  }
4178
- class Zt {
4349
+ class to {
4179
4350
  constructor(e = 100, t = !1) {
4180
4351
  this.maxValue = e, this.labelVisible = t;
4181
4352
  }
4182
- render(e, t, o, s, i, r, l) {
4183
- if (l.addClass(e, "ge-progressbar-div"), !isNaN(r)) {
4353
+ render(e, t, o, s, i, r, n) {
4354
+ if (n.addClass(e, "ge-progressbar-div"), !isNaN(r)) {
4184
4355
  const d = Number(r) * 100 / this.maxValue, a = this.labelVisible ? Math.round(d) + "%" : "";
4185
4356
  e.innerHTML = `
4186
4357
  <div class="ge-table-label-div"
@@ -4205,58 +4376,58 @@ class Zt {
4205
4376
  }
4206
4377
  }
4207
4378
  }
4208
- class eo {
4209
- render(e, t, o, s, i, r, l) {
4379
+ class oo {
4380
+ render(e, t, o, s, i, r, n) {
4210
4381
  r === "true" || r === !0 ? e.innerHTML = '<span class="ge-true-text-color">✅</span>' : r === "false" || r === !1 ? e.innerHTML = '<span class="ge-false-text-color">❌</span>' : e.innerText = "";
4211
4382
  }
4212
4383
  }
4213
- class to {
4214
- render(e, t, o, s, i, r, l) {
4384
+ class so {
4385
+ render(e, t, o, s, i, r, n) {
4215
4386
  r && (e.innerText = new Date(r).toISOString().replace(/T/g, " ").replace(/\..*/g, ""));
4216
4387
  }
4217
4388
  }
4218
- class oo {
4389
+ class io {
4219
4390
  constructor(e = Number.MIN_SAFE_INTEGER, t = Number.MAX_SAFE_INTEGER) {
4220
4391
  this.min = e, this.max = t;
4221
4392
  }
4222
- render(e, t, o, s, i, r, l) {
4223
- r && (e.innerText = r, (typeof r == "string" || isNaN(r) || r < this.min || r > this.max) && l.addClass(e, "ge-cell-error"));
4393
+ render(e, t, o, s, i, r, n) {
4394
+ r && (e.innerText = r, (typeof r == "string" || isNaN(r) || r < this.min || r > this.max) && n.addClass(e, "ge-cell-error"));
4224
4395
  }
4225
4396
  }
4226
- class so {
4397
+ class ro {
4227
4398
  constructor(e) {
4228
4399
  this.property = e;
4229
4400
  }
4230
- render(e, t, o, s, i, r, l) {
4231
- l.addClass(e, "ge-star-rating-div");
4232
- const n = i.getRowByIndex(t), d = +("" + i.getValueByT(n, this.property));
4401
+ render(e, t, o, s, i, r, n) {
4402
+ n.addClass(e, "ge-star-rating-div");
4403
+ const l = i.getRowByIndex(t), d = +("" + i.getValueByT(l, this.property));
4233
4404
  if (!isNaN(d)) {
4234
4405
  const a = [];
4235
4406
  for (let u = 0; u < d; u++)
4236
4407
  a.push("★");
4237
- const c = a.join(" ");
4408
+ const h = a.join(" ");
4238
4409
  e.innerHTML = `
4239
4410
  <div class="ge-table-label-div" data-row-index="${t}" data-col-index="${o}" data-area="${s}" style="position: relative; background: transparent; width: 100%; height: 100%;">
4240
- <div class="ge-table-label" data-row-index="${t}" data-col-index="${o}" data-area="${s}">${c}</div>
4411
+ <div class="ge-table-label" data-row-index="${t}" data-col-index="${o}" data-area="${s}">${h}</div>
4241
4412
  </div>`;
4242
4413
  }
4243
4414
  }
4244
4415
  }
4245
- class io {
4416
+ class lo {
4246
4417
  constructor(e, t = 100, o = !1) {
4247
4418
  this.property = e, this.maxValue = t, this.labelVisible = o;
4248
4419
  }
4249
- render(e, t, o, s, i, r, l) {
4250
- l.addClass(e, "ge-star-rating-div");
4251
- const n = i.getRowByIndex(t), d = +("" + i.getValueByT(n, this.property));
4420
+ render(e, t, o, s, i, r, n) {
4421
+ n.addClass(e, "ge-star-rating-div");
4422
+ const l = i.getRowByIndex(t), d = +("" + i.getValueByT(l, this.property));
4252
4423
  if (!isNaN(d)) {
4253
- const a = d * 100 / this.maxValue, c = this.labelVisible ? Math.round(a) + "%" : "";
4424
+ const a = d * 100 / this.maxValue, h = this.labelVisible ? Math.round(a) + "%" : "";
4254
4425
  e.innerHTML = `
4255
4426
  <div class="ge-table-label-div"
4256
4427
  data-row-index="${t}"
4257
4428
  data-col-index="${o}"
4258
4429
  data-area="${s}"
4259
- title="${c}"
4430
+ title="${h}"
4260
4431
  style="position: relative; background: transparent; width: 100%; height: 100%;">
4261
4432
  <div class="ge-table-progress-container"
4262
4433
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -4274,8 +4445,8 @@ class io {
4274
4445
  }
4275
4446
  }
4276
4447
  }
4277
- class ro {
4278
- render(e, t, o, s, i, r, l) {
4448
+ class no {
4449
+ render(e, t, o, s, i, r, n) {
4279
4450
  if (r) {
4280
4451
  e.innerHTML = `
4281
4452
  <div
@@ -4289,37 +4460,37 @@ class ro {
4289
4460
  data-row-index="${t}"
4290
4461
  data-col-index="${o}"
4291
4462
  data-area="${s}">${r}</div></div>`;
4292
- const n = Number(r);
4293
- n > 0 ? l.addClass(e, "ge-positive-text-color") : n < 0 && l.addClass(e, "ge-negative-text-color");
4463
+ const l = Number(r);
4464
+ l > 0 ? n.addClass(e, "ge-positive-text-color") : l < 0 && n.addClass(e, "ge-negative-text-color");
4294
4465
  }
4295
4466
  }
4296
4467
  }
4297
- const lo = function(h, e, t) {
4298
- return h ? Number(h) : "";
4468
+ const ao = function(c, e, t) {
4469
+ return c ? Number(c) : "";
4299
4470
  };
4300
- class Se {
4471
+ class xe {
4301
4472
  constructor(e) {
4302
4473
  this.options = e;
4303
4474
  }
4304
4475
  static create(e) {
4305
- return new Se(
4306
- e.map((t) => new Ue(t, t))
4476
+ return new xe(
4477
+ e.map((t) => new Je(t, t))
4307
4478
  );
4308
4479
  }
4309
- render(e, t, o, s, i, r, l) {
4480
+ render(e, t, o, s, i, r, n) {
4310
4481
  if (i.isEditable(t, o)) {
4311
- l.addClass(e, "ge-table-row-select-div");
4312
- const n = i.getValueAt(t, o);
4482
+ n.addClass(e, "ge-table-row-select-div");
4483
+ const l = i.getValueAt(t, o);
4313
4484
  let d = [];
4314
- for (let c of this.options) {
4315
- const u = c.value === n ? " selected " : "";
4316
- d.push(`<option value="${c.value}" ${u}>${c.label}</option>`);
4485
+ for (let h of this.options) {
4486
+ const u = h.value === l ? " selected " : "";
4487
+ d.push(`<option value="${h.value}" ${u}>${h.label}</option>`);
4317
4488
  }
4318
4489
  const a = d.join("");
4319
4490
  e.innerHTML = `
4320
4491
  <select
4321
4492
  type="text"
4322
- value="${n}"
4493
+ value="${l}"
4323
4494
  autofocus
4324
4495
  data-listen="change"
4325
4496
  data-area="${s}"
@@ -4331,7 +4502,7 @@ class Se {
4331
4502
  }
4332
4503
  }
4333
4504
  }
4334
- class no {
4505
+ class ho {
4335
4506
  constructor(e, t, o) {
4336
4507
  this.r = e, this.g = t, this.b = o;
4337
4508
  }
@@ -4346,151 +4517,151 @@ class W {
4346
4517
  return (e - t) / (o - t) * (i - s) + s;
4347
4518
  }
4348
4519
  static getTwoColorGradientRGB(e, t) {
4349
- const o = W.normalize(e, t.minValue, t.maxValue, 0, 1), s = t.maxColor.r - t.minColor.r, i = t.maxColor.g - t.minColor.g, r = t.maxColor.b - t.minColor.b, l = s * o + t.minColor.r, n = i * o + t.minColor.g, d = r * o + t.minColor.b;
4350
- return `rgb(${Math.round(l)}, ${Math.round(n)}, ${Math.round(d)})`;
4520
+ const o = W.normalize(e, t.minValue, t.maxValue, 0, 1), s = t.maxColor.r - t.minColor.r, i = t.maxColor.g - t.minColor.g, r = t.maxColor.b - t.minColor.b, n = s * o + t.minColor.r, l = i * o + t.minColor.g, d = r * o + t.minColor.b;
4521
+ return `rgb(${Math.round(n)}, ${Math.round(l)}, ${Math.round(d)})`;
4351
4522
  }
4352
4523
  static getThreeColorGradientRGB(e, t) {
4353
4524
  return e < t.middleValue ? W.getTwoColorGradientRGB(e, new ue(t.minValue, t.minColor, t.middleValue, t.middleColor)) : e > t.middleValue ? W.getTwoColorGradientRGB(e, new ue(t.middleValue, t.middleColor, t.maxValue, t.maxColor)) : `rgb(${t.middleColor.r}, ${t.middleColor.g}, ${t.middleColor.b})`;
4354
4525
  }
4355
4526
  }
4356
- class ao {
4527
+ class co {
4357
4528
  constructor(e, t, o, s, i, r) {
4358
4529
  this.minValue = e, this.minColor = t, this.middleValue = o, this.middleColor = s, this.maxValue = i, this.maxColor = r;
4359
4530
  }
4360
4531
  }
4361
4532
  export {
4362
- Z as AbstractAreaModel,
4363
- Ht as AreaMapFactory,
4364
- zt as AreaModel,
4365
- _ as AreaModelArrayOfArrays,
4366
- jt as AreaModelCellGroups,
4367
- D as AreaModelHidden,
4533
+ ee as AbstractAreaModel,
4534
+ Gt as AreaMapFactory,
4535
+ Xt as AreaModel,
4536
+ D as AreaModelArrayOfArrays,
4537
+ Yt as AreaModelCellGroups,
4538
+ _ as AreaModelHidden,
4368
4539
  he as AreaModelObjectArrayWithColumndefs,
4369
- Ye as AreaModelObjectyArray,
4540
+ Ue as AreaModelObjectyArray,
4370
4541
  ne as AreaModelTree,
4371
4542
  T as AreaObjectMap,
4372
- Nt as AutoRestoreOptions,
4373
- qe as CellGroup,
4374
- Je as CellGroupExt,
4375
- Qe as CellGroupExtCellRenderer,
4376
- v as CellRange,
4543
+ jt as AutoRestoreOptions,
4544
+ Qe as CellGroup,
4545
+ Ze as CellGroupExt,
4546
+ et as CellGroupExtCellRenderer,
4547
+ R as CellRange,
4377
4548
  I as CellgroupFactory,
4378
- Kt as CheckboxBooleanPropertyCellRenderer,
4549
+ qt as CheckboxBooleanPropertyCellRenderer,
4379
4550
  ce as CheckboxCellRenderer,
4380
- Bt as CheckboxColumnDef,
4381
- Xe as CheckboxModel,
4382
- _t as ChunkData,
4383
- Ie as ColAndRowspanModel,
4384
- Ae as CollapsedExpandedData,
4385
- no as ColorRgb,
4386
- B as ColumnDef,
4387
- xe as ConvenienceDomService,
4551
+ Wt as CheckboxColumnDef,
4552
+ Ke as CheckboxModel,
4553
+ $t as ChunkData,
4554
+ De as ColAndRowspanModel,
4555
+ Ee as CollapsedExpandedData,
4556
+ ho as ColorRgb,
4557
+ V as ColumnDef,
4558
+ Ce as ConvenienceDomService,
4388
4559
  se as CopyService,
4389
4560
  fe as CssVars,
4390
- qt as DateToIntlDDMMYYYYCellRenderer,
4391
- Ut as DateToIsoCellRenderer,
4392
- Jt as DateToLocaleDateCellRenderer,
4393
- to as DateToTecCellRenderer,
4394
- V as DefaultRowHeights,
4395
- ke as EleScope,
4561
+ Qt as DateToIntlDDMMYYYYCellRenderer,
4562
+ Jt as DateToIsoCellRenderer,
4563
+ Zt as DateToLocaleDateCellRenderer,
4564
+ so as DateToTecCellRenderer,
4565
+ H as DefaultRowHeights,
4566
+ Te as EleScope,
4396
4567
  oe as EventAdapter,
4397
4568
  re as FalseFn,
4398
- We as FocusModel,
4399
- $e as GeCellIndices,
4569
+ Ne as FocusModel,
4570
+ Pe as GeCellIndices,
4400
4571
  W as GeCssColorUtil,
4401
- Xt as GeFilterService,
4402
- Wt as GeKeyEvent,
4572
+ Kt as GeFilterService,
4573
+ Nt as GeKeyEvent,
4403
4574
  J as GeModelChangeEvent,
4404
4575
  K as GeMouseEvent,
4405
4576
  $ as GeoData,
4406
- P as Icon,
4407
- Dt as IndexAndPx,
4408
- Be as InputCellRenderer,
4409
- De as InputHandler,
4577
+ O as Icon,
4578
+ Ot as IndexAndPx,
4579
+ We as InputCellRenderer,
4580
+ Oe as InputHandler,
4410
4581
  F as LicenseManager,
4411
- Qt as MaleFemaleToIconCellRenderer,
4412
- Ce as MouseHandler,
4413
- ye as MouseTargetData,
4414
- Zt as NumberCellProgressBarCellRenderer,
4415
- oo as NumberCellRenderer,
4416
- Fe as OsxShortcutActionIdMapping,
4582
+ eo as MaleFemaleToIconCellRenderer,
4583
+ Re as MouseHandler,
4584
+ ve as MouseTargetData,
4585
+ to as NumberCellProgressBarCellRenderer,
4586
+ io as NumberCellRenderer,
4587
+ He as OsxShortcutActionIdMapping,
4417
4588
  de as Padding,
4418
- ro as PositiveAndNegativeNumberRenderer,
4419
- io as ProgressBarCellRenderer,
4420
- Te as RenderScope,
4421
- Yt as Renderer,
4422
- Ke as RequestChunk,
4423
- Se as SelectCellRenderer,
4424
- He as SelectionModel,
4425
- Pe as SelectionService,
4426
- Oe as ShortcutService,
4427
- Ve as SimpleDomService,
4428
- f as Size,
4429
- _e as SortItem,
4430
- be as SortedOptions,
4431
- so as StarRatingCellRenderer,
4432
- Ee as StoreStateCollapsedExpandService,
4433
- Re as StoreStateScrollPosService,
4434
- Me as StoreStateSortingService,
4435
- ve as TableApi,
4436
- Gt as TableCellUpdateEvent,
4437
- L as TableFactory,
4589
+ no as PositiveAndNegativeNumberRenderer,
4590
+ lo as ProgressBarCellRenderer,
4591
+ _e as RenderScope,
4592
+ Ut as Renderer,
4593
+ qe as RequestChunk,
4594
+ xe as SelectCellRenderer,
4595
+ Ge as SelectionModel,
4596
+ Fe as SelectionService,
4597
+ Ve as ShortcutService,
4598
+ Be as SimpleDomService,
4599
+ m as Size,
4600
+ $e as SortItem,
4601
+ pe as SortedOptions,
4602
+ ro as StarRatingCellRenderer,
4603
+ Ie as StoreStateCollapsedExpandService,
4604
+ Me as StoreStateScrollPosService,
4605
+ ke as StoreStateSortingService,
4606
+ Ae as TableApi,
4607
+ zt as TableCellUpdateEvent,
4608
+ P as TableFactory,
4438
4609
  N as TableModel,
4439
- Tt as TableModelAndOptions,
4610
+ _t as TableModelAndOptions,
4440
4611
  j as TableOptions,
4441
- pe as TableScope,
4442
- ao as ThreeColorGradientArg,
4612
+ be as TableScope,
4613
+ co as ThreeColorGradientArg,
4443
4614
  ae as TreeCheckboxModel,
4444
4615
  Y as TreeFactory,
4445
4616
  ge as TreeOptions,
4446
4617
  ie as TreeRow,
4447
- je as TreeRowService,
4448
- eo as TrueFalseCellRenderer,
4449
- ze as TrueFn,
4618
+ Ye as TreeRowService,
4619
+ oo as TrueFalseCellRenderer,
4620
+ Xe as TrueFn,
4450
4621
  ue as TwoColorGradientArg,
4451
- Ue as ValueLabel,
4622
+ Je as ValueLabel,
4452
4623
  Le as WindowsShortcutActionIdMapping,
4453
- It as actionIds,
4454
- Ot as allCenter,
4455
- Ft as allLeft,
4456
- Vt as allRight,
4457
- Pt as bodyCenter,
4458
- $t as bodyLeft,
4624
+ Dt as actionIds,
4625
+ Vt as allCenter,
4626
+ Ht as allLeft,
4627
+ Bt as allRight,
4628
+ Ft as bodyCenter,
4629
+ Pt as bodyLeft,
4459
4630
  Lt as bodyRight,
4460
- lo as editInputPipeForNumber,
4631
+ ao as editInputPipeForNumber,
4461
4632
  U as getAreaIdentByString,
4462
4633
  z as isAreaModelTree,
4463
- we as isCheckboxColumnDef,
4464
- O as isTreeRow,
4465
- kt as px0,
4466
- Mt as px10,
4467
- St as px100,
4468
- mt as px110,
4469
- ft as px120,
4470
- pt as px130,
4471
- bt as px140,
4472
- gt as px150,
4473
- ut as px160,
4474
- ct as px170,
4475
- ht as px180,
4476
- dt as px190,
4477
- Et as px20,
4634
+ ye as isCheckboxColumnDef,
4635
+ L as isTreeRow,
4636
+ Tt as px0,
4637
+ kt as px10,
4638
+ xt as px100,
4639
+ St as px110,
4640
+ wt as px120,
4641
+ mt as px130,
4642
+ ft as px140,
4643
+ bt as px150,
4644
+ pt as px160,
4645
+ gt as px170,
4646
+ ut as px180,
4647
+ ct as px190,
4648
+ It as px20,
4478
4649
  le as px200,
4479
- at as px210,
4480
- nt as px220,
4481
- lt as px230,
4482
- rt as px240,
4483
- it as px250,
4484
- st as px260,
4485
- ot as px270,
4486
- tt as px280,
4487
- et as px290,
4488
- At as px30,
4489
- Ze as px300,
4490
- Rt as px40,
4491
- vt as px50,
4492
- Ct as px60,
4493
- yt as px70,
4494
- xt as px80,
4495
- wt as px90
4650
+ ht as px210,
4651
+ dt as px220,
4652
+ at as px230,
4653
+ nt as px240,
4654
+ lt as px250,
4655
+ rt as px260,
4656
+ it as px270,
4657
+ st as px280,
4658
+ ot as px290,
4659
+ Et as px30,
4660
+ tt as px300,
4661
+ Mt as px40,
4662
+ At as px50,
4663
+ Rt as px60,
4664
+ vt as px70,
4665
+ Ct as px80,
4666
+ yt as px90
4496
4667
  };