@guiexpert/table 1.1.88 → 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,31 +1,31 @@
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", Ve = "null", Oe = "string", fe = "number", me = "boolean", $e = "Array", K = "object", Q = [Ve, X, Le];
28
+ const Le = "any", K = "undefined", Ve = "null", Oe = "string", fe = "number", me = "boolean", $e = "Array", X = "object", Q = [Ve, K, Le];
29
29
  class He {
30
30
  constructor(e) {
31
31
  this.propertyName = e, this.type = Le;
@@ -33,15 +33,15 @@ class He {
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
41
  this.propertyName = e, this.type = Ve;
42
42
  }
43
43
  }
44
- class Ke {
44
+ class Xe {
45
45
  constructor(e) {
46
46
  this.propertyName = e, this.type = Oe;
47
47
  }
@@ -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,23 +120,23 @@ 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 = "", g = "ge-table-text-align-left";
127
+ let d = 100, u = "", g = "ge-table-text-align-left";
128
128
  if (n.type === $e) {
129
129
  if (this.allowCustomRenderer && a) {
130
130
  const p = `${a}ArrayCellRenderer`;
131
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(),", g = "ge-table-text-align-right") : n.type === me && (u = " bodyRenderer: new TrueFalseCellRenderer(),", g = "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"),
139
+ width: new Size(${d}, "px"),
140
140
  bodyClasses: ["${g}"],
141
141
  headerClasses: ["${g}"],`), u && e.push(u), e.push(" }),");
142
142
  }
@@ -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
  }
@@ -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 === Oe ? 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(
@@ -838,10 +838,10 @@ 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, g = 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
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 && h && this.addCheckboxToDiv(m, h, r, o), l) {
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
845
  const b = a !== "none" && i === 0;
846
846
  this.addLabelDiv(m, l, b, o, i, r);
847
847
  }
@@ -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() {
@@ -2280,8 +2286,8 @@ class nt {
2280
2286
  ((l = (n = o.getColumnDef(a)) == null ? void 0 : n.isVisible) == null ? void 0 : l.call(n)) !== !1 && i.push(a);
2281
2287
  const r = ["header", "body", "footer"];
2282
2288
  for (const a of r) {
2283
- const c = o.getAreaModel(a), h = (c == null ? void 0 : c.getRowCount()) ?? 0;
2284
- for (let u = 0; u < h; u++)
2289
+ const c = o.getAreaModel(a), d = (c == null ? void 0 : c.getRowCount()) ?? 0;
2290
+ for (let u = 0; u < d; u++)
2285
2291
  s.push(i.map((g) => c.getValueAt(u, g)));
2286
2292
  }
2287
2293
  return this.tableScope.excelService.downloadExcel(s, e, t);
@@ -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 {
@@ -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
  }
@@ -3569,13 +3593,13 @@ 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);
@@ -3745,7 +3769,7 @@ class ut extends ee {
3745
3769
  var w, v, I;
3746
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
3774
  const x = this.cleanupFunctions[e].shift();
3751
3775
  x && x();
@@ -3756,12 +3780,12 @@ class ut extends ee {
3756
3780
  let f = 0;
3757
3781
  const b = (v = c.getConstantRowHeight) == null ? void 0 : v.call(c);
3758
3782
  if (b !== void 0 && b > 0 && u < 0) {
3759
- for (f = Math.min(h, Math.floor(-u / b)); f > 0 && u + f * b > 0; )
3783
+ for (f = Math.min(d, Math.floor(-u / b)); f > 0 && u + f * b > 0; )
3760
3784
  f--;
3761
3785
  u = u + f * b;
3762
3786
  }
3763
- for (let x = f; x < h; x++) {
3764
- const S = u, T = x === h - 1, R = this.tableModel.getRowHeight(e, x);
3787
+ for (let x = f; x < d; x++) {
3788
+ const S = u, T = x === d - 1, R = this.tableModel.getRowHeight(e, x);
3765
3789
  if (S + R > 0) {
3766
3790
  e === "body" && this.firstVisibleRowIndex === -1 && (this.firstVisibleRowIndex = x, this.firstFullVisibleRowIndex = S < -this.pixelLimitForFullVisible ? this.firstVisibleRowIndex + 1 : this.firstVisibleRowIndex);
3767
3791
  let A = { left: n, width: l, height: R, top: S, index: x }, D = this.dom.addRowDiv(o, A, x, e, "center");
@@ -3799,7 +3823,7 @@ class ut extends ee {
3799
3823
  columnIndexEnd: g - 1,
3800
3824
  verticalFixed: !0,
3801
3825
  lastRowOfModel: T
3802
- })), e === "header" && this.tree && x === h - 1) {
3826
+ })), e === "header" && this.tree && x === d - 1) {
3803
3827
  const U = this.dom.applyStyle(
3804
3828
  this.dom.setAttribute(
3805
3829
  this.dom.addDiv(D, new V(16, 20, 20, 8)),
@@ -3819,7 +3843,7 @@ class ut extends ee {
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]) {
@@ -3853,7 +3877,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3853
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((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);
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,7 +3886,7 @@ 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
3891
  width: g,
3868
3892
  height: u,
@@ -3876,7 +3900,7 @@ 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
3905
  width: g,
3882
3906
  height: u,
@@ -3887,7 +3911,7 @@ 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
3916
  cellWidth: g,
3893
3917
  cellHeight: u,
@@ -3934,13 +3958,13 @@ 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
3963
  const f = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3940
- h = this.snapToDevicePixel(this.scrollFactorX * f);
3964
+ d = this.snapToDevicePixel(this.scrollFactorX * f);
3941
3965
  }
3942
3966
  const u = 0, g = !!(e === "body" && t);
3943
- let p = h;
3967
+ let p = d;
3944
3968
  for (let f = n; f <= l; f++) {
3945
3969
  const b = p, w = this.tableModel.getColumnWidth(f);
3946
3970
  if (w > 0 && b + w > 0) {
@@ -4009,10 +4033,10 @@ 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 g = 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);
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);
4016
4040
  let f = "none";
4017
4041
  if (i === this.getTreeArrowColumnIndex() && j(m)) {
4018
4042
  const C = m;
@@ -4023,7 +4047,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4023
4047
  const C = this.tableModel.getColumnDef(i);
4024
4048
  (!(C != null && C.sortIconVisible) || C != null && C.sortIconVisible()) && (w = C == null ? void 0 : C.sortState);
4025
4049
  }
4026
- const v = e.getValueAt(o, i), I = g ? "" : `${v}`, x = 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,
@@ -4042,9 +4066,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4042
4066
  const R = this.tableModel.getColumnDef(i);
4043
4067
  R && R.classes[t] && this.dom.addClasses(R.classes[t], S);
4044
4068
  let A;
4045
- g && (A = g.render(S, o, i, t, e, v, this.dom.domService));
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
  }
@@ -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 }, g = i.getValueAt(a, n), p = i.getCellRenderer(a, n), m = p ? "" : `${g}`, f = {
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,
@@ -4250,7 +4277,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4250
4277
  if (x)
4251
4278
  for (const S in x)
4252
4279
  this.dom.setStyle(b, S, x[S]);
4253
- s = s + h;
4280
+ s = s + d;
4254
4281
  }
4255
4282
  }
4256
4283
  return s;
@@ -4299,7 +4326,7 @@ 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
4332
  const g = this.getSelectionModel();
@@ -4311,7 +4338,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
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(f, "left", `${l}px`), this.dom.setStyle(f, "top", `${a}px`), this.dom.setStyle(f, "width", `${c}px`), this.dom.setStyle(f, "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,7 +4374,7 @@ 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
4380
  const [g, p] = this.addAndRenderCellDiv({
@@ -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`, g), 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.
@@ -4462,13 +4489,13 @@ class mt {
4462
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;
4463
4490
  }
4464
4491
  onMouseClicked(e, t) {
4465
- var i, r, n, l, a, c, h;
4492
+ var i, r, n, l, a, c, d;
4466
4493
  if (this.ignoreNextClick)
4467
4494
  return this.ignoreNextClick = !1, !1;
4468
4495
  let s = !1, o = !1;
4469
4496
  if (this.getSelectionModel && this.getFocusModel) {
4470
4497
  const u = this.getSelectionModel(), g = this.getFocusModel();
4471
- 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 || (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));
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));
4472
4499
  }
4473
4500
  return o ? this.previousEvt = void 0 : this.previousEvt = e == null ? void 0 : e.clone(), s;
4474
4501
  }
@@ -4541,21 +4568,21 @@ class yt {
4541
4568
  };
4542
4569
  }
