@cocoar/vue-data-grid 1.5.4 → 1.5.5

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.
@@ -257,6 +257,47 @@ export declare class CoarGridBuilder<TData = unknown> {
257
257
  * ```
258
258
  */
259
259
  quickFilterFn(fn: (searchValue: string, data: TData) => boolean): this;
260
+ /**
261
+ * Set a custom filter function that operates on the entire data array.
262
+ * When set, AG Grid's per-row quick filter is bypassed — the data is filtered
263
+ * by this function before being passed to AG Grid.
264
+ *
265
+ * This is useful for tree data where you need sibling-aware filtering
266
+ * (e.g. keeping all children of a parent when any child matches).
267
+ *
268
+ * @param fn - Receives the full data array and the current search text.
269
+ * Return the filtered array, or `null` to fall back to the
270
+ * default quick filter for that evaluation.
271
+ *
272
+ * @example
273
+ * ```ts
274
+ * builder
275
+ * .treeData({ children: row => row.children, rowId: row => row.id })
276
+ * .customFilter((items, search) => {
277
+ * if (!showGroupFilter.value) return null; // fall back to quickFilter
278
+ * if (!search.trim()) return items;
279
+ * const q = search.toLowerCase();
280
+ * return items.filter(parent =>
281
+ * parent.name.toLowerCase().includes(q) ||
282
+ * parent.children.some(c => c.name.toLowerCase().includes(q))
283
+ * );
284
+ * })
285
+ * ```
286
+ */
287
+ customFilter(fn: (data: TData[], searchText: string) => TData[] | null): this;
288
+ /**
289
+ * Re-run the data pipeline when the given watch sources change.
290
+ * Use this when `customFilter` or `quickFilterFn` depends on external reactive state.
291
+ *
292
+ * @example
293
+ * ```ts
294
+ * const showSubTodos = ref(false);
295
+ * builder
296
+ * .customFilter((todos, search) => { ... })
297
+ * .updateOn(showSubTodos)
298
+ * ```
299
+ */
300
+ updateOn(...sources: WatchSource[]): this;
260
301
  /**
261
302
  * Enable search text highlighting using the CSS Custom Highlight API.
262
303
  * Matching text in grid cells is highlighted without modifying the DOM.
@@ -1 +1 @@
1
- {"version":3,"file":"coar-grid-builder.d.ts","sourceRoot":"","sources":["../../src/builders/coar-grid-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coar-grid-builder.d.ts","sourceRoot":"","sources":["../../src/builders/coar-grid-builder.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -505,39 +505,41 @@ const ch = { class: "coar-grid-header__label" }, uh = {
505
505
  class rr {
506
506
  #e;
507
507
  #a;
508
- #f = ue(!1);
509
- #i = [];
508
+ #C = ue(!1);
509
+ #s = [];
510
510
  #t = {};
511
- #c = [];
512
- #u = null;
511
+ #u = [];
512
+ #h = null;
513
513
  #l;
514
514
  // Deferred state (applied after grid ready)
515
- #h;
516
- #s;
517
- #S = [];
518
- #b = [];
519
- // Quick filter
520
- #n;
521
515
  #g;
516
+ #n;
517
+ #y = [];
518
+ #R = [];
519
+ #m = [];
520
+ // Quick filter
521
+ #i;
522
+ #p;
523
+ #d;
522
524
  // Tracks whether flex columns have been recalculated after first data
523
- #m = !1;
525
+ #v = !1;
524
526
  // Search highlight
525
- #C = !1;
527
+ #w = !1;
526
528
  // Tree data
527
- #d;
528
- #p = {
529
+ #c;
530
+ #f = {
529
531
  meta: /* @__PURE__ */ new Map(),
530
532
  toggleRow: () => {
531
533
  },
532
534
  getRowId: () => ""
533
535
  };
534
536
  // Viewport event handlers (wired by wrapper component)
535
- #y;
536
- #R;
537
+ #F;
538
+ #P;
537
539
  /** Reactive flag that becomes true when grid is ready */
538
- gridReady = this.#f;
540
+ gridReady = this.#C;
539
541
  constructor() {
540
- this.#t = this.#E();
542
+ this.#t = this.#M();
541
543
  }
542
544
  /** Create a new grid builder */
543
545
  static create() {
@@ -550,7 +552,7 @@ class rr {
550
552
  // ============================================================
551
553
  // Private helpers
552
554
  // ============================================================
553
- #E() {
555
+ #M() {
554
556
  return {
555
557
  animateRows: !0,
556
558
  suppressColumnMoveAnimation: !0,
@@ -574,7 +576,7 @@ class rr {
574
576
  /** Define columns using builders or factory functions */
575
577
  columns(t) {
576
578
  const o = new dh();
577
- return this.#c = t.map((i) => typeof i == "function" ? i(o).build() : i.build()), this;
579
+ return this.#u = t.map((i) => typeof i == "function" ? i(o).build() : i.build()), this;
578
580
  }
579
581
  /** Set default column definition applied to all columns */
580
582
  defaultColDef(t) {
@@ -586,11 +588,11 @@ class rr {
586
588
  // ============================================================
587
589
  /** Set row data (static array) */
588
590
  rowData(t) {
589
- return this.#u = t, this.#l = void 0, this;
591
+ return this.#h = t, this.#l = void 0, this;
590
592
  }
591
593
  /** Set row data (reactive ref) */
592
594
  rowDataRef(t) {
593
- return this.#l = t, this.#u = null, this;
595
+ return this.#l = t, this.#h = null, this;
594
596
  }
595
597
  /**
596
598
  * Set row ID getter for immutable data updates.
@@ -661,14 +663,14 @@ class rr {
661
663
  }
662
664
  /** Re-trigger sort and filter when the given watch source changes */
663
665
  updateSortAndFilterWhen(t) {
664
- return this.#S.push(t), this;
666
+ return this.#y.push(t), this;
665
667
  }
666
668
  // ============================================================
667
669
  // Column State
668
670
  // ============================================================
669
671
  /** Merge column state to restore column widths, order, visibility */
670
672
  columnState(t) {
671
- return this.#h = t, this;
673
+ return this.#g = t, this;
672
674
  }
673
675
  // ============================================================
674
676
  // Tree / Group Data
@@ -689,15 +691,15 @@ class rr {
689
691
  * ```
690
692
  */
691
693
  treeData(t) {
692
- return this.#d = t, this.#p.getRowId = t.rowId, this.#p.toggleRow = (o) => {
693
- if (!this.#s) return;
694
- const i = this.#s.value;
695
- i.includes(o) ? this.#s.value = i.filter((s) => s !== o) : this.#s.value = [...i, o];
696
- }, this.#t.getRowId = (o) => t.rowId(o.data), this.#t.context = { ...this.#t.context, coarTree: this.#p }, this;
694
+ return this.#c = t, this.#f.getRowId = t.rowId, this.#f.toggleRow = (o) => {
695
+ if (!this.#n) return;
696
+ const i = this.#n.value;
697
+ i.includes(o) ? this.#n.value = i.filter((s) => s !== o) : this.#n.value = [...i, o];
698
+ }, this.#t.getRowId = (o) => t.rowId(o.data), this.#t.context = { ...this.#t.context, coarTree: this.#f }, this;
697
699
  }
698
700
  /** Set which parent rows are expanded (reactive ref of row IDs) */
699
701
  openRows(t) {
700
- return this.#s = t, this;
702
+ return this.#n = t, this;
701
703
  }
702
704
  // ============================================================
703
705
  // Editing
@@ -788,14 +790,14 @@ class rr {
788
790
  return this.#t.onRowDragMove = this.#r(
789
791
  this.#t.onRowDragMove,
790
792
  (i) => {
791
- this.#v();
793
+ this.#S();
792
794
  const s = i.overNode;
793
795
  if (!s || !s.data || !i.node.data) {
794
796
  this.#a?.classList.add("coar-drop-target-root");
795
797
  return;
796
798
  }
797
799
  if (s === i.node) return;
798
- const n = this.#T(s.id ?? String(s.rowIndex));
800
+ const n = this.#A(s.id ?? String(s.rowIndex));
799
801
  if (!n) return;
800
802
  const r = !o.canDrop || o.canDrop(i.node.data, s.data);
801
803
  n.classList.add(r ? "coar-drop-target" : "coar-drop-target--invalid");
@@ -803,12 +805,12 @@ class rr {
803
805
  ), this.#t.onRowDragLeave = this.#r(
804
806
  this.#t.onRowDragLeave,
805
807
  () => {
806
- this.#v();
808
+ this.#S();
807
809
  }
808
810
  ), this.#t.onRowDragEnd = this.#r(
809
811
  this.#t.onRowDragEnd,
810
812
  () => {
811
- this.#v();
813
+ this.#S();
812
814
  }
813
815
  ), this;
814
816
  }
