@guiexpert/table 1.1.86 → 1.1.89

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
@@ -1,49 +1,49 @@
1
- function Ut(d, e = 500) {
1
+ function Ut(h, e = 500) {
2
2
  let t = null, s = 0;
3
3
  return function(...o) {
4
4
  const i = Date.now(), r = e - (i - s);
5
- r <= 0 ? (d.apply(this, o), s = i) : t || (t = window.setTimeout(() => {
6
- d.apply(this, o), s = Date.now(), t = null;
5
+ r <= 0 ? (h.apply(this, o), s = i) : t || (t = window.setTimeout(() => {
6
+ h.apply(this, o), s = Date.now(), t = null;
7
7
  }, r));
8
8
  };
9
9
  }
10
- function Ye(d, e = 500) {
10
+ function Ye(h, e = 500) {
11
11
  let t = null;
12
12
  return function(...s) {
13
13
  t && window.clearTimeout(t), t = window.setTimeout(() => {
14
- d.apply(this, s), t = null;
14
+ h.apply(this, s), t = null;
15
15
  }, e);
16
16
  };
17
17
  }
18
- function Yt(d = 500) {
18
+ function Yt(h = 500) {
19
19
  return function(e, t, s) {
20
20
  let o = 0;
21
21
  const i = s.value;
22
22
  return s.value = function(...r) {
23
- if (!(Date.now() - o < d))
23
+ if (!(Date.now() - o < h))
24
24
  return o = Date.now(), i.apply(this, r);
25
25
  }, s;
26
26
  };
27
27
  }
28
- const Le = "any", X = "undefined", Oe = "null", Ve = "string", fe = "number", me = "boolean", He = "Array", K = "object", Q = [Oe, X, Le];
29
- class $e {
28
+ const Le = "any", K = "undefined", Ve = "null", Oe = "string", fe = "number", me = "boolean", $e = "Array", X = "object", Q = [Ve, K, Le];
29
+ class He {
30
30
  constructor(e) {
31
31
  this.propertyName = e, this.type = Le;
32
32
  }
33
33
  }
34
34
  class le {
35
35
  constructor(e) {
36
- this.propertyName = e, this.type = X;
36
+ this.propertyName = e, this.type = K;
37
37
  }
38
38
  }
39
- class Xe {
39
+ class Ke {
40
40
  constructor(e) {
41
- this.propertyName = e, this.type = Oe;
41
+ this.propertyName = e, this.type = Ve;
42
42
  }
43
43
  }
44
- class Ke {
44
+ class Xe {
45
45
  constructor(e) {
46
- this.propertyName = e, this.type = Ve;
46
+ this.propertyName = e, this.type = Oe;
47
47
  }
48
48
  }
49
49
  class Je {
@@ -58,7 +58,7 @@ class qe {
58
58
  }
59
59
  class B {
60
60
  constructor(e, t = []) {
61
- this.propertyName = e, this.items = t, this.type = He;
61
+ this.propertyName = e, this.items = t, this.type = $e;
62
62
  }
63
63
  }
64
64
  class Be {
@@ -71,10 +71,10 @@ class Be {
71
71
  }
72
72
  class L {
73
73
  constructor(e, t, s = []) {
74
- this.propertyName = e, this.className = t, this.properties = s, this.type = K;
74
+ this.propertyName = e, this.className = t, this.properties = s, this.type = X;
75
75
  }
76
76
  }
77
- class Xt {
77
+ class Kt {
78
78
  constructor() {
79
79
  this.rootPropertyType = null, this.allowCustomRenderer = !0, this.bufCustomRenderer = [], this.LABEL_MAPPINGS = {
80
80
  Id: "ID",
@@ -101,7 +101,7 @@ class Xt {
101
101
  if (!this.rootPropertyType)
102
102
  return s;
103
103
  if (e instanceof B) {
104
- const o = e.items.find((i) => i.type === K);
104
+ const o = e.items.find((i) => i.type === X);
105
105
  if (o && o instanceof L) {
106
106
  const i = o.properties;
107
107
  s.push(" const columnDefs: ColumnDefIf[] = ["), this.iteratePropertyItems(s, i, ""), s.push(" ];");
@@ -120,25 +120,25 @@ class Xt {
120
120
  else {
121
121
  let a = "";
122
122
  if (n instanceof B) {
123
- const p = n.items.find((m) => m.type === K);
123
+ const p = n.items.find((m) => m.type === X);
124
124
  p && p instanceof L && (a = p.className);
125
125
  }
126
126
  const c = this.getReadableColumnLabel(l);
127
- let h = 100, u = "", f = "ge-table-text-align-left";
128
- if (n.type === He) {
127
+ let d = 100, u = "", g = "ge-table-text-align-left";
128
+ if (n.type === $e) {
129
129
  if (this.allowCustomRenderer && a) {
130
130
  const p = `${a}ArrayCellRenderer`;
131
- u = ` bodyRenderer: new ${p}(),`, f = "", this.renderCumstomCellRenderer(a, p);
131
+ u = ` bodyRenderer: new ${p}(),`, g = "", this.renderCumstomCellRenderer(a, p);
132
132
  } else
133
133
  u = " bodyRenderer: new SimpleArrayCellRenderer(),";
134
- h = 250;
135
- } else n.type === fe ? (u = " bodyRenderer: new NumberCellRenderer(),", f = "ge-table-text-align-right") : n.type === me && (u = " bodyRenderer: new TrueFalseCellRenderer(),", f = "ge-table-text-align-center", h = 80);
134
+ d = 250;
135
+ } else n.type === fe ? (u = " bodyRenderer: new NumberCellRenderer(),", g = "ge-table-text-align-right") : n.type === me && (u = " bodyRenderer: new TrueFalseCellRenderer(),", g = "ge-table-text-align-center", d = 80);
136
136
  e.push(` ColumnDef.create({
137
137
  property: "${l}",
138
138
  headerLabel: "${c}",
139
- width: new Size(${h}, "px"),
140
- bodyClasses: ["${f}"],
141
- headerClasses: ["${f}"],`), u && e.push(u), e.push(" }),");
139
+ width: new Size(${d}, "px"),
140
+ bodyClasses: ["${g}"],
141
+ headerClasses: ["${g}"],`), u && e.push(u), e.push(" }),");
142
142
  }
143
143
  }
144
144
  }
@@ -262,7 +262,7 @@ class Re {
262
262
  }
263
263
  class Ze {
264
264
  constructor() {
265
- this.property = "", this.value = "", this.path = "", this.propertyItem = new Be("", [new $e("")]);
265
+ this.property = "", this.value = "", this.path = "", this.propertyItem = new Be("", [new He("")]);
266
266
  }
267
267
  toString() {
268
268
  var e;
@@ -270,22 +270,22 @@ class Ze {
270
270
  }
271
271
  }
272
272
  const Ae = "Entity";
273
- function Qe(d) {
274
- let e = et(tt(d));
273
+ function Qe(h) {
274
+ let e = et(tt(h));
275
275
  return e.includes(Ae) || (e = e + Ae), e;
276
276
  }
277
- function et(d) {
278
- if (!d || d.length === 0) return d;
277
+ function et(h) {
278
+ if (!h || h.length === 0) return h;
279
279
  const e = ["Array", "Arr", "List", "s"];
280
280
  for (const t of e)
281
- if (d.endsWith(t))
282
- return d.slice(0, -t.length);
283
- return d;
281
+ if (h.endsWith(t))
282
+ return h.slice(0, -t.length);
283
+ return h;
284
284
  }
285
- function tt(d) {
286
- return !d || d.length === 0 ? "" : d[0].toUpperCase() + d.slice(1);
285
+ function tt(h) {
286
+ return !h || h.length === 0 ? "" : h[0].toUpperCase() + h.slice(1);
287
287
  }
288
- class Kt {
288
+ class Xt {
289
289
  constructor() {
290
290
  this.debugging = !1;
291
291
  }
@@ -527,7 +527,7 @@ class Kt {
527
527
  }
528
528
  }
529
529
  }
530
- return t || new $e("");
530
+ return t || new He("");
531
531
  }
532
532
  logValueInfos(e) {
533
533
  for (let t = 0; t < e.length; t++) {
@@ -557,7 +557,7 @@ class Kt {
557
557
  const l = this.getFirstValueInfoByPath(e, n);
558
558
  if (Array.isArray(l == null ? void 0 : l.value)) {
559
559
  const a = (l == null ? void 0 : l.value.length) ?? 0, c = this.countPath(e, i.path);
560
- a > c && (i.propertyItem.types.some((h) => h.type === X) || i.propertyItem.types.push(new le(i.property)));
560
+ a > c && (i.propertyItem.types.some((d) => d.type === K) || i.propertyItem.types.push(new le(i.property)));
561
561
  }
562
562
  }
563
563
  }
@@ -580,13 +580,13 @@ class Kt {
580
580
  const s = [], o = (i, r, n) => {
581
581
  const l = new Ze();
582
582
  let a = r.split("/").pop() || "";
583
- if (a === "[]" ? a = n : a === "root" && (a = t), l.property = a, l.value = i, l.path = r, l.propertyItem = this.createPropertyItem(i, l.property), s.push(l), i && typeof i === K && !Array.isArray(i)) {
583
+ if (a === "[]" ? a = n : a === "root" && (a = t), l.property = a, l.value = i, l.path = r, l.propertyItem = this.createPropertyItem(i, l.property), s.push(l), i && typeof i === X && !Array.isArray(i)) {
584
584
  for (const c in i)
585
585
  if (i.hasOwnProperty(c)) {
586
- const h = r ? `${r}/${c}` : c;
587
- o(i[c], h, a);
586
+ const d = r ? `${r}/${c}` : c;
587
+ o(i[c], d, a);
588
588
  }
589
- } else Array.isArray(i) && i.forEach((c, h) => {
589
+ } else Array.isArray(i) && i.forEach((c, d) => {
590
590
  const u = `${r}/[]`;
591
591
  o(c, u, a);
592
592
  });
@@ -599,7 +599,7 @@ class Kt {
599
599
  ]);
600
600
  }
601
601
  createPropertyType(e, t) {
602
- return e === null ? new Xe(t) : e === void 0 ? new le(t) : typeof e === Ve ? new Ke(t) : typeof e === fe && !isNaN(e) ? new Je(t) : typeof e === me ? new qe(t) : Array.isArray(e) ? new B(t) : typeof e === K ? new L(t, Qe(t)) : new le(t);
602
+ return e === null ? new Ke(t) : e === void 0 ? new le(t) : typeof e === Oe ? new Xe(t) : typeof e === fe && !isNaN(e) ? new Je(t) : typeof e === me ? new qe(t) : Array.isArray(e) ? new B(t) : typeof e === X ? new L(t, Qe(t)) : new le(t);
603
603
  }
604
604
  }
605
605
  class Jt {
@@ -651,7 +651,7 @@ class Jt {
651
651
  var s, o;
652
652
  if (((s = e.types) == null ? void 0 : s.length) === 0) return "any";
653
653
  if (((o = e.types) == null ? void 0 : o.length) === 1) return this.renderType(e.types[0], e);
654
- const t = e.types.map((i) => this.renderType(i, e)).filter((i) => i !== X).sort((i, r) => Q.includes(i) ? 100 : Q.includes(r) ? -100 : i.localeCompare(r)).join(this.orOperator);
654
+ const t = e.types.map((i) => this.renderType(i, e)).filter((i) => i !== K).sort((i, r) => Q.includes(i) ? 100 : Q.includes(r) ? -100 : i.localeCompare(r)).join(this.orOperator);
655
655
  return t.includes(this.orOperator) ? "(" + t + ")" : t;
656
656
  }
657
657
  renderType(e, t) {
@@ -663,7 +663,7 @@ class Jt {
663
663
  }
664
664
  containsUndefinedPropertyType(e) {
665
665
  for (const t of e.types)
666
- if (t.type === X) return !0;
666
+ if (t.type === K) return !0;
667
667
  return !1;
668
668
  }
669
669
  }
@@ -692,18 +692,18 @@ class G {
692
692
  }
693
693
  }
694
694
  }
695
- function j(d) {
696
- return d && d.type === "TreeRow";
695
+ function j(h) {
696
+ return h && h.type === "TreeRow";
697
697
  }
698
- function de(d) {
699
- return d && d.type === "AreaModelTree";
698
+ function de(h) {
699
+ return h && h.type === "AreaModelTree";
700
700
  }
701
- function st(d) {
702
- return d && d.type === "CheckboxColumnDef";
701
+ function st(h) {
702
+ return h && h.type === "CheckboxColumnDef";
703
703
  }
704
704
  class be {
705
- constructor(e = -1, t = -1, s = -1, o = -1, i, r, n, l = 0, a = 0, c = 0, h = "") {
706
- this.rowIndex = e, this.rowTop = t, this.columnIndex = s, this.columnLeft = o, this.areaIdent = i, this.sideIdent = r, this.originalEvent = n, this.clickCount = l, this.draggingX = a, this.draggingY = c, this.action = h;
705
+ constructor(e = -1, t = -1, s = -1, o = -1, i, r, n, l = 0, a = 0, c = 0, d = "") {
706
+ this.rowIndex = e, this.rowTop = t, this.columnIndex = s, this.columnLeft = o, this.areaIdent = i, this.sideIdent = r, this.originalEvent = n, this.clickCount = l, this.draggingX = a, this.draggingY = c, this.action = d;
707
707
  }
708
708
  clone() {
709
709
  return new be(
@@ -721,25 +721,25 @@ class be {
721
721
  );
722
722
  }
723
723
  }
724
- class V {
724
+ class O {
725
725
  constructor(e = ">", t = "", s = []) {
726
726
  this.content = e, this.style = t, this.classes = s;
727
727
  }
728
728
  }
729
729
  class We {
730
- constructor(e = new V(
730
+ constructor(e = new O(
731
731
  ">",
732
732
  "transform: rotate(90deg) translate(66%, -66%); transform-origin: 0 0;",
733
733
  ["gt-table-tree-arrow-expanded"]
734
- ), t = new V(
734
+ ), t = new O(
735
735
  ">",
736
736
  "",
737
737
  ["ge-table-tree-arrow-collapsed"]
738
- ), s = new V(
738
+ ), s = new O(
739
739
  ">",
740
740
  "color:transparent;",
741
741
  ["gt-table-tree-arrow-hidden"]
742
- ), o = new V(
742
+ ), o = new O(
743
743
  "↕",
744
744
  "",
745
745
  ["gt-table-tree-arrow-expanded-all"]
@@ -748,7 +748,7 @@ class We {
748
748
  }
749
749
  }
750
750
  class Ne {
751
- constructor(e = new V("↑", "", ["ge-header-sorted-asc"]), t = new V("↓", "", ["ge-header-sorted-desc"]), s = new V("↑", "color:transparent;", [])) {
751
+ constructor(e = new O("↑", "", ["ge-header-sorted-asc"]), t = new O("↓", "", ["ge-header-sorted-desc"]), s = new O("↑", "color:transparent;", [])) {
752
752
  this.iconAsc = e, this.iconDesc = t, this.iconPlaceholder = s;
753
753
  }
754
754
  }
@@ -838,12 +838,12 @@ class ot {
838
838
  return this.domService.appendChild(e.child, l), l;
839
839
  }
840
840
  addColumnDiv(e) {
841
- const { parent: t, geo: s, rowIndex: o = -1, columnIndex: i = -1, areaIdent: r, sideIdent: n, text: l = "", treeArrow: a, tableOptions: c, checkedType: h = void 0, sortState: u } = e, f = c == null ? void 0 : c.treeOptions, p = c == null ? void 0 : c.showCheckboxWihoutExtraColumn, m = this.domService.createElement("div");
841
+ const { parent: t, geo: s, rowIndex: o = -1, columnIndex: i = -1, areaIdent: r, sideIdent: n, text: l = "", treeArrow: a, tableOptions: c, checkedType: d = void 0, sortState: u } = e, g = c == null ? void 0 : c.treeOptions, p = c == null ? void 0 : c.showCheckboxWihoutExtraColumn, m = this.domService.createElement("div");
842
842
  this.domService.addClass(m, "ge-table-col-div"), p && this.domService.addClass(m, "ge-with-checkbox"), this.domService.addClass(m, `ge-table-col-div-${s.index}`), this.domService.setAttribute(m, "data-col-index", `${s.index}`), this.domService.setAttribute(m, "data-row-index", `${o}`), this.domService.setAttribute(m, "data-area", `${r}`);
843
- const g = ((s == null ? void 0 : s.index) ?? 0) % 2 === 0 ? "even" : "odd";
844
- if (r === "body" && n === "center" && this.domService.addClass(m, `ge-table-column-${g}`), this.domService.setStyle(m, "display", "clip"), this.domService.setStyle(m, "position", "absolute"), this.domService.setStyle(m, "left", `${s.left}px`), this.domService.setStyle(m, "top", `${s.top}px`), this.domService.setStyle(m, "width", `${s.width}px`), this.domService.setStyle(m, "height", `${s.height}px`), a && a !== "none" && (this.domService.addClass(m, "ge-table-col-tree"), this.addArrowDiv(m, a, f, o, i, r)), p && i === 0 && h && this.addCheckboxToDiv(m, h, r, o), l) {
845
- const y = a !== "none" && i === 0;
846
- this.addLabelDiv(m, l, y, o, i, r);
843
+ const f = ((s == null ? void 0 : s.index) ?? 0) % 2 === 0 ? "even" : "odd";
844
+ if (r === "body" && n === "center" && this.domService.addClass(m, `ge-table-column-${f}`), this.domService.setStyle(m, "display", "clip"), this.domService.setStyle(m, "position", "absolute"), this.domService.setStyle(m, "left", `${s.left}px`), this.domService.setStyle(m, "top", `${s.top}px`), this.domService.setStyle(m, "width", `${s.width}px`), this.domService.setStyle(m, "height", `${s.height}px`), a && a !== "none" && (this.domService.addClass(m, "ge-table-col-tree"), this.addArrowDiv(m, a, g, o, i, r)), p && i === 0 && d && this.addCheckboxToDiv(m, d, r, o), l) {
845
+ const b = a !== "none" && i === 0;
846
+ this.addLabelDiv(m, l, b, o, i, r);
847
847
  }
848
848
  return u && this.addSortedIcon(m, u, c == null ? void 0 : c.sortedOptions, i), this.domService.appendChild(t, m), m;
849
849
  }
@@ -890,8 +890,8 @@ class ot {
890
890
  t === "expanded" ? l = s.arrowExpanded : t === "collapsed" ? l = s.arrowCollapsed : l = s.arrowPlaceholder;
891
891
  const a = l.content, c = this.domService.createText(a);
892
892
  this.domService.appendChild(n, c), l.style && this.applyStyleString(n, l.style);
893
- for (const h of l.classes)
894
- this.domService.addClass(n, h);
893
+ for (const d of l.classes)
894
+ this.domService.addClass(n, d);
895
895
  return this.domService.appendChild(e, n), n;
896
896
  }
897
897
  addColumnBorderDivs(e, t, s, o, i) {
@@ -934,7 +934,7 @@ class ot {
934
934
  return s ? (s.innerText = "", s) : (s = this.domService.createElement("div"), t.cache[e] = s, s);
935
935
  }
936
936
  }
937
- const ne = (d) => d === "header" ? "header" : d === "footer" ? "footer" : "body";
937
+ const ne = (h) => h === "header" ? "header" : h === "footer" ? "footer" : "body";
938
938
  class it {
939
939
  constructor(e, t) {
940
940
  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)) {
@@ -949,7 +949,7 @@ class it {
949
949
  }
950
950
  class rt {
951
951
  constructor(e) {
952
- this.tableScope = e, this.doubleClickDelay = 500, this.expandedAll = !0, this.mouseDown = !1, this.dragging = !1, this.lastClicked = 0;
952
+ this.tableScope = e, this.doubleClickDelay = 500, this.expandedAll = !0, this.lastClickedCellKey = "", this.mouseDown = !1, this.dragging = !1, this.lastClicked = 0;
953
953
  const t = this.tableScope.listenerAbortController.signal;
954
954
  this.tableScope.hostElement.addEventListener("click", this.onHostElementClicked.bind(this), { signal: t }), this.tableScope.hostElement.addEventListener("dblclick", this.onHostElementDblClicked.bind(this), { signal: t }), this.tableScope.hostElement.addEventListener("mousedown", this.onMouseDown.bind(this), { signal: t }), this.tableScope.hostElement.addEventListener("mousemove", this.onMouseMove.bind(this), { signal: t }), this.tableScope.hostElement.addEventListener("mouseup", this.onMouseUp.bind(this), { signal: t }), this.tableScope.hostElement.addEventListener("contextmenu", this.onContextmenu.bind(this), { signal: t }), this.tableScope.hostElement._MouseHandler = "true", this.tableScope.scrollViewport.addEventListener("scroll", this.tableScope.adjustAfterScrolling.bind(this.tableScope), { signal: t }), this.tableScope.scrollViewport.addEventListener("wheel", this.tableScope.onWheel.bind(this.tableScope), { passive: !1, signal: t }), [window, this.tableScope.hostElement].forEach(
955
955
  (s) => s.addEventListener("resize", this.tableScope.adjustContainersAndRows.bind(this.tableScope), { signal: t })
@@ -975,30 +975,34 @@ class rt {
975
975
  * @return {void}
976
976
  */
977
977
  onHostElementClicked(e) {
978
- const t = Date.now();
979
- if (t - this.lastClicked < this.doubleClickDelay) {
978
+ var r;
979
+ const t = Date.now(), s = e.target, o = (r = s == null ? void 0 : s.closest) != null && r.call(s, "[data-col-index]") ? ["data-area", "data-row-index", "data-col-index"].map((n) => {
980
+ var l;
981
+ return ((l = s.closest("[" + n + "]")) == null ? void 0 : l.getAttribute(n)) ?? "";
982
+ }).join(":") : "";
983
+ if (t - this.lastClicked < this.doubleClickDelay && o === this.lastClickedCellKey) {
980
984
  this.lastClicked = t, this.publishGeMouseEvent(e, 2);
981
985
  return;
982
986
  }
983
- this.lastClicked = t;
984
- const s = new it(e.target, this.tableScope);
985
- if (s.action === "toggleExpandCollapseAll")
987
+ this.lastClicked = t, this.lastClickedCellKey = o;
988
+ const i = new it(e.target, this.tableScope);
989
+ if (i.action === "toggleExpandCollapseAll")
986
990
  this.expandedAll = !this.expandedAll, this.tableScope.toggleExpandCollapseAll(this.expandedAll), e.preventDefault(), e.stopPropagation();
987
- else if (s.action === "toggleHeaderGroup")
988
- this.tableScope.toggleHeaderGroup(s), e.preventDefault(), e.stopPropagation();
989
- else if (s.inputType === "checkbox" && s.areaIdent)
990
- this.tableScope.toggleRowCheckbox(s.rowIdx, s.colIdx, s.areaIdent), e.preventDefault(), e.stopPropagation();
991
- else if (j(s.row) && s.areaModel) {
992
- const o = s.colIdx === this.getArrowColumnIndex() && e.altKey, i = s.className.includes("ge-table-tree-arrow-div");
993
- if (o || i) {
991
+ else if (i.action === "toggleHeaderGroup")
992
+ this.tableScope.toggleHeaderGroup(i), e.preventDefault(), e.stopPropagation();
993
+ else if (i.inputType === "checkbox" && i.areaIdent)
994
+ this.tableScope.toggleRowCheckbox(i.rowIdx, i.colIdx, i.areaIdent), e.preventDefault(), e.stopPropagation();
995
+ else if (j(i.row) && i.areaModel) {
996
+ const n = i.colIdx === this.getArrowColumnIndex() && e.altKey, l = i.className.includes("ge-table-tree-arrow-div");
997
+ if (n || l) {
994
998
  e.preventDefault(), e.stopPropagation();
995
- const r = s.row;
996
- r.expanded = !r.expanded, "recalcVisibleTreeRows" in s.areaModel && s.areaModel.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(r);
999
+ const a = i.row;
1000
+ a.expanded = !a.expanded, "recalcVisibleTreeRows" in i.areaModel && i.areaModel.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(a);
997
1001
  }
998
1002
  }
999
- if (s.areaIdent === "body" && this.tableScope.tableOptions.getFocusModel) {
1000
- const o = this.tableScope.tableOptions.getFocusModel();
1001
- o == null || o.clear(), o == null || o.setFocus(s.rowIdx, s.colIdx);
1003
+ if (i.areaIdent === "body" && this.tableScope.tableOptions.getFocusModel) {
1004
+ const n = this.tableScope.tableOptions.getFocusModel();
1005
+ n == null || n.clear(), n == null || n.setFocus(i.rowIdx, i.colIdx);
1002
1006
  }
1003
1007
  this.publishGeMouseEvent(e, 1);
1004
1008
  }
@@ -1009,16 +1013,17 @@ class rt {
1009
1013
  * @param {MouseEvent} event - The double click event.
1010
1014
  */
1011
1015
  onHostElementDblClicked(e) {
1016
+ var t, s;
1012
1017
  if (this.lastClicked = Date.now(), e.target instanceof HTMLElement) {
1013
- const t = e.target, s = t.getAttribute("data-area"), o = ne(s), i = Number(t.getAttribute("data-row-index")), r = Number(t.getAttribute("data-col-index")), n = this.tableScope.tableModel.getAreaModel(o);
1014
- if (s && o === "header")
1015
- this.tableScope.tableModel.isSortable(r) && (this.tableScope.clearSelection(), this.tableScope.onHeaderDblClicked(e, i, r));
1016
- else if (t.getAttribute("data-row-index")) {
1017
- const l = n.getRowByIndex(i);
1018
- if (s && o === "body" && n.isEditable(i, r) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(i, r)), j(l) && r === this.getArrowColumnIndex()) {
1018
+ const o = e.target.closest("[data-col-index]") ?? e.target, i = ((t = o.closest("[data-area]")) == null ? void 0 : t.getAttribute("data-area")) ?? null, r = ne(i), n = Number((s = o.closest("[data-row-index]")) == null ? void 0 : s.getAttribute("data-row-index")), l = Number(o.getAttribute("data-col-index")), a = this.tableScope.tableModel.getAreaModel(r);
1019
+ if (i && r === "header")
1020
+ this.tableScope.tableModel.isSortable(l) && (this.tableScope.clearSelection(), this.tableScope.onHeaderDblClicked(e, n, l));
1021
+ else if (o.getAttribute("data-row-index")) {
1022
+ const c = a.getRowByIndex(n);
1023
+ if (i && r === "body" && a.isEditable(n, l) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(n, l)), j(c) && l === this.getArrowColumnIndex()) {
1019
1024
  e.preventDefault(), e.stopPropagation();
1020
- const a = l;
1021
- a.expanded = !a.expanded, "recalcVisibleTreeRows" in n && n.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(a);
1025
+ const d = c;
1026
+ d.expanded = !d.expanded, "recalcVisibleTreeRows" in a && a.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(d);
1022
1027
  }
1023
1028
  }
1024
1029
  }
@@ -1043,11 +1048,12 @@ class rt {
1043
1048
  * @returns {void}
1044
1049
  */
1045
1050
  updateCollapsedExpandedState(e) {
1046
- var s, o, i, r, n;
1051
+ var s, o, i, r, n, l;
1047
1052
  const t = (o = (s = this.tableScope.tableOptions) == null ? void 0 : s.autoRestoreOptions) == null ? void 0 : o.getRowId;
1048
1053
  if (t) {
1049
- const l = (i = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : i.collapsedExpandedStateGet().mode, a = l === "collapsed" && !e.expanded || l === "expanded" && e.expanded, c = l === "collapsed" && e.expanded || l === "expanded" && !e.expanded, h = t(e.data);
1050
- a ? (r = this.tableScope.storeStateCollapsedExpandService) == null || r.collapsedStateIdsPush(h) : c && ((n = this.tableScope.storeStateCollapsedExpandService) == null || n.collapsedStateIdsRemove(h));
1054
+ (i = this.tableScope.storeStateCollapsedExpandService) == null || i.initModeIfEmpty(e.expanded ? "expanded" : "collapsed");
1055
+ const a = (r = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : r.collapsedExpandedStateGet().mode, c = a === "collapsed" && !e.expanded || a === "expanded" && e.expanded, d = a === "collapsed" && e.expanded || a === "expanded" && !e.expanded, u = t(e.data);
1056
+ c ? (n = this.tableScope.storeStateCollapsedExpandService) == null || n.collapsedStateIdsPush(u) : d && ((l = this.tableScope.storeStateCollapsedExpandService) == null || l.collapsedStateIdsRemove(u));
1051
1057
  }
1052
1058
  }
1053
1059
  getArrowColumnIndex() {
@@ -2274,15 +2280,15 @@ class nt {
2274
2280
  * tableApi.downloadExcel('quarterly-data.xlsx');
2275
2281
  */
2276
2282
  downloadExcel(e = "table.xlsx", t = "") {
2277
- const s = [], o = this.tableScope.tableModel.getColumnCount(), i = ["header", "body", "footer"];
2278
- for (const r of i) {
2279
- const n = this.tableScope.tableModel.getAreaModel(r), l = (n == null ? void 0 : n.getRowCount()) ?? 0;
2280
- for (let a = 0; a < l; a++) {
2281
- const c = [];
2282
- s.push(c);
2283
- for (let h = 0; h < o; h++)
2284
- c.push(n.getValueAt(a, h));
2285
- }
2283
+ var n, l;
2284
+ const s = [], o = this.tableScope.tableModel, i = [];
2285
+ for (let a = 0; a < o.getColumnCount(); a++)
2286
+ ((l = (n = o.getColumnDef(a)) == null ? void 0 : n.isVisible) == null ? void 0 : l.call(n)) !== !1 && i.push(a);
2287
+ const r = ["header", "body", "footer"];
2288
+ for (const a of r) {
2289
+ const c = o.getAreaModel(a), d = (c == null ? void 0 : c.getRowCount()) ?? 0;
2290
+ for (let u = 0; u < d; u++)
2291
+ s.push(i.map((g) => c.getValueAt(u, g)));
2286
2292
  }
2287
2293
  return this.tableScope.excelService.downloadExcel(s, e, t);
2288
2294
  }
@@ -3013,7 +3019,7 @@ class xe {
3013
3019
  autoConvertMapToObject(e) {
3014
3020
  const t = {};
3015
3021
  return e instanceof Map && e.forEach((o, i) => {
3016
- t[o] = i;
3022
+ t[i] = o;
3017
3023
  }), t;
3018
3024
  }
3019
3025
  checkAndPersistItem(e, t) {
@@ -3031,11 +3037,19 @@ class xe {
3031
3037
  }
3032
3038
  }
3033
3039
  persistItem(e, t) {
3034
- t ? localStorage.setItem(e, JSON.stringify(t)) : localStorage.removeItem(e);
3040
+ try {
3041
+ t ? localStorage.setItem(e, JSON.stringify(t)) : localStorage.removeItem(e);
3042
+ } catch {
3043
+ }
3035
3044
  }
3036
3045
  loadFromLocalStorage(e) {
3037
- const t = localStorage.getItem(e);
3038
- return t ? JSON.parse(t) : null;
3046
+ try {
3047
+ const t = localStorage.getItem(e);
3048
+ if (t)
3049
+ return JSON.parse(t);
3050
+ } catch {
3051
+ }
3052
+ return null;
3039
3053
  }
3040
3054
  // private loadItems() {
3041
3055
  // const fn = this.getStorageKeyFn;
@@ -3102,7 +3116,17 @@ class at {
3102
3116
  }
3103
3117
  class ct extends xe {
3104
3118
  constructor(e) {
3105
- super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new at(), this.load();
3119
+ super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new at(), this.stored = !1, this.load();
3120
+ }
3121
+ hasStoredState() {
3122
+ return this.stored;
3123
+ }
3124
+ /**
3125
+ * The first toggle defines what the stored ids mean: a table that starts collapsed stores the expanded rows,
3126
+ * a table that starts expanded stores the collapsed ones.
3127
+ */
3128
+ initModeIfEmpty(e) {
3129
+ !this.stored && !this.collapsedExpandedState.rowIds.length && (this.collapsedExpandedState.mode = e);
3106
3130
  }
3107
3131
  collapsedExpandedStateGet() {
3108
3132
  return this.collapsedExpandedState;
@@ -3126,12 +3150,12 @@ class ct extends xe {
3126
3150
  const t = e();
3127
3151
  if (t) {
3128
3152
  const s = t + this.COLLAPSED_EXPANDED_STATE, o = this.loadFromLocalStorage(s);
3129
- o && (this.collapsedExpandedState = o);
3153
+ o && (this.collapsedExpandedState = o, this.stored = !0);
3130
3154
  }
3131
3155
  }
3132
3156
  }
3133
3157
  persist() {
3134
- this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
3158
+ this.stored = !0, this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
3135
3159
  }
3136
3160
  }
3137
3161
  class dt extends xe {
@@ -3155,14 +3179,14 @@ class dt extends xe {
3155
3179
  }
3156
3180
  }
3157
3181
  }
3158
- class O {
3182
+ class V {
3159
3183
  constructor(e = 0, t = 0, s = 0, o = 0, i) {
3160
3184
  this.left = e, this.width = t, this.height = s, this.top = o, this.index = i;
3161
3185
  }
3162
3186
  }
3163
3187
  const oe = class oe {
3164
3188
  constructor(e, t, s, o) {
3165
- this.hostElement = e, this.tableModel = t, this.dom = s, this.tableOptions = o, this.scrollTop = 0, this.areaBodyWestGeo = new O(), this.areaBodyCenterGeo = new O(), this.areaBodyEastGeo = new O();
3189
+ this.hostElement = e, this.tableModel = t, this.dom = s, this.tableOptions = o, this.scrollTop = 0, this.areaBodyWestGeo = new V(), this.areaBodyCenterGeo = new V(), this.areaBodyEastGeo = new V();
3166
3190
  const i = this.hostElement;
3167
3191
  i.innerText = "", this.dom.setAttribute(i, "tabindex", "0"), this.dom.setStyle(
3168
3192
  this.dom.addClass("ge-table", i),
@@ -3401,7 +3425,7 @@ class ht {
3401
3425
  return !1;
3402
3426
  }
3403
3427
  }
3404
- class T {
3428
+ class k {
3405
3429
  constructor(e, t, s) {
3406
3430
  this.header = e, this.body = t, this.footer = s;
3407
3431
  }
@@ -3413,7 +3437,7 @@ class ut extends ee {
3413
3437
  header: [],
3414
3438
  body: [],
3415
3439
  footer: []
3416
- }, this.tree = !1, this.colAndRowspanModels = new T(), this.draggingTargetColumnIndex = -1, this.contentScrollTop = 0, 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), de(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
3440
+ }, this.tree = !1, this.colAndRowspanModels = new k(), this.draggingTargetColumnIndex = -1, this.contentScrollTop = 0, 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), de(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
3417
3441
  (l) => {
3418
3442
  var a;
3419
3443
  this.colAndRowspanModels[l] = new ht(t, t.getAreaModel(l)), (a = this.colAndRowspanModels[l]) == null || a.init();
@@ -3459,7 +3483,7 @@ class ut extends ee {
3459
3483
  if (s || (s = this.tableOptions.getEditRenderer), s)
3460
3484
  if (this.editorRenderer = s(e, t), this.editorRenderer) {
3461
3485
  this.editorRendererRow = e, this.editorRendererColumn = t, this.editing = !0, this.repaint();
3462
- const i = document.querySelector("input.ge-table-cell-editor-input");
3486
+ const i = this.hostElement.querySelector("input.ge-table-cell-editor-input");
3463
3487
  i && i.focus();
3464
3488
  } else
3465
3489
  this.resetEditorRenderer();
@@ -3501,7 +3525,7 @@ class ut extends ee {
3501
3525
  var i;
3502
3526
  for (const r of this.removables)
3503
3527
  r.remove();
3504
- if (this.hideHoverRow(), this.hideHoverColumn(), this.scrollTop = this.scrollViewport.scrollTop, this.scrollLeft = this.scrollViewport.scrollLeft, this.scrollViewportLeft = this.scrollLeft, this.debounce(this.checkForScrollPosSaving.bind(this)), this.scrollFactorY = this.scrollTop / (this.scrollViewport.scrollHeight - this.scrollViewport.clientHeight), this.scrollFactorX = this.scrollLeft / (this.scrollViewport.scrollWidth - this.scrollViewport.clientWidth), isNaN(this.scrollFactorY) && (this.scrollFactorY = 0), this.pendingContentScroll) {
3528
+ if (this.hideHoverRow(), this.hideHoverColumn(), this.scrollTop = this.scrollViewport.scrollTop, this.scrollLeft = this.scrollViewport.scrollLeft, this.scrollViewportLeft = this.scrollLeft, this.scrollPosSaveTimeout && clearTimeout(this.scrollPosSaveTimeout), this.scrollPosSaveTimeout = setTimeout(() => this.checkForScrollPosSaving(), 500), this.scrollFactorY = this.scrollTop / (this.scrollViewport.scrollHeight - this.scrollViewport.clientHeight), this.scrollFactorX = this.scrollLeft / (this.scrollViewport.scrollWidth - this.scrollViewport.clientWidth), isNaN(this.scrollFactorY) && (this.scrollFactorY = 0), this.pendingContentScroll) {
3505
3529
  const r = this.getContentScrollRangeY();
3506
3530
  Math.abs(this.scrollTop - this.pendingContentScroll.scrollTop) <= 1 && r > 0 ? this.scrollFactorY = Math.min(1, Math.max(0, this.pendingContentScroll.contentTop / r)) : this.pendingContentScroll = void 0;
3507
3531
  }
@@ -3518,19 +3542,19 @@ class ut extends ee {
3518
3542
  this.areaHeightsOfRenderPass = void 0;
3519
3543
  }
3520
3544
  this.tableOptions.tableTopBorderVisible && this.removables.push(this.dom.addHorizontalBorder(
3521
- new O(0, e, 1, 0),
3545
+ new V(0, e, 1, 0),
3522
3546
  this.hostElement,
3523
3547
  "ge-table-border"
3524
3548
  )), this.tableOptions.tableBottomBorderVisible && this.removables.push(this.dom.addHorizontalBorder(
3525
- new O(0, e, 1, t - 1),
3549
+ new V(0, e, 1, t - 1),
3526
3550
  this.hostElement,
3527
3551
  "ge-table-border"
3528
3552
  )), this.tableModel.getFixedLeftColumnCount() > 0 && this.removables.push(this.dom.addVerticalBorder(
3529
- new O(s, 1, t, 0),
3553
+ new V(s, 1, t, 0),
3530
3554
  this.hostElement,
3531
3555
  "ge-table-body-west-vertical-border"
3532
3556
  )), ((i = this.tableModel.getAreaModel("header")) == null ? void 0 : i.getRowCount()) > 0 && this.removables.push(this.dom.addHorizontalBorder(
3533
- new O(0, e, 1, o),
3557
+ new V(0, e, 1, o),
3534
3558
  this.hostElement,
3535
3559
  "ge-table-body-west-vertical-border"
3536
3560
  ));
@@ -3569,23 +3593,23 @@ class ut extends ee {
3569
3593
  * @param {string[]} cssClasses - An array of CSS classes to be applied to the cell.
3570
3594
  */
3571
3595
  rerenderCellContent({ area: e, rowIndex: t, columnIndex: s, value: o, cssClasses: i }) {
3572
- const r = this.tableModel.getAreaModel(e), n = 'div[data-col-index="' + s + '"][data-row-index="' + t + '"][data-area="' + e + '"]', l = document.querySelector(n);
3596
+ const r = this.tableModel.getAreaModel(e), n = 'div[data-col-index="' + s + '"][data-row-index="' + t + '"][data-area="' + e + '"]', l = this.hostElement.querySelector(n);
3573
3597
  if (l) {
3574
3598
  let a;
3575
- const c = this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === s;
3576
- let h;
3577
- if (c ? h = this.editorRenderer : h = r.getCellRenderer(t, s), l.innerText = "", this.applyCssClasses(l, i), h)
3578
- a = h.render(l, t, s, e, r, o, this.dom.domService), a && this.cleanupFunctions[e].push(a);
3599
+ const c = e === "body" && this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === s;
3600
+ let d;
3601
+ if (c ? d = this.editorRenderer : d = r.getCellRenderer(t, s), l.innerText = "", this.applyCssClasses(l, i), d)
3602
+ a = d.render(l, t, s, e, r, o, this.dom.domService), a && this.cleanupFunctions[e].push(a);
3579
3603
  else {
3580
3604
  const p = `${o}`;
3581
3605
  this.dom.addLabelDiv(l, p, !1, t, s, e);
3582
3606
  }
3583
3607
  const u = r.getCustomClassesAt(t, s);
3584
3608
  u.length && this.dom.addClasses(u, l);
3585
- const f = r.getCustomStyleAt(t, s);
3586
- if (f)
3587
- for (const p in f)
3588
- this.dom.setStyle(l, p, f[p]);
3609
+ const g = r.getCustomStyleAt(t, s);
3610
+ if (g)
3611
+ for (const p in g)
3612
+ this.dom.setStyle(l, p, g[p]);
3589
3613
  }
3590
3614
  }
3591
3615
  getFirstVisibleRowIndex() {
@@ -3742,67 +3766,67 @@ class ut extends ee {
3742
3766
  * @protected
3743
3767
  */
3744
3768
  adjustArea(e, t = 0) {
3745
- var x, A, k;
3746
- const s = this.getArea(e, "west"), o = this.getArea(e, "center"), i = this.getArea(e, "east"), r = ((x = this.areaHeightsOfRenderPass) == null ? void 0 : x[e]) ?? o.child.clientHeight;
3769
+ var w, v, I;
3770
+ const s = this.getArea(e, "west"), o = this.getArea(e, "center"), i = this.getArea(e, "east"), r = ((w = this.areaHeightsOfRenderPass) == null ? void 0 : w[e]) ?? o.child.clientHeight;
3747
3771
  s.child.innerText = "", o.child.innerText = "", i.child.innerText = "";
3748
- const n = 0, l = this.areaBodyCenterGeo.width, a = this.tableModel.getPadding(), c = this.tableModel.getAreaModel(e), h = c.getRowCount();
3772
+ const n = 0, l = this.areaBodyCenterGeo.width, a = this.tableModel.getPadding(), c = this.tableModel.getAreaModel(e), d = c.getRowCount();
3749
3773
  for (; this.cleanupFunctions[e].length; ) {
3750
- const w = this.cleanupFunctions[e].shift();
3751
- w && w();
3774
+ const x = this.cleanupFunctions[e].shift();
3775
+ x && x();
3752
3776
  }
3753
3777
  let u = t;
3754
- const f = this.tableModel.getColumnCount(), p = this.tableModel.getFixedRightColumnCount(), m = this.tableModel.getFixedLeftColumnCount();
3778
+ const g = this.tableModel.getColumnCount(), p = this.tableModel.getFixedRightColumnCount(), m = this.tableModel.getFixedLeftColumnCount();
3755
3779
  e === "body" && (this.firstVisibleRowIndex = -1, this.firstFullVisibleRowIndex = -1, this.lastVisibleRowIndex = -1, this.lastFullVisibleRowIndex = -1);
3756
- let g = 0;
3757
- const y = (A = c.getConstantRowHeight) == null ? void 0 : A.call(c);
3758
- if (y !== void 0 && y > 0 && u < 0) {
3759
- for (g = Math.min(h, Math.floor(-u / y)); g > 0 && u + g * y > 0; )
3760
- g--;
3761
- u = u + g * y;
3780
+ let f = 0;
3781
+ const b = (v = c.getConstantRowHeight) == null ? void 0 : v.call(c);
3782
+ if (b !== void 0 && b > 0 && u < 0) {
3783
+ for (f = Math.min(d, Math.floor(-u / b)); f > 0 && u + f * b > 0; )
3784
+ f--;
3785
+ u = u + f * b;
3762
3786
  }
3763
- for (let w = g; w < h; w++) {
3764
- const S = u, I = w === h - 1, v = this.tableModel.getRowHeight(e, w);
3765
- if (S + v > 0) {
3766
- e === "body" && this.firstVisibleRowIndex === -1 && (this.firstVisibleRowIndex = w, this.firstFullVisibleRowIndex = S < -this.pixelLimitForFullVisible ? this.firstVisibleRowIndex + 1 : this.firstVisibleRowIndex);
3767
- let R = { left: n, width: l, height: v, top: S, index: w }, D = this.dom.addRowDiv(o, R, w, e, "center");
3787
+ for (let x = f; x < d; x++) {
3788
+ const S = u, T = x === d - 1, R = this.tableModel.getRowHeight(e, x);
3789
+ if (S + R > 0) {
3790
+ e === "body" && this.firstVisibleRowIndex === -1 && (this.firstVisibleRowIndex = x, this.firstFullVisibleRowIndex = S < -this.pixelLimitForFullVisible ? this.firstVisibleRowIndex + 1 : this.firstVisibleRowIndex);
3791
+ let A = { left: n, width: l, height: R, top: S, index: x }, D = this.dom.addRowDiv(o, A, x, e, "center");
3768
3792
  const N = m;
3769
3793
  if (this.adjustColumnsToRowParent({
3770
3794
  areaIdent: e,
3771
3795
  sideIdent: "center",
3772
3796
  areaModel: c,
3773
- geo: R,
3797
+ geo: A,
3774
3798
  parent: D,
3775
- rowIndex: w,
3799
+ rowIndex: x,
3776
3800
  columnIndexStart: N,
3777
- columnIndexEnd: f - p - 1,
3801
+ columnIndexEnd: g - p - 1,
3778
3802
  verticalFixed: !1,
3779
- lastRowOfModel: I
3780
- }), a.left > 0 && (R = { left: n, width: this.areaBodyWestGeo.width, height: v, top: S, index: w }, D = this.dom.addRowDiv(s, R, w, e, "west"), this.adjustColumnsToRowParent({
3803
+ lastRowOfModel: T
3804
+ }), a.left > 0 && (A = { left: n, width: this.areaBodyWestGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(s, A, x, e, "west"), this.adjustColumnsToRowParent({
3781
3805
  areaIdent: e,
3782
3806
  sideIdent: "west",
3783
3807
  areaModel: c,
3784
- geo: R,
3808
+ geo: A,
3785
3809
  parent: D,
3786
- rowIndex: w,
3810
+ rowIndex: x,
3787
3811
  columnIndexStart: 0,
3788
3812
  columnIndexEnd: N - 1,
3789
3813
  verticalFixed: !0,
3790
- lastRowOfModel: I
3791
- })), a.right > 0 && (R = { left: n, width: this.areaBodyEastGeo.width, height: v, top: S, index: w }, D = this.dom.addRowDiv(i, R, w, e, "east"), this.adjustColumnsToRowParent({
3814
+ lastRowOfModel: T
3815
+ })), a.right > 0 && (A = { left: n, width: this.areaBodyEastGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(i, A, x, e, "east"), this.adjustColumnsToRowParent({
3792
3816
  areaIdent: e,
3793
3817
  sideIdent: "east",
3794
3818
  areaModel: c,
3795
- geo: R,
3819
+ geo: A,
3796
3820
  parent: D,
3797
- rowIndex: w,
3798
- columnIndexStart: f - p,
3799
- columnIndexEnd: f - 1,
3821
+ rowIndex: x,
3822
+ columnIndexStart: g - p,
3823
+ columnIndexEnd: g - 1,
3800
3824
  verticalFixed: !0,
3801
- lastRowOfModel: I
3802
- })), e === "header" && this.tree && w === h - 1) {
3825
+ lastRowOfModel: T
3826
+ })), e === "header" && this.tree && x === d - 1) {
3803
3827
  const U = this.dom.applyStyle(
3804
3828
  this.dom.setAttribute(
3805
- this.dom.addDiv(D, new O(16, 20, 20, 8)),
3829
+ this.dom.addDiv(D, new V(16, 20, 20, 8)),
3806
3830
  "data-ge-action",
3807
3831
  "toggleExpandCollapseAll"
3808
3832
  ),
@@ -3814,28 +3838,28 @@ class ut extends ee {
3814
3838
  }
3815
3839
  }
3816
3840
  }
3817
- if (u = u + v, u > r) {
3818
- e === "body" && (this.lastVisibleRowIndex = w, this.lastFullVisibleRowIndex = r - u < -this.pixelLimitForFullVisible ? w - 1 : w, this.displayedRowCount = this.lastFullVisibleRowIndex - this.firstFullVisibleRowIndex + 1);
3841
+ if (u = u + R, u > r) {
3842
+ e === "body" && (this.lastVisibleRowIndex = x, this.lastFullVisibleRowIndex = r - u < -this.pixelLimitForFullVisible ? x - 1 : x, this.displayedRowCount = this.lastFullVisibleRowIndex - this.firstFullVisibleRowIndex + 1);
3819
3843
  break;
3820
3844
  }
3821
3845
  }
3822
- if (e === "body" && this.firstVisibleRowIndex > -1 && this.lastVisibleRowIndex === -1 && (this.lastVisibleRowIndex = h - 1, this.lastFullVisibleRowIndex = h - 1, this.displayedRowCount = this.lastFullVisibleRowIndex - this.firstFullVisibleRowIndex + 1), this.loggingActive && e === "body" && console.log("render scope: this.firstVisibleRowIndex <- " + this.firstVisibleRowIndex + `
3846
+ if (e === "body" && this.firstVisibleRowIndex > -1 && this.lastVisibleRowIndex === -1 && (this.lastVisibleRowIndex = d - 1, this.lastFullVisibleRowIndex = d - 1, this.displayedRowCount = this.lastFullVisibleRowIndex - this.firstFullVisibleRowIndex + 1), this.loggingActive && e === "body" && console.log("render scope: this.firstVisibleRowIndex <- " + this.firstVisibleRowIndex + `
3823
3847
  render scope: this.firstFullVisibleRowIndex <- ` + this.firstFullVisibleRowIndex + `
3824
3848
  render scope: this.lastVisibleRowIndex <- ` + this.lastVisibleRowIndex + `
3825
3849
  render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex), this.colAndRowspanModels && this.colAndRowspanModels[e]) {
3826
- const w = ((k = this.colAndRowspanModels[e]) == null ? void 0 : k.getRanges()) ?? [];
3827
- if (w.length)
3828
- for (const S of w) {
3829
- let I = 0, v = o.child, R = "center";
3850
+ const x = ((I = this.colAndRowspanModels[e]) == null ? void 0 : I.getRanges()) ?? [];
3851
+ if (x.length)
3852
+ for (const S of x) {
3853
+ let T = 0, R = o.child, A = "center";
3830
3854
  if (S.c1 < m)
3831
- v = s.child, R = "west";
3832
- else if (p > 0 && S.c1 >= f - p)
3833
- v = i.child, R = "east";
3855
+ R = s.child, A = "west";
3856
+ else if (p > 0 && S.c1 >= g - p)
3857
+ R = i.child, A = "east";
3834
3858
  else {
3835
3859
  const D = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3836
- I = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, R = "center";
3860
+ T = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, A = "center";
3837
3861
  }
3838
- this.drawBigCell(S, I, t, c, v, R);
3862
+ this.drawBigCell(S, T, t, c, R, A);
3839
3863
  }
3840
3864
  }
3841
3865
  }
@@ -3850,10 +3874,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3850
3874
  * @protected
3851
3875
  */
3852
3876
  drawBigCell(e, t, s, o, i, r) {
3853
- const n = s + this.getRowHeights(0, e.r1 - 1, o).reduce((g, y) => g + y, 0), l = this.tableModel.getColumnCount(), a = this.tableModel.getFixedRightColumnCount();
3877
+ const n = s + this.getRowHeights(0, e.r1 - 1, o).reduce((f, b) => f + b, 0), l = this.tableModel.getColumnCount(), a = this.tableModel.getFixedRightColumnCount();
3854
3878
  let c = 0;
3855
3879
  a > 0 && e.c1 >= l - a && (c = l - a);
3856
- const h = t + this.getColumnWidths(c, e.c1 - 1).reduce((g, y) => g + y, 0), u = this.getRowHeights(e.r1, e.r2, o).reduce((g, y) => g + y, 0), f = this.getColumnWidths(e.c1, e.c2).reduce((g, y) => g + y, 0);
3880
+ const d = t + this.getColumnWidths(c, e.c1 - 1).reduce((f, b) => f + b, 0), u = this.getRowHeights(e.r1, e.r2, o).reduce((f, b) => f + b, 0), g = this.getColumnWidths(e.c1, e.c2).reduce((f, b) => f + b, 0);
3857
3881
  let p = !1;
3858
3882
  const m = this.getSelectionModel ? this.getSelectionModel() : void 0;
3859
3883
  m && (p = m.getSelectionCount(e.r1, e.c1) > 0), e.gammaRange ? this.renderCell({
@@ -3862,9 +3886,9 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3862
3886
  sideIdent: r,
3863
3887
  rowIndex: e.r1,
3864
3888
  columnIndex: e.c1,
3865
- left: h,
3889
+ left: d,
3866
3890
  top: n,
3867
- width: f,
3891
+ width: g,
3868
3892
  height: u,
3869
3893
  parent: i,
3870
3894
  cellSelected: p,
@@ -3876,9 +3900,9 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3876
3900
  sideIdent: r,
3877
3901
  rowIndex: e.r1,
3878
3902
  columnIndex: e.c1,
3879
- left: h,
3903
+ left: d,
3880
3904
  top: n,
3881
- width: f,
3905
+ width: g,
3882
3906
  height: u,
3883
3907
  parent: i,
3884
3908
  cellSelected: p,
@@ -3887,9 +3911,9 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3887
3911
  }), o.areaIdent === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
3888
3912
  rowIndex: e.r1,
3889
3913
  columnIndex: e.c1,
3890
- cellLeft: h,
3914
+ cellLeft: d,
3891
3915
  cellTop: n,
3892
- cellWidth: f,
3916
+ cellWidth: g,
3893
3917
  cellHeight: u,
3894
3918
  parent: i
3895
3919
  });
@@ -3934,57 +3958,57 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3934
3958
  lastRowOfModel: c = !1
3935
3959
  }) {
3936
3960
  var m;
3937
- let h = 0;
3961
+ let d = 0;
3938
3962
  if (!a) {
3939
- const g = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3940
- h = this.snapToDevicePixel(this.scrollFactorX * g);
3963
+ const f = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3964
+ d = this.snapToDevicePixel(this.scrollFactorX * f);
3941
3965
  }
3942
- const u = 0, f = !!(e === "body" && t);
3943
- let p = h;
3944
- for (let g = n; g <= l; g++) {
3945
- const y = p, x = this.tableModel.getColumnWidth(g);
3946
- if (x > 0 && y + x > 0) {
3947
- let A = o.height;
3948
- const k = s.getRowspanAt(r, g), w = s.getColspanAt(r, g);
3949
- k > 1 && (A = this.getRowHeights(r, r + k - 1, s).reduce((v, R) => v + R, 0));
3950
- let S = x;
3951
- w > 1 && (S = this.getColumnWidths(g, g + w - 1).reduce((v, R) => v + R, 0));
3952
- let I = !1;
3953
- if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (m = this.colAndRowspanModels[e]) != null && m.isInRange(r, g) && (I = !0), this.draggingTargetColumnIndex === g && e !== "header") {
3954
- this.renderDragTargetDiv(i, y, u, S, A);
3955
- const v = { left: y, top: u, width: S, height: A };
3956
- this.dom.addColumnBorderDivs(this.tableOptions, i, v, e, t);
3966
+ const u = 0, g = !!(e === "body" && t);
3967
+ let p = d;
3968
+ for (let f = n; f <= l; f++) {
3969
+ const b = p, w = this.tableModel.getColumnWidth(f);
3970
+ if (w > 0 && b + w > 0) {
3971
+ let v = o.height;
3972
+ const I = s.getRowspanAt(r, f), x = s.getColspanAt(r, f);
3973
+ I > 1 && (v = this.getRowHeights(r, r + I - 1, s).reduce((R, A) => R + A, 0));
3974
+ let S = w;
3975
+ x > 1 && (S = this.getColumnWidths(f, f + x - 1).reduce((R, A) => R + A, 0));
3976
+ let T = !1;
3977
+ if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (m = this.colAndRowspanModels[e]) != null && m.isInRange(r, f) && (T = !0), this.draggingTargetColumnIndex === f && e !== "header") {
3978
+ this.renderDragTargetDiv(i, b, u, S, v);
3979
+ const R = { left: b, top: u, width: S, height: v };
3980
+ this.dom.addColumnBorderDivs(this.tableOptions, i, R, e, t);
3957
3981
  } else {
3958
- const v = this.renderSelectedBackgroundDiv(I, f, t, s, r, g, i, y, u, S, A);
3959
- "gammaCells" in s && s.getValueAt(r, g) && (I = !1), I || this.renderCell({
3982
+ const R = this.renderSelectedBackgroundDiv(T, g, t, s, r, f, i, b, u, S, v);
3983
+ "gammaCells" in s && s.getValueAt(r, f) && (T = !1), T || this.renderCell({
3960
3984
  areaModel: s,
3961
3985
  areaIdent: e,
3962
3986
  sideIdent: t,
3963
3987
  rowIndex: r,
3964
- columnIndex: g,
3965
- left: y,
3988
+ columnIndex: f,
3989
+ left: b,
3966
3990
  top: u,
3967
3991
  width: S,
3968
- height: A,
3992
+ height: v,
3969
3993
  parent: i,
3970
- cellSelected: v,
3994
+ cellSelected: R,
3971
3995
  lastRowOfModel: c,
3972
3996
  gammaRange: !0
3973
3997
  }), e === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
3974
3998
  rowIndex: r,
3975
- columnIndex: g,
3976
- cellLeft: y,
3999
+ columnIndex: f,
4000
+ cellLeft: b,
3977
4001
  cellTop: u,
3978
4002
  cellWidth: S,
3979
- cellHeight: A,
4003
+ cellHeight: v,
3980
4004
  parent: i
3981
4005
  });
3982
4006
  }
3983
4007
  }
3984
- if (p = p + x, p > this.areaBodyCenterGeo.width)
4008
+ if (p = p + w, p > this.areaBodyCenterGeo.width)
3985
4009
  break;
3986
4010
  }
3987
- this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new O(p - 1, 1, o.height, 0), i);
4011
+ this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new V(p - 1, 1, o.height, 0), i);
3988
4012
  }
3989
4013
  /**
3990
4014
  * Retrieves the column index of the tree arrow column in the table.
@@ -4009,21 +4033,21 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4009
4033
  height: l,
4010
4034
  top: a,
4011
4035
  parent: c,
4012
- lastRowOfModel: h
4036
+ lastRowOfModel: d
4013
4037
  }) {
4014
4038
  var U;
4015
- const f = this.editorRenderer && this.editorRendererRow === o && this.editorRendererColumn === i ? this.editorRenderer : e.getCellRenderer(o, i), p = { left: r, width: n, height: l, top: a, index: i }, m = e.getRowByIndex(o);
4016
- let g = "none";
4039
+ const u = t === "body" && this.editorRenderer && this.editorRendererRow === o && this.editorRendererColumn === i, g = u ? this.editorRenderer : e.getCellRenderer(o, i), p = { left: r, width: n, height: l, top: a, index: i }, m = e.getRowByIndex(o);
4040
+ let f = "none";
4017
4041
  if (i === this.getTreeArrowColumnIndex() && j(m)) {
4018
4042
  const C = m;
4019
- (U = C.children) != null && U.length ? C.expanded ? g = "expanded" : g = "collapsed" : g = "hidden";
4043
+ (U = C.children) != null && U.length ? C.expanded ? f = "expanded" : f = "collapsed" : f = "hidden";
4020
4044
  }
4021
- let x;
4045
+ let w;
4022
4046
  if (t === "header") {
4023
4047
  const C = this.tableModel.getColumnDef(i);
4024
- (!(C != null && C.sortIconVisible) || C != null && C.sortIconVisible()) && (x = C == null ? void 0 : C.sortState);
4048
+ (!(C != null && C.sortIconVisible) || C != null && C.sortIconVisible()) && (w = C == null ? void 0 : C.sortState);
4025
4049
  }
4026
- const A = e.getValueAt(o, i), k = f ? "" : `${A}`, w = e.isRowChecked(o), S = this.dom.addColumnDiv(
4050
+ const v = e.getValueAt(o, i), I = g ? "" : `${v ?? ""}`, x = e.isRowChecked(o), S = this.dom.addColumnDiv(
4027
4051
  {
4028
4052
  parent: c,
4029
4053
  geo: p,
@@ -4031,20 +4055,23 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4031
4055
  columnIndex: i,
4032
4056
  areaIdent: t,
4033
4057
  sideIdent: s,
4034
- text: k,
4035
- treeArrow: g,
4058
+ text: I,
4059
+ treeArrow: f,
4036
4060
  tableOptions: this.tableOptions,
4037
- checkedType: w,
4038
- sortState: x
4061
+ checkedType: x,
4062
+ sortState: w
4039
4063
  }
4040
- ), I = e.getTooltipAt(o, i);
4041
- I && this.dom.setAttribute(S, "title", I);
4042
- const v = this.tableModel.getColumnDef(i);
4043
- v && v.classes[t] && this.dom.addClasses(v.classes[t], S);
4044
- let R;
4045
- f && (R = f.render(S, o, i, t, e, A, this.dom.domService));
4064
+ ), T = e.getTooltipAt(o, i);
4065
+ T && this.dom.setAttribute(S, "title", T);
4066
+ const R = this.tableModel.getColumnDef(i);
4067
+ R && R.classes[t] && this.dom.addClasses(R.classes[t], S);
4068
+ let A;
4069
+ if (g && (A = g.render(S, o, i, t, e, v, this.dom.domService), u)) {
4070
+ const C = S.querySelector("input, select");
4071
+ C && !C.contains(document.activeElement) && C.focus();
4072
+ }
4046
4073
  const D = e.getCustomClassesAt(o, i);
4047
- if (D.length && this.dom.addClasses(D, S), this.dom.addColumnBorderDivs(this.tableOptions, c, p, t, s), h && this.dom.addHorizontalBorder({ left: r, width: n, height: l, top: a + l }, c), this.getFocusModel && t === "body") {
4074
+ if (D.length && this.dom.addClasses(D, S), this.dom.addColumnBorderDivs(this.tableOptions, c, p, t, s), d && this.dom.addHorizontalBorder({ left: r, width: n, height: l, top: a + l }, c), this.getFocusModel && t === "body") {
4048
4075
  const C = this.getFocusModel();
4049
4076
  C != null && C.hasFocus(o, i) && this.dom.addFocusBorderDivs(c, p, {});
4050
4077
  }
@@ -4053,7 +4080,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4053
4080
  if (N)
4054
4081
  for (const C in N)
4055
4082
  this.dom.setStyle(S, C, N[C]);
4056
- return [S, R];
4083
+ return [S, A];
4057
4084
  }
4058
4085
  /**
4059
4086
  * Applies CSS classes to an HTML element.
@@ -4231,7 +4258,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4231
4258
  if (r) {
4232
4259
  const n = e.index ?? 0, l = this.draggingColumn;
4233
4260
  for (let a = 0; a < r; a++) {
4234
- const c = s, h = i.getRowHeight(a), u = { left: 0, width: e.width, height: h, top: c, index: a }, f = i.getValueAt(a, n), p = i.getCellRenderer(a, n), m = p ? "" : `${f}`, g = {
4261
+ const c = s, d = i.getRowHeight(a), u = { left: 0, width: e.width, height: d, top: c, index: a }, g = i.getValueAt(a, n), p = i.getCellRenderer(a, n), m = p ? "" : `${g ?? ""}`, f = {
4235
4262
  parent: l,
4236
4263
  geo: u,
4237
4264
  rowIndex: a,
@@ -4239,18 +4266,18 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4239
4266
  areaIdent: t,
4240
4267
  sideIdent: o,
4241
4268
  text: m
4242
- }, y = this.dom.addColumnDiv(g);
4243
- let x;
4244
- p && (x = p.render(y, a, n, t, i, f, this.dom.domService), x && this.cleanupFunctions[t].push(x));
4245
- const A = i.getCustomClassesAt(a, n);
4246
- A.length && this.dom.addClasses(A, y);
4247
- const k = this.tableModel.getColumnDef(n);
4248
- k && k.classes[t] && this.dom.addClasses(k.classes[t], y), this.dom.addColumnBorderDivs(this.tableOptions, l, u, t, o);
4249
- const w = i.getCustomStyleAt(a, n);
4250
- if (w)
4251
- for (const S in w)
4252
- this.dom.setStyle(y, S, w[S]);
4253
- s = s + h;
4269
+ }, b = this.dom.addColumnDiv(f);
4270
+ let w;
4271
+ p && (w = p.render(b, a, n, t, i, g, this.dom.domService), w && this.cleanupFunctions[t].push(w));
4272
+ const v = i.getCustomClassesAt(a, n);
4273
+ v.length && this.dom.addClasses(v, b);
4274
+ const I = this.tableModel.getColumnDef(n);
4275
+ I && I.classes[t] && this.dom.addClasses(I.classes[t], b), this.dom.addColumnBorderDivs(this.tableOptions, l, u, t, o);
4276
+ const x = i.getCustomStyleAt(a, n);
4277
+ if (x)
4278
+ for (const S in x)
4279
+ this.dom.setStyle(b, S, x[S]);
4280
+ s = s + d;
4254
4281
  }
4255
4282
  }
4256
4283
  return s;
@@ -4299,19 +4326,19 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4299
4326
  * @param {number} height - The height of the div.
4300
4327
  * @returns {boolean} - Whether the cell is selected.
4301
4328
  */
4302
- renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, a, c, h) {
4329
+ renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, a, c, d) {
4303
4330
  let u = !1;
4304
4331
  if (!e && t && o.isSelectable(i, r) && this.getSelectionModel) {
4305
- const f = this.getSelectionModel();
4306
- if (f) {
4307
- const p = f.getSelectionCount(i, r);
4332
+ const g = this.getSelectionModel();
4333
+ if (g) {
4334
+ const p = g.getSelectionCount(i, r);
4308
4335
  u = p > 0;
4309
4336
  for (let m = 0; m < p; m++) {
4310
- const g = this.dom.applyStylePosistionAbsolute(
4337
+ const f = this.dom.applyStylePosistionAbsolute(
4311
4338
  // ge-table-body-west-selected-range
4312
4339
  this.dom.createDivWithClass(`ge-table-${o.areaIdent}-${s}-selected-range`, n)
4313
4340
  );
4314
- this.dom.setStyle(g, "left", `${l}px`), this.dom.setStyle(g, "top", `${a}px`), this.dom.setStyle(g, "width", `${c}px`), this.dom.setStyle(g, "height", `${h}px`);
4341
+ this.dom.setStyle(f, "left", `${l}px`), this.dom.setStyle(f, "top", `${a}px`), this.dom.setStyle(f, "width", `${c}px`), this.dom.setStyle(f, "height", `${d}px`);
4315
4342
  }
4316
4343
  }
4317
4344
  }
@@ -4347,10 +4374,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4347
4374
  width: l,
4348
4375
  height: a,
4349
4376
  parent: c,
4350
- cellSelected: h,
4377
+ cellSelected: d,
4351
4378
  lastRowOfModel: u
4352
4379
  }) {
4353
- const [f, p] = this.addAndRenderCellDiv({
4380
+ const [g, p] = this.addAndRenderCellDiv({
4354
4381
  areaModel: e,
4355
4382
  areaIdent: t,
4356
4383
  sideIdent: s,
@@ -4363,7 +4390,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4363
4390
  parent: c,
4364
4391
  lastRowOfModel: u
4365
4392
  });
4366
- h && this.dom.addClass(`ge-table-${t}-${s}-selected-range`, f), p && this.cleanupFunctions[t].push(p);
4393
+ d && this.dom.addClass(`ge-table-${t}-${s}-selected-range`, g), p && this.cleanupFunctions[t].push(p);
4367
4394
  }
4368
4395
  /**
4369
4396
  * Render the header cell resize handle.
@@ -4384,12 +4411,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4384
4411
  l.setAttribute(c, "data-col-index", `${t}`), l.setAttribute(c, "data-row-index", `${e}`), l.setAttribute(c, "data-area", "header"), l.setAttribute(c, "data-ge-action", "resize-column"), l.addClass(c, "ge-table-column-resize-handle"), l.setStyle(c, "display", "clip"), l.setStyle(c, "position", "absolute"), l.setStyle(c, "cursor", "col-resize"), l.setStyle(c, "left", `${s + i - a}px`), l.setStyle(c, "top", `${o}px`), l.setStyle(c, "width", `${a}px`), l.setStyle(c, "height", `${r}px`), l.appendChild(n, c);
4385
4412
  }
4386
4413
  }
4387
- class pt {
4414
+ class Me {
4388
4415
  constructor(e, t) {
4389
4416
  this.columnIndex = e, this.sortState = t;
4390
4417
  }
4391
4418
  }
4392
- class gt {
4419
+ class pt {
4393
4420
  constructor(e) {
4394
4421
  this.tableScope = e, this.tableScope.hostElement.addEventListener(
4395
4422
  "change",
@@ -4415,7 +4442,7 @@ class gt {
4415
4442
  }
4416
4443
  }
4417
4444
  }
4418
- class ft {
4445
+ class gt {
4419
4446
  constructor(e = -1, t = -1) {
4420
4447
  this.rowIndex = e, this.columnIndex = t;
4421
4448
  }
@@ -4425,25 +4452,50 @@ class Se {
4425
4452
  this.cells = e;
4426
4453
  }
4427
4454
  static createSingle(e, t) {
4428
- return new Se([new ft(e, t)]);
4455
+ return new Se([new gt(e, t)]);
4429
4456
  }
4430
4457
  }
4431
- class mt {
4458
+ class ft {
4432
4459
  constructor(e, t, s, o, i, r, n, l) {
4433
4460
  this.scrollTop = e, this.scrollLeft = t, this.scrollHeight = s, this.scrollWidth = o, this.clientHeight = i, this.clientWidth = r, this.scrollFactorY = n, this.scrollFactorX = l;
4434
4461
  }
4435
4462
  }
4436
- class bt {
4463
+ class mt {
4437
4464
  constructor(e) {
4438
4465
  var t, s;
4439
- this.tableScope = e, (t = this.tableScope.tableOptions) != null && t.getSelectionModel && (this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel), (s = this.tableScope.tableOptions) != null && s.getFocusModel && (this.getFocusModel = this.tableScope.tableOptions.getFocusModel);
4466
+ this.tableScope = e, this.ignoreNextClick = !1, (t = this.tableScope.tableOptions) != null && t.getSelectionModel && (this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel), (s = this.tableScope.tableOptions) != null && s.getFocusModel && (this.getFocusModel = this.tableScope.tableOptions.getFocusModel);
4467
+ }
4468
+ /**
4469
+ * Called on mouse down: a new gesture starts.
4470
+ */
4471
+ onMouseDown() {
4472
+ this.ignoreNextClick = !1;
4473
+ }
4474
+ /**
4475
+ * Selects a range by dragging the mouse over body cells (selection type "range").
4476
+ * The cell where the drag started stays the anchor, so a following shift-click extends from there.
4477
+ *
4478
+ * @param {GeMouseEvent} evt - the current mouse position
4479
+ * @param {GeMouseEvent} startEvt - the mouse down event that started the drag
4480
+ * @returns {boolean} true if the selection changed (repaint needed)
4481
+ */
4482
+ onMouseDragging(e, t) {
4483
+ var i, r;
4484
+ if (!t || t.action || t.areaIdent !== "body" || e.areaIdent !== "body" || t.rowIndex < 0 || t.columnIndex < 0 || e.rowIndex < 0 || e.columnIndex < 0) return !1;
4485
+ const s = (i = this.getSelectionModel) == null ? void 0 : i.call(this);
4486
+ if (!s || !("selectionType" in s) || s.selectionType !== "range") return !1;
4487
+ s.clear(), s.addSelection(this.createRangeByEvents(e, t));
4488
+ const o = (r = this.getFocusModel) == null ? void 0 : r.call(this);
4489
+ return o && !o.hasFocus(t.rowIndex, t.columnIndex) && (o.setFocus(t.rowIndex, t.columnIndex), this.tableScope.onFocusChanged(o)), this.previousEvt = t.clone(), this.ignoreNextClick = e.rowIndex !== t.rowIndex || e.columnIndex !== t.columnIndex, this.tableScope.onSelectionChanged(s), !0;
4440
4490
  }
4441
4491
  onMouseClicked(e, t) {
4442
- var i, r, n, l, a, c, h;
4492
+ var i, r, n, l, a, c, d;
4493
+ if (this.ignoreNextClick)
4494
+ return this.ignoreNextClick = !1, !1;
4443
4495
  let s = !1, o = !1;
4444
4496
  if (this.getSelectionModel && this.getFocusModel) {
4445
- const u = this.getSelectionModel(), f = this.getFocusModel();
4446
- u && f && (f.hasFocus(e.rowIndex, e.columnIndex) || (f.setFocus(e.rowIndex, e.columnIndex), this.tableScope.onFocusChanged(f), s = !0), (i = e.originalEvent) != null && i.shiftKey || u.hasSelection() && (u.clear(), s = !0), (r = e.originalEvent) != null && r.shiftKey && this.previousEvt ? (u.addSelection(this.createRangeByEvents(e, this.previousEvt)), o = !0, s = !0) : (n = e.originalEvent) != null && n.altKey && ((l = e.originalEvent) != null && l.ctrlKey || (a = e.originalEvent) != null && a.metaKey) ? (u.removeSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (c = e.originalEvent) != null && c.ctrlKey || (h = e.originalEvent) != null && h.metaKey ? (u.addSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (u.firstClick(e.rowIndex, e.columnIndex), s = !0), this.tableScope.onSelectionChanged(u));
4497
+ const u = this.getSelectionModel(), g = this.getFocusModel();
4498
+ u && g && (g.hasFocus(e.rowIndex, e.columnIndex) || (g.setFocus(e.rowIndex, e.columnIndex), this.tableScope.onFocusChanged(g), s = !0), (i = e.originalEvent) != null && i.shiftKey || u.hasSelection() && (u.clear(), s = !0), (r = e.originalEvent) != null && r.shiftKey && this.previousEvt ? (u.addSelection(this.createRangeByEvents(e, this.previousEvt)), o = !0, s = !0) : (n = e.originalEvent) != null && n.altKey && ((l = e.originalEvent) != null && l.ctrlKey || (a = e.originalEvent) != null && a.metaKey) ? (u.removeSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (c = e.originalEvent) != null && c.ctrlKey || (d = e.originalEvent) != null && d.metaKey ? (u.addSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (u.firstClick(e.rowIndex, e.columnIndex), s = !0), this.tableScope.onSelectionChanged(u));
4447
4499
  }
4448
4500
  return o ? this.previousEvt = void 0 : this.previousEvt = e == null ? void 0 : e.clone(), s;
4449
4501
  }
@@ -4474,7 +4526,7 @@ class bt {
4474
4526
  });
4475
4527
  }
4476
4528
  }
4477
- class yt {
4529
+ class bt {
4478
4530
  get() {
4479
4531
  return {
4480
4532
  f2: "START_EDITING",
@@ -4494,7 +4546,7 @@ class yt {
4494
4546
  };
4495
4547
  }
4496
4548
  }
4497
- class wt {
4549
+ class yt {
4498
4550
  get() {
4499
4551
  return {
4500
4552
  f2: "START_EDITING",
@@ -4516,23 +4568,23 @@ class wt {
4516
4568
  };
4517
4569
  }
4518
4570
  }
4519
- function xt(d) {
4520
- return d.trim().replace(/\+/g, " ").replace(/ +/g, " ").replace(/⌫/g, "backspace").replace(/↩/g, "enter").replace(/⇧/g, "shift").replace(/⌥/g, "alt").replace(/option/g, "alt").replace(/opt/g, "alt").replace(/⌃/g, "ctrl").replace(/control/g, "ctrl").replace(/command/g, "cmd").replace(/meta/g, "cmd").replace(/escape/g, "esc").replace(/⌘/g, "cmd").replace(/\*/g, "multiply").split(" ").filter((e) => e).filter((e, t, s) => s.indexOf(e) === t).sort((e, t) => {
4571
+ function wt(h) {
4572
+ return h.trim().replace(/\+/g, " ").replace(/ +/g, " ").replace(/⌫/g, "backspace").replace(/↩/g, "enter").replace(/⇧/g, "shift").replace(/⌥/g, "alt").replace(/option/g, "alt").replace(/opt/g, "alt").replace(/⌃/g, "ctrl").replace(/control/g, "ctrl").replace(/command/g, "cmd").replace(/meta/g, "cmd").replace(/escape/g, "esc").replace(/⌘/g, "cmd").replace(/\*/g, "multiply").split(" ").filter((e) => e).filter((e, t, s) => s.indexOf(e) === t).sort((e, t) => {
4521
4573
  const s = { cmd: 1, ctrl: 2, alt: 3, shift: 4 }, o = s[e] || 5, i = s[t] || 5;
4522
4574
  return o !== i ? o - i : e.localeCompare(t);
4523
4575
  }).join(" ");
4524
4576
  }
4525
- function Me(d) {
4526
- let e = d.key.toLowerCase();
4527
- if (e === " " && (e = "space"), e === "arrowleft" && (e = "left"), e === "arrowright" && (e = "right"), e === "arrowup" && (e = "up"), e === "arrowdown" && (e = "down"), e === "delete" && d.code === "Delete" && (e = "delete"), e === "backspace" && (e = "backspace"), e === "escape" && (e = "esc"), e === "return" && (e = "enter"), d.code.startsWith("Numpad")) {
4528
- const s = d.code.replace("Numpad", "").toLowerCase();
4577
+ function Ie(h) {
4578
+ let e = h.key.toLowerCase();
4579
+ if (e === " " && (e = "space"), e === "arrowleft" && (e = "left"), e === "arrowright" && (e = "right"), e === "arrowup" && (e = "up"), e === "arrowdown" && (e = "down"), e === "delete" && h.code === "Delete" && (e = "delete"), e === "backspace" && (e = "backspace"), e === "escape" && (e = "esc"), e === "return" && (e = "enter"), h.code.startsWith("Numpad")) {
4580
+ const s = h.code.replace("Numpad", "").toLowerCase();
4529
4581
  s === "add" ? e = "num_add" : s === "subtract" ? e = "num_subtract" : s === "multiply" ? e = "num_multiply" : s === "divide" ? e = "num_divide" : s === "decimal" ? e = "num_decimal" : s === "enter" ? e = "num_enter" : e = "num_" + s;
4530
4582
  }
4531
- d.code.match(/^F\d+$/) && (e = d.code.toLowerCase()), d.code.match(/^Digit\d+$/) && (e = d.code.replace(/Digit/g, ""));
4583
+ h.code.match(/^F\d+$/) && (e = h.code.toLowerCase()), h.code.match(/^Digit\d+$/) && (e = h.code.replace(/Digit/g, ""));
4532
4584
  let t = "";
4533
- return d.ctrlKey && (t += " ctrl"), d.altKey && (t += t + " alt"), d.shiftKey && (t += t + " shift"), d.metaKey && (t += t + " cmd"), xt(t + " " + e);
4585
+ return h.ctrlKey && (t += " ctrl"), h.altKey && (t += t + " alt"), h.shiftKey && (t += t + " shift"), h.metaKey && (t += t + " cmd"), wt(t + " " + e);
4534
4586
  }
4535
- class St {
4587
+ class xt {
4536
4588
  constructor(e) {
4537
4589
  this.tableScope = e, this.shortcutActionIdMapping = {}, this.listener = [], this.listener.push(e), this.init();
4538
4590
  }
@@ -4558,7 +4610,7 @@ class St {
4558
4610
  ));
4559
4611
  }
4560
4612
  assignPredefinedSystemShortcutMappings() {
4561
- this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new wt().get()) : Object.assign(this.shortcutActionIdMapping, new yt().get());
4613
+ this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new yt().get()) : Object.assign(this.shortcutActionIdMapping, new bt().get());
4562
4614
  }
4563
4615
  isMacintosh() {
4564
4616
  return navigator.platform.indexOf("Mac") > -1;
@@ -4570,8 +4622,11 @@ class St {
4570
4622
  return location.hostname === "localhost" || location.hostname === "127.0.0.1";
4571
4623
  }
4572
4624
  onKeyDown(e) {
4573
- const t = this.findEntity(e);
4574
- t && this.emit(t) && (e.preventDefault(), e.stopPropagation());
4625
+ const t = e.target;
4626
+ if (t && (t.isContentEditable || ["INPUT", "SELECT", "TEXTAREA"].includes(t.tagName)))
4627
+ return;
4628
+ const s = this.findEntity(e);
4629
+ s && this.emit(s) && (e.preventDefault(), e.stopPropagation());
4575
4630
  }
4576
4631
  emit(e) {
4577
4632
  this.isDebug() && console.debug("ShortcutService emit :", e);
@@ -4581,10 +4636,10 @@ class St {
4581
4636
  return t;
4582
4637
  }
4583
4638
  findEntity(e) {
4584
- const t = Me(e);
4639
+ const t = Ie(e);
4585
4640
  this.isDebug() && console.debug("ShortcutService shortcut :", t);
4586
4641
  for (const s in this.shortcutActionIdMapping)
4587
- if (Me(e) === t)
4642
+ if (Ie(e) === t)
4588
4643
  return this.isDebug() && console.debug("ShortcutService action :", this.shortcutActionIdMapping[s]), this.shortcutActionIdMapping[s];
4589
4644
  }
4590
4645
  // private areTokensEquals(tokens1: string[], tokens2: string[]): boolean {
@@ -4653,7 +4708,7 @@ class he {
4653
4708
  onFocusChanged(e) {
4654
4709
  }
4655
4710
  }
4656
- class Ct {
4711
+ class St {
4657
4712
  setStyle(e, t, s) {
4658
4713
  return e.style[t] = s, e;
4659
4714
  }
@@ -4680,7 +4735,7 @@ class Ct {
4680
4735
  e.setAttribute(t, s);
4681
4736
  }
4682
4737
  }
4683
- class vt {
4738
+ class Ct {
4684
4739
  render(e, t, s, o, i, r, n) {
4685
4740
  if (i.isEditable(t, s)) {
4686
4741
  n.addClass(e, "ge-table-row-input-div");
@@ -4783,7 +4838,7 @@ class Ce {
4783
4838
  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), this.fireChangeEvent());
4784
4839
  }
4785
4840
  }
4786
- class Rt {
4841
+ class vt {
4787
4842
  constructor(e = "none") {
4788
4843
  this.selectionType = e, this.rowIndex = -1, this.columnIndex = -1, this.changed = !1, this.listenerArr = [];
4789
4844
  }
@@ -4821,11 +4876,11 @@ class Rt {
4821
4876
  }
4822
4877
  }
4823
4878
  class ve {
4824
- constructor(e = new V(
4879
+ constructor(e = new O(
4825
4880
  "❯",
4826
4881
  "",
4827
4882
  ["gt-table-icon-expanded"]
4828
- ), t = new V(
4883
+ ), t = new O(
4829
4884
  "❯",
4830
4885
  "transform: rotate(180deg) translate(-100%, -100%); transform-origin: 0 0;",
4831
4886
  ["ge-table-icon-collapsed"]
@@ -4834,14 +4889,14 @@ class ve {
4834
4889
  }
4835
4890
  // `⊖ `, `⊕ `;
4836
4891
  }
4837
- const At = new Ce(), Mt = new Rt("cell");
4892
+ const Rt = new Ce(), At = new vt("cell");
4838
4893
  class J {
4839
4894
  constructor() {
4840
4895
  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 = {
4841
4896
  header: 34,
4842
4897
  body: 34,
4843
4898
  footer: 34
4844
- }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new We(), this.headerGroupOptions = new ve(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Ne(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, t) => new vt(), this.getSelectionModel = () => At, this.getFocusModel = () => Mt;
4899
+ }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new We(), this.headerGroupOptions = new ve(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Ne(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, t) => new Ct(), this.getSelectionModel = () => Rt, this.getFocusModel = () => At;
4845
4900
  }
4846
4901
  }
4847
4902
  const z = class z {
@@ -4856,25 +4911,27 @@ const z = class z {
4856
4911
  */
4857
4912
  createContent(e, t, s) {
4858
4913
  return new Promise((o, i) => {
4914
+ var r, n;
4859
4915
  if (t != null && t.hasSelection()) {
4860
- const r = this.mergeRanges(t.getRanges());
4861
- if (r) {
4862
- r.c2 = Math.min(r.c2, e.getColumnCount() - 1), r.r2 = Math.min(r.r2, e.getBodyModel().getRowCount() - 1);
4863
- const n = [];
4864
- for (let l = r.r1; l <= r.r2; l++) {
4865
- const a = [];
4866
- for (let c = r.c1; c <= r.c2; c++) {
4867
- const h = t.isSelected(l, c) ? e.getBodyModel().getTextValueAt(l, c) : "";
4868
- a.push(h);
4916
+ const l = this.mergeRanges(t.getRanges());
4917
+ if (l) {
4918
+ l.c2 = Math.min(l.c2, e.getColumnCount() - 1), l.r2 = Math.min(l.r2, e.getBodyModel().getRowCount() - 1);
4919
+ const a = [];
4920
+ for (let c = l.r1; c <= l.r2; c++) {
4921
+ const d = [];
4922
+ for (let u = l.c1; u <= l.c2; u++) {
4923
+ if (((n = (r = e.getColumnDef(u)) == null ? void 0 : r.isVisible) == null ? void 0 : n.call(r)) === !1) continue;
4924
+ const g = t.isSelected(c, u) ? e.getBodyModel().getTextValueAt(c, u) : "";
4925
+ d.push(g);
4869
4926
  }
4870
- n.push(a.join(z.columnSeparatorChar));
4927
+ a.push(d.join(z.columnSeparatorChar));
4871
4928
  }
4872
- return o(n.join(z.rowSeparatorChar));
4929
+ return o(a.join(z.rowSeparatorChar));
4873
4930
  }
4874
4931
  }
4875
4932
  if (s) {
4876
- const [r, n] = s.getFocus(), l = e.getBodyModel().getTextValueAt(r, n);
4877
- return o(l);
4933
+ const [l, a] = s.getFocus(), c = e.getBodyModel().getTextValueAt(l, a);
4934
+ return o(c);
4878
4935
  }
4879
4936
  i("Cannot copy, neither selection nor focus defined.");
4880
4937
  });
@@ -4903,11 +4960,11 @@ const z = class z {
4903
4960
  t,
4904
4961
  s
4905
4962
  ).then((r) => {
4906
- r && this.copyContent(r).then((n) => {
4963
+ r ? this.copyContent(r).then((n) => {
4907
4964
  o(r);
4908
4965
  }).catch((n) => {
4909
4966
  i();
4910
- });
4967
+ }) : o("");
4911
4968
  }).catch((r) => {
4912
4969
  i();
4913
4970
  });
@@ -4929,7 +4986,7 @@ const z = class z {
4929
4986
  z.columnSeparatorChar = " ", z.rowSeparatorChar = `
4930
4987
  `;
4931
4988
  let te = z;
4932
- class It {
4989
+ class Mt {
4933
4990
  constructor(e, t = 500) {
4934
4991
  this.tableScope = e, this.debounceDelay = t, this.disconnected = !1, this.resizeObserver = new ResizeObserver(Ye(this.handleResize.bind(this), t)), this.resizeObserver.observe(this.tableScope.hostElement);
4935
4992
  }
@@ -4947,7 +5004,7 @@ class It {
4947
5004
  }
4948
5005
  }
4949
5006
  let q;
4950
- function Et(d) {
5007
+ function It(h) {
4951
5008
  if (!q) {
4952
5009
  q = new Uint32Array(256);
4953
5010
  for (let t = 0; t < 256; t++) {
@@ -4958,8 +5015,8 @@ function Et(d) {
4958
5015
  }
4959
5016
  }
4960
5017
  let e = 4294967295;
4961
- for (let t = 0; t < d.length; t++)
4962
- e = q[(e ^ d[t]) & 255] ^ e >>> 8;
5018
+ for (let t = 0; t < h.length; t++)
5019
+ e = q[(e ^ h[t]) & 255] ^ e >>> 8;
4963
5020
  return (e ^ 4294967295) >>> 0;
4964
5021
  }
4965
5022
  class Tt {
@@ -4995,9 +5052,9 @@ class Tt {
4995
5052
  <a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="0E2841"/></a:dk2><a:lt2><a:srgbClr val="E8E8E8"/></a:lt2><a:accent1><a:srgbClr val="156082"/></a:accent1><a:accent2><a:srgbClr val="E97132"/></a:accent2><a:accent3><a:srgbClr val="196B24"/></a:accent3><a:accent4><a:srgbClr val="0F9ED5"/></a:accent4><a:accent5><a:srgbClr val="A02B93"/></a:accent5><a:accent6><a:srgbClr val="4EA72E"/></a:accent6><a:hlink><a:srgbClr val="467886"/></a:hlink><a:folHlink><a:srgbClr val="96607D"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Aptos Display" panose="02110004020202020204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont><a:latin typeface="Aptos Narrow" panose="02110004020202020204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults><a:lnDef><a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx="2"><a:schemeClr val="accent1"/></a:lnRef><a:fillRef idx="0"><a:schemeClr val="accent1"/></a:fillRef><a:effectRef idx="1"><a:schemeClr val="accent1"/></a:effectRef><a:fontRef idx="minor"><a:schemeClr val="tx1"/></a:fontRef></a:style></a:lnDef></a:objectDefaults><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{2E142A2C-CD16-42D6-873A-C26D2A0506FA}" vid="{1BDDFF52-6CD6-40A5-AB3C-68EB2F1E4D0A}"/></a:ext></a:extLst></a:theme>`, l = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4996
5053
  <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="3" uniqueCount="3"><si><t>a</t></si><si><t>b</t></si><si><t>c</t></si></sst>`, a = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4997
5054
  <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"><fonts count="1" x14ac:knownFonts="1"><font><sz val="12"/><color theme="1"/><name val="Aptos Narrow"/><family val="2"/><scheme val="minor"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>`, c = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4998
- <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"><fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="11207"/><workbookPr defaultThemeVersion="202300"/><mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice Requires="x15"><x15ac:absPath url="/" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/></mc:Choice></mc:AlternateContent><xr:revisionPtr revIDLastSave="0" documentId="8_{292BF245-1F37-B045-B1A5-26C42FB62779}" xr6:coauthVersionLast="47" xr6:coauthVersionMax="47" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/><bookViews><workbookView xWindow="11340" yWindow="5060" windowWidth="28040" windowHeight="17440" xr2:uid="{858B8D3F-6246-774D-8903-6D38687B7BC6}"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><calcPr calcId="181029"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:workbookPr chartTrackingRefBase="1"/></ext><ext uri="{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}" xmlns:xcalcf="http://schemas.microsoft.com/office/spreadsheetml/2018/calcfeatures"><xcalcf:calcFeatures><xcalcf:feature name="microsoft.com:RD"/><xcalcf:feature name="microsoft.com:Single"/><xcalcf:feature name="microsoft.com:FV"/><xcalcf:feature name="microsoft.com:CNMTM"/><xcalcf:feature name="microsoft.com:LET_WF"/><xcalcf:feature name="microsoft.com:LAMBDA_WF"/><xcalcf:feature name="microsoft.com:ARRAYTEXT_WF"/></xcalcf:calcFeatures></ext></extLst></workbook>`, h = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5055
+ <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"><fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="11207"/><workbookPr defaultThemeVersion="202300"/><mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice Requires="x15"><x15ac:absPath url="/" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/></mc:Choice></mc:AlternateContent><xr:revisionPtr revIDLastSave="0" documentId="8_{292BF245-1F37-B045-B1A5-26C42FB62779}" xr6:coauthVersionLast="47" xr6:coauthVersionMax="47" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/><bookViews><workbookView xWindow="11340" yWindow="5060" windowWidth="28040" windowHeight="17440" xr2:uid="{858B8D3F-6246-774D-8903-6D38687B7BC6}"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><calcPr calcId="181029"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:workbookPr chartTrackingRefBase="1"/></ext><ext uri="{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}" xmlns:xcalcf="http://schemas.microsoft.com/office/spreadsheetml/2018/calcfeatures"><xcalcf:calcFeatures><xcalcf:feature name="microsoft.com:RD"/><xcalcf:feature name="microsoft.com:Single"/><xcalcf:feature name="microsoft.com:FV"/><xcalcf:feature name="microsoft.com:CNMTM"/><xcalcf:feature name="microsoft.com:LET_WF"/><xcalcf:feature name="microsoft.com:LAMBDA_WF"/><xcalcf:feature name="microsoft.com:ARRAYTEXT_WF"/></xcalcf:calcFeatures></ext></extLst></workbook>`, d = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4999
5056
  <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>`, u = /* @__PURE__ */ new Map();
5000
- return u.set("_rels/.rels", s), u.set("docProps/app.xml", o), u.set("docProps/core.xml", i), u.set("xl/_rels/workbook.xml.rels", r), u.set("xl/theme/theme1.xml", n), u.set("xl/worksheets/sheet1.xml", this.getX1WorksheetsSheet1Xml(e)), u.set("xl/sharedStrings.xml", l), u.set("xl/styles.xml", a), u.set("xl/workbook.xml", c), u.set("[Content_Types].xml", h), u;
5057
+ return u.set("_rels/.rels", s), u.set("docProps/app.xml", o), u.set("docProps/core.xml", i), u.set("xl/_rels/workbook.xml.rels", r), u.set("xl/theme/theme1.xml", n), u.set("xl/worksheets/sheet1.xml", this.getX1WorksheetsSheet1Xml(e)), u.set("xl/sharedStrings.xml", l), u.set("xl/styles.xml", a), u.set("xl/workbook.xml", c), u.set("[Content_Types].xml", d), u;
5001
5058
  }
5002
5059
  getX1WorksheetsSheet1Xml(e) {
5003
5060
  const t = e.reduce((i, r) => Math.max(i, r.length), 1), s = e.length ? `A1:${this.getCellAddress(e.length - 1, t - 1)}` : "A1", o = [];
@@ -5042,26 +5099,26 @@ class Tt {
5042
5099
  const t = [];
5043
5100
  let s = 0;
5044
5101
  const o = [];
5045
- e.forEach((h, u) => {
5046
- const f = new TextEncoder().encode(u), p = new TextEncoder().encode(h), m = Et(p), g = new Uint8Array(30 + f.length), y = new DataView(g.buffer);
5047
- g.set([80, 75, 3, 4], 0), y.setUint16(4, 20, !0), y.setUint16(6, 0, !0), y.setUint16(8, 0, !0), y.setUint16(10, 0, !0), y.setUint16(12, 0, !0), y.setUint32(14, m, !0), y.setUint32(18, p.length, !0), y.setUint32(22, p.length, !0), y.setUint16(26, f.length, !0), y.setUint16(28, 0, !0), g.set(f, 30), t.push(g, p), o.push({
5102
+ e.forEach((d, u) => {
5103
+ const g = new TextEncoder().encode(u), p = new TextEncoder().encode(d), m = It(p), f = new Uint8Array(30 + g.length), b = new DataView(f.buffer);
5104
+ f.set([80, 75, 3, 4], 0), b.setUint16(4, 20, !0), b.setUint16(6, 0, !0), b.setUint16(8, 0, !0), b.setUint16(10, 0, !0), b.setUint16(12, 0, !0), b.setUint32(14, m, !0), b.setUint32(18, p.length, !0), b.setUint32(22, p.length, !0), b.setUint16(26, g.length, !0), b.setUint16(28, 0, !0), f.set(g, 30), t.push(f, p), o.push({
5048
5105
  path: u,
5049
5106
  offset: s,
5050
5107
  contentSize: p.length,
5051
5108
  crc: m
5052
- }), s += g.length + p.length;
5109
+ }), s += f.length + p.length;
5053
5110
  });
5054
5111
  const i = s;
5055
- o.forEach((h) => {
5056
- const u = new TextEncoder().encode(h.path), f = new Uint8Array(46 + u.length), p = new DataView(f.buffer);
5057
- f.set([80, 75, 1, 2], 0), p.setUint16(4, 20, !0), p.setUint16(6, 20, !0), p.setUint16(8, 0, !0), p.setUint16(10, 0, !0), p.setUint16(12, 0, !0), p.setUint16(14, 0, !0), p.setUint32(16, h.crc, !0), p.setUint32(20, h.contentSize, !0), p.setUint32(24, h.contentSize, !0), p.setUint16(28, u.length, !0), p.setUint16(30, 0, !0), p.setUint16(32, 0, !0), p.setUint16(34, 0, !0), p.setUint16(36, 0, !0), p.setUint32(38, 0, !0), p.setUint32(42, h.offset, !0), f.set(u, 46), t.push(f), s += f.length;
5112
+ o.forEach((d) => {
5113
+ const u = new TextEncoder().encode(d.path), g = new Uint8Array(46 + u.length), p = new DataView(g.buffer);
5114
+ g.set([80, 75, 1, 2], 0), p.setUint16(4, 20, !0), p.setUint16(6, 20, !0), p.setUint16(8, 0, !0), p.setUint16(10, 0, !0), p.setUint16(12, 0, !0), p.setUint16(14, 0, !0), p.setUint32(16, d.crc, !0), p.setUint32(20, d.contentSize, !0), p.setUint32(24, d.contentSize, !0), p.setUint16(28, u.length, !0), p.setUint16(30, 0, !0), p.setUint16(32, 0, !0), p.setUint16(34, 0, !0), p.setUint16(36, 0, !0), p.setUint32(38, 0, !0), p.setUint32(42, d.offset, !0), g.set(u, 46), t.push(g), s += g.length;
5058
5115
  });
5059
5116
  const r = new Uint8Array(22), n = new DataView(r.buffer);
5060
5117
  r.set([80, 75, 5, 6], 0), n.setUint16(4, 0, !0), n.setUint16(6, 0, !0), n.setUint16(8, o.length, !0), n.setUint16(10, o.length, !0), n.setUint32(12, s - i, !0), n.setUint32(16, i, !0), n.setUint16(20, 0, !0), t.push(r);
5061
- const l = t.reduce((h, u) => h + u.length, 0), a = new Uint8Array(l);
5118
+ const l = t.reduce((d, u) => d + u.length, 0), a = new Uint8Array(l);
5062
5119
  let c = 0;
5063
- for (const h of t)
5064
- a.set(h, c), c += h.length;
5120
+ for (const d of t)
5121
+ a.set(d, c), c += d.length;
5065
5122
  return a;
5066
5123
  }
5067
5124
  generateBuffer(e, t = "") {
@@ -5072,11 +5129,11 @@ class Tt {
5072
5129
  class Ge extends ut {
5073
5130
  constructor(e, t, s, o, i, r = new te(), n = new Tt()) {
5074
5131
  var c;
5075
- if (super(e, t, new ot(s), o), this.eventListener = i, this.copyService = r, this.excelService = n, this.licenseManager = G.getInstance(), this.listenerAbortController = new AbortController(), this.destroyed = !1, this.selectionService = new bt(this), this.api = new nt(this), this.mouseStartAction = "", this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.lastDragFrom = -1, this.lastDragTo = -1, this.firstDraggingRendering = !0, this.lastContextmenu = Date.now(), t.setTableScope(this), i || (this.eventListener = new he()), (c = this.tableOptions) != null && c.autoRestoreOptions) {
5076
- const h = this.tableOptions.autoRestoreOptions, u = h.getStorageKeyFn;
5077
- u && (h.autoRestoreScrollPosition && (this.storeScrollPosStateService = new lt(u)), h.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new ct(u)), h.autoRestoreSortingState && (this.storeSortingService = new dt(u)));
5132
+ if (super(e, t, new ot(s), o), this.eventListener = i, this.copyService = r, this.excelService = n, this.licenseManager = G.getInstance(), this.listenerAbortController = new AbortController(), this.destroyed = !1, this.selectionService = new mt(this), this.api = new nt(this), this.mouseStartAction = "", this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.lastDragFrom = -1, this.lastDragTo = -1, this.firstDraggingRendering = !0, this.lastContextmenu = Date.now(), t.setTableScope(this), i || (this.eventListener = new he()), (c = this.tableOptions) != null && c.autoRestoreOptions) {
5133
+ const d = this.tableOptions.autoRestoreOptions, u = d.getStorageKeyFn;
5134
+ u && (d.autoRestoreScrollPosition && (this.storeScrollPosStateService = new lt(u)), d.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new ct(u)), d.autoRestoreSortingState && (this.storeSortingService = new dt(u)));
5078
5135
  }
5079
- this.mouseHandler = new rt(this), this.inputHandler = new gt(this), this.resizeHandler = new It(this, o.resizeEventDebounceDelay), this.shortcutService = new St(this), this.shortcutService.addListener(this.selectionService);
5136
+ this.mouseHandler = new rt(this), this.inputHandler = new pt(this), this.resizeHandler = new Mt(this, o.resizeEventDebounceDelay), this.shortcutService = new xt(this), this.shortcutService.addListener(this.selectionService);
5080
5137
  const l = this.getSelectionModel ? this.getSelectionModel() : void 0;
5081
5138
  l && l.addEventSelectionChangedListener(this);
5082
5139
  const a = this.getFocusModel ? this.getFocusModel() : void 0;
@@ -5094,7 +5151,7 @@ class Ge extends ut {
5094
5151
  *
5095
5152
  * @return {TableScope} - The newly created TableScope instance.
5096
5153
  */
5097
- static create(e, t, s = new J(), o = new he(), i = new Ct(), r = new te()) {
5154
+ static create(e, t, s = new J(), o = new he(), i = new St(), r = new te()) {
5098
5155
  return new Ge(e, t, i, s, o, r);
5099
5156
  }
5100
5157
  /**
@@ -5205,7 +5262,7 @@ class Ge extends ut {
5205
5262
  * @return {void}
5206
5263
  */
5207
5264
  onMouseDown(e) {
5208
- e.columnIndex > -1 && e.action && ["resize-column", "drag-column"].includes(e.action) && (this.mouseStartWidth = this.tableModel.getColumnWidth(e.columnIndex), this.mouseStartAction = e.action, this.mouseStartColumnIndex = e.columnIndex, this.mouseStartAction === "drag-column" && (this.firstDraggingRendering = !0, this.dragFrom = this.mouseStartColumnIndex));
5265
+ this.selectionService.onMouseDown(), e.columnIndex > -1 && e.action && ["resize-column", "drag-column"].includes(e.action) && (this.mouseStartWidth = this.tableModel.getColumnWidth(e.columnIndex), this.mouseStartAction = e.action, this.mouseStartColumnIndex = e.columnIndex, this.mouseStartAction === "drag-column" && (this.firstDraggingRendering = !0, this.dragFrom = this.mouseStartColumnIndex));
5209
5266
  }
5210
5267
  /**
5211
5268
  * Handles mouse dragging on the frame.
@@ -5215,7 +5272,7 @@ class Ge extends ut {
5215
5272
  */
5216
5273
  mouseDraggingOnFrame(e, t) {
5217
5274
  var s, o;
5218
- (o = (s = this.eventListener).onMouseDragging) == null || o.call(s, 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.firstDraggingRendering), this.firstDraggingRendering = !1), this.repaint());
5275
+ (o = (s = this.eventListener).onMouseDragging) == null || o.call(s, e), this.mouseEvent = e, this.mouseStartColumnIndex > -1 && this.mouseStartAction === "resize-column" && this.tableOptions.columnsResizable ? this.resizeColumn(e) : !this.mouseStartAction && this.selectionService.onMouseDragging(e, t) ? this.repaint() : 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.firstDraggingRendering), this.firstDraggingRendering = !1), this.repaint());
5219
5276
  }
5220
5277
  /**
5221
5278
  * Handles the end of mouse dragging event on a frame.
@@ -5320,7 +5377,7 @@ class Ge extends ut {
5320
5377
  */
5321
5378
  externalFilterChanged(e = !0) {
5322
5379
  const t = this.tableOptions.externalFilterFunction;
5323
- t && (e && this.clearSelectionModel(), this.tableModel.externalFilterChanged(t), this.scrollViewport.scrollTo(0, 0), this.tableModel.recalcHeightAndPadding(), this.resetSizeOfWrapperDiv(), this.repaint());
5380
+ t && (e && this.clearSelectionModel(), this.tableModel.externalFilterChanged(t), this.reapplySorting(), this.scrollViewport.scrollTo(0, 0), this.tableModel.recalcHeightAndPadding(), this.resetSizeOfWrapperDiv(), this.repaint());
5324
5381
  }
5325
5382
  /**
5326
5383
  * Handle the double click event on the table header.
@@ -5336,8 +5393,8 @@ class Ge extends ut {
5336
5393
  const o = this.tableModel.getColumnDef(s);
5337
5394
  if (o != null && o.sortable && o.sortable()) {
5338
5395
  e.preventDefault(), e.stopPropagation();
5339
- const n = o.sortStatesOrder ? o.sortStatesOrder : this.tableOptions.sortOrder, l = o.sortState ?? "", a = n[(n.indexOf(l) + 1) % n.length], c = new pt(s, a);
5340
- this.tableModel.doSort([c]) && ((i = this.tableModel.getColumnDefs()) == null || i.forEach((u) => u.sortState = ""), o.sortState = a), this.repaint(), (r = this.storeSortingService) == null || r.setSortItems([c]);
5396
+ const n = o.sortStatesOrder ? o.sortStatesOrder : this.tableOptions.sortOrder, l = o.sortState ?? "", a = n[(n.indexOf(l) + 1) % n.length], c = new Me(s, a), d = this.tableModel.doSort([c]);
5397
+ this.lastSortCompareFn = void 0, d && ((i = this.tableModel.getColumnDefs()) == null || i.forEach((u) => u.sortState = ""), o.sortState = a), this.repaint(), (r = this.storeSortingService) == null || r.setSortItems([c]);
5341
5398
  }
5342
5399
  }
5343
5400
  /**
@@ -5374,7 +5431,7 @@ class Ge extends ut {
5374
5431
  var t, s;
5375
5432
  super.adjustAfterScrolling();
5376
5433
  const e = this.scrollViewport;
5377
- (s = (t = this.eventListener).onScroll) == null || s.call(t, new mt(
5434
+ (s = (t = this.eventListener).onScroll) == null || s.call(t, new ft(
5378
5435
  this.scrollTop,
5379
5436
  this.scrollLeft,
5380
5437
  e.scrollHeight,
@@ -5399,7 +5456,7 @@ class Ge extends ut {
5399
5456
  }
5400
5457
  toggleHeaderGroup(e) {
5401
5458
  const t = this.tableModel.getAreaModel("header");
5402
- "columnDefs" in this.tableModel && (this.tableModel.columnDefs = t.toggleHeaderGroup(e), console.info("####### !!!!!! *******, this.tableModel.columnDefs")), this.firstInit();
5459
+ "columnDefs" in this.tableModel && (this.tableModel.columnDefs = t.toggleHeaderGroup(e)), this.firstInit();
5403
5460
  }
5404
5461
  /**
5405
5462
  * Retrieves the selection model.
@@ -5490,7 +5547,14 @@ class Ge extends ut {
5490
5547
  var e, t;
5491
5548
  if ((t = (e = this.tableOptions) == null ? void 0 : e.autoRestoreOptions) != null && t.autoRestoreSortingState && this.storeSortingService) {
5492
5549
  const s = this.storeSortingService.getSortItems();
5493
- s != null && s.length && this.tableModel.getBodyModel().doSort(s);
5550
+ if (s != null && s.length) {
5551
+ this.tableModel.getBodyModel().doSort(s);
5552
+ const i = this.tableModel.getColumnDefs();
5553
+ i && (i.forEach((r) => r.sortState = ""), s.forEach((r) => {
5554
+ const n = i[r.columnIndex];
5555
+ n && (n.sortState = r.sortState);
5556
+ }));
5557
+ }
5494
5558
  }
5495
5559
  }
5496
5560
  /**
@@ -5500,41 +5564,67 @@ class Ge extends ut {
5500
5564
  * @private
5501
5565
  */
5502
5566
  autoRestoreCollapsedExpandedState() {
5503
- var e, t;
5504
- if ((t = (e = this.tableOptions) == null ? void 0 : e.autoRestoreOptions) != null && t.getRowId && this.storeStateCollapsedExpandService) {
5505
- const s = this.tableOptions.autoRestoreOptions, o = s.getRowId;
5506
- if (s.autoRestoreCollapsedExpandedState && o) {
5507
- const i = this.storeStateCollapsedExpandService.collapsedExpandedStateGet(), r = this.tableModel.getAreaModel("body");
5508
- if (de(r)) {
5509
- const n = r, l = r.getRowCount();
5510
- for (let a = 0; a < l; a++) {
5511
- const c = r.getRowByIndex(a);
5512
- if (c)
5513
- if (i.allExpanded)
5514
- c.expanded = !0;
5515
- else if (i.allCollapsed)
5516
- c.expanded = !1;
5517
- else {
5518
- const h = o(c.data);
5519
- i.mode === "expanded" ? c.expanded = this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h) : i.mode === "collapsed" && (c.expanded = !this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h));
5520
- }
5521
- }
5522
- n.recalcVisibleTreeRows();
5567
+ var i;
5568
+ const e = this.storeStateCollapsedExpandService, t = (i = this.tableOptions) == null ? void 0 : i.autoRestoreOptions, s = t == null ? void 0 : t.getRowId;
5569
+ if (!e || !s || !(t != null && t.autoRestoreCollapsedExpandedState) || !e.hasStoredState()) return;
5570
+ const o = this.tableModel.getAreaModel("body");
5571
+ if (de(o)) {
5572
+ const r = o, n = e.collapsedExpandedStateGet(), l = (a) => a == null ? void 0 : a.forEach((c) => {
5573
+ if (n.allExpanded)
5574
+ c.expanded = !0;
5575
+ else if (n.allCollapsed)
5576
+ c.expanded = !1;
5577
+ else {
5578
+ const d = e.collapsedExpandedStateIncludes(s(c.data));
5579
+ c.expanded = n.mode === "expanded" ? d : !d;
5523
5580
  }
5524
- }
5581
+ l(c.children);
5582
+ });
5583
+ l(r.rows), r.recalcVisibleTreeRows();
5525
5584
  }
5526
5585
  }
5586
+ /**
5587
+ * Calculates a width per column that fits the widest text of header, body and footer.
5588
+ *
5589
+ * The text is measured with the font and padding of a rendered cell label (canvas `measureText`),
5590
+ * so dates, numbers and long names are no longer cut off. To stay fast with millions of rows, the body
5591
+ * is scanned once by character length and only the longest candidates per column are measured.
5592
+ * Without a canvas (e.g. in tests) it falls back to 8 px per character.
5593
+ *
5594
+ * @returns {number[]} one width in px per column (at least 50 px)
5595
+ */
5527
5596
  calcAutoColumnWidths() {
5528
- const e = this.tableModel.getBodyModel(), t = this.tableModel.getColumnCount(), s = (e == null ? void 0 : e.getRowCount()) ?? 0;
5597
+ const e = this.tableModel.getBodyModel(), t = this.tableModel.getColumnCount();
5529
5598
  if (!e)
5530
5599
  return console.warn("Body model is not available."), [];
5531
- const o = new Array(t).fill(0);
5532
- for (let i = 0; i < s; i++)
5533
- for (let r = 0; r < t; r++) {
5534
- const n = e.getValueAt(i, r), l = (n == null ? void 0 : n.toString().length) || 0;
5535
- l > o[r] && (o[r] = l);
5536
- }
5537
- return o.map((i) => Math.max(i * 10, 50));
5600
+ const s = 30, o = Array.from({ length: t }, () => /* @__PURE__ */ new Set()), i = new Array(t).fill(0), r = (u) => {
5601
+ var m, f;
5602
+ const g = this.tableModel.getAreaModel(u), p = (g == null ? void 0 : g.getRowCount()) ?? 0;
5603
+ for (let b = 0; b < p; b++)
5604
+ for (let w = 0; w < t; w++) {
5605
+ const v = ((m = g.getTextValueAt) == null ? void 0 : m.call(g, b, w)) || (((f = g.getValueAt(b, w)) == null ? void 0 : f.toString()) ?? ""), I = v.length;
5606
+ if (I > i[w]) {
5607
+ i[w] = I;
5608
+ for (const x of o[w]) x.length < I - 2 && o[w].delete(x);
5609
+ }
5610
+ I >= i[w] - 2 && o[w].size < s && o[w].add(v);
5611
+ }
5612
+ };
5613
+ r("header"), r("body"), r("footer");
5614
+ const n = this.hostElement.querySelector(".ge-table-label"), l = getComputedStyle(n ?? this.hostElement), a = n ? (parseFloat(l.paddingLeft) || 0) + (parseFloat(l.paddingRight) || 0) : 20;
5615
+ let c = null;
5616
+ try {
5617
+ c = document.createElement("canvas").getContext("2d");
5618
+ } catch {
5619
+ c = null;
5620
+ }
5621
+ c && (c.font = l.font || `${l.fontSize} ${l.fontFamily}`);
5622
+ const d = (u) => c ? c.measureText(u).width : u.length * 8;
5623
+ return o.map((u) => {
5624
+ let g = 0;
5625
+ for (const p of u) g = Math.max(g, d(p));
5626
+ return Math.max(Math.ceil(g + a + 2), 50);
5627
+ });
5538
5628
  }
5539
5629
  setColumnWidth(e, t) {
5540
5630
  this.tableModel.setColumnWidth(e, t);
@@ -5556,7 +5646,23 @@ class Ge extends ut {
5556
5646
  this.tableModel.doSort(e), this.repaint();
5557
5647
  }
5558
5648
  sort(e) {
5559
- this.tableModel.sort(e), this.repaint();
5649
+ var t;
5650
+ this.tableModel.sort(e), this.lastSortCompareFn = e, (t = this.tableModel.getColumnDefs()) == null || t.forEach((s) => s.sortState = ""), this.repaint();
5651
+ }
5652
+ /**
5653
+ * Sorts the (freshly filtered) body rows again, so a filter keeps the current order:
5654
+ * the last `sort(compareFn)` call, otherwise the columns with a `sortState` (header icons).
5655
+ */
5656
+ reapplySorting() {
5657
+ var t;
5658
+ if (this.lastSortCompareFn) {
5659
+ this.tableModel.sort(this.lastSortCompareFn);
5660
+ return;
5661
+ }
5662
+ const e = [];
5663
+ (t = this.tableModel.getColumnDefs()) == null || t.forEach((s, o) => {
5664
+ s.sortState && e.push(new Me(o, s.sortState));
5665
+ }), e.length && this.tableModel.doSort(e);
5560
5666
  }
5561
5667
  /**
5562
5668
  * Ensures that a specific row is visible in the viewport by scrolling if necessary.
@@ -5857,7 +5963,7 @@ ie.themes = ["light", "combat", "paper", "blackboard"], ie.vars = {
5857
5963
  --ge-table-drop-zone-bg: #758129;
5858
5964
  }`
5859
5965
  };
5860
- let Ie = ie;
5966
+ let Te = ie;
5861
5967
  class Ee {
5862
5968
  constructor(e, t = !0, s, o, i = 0, r = !1, n = !1) {
5863
5969
  this.data = e, this.expanded = t, this.children = s, this.parent = o, this.deep = i, this.checked = r, this.keep = n, this.type = "TreeRow";
@@ -5894,41 +6000,41 @@ class Y {
5894
6000
  this.header = e, this.body = t, this.footer = s;
5895
6001
  }
5896
6002
  }
5897
- class b {
6003
+ class y {
5898
6004
  constructor(e = 100, t = "px") {
5899
6005
  this.value = e, this.unit = t;
5900
6006
  }
5901
6007
  }
5902
- const kt = () => !0, Te = () => !1;
6008
+ const Et = () => !0, kt = () => !1;
5903
6009
  class W {
5904
- constructor(e, t, s = new b(100, "px"), o = new T(), i = new T(), r = new b(100, "px"), n = new b(100, "px"), l, a, c, h, u, f, p, m, g = () => this.visible) {
5905
- this.property = e, this.headerLabel = t, this.width = s, this.classes = o, this.rendererMap = i, this.minWidth = r, this.maxWidth = n, this.sortable = l, this.sortComparator = a, this.sortState = c, this.sortStatesOrder = h, this.sortIconVisible = u, this.editable = f, this.getEditRenderer = p, this.editInputPipe = m, this.isVisible = g, this.visible = !0, s.unit !== "px" && (this.minWidth = new b(0, "px"), this.maxWidth = new b(1e5, "px"));
6010
+ constructor(e, t, s = new y(100, "px"), o = new k(), i = new k(), r = new y(100, "px"), n = new y(100, "px"), l, a, c, d, u, g, p, m, f = () => this.visible) {
6011
+ this.property = e, this.headerLabel = t, this.width = s, this.classes = o, this.rendererMap = i, this.minWidth = r, this.maxWidth = n, this.sortable = l, this.sortComparator = a, this.sortState = c, this.sortStatesOrder = d, this.sortIconVisible = u, this.editable = g, this.getEditRenderer = p, this.editInputPipe = m, this.isVisible = f, this.visible = !0, s.unit !== "px" && (this.minWidth = new y(0, "px"), this.maxWidth = new y(1e5, "px"));
5906
6012
  }
5907
6013
  static bodyRenderer(e) {
5908
- return new T(
6014
+ return new k(
5909
6015
  void 0,
5910
6016
  e,
5911
6017
  void 0
5912
6018
  );
5913
6019
  }
5914
6020
  static create(e) {
5915
- const t = new T(
6021
+ const t = new k(
5916
6022
  e.headerRenderer,
5917
6023
  e.bodyRenderer,
5918
6024
  e.footerRenderer
5919
- ), s = new T(
6025
+ ), s = new k(
5920
6026
  e.headerClasses,
5921
6027
  e.bodyClasses,
5922
6028
  e.footerClasses
5923
- ), o = e.sortIconVisible ?? e.sortable ?? Te, i = e.editable ?? e.editable ?? Te, r = e.isVisible ?? e.isVisible ?? kt;
6029
+ ), o = e.sortIconVisible ?? e.sortable, i = e.editable ?? e.editable ?? kt, r = e.isVisible ?? e.isVisible ?? Et;
5924
6030
  return new W(
5925
6031
  e.property ?? "",
5926
6032
  e.headerLabel ?? "",
5927
- e.width ?? new b(100, "px"),
6033
+ e.width ?? new y(100, "px"),
5928
6034
  s,
5929
6035
  t,
5930
- e.minWidth ?? new b(100, "px"),
5931
- e.maxWidth ?? new b(100, "px"),
6036
+ e.minWidth ?? new y(100, "px"),
6037
+ e.maxWidth ?? new y(100, "px"),
5932
6038
  e.sortable,
5933
6039
  e.sortComparator,
5934
6040
  e.sortState,
@@ -5941,7 +6047,7 @@ class W {
5941
6047
  );
5942
6048
  }
5943
6049
  }
5944
- const Zt = new b(500, "px"), Qt = new b(400, "px"), Dt = new b(300, "px"), es = new b(290, "px"), ts = new b(280, "px"), ss = new b(270, "px"), os = new b(260, "px"), is = new b(250, "px"), rs = new b(240, "px"), ns = new b(230, "px"), ls = new b(220, "px"), as = new b(210, "px"), ke = new b(200, "px"), cs = new b(190, "px"), ds = new b(180, "px"), hs = new b(170, "px"), us = new b(160, "px"), ps = new b(150, "px"), gs = new b(140, "px"), fs = new b(130, "px"), ms = new b(120, "px"), bs = new b(110, "px"), ys = new b(100, "px"), ws = new b(90, "px"), xs = new b(80, "px"), Ss = new b(70, "px"), Cs = new b(60, "px"), vs = new b(50, "px"), Rs = new b(40, "px"), As = new b(30, "px"), Ms = new b(20, "px"), Is = new b(10, "px"), Es = new b(0, "px");
6050
+ const Zt = new y(500, "px"), Qt = new y(400, "px"), Dt = new y(300, "px"), es = new y(290, "px"), ts = new y(280, "px"), ss = new y(270, "px"), os = new y(260, "px"), is = new y(250, "px"), rs = new y(240, "px"), ns = new y(230, "px"), ls = new y(220, "px"), as = new y(210, "px"), ke = new y(200, "px"), cs = new y(190, "px"), ds = new y(180, "px"), hs = new y(170, "px"), us = new y(160, "px"), ps = new y(150, "px"), gs = new y(140, "px"), fs = new y(130, "px"), ms = new y(120, "px"), bs = new y(110, "px"), ys = new y(100, "px"), ws = new y(90, "px"), xs = new y(80, "px"), Ss = new y(70, "px"), Cs = new y(60, "px"), vs = new y(50, "px"), Rs = new y(40, "px"), As = new y(30, "px"), Ms = new y(20, "px"), Is = new y(10, "px"), Ts = new y(0, "px");
5945
6051
  class F extends ye {
5946
6052
  constructor(e, t, s, o = []) {
5947
6053
  super(e, o, s), this.areaIdent = e, this.arr = t, this.defaultRowHeight = s, this.columnDefs = o, this.filteredArr = [...t];
@@ -6276,10 +6382,10 @@ class Pt {
6276
6382
  }
6277
6383
  }
6278
6384
  class ae {
6279
- constructor(e, t, s, o = 0, i = 0, r = !1, n = new Y(), l = [], a = [], c = -1, h = 0, u = 400, f = () => {
6385
+ constructor(e, t, s, o = 0, i = 0, r = !1, n = new Y(), l = [], a = [], c = -1, d = 0, u = 400, g = () => {
6280
6386
  }) {
6281
- var p, m, g, y;
6282
- this.headerAreaModel = e, this.bodyAreaModel = t, this.footerAreaModel = s, this.fixedLeftColumnCount = o, this.fixedRightColumnCount = i, this.rowCheckboxVisible = r, this.defaultRowHeights = n, this.columnDefs = l, this.columnSizes = a, this.overridingColumnWidth = c, this.columnCount = h, this.parentSize = u, this.getSelectionModel = f, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new pe(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", s.areaIdent = "footer", this.columnCount || ((p = this.columnDefs) != null && p.length ? this.columnCount = this.columnDefs.length : (m = this.columnSizes) != null && m.length && (this.columnCount = (g = this.columnSizes) == null ? void 0 : g.length)), (y = this.columnDefs) != null && y.length && st(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Pt());
6387
+ var p, m, f, b;
6388
+ this.headerAreaModel = e, this.bodyAreaModel = t, this.footerAreaModel = s, this.fixedLeftColumnCount = o, this.fixedRightColumnCount = i, this.rowCheckboxVisible = r, this.defaultRowHeights = n, this.columnDefs = l, this.columnSizes = a, this.overridingColumnWidth = c, this.columnCount = d, this.parentSize = u, this.getSelectionModel = g, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new pe(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", s.areaIdent = "footer", this.columnCount || ((p = this.columnDefs) != null && p.length ? this.columnCount = this.columnDefs.length : (m = this.columnSizes) != null && m.length && (this.columnCount = (f = this.columnSizes) == null ? void 0 : f.length)), (b = this.columnDefs) != null && b.length && st(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Pt());
6283
6389
  }
6284
6390
  init() {
6285
6391
  this.recalcSize(this.parentSize), this.overridingColumnWidth === -1 && this.calcXPositions(), this.headerAreaModel && this.headerAreaModel.init(), this.bodyAreaModel && this.bodyAreaModel.init(), this.footerAreaModel && this.footerAreaModel.init();
@@ -6709,7 +6815,7 @@ class Fe extends _ {
6709
6815
  ), this.areaIdent = e, this.rows = t, this.columnDefs = s, this.defaultRowHeight = o;
6710
6816
  }
6711
6817
  }
6712
- class $ {
6818
+ class H {
6713
6819
  /**
6714
6820
  * TableFactory
6715
6821
  *
@@ -6747,35 +6853,35 @@ class $ {
6747
6853
  * Please consult each method's documentation for detailed explanation of their functionality.
6748
6854
  */
6749
6855
  static createTableModel(e) {
6750
- var t, s, o, i, r, n, l, a, c, h, u, f, p, m;
6856
+ var t, s, o, i, r, n, l, a, c, d, u, g, p, m;
6751
6857
  if (e.defaultRowHeights === void 0)
6752
6858
  if ((t = e.tableOptions) != null && t.defaultRowHeights)
6753
6859
  e.defaultRowHeights = e.tableOptions.defaultRowHeights;
6754
6860
  else {
6755
6861
  if (e.defaultRowHeights = new Y(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
6756
- const g = e.headerAreaModel.defaultRowHeight;
6757
- g > -1 && (e.defaultRowHeights.header = g);
6862
+ const f = e.headerAreaModel.defaultRowHeight;
6863
+ f > -1 && (e.defaultRowHeights.header = f);
6758
6864
  }
6759
6865
  if (e.bodyAreaModel && "defaultRowHeight" in e.bodyAreaModel) {
6760
- const g = e.bodyAreaModel.defaultRowHeight;
6761
- g > -1 && (e.defaultRowHeights.body = g);
6866
+ const f = e.bodyAreaModel.defaultRowHeight;
6867
+ f > -1 && (e.defaultRowHeights.body = f);
6762
6868
  }
6763
6869
  if (e.footerAreaModel && "defaultRowHeight" in e.footerAreaModel) {
6764
- const g = e.footerAreaModel.defaultRowHeight;
6765
- g > -1 && (e.defaultRowHeights.footer = g);
6870
+ const f = e.footerAreaModel.defaultRowHeight;
6871
+ f > -1 && (e.defaultRowHeights.footer = f);
6766
6872
  }
6767
6873
  }
6768
- if (e.columnDefs === void 0 && ((s = e.properties) != null && s.length ? e.columnDefs = e.properties.map((g) => new W(g, g.toUpperCase(), ke)) : (o = e.rows) != null && o.length ? e.columnDefs = Object.keys(e.rows[0]).map((g) => new W(g, g.toUpperCase(), ke)) : 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 || ((a = e.headerData) != null && a.length ? e.headerAreaModel = new F(
6874
+ if (e.columnDefs === void 0 && ((s = e.properties) != null && s.length ? e.columnDefs = e.properties.map((f) => new W(f, f.toUpperCase(), ke)) : (o = e.rows) != null && o.length ? e.columnDefs = Object.keys(e.rows[0]).map((f) => new W(f, f.toUpperCase(), ke)) : 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 || ((a = e.headerData) != null && a.length ? e.headerAreaModel = new F(
6769
6875
  "header",
6770
6876
  e.headerData,
6771
6877
  e.defaultRowHeights.header,
6772
6878
  e.columnDefs
6773
6879
  ) : (c = e.columnDefs) != null && c.length ? e.headerAreaModel = new F(
6774
6880
  "header",
6775
- [e.columnDefs.map((g) => g.headerLabel)],
6881
+ [e.columnDefs.map((f) => f.headerLabel)],
6776
6882
  e.defaultRowHeights.header,
6777
6883
  e.columnDefs
6778
- ) : e.headerAreaModel = new P("header")), e.footerAreaModel || ((h = e.footerData) != null && h.length ? e.footerAreaModel = new F(
6884
+ ) : e.headerAreaModel = new P("header")), e.footerAreaModel || ((d = e.footerData) != null && d.length ? e.footerAreaModel = new F(
6779
6885
  "footer",
6780
6886
  e.footerData,
6781
6887
  e.defaultRowHeights.footer,
@@ -6783,13 +6889,13 @@ class $ {
6783
6889
  ) : e.footerAreaModel = new P("footer")), !e.bodyAreaModel)
6784
6890
  if (e.rows)
6785
6891
  if ((u = e.rows) != null && u.length && j(e.rows[0])) {
6786
- const g = e.rows;
6892
+ const f = e.rows;
6787
6893
  e.bodyAreaModel = new se(
6788
6894
  "body",
6789
- g,
6895
+ f,
6790
6896
  e.defaultRowHeights.body,
6791
6897
  e.columnDefs
6792
- ), (e.columnDefs[0].property === "CheckboxColumn" || (f = e.tableOptions) != null && f.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new De(g));
6898
+ ), (e.columnDefs[0].property === "CheckboxColumn" || (g = e.tableOptions) != null && g.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new De(f));
6793
6899
  } else
6794
6900
  e.bodyAreaModel = new Fe(
6795
6901
  "body",
@@ -6836,7 +6942,7 @@ class $ {
6836
6942
  * @method
6837
6943
  */
6838
6944
  static buildByTypedRowsParam(e) {
6839
- return $.buildByTypedRows(
6945
+ return H.buildByTypedRows(
6840
6946
  e.rows ?? [],
6841
6947
  e.columnDefs,
6842
6948
  e.tableOptions ?? new J(),
@@ -6889,8 +6995,8 @@ class $ {
6889
6995
  r.body,
6890
6996
  t
6891
6997
  );
6892
- return (n || s.showCheckboxWihoutExtraColumn) && (c.rowSelectionModel = new De(a)), $.createByAreaModelsParam({
6893
- headerAreaModel: new F("header", [t.map((h) => h.headerLabel)], r.header),
6998
+ return (n || s.showCheckboxWihoutExtraColumn) && (c.rowSelectionModel = new De(a)), H.createByAreaModelsParam({
6999
+ headerAreaModel: new F("header", [t.map((d) => d.headerLabel)], r.header),
6894
7000
  bodyAreaModel: c,
6895
7001
  footerAreaModel: new F("footer", [], r.footer),
6896
7002
  columnDefs: t,
@@ -6903,7 +7009,7 @@ class $ {
6903
7009
  overridingColumnWidth: -1
6904
7010
  });
6905
7011
  }
6906
- return $.createByObjectArrayParam({
7012
+ return H.createByObjectArrayParam({
6907
7013
  rows: e,
6908
7014
  columnDefs: t,
6909
7015
  fixedLeftColumnCount: o,
@@ -6957,7 +7063,7 @@ class $ {
6957
7063
  */
6958
7064
  static createByObjectArrayParam(e) {
6959
7065
  const t = e.rowCheckboxVisible !== void 0 ? e.rowCheckboxVisible : !1;
6960
- return $.createByObjectArray(
7066
+ return H.createByObjectArray(
6961
7067
  e.rows,
6962
7068
  e.header ?? [],
6963
7069
  e.footer ?? [],
@@ -7010,7 +7116,7 @@ class $ {
7010
7116
  * @return A new instance of `TableModel` is created using the provided parameters.
7011
7117
  * If a parameter isn't provided, the default value is used.
7012
7118
  */
7013
- static createByAreaModels(e = new P(), t, s = new P(), o = 0, i = 0, r = !1, n = new Y(), l, a = [], c = -1, h) {
7119
+ static createByAreaModels(e = new P(), t, s = new P(), o = 0, i = 0, r = !1, n = new Y(), l, a = [], c = -1, d) {
7014
7120
  return new ae(
7015
7121
  e,
7016
7122
  t,
@@ -7022,7 +7128,7 @@ class $ {
7022
7128
  l,
7023
7129
  a,
7024
7130
  c,
7025
- h
7131
+ d
7026
7132
  );
7027
7133
  }
7028
7134
  /**
@@ -7062,7 +7168,7 @@ class $ {
7062
7168
  * });
7063
7169
  */
7064
7170
  static createByAreaModelsParam(e) {
7065
- return $.createByAreaModels(
7171
+ return H.createByAreaModels(
7066
7172
  e.headerAreaModel ?? new P(),
7067
7173
  e.bodyAreaModel,
7068
7174
  e.footerAreaModel ?? new P(),
@@ -7126,12 +7232,12 @@ class $ {
7126
7232
  */
7127
7233
  static createByObjectArray(e, t = [], s = [], o = 0, i = 0, r = !1, n = new Y(), l, a = []) {
7128
7234
  let c;
7129
- t != null && t.length ? c = new F("header", t, n.header, l) : l != null && l.length ? c = new F("header", [l.map((f) => f.headerLabel)], n.header, l) : c = new P();
7130
- const h = s ? new F("footer", s, n.footer, l) : new P(), u = new Fe("body", e, l, n.body);
7235
+ t != null && t.length ? c = new F("header", t, n.header, l) : l != null && l.length ? c = new F("header", [l.map((g) => g.headerLabel)], n.header, l) : c = new P();
7236
+ const d = s ? new F("footer", s, n.footer, l) : new P(), u = new Fe("body", e, l, n.body);
7131
7237
  return new ae(
7132
7238
  c,
7133
7239
  u,
7134
- h,
7240
+ d,
7135
7241
  o,
7136
7242
  i,
7137
7243
  r,
@@ -7330,7 +7436,7 @@ class Lt {
7330
7436
  return this.tableScope;
7331
7437
  }
7332
7438
  }
7333
- class Ot {
7439
+ class Vt {
7334
7440
  constructor() {
7335
7441
  this.autoRestoreSortingState = !1, this.autoRestoreCollapsedExpandedState = !1, this.autoRestoreScrollPosition = !1, this.autoRestoreCheckedState = !1, this.autoRestoreSelectedState = !1, this.getStorageKeyFn = void 0, this.isSame = (e, t, s) => {
7336
7442
  if (e && t && s.getRowId) {
@@ -7355,7 +7461,7 @@ class Ot {
7355
7461
  };
7356
7462
  }
7357
7463
  }
7358
- class Ts {
7464
+ class Es {
7359
7465
  static createCoverGridModel(e, t, s = 200, o = 300, i = 0, r = 0) {
7360
7466
  const n = new _t(e, t, s, o, i, r);
7361
7467
  return new Lt(n, r);
@@ -7380,7 +7486,7 @@ class Ts {
7380
7486
  },
7381
7487
  // externalFilterFunction: this.filterFn.bind(this),
7382
7488
  autoRestoreOptions: {
7383
- ...new Ot(),
7489
+ ...new Vt(),
7384
7490
  getStorageKeyFn: t,
7385
7491
  autoRestoreCollapsedExpandedState: !1,
7386
7492
  autoRestoreScrollPosition: !0,
@@ -7408,17 +7514,17 @@ const ks = [
7408
7514
  // "PAGEUP_PRESSED",
7409
7515
  // "PAGEDOWN_PRESSED"
7410
7516
  ];
7411
- class Vt {
7517
+ class Ot {
7412
7518
  constructor(e, t) {
7413
7519
  this.tableModel = e, this.tableOptions = t;
7414
7520
  }
7415
7521
  }
7416
- class Ht {
7522
+ class $t {
7417
7523
  constructor(e, t, s, o, i, r, n) {
7418
7524
  this.emmitDataKey = e, this.emmitCancelKey = t, this.queryId = s, this.filter = o, this.sorting = i, this.startIndex = r, this.endIndex = n;
7419
7525
  }
7420
7526
  }
7421
- class Ds extends Ht {
7527
+ class Ds extends $t {
7422
7528
  constructor(e, t, s, o, i, r, n, l) {
7423
7529
  super(
7424
7530
  e,
@@ -7431,7 +7537,7 @@ class Ds extends Ht {
7431
7537
  ), this.rows = l;
7432
7538
  }
7433
7539
  }
7434
- class $t {
7540
+ class Ht {
7435
7541
  constructor(e, t) {
7436
7542
  this.value = e, this.label = t;
7437
7543
  }
@@ -7441,15 +7547,15 @@ class Fs {
7441
7547
  this.index = e, this.px = t;
7442
7548
  }
7443
7549
  }
7444
- const Ps = { body: ["ge-table-text-align-left"] }, _s = { body: ["ge-table-text-align-center"] }, Ls = { body: ["ge-table-text-align-right"] }, Os = {
7550
+ const Ps = { body: ["ge-table-text-align-left"] }, _s = { body: ["ge-table-text-align-center"] }, Ls = { body: ["ge-table-text-align-right"] }, Vs = {
7445
7551
  header: ["ge-table-text-align-left"],
7446
7552
  body: ["ge-table-text-align-left"],
7447
7553
  footer: ["ge-table-text-align-left"]
7448
- }, Vs = {
7554
+ }, Os = {
7449
7555
  header: ["ge-table-text-align-center"],
7450
7556
  body: ["ge-table-text-align-center"],
7451
7557
  footer: ["ge-table-text-align-center"]
7452
- }, Hs = {
7558
+ }, $s = {
7453
7559
  header: ["ge-table-text-align-right"],
7454
7560
  body: ["ge-table-text-align-right"],
7455
7561
  footer: ["ge-table-text-align-right"]
@@ -7472,9 +7578,9 @@ class Pe {
7472
7578
  }
7473
7579
  }
7474
7580
  }
7475
- class $s {
7581
+ class Hs {
7476
7582
  constructor() {
7477
- this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new b(50, "px"), this.minWidth = new b(50, "px"), this.maxWidth = new b(100, "px"), this.rendererMap = new T(new Pe(), new Pe(), void 0), this.classes = new T(
7583
+ this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new y(50, "px"), this.minWidth = new y(50, "px"), this.maxWidth = new y(100, "px"), this.rendererMap = new k(new Pe(), new Pe(), void 0), this.classes = new k(
7478
7584
  [],
7479
7585
  ["ge-table-text-align-left"],
7480
7586
  []
@@ -7489,7 +7595,7 @@ class Bs {
7489
7595
  * @returns {AreaObjectMap<CellRendererIf>} The newly created AreaObjectMap.
7490
7596
  */
7491
7597
  static body(e) {
7492
- return new T(
7598
+ return new k(
7493
7599
  void 0,
7494
7600
  e,
7495
7601
  void 0
@@ -8323,8 +8429,8 @@ const re = class re {
8323
8429
  render(e, t, s, o, i, r, n) {
8324
8430
  const l = r != null && r.data ? r.data : "";
8325
8431
  if (r) {
8326
- const { toggle: a, visibility: c, closed: h } = r, u = a ? re.toggleHeaderGroup : "";
8327
- this.addText(e, o, t, s, l, u), a && c !== "always" && this.addArrowDiv(n, e, !h, t, s, o, u);
8432
+ const { toggle: a, visibility: c, closed: d } = r, u = a ? re.toggleHeaderGroup : "";
8433
+ this.addText(e, o, t, s, l, u), a && c !== "always" && this.addArrowDiv(n, e, !d, t, s, o, u);
8328
8434
  } else
8329
8435
  this.addText(e, o, t, s, l, "");
8330
8436
  }
@@ -8341,8 +8447,8 @@ const re = class re {
8341
8447
  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", `${o}`), e.setAttribute(l, "data-col-index", `${i}`), e.setAttribute(l, "data-area", `${r}`), e.setAttribute(l, "data-ge-action", `${n}`);
8342
8448
  let a;
8343
8449
  s ? a = this.headerGroupOptions.iconExpanded : a = this.headerGroupOptions.iconCollapsed;
8344
- const c = a.content, h = e.createText(c);
8345
- e.appendChild(l, h), a.style && this.applyStyleString(e, l, a.style);
8450
+ const c = a.content, d = e.createText(c);
8451
+ e.appendChild(l, d), a.style && this.applyStyleString(e, l, a.style);
8346
8452
  for (const u of a.classes)
8347
8453
  e.addClass(l, u);
8348
8454
  return e.appendChild(t, l), l;
@@ -8456,7 +8562,12 @@ class zs {
8456
8562
  }
8457
8563
  toggleHeaderGroup(e) {
8458
8564
  const t = this.arr[e.rowIdx][e.colIdx];
8459
- return t != null && t.toggle && t.visibility !== "always" && (t.closed = !t.closed, this.init()), E.buildColumnDefs(this.groupExts);
8565
+ t != null && t.toggle && t.visibility !== "always" && (t.closed = !t.closed, this.init());
8566
+ const s = E.buildColumnDefs(this.groupExts), o = new Map(this.columnDefs.map((r) => [r.property, r])), i = s.map((r) => {
8567
+ const n = o.get(r.property);
8568
+ return n ? (n.isVisible = r.isVisible, n) : r;
8569
+ });
8570
+ return this.columnDefs = i, i;
8460
8571
  }
8461
8572
  }
8462
8573
  class js {
@@ -8466,17 +8577,17 @@ class js {
8466
8577
  if (!t)
8467
8578
  return !0;
8468
8579
  t = t.toLowerCase();
8469
- const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((h) => h !== o && h !== i && h !== ""), n = r.filter((h) => !h.startsWith(o) && !h.startsWith(i)), l = r.filter((h) => h.startsWith(o)).map((h) => h.replace(/\+/g, "")), a = r.filter((h) => h.startsWith(i)).map((h) => h.replace(/-/g, ""));
8580
+ const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((d) => d !== o && d !== i && d !== ""), n = r.filter((d) => !d.startsWith(o) && !d.startsWith(i)), l = r.filter((d) => d.startsWith(o)).map((d) => d.replace(/\+/g, "")), a = r.filter((d) => d.startsWith(i)).map((d) => d.replace(/-/g, ""));
8470
8581
  let c = !n.length;
8471
- for (let h = 0; h < n.length; h++)
8472
- (c || s(e).includes(n[h])) && (c = !0);
8582
+ for (let d = 0; d < n.length; d++)
8583
+ (c || s(e).includes(n[d])) && (c = !0);
8473
8584
  if (!c)
8474
8585
  return !1;
8475
- for (let h = 0; h < l.length; h++)
8476
- if (!s(e).includes(l[h]))
8586
+ for (let d = 0; d < l.length; d++)
8587
+ if (!s(e).includes(l[d]))
8477
8588
  return !1;
8478
- for (let h = 0; h < a.length; h++)
8479
- if (s(e).includes(a[h]))
8589
+ for (let d = 0; d < a.length; d++)
8590
+ if (s(e).includes(a[d]))
8480
8591
  return !1;
8481
8592
  return !0;
8482
8593
  }
@@ -8488,10 +8599,10 @@ class js {
8488
8599
  t = t.toLowerCase();
8489
8600
  const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((c) => c !== o && c !== i && c !== ""), n = r.filter((c) => !c.startsWith(o) && !c.startsWith(i)), l = r.filter((c) => c.startsWith(o)).map((c) => c.replace(/\+/g, "")), a = r.filter((c) => c.startsWith(i)).map((c) => c.replace(/-/g, ""));
8490
8601
  return e == null ? void 0 : e.filter((c) => {
8491
- let h = !n.length;
8602
+ let d = !n.length;
8492
8603
  for (let u = 0; u < n.length; u++)
8493
- (h || s(c).includes(n[u])) && (h = !0);
8494
- if (!h)
8604
+ (d || s(c).includes(n[u])) && (d = !0);
8605
+ if (!d)
8495
8606
  return !1;
8496
8607
  for (let u = 0; u < l.length; u++)
8497
8608
  if (!s(c).includes(l[u]))
@@ -8515,7 +8626,7 @@ class js {
8515
8626
  }
8516
8627
  class Us {
8517
8628
  static bodyRenderer(e) {
8518
- return new T(void 0, e, void 0);
8629
+ return new k(void 0, e, void 0);
8519
8630
  }
8520
8631
  }
8521
8632
  class Ys {
@@ -8525,7 +8636,7 @@ class Ys {
8525
8636
  render(e, t, s, o, i, r, n) {
8526
8637
  if (this.readonly || this.skipCheckableCheck || i.isRowCheckable(t)) {
8527
8638
  n.addClass(e, "ge-table-row-checkbox-div");
8528
- const l = i.getRowByIndex(t), c = i.getValueByT(l, this.property) === !0 ? "checked" : "", h = this.readonly ? " readonly " : "";
8639
+ const l = i.getRowByIndex(t), c = i.getValueByT(l, this.property) === !0 ? "checked" : "", d = this.readonly ? " readonly " : "";
8529
8640
  if (n.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
8530
8641
  <input
8531
8642
  type="checkbox"
@@ -8535,20 +8646,20 @@ class Ys {
8535
8646
  data-property-index="${this.property}"
8536
8647
  data-input-type="checkbox"
8537
8648
  ${c}
8538
- ${h}
8649
+ ${d}
8539
8650
  class="ge-input-checkbox">`, !this.readonly) {
8540
8651
  const u = e.querySelector(".ge-input-checkbox");
8541
- u && u.addEventListener("click", (f, p) => (l[this.property] = !l[this.property], !0));
8652
+ u && u.addEventListener("click", (g, p) => (l[this.property] = !l[this.property], !0));
8542
8653
  }
8543
8654
  }
8544
8655
  }
8545
8656
  }
8546
- class Xs {
8657
+ class Ks {
8547
8658
  render(e, t, s, o, i, r, n) {
8548
8659
  r && (e.innerText = new Date(r).toISOString());
8549
8660
  }
8550
8661
  }
8551
- class Ks {
8662
+ class Xs {
8552
8663
  constructor() {
8553
8664
  this.formatter = new Intl.DateTimeFormat("de-DE", {
8554
8665
  year: "numeric",
@@ -8643,10 +8754,10 @@ class so {
8643
8754
  const c = [];
8644
8755
  for (let u = 0; u < a; u++)
8645
8756
  c.push("★");
8646
- const h = c.join(" ");
8757
+ const d = c.join(" ");
8647
8758
  e.innerHTML = `
8648
8759
  <div class="ge-table-label-div" data-row-index="${t}" data-col-index="${s}" data-area="${o}" style="position: relative; background: transparent; width: 100%; height: 100%;">
8649
- <div class="ge-table-label" data-row-index="${t}" data-col-index="${s}" data-area="${o}">${h}</div>
8760
+ <div class="ge-table-label" data-row-index="${t}" data-col-index="${s}" data-area="${o}">${d}</div>
8650
8761
  </div>`;
8651
8762
  }
8652
8763
  }
@@ -8672,13 +8783,13 @@ class io {
8672
8783
  n.addClass(e, "ge-star-rating-div");
8673
8784
  const l = i.getRowByIndex(t), a = +("" + i.getValueByT(l, this.property));
8674
8785
  if (!isNaN(a)) {
8675
- const c = a * 100 / this.maxValue, h = this.labelVisible ? Math.round(c) + "%" : "";
8786
+ const c = a * 100 / this.maxValue, d = this.labelVisible ? Math.round(c) + "%" : "";
8676
8787
  e.innerHTML = `
8677
8788
  <div class="ge-table-label-div"
8678
8789
  data-row-index="${t}"
8679
8790
  data-col-index="${s}"
8680
8791
  data-area="${o}"
8681
- title="${h}"
8792
+ title="${d}"
8682
8793
  style="position: relative; background: transparent; width: 100%; height: 100%;">
8683
8794
  <div class="ge-table-progress-container"
8684
8795
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -8721,7 +8832,7 @@ class ze {
8721
8832
  this.action = e, this.area = t, this.areaModel = s, this.rowIndex = o, this.columnIndex = i, this.id = r;
8722
8833
  }
8723
8834
  }
8724
- class H {
8835
+ class $ {
8725
8836
  constructor(e, t, s = "", o = "", i = "button", r = !0) {
8726
8837
  this.action = e, this.label = t, this.icon = s, this.elementClass = o, this.elementType = i, this.enabled = r;
8727
8838
  }
@@ -8733,7 +8844,7 @@ class Nt {
8733
8844
  render(e, t, s, o, i, r, n) {
8734
8845
  n.addClass(e, "ge-table-row-action-div");
8735
8846
  const l = r, c = this.getCrudActions(r).map(
8736
- (h) => h.elementType === "button" ? this.buildButtonHtml(h, o, t, s, l) : this.buildLinkHtml(h, o, t, s, l)
8847
+ (d) => d.elementType === "button" ? this.buildButtonHtml(d, o, t, s, l) : this.buildLinkHtml(d, o, t, s, l)
8737
8848
  );
8738
8849
  e.innerHTML = c.join(""), this.addClickEventListeners(e, o, i);
8739
8850
  }
@@ -8788,11 +8899,11 @@ class Nt {
8788
8899
  return null;
8789
8900
  }
8790
8901
  getCrudActions(e) {
8791
- return Array.isArray(e) && e.every((t) => t instanceof H) ? e : this.crudActions;
8902
+ return Array.isArray(e) && e.every((t) => t instanceof $) ? e : this.crudActions;
8792
8903
  }
8793
8904
  }
8794
- const no = function(d, e, t) {
8795
- return d ? Number(d) : "";
8905
+ const no = function(h, e, t) {
8906
+ return h ? Number(h) : "";
8796
8907
  };
8797
8908
  class je {
8798
8909
  constructor(e) {
@@ -8800,7 +8911,7 @@ class je {
8800
8911
  }
8801
8912
  static create(e) {
8802
8913
  return new je(
8803
- e.map((t) => new $t(t, t))
8914
+ e.map((t) => new Ht(t, t))
8804
8915
  );
8805
8916
  }
8806
8917
  render(e, t, s, o, i, r, n) {
@@ -8808,9 +8919,9 @@ class je {
8808
8919
  n.addClass(e, "ge-table-row-select-div");
8809
8920
  const l = i.getValueAt(t, s);
8810
8921
  let a = [];
8811
- for (let h of this.options) {
8812
- const u = h.value === l ? " selected " : "";
8813
- a.push(`<option value="${h.value}" ${u}>${h.label}</option>`);
8922
+ for (let d of this.options) {
8923
+ const u = d.value === l ? " selected " : "";
8924
+ a.push(`<option value="${d.value}" ${u}>${d.label}</option>`);
8814
8925
  }
8815
8926
  const c = a.join("");
8816
8927
  e.innerHTML = `
@@ -9081,14 +9192,14 @@ class jt {
9081
9192
  method: "GET"
9082
9193
  }
9083
9194
  }, this.singleRowActions = [
9084
- new H("VIEW", "View", "", "", "link"),
9085
- new H("EDIT", "Edit", "", "", "link"),
9086
- new H("CLONE", "Clone", "", "", "link"),
9087
- new H("DELETE", "Delete", "", "", "link")
9195
+ new $("VIEW", "View", "", "", "link"),
9196
+ new $("EDIT", "Edit", "", "", "link"),
9197
+ new $("CLONE", "Clone", "", "", "link"),
9198
+ new $("DELETE", "Delete", "", "", "link")
9088
9199
  // new CrudAction('CREATE', 'Create', '', '', 'link'),
9089
9200
  ], this.tableActions = [
9090
- new H("CREATE", "Create", "", "", "button"),
9091
- new H("DELETE_SELECTED", "Delete Selected", "", "", "button")
9201
+ new $("CREATE", "Create", "", "", "button"),
9202
+ new $("DELETE_SELECTED", "Delete Selected", "", "", "button")
9092
9203
  ], this.autoAddActionColumn = !0, this.columnWidths = new Gt(), this.calcFixedRightColumnCount = (e) => e > 6 ? 1 : 0, this.getHeadersInit = () => ({}), this.getIdKey = () => "id", this.getIdByObject = (e) => (this.getIdKey() ?? "id") in e ? e.id : e, this.fetchList = (e) => {
9093
9204
  const t = e.getHeadersInit ? e.getHeadersInit() : {};
9094
9205
  let s = e.urls.list.url, o = e.urls.list.method ?? "GET";
@@ -9151,42 +9262,42 @@ class ho {
9151
9262
  this.crudOptions = e, this.listenActionEvent = o, e.fetchList(e).then((i) => {
9152
9263
  var r, n, l, a;
9153
9264
  if (t.rows = i, i != null && i.length) {
9154
- const c = (r = t.columnDefs) != null && r.length ? t.columnDefs.map((x) => x.property) : this.extractProperties(i[0]), h = new Ce("row", "multi"), u = () => h;
9265
+ const c = (r = t.columnDefs) != null && r.length ? t.columnDefs.map((w) => w.property) : this.extractProperties(i[0]), d = new Ce("row", "multi"), u = () => d;
9155
9266
  this.tableOptions = {
9156
9267
  ...new J(),
9157
9268
  ...t.tableOptions,
9158
9269
  hoverColumnVisible: !1,
9159
9270
  getSelectionModel: u
9160
9271
  };
9161
- const f = this.calcAutoColumnWidths(i, c), p = (n = t.columnDefs) != null && n.length ? t.columnDefs : c.map(((x, A) => new W(x, x.toUpperCase(), new b(f[A], "px"))));
9272
+ const g = this.calcAutoColumnWidths(i, c), p = (n = t.columnDefs) != null && n.length ? t.columnDefs : c.map(((w, v) => new W(w, w.toUpperCase(), new y(g[v], "px"))));
9162
9273
  if ((l = e == null ? void 0 : e.columnWidths) != null && l.autoCalc)
9163
- for (let x = 0; x < p.length; x++) {
9164
- const A = p[x];
9165
- A.width = new b(f[x], "px");
9274
+ for (let w = 0; w < p.length; w++) {
9275
+ const v = p[w];
9276
+ v.width = new y(g[w], "px");
9166
9277
  }
9167
9278
  if (e.autoAddActionColumn) {
9168
- let x = new W(
9279
+ let w = new W(
9169
9280
  "id",
9170
9281
  "Actions",
9171
9282
  Dt,
9172
- new T(["ge-table-text-align-left"], ["ge-table-text-align-left ge-table-actions-cell"], void 0)
9283
+ new k(["ge-table-text-align-left"], ["ge-table-text-align-left ge-table-actions-cell"], void 0)
9173
9284
  );
9174
- x.rendererMap = new T(
9285
+ w.rendererMap = new k(
9175
9286
  void 0,
9176
9287
  new Nt(this, e.singleRowActions),
9177
9288
  void 0
9178
- ), p.push(x);
9289
+ ), p.push(w);
9179
9290
  }
9180
- const m = 0, g = e.calcFixedRightColumnCount(p.length);
9181
- this.tableModel = $.buildByTypedRowsParam({
9291
+ const m = 0, f = e.calcFixedRightColumnCount(p.length);
9292
+ this.tableModel = H.buildByTypedRowsParam({
9182
9293
  rows: i,
9183
9294
  columnDefs: p,
9184
9295
  tableOptions: this.tableOptions,
9185
9296
  fixedLeftColumnCount: m,
9186
- fixedRightColumnCount: g
9297
+ fixedRightColumnCount: f
9187
9298
  }), this.tableModel.getSelectionModel = u, this.bodyModel = (a = this.tableModel) == null ? void 0 : a.getBodyModel();
9188
- const y = new Vt(this.tableModel, this.tableOptions);
9189
- s(y);
9299
+ const b = new Ot(this.tableModel, this.tableOptions);
9300
+ s(b);
9190
9301
  }
9191
9302
  });
9192
9303
  }
@@ -9235,8 +9346,8 @@ class ho {
9235
9346
  } else if (e.action === "DELETE") {
9236
9347
  let r = e.id;
9237
9348
  (i = this.crudOptions) == null || i.deleteItem(this.crudOptions, r).then((n) => {
9238
- var l, a, c, h, u;
9239
- return (l = this.bodyModel) == null || l.filterRowsByPredict((f) => f.id != r), (c = (a = this.tableModel) == null ? void 0 : a.getTableScope()) == null || c.clearSelection(!0), (u = (h = this.tableModel) == null ? void 0 : h.getTableScope()) == null || u.repaintHard(), n;
9349
+ var l, a, c, d, u;
9350
+ return (l = this.bodyModel) == null || l.filterRowsByPredict((g) => g.id != r), (c = (a = this.tableModel) == null ? void 0 : a.getTableScope()) == null || c.clearSelection(!0), (u = (d = this.tableModel) == null ? void 0 : d.getTableScope()) == null || u.repaintHard(), n;
9240
9351
  });
9241
9352
  }
9242
9353
  }
@@ -9247,20 +9358,20 @@ class ho {
9247
9358
  return new Array(o).fill(200);
9248
9359
  const i = e.length ?? 0, r = new Array(o).fill(0);
9249
9360
  for (let c = 0; c < i; c++)
9250
- for (let h = 0; h < o; h++) {
9251
- const u = t[h], f = this.getValueByT(e[c], u), p = (f == null ? void 0 : f.toString().length) || 0;
9252
- p > r[h] && (r[h] = p);
9361
+ for (let d = 0; d < o; d++) {
9362
+ const u = t[d], g = this.getValueByT(e[c], u), p = (g == null ? void 0 : g.toString().length) || 0;
9363
+ p > r[d] && (r[d] = p);
9253
9364
  }
9254
9365
  if (this.crudOptions.columnWidths.takeHeaderLabelsIntoAccount)
9255
9366
  for (let c = 0; c < o; c++) {
9256
- const h = s[c].length || 0;
9257
- h > r[c] && (r[c] = h);
9367
+ const d = s[c].length || 0;
9368
+ d > r[c] && (r[c] = d);
9258
9369
  }
9259
9370
  const n = this.crudOptions.columnWidths.minWidth, l = this.crudOptions.columnWidths.maxWidth;
9260
- return r.map((c, h) => Math.min(
9371
+ return r.map((c, d) => Math.min(
9261
9372
  l,
9262
9373
  Math.max(
9263
- this.crudOptions.columnWidths.charCountToWidth(c, h),
9374
+ this.crudOptions.columnWidths.charCountToWidth(c, d),
9264
9375
  n
9265
9376
  )
9266
9377
  ));
@@ -9290,7 +9401,7 @@ export {
9290
9401
  ye as AbstractAreaModel,
9291
9402
  ze as ActionEvent,
9292
9403
  Nt as ActionsCellRenderer,
9293
- $e as AnyPropertyType,
9404
+ He as AnyPropertyType,
9294
9405
  Bs as AreaMapFactory,
9295
9406
  Gs as AreaModel,
9296
9407
  F as AreaModelArrayOfArrays,
@@ -9299,9 +9410,9 @@ export {
9299
9410
  _ as AreaModelObjectArray,
9300
9411
  Fe as AreaModelObjectArrayWithColumndefs,
9301
9412
  se as AreaModelTree,
9302
- T as AreaObjectMap,
9413
+ k as AreaObjectMap,
9303
9414
  B as ArrayPropertyType,
9304
- Ot as AutoRestoreOptions,
9415
+ Vt as AutoRestoreOptions,
9305
9416
  Yt as AvoidDoubleExecution,
9306
9417
  qe as BooleanPropertyType,
9307
9418
  Bt as CellGroup,
@@ -9311,28 +9422,28 @@ export {
9311
9422
  E as CellgroupFactory,
9312
9423
  Ys as CheckboxBooleanPropertyCellRenderer,
9313
9424
  Pe as CheckboxCellRenderer,
9314
- $s as CheckboxColumnDef,
9425
+ Hs as CheckboxColumnDef,
9315
9426
  Pt as CheckboxModel,
9316
9427
  Ds as ChunkData,
9317
9428
  ht as ColAndRowspanModel,
9318
9429
  at as CollapsedExpandedData,
9319
9430
  ao as ColorRgb,
9320
9431
  W as ColumnDef,
9321
- Xt as ColumnDefGenerator,
9432
+ Kt as ColumnDefGenerator,
9322
9433
  Gt as ColumnWidths,
9323
9434
  ot as ConvenienceDomService,
9324
9435
  te as CopyService,
9325
9436
  _t as CoverGridBodyModel,
9326
- Ts as CoverGridFactory,
9437
+ Es as CoverGridFactory,
9327
9438
  Lt as CoverGridTableModel,
9328
- H as CrudAction,
9439
+ $ as CrudAction,
9329
9440
  ce as CrudObjectEdit,
9330
9441
  zt as CrudObjectView,
9331
9442
  jt as CrudOptions,
9332
9443
  ho as CrudTableModelFactory,
9333
- Ie as CssVars,
9334
- Ks as DateToIntlDDMMYYYYCellRenderer,
9335
- Xs as DateToIsoCellRenderer,
9444
+ Te as CssVars,
9445
+ Xs as DateToIntlDDMMYYYYCellRenderer,
9446
+ Ks as DateToIsoCellRenderer,
9336
9447
  Js as DateToLocaleDateCellRenderer,
9337
9448
  eo as DateToTecCellRenderer,
9338
9449
  Y as DefaultRowHeights,
@@ -9340,69 +9451,70 @@ export {
9340
9451
  he as EventAdapter,
9341
9452
  qt as EventCheckboxChangedHandler,
9342
9453
  Tt as ExcelService,
9343
- Te as FalseFn,
9344
- Rt as FocusModel,
9345
- ft as GeCellIndices,
9454
+ kt as FalseFn,
9455
+ vt as FocusModel,
9456
+ gt as GeCellIndices,
9346
9457
  Z as GeCssColorUtil,
9347
9458
  js as GeFilterService,
9348
9459
  Ws as GeKeyEvent,
9349
9460
  Se as GeModelChangeEvent,
9350
9461
  be as GeMouseEvent,
9351
- mt as GeScrollEvent,
9352
- O as GeoData,
9353
- V as Icon,
9462
+ ft as GeScrollEvent,
9463
+ V as GeoData,
9464
+ ve as HeaderGroupOptions,
9465
+ O as Icon,
9354
9466
  Fs as IndexAndPx,
9355
- vt as InputCellRenderer,
9356
- gt as InputHandler,
9467
+ Ct as InputCellRenderer,
9468
+ pt as InputHandler,
9357
9469
  Re as JsonService,
9358
9470
  G as LicenseManager,
9359
9471
  qs as MaleFemaleToIconCellRenderer,
9360
9472
  rt as MouseHandler,
9361
9473
  it as MouseTargetData,
9362
9474
  lo as MultiRowsSelectionModel,
9363
- Xe as NullPropertyType,
9475
+ Ke as NullPropertyType,
9364
9476
  Zs as NumberCellProgressBarCellRenderer,
9365
9477
  to as NumberCellRenderer,
9366
9478
  Je as NumberPropertyType,
9367
9479
  L as ObjectPropertyType,
9368
- wt as OsxShortcutActionIdMapping,
9480
+ yt as OsxShortcutActionIdMapping,
9369
9481
  Le as PROPERTY_TYPE_KEY_ANY,
9370
- He as PROPERTY_TYPE_KEY_ARRAY,
9482
+ $e as PROPERTY_TYPE_KEY_ARRAY,
9371
9483
  me as PROPERTY_TYPE_KEY_BOOLEAN,
9372
- Oe as PROPERTY_TYPE_KEY_NULL,
9484
+ Ve as PROPERTY_TYPE_KEY_NULL,
9373
9485
  fe as PROPERTY_TYPE_KEY_NUMBER,
9374
- K as PROPERTY_TYPE_KEY_OBJECT,
9375
- Ve as PROPERTY_TYPE_KEY_STRING,
9376
- X as PROPERTY_TYPE_KEY_UNDEFINED,
9486
+ X as PROPERTY_TYPE_KEY_OBJECT,
9487
+ Oe as PROPERTY_TYPE_KEY_STRING,
9488
+ K as PROPERTY_TYPE_KEY_UNDEFINED,
9377
9489
  pe as Padding,
9378
9490
  ro as PositiveAndNegativeNumberRenderer,
9379
9491
  io as ProgressBarCellRenderer,
9380
9492
  Be as PropertyItem,
9381
- Kt as PropertyTypeService,
9493
+ Xt as PropertyTypeService,
9382
9494
  ut as RenderScope,
9383
9495
  Us as Renderer,
9384
- Ht as RequestChunk,
9385
- It as ResizeHandler,
9496
+ $t as RequestChunk,
9497
+ Mt as ResizeHandler,
9386
9498
  Jt as SchemeGenerator,
9387
9499
  je as SelectCellRenderer,
9388
9500
  Ce as SelectionModel,
9389
- bt as SelectionService,
9390
- St as ShortcutService,
9501
+ mt as SelectionService,
9502
+ xt as ShortcutService,
9391
9503
  oo as SimpleArrayCellRenderer,
9392
- Ct as SimpleDomService,
9393
- b as Size,
9394
- pt as SortItem,
9504
+ St as SimpleDomService,
9505
+ y as Size,
9506
+ Me as SortItem,
9395
9507
  Ne as SortedOptions,
9396
9508
  so as StarRatingCellRenderer,
9397
9509
  ct as StoreStateCollapsedExpandService,
9398
9510
  lt as StoreStateScrollPosService,
9399
9511
  dt as StoreStateSortingService,
9400
- Ke as StringPropertyType,
9512
+ Xe as StringPropertyType,
9401
9513
  nt as TableApi,
9402
9514
  Ns as TableCellUpdateEvent,
9403
- $ as TableFactory,
9515
+ H as TableFactory,
9404
9516
  ae as TableModel,
9405
- Vt as TableModelAndOptions,
9517
+ Ot as TableModelAndOptions,
9406
9518
  J as TableOptions,
9407
9519
  Ge as TableScope,
9408
9520
  co as ThreeColorGradientArg,
@@ -9412,33 +9524,33 @@ export {
9412
9524
  Ee as TreeRow,
9413
9525
  Ft as TreeRowService,
9414
9526
  Qs as TrueFalseCellRenderer,
9415
- kt as TrueFn,
9527
+ Et as TrueFn,
9416
9528
  _e as TwoColorGradientArg,
9417
9529
  Q as UNIMPORTANT_TYPES,
9418
9530
  le as UndefinedPropertyType,
9419
9531
  uo as UrlInfo,
9420
9532
  Ze as ValueInfo,
9421
- $t as ValueLabel,
9422
- yt as WindowsShortcutActionIdMapping,
9533
+ Ht as ValueLabel,
9534
+ bt as WindowsShortcutActionIdMapping,
9423
9535
  ks as actionIds,
9424
- Vs as allCenter,
9425
- Os as allLeft,
9426
- Hs as allRight,
9536
+ Os as allCenter,
9537
+ Vs as allLeft,
9538
+ $s as allRight,
9427
9539
  _s as bodyCenter,
9428
9540
  Ps as bodyLeft,
9429
9541
  Ls as bodyRight,
9430
- Me as createHarmonizedShortcutByKeyboardEvent,
9542
+ Ie as createHarmonizedShortcutByKeyboardEvent,
9431
9543
  Ye as debounce,
9432
9544
  no as editInputPipeForNumber,
9433
9545
  Ae as entitySuffix,
9434
9546
  tt as firstLetterUppercase,
9435
9547
  ne as getAreaIdentByString,
9436
9548
  Qe as getEntityName,
9437
- xt as harmonizeShortcut,
9549
+ wt as harmonizeShortcut,
9438
9550
  de as isAreaModelTree,
9439
9551
  st as isCheckboxColumnDef,
9440
9552
  j as isTreeRow,
9441
- Es as px0,
9553
+ Ts as px0,
9442
9554
  Is as px10,
9443
9555
  ys as px100,
9444
9556
  bs as px110,