4543
4570
  }
4544
- function wt(d) {
4545
- 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) => {
4546
4573
  const s = { cmd: 1, ctrl: 2, alt: 3, shift: 4 }, o = s[e] || 5, i = s[t] || 5;
4547
4574
  return o !== i ? o - i : e.localeCompare(t);
4548
4575
  }).join(" ");
4549
4576
  }
4550
- function Ie(d) {
4551
- let e = d.key.toLowerCase();
4552
- 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")) {
4553
- 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();
4554
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;
4555
4582
  }
4556
- 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, ""));
4557
4584
  let t = "";
4558
- return d.ctrlKey && (t += " ctrl"), d.altKey && (t += t + " alt"), d.shiftKey && (t += t + " shift"), d.metaKey && (t += t + " cmd"), wt(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);
4559
4586
  }
4560
4587
  class xt {
4561
4588
  constructor(e) {
@@ -4595,8 +4622,11 @@ class xt {
4595
4622
  return location.hostname === "localhost" || location.hostname === "127.0.0.1";
4596
4623
  }
4597
4624
  onKeyDown(e) {
4598
- const t = this.findEntity(e);
4599
- 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());
4600
4630
  }
4601
4631
  emit(e) {
4602
4632
  this.isDebug() && console.debug("ShortcutService emit :", e);
@@ -4888,13 +4918,13 @@ const z = class z {
4888
4918
  l.c2 = Math.min(l.c2, e.getColumnCount() - 1), l.r2 = Math.min(l.r2, e.getBodyModel().getRowCount() - 1);
4889
4919
  const a = [];
4890
4920
  for (let c = l.r1; c <= l.r2; c++) {
4891
- const h = [];
4921
+ const d = [];
4892
4922
  for (let u = l.c1; u <= l.c2; u++) {
4893
4923
  if (((n = (r = e.getColumnDef(u)) == null ? void 0 : r.isVisible) == null ? void 0 : n.call(r)) === !1) continue;
4894
4924
  const g = t.isSelected(c, u) ? e.getBodyModel().getTextValueAt(c, u) : "";
4895
- h.push(g);
4925
+ d.push(g);
4896
4926
  }
4897
- a.push(h.join(z.columnSeparatorChar));
4927
+ a.push(d.join(z.columnSeparatorChar));
4898
4928
  }
4899
4929
  return o(a.join(z.rowSeparatorChar));
4900
4930
  }
@@ -4974,7 +5004,7 @@ class Mt {
4974
5004
  }
4975
5005
  }
4976
5006
  let q;
4977
- function It(d) {
5007
+ function It(h) {
4978
5008
  if (!q) {
4979
5009
  q = new Uint32Array(256);
4980
5010
  for (let t = 0; t < 256; t++) {
@@ -4985,8 +5015,8 @@ function It(d) {
4985
5015
  }
4986
5016
  }
4987
5017
  let e = 4294967295;
4988
- for (let t = 0; t < d.length; t++)
4989
- 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;
4990
5020
  return (e ^ 4294967295) >>> 0;
4991
5021
  }
4992
5022
  class Tt {
@@ -5022,9 +5052,9 @@ class Tt {
5022
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"?>
5023
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"?>
5024
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"?>
5025
- <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"?>
5026
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();
5027
- 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;
5028
5058
  }
5029
5059
  getX1WorksheetsSheet1Xml(e) {
5030
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 = [];
@@ -5069,8 +5099,8 @@ class Tt {
5069
5099
  const t = [];
5070
5100
  let s = 0;
5071
5101
  const o = [];
5072
- e.forEach((h, u) => {
5073
- const g = new TextEncoder().encode(u), p = new TextEncoder().encode(h), m = It(p), f = new Uint8Array(30 + g.length), b = new DataView(f.buffer);
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);
5074
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({
5075
5105
  path: u,
5076
5106
  offset: s,
@@ -5079,16 +5109,16 @@ class Tt {
5079
5109
  }), s += f.length + p.length;
5080
5110
  });
5081
5111
  const i = s;
5082
- o.forEach((h) => {
5083
- const u = new TextEncoder().encode(h.path), g = new Uint8Array(46 + u.length), p = new DataView(g.buffer);
5084
- 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, 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), g.set(u, 46), t.push(g), s += g.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;
5085
5115
  });
5086
5116
  const r = new Uint8Array(22), n = new DataView(r.buffer);
5087
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);
5088
- 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);
5089
5119
  let c = 0;
5090
- for (const h of t)
5091
- a.set(h, c), c += h.length;
5120
+ for (const d of t)
5121
+ a.set(d, c), c += d.length;
5092
5122
  return a;
5093
5123
  }
5094
5124
  generateBuffer(e, t = "") {
@@ -5100,8 +5130,8 @@ class Ge extends ut {
5100
5130
  constructor(e, t, s, o, i, r = new te(), n = new Tt()) {
5101
5131
  var c;
5102
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) {
5103
- const h = this.tableOptions.autoRestoreOptions, u = h.getStorageKeyFn;
5104
- u && (h.autoRestoreScrollPosition && (this.storeScrollPosStateService = new lt(u)), h.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new ct(u)), h.autoRestoreSortingState && (this.storeSortingService = new dt(u)));
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)));
5105
5135
  }
