@guiexpert/table 1.1.89 → 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,4 +1,4 @@
1
- function Ut(h, 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);
@@ -7,7 +7,7 @@ function Ut(h, e = 500) {
7
7
  }, r));
8
8
  };
9
9
  }
10
- function Ye(h, 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(() => {
@@ -15,7 +15,7 @@ function Ye(h, e = 500) {
15
15
  }, e);
16
16
  };
17
17
  }
18
- function Yt(h = 500) {
18
+ function Ut(h = 500) {
19
19
  return function(e, t, s) {
20
20
  let o = 0;
21
21
  const i = s.value;
@@ -25,20 +25,15 @@ function Yt(h = 500) {
25
25
  }, s;
26
26
  };
27
27
  }
28
- const Le = "any", K = "undefined", Ve = "null", Oe = "string", fe = "number", me = "boolean", $e = "Array", X = "object", Q = [Ve, K, Le];
29
- class He {
30
- constructor(e) {
31
- this.propertyName = e, this.type = Le;
32
- }
33
- }
34
- class le {
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 {
35
30
  constructor(e) {
36
- this.propertyName = e, this.type = K;
31
+ this.propertyName = e, this.type = Ve;
37
32
  }
38
33
  }
39
- class Ke {
34
+ class ae {
40
35
  constructor(e) {
41
- this.propertyName = e, this.type = Ve;
36
+ this.propertyName = e, this.type = X;
42
37
  }
43
38
  }
44
39
  class Xe {
@@ -48,7 +43,7 @@ class Xe {
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 = X;
74
+ this.propertyName = e, this.className = t, this.properties = s, this.type = J;
75
75
  }
76
76
  }
77
- class Kt {
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 Kt {
101
101
  if (!this.rootPropertyType)
102
102
  return s;
103
103
  if (e instanceof B) {
104
- const o = e.items.find((i) => i.type === X);
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 Kt {
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 === X);
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 d = 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
134
  d = 250;
135
- } else n.type === fe ? (u = " bodyRenderer: new NumberCellRenderer(),", g = "ge-table-text-align-right") : n.type === me && (u = " bodyRenderer: new TrueFalseCellRenderer(),", g = "ge-table-text-align-center", d = 80);
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}",
138
+ headerLabel: "${a}",
139
139
  width: new Size(${d}, "px"),
140
- bodyClasses: ["${g}"],
141
- headerClasses: ["${g}"],`), u && e.push(u), e.push(" }),");
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,21 +260,21 @@ 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(h) {
274
- let e = et(tt(h));
275
- return e.includes(Ae) || (e = e + Ae), e;
276
- }
272
+ const Me = "Entity";
277
273
  function et(h) {
274
+ let e = tt(st(h));
275
+ return e.includes(Me) || (e = e + Me), e;
276
+ }
277
+ function tt(h) {
278
278
  if (!h || h.length === 0) return h;
279
279
  const e = ["Array", "Arr", "List", "s"];
280
280
  for (const t of e)
@@ -282,10 +282,10 @@ function et(h) {
282
282
  return h.slice(0, -t.length);
283
283
  return h;
284
284
  }
285
- function tt(h) {
285
+ function st(h) {
286
286
  return !h || h.length === 0 ? "" : h[0].toUpperCase() + h.slice(1);
287
287
  }
288
- class Xt {
288
+ class Kt {
289
289
  constructor() {
290
290
  this.debugging = !1;
291
291
  }
@@ -372,7 +372,7 @@ class Xt {
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 Xt {
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 Xt {
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 Xt {
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((d) => d.type === K) || 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 Xt {
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 === X && !Array.isArray(i)) {
584
- for (const c in i)
585
- if (i.hasOwnProperty(c)) {
586
- const d = r ? `${r}/${c}` : c;
587
- o(i[c], d, 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, d) => {
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 Ke(t) : e === void 0 ? new le(t) : typeof e === Oe ? new Xe(t) : typeof e === fe && !isNaN(e) ? new Je(t) : typeof e === me ? new qe(t) : Array.isArray(e) ? new B(t) : typeof e === X ? new L(t, Qe(t)) : new le(t);
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 !== K).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) {
@@ -663,7 +663,7 @@ class Jt {
663
663
  }
664
664
  containsUndefinedPropertyType(e) {
665
665
  for (const t of e.types)
666
- if (t.type === K) return !0;
666
+ if (t.type === X) return !0;
667
667
  return !1;
668
668
  }
669
669
  }
@@ -695,18 +695,18 @@ class G {
695
695
  function j(h) {
696
696
  return h && h.type === "TreeRow";
697
697
  }
698
- function de(h) {
698
+ function ue(h) {
699
699
  return h && h.type === "AreaModelTree";
700
700
  }
701
- function st(h) {
701
+ function ot(h) {
702
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, d = "") {
706
- this.rowIndex = e, this.rowTop = t, this.columnIndex = s, this.columnLeft = o, this.areaIdent = i, this.sideIdent = r, this.originalEvent = n, this.clickCount = l, this.draggingX = a, this.draggingY = c, this.action = d;
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: d = void 0, sortState: u } = e, g = c == null ? void 0 : c.treeOptions, p = c == null ? void 0 : c.showCheckboxWihoutExtraColumn, m = this.domService.createElement("div");
842
- 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 && d && this.addCheckboxToDiv(m, d, 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,29 +867,29 @@ 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);
891
+ const c = l.content, a = this.domService.createText(c);
892
+ this.domService.appendChild(n, a), l.style && this.applyStyleString(n, l.style);
893
893
  for (const d of l.classes)
894
894
  this.domService.addClass(n, d);
895
895
  return this.domService.appendChild(e, n), n;
@@ -934,20 +934,20 @@ 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 = (h) => h === "header" ? "header" : h === "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
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;
@@ -985,7 +985,7 @@ class rt {
985
985
  return;
986
986
  }
987
987
  this.lastClicked = t, this.lastClickedCellKey = o;
988
- const i = new it(e.target, this.tableScope);
988
+ const i = new rt(e.target, this.tableScope);
989
989
  if (i.action === "toggleExpandCollapseAll")
990
990
  this.expandedAll = !this.expandedAll, this.tableScope.toggleExpandCollapseAll(this.expandedAll), e.preventDefault(), e.stopPropagation();
991
991
  else if (i.action === "toggleHeaderGroup")
@@ -996,12 +996,12 @@ class rt {
996
996
  const n = i.colIdx === this.getArrowColumnIndex() && e.altKey, l = i.className.includes("ge-table-tree-arrow-div");
997
997
  if (n || l) {
998
998
  e.preventDefault(), e.stopPropagation();
999
- const a = i.row;
1000
- a.expanded = !a.expanded, "recalcVisibleTreeRows" in i.areaModel && i.areaModel.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(a);
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);
1001
1001
  }
1002
1002
  }
1003
- if (i.areaIdent === "body" && this.tableScope.tableOptions.getFocusModel) {
1004
- const n = this.tableScope.tableOptions.getFocusModel();
1003
+ if (i.areaIdent === "body") {
1004
+ const n = this.tableScope.focusModel();
1005
1005
  n == null || n.clear(), n == null || n.setFocus(i.rowIdx, i.colIdx);
1006
1006
  }
1007
1007
  this.publishGeMouseEvent(e, 1);
@@ -1015,15 +1015,15 @@ class rt {
1015
1015
  onHostElementDblClicked(e) {
1016
1016
  var t, s;
1017
1017
  if (this.lastClicked = Date.now(), e.target instanceof HTMLElement) {
1018
- const o = e.target.closest("[data-col-index]") ?? e.target, i = ((t = o.closest("[data-area]")) == null ? void 0 : t.getAttribute("data-area")) ?? null, r = ne(i), n = Number((s = o.closest("[data-row-index]")) == null ? void 0 : s.getAttribute("data-row-index")), l = Number(o.getAttribute("data-col-index")), a = this.tableScope.tableModel.getAreaModel(r);
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
1019
  if (i && r === "header")
1020
1020
  this.tableScope.tableModel.isSortable(l) && (this.tableScope.clearSelection(), this.tableScope.onHeaderDblClicked(e, n, l));
1021
1021
  else if (o.getAttribute("data-row-index")) {
1022
- const c = a.getRowByIndex(n);
1023
- if (i && r === "body" && a.isEditable(n, l) && (this.tableScope.clearSelection(), this.tableScope.initRenderEditor(n, l)), j(c) && l === this.getArrowColumnIndex()) {
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()) {
1024
1024
  e.preventDefault(), e.stopPropagation();
1025
- const d = c;
1026
- d.expanded = !d.expanded, "recalcVisibleTreeRows" in a && a.recalcVisibleTreeRows(), this.tableScope.tableModel.recalcSize(this.tableScope.hostElement.clientWidth), this.tableScope.adjustContainersAndRows(), this.updateCollapsedExpandedState(d);
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);
1027
1027
  }
1028
1028
  }
1029
1029
  }
@@ -1052,8 +1052,8 @@ class rt {
1052
1052
  const t = (o = (s = this.tableScope.tableOptions) == null ? void 0 : s.autoRestoreOptions) == null ? void 0 : o.getRowId;
1053
1053
  if (t) {
1054
1054
  (i = this.tableScope.storeStateCollapsedExpandService) == null || i.initModeIfEmpty(e.expanded ? "expanded" : "collapsed");
1055
- const a = (r = this.tableScope.storeStateCollapsedExpandService) == null ? void 0 : r.collapsedExpandedStateGet().mode, c = a === "collapsed" && !e.expanded || a === "expanded" && e.expanded, d = a === "collapsed" && e.expanded || a === "expanded" && !e.expanded, u = t(e.data);
1056
- c ? (n = this.tableScope.storeStateCollapsedExpandService) == null || n.collapsedStateIdsPush(u) : d && ((l = this.tableScope.storeStateCollapsedExpandService) == null || l.collapsedStateIdsRemove(u));
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));
1057
1057
  }
1058
1058
  }
1059
1059
  getArrowColumnIndex() {
@@ -1089,7 +1089,7 @@ class rt {
1089
1089
  }
1090
1090
  }
1091
1091
  }
1092
- class ye {
1092
+ class we {
1093
1093
  constructor(e, t = [], s = -1) {
1094
1094
  this.areaIdent = e, this.columnDefs = t, this.defaultRowHeight = s, this.rowSelectionModel = void 0, this.yPositions = [], this.cellRenderers = t.map((o) => o.rendererMap[e]);
1095
1095
  }
@@ -1187,7 +1187,7 @@ class ye {
1187
1187
  this.yPositions[t + 1] = this.getRowHeight(t) + this.yPositions[t];
1188
1188
  }
1189
1189
  }
1190
- class we {
1190
+ class xe {
1191
1191
  genericSortComparator(e, t, s) {
1192
1192
  if (typeof e == "number" && typeof t == "number")
1193
1193
  return s * (e - t);
@@ -1205,7 +1205,7 @@ class we {
1205
1205
  return s * ("" + e).localeCompare("" + t);
1206
1206
  }
1207
1207
  }
1208
- class _ extends ye {
1208
+ class _ extends we {
1209
1209
  /**
1210
1210
  * Creates an instance of AreaModelObjectArray.
1211
1211
  *
@@ -1236,7 +1236,7 @@ class _ extends ye {
1236
1236
  * );
1237
1237
  */
1238
1238
  constructor(e, t, s, o = [], i = "ge-selected-row", r = "ge-focused-row") {
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 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);
1240
1240
  }
1241
1241
  /**
1242
1242
  * Gets the index of the currently focused row.
@@ -1648,7 +1648,7 @@ class _ extends ye {
1648
1648
  return o && t.length ? this.getPropertyValue(o, t) : o;
1649
1649
  }
1650
1650
  }
1651
- class nt {
1651
+ class lt {
1652
1652
  constructor(e) {
1653
1653
  this.tableScope = e;
1654
1654
  }
@@ -2265,7 +2265,7 @@ class nt {
2265
2265
  * @param {string} fileName - The name of the Excel file to be downloaded (default: 'table.xlsx')
2266
2266
  * @param {string} author - Optional metadata for the Excel file to specify the author (default: '')
2267
2267
  *
2268
- * @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
2269
2269
  *
2270
2270
  * @example
2271
2271
  * // Download table data with default filename
@@ -2282,13 +2282,13 @@ class nt {
2282
2282
  downloadExcel(e = "table.xlsx", t = "") {
2283
2283
  var n, l;
2284
2284
  const s = [], o = this.tableScope.tableModel, i = [];
2285
- for (let a = 0; a < o.getColumnCount(); a++)
2286
- ((l = (n = o.getColumnDef(a)) == null ? void 0 : n.isVisible) == null ? void 0 : l.call(n)) !== !1 && i.push(a);
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);
2287
2287
  const r = ["header", "body", "footer"];
2288
- for (const a of r) {
2289
- const c = o.getAreaModel(a), d = (c == null ? void 0 : c.getRowCount()) ?? 0;
2288
+ for (const c of r) {
2289
+ const a = o.getAreaModel(c), d = (a == null ? void 0 : a.getRowCount()) ?? 0;
2290
2290
  for (let u = 0; u < d; u++)
2291
- s.push(i.map((g) => c.getValueAt(u, g)));
2291
+ s.push(i.map((p) => a.getValueAt(u, p)));
2292
2292
  }
2293
2293
  return this.tableScope.excelService.downloadExcel(s, e, t);
2294
2294
  }
@@ -2674,6 +2674,20 @@ class nt {
2674
2674
  } else
2675
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);
2676
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
+ }
2677
2691
  /**
2678
2692
  * Re-applies the current sorting configuration to the table data.
2679
2693
  *
@@ -3012,7 +3026,7 @@ class nt {
3012
3026
  return this.tableScope.loggingActive;
3013
3027
  }
3014
3028
  }
3015
- class xe {
3029
+ class Se {
3016
3030
  constructor(e) {
3017
3031
  this.getStorageKeyFn = e;
3018
3032
  }
@@ -3087,7 +3101,7 @@ class xe {
3087
3101
  // }
3088
3102
  // }
3089
3103
  }
3090
- class lt extends xe {
3104
+ class at extends Se {
3091
3105
  constructor(e) {
3092
3106
  super(e), this.SCROLL_STATE = "scrollState", this.scrollOffset = [0, 0], this.load();
3093
3107
  }
@@ -3109,14 +3123,14 @@ class lt extends xe {
3109
3123
  }
3110
3124
  }
3111
3125
  }
3112
- class at {
3126
+ class ct {
3113
3127
  constructor(e = "collapsed", t = [], s = !1, o = !1) {
3114
3128
  this.mode = e, this.rowIds = t, this.allCollapsed = s, this.allExpanded = o;
3115
3129
  }
3116
3130
  }
3117
- class ct extends xe {
3131
+ class dt extends Se {
3118
3132
  constructor(e) {
3119
- super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new at(), this.stored = !1, this.load();
3133
+ super(e), this.COLLAPSED_EXPANDED_STATE = "collapsedExpandedState", this.collapsedExpandedState = new ct(), this.stored = !1, this.load();
3120
3134
  }
3121
3135
  hasStoredState() {
3122
3136
  return this.stored;
@@ -3158,7 +3172,7 @@ class ct extends xe {
3158
3172
  this.stored = !0, this.checkAndPersistItem(this.COLLAPSED_EXPANDED_STATE, this.collapsedExpandedState);
3159
3173
  }
3160
3174
  }
3161
- class dt extends xe {
3175
+ class ht extends Se {
3162
3176
  constructor(e) {
3163
3177
  super(e), this.SORTING_STATE = "sortingState", this.sortItems = [], this.load();
3164
3178
  }
@@ -3184,7 +3198,7 @@ class V {
3184
3198
  this.left = e, this.width = t, this.height = s, this.top = o, this.index = i;
3185
3199
  }
3186
3200
  }
3187
- const oe = class oe {
3201
+ const ie = class ie {
3188
3202
  constructor(e, t, s, o) {
3189
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();
3190
3204
  const i = this.hostElement;
@@ -3351,12 +3365,12 @@ const oe = class oe {
3351
3365
  * @returns {void} Returns nothing.
3352
3366
  */
3353
3367
  resetSizeOfWrapperDiv() {
3354
- 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`;
3355
3369
  this.dom.setStyle(this.contentWrapperDiv, "width", e), this.dom.setStyle(this.contentWrapperDiv, "height", s);
3356
3370
  }
3357
3371
  };
3358
- oe.maxScrollHeightInPx = 8e6;
3359
- let ee = oe;
3372
+ ie.maxScrollHeightInPx = 8e6;
3373
+ let te = ie;
3360
3374
  class M {
3361
3375
  /**
3362
3376
  * Represents a constructor for a class.
@@ -3392,7 +3406,126 @@ class M {
3392
3406
  return e >= this.r1 && e <= this.r2 && t >= this.c1 && t <= this.c2;
3393
3407
  }
3394
3408
  }
3395
- 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 {
3396
3529
  constructor(e, t) {
3397
3530
  this.tableModel = e, this.areaModel = t, this.colAndRowspanRanges = void 0;
3398
3531
  }
@@ -3430,17 +3563,31 @@ class k {
3430
3563
  this.header = e, this.body = t, this.footer = s;
3431
3564
  }
3432
3565
  }
3433
- class ut extends ee {
3566
+ class gt extends te {
3434
3567
  constructor(e, t, s, o) {
3435
- var r, n;
3436
- 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 = {
3437
3570
  header: [],
3438
3571
  body: [],
3439
3572
  footer: []
3440
- }, this.tree = !1, this.colAndRowspanModels = new k(), this.draggingTargetColumnIndex = -1, this.contentScrollTop = 0, this.removables = [], this.tableModel.getSelectionModel ? this.getSelectionModel = this.tableModel.getSelectionModel : (r = this.tableOptions) != null && r.getSelectionModel && (this.getSelectionModel = this.tableOptions.getSelectionModel), (n = this.tableOptions) != null && n.getFocusModel && (this.getFocusModel = this.tableOptions.getFocusModel), de(t.getAreaModel("body")) && (this.tree = !0), ["header", "body", "footer"].forEach(
3441
- (l) => {
3442
- var a;
3443
- 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();
3444
3591
  }
3445
3592
  );
3446
3593
  }
@@ -3595,21 +3742,21 @@ class ut extends ee {
3595
3742
  rerenderCellContent({ area: e, rowIndex: t, columnIndex: s, value: o, cssClasses: i }) {
3596
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);
3597
3744
  if (l) {
3598
- let a;
3599
- const c = e === "body" && this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === s;
3745
+ let c;
3746
+ const a = e === "body" && this.editorRenderer && this.editorRendererRow === t && this.editorRendererColumn === s;
3600
3747
  let d;
3601
- if (c ? d = this.editorRenderer : d = r.getCellRenderer(t, s), l.innerText = "", this.applyCssClasses(l, i), d)
3602
- a = d.render(l, t, s, e, r, o, this.dom.domService), a && this.cleanupFunctions[e].push(a);
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);
3603
3750
  else {
3604
- const p = `${o}`;
3605
- this.dom.addLabelDiv(l, p, !1, t, s, e);
3751
+ const f = `${o}`;
3752
+ this.dom.addLabelDiv(l, f, !1, t, s, e);
3606
3753
  }
3607
3754
  const u = r.getCustomClassesAt(t, s);
3608
3755
  u.length && this.dom.addClasses(u, l);
3609
- const g = r.getCustomStyleAt(t, s);
3610
- if (g)
3611
- for (const p in g)
3612
- 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]);
3613
3760
  }
3614
3761
  }
3615
3762
  getFirstVisibleRowIndex() {
@@ -3694,7 +3841,7 @@ class ut extends ee {
3694
3841
  * scaled and scrollTop is no longer a content pixel position.
3695
3842
  */
3696
3843
  isScrollHeightCapped() {
3697
- return this.tableModel.getContentHeightInPixel() + 1 > ee.maxScrollHeightInPx;
3844
+ return this.tableModel.getContentHeightInPixel() + 1 > te.maxScrollHeightInPx;
3698
3845
  }
3699
3846
  /** Scrollable range of the content in content pixels (content height minus visible body height). */
3700
3847
  getContentScrollRangeY() {
@@ -3769,23 +3916,23 @@ class ut extends ee {
3769
3916
  var w, v, I;
3770
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;
3771
3918
  s.child.innerText = "", o.child.innerText = "", i.child.innerText = "";
3772
- const n = 0, l = this.areaBodyCenterGeo.width, a = this.tableModel.getPadding(), c = this.tableModel.getAreaModel(e), d = c.getRowCount();
3919
+ const n = 0, l = this.areaBodyCenterGeo.width, c = this.tableModel.getPadding(), a = this.tableModel.getAreaModel(e), d = a.getRowCount();
3773
3920
  for (; this.cleanupFunctions[e].length; ) {
3774
3921
  const x = this.cleanupFunctions[e].shift();
3775
3922
  x && x();
3776
3923
  }
3777
3924
  let u = t;
3778
- 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();
3779
3926
  e === "body" && (this.firstVisibleRowIndex = -1, this.firstFullVisibleRowIndex = -1, this.lastVisibleRowIndex = -1, this.lastFullVisibleRowIndex = -1);
3780
- let f = 0;
3781
- const b = (v = c.getConstantRowHeight) == null ? void 0 : v.call(c);
3782
- if (b !== void 0 && b > 0 && u < 0) {
3783
- for (f = Math.min(d, Math.floor(-u / b)); f > 0 && u + f * b > 0; )
3784
- f--;
3785
- u = u + f * b;
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;
3786
3933
  }
3787
- for (let x = f; x < d; x++) {
3788
- const S = u, T = x === d - 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);
3789
3936
  if (S + R > 0) {
3790
3937
  e === "body" && this.firstVisibleRowIndex === -1 && (this.firstVisibleRowIndex = x, this.firstFullVisibleRowIndex = S < -this.pixelLimitForFullVisible ? this.firstVisibleRowIndex + 1 : this.firstVisibleRowIndex);
3791
3938
  let A = { left: n, width: l, height: R, top: S, index: x }, D = this.dom.addRowDiv(o, A, x, e, "center");
@@ -3793,36 +3940,36 @@ class ut extends ee {
3793
3940
  if (this.adjustColumnsToRowParent({
3794
3941
  areaIdent: e,
3795
3942
  sideIdent: "center",
3796
- areaModel: c,
3943
+ areaModel: a,
3797
3944
  geo: A,
3798
3945
  parent: D,
3799
3946
  rowIndex: x,
3800
3947
  columnIndexStart: N,
3801
- columnIndexEnd: g - p - 1,
3948
+ columnIndexEnd: p - f - 1,
3802
3949
  verticalFixed: !1,
3803
- lastRowOfModel: T
3804
- }), a.left > 0 && (A = { left: n, width: this.areaBodyWestGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(s, A, x, e, "west"), this.adjustColumnsToRowParent({
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({
3805
3952
  areaIdent: e,
3806
3953
  sideIdent: "west",
3807
- areaModel: c,
3954
+ areaModel: a,
3808
3955
  geo: A,
3809
3956
  parent: D,
3810
3957
  rowIndex: x,
3811
3958
  columnIndexStart: 0,
3812
3959
  columnIndexEnd: N - 1,
3813
3960
  verticalFixed: !0,
3814
- lastRowOfModel: T
3815
- })), a.right > 0 && (A = { left: n, width: this.areaBodyEastGeo.width, height: R, top: S, index: x }, D = this.dom.addRowDiv(i, A, x, e, "east"), this.adjustColumnsToRowParent({
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({
3816
3963
  areaIdent: e,
3817
3964
  sideIdent: "east",
3818
- areaModel: c,
3965
+ areaModel: a,
3819
3966
  geo: A,
3820
3967
  parent: D,
3821
3968
  rowIndex: x,
3822
- columnIndexStart: g - p,
3823
- columnIndexEnd: g - 1,
3969
+ columnIndexStart: p - f,
3970
+ columnIndexEnd: p - 1,
3824
3971
  verticalFixed: !0,
3825
- lastRowOfModel: T
3972
+ lastRowOfModel: E
3826
3973
  })), e === "header" && this.tree && x === d - 1) {
3827
3974
  const U = this.dom.applyStyle(
3828
3975
  this.dom.setAttribute(
@@ -3833,8 +3980,8 @@ class ut extends ee {
3833
3980
  { cursor: "pointer" }
3834
3981
  ), C = this.tableOptions.treeOptions.arrowExpandCollapseAll;
3835
3982
  if (C) {
3836
- const Ue = this.dom.domService.createText(C.content);
3837
- 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);
3838
3985
  }
3839
3986
  }
3840
3987
  }
@@ -3850,16 +3997,16 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3850
3997
  const x = ((I = this.colAndRowspanModels[e]) == null ? void 0 : I.getRanges()) ?? [];
3851
3998
  if (x.length)
3852
3999
  for (const S of x) {
3853
- let T = 0, R = o.child, A = "center";
4000
+ let E = 0, R = o.child, A = "center";
3854
4001
  if (S.c1 < m)
3855
4002
  R = s.child, A = "west";
3856
- else if (p > 0 && S.c1 >= g - p)
4003
+ else if (f > 0 && S.c1 >= p - f)
3857
4004
  R = i.child, A = "east";
3858
4005
  else {
3859
4006
  const D = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3860
- T = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, A = "center";
4007
+ E = this.snapToDevicePixel(this.scrollFactorX * D) - this.areaBodyWestGeo.width, A = "center";
3861
4008
  }
3862
- this.drawBigCell(S, T, t, c, R, A);
4009
+ this.drawBigCell(S, E, t, a, R, A);
3863
4010
  }
3864
4011
  }
3865
4012
  }
@@ -3874,13 +4021,13 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3874
4021
  * @protected
3875
4022
  */
3876
4023
  drawBigCell(e, t, s, o, i, r) {
3877
- const n = s + this.getRowHeights(0, e.r1 - 1, o).reduce((f, b) => f + b, 0), l = this.tableModel.getColumnCount(), a = this.tableModel.getFixedRightColumnCount();
3878
- let c = 0;
3879
- a > 0 && e.c1 >= l - a && (c = l - a);
3880
- const d = t + this.getColumnWidths(c, e.c1 - 1).reduce((f, b) => f + b, 0), u = this.getRowHeights(e.r1, e.r2, o).reduce((f, b) => f + b, 0), g = this.getColumnWidths(e.c1, e.c2).reduce((f, b) => f + b, 0);
3881
- 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;
3882
4029
  const m = this.getSelectionModel ? this.getSelectionModel() : void 0;
3883
- 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({
3884
4031
  areaModel: o,
3885
4032
  areaIdent: o.areaIdent,
3886
4033
  sideIdent: r,
@@ -3888,10 +4035,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3888
4035
  columnIndex: e.c1,
3889
4036
  left: d,
3890
4037
  top: n,
3891
- width: g,
4038
+ width: p,
3892
4039
  height: u,
3893
4040
  parent: i,
3894
- cellSelected: p,
4041
+ cellSelected: f,
3895
4042
  lastRowOfModel: !0,
3896
4043
  gammaRange: e.gammaRange
3897
4044
  }) : this.renderCell({
@@ -3902,10 +4049,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3902
4049
  columnIndex: e.c1,
3903
4050
  left: d,
3904
4051
  top: n,
3905
- width: g,
4052
+ width: p,
3906
4053
  height: u,
3907
4054
  parent: i,
3908
- cellSelected: p,
4055
+ cellSelected: f,
3909
4056
  lastRowOfModel: !0,
3910
4057
  gammaRange: e.gammaRange
3911
4058
  }), o.areaIdent === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
@@ -3913,7 +4060,7 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3913
4060
  columnIndex: e.c1,
3914
4061
  cellLeft: d,
3915
4062
  cellTop: n,
3916
- cellWidth: g,
4063
+ cellWidth: p,
3917
4064
  cellHeight: u,
3918
4065
  parent: i
3919
4066
  });
@@ -3954,50 +4101,50 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
3954
4101
  rowIndex: r,
3955
4102
  columnIndexStart: n,
3956
4103
  columnIndexEnd: l,
3957
- verticalFixed: a = !1,
3958
- lastRowOfModel: c = !1
4104
+ verticalFixed: c = !1,
4105
+ lastRowOfModel: a = !1
3959
4106
  }) {
3960
4107
  var m;
3961
4108
  let d = 0;
3962
- if (!a) {
3963
- const f = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
3964
- d = this.snapToDevicePixel(this.scrollFactorX * f);
4109
+ if (!c) {
4110
+ const g = this.areaBodyCenterGeo.width - this.tableModel.getContentWidthInPixel();
4111
+ d = this.snapToDevicePixel(this.scrollFactorX * g);
3965
4112
  }
3966
- const u = 0, g = !!(e === "body" && t);
3967
- let p = d;
3968
- for (let f = n; f <= l; f++) {
3969
- const b = p, w = this.tableModel.getColumnWidth(f);
3970
- if (w > 0 && b + w > 0) {
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) {
3971
4118
  let v = o.height;
3972
- const I = s.getRowspanAt(r, f), x = s.getColspanAt(r, f);
4119
+ const I = s.getRowspanAt(r, g), x = s.getColspanAt(r, g);
3973
4120
  I > 1 && (v = this.getRowHeights(r, r + I - 1, s).reduce((R, A) => R + A, 0));
3974
4121
  let S = w;
3975
- x > 1 && (S = this.getColumnWidths(f, f + x - 1).reduce((R, A) => R + A, 0));
3976
- let T = !1;
3977
- if (this.colAndRowspanModels && this.colAndRowspanModels[e] && (m = this.colAndRowspanModels[e]) != null && m.isInRange(r, f) && (T = !0), this.draggingTargetColumnIndex === f && e !== "header") {
3978
- this.renderDragTargetDiv(i, b, u, S, v);
3979
- const R = { left: b, top: u, width: S, height: v };
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 };
3980
4127
  this.dom.addColumnBorderDivs(this.tableOptions, i, R, e, t);
3981
4128
  } else {
3982
- const R = this.renderSelectedBackgroundDiv(T, g, t, s, r, f, i, b, u, S, v);
3983
- "gammaCells" in s && s.getValueAt(r, f) && (T = !1), T || this.renderCell({
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({
3984
4131
  areaModel: s,
3985
4132
  areaIdent: e,
3986
4133
  sideIdent: t,
3987
4134
  rowIndex: r,
3988
- columnIndex: f,
3989
- left: b,
4135
+ columnIndex: g,
4136
+ left: y,
3990
4137
  top: u,
3991
4138
  width: S,
3992
4139
  height: v,
3993
4140
  parent: i,
3994
4141
  cellSelected: R,
3995
- lastRowOfModel: c,
4142
+ lastRowOfModel: a,
3996
4143
  gammaRange: !0
3997
4144
  }), e === "header" && this.tableOptions.columnsResizable && this.renderHeaderCellResizeHandle({
3998
4145
  rowIndex: r,
3999
- columnIndex: f,
4000
- cellLeft: b,
4146
+ columnIndex: g,
4147
+ cellLeft: y,
4001
4148
  cellTop: u,
4002
4149
  cellWidth: S,
4003
4150
  cellHeight: v,
@@ -4005,10 +4152,10 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4005
4152
  });
4006
4153
  }
4007
4154
  }
4008
- if (p = p + w, p > this.areaBodyCenterGeo.width)
4155
+ if (f = f + w, f > this.areaBodyCenterGeo.width)
4009
4156
  break;
4010
4157
  }
4011
- 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);
4012
4159
  }
4013
4160
  /**
4014
4161
  * Retrieves the column index of the tree arrow column in the table.
@@ -4031,49 +4178,49 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4031
4178
  left: r,
4032
4179
  width: n,
4033
4180
  height: l,
4034
- top: a,
4035
- parent: c,
4181
+ top: c,
4182
+ parent: a,
4036
4183
  lastRowOfModel: d
4037
4184
  }) {
4038
4185
  var U;
4039
- const u = t === "body" && this.editorRenderer && this.editorRendererRow === o && this.editorRendererColumn === i, g = u ? this.editorRenderer : e.getCellRenderer(o, i), p = { left: r, width: n, height: l, top: a, index: i }, m = e.getRowByIndex(o);
4040
- let f = "none";
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";
4041
4188
  if (i === this.getTreeArrowColumnIndex() && j(m)) {
4042
4189
  const C = m;
4043
- (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";
4044
4191
  }
4045
4192
  let w;
4046
4193
  if (t === "header") {
4047
4194
  const C = this.tableModel.getColumnDef(i);
4048
4195
  (!(C != null && C.sortIconVisible) || C != null && C.sortIconVisible()) && (w = C == null ? void 0 : C.sortState);
4049
4196
  }
4050
- 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(
4051
4198
  {
4052
- parent: c,
4053
- geo: p,
4199
+ parent: a,
4200
+ geo: f,
4054
4201
  rowIndex: o,
4055
4202
  columnIndex: i,
4056
4203
  areaIdent: t,
4057
4204
  sideIdent: s,
4058
4205
  text: I,
4059
- treeArrow: f,
4206
+ treeArrow: g,
4060
4207
  tableOptions: this.tableOptions,
4061
4208
  checkedType: x,
4062
4209
  sortState: w
4063
4210
  }
4064
- ), T = e.getTooltipAt(o, i);
4065
- T && this.dom.setAttribute(S, "title", T);
4211
+ ), E = e.getTooltipAt(o, i);
4212
+ E && this.dom.setAttribute(S, "title", E);
4066
4213
  const R = this.tableModel.getColumnDef(i);
4067
4214
  R && R.classes[t] && this.dom.addClasses(R.classes[t], S);
4068
4215
  let A;
4069
- if (g && (A = g.render(S, o, i, t, e, v, this.dom.domService), u)) {
4216
+ if (p && (A = p.render(S, o, i, t, e, v, this.dom.domService), u)) {
4070
4217
  const C = S.querySelector("input, select");
4071
4218
  C && !C.contains(document.activeElement) && C.focus();
4072
4219
  }
4073
4220
  const D = e.getCustomClassesAt(o, i);
4074
- if (D.length && this.dom.addClasses(D, S), this.dom.addColumnBorderDivs(this.tableOptions, c, p, t, s), d && this.dom.addHorizontalBorder({ left: r, width: n, height: l, top: a + l }, c), this.getFocusModel && t === "body") {
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") {
4075
4222
  const C = this.getFocusModel();
4076
- C != null && C.hasFocus(o, i) && this.dom.addFocusBorderDivs(c, p, {});
4223
+ C != null && C.hasFocus(o, i) && this.dom.addFocusBorderDivs(a, f, {});
4077
4224
  }
4078
4225
  t === "header" && this.dom.setAttribute(S, "data-ge-action", "drag-column");
4079
4226
  const N = e.getCustomStyleAt(o, i);
@@ -4224,12 +4371,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4224
4371
  if (this.dragging) {
4225
4372
  const r = this.hostElement.clientHeight, n = this.storedColumnWidths[t];
4226
4373
  if ((o = e.originalEvent) != null && o.clientX) {
4227
- 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 };
4228
4375
  this.dom.applyStyle(this.draggingColumn, {
4229
4376
  background: "rgba(128,128,128,0.2)",
4230
4377
  display: "block",
4231
4378
  overfllow: "clip"
4232
- }), this.dom.applyStyleInPx(this.draggingColumn, c), s && this.renderContentOfDraggingColumn(c);
4379
+ }), this.dom.applyStyleInPx(this.draggingColumn, a), s && this.renderContentOfDraggingColumn(a);
4233
4380
  }
4234
4381
  } else
4235
4382
  this.hideDraggingColumn();
@@ -4257,26 +4404,26 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4257
4404
  const o = "center", i = this.tableModel.getAreaModel(t), r = i == null ? void 0 : i.getRowCount();
4258
4405
  if (r) {
4259
4406
  const n = e.index ?? 0, l = this.draggingColumn;
4260
- for (let a = 0; a < r; a++) {
4261
- const c = s, d = i.getRowHeight(a), u = { left: 0, width: e.width, height: d, top: c, index: a }, g = i.getValueAt(a, n), p = i.getCellRenderer(a, n), m = p ? "" : `${g ?? ""}`, f = {
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 = {
4262
4409
  parent: l,
4263
4410
  geo: u,
4264
- rowIndex: a,
4411
+ rowIndex: c,
4265
4412
  columnIndex: n,
4266
4413
  areaIdent: t,
4267
4414
  sideIdent: o,
4268
4415
  text: m
4269
- }, b = this.dom.addColumnDiv(f);
4416
+ }, y = this.dom.addColumnDiv(g);
4270
4417
  let w;
4271
- p && (w = p.render(b, a, n, t, i, g, this.dom.domService), w && this.cleanupFunctions[t].push(w));
4272
- const v = i.getCustomClassesAt(a, n);
4273
- v.length && this.dom.addClasses(v, b);
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);
4274
4421
  const I = this.tableModel.getColumnDef(n);
4275
- I && I.classes[t] && this.dom.addClasses(I.classes[t], b), this.dom.addColumnBorderDivs(this.tableOptions, l, u, t, o);
4276
- const x = i.getCustomStyleAt(a, n);
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);
4277
4424
  if (x)
4278
4425
  for (const S in x)
4279
- this.dom.setStyle(b, S, x[S]);
4426
+ this.dom.setStyle(y, S, x[S]);
4280
4427
  s = s + d;
4281
4428
  }
4282
4429
  }
@@ -4326,19 +4473,19 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4326
4473
  * @param {number} height - The height of the div.
4327
4474
  * @returns {boolean} - Whether the cell is selected.
4328
4475
  */
4329
- renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, a, c, d) {
4476
+ renderSelectedBackgroundDiv(e, t, s, o, i, r, n, l, c, a, d) {
4330
4477
  let u = !1;
4331
4478
  if (!e && t && o.isSelectable(i, r) && this.getSelectionModel) {
4332
- const g = this.getSelectionModel();
4333
- if (g) {
4334
- const p = g.getSelectionCount(i, r);
4335
- u = p > 0;
4336
- for (let m = 0; m < p; m++) {
4337
- 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(
4338
4485
  // ge-table-body-west-selected-range
4339
4486
  this.dom.createDivWithClass(`ge-table-${o.areaIdent}-${s}-selected-range`, n)
4340
4487
  );
4341
- this.dom.setStyle(f, "left", `${l}px`), this.dom.setStyle(f, "top", `${a}px`), this.dom.setStyle(f, "width", `${c}px`), this.dom.setStyle(f, "height", `${d}px`);
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`);
4342
4489
  }
4343
4490
  }
4344
4491
  }
@@ -4372,12 +4519,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4372
4519
  left: r,
4373
4520
  top: n,
4374
4521
  width: l,
4375
- height: a,
4376
- parent: c,
4522
+ height: c,
4523
+ parent: a,
4377
4524
  cellSelected: d,
4378
4525
  lastRowOfModel: u
4379
4526
  }) {
4380
- const [g, p] = this.addAndRenderCellDiv({
4527
+ const [p, f] = this.addAndRenderCellDiv({
4381
4528
  areaModel: e,
4382
4529
  areaIdent: t,
4383
4530
  sideIdent: s,
@@ -4385,12 +4532,12 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4385
4532
  index: i,
4386
4533
  left: r,
4387
4534
  width: l,
4388
- height: a,
4535
+ height: c,
4389
4536
  top: n,
4390
- parent: c,
4537
+ parent: a,
4391
4538
  lastRowOfModel: u
4392
4539
  });
4393
- d && 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);
4394
4541
  }
4395
4542
  /**
4396
4543
  * Render the header cell resize handle.
@@ -4407,16 +4554,16 @@ render scope: this.lastFullVisibleRowIndex <- ` + this.lastFullVisibleRowIndex),
4407
4554
  * @return {void}
4408
4555
  */
4409
4556
  renderHeaderCellResizeHandle({ rowIndex: e, columnIndex: t, cellLeft: s, cellTop: o, cellWidth: i, cellHeight: r, parent: n }) {
4410
- const l = this.dom.domService, a = this.tableOptions.columnResizeHandleWidthInPx ?? 2, c = l.createElement("div");
4411
- l.setAttribute(c, "data-col-index", `${t}`), l.setAttribute(c, "data-row-index", `${e}`), l.setAttribute(c, "data-area", "header"), l.setAttribute(c, "data-ge-action", "resize-column"), l.addClass(c, "ge-table-column-resize-handle"), l.setStyle(c, "display", "clip"), l.setStyle(c, "position", "absolute"), l.setStyle(c, "cursor", "col-resize"), l.setStyle(c, "left", `${s + i - a}px`), l.setStyle(c, "top", `${o}px`), l.setStyle(c, "width", `${a}px`), l.setStyle(c, "height", `${r}px`), l.appendChild(n, c);
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);
4412
4559
  }
4413
4560
  }
4414
- class Me {
4561
+ class Ie {
4415
4562
  constructor(e, t) {
4416
4563
  this.columnIndex = e, this.sortState = t;
4417
4564
  }
4418
4565
  }
4419
- class pt {
4566
+ class ft {
4420
4567
  constructor(e) {
4421
4568
  this.tableScope = e, this.tableScope.hostElement.addEventListener(
4422
4569
  "change",
@@ -4436,34 +4583,33 @@ class pt {
4436
4583
  if (e.target instanceof HTMLInputElement || e.target instanceof HTMLSelectElement || e.target instanceof HTMLTextAreaElement) {
4437
4584
  const t = e.target, s = t.getAttribute("data-area"), o = t.getAttribute("data-row-index"), i = t.getAttribute("data-col-index");
4438
4585
  if (s && o && i) {
4439
- const r = ne(s), n = Number(o), l = Number(i);
4586
+ const r = le(s), n = Number(o), l = Number(i);
4440
4587
  this.tableScope.updateModelValueAfterEdit(r, n, l, t.value);
4441
4588
  }
4442
4589
  }
4443
4590
  }
4444
4591
  }
4445
- class gt {
4592
+ class mt {
4446
4593
  constructor(e = -1, t = -1) {
4447
4594
  this.rowIndex = e, this.columnIndex = t;
4448
4595
  }
4449
4596
  }
4450
- class Se {
4597
+ class ve {
4451
4598
  constructor(e) {
4452
4599
  this.cells = e;
4453
4600
  }
4454
4601
  static createSingle(e, t) {
4455
- return new Se([new gt(e, t)]);
4602
+ return new ve([new mt(e, t)]);
4456
4603
  }
4457
4604
  }
4458
- class ft {
4605
+ class bt {
4459
4606
  constructor(e, t, s, o, i, r, n, l) {
4460
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;
4461
4608
  }
4462
4609
  }
4463
- class mt {
4610
+ class yt {
4464
4611
  constructor(e) {
4465
- var t, s;
4466
- this.tableScope = e, this.ignoreNextClick = !1, (t = this.tableScope.tableOptions) != null && t.getSelectionModel && (this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel), (s = this.tableScope.tableOptions) != null && s.getFocusModel && (this.getFocusModel = this.tableScope.tableOptions.getFocusModel);
4612
+ this.tableScope = e, this.ignoreNextClick = !1, this.getSelectionModel = () => this.tableScope.selectionModel(), this.getFocusModel = () => this.tableScope.focusModel();
4467
4613
  }
4468
4614
  /**
4469
4615
  * Called on mouse down: a new gesture starts.
@@ -4489,13 +4635,13 @@ class mt {
4489
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;
4490
4636
  }
4491
4637
  onMouseClicked(e, t) {
4492
- var i, r, n, l, a, c, d;
4638
+ var i, r, n, l, c, a, d;
4493
4639
  if (this.ignoreNextClick)
4494
4640
  return this.ignoreNextClick = !1, !1;
4495
4641
  let s = !1, o = !1;
4496
4642
  if (this.getSelectionModel && this.getFocusModel) {
4497
- const u = this.getSelectionModel(), g = this.getFocusModel();
4498
- u && g && (g.hasFocus(e.rowIndex, e.columnIndex) || (g.setFocus(e.rowIndex, e.columnIndex), this.tableScope.onFocusChanged(g), s = !0), (i = e.originalEvent) != null && i.shiftKey || u.hasSelection() && (u.clear(), s = !0), (r = e.originalEvent) != null && r.shiftKey && this.previousEvt ? (u.addSelection(this.createRangeByEvents(e, this.previousEvt)), o = !0, s = !0) : (n = e.originalEvent) != null && n.altKey && ((l = e.originalEvent) != null && l.ctrlKey || (a = e.originalEvent) != null && a.metaKey) ? (u.removeSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (c = e.originalEvent) != null && c.ctrlKey || (d = e.originalEvent) != null && d.metaKey ? (u.addSelection(M.singleCell(e.rowIndex, e.columnIndex)), o = !0, s = !0) : (u.firstClick(e.rowIndex, e.columnIndex), s = !0), this.tableScope.onSelectionChanged(u));
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));
4499
4645
  }
4500
4646
  return o ? this.previousEvt = void 0 : this.previousEvt = e == null ? void 0 : e.clone(), s;
4501
4647
  }
@@ -4526,7 +4672,7 @@ class mt {
4526
4672
  });
4527
4673
  }
4528
4674
  }
4529
- class bt {
4675
+ class wt {
4530
4676
  get() {
4531
4677
  return {
4532
4678
  f2: "START_EDITING",
@@ -4546,7 +4692,7 @@ class bt {
4546
4692
  };
4547
4693
  }
4548
4694
  }
4549
- class yt {
4695
+ class xt {
4550
4696
  get() {
4551
4697
  return {
4552
4698
  f2: "START_EDITING",
@@ -4568,13 +4714,13 @@ class yt {
4568
4714
  };
4569
4715
  }
4570
4716
  }
4571
- function wt(h) {
4717
+ function St(h) {
4572
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) => {
4573
4719
  const s = { cmd: 1, ctrl: 2, alt: 3, shift: 4 }, o = s[e] || 5, i = s[t] || 5;
4574
4720
  return o !== i ? o - i : e.localeCompare(t);
4575
4721
  }).join(" ");
4576
4722
  }
4577
- function Ie(h) {
4723
+ function Ee(h) {
4578
4724
  let e = h.key.toLowerCase();
4579
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")) {
4580
4726
  const s = h.code.replace("Numpad", "").toLowerCase();
@@ -4582,9 +4728,9 @@ function Ie(h) {
4582
4728
  }
4583
4729
  h.code.match(/^F\d+$/) && (e = h.code.toLowerCase()), h.code.match(/^Digit\d+$/) && (e = h.code.replace(/Digit/g, ""));
4584
4730
  let t = "";
4585
- return h.ctrlKey && (t += " ctrl"), h.altKey && (t += t + " alt"), h.shiftKey && (t += t + " shift"), h.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);
4586
4732
  }
4587
- class xt {
4733
+ class Ct {
4588
4734
  constructor(e) {
4589
4735
  this.tableScope = e, this.shortcutActionIdMapping = {}, this.listener = [], this.listener.push(e), this.init();
4590
4736
  }
@@ -4610,7 +4756,7 @@ class xt {
4610
4756
  ));
4611
4757
  }
4612
4758
  assignPredefinedSystemShortcutMappings() {
4613
- 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());
4614
4760
  }
4615
4761
  isMacintosh() {
4616
4762
  return navigator.platform.indexOf("Mac") > -1;
@@ -4636,10 +4782,10 @@ class xt {
4636
4782
  return t;
4637
4783
  }
4638
4784
  findEntity(e) {
4639
- const t = Ie(e);
4785
+ const t = Ee(e);
4640
4786
  this.isDebug() && console.debug("ShortcutService shortcut :", t);
4641
4787
  for (const s in this.shortcutActionIdMapping)
4642
- if (Ie(e) === t)
4788
+ if (Ee(e) === t)
4643
4789
  return this.isDebug() && console.debug("ShortcutService action :", this.shortcutActionIdMapping[s]), this.shortcutActionIdMapping[s];
4644
4790
  }
4645
4791
  // private areTokensEquals(tokens1: string[], tokens2: string[]): boolean {
@@ -4686,7 +4832,7 @@ class xt {
4686
4832
  return this.shortcutActionIdMapping;
4687
4833
  }
4688
4834
  }
4689
- class he {
4835
+ class pe {
4690
4836
  onCheckboxChanged(e) {
4691
4837
  }
4692
4838
  onContextmenu(e) {
@@ -4708,7 +4854,7 @@ class he {
4708
4854
  onFocusChanged(e) {
4709
4855
  }
4710
4856
  }
4711
- class St {
4857
+ class vt {
4712
4858
  setStyle(e, t, s) {
4713
4859
  return e.style[t] = s, e;
4714
4860
  }
@@ -4735,7 +4881,7 @@ class St {
4735
4881
  e.setAttribute(t, s);
4736
4882
  }
4737
4883
  }
4738
- class Ct {
4884
+ class Rt {
4739
4885
  render(e, t, s, o, i, r, n) {
4740
4886
  if (i.isEditable(t, s)) {
4741
4887
  n.addClass(e, "ge-table-row-input-div");
@@ -4756,126 +4902,7 @@ class Ct {
4756
4902
  }
4757
4903
  }
4758
4904
  }
4759
- class Ce {
4760
- constructor(e = "none", t = "single") {
4761
- this.selectionType = e, this.selectionMode = t, this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.silent = !1, this.listenerArr = [];
4762
- }
4763
- getEventSelectionChangedListeners() {
4764
- return this.listenerArr;
4765
- }
4766
- addEventSelectionChangedListener(e) {
4767
- this.listenerArr.includes(e) || this.listenerArr.push(e);
4768
- }
4769
- removeEventSelectionChangedListener(e) {
4770
- const t = this.listenerArr.indexOf(e, 0);
4771
- t > -1 && this.listenerArr.splice(t, 1);
4772
- }
4773
- //@AvoidDoubleExecution(100)
4774
- fireChangeEvent() {
4775
- this.silent || this.listenerArr.forEach((e) => e.onSelectionChanged(this));
4776
- }
4777
- firstClick(e, t) {
4778
- this.selectionType === "row" ? this.addRange(M.singleRow(e)) : this.selectionType === "column" && this.addRange(M.singleColumn(t));
4779
- }
4780
- getSelectionCount(e, t) {
4781
- let s = 0;
4782
- for (const o of this.ranges)
4783
- o.isInRange(e, t) && s++;
4784
- return this.allSelected && s++, this.isInNegativeRange(e, t) && (s = 0), s;
4785
- }
4786
- isInNegativeRange(e, t) {
4787
- for (const s of this.negativeRanges)
4788
- if (s.isInRange(e, t))
4789
- return !0;
4790
- return !1;
4791
- }
4792
- getRanges() {
4793
- return this.ranges;
4794
- }
4795
- clear() {
4796
- this.ranges = [], this.negativeRanges = [], this.allSelected = !1, this.fireChangeEvent();
4797
- }
4798
- hasSelection() {
4799
- return this.allSelected || !!this.ranges.length;
4800
- }
4801
- hasNoSelection() {
4802
- return !this.hasSelection();
4803
- }
4804
- /**
4805
- * Retrieves the merged row indices from the given range selection.
4806
- *
4807
- * @returns {number[]} Array of merged row indices
4808
- */
4809
- getMergedRowIndices() {
4810
- const e = /* @__PURE__ */ new Set();
4811
- for (const t of this.ranges)
4812
- for (let s = t.r1; s <= t.r2; s++)
4813
- !e.has(s) && !this.isInNegativeRange(s, 0) && e.add(s);
4814
- return Array.from(e);
4815
- }
4816
- selectAll() {
4817
- this.allSelected = !0, this.fireChangeEvent();
4818
- }
4819
- isAllSelected() {
4820
- return this.allSelected;
4821
- }
4822
- addSelection(e) {
4823
- this.addRange(e), this.fireChangeEvent();
4824
- }
4825
- removeSelection(e) {
4826
- if (this.selectionType === "none")
4827
- return;
4828
- let t = e;
4829
- this.selectionType === "row" ? t = M.singleRow(e.r1) : this.selectionType === "column" && (t = M.singleColumn(e.c1)), this.negativeRanges.push(t), this.fireChangeEvent();
4830
- }
4831
- togglePoint(e, t) {
4832
- this.getSelectionCount(e, t) > 0 ? this.removeSelection(M.singleCell(e, t)) : this.addSelection(M.singleCell(e, t));
4833
- }
4834
- isSelected(e, t) {
4835
- return this.getSelectionCount(e, t) > 0;
4836
- }
4837
- addRange(e) {
4838
- this.selectionType !== "none" && (this.allSelected = !1, this.selectionMode === "single" && (this.ranges = []), this.selectionType === "row" ? (e.c1 = 0, e.c2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "column" ? (e.r1 = 0, e.r2 = Number.MAX_SAFE_INTEGER) : this.selectionType === "cell" ? (e.r2 = e.r1, e.c2 = e.c1) : this.selectionType, this.ranges.push(e), this.fireChangeEvent());
4839
- }
4840
- }
4841
- class vt {
4842
- constructor(e = "none") {
4843
- this.selectionType = e, this.rowIndex = -1, this.columnIndex = -1, this.changed = !1, this.listenerArr = [];
4844
- }
4845
- getEventFocusChangedListeners() {
4846
- return this.listenerArr;
4847
- }
4848
- addEventFocusChangedListener(e) {
4849
- this.listenerArr.includes(e) || this.listenerArr.push(e);
4850
- }
4851
- removeEventFocusChangedListener(e) {
4852
- const t = this.listenerArr.indexOf(e, 0);
4853
- t > -1 && this.listenerArr.splice(t, 1);
4854
- }
4855
- //@AvoidDoubleExecution(100)
4856
- fireChangeEvent() {
4857
- this.listenerArr.forEach((e) => e.onFocusChanged(this));
4858
- }
4859
- clearChanged() {
4860
- this.changed = !1;
4861
- }
4862
- hasChanged() {
4863
- return this.changed;
4864
- }
4865
- clear() {
4866
- this.rowIndex = -1, this.columnIndex = -1, this.fireChangeEvent();
4867
- }
4868
- setFocus(e, t) {
4869
- (this.rowIndex !== e || this.columnIndex !== t) && (this.rowIndex = e, this.columnIndex = t, this.changed = !0, this.fireChangeEvent());
4870
- }
4871
- hasFocus(e, t) {
4872
- return this.rowIndex === e && this.columnIndex === t;
4873
- }
4874
- getFocus() {
4875
- return [this.rowIndex, this.columnIndex];
4876
- }
4877
- }
4878
- class ve {
4905
+ class Re {
4879
4906
  constructor(e = new O(
4880
4907
  "❯",
4881
4908
  "",
@@ -4889,14 +4916,13 @@ class ve {
4889
4916
  }
4890
4917
  // `⊖ `, `⊕ `;
4891
4918
  }
4892
- const Rt = new Ce(), At = new vt("cell");
4893
- class J {
4919
+ class q {
4894
4920
  constructor() {
4895
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 = {
4896
4922
  header: 34,
4897
4923
  body: 34,
4898
4924
  footer: 34
4899
- }, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new We(), this.headerGroupOptions = new ve(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Ne(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, t) => new Ct(), this.getSelectionModel = () => Rt, this.getFocusModel = () => At;
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;
4900
4926
  }
4901
4927
  }
4902
4928
  const z = class z {
@@ -4916,22 +4942,22 @@ const z = class z {
4916
4942
  const l = this.mergeRanges(t.getRanges());
4917
4943
  if (l) {
4918
4944
  l.c2 = Math.min(l.c2, e.getColumnCount() - 1), l.r2 = Math.min(l.r2, e.getBodyModel().getRowCount() - 1);
4919
- const a = [];
4920
- for (let c = l.r1; c <= l.r2; c++) {
4945
+ const c = [];
4946
+ for (let a = l.r1; a <= l.r2; a++) {
4921
4947
  const d = [];
4922
4948
  for (let u = l.c1; u <= l.c2; u++) {
4923
4949
  if (((n = (r = e.getColumnDef(u)) == null ? void 0 : r.isVisible) == null ? void 0 : n.call(r)) === !1) continue;
4924
- const g = t.isSelected(c, u) ? e.getBodyModel().getTextValueAt(c, u) : "";
4925
- d.push(g);
4950
+ const p = t.isSelected(a, u) ? e.getBodyModel().getTextValueAt(a, u) : "";
4951
+ d.push(p);
4926
4952
  }
4927
- a.push(d.join(z.columnSeparatorChar));
4953
+ c.push(d.join(z.columnSeparatorChar));
4928
4954
  }
4929
- return o(a.join(z.rowSeparatorChar));
4955
+ return o(c.join(z.rowSeparatorChar));
4930
4956
  }
4931
4957
  }
4932
4958
  if (s) {
4933
- const [l, a] = s.getFocus(), c = e.getBodyModel().getTextValueAt(l, a);
4934
- return o(c);
4959
+ const [l, c] = s.getFocus(), a = e.getBodyModel().getTextValueAt(l, c);
4960
+ return o(a);
4935
4961
  }
4936
4962
  i("Cannot copy, neither selection nor focus defined.");
4937
4963
  });
@@ -4985,10 +5011,10 @@ const z = class z {
4985
5011
  };
4986
5012
  z.columnSeparatorChar = " ", z.rowSeparatorChar = `
4987
5013
  `;
4988
- let te = z;
4989
- class Mt {
5014
+ let se = z;
5015
+ class At {
4990
5016
  constructor(e, t = 500) {
4991
- this.tableScope = e, this.debounceDelay = t, this.disconnected = !1, this.resizeObserver = new ResizeObserver(Ye(this.handleResize.bind(this), t)), this.resizeObserver.observe(this.tableScope.hostElement);
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);
4992
5018
  }
4993
5019
  /**
4994
5020
  * Stops observing the host element. Called by {@link TableScope.destroy}.
@@ -5003,23 +5029,33 @@ class Mt {
5003
5029
  this.tableScope.recalcColumnWidths(s);
5004
5030
  }
5005
5031
  }
5006
- let q;
5007
- function It(h) {
5008
- if (!q) {
5009
- q = new Uint32Array(256);
5032
+ let Z;
5033
+ function Te(h) {
5034
+ if (!Z) {
5035
+ Z = new Uint32Array(256);
5010
5036
  for (let t = 0; t < 256; t++) {
5011
5037
  let s = t;
5012
5038
  for (let o = 0; o < 8; o++)
5013
5039
  s = s & 1 ? 3988292384 ^ s >>> 1 : s >>> 1;
5014
- q[t] = s >>> 0;
5040
+ Z[t] = s >>> 0;
5015
5041
  }
5016
5042
  }
5017
5043
  let e = 4294967295;
5018
5044
  for (let t = 0; t < h.length; t++)
5019
- e = q[(e ^ h[t]) & 255] ^ e >>> 8;
5045
+ e = Z[(e ^ h[t]) & 255] ^ e >>> 8;
5020
5046
  return (e ^ 4294967295) >>> 0;
5021
5047
  }
5022
- 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 {
5023
5059
  /**
5024
5060
  * Downloads a matrix data as an Excel file.
5025
5061
  *
@@ -5034,14 +5070,25 @@ class Tt {
5034
5070
  throw new Error("Invalid matrix format. Expected a 2D array.");
5035
5071
  if ((t == null ? void 0 : t.trim()) === "")
5036
5072
  throw new Error("Invalid filename. Filename must be a non-empty string.");
5037
- try {
5038
- const o = this.generateBuffer(e, s), i = new Blob([o], {
5039
- type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
5040
- }), r = document.createElement("a");
5041
- r.href = URL.createObjectURL(i), r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r);
5042
- } 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) => {
5043
5077
  throw console.error("Error generating Excel file:", o), new Error("Failed to download Excel file.");
5044
- }
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
+ });
5045
5092
  }
5046
5093
  generateMap(e, t = "") {
5047
5094
  const s = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -5050,11 +5097,11 @@ class Tt {
5050
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"?>
5051
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"?>
5052
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"?>
5053
- <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="3" uniqueCount="3"><si><t>a</t></si><si><t>b</t></si><si><t>c</t></si></sst>`, a = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5054
- <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2 xr" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision"><fonts count="1" x14ac:knownFonts="1"><font><sz val="12"/><color theme="1"/><name val="Aptos Narrow"/><family val="2"/><scheme val="minor"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/><extLst><ext uri="{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"><x14:slicerStyles defaultSlicerStyle="SlicerStyleLight1"/></ext><ext uri="{9260A510-F301-46a8-8635-F512D64BE5F5}" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><x15:timelineStyles defaultTimelineStyle="TimeSlicerStyleLight1"/></ext></extLst></styleSheet>`, c = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
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"?>
5055
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"?>
5056
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();
5057
- return u.set("_rels/.rels", s), u.set("docProps/app.xml", o), u.set("docProps/core.xml", i), u.set("xl/_rels/workbook.xml.rels", r), u.set("xl/theme/theme1.xml", n), u.set("xl/worksheets/sheet1.xml", this.getX1WorksheetsSheet1Xml(e)), u.set("xl/sharedStrings.xml", l), u.set("xl/styles.xml", a), u.set("xl/workbook.xml", c), u.set("[Content_Types].xml", d), u;
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;
5058
5105
  }
5059
5106
  getX1WorksheetsSheet1Xml(e) {
5060
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 = [];
@@ -5069,15 +5116,15 @@ class Tt {
5069
5116
  const r = e[i];
5070
5117
  o.push(`<row r="${i + 1}" spans="1:${t}" x14ac:dyDescent="0.2">`);
5071
5118
  for (let n = 0; n < r.length; n++) {
5072
- const l = r[n], a = this.getCellAddress(i, n);
5119
+ const l = r[n], c = this.getCellAddress(i, n);
5073
5120
  if (typeof l == "number")
5074
- o.push(`<c r="${a}"><v>${l}</v></c>`);
5121
+ o.push(`<c r="${c}"><v>${l}</v></c>`);
5075
5122
  else if (l instanceof Date) {
5076
- const c = l;
5077
- 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>`);
5078
5125
  } else {
5079
- const c = l != null ? this.escapeXml(String(l)) : "";
5080
- 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>`);
5081
5128
  }
5082
5129
  }
5083
5130
  o.push("</row>");
@@ -5095,49 +5142,69 @@ class Tt {
5095
5142
  o = s[t % 26] + o, t = Math.floor(t / 26) - 1;
5096
5143
  return `${o}${e + 1}`;
5097
5144
  }
5145
+ /**
5146
+ * ZIP without compression (method 0, synchronous). Kept for compatibility –
5147
+ * downloads use {@link createZipCompressed}.
5148
+ */
5098
5149
  createZip(e) {
5099
5150
  const t = [];
5100
- let s = 0;
5101
- const o = [];
5102
- e.forEach((d, u) => {
5103
- const g = new TextEncoder().encode(u), p = new TextEncoder().encode(d), m = It(p), f = new Uint8Array(30 + g.length), b = new DataView(f.buffer);
5104
- f.set([80, 75, 3, 4], 0), b.setUint16(4, 20, !0), b.setUint16(6, 0, !0), b.setUint16(8, 0, !0), b.setUint16(10, 0, !0), b.setUint16(12, 0, !0), b.setUint32(14, m, !0), b.setUint32(18, p.length, !0), b.setUint32(22, p.length, !0), b.setUint16(26, g.length, !0), b.setUint16(28, 0, !0), f.set(g, 30), t.push(f, p), o.push({
5105
- path: u,
5106
- offset: s,
5107
- contentSize: p.length,
5108
- crc: m
5109
- }), s += f.length + p.length;
5110
- });
5111
- const i = s;
5112
- o.forEach((d) => {
5113
- const u = new TextEncoder().encode(d.path), g = new Uint8Array(46 + u.length), p = new DataView(g.buffer);
5114
- g.set([80, 75, 1, 2], 0), p.setUint16(4, 20, !0), p.setUint16(6, 20, !0), p.setUint16(8, 0, !0), p.setUint16(10, 0, !0), p.setUint16(12, 0, !0), p.setUint16(14, 0, !0), p.setUint32(16, d.crc, !0), p.setUint32(20, d.contentSize, !0), p.setUint32(24, d.contentSize, !0), p.setUint16(28, u.length, !0), p.setUint16(30, 0, !0), p.setUint16(32, 0, !0), p.setUint16(34, 0, !0), p.setUint16(36, 0, !0), p.setUint32(38, 0, !0), p.setUint32(42, d.offset, !0), g.set(u, 46), t.push(g), s += g.length;
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;
5115
5186
  });
5116
5187
  const r = new Uint8Array(22), n = new DataView(r.buffer);
5117
- r.set([80, 75, 5, 6], 0), n.setUint16(4, 0, !0), n.setUint16(6, 0, !0), n.setUint16(8, o.length, !0), n.setUint16(10, o.length, !0), n.setUint32(12, s - i, !0), n.setUint32(16, i, !0), n.setUint16(20, 0, !0), t.push(r);
5118
- const l = t.reduce((d, u) => d + 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));
5119
5190
  let c = 0;
5120
- for (const d of t)
5121
- a.set(d, c), c += d.length;
5122
- return a;
5123
- }
5124
- generateBuffer(e, t = "") {
5125
- const s = this.generateMap(e, t);
5126
- return this.createZip(s);
5191
+ for (const a of t)
5192
+ l.set(a, c), c += a.length;
5193
+ return l;
5127
5194
  }
5128
5195
  }
5129
- class Ge extends ut {
5130
- constructor(e, t, s, o, i, r = new te(), n = new Tt()) {
5131
- var c;
5132
- if (super(e, t, new ot(s), o), this.eventListener = i, this.copyService = r, this.excelService = n, this.licenseManager = G.getInstance(), this.listenerAbortController = new AbortController(), this.destroyed = !1, this.selectionService = new mt(this), this.api = new nt(this), this.mouseStartAction = "", this.mouseStartWidth = -1, this.mouseStartColumnIndex = -1, this.dragFrom = -1, this.dragTo = -1, this.lastDragFrom = -1, this.lastDragTo = -1, this.firstDraggingRendering = !0, this.lastContextmenu = Date.now(), t.setTableScope(this), i || (this.eventListener = new he()), (c = this.tableOptions) != null && c.autoRestoreOptions) {
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) {
5133
5200
  const d = this.tableOptions.autoRestoreOptions, u = d.getStorageKeyFn;
5134
- u && (d.autoRestoreScrollPosition && (this.storeScrollPosStateService = new lt(u)), d.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new ct(u)), d.autoRestoreSortingState && (this.storeSortingService = new dt(u)));
5201
+ u && (d.autoRestoreScrollPosition && (this.storeScrollPosStateService = new at(u)), d.autoRestoreCollapsedExpandedState && (this.storeStateCollapsedExpandService = new dt(u)), d.autoRestoreSortingState && (this.storeSortingService = new ht(u)));
5135
5202
  }
5136
- this.mouseHandler = new rt(this), this.inputHandler = new pt(this), this.resizeHandler = new Mt(this, o.resizeEventDebounceDelay), this.shortcutService = new xt(this), this.shortcutService.addListener(this.selectionService);
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);
5137
5204
  const l = this.getSelectionModel ? this.getSelectionModel() : void 0;
5138
5205
  l && l.addEventSelectionChangedListener(this);
5139
- const a = this.getFocusModel ? this.getFocusModel() : void 0;
5140
- a && a.addEventFocusChangedListener(this);
5206
+ const c = this.getFocusModel ? this.getFocusModel() : void 0;
5207
+ c && c.addEventFocusChangedListener(this);
5141
5208
  }
5142
5209
  /**
5143
5210
  * Creates a TableScope instance.
@@ -5151,8 +5218,8 @@ class Ge extends ut {
5151
5218
  *
5152
5219
  * @return {TableScope} - The newly created TableScope instance.
5153
5220
  */
5154
- static create(e, t, s = new J(), o = new he(), i = new St(), r = new te()) {
5155
- 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);
5156
5223
  }
5157
5224
  /**
5158
5225
  * Triggers an action based on the provided actionId.
@@ -5181,7 +5248,7 @@ class Ge extends ut {
5181
5248
  }
5182
5249
  updateModelValueAfterEdit(e, t, s, o) {
5183
5250
  var i, r;
5184
- 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());
5185
5252
  }
5186
5253
  /**
5187
5254
  * Retrieves the TableApi object.
@@ -5241,7 +5308,7 @@ class Ge extends ut {
5241
5308
  * @return {GeMouseEvent} - The created GeMouseEvent object.
5242
5309
  */
5243
5310
  createGeMouseEvent(e) {
5244
- const t = new be();
5311
+ const t = new ye();
5245
5312
  if (t.originalEvent = e, e) {
5246
5313
  const s = e.target;
5247
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) {
@@ -5320,7 +5387,7 @@ class Ge extends ut {
5320
5387
  toggleExpandCollapseAll(e = !0) {
5321
5388
  var s;
5322
5389
  const t = this.tableModel.getBodyModel();
5323
- 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));
5324
5391
  }
5325
5392
  /**
5326
5393
  * Toggles the checkbox state of a specific row in a table.
@@ -5332,11 +5399,11 @@ class Ge extends ut {
5332
5399
  * @return {void} - This method does not return anything.
5333
5400
  */
5334
5401
  toggleRowCheckbox(e, t, s) {
5335
- var l, a, c;
5402
+ var l, c, a;
5336
5403
  const o = this.tableModel.getAreaModel(s), i = o.isRowChecked(e), r = i === void 0 || i === "semi" || i === "none";
5337
5404
  o.setRowChecked(e, r), this.repaint();
5338
5405
  const n = (l = o.rowSelectionModel) == null ? void 0 : l.getCheckedRows();
5339
- (c = (a = this.eventListener).onCheckboxChanged) == null || c.call(a, n || []);
5406
+ (a = (c = this.eventListener).onCheckboxChanged) == null || a.call(c, n || []);
5340
5407
  }
5341
5408
  /**
5342
5409
  * Handle mouse click events.
@@ -5389,13 +5456,25 @@ class Ge extends ut {
5389
5456
  * @return {void}
5390
5457
  */
5391
5458
  onHeaderDblClicked(e, t, s) {
5392
- var i, r;
5393
5459
  const o = this.tableModel.getColumnDef(s);
5394
- if (o != null && o.sortable && o.sortable()) {
5395
- e.preventDefault(), e.stopPropagation();
5396
- const n = o.sortStatesOrder ? o.sortStatesOrder : this.tableOptions.sortOrder, l = o.sortState ?? "", a = n[(n.indexOf(l) + 1) % n.length], c = new Me(s, a), d = this.tableModel.doSort([c]);
5397
- this.lastSortCompareFn = void 0, d && ((i = this.tableModel.getColumnDefs()) == null || i.forEach((u) => u.sortState = ""), o.sortState = a), this.repaint(), (r = this.storeSortingService) == null || r.setSortItems([c]);
5398
- }
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;
5399
5478
  }
5400
5479
  /**
5401
5480
  * Scrolls the viewport to the specified pixel coordinates.
@@ -5431,7 +5510,7 @@ class Ge extends ut {
5431
5510
  var t, s;
5432
5511
  super.adjustAfterScrolling();
5433
5512
  const e = this.scrollViewport;
5434
- (s = (t = this.eventListener).onScroll) == null || s.call(t, new ft(
5513
+ (s = (t = this.eventListener).onScroll) == null || s.call(t, new bt(
5435
5514
  this.scrollTop,
5436
5515
  this.scrollLeft,
5437
5516
  e.scrollHeight,
@@ -5568,17 +5647,17 @@ class Ge extends ut {
5568
5647
  const e = this.storeStateCollapsedExpandService, t = (i = this.tableOptions) == null ? void 0 : i.autoRestoreOptions, s = t == null ? void 0 : t.getRowId;
5569
5648
  if (!e || !s || !(t != null && t.autoRestoreCollapsedExpandedState) || !e.hasStoredState()) return;
5570
5649
  const o = this.tableModel.getAreaModel("body");
5571
- if (de(o)) {
5572
- const r = o, n = e.collapsedExpandedStateGet(), l = (a) => a == null ? void 0 : a.forEach((c) => {
5650
+ if (ue(o)) {
5651
+ const r = o, n = e.collapsedExpandedStateGet(), l = (c) => c == null ? void 0 : c.forEach((a) => {
5573
5652
  if (n.allExpanded)
5574
- c.expanded = !0;
5653
+ a.expanded = !0;
5575
5654
  else if (n.allCollapsed)
5576
- c.expanded = !1;
5655
+ a.expanded = !1;
5577
5656
  else {
5578
- const d = e.collapsedExpandedStateIncludes(s(c.data));
5579
- c.expanded = n.mode === "expanded" ? d : !d;
5657
+ const d = e.collapsedExpandedStateIncludes(s(a.data));
5658
+ a.expanded = n.mode === "expanded" ? d : !d;
5580
5659
  }
5581
- l(c.children);
5660
+ l(a.children);
5582
5661
  });
5583
5662
  l(r.rows), r.recalcVisibleTreeRows();
5584
5663
  }
@@ -5598,32 +5677,31 @@ class Ge extends ut {
5598
5677
  if (!e)
5599
5678
  return console.warn("Body model is not available."), [];
5600
5679
  const s = 30, o = Array.from({ length: t }, () => /* @__PURE__ */ new Set()), i = new Array(t).fill(0), r = (u) => {
5601
- var m, f;
5602
- const g = this.tableModel.getAreaModel(u), p = (g == null ? void 0 : g.getRowCount()) ?? 0;
5603
- for (let b = 0; b < p; b++)
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++)
5604
5683
  for (let w = 0; w < t; w++) {
5605
- const v = ((m = g.getTextValueAt) == null ? void 0 : m.call(g, b, w)) || (((f = g.getValueAt(b, w)) == null ? void 0 : f.toString()) ?? ""), I = v.length;
5606
- if (I > i[w]) {
5607
- i[w] = I;
5608
- for (const x of o[w]) x.length < I - 2 && o[w].delete(x);
5609
- }
5610
- I >= i[w] - 2 && o[w].size < s && o[w].add(v);
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);
5611
5688
  }
5612
5689
  };
5613
5690
  r("header"), r("body"), r("footer");
5614
- const n = this.hostElement.querySelector(".ge-table-label"), l = getComputedStyle(n ?? this.hostElement), a = n ? (parseFloat(l.paddingLeft) || 0) + (parseFloat(l.paddingRight) || 0) : 20;
5615
- let c = null;
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;
5616
5693
  try {
5617
- c = document.createElement("canvas").getContext("2d");
5694
+ a = document.createElement("canvas").getContext("2d");
5618
5695
  } catch {
5619
- c = null;
5696
+ a = null;
5620
5697
  }
5621
- c && (c.font = l.font || `${l.fontSize} ${l.fontFamily}`);
5622
- const d = (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;
5623
5700
  return o.map((u) => {
5624
- let g = 0;
5625
- for (const p of u) g = Math.max(g, d(p));
5626
- return Math.max(Math.ceil(g + a + 2), 50);
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);
5627
5705
  });
5628
5706
  }
5629
5707
  setColumnWidth(e, t) {
@@ -5661,7 +5739,7 @@ class Ge extends ut {
5661
5739
  }
5662
5740
  const e = [];
5663
5741
  (t = this.tableModel.getColumnDefs()) == null || t.forEach((s, o) => {
5664
- s.sortState && e.push(new Me(o, s.sortState));
5742
+ s.sortState && e.push(new Ie(o, s.sortState));
5665
5743
  }), e.length && this.tableModel.doSort(e);
5666
5744
  }
5667
5745
  /**
@@ -5720,16 +5798,16 @@ class Ge extends ut {
5720
5798
  return e < t ? (this.scrollToIndex(0, e), !0) : e > s ? (this.scrollToIndex(0, e - o + 1), !0) : !1;
5721
5799
  }
5722
5800
  }
5723
- class qt extends he {
5801
+ class Jt extends pe {
5724
5802
  constructor(e) {
5725
5803
  super(), this.onCheckboxChangedCallback = e, super.onCheckboxChanged = (t) => {
5726
5804
  this.onCheckboxChangedCallback(t);
5727
5805
  };
5728
5806
  }
5729
5807
  }
5730
- const ie = class ie {
5808
+ const re = class re {
5731
5809
  };
5732
- ie.themes = ["light", "combat", "paper", "blackboard"], ie.vars = {
5810
+ re.themes = ["light", "combat", "paper", "blackboard"], re.vars = {
5733
5811
  light: `html[data-theme="light"] {
5734
5812
  --ge-table-bg: rgba(255,255,255, 0.5);
5735
5813
  --ge-table-header-west-bg: rgba(233, 233, 233, 0.5);
@@ -5963,52 +6041,62 @@ ie.themes = ["light", "combat", "paper", "blackboard"], ie.vars = {
5963
6041
  --ge-table-drop-zone-bg: #758129;
5964
6042
  }`
5965
6043
  };
5966
- let Te = ie;
5967
- class Ee {
6044
+ let ke = re;
6045
+ class ce {
5968
6046
  constructor(e, t = !0, s, o, i = 0, r = !1, n = !1) {
5969
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";
5970
6048
  }
5971
6049
  }
5972
- class ue {
5973
- static buildTreeRows(e, t = "children", s = 12) {
5974
- const o = [];
5975
- for (const i of e)
5976
- o.push(ue.buildTreeRow(i, t, void 0, 0, s));
5977
- 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;
5978
6069
  }
5979
- static buildTreeRow(e, t = "children", s = new Ee(e, !0, [], void 0, 0), o = 0, i = 12) {
5980
- 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;
5981
6072
  if (o > i)
5982
6073
  return console.warn("Max deep limit reached: ", o), s;
5983
- const r = e[t];
5984
- if (r)
5985
- for (const l of r) {
5986
- const a = new Ee(l, !0, [], s, o + 1);
5987
- if ((n = s.children) == null || n.push(a), ue.buildTreeRow(
5988
- l,
5989
- t,
5990
- a,
5991
- o + 1
5992
- ), o > i)
5993
- 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);
5994
6079
  }
5995
6080
  return s;
5996
6081
  }
6082
+ static toExpandedFn(e) {
6083
+ return typeof e == "function" ? e : () => e;
6084
+ }
5997
6085
  }
5998
- class Y {
6086
+ class K {
5999
6087
  constructor(e = 34, t = 34, s = 34) {
6000
6088
  this.header = e, this.body = t, this.footer = s;
6001
6089
  }
6002
6090
  }
6003
- class y {
6091
+ class b {
6004
6092
  constructor(e = 100, t = "px") {
6005
6093
  this.value = e, this.unit = t;
6006
6094
  }
6007
6095
  }
6008
- const Et = () => !0, kt = () => !1;
6096
+ const Et = () => !0, Tt = () => !1;
6009
6097
  class W {
6010
- constructor(e, t, s = new y(100, "px"), o = new k(), i = new k(), r = new y(100, "px"), n = new y(100, "px"), l, a, c, d, u, g, p, m, f = () => this.visible) {
6011
- this.property = e, this.headerLabel = t, this.width = s, this.classes = o, this.rendererMap = i, this.minWidth = r, this.maxWidth = n, this.sortable = l, this.sortComparator = a, this.sortState = c, this.sortStatesOrder = d, this.sortIconVisible = u, this.editable = g, this.getEditRenderer = p, this.editInputPipe = m, this.isVisible = f, this.visible = !0, s.unit !== "px" && (this.minWidth = new y(0, "px"), this.maxWidth = new y(1e5, "px"));
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"));
6012
6100
  }
6013
6101
  static bodyRenderer(e) {
6014
6102
  return new k(
@@ -6026,15 +6114,15 @@ class W {
6026
6114
  e.headerClasses,
6027
6115
  e.bodyClasses,
6028
6116
  e.footerClasses
6029
- ), 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;
6030
6118
  return new W(
6031
6119
  e.property ?? "",
6032
6120
  e.headerLabel ?? "",
6033
- e.width ?? new y(100, "px"),
6121
+ e.width ?? new b(100, "px"),
6034
6122
  s,
6035
6123
  t,
6036
- e.minWidth ?? new y(100, "px"),
6037
- e.maxWidth ?? new y(100, "px"),
6124
+ e.minWidth ?? new b(100, "px"),
6125
+ e.maxWidth ?? new b(100, "px"),
6038
6126
  e.sortable,
6039
6127
  e.sortComparator,
6040
6128
  e.sortState,
@@ -6047,8 +6135,8 @@ class W {
6047
6135
  );
6048
6136
  }
6049
6137
  }
6050
- const Zt = new y(500, "px"), Qt = new y(400, "px"), Dt = new y(300, "px"), es = new y(290, "px"), ts = new y(280, "px"), ss = new y(270, "px"), os = new y(260, "px"), is = new y(250, "px"), rs = new y(240, "px"), ns = new y(230, "px"), ls = new y(220, "px"), as = new y(210, "px"), ke = new y(200, "px"), cs = new y(190, "px"), ds = new y(180, "px"), hs = new y(170, "px"), us = new y(160, "px"), ps = new y(150, "px"), gs = new y(140, "px"), fs = new y(130, "px"), ms = new y(120, "px"), bs = new y(110, "px"), ys = new y(100, "px"), ws = new y(90, "px"), xs = new y(80, "px"), Ss = new y(70, "px"), Cs = new y(60, "px"), vs = new y(50, "px"), Rs = new y(40, "px"), As = new y(30, "px"), Ms = new y(20, "px"), Is = new y(10, "px"), Ts = new y(0, "px");
6051
- 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 {
6052
6140
  constructor(e, t, s, o = []) {
6053
6141
  super(e, o, s), this.areaIdent = e, this.arr = t, this.defaultRowHeight = s, this.columnDefs = o, this.filteredArr = [...t];
6054
6142
  }
@@ -6159,7 +6247,7 @@ class P {
6159
6247
  changeColumnOrder(e, t) {
6160
6248
  }
6161
6249
  }
6162
- class Ft {
6250
+ class Dt {
6163
6251
  flattenTree(e, t = []) {
6164
6252
  var s;
6165
6253
  for (const o of e)
@@ -6170,9 +6258,9 @@ class Ft {
6170
6258
  return e.parent ? e.parent.expanded ? this.isVisible(e.parent) : !1 : !0;
6171
6259
  }
6172
6260
  }
6173
- class se extends ye {
6261
+ class oe extends we {
6174
6262
  constructor(e, t, s, o = []) {
6175
- 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];
6176
6264
  }
6177
6265
  changeColumnOrder(e, t) {
6178
6266
  this.arrayMove(this.properties, e, t), super.changeColumnOrder(e, t);
@@ -6208,7 +6296,7 @@ class se extends ye {
6208
6296
  * @returns {number | undefined} The constant row height or `undefined`.
6209
6297
  */
6210
6298
  getConstantRowHeight() {
6211
- 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;
6212
6300
  }
6213
6301
  getCustomClassesAt(e, t) {
6214
6302
  return ["ge-table-tree-cell", "ge-table-tree-deep-" + this.filteredFlattenRows[e].deep];
@@ -6285,7 +6373,7 @@ class se extends ye {
6285
6373
  o.children && this.treeSort(o.children, t, s);
6286
6374
  }
6287
6375
  }
6288
- class De {
6376
+ class Fe {
6289
6377
  constructor(e = []) {
6290
6378
  this.allRootNodes = e;
6291
6379
  }
@@ -6345,12 +6433,12 @@ class De {
6345
6433
  s.checked && t.push(s), s.children && this.addSelectedRecursive(s.children, t);
6346
6434
  }
6347
6435
  }
6348
- class pe {
6436
+ class ge {
6349
6437
  constructor(e = 0, t = 0, s = 0, o = 0) {
6350
6438
  this.top = e, this.right = t, this.bottom = s, this.left = o;
6351
6439
  }
6352
6440
  }
6353
- class Pt {
6441
+ class Ft {
6354
6442
  constructor() {
6355
6443
  this.checkedRows = [];
6356
6444
  }
@@ -6381,11 +6469,11 @@ class Pt {
6381
6469
  }
6382
6470
  }
6383
6471
  }
6384
- class ae {
6385
- constructor(e, t, s, o = 0, i = 0, r = !1, n = new Y(), l = [], a = [], c = -1, d = 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 = () => {
6386
6474
  }) {
6387
- var p, m, f, b;
6388
- this.headerAreaModel = e, this.bodyAreaModel = t, this.footerAreaModel = s, this.fixedLeftColumnCount = o, this.fixedRightColumnCount = i, this.rowCheckboxVisible = r, this.defaultRowHeights = n, this.columnDefs = l, this.columnSizes = a, this.overridingColumnWidth = c, this.columnCount = d, this.parentSize = u, this.getSelectionModel = g, this.rowCount = 0, this.contentHeightInPx = 0, this.contentWidthInPx = 0, this.padding = new pe(0, 0, 0, 0), this.xPositions = [], e.areaIdent = "header", t.areaIdent = "body", s.areaIdent = "footer", this.columnCount || ((p = this.columnDefs) != null && p.length ? this.columnCount = this.columnDefs.length : (m = this.columnSizes) != null && m.length && (this.columnCount = (f = this.columnSizes) == null ? void 0 : f.length)), (b = this.columnDefs) != null && b.length && st(this.columnDefs[0]) && !t.rowSelectionModel && (t.rowSelectionModel = new Pt());
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());
6389
6477
  }
6390
6478
  init() {
6391
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();
@@ -6469,7 +6557,7 @@ class ae {
6469
6557
  */
6470
6558
  recalcPadding() {
6471
6559
  const e = this.getSideAreaWidth("west"), t = this.getSideAreaWidth("east"), s = this.getAreaHeight("header"), o = this.getAreaHeight("footer");
6472
- this.padding = new pe(
6560
+ this.padding = new ge(
6473
6561
  s,
6474
6562
  t,
6475
6563
  o,
@@ -6714,31 +6802,31 @@ class ae {
6714
6802
  var t, s, o;
6715
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) {
6716
6804
  const i = this.columnDefs.filter((l) => {
6717
- var a;
6718
- return ((a = l.width) == null ? void 0 : a.unit) === "weight";
6805
+ var c;
6806
+ return ((c = l.width) == null ? void 0 : c.unit) === "weight";
6719
6807
  });
6720
6808
  this.columnSizes = this.columnDefs.map((l) => {
6721
6809
  if (l.width.unit === "%" && e) {
6722
- let a = Math.floor(l.width.value * e / 100);
6810
+ let c = Math.floor(l.width.value * e / 100);
6723
6811
  if (l.minWidth) {
6724
- const c = this.sizeToPixel(l.minWidth, e);
6725
- a = Math.max(c, a);
6812
+ const a = this.sizeToPixel(l.minWidth, e);
6813
+ c = Math.max(a, c);
6726
6814
  }
6727
6815
  if (l.maxWidth) {
6728
- const c = this.sizeToPixel(l.maxWidth, e);
6729
- a = Math.min(c, a);
6816
+ const a = this.sizeToPixel(l.maxWidth, e);
6817
+ c = Math.min(a, c);
6730
6818
  }
6731
- return a;
6819
+ return c;
6732
6820
  } else if (l.width.unit === "px" && e)
6733
6821
  return l.width.value;
6734
6822
  return 0;
6735
6823
  });
6736
- 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;
6737
6825
  if (n > 0 && i.length) {
6738
- const l = i.map((a) => a.width.value).reduce((a, c) => a + c);
6739
- for (let a = 0; a < this.columnDefs.length; a++) {
6740
- const c = this.columnDefs[a];
6741
- 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);
6742
6830
  }
6743
6831
  }
6744
6832
  }
@@ -6774,7 +6862,7 @@ class ae {
6774
6862
  return this.tableScope;
6775
6863
  }
6776
6864
  }
6777
- class Fe extends _ {
6865
+ class Pe extends _ {
6778
6866
  /**
6779
6867
  * Creates an instance of AreaModelObjectArrayWithColumndefs.
6780
6868
  *
@@ -6853,32 +6941,32 @@ class H {
6853
6941
  * Please consult each method's documentation for detailed explanation of their functionality.
6854
6942
  */
6855
6943
  static createTableModel(e) {
6856
- var t, s, o, i, r, n, l, a, c, d, u, g, p, m;
6944
+ var t, s, o, i, r, n, l, c, a, d, u, p, f, m;
6857
6945
  if (e.defaultRowHeights === void 0)
6858
6946
  if ((t = e.tableOptions) != null && t.defaultRowHeights)
6859
6947
  e.defaultRowHeights = e.tableOptions.defaultRowHeights;
6860
6948
  else {
6861
- if (e.defaultRowHeights = new Y(), e.headerAreaModel && "defaultRowHeight" in e.headerAreaModel) {
6862
- const f = e.headerAreaModel.defaultRowHeight;
6863
- 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);
6864
6952
  }
6865
6953
  if (e.bodyAreaModel && "defaultRowHeight" in e.bodyAreaModel) {
6866
- const f = e.bodyAreaModel.defaultRowHeight;
6867
- f > -1 && (e.defaultRowHeights.body = f);
6954
+ const g = e.bodyAreaModel.defaultRowHeight;
6955
+ g > -1 && (e.defaultRowHeights.body = g);
6868
6956
  }
6869
6957
  if (e.footerAreaModel && "defaultRowHeight" in e.footerAreaModel) {
6870
- const f = e.footerAreaModel.defaultRowHeight;
6871
- f > -1 && (e.defaultRowHeights.footer = f);
6958
+ const g = e.footerAreaModel.defaultRowHeight;
6959
+ g > -1 && (e.defaultRowHeights.footer = g);
6872
6960
  }
6873
6961
  }
6874
- if (e.columnDefs === void 0 && ((s = e.properties) != null && s.length ? e.columnDefs = e.properties.map((f) => new W(f, f.toUpperCase(), ke)) : (o = e.rows) != null && o.length ? e.columnDefs = Object.keys(e.rows[0]).map((f) => new W(f, f.toUpperCase(), ke)) : e.columnDefs = []), e.columnCount === void 0 && ((i = e.columnDefs) != null && i.length ? e.columnCount = e.columnDefs.length : (r = e.headerData) != null && r.length ? e.columnCount = e.headerData[0].length : (n = e.columnSizes) != null && n.length ? e.columnCount = (l = e.columnSizes) == null ? void 0 : l.length : console.warn('Property "columnCount" is missing and cannot be derived from other properties.')), e.headerAreaModel || ((a = e.headerData) != null && a.length ? e.headerAreaModel = new F(
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(
6875
6963
  "header",
6876
6964
  e.headerData,
6877
6965
  e.defaultRowHeights.header,
6878
6966
  e.columnDefs
6879
- ) : (c = e.columnDefs) != null && c.length ? e.headerAreaModel = new F(
6967
+ ) : (a = e.columnDefs) != null && a.length ? e.headerAreaModel = new F(
6880
6968
  "header",
6881
- [e.columnDefs.map((f) => f.headerLabel)],
6969
+ [e.columnDefs.map((g) => g.headerLabel)],
6882
6970
  e.defaultRowHeights.header,
6883
6971
  e.columnDefs
6884
6972
  ) : e.headerAreaModel = new P("header")), e.footerAreaModel || ((d = e.footerData) != null && d.length ? e.footerAreaModel = new F(
@@ -6889,15 +6977,15 @@ class H {
6889
6977
  ) : e.footerAreaModel = new P("footer")), !e.bodyAreaModel)
6890
6978
  if (e.rows)
6891
6979
  if ((u = e.rows) != null && u.length && j(e.rows[0])) {
6892
- const f = e.rows;
6893
- e.bodyAreaModel = new se(
6980
+ const g = e.rows;
6981
+ e.bodyAreaModel = new oe(
6894
6982
  "body",
6895
- f,
6983
+ g,
6896
6984
  e.defaultRowHeights.body,
6897
6985
  e.columnDefs
6898
- ), (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));
6899
6987
  } else
6900
- e.bodyAreaModel = new Fe(
6988
+ e.bodyAreaModel = new Pe(
6901
6989
  "body",
6902
6990
  e.rows,
6903
6991
  e.columnDefs,
@@ -6908,7 +6996,7 @@ class H {
6908
6996
  e.bodyData,
6909
6997
  e.defaultRowHeights.body
6910
6998
  ) : e.bodyAreaModel = new P("body");
6911
- 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(
6912
7000
  e.headerAreaModel,
6913
7001
  e.bodyAreaModel,
6914
7002
  e.footerAreaModel,
@@ -6945,7 +7033,7 @@ class H {
6945
7033
  return H.buildByTypedRows(
6946
7034
  e.rows ?? [],
6947
7035
  e.columnDefs,
6948
- e.tableOptions ?? new J(),
7036
+ e.tableOptions ?? new q(),
6949
7037
  e.fixedLeftColumnCount ?? 0,
6950
7038
  e.fixedRightColumnCount ?? 0
6951
7039
  );
@@ -6986,18 +7074,18 @@ class H {
6986
7074
  * columnDef is "CheckboxColumn". If the first column is not a checkbox column, ensure that the first columnDef does not have "CheckboxColumn"
6987
7075
  * as its property.
6988
7076
  */
6989
- static buildByTypedRows(e, t, s = new J(), o = 0, i = 0) {
7077
+ static buildByTypedRows(e, t, s = new q(), o = 0, i = 0) {
6990
7078
  const r = s.defaultRowHeights, n = t[0].property === "CheckboxColumn";
6991
7079
  if (e != null && e.length && j(e[0])) {
6992
- const a = e, c = new se(
7080
+ const c = e, a = new oe(
6993
7081
  "body",
6994
- a,
7082
+ c,
6995
7083
  r.body,
6996
7084
  t
6997
7085
  );
6998
- return (n || s.showCheckboxWihoutExtraColumn) && (c.rowSelectionModel = new De(a)), H.createByAreaModelsParam({
7086
+ return (n || s.showCheckboxWihoutExtraColumn) && (a.rowSelectionModel = new Fe(c)), H.createByAreaModelsParam({
6999
7087
  headerAreaModel: new F("header", [t.map((d) => d.headerLabel)], r.header),
7000
- bodyAreaModel: c,
7088
+ bodyAreaModel: a,
7001
7089
  footerAreaModel: new F("footer", [], r.footer),
7002
7090
  columnDefs: t,
7003
7091
  fixedLeftColumnCount: o,
@@ -7070,7 +7158,7 @@ class H {
7070
7158
  e.fixedLeftColumnCount ?? 0,
7071
7159
  e.fixedRightColumnCount ?? 0,
7072
7160
  t,
7073
- e.defaultRowHeights ?? new Y(),
7161
+ e.defaultRowHeights ?? new K(),
7074
7162
  e.columnDefs ?? [],
7075
7163
  e.columnSizes ?? []
7076
7164
  );
@@ -7116,8 +7204,8 @@ class H {
7116
7204
  * @return A new instance of `TableModel` is created using the provided parameters.
7117
7205
  * If a parameter isn't provided, the default value is used.
7118
7206
  */
7119
- static createByAreaModels(e = new P(), t, s = new P(), o = 0, i = 0, r = !1, n = new Y(), l, a = [], c = -1, d) {
7120
- 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(
7121
7209
  e,
7122
7210
  t,
7123
7211
  s,
@@ -7126,8 +7214,8 @@ class H {
7126
7214
  r,
7127
7215
  n,
7128
7216
  l,
7129
- a,
7130
7217
  c,
7218
+ a,
7131
7219
  d
7132
7220
  );
7133
7221
  }
@@ -7230,12 +7318,12 @@ class H {
7230
7318
  *
7231
7319
  * Reference: For more details regarding the `DefaultRowHeightsIf`, `ColumnDefIf`, `AreaModelIf`, and `AreaModelArrayOfArrays` classes/interfaces, please refer to the respective API documents.
7232
7320
  */
7233
- static createByObjectArray(e, t = [], s = [], o = 0, i = 0, r = !1, n = new Y(), l, a = []) {
7234
- let c;
7235
- t != null && t.length ? c = new F("header", t, n.header, l) : l != null && l.length ? c = new F("header", [l.map((g) => g.headerLabel)], n.header, l) : c = new P();
7236
- const d = s ? new F("footer", s, n.footer, l) : new P(), u = new Fe("body", e, l, n.body);
7237
- return new ae(
7238
- 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,
7239
7327
  u,
7240
7328
  d,
7241
7329
  o,
@@ -7243,13 +7331,13 @@ class H {
7243
7331
  r,
7244
7332
  n,
7245
7333
  l,
7246
- a
7334
+ c
7247
7335
  );
7248
7336
  }
7249
7337
  }
7250
- class _t {
7338
+ class Pt {
7251
7339
  constructor(e, t, s = 200, o = 300, i = 0, r = 0) {
7252
- 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;
7253
7341
  }
7254
7342
  setParentWidth(e) {
7255
7343
  this.width = e;
@@ -7343,7 +7431,7 @@ class _t {
7343
7431
  arrayMove(e, t, s) {
7344
7432
  }
7345
7433
  }
7346
- class Lt {
7434
+ class _t {
7347
7435
  constructor(e, t = 0) {
7348
7436
  this.bodyModel = e, this.paddingTop = t, this.headerAreaModel = new P(), this.footerAreaModel = new P();
7349
7437
  }
@@ -7410,7 +7498,7 @@ class Lt {
7410
7498
  recalcHeightAndPadding() {
7411
7499
  }
7412
7500
  getPadding() {
7413
- return new pe(0, 0, 0, 0);
7501
+ return new ge(0, 0, 0, 0);
7414
7502
  }
7415
7503
  getContentHeightInPixel() {
7416
7504
  return this.paddingTop + this.bodyModel.getRowCount() * this.bodyModel.coverHeight;
@@ -7436,7 +7524,7 @@ class Lt {
7436
7524
  return this.tableScope;
7437
7525
  }
7438
7526
  }
7439
- class Vt {
7527
+ class Lt {
7440
7528
  constructor() {
7441
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) => {
7442
7530
  if (e && t && s.getRowId) {
@@ -7463,12 +7551,12 @@ class Vt {
7463
7551
  }
7464
7552
  class Es {
7465
7553
  static createCoverGridModel(e, t, s = 200, o = 300, i = 0, r = 0) {
7466
- const n = new _t(e, t, s, o, i, r);
7467
- return new Lt(n, r);
7554
+ const n = new Pt(e, t, s, o, i, r);
7555
+ return new _t(n, r);
7468
7556
  }
7469
7557
  static createCoverGrisDefaultOptions(e, t = () => "CoverGrid") {
7470
7558
  return {
7471
- ...new J(),
7559
+ ...new q(),
7472
7560
  horizontalBorderVisible: !1,
7473
7561
  verticalBorderVisible: !1,
7474
7562
  footerSeparatorBorderVisible: !1,
@@ -7486,7 +7574,7 @@ class Es {
7486
7574
  },
7487
7575
  // externalFilterFunction: this.filterFn.bind(this),
7488
7576
  autoRestoreOptions: {
7489
- ...new Vt(),
7577
+ ...new Lt(),
7490
7578
  getStorageKeyFn: t,
7491
7579
  autoRestoreCollapsedExpandedState: !1,
7492
7580
  autoRestoreScrollPosition: !0,
@@ -7496,7 +7584,7 @@ class Es {
7496
7584
  };
7497
7585
  }
7498
7586
  }
7499
- const ks = [
7587
+ const Ts = [
7500
7588
  "COPY_2_CLIPBOARD",
7501
7589
  "START_EDITING",
7502
7590
  "TOGGLE_SELECTION",
@@ -7514,17 +7602,17 @@ const ks = [
7514
7602
  // "PAGEUP_PRESSED",
7515
7603
  // "PAGEDOWN_PRESSED"
7516
7604
  ];
7517
- class Ot {
7605
+ class Vt {
7518
7606
  constructor(e, t) {
7519
7607
  this.tableModel = e, this.tableOptions = t;
7520
7608
  }
7521
7609
  }
7522
- class $t {
7610
+ class Ot {
7523
7611
  constructor(e, t, s, o, i, r, n) {
7524
7612
  this.emmitDataKey = e, this.emmitCancelKey = t, this.queryId = s, this.filter = o, this.sorting = i, this.startIndex = r, this.endIndex = n;
7525
7613
  }
7526
7614
  }
7527
- class Ds extends $t {
7615
+ class ks extends Ot {
7528
7616
  constructor(e, t, s, o, i, r, n, l) {
7529
7617
  super(
7530
7618
  e,
@@ -7537,34 +7625,34 @@ class Ds extends $t {
7537
7625
  ), this.rows = l;
7538
7626
  }
7539
7627
  }
7540
- class Ht {
7628
+ class $t {
7541
7629
  constructor(e, t) {
7542
7630
  this.value = e, this.label = t;
7543
7631
  }
7544
7632
  }
7545
- class Fs {
7633
+ class Ds {
7546
7634
  constructor(e, t) {
7547
7635
  this.index = e, this.px = t;
7548
7636
  }
7549
7637
  }
7550
- 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 = {
7551
7639
  header: ["ge-table-text-align-left"],
7552
7640
  body: ["ge-table-text-align-left"],
7553
7641
  footer: ["ge-table-text-align-left"]
7554
- }, Os = {
7642
+ }, Vs = {
7555
7643
  header: ["ge-table-text-align-center"],
7556
7644
  body: ["ge-table-text-align-center"],
7557
7645
  footer: ["ge-table-text-align-center"]
7558
- }, $s = {
7646
+ }, Os = {
7559
7647
  header: ["ge-table-text-align-right"],
7560
7648
  body: ["ge-table-text-align-right"],
7561
7649
  footer: ["ge-table-text-align-right"]
7562
7650
  };
7563
- class Pe {
7651
+ class _e {
7564
7652
  render(e, t, s, o, i, r, n) {
7565
7653
  if (i.isRowCheckable(t)) {
7566
7654
  n.addClass(e, "ge-table-row-checkbox-div");
7567
- 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>' : "";
7568
7656
  e.innerHTML = `
7569
7657
  <input
7570
7658
  type="checkbox"
@@ -7572,22 +7660,22 @@ class Pe {
7572
7660
  data-row-index="${t}"
7573
7661
  data-col-index="${s}"
7574
7662
  data-input-type="checkbox"
7575
- ${a}
7663
+ ${c}
7576
7664
  class="ge-table-row-checkbox">
7577
- ${c} `;
7665
+ ${a} `;
7578
7666
  }
7579
7667
  }
7580
7668
  }
7581
- class Hs {
7669
+ class $s {
7582
7670
  constructor() {
7583
- this.type = "CheckboxColumnDef", this.property = "CheckboxColumn", this.headerLabel = "", this.width = new y(50, "px"), this.minWidth = new y(50, "px"), this.maxWidth = new y(100, "px"), this.rendererMap = new k(new Pe(), new Pe(), void 0), this.classes = new k(
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(
7584
7672
  [],
7585
7673
  ["ge-table-text-align-left"],
7586
7674
  []
7587
7675
  );
7588
7676
  }
7589
7677
  }
7590
- class Bs {
7678
+ class Hs {
7591
7679
  /**
7592
7680
  * A factory that creates a new AreaObjectMap with the given body renderer.
7593
7681
  *
@@ -7602,22 +7690,22 @@ class Bs {
7602
7690
  );
7603
7691
  }
7604
7692
  }
7605
- class Ws {
7693
+ class Bs {
7606
7694
  constructor(e = "down", t) {
7607
7695
  this.status = e, this.originalEvent = t;
7608
7696
  }
7609
7697
  }
7610
- class Ns {
7698
+ class Ws {
7611
7699
  constructor(e, t, s, o, i = {}) {
7612
7700
  this.area = e, this.rowIndex = t, this.columnIndex = s, this.value = o, this.cssClasses = i;
7613
7701
  }
7614
7702
  }
7615
- class Bt {
7703
+ class Ht {
7616
7704
  constructor(e, t, s, o = !1, i = "normal", r = void 0) {
7617
7705
  this.data = e, this.property = t, this.toggle = s, this.closed = o, this.visibility = i, this.children = r, this.impl = "CellGroup";
7618
7706
  }
7619
7707
  }
7620
- class Wt extends Bt {
7708
+ class Bt extends Ht {
7621
7709
  constructor(e, t = 0, s = 0, o) {
7622
7710
  super(
7623
7711
  e.data,
@@ -7709,7 +7797,7 @@ class Wt extends Bt {
7709
7797
  return n;
7710
7798
  }
7711
7799
  }
7712
- class E {
7800
+ class T {
7713
7801
  static buildColumnDefs(e, t = []) {
7714
7802
  for (const s of e)
7715
7803
  s.property && t.push(
@@ -7718,7 +7806,7 @@ class E {
7718
7806
  headerLabel: s.data ? s.data : s.property,
7719
7807
  isVisible: () => typeof s.isVisible == "function" ? s.isVisible() : !0
7720
7808
  })
7721
- ), s.children && E.buildColumnDefs(s.children, t);
7809
+ ), s.children && T.buildColumnDefs(s.children, t);
7722
7810
  return t;
7723
7811
  }
7724
7812
  /*
@@ -7742,14 +7830,14 @@ class E {
7742
7830
  static buildGroupExts(e, t = [], s = 0, o) {
7743
7831
  let i;
7744
7832
  for (let r = 0; r < e.length; r++) {
7745
- const n = e[r], l = new Wt(n, s, r, o);
7746
- 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;
7747
7835
  }
7748
7836
  return t;
7749
7837
  }
7750
7838
  static flattenGroupExts(e, t = []) {
7751
7839
  for (const s of e)
7752
- t.push(s), s.children && E.flattenGroupExts(s.children, t);
7840
+ t.push(s), s.children && T.flattenGroupExts(s.children, t);
7753
7841
  return t;
7754
7842
  }
7755
7843
  /*
@@ -7781,10 +7869,10 @@ class E {
7781
7869
  static iterateThrowColumns(e = [], t) {
7782
7870
  var s;
7783
7871
  for (const o of t)
7784
- 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);
7785
7873
  }
7786
7874
  }
7787
- class Gs {
7875
+ class Ns {
7788
7876
  constructor() {
7789
7877
  this.areaIdent = "body", this.rowSelectionModel = void 0;
7790
7878
  }
@@ -8422,15 +8510,15 @@ class Gs {
8422
8510
  return !1;
8423
8511
  }
8424
8512
  }
8425
- const re = class re {
8426
- constructor(e = new ve()) {
8513
+ const ne = class ne {
8514
+ constructor(e = new Re()) {
8427
8515
  this.headerGroupOptions = e;
8428
8516
  }
8429
8517
  render(e, t, s, o, i, r, n) {
8430
8518
  const l = r != null && r.data ? r.data : "";
8431
8519
  if (r) {
8432
- const { toggle: a, visibility: c, closed: d } = r, u = a ? re.toggleHeaderGroup : "";
8433
- this.addText(e, o, t, s, l, u), a && c !== "always" && this.addArrowDiv(n, e, !d, t, s, o, u);
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);
8434
8522
  } else
8435
8523
  this.addText(e, o, t, s, l, "");
8436
8524
  }
@@ -8445,11 +8533,11 @@ const re = class re {
8445
8533
  addArrowDiv(e, t, s = !0, o = -1, i = -1, r = "header", n) {
8446
8534
  const l = e.createElement("div");
8447
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}`);
8448
- let a;
8449
- s ? a = this.headerGroupOptions.iconExpanded : a = this.headerGroupOptions.iconCollapsed;
8450
- const c = a.content, d = e.createText(c);
8451
- e.appendChild(l, d), a.style && this.applyStyleString(e, l, a.style);
8452
- 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)
8453
8541
  e.addClass(l, u);
8454
8542
  return e.appendChild(t, l), l;
8455
8543
  }
@@ -8461,11 +8549,11 @@ const re = class re {
8461
8549
  }
8462
8550
  }
8463
8551
  };
8464
- re.toggleHeaderGroup = "toggleHeaderGroup";
8465
- let ge = re;
8466
- class zs {
8467
- constructor(e = "header", t, s = [], o, i = new ve()) {
8468
- 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();
8469
8557
  }
8470
8558
  sort(e) {
8471
8559
  }
@@ -8473,19 +8561,19 @@ class zs {
8473
8561
  var e;
8474
8562
  for (const t of this.groupExts)
8475
8563
  t.log(this.getMaxRowCount());
8476
- 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));
8477
8565
  }
8478
8566
  getAllLeafs() {
8479
- return E.flattenGroupExts(this.groupExts).filter((t) => !t.children);
8567
+ return T.flattenGroupExts(this.groupExts).filter((t) => !t.children);
8480
8568
  }
8481
8569
  getMaxRowCount() {
8482
8570
  const e = this.getAllLeafs();
8483
8571
  return e != null && e.length ? 1 + Math.max(...e.map((t) => t.getParentCount(t))) : 0;
8484
8572
  }
8485
8573
  buildArray() {
8486
- const e = E.flattenGroupExts(this.groupExts), t = 1 + Math.max(...e.map((r) => r.rowIndex)), s = [];
8487
- E.iterateThrowColumns(s, this.groupExts);
8488
- 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);
8489
8577
  return console.table(i), i;
8490
8578
  }
8491
8579
  changeColumnOrder(e, t) {
@@ -8563,31 +8651,31 @@ class zs {
8563
8651
  toggleHeaderGroup(e) {
8564
8652
  const t = this.arr[e.rowIdx][e.colIdx];
8565
8653
  t != null && t.toggle && t.visibility !== "always" && (t.closed = !t.closed, this.init());
8566
- const s = E.buildColumnDefs(this.groupExts), o = new Map(this.columnDefs.map((r) => [r.property, r])), i = s.map((r) => {
8654
+ const s = T.buildColumnDefs(this.groupExts), o = new Map(this.columnDefs.map((r) => [r.property, r])), i = s.map((r) => {
8567
8655
  const n = o.get(r.property);
8568
8656
  return n ? (n.isVisible = r.isVisible, n) : r;
8569
8657
  });
8570
8658
  return this.columnDefs = i, i;
8571
8659
  }
8572
8660
  }
8573
- class js {
8661
+ class zs {
8574
8662
  filterPredict(e, t, s = this.objectToString.bind(this)) {
8575
8663
  if (!e)
8576
8664
  return !1;
8577
8665
  if (!t)
8578
8666
  return !0;
8579
8667
  t = t.toLowerCase();
8580
- const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((d) => d !== o && d !== i && d !== ""), n = r.filter((d) => !d.startsWith(o) && !d.startsWith(i)), l = r.filter((d) => d.startsWith(o)).map((d) => d.replace(/\+/g, "")), a = r.filter((d) => d.startsWith(i)).map((d) => d.replace(/-/g, ""));
8581
- let c = !n.length;
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;
8582
8670
  for (let d = 0; d < n.length; d++)
8583
- (c || s(e).includes(n[d])) && (c = !0);
8584
- if (!c)
8671
+ (a || s(e).includes(n[d])) && (a = !0);
8672
+ if (!a)
8585
8673
  return !1;
8586
8674
  for (let d = 0; d < l.length; d++)
8587
8675
  if (!s(e).includes(l[d]))
8588
8676
  return !1;
8589
- for (let d = 0; d < a.length; d++)
8590
- if (s(e).includes(a[d]))
8677
+ for (let d = 0; d < c.length; d++)
8678
+ if (s(e).includes(c[d]))
8591
8679
  return !1;
8592
8680
  return !0;
8593
8681
  }
@@ -8597,18 +8685,18 @@ class js {
8597
8685
  if (!t)
8598
8686
  return [...e];
8599
8687
  t = t.toLowerCase();
8600
- const o = "+", i = "-", r = t.toLowerCase().split(" ").filter((c) => c !== o && c !== i && c !== ""), n = r.filter((c) => !c.startsWith(o) && !c.startsWith(i)), l = r.filter((c) => c.startsWith(o)).map((c) => c.replace(/\+/g, "")), a = r.filter((c) => c.startsWith(i)).map((c) => c.replace(/-/g, ""));
8601
- return e == null ? void 0 : e.filter((c) => {
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) => {
8602
8690
  let d = !n.length;
8603
8691
  for (let u = 0; u < n.length; u++)
8604
- (d || s(c).includes(n[u])) && (d = !0);
8692
+ (d || s(a).includes(n[u])) && (d = !0);
8605
8693
  if (!d)
8606
8694
  return !1;
8607
8695
  for (let u = 0; u < l.length; u++)
8608
- if (!s(c).includes(l[u]))
8696
+ if (!s(a).includes(l[u]))
8609
8697
  return !1;
8610
- for (let u = 0; u < a.length; u++)
8611
- if (s(c).includes(a[u]))
8698
+ for (let u = 0; u < c.length; u++)
8699
+ if (s(a).includes(c[u]))
8612
8700
  return !1;
8613
8701
  return !0;
8614
8702
  });
@@ -8624,19 +8712,19 @@ class js {
8624
8712
  return t.join(" ").toLowerCase();
8625
8713
  }
8626
8714
  }
8627
- class Us {
8715
+ class js {
8628
8716
  static bodyRenderer(e) {
8629
8717
  return new k(void 0, e, void 0);
8630
8718
  }
8631
8719
  }
8632
- class Ys {
8720
+ class Us {
8633
8721
  constructor(e, t = !0, s = !1) {
8634
8722
  this.property = e, this.skipCheckableCheck = t, this.readonly = s;
8635
8723
  }
8636
8724
  render(e, t, s, o, i, r, n) {
8637
8725
  if (this.readonly || this.skipCheckableCheck || i.isRowCheckable(t)) {
8638
8726
  n.addClass(e, "ge-table-row-checkbox-div");
8639
- const l = i.getRowByIndex(t), c = i.getValueByT(l, this.property) === !0 ? "checked" : "", d = this.readonly ? " readonly " : "";
8727
+ const l = i.getRowByIndex(t), a = i.getValueByT(l, this.property) === !0 ? "checked" : "", d = this.readonly ? " readonly " : "";
8640
8728
  if (n.addClass(e, "ge-padding-property-checkbox"), e.innerHTML = `
8641
8729
  <input
8642
8730
  type="checkbox"
@@ -8645,21 +8733,21 @@ class Ys {
8645
8733
  data-col-index="${s}"
8646
8734
  data-property-index="${this.property}"
8647
8735
  data-input-type="checkbox"
8648
- ${c}
8736
+ ${a}
8649
8737
  ${d}
8650
8738
  class="ge-input-checkbox">`, !this.readonly) {
8651
8739
  const u = e.querySelector(".ge-input-checkbox");
8652
- 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));
8653
8741
  }
8654
8742
  }
8655
8743
  }
8656
8744
  }
8657
- class Ks {
8745
+ class Ys {
8658
8746
  render(e, t, s, o, i, r, n) {
8659
8747
  r && (e.innerText = new Date(r).toISOString());
8660
8748
  }
8661
8749
  }
8662
- class Xs {
8750
+ class Ks {
8663
8751
  constructor() {
8664
8752
  this.formatter = new Intl.DateTimeFormat("de-DE", {
8665
8753
  year: "numeric",
@@ -8682,29 +8770,29 @@ class Xs {
8682
8770
  }
8683
8771
  }
8684
8772
  }
8685
- class Js {
8773
+ class Xs {
8686
8774
  render(e, t, s, o, i, r, n) {
8687
8775
  r && (e.innerText = new Date(r).toLocaleDateString());
8688
8776
  }
8689
8777
  }
8690
- class qs {
8778
+ class Js {
8691
8779
  render(e, t, s, o, i, r, n) {
8692
8780
  r === "male" || r === "m" ? e.innerText = "♂" : (r === "female" || r === "f") && (e.innerText = "♀");
8693
8781
  }
8694
8782
  }
8695
- class Zs {
8783
+ class qs {
8696
8784
  constructor(e = 100, t = !1) {
8697
8785
  this.maxValue = e, this.labelVisible = t;
8698
8786
  }
8699
8787
  render(e, t, s, o, i, r, n) {
8700
8788
  if (n.addClass(e, "ge-progressbar-div"), !isNaN(r)) {
8701
- 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) + "%" : "";
8702
8790
  e.innerHTML = `
8703
8791
  <div class="ge-table-label-div"
8704
8792
  data-row-index="${t}"
8705
8793
  data-col-index="${s}"
8706
8794
  data-area="${o}"
8707
- title="${c}"
8795
+ title="${a}"
8708
8796
  style="position: relative; background: transparent; width: 100%; height: 100%;">
8709
8797
  <div class="ge-table-progress-container"
8710
8798
  style="width:100%;height:50%;padding:0;margin-top:6px;"
@@ -8712,7 +8800,7 @@ class Zs {
8712
8800
  data-col-index="${s}"
8713
8801
  data-area="${o}">
8714
8802
  <div class="ge-table-progress-bar"
8715
- style="width:${a}%;height:100%;padding:0;margin:0;"
8803
+ style="width:${c}%;height:100%;padding:0;margin:0;"
8716
8804
  data-row-index="${t}"
8717
8805
  data-col-index="${s}"
8718
8806
  data-area="${o}">&nbsp;
@@ -8722,17 +8810,17 @@ class Zs {
8722
8810
  }
8723
8811
  }
8724
8812
  }
8725
- class Qs {
8813
+ class Zs {
8726
8814
  render(e, t, s, o, i, r, n) {
8727
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 = "";
8728
8816
  }
8729
8817
  }
8730
- class eo {
8818
+ class Qs {
8731
8819
  render(e, t, s, o, i, r, n) {
8732
8820
  r && (e.innerText = new Date(r).toISOString().replace(/T/g, " ").replace(/\..*/g, ""));
8733
8821
  }
8734
8822
  }
8735
- class to {
8823
+ class eo {
8736
8824
  constructor(e = Number.MIN_SAFE_INTEGER, t = Number.MAX_SAFE_INTEGER) {
8737
8825
  this.min = e, this.max = t;
8738
8826
  }
@@ -8743,18 +8831,18 @@ class to {
8743
8831
  </div>`, (typeof r == "string" || isNaN(r) || r < this.min || r > this.max) && n.addClass(e, "ge-cell-error"));
8744
8832
  }
8745
8833
  }
8746
- class so {
8834
+ class to {
8747
8835
  constructor(e) {
8748
8836
  this.property = e;
8749
8837
  }
8750
8838
  render(e, t, s, o, i, r, n) {
8751
8839
  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 = [];
8755
- for (let u = 0; u < a; u++)
8756
- c.push("★");
8757
- const d = 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(" ");
8758
8846
  e.innerHTML = `
8759
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%;">
8760
8848
  <div class="ge-table-label" data-row-index="${t}" data-col-index="${s}" data-area="${o}">${d}</div>
@@ -8762,28 +8850,28 @@ class so {
8762
8850
  }
8763
8851
  }
8764
8852
  }
8765
- class oo {
8853
+ class so {
8766
8854
  render(e, t, s, o, i, r, n) {
8767
8855
  if (r != null && r.length) {
8768
8856
  const l = n.createElement("div");
8769
8857
  n.addClass(l, "ge-table-label-div"), n.appendChild(e, l);
8770
- const a = n.createElement("div");
8771
- n.addClass(a, "ge-table-label"), n.appendChild(l, a);
8772
- const c = n.createText(r.join(", "));
8773
- 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);
8774
8862
  } else
8775
8863
  e.innerText = "";
8776
8864
  }
8777
8865
  }
8778
- class io {
8866
+ class oo {
8779
8867
  constructor(e, t = 100, s = !1) {
8780
8868
  this.property = e, this.maxValue = t, this.labelVisible = s;
8781
8869
  }
8782
8870
  render(e, t, s, o, i, r, n) {
8783
8871
  n.addClass(e, "ge-star-rating-div");
8784
- const l = i.getRowByIndex(t), a = +("" + i.getValueByT(l, this.property));
8785
- if (!isNaN(a)) {
8786
- const c = a * 100 / this.maxValue, d = 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) + "%" : "";
8787
8875
  e.innerHTML = `
8788
8876
  <div class="ge-table-label-div"
8789
8877
  data-row-index="${t}"
@@ -8797,7 +8885,7 @@ class io {
8797
8885
  data-col-index="${s}"
8798
8886
  data-area="${o}">
8799
8887
  <div class="ge-table-progress-bar"
8800
- style="width:${c}%;height:100%;padding:0;margin:0;"
8888
+ style="width:${a}%;height:100%;padding:0;margin:0;"
8801
8889
  data-row-index="${t}"
8802
8890
  data-col-index="${s}"
8803
8891
  data-area="${o}">&nbsp;
@@ -8807,7 +8895,7 @@ class io {
8807
8895
  }
8808
8896
  }
8809
8897
  }
8810
- class ro {
8898
+ class io {
8811
8899
  render(e, t, s, o, i, r, n) {
8812
8900
  if (r) {
8813
8901
  e.innerHTML = `
@@ -8827,7 +8915,7 @@ class ro {
8827
8915
  }
8828
8916
  }
8829
8917
  }
8830
- class ze {
8918
+ class je {
8831
8919
  constructor(e, t, s, o, i, r) {
8832
8920
  this.action = e, this.area = t, this.areaModel = s, this.rowIndex = o, this.columnIndex = i, this.id = r;
8833
8921
  }
@@ -8837,16 +8925,16 @@ class $ {
8837
8925
  this.action = e, this.label = t, this.icon = s, this.elementClass = o, this.elementType = i, this.enabled = r;
8838
8926
  }
8839
8927
  }
8840
- class Nt {
8928
+ class Wt {
8841
8929
  constructor(e, t) {
8842
8930
  this.actionEventListener = e, this.crudActions = t;
8843
8931
  }
8844
8932
  render(e, t, s, o, i, r, n) {
8845
8933
  n.addClass(e, "ge-table-row-action-div");
8846
- const l = r, c = this.getCrudActions(r).map(
8934
+ const l = r, a = this.getCrudActions(r).map(
8847
8935
  (d) => d.elementType === "button" ? this.buildButtonHtml(d, o, t, s, l) : this.buildLinkHtml(d, o, t, s, l)
8848
8936
  );
8849
- e.innerHTML = c.join(""), this.addClickEventListeners(e, o, i);
8937
+ e.innerHTML = a.join(""), this.addClickEventListeners(e, o, i);
8850
8938
  }
8851
8939
  buildButtonHtml(e, t, s, o, i) {
8852
8940
  const r = e.enabled ? 'data-listen="click"' : "disabled";
@@ -8893,8 +8981,8 @@ class Nt {
8893
8981
  createActionEvent(e, t) {
8894
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";
8895
8983
  if (s && o && i) {
8896
- const l = ne(s), a = Number(o), c = Number(i);
8897
- 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);
8898
8986
  }
8899
8987
  return null;
8900
8988
  }
@@ -8902,28 +8990,28 @@ class Nt {
8902
8990
  return Array.isArray(e) && e.every((t) => t instanceof $) ? e : this.crudActions;
8903
8991
  }
8904
8992
  }
8905
- const no = function(h, e, t) {
8993
+ const ro = function(h, e, t) {
8906
8994
  return h ? Number(h) : "";
8907
8995
  };
8908
- class je {
8996
+ class Ue {
8909
8997
  constructor(e) {
8910
8998
  this.options = e;
8911
8999
  }
8912
9000
  static create(e) {
8913
- return new je(
8914
- e.map((t) => new Ht(t, t))
9001
+ return new Ue(
9002
+ e.map((t) => new $t(t, t))
8915
9003
  );
8916
9004
  }
8917
9005
  render(e, t, s, o, i, r, n) {
8918
9006
  if (i.isEditable(t, s)) {
8919
9007
  n.addClass(e, "ge-table-row-select-div");
8920
9008
  const l = i.getValueAt(t, s);
8921
- let a = [];
9009
+ let c = [];
8922
9010
  for (let d of this.options) {
8923
9011
  const u = d.value === l ? " selected " : "";
8924
- a.push(`<option value="${d.value}" ${u}>${d.label}</option>`);
9012
+ c.push(`<option value="${d.value}" ${u}>${d.label}</option>`);
8925
9013
  }
8926
- const c = a.join("");
9014
+ const a = c.join("");
8927
9015
  e.innerHTML = `
8928
9016
  <select
8929
9017
  autofocus
@@ -8933,11 +9021,11 @@ class je {
8933
9021
  data-col-index="${s}"
8934
9022
  data-input-type="text"
8935
9023
  style="width:100%;height:100%;border:0;padding:0 0 0 8px;"
8936
- class="ge-table-cell-editor-select">${c}</select>`;
9024
+ class="ge-table-cell-editor-select">${a}</select>`;
8937
9025
  }
8938
9026
  }
8939
9027
  }
8940
- class lo extends Ce {
9028
+ class no extends Ce {
8941
9029
  constructor(e) {
8942
9030
  super("row", "multi"), this.model = e;
8943
9031
  }
@@ -9020,39 +9108,39 @@ class lo extends Ce {
9020
9108
  this.isSelected(e, 0) ? this.unselectRow(e) : this.selectRow(e);
9021
9109
  }
9022
9110
  }
9023
- class ao {
9111
+ class lo {
9024
9112
  constructor(e, t, s) {
9025
9113
  this.r = e, this.g = t, this.b = s;
9026
9114
  }
9027
9115
  }
9028
- class _e {
9116
+ class Le {
9029
9117
  constructor(e, t, s, o) {
9030
9118
  this.minValue = e, this.minColor = t, this.maxValue = s, this.maxColor = o;
9031
9119
  }
9032
9120
  }
9033
- class Z {
9121
+ class Q {
9034
9122
  static normalize(e, t, s, o = 0, i = 1) {
9035
9123
  return (e - t) / (s - t) * (i - o) + o;
9036
9124
  }
9037
9125
  static getTwoColorGradientRGB(e, t) {
9038
- 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;
9039
- 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)})`;
9040
9128
  }
9041
9129
  static getThreeColorGradientRGB(e, t) {
9042
- 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})`;
9043
9131
  }
9044
9132
  }
9045
- class co {
9133
+ class ao {
9046
9134
  constructor(e, t, s, o, i, r) {
9047
9135
  this.minValue = e, this.minColor = t, this.middleValue = s, this.middleColor = o, this.maxValue = i, this.maxColor = r;
9048
9136
  }
9049
9137
  }
9050
- class Gt {
9138
+ class Nt {
9051
9139
  constructor(e = !0, t = !0, s = (r, n) => r * 10 + 10, o = 50, i = 450) {
9052
9140
  this.autoCalc = e, this.takeHeaderLabelsIntoAccount = t, this.charCountToWidth = s, this.minWidth = o, this.maxWidth = i;
9053
9141
  }
9054
9142
  }
9055
- class zt {
9143
+ class Gt {
9056
9144
  constructor(e) {
9057
9145
  this.object = e;
9058
9146
  }
@@ -9103,7 +9191,7 @@ class zt {
9103
9191
  return s.join("");
9104
9192
  }
9105
9193
  }
9106
- class ce {
9194
+ class he {
9107
9195
  constructor(e, t, s = "Edit Item") {
9108
9196
  this.idKey = e, this.dialogTitle = s, this.object = { ...t };
9109
9197
  }
@@ -9184,7 +9272,7 @@ class ce {
9184
9272
  return e.replace(/\./g, " ");
9185
9273
  }
9186
9274
  }
9187
- class jt {
9275
+ class zt {
9188
9276
  constructor() {
9189
9277
  this.urls = {
9190
9278
  list: {
@@ -9200,7 +9288,7 @@ class jt {
9200
9288
  ], this.tableActions = [
9201
9289
  new $("CREATE", "Create", "", "", "button"),
9202
9290
  new $("DELETE_SELECTED", "Delete Selected", "", "", "button")
9203
- ], this.autoAddActionColumn = !0, this.columnWidths = new Gt(), this.calcFixedRightColumnCount = (e) => e > 6 ? 1 : 0, this.getHeadersInit = () => ({}), this.getIdKey = () => "id", this.getIdByObject = (e) => (this.getIdKey() ?? "id") in e ? e.id : e, this.fetchList = (e) => {
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) => {
9204
9292
  const t = e.getHeadersInit ? e.getHeadersInit() : {};
9205
9293
  let s = e.urls.list.url, o = e.urls.list.method ?? "GET";
9206
9294
  return fetch(s, {
@@ -9227,7 +9315,7 @@ class jt {
9227
9315
  headers: o,
9228
9316
  method: r,
9229
9317
  body: JSON.stringify(s)
9230
- }).then((a) => a.json());
9318
+ }).then((c) => c.json());
9231
9319
  }, this.createItem = (e, t) => {
9232
9320
  var r, n;
9233
9321
  const s = e.getHeadersInit ? e.getHeadersInit() : {};
@@ -9251,59 +9339,59 @@ class jt {
9251
9339
  };
9252
9340
  }
9253
9341
  }
9254
- class ho {
9342
+ class co {
9255
9343
  constructor() {
9256
- this.crudOptions = new jt(), this.listenActionEvent = (e) => {
9344
+ this.crudOptions = new zt(), this.listenActionEvent = (e) => {
9257
9345
  };
9258
9346
  }
9259
9347
  createTableModel(e, t, s = (i) => {
9260
9348
  }, o = (i) => {
9261
9349
  }) {
9262
9350
  this.crudOptions = e, this.listenActionEvent = o, e.fetchList(e).then((i) => {
9263
- var r, n, l, a;
9351
+ var r, n, l, c;
9264
9352
  if (t.rows = i, i != null && i.length) {
9265
- const c = (r = t.columnDefs) != null && r.length ? t.columnDefs.map((w) => w.property) : this.extractProperties(i[0]), d = new Ce("row", "multi"), u = () => d;
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;
9266
9354
  this.tableOptions = {
9267
- ...new J(),
9355
+ ...new q(),
9268
9356
  ...t.tableOptions,
9269
9357
  hoverColumnVisible: !1,
9270
9358
  getSelectionModel: u
9271
9359
  };
9272
- const g = this.calcAutoColumnWidths(i, c), p = (n = t.columnDefs) != null && n.length ? t.columnDefs : c.map(((w, v) => new W(w, w.toUpperCase(), new y(g[v], "px"))));
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"))));
9273
9361
  if ((l = e == null ? void 0 : e.columnWidths) != null && l.autoCalc)
9274
- for (let w = 0; w < p.length; w++) {
9275
- const v = p[w];
9276
- 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");
9277
9365
  }
9278
9366
  if (e.autoAddActionColumn) {
9279
9367
  let w = new W(
9280
9368
  "id",
9281
9369
  "Actions",
9282
- Dt,
9370
+ kt,
9283
9371
  new k(["ge-table-text-align-left"], ["ge-table-text-align-left ge-table-actions-cell"], void 0)
9284
9372
  );
9285
9373
  w.rendererMap = new k(
9286
9374
  void 0,
9287
- new Nt(this, e.singleRowActions),
9375
+ new Wt(this, e.singleRowActions),
9288
9376
  void 0
9289
- ), p.push(w);
9377
+ ), f.push(w);
9290
9378
  }
9291
- const m = 0, f = e.calcFixedRightColumnCount(p.length);
9379
+ const m = 0, g = e.calcFixedRightColumnCount(f.length);
9292
9380
  this.tableModel = H.buildByTypedRowsParam({
9293
9381
  rows: i,
9294
- columnDefs: p,
9382
+ columnDefs: f,
9295
9383
  tableOptions: this.tableOptions,
9296
9384
  fixedLeftColumnCount: m,
9297
- fixedRightColumnCount: f
9298
- }), this.tableModel.getSelectionModel = u, this.bodyModel = (a = this.tableModel) == null ? void 0 : a.getBodyModel();
9299
- const b = new Ot(this.tableModel, this.tableOptions);
9300
- 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);
9301
9389
  }
9302
9390
  });
9303
9391
  }
9304
9392
  openDialogForCreate() {
9305
9393
  if (this.bodyModel) {
9306
- const e = new ze("CREATE", "body", this.bodyModel, -1, -1, null);
9394
+ const e = new je("CREATE", "body", this.bodyModel, -1, -1, null);
9307
9395
  this.onActionEvent(e);
9308
9396
  }
9309
9397
  }
@@ -9311,32 +9399,32 @@ class ho {
9311
9399
  var t, s, o, i;
9312
9400
  if (this.listenActionEvent && this.listenActionEvent(e), e.action === "VIEW") {
9313
9401
  let r = e.id;
9314
- (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));
9315
9403
  } else if (e.action === "EDIT") {
9316
9404
  let r = e.id;
9317
9405
  const n = this.crudOptions.getIdKey() ?? "id";
9318
- (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(
9319
9407
  n,
9320
9408
  l
9321
- ).openDialog((a) => {
9322
- console.info(a), this.crudOptions.updateItem(this.crudOptions, r, a);
9409
+ ).openDialog((c) => {
9410
+ console.info(c), this.crudOptions.updateItem(this.crudOptions, r, c);
9323
9411
  }), l));
9324
9412
  } else if (e.action === "CLONE") {
9325
9413
  let r = e.id;
9326
9414
  const n = this.crudOptions.getIdKey() ?? "id";
9327
9415
  (o = this.crudOptions) == null || o.fetchItem(this.crudOptions, r).then((l) => {
9328
- const a = JSON.parse(JSON.stringify(l));
9329
- return new ce(
9416
+ const c = JSON.parse(JSON.stringify(l));
9417
+ return new he(
9330
9418
  n,
9331
- a,
9419
+ c,
9332
9420
  "Clone Item"
9333
- ).openDialog((c) => {
9334
- console.info(c), this.crudOptions.createItem(this.crudOptions, c);
9335
- }), a;
9421
+ ).openDialog((a) => {
9422
+ console.info(a), this.crudOptions.createItem(this.crudOptions, a);
9423
+ }), c;
9336
9424
  });
9337
9425
  } else if (e.action === "CREATE") {
9338
9426
  const r = this.crudOptions.getIdKey() ?? "id", n = JSON.parse(JSON.stringify(this.crudOptions.getEmptyItem()));
9339
- return new ce(
9427
+ return new he(
9340
9428
  r,
9341
9429
  n,
9342
9430
  "Create Item"
@@ -9346,32 +9434,32 @@ class ho {
9346
9434
  } else if (e.action === "DELETE") {
9347
9435
  let r = e.id;
9348
9436
  (i = this.crudOptions) == null || i.deleteItem(this.crudOptions, r).then((n) => {
9349
- var l, a, c, d, u;
9350
- return (l = this.bodyModel) == null || l.filterRowsByPredict((g) => g.id != r), (c = (a = this.tableModel) == null ? void 0 : a.getTableScope()) == null || c.clearSelection(!0), (u = (d = this.tableModel) == null ? void 0 : d.getTableScope()) == null || u.repaintHard(), n;
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;
9351
9439
  });
9352
9440
  }
9353
9441
  }
9354
9442
  calcAutoColumnWidths(e, t, s = t) {
9355
- var a;
9443
+ var c;
9356
9444
  const o = t.length;
9357
- if (!((a = this.crudOptions.columnWidths) != null && a.autoCalc))
9445
+ if (!((c = this.crudOptions.columnWidths) != null && c.autoCalc))
9358
9446
  return new Array(o).fill(200);
9359
9447
  const i = e.length ?? 0, r = new Array(o).fill(0);
9360
- for (let c = 0; c < i; c++)
9448
+ for (let a = 0; a < i; a++)
9361
9449
  for (let d = 0; d < o; d++) {
9362
- const u = t[d], g = this.getValueByT(e[c], u), p = (g == null ? void 0 : g.toString().length) || 0;
9363
- p > r[d] && (r[d] = p);
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);
9364
9452
  }
9365
9453
  if (this.crudOptions.columnWidths.takeHeaderLabelsIntoAccount)
9366
- for (let c = 0; c < o; c++) {
9367
- const d = s[c].length || 0;
9368
- d > r[c] && (r[c] = d);
9454
+ for (let a = 0; a < o; a++) {
9455
+ const d = s[a].length || 0;
9456
+ d > r[a] && (r[a] = d);
9369
9457
  }
9370
9458
  const n = this.crudOptions.columnWidths.minWidth, l = this.crudOptions.columnWidths.maxWidth;
9371
- return r.map((c, d) => Math.min(
9459
+ return r.map((a, d) => Math.min(
9372
9460
  l,
9373
9461
  Math.max(
9374
- this.crudOptions.columnWidths.charCountToWidth(c, d),
9462
+ this.crudOptions.columnWidths.charCountToWidth(a, d),
9375
9463
  n
9376
9464
  )
9377
9465
  ));
@@ -9392,197 +9480,197 @@ class ho {
9392
9480
  return s;
9393
9481
  }
9394
9482
  }
9395
- class uo {
9483
+ class ho {
9396
9484
  constructor(e, t) {
9397
9485
  this.method = e, this.url = t;
9398
9486
  }
9399
9487
  }
9400
9488
  export {
9401
- ye as AbstractAreaModel,
9402
- ze as ActionEvent,
9403
- Nt as ActionsCellRenderer,
9404
- He as AnyPropertyType,
9405
- Bs as AreaMapFactory,
9406
- 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,
9407
9495
  F as AreaModelArrayOfArrays,
9408
- zs as AreaModelCellGroups,
9496
+ Gs as AreaModelCellGroups,
9409
9497
  P as AreaModelHidden,
9410
9498
  _ as AreaModelObjectArray,
9411
- Fe as AreaModelObjectArrayWithColumndefs,
9412
- se as AreaModelTree,
9499
+ Pe as AreaModelObjectArrayWithColumndefs,
9500
+ oe as AreaModelTree,
9413
9501
  k as AreaObjectMap,
9414
9502
  B as ArrayPropertyType,
9415
- Vt as AutoRestoreOptions,
9416
- Yt as AvoidDoubleExecution,
9417
- qe as BooleanPropertyType,
9418
- Bt as CellGroup,
9419
- Wt as CellGroupExt,
9420
- 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,
9421
9509
  M as CellRange,
9422
- E as CellgroupFactory,
9423
- Ys as CheckboxBooleanPropertyCellRenderer,
9424
- Pe as CheckboxCellRenderer,
9425
- Hs as CheckboxColumnDef,
9426
- Pt as CheckboxModel,
9427
- Ds as ChunkData,
9428
- ht as ColAndRowspanModel,
9429
- at as CollapsedExpandedData,
9430
- 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,
9431
9519
  W as ColumnDef,
9432
- Kt as ColumnDefGenerator,
9433
- Gt as ColumnWidths,
9434
- ot as ConvenienceDomService,
9435
- te as CopyService,
9436
- _t as CoverGridBodyModel,
9520
+ Yt as ColumnDefGenerator,
9521
+ Nt as ColumnWidths,
9522
+ it as ConvenienceDomService,
9523
+ se as CopyService,
9524
+ Pt as CoverGridBodyModel,
9437
9525
  Es as CoverGridFactory,
9438
- Lt as CoverGridTableModel,
9526
+ _t as CoverGridTableModel,
9439
9527
  $ as CrudAction,
9440
- ce as CrudObjectEdit,
9441
- zt as CrudObjectView,
9442
- jt as CrudOptions,
9443
- ho as CrudTableModelFactory,
9444
- Te as CssVars,
9445
- Xs as DateToIntlDDMMYYYYCellRenderer,
9446
- Ks as DateToIsoCellRenderer,
9447
- Js as DateToLocaleDateCellRenderer,
9448
- eo as DateToTecCellRenderer,
9449
- Y as DefaultRowHeights,
9450
- ee as EleScope,
9451
- he as EventAdapter,
9452
- qt as EventCheckboxChangedHandler,
9453
- Tt as ExcelService,
9454
- kt as FalseFn,
9455
- vt as FocusModel,
9456
- gt as GeCellIndices,
9457
- Z as GeCssColorUtil,
9458
- js as GeFilterService,
9459
- Ws as GeKeyEvent,
9460
- Se as GeModelChangeEvent,
9461
- be as GeMouseEvent,
9462
- ft as GeScrollEvent,
9528
+ he as CrudObjectEdit,
9529
+ Gt as CrudObjectView,
9530
+ zt as CrudOptions,
9531
+ co as CrudTableModelFactory,
9532
+ ke as CssVars,
9533
+ Ks as DateToIntlDDMMYYYYCellRenderer,
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,
9463
9551
  V as GeoData,
9464
- ve as HeaderGroupOptions,
9552
+ Re as HeaderGroupOptions,
9465
9553
  O as Icon,
9466
- Fs as IndexAndPx,
9467
- Ct as InputCellRenderer,
9468
- pt as InputHandler,
9469
- Re as JsonService,
9554
+ Ds as IndexAndPx,
9555
+ Rt as InputCellRenderer,
9556
+ ft as InputHandler,
9557
+ Ae as JsonService,
9470
9558
  G as LicenseManager,
9471
- qs as MaleFemaleToIconCellRenderer,
9472
- rt as MouseHandler,
9473
- it as MouseTargetData,
9474
- lo as MultiRowsSelectionModel,
9475
- Ke as NullPropertyType,
9476
- Zs as NumberCellProgressBarCellRenderer,
9477
- to as NumberCellRenderer,
9478
- Je as NumberPropertyType,
9559
+ Js as MaleFemaleToIconCellRenderer,
9560
+ nt as MouseHandler,
9561
+ rt as MouseTargetData,
9562
+ no as MultiRowsSelectionModel,
9563
+ Xe as NullPropertyType,
9564
+ qs as NumberCellProgressBarCellRenderer,
9565
+ eo as NumberCellRenderer,
9566
+ qe as NumberPropertyType,
9479
9567
  L as ObjectPropertyType,
9480
- yt as OsxShortcutActionIdMapping,
9481
- Le as PROPERTY_TYPE_KEY_ANY,
9482
- $e as PROPERTY_TYPE_KEY_ARRAY,
9483
- me as PROPERTY_TYPE_KEY_BOOLEAN,
9484
- Ve as PROPERTY_TYPE_KEY_NULL,
9485
- fe as PROPERTY_TYPE_KEY_NUMBER,
9486
- X as PROPERTY_TYPE_KEY_OBJECT,
9487
- Oe as PROPERTY_TYPE_KEY_STRING,
9488
- K as PROPERTY_TYPE_KEY_UNDEFINED,
9489
- pe as Padding,
9490
- ro as PositiveAndNegativeNumberRenderer,
9491
- io as ProgressBarCellRenderer,
9492
- Be as PropertyItem,
9493
- Xt as PropertyTypeService,
9494
- ut as RenderScope,
9495
- Us as Renderer,
9496
- $t as RequestChunk,
9497
- Mt as ResizeHandler,
9498
- Jt as SchemeGenerator,
9499
- je as SelectCellRenderer,
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,
9576
+ X as PROPERTY_TYPE_KEY_UNDEFINED,
9577
+ ge as Padding,
9578
+ io as PositiveAndNegativeNumberRenderer,
9579
+ oo as ProgressBarCellRenderer,
9580
+ We as PropertyItem,
9581
+ Kt as PropertyTypeService,
9582
+ gt as RenderScope,
9583
+ js as Renderer,
9584
+ Ot as RequestChunk,
9585
+ At as ResizeHandler,
9586
+ Xt as SchemeGenerator,
9587
+ Ue as SelectCellRenderer,
9500
9588
  Ce as SelectionModel,
9501
- mt as SelectionService,
9502
- xt as ShortcutService,
9503
- oo as SimpleArrayCellRenderer,
9504
- St as SimpleDomService,
9505
- y as Size,
9506
- Me as SortItem,
9507
- Ne as SortedOptions,
9508
- so as StarRatingCellRenderer,
9509
- ct as StoreStateCollapsedExpandService,
9510
- lt as StoreStateScrollPosService,
9511
- dt as StoreStateSortingService,
9512
- Xe as StringPropertyType,
9513
- nt as TableApi,
9514
- 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,
9515
9603
  H as TableFactory,
9516
- ae as TableModel,
9517
- Ot as TableModelAndOptions,
9518
- J as TableOptions,
9519
- Ge as TableScope,
9520
- co as ThreeColorGradientArg,
9521
- De as TreeCheckboxModel,
9522
- ue as TreeFactory,
9523
- We as TreeOptions,
9524
- Ee as TreeRow,
9525
- Ft as TreeRowService,
9526
- 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,
9527
9615
  Et as TrueFn,
9528
- _e as TwoColorGradientArg,
9529
- Q as UNIMPORTANT_TYPES,
9530
- le as UndefinedPropertyType,
9531
- uo as UrlInfo,
9532
- Ze as ValueInfo,
9533
- Ht as ValueLabel,
9534
- bt as WindowsShortcutActionIdMapping,
9535
- ks as actionIds,
9536
- Os as allCenter,
9537
- Vs as allLeft,
9538
- $s as allRight,
9539
- _s as bodyCenter,
9540
- Ps as bodyLeft,
9541
- Ls as bodyRight,
9542
- Ie as createHarmonizedShortcutByKeyboardEvent,
9543
- Ye as debounce,
9544
- no as editInputPipeForNumber,
9545
- Ae as entitySuffix,
9546
- tt as firstLetterUppercase,
9547
- ne as getAreaIdentByString,
9548
- Qe as getEntityName,
9549
- wt as harmonizeShortcut,
9550
- de as isAreaModelTree,
9551
- 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,
9552
9640
  j as isTreeRow,
9553
- Ts as px0,
9554
- Is as px10,
9555
- ys as px100,
9556
- bs as px110,
9557
- ms as px120,
9558
- fs as px130,
9559
- gs as px140,
9560
- ps as px150,
9561
- us as px160,
9562
- hs as px170,
9563
- ds as px180,
9564
- cs as px190,
9565
- Ms as px20,
9566
- ke as px200,
9567
- as as px210,
9568
- ls as px220,
9569
- ns as px230,
9570
- rs as px240,
9571
- is as px250,
9572
- os as px260,
9573
- ss as px270,
9574
- ts as px280,
9575
- es as px290,
9576
- As as px30,
9577
- Dt as px300,
9578
- Rs as px40,
9579
- Qt as px400,
9580
- vs as px50,
9581
- Zt as px500,
9582
- Cs as px60,
9583
- Ss as px70,
9584
- xs as px80,
9585
- ws as px90,
9586
- Ut as throttle,
9587
- 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
9588
9676
  };