@@ -817,7 +819,7 @@ class rr {
817
819
  * Requires `treeData()` to be configured. Returns `undefined` if not found.
818
820
  */
819
821
  getTreeMeta(t) {
820
- return this.#p.meta.get(t);
822
+ return this.#f.meta.get(t);
821
823
  }
822
824
  /**
823
825
  * Get all row data in the current display order.
@@ -872,14 +874,14 @@ class rr {
872
874
  * Wired by the wrapper component.
873
875
  */
874
876
  onViewportClick(t) {
875
- return this.#y = t, this;
877
+ return this.#F = t, this;
876
878
  }
877
879
  /**
878
880
  * Handle context menu on the grid viewport (empty area outside cells).
879
881
  * Wired by the wrapper component.
880
882
  */
881
883
  onViewportContextMenu(t) {
882
- return this.#R = t, this;
884
+ return this.#P = t, this;
883
885
  }
884
886
  // ============================================================
885
887
  // External Filtering
@@ -893,7 +895,7 @@ class rr {
893
895
  }
894
896
  /** Re-trigger external filter when the given watch source changes */
895
897
  updateExternalFilterWhen(t) {
896
- return this.#b.push(t), this;
898
+ return this.#R.push(t), this;
897
899
  }
898
900
  // ============================================================
899
901
  // Quick Filter (Search)
@@ -909,7 +911,7 @@ class rr {
909
911
  * ```
910
912
  */
911
913
  quickFilterText(t) {
912
- return this.#n = t, this;
914
+ return this.#i = t, this;
913
915
  }
914
916
  /**
915
917
  * Set a custom quick filter function. Overrides the default per-column matching.
@@ -926,7 +928,52 @@ class rr {
926
928
  * ```
927
929
  */
928
930
  quickFilterFn(t) {
929
- return this.#g = t, this;
931
+ return this.#p = t, this;
932
+ }
933
+ /**
934
+ * Set a custom filter function that operates on the entire data array.
935
+ * When set, AG Grid's per-row quick filter is bypassed — the data is filtered
936
+ * by this function before being passed to AG Grid.
937
+ *
938
+ * This is useful for tree data where you need sibling-aware filtering
939
+ * (e.g. keeping all children of a parent when any child matches).
940
+ *
941
+ * @param fn - Receives the full data array and the current search text.
942
+ * Return the filtered array, or `null` to fall back to the
943
+ * default quick filter for that evaluation.
944
+ *
945
+ * @example
946
+ * ```ts
947
+ * builder
948
+ * .treeData({ children: row => row.children, rowId: row => row.id })
949
+ * .customFilter((items, search) => {
950
+ * if (!showGroupFilter.value) return null; // fall back to quickFilter
951
+ * if (!search.trim()) return items;
952
+ * const q = search.toLowerCase();
953
+ * return items.filter(parent =>
954
+ * parent.name.toLowerCase().includes(q) ||
955
+ * parent.children.some(c => c.name.toLowerCase().includes(q))
956
+ * );
957
+ * })
958
+ * ```
959
+ */
960
+ customFilter(t) {
961
+ return this.#d = t, this;
962
+ }
963
+ /**
964
+ * Re-run the data pipeline when the given watch sources change.
965
+ * Use this when `customFilter` or `quickFilterFn` depends on external reactive state.
966
+ *
967
+ * @example
968
+ * ```ts
969
+ * const showSubTodos = ref(false);
970
+ * builder
971
+ * .customFilter((todos, search) => { ... })
972
+ * .updateOn(showSubTodos)
973
+ * ```
974
+ */
975
+ updateOn(...t) {
976
+ return this.#m.push(...t), this;
930
977
  }
931
978
  /**
932
979
  * Enable search text highlighting using the CSS Custom Highlight API.
@@ -942,7 +989,7 @@ class rr {
942
989
  * ```
943
990
  */
944
991
  searchHighlight(t = !0) {
945
- return this.#C = t, this;
992
+ return this.#w = t, this;
946
993
  }
947
994
  // ============================================================
948
995
  // Grid Options
@@ -965,7 +1012,7 @@ class rr {
965
1012
  // ============================================================
966
1013
  // Private - Search Highlight Helpers
967
1014
  // ============================================================
968
- #F(t) {
1015
+ #D(t) {
969
1016
  if (typeof CSS > "u" || !("highlights" in CSS)) return;
970
1017
  const o = CSS.highlights;
971
1018
  o.delete("coar-search");
@@ -987,20 +1034,20 @@ class rr {
987
1034
  }
988
1035
  n.length > 0 && o.set("coar-search", new Highlight(...n));
989
1036
  }
990
- #P(t) {
991
- this.#C && requestAnimationFrame(() => {
992
- this.#F(t);
1037
+ #x(t) {
1038
+ this.#w && requestAnimationFrame(() => {
1039
+ this.#D(t);
993
1040
  });
994
1041
  }
995
1042
  // ============================================================
996
1043
  // Private - Row Drag Helpers
997
1044
  // ============================================================
998
- #v() {
1045
+ #S() {
999
1046
  (this.#a ?? document).querySelectorAll(".coar-drop-target, .coar-drop-target--invalid").forEach((o) => {
1000
1047
  o.classList.remove("coar-drop-target", "coar-drop-target--invalid");
1001
1048
  }), this.#a?.classList.remove("coar-drop-target-root");
1002
1049
  }
1003
- #T(t) {
1050
+ #A(t) {
1004
1051
  return (this.#a ?? document).querySelector(`.ag-row[row-id="${t}"]`);
1005
1052
  }
1006
1053
  // ============================================================
@@ -1011,13 +1058,13 @@ class rr {
1011
1058
  * When searchText is provided, only matching branches are included (all expanded).
1012
1059
  * Otherwise, openRows controls which parents are expanded.
1013
1060
  */
1014
- #w(t, o, i, s, n) {
1061
+ #b(t, o, i, s, n) {
1015
1062
  let r = !1;
1016
- const a = this.#d, l = this.#s?.value ?? [];
1063
+ const a = this.#c, l = this.#n?.value ?? [];
1017
1064
  for (const d of t) {
1018
1065
  const c = a.rowId(d), u = a.children(d), h = u.length > 0;
1019
1066
  if (i) {
1020
- const g = this.#A(d, i), p = [], f = /* @__PURE__ */ new Map(), m = h ? this.#w(u, o + 1, i, p, f) : !1;
1067
+ const g = this.#k(d, i), p = [], f = /* @__PURE__ */ new Map(), m = h ? this.#b(u, o + 1, i, p, f) : !1;
1021
1068
  if (g || m) {
1022
1069
  if (s.push(d), n.set(c, { depth: o, hasChildren: h, isExpanded: m, childCount: u.length }), m) {
1023
1070
  for (const [C, v] of f) n.set(C, v);
@@ -1027,34 +1074,34 @@ class rr {
1027
1074
  }
1028
1075
  } else {
1029
1076
  const g = h && l.includes(c);
1030
- s.push(d), n.set(c, { depth: o, hasChildren: h, isExpanded: g, childCount: u.length }), g && this.#w(u, o + 1, null, s, n), r = !0;
1077
+ s.push(d), n.set(c, { depth: o, hasChildren: h, isExpanded: g, childCount: u.length }), g && this.#b(u, o + 1, null, s, n), r = !0;
1031
1078
  }
1032
1079
  }
1033
1080
  return r;
1034
1081
  }
1035
- #M(t, o, i) {
1082
+ #I(t, o, i) {
1036
1083
  if (o == null) {
1037
1084
  t.setGridOption("rowData", []), t.setGridOption("loading", !0);
1038
1085
  return;
1039
1086
  }
1040
- const s = i?.trim().toLowerCase() || null, n = [], r = /* @__PURE__ */ new Map();
1041
- this.#w(o, 0, s, n, r), this.#p.meta = r, t.setGridOption("rowData", n), t.setGridOption("loading", !1), t.refreshCells({ force: !0 }), this.#P(i);
1087
+ const s = this.#d?.(o, i ?? "") ?? null, n = s !== null ? s : o, r = s !== null ? null : i?.trim().toLowerCase() || null, a = [], l = /* @__PURE__ */ new Map();
1088
+ this.#b(n, 0, r, a, l), this.#f.meta = l, t.setGridOption("rowData", a), t.setGridOption("loading", !1), t.refreshCells({ force: !0 }), this.#x(i);
1042
1089
  }
1043
1090
  /**
1044
1091
  * Check if a single row matches the quick filter (used by both flat and tree modes).
1045
1092
  */
1046
- #A(t, o) {
1047
- return this.#g ? this.#g(o, t) : this.#D(t, o);
1093
+ #k(t, o) {
1094
+ return this.#p ? this.#p(o, t) : this.#E(t, o);
1048
1095
  }
1049
1096
  // ============================================================
1050
1097
  // Private - Quick Filter Helpers
1051
1098
  // ============================================================
1052
- #I(t, o) {
1099
+ #L(t, o) {
1053
1100
  const i = o?.trim().toLowerCase();
1054
- return i ? this.#g ? t.filter((s) => this.#g(i, s)) : t.filter((s) => this.#D(s, i)) : t;
1101
+ return i ? this.#p ? t.filter((s) => this.#p(i, s)) : t.filter((s) => this.#E(s, i)) : t;
1055
1102
  }
1056
- #D(t, o) {
1057
- for (const i of this.#c) {
1103
+ #E(t, o) {
1104
+ for (const i of this.#u) {
1058
1105
  if (i.hide || !i.field) continue;
1059
1106
  const s = i[Al];
1060
1107
  if (s === !1) continue;
@@ -1065,79 +1112,81 @@ class rr {
1065
1112
  }
1066
1113
  return !1;
1067
1114
  }
1068
- #x(t, o, i) {
1115
+ #T(t, o, i) {
1069
1116
  if (o == null) {
1070
1117
  t.setGridOption("rowData", []), t.setGridOption("loading", !0);
1071
1118
  return;
1072
1119
  }
1073
- const s = this.#I(o, i);
1074
- t.setGridOption("rowData", s), t.setGridOption("loading", !1), !this.#m && this.#c.some((n) => n.flex) && (this.#m = !0, t.setGridOption("columnDefs", this.#c)), this.#P(i);
1120
+ const s = this.#d?.(o, i ?? "") ?? null, n = s !== null ? s : this.#L(o, i);
1121
+ t.setGridOption("rowData", n), t.setGridOption("loading", !1), !this.#v && this.#u.some((r) => r.flex) && (this.#v = !0, t.setGridOption("columnDefs", this.#u)), this.#x(i);
1075
1122
  }
1076
1123
  /** @internal Called by the wrapper component to bind to AG Grid */
1077
1124
  _bind(t, o) {
1078
- if (this.#e = t, this.#a = o, this.#f.value = !0, this.#d) {
1079
- const i = this.#l ?? ue(this.#u), s = [i];
1080
- this.#n && s.push(this.#n), this.#s && s.push(this.#s);
1125
+ if (this.#e = t, this.#a = o, this.#C.value = !0, this.#c) {
1126
+ const i = this.#l ?? ue(this.#h), s = [i];
1127
+ this.#i && s.push(this.#i), this.#n && s.push(this.#n), s.push(...this.#m);
1081
1128
  const n = Se(
1082
1129
  s,
1083
1130
  () => {
1084
- this.#M(t, i.value, this.#n?.value);
1131
+ this.#I(t, i.value, this.#i?.value);
1085
1132
  },
1086
1133
  { immediate: !0, deep: !1 }
1087
1134
  );
1088
- this.#i.push(n);
1089
- } else if (this.#n) {
1090
- const i = this.#l ?? ue(this.#u), s = Se(
1091
- [i, this.#n],
1092
- ([n, r]) => {
1093
- this.#x(t, n, r);
1135
+ this.#s.push(n);
1136
+ } else if (this.#i || this.#d) {
1137
+ const i = this.#l ?? ue(this.#h), s = [i];
1138
+ this.#i && s.push(this.#i), s.push(...this.#m);
1139
+ const n = Se(
1140
+ s,
1141
+ () => {
1142
+ this.#T(t, i.value, this.#i?.value);
1094
1143
  },
1095
1144
  { immediate: !0 }
1096
1145
  );
1097
- this.#i.push(s);
1146
+ this.#s.push(n);
1098
1147
  } else if (this.#l) {
1099
- const i = Se(
1100
- this.#l,
1101
- (s) => {
1102
- this.#x(t, s);
1148
+ const i = [this.#l, ...this.#m], s = Se(
1149
+ i,
1150
+ () => {
1151
+ this.#T(t, this.#l.value);
1103
1152
  },
1104
1153
  { immediate: !0 }
1105
1154
  );
1106
- this.#i.push(i);
1155
+ this.#s.push(s);
1107
1156
  }
1108
- if (this.#h)
1109
- if (Tl(this.#h)) {
1157
+ if (this.#g)
1158
+ if (Tl(this.#g)) {
1110
1159
  const i = Se(
1111
- this.#h,
1160
+ this.#g,
1112
1161
  (s) => {
1113
1162
  s && t.applyColumnState({ state: s, applyOrder: !0 });
1114
1163
  },
1115
1164
  { immediate: !0 }
1116
1165
  );
1117
- this.#i.push(i);
1166
+ this.#s.push(i);
1118
1167
  } else
1119
- t.applyColumnState({ state: this.#h, applyOrder: !0 });
1120
- for (const i of this.#S) {
1168
+ t.applyColumnState({ state: this.#g, applyOrder: !0 });
1169
+ for (const i of this.#y) {
1121
1170
  const s = Se(i, () => {
1122
1171
  t.onSortChanged(), t.onFilterChanged();
1123
1172
  });
1124
- this.#i.push(s);
1173
+ this.#s.push(s);
1125
1174
  }
1126
- for (const i of this.#b) {
1175
+ for (const i of this.#R) {
1127
1176
  const s = Se(i, () => {
1128
1177
  t.onFilterChanged();
1129
1178
  });
1130
- this.#i.push(s);
1179
+ this.#s.push(s);
1131
1180
  }
1132
- if (this.#C && this.#n) {
1181
+ if (this.#w && this.#i) {
1133
1182
  const i = () => {
1134
- this.#F(this.#n?.value);
1183
+ this.#D(this.#i?.value);
1135
1184
  }, s = this.#a?.querySelector(".ag-body-viewport");
1136
- s?.addEventListener("scroll", i), this.#i.push(() => s?.removeEventListener("scroll", i));
1185
+ s?.addEventListener("scroll", i), this.#s.push(() => s?.removeEventListener("scroll", i));
1137
1186
  }
1138
- if (this.#s && !this.#d) {
1187
+ if (this.#n && !this.#c) {
1139
1188
  const i = Se(
1140
- this.#s,
1189
+ this.#n,
1141
1190
  (s) => {
1142
1191
  t.forEachNode((n) => {
1143
1192
  if (n.group || n.master) {
@@ -1148,22 +1197,22 @@ class rr {
1148
1197
  },
1149
1198
  { immediate: !0 }
1150
1199
  );
1151
- this.#i.push(i);
1200
+ this.#s.push(i);
1152
1201
  }
1153
1202
  }
1154
1203
  /** @internal Called by the wrapper component on unmount */
1155
1204
  _destroy() {
1156
- for (const t of this.#i)
1205
+ for (const t of this.#s)
1157
1206
  t();
1158
- this.#i = [], this.#e = void 0, this.#a = void 0, this.#f.value = !1, this.#m = !1, typeof CSS < "u" && "highlights" in CSS && CSS.highlights.delete("coar-search");
1207
+ this.#s = [], this.#e = void 0, this.#a = void 0, this.#C.value = !1, this.#v = !1, typeof CSS < "u" && "highlights" in CSS && CSS.highlights.delete("coar-search");
1159
1208
  }
1160
1209
  /** @internal Get viewport click handler (for wrapper component) */
1161
1210
  _getViewportClickHandler() {
1162
- return this.#y;
1211
+ return this.#F;
1163
1212
  }
1164
1213
  /** @internal Get viewport context menu handler (for wrapper component) */
1165
1214
  _getViewportContextMenuHandler() {
1166
- return this.#R;
1215
+ return this.#P;
1167
1216
  }
1168
1217
  /** @internal Check if a cell context menu handler is registered (for wrapper component) */
1169
1218
  _hasCellContextMenuHandler() {
@@ -1171,7 +1220,7 @@ class rr {
1171
1220
  }
1172
1221
  /** Get column definitions (for wrapper component) */
1173
1222
  _getColumnDefs() {
1174
- return this.#c;
1223
+ return this.#u;
1175
1224
  }
1176
1225
  /** Get grid options (for wrapper component) */
1177
1226
  _getGridOptions() {
@@ -1179,11 +1228,11 @@ class rr {
1179
1228
  }
1180
1229
  /** Get static row data (for wrapper component) */
1181
1230
  _getRowData() {
1182
- return this.#l || this.#n || this.#d ? null : this.#u;
1231
+ return this.#l || this.#i || this.#c || this.#d ? null : this.#h;
1183
1232
  }
1184
1233
  /** @internal Whether data is loaded asynchronously (rowDataRef or tree/filter pipeline) */
1185
1234
  _isAsyncData() {
1186
- return !!(this.#l || this.#n || this.#d);
1235
+ return !!(this.#l || this.#i || this.#c || this.#d);
1187
1236
  }
1188
1237
  }
1189
1238
  var It = class {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocoar/vue-data-grid",
3
- "version": "1.5.4",
3
+ "version": "1.5.5",
4
4
  "description": "AG Grid wrapper with Cocoar Design System theming for Vue 3",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  },
43
43
  "peerDependencies": {
44
44
  "vue": "^3.5.0",
45
- "@cocoar/vue-ui": "1.5.4",
46
- "@cocoar/vue-localization": "1.5.4"
45
+ "@cocoar/vue-ui": "1.5.5",
46
+ "@cocoar/vue-localization": "1.5.5"
47
47
  },
48
48
  "devDependencies": {
49
49
  "vue": "^3.5.0",