5106
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);
5107
5137
  const l = this.getSelectionModel ? this.getSelectionModel() : void 0;
@@ -5363,8 +5393,8 @@ class Ge extends ut {
5363
5393
  const o = this.tableModel.getColumnDef(s);
5364
5394
  if (o != null && o.sortable && o.sortable()) {
5365
5395
  e.preventDefault(), e.stopPropagation();
5366
- 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), h = this.tableModel.doSort([c]);
5367
- this.lastSortCompareFn = void 0, h && ((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]);
5368
5398
  }
5369
5399
  }
5370
5400
  /**
@@ -5517,7 +5547,14 @@ class Ge extends ut {
5517
5547
  var e, t;
5518
5548
  if ((t = (e = this.tableOptions) == null ? void 0 : e.autoRestoreOptions) != null && t.autoRestoreSortingState && this.storeSortingService) {
5519
5549
  const s = this.storeSortingService.getSortItems();
5520
- 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
+ }
5521
5558
  }
5522
5559
  }
5523
5560
  /**
@@ -5527,28 +5564,23 @@ class Ge extends ut {
5527
5564
  * @private
5528
5565
  */
5529
5566
  autoRestoreCollapsedExpandedState() {
5530
- var e, t;
5531
- if ((t = (e = this.tableOptions) == null ? void 0 : e.autoRestoreOptions) != null && t.getRowId && this.storeStateCollapsedExpandService) {
5532
- const s = this.tableOptions.autoRestoreOptions, o = s.getRowId;
5533
- if (s.autoRestoreCollapsedExpandedState && o) {
5534
- const i = this.storeStateCollapsedExpandService.collapsedExpandedStateGet(), r = this.tableModel.getAreaModel("body");
5535
- if (de(r)) {
5536
- const n = r, l = r.getRowCount();
5537
- for (let a = 0; a < l; a++) {
5538
- const c = r.getRowByIndex(a);
5539
- if (c)
5540
- if (i.allExpanded)
5541
- c.expanded = !0;
5542
- else if (i.allCollapsed)
5543
- c.expanded = !1;
5544
- else {
5545
- const h = o(c.data);
5546
- i.mode === "expanded" ? c.expanded = this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h) : i.mode === "collapsed" && (c.expanded = !this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(h));
5547
- }
5548
- }
5549
- 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;
5550
5580
  }
5551
- }
5581
+ l(c.children);
5582
+ });
5583
+ l(r.rows), r.recalcVisibleTreeRows();
5552
5584
  }
