@guiexpert/table 1.1.88 → 1.1.90

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,54 +1,49 @@
1
- function Ut(d, e = 500) {
1
+ function jt(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 Ke(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 Ut(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];
29
- class He {
28
+ const Ve = "any", X = "undefined", Oe = "null", $e = "string", me = "number", be = "boolean", He = "Array", J = "object", ee = [Oe, X, Ve];
29
+ class Be {
30
30
  constructor(e) {
31
- this.propertyName = e, this.type = Le;
31
+ this.propertyName = e, this.type = Ve;
32
32
  }
33
33
  }
34
- class le {
34
+ class ae {
35
35
  constructor(e) {
36
36
  this.propertyName = e, this.type = X;
37
37
  }
38
38
  }
39
39
  class Xe {
40
- constructor(e) {
41
- this.propertyName = e, this.type = Ve;
42
- }
43
- }
44
- class Ke {
45
40
  constructor(e) {
46
41
  this.propertyName = e, this.type = Oe;
47
42
  }
48
43
  }
49
44
  class Je {
50
45
  constructor(e) {
51
- this.propertyName = e, this.type = fe;
46
+ this.propertyName = e, this.type = $e;
52
47
  }
53
48
  }
54
49
  class qe {
@@ -56,12 +51,17 @@ class qe {
56
51
  this.propertyName = e, this.type = me;
57
52
  }
58
53
  }
54
+ class Ze {
55
+ constructor(e) {
56
+ this.propertyName = e, this.type = be;
57
+ }
58
+ }
59
59
  class B {
60
60
  constructor(e, t = []) {
61
- this.propertyName = e, this.items = t, this.type = $e;
61
+ this.propertyName = e, this.items = t, this.type = He;
62
62
  }
63
63
  }
64
- class Be {
64
+ class We {
65
65
  constructor(e, t = []) {
66
66
  this.propertyName = e, this.types = t;
67
67
  }
@@ -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 = J;
75
75
  }
76
76
  }
77
- class Xt {
77
+ class Yt {
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 === J);
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(" ];");
@@ -111,34 +111,34 @@ class Xt {
111
111
  }
112
112
  iteratePropertyItems(e, t, s = "") {
113
113
  for (let o = 0; o < t.length; o++) {
114
- let r = t[o].types.filter((n) => !Q.includes(n.type));
114
+ let r = t[o].types.filter((n) => !ee.includes(n.type));
115
115
  if (r.length === 1) {
116
116
  let n = r[0];
117
117
  const l = s ? [s, n.propertyName].join(".") : n.propertyName;
118
118
  if (n instanceof L)
119
119
  this.iteratePropertyItems(e, n.properties, l);
120
120
  else {
121
- let a = "";
121
+ let c = "";
122
122
  if (n instanceof B) {
123
- const p = n.items.find((m) => m.type === K);
124
- p && p instanceof L && (a = p.className);
123
+ const f = n.items.find((m) => m.type === J);
124
+ f && f instanceof L && (c = f.className);
125
125
  }
126
- const c = this.getReadableColumnLabel(l);
127
- let h = 100, u = "", g = "ge-table-text-align-left";
128
- if (n.type === $e) {
129
- if (this.allowCustomRenderer && a) {
130
- const p = `${a}ArrayCellRenderer`;
131
- u = ` bodyRenderer: new ${p}(),`, g = "", this.renderCumstomCellRenderer(a, p);
126
+ const a = this.getReadableColumnLabel(l);
127
+ let d = 100, u = "", p = "ge-table-text-align-left";
128
+ if (n.type === He) {
129
+ if (this.allowCustomRenderer && c) {
130
+ const f = `${c}ArrayCellRenderer`;
131
+ u = ` bodyRenderer: new ${f}(),`, p = "", this.renderCumstomCellRenderer(c, f);
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 === me ? (u = " bodyRenderer: new NumberCellRenderer(),", p = "ge-table-text-align-right") : n.type === be && (u = " bodyRenderer: new TrueFalseCellRenderer(),", p = "ge-table-text-align-center", d = 80);
136
136
  e.push(` ColumnDef.create({
137
137
  property: "${l}",
138
- headerLabel: "${c}",
139
- width: new Size(${h}, "px"),
140
- bodyClasses: ["${g}"],
141
- headerClasses: ["${g}"],`), u && e.push(u), e.push(" }),");
138
+ headerLabel: "${a}",
139
+ width: new Size(${d}, "px"),
140
+ bodyClasses: ["${p}"],
141
+ headerClasses: ["${p}"],`), u && e.push(u), e.push(" }),");
142
142
  }
143
143
  }
144
144
  }
@@ -194,7 +194,7 @@ export class ${t} implements CellRendererIf {
194
194
  `);
195
195
  }
196
196
  }
197
- class Re {
197
+ class Ae {
198
198
  /**
199
199
  *
200
200
  * Fixes an invalid json like this:
@@ -260,30 +260,30 @@ class Re {
260
260
  return s;
261
261
  }
262
262
  }
263
- class Ze {
263
+ class Qe {
264
264
  constructor() {
265
- this.property = "", this.value = "", this.path = "", this.propertyItem = new Be("", [new He("")]);
265
+ this.property = "", this.value = "", this.path = "", this.propertyItem = new We("", [new Be("")]);
266
266
  }
267
267
  toString() {
268
268
  var e;
269
269
  return `${this.path} -> : ${((e = this.propertyItem) == null ? void 0 : e.toString()) ?? ""}`;
270
270
  }
271
271
  }
272
- const Ae = "Entity";
273
- function Qe(d) {
274
- let e = et(tt(d));
275
- return e.includes(Ae) || (e = e + Ae), e;
272
+ const Me = "Entity";
273
+ function et(h) {
274
+ let e = tt(st(h));
275
+ return e.includes(Me) || (e = e + Me), e;
276
276
  }
277
- function et(d) {
278
- if (!d || d.length === 0) return d;
277
+ function tt(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 st(h) {
286
+ return !h || h.length === 0 ? "" : h[0].toUpperCase() + h.slice(1);
287
287
  }
288
288
  class Kt {
289
289
  constructor() {
@@ -372,7 +372,7 @@ class Kt {
372
372
  json2PropertyType(e, t = "") {
373
373
  let s;
374
374
  if (typeof e == "string") {
375
- const o = new Re().fixJSON(e);
375
+ const o = new Ae().fixJSON(e);
376
376
  s = this.json2Object(o);
377
377
  } else
378
378
  s = e;
@@ -488,7 +488,7 @@ class Kt {
488
488
  json2ValueInfos(e, t = "") {
489
489
  let s;
490
490
  if (typeof e == "string") {
491
- const o = new Re().fixJSON(e);
491
+ const o = new Ae().fixJSON(e);
492
492
  s = this.json2Object(o);
493
493
  } else
494
494
  s = e;
@@ -512,22 +512,22 @@ class Kt {
512
512
  const r = s.get(i);
513
513
  if (r) {
514
514
  let n = !1;
515
- const l = r.propertyItem.types.filter((a) => !Q.includes(a.type));
515
+ const l = r.propertyItem.types.filter((c) => !ee.includes(c.type));
516
516
  if (l.length === 1) {
517
- const a = l[0];
518
- if (a instanceof B) {
517
+ const c = l[0];
518
+ if (c instanceof B) {
519
519
  n = !0;
520
- for (const c of o.propertyItem.types)
521
- a.items.push(c);
522
- } else a instanceof L && (n = !0, a.properties.push(o.propertyItem));
520
+ for (const a of o.propertyItem.types)
521
+ c.items.push(a);
522
+ } else c instanceof L && (n = !0, c.properties.push(o.propertyItem));
523
523
  }
524
524
  if (!n)
525
- for (const a of o.propertyItem.types)
526
- r.propertyItem.types.push(a);
525
+ for (const c of o.propertyItem.types)
526
+ r.propertyItem.types.push(c);
527
527
  }
528
528
  }
529
529
  }
530
- return t || new He("");
530
+ return t || new Be("");
531
531
  }
532
532
  logValueInfos(e) {
533
533
  for (let t = 0; t < e.length; t++) {
@@ -556,8 +556,8 @@ class Kt {
556
556
  if (n) {
557
557
  const l = this.getFirstValueInfoByPath(e, n);
558
558
  if (Array.isArray(l == null ? void 0 : l.value)) {
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)));
559
+ const c = (l == null ? void 0 : l.value.length) ?? 0, a = this.countPath(e, i.path);
560
+ c > a && (i.propertyItem.types.some((d) => d.type === X) || i.propertyItem.types.push(new ae(i.property)));
561
561
  }
562
562
  }
563
563
  }
@@ -578,31 +578,31 @@ class Kt {
578
578
  }
579
579
  extractValueInfos(e, t) {
580
580
  const s = [], o = (i, r, n) => {
581
- const l = new Ze();
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)) {
584
- for (const c in i)
585
- if (i.hasOwnProperty(c)) {
586
- const h = r ? `${r}/${c}` : c;
587
- o(i[c], h, a);
581
+ const l = new Qe();
582
+ let c = r.split("/").pop() || "";
583
+ if (c === "[]" ? c = n : c === "root" && (c = t), l.property = c, l.value = i, l.path = r, l.propertyItem = this.createPropertyItem(i, l.property), s.push(l), i && typeof i === J && !Array.isArray(i)) {
584
+ for (const a in i)
585
+ if (i.hasOwnProperty(a)) {
586
+ const d = r ? `${r}/${a}` : a;
587
+ o(i[a], d, c);
588
588
  }
589
- } else Array.isArray(i) && i.forEach((c, h) => {
589
+ } else Array.isArray(i) && i.forEach((a, d) => {
590
590
  const u = `${r}/[]`;
591
- o(c, u, a);
591
+ o(a, u, c);
592
592
  });
593
593
  };
594
594
  return o(e, "root", t), s.sort((i, r) => i.path.localeCompare(r.path));
595
595
  }
596
596
  createPropertyItem(e, t) {
597
- return new Be(t, [
597
+ return new We(t, [
598
598
  this.createPropertyType(e, t)
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 Xe(t) : e === void 0 ? new ae(t) : typeof e === $e ? new Je(t) : typeof e === me && !isNaN(e) ? new qe(t) : typeof e === be ? new Ze(t) : Array.isArray(e) ? new B(t) : typeof e === J ? new L(t, et(t)) : new ae(t);
603
603
  }
604
604
  }
605
- class Jt {
605
+ class Xt {
606
606
  constructor() {
607
607
  this.orOperator = "|", this.rootPropertyType = null, this.rootName = "Root", this.renderTypeScriptInterfacesFifo = [], this.renderTypeScriptInterfacesDone = [];
608
608
  }
@@ -635,12 +635,12 @@ class Jt {
635
635
  n === "[]" ? n = "any[]" : n.startsWith("(") && n.endsWith(")") && (n = n.substring(1, n.length - 1));
636
636
  const l = this.containsUndefinedPropertyType(r) ? "?" : "";
637
637
  t.push(" " + r.propertyName + l + ": " + n + ";");
638
- for (const a of r.types)
639
- if (a instanceof L)
640
- a !== this.rootPropertyType && this.renderTypeScriptInterfacesFifo.push(a);
641
- else if (a instanceof B)
642
- for (const c of a.items)
643
- c instanceof L && this.renderTypeScriptInterfacesFifo.push(c);
638
+ for (const c of r.types)
639
+ if (c instanceof L)
640
+ c !== this.rootPropertyType && this.renderTypeScriptInterfacesFifo.push(c);
641
+ else if (c instanceof B)
642
+ for (const a of c.items)
643
+ a instanceof L && this.renderTypeScriptInterfacesFifo.push(a);
644
644
  }
645
645
  t.push("}"), t.push("");
646
646
  }
@@ -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 !== X).sort((i, r) => ee.includes(i) ? 100 : ee.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) {
@@ -692,21 +692,21 @@ 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 ue(h) {
699
+ return h && h.type === "AreaModelTree";
700
700
  }
701
- function st(d) {
702
- return d && d.type === "CheckboxColumnDef";
701
+ function ot(h) {
702
+ return h && h.type === "CheckboxColumnDef";
703
703
  }
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;
704
+ class ye {
705
+ constructor(e = -1, t = -1, s = -1, o = -1, i, r, n, l = 0, c = 0, a = 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 = c, this.draggingY = a, this.action = d;
707
707
  }
708
708
  clone() {
709
- return new be(
709
+ return new ye(
710
710
  this.rowIndex,
711
711
  this.rowTop,
712
712
  this.columnIndex,
@@ -726,7 +726,7 @@ class O {
726
726
  this.content = e, this.style = t, this.classes = s;
727
727
  }
728
728
  }
729
- class We {
729
+ class Ne {
730
730
  constructor(e = new O(
731
731
  ">",
732
732
  "transform: rotate(90deg) translate(66%, -66%); transform-origin: 0 0;",
@@ -747,12 +747,12 @@ class We {
747
747
  this.arrowExpanded = e, this.arrowCollapsed = t, this.arrowPlaceholder = s, this.arrowExpandCollapseAll = o;
748
748
  }
749
749
  }
750
- class Ne {
750
+ class Ge {
751
751
  constructor(e = new O("↑", "", ["ge-header-sorted-asc"]), t = new O("↓", "", ["ge-header-sorted-desc"]), s = new O("↑", "color:transparent;", [])) {
752
752
  this.iconAsc = e, this.iconDesc = t, this.iconPlaceholder = s;
753
753
  }
754
754
  }
755
- class ot {
755
+ class it {
756
756
  constructor(e) {
757
757
  this.domService = e;
758
758
  }
@@ -828,24 +828,24 @@ class ot {
828
828
  addRowDiv(e, t, s = -1, o, i, r = "") {
829
829
  const n = t.index ?? -1, l = this.getDivOrCreateDiv(n, e);
830
830
  if (this.domService.addClass(l, "ge-table-row-div"), this.domService.addClass(l, `ge-table-row-div-${t.index}`), o === "body" && i === "center") {
831
- const a = ((t == null ? void 0 : t.index) ?? 0) % 2 === 0 ? "even" : "odd";
832
- this.domService.addClass(l, `ge-table-row-${a}`);
831
+ const c = ((t == null ? void 0 : t.index) ?? 0) % 2 === 0 ? "even" : "odd";
832
+ this.domService.addClass(l, `ge-table-row-${c}`);
833
833
  }
834
834
  if (this.domService.setStyle(l, "display", "clip"), this.domService.setStyle(l, "position", "absolute"), this.domService.setStyle(l, "left", `${t.left}px`), this.domService.setStyle(l, "top", `${t.top}px`), this.domService.setStyle(l, "width", `${t.width}px`), this.domService.setStyle(l, "height", `${t.height}px`), this.domService.setAttribute(l, "data-row-index", `${s}`), this.domService.setAttribute(l, "data-area", `${o}`), r) {
835
- const a = this.domService.createText(r);
836
- this.domService.appendChild(l, a);
835
+ const c = this.domService.createText(r);
836
+ this.domService.appendChild(l, c);
837
837
  }
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");
842
- this.domService.addClass(m, "ge-table-col-div"), p && this.domService.addClass(m, "ge-with-checkbox"), this.domService.addClass(m, `ge-table-col-div-${s.index}`), this.domService.setAttribute(m, "data-col-index", `${s.index}`), this.domService.setAttribute(m, "data-row-index", `${o}`), this.domService.setAttribute(m, "data-area", `${r}`);
843
- const 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) {
845
- const b = a !== "none" && i === 0;
846
- this.addLabelDiv(m, l, b, o, i, r);
841
+ const { parent: t, geo: s, rowIndex: o = -1, columnIndex: i = -1, areaIdent: r, sideIdent: n, text: l = "", treeArrow: c, tableOptions: a, checkedType: d = void 0, sortState: u } = e, p = a == null ? void 0 : a.treeOptions, f = a == null ? void 0 : a.showCheckboxWihoutExtraColumn, m = this.domService.createElement("div");
842
+ this.domService.addClass(m, "ge-table-col-div"), f && this.domService.addClass(m, "ge-with-checkbox"), this.domService.addClass(m, `ge-table-col-div-${s.index}`), this.domService.setAttribute(m, "data-col-index", `${s.index}`), this.domService.setAttribute(m, "data-row-index", `${o}`), this.domService.setAttribute(m, "data-area", `${r}`);
843
+ const g = ((s == null ? void 0 : s.index) ?? 0) % 2 === 0 ? "even" : "odd";
844
+ if (r === "body" && n === "center" && this.domService.addClass(m, `ge-table-column-${g}`), this.domService.setStyle(m, "display", "clip"), this.domService.setStyle(m, "position", "absolute"), this.domService.setStyle(m, "left", `${s.left}px`), this.domService.setStyle(m, "top", `${s.top}px`), this.domService.setStyle(m, "width", `${s.width}px`), this.domService.setStyle(m, "height", `${s.height}px`), c && c !== "none" && (this.domService.addClass(m, "ge-table-col-tree"), this.addArrowDiv(m, c, p, o, i, r)), f && i === 0 && d && this.addCheckboxToDiv(m, d, r, o), l) {
845
+ const y = c !== "none" && i === 0;
846
+ this.addLabelDiv(m, l, y, o, i, r);
847
847
  }
848
- return u && this.addSortedIcon(m, u, c == null ? void 0 : c.sortedOptions, i), this.domService.appendChild(t, m), m;
848
+ return u && this.addSortedIcon(m, u, a == null ? void 0 : a.sortedOptions, i), this.domService.appendChild(t, m), m;
849
849
  }
850
850
  addCheckboxToDiv(e, t, s, o) {
851
851
  const i = this.domService.createElement("div"), r = t === "full" ? "checked" : "";
@@ -867,31 +867,31 @@ class ot {
867
867
  } else {
868
868
  const l = this.domService.createElement("div");
869
869
  this.domService.appendChild(n, l);
870
- const a = this.domService.createText(t);
871
- this.domService.addClass(l, "ge-table-label"), this.domService.appendChild(l, a), this.domService.setAttribute(l, "data-row-index", `${o}`), this.domService.setAttribute(l, "data-col-index", `${i}`), this.domService.setAttribute(l, "data-area", `${r}`);
870
+ const c = this.domService.createText(t);
871
+ this.domService.addClass(l, "ge-table-label"), this.domService.appendChild(l, c), this.domService.setAttribute(l, "data-row-index", `${o}`), this.domService.setAttribute(l, "data-col-index", `${i}`), this.domService.setAttribute(l, "data-area", `${r}`);
872
872
  }
873
873
  return this.domService.appendChild(e, n), n;
874
874
  }
875
- addSortedIcon(e, t = "", s = new Ne(), o = -1) {
875
+ addSortedIcon(e, t = "", s = new Ge(), o = -1) {
876
876
  const i = this.domService.createElement("div");
877
877
  this.domService.addClass(i, "ge-table-sorted-icon-div"), this.domService.setStyle(i, "position", "absolute"), this.domService.setStyle(i, "top", "0"), this.domService.setStyle(i, "right", "0"), this.domService.setStyle(i, "width", "20px"), this.domService.setStyle(i, "background", "transparent"), this.domService.setStyle(i, "cursor", "pointer"), this.domService.setAttribute(i, "data-col-index", `${o}`), this.domService.setAttribute(i, "data-area", "header");
878
878
  let r;
879
879
  t === "asc" ? r = s.iconAsc : t === "desc" ? r = s.iconDesc : r = s.iconPlaceholder;
880
880
  const n = r.content, l = this.domService.createText(n);
881
881
  this.domService.appendChild(i, l), r.style && this.applyStyleString(i, r.style);
882
- for (const a of r.classes)
883
- this.domService.addClass(i, a);
882
+ for (const c of r.classes)
883
+ this.domService.addClass(i, c);
884
884
  return this.domService.appendChild(e, i), i;
885
885
  }
886
- addArrowDiv(e, t = "none", s = new We(), o = -1, i = -1, r = "body") {
886
+ addArrowDiv(e, t = "none", s = new Ne(), o = -1, i = -1, r = "body") {
887
887
  const n = this.domService.createElement("div");
888
888
  this.domService.addClass(n, "ge-table-tree-arrow-div"), this.domService.setStyle(n, "display", "inline-block"), this.domService.setStyle(n, "position", ""), this.domService.setStyle(n, "width", "20px"), this.domService.setStyle(n, "background", "transparent"), this.domService.setStyle(n, "cursor", "pointer"), this.domService.setAttribute(n, "data-row-index", `${o}`), this.domService.setAttribute(n, "data-col-index", `${i}`), this.domService.setAttribute(n, "data-area", `${r}`);
889
889
  let l;
890
890
  t === "expanded" ? l = s.arrowExpanded : t === "collapsed" ? l = s.arrowCollapsed : l = s.arrowPlaceholder;
891
- const a = l.content, c = this.domService.createText(a);
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);
891
+ const c = l.content, a = this.domService.createText(c);
892
+ this.domService.appendChild(n, a), l.style && this.applyStyleString(n, l.style);
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,22 +934,22 @@ 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";
938
- class it {
937
+ const le = (h) => h === "header" ? "header" : h === "footer" ? "footer" : "body";
938
+ class rt {
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)) {
941
941
  this.className = e.className, this.action = e.getAttribute("data-ge-action"), this.inputType = e.getAttribute("data-input-type"), this.rowIdx = Number(e.getAttribute("data-row-index")), this.colIdx = Number(e.getAttribute("data-col-index"));
942
942
  const s = e.getAttribute("data-area");
943
- if (s && (this.areaIdent = ne(s), this.areaModel = t.tableModel.getAreaModel(this.areaIdent), this.row = this.areaModel.getRowByIndex(this.rowIdx)), e instanceof HTMLInputElement) {
943
+ if (s && (this.areaIdent = le(s), this.areaModel = t.tableModel.getAreaModel(this.areaIdent), this.row = this.areaModel.getRowByIndex(this.rowIdx)), e instanceof HTMLInputElement) {
944
944
  const o = e;
945
945
  this.value = o.value;
946
946
  }
947
947
  }
948
948
  }
949
949
  }
950
- class rt {
950
+ class nt {
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 rt(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 c = i.row;
1000
+ c.expanded = !c.expanded, "recalcVisibleTreeRows" in i.areaModel && i.areaModel.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(c);
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") {
1004
+ const n = this.tableScope.focusModel();
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 = le(i), n = Number((s = o.closest("[data-row-index]")) == null ? void 0 : s.getAttribute("data-row-index")), l = Number(o.getAttribute("data-col-index")), c = 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 a = c.getRowByIndex(n);
1023
+ if (i && r === "body" && c.isEditable(n, l) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(n, l)), j(a) && 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 = a;
1026
+ d.expanded = !d.expanded, "recalcVisibleTreeRows" in c && c.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 c = (r = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : r.collapsedExpandedStateGet().mode, a = c === "collapsed" && !e.expanded || c === "expanded" && e.expanded, d = c === "collapsed" && e.expanded || c === "expanded" && !e.expanded, u = t(e.data);
1056
+ a ? (n = this.tableScope.storeStateCollapsedExpandService) == null || n.collapsedStateIdsPush(u) : d && ((l = this.tableScope.storeStateCollapsedExpandService) == null || l.collapsedStateIdsRemove(u));
1051
1057
  }
1052
1058
  }
1053
1059
  getArrowColumnIndex() {
@@ -1083,7 +1089,7 @@ class rt {
1083
1089
  }
1084
1090
  }
1085
1091
  }
1086
- class ye {
1092
+ class we {
1087
1093
  constructor(e, t = [], s = -1) {
1088
1094
  this.areaIdent = e, this.columnDefs = t, this.defaultRowHeight = s, this.rowSelectionModel = void 0, this.yPositions = [], this.cellRenderers = t.map((o) => o.rendererMap[e]);
1089
1095
  }
@@ -1181,7 +1187,7 @@ class ye {
1181
1187
  this.yPositions[t + 1] = this.getRowHeight(t) + this.yPositions[t];
1182
1188
  }
1183
1189
  }
1184
- class we {
1190
+ class xe {
1185
1191
  genericSortComparator(e, t, s) {
1186
1192
  if (typeof e == "number" && typeof t == "number")
1187
1193
  return s * (e - t);
@@ -1199,7 +1205,7 @@ class we {
1199
1205
  return s * ("" + e).localeCompare("" + t);
1200
1206
  }
1201
1207
  }
1202
- class _ extends ye {
1208
+ class _ extends we {
1203
1209
  /**
1204
1210
  * Creates an instance of AreaModelObjectArray.
1205
1211
  *
@@ -1230,7 +1236,7 @@ class _ extends ye {
1230
1236
  * );
1231
1237
  */
1232
1238
  constructor(e, t, s, o = [], i = "ge-selected-row", r = "ge-focused-row") {
1233
- super(e, o, s), this.areaIdent = e, this.rows = t, this.defaultRowHeight = s, this.columnDefs = o, this.selectedRowClass = i, this.focusedRowClass = r, this.sorterService = new we(), this._focusedRowIndex = 0, this.filteredRows = [...t], this.properties = o.map((n) => n.property);
1239
+ super(e, o, s), this.areaIdent = e, this.rows = t, this.defaultRowHeight = s, this.columnDefs = o, this.selectedRowClass = i, this.focusedRowClass = r, this.sorterService = new xe(), this._focusedRowIndex = 0, this.filteredRows = [...t], this.properties = o.map((n) => n.property);
1234
1240
  }
1235
1241
  /**
1236
1242
  * Gets the index of the currently focused row.
@@ -1642,7 +1648,7 @@ class _ extends ye {
1642
1648
  return o && t.length ? this.getPropertyValue(o, t) : o;
1643
1649
  }
1644
1650
  }
1645
- class nt {
1651
+ class lt {
1646
1652
  constructor(e) {
1647
1653
  this.tableScope = e;
1648
1654
  }
@@ -2259,7 +2265,7 @@ class nt {
2259
2265
  * @param {string} fileName - The name of the Excel file to be downloaded (default: 'table.xlsx')
2260
2266
  * @param {string} author - Optional metadata for the Excel file to specify the author (default: '')
2261
2267
  *
2262
- * @returns {void} The result of the excelService.downloadExcel method call
2268
+ * @returns {Promise<void>} resolves when the (compressed) file has been handed to the browser
2263
2269
  *
2264
2270
  * @example
2265
2271
  * // Download table data with default filename
@@ -2276,13 +2282,13 @@ class nt {
2276
2282
  downloadExcel(e = "table.xlsx", t = "") {
2277
2283
  var n, l;
2278
2284
  const s = [], o = this.tableScope.tableModel, i = [];
2279
- for (let a = 0; a < o.getColumnCount(); a++)
2280
- ((l = (n = o.getColumnDef(a)) == null ? void 0 : n.isVisible) == null ? void 0 : l.call(n)) !== !1 && i.push(a);
2285
+ for (let c = 0; c < o.getColumnCount(); c++)
2286
+ ((l = (n = o.getColumnDef(c)) == null ? void 0 : n.isVisible) == null ? void 0 : l.call(n)) !== !1 && i.push(c);
2281
2287
  const r = ["header", "body", "footer"];
2282
- 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++)
2285
- s.push(i.map((g) => c.getValueAt(u, g)));
2288
+ for (const c of r) {
2289
+ const a = o.getAreaModel(c), d = (a == null ? void 0 : a.getRowCount()) ?? 0;
2290
+ for (let u = 0; u < d; u++)
2291
+ s.push(i.map((p) => a.getValueAt(u, p)));
2286
2292
  }
2287
2293
  return this.tableScope.excelService.downloadExcel(s, e, t);
2288
2294
  }
@@ -2668,6 +2674,20 @@ class nt {
2668
2674
  } else
2669
2675
  console.warn("updateRows<T>(rows: T[], predicate: (a: T, b: T) => boolean) only works with AreaModelObjectArray<T>, but this body area model is ", typeof s, s);
2670
2676
  }
2677
+ /**
2678
+ * Sorts by one column from code – e.g. from your own button – exactly like a double click on the
2679
+ * column header: rows, header icon, filter (sort order survives filtering) and auto-restore.
2680
+ *
2681
+ * @param {number | string} column - column index or property, e.g. `"total"`
2682
+ * @param {SortState} [sortState] - `"asc"` or `"desc"`; omitted: toggles like the header (asc → desc → …)
2683
+ * @returns {boolean} false if the column does not exist
2684
+ *
2685
+ * @example
2686
+ * document.querySelector("#by-total")!.addEventListener("click", () => tableApi.sortByColumn("total", "desc"));
2687
+ */
2688
+ sortByColumn(e, t) {
2689
+ return this.tableScope.sortByColumn(e, t);
2690
+ }
2671
2691
  /**
2672
2692
  * Re-applies the current sorting configuration to the table data.
2673
2693
  *
@@ -3006,14 +3026,14 @@ class nt {
3006
3026
  return this.tableScope.loggingActive;
3007
3027
  }
3008
3028
  }
3009
- class xe {
3029
+ class Se {
3010
3030
  constructor(e) {
3011
3031
  this.getStorageKeyFn = e;
3012
3032
  }
3013
3033
  autoConvertMapToObject(e) {
3014
3034
  const t = {};
3015
3035
  return e instanceof Map && e.forEach((o, i) => {
3016
- t[o] = i;
3036
+ t[i] = o;
3017
3037
  }), t;
3018
3038
  }
3019
3039
  checkAndPersistItem(e, t) {
@@ -3031,11 +3051,19 @@ class xe {
3031
3051
  }
3032
3052
  }
3033
3053
  persistItem(e, t) {
3034
- t ? localStorage.setItem(e, JSON.stringify(t)) : localStorage.removeItem(e);
3054
+ try {
3055
+ t ? localStorage.setItem(e, JSON.stringify(t)) : localStorage.removeItem(e);
3056
+ } catch {
3057
+ }
3035
3058
  }
3036
3059
  loadFromLocalStorage(e) {
3037
- const t = localStorage.getItem(e);
3038
- return t ? JSON.parse(t) : null;
3060
+ try {
3061
+ const t = localStorage.getItem(e);
3062
+ if (t)
3063
+ return JSON.parse(t);
3064
+ } catch {
3065
+ }
3066
+ return null;
3039
3067
  }
3040
3068
  // private loadItems() {
3041
3069
  // const fn = this.getStorageKeyFn;
@@ -3073,7 +3101,7 @@ class xe {
3073
3101
  // }
3074
3102
  // }
3075
3103
  }
3076
- class lt extends xe {
3104
+ class at extends Se {
3077
3105
  constructor(e) {
3078
3106
  super(e), this.SCROLL_STATE = "scrollState", this.scrollOffset = [0, 0], this.load();
3079
3107
  }
@@ -3095,14 +3123,24 @@ class lt extends xe {
3095
3123
  }
3096
3124
  }
3097
3125
  }
3098
- class at {
3126
+ class ct {
3099
3127
  constructor(e = "collapsed", t = [], s = !1, o = !1) {
3100
3128
  this.mode = e, this.rowIds = t, this.allCollapsed = s, this.allExpanded = o;
3101
3129
  }
3102
3130
  }
3103
- class ct extends xe {
3131
+ class dt extends Se {
3104
3132
  constructor(e) {
3105
- super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new at(), this.load();
3133
+ super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new ct(), this.stored = !1, this.load();
3134
+ }
3135
+ hasStoredState() {
3136
+ return this.stored;
3137
+ }
3138
+ /**
3139
+ * The first toggle defines what the stored ids mean: a table that starts collapsed stores the expanded rows,
3140
+ * a table that starts expanded stores the collapsed ones.
3141
+ */
3142
+ initModeIfEmpty(e) {
3143
+ !this.stored && !this.collapsedExpandedState.rowIds.length && (this.collapsedExpandedState.mode = e);
3106
3144
  }
3107
3145
  collapsedExpandedStateGet() {
3108
3146
  return this.collapsedExpandedState;
@@ -3126,15 +3164,15 @@ class ct extends xe {
3126
3164
  const t = e();
3127
3165
  if (t) {
3128
3166
  const s = t + this.COLLAPSED_EXPANDED_STATE, o = this.loadFromLocalStorage(s);
3129
- o && (this.collapsedExpandedState = o);
3167
+ o && (this.collapsedExpandedState = o, this.stored = !0);
3130
3168
  }
3131
3169
  }
3132
3170
  }
3133
3171
  persist() {
3134
- this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
3172
+ this.stored = !0, this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
3135
3173
  }
3136
3174
  }
3137
- class dt extends xe {
3175
+ class ht extends Se {
3138
3176
  constructor(e) {
3139
3177
  super(e), this.SORTING_STATE = "sortingState", this.sortItems = [], this.load();
3140
3178
  }
@@ -3160,7 +3198,7 @@ class V {
3160
3198
  this.left = e, this.width = t, this.height = s, this.top = o, this.index = i;
3161
3199
  }
3162
3200
  }
3163
- const oe = class oe {
3201
+ const ie = class ie {
3164
3202
  constructor(e, t, s, o) {
3165
3203
  this.hostElement = e, this.tableModel = t, this.dom = s, this.tableOptions = o, this.scrollTop = 0, this.areaBodyWestGeo = new V(), this.areaBodyCenterGeo = new V(), this.areaBodyEastGeo = new V();
3166
3204
  const i = this.hostElement;
@@ -3327,12 +3365,12 @@ const oe = class oe {
3327
3365
  * @returns {void} Returns nothing.
3328
3366
  */
3329
3367
  resetSizeOfWrapperDiv() {
3330
- const e = `${this.tableModel.getContentWidthInPixel()}px`, t = this.tableModel.getContentHeightInPixel() + 1, s = `${Math.min(t, oe.maxScrollHeightInPx)}px`;
3368
+ const e = `${this.tableModel.getContentWidthInPixel()}px`, t = this.tableModel.getContentHeightInPixel() + 1, s = `${Math.min(t, ie.maxScrollHeightInPx)}px`;
3331
3369
  this.dom.setStyle(this.contentWrapperDiv, "width", e), this.dom.setStyle(this.contentWrapperDiv, "height", s);
3332
3370
  }
3333
3371
  };
3334
- oe.maxScrollHeightInPx = 8e6;
3335
- let ee = oe;
3372
+ ie.maxScrollHeightInPx = 8e6;
3373
+ let te = ie;
3336
3374
  class M {
3337
3375
  /**
3338
3376
  * Represents a constructor for a class.
@@ -3368,7 +3406,126 @@ class M {
3368
3406
  return e >= this.r1 && e <= this.r2 && t >= this.c1 && t <= this.c2;
3369
3407
  }
3370
3408
  }
3371
- class ht {
3409
+ class Ce {
3410
+ constructor(e = "none", t = "single") {
3411
+ this.selectionType = e, this.selectionMode = t, this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.silent = !1, this.listenerArr = [];
3412
+ }
3413
+ getEventSelectionChangedListeners() {
3414
+ return this.listenerArr;
3415
+ }
3416
+ addEventSelectionChangedListener(e) {
3417
+ this.listenerArr.includes(e) || this.listenerArr.push(e);
3418
+ }
3419
+ removeEventSelectionChangedListener(e) {
3420
+ const t = this.listenerArr.indexOf(e, 0);
3421
+ t > -1 && this.listenerArr.splice(t, 1);
3422
+ }
3423
+ //@AvoidDoubleExecution(100)
3424
+ fireChangeEvent() {
3425
+ this.silent || this.listenerArr.forEach((e) => e.onSelectionChanged(this));
3426
+ }
3427
+ firstClick(e, t) {
3428
+ this.selectionType === "row" ? this.addRange(M.singleRow(e)) : this.selectionType === "column" && this.addRange(M.singleColumn(t));
3429
+ }
3430
+ getSelectionCount(e, t) {
3431
+ let s = 0;
3432
+ for (const o of this.ranges)
3433
+ o.isInRange(e, t) && s++;
3434
+ return this.allSelected && s++, this.isInNegativeRange(e, t) && (s = 0), s;
3435
+ }
3436
+ isInNegativeRange(e, t) {
3437
+ for (const s of this.negativeRanges)
3438
+ if (s.isInRange(e, t))
3439
+ return !0;
3440
+ return !1;
3441
+ }
3442
+ getRanges() {
3443
+ return this.ranges;
3444
+ }
3445
+ clear() {
3446
+ this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.fireChangeEvent();
3447
+ }
3448
+ hasSelection() {
3449
+ return this.allSelected || !!this.ranges.length;
3450
+ }
3451
+ hasNoSelection() {
3452
+ return !this.hasSelection();
3453
+ }
3454
+ /**
3455
+ * Retrieves the merged row indices from the given range selection.
3456
+ *
3457
+ * @returns {number[]} Array of merged row indices
3458
+ */
3459
+ getMergedRowIndices() {
3460
+ const e = /* @__PURE__ */ new Set();
3461
+ for (const t of this.ranges)
3462
+ for (let s = t.r1; s <= t.r2; s++)
3463
+ !e.has(s) && !this.isInNegativeRange(s, 0) && e.add(s);
3464
+ return Array.from(e);
3465
+ }
3466
+ selectAll() {
3467
+ this.allSelected = !0, this.fireChangeEvent();
3468
+ }
3469
+ isAllSelected() {
3470
+ return this.allSelected;
3471
+ }
3472
+ addSelection(e) {
3473
+ this.addRange(e), this.fireChangeEvent();
3474
+ }
3475
+ removeSelection(e) {
3476
+ if (this.selectionType === "none")
3477
+ return;
3478
+ let t = e;
3479
+ this.selectionType === "row" ? t = M.singleRow(e.r1) : this.selectionType === "column" && (t = M.singleColumn(e.c1)), this.negativeRanges.push(t), this.fireChangeEvent();
3480
+ }
3481
+ togglePoint(e, t) {
3482
+ this.getSelectionCount(e, t) > 0 ? this.removeSelection(M.singleCell(e, t)) : this.addSelection(M.singleCell(e, t));
3483
+ }
3484
+ isSelected(e, t) {
3485
+ return this.getSelectionCount(e, t) > 0;
3486
+ }
3487
+ addRange(e) {
3488
+ this.selectionType !== "none" && (this.allSelected = !1, this.selectionMode === "single" && (this.ranges = []), this.selectionType === "row" ? (e.c1 = 0, e.c2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "column" ? (e.r1 = 0, e.r2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "cell" ? (e.r2 = e.r1, e.c2 = e.c1) : this.selectionType, this.ranges.push(e), this.fireChangeEvent());
3489
+ }
3490
+ }
3491
+ class ut {
3492
+ constructor(e = "none") {
3493
+ this.selectionType = e, this.rowIndex = -1, this.columnIndex = -1, this.changed = !1, this.listenerArr = [];
3494
+ }
3495
+ getEventFocusChangedListeners() {
3496
+ return this.listenerArr;
3497
+ }
3498
+ addEventFocusChangedListener(e) {
3499
+ this.listenerArr.includes(e) || this.listenerArr.push(e);
3500
+ }
3501
+ removeEventFocusChangedListener(e) {
3502
+ const t = this.listenerArr.indexOf(e, 0);
3503
+ t > -1 && this.listenerArr.splice(t, 1);
3504
+ }
3505
+ //@AvoidDoubleExecution(100)
3506
+ fireChangeEvent() {
3507
+ this.listenerArr.forEach((e) => e.onFocusChanged(this));
3508
+ }
3509
+ clearChanged() {
3510
+ this.changed = !1;
3511
+ }
3512
+ hasChanged() {
3513
+ return this.changed;
3514
+ }
3515
+ clear() {
3516
+ this.rowIndex = -1, this.columnIndex = -1, this.fireChangeEvent();
3517
+ }
3518
+ setFocus(e, t) {
3519
+ (this.rowIndex !== e || this.columnIndex !== t) && (this.rowIndex = e, this.columnIndex = t, this.changed = !0, this.fireChangeEvent());
3520
+ }
3521
+ hasFocus(e, t) {
3522
+ return this.rowIndex === e && this.columnIndex === t;
3523
+ }
3524
+ getFocus() {
3525
+ return [this.rowIndex, this.columnIndex];
3526
+ }
3527
+ }
3528
+ class pt {
3372
3529
  constructor(e, t) {
3373
3530
  this.tableModel = e, this.areaModel = t, this.colAndRowspanRanges = void 0;
3374
3531
  }
@@ -3406,17 +3563,31 @@ class k {
3406
3563
  this.header = e, this.body = t, this.footer = s;
3407
3564
  }
3408
3565
  }
3409
- class ut extends ee {
3566
+ class gt extends te {
3410
3567
  constructor(e, t, s, o) {
3411
- var r, n;
3412
- super(e, t, s, o), this.firstVisibleRowIndex = -1, this.lastVisibleRowIndex = -1, this.firstFullVisibleRowIndex = -1, this.lastFullVisibleRowIndex = -1, this.displayedRowCount = 0, this.pixelLimitForFullVisible = 5, this.loggingActive = !1, this.dragging = !1, this.editing = !1, this.storedColumnWidths = [], this.scrollLeft = 0, this.scrollViewportLeft = 0, this.scrollFactorY = 0, this.scrollFactorX = 0, this.cleanupFunctions = {
3568
+ var r, n, l, c;
3569
+ if (super(e, t, s, o), this.firstVisibleRowIndex = -1, this.lastVisibleRowIndex = -1, this.firstFullVisibleRowIndex = -1, this.lastFullVisibleRowIndex = -1, this.displayedRowCount = 0, this.pixelLimitForFullVisible = 5, this.loggingActive = !1, this.dragging = !1, this.editing = !1, this.storedColumnWidths = [], this.scrollLeft = 0, this.scrollViewportLeft = 0, this.scrollFactorY = 0, this.scrollFactorX = 0, this.cleanupFunctions = {
3413
3570
  header: [],
3414
3571
  body: [],
3415
3572
  footer: []
3416
- }, this.tree = !1, this.colAndRowspanModels = new k(), this.draggingTargetColumnIndex = -1, this.contentScrollTop = 0, this.removables = [], this.tableModel.getSelectionModel ? this.getSelectionModel = this.tableModel.getSelectionModel : (r = this.tableOptions) != null && r.getSelectionModel && (this.getSelectionModel = this.tableOptions.getSelectionModel), (n = this.tableOptions) != null && n.getFocusModel && (this.getFocusModel = this.tableOptions.getFocusModel), de(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
3417
- (l) => {
3418
- var a;
3419
- this.colAndRowspanModels[l] = new ht(t, t.getAreaModel(l)), (a = this.colAndRowspanModels[l]) == null || a.init();
3573
+ }, this.tree = !1, this.colAndRowspanModels = new k(), this.draggingTargetColumnIndex = -1, this.contentScrollTop = 0, this.removables = [], (n = (r = this.tableModel).getSelectionModel) != null && n.call(r))
3574
+ this.getSelectionModel = () => this.tableModel.getSelectionModel();
3575
+ else if ((l = this.tableOptions) != null && l.getSelectionModel)
3576
+ this.getSelectionModel = this.tableOptions.getSelectionModel;
3577
+ else {
3578
+ const a = new Ce();
3579
+ this.getSelectionModel = () => a;
3580
+ }
3581
+ if ((c = this.tableOptions) != null && c.getFocusModel)
3582
+ this.getFocusModel = this.tableOptions.getFocusModel;
3583
+ else {
3584
+ const a = new ut("cell");
3585
+ this.getFocusModel = () => a;
3586
+ }
3587
+ ue(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
3588
+ (a) => {
3589
+ var d;
3590
+ this.colAndRowspanModels[a] = new pt(t, t.getAreaModel(a)), (d = this.colAndRowspanModels[a]) == null || d.init();
3420
3591
  }
3421
3592
  );
3422
3593
  }
@@ -3459,7 +3630,7 @@ class ut extends ee {
3459
3630
  if (s || (s = this.tableOptions.getEditRenderer), s)
3460
3631
  if (this.editorRenderer = s(e, t), this.editorRenderer) {
3461
3632
  this.editorRendererRow = e, this.editorRendererColumn = t, this.editing = !0, this.repaint();
3462
- const i = document.querySelector("input.ge-table-cell-editor-input");
3633
+ const i = this.hostElement.querySelector("input.ge-table-cell-editor-input");
3463
3634
  i && i.focus();
3464
3635
  } else
3465
3636
  this.resetEditorRenderer();
@@ -3501,7 +3672,7 @@ class ut extends ee {
3501
3672
  var i;
3502
3673
  for (const r of this.removables)
3503
3674
  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) {
3675
+ 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
3676
  const r = this.getContentScrollRangeY();
3506
3677
  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
3678
  }
@@ -3569,23 +3740,23 @@ class ut extends ee {
3569
3740
  * @param {string[]} cssClasses - An array of CSS classes to be applied to the cell.
3570
3741
  */
3571
3742
  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);
3743
+ 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
3744
  if (l) {
3574
- 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);
3745
+ let c;
3746
+ const a = e === "body" && this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === s;
3747
+ let d;
3748
+ if (a ? d = this.editorRenderer : d = r.getCellRenderer(t, s), l.innerText = "", this.applyCssClasses(l, i), d)
3749
+ c = d.render(l, t, s, e, r, o, this.dom.domService), c && this.cleanupFunctions[e].push(c);
3579
3750
  else {
3580
- const p = `${o}`;
3581
- this.dom.addLabelDiv(l, p, !1, t, s, e);
3751
+ const f = `${o}`;
3752
+ this.dom.addLabelDiv(l, f, !1, t, s, e);
3582
3753
  }
3583
3754
  const u = r.getCustomClassesAt(t, s);
3584
3755
  u.length && this.dom.addClasses(u, l);
3585
- const g = r.getCustomStyleAt(t, s);
3586
- if (g)
3587
- for (const p in g)
3588
- this.dom.setStyle(l, p, g[p]);
3756
+ const p = r.getCustomStyleAt(t, s);
3757
+ if (p)
3758
+ for (const f in p)
3759
+ this.dom.setStyle(l, f, p[f]);
3589
3760
  }
3590
3761
  }
3591
3762
  getFirstVisibleRowIndex() {
@@ -3670,7 +3841,7 @@ class ut extends ee {
3670
3841
  * scaled and scrollTop is no longer a content pixel position.
3671
3842
  */
3672
3843
  isScrollHeightCapped() {
3673
- return this.tableModel.getContentHeightInPixel() + 1 > ee.maxScrollHeightInPx;
3844
+ return this.tableModel.getContentHeightInPixel() + 1 > te.maxScrollHeightInPx;
3674
3845
  }
3675
3846
  /** Scrollable range of the content in content pixels (content height minus visible body height). */
3676
3847
  getContentScrollRangeY() {
@@ -3745,23 +3916,23 @@ class ut extends ee {
3745
3916
  var w, v, I;
3746
3917
  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
3918
  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();
3919
+ const n = 0, l = this.areaBodyCenterGeo.width, c = this.tableModel.getPadding(), a = this.tableModel.getAreaModel(e), d = a.getRowCount();
3749
3920
  for (; this.cleanupFunctions[e].length; ) {
3750
3921
  const x = this.cleanupFunctions[e].shift();
3751
3922
  x && x();
3752
3923
  }
3753
3924
  let u = t;
3754
- const g = this.tableModel.getColumnCount(), p = this.tableModel.getFixedRightColumnCount(), m = this.tableModel.getFixedLeftColumnCount();
3925
+ const p = this.tableModel.getColumnCount(), f = this.tableModel.getFixedRightColumnCount(), m = this.tableModel.getFixedLeftColumnCount();
3755
3926
  e === "body" && (this.firstVisibleRowIndex = -1, this.firstFullVisibleRowIndex = -1, this.lastVisibleRowIndex = -1, this.lastFullVisibleRowIndex = -1);
3756
- let f = 0;
3757
- const b = (v = c.getConstantRowHeight) == null ? void 0 : v.call(c);
3758
- if (b !== void 0 && b > 0 && u < 0) {
3759
- for (f = Math.min(h, Math.floor(-u / b)); f > 0 && u + f * b > 0; )
3760
- f--;
3761
- u = u + f * b;
3927
+ let g = 0;
3928
+ const y = (v = a.getConstantRowHeight) == null ? void 0 : v.call(a);
3929
+ if (y !== void 0 && y > 0 && u < 0) {
3930
+ for (g = Math.min(d, Math.floor(-u / y)); g > 0 && u + g * y > 0; )
3931
+ g--;
3932
+ u = u + g * y;
3762
3933
  }
3763
- for (let x = f; x < h; x++) {
3764
- const S = u, T = x === h - 1, R = this.tableModel.getRowHeight(e, x);
3934
+ for (let x = g; x < d; x++) {
3935
+ const S = u, E = x === d - 1, R = this.tableModel.getRowHeight(e, x);
3765
3936
  if (S + R > 0) {
3766
3937
  e === "body" && this.firstVisibleRowIndex === -1 && (this.firstVisibleRowIndex = x, this.firstFullVisibleRowIndex = S < -this.pixelLimitForFullVisible ? this.firstVisibleRowIndex + 1 : this.firstVisibleRowIndex);
3767
3938
  let A = { left: n, width: l, height: R, top: S, index: x }, D = this.dom.addRowDiv(o, A, x, e, "center");
@@ -3769,37 +3940,37 @@ class ut extends ee {
3769
3940
  if (this.adjustColumnsToRowParent({
3770
3941
  areaIdent: e,
3771
3942
  sideIdent: "center",
3772
- areaModel: c,
3943
+ areaModel: a,
3773
3944
  geo: A,
3774
3945
  parent: D,
3775
3946
  rowIndex: x,
3776
3947
  columnIndexStart: N,
3777
- columnIndexEnd: g - p - 1,
3948
+ columnIndexEnd: p - f - 1,
3778
3949
  verticalFixed: !1,
3779
- lastRowOfModel: T
3780
- }), a.left > 0 && (A = { left: n, width: this.areaBodyWestGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(s, A, x, e, "west"), this.adjustColumnsToRowParent({
3950
+ lastRowOfModel: E
3951
+ }), c.left > 0 && (A = { left: n, width: this.areaBodyWestGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(s, A, x, e, "west"), this.adjustColumnsToRowParent({
3781
3952
  areaIdent: e,
3782
3953
  sideIdent: "west",
3783
- areaModel: c,
3954
+ areaModel: a,
3784
3955
  geo: A,
3785
3956
  parent: D,
3786
3957
  rowIndex: x,
3787
3958
  columnIndexStart: 0,
3788
3959
  columnIndexEnd: N - 1,
3789
3960
  verticalFixed: !0,
3790
- lastRowOfModel: T
3791
- })), a.right > 0 && (A = { left: n, width: this.areaBodyEastGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(i, A, x, e, "east"), this.adjustColumnsToRowParent({
3961
+ lastRowOfModel: E
3962
+ })), c.right > 0 && (A = { left: n, width: this.areaBodyEastGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(i, A, x, e, "east"), this.adjustColumnsToRowParent({
3792
3963
  areaIdent: e,
3793
3964
  sideIdent: "east",
3794
- areaModel: c,
3965
+ areaModel: a,
3795
3966
  geo: A,
3796
3967
  parent: D,
3797
3968
  rowIndex: x,
3798
- columnIndexStart: g - p,
3799
- columnIndexEnd: g - 1,
3969
+ columnIndexStart: p - f,
3970
+ columnIndexEnd: p - 1,
3800
3971
  verticalFixed: !0,
3801
- lastRowOfModel: T
3802
- })), e === "header" && this.tree && x === h - 1) {
3972
+ lastRowOfModel: E
3973
+ })), e === "header" && this.tree && x === d - 1) {
3803
3974
  const U = this.dom.applyStyle(
3804
3975
  this.dom.setAttribute(
3805
3976
  this.dom.addDiv(D, new V(16, 20, 20, 8)),
@@ -3809,8 +3980,8 @@ class ut extends ee {
3809
3980
  { cursor: "pointer" }
3810
3981
  ), C = this.tableOptions.treeOptions.arrowExpandCollapseAll;
3811
3982
  if (C) {
3812
- const Ue = this.dom.domService.createText(C.content);
3813
- this.dom.domService.appendChild(U, Ue), C.style && this.dom.applyStyleString(U, C.style);
3983
+ const Ye = this.dom.domService.createText(C.content);
3984
+ this.dom.domService.appendChild(U, Ye), C.style && this.dom.applyStyleString(U, C.style);
3814
3985
  }
3815
3986
  }
3816
3987
  }
@@ -3819,23 +3990,23 @@ class ut extends ee {
3819
3990
  break;
3820
3991
  }
3821
3992
  }
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 + `
3993
+ 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
3994
  render scope: this.firstFullVisibleRowIndex <- ` + this.firstFullVisibleRowIndex + `
3824
3995
  render scope: this.lastVisibleRowIndex <- ` + this.lastVisibleRowIndex + `
3825
3996
  render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex), this.colAndRowspanModels && this.colAndRowspanModels[e]) {
3826
3997
  const x = ((I = this.colAndRowspanModels[e]) == null ? void 0 : I.getRanges()) ?? [];
3827
3998
  if (x.length)
3828
3999
  for (const S of x) {
3829
- let T = 0, R = o.child, A = "center";
4000
+ let E = 0, R = o.child, A = "center";
3830
4001
  if (S.c1 < m)
3831
4002
  R = s.child, A = "west";
3832
- else if (p > 0 && S.c1 >= g - p)
4003
+ else if (f > 0 && S.c1 >= p - f)
3833
4004
  R = i.child, A = "east";
3834
4005
  else {
3835
4006
  const D = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3836
- T = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, A = "center";
4007
+ E = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, A = "center";
3837
4008
  }
3838
- this.drawBigCell(S, T, t, c, R, A);
4009
+ this.drawBigCell(S, E, t, a, R, A);
3839
4010
  }
3840
4011
  }
3841
4012
  }
@@ -3850,24 +4021,24 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3850
4021
  * @protected
3851
4022
  */
3852
4023
  drawBigCell(e, t, s, o, i, r) {
3853
- 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
- let c = 0;
3855
- 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);
3857
- let p = !1;
4024
+ const n = s + this.getRowHeights(0, e.r1 - 1, o).reduce((g, y) => g + y, 0), l = this.tableModel.getColumnCount(), c = this.tableModel.getFixedRightColumnCount();
4025
+ let a = 0;
4026
+ c > 0 && e.c1 >= l - c && (a = l - c);
4027
+ const d = t + this.getColumnWidths(a, e.c1 - 1).reduce((g, y) => g + y, 0), u = this.getRowHeights(e.r1, e.r2, o).reduce((g, y) => g + y, 0), p = this.getColumnWidths(e.c1, e.c2).reduce((g, y) => g + y, 0);
4028
+ let f = !1;
3858
4029
  const m = this.getSelectionModel ? this.getSelectionModel() : void 0;
3859
- m && (p = m.getSelectionCount(e.r1, e.c1) > 0), e.gammaRange ? this.renderCell({
4030
+ m && (f = m.getSelectionCount(e.r1, e.c1) > 0), e.gammaRange ? this.renderCell({
3860
4031
  areaModel: o,
3861
4032
  areaIdent: o.areaIdent,
3862
4033
  sideIdent: r,
3863
4034
  rowIndex: e.r1,
3864
4035
  columnIndex: e.c1,
3865
- left: h,
4036
+ left: d,
3866
4037
  top: n,
3867
- width: g,
4038
+ width: p,
3868
4039
  height: u,
3869
4040
  parent: i,
3870
- cellSelected: p,
4041
+ cellSelected: f,
3871
4042
  lastRowOfModel: !0,
3872
4043
  gammaRange: e.gammaRange
3873
4044
  }) : this.renderCell({
@@ -3876,20 +4047,20 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3876
4047
  sideIdent: r,
3877
4048
  rowIndex: e.r1,
3878
4049
  columnIndex: e.c1,
3879
- left: h,
4050
+ left: d,
3880
4051
  top: n,
3881
- width: g,
4052
+ width: p,
3882
4053
  height: u,
3883
4054
  parent: i,
3884
- cellSelected: p,
4055
+ cellSelected: f,
3885
4056
  lastRowOfModel: !0,
3886
4057
  gammaRange: e.gammaRange
3887
4058
  }), o.areaIdent === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
3888
4059
  rowIndex: e.r1,
3889
4060
  columnIndex: e.c1,
3890
- cellLeft: h,
4061
+ cellLeft: d,
3891
4062
  cellTop: n,
3892
- cellWidth: g,
4063
+ cellWidth: p,
3893
4064
  cellHeight: u,
3894
4065
  parent: i
3895
4066
  });
@@ -3930,50 +4101,50 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3930
4101
  rowIndex: r,
3931
4102
  columnIndexStart: n,
3932
4103
  columnIndexEnd: l,
3933
- verticalFixed: a = !1,
3934
- lastRowOfModel: c = !1
4104
+ verticalFixed: c = !1,
4105
+ lastRowOfModel: a = !1
3935
4106
  }) {
3936
4107
  var m;
3937
- let h = 0;
3938
- if (!a) {
3939
- const f = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3940
- h = this.snapToDevicePixel(this.scrollFactorX * f);
4108
+ let d = 0;
4109
+ if (!c) {
4110
+ const g = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
4111
+ d = this.snapToDevicePixel(this.scrollFactorX * g);
3941
4112
  }
3942
- const u = 0, g = !!(e === "body" && t);
3943
- let p = h;
3944
- for (let f = n; f <= l; f++) {
3945
- const b = p, w = this.tableModel.getColumnWidth(f);
3946
- if (w > 0 && b + w > 0) {
4113
+ const u = 0, p = !!(e === "body" && t);
4114
+ let f = d;
4115
+ for (let g = n; g <= l; g++) {
4116
+ const y = f, w = this.tableModel.getColumnWidth(g);
4117
+ if (w > 0 && y + w > 0) {
3947
4118
  let v = o.height;
3948
- const I = s.getRowspanAt(r, f), x = s.getColspanAt(r, f);
4119
+ const I = s.getRowspanAt(r, g), x = s.getColspanAt(r, g);
3949
4120
  I > 1 && (v = this.getRowHeights(r, r + I - 1, s).reduce((R, A) => R + A, 0));
3950
4121
  let S = w;
3951
- x > 1 && (S = this.getColumnWidths(f, f + x - 1).reduce((R, A) => R + A, 0));
3952
- let T = !1;
3953
- if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (m = this.colAndRowspanModels[e]) != null && m.isInRange(r, f) && (T = !0), this.draggingTargetColumnIndex === f && e !== "header") {
3954
- this.renderDragTargetDiv(i, b, u, S, v);
3955
- const R = { left: b, top: u, width: S, height: v };
4122
+ x > 1 && (S = this.getColumnWidths(g, g + x - 1).reduce((R, A) => R + A, 0));
4123
+ let E = !1;
4124
+ if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (m = this.colAndRowspanModels[e]) != null && m.isInRange(r, g) && (E = !0), this.draggingTargetColumnIndex === g && e !== "header") {
4125
+ this.renderDragTargetDiv(i, y, u, S, v);
4126
+ const R = { left: y, top: u, width: S, height: v };
3956
4127
  this.dom.addColumnBorderDivs(this.tableOptions, i, R, e, t);
3957
4128
  } else {
3958
- const R = this.renderSelectedBackgroundDiv(T, g, t, s, r, f, i, b, u, S, v);
3959
- "gammaCells" in s && s.getValueAt(r, f) && (T = !1), T || this.renderCell({
4129
+ const R = this.renderSelectedBackgroundDiv(E, p, t, s, r, g, i, y, u, S, v);
4130
+ "gammaCells" in s && s.getValueAt(r, g) && (E = !1), E || this.renderCell({
3960
4131
  areaModel: s,
3961
4132
  areaIdent: e,
3962
4133
  sideIdent: t,
3963
4134
  rowIndex: r,
3964
- columnIndex: f,
3965
- left: b,
4135
+ columnIndex: g,
4136
+ left: y,
3966
4137
  top: u,
3967
4138
  width: S,
3968
4139
  height: v,
3969
4140
  parent: i,
3970
4141
  cellSelected: R,
3971
- lastRowOfModel: c,
4142
+ lastRowOfModel: a,
3972
4143
  gammaRange: !0
3973
4144
  }), e === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
3974
4145
  rowIndex: r,
3975
- columnIndex: f,
3976
- cellLeft: b,
4146
+ columnIndex: g,
4147
+ cellLeft: y,
3977
4148
  cellTop: u,
3978
4149
  cellWidth: S,
3979
4150
  cellHeight: v,
@@ -3981,10 +4152,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3981
4152
  });
3982
4153
  }
3983
4154
  }
3984
- if (p = p + w, p > this.areaBodyCenterGeo.width)
4155
+ if (f = f + w, f > this.areaBodyCenterGeo.width)
3985
4156
  break;
3986
4157
  }
3987
- this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new V(p - 1, 1, o.height, 0), i);
4158
+ this.tableOptions.verticalBorderVisible && this.dom.addVerticalBorder(new V(f - 1, 1, o.height, 0), i);
3988
4159
  }
3989
4160
  /**
3990
4161
  * Retrieves the column index of the tree arrow column in the table.
@@ -4007,46 +4178,49 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4007
4178
  left: r,
4008
4179
  width: n,
4009
4180
  height: l,
4010
- top: a,
4011
- parent: c,
4012
- lastRowOfModel: h
4181
+ top: c,
4182
+ parent: a,
4183
+ lastRowOfModel: d
4013
4184
  }) {
4014
4185
  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);
4016
- let f = "none";
4186
+ const u = t === "body" && this.editorRenderer && this.editorRendererRow === o && this.editorRendererColumn === i, p = u ? this.editorRenderer : e.getCellRenderer(o, i), f = { left: r, width: n, height: l, top: c, index: i }, m = e.getRowByIndex(o);
4187
+ let g = "none";
4017
4188
  if (i === this.getTreeArrowColumnIndex() && j(m)) {
4018
4189
  const C = m;
4019
- (U = C.children) != null && U.length ? C.expanded ? f = "expanded" : f = "collapsed" : f = "hidden";
4190
+ (U = C.children) != null && U.length ? C.expanded ? g = "expanded" : g = "collapsed" : g = "hidden";
4020
4191
  }
4021
4192
  let w;
4022
4193
  if (t === "header") {
4023
4194
  const C = this.tableModel.getColumnDef(i);
4024
4195
  (!(C != null && C.sortIconVisible) || C != null && C.sortIconVisible()) && (w = C == null ? void 0 : C.sortState);
4025
4196
  }
4026
- const v = e.getValueAt(o, i), I = g ? "" : `${v}`, x = e.isRowChecked(o), S = this.dom.addColumnDiv(
4197
+ const v = e.getValueAt(o, i), I = p ? "" : `${v ?? ""}`, x = e.isRowChecked(o), S = this.dom.addColumnDiv(
4027
4198
  {
4028
- parent: c,
4029
- geo: p,
4199
+ parent: a,
4200
+ geo: f,
4030
4201
  rowIndex: o,
4031
4202
  columnIndex: i,
4032
4203
  areaIdent: t,
4033
4204
  sideIdent: s,
4034
4205
  text: I,
4035
- treeArrow: f,
4206
+ treeArrow: g,
4036
4207
  tableOptions: this.tableOptions,
4037
4208
  checkedType: x,
4038
4209
  sortState: w
4039
4210
  }
4040
- ), T = e.getTooltipAt(o, i);
4041
- T && this.dom.setAttribute(S, "title", T);
4211
+ ), E = e.getTooltipAt(o, i);
4212
+ E && this.dom.setAttribute(S, "title", E);
4042
4213
  const R = this.tableModel.getColumnDef(i);
4043
4214
  R && R.classes[t] && this.dom.addClasses(R.classes[t], S);
4044
4215
  let A;
4045
- g && (A = g.render(S, o, i, t, e, v, this.dom.domService));
4216
+ if (p && (A = p.render(S, o, i, t, e, v, this.dom.domService), u)) {
4217
+ const C = S.querySelector("input, select");
4218
+ C && !C.contains(document.activeElement) && C.focus();
4219
+ }
4046
4220
  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") {
4221
+ if (D.length && this.dom.addClasses(D, S), this.dom.addColumnBorderDivs(this.tableOptions, a, f, t, s), d && this.dom.addHorizontalBorder({ left: r, width: n, height: l, top: c + l }, a), this.getFocusModel && t === "body") {
4048
4222
  const C = this.getFocusModel();
4049
- C != null && C.hasFocus(o, i) && this.dom.addFocusBorderDivs(c, p, {});
4223
+ C != null && C.hasFocus(o, i) && this.dom.addFocusBorderDivs(a, f, {});
4050
4224
  }
4051
4225
  t === "header" && this.dom.setAttribute(S, "data-ge-action", "drag-column");
4052
4226
  const N = e.getCustomStyleAt(o, i);
@@ -4197,12 +4371,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4197
4371
  if (this.dragging) {
4198
4372
  const r = this.hostElement.clientHeight, n = this.storedColumnWidths[t];
4199
4373
  if ((o = e.originalEvent) != null && o.clientX) {
4200
- const c = { left: ((i = e.originalEvent) == null ? void 0 : i.clientX) - n / 2, width: n, height: r, top: 0, index: t };
4374
+ const a = { left: ((i = e.originalEvent) == null ? void 0 : i.clientX) - n / 2, width: n, height: r, top: 0, index: t };
4201
4375
  this.dom.applyStyle(this.draggingColumn, {
4202
4376
  background: "rgba(128,128,128,0.2)",
4203
4377
  display: "block",
4204
4378
  overfllow: "clip"
4205
- }), this.dom.applyStyleInPx(this.draggingColumn, c), s && this.renderContentOfDraggingColumn(c);
4379
+ }), this.dom.applyStyleInPx(this.draggingColumn, a), s && this.renderContentOfDraggingColumn(a);
4206
4380
  }
4207
4381
  } else
4208
4382
  this.hideDraggingColumn();
@@ -4230,27 +4404,27 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4230
4404
  const o = "center", i = this.tableModel.getAreaModel(t), r = i == null ? void 0 : i.getRowCount();
4231
4405
  if (r) {
4232
4406
  const n = e.index ?? 0, l = this.draggingColumn;
4233
- 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 = {
4407
+ for (let c = 0; c < r; c++) {
4408
+ const a = s, d = i.getRowHeight(c), u = { left: 0, width: e.width, height: d, top: a, index: c }, p = i.getValueAt(c, n), f = i.getCellRenderer(c, n), m = f ? "" : `${p ?? ""}`, g = {
4235
4409
  parent: l,
4236
4410
  geo: u,
4237
- rowIndex: a,
4411
+ rowIndex: c,
4238
4412
  columnIndex: n,
4239
4413
  areaIdent: t,
4240
4414
  sideIdent: o,
4241
4415
  text: m
4242
- }, b = this.dom.addColumnDiv(f);
4416
+ }, y = this.dom.addColumnDiv(g);
4243
4417
  let w;
4244
- p && (w = p.render(b, a, n, t, i, g, this.dom.domService), w && this.cleanupFunctions[t].push(w));
4245
- const v = i.getCustomClassesAt(a, n);
4246
- v.length && this.dom.addClasses(v, b);
4418
+ f && (w = f.render(y, c, n, t, i, p, this.dom.domService), w && this.cleanupFunctions[t].push(w));
4419
+ const v = i.getCustomClassesAt(c, n);
4420
+ v.length && this.dom.addClasses(v, y);
4247
4421
  const I = this.tableModel.getColumnDef(n);
4248
- I && I.classes[t] && this.dom.addClasses(I.classes[t], b), this.dom.addColumnBorderDivs(this.tableOptions, l, u, t, o);
4249
- const x = i.getCustomStyleAt(a, n);
4422
+ I && I.classes[t] && this.dom.addClasses(I.classes[t], y), this.dom.addColumnBorderDivs(this.tableOptions, l, u, t, o);
4423
+ const x = i.getCustomStyleAt(c, n);
4250
4424
  if (x)
4251
4425
  for (const S in x)
4252
- this.dom.setStyle(b, S, x[S]);
4253
- s = s + h;
4426
+ this.dom.setStyle(y, S, x[S]);
4427
+ s = s + d;
4254
4428
  }
4255
4429
  }
4256
4430
  return s;
@@ -4299,19 +4473,19 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4299
4473
  * @param {number} height - The height of the div.
4300
4474
  * @returns {boolean} - Whether the cell is selected.
4301
4475
  */
4302
- renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, a, c, h) {
4476
+ renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, c, a, d) {
4303
4477
  let u = !1;
4304
4478
  if (!e && t && o.isSelectable(i, r) && this.getSelectionModel) {
4305
- const g = this.getSelectionModel();
4306
- if (g) {
4307
- const p = g.getSelectionCount(i, r);
4308
- u = p > 0;
4309
- for (let m = 0; m < p; m++) {
4310
- const f = this.dom.applyStylePosistionAbsolute(
4479
+ const p = this.getSelectionModel();
4480
+ if (p) {
4481
+ const f = p.getSelectionCount(i, r);
4482
+ u = f > 0;
4483
+ for (let m = 0; m < f; m++) {
4484
+ const g = this.dom.applyStylePosistionAbsolute(
4311
4485
  // ge-table-body-west-selected-range
4312
4486
  this.dom.createDivWithClass(`ge-table-${o.areaIdent}-${s}-selected-range`, n)
4313
4487
  );
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`);
4488
+ this.dom.setStyle(g, "left", `${l}px`), this.dom.setStyle(g, "top", `${c}px`), this.dom.setStyle(g, "width", `${a}px`), this.dom.setStyle(g, "height", `${d}px`);
4315
4489
  }
4316
4490
  }
4317
4491
  }
@@ -4345,12 +4519,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4345
4519
  left: r,
4346
4520
  top: n,
4347
4521
  width: l,
4348
- height: a,
4349
- parent: c,
4350
- cellSelected: h,
4522
+ height: c,
4523
+ parent: a,
4524
+ cellSelected: d,
4351
4525
  lastRowOfModel: u
4352
4526
  }) {
4353
- const [g, p] = this.addAndRenderCellDiv({
4527
+ const [p, f] = this.addAndRenderCellDiv({
4354
4528
  areaModel: e,
4355
4529
  areaIdent: t,
4356
4530
  sideIdent: s,
@@ -4358,12 +4532,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4358
4532
  index: i,
4359
4533
  left: r,
4360
4534
  width: l,
4361
- height: a,
4535
+ height: c,
4362
4536
  top: n,
4363
- parent: c,
4537
+ parent: a,
4364
4538
  lastRowOfModel: u
4365
4539
  });
4366
- h && this.dom.addClass(`ge-table-${t}-${s}-selected-range`, g), p && this.cleanupFunctions[t].push(p);
4540
+ d && this.dom.addClass(`ge-table-${t}-${s}-selected-range`, p), f && this.cleanupFunctions[t].push(f);
4367
4541
  }
4368
4542
  /**
4369
4543
  * Render the header cell resize handle.
@@ -4380,16 +4554,16 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4380
4554
  * @return {void}
4381
4555
  */
4382
4556
  renderHeaderCellResizeHandle({ rowIndex: e, columnIndex: t, cellLeft: s, cellTop: o, cellWidth: i, cellHeight: r, parent: n }) {
4383
- const l = this.dom.domService, a = this.tableOptions.columnResizeHandleWidthInPx ?? 2, c = l.createElement("div");
4384
- l.setAttribute(c, "data-col-index", `${t}`), l.setAttribute(c, "data-row-index", `${e}`), l.setAttribute(c, "data-area", "header"), l.setAttribute(c, "data-ge-action", "resize-column"), l.addClass(c, "ge-table-column-resize-handle"), l.setStyle(c, "display", "clip"), l.setStyle(c, "position", "absolute"), l.setStyle(c, "cursor", "col-resize"), l.setStyle(c, "left", `${s + i - a}px`), l.setStyle(c, "top", `${o}px`), l.setStyle(c, "width", `${a}px`), l.setStyle(c, "height", `${r}px`), l.appendChild(n, c);
4557
+ const l = this.dom.domService, c = this.tableOptions.columnResizeHandleWidthInPx ?? 2, a = l.createElement("div");
4558
+ l.setAttribute(a, "data-col-index", `${t}`), l.setAttribute(a, "data-row-index", `${e}`), l.setAttribute(a, "data-area", "header"), l.setAttribute(a, "data-ge-action", "resize-column"), l.addClass(a, "ge-table-column-resize-handle"), l.setStyle(a, "display", "clip"), l.setStyle(a, "position", "absolute"), l.setStyle(a, "cursor", "col-resize"), l.setStyle(a, "left", `${s + i - c}px`), l.setStyle(a, "top", `${o}px`), l.setStyle(a, "width", `${c}px`), l.setStyle(a, "height", `${r}px`), l.appendChild(n, a);
4385
4559
  }
4386
4560
  }
4387
- class Me {
4561
+ class Ie {
4388
4562
  constructor(e, t) {
4389
4563
  this.columnIndex = e, this.sortState = t;
4390
4564
  }
4391
4565
  }
4392
- class pt {
4566
+ class ft {
4393
4567
  constructor(e) {
4394
4568
  this.tableScope = e, this.tableScope.hostElement.addEventListener(
4395
4569
  "change",
@@ -4409,34 +4583,33 @@ class pt {
4409
4583
  if (e.target instanceof HTMLInputElement || e.target instanceof HTMLSelectElement || e.target instanceof HTMLTextAreaElement) {
4410
4584
  const t = e.target, s = t.getAttribute("data-area"), o = t.getAttribute("data-row-index"), i = t.getAttribute("data-col-index");
4411
4585
  if (s && o && i) {
4412
- const r = ne(s), n = Number(o), l = Number(i);
4586
+ const r = le(s), n = Number(o), l = Number(i);
4413
4587
  this.tableScope.updateModelValueAfterEdit(r, n, l, t.value);
4414
4588
  }
4415
4589
  }
4416
4590
  }
4417
4591
  }
4418
- class gt {
4592
+ class mt {
4419
4593
  constructor(e = -1, t = -1) {
4420
4594
  this.rowIndex = e, this.columnIndex = t;
4421
4595
  }
4422
4596
  }
4423
- class Se {
4597
+ class ve {
4424
4598
  constructor(e) {
4425
4599
  this.cells = e;
4426
4600
  }
4427
4601
  static createSingle(e, t) {
4428
- return new Se([new gt(e, t)]);
4602
+ return new ve([new mt(e, t)]);
4429
4603
  }
4430
4604
  }
4431
- class ft {
4605
+ class bt {
4432
4606
  constructor(e, t, s, o, i, r, n, l) {
4433
4607
  this.scrollTop = e, this.scrollLeft = t, this.scrollHeight = s, this.scrollWidth = o, this.clientHeight = i, this.clientWidth = r, this.scrollFactorY = n, this.scrollFactorX = l;
4434
4608
  }
4435
4609
  }
4436
- class mt {
4610
+ class yt {
4437
4611
  constructor(e) {
4438
- var t, s;
4439
- this.tableScope = e, this.ignoreNextClick = !1, (t = this.tableScope.tableOptions) != null && t.getSelectionModel && (this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel), (s = this.tableScope.tableOptions) != null && s.getFocusModel && (this.getFocusModel = this.tableScope.tableOptions.getFocusModel);
4612
+ this.tableScope = e, this.ignoreNextClick = !1, this.getSelectionModel = () => this.tableScope.selectionModel(), this.getFocusModel = () => this.tableScope.focusModel();
4440
4613
  }
4441
4614
  /**
4442
4615
  * Called on mouse down: a new gesture starts.
@@ -4462,13 +4635,13 @@ class mt {
4462
4635
  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
4636
  }
4464
4637
  onMouseClicked(e, t) {
4465
- var i, r, n, l, a, c, h;
4638
+ var i, r, n, l, c, a, d;
4466
4639
  if (this.ignoreNextClick)
4467
4640
  return this.ignoreNextClick = !1, !1;
4468
4641
  let s = !1, o = !1;
4469
4642
  if (this.getSelectionModel && this.getFocusModel) {
4470
- 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));
4643
+ const u = this.getSelectionModel(), p = this.getFocusModel();
4644
+ u && p && (p.hasFocus(e.rowIndex, e.columnIndex) || (p.setFocus(e.rowIndex, e.columnIndex), this.tableScope.onFocusChanged(p), 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 || (c = e.originalEvent) != null && c.metaKey) ? (u.removeSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (a = e.originalEvent) != null && a.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
4645
  }
4473
4646
  return o ? this.previousEvt = void 0 : this.previousEvt = e == null ? void 0 : e.clone(), s;
4474
4647
  }
@@ -4499,7 +4672,7 @@ class mt {
4499
4672
  });
4500
4673
  }
4501
4674
  }
4502
- class bt {
4675
+ class wt {
4503
4676
  get() {
4504
4677
  return {
4505
4678
  f2: "START_EDITING",
@@ -4519,7 +4692,7 @@ class bt {
4519
4692
  };
4520
4693
  }
4521
4694
  }
4522
- class yt {
4695
+ class xt {
4523
4696
  get() {
4524
4697
  return {
4525
4698
  f2: "START_EDITING",
@@ -4541,23 +4714,23 @@ class yt {
4541
4714
  };
4542
4715
  }
4543
4716
  }
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) => {
4717
+ function St(h) {
4718
+ 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
4719
  const s = { cmd: 1, ctrl: 2, alt: 3, shift: 4 }, o = s[e] || 5, i = s[t] || 5;
4547
4720
  return o !== i ? o - i : e.localeCompare(t);
4548
4721
  }).join(" ");
4549
4722
  }
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();
4723
+ function Ee(h) {
4724
+ let e = h.key.toLowerCase();
4725
+ 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")) {
4726
+ const s = h.code.replace("Numpad", "").toLowerCase();
4554
4727
  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
4728
  }
4556
- d.code.match(/^F\d+$/) && (e = d.code.toLowerCase()), d.code.match(/^Digit\d+$/) && (e = d.code.replace(/Digit/g, ""));
4729
+ h.code.match(/^F\d+$/) && (e = h.code.toLowerCase()), h.code.match(/^Digit\d+$/) && (e = h.code.replace(/Digit/g, ""));
4557
4730
  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);
4731
+ return h.ctrlKey && (t += " ctrl"), h.altKey && (t += t + " alt"), h.shiftKey && (t += t + " shift"), h.metaKey && (t += t + " cmd"), St(t + " " + e);
4559
4732
  }
4560
- class xt {
4733
+ class Ct {
4561
4734
  constructor(e) {
4562
4735
  this.tableScope = e, this.shortcutActionIdMapping = {}, this.listener = [], this.listener.push(e), this.init();
4563
4736
  }
@@ -4583,7 +4756,7 @@ class xt {
4583
4756
  ));
4584
4757
  }
4585
4758
  assignPredefinedSystemShortcutMappings() {
4586
- this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new yt().get()) : Object.assign(this.shortcutActionIdMapping, new bt().get());
4759
+ this.isMacintosh() ? Object.assign(this.shortcutActionIdMapping, new xt().get()) : Object.assign(this.shortcutActionIdMapping, new wt().get());
4587
4760
  }
4588
4761
  isMacintosh() {
4589
4762
  return navigator.platform.indexOf("Mac") > -1;
@@ -4595,8 +4768,11 @@ class xt {
4595
4768
  return location.hostname === "localhost" || location.hostname === "127.0.0.1";
4596
4769
  }
4597
4770
  onKeyDown(e) {
4598
- const t = this.findEntity(e);
4599
- t && this.emit(t) && (e.preventDefault(), e.stopPropagation());
4771
+ const t = e.target;
4772
+ if (t && (t.isContentEditable || ["INPUT", "SELECT", "TEXTAREA"].includes(t.tagName)))
4773
+ return;
4774
+ const s = this.findEntity(e);
4775
+ s && this.emit(s) && (e.preventDefault(), e.stopPropagation());
4600
4776
  }
4601
4777
  emit(e) {
4602
4778
  this.isDebug() && console.debug("ShortcutService emit :", e);
@@ -4606,10 +4782,10 @@ class xt {
4606
4782
  return t;
4607
4783
  }
4608
4784
  findEntity(e) {
4609
- const t = Ie(e);
4785
+ const t = Ee(e);
4610
4786
  this.isDebug() && console.debug("ShortcutService shortcut :", t);
4611
4787
  for (const s in this.shortcutActionIdMapping)
4612
- if (Ie(e) === t)
4788
+ if (Ee(e) === t)
4613
4789
  return this.isDebug() && console.debug("ShortcutService action :", this.shortcutActionIdMapping[s]), this.shortcutActionIdMapping[s];
4614
4790
  }
4615
4791
  // private areTokensEquals(tokens1: string[], tokens2: string[]): boolean {
@@ -4656,7 +4832,7 @@ class xt {
4656
4832
  return this.shortcutActionIdMapping;
4657
4833
  }
4658
4834
  }
4659
- class he {
4835
+ class pe {
4660
4836
  onCheckboxChanged(e) {
4661
4837
  }
4662
4838
  onContextmenu(e) {
@@ -4678,7 +4854,7 @@ class he {
4678
4854
  onFocusChanged(e) {
4679
4855
  }
4680
4856
  }
4681
- class St {
4857
+ class vt {
4682
4858
  setStyle(e, t, s) {
4683
4859
  return e.style[t] = s, e;
4684
4860
  }
@@ -4705,7 +4881,7 @@ class St {
4705
4881
  e.setAttribute(t, s);
4706
4882
  }
4707
4883
  }
4708
- class Ct {
4884
+ class Rt {
4709
4885
  render(e, t, s, o, i, r, n) {
4710
4886
  if (i.isEditable(t, s)) {
4711
4887
  n.addClass(e, "ge-table-row-input-div");
@@ -4726,126 +4902,7 @@ class Ct {
4726
4902
  }
4727
4903
  }
4728
4904
  }
4729
- class Ce {
4730
- constructor(e = "none", t = "single") {
4731
- this.selectionType = e, this.selectionMode = t, this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.silent = !1, this.listenerArr = [];
4732
- }
4733
- getEventSelectionChangedListeners() {
4734
- return this.listenerArr;
4735
- }
4736
- addEventSelectionChangedListener(e) {
4737
- this.listenerArr.includes(e) || this.listenerArr.push(e);
4738
- }
4739
- removeEventSelectionChangedListener(e) {
4740
- const t = this.listenerArr.indexOf(e, 0);
4741
- t > -1 && this.listenerArr.splice(t, 1);
4742
- }
4743
- //@AvoidDoubleExecution(100)
4744
- fireChangeEvent() {
4745
- this.silent || this.listenerArr.forEach((e) => e.onSelectionChanged(this));
4746
- }
4747
- firstClick(e, t) {
4748
- this.selectionType === "row" ? this.addRange(M.singleRow(e)) : this.selectionType === "column" && this.addRange(M.singleColumn(t));
4749
- }
4750
- getSelectionCount(e, t) {
4751
- let s = 0;
4752
- for (const o of this.ranges)
4753
- o.isInRange(e, t) && s++;
4754
- return this.allSelected && s++, this.isInNegativeRange(e, t) && (s = 0), s;
4755
- }
4756
- isInNegativeRange(e, t) {
4757
- for (const s of this.negativeRanges)
4758
- if (s.isInRange(e, t))
4759
- return !0;
4760
- return !1;
4761
- }
4762
- getRanges() {
4763
- return this.ranges;
4764
- }
4765
- clear() {
4766
- this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.fireChangeEvent();
4767
- }
4768
- hasSelection() {
4769
- return this.allSelected || !!this.ranges.length;
4770
- }
4771
- hasNoSelection() {
4772
- return !this.hasSelection();
4773
- }
4774
- /**
4775
- * Retrieves the merged row indices from the given range selection.
4776
- *
4777
- * @returns {number[]} Array of merged row indices
4778
- */
4779
- getMergedRowIndices() {
4780
- const e = /* @__PURE__ */ new Set();
4781
- for (const t of this.ranges)
4782
- for (let s = t.r1; s <= t.r2; s++)
4783
- !e.has(s) && !this.isInNegativeRange(s, 0) && e.add(s);
4784
- return Array.from(e);
4785
- }
4786
- selectAll() {
4787
- this.allSelected = !0, this.fireChangeEvent();
4788
- }
4789
- isAllSelected() {
4790
- return this.allSelected;
4791
- }
4792
- addSelection(e) {
4793
- this.addRange(e), this.fireChangeEvent();
4794
- }
4795
- removeSelection(e) {
4796
- if (this.selectionType === "none")
4797
- return;
4798
- let t = e;
4799
- this.selectionType === "row" ? t = M.singleRow(e.r1) : this.selectionType === "column" && (t = M.singleColumn(e.c1)), this.negativeRanges.push(t), this.fireChangeEvent();
4800
- }
4801
- togglePoint(e, t) {
4802
- this.getSelectionCount(e, t) > 0 ? this.removeSelection(M.singleCell(e, t)) : this.addSelection(M.singleCell(e, t));
4803
- }
4804
- isSelected(e, t) {
4805
- return this.getSelectionCount(e, t) > 0;
4806
- }
4807
- addRange(e) {
4808
- this.selectionType !== "none" && (this.allSelected = !1, this.selectionMode === "single" && (this.ranges = []), this.selectionType === "row" ? (e.c1 = 0, e.c2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "column" ? (e.r1 = 0, e.r2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "cell" ? (e.r2 = e.r1, e.c2 = e.c1) : this.selectionType, this.ranges.push(e), this.fireChangeEvent());
4809
- }
4810
- }
4811
- class vt {
4812
- constructor(e = "none") {
4813
- this.selectionType = e, this.rowIndex = -1, this.columnIndex = -1, this.changed = !1, this.listenerArr = [];
4814
- }
4815
- getEventFocusChangedListeners() {
4816
- return this.listenerArr;
4817
- }
4818
- addEventFocusChangedListener(e) {
4819
- this.listenerArr.includes(e) || this.listenerArr.push(e);
4820
- }
4821
- removeEventFocusChangedListener(e) {
4822
- const t = this.listenerArr.indexOf(e, 0);
4823
- t > -1 && this.listenerArr.splice(t, 1);
4824
- }
4825
- //@AvoidDoubleExecution(100)
4826
- fireChangeEvent() {
4827
- this.listenerArr.forEach((e) => e.onFocusChanged(this));
4828
- }
4829
- clearChanged() {
4830
- this.changed = !1;
4831
- }
4832
- hasChanged() {
4833
- return this.changed;
4834
- }
4835
- clear() {
4836
- this.rowIndex = -1, this.columnIndex = -1, this.fireChangeEvent();
4837
- }
4838
- setFocus(e, t) {
4839
- (this.rowIndex !== e || this.columnIndex !== t) && (this.rowIndex = e, this.columnIndex = t, this.changed = !0, this.fireChangeEvent());
4840
- }
4841
- hasFocus(e, t) {
4842
- return this.rowIndex === e && this.columnIndex === t;
4843
- }
4844
- getFocus() {
4845
- return [this.rowIndex, this.columnIndex];
4846
- }
4847
- }
4848
- class ve {
4905
+ class Re {
4849
4906
  constructor(e = new O(
4850
4907
  "❯",
4851
4908
  "",
@@ -4859,14 +4916,13 @@ class ve {
4859
4916
  }
4860
4917
  // `⊖ `, `⊕ `;
4861
4918
  }
4862
- const Rt = new Ce(), At = new vt("cell");
4863
- class J {
4919
+ class q {
4864
4920
  constructor() {
4865
4921
  this.overflowX = "auto", this.overflowY = "auto", this.horizontalBorderVisible = !0, this.verticalBorderVisible = !0, this.footerSeparatorBorderVisible = !0, this.headerSeparatorBorderVisible = !0, this.fixedEastSeparatorBorderVisible = !0, this.fixedWestSeparatorBorderVisible = !0, this.tableTopBorderVisible = !0, this.tableBottomBorderVisible = !0, this.hoverRowVisible = !0, this.hoverColumnVisible = !0, this.columnsResizable = !0, this.columnsDraggable = !0, this.columnResizeHandleWidthInPx = 4, this.defaultRowHeights = {
4866
4922
  header: 34,
4867
4923
  body: 34,
4868
4924
  footer: 34
4869
- }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new We(), this.headerGroupOptions = new ve(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Ne(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, t) => new Ct(), this.getSelectionModel = () => Rt, this.getFocusModel = () => At;
4925
+ }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new Ne(), this.headerGroupOptions = new Re(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Ge(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, t) => new Rt(), this.getSelectionModel = void 0, this.getFocusModel = void 0;
4870
4926
  }
4871
4927
  }
4872
4928
  const z = class z {
@@ -4886,22 +4942,22 @@ const z = class z {
4886
4942
  const l = this.mergeRanges(t.getRanges());
4887
4943
  if (l) {
4888
4944
  l.c2 = Math.min(l.c2, e.getColumnCount() - 1), l.r2 = Math.min(l.r2, e.getBodyModel().getRowCount() - 1);
4889
- const a = [];
4890
- for (let c = l.r1; c <= l.r2; c++) {
4891
- const h = [];
4945
+ const c = [];
4946
+ for (let a = l.r1; a <= l.r2; a++) {
4947
+ const d = [];
4892
4948
  for (let u = l.c1; u <= l.c2; u++) {
4893
4949
  if (((n = (r = e.getColumnDef(u)) == null ? void 0 : r.isVisible) == null ? void 0 : n.call(r)) === !1) continue;
4894
- const g = t.isSelected(c, u) ? e.getBodyModel().getTextValueAt(c, u) : "";
4895
- h.push(g);
4950
+ const p = t.isSelected(a, u) ? e.getBodyModel().getTextValueAt(a, u) : "";
4951
+ d.push(p);
4896
4952
  }
4897
- a.push(h.join(z.columnSeparatorChar));
4953
+ c.push(d.join(z.columnSeparatorChar));
4898
4954
  }
4899
- return o(a.join(z.rowSeparatorChar));
4955
+ return o(c.join(z.rowSeparatorChar));
4900
4956
  }
4901
4957
  }
4902
4958
  if (s) {
4903
- const [l, a] = s.getFocus(), c = e.getBodyModel().getTextValueAt(l, a);
4904
- return o(c);
4959
+ const [l, c] = s.getFocus(), a = e.getBodyModel().getTextValueAt(l, c);
4960
+ return o(a);
4905
4961
  }
4906
4962
  i("Cannot copy, neither selection nor focus defined.");
4907
4963
  });
@@ -4955,10 +5011,10 @@ const z = class z {
4955
5011
  };
4956
5012
  z.columnSeparatorChar = " ", z.rowSeparatorChar = `
4957
5013
  `;
4958
- let te = z;
4959
- class Mt {
5014
+ let se = z;
5015
+ class At {
4960
5016
  constructor(e, t = 500) {
4961
- this.tableScope = e, this.debounceDelay = t, this.disconnected = !1, this.resizeObserver = new ResizeObserver(Ye(this.handleResize.bind(this), t)), this.resizeObserver.observe(this.tableScope.hostElement);
5017
+ this.tableScope = e, this.debounceDelay = t, this.disconnected = !1, this.resizeObserver = new ResizeObserver(Ke(this.handleResize.bind(this), t)), this.resizeObserver.observe(this.tableScope.hostElement);
4962
5018
  }
4963
5019
  /**
4964
5020
  * Stops observing the host element. Called by {@link TableScope.destroy}.
@@ -4973,23 +5029,33 @@ class Mt {
4973
5029
  this.tableScope.recalcColumnWidths(s);
4974
5030
  }
4975
5031
  }
4976
- let q;
4977
- function It(d) {
4978
- if (!q) {
4979
- q = new Uint32Array(256);
5032
+ let Z;
5033
+ function Te(h) {
5034
+ if (!Z) {
5035
+ Z = new Uint32Array(256);
4980
5036
  for (let t = 0; t < 256; t++) {
4981
5037
  let s = t;
4982
5038
  for (let o = 0; o < 8; o++)
4983
5039
  s = s & 1 ? 3988292384 ^ s >>> 1 : s >>> 1;
4984
- q[t] = s >>> 0;
5040
+ Z[t] = s >>> 0;
4985
5041
  }
4986
5042
  }
4987
5043
  let e = 4294967295;
4988
- for (let t = 0; t < d.length; t++)
4989
- e = q[(e ^ d[t]) & 255] ^ e >>> 8;
5044
+ for (let t = 0; t < h.length; t++)
5045
+ e = Z[(e ^ h[t]) & 255] ^ e >>> 8;
4990
5046
  return (e ^ 4294967295) >>> 0;
4991
5047
  }
4992
- class Tt {
5048
+ async function Mt(h) {
5049
+ const e = globalThis.CompressionStream;
5050
+ if (!(!e || typeof Response > "u" || typeof Blob > "u"))
5051
+ try {
5052
+ const t = new Blob([h]).stream().pipeThrough(new e("deflate-raw"));
5053
+ return new Uint8Array(await new Response(t).arrayBuffer());
5054
+ } catch {
5055
+ return;
5056
+ }
5057
+ }
5058
+ class It {
4993
5059
  /**
4994
5060
  * Downloads a matrix data as an Excel file.
4995
5061
  *
@@ -5004,14 +5070,25 @@ class Tt {
5004
5070
  throw new Error("Invalid matrix format. Expected a 2D array.");
5005
5071
  if ((t == null ? void 0 : t.trim()) === "")
5006
5072
  throw new Error("Invalid filename. Filename must be a non-empty string.");
5007
- try {
5008
- const o = this.generateBuffer(e, s), i = new Blob([o], {
5009
- type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
5010
- }), r = document.createElement("a");
5011
- r.href = URL.createObjectURL(i), r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r);
5012
- } catch (o) {
5073
+ return this.createExcelBlob(e, s).then((o) => {
5074
+ const i = URL.createObjectURL(o), r = document.createElement("a");
5075
+ r.href = i, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), setTimeout(() => URL.revokeObjectURL(i), 1e3);
5076
+ }).catch((o) => {
5013
5077
  throw console.error("Error generating Excel file:", o), new Error("Failed to download Excel file.");
5014
- }
5078
+ });
5079
+ }
5080
+ /**
5081
+ * Creates the .xlsx file as a Blob (compressed), e.g. to upload it instead of downloading it.
5082
+ *
5083
+ * @example
5084
+ * const blob = await new ExcelService().createExcelBlob([["Name", "City"], ["Ann", "Berlin"]]);
5085
+ * await fetch("/api/upload", { method: "POST", body: blob });
5086
+ */
5087
+ async createExcelBlob(e, t = "") {
5088
+ const s = await this.createZipCompressed(this.generateMap(e, t));
5089
+ return new Blob([s], {
5090
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
5091
+ });
5015
5092
  }
5016
5093
  generateMap(e, t = "") {
5017
5094
  const s = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -5020,11 +5097,11 @@ class Tt {
5020
5097
  <cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>${t}</dc:creator><cp:lastModifiedBy>${t}</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">2024-12-13T19:45:08Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2024-12-13T19:45:35Z</dcterms:modified></cp:coreProperties>`, r = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5021
5098
  <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/></Relationships>`, n = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5022
5099
  <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
- <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
- <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"?>
5100
+ <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>`, c = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5101
+ <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>`, a = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5102
+ <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
5103
  <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;
5104
+ 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", c), u.set("xl/workbook.xml", a), u.set("[Content_Types].xml", d), u;
5028
5105
  }
5029
5106
  getX1WorksheetsSheet1Xml(e) {
5030
5107
  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 = [];
@@ -5039,15 +5116,15 @@ class Tt {
5039
5116
  const r = e[i];
5040
5117
  o.push(`<row r="${i + 1}" spans="1:${t}" x14ac:dyDescent="0.2">`);
5041
5118
  for (let n = 0; n < r.length; n++) {
5042
- const l = r[n], a = this.getCellAddress(i, n);
5119
+ const l = r[n], c = this.getCellAddress(i, n);
5043
5120
  if (typeof l == "number")
5044
- o.push(`<c r="${a}"><v>${l}</v></c>`);
5121
+ o.push(`<c r="${c}"><v>${l}</v></c>`);
5045
5122
  else if (l instanceof Date) {
5046
- const c = l;
5047
- o.push(`<c r="${a}" t="inlineStr"><is><t>${c.toISOString()}</t></is></c>`);
5123
+ const a = l;
5124
+ o.push(`<c r="${c}" t="inlineStr"><is><t>${a.toISOString()}</t></is></c>`);
5048
5125
  } else {
5049
- const c = l != null ? this.escapeXml(String(l)) : "";
5050
- o.push(`<c r="${a}" t="inlineStr"><is><t>${c}</t></is></c>`);
5126
+ const a = l != null ? this.escapeXml(String(l)) : "";
5127
+ o.push(`<c r="${c}" t="inlineStr"><is><t>${a}</t></is></c>`);
5051
5128
  }
5052
5129
  }
5053
5130
  o.push("</row>");
@@ -5065,49 +5142,69 @@ class Tt {
5065
5142
  o = s[t % 26] + o, t = Math.floor(t / 26) - 1;
5066
5143
  return `${o}${e + 1}`;
5067
5144
  }
5145
+ /**
5146
+ * ZIP without compression (method 0, synchronous). Kept for compatibility –
5147
+ * downloads use {@link createZipCompressed}.
5148
+ */
5068
5149
  createZip(e) {
5069
5150
  const t = [];
5070
- let s = 0;
5071
- 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);
5074
- 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
- path: u,
5076
- offset: s,
5077
- contentSize: p.length,
5078
- crc: m
5079
- }), s += f.length + p.length;
5080
- });
5081
- 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;
5151
+ return e.forEach((s, o) => {
5152
+ const i = new TextEncoder().encode(s);
5153
+ t.push({ path: new TextEncoder().encode(o), data: i, size: i.length, crc: Te(i), method: 0 });
5154
+ }), this.assembleZip(t);
5155
+ }
5156
+ /**
5157
+ * ZIP with DEFLATE (method 8) via the browser's CompressionStream; falls back to stored entries
5158
+ * where that is not available. 100,000 rows × 7 columns: ~40 MB stored → a few MB compressed.
5159
+ */
5160
+ async createZipCompressed(e) {
5161
+ const t = [];
5162
+ for (const [s, o] of Array.from(e.entries())) {
5163
+ const i = new TextEncoder().encode(o), r = await Mt(i), n = !!r && r.length < i.length;
5164
+ t.push({
5165
+ path: new TextEncoder().encode(s),
5166
+ data: n ? r : i,
5167
+ size: i.length,
5168
+ crc: Te(i),
5169
+ // CRC of the UNcompressed data
5170
+ method: n ? 8 : 0
5171
+ });
5172
+ }
5173
+ return this.assembleZip(t);
5174
+ }
5175
+ assembleZip(e) {
5176
+ const t = [], s = [];
5177
+ let o = 0;
5178
+ for (const a of e) {
5179
+ const d = new Uint8Array(30 + a.path.length), u = new DataView(d.buffer);
5180
+ d.set([80, 75, 3, 4], 0), u.setUint16(4, 20, !0), u.setUint16(6, 0, !0), u.setUint16(8, a.method, !0), u.setUint16(10, 0, !0), u.setUint16(12, 33, !0), u.setUint32(14, a.crc, !0), u.setUint32(18, a.data.length, !0), u.setUint32(22, a.size, !0), u.setUint16(26, a.path.length, !0), u.setUint16(28, 0, !0), d.set(a.path, 30), t.push(d, a.data), s.push(o), o += d.length + a.data.length;
5181
+ }
5182
+ const i = o;
5183
+ e.forEach((a, d) => {
5184
+ const u = new Uint8Array(46 + a.path.length), p = new DataView(u.buffer);
5185
+ u.set([80, 75, 1, 2], 0), p.setUint16(4, 20, !0), p.setUint16(6, 20, !0), p.setUint16(8, 0, !0), p.setUint16(10, a.method, !0), p.setUint16(12, 0, !0), p.setUint16(14, 33, !0), p.setUint32(16, a.crc, !0), p.setUint32(20, a.data.length, !0), p.setUint32(24, a.size, !0), p.setUint16(28, a.path.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, s[d], !0), u.set(a.path, 46), t.push(u), o += u.length;
5085
5186
  });
5086
5187
  const r = new Uint8Array(22), n = new DataView(r.buffer);
5087
- 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);
5188
+ r.set([80, 75, 5, 6], 0), n.setUint16(8, e.length, !0), n.setUint16(10, e.length, !0), n.setUint32(12, o - i, !0), n.setUint32(16, i, !0), t.push(r);
5189
+ const l = new Uint8Array(t.reduce((a, d) => a + d.length, 0));
5089
5190
  let c = 0;
5090
- for (const h of t)
5091
- a.set(h, c), c += h.length;
5092
- return a;
5093
- }
5094
- generateBuffer(e, t = "") {
5095
- const s = this.generateMap(e, t);
5096
- return this.createZip(s);
5191
+ for (const a of t)
5192
+ l.set(a, c), c += a.length;
5193
+ return l;
5097
5194
  }
5098
5195
  }
5099
- class Ge extends ut {
5100
- constructor(e, t, s, o, i, r = new te(), n = new Tt()) {
5101
- var c;
5102
- 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)));
5196
+ class ze extends gt {
5197
+ constructor(e, t, s, o, i, r = new se(), n = new It()) {
5198
+ var a;
5199
+ if (super(e, t, new it(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 yt(this), this.api = new lt(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 pe()), (a = this.tableOptions) != null && a.autoRestoreOptions) {
5200
+ const d = this.tableOptions.autoRestoreOptions, u = d.getStorageKeyFn;
5201
+ u && (d.autoRestoreScrollPosition && (this.storeScrollPosStateService = new at(u)), d.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new dt(u)), d.autoRestoreSortingState && (this.storeSortingService = new ht(u)));
5105
5202
  }
5106
- 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);
5203
+ this.mouseHandler = new nt(this), this.inputHandler = new ft(this), this.resizeHandler = new At(this, o.resizeEventDebounceDelay), this.shortcutService = new Ct(this), this.shortcutService.addListener(this.selectionService);
5107
5204
  const l = this.getSelectionModel ? this.getSelectionModel() : void 0;
5108
5205
  l && l.addEventSelectionChangedListener(this);
5109
- const a = this.getFocusModel ? this.getFocusModel() : void 0;
5110
- a && a.addEventFocusChangedListener(this);
5206
+ const c = this.getFocusModel ? this.getFocusModel() : void 0;
5207
+ c && c.addEventFocusChangedListener(this);
5111
5208
  }
5112
5209
  /**
5113
5210
  * Creates a TableScope instance.
@@ -5121,8 +5218,8 @@ class Ge extends ut {
5121
5218
  *
5122
5219
  * @return {TableScope} - The newly created TableScope instance.
5123
5220
  */
5124
- static create(e, t, s = new J(), o = new he(), i = new St(), r = new te()) {
5125
- return new Ge(e, t, i, s, o, r);
5221
+ static create(e, t, s = new q(), o = new pe(), i = new vt(), r = new se()) {
5222
+ return new ze(e, t, i, s, o, r);
5126
5223
  }
5127
5224
  /**
5128
5225
  * Triggers an action based on the provided actionId.
@@ -5151,7 +5248,7 @@ class Ge extends ut {
5151
5248
  }
5152
5249
  updateModelValueAfterEdit(e, t, s, o) {
5153
5250
  var i, r;
5154
- e === "body" && this.tableModel.getAreaModel(e).setValue(t, s, o) && (this.resetEditorRenderer(), this.repaint(), (r = (i = this.eventListener).onModelChanged) == null || r.call(i, Se.createSingle(t, s)), this.hostElement.focus());
5251
+ e === "body" && this.tableModel.getAreaModel(e).setValue(t, s, o) && (this.resetEditorRenderer(), this.repaint(), (r = (i = this.eventListener).onModelChanged) == null || r.call(i, ve.createSingle(t, s)), this.hostElement.focus());
5155
5252
  }
5156
5253
  /**
5157
5254
  * Retrieves the TableApi object.
@@ -5211,7 +5308,7 @@ class Ge extends ut {
5211
5308
  * @return {GeMouseEvent} - The created GeMouseEvent object.
5212
5309
  */
5213
5310
  createGeMouseEvent(e) {
5214
- const t = new be();
5311
+ const t = new ye();
5215
5312
  if (t.originalEvent = e, e) {
5216
5313
  const s = e.target;
5217
5314
  if ([t.areaIdent, t.sideIdent] = this.getAreaAndSideIdentByAttr(s), t.rowIndex = this.getNumberByAttr(s, "data-row-index"), t.columnIndex = this.getNumberByAttr(s, "data-col-index"), t.action = this.getStringByAttr(s, "data-ge-action"), t.areaIdent) {
@@ -5290,7 +5387,7 @@ class Ge extends ut {
5290
5387
  toggleExpandCollapseAll(e = !0) {
5291
5388
  var s;
5292
5389
  const t = this.tableModel.getBodyModel();
5293
- de(t) && (t.toggleExpandCollapseAll(e), this.repaint(), (s = this.storeStateCollapsedExpandService) == null || s.collapsedStateAll(e));
5390
+ ue(t) && (t.toggleExpandCollapseAll(e), this.repaint(), (s = this.storeStateCollapsedExpandService) == null || s.collapsedStateAll(e));
5294
5391
  }
5295
5392
  /**
5296
5393
  * Toggles the checkbox state of a specific row in a table.
@@ -5302,11 +5399,11 @@ class Ge extends ut {
5302
5399
  * @return {void} - This method does not return anything.
5303
5400
  */
5304
5401
  toggleRowCheckbox(e, t, s) {
5305
- var l, a, c;
5402
+ var l, c, a;
5306
5403
  const o = this.tableModel.getAreaModel(s), i = o.isRowChecked(e), r = i === void 0 || i === "semi" || i === "none";
5307
5404
  o.setRowChecked(e, r), this.repaint();
5308
5405
  const n = (l = o.rowSelectionModel) == null ? void 0 : l.getCheckedRows();
5309
- (c = (a = this.eventListener).onCheckboxChanged) == null || c.call(a, n || []);
5406
+ (a = (c = this.eventListener).onCheckboxChanged) == null || a.call(c, n || []);
5310
5407
  }
5311
5408
  /**
5312
5409
  * Handle mouse click events.
@@ -5359,13 +5456,25 @@ class Ge extends ut {
5359
5456
  * @return {void}
5360
5457
  */
5361
5458
  onHeaderDblClicked(e, t, s) {
5362
- var i, r;
5363
5459
  const o = this.tableModel.getColumnDef(s);
5364
- if (o != null && o.sortable && o.sortable()) {
5365
- 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]);
5368
- }
5460
+ o != null && o.sortable && o.sortable() && (e.preventDefault(), e.stopPropagation(), this.sortByColumn(s));
5461
+ }
5462
+ /**
5463
+ * Sorts the body by one column – the same as a double click on its header (header icon, filter and
5464
+ * auto-restore included). Without `sortState` the next state of the column's sort order is used
5465
+ * (asc → desc → asc …).
5466
+ *
5467
+ * @param {number | string} column - column index or property, e.g. 10 or "total"
5468
+ * @param {SortState} [sortState] - "asc", "desc" or "" (unsorted icon, rows keep their current order)
5469
+ * @returns {boolean} false if the column does not exist
5470
+ */
5471
+ sortByColumn(e, t) {
5472
+ var a, d;
5473
+ const s = typeof e == "number" ? e : (this.tableModel.getColumnDefs() ?? []).findIndex((u) => u.property === e), o = this.tableModel.getColumnDef(s);
5474
+ if (!o)
5475
+ return !1;
5476
+ const i = o.sortStatesOrder ? o.sortStatesOrder : this.tableOptions.sortOrder, r = o.sortState ?? "", n = t ?? i[(i.indexOf(r) + 1) % i.length], l = new Ie(s, n);
5477
+ return this.tableModel.doSort([l]) && (this.lastSortCompareFn = void 0, (a = this.tableModel.getColumnDefs()) == null || a.forEach((u) => u.sortState = ""), o.sortState = n), this.repaint(), (d = this.storeSortingService) == null || d.setSortItems([l]), !0;
5369
5478
  }
5370
5479
  /**
5371
5480
  * Scrolls the viewport to the specified pixel coordinates.
@@ -5401,7 +5510,7 @@ class Ge extends ut {
5401
5510
  var t, s;
5402
5511
  super.adjustAfterScrolling();
5403
5512
  const e = this.scrollViewport;
5404
- (s = (t = this.eventListener).onScroll) == null || s.call(t, new ft(
5513
+ (s = (t = this.eventListener).onScroll) == null || s.call(t, new bt(
5405
5514
  this.scrollTop,
5406
5515
  this.scrollLeft,
5407
5516
  e.scrollHeight,
@@ -5517,7 +5626,14 @@ class Ge extends ut {
5517
5626
  var e, t;
5518
5627
  if ((t = (e = this.tableOptions) == null ? void 0 : e.autoRestoreOptions) != null && t.autoRestoreSortingState && this.storeSortingService) {
5519
5628
  const s = this.storeSortingService.getSortItems();
5520
- s != null && s.length && this.tableModel.getBodyModel().doSort(s);
5629
+ if (s != null && s.length) {
5630
+ this.tableModel.getBodyModel().doSort(s);
5631
+ const i = this.tableModel.getColumnDefs();
5632
+ i && (i.forEach((r) => r.sortState = ""), s.forEach((r) => {
5633
+ const n = i[r.columnIndex];
5634
+ n && (n.sortState = r.sortState);
5635
+ }));
5636
+ }
5521
5637
  }
5522
5638
  }
5523
5639
  /**
@@ -5527,28 +5643,23 @@ class Ge extends ut {
5527
5643
  * @private
5528
5644
  */
5529
5645
  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();
5646
+ var i;
5647
+ const e = this.storeStateCollapsedExpandService, t = (i = this.tableOptions) == null ? void 0 : i.autoRestoreOptions, s = t == null ? void 0 : t.getRowId;
5648
+ if (!e || !s || !(t != null && t.autoRestoreCollapsedExpandedState) || !e.hasStoredState()) return;
5649
+ const o = this.tableModel.getAreaModel("body");
5650
+ if (ue(o)) {
5651
+ const r = o, n = e.collapsedExpandedStateGet(), l = (c) => c == null ? void 0 : c.forEach((a) => {
5652
+ if (n.allExpanded)
5653
+ a.expanded = !0;
5654
+ else if (n.allCollapsed)
5655
+ a.expanded = !1;
5656
+ else {
5657
+ const d = e.collapsedExpandedStateIncludes(s(a.data));
5658
+ a.expanded = n.mode === "expanded" ? d : !d;
5550
5659
  }
5551
- }
5660
+ l(a.children);
5661
+ });
5662
+ l(r.rows), r.recalcVisibleTreeRows();
5552
5663
  }
5553
5664
  }
5554
5665
  /**
@@ -5566,32 +5677,31 @@ class Ge extends ut {
5566
5677
  if (!e)
5567
5678
  return console.warn("Body model is not available."), [];
5568
5679
  const s = 30, o = Array.from({ length: t }, () => /* @__PURE__ */ new Set()), i = new Array(t).fill(0), r = (u) => {
5569
- var m, f;
5570
- const g = this.tableModel.getAreaModel(u), p = (g == null ? void 0 : g.getRowCount()) ?? 0;
5571
- for (let b = 0; b < p; b++)
5680
+ var m, g;
5681
+ const p = this.tableModel.getAreaModel(u), f = (p == null ? void 0 : p.getRowCount()) ?? 0;
5682
+ for (let y = 0; y < f; y++)
5572
5683
  for (let w = 0; w < t; w++) {
5573
- const v = ((m = g.getTextValueAt) == null ? void 0 : m.call(g, b, w)) || (((f = g.getValueAt(b, w)) == null ? void 0 : f.toString()) ?? ""), I = v.length;
5574
- if (I > i[w]) {
5575
- i[w] = I;
5576
- for (const x of o[w]) x.length < I - 2 && o[w].delete(x);
5577
- }
5578
- I >= i[w] - 2 && o[w].size < s && o[w].add(v);
5684
+ const v = ((m = p.getTextValueAt) == null ? void 0 : m.call(p, y, w)) || (((g = p.getValueAt(y, w)) == null ? void 0 : g.toString()) ?? ""), I = v.length;
5685
+ I > i[w] && (i[w] = I, o[w].forEach((x) => {
5686
+ x.length < I - 2 && o[w].delete(x);
5687
+ })), I >= i[w] - 2 && o[w].size < s && o[w].add(v);
5579
5688
  }
5580
5689
  };
5581
5690
  r("header"), r("body"), r("footer");
5582
- const n = this.hostElement.querySelector(".ge-table-label"), l = getComputedStyle(n ?? this.hostElement), a = n ? (parseFloat(l.paddingLeft) || 0) + (parseFloat(l.paddingRight) || 0) : 20;
5583
- let c = null;
5691
+ const n = this.hostElement.querySelector(".ge-table-label"), l = getComputedStyle(n ?? this.hostElement), c = n ? (parseFloat(l.paddingLeft) || 0) + (parseFloat(l.paddingRight) || 0) : 20;
5692
+ let a = null;
5584
5693
  try {
5585
- c = document.createElement("canvas").getContext("2d");
5694
+ a = document.createElement("canvas").getContext("2d");
5586
5695
  } catch {
5587
- c = null;
5696
+ a = null;
5588
5697
  }
5589
- c && (c.font = l.font || `${l.fontSize} ${l.fontFamily}`);
5590
- const h = (u) => c ? c.measureText(u).width : u.length * 8;
5698
+ a && (a.font = l.font || `${l.fontSize} ${l.fontFamily}`);
5699
+ const d = (u) => a ? a.measureText(u).width : u.length * 8;
5591
5700
  return o.map((u) => {
5592
- let g = 0;
5593
- for (const p of u) g = Math.max(g, h(p));
5594
- return Math.max(Math.ceil(g + a + 2), 50);
5701
+ let p = 0;
5702
+ return u.forEach((f) => {
5703
+ p = Math.max(p, d(f));
5704
+ }), Math.max(Math.ceil(p + c + 2), 50);
5595
5705
  });
5596
5706
  }
5597
5707
  setColumnWidth(e, t) {
@@ -5629,7 +5739,7 @@ class Ge extends ut {
5629
5739
  }
5630
5740
  const e = [];
5631
5741
  (t = this.tableModel.getColumnDefs()) == null || t.forEach((s, o) => {
5632
- s.sortState && e.push(new Me(o, s.sortState));
5742
+ s.sortState && e.push(new Ie(o, s.sortState));
5633
5743
  }), e.length && this.tableModel.doSort(e);
5634
5744
  }
5635
5745
  /**
@@ -5688,16 +5798,16 @@ class Ge extends ut {
5688
5798
  return e < t ? (this.scrollToIndex(0, e), !0) : e > s ? (this.scrollToIndex(0, e - o + 1), !0) : !1;
5689
5799
  }
5690
5800
  }
5691
- class qt extends he {
5801
+ class Jt extends pe {
5692
5802
  constructor(e) {
5693
5803
  super(), this.onCheckboxChangedCallback = e, super.onCheckboxChanged = (t) => {
5694
5804
  this.onCheckboxChangedCallback(t);
5695
5805
  };
5696
5806
  }
5697
5807
  }
5698
- const ie = class ie {
5808
+ const re = class re {
5699
5809
  };
5700
- ie.themes = ["light", "combat", "paper", "blackboard"], ie.vars = {
5810
+ re.themes = ["light", "combat", "paper", "blackboard"], re.vars = {
5701
5811
  light: `html[data-theme="light"] {
5702
5812
  --ge-table-bg: rgba(255,255,255, 0.5);
5703
5813
  --ge-table-header-west-bg: rgba(233, 233, 233, 0.5);
@@ -5931,52 +6041,62 @@ ie.themes = ["light", "combat", "paper", "blackboard"], ie.vars = {
5931
6041
  --ge-table-drop-zone-bg: #758129;
5932
6042
  }`
5933
6043
  };
5934
- let Te = ie;
5935
- class Ee {
6044
+ let ke = re;
6045
+ class ce {
5936
6046
  constructor(e, t = !0, s, o, i = 0, r = !1, n = !1) {
5937
6047
  this.data = e, this.expanded = t, this.children = s, this.parent = o, this.deep = i, this.checked = r, this.keep = n, this.type = "TreeRow";
5938
6048
  }
5939
6049
  }
5940
- class ue {
5941
- static buildTreeRows(e, t = "children", s = 12) {
5942
- const o = [];
5943
- for (const i of e)
5944
- o.push(ue.buildTreeRow(i, t, void 0, 0, s));
5945
- return o;
6050
+ class Y {
6051
+ /**
6052
+ * Builds tree rows (input for `TableFactory.createTableModel({ rows })`) from nested objects.
6053
+ *
6054
+ * @param data - the top-level objects
6055
+ * @param childrenPropertyOrOptions - name of the children property (default "children") or {@link TreeFactoryOptions}
6056
+ * @param deepMaxLimit - maximum depth (default 12; ignored when options are passed)
6057
+ * @param expanded - expanded state of the rows (default true; ignored when options are passed)
6058
+ *
6059
+ * @example
6060
+ * const rows = TreeFactory.buildTreeRows<OrderNode>(data, { childrenProperty: "children", expanded: false });
6061
+ */
6062
+ static buildTreeRows(e, t = "children", s = 12, o = !0) {
6063
+ const i = typeof t == "string" ? { childrenProperty: t, deepMaxLimit: s, expanded: o } : t, r = i.childrenProperty ?? "children", n = i.deepMaxLimit ?? 12, l = Y.toExpandedFn(i.expanded ?? !0), c = [];
6064
+ for (const a of e) {
6065
+ const d = new ce(a, l(a, 0), [], void 0, 0);
6066
+ c.push(Y.buildTreeRow(a, r, d, 0, n, l));
6067
+ }
6068
+ return c;
5946
6069
  }
5947
- static buildTreeRow(e, t = "children", s = new Ee(e, !0, [], void 0, 0), o = 0, i = 12) {
5948
- var n;
6070
+ static buildTreeRow(e, t = "children", s = new ce(e, !0, [], void 0, 0), o = 0, i = 12, r = !0) {
6071
+ var c;
5949
6072
  if (o > i)
5950
6073
  return console.warn("Max deep limit reached: ", o), s;
5951
- const r = e[t];
5952
- if (r)
5953
- for (const l of r) {
5954
- const a = new Ee(l, !0, [], s, o + 1);
5955
- if ((n = s.children) == null || n.push(a), ue.buildTreeRow(
5956
- l,
5957
- t,
5958
- a,
5959
- o + 1
5960
- ), o > i)
5961
- return console.warn("Max deep limit reached: ", o), s;
6074
+ const n = Y.toExpandedFn(r), l = e[t];
6075
+ if (l)
6076
+ for (const a of l) {
6077
+ const d = new ce(a, n(a, o + 1), [], s, o + 1);
6078
+ (c = s.children) == null || c.push(d), Y.buildTreeRow(a, t, d, o + 1, i, n);
5962
6079
  }
5963
6080
  return s;
5964
6081
  }
6082
+ static toExpandedFn(e) {
6083
+ return typeof e == "function" ? e : () => e;
6084
+ }
5965
6085
  }
5966
- class Y {
6086
+ class K {
5967
6087
  constructor(e = 34, t = 34, s = 34) {
5968
6088
  this.header = e, this.body = t, this.footer = s;
5969
6089
  }
5970
6090
  }
5971
- class y {
6091
+ class b {
5972
6092
  constructor(e = 100, t = "px") {
5973
6093
  this.value = e, this.unit = t;
5974
6094
  }
5975
6095
  }
5976
- const Et = () => !0, kt = () => !1;
6096
+ const Et = () => !0, Tt = () => !1;
5977
6097
  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"));
6098
+ constructor(e, t, s = new b(100, "px"), o = new k(), i = new k(), r = new b(100, "px"), n = new b(100, "px"), l, c, a, d, u, p, f, m, g = () => this.visible) {
6099
+ 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 = c, this.sortState = a, this.sortStatesOrder = d, this.sortIconVisible = u, this.editable = p, this.getEditRenderer = f, this.editInputPipe = m, this.isVisible = g, this.visible = !0, s.unit !== "px" && (this.minWidth = new b(0, "px"), this.maxWidth = new b(1e5, "px"));
5980
6100
  }
5981
6101
  static bodyRenderer(e) {
5982
6102
  return new k(
@@ -5994,15 +6114,15 @@ class W {
5994
6114
  e.headerClasses,
5995
6115
  e.bodyClasses,
5996
6116
  e.footerClasses
5997
- ), o = e.sortIconVisible ?? e.sortable, i = e.editable ?? e.editable ?? kt, r = e.isVisible ?? e.isVisible ?? Et;
6117
+ ), o = e.sortIconVisible ?? e.sortable, i = e.editable ?? e.editable ?? Tt, r = e.isVisible ?? e.isVisible ?? Et;
5998
6118
  return new W(
5999
6119
  e.property ?? "",
6000
6120
  e.headerLabel ?? "",
6001
- e.width ?? new y(100, "px"),
6121
+ e.width ?? new b(100, "px"),
6002
6122
  s,
6003
6123
  t,
6004
- e.minWidth ?? new y(100, "px"),
6005
- e.maxWidth ?? new y(100, "px"),
6124
+ e.minWidth ?? new b(100, "px"),
6125
+ e.maxWidth ?? new b(100, "px"),
6006
6126
  e.sortable,
6007
6127
  e.sortComparator,
6008
6128
  e.sortState,
@@ -6015,8 +6135,8 @@ class W {
6015
6135
  );
6016
6136
  }
6017
6137
  }
6018
- const Zt = new y(500, "px"), Qt = new y(400, "px"), Dt = new y(300, "px"), es = new y(290, "px"), ts = new y(280, "px"), ss = new y(270, "px"), os = new y(260, "px"), is = new y(250, "px"), rs = new y(240, "px"), ns = new y(230, "px"), ls = new y(220, "px"), as = new y(210, "px"), ke = new y(200, "px"), cs = new y(190, "px"), ds = new y(180, "px"), hs = new y(170, "px"), us = new y(160, "px"), ps = new y(150, "px"), gs = new y(140, "px"), fs = new y(130, "px"), ms = new y(120, "px"), bs = new y(110, "px"), ys = new y(100, "px"), ws = new y(90, "px"), xs = new y(80, "px"), Ss = new y(70, "px"), Cs = new y(60, "px"), vs = new y(50, "px"), Rs = new y(40, "px"), As = new y(30, "px"), Ms = new y(20, "px"), Is = new y(10, "px"), Ts = new y(0, "px");
6019
- class F extends ye {
6138
+ const qt = new b(500, "px"), Zt = new b(400, "px"), kt = new b(300, "px"), Qt = new b(290, "px"), es = new b(280, "px"), ts = new b(270, "px"), ss = new b(260, "px"), os = new b(250, "px"), is = new b(240, "px"), rs = new b(230, "px"), ns = new b(220, "px"), ls = new b(210, "px"), De = new b(200, "px"), as = new b(190, "px"), cs = new b(180, "px"), ds = new b(170, "px"), hs = new b(160, "px"), us = new b(150, "px"), ps = new b(140, "px"), gs = new b(130, "px"), fs = new b(120, "px"), ms = new b(110, "px"), bs = new b(100, "px"), ys = new b(90, "px"), ws = new b(80, "px"), xs = new b(70, "px"), Ss = new b(60, "px"), Cs = new b(50, "px"), vs = new b(40, "px"), Rs = new b(30, "px"), As = new b(20, "px"), Ms = new b(10, "px"), Is = new b(0, "px");
6139
+ class F extends we {
6020
6140
  constructor(e, t, s, o = []) {
6021
6141
  super(e, o, s), this.areaIdent = e, this.arr = t, this.defaultRowHeight = s, this.columnDefs = o, this.filteredArr = [...t];
6022
6142
  }
@@ -6127,7 +6247,7 @@ class P {
6127
6247
  changeColumnOrder(e, t) {
6128
6248
  }
6129
6249
  }
6130
- class Ft {
6250
+ class Dt {
6131
6251
  flattenTree(e, t = []) {
6132
6252
  var s;
6133
6253
  for (const o of e)
@@ -6138,9 +6258,9 @@ class Ft {
6138
6258
  return e.parent ? e.parent.expanded ? this.isVisible(e.parent) : !1 : !0;
6139
6259
  }
6140
6260
  }
6141
- class se extends ye {
6261
+ class oe extends we {
6142
6262
  constructor(e, t, s, o = []) {
6143
- super(e, o, s), this.areaIdent = e, this.rows = t, this.defaultRowHeight = s, this.columnDefs = o, this.type = "AreaModelTree", this.sorterService = new we(), this.service = new Ft(), this.properties = o.map((i) => i.property), this.flattenRows = this.service.flattenTree(t), this.filteredFlattenRows = [...this.flattenRows];
6263
+ super(e, o, s), this.areaIdent = e, this.rows = t, this.defaultRowHeight = s, this.columnDefs = o, this.type = "AreaModelTree", this.sorterService = new xe(), this.service = new Dt(), this.properties = o.map((i) => i.property), this.flattenRows = this.service.flattenTree(t), this.filteredFlattenRows = [...this.flattenRows];
6144
6264
  }
6145
6265
  changeColumnOrder(e, t) {
6146
6266
  this.arrayMove(this.properties, e, t), super.changeColumnOrder(e, t);
@@ -6176,7 +6296,7 @@ class se extends ye {
6176
6296
  * @returns {number | undefined} The constant row height or `undefined`.
6177
6297
  */
6178
6298
  getConstantRowHeight() {
6179
- return this.getRowHeight === se.prototype.getRowHeight && this.defaultRowHeight > 0 ? this.defaultRowHeight : void 0;
6299
+ return this.getRowHeight === oe.prototype.getRowHeight && this.defaultRowHeight > 0 ? this.defaultRowHeight : void 0;
6180
6300
  }
6181
6301
  getCustomClassesAt(e, t) {
6182
6302
  return ["ge-table-tree-cell", "ge-table-tree-deep-" + this.filteredFlattenRows[e].deep];
@@ -6253,7 +6373,7 @@ class se extends ye {
6253
6373
  o.children && this.treeSort(o.children, t, s);
6254
6374
  }
6255
6375
  }
6256
- class De {
6376
+ class Fe {
6257
6377
  constructor(e = []) {
6258
6378
  this.allRootNodes = e;
6259
6379
  }
@@ -6313,12 +6433,12 @@ class De {
6313
6433
  s.checked && t.push(s), s.children && this.addSelectedRecursive(s.children, t);
6314
6434
  }
6315
6435
  }
6316
- class pe {
6436
+ class ge {
6317
6437
  constructor(e = 0, t = 0, s = 0, o = 0) {
6318
6438
  this.top = e, this.right = t, this.bottom = s, this.left = o;
6319
6439
  }
6320
6440
  }
6321
- class Pt {
6441
+ class Ft {
6322
6442
  constructor() {
6323
6443
  this.checkedRows = [];
6324
6444
  }
@@ -6349,11 +6469,11 @@ class Pt {
6349
6469
  }
6350
6470
  }
6351
6471
  }
6352
- 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 = () => {
6472
+ class de {
6473
+ constructor(e, t, s, o = 0, i = 0, r = !1, n = new K(), l = [], c = [], a = -1, d = 0, u = 400, p = () => {
6354
6474
  }) {
6355
- 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());
6475
+ var f, m, g, y;
6476
+ 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 = c, this.overridingColumnWidth = a, this.columnCount = d, this.parentSize = u, this.getSelectionModel = p, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new ge(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", s.areaIdent = "footer", this.columnCount || ((f = this.columnDefs) != null && f.length ? this.columnCount = this.columnDefs.length : (m = this.columnSizes) != null && m.length && (this.columnCount = (g = this.columnSizes) == null ? void 0 : g.length)), (y = this.columnDefs) != null && y.length && ot(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Ft());
6357
6477
  }
6358
6478
  init() {
6359
6479
  this.recalcSize(this.parentSize), this.overridingColumnWidth === -1 && this.calcXPositions(), this.headerAreaModel && this.headerAreaModel.init(), this.bodyAreaModel && this.bodyAreaModel.init(), this.footerAreaModel && this.footerAreaModel.init();
@@ -6437,7 +6557,7 @@ class ae {
6437
6557
  */
6438
6558
  recalcPadding() {
6439
6559
  const e = this.getSideAreaWidth("west"), t = this.getSideAreaWidth("east"), s = this.getAreaHeight("header"), o = this.getAreaHeight("footer");
6440
- this.padding = new pe(
6560
+ this.padding = new ge(
6441
6561
  s,
6442
6562
  t,
6443
6563
  o,
@@ -6682,31 +6802,31 @@ class ae {
6682
6802
  var t, s, o;
6683
6803
  if (!((t = this.columnDefs) != null && t.length) && !((s = this.columnSizes) != null && s.length) && (this.columnSizes = new Array(this.getColumnCount()).fill(this.overridingColumnWidth)), (o = this.columnDefs) != null && o.length) {
6684
6804
  const i = this.columnDefs.filter((l) => {
6685
- var a;
6686
- return ((a = l.width) == null ? void 0 : a.unit) === "weight";
6805
+ var c;
6806
+ return ((c = l.width) == null ? void 0 : c.unit) === "weight";
6687
6807
  });
6688
6808
  this.columnSizes = this.columnDefs.map((l) => {
6689
6809
  if (l.width.unit === "%" && e) {
6690
- let a = Math.floor(l.width.value * e / 100);
6810
+ let c = Math.floor(l.width.value * e / 100);
6691
6811
  if (l.minWidth) {
6692
- const c = this.sizeToPixel(l.minWidth, e);
6693
- a = Math.max(c, a);
6812
+ const a = this.sizeToPixel(l.minWidth, e);
6813
+ c = Math.max(a, c);
6694
6814
  }
6695
6815
  if (l.maxWidth) {
6696
- const c = this.sizeToPixel(l.maxWidth, e);
6697
- a = Math.min(c, a);
6816
+ const a = this.sizeToPixel(l.maxWidth, e);
6817
+ c = Math.min(a, c);
6698
6818
  }
6699
- return a;
6819
+ return c;
6700
6820
  } else if (l.width.unit === "px" && e)
6701
6821
  return l.width.value;
6702
6822
  return 0;
6703
6823
  });
6704
- const r = this.columnSizes.reduce((l, a) => l + a), n = e - r;
6824
+ const r = this.columnSizes.reduce((l, c) => l + c), n = e - r;
6705
6825
  if (n > 0 && i.length) {
6706
- const l = i.map((a) => a.width.value).reduce((a, c) => a + c);
6707
- for (let a = 0; a < this.columnDefs.length; a++) {
6708
- const c = this.columnDefs[a];
6709
- c.width.unit === "weight" && (this.columnSizes[a] = c.width.value * n / l);
6826
+ const l = i.map((c) => c.width.value).reduce((c, a) => c + a);
6827
+ for (let c = 0; c < this.columnDefs.length; c++) {
6828
+ const a = this.columnDefs[c];
6829
+ a.width.unit === "weight" && (this.columnSizes[c] = a.width.value * n / l);
6710
6830
  }
6711
6831
  }
6712
6832
  }
@@ -6742,7 +6862,7 @@ class ae {
6742
6862
  return this.tableScope;
6743
6863
  }
6744
6864
  }
6745
- class Fe extends _ {
6865
+ class Pe extends _ {
6746
6866
  /**
6747
6867
  * Creates an instance of AreaModelObjectArrayWithColumndefs.
6748
6868
  *
@@ -6821,35 +6941,35 @@ class H {
6821
6941
  * Please consult each method's documentation for detailed explanation of their functionality.
6822
6942
  */
6823
6943
  static createTableModel(e) {
6824
- var t, s, o, i, r, n, l, a, c, h, u, g, p, m;
6944
+ var t, s, o, i, r, n, l, c, a, d, u, p, f, m;
6825
6945
  if (e.defaultRowHeights === void 0)
6826
6946
  if ((t = e.tableOptions) != null && t.defaultRowHeights)
6827
6947
  e.defaultRowHeights = e.tableOptions.defaultRowHeights;
6828
6948
  else {
6829
- if (e.defaultRowHeights = new Y(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
6830
- const f = e.headerAreaModel.defaultRowHeight;
6831
- f > -1 && (e.defaultRowHeights.header = f);
6949
+ if (e.defaultRowHeights = new K(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
6950
+ const g = e.headerAreaModel.defaultRowHeight;
6951
+ g > -1 && (e.defaultRowHeights.header = g);
6832
6952
  }
6833
6953
  if (e.bodyAreaModel && "defaultRowHeight" in e.bodyAreaModel) {
6834
- const f = e.bodyAreaModel.defaultRowHeight;
6835
- f > -1 && (e.defaultRowHeights.body = f);
6954
+ const g = e.bodyAreaModel.defaultRowHeight;
6955
+ g > -1 && (e.defaultRowHeights.body = g);
6836
6956
  }
6837
6957
  if (e.footerAreaModel && "defaultRowHeight" in e.footerAreaModel) {
6838
- const f = e.footerAreaModel.defaultRowHeight;
6839
- f > -1 && (e.defaultRowHeights.footer = f);
6958
+ const g = e.footerAreaModel.defaultRowHeight;
6959
+ g > -1 && (e.defaultRowHeights.footer = g);
6840
6960
  }
6841
6961
  }
6842
- if (e.columnDefs === void 0 && ((s = e.properties) != null && s.length ? e.columnDefs = e.properties.map((f) => new W(f, f.toUpperCase(), ke)) : (o = e.rows) != null && o.length ? e.columnDefs = Object.keys(e.rows[0]).map((f) => new W(f, f.toUpperCase(), ke)) : e.columnDefs = []), e.columnCount === void 0 && ((i = e.columnDefs) != null && i.length ? e.columnCount = e.columnDefs.length : (r = e.headerData) != null && r.length ? e.columnCount = e.headerData[0].length : (n = e.columnSizes) != null && n.length ? e.columnCount = (l = e.columnSizes) == null ? void 0 : l.length : console.warn('Property "columnCount" is missing and cannot be derived from other properties.')), e.headerAreaModel || ((a = e.headerData) != null && a.length ? e.headerAreaModel = new F(
6962
+ if (e.columnDefs === void 0 && ((s = e.properties) != null && s.length ? e.columnDefs = e.properties.map((g) => new W(g, g.toUpperCase(), De)) : (o = e.rows) != null && o.length ? e.columnDefs = Object.keys(e.rows[0]).map((g) => new W(g, g.toUpperCase(), De)) : e.columnDefs = []), e.columnCount === void 0 && ((i = e.columnDefs) != null && i.length ? e.columnCount = e.columnDefs.length : (r = e.headerData) != null && r.length ? e.columnCount = e.headerData[0].length : (n = e.columnSizes) != null && n.length ? e.columnCount = (l = e.columnSizes) == null ? void 0 : l.length : console.warn('Property "columnCount" is missing and cannot be derived from other properties.')), e.headerAreaModel || ((c = e.headerData) != null && c.length ? e.headerAreaModel = new F(
6843
6963
  "header",
6844
6964
  e.headerData,
6845
6965
  e.defaultRowHeights.header,
6846
6966
  e.columnDefs
6847
- ) : (c = e.columnDefs) != null && c.length ? e.headerAreaModel = new F(
6967
+ ) : (a = e.columnDefs) != null && a.length ? e.headerAreaModel = new F(
6848
6968
  "header",
6849
- [e.columnDefs.map((f) => f.headerLabel)],
6969
+ [e.columnDefs.map((g) => g.headerLabel)],
6850
6970
  e.defaultRowHeights.header,
6851
6971
  e.columnDefs
6852
- ) : e.headerAreaModel = new P("header")), e.footerAreaModel || ((h = e.footerData) != null && h.length ? e.footerAreaModel = new F(
6972
+ ) : e.headerAreaModel = new P("header")), e.footerAreaModel || ((d = e.footerData) != null && d.length ? e.footerAreaModel = new F(
6853
6973
  "footer",
6854
6974
  e.footerData,
6855
6975
  e.defaultRowHeights.footer,
@@ -6857,15 +6977,15 @@ class H {
6857
6977
  ) : e.footerAreaModel = new P("footer")), !e.bodyAreaModel)
6858
6978
  if (e.rows)
6859
6979
  if ((u = e.rows) != null && u.length && j(e.rows[0])) {
6860
- const f = e.rows;
6861
- e.bodyAreaModel = new se(
6980
+ const g = e.rows;
6981
+ e.bodyAreaModel = new oe(
6862
6982
  "body",
6863
- f,
6983
+ g,
6864
6984
  e.defaultRowHeights.body,
6865
6985
  e.columnDefs
6866
- ), (e.columnDefs[0].property === "CheckboxColumn" || (g = e.tableOptions) != null && g.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new De(f));
6986
+ ), (e.columnDefs[0].property === "CheckboxColumn" || (p = e.tableOptions) != null && p.showCheckboxWihoutExtraColumn) && (e.bodyAreaModel.rowSelectionModel = new Fe(g));
6867
6987
  } else
6868
- e.bodyAreaModel = new Fe(
6988
+ e.bodyAreaModel = new Pe(
6869
6989
  "body",
6870
6990
  e.rows,
6871
6991
  e.columnDefs,
@@ -6876,7 +6996,7 @@ class H {
6876
6996
  e.bodyData,
6877
6997
  e.defaultRowHeights.body
6878
6998
  ) : e.bodyAreaModel = new P("body");
6879
- return e.fixedLeftColumnCount === void 0 && (e.fixedLeftColumnCount = 0), e.fixedRightColumnCount === void 0 && (e.fixedRightColumnCount = 0), e.rowCheckboxVisible === void 0 && (e.rowCheckboxVisible = !1), e.overridingColumnWidth === void 0 && (e.overridingColumnWidth = -1), !e.getSelectionModel && ((p = e.tableOptions) != null && p.getSelectionModel) && (e.getSelectionModel = (m = e.tableOptions) == null ? void 0 : m.getSelectionModel), new ae(
6999
+ return e.fixedLeftColumnCount === void 0 && (e.fixedLeftColumnCount = 0), e.fixedRightColumnCount === void 0 && (e.fixedRightColumnCount = 0), e.rowCheckboxVisible === void 0 && (e.rowCheckboxVisible = !1), e.overridingColumnWidth === void 0 && (e.overridingColumnWidth = -1), !e.getSelectionModel && ((f = e.tableOptions) != null && f.getSelectionModel) && (e.getSelectionModel = (m = e.tableOptions) == null ? void 0 : m.getSelectionModel), new de(
6880
7000
  e.headerAreaModel,
6881
7001
  e.bodyAreaModel,
6882
7002
  e.footerAreaModel,
@@ -6913,7 +7033,7 @@ class H {
6913
7033
  return H.buildByTypedRows(
6914
7034
  e.rows ?? [],
6915
7035
  e.columnDefs,
6916
- e.tableOptions ?? new J(),
7036
+ e.tableOptions ?? new q(),
6917
7037
  e.fixedLeftColumnCount ?? 0,
6918
7038
  e.fixedRightColumnCount ?? 0
6919
7039
  );
@@ -6954,18 +7074,18 @@ class H {
6954
7074
  * columnDef is "CheckboxColumn". If the first column is not a checkbox column, ensure that the first columnDef does not have "CheckboxColumn"
6955
7075
  * as its property.
6956
7076
  */
6957
- static buildByTypedRows(e, t, s = new J(), o = 0, i = 0) {
7077
+ static buildByTypedRows(e, t, s = new q(), o = 0, i = 0) {
6958
7078
  const r = s.defaultRowHeights, n = t[0].property === "CheckboxColumn";
6959
7079
  if (e != null && e.length && j(e[0])) {
6960
- const a = e, c = new se(
7080
+ const c = e, a = new oe(
6961
7081
  "body",
6962
- a,
7082
+ c,
6963
7083
  r.body,
6964
7084
  t
6965
7085
  );
6966
- return (n || s.showCheckboxWihoutExtraColumn) && (c.rowSelectionModel = new De(a)), H.createByAreaModelsParam({
6967
- headerAreaModel: new F("header", [t.map((h) => h.headerLabel)], r.header),
6968
- bodyAreaModel: c,
7086
+ return (n || s.showCheckboxWihoutExtraColumn) && (a.rowSelectionModel = new Fe(c)), H.createByAreaModelsParam({
7087
+ headerAreaModel: new F("header", [t.map((d) => d.headerLabel)], r.header),
7088
+ bodyAreaModel: a,
6969
7089
  footerAreaModel: new F("footer", [], r.footer),
6970
7090
  columnDefs: t,
6971
7091
  fixedLeftColumnCount: o,
@@ -7038,7 +7158,7 @@ class H {
7038
7158
  e.fixedLeftColumnCount ?? 0,
7039
7159
  e.fixedRightColumnCount ?? 0,
7040
7160
  t,
7041
- e.defaultRowHeights ?? new Y(),
7161
+ e.defaultRowHeights ?? new K(),
7042
7162
  e.columnDefs ?? [],
7043
7163
  e.columnSizes ?? []
7044
7164
  );
@@ -7084,8 +7204,8 @@ class H {
7084
7204
  * @return A new instance of `TableModel` is created using the provided parameters.
7085
7205
  * If a parameter isn't provided, the default value is used.
7086
7206
  */
7087
- static createByAreaModels(e = new P(), t, s = new P(), o = 0, i = 0, r = !1, n = new Y(), l, a = [], c = -1, h) {
7088
- return new ae(
7207
+ static createByAreaModels(e = new P(), t, s = new P(), o = 0, i = 0, r = !1, n = new K(), l, c = [], a = -1, d) {
7208
+ return new de(
7089
7209
  e,
7090
7210
  t,
7091
7211
  s,
@@ -7094,9 +7214,9 @@ class H {
7094
7214
  r,
7095
7215
  n,
7096
7216
  l,
7097
- a,
7098
7217
  c,
7099
- h
7218
+ a,
7219
+ d
7100
7220
  );
7101
7221
  }
7102
7222
  /**
@@ -7198,26 +7318,26 @@ class H {
7198
7318
  *
7199
7319
  * Reference: For more details regarding the `DefaultRowHeightsIf`, `ColumnDefIf`, `AreaModelIf`, and `AreaModelArrayOfArrays` classes/interfaces, please refer to the respective API documents.
7200
7320
  */
7201
- static createByObjectArray(e, t = [], s = [], o = 0, i = 0, r = !1, n = new Y(), l, a = []) {
7202
- let c;
7203
- 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);
7205
- return new ae(
7206
- c,
7321
+ static createByObjectArray(e, t = [], s = [], o = 0, i = 0, r = !1, n = new K(), l, c = []) {
7322
+ let a;
7323
+ t != null && t.length ? a = new F("header", t, n.header, l) : l != null && l.length ? a = new F("header", [l.map((p) => p.headerLabel)], n.header, l) : a = new P();
7324
+ const d = s ? new F("footer", s, n.footer, l) : new P(), u = new Pe("body", e, l, n.body);
7325
+ return new de(
7326
+ a,
7207
7327
  u,
7208
- h,
7328
+ d,
7209
7329
  o,
7210
7330
  i,
7211
7331
  r,
7212
7332
  n,
7213
7333
  l,
7214
- a
7334
+ c
7215
7335
  );
7216
7336
  }
7217
7337
  }
7218
- class _t {
7338
+ class Pt {
7219
7339
  constructor(e, t, s = 200, o = 300, i = 0, r = 0) {
7220
- this.items = e, this.cellRenderer = t, this.coverWidth = s, this.coverHeight = o, this.width = i, this.firstRowPaddingTop = r, this.rowSelectionModel = void 0, this.areaIdent = "body", this.filteredItems = [], this.sorterService = new we(), this.filteredItems = e;
7340
+ this.items = e, this.cellRenderer = t, this.coverWidth = s, this.coverHeight = o, this.width = i, this.firstRowPaddingTop = r, this.rowSelectionModel = void 0, this.areaIdent = "body", this.filteredItems = [], this.sorterService = new xe(), this.filteredItems = e;
7221
7341
  }
7222
7342
  setParentWidth(e) {
7223
7343
  this.width = e;
@@ -7311,7 +7431,7 @@ class _t {
7311
7431
  arrayMove(e, t, s) {
7312
7432
  }
7313
7433
  }
7314
- class Lt {
7434
+ class _t {
7315
7435
  constructor(e, t = 0) {
7316
7436
  this.bodyModel = e, this.paddingTop = t, this.headerAreaModel = new P(), this.footerAreaModel = new P();
7317
7437
  }
@@ -7378,7 +7498,7 @@ class Lt {
7378
7498
  recalcHeightAndPadding() {
7379
7499
  }
7380
7500
  getPadding() {
7381
- return new pe(0, 0, 0, 0);
7501
+ return new ge(0, 0, 0, 0);
7382
7502
  }
7383
7503
  getContentHeightInPixel() {
7384
7504
  return this.paddingTop + this.bodyModel.getRowCount() * this.bodyModel.coverHeight;
@@ -7404,7 +7524,7 @@ class Lt {
7404
7524
  return this.tableScope;
7405
7525
  }
7406
7526
  }
7407
- class Vt {
7527
+ class Lt {
7408
7528
  constructor() {
7409
7529
  this.autoRestoreSortingState = !1, this.autoRestoreCollapsedExpandedState = !1, this.autoRestoreScrollPosition = !1, this.autoRestoreCheckedState = !1, this.autoRestoreSelectedState = !1, this.getStorageKeyFn = void 0, this.isSame = (e, t, s) => {
7410
7530
  if (e && t && s.getRowId) {
@@ -7431,12 +7551,12 @@ class Vt {
7431
7551
  }
7432
7552
  class Es {
7433
7553
  static createCoverGridModel(e, t, s = 200, o = 300, i = 0, r = 0) {
7434
- const n = new _t(e, t, s, o, i, r);
7435
- return new Lt(n, r);
7554
+ const n = new Pt(e, t, s, o, i, r);
7555
+ return new _t(n, r);
7436
7556
  }
7437
7557
  static createCoverGrisDefaultOptions(e, t = () => "CoverGrid") {
7438
7558
  return {
7439
- ...new J(),
7559
+ ...new q(),
7440
7560
  horizontalBorderVisible: !1,
7441
7561
  verticalBorderVisible: !1,
7442
7562
  footerSeparatorBorderVisible: !1,
@@ -7454,7 +7574,7 @@ class Es {
7454
7574
  },
7455
7575
  // externalFilterFunction: this.filterFn.bind(this),
7456
7576
  autoRestoreOptions: {
7457
- ...new Vt(),
7577
+ ...new Lt(),
7458
7578
  getStorageKeyFn: t,
7459
7579
  autoRestoreCollapsedExpandedState: !1,
7460
7580
  autoRestoreScrollPosition: !0,
@@ -7464,7 +7584,7 @@ class Es {
7464
7584
  };
7465
7585
  }
7466
7586
  }
7467
- const ks = [
7587
+ const Ts = [
7468
7588
  "COPY_2_CLIPBOARD",
7469
7589
  "START_EDITING",
7470
7590
  "TOGGLE_SELECTION",
@@ -7482,17 +7602,17 @@ const ks = [
7482
7602
  // "PAGEUP_PRESSED",
7483
7603
  // "PAGEDOWN_PRESSED"
7484
7604
  ];
7485
- class Ot {
7605
+ class Vt {
7486
7606
  constructor(e, t) {
7487
7607
  this.tableModel = e, this.tableOptions = t;
7488
7608
  }
7489
7609
  }
7490
- class $t {
7610
+ class Ot {
7491
7611
  constructor(e, t, s, o, i, r, n) {
7492
7612
  this.emmitDataKey = e, this.emmitCancelKey = t, this.queryId = s, this.filter = o, this.sorting = i, this.startIndex = r, this.endIndex = n;
7493
7613
  }
7494
7614
  }
7495
- class Ds extends $t {
7615
+ class ks extends Ot {
7496
7616
  constructor(e, t, s, o, i, r, n, l) {
7497
7617
  super(
7498
7618
  e,
@@ -7505,34 +7625,34 @@ class Ds extends $t {
7505
7625
  ), this.rows = l;
7506
7626
  }
7507
7627
  }
7508
- class Ht {
7628
+ class $t {
7509
7629
  constructor(e, t) {
7510
7630
  this.value = e, this.label = t;
7511
7631
  }
7512
7632
  }
7513
- class Fs {
7633
+ class Ds {
7514
7634
  constructor(e, t) {
7515
7635
  this.index = e, this.px = t;
7516
7636
  }
7517
7637
  }
7518
- const Ps = { body: ["ge-table-text-align-left"] }, _s = { body: ["ge-table-text-align-center"] }, Ls = { body: ["ge-table-text-align-right"] }, Vs = {
7638
+ const Fs = { body: ["ge-table-text-align-left"] }, Ps = { body: ["ge-table-text-align-center"] }, _s = { body: ["ge-table-text-align-right"] }, Ls = {
7519
7639
  header: ["ge-table-text-align-left"],
7520
7640
  body: ["ge-table-text-align-left"],
7521
7641
  footer: ["ge-table-text-align-left"]
7522
- }, Os = {
7642
+ }, Vs = {
7523
7643
  header: ["ge-table-text-align-center"],
7524
7644
  body: ["ge-table-text-align-center"],
7525
7645
  footer: ["ge-table-text-align-center"]
7526
- }, $s = {
7646
+ }, Os = {
7527
7647
  header: ["ge-table-text-align-right"],
7528
7648
  body: ["ge-table-text-align-right"],
7529
7649
  footer: ["ge-table-text-align-right"]
7530
7650
  };
7531
- class Pe {
7651
+ class _e {
7532
7652
  render(e, t, s, o, i, r, n) {
7533
7653
  if (i.isRowCheckable(t)) {
7534
7654
  n.addClass(e, "ge-table-row-checkbox-div");
7535
- const l = i.isRowChecked(t), a = l === "full" ? "checked" : "", c = l === "semi" ? '<span style="opacity: 0.4;">✓<span>' : "";
7655
+ const l = i.isRowChecked(t), c = l === "full" ? "checked" : "", a = l === "semi" ? '<span style="opacity: 0.4;">✓<span>' : "";
7536
7656
  e.innerHTML = `
7537
7657
  <input
7538
7658
  type="checkbox"
@@ -7540,22 +7660,22 @@ class Pe {
7540
7660
  data-row-index="${t}"
7541
7661
  data-col-index="${s}"
7542
7662
  data-input-type="checkbox"
7543
- ${a}
7663
+ ${c}
7544
7664
  class="ge-table-row-checkbox">
7545
- ${c} `;
7665
+ ${a} `;
7546
7666
  }
7547
7667
  }
7548
7668
  }
7549
- class Hs {
7669
+ class $s {
7550
7670
  constructor() {
7551
- this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new y(50, "px"), this.minWidth = new y(50, "px"), this.maxWidth = new y(100, "px"), this.rendererMap = new k(new Pe(), new Pe(), void 0), this.classes = new k(
7671
+ this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new b(50, "px"), this.minWidth = new b(50, "px"), this.maxWidth = new b(100, "px"), this.rendererMap = new k(new _e(), new _e(), void 0), this.classes = new k(
7552
7672
  [],
7553
7673
  ["ge-table-text-align-left"],
7554
7674
  []
7555
7675
  );
7556
7676
  }
7557
7677
  }
7558
- class Bs {
7678
+ class Hs {
7559
7679
  /**
7560
7680
  * A factory that creates a new AreaObjectMap with the given body renderer.
7561
7681
  *
@@ -7570,22 +7690,22 @@ class Bs {
7570
7690
  );
7571
7691
  }
7572
7692
  }
7573
- class Ws {
7693
+ class Bs {
7574
7694
  constructor(e = "down", t) {
7575
7695
  this.status = e, this.originalEvent = t;
7576
7696
  }
7577
7697
  }
7578
- class Ns {
7698
+ class Ws {
7579
7699
  constructor(e, t, s, o, i = {}) {
7580
7700
  this.area = e, this.rowIndex = t, this.columnIndex = s, this.value = o, this.cssClasses = i;
7581
7701
  }
7582
7702
  }
7583
- class Bt {
7703
+ class Ht {
7584
7704
  constructor(e, t, s, o = !1, i = "normal", r = void 0) {
7585
7705
  this.data = e, this.property = t, this.toggle = s, this.closed = o, this.visibility = i, this.children = r, this.impl = "CellGroup";
7586
7706
  }
7587
7707
  }
7588
- class Wt extends Bt {
7708
+ class Bt extends Ht {
7589
7709
  constructor(e, t = 0, s = 0, o) {
7590
7710
  super(
7591
7711
  e.data,
@@ -7677,7 +7797,7 @@ class Wt extends Bt {
7677
7797
  return n;
7678
7798
  }
7679
7799
  }
7680
- class E {
7800
+ class T {
7681
7801
  static buildColumnDefs(e, t = []) {
7682
7802
  for (const s of e)
7683
7803
  s.property && t.push(
@@ -7686,7 +7806,7 @@ class E {
7686
7806
  headerLabel: s.data ? s.data : s.property,
7687
7807
  isVisible: () => typeof s.isVisible == "function" ? s.isVisible() : !0
7688
7808
  })
7689
- ), s.children && E.buildColumnDefs(s.children, t);
7809
+ ), s.children && T.buildColumnDefs(s.children, t);
7690
7810
  return t;
7691
7811
  }
7692
7812
  /*
@@ -7710,14 +7830,14 @@ class E {
7710
7830
  static buildGroupExts(e, t = [], s = 0, o) {
7711
7831
  let i;
7712
7832
  for (let r = 0; r < e.length; r++) {
7713
- const n = e[r], l = new Wt(n, s, r, o);
7714
- i && (l.leftNeighbour = i, i.rightNeighbour = l), t.push(l), n.children && (l.children = E.buildGroupExts(n.children, [], s + 1, l)), i = l;
7833
+ const n = e[r], l = new Bt(n, s, r, o);
7834
+ i && (l.leftNeighbour = i, i.rightNeighbour = l), t.push(l), n.children && (l.children = T.buildGroupExts(n.children, [], s + 1, l)), i = l;
7715
7835
  }
7716
7836
  return t;
7717
7837
  }
7718
7838
  static flattenGroupExts(e, t = []) {
7719
7839
  for (const s of e)
7720
- t.push(s), s.children && E.flattenGroupExts(s.children, t);
7840
+ t.push(s), s.children && T.flattenGroupExts(s.children, t);
7721
7841
  return t;
7722
7842
  }
7723
7843
  /*
@@ -7749,10 +7869,10 @@ class E {
7749
7869
  static iterateThrowColumns(e = [], t) {
7750
7870
  var s;
7751
7871
  for (const o of t)
7752
- e.push(o.data + " rowIndex:" + o.rowIndex), (s = o.children) != null && s.length && E.iterateThrowColumns(e, o.children);
7872
+ e.push(o.data + " rowIndex:" + o.rowIndex), (s = o.children) != null && s.length && T.iterateThrowColumns(e, o.children);
7753
7873
  }
7754
7874
  }
7755
- class Gs {
7875
+ class Ns {
7756
7876
  constructor() {
7757
7877
  this.areaIdent = "body", this.rowSelectionModel = void 0;
7758
7878
  }
@@ -8390,15 +8510,15 @@ class Gs {
8390
8510
  return !1;
8391
8511
  }
8392
8512
  }
8393
- const re = class re {
8394
- constructor(e = new ve()) {
8513
+ const ne = class ne {
8514
+ constructor(e = new Re()) {
8395
8515
  this.headerGroupOptions = e;
8396
8516
  }
8397
8517
  render(e, t, s, o, i, r, n) {
8398
8518
  const l = r != null && r.data ? r.data : "";
8399
8519
  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);
8520
+ const { toggle: c, visibility: a, closed: d } = r, u = c ? ne.toggleHeaderGroup : "";
8521
+ this.addText(e, o, t, s, l, u), c && a !== "always" && this.addArrowDiv(n, e, !d, t, s, o, u);
8402
8522
  } else
8403
8523
  this.addText(e, o, t, s, l, "");
8404
8524
  }
@@ -8413,11 +8533,11 @@ const re = class re {
8413
8533
  addArrowDiv(e, t, s = !0, o = -1, i = -1, r = "header", n) {
8414
8534
  const l = e.createElement("div");
8415
8535
  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
- let a;
8417
- 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);
8420
- for (const u of a.classes)
8536
+ let c;
8537
+ s ? c = this.headerGroupOptions.iconExpanded : c = this.headerGroupOptions.iconCollapsed;
8538
+ const a = c.content, d = e.createText(a);
8539
+ e.appendChild(l, d), c.style && this.applyStyleString(e, l, c.style);
8540
+ for (const u of c.classes)
8421
8541
  e.addClass(l, u);
8422
8542
  return e.appendChild(t, l), l;
8423
8543
  }
@@ -8429,11 +8549,11 @@ const re = class re {
8429
8549
  }
8430
8550
  }
8431
8551
  };
8432
- re.toggleHeaderGroup = "toggleHeaderGroup";
8433
- let ge = re;
8434
- class zs {
8435
- constructor(e = "header", t, s = [], o, i = new ve()) {
8436
- this.areaIdent = e, this.groups = t, this.columnDefs = s, this.defaultRowHeight = o, this.headerGroupOptions = i, this.gammaCells = !0, this.arr = [], this.groupExts = [], this.cellGroupExtCellRenderer = new ge(this.headerGroupOptions), this.groupExts = E.buildGroupExts(t), this.init();
8552
+ ne.toggleHeaderGroup = "toggleHeaderGroup";
8553
+ let fe = ne;
8554
+ class Gs {
8555
+ constructor(e = "header", t, s = [], o, i = new Re()) {
8556
+ this.areaIdent = e, this.groups = t, this.columnDefs = s, this.defaultRowHeight = o, this.headerGroupOptions = i, this.gammaCells = !0, this.arr = [], this.groupExts = [], this.cellGroupExtCellRenderer = new fe(this.headerGroupOptions), this.groupExts = T.buildGroupExts(t), this.init();
8437
8557
  }
8438
8558
  sort(e) {
8439
8559
  }
@@ -8441,19 +8561,19 @@ class zs {
8441
8561
  var e;
8442
8562
  for (const t of this.groupExts)
8443
8563
  t.log(this.getMaxRowCount());
8444
- this.arr = this.buildArray(), !((e = this.columnDefs) != null && e.length) && this.areaIdent === "header" && (this.columnDefs = E.buildColumnDefs(this.groups));
8564
+ this.arr = this.buildArray(), !((e = this.columnDefs) != null && e.length) && this.areaIdent === "header" && (this.columnDefs = T.buildColumnDefs(this.groups));
8445
8565
  }
8446
8566
  getAllLeafs() {
8447
- return E.flattenGroupExts(this.groupExts).filter((t) => !t.children);
8567
+ return T.flattenGroupExts(this.groupExts).filter((t) => !t.children);
8448
8568
  }
8449
8569
  getMaxRowCount() {
8450
8570
  const e = this.getAllLeafs();
8451
8571
  return e != null && e.length ? 1 + Math.max(...e.map((t) => t.getParentCount(t))) : 0;
8452
8572
  }
8453
8573
  buildArray() {
8454
- const e = E.flattenGroupExts(this.groupExts), t = 1 + Math.max(...e.map((r) => r.rowIndex)), s = [];
8455
- E.iterateThrowColumns(s, this.groupExts);
8456
- const o = Array.from(Array(t).keys()).map((r) => []), i = E.buildArrayOfArrays(e, o);
8574
+ const e = T.flattenGroupExts(this.groupExts), t = 1 + Math.max(...e.map((r) => r.rowIndex)), s = [];
8575
+ T.iterateThrowColumns(s, this.groupExts);
8576
+ const o = Array.from(Array(t).keys()).map((r) => []), i = T.buildArrayOfArrays(e, o);
8457
8577
  return console.table(i), i;
8458
8578
  }
8459
8579
  changeColumnOrder(e, t) {
@@ -8531,31 +8651,31 @@ class zs {
8531
8651
  toggleHeaderGroup(e) {
8532
8652
  const t = this.arr[e.rowIdx][e.colIdx];
8533
8653
  t != null && t.toggle && t.visibility !== "always" && (t.closed = !t.closed, this.init());
8534
- const s = E.buildColumnDefs(this.groupExts), o = new Map(this.columnDefs.map((r) => [r.property, r])), i = s.map((r) => {
8654
+ const s = T.buildColumnDefs(this.groupExts), o = new Map(this.columnDefs.map((r) => [r.property, r])), i = s.map((r) => {
8535
8655
  const n = o.get(r.property);
8536
8656
  return n ? (n.isVisible = r.isVisible, n) : r;
8537
8657
  });
8538
8658
  return this.columnDefs = i, i;
8539
8659
  }
8540
8660
  }
8541
- class js {
8661
+ class zs {
8542
8662
  filterPredict(e, t, s = this.objectToString.bind(this)) {
8543
8663
  if (!e)
8544
8664
  return !1;
8545
8665
  if (!t)
8546
8666
  return !0;
8547
8667
  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, ""));
8549
- let c = !n.length;
8550
- for (let h = 0; h < n.length; h++)
8551
- (c || s(e).includes(n[h])) && (c = !0);
8552
- if (!c)
8668
+ 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, "")), c = r.filter((d) => d.startsWith(i)).map((d) => d.replace(/-/g, ""));
8669
+ let a = !n.length;
8670
+ for (let d = 0; d < n.length; d++)
8671
+ (a || s(e).includes(n[d])) && (a = !0);
8672
+ if (!a)
8553
8673
  return !1;
8554
- for (let h = 0; h < l.length; h++)
8555
- if (!s(e).includes(l[h]))
8674
+ for (let d = 0; d < l.length; d++)
8675
+ if (!s(e).includes(l[d]))
8556
8676
  return !1;
8557
- for (let h = 0; h < a.length; h++)
8558
- if (s(e).includes(a[h]))
8677
+ for (let d = 0; d < c.length; d++)
8678
+ if (s(e).includes(c[d]))
8559
8679
  return !1;
8560
8680
  return !0;
8561
8681
  }
@@ -8565,18 +8685,18 @@ class js {
8565
8685
  if (!t)
8566
8686
  return [...e];
8567
8687
  t = t.toLowerCase();
8568
- 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
- return e == null ? void 0 : e.filter((c) => {
8570
- let h = !n.length;
8688
+ const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((a) => a !== o && a !== i && a !== ""), n = r.filter((a) => !a.startsWith(o) && !a.startsWith(i)), l = r.filter((a) => a.startsWith(o)).map((a) => a.replace(/\+/g, "")), c = r.filter((a) => a.startsWith(i)).map((a) => a.replace(/-/g, ""));
8689
+ return e == null ? void 0 : e.filter((a) => {
8690
+ let d = !n.length;
8571
8691
  for (let u = 0; u < n.length; u++)
8572
- (h || s(c).includes(n[u])) && (h = !0);
8573
- if (!h)
8692
+ (d || s(a).includes(n[u])) && (d = !0);
8693
+ if (!d)
8574
8694
  return !1;
8575
8695
  for (let u = 0; u < l.length; u++)
8576
- if (!s(c).includes(l[u]))
8696
+ if (!s(a).includes(l[u]))
8577
8697
  return !1;
8578
- for (let u = 0; u < a.length; u++)
8579
- if (s(c).includes(a[u]))
8698
+ for (let u = 0; u < c.length; u++)
8699
+ if (s(a).includes(c[u]))
8580
8700
  return !1;
8581
8701
  return !0;
8582
8702
  });
@@ -8592,19 +8712,19 @@ class js {
8592
8712
  return t.join(" ").toLowerCase();
8593
8713
  }
8594
8714
  }
8595
- class Us {
8715
+ class js {
8596
8716
  static bodyRenderer(e) {
8597
8717
  return new k(void 0, e, void 0);
8598
8718
  }
8599
8719
  }
8600
- class Ys {
8720
+ class Us {
8601
8721
  constructor(e, t = !0, s = !1) {
8602
8722
  this.property = e, this.skipCheckableCheck = t, this.readonly = s;
8603
8723
  }
8604
8724
  render(e, t, s, o, i, r, n) {
8605
8725
  if (this.readonly || this.skipCheckableCheck || i.isRowCheckable(t)) {
8606
8726
  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 " : "";
8727
+ const l = i.getRowByIndex(t), a = i.getValueByT(l, this.property) === !0 ? "checked" : "", d = this.readonly ? " readonly " : "";
8608
8728
  if (n.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
8609
8729
  <input
8610
8730
  type="checkbox"
@@ -8613,16 +8733,16 @@ class Ys {
8613
8733
  data-col-index="${s}"
8614
8734
  data-property-index="${this.property}"
8615
8735
  data-input-type="checkbox"
8616
- ${c}
8617
- ${h}
8736
+ ${a}
8737
+ ${d}
8618
8738
  class="ge-input-checkbox">`, !this.readonly) {
8619
8739
  const u = e.querySelector(".ge-input-checkbox");
8620
- u && u.addEventListener("click", (g, p) => (l[this.property] = !l[this.property], !0));
8740
+ u && u.addEventListener("click", (p, f) => (l[this.property] = !l[this.property], !0));
8621
8741
  }
8622
8742
  }
8623
8743
  }
8624
8744
  }
8625
- class Xs {
8745
+ class Ys {
8626
8746
  render(e, t, s, o, i, r, n) {
8627
8747
  r && (e.innerText = new Date(r).toISOString());
8628
8748
  }
@@ -8650,29 +8770,29 @@ class Ks {
8650
8770
  }
8651
8771
  }
8652
8772
  }
8653
- class Js {
8773
+ class Xs {
8654
8774
  render(e, t, s, o, i, r, n) {
8655
8775
  r && (e.innerText = new Date(r).toLocaleDateString());
8656
8776
  }
8657
8777
  }
8658
- class qs {
8778
+ class Js {
8659
8779
  render(e, t, s, o, i, r, n) {
8660
8780
  r === "male" || r === "m" ? e.innerText = "♂" : (r === "female" || r === "f") && (e.innerText = "♀");
8661
8781
  }
8662
8782
  }
8663
- class Zs {
8783
+ class qs {
8664
8784
  constructor(e = 100, t = !1) {
8665
8785
  this.maxValue = e, this.labelVisible = t;
8666
8786
  }
8667
8787
  render(e, t, s, o, i, r, n) {
8668
8788
  if (n.addClass(e, "ge-progressbar-div"), !isNaN(r)) {
8669
- const a = Number(r) * 100 / this.maxValue, c = this.labelVisible ? Math.round(a) + "%" : "";
8789
+ const c = Number(r) * 100 / this.maxValue, a = this.labelVisible ? Math.round(c) + "%" : "";
8670
8790
  e.innerHTML = `
8671
8791
  <div class="ge-table-label-div"
8672
8792
  data-row-index="${t}"
8673
8793
  data-col-index="${s}"
8674
8794
  data-area="${o}"
8675
- title="${c}"
8795
+ title="${a}"
8676
8796
  style="position: relative; background: transparent; width: 100%; height: 100%;">
8677
8797
  <div class="ge-table-progress-container"
8678
8798
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -8680,7 +8800,7 @@ class Zs {
8680
8800
  data-col-index="${s}"
8681
8801
  data-area="${o}">
8682
8802
  <div class="ge-table-progress-bar"
8683
- style="width:${a}%;height:100%;padding:0;margin:0;"
8803
+ style="width:${c}%;height:100%;padding:0;margin:0;"
8684
8804
  data-row-index="${t}"
8685
8805
  data-col-index="${s}"
8686
8806
  data-area="${o}">&nbsp;
@@ -8690,17 +8810,17 @@ class Zs {
8690
8810
  }
8691
8811
  }
8692
8812
  }
8693
- class Qs {
8813
+ class Zs {
8694
8814
  render(e, t, s, o, i, r, n) {
8695
8815
  r === "true" || r === !0 ? e.innerHTML = '<span class="ge-true-text-color">✅</span>' : r === "false" || r === !1 ? e.innerHTML = '<span class="ge-false-text-color">❌</span>' : e.innerText = "";
8696
8816
  }
8697
8817
  }
8698
- class eo {
8818
+ class Qs {
8699
8819
  render(e, t, s, o, i, r, n) {
8700
8820
  r && (e.innerText = new Date(r).toISOString().replace(/T/g, " ").replace(/\..*/g, ""));
8701
8821
  }
8702
8822
  }
8703
- class to {
8823
+ class eo {
8704
8824
  constructor(e = Number.MIN_SAFE_INTEGER, t = Number.MAX_SAFE_INTEGER) {
8705
8825
  this.min = e, this.max = t;
8706
8826
  }
@@ -8711,53 +8831,53 @@ class to {
8711
8831
  </div>`, (typeof r == "string" || isNaN(r) || r < this.min || r > this.max) && n.addClass(e, "ge-cell-error"));
8712
8832
  }
8713
8833
  }
8714
- class so {
8834
+ class to {
8715
8835
  constructor(e) {
8716
8836
  this.property = e;
8717
8837
  }
8718
8838
  render(e, t, s, o, i, r, n) {
8719
8839
  n.addClass(e, "ge-star-rating-div");
8720
- const l = i.getRowByIndex(t), a = +("" + i.getValueByT(l, this.property));
8721
- if (!isNaN(a)) {
8722
- const c = [];
8723
- for (let u = 0; u < a; u++)
8724
- c.push("★");
8725
- const h = c.join(" ");
8840
+ const l = i.getRowByIndex(t), c = +("" + i.getValueByT(l, this.property));
8841
+ if (!isNaN(c)) {
8842
+ const a = [];
8843
+ for (let u = 0; u < c; u++)
8844
+ a.push("★");
8845
+ const d = a.join(" ");
8726
8846
  e.innerHTML = `
8727
8847
  <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>
8848
+ <div class="ge-table-label" data-row-index="${t}" data-col-index="${s}" data-area="${o}">${d}</div>
8729
8849
  </div>`;
8730
8850
  }
8731
8851
  }
8732
8852
  }
8733
- class oo {
8853
+ class so {
8734
8854
  render(e, t, s, o, i, r, n) {
8735
8855
  if (r != null && r.length) {
8736
8856
  const l = n.createElement("div");
8737
8857
  n.addClass(l, "ge-table-label-div"), n.appendChild(e, l);
8738
- const a = n.createElement("div");
8739
- n.addClass(a, "ge-table-label"), n.appendChild(l, a);
8740
- const c = n.createText(r.join(", "));
8741
- n.appendChild(a, c);
8858
+ const c = n.createElement("div");
8859
+ n.addClass(c, "ge-table-label"), n.appendChild(l, c);
8860
+ const a = n.createText(r.join(", "));
8861
+ n.appendChild(c, a);
8742
8862
  } else
8743
8863
  e.innerText = "";
8744
8864
  }
8745
8865
  }
8746
- class io {
8866
+ class oo {
8747
8867
  constructor(e, t = 100, s = !1) {
8748
8868
  this.property = e, this.maxValue = t, this.labelVisible = s;
8749
8869
  }
8750
8870
  render(e, t, s, o, i, r, n) {
8751
8871
  n.addClass(e, "ge-star-rating-div");
8752
- const l = i.getRowByIndex(t), a = +("" + i.getValueByT(l, this.property));
8753
- if (!isNaN(a)) {
8754
- const c = a * 100 / this.maxValue, h = this.labelVisible ? Math.round(c) + "%" : "";
8872
+ const l = i.getRowByIndex(t), c = +("" + i.getValueByT(l, this.property));
8873
+ if (!isNaN(c)) {
8874
+ const a = c * 100 / this.maxValue, d = this.labelVisible ? Math.round(a) + "%" : "";
8755
8875
  e.innerHTML = `
8756
8876
  <div class="ge-table-label-div"
8757
8877
  data-row-index="${t}"
8758
8878
  data-col-index="${s}"
8759
8879
  data-area="${o}"
8760
- title="${h}"
8880
+ title="${d}"
8761
8881
  style="position: relative; background: transparent; width: 100%; height: 100%;">
8762
8882
  <div class="ge-table-progress-container"
8763
8883
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -8765,7 +8885,7 @@ class io {
8765
8885
  data-col-index="${s}"
8766
8886
  data-area="${o}">
8767
8887
  <div class="ge-table-progress-bar"
8768
- style="width:${c}%;height:100%;padding:0;margin:0;"
8888
+ style="width:${a}%;height:100%;padding:0;margin:0;"
8769
8889
  data-row-index="${t}"
8770
8890
  data-col-index="${s}"
8771
8891
  data-area="${o}">&nbsp;
@@ -8775,7 +8895,7 @@ class io {
8775
8895
  }
8776
8896
  }
8777
8897
  }
8778
- class ro {
8898
+ class io {
8779
8899
  render(e, t, s, o, i, r, n) {
8780
8900
  if (r) {
8781
8901
  e.innerHTML = `
@@ -8795,7 +8915,7 @@ class ro {
8795
8915
  }
8796
8916
  }
8797
8917
  }
8798
- class ze {
8918
+ class je {
8799
8919
  constructor(e, t, s, o, i, r) {
8800
8920
  this.action = e, this.area = t, this.areaModel = s, this.rowIndex = o, this.columnIndex = i, this.id = r;
8801
8921
  }
@@ -8805,16 +8925,16 @@ class $ {
8805
8925
  this.action = e, this.label = t, this.icon = s, this.elementClass = o, this.elementType = i, this.enabled = r;
8806
8926
  }
8807
8927
  }
8808
- class Nt {
8928
+ class Wt {
8809
8929
  constructor(e, t) {
8810
8930
  this.actionEventListener = e, this.crudActions = t;
8811
8931
  }
8812
8932
  render(e, t, s, o, i, r, n) {
8813
8933
  n.addClass(e, "ge-table-row-action-div");
8814
- 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)
8934
+ const l = r, a = this.getCrudActions(r).map(
8935
+ (d) => d.elementType === "button" ? this.buildButtonHtml(d, o, t, s, l) : this.buildLinkHtml(d, o, t, s, l)
8816
8936
  );
8817
- e.innerHTML = c.join(""), this.addClickEventListeners(e, o, i);
8937
+ e.innerHTML = a.join(""), this.addClickEventListeners(e, o, i);
8818
8938
  }
8819
8939
  buildButtonHtml(e, t, s, o, i) {
8820
8940
  const r = e.enabled ? 'data-listen="click"' : "disabled";
@@ -8861,8 +8981,8 @@ class Nt {
8861
8981
  createActionEvent(e, t) {
8862
8982
  const s = e.getAttribute("data-area"), o = e.getAttribute("data-row-index"), i = e.getAttribute("data-col-index"), r = e.getAttribute("data-action") ?? "unknown", n = e.getAttribute("data-id") ?? "unknown";
8863
8983
  if (s && o && i) {
8864
- const l = ne(s), a = Number(o), c = Number(i);
8865
- return new ze(r, l, t, a, c, n);
8984
+ const l = le(s), c = Number(o), a = Number(i);
8985
+ return new je(r, l, t, c, a, n);
8866
8986
  }
8867
8987
  return null;
8868
8988
  }
@@ -8870,28 +8990,28 @@ class Nt {
8870
8990
  return Array.isArray(e) && e.every((t) => t instanceof $) ? e : this.crudActions;
8871
8991
  }
8872
8992
  }
8873
- const no = function(d, e, t) {
8874
- return d ? Number(d) : "";
8993
+ const ro = function(h, e, t) {
8994
+ return h ? Number(h) : "";
8875
8995
  };
8876
- class je {
8996
+ class Ue {
8877
8997
  constructor(e) {
8878
8998
  this.options = e;
8879
8999
  }
8880
9000
  static create(e) {
8881
- return new je(
8882
- e.map((t) => new Ht(t, t))
9001
+ return new Ue(
9002
+ e.map((t) => new $t(t, t))
8883
9003
  );
8884
9004
  }
8885
9005
  render(e, t, s, o, i, r, n) {
8886
9006
  if (i.isEditable(t, s)) {
8887
9007
  n.addClass(e, "ge-table-row-select-div");
8888
9008
  const l = i.getValueAt(t, s);
8889
- 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>`);
9009
+ let c = [];
9010
+ for (let d of this.options) {
9011
+ const u = d.value === l ? " selected " : "";
9012
+ c.push(`<option value="${d.value}" ${u}>${d.label}</option>`);
8893
9013
  }
8894
- const c = a.join("");
9014
+ const a = c.join("");
8895
9015
  e.innerHTML = `
8896
9016
  <select
8897
9017
  autofocus
@@ -8901,11 +9021,11 @@ class je {
8901
9021
  data-col-index="${s}"
8902
9022
  data-input-type="text"
8903
9023
  style="width:100%;height:100%;border:0;padding:0 0 0 8px;"
8904
- class="ge-table-cell-editor-select">${c}</select>`;
9024
+ class="ge-table-cell-editor-select">${a}</select>`;
8905
9025
  }
8906
9026
  }
8907
9027
  }
8908
- class lo extends Ce {
9028
+ class no extends Ce {
8909
9029
  constructor(e) {
8910
9030
  super("row", "multi"), this.model = e;
8911
9031
  }
@@ -8988,39 +9108,39 @@ class lo extends Ce {
8988
9108
  this.isSelected(e, 0) ? this.unselectRow(e) : this.selectRow(e);
8989
9109
  }
8990
9110
  }
8991
- class ao {
9111
+ class lo {
8992
9112
  constructor(e, t, s) {
8993
9113
  this.r = e, this.g = t, this.b = s;
8994
9114
  }
8995
9115
  }
8996
- class _e {
9116
+ class Le {
8997
9117
  constructor(e, t, s, o) {
8998
9118
  this.minValue = e, this.minColor = t, this.maxValue = s, this.maxColor = o;
8999
9119
  }
9000
9120
  }
9001
- class Z {
9121
+ class Q {
9002
9122
  static normalize(e, t, s, o = 0, i = 1) {
9003
9123
  return (e - t) / (s - t) * (i - o) + o;
9004
9124
  }
9005
9125
  static getTwoColorGradientRGB(e, t) {
9006
- const s = Z.normalize(e, t.minValue, t.maxValue, 0, 1), o = t.maxColor.r - t.minColor.r, i = t.maxColor.g - t.minColor.g, r = t.maxColor.b - t.minColor.b, n = o * s + t.minColor.r, l = i * s + t.minColor.g, a = r * s + t.minColor.b;
9007
- return `rgb(${Math.round(n)}, ${Math.round(l)}, ${Math.round(a)})`;
9126
+ const s = Q.normalize(e, t.minValue, t.maxValue, 0, 1), o = t.maxColor.r - t.minColor.r, i = t.maxColor.g - t.minColor.g, r = t.maxColor.b - t.minColor.b, n = o * s + t.minColor.r, l = i * s + t.minColor.g, c = r * s + t.minColor.b;
9127
+ return `rgb(${Math.round(n)}, ${Math.round(l)}, ${Math.round(c)})`;
9008
9128
  }
9009
9129
  static getThreeColorGradientRGB(e, t) {
9010
- return e < t.middleValue ? Z.getTwoColorGradientRGB(e, new _e(t.minValue, t.minColor, t.middleValue, t.middleColor)) : e > t.middleValue ? Z.getTwoColorGradientRGB(e, new _e(t.middleValue, t.middleColor, t.maxValue, t.maxColor)) : `rgb(${t.middleColor.r}, ${t.middleColor.g}, ${t.middleColor.b})`;
9130
+ return e < t.middleValue ? Q.getTwoColorGradientRGB(e, new Le(t.minValue, t.minColor, t.middleValue, t.middleColor)) : e > t.middleValue ? Q.getTwoColorGradientRGB(e, new Le(t.middleValue, t.middleColor, t.maxValue, t.maxColor)) : `rgb(${t.middleColor.r}, ${t.middleColor.g}, ${t.middleColor.b})`;
9011
9131
  }
9012
9132
  }
9013
- class co {
9133
+ class ao {
9014
9134
  constructor(e, t, s, o, i, r) {
9015
9135
  this.minValue = e, this.minColor = t, this.middleValue = s, this.middleColor = o, this.maxValue = i, this.maxColor = r;
9016
9136
  }
9017
9137
  }
9018
- class Gt {
9138
+ class Nt {
9019
9139
  constructor(e = !0, t = !0, s = (r, n) => r * 10 + 10, o = 50, i = 450) {
9020
9140
  this.autoCalc = e, this.takeHeaderLabelsIntoAccount = t, this.charCountToWidth = s, this.minWidth = o, this.maxWidth = i;
9021
9141
  }
9022
9142
  }
9023
- class zt {
9143
+ class Gt {
9024
9144
  constructor(e) {
9025
9145
  this.object = e;
9026
9146
  }
@@ -9071,7 +9191,7 @@ class zt {
9071
9191
  return s.join("");
9072
9192
  }
9073
9193
  }
9074
- class ce {
9194
+ class he {
9075
9195
  constructor(e, t, s = "Edit Item") {
9076
9196
  this.idKey = e, this.dialogTitle = s, this.object = { ...t };
9077
9197
  }
@@ -9152,7 +9272,7 @@ class ce {
9152
9272
  return e.replace(/\./g, " ");
9153
9273
  }
9154
9274
  }
9155
- class jt {
9275
+ class zt {
9156
9276
  constructor() {
9157
9277
  this.urls = {
9158
9278
  list: {
@@ -9168,7 +9288,7 @@ class jt {
9168
9288
  ], this.tableActions = [
9169
9289
  new $("CREATE", "Create", "", "", "button"),
9170
9290
  new $("DELETE_SELECTED", "Delete Selected", "", "", "button")
9171
- ], this.autoAddActionColumn = !0, this.columnWidths = new Gt(), this.calcFixedRightColumnCount = (e) => e > 6 ? 1 : 0, this.getHeadersInit = () => ({}), this.getIdKey = () => "id", this.getIdByObject = (e) => (this.getIdKey() ?? "id") in e ? e.id : e, this.fetchList = (e) => {
9291
+ ], this.autoAddActionColumn = !0, this.columnWidths = new Nt(), this.calcFixedRightColumnCount = (e) => e > 6 ? 1 : 0, this.getHeadersInit = () => ({}), this.getIdKey = () => "id", this.getIdByObject = (e) => (this.getIdKey() ?? "id") in e ? e.id : e, this.fetchList = (e) => {
9172
9292
  const t = e.getHeadersInit ? e.getHeadersInit() : {};
9173
9293
  let s = e.urls.list.url, o = e.urls.list.method ?? "GET";
9174
9294
  return fetch(s, {
@@ -9195,7 +9315,7 @@ class jt {
9195
9315
  headers: o,
9196
9316
  method: r,
9197
9317
  body: JSON.stringify(s)
9198
- }).then((a) => a.json());
9318
+ }).then((c) => c.json());
9199
9319
  }, this.createItem = (e, t) => {
9200
9320
  var r, n;
9201
9321
  const s = e.getHeadersInit ? e.getHeadersInit() : {};
@@ -9219,59 +9339,59 @@ class jt {
9219
9339
  };
9220
9340
  }
9221
9341
  }
9222
- class ho {
9342
+ class co {
9223
9343
  constructor() {
9224
- this.crudOptions = new jt(), this.listenActionEvent = (e) => {
9344
+ this.crudOptions = new zt(), this.listenActionEvent = (e) => {
9225
9345
  };
9226
9346
  }
9227
9347
  createTableModel(e, t, s = (i) => {
9228
9348
  }, o = (i) => {
9229
9349
  }) {
9230
9350
  this.crudOptions = e, this.listenActionEvent = o, e.fetchList(e).then((i) => {
9231
- var r, n, l, a;
9351
+ var r, n, l, c;
9232
9352
  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;
9353
+ const a = (r = t.columnDefs) != null && r.length ? t.columnDefs.map((w) => w.property) : this.extractProperties(i[0]), d = new Ce("row", "multi"), u = () => d;
9234
9354
  this.tableOptions = {
9235
- ...new J(),
9355
+ ...new q(),
9236
9356
  ...t.tableOptions,
9237
9357
  hoverColumnVisible: !1,
9238
9358
  getSelectionModel: u
9239
9359
  };
9240
- const g = this.calcAutoColumnWidths(i, c), p = (n = t.columnDefs) != null && n.length ? t.columnDefs : c.map(((w, v) => new W(w, w.toUpperCase(), new y(g[v], "px"))));
9360
+ const p = this.calcAutoColumnWidths(i, a), f = (n = t.columnDefs) != null && n.length ? t.columnDefs : a.map(((w, v) => new W(w, w.toUpperCase(), new b(p[v], "px"))));
9241
9361
  if ((l = e == null ? void 0 : e.columnWidths) != null && l.autoCalc)
9242
- for (let w = 0; w < p.length; w++) {
9243
- const v = p[w];
9244
- v.width = new y(g[w], "px");
9362
+ for (let w = 0; w < f.length; w++) {
9363
+ const v = f[w];
9364
+ v.width = new b(p[w], "px");
9245
9365
  }
9246
9366
  if (e.autoAddActionColumn) {
9247
9367
  let w = new W(
9248
9368
  "id",
9249
9369
  "Actions",
9250
- Dt,
9370
+ kt,
9251
9371
  new k(["ge-table-text-align-left"], ["ge-table-text-align-left ge-table-actions-cell"], void 0)
9252
9372
  );
9253
9373
  w.rendererMap = new k(
9254
9374
  void 0,
9255
- new Nt(this, e.singleRowActions),
9375
+ new Wt(this, e.singleRowActions),
9256
9376
  void 0
9257
- ), p.push(w);
9377
+ ), f.push(w);
9258
9378
  }
9259
- const m = 0, f = e.calcFixedRightColumnCount(p.length);
9379
+ const m = 0, g = e.calcFixedRightColumnCount(f.length);
9260
9380
  this.tableModel = H.buildByTypedRowsParam({
9261
9381
  rows: i,
9262
- columnDefs: p,
9382
+ columnDefs: f,
9263
9383
  tableOptions: this.tableOptions,
9264
9384
  fixedLeftColumnCount: m,
9265
- fixedRightColumnCount: f
9266
- }), this.tableModel.getSelectionModel = u, this.bodyModel = (a = this.tableModel) == null ? void 0 : a.getBodyModel();
9267
- const b = new Ot(this.tableModel, this.tableOptions);
9268
- s(b);
9385
+ fixedRightColumnCount: g
9386
+ }), this.tableModel.getSelectionModel = u, this.bodyModel = (c = this.tableModel) == null ? void 0 : c.getBodyModel();
9387
+ const y = new Vt(this.tableModel, this.tableOptions);
9388
+ s(y);
9269
9389
  }
9270
9390
  });
9271
9391
  }
9272
9392
  openDialogForCreate() {
9273
9393
  if (this.bodyModel) {
9274
- const e = new ze("CREATE", "body", this.bodyModel, -1, -1, null);
9394
+ const e = new je("CREATE", "body", this.bodyModel, -1, -1, null);
9275
9395
  this.onActionEvent(e);
9276
9396
  }
9277
9397
  }
@@ -9279,32 +9399,32 @@ class ho {
9279
9399
  var t, s, o, i;
9280
9400
  if (this.listenActionEvent && this.listenActionEvent(e), e.action === "VIEW") {
9281
9401
  let r = e.id;
9282
- (t = this.crudOptions) == null || t.fetchItem(this.crudOptions, r).then((n) => (console.info(n), new zt(n).openDialog(), n));
9402
+ (t = this.crudOptions) == null || t.fetchItem(this.crudOptions, r).then((n) => (console.info(n), new Gt(n).openDialog(), n));
9283
9403
  } else if (e.action === "EDIT") {
9284
9404
  let r = e.id;
9285
9405
  const n = this.crudOptions.getIdKey() ?? "id";
9286
- (s = this.crudOptions) == null || s.fetchItem(this.crudOptions, r).then((l) => (console.info(l), new ce(
9406
+ (s = this.crudOptions) == null || s.fetchItem(this.crudOptions, r).then((l) => (console.info(l), new he(
9287
9407
  n,
9288
9408
  l
9289
- ).openDialog((a) => {
9290
- console.info(a), this.crudOptions.updateItem(this.crudOptions, r, a);
9409
+ ).openDialog((c) => {
9410
+ console.info(c), this.crudOptions.updateItem(this.crudOptions, r, c);
9291
9411
  }), l));
9292
9412
  } else if (e.action === "CLONE") {
9293
9413
  let r = e.id;
9294
9414
  const n = this.crudOptions.getIdKey() ?? "id";
9295
9415
  (o = this.crudOptions) == null || o.fetchItem(this.crudOptions, r).then((l) => {
9296
- const a = JSON.parse(JSON.stringify(l));
9297
- return new ce(
9416
+ const c = JSON.parse(JSON.stringify(l));
9417
+ return new he(
9298
9418
  n,
9299
- a,
9419
+ c,
9300
9420
  "Clone Item"
9301
- ).openDialog((c) => {
9302
- console.info(c), this.crudOptions.createItem(this.crudOptions, c);
9303
- }), a;
9421
+ ).openDialog((a) => {
9422
+ console.info(a), this.crudOptions.createItem(this.crudOptions, a);
9423
+ }), c;
9304
9424
  });
9305
9425
  } else if (e.action === "CREATE") {
9306
9426
  const r = this.crudOptions.getIdKey() ?? "id", n = JSON.parse(JSON.stringify(this.crudOptions.getEmptyItem()));
9307
- return new ce(
9427
+ return new he(
9308
9428
  r,
9309
9429
  n,
9310
9430
  "Create Item"
@@ -9314,32 +9434,32 @@ class ho {
9314
9434
  } else if (e.action === "DELETE") {
9315
9435
  let r = e.id;
9316
9436
  (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;
9437
+ var l, c, a, d, u;
9438
+ return (l = this.bodyModel) == null || l.filterRowsByPredict((p) => p.id != r), (a = (c = this.tableModel) == null ? void 0 : c.getTableScope()) == null || a.clearSelection(!0), (u = (d = this.tableModel) == null ? void 0 : d.getTableScope()) == null || u.repaintHard(), n;
9319
9439
  });
9320
9440
  }
9321
9441
  }
9322
9442
  calcAutoColumnWidths(e, t, s = t) {
9323
- var a;
9443
+ var c;
9324
9444
  const o = t.length;
9325
- if (!((a = this.crudOptions.columnWidths) != null && a.autoCalc))
9445
+ if (!((c = this.crudOptions.columnWidths) != null && c.autoCalc))
9326
9446
  return new Array(o).fill(200);
9327
9447
  const i = e.length ?? 0, r = new Array(o).fill(0);
9328
- 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);
9448
+ for (let a = 0; a < i; a++)
9449
+ for (let d = 0; d < o; d++) {
9450
+ const u = t[d], p = this.getValueByT(e[a], u), f = (p == null ? void 0 : p.toString().length) || 0;
9451
+ f > r[d] && (r[d] = f);
9332
9452
  }
9333
9453
  if (this.crudOptions.columnWidths.takeHeaderLabelsIntoAccount)
9334
- for (let c = 0; c < o; c++) {
9335
- const h = s[c].length || 0;
9336
- h > r[c] && (r[c] = h);
9454
+ for (let a = 0; a < o; a++) {
9455
+ const d = s[a].length || 0;
9456
+ d > r[a] && (r[a] = d);
9337
9457
  }
9338
9458
  const n = this.crudOptions.columnWidths.minWidth, l = this.crudOptions.columnWidths.maxWidth;
9339
- return r.map((c, h) => Math.min(
9459
+ return r.map((a, d) => Math.min(
9340
9460
  l,
9341
9461
  Math.max(
9342
- this.crudOptions.columnWidths.charCountToWidth(c, h),
9462
+ this.crudOptions.columnWidths.charCountToWidth(a, d),
9343
9463
  n
9344
9464
  )
9345
9465
  ));
@@ -9360,197 +9480,197 @@ class ho {
9360
9480
  return s;
9361
9481
  }
9362
9482
  }
9363
- class uo {
9483
+ class ho {
9364
9484
  constructor(e, t) {
9365
9485
  this.method = e, this.url = t;
9366
9486
  }
9367
9487
  }
9368
9488
  export {
9369
- ye as AbstractAreaModel,
9370
- ze as ActionEvent,
9371
- Nt as ActionsCellRenderer,
9372
- He as AnyPropertyType,
9373
- Bs as AreaMapFactory,
9374
- Gs as AreaModel,
9489
+ we as AbstractAreaModel,
9490
+ je as ActionEvent,
9491
+ Wt as ActionsCellRenderer,
9492
+ Be as AnyPropertyType,
9493
+ Hs as AreaMapFactory,
9494
+ Ns as AreaModel,
9375
9495
  F as AreaModelArrayOfArrays,
9376
- zs as AreaModelCellGroups,
9496
+ Gs as AreaModelCellGroups,
9377
9497
  P as AreaModelHidden,
9378
9498
  _ as AreaModelObjectArray,
9379
- Fe as AreaModelObjectArrayWithColumndefs,
9380
- se as AreaModelTree,
9499
+ Pe as AreaModelObjectArrayWithColumndefs,
9500
+ oe as AreaModelTree,
9381
9501
  k as AreaObjectMap,
9382
9502
  B as ArrayPropertyType,
9383
- Vt as AutoRestoreOptions,
9384
- Yt as AvoidDoubleExecution,
9385
- qe as BooleanPropertyType,
9386
- Bt as CellGroup,
9387
- Wt as CellGroupExt,
9388
- ge as CellGroupExtCellRenderer,
9503
+ Lt as AutoRestoreOptions,
9504
+ Ut as AvoidDoubleExecution,
9505
+ Ze as BooleanPropertyType,
9506
+ Ht as CellGroup,
9507
+ Bt as CellGroupExt,
9508
+ fe as CellGroupExtCellRenderer,
9389
9509
  M as CellRange,
9390
- E as CellgroupFactory,
9391
- Ys as CheckboxBooleanPropertyCellRenderer,
9392
- Pe as CheckboxCellRenderer,
9393
- Hs as CheckboxColumnDef,
9394
- Pt as CheckboxModel,
9395
- Ds as ChunkData,
9396
- ht as ColAndRowspanModel,
9397
- at as CollapsedExpandedData,
9398
- ao as ColorRgb,
9510
+ T as CellgroupFactory,
9511
+ Us as CheckboxBooleanPropertyCellRenderer,
9512
+ _e as CheckboxCellRenderer,
9513
+ $s as CheckboxColumnDef,
9514
+ Ft as CheckboxModel,
9515
+ ks as ChunkData,
9516
+ pt as ColAndRowspanModel,
9517
+ ct as CollapsedExpandedData,
9518
+ lo as ColorRgb,
9399
9519
  W as ColumnDef,
9400
- Xt as ColumnDefGenerator,
9401
- Gt as ColumnWidths,
9402
- ot as ConvenienceDomService,
9403
- te as CopyService,
9404
- _t as CoverGridBodyModel,
9520
+ Yt as ColumnDefGenerator,
9521
+ Nt as ColumnWidths,
9522
+ it as ConvenienceDomService,
9523
+ se as CopyService,
9524
+ Pt as CoverGridBodyModel,
9405
9525
  Es as CoverGridFactory,
9406
- Lt as CoverGridTableModel,
9526
+ _t as CoverGridTableModel,
9407
9527
  $ as CrudAction,
9408
- ce as CrudObjectEdit,
9409
- zt as CrudObjectView,
9410
- jt as CrudOptions,
9411
- ho as CrudTableModelFactory,
9412
- Te as CssVars,
9528
+ he as CrudObjectEdit,
9529
+ Gt as CrudObjectView,
9530
+ zt as CrudOptions,
9531
+ co as CrudTableModelFactory,
9532
+ ke as CssVars,
9413
9533
  Ks as DateToIntlDDMMYYYYCellRenderer,
9414
- Xs as DateToIsoCellRenderer,
9415
- Js as DateToLocaleDateCellRenderer,
9416
- eo as DateToTecCellRenderer,
9417
- Y as DefaultRowHeights,
9418
- ee as EleScope,
9419
- he as EventAdapter,
9420
- qt as EventCheckboxChangedHandler,
9421
- Tt as ExcelService,
9422
- kt as FalseFn,
9423
- vt as FocusModel,
9424
- gt as GeCellIndices,
9425
- Z as GeCssColorUtil,
9426
- js as GeFilterService,
9427
- Ws as GeKeyEvent,
9428
- Se as GeModelChangeEvent,
9429
- be as GeMouseEvent,
9430
- ft as GeScrollEvent,
9534
+ Ys as DateToIsoCellRenderer,
9535
+ Xs as DateToLocaleDateCellRenderer,
9536
+ Qs as DateToTecCellRenderer,
9537
+ K as DefaultRowHeights,
9538
+ te as EleScope,
9539
+ pe as EventAdapter,
9540
+ Jt as EventCheckboxChangedHandler,
9541
+ It as ExcelService,
9542
+ Tt as FalseFn,
9543
+ ut as FocusModel,
9544
+ mt as GeCellIndices,
9545
+ Q as GeCssColorUtil,
9546
+ zs as GeFilterService,
9547
+ Bs as GeKeyEvent,
9548
+ ve as GeModelChangeEvent,
9549
+ ye as GeMouseEvent,
9550
+ bt as GeScrollEvent,
9431
9551
  V as GeoData,
9432
- ve as HeaderGroupOptions,
9552
+ Re as HeaderGroupOptions,
9433
9553
  O as Icon,
9434
- Fs as IndexAndPx,
9435
- Ct as InputCellRenderer,
9436
- pt as InputHandler,
9437
- Re as JsonService,
9554
+ Ds as IndexAndPx,
9555
+ Rt as InputCellRenderer,
9556
+ ft as InputHandler,
9557
+ Ae as JsonService,
9438
9558
  G as LicenseManager,
9439
- qs as MaleFemaleToIconCellRenderer,
9440
- rt as MouseHandler,
9441
- it as MouseTargetData,
9442
- lo as MultiRowsSelectionModel,
9559
+ Js as MaleFemaleToIconCellRenderer,
9560
+ nt as MouseHandler,
9561
+ rt as MouseTargetData,
9562
+ no as MultiRowsSelectionModel,
9443
9563
  Xe as NullPropertyType,
9444
- Zs as NumberCellProgressBarCellRenderer,
9445
- to as NumberCellRenderer,
9446
- Je as NumberPropertyType,
9564
+ qs as NumberCellProgressBarCellRenderer,
9565
+ eo as NumberCellRenderer,
9566
+ qe as NumberPropertyType,
9447
9567
  L as ObjectPropertyType,
9448
- yt as OsxShortcutActionIdMapping,
9449
- Le as PROPERTY_TYPE_KEY_ANY,
9450
- $e as PROPERTY_TYPE_KEY_ARRAY,
9451
- me as PROPERTY_TYPE_KEY_BOOLEAN,
9452
- Ve as PROPERTY_TYPE_KEY_NULL,
9453
- fe as PROPERTY_TYPE_KEY_NUMBER,
9454
- K as PROPERTY_TYPE_KEY_OBJECT,
9455
- Oe as PROPERTY_TYPE_KEY_STRING,
9568
+ xt as OsxShortcutActionIdMapping,
9569
+ Ve as PROPERTY_TYPE_KEY_ANY,
9570
+ He as PROPERTY_TYPE_KEY_ARRAY,
9571
+ be as PROPERTY_TYPE_KEY_BOOLEAN,
9572
+ Oe as PROPERTY_TYPE_KEY_NULL,
9573
+ me as PROPERTY_TYPE_KEY_NUMBER,
9574
+ J as PROPERTY_TYPE_KEY_OBJECT,
9575
+ $e as PROPERTY_TYPE_KEY_STRING,
9456
9576
  X as PROPERTY_TYPE_KEY_UNDEFINED,
9457
- pe as Padding,
9458
- ro as PositiveAndNegativeNumberRenderer,
9459
- io as ProgressBarCellRenderer,
9460
- Be as PropertyItem,
9577
+ ge as Padding,
9578
+ io as PositiveAndNegativeNumberRenderer,
9579
+ oo as ProgressBarCellRenderer,
9580
+ We as PropertyItem,
9461
9581
  Kt as PropertyTypeService,
9462
- ut as RenderScope,
9463
- Us as Renderer,
9464
- $t as RequestChunk,
9465
- Mt as ResizeHandler,
9466
- Jt as SchemeGenerator,
9467
- je as SelectCellRenderer,
9582
+ gt as RenderScope,
9583
+ js as Renderer,
9584
+ Ot as RequestChunk,
9585
+ At as ResizeHandler,
9586
+ Xt as SchemeGenerator,
9587
+ Ue as SelectCellRenderer,
9468
9588
  Ce as SelectionModel,
9469
- mt as SelectionService,
9470
- xt as ShortcutService,
9471
- oo as SimpleArrayCellRenderer,
9472
- St as SimpleDomService,
9473
- y as Size,
9474
- Me as SortItem,
9475
- Ne as SortedOptions,
9476
- so as StarRatingCellRenderer,
9477
- ct as StoreStateCollapsedExpandService,
9478
- lt as StoreStateScrollPosService,
9479
- dt as StoreStateSortingService,
9480
- Ke as StringPropertyType,
9481
- nt as TableApi,
9482
- Ns as TableCellUpdateEvent,
9589
+ yt as SelectionService,
9590
+ Ct as ShortcutService,
9591
+ so as SimpleArrayCellRenderer,
9592
+ vt as SimpleDomService,
9593
+ b as Size,
9594
+ Ie as SortItem,
9595
+ Ge as SortedOptions,
9596
+ to as StarRatingCellRenderer,
9597
+ dt as StoreStateCollapsedExpandService,
9598
+ at as StoreStateScrollPosService,
9599
+ ht as StoreStateSortingService,
9600
+ Je as StringPropertyType,
9601
+ lt as TableApi,
9602
+ Ws as TableCellUpdateEvent,
9483
9603
  H as TableFactory,
9484
- ae as TableModel,
9485
- Ot as TableModelAndOptions,
9486
- J as TableOptions,
9487
- Ge as TableScope,
9488
- co as ThreeColorGradientArg,
9489
- De as TreeCheckboxModel,
9490
- ue as TreeFactory,
9491
- We as TreeOptions,
9492
- Ee as TreeRow,
9493
- Ft as TreeRowService,
9494
- Qs as TrueFalseCellRenderer,
9604
+ de as TableModel,
9605
+ Vt as TableModelAndOptions,
9606
+ q as TableOptions,
9607
+ ze as TableScope,
9608
+ ao as ThreeColorGradientArg,
9609
+ Fe as TreeCheckboxModel,
9610
+ Y as TreeFactory,
9611
+ Ne as TreeOptions,
9612
+ ce as TreeRow,
9613
+ Dt as TreeRowService,
9614
+ Zs as TrueFalseCellRenderer,
9495
9615
  Et as TrueFn,
9496
- _e as TwoColorGradientArg,
9497
- Q as UNIMPORTANT_TYPES,
9498
- le as UndefinedPropertyType,
9499
- uo as UrlInfo,
9500
- Ze as ValueInfo,
9501
- Ht as ValueLabel,
9502
- bt as WindowsShortcutActionIdMapping,
9503
- ks as actionIds,
9504
- Os as allCenter,
9505
- Vs as allLeft,
9506
- $s as allRight,
9507
- _s as bodyCenter,
9508
- Ps as bodyLeft,
9509
- Ls as bodyRight,
9510
- Ie as createHarmonizedShortcutByKeyboardEvent,
9511
- Ye as debounce,
9512
- no as editInputPipeForNumber,
9513
- Ae as entitySuffix,
9514
- tt as firstLetterUppercase,
9515
- ne as getAreaIdentByString,
9516
- Qe as getEntityName,
9517
- wt as harmonizeShortcut,
9518
- de as isAreaModelTree,
9519
- st as isCheckboxColumnDef,
9616
+ Le as TwoColorGradientArg,
9617
+ ee as UNIMPORTANT_TYPES,
9618
+ ae as UndefinedPropertyType,
9619
+ ho as UrlInfo,
9620
+ Qe as ValueInfo,
9621
+ $t as ValueLabel,
9622
+ wt as WindowsShortcutActionIdMapping,
9623
+ Ts as actionIds,
9624
+ Vs as allCenter,
9625
+ Ls as allLeft,
9626
+ Os as allRight,
9627
+ Ps as bodyCenter,
9628
+ Fs as bodyLeft,
9629
+ _s as bodyRight,
9630
+ Ee as createHarmonizedShortcutByKeyboardEvent,
9631
+ Ke as debounce,
9632
+ ro as editInputPipeForNumber,
9633
+ Me as entitySuffix,
9634
+ st as firstLetterUppercase,
9635
+ le as getAreaIdentByString,
9636
+ et as getEntityName,
9637
+ St as harmonizeShortcut,
9638
+ ue as isAreaModelTree,
9639
+ ot as isCheckboxColumnDef,
9520
9640
  j as isTreeRow,
9521
- Ts as px0,
9522
- Is as px10,
9523
- ys as px100,
9524
- bs as px110,
9525
- ms as px120,
9526
- fs as px130,
9527
- gs as px140,
9528
- ps as px150,
9529
- us as px160,
9530
- hs as px170,
9531
- ds as px180,
9532
- cs as px190,
9533
- Ms as px20,
9534
- ke as px200,
9535
- as as px210,
9536
- ls as px220,
9537
- ns as px230,
9538
- rs as px240,
9539
- is as px250,
9540
- os as px260,
9541
- ss as px270,
9542
- ts as px280,
9543
- es as px290,
9544
- As as px30,
9545
- Dt as px300,
9546
- Rs as px40,
9547
- Qt as px400,
9548
- vs as px50,
9549
- Zt as px500,
9550
- Cs as px60,
9551
- Ss as px70,
9552
- xs as px80,
9553
- ws as px90,
9554
- Ut as throttle,
9555
- et as trimArraySuffixes
9641
+ Is as px0,
9642
+ Ms as px10,
9643
+ bs as px100,
9644
+ ms as px110,
9645
+ fs as px120,
9646
+ gs as px130,
9647
+ ps as px140,
9648
+ us as px150,
9649
+ hs as px160,
9650
+ ds as px170,
9651
+ cs as px180,
9652
+ as as px190,
9653
+ As as px20,
9654
+ De as px200,
9655
+ ls as px210,
9656
+ ns as px220,
9657
+ rs as px230,
9658
+ is as px240,
9659
+ os as px250,
9660
+ ss as px260,
9661
+ ts as px270,
9662
+ es as px280,
9663
+ Qt as px290,
9664
+ Rs as px30,
9665
+ kt as px300,
9666
+ vs as px40,
9667
+ Zt as px400,
9668
+ Cs as px50,
9669
+ qt as px500,
9670
+ Ss as px60,
9671
+ xs as px70,
9672
+ ws as px80,
9673
+ ys as px90,
9674
+ jt as throttle,
9675
+ tt as trimArraySuffixes
9556
9676
  };