5553
5585
  }
5554
5586
  /**
@@ -5587,10 +5619,10 @@ class Ge extends ut {
5587
5619
  c = null;
5588
5620
  }
5589
5621
  c && (c.font = l.font || `${l.fontSize} ${l.fontFamily}`);
5590
- const h = (u) => c ? c.measureText(u).width : u.length * 8;
5622
+ const d = (u) => c ? c.measureText(u).width : u.length * 8;
5591
5623
  return o.map((u) => {
5592
5624
  let g = 0;
5593
- for (const p of u) g = Math.max(g, h(p));
5625
+ for (const p of u) g = Math.max(g, d(p));
5594
5626
  return Math.max(Math.ceil(g + a + 2), 50);
5595
5627
  });
5596
5628
  }
@@ -5975,8 +6007,8 @@ class y {
5975
6007
  }
5976
6008
  const Et = () => !0, kt = () => !1;
5977
6009
  class W {
5978
- 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, h, u, g, p, m, f = () => this.visible) {
5979
- 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 = 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"));
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"));
5980
6012
  }
5981
6013
  static bodyRenderer(e) {
5982
6014
  return new k(
@@ -6350,10 +6382,10 @@ class Pt {
6350
6382
  }
6351
6383
  }
6352
6384
  class ae {
6353
- constructor(e, t, s, o = 0, i = 0, r = !1, n = new Y(), l = [], a = [], c = -1, h = 0, u = 400, g = () => {
6385
+ constructor(e, t, s, o = 0, i = 0, r = !1, n = new Y(), l = [], a = [], c = -1, d = 0, u = 400, g = () => {
6354
6386
  }) {
6355
6387
  var p, m, f, b;
6356
- 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 = 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());
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());
6357
6389
  }
6358
6390
  init() {
6359
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();
@@ -6821,7 +6853,7 @@ class H {
6821
6853
  * Please consult each method's documentation for detailed explanation of their functionality.
6822
6854
  */
6823
6855
  static createTableModel(e) {
6824
- var t, s, o, i, r, n, l, a, c, h, u, g, p, m;
6856
+ var t, s, o, i, r, n, l, a, c, d, u, g, p, m;
6825
6857
  if (e.defaultRowHeights === void 0)
6826
6858
  if ((t = e.tableOptions) != null && t.defaultRowHeights)
6827
6859
  e.defaultRowHeights = e.tableOptions.defaultRowHeights;
@@ -6849,7 +6881,7 @@ class H {
6849
6881
  [e.columnDefs.map((f) => f.headerLabel)],
6850
6882
  e.defaultRowHeights.header,
6851
6883
  e.columnDefs
6852
- ) : 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(
6853
6885
  "footer",
6854
6886
  e.footerData,
6855
6887
  e.defaultRowHeights.footer,
@@ -6964,7 +6996,7 @@ class H {
6964
6996
  t
6965
6997
  );
6966
6998
  return (n || s.showCheckboxWihoutExtraColumn) && (c.rowSelectionModel = new De(a)), H.createByAreaModelsParam({
6967
- headerAreaModel: new F("header", [t.map((h) => h.headerLabel)], r.header),
6999
+ headerAreaModel: new F("header", [t.map((d) => d.headerLabel)], r.header),
6968
7000
  bodyAreaModel: c,
6969
7001
  footerAreaModel: new F("footer", [], r.footer),
6970
7002
  columnDefs: t,
@@ -7084,7 +7116,7 @@ class H {
7084
7116
  * @return A new instance of `TableModel` is created using the provided parameters.
7085
7117
  * If a parameter isn't provided, the default value is used.
7086
7118
  */
7087
- 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) {
7088
7120
  return new ae(
7089
7121
  e,
7090
7122
  t,
@@ -7096,7 +7128,7 @@ class H {
7096
7128
  l,
7097
7129
  a,
7098
7130
  c,
7099
- h
7131
+ d
7100
7132
  );
7101
7133
  }
7102
7134
  /**
@@ -7201,11 +7233,11 @@ class H {
7201
7233
  static createByObjectArray(e, t = [], s = [], o = 0, i = 0, r = !1, n = new Y(), l, a = []) {
7202
7234
  let c;
7203
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();
7204
- const h = s ? new F("footer", s, n.footer, l) : new P(), u = new Fe("body", e, l, n.body);
7236
+ const d = s ? new F("footer", s, n.footer, l) : new P(), u = new Fe("body", e, l, n.body);
7205
7237
  return new ae(
7206
7238
  c,
7207
7239
  u,
7208
- h,
7240
+ d,
7209
7241
  o,
7210
7242
  i,
7211
7243
  r,
@@ -8397,8 +8429,8 @@ const re = class re {
8397
8429
  render(e, t, s, o, i, r, n) {
8398
8430
  const l = r != null && r.data ? r.data : "";
8399
8431
  if (r) {
8400
- const { toggle: a, visibility: c, closed: h } = r, u = a ? re.toggleHeaderGroup : "";
8401
- 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);
8402
8434
  } else
8403
8435
  this.addText(e, o, t, s, l, "");
8404
8436
  }
@@ -8415,8 +8447,8 @@ const re = class re {
8415
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}`);
8416
8448
  let a;
8417
8449
  s ? a = this.headerGroupOptions.iconExpanded : a = this.headerGroupOptions.iconCollapsed;
8418
- const c = a.content, h = e.createText(c);
8419
- 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);
8420
8452
  for (const u of a.classes)
8421
8453
  e.addClass(l, u);
8422
8454
  return e.appendChild(t, l), l;
@@ -8545,17 +8577,17 @@ class js {
8545
8577
  if (!t)
8546
8578
  return !0;
8547
8579
  t = t.toLowerCase();
8548
- 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, ""));
8549
8581
  let c = !n.length;
8550
- for (let h = 0; h < n.length; h++)
8551
- (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);
8552
8584
  if (!c)
8553
8585
  return !1;
8554
- for (let h = 0; h < l.length; h++)
8555
- if (!s(e).includes(l[h]))
8586
+ for (let d = 0; d < l.length; d++)
8587
+ if (!s(e).includes(l[d]))
8556
8588
  return !1;
8557
- for (let h = 0; h < a.length; h++)
8558
- if (s(e).includes(a[h]))
8589
+ for (let d = 0; d < a.length; d++)
8590
+ if (s(e).includes(a[d]))
8559
8591
  return !1;
8560
8592
  return !0;
8561
8593
  }
@@ -8567,10 +8599,10 @@ class js {
8567
8599
  t = t.toLowerCase();
8568
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, ""));
8569
8601
  return e == null ? void 0 : e.filter((c) => {
8570
- let h = !n.length;
8602
+ let d = !n.length;
8571
8603
  for (let u = 0; u < n.length; u++)
8572
- (h || s(c).includes(n[u])) && (h = !0);
8573
- if (!h)
8604
+ (d || s(c).includes(n[u])) && (d = !0);
8605
+ if (!d)
8574
8606
  return !1;
8575
8607
  for (let u = 0; u < l.length; u++)
8576
8608
  if (!s(c).includes(l[u]))
@@ -8604,7 +8636,7 @@ class Ys {
8604
8636
  render(e, t, s, o, i, r, n) {
8605
8637
  if (this.readonly || this.skipCheckableCheck || i.isRowCheckable(t)) {
8606
8638
  n.addClass(e, "ge-table-row-checkbox-div");
8607
- 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 " : "";
8608
8640
  if (n.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
8609
8641
  <input
8610
8642
  type="checkbox"
@@ -8614,7 +8646,7 @@ class Ys {
8614
8646
  data-property-index="${this.property}"
8615
8647
  data-input-type="checkbox"
8616
8648
  ${c}
8617
- ${h}
8649
+ ${d}
8618
8650
  class="ge-input-checkbox">`, !this.readonly) {
8619
8651
  const u = e.querySelector(".ge-input-checkbox");
8620
8652
  u && u.addEventListener("click", (g, p) => (l[this.property] = !l[this.property], !0));
@@ -8622,12 +8654,12 @@ class Ys {
8622
8654
  }
8623
8655
  }
8624
8656
  }
8625
- class Xs {
8657
+ class Ks {
8626
8658
  render(e, t, s, o, i, r, n) {
8627
8659
  r && (e.innerText = new Date(r).toISOString());
8628
8660
  }
8629
8661
  }
8630
- class Ks {
8662
+ class Xs {
8631
8663
  constructor() {
8632
8664
  this.formatter = new Intl.DateTimeFormat("de-DE", {
8633
8665
  year: "numeric",
@@ -8722,10 +8754,10 @@ class so {
8722
8754
  const c = [];
8723
8755
  for (let u = 0; u < a; u++)
8724
8756
  c.push("★");
8725
- const h = c.join(" ");
8757
+ const d = c.join(" ");
8726
8758
  e.innerHTML = `
8727
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%;">
8728
- <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>
8729
8761
  </div>`;
8730
8762
  }
8731
8763
  }
@@ -8751,13 +8783,13 @@ class io {
8751
8783
  n.addClass(e, "ge-star-rating-div");
8752
8784
  const l = i.getRowByIndex(t), a = +("" + i.getValueByT(l, this.property));
8753
8785
  if (!isNaN(a)) {
8754
- 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) + "%" : "";
8755
8787
  e.innerHTML = `
8756
8788
  <div class="ge-table-label-div"
8757
8789
  data-row-index="${t}"
8758
8790
  data-col-index="${s}"
8759
8791
  data-area="${o}"
8760
- title="${h}"
8792
+ title="${d}"
8761
8793
  style="position: relative; background: transparent; width: 100%; height: 100%;">
8762
8794
  <div class="ge-table-progress-container"
8763
8795
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -8812,7 +8844,7 @@ class Nt {
8812
8844
  render(e, t, s, o, i, r, n) {
8813
8845
  n.addClass(e, "ge-table-row-action-div");
8814
8846
  const l = r, c = this.getCrudActions(r).map(
8815
- (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)
8816
8848
  );
8817
8849
  e.innerHTML = c.join(""), this.addClickEventListeners(e, o, i);
8818
8850
  }
@@ -8870,8 +8902,8 @@ class Nt {
8870
8902
  return Array.isArray(e) && e.every((t) => t instanceof $) ? e : this.crudActions;
8871
8903
  }
8872
8904
  }
8873
- const no = function(d, e, t) {
8874
- return d ? Number(d) : "";
8905
+ const no = function(h, e, t) {
8906
+ return h ? Number(h) : "";
8875
8907
  };
8876
8908
  class je {
8877
8909
  constructor(e) {
@@ -8887,9 +8919,9 @@ class je {
8887
8919
  n.addClass(e, "ge-table-row-select-div");
8888
8920
  const l = i.getValueAt(t, s);
8889
8921
  let a = [];
8890
- for (let h of this.options) {
8891
- const u = h.value === l ? " selected " : "";
8892
- 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>`);
8893
8925
  }
8894
8926
  const c = a.join("");
8895
8927
  e.innerHTML = `
@@ -9230,7 +9262,7 @@ class ho {
9230
9262
  this.crudOptions = e, this.listenActionEvent = o, e.fetchList(e).then((i) => {
9231
9263
  var r, n, l, a;
9232
9264
  if (t.rows = i, i != null && i.length) {
9233
- const c = (r = t.columnDefs) != null && r.length ? t.columnDefs.map((w) => w.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;
9234
9266
  this.tableOptions = {
9235
9267
  ...new J(),
9236
9268
  ...t.tableOptions,
@@ -9314,8 +9346,8 @@ class ho {
9314
9346
  } else if (e.action === "DELETE") {
9315
9347
  let r = e.id;
9316
9348
  (i = this.crudOptions) == null || i.deleteItem(this.crudOptions, r).then((n) => {
9317
- var l, a, c, h, u;
9318
- 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 = (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;
9319
9351
  });
9320
9352
  }
9321
9353
  }
@@ -9326,20 +9358,20 @@ class ho {
9326
9358
  return new Array(o).fill(200);
9327
9359
  const i = e.length ?? 0, r = new Array(o).fill(0);
9328
9360
  for (let c = 0; c < i; c++)
9329
- for (let h = 0; h < o; h++) {
9330
- const u = t[h], g = this.getValueByT(e[c], u), p = (g == null ? void 0 : g.toString().length) || 0;
9331
- 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);
9332
9364
  }
9333
9365
  if (this.crudOptions.columnWidths.takeHeaderLabelsIntoAccount)
9334
9366
  for (let c = 0; c < o; c++) {
9335
- const h = s[c].length || 0;
9336
- h > r[c] && (r[c] = h);
9367
+ const d = s[c].length || 0;
9368
+ d > r[c] && (r[c] = d);
9337
9369
  }
9338
9370
  const n = this.crudOptions.columnWidths.minWidth, l = this.crudOptions.columnWidths.maxWidth;
9339
- return r.map((c, h) => Math.min(
9371
+ return r.map((c, d) => Math.min(
9340
9372
  l,
9341
9373
  Math.max(
9342
- this.crudOptions.columnWidths.charCountToWidth(c, h),
9374
+ this.crudOptions.columnWidths.charCountToWidth(c, d),
9343
9375
  n
9344
9376
  )
9345
9377
  ));
@@ -9397,7 +9429,7 @@ export {
9397
9429
  at as CollapsedExpandedData,
9398
9430
  ao as ColorRgb,
9399
9431
  W as ColumnDef,
9400
- Xt as ColumnDefGenerator,
9432
+ Kt as ColumnDefGenerator,
9401
9433
  Gt as ColumnWidths,
9402
9434
  ot as ConvenienceDomService,
9403
9435
  te as CopyService,
@@ -9410,8 +9442,8 @@ export {
9410
9442
  jt as CrudOptions,
9411
9443
  ho as CrudTableModelFactory,
9412
9444
  Te as CssVars,
9413
- Ks as DateToIntlDDMMYYYYCellRenderer,
9414
- Xs as DateToIsoCellRenderer,
9445
+ Xs as DateToIntlDDMMYYYYCellRenderer,
9446
+ Ks as DateToIsoCellRenderer,
9415
9447
  Js as DateToLocaleDateCellRenderer,
9416
9448
  eo as DateToTecCellRenderer,
9417
9449
  Y as DefaultRowHeights,
@@ -9440,7 +9472,7 @@ export {
9440
9472
  rt as MouseHandler,
9441
9473
  it as MouseTargetData,
9442
9474
  lo as MultiRowsSelectionModel,
9443
- Xe as NullPropertyType,
9475
+ Ke as NullPropertyType,
9444
9476
  Zs as NumberCellProgressBarCellRenderer,
9445
9477
  to as NumberCellRenderer,
9446
9478
  Je as NumberPropertyType,
@@ -9451,14 +9483,14 @@ export {
9451
9483
  me as PROPERTY_TYPE_KEY_BOOLEAN,
9452
9484
  Ve as PROPERTY_TYPE_KEY_NULL,
9453
9485
  fe as PROPERTY_TYPE_KEY_NUMBER,
9454
- K as PROPERTY_TYPE_KEY_OBJECT,
9486
+ X as PROPERTY_TYPE_KEY_OBJECT,
9455
9487
  Oe as PROPERTY_TYPE_KEY_STRING,
9456
- X as PROPERTY_TYPE_KEY_UNDEFINED,
9488
+ K as PROPERTY_TYPE_KEY_UNDEFINED,
9457
9489
  pe as Padding,
9458
9490
  ro as PositiveAndNegativeNumberRenderer,
9459
9491
  io as ProgressBarCellRenderer,
9460
9492
  Be as PropertyItem,
9461
- Kt as PropertyTypeService,
9493
+ Xt as PropertyTypeService,
9462
9494
  ut as RenderScope,
9463
9495
  Us as Renderer,
9464
9496
  $t as RequestChunk,
@@ -9477,7 +9509,7 @@ export {
9477
9509
  ct as StoreStateCollapsedExpandService,
9478
9510
  lt as StoreStateScrollPosService,
9479
9511
  dt as StoreStateSortingService,
9480
- Ke as StringPropertyType,
9512
+ Xe as StringPropertyType,
9481
9513
  nt as TableApi,
9482
9514
  Ns as TableCellUpdateEvent,
9483
9515
  H as TableFactory,