@progress/kendo-vue-grid 7.1.0-develop.7 → 8.0.0-develop.1

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.
@@ -5,25 +5,26 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as A, createVNode as r, isVNode as F } from "vue";
9
- import { normalize as z } from "../interfaces/GridSortSettings.mjs";
10
- import { ColumnResizer as v } from "../drag/ColumnResizer.mjs";
11
- import { ColumnDraggable as B } from "../drag/ColumnDraggable.mjs";
12
- import { GridHeaderCell as K } from "./GridHeaderCell.mjs";
13
- import { ColumnMenu as V } from "../columnMenu/ColumnMenu.mjs";
14
- import { noop as N, templateRendering as T, getListeners as _, Keys as H, hasListener as P, Icon as E } from "@progress/kendo-vue-common";
15
- import { HeaderThElement as q } from "@progress/kendo-vue-data-tools";
16
- import { sortableColumnAriaLabel as S, messages as C, sortableColumnAscendingAriaLabel as y, sortableColumnDescendingAriaLabel as M } from "../messages/main.mjs";
17
- import { provideLocalizationService as G } from "@progress/kendo-vue-intl";
18
- import { sortAscSmallIcon as U, sortDescSmallIcon as J } from "@progress/kendo-svg-icons";
19
- function $(t) {
20
- return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !F(t);
8
+ import { defineComponent as _, createVNode as r, isVNode as P } from "vue";
9
+ import { normalize as q } from "../interfaces/GridSortSettings.mjs";
10
+ import { ColumnResizer as E } from "../drag/ColumnResizer.mjs";
11
+ import { ColumnDraggable as G } from "../drag/ColumnDraggable.mjs";
12
+ import { GridHeaderCell as U } from "./GridHeaderCell.mjs";
13
+ import { ColumnMenu as J } from "../columnMenu/ColumnMenu.mjs";
14
+ import { noop as Q, templateRendering as W, getListeners as X, Keys as M, hasListener as Y, Icon as Z } from "@progress/kendo-vue-common";
15
+ import { HeaderThElement as ee } from "@progress/kendo-vue-data-tools";
16
+ import { sortableColumnAriaLabel as O, messages as k, sortableColumnAscendingAriaLabel as I, sortableColumnDescendingAriaLabel as z } from "../messages/main.mjs";
17
+ import { provideLocalizationService as ne } from "@progress/kendo-vue-intl";
18
+ import { sortAscSmallIcon as te, sortDescSmallIcon as le } from "@progress/kendo-svg-icons";
19
+ import { getVirtualHeaderCellsToRender as re } from "../utils/virtualColumns.mjs";
20
+ function H(n) {
21
+ return typeof n == "function" || Object.prototype.toString.call(n) === "[object Object]" && !P(n);
21
22
  }
22
- const k = {
23
+ const S = {
23
24
  none: "none",
24
25
  asc: "ascending",
25
26
  desc: "descending"
26
- }, Q = {
27
+ }, oe = {
27
28
  true: {
28
29
  asc: "desc",
29
30
  desc: "",
@@ -34,7 +35,7 @@ const k = {
34
35
  desc: "asc",
35
36
  "": "asc"
36
37
  }
37
- }, ae = /* @__PURE__ */ A({
38
+ }, $e = /* @__PURE__ */ _({
38
39
  name: "KendoHeaderRow",
39
40
  props: {
40
41
  grid: Object,
@@ -51,6 +52,8 @@ const k = {
51
52
  filterChange: Function,
52
53
  filterRow: Object,
53
54
  columns: Array,
55
+ cellsToRender: Array,
56
+ columnVirtualization: Boolean,
54
57
  columnsMap: Array,
55
58
  columnResize: Object,
56
59
  columnMenu: [Boolean, String, Function, Object],
@@ -75,7 +78,7 @@ const k = {
75
78
  },
76
79
  inject: {
77
80
  onNavFocus: {
78
- default: N
81
+ default: Q
79
82
  },
80
83
  kendoLocalizationService: {
81
84
  default: null
@@ -90,51 +93,51 @@ const k = {
90
93
  this.serviceIndex = 0, this.index = -1, this._element = null, this.cellClick = this.cellClick.bind(this);
91
94
  },
92
95
  methods: {
93
- pressHandler(t, n) {
94
- this.$emit("pressHandler", t, n);
96
+ pressHandler(n, t) {
97
+ this.$emit("pressHandler", n, t);
95
98
  },
96
- dragHandler(t, n) {
97
- this.$emit("dragHandler", t, n);
99
+ dragHandler(n, t) {
100
+ this.$emit("dragHandler", n, t);
98
101
  },
99
- releaseHandler(t) {
100
- this.$emit("releaseHandler", t);
102
+ releaseHandler(n) {
103
+ this.$emit("releaseHandler", n);
101
104
  },
102
- selectionChangeHandler(t) {
103
- this.$emit("selectionchange", t);
105
+ selectionChangeHandler(n) {
106
+ this.$emit("selectionchange", n);
104
107
  },
105
- cellClick(t, n) {
106
- if (t.preventDefault(), !P.call(this, "sortChange"))
108
+ cellClick(n, t) {
109
+ if (n.preventDefault(), !Y.call(this, "sortChange"))
107
110
  return;
108
111
  const {
109
112
  allowUnsort: u,
110
113
  mode: h
111
- } = z(this.$props.sortable || !1, n.sortable || !1), o = (this.$props.sort || []).filter((a) => a.field === n.field)[0], s = Q[u][o && o.dir || ""], i = h === "single" ? [] : (this.$props.sort || []).filter((a) => a.field !== n.field);
112
- s !== "" && n.field && i.push({
113
- field: n.field,
114
- dir: s
115
- }), this.sortChangeHandler(i, {
116
- event: t,
117
- field: n.field
114
+ } = q(this.$props.sortable || !1, t.sortable || !1), s = (this.$props.sort || []).filter((o) => o.field === t.field)[0], c = oe[u][s && s.dir || ""], f = h === "single" ? [] : (this.$props.sort || []).filter((o) => o.field !== t.field);
115
+ c !== "" && t.field && f.push({
116
+ field: t.field,
117
+ dir: c
118
+ }), this.sortChangeHandler(f, {
119
+ event: n,
120
+ field: t.field
118
121
  });
119
122
  },
120
- sortChangeHandler(t, n) {
121
- this.$emit("sortChange", t, n);
123
+ sortChangeHandler(n, t) {
124
+ this.$emit("sortChange", n, t);
122
125
  },
123
- filterChangeHandler(t, n) {
124
- this.$emit("filterChange", t, n);
126
+ filterChangeHandler(n, t) {
127
+ this.$emit("filterChange", n, t);
125
128
  },
126
- cellClass(t, n, u) {
127
- const h = n ? " " + n : "";
128
- let o = "k-header" + (u ? " k-grid-header-sticky" : "") + h;
129
- return this.$props.sort && this.$props.sort.filter((s) => s.field === t).length > 0 && (o += " k-sorted"), o;
129
+ cellClass(n, t, u) {
130
+ const h = t ? " " + t : "";
131
+ let s = "k-header" + (u ? " k-grid-header-sticky" : "") + h;
132
+ return this.$props.sort && this.$props.sort.filter((c) => c.field === n).length > 0 && (s += " k-sorted"), s;
130
133
  },
131
- cellKeyDown(t, n) {
132
- t.defaultPrevented || (t.keyCode === H.enter && this.cellClick(t, n), t.altKey && t.keyCode === H.down && n.field && (t.preventDefault(), this.columnMenuOpened = {
133
- [n.field]: !0
134
+ cellKeyDown(n, t) {
135
+ n.defaultPrevented || (n.keyCode === M.enter && this.cellClick(n, t), n.altKey && n.keyCode === M.down && t.field && (n.preventDefault(), this.columnMenuOpened = {
136
+ [t.field]: !0
134
137
  }));
135
138
  },
136
- getTemplate(t) {
137
- return T.call(this.$props.grid, t, _.call(this.$props.grid));
139
+ getTemplate(n) {
140
+ return W.call(this.$props.grid, n, X.call(this.$props.grid));
138
141
  },
139
142
  columnMenuClose() {
140
143
  this.onNavFocus({}), this.columnMenuOpened = {};
@@ -150,70 +153,77 @@ const k = {
150
153
  };
151
154
  }
152
155
  },
153
- render(t) {
154
- const n = G(this), u = n.toLanguageString(S, C[S]), h = n.toLanguageString(y, C[y]), o = n.toLanguageString(M, C[M]);
156
+ render() {
157
+ const n = ne(this), t = n.toLanguageString(O, k[O]), u = n.toLanguageString(I, k[I]), h = n.toLanguageString(z, k[z]);
155
158
  this.serviceIndex = 0, this.index = -1;
156
- const s = function(i) {
157
- return i.map(function(a) {
158
- const e = this.$props.columns[a], f = this.$props.sortable && e.sortable, g = this.$props.sort ? this.$props.sort.findIndex((l) => l.field === e.field) : -1, b = g >= 0 && this.$props.sort[g].dir || "none", d = function(l) {
159
+ const s = this.$props.columnsMap && this.$props.columnsMap.length === 1, c = this.$props.columnVirtualization && s, f = function(o, m) {
160
+ const i = re({
161
+ cellsToRender: this.$props.cellsToRender || [],
162
+ columns: this.$props.columns,
163
+ rowIndex: m,
164
+ enableVirtualization: c
165
+ }), R = i.columnsToRender.length > 0, L = R ? i.columnsToRender : o, w = R ? i.colSpans : [];
166
+ return L.map(function(A, D) {
167
+ var y;
168
+ const e = this.$props.columns[A], g = this.$props.sortable && e.sortable, C = this.$props.sort ? this.$props.sort.findIndex((l) => l.field === e.field) : -1, $ = C >= 0 && this.$props.sort[C].dir || "none", d = function(l) {
159
169
  if (!this.$props.sort)
160
170
  return null;
161
- const m = l >= 0 ? this.$props.sort[l].dir : "";
171
+ const b = l >= 0 ? this.$props.sort[l].dir : "";
162
172
  return l >= 0 && [r("span", {
163
173
  key: 1,
164
174
  class: "k-sort-icon"
165
- }, [r(E, {
166
- name: "sort-" + m + "-small",
167
- icon: m === "asc" ? U : J
175
+ }, [r(Z, {
176
+ name: "sort-" + b + "-small",
177
+ icon: b === "asc" ? te : le
168
178
  }, null)]), this.$props.sort.length > 1 && r("span", {
169
179
  key: 2,
170
180
  class: "k-sort-icon"
171
181
  }, [r("span", {
172
182
  class: "k-sort-order"
173
183
  }, [l + 1])])];
174
- }.call(this, g), c = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, R = e.menuIcon || this.$props.columnMenuIcon, O = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (c ? " k-filterable" : ""), I = !c || typeof c == "boolean" ? !!c : this.getTemplate(c), L = e.left !== void 0 ? this.$props.isRtl ? {
184
+ }.call(this, C), a = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, j = e.menuIcon || this.$props.columnMenuIcon, x = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (a ? " k-filterable" : ""), F = !a || typeof a == "boolean" ? !!a : this.getTemplate(a), v = e.locked && e.left !== void 0 ? this.$props.isRtl ? {
175
185
  left: e.right + "px",
176
186
  right: e.left + "px"
177
187
  } : {
178
188
  left: e.left + "px",
179
189
  right: e.right + "px"
180
- } : {}, D = k[b] === "none" ? u : k[b] === "ascending" ? h : o;
190
+ } : void 0, T = S[$] === "none" ? t : S[$] === "ascending" ? u : h;
181
191
  let p = e.isAccessible ? {
182
- ariaSort: k[b],
183
- ariaLabel: D,
192
+ ariaSort: S[$],
193
+ ariaLabel: T,
184
194
  role: "columnheader",
185
195
  ariaColumnIndex: this.$props.isColCountDefined ? this.$props.columnsInitial.findIndex((l) => l.field === e.field) + 1 : void 0,
186
196
  ariaSelected: !1,
187
- ariaHaspopup: c ? "menu" : this.$props.filterable && e.filterable ? "dialog" : void 0
197
+ ariaHaspopup: a ? "menu" : this.$props.filterable && e.filterable ? "dialog" : void 0
188
198
  } : {
189
199
  role: "columnheader"
190
200
  };
191
- const j = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, w = e.columnMenuOpened !== void 0 ? e.columnMenuOpened : this.columnMenuOpened[e.field];
192
- return r(q, {
193
- ariaSort: f ? p.ariaSort : void 0,
194
- ariaLabel: f ? p.ariaLabel : void 0,
201
+ const V = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, B = e.columnMenuOpened !== void 0 ? e.columnMenuOpened : this.columnMenuOpened[e.field], K = (y = w[D]) != null ? y : e.headerColSpan;
202
+ return r(ee, {
203
+ ariaSort: g ? p.ariaSort : void 0,
204
+ ariaLabel: g ? p.ariaLabel : void 0,
195
205
  role: p.role,
196
206
  ariaColumnIndex: p.ariaColumnIndex,
197
207
  ariaSelected: p.ariaSelected,
198
208
  ariaHaspopup: p.ariaHaspopup,
199
- key: j,
200
- colSpan: e.headerColSpan,
209
+ key: V,
210
+ colSpan: K,
201
211
  rowSpan: e.rowSpan,
202
- class: O,
203
- style: L,
212
+ class: x,
213
+ style: v,
204
214
  columnId: e.id,
205
215
  navigatable: e.navigatable,
206
216
  onKeydown: (l) => this.cellKeyDown(l, e)
207
217
  }, {
208
- default: () => [[e.children.length === 0 && c && r(V, {
218
+ default: () => [[e.children.length === 0 && a && r(J, {
209
219
  key: 0,
210
220
  column: {
211
221
  field: e.field,
212
222
  filter: e.filter
213
223
  },
214
- opened: w,
224
+ opened: B,
215
225
  animate: this.$props.columnMenuAnimate,
216
- sortable: f,
226
+ sortable: g,
217
227
  sort: this.$props.sort,
218
228
  onClose: this.columnMenuClose,
219
229
  onSortchange: this.sortChangeHandler,
@@ -221,36 +231,36 @@ const k = {
221
231
  filterable: this.$props.filterable && e.filterable,
222
232
  filterOperators: this.$props.filterOperators,
223
233
  onFilterchange: this.filterChangeHandler,
224
- render: I,
225
- columnMenuIcon: R
234
+ render: F,
235
+ columnMenuIcon: j
226
236
  }, null), e.internalHeaderCell && r("span", {
227
237
  class: "k-cell-inner"
228
238
  }, [r(e.internalHeaderCell, {
229
239
  key: 1,
230
240
  field: e.field,
231
- sortable: f,
241
+ sortable: g,
232
242
  onHeadercellclick: (l) => this.cellClick(l, e),
233
243
  onSelectionchange: this.selectionChangeHandler,
234
244
  selectionValue: e.headerSelectionValue,
235
245
  title: e.title,
236
246
  render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
237
- }, $(d) ? d : {
247
+ }, H(d) ? d : {
238
248
  default: () => [d]
239
249
  })]) || r("span", {
240
250
  class: "k-cell-inner"
241
- }, [r(K, {
251
+ }, [r(U, {
242
252
  key: 1,
243
253
  field: e.field,
244
- sortable: f,
254
+ sortable: g,
245
255
  onHeadercellclick: (l) => this.cellClick(l, e),
246
256
  selectionValue: e.headerSelectionValue,
247
257
  title: e.title,
248
258
  render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
249
- }, $(d) ? d : {
259
+ }, H(d) ? d : {
250
260
  default: () => [d]
251
- })]), this.$props.columnResize && this.$props.columnResize.resizable && e.resizable && r(v, {
261
+ })]), this.$props.columnResize && this.$props.columnResize.resizable && e.resizable && r(E, {
252
262
  key: 2,
253
- onResize: (l, m, x) => this.$props.columnResize && this.$props.columnResize.dragHandler(l, e, m, x)
263
+ onResize: (l, b, N) => this.$props.columnResize && this.$props.columnResize.dragHandler(l, e, b, N)
254
264
  }, null)]]
255
265
  });
256
266
  }, this);
@@ -259,23 +269,23 @@ const k = {
259
269
  role: "rowgroup",
260
270
  class: this.theadClasses,
261
271
  "data-keyboardnavheader": !0
262
- }, [this.$props.columnsMap.map(function(i, a) {
263
- let e;
264
- return (this.$props.groupable || this.$props.reorderable) && r(B, {
265
- key: a,
272
+ }, [this.$props.columnsMap.map(function(o, m) {
273
+ let i;
274
+ return (this.$props.groupable || this.$props.reorderable) && r(G, {
275
+ key: m,
266
276
  onPressHandler: this.pressHandler,
267
277
  onDragHandler: this.dragHandler,
268
278
  onReleaseHandler: this.releaseHandler
269
- }, $(e = s.call(this, i)) ? e : {
270
- default: () => [e]
279
+ }, H(i = f.call(this, o, m)) ? i : {
280
+ default: () => [i]
271
281
  }) || r("tr", {
272
282
  class: "k-table-row",
273
283
  role: "row",
274
284
  "aria-rowindex": this.columnsMap.length
275
- }, [s.call(this, i)]);
285
+ }, [f.call(this, o, m)]);
276
286
  }, this), this.$props.filterRow]);
277
287
  }
278
288
  });
279
289
  export {
280
- ae as HeaderRow
290
+ $e as HeaderRow
281
291
  };
package/index.d.mts CHANGED
@@ -190,9 +190,6 @@ rowIndex: PropType<number>;
190
190
  columnStyles(column: ExtendedColumnProps): {
191
191
  left: string;
192
192
  right: string;
193
- } | {
194
- left?: undefined;
195
- right?: undefined;
196
193
  };
197
194
  }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< {
198
195
  isRtl: PropType<boolean>;
@@ -326,8 +323,8 @@ defaultGroup: PropType<GroupDescriptor[]>;
326
323
  groupable: PropType<boolean | GridGroupableSettings_2>;
327
324
  groupExpand: PropType<GroupExpandDescriptor[]>;
328
325
  defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
329
- detailExpand: PropType<GroupExpandDescriptor>;
330
- defaultDetailExpand: PropType<GroupExpandDescriptor>;
326
+ detailExpand: PropType<DetailExpandDescriptor>;
327
+ defaultDetailExpand: PropType<DetailExpandDescriptor>;
331
328
  editField: PropType<string>;
332
329
  rowClass: PropType<Function>;
333
330
  scrollable: {
@@ -508,8 +505,8 @@ defaultGroup: PropType<GroupDescriptor[]>;
508
505
  groupable: PropType<boolean | GridGroupableSettings_2>;
509
506
  groupExpand: PropType<GroupExpandDescriptor[]>;
510
507
  defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
511
- detailExpand: PropType<GroupExpandDescriptor>;
512
- defaultDetailExpand: PropType<GroupExpandDescriptor>;
508
+ detailExpand: PropType<DetailExpandDescriptor>;
509
+ defaultDetailExpand: PropType<DetailExpandDescriptor>;
513
510
  editField: PropType<string>;
514
511
  rowClass: PropType<Function>;
515
512
  scrollable: {
@@ -2600,7 +2597,7 @@ export declare interface GridProps {
2600
2597
  * <Grid :detail-expand="{ 1: true, 3: true }" />
2601
2598
  * ```
2602
2599
  */
2603
- detailExpand?: GroupExpandDescriptor;
2600
+ detailExpand?: DetailExpandDescriptor;
2604
2601
  /**
2605
2602
  * The default `detailExpand` state applied to the Grid when using uncontrolled mode.
2606
2603
  *
@@ -2609,7 +2606,7 @@ export declare interface GridProps {
2609
2606
  * <Grid :default-detail-expand="{ 2: true, 4: true }" />
2610
2607
  * ```
2611
2608
  */
2612
- defaultDetailExpand?: GroupExpandDescriptor;
2609
+ defaultDetailExpand?: DetailExpandDescriptor;
2613
2610
  /**
2614
2611
  * Fires when the user expands or collapses a detail row.
2615
2612
  */
@@ -3271,6 +3268,7 @@ export declare function mapColumns(columns: Array<{
3271
3268
  right: number;
3272
3269
  rightBorder: boolean;
3273
3270
  ariaColumnIndex: number;
3271
+ virtualColumnOffset?: number;
3274
3272
  }>, changedColumnLength?: boolean): number[][];
3275
3273
 
3276
3274
  /**
package/index.d.ts CHANGED
@@ -190,9 +190,6 @@ rowIndex: PropType<number>;
190
190
  columnStyles(column: ExtendedColumnProps): {
191
191
  left: string;
192
192
  right: string;
193
- } | {
194
- left?: undefined;
195
- right?: undefined;
196
193
  };
197
194
  }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< {
198
195
  isRtl: PropType<boolean>;
@@ -326,8 +323,8 @@ defaultGroup: PropType<GroupDescriptor[]>;
326
323
  groupable: PropType<boolean | GridGroupableSettings_2>;
327
324
  groupExpand: PropType<GroupExpandDescriptor[]>;
328
325
  defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
329
- detailExpand: PropType<GroupExpandDescriptor>;
330
- defaultDetailExpand: PropType<GroupExpandDescriptor>;
326
+ detailExpand: PropType<DetailExpandDescriptor>;
327
+ defaultDetailExpand: PropType<DetailExpandDescriptor>;
331
328
  editField: PropType<string>;
332
329
  rowClass: PropType<Function>;
333
330
  scrollable: {
@@ -508,8 +505,8 @@ defaultGroup: PropType<GroupDescriptor[]>;
508
505
  groupable: PropType<boolean | GridGroupableSettings_2>;
509
506
  groupExpand: PropType<GroupExpandDescriptor[]>;
510
507
  defaultGroupExpand: PropType<GroupExpandDescriptor[]>;
511
- detailExpand: PropType<GroupExpandDescriptor>;
512
- defaultDetailExpand: PropType<GroupExpandDescriptor>;
508
+ detailExpand: PropType<DetailExpandDescriptor>;
509
+ defaultDetailExpand: PropType<DetailExpandDescriptor>;
513
510
  editField: PropType<string>;
514
511
  rowClass: PropType<Function>;
515
512
  scrollable: {
@@ -2600,7 +2597,7 @@ export declare interface GridProps {
2600
2597
  * <Grid :detail-expand="{ 1: true, 3: true }" />
2601
2598
  * ```
2602
2599
  */
2603
- detailExpand?: GroupExpandDescriptor;
2600
+ detailExpand?: DetailExpandDescriptor;
2604
2601
  /**
2605
2602
  * The default `detailExpand` state applied to the Grid when using uncontrolled mode.
2606
2603
  *
@@ -2609,7 +2606,7 @@ export declare interface GridProps {
2609
2606
  * <Grid :default-detail-expand="{ 2: true, 4: true }" />
2610
2607
  * ```
2611
2608
  */
2612
- defaultDetailExpand?: GroupExpandDescriptor;
2609
+ defaultDetailExpand?: DetailExpandDescriptor;
2613
2610
  /**
2614
2611
  * Fires when the user expands or collapses a detail row.
2615
2612
  */
@@ -3271,6 +3268,7 @@ export declare function mapColumns(columns: Array<{
3271
3268
  right: number;
3272
3269
  rightBorder: boolean;
3273
3270
  ariaColumnIndex: number;
3271
+ virtualColumnOffset?: number;
3274
3272
  }>, changedColumnLength?: boolean): number[][];
3275
3273
 
3276
3274
  /**
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1770355607,version:"7.1.0-develop.7",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1770361088,version:"8.0.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1770355607,
14
- version: "7.1.0-develop.7",
13
+ publishDate: 1770361088,
14
+ version: "8.0.0-develop.1",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/"
16
16
  };
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-grid",
3
- "version": "7.1.0-develop.7",
3
+ "version": "8.0.0-develop.1",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -21,16 +21,16 @@
21
21
  "@progress/kendo-data-query": "^1.7.0",
22
22
  "@progress/kendo-drawing": "^1.21.1",
23
23
  "@progress/kendo-licensing": "^1.7.2",
24
- "@progress/kendo-vue-animation": "7.1.0-develop.7",
25
- "@progress/kendo-vue-buttons": "7.1.0-develop.7",
26
- "@progress/kendo-vue-common": "7.1.0-develop.7",
27
- "@progress/kendo-vue-data-tools": "7.1.0-develop.7",
28
- "@progress/kendo-vue-dateinputs": "7.1.0-develop.7",
29
- "@progress/kendo-vue-indicators": "7.1.0-develop.7",
30
- "@progress/kendo-vue-dropdowns": "7.1.0-develop.7",
31
- "@progress/kendo-vue-inputs": "7.1.0-develop.7",
32
- "@progress/kendo-vue-intl": "7.1.0-develop.7",
33
- "@progress/kendo-vue-popup": "7.1.0-develop.7",
24
+ "@progress/kendo-vue-animation": "8.0.0-develop.1",
25
+ "@progress/kendo-vue-buttons": "8.0.0-develop.1",
26
+ "@progress/kendo-vue-common": "8.0.0-develop.1",
27
+ "@progress/kendo-vue-data-tools": "8.0.0-develop.1",
28
+ "@progress/kendo-vue-dateinputs": "8.0.0-develop.1",
29
+ "@progress/kendo-vue-indicators": "8.0.0-develop.1",
30
+ "@progress/kendo-vue-dropdowns": "8.0.0-develop.1",
31
+ "@progress/kendo-vue-inputs": "8.0.0-develop.1",
32
+ "@progress/kendo-vue-intl": "8.0.0-develop.1",
33
+ "@progress/kendo-vue-popup": "8.0.0-develop.1",
34
34
  "@progress/kendo-svg-icons": "^4.4.0",
35
35
  "vue": "^3.0.2"
36
36
  },
@@ -51,7 +51,7 @@
51
51
  "package": {
52
52
  "productName": "Kendo UI for Vue",
53
53
  "productCode": "KENDOUIVUE",
54
- "publishDate": 1770355607,
54
+ "publishDate": 1770361088,
55
55
  "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/"
56
56
  }
57
57
  },
package/utils/main.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("@progress/kendo-vue-data-tools"),w=require("@progress/kendo-vue-common"),v=require("../GridColumn.js"),y="string";function I(e,t){const n=e.split(".");let r=t;return n.forEach(a=>{r=r?r[a]:void 0}),r}function M(e,t,n,r,a,l,i,o,d,s,c=0,f){let g=c;for(let h=0;h<t.length;h++){let u;if(!a||t[h].value===void 0||t[h].items===void 0){const p=d?!!(l!=null&&l[w.getter(d)(t[h])]):!1;e[e.length]={dataIndex:r.index,dataItem:t[h],rowType:"data",level:c,group:f,expanded:s!==void 0?I(s,t[h]):p!=null?p:!1},r.index++;continue}else{let p;f!=null&&f.parents?p=[{field:f.field,value:f.value},...f.parents]:f?p=[f]:p=[],u={field:t[h].field,value:t[h].value,parents:p}}g=Math.max(g,c+1);let C=!1;const m=x.findGroupExpand(i||[],u);s?C=s===void 0||I(s,t[h])===void 0||I(s,t[h]):C=m?m.expanded!==!1:o!==!1,e[e.length]={dataIndex:-1,dataItem:t[h],level:c,group:u,rowType:"groupHeader",expanded:C},C&&(u.expanded=C,g=Math.max(M(e,t[h].items,n,r,a,l,i,o,d,s,c+1,u),g)),(n==="always"||C&&n==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[h],rowType:"groupFooter",level:c,expanded:C})}return g}function F(e){return e&&getComputedStyle(e).direction==="rtl"||!1}function A(e,t){if(!t||!e||!e.originalEvent||!w.canUseDOM)return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==t;)n=n.parentElement;const r=t.children;for(let a=0;a<r.length;a++)if(r[a]===n)return a;return-1}const E=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],k=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function N(e){for(let t=0;t<E.length;t++){const n=E[t];if(e[n]!==void 0){const r="on"+n.charAt(0).toUpperCase()+n.slice(1);console.warn(k(n,r))}}}function H(e,t){const n=[[]];let r=0;for(let i=e.length-1;i>=0;i--)r=Math.max(r,e[i].depth),e[i].headerColSpan=e[i].headerColSpan||1,e[i].children.length>0&&(e[i].headerColSpan=e[i].children.reduce((o,d)=>d.hidden?o:o+d.headerColSpan,0));const a=[];let l=1;return e.forEach((i,o)=>{n[i.depth]=n[i.depth]||[];let d=!1;n[i.depth].length===0&&(l<=1?l=1+(i.children.length>0?0:r-i.depth):(l--,d=!0)),i.rowSpan=1+(i.children.length>0?0:r-i.depth),i.kFirst=d,i.index=n[i.depth].length,n[i.depth].push(o),i.ariaColumnIndex=a[i.depth]?a[i.depth]+1:1;for(let s=i.depth;s<i.depth+i.rowSpan;s++)a[s]=(a[s]||0)+i.headerColSpan}),x.updateLeft(n,e,t),x.updateRight(n,e,t),n}function R(e,t,n,r=0,a=!1){const l=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.forEach((o,d)=>{o=o;const s=o.id?o.id:x.tableKeyboardNavigationTools.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),c=w.canUseDOM&&o.media&&window.matchMedia?!window.matchMedia(o.media).matches:!1,f=a||c||o.hidden,g=t==null?void 0:t.find(u=>u.id===s),h=R(o.children,(g==null?void 0:g.children)||[],n,r+1,f);l.push({depth:r,...v.gridDefaultProps,...h.length?{cell:()=>null,filterCell:()=>null}:{},...o,id:s,declarationIndex:l.length,children:h,headerColSpan:0,rowSpan:0,columnType:o.columnType||"data",colSpan:o.colSpan||1,isAccessible:!0,hidden:f,left:null,right:null,rowSpannable:o.rowSpannable,...g?{width:g.width,orderIndex:g.orderIndex}:{}})});const i=(o,d)=>o.orderIndex===d.orderIndex?o.declarationIndex-d.declarationIndex:(o.orderIndex||0)-(d.orderIndex||0);if(l.sort(i),r===0){const o=[],d=(s,c)=>s.forEach(f=>{f.parentIndex=c,d(f.children,o.push(f)-1)});return d(l,-1),o}return l}const b=e=>Array.isArray(e)?e:e?e.data:[];function L(e,t,n,r){const a=b(e),l=[];if(a.length>0){let i=a[0];if(t)for(let d=0;d<t.length;d++)i=i.items&&i.items[0];Object.getOwnPropertyNames(i).forEach(d=>{d!==n.column&&l.push({id:x.tableKeyboardNavigationTools.generateNavigatableId(`${r.prevId++}`,r.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...v.gridDefaultProps,field:d})})}return l}const O=(e,t)=>{let n=e[t.parentIndex];for(;n;){if(n.footerCell)return!0;n=e[n.parentIndex]}return!1},V=e=>e.filter(t=>O(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),j={number:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseNumber(e,n)},date:function(e,t,n){return typeof e===y&&e.toLowerCase()==="null"?null:t.parseDate(e,n)},boolean:function(e){return typeof e===y?e.toLowerCase()==="null"?null:e.toLowerCase()==="true":e!=null?!!e:e},string:function(e){return typeof e===y&&e.toLowerCase()==="null"?null:e!=null?e+"":e},default:function(e){return e}};function T(e,t,n,r){return e.forEach(a=>{a.expanded=t[r]&&!t[r].includes(S(a,n)),a.items&&a.items.length&&(a.items=T(a.items,t,n,r+1))}),e}function K(e,t,n){return t&&t.length&&e.data.forEach(r=>{r.expanded=r.expanded!==void 0?r.expanded:t[0]&&!t[0].includes(S(r,n)),r.items&&r.items.length&&(r.items=T(r.items,t,n,1))}),e}function S(e,t){let n=e;for(;n.items&&n.items.length;)n=n.items[0];return t?n[t]:e.value}const $=e=>{const t=[],n=r=>r==null?void 0:r.forEach(a=>{t.push(a),n(a.children)});return n(e),t},z=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),B=17895697,U=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,q=(e,t)=>t&&t.filter(n=>n.field===e).length>0,D=e=>(e.sort((t,n)=>t.declarationIndex-n.declarationIndex),e.map(t=>{const{declarationIndex:n,parentIndex:r,depth:a,headerColSpan:l,rowSpan:i,index:o,kFirst:d,children:s,...c}=t;return s.length?{children:D(s),...c}:c})),W=(e,t)=>typeof e.colSpan=="function"?e.colSpan({dataItem:t,column:e}):e.colSpan||1,X=e=>{var r,a;const t=typeof e=="object"?(r=e.enabled)!=null?r:!0:e!=null?e:!1,n=typeof e=="object"?(a=e.valueGetter)!=null?a:(l,i)=>w.getter(i)(l):(l,i)=>w.getter(i)(l);return{enabled:t,valueGetter:n}},Y=e=>{let t=0;if(e){const n=e.insertRow(0),r=n.insertCell(0);r.textContent="&nbsp;",t=n.getBoundingClientRect().height,e.deleteRow(0)}return t};exports.applyExpandedState=K;exports.autoGenerateColumns=L;exports.calcRowHeight=Y;exports.checkPropCompatibility=N;exports.firefox=z;exports.firefoxMaxHeight=B;exports.flatData=M;exports.footerColumns=V;exports.getColSpan=W;exports.getColumnWidth=U;exports.getDataAsArray=b;exports.getFlatColumnsState=$;exports.getIndex=A;exports.getNestedValue=I;exports.getRowSpanOptions=X;exports.groupedFirstItemValue=S;exports.isRtl=F;exports.isSorted=q;exports.mapColumns=H;exports.parsers=j;exports.readColumns=R;exports.sanitizeColumns=D;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("@progress/kendo-vue-data-tools"),I=require("@progress/kendo-vue-common"),D=require("../GridColumn.js"),S="string";function v(e,t){const n=e.split(".");let i=t;return n.forEach(o=>{i=i?i[o]:void 0}),i}function R(e,t,n,i,o,l,r,d,s,f,c=0,h){let p=c;for(let a=0;a<t.length;a++){let x;if(!o||t[a].value===void 0||t[a].items===void 0){const C=s?!!(l!=null&&l[I.getter(s)(t[a])]):!1;e[e.length]={dataIndex:i.index,dataItem:t[a],rowType:"data",level:c,group:h,expanded:f!==void 0?v(f,t[a]):C!=null?C:!1},i.index++;continue}else{let C;h!=null&&h.parents?C=[{field:h.field,value:h.value},...h.parents]:h?C=[h]:C=[],x={field:t[a].field,value:t[a].value,parents:C}}p=Math.max(p,c+1);let g=!1;const u=w.findGroupExpand(r||[],x);f?g=f===void 0||v(f,t[a])===void 0||v(f,t[a]):g=u?u.expanded!==!1:d!==!1,e[e.length]={dataIndex:-1,dataItem:t[a],level:c,group:x,rowType:"groupHeader",expanded:g},g&&(x.expanded=g,p=Math.max(R(e,t[a].items,n,i,o,l,r,d,s,f,c+1,x),p)),(n==="always"||g&&n==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[a],rowType:"groupFooter",level:c,expanded:g})}return p}function O(e){return e&&getComputedStyle(e).direction==="rtl"||!1}function k(e,t){if(!t||!e||!e.originalEvent||!I.canUseDOM)return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==t;)n=n.parentElement;const i=t.children;for(let o=0;o<i.length;o++)if(i[o]===n)return o;return-1}const A=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],N=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function H(e){for(let t=0;t<A.length;t++){const n=A[t];if(e[n]!==void 0){const i="on"+n.charAt(0).toUpperCase()+n.slice(1);console.warn(N(n,i))}}}function j(e,t){const n=[[]];let i=0;for(let r=e.length-1;r>=0;r--)i=Math.max(i,e[r].depth),e[r].headerColSpan=e[r].headerColSpan||1,e[r].children.length>0&&(e[r].headerColSpan=e[r].children.reduce((d,s)=>s.hidden?d:d+s.headerColSpan,0));const o=[];let l=1;return e.forEach((r,d)=>{n[r.depth]=n[r.depth]||[];let s=!1;n[r.depth].length===0&&(l<=1?l=1+(r.children.length>0?0:i-r.depth):(l--,s=!0)),r.rowSpan=1+(r.children.length>0?0:i-r.depth),r.kFirst=s,r.index=n[r.depth].length,r.ariaColumnIndex=o[r.depth]?o[r.depth]+1:1;let f=0;const c=[];let h=r.parentIndex;for(;h>=0;)c.unshift(h),h=e[h].parentIndex;for(let a=0;a<c.length;a++){const x=c[a],g=e[x],u=n[g.depth],C=u.indexOf(x);for(let y=0;y<C;y++){const b=u[y];f+=e[b].headerColSpan}}for(let a=0;a<r.depth;a++){const x=n[a]||[];for(let g=0;g<x.length;g++){const u=x[g],C=e[u];C.depth+C.rowSpan-1>=r.depth&&(c.includes(u)||(f+=C.headerColSpan))}}const p=n[r.depth];for(let a=0;a<p.length;a++){const x=p[a],g=e[x];g.parentIndex===r.parentIndex&&(f+=g.headerColSpan)}r.virtualColumnOffset=f,n[r.depth].push(d);for(let a=r.depth;a<r.depth+r.rowSpan;a++)o[a]=(o[a]||0)+r.headerColSpan}),w.updateLeft(n,e,t),w.updateRight(n,e,t),n}function M(e,t,n,i=0,o=!1){const l=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.forEach((d,s)=>{d=d;const f=d.id?d.id:w.tableKeyboardNavigationTools.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),c=I.canUseDOM&&d.media&&window.matchMedia?!window.matchMedia(d.media).matches:!1,h=o||c||d.hidden,p=t==null?void 0:t.find(x=>x.id===f),a=M(d.children,(p==null?void 0:p.children)||[],n,i+1,h);l.push({depth:i,...D.gridDefaultProps,...a.length?{cell:()=>null,filterCell:()=>null}:{},...d,id:f,declarationIndex:l.length,children:a,headerColSpan:0,rowSpan:0,columnType:d.columnType||"data",colSpan:d.colSpan||1,isAccessible:!0,hidden:h,left:null,right:null,rowSpannable:d.rowSpannable,...p?{width:p.width,orderIndex:p.orderIndex}:{}})});const r=(d,s)=>d.orderIndex===s.orderIndex?d.declarationIndex-s.declarationIndex:(d.orderIndex||0)-(s.orderIndex||0);if(l.sort(r),i===0){const d=[],s=(f,c)=>f.forEach(h=>{h.parentIndex=c,s(h.children,d.push(h)-1)});return s(l,-1),d}return l}const T=e=>Array.isArray(e)?e:e?e.data:[];function L(e,t,n,i){const o=T(e),l=[];if(o.length>0){let r=o[0];if(t)for(let s=0;s<t.length;s++)r=r.items&&r.items[0];Object.getOwnPropertyNames(r).forEach(s=>{s!==n.column&&l.push({id:w.tableKeyboardNavigationTools.generateNavigatableId(`${i.prevId++}`,i.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0,...D.gridDefaultProps,field:s})})}return l}const V=(e,t)=>{let n=e[t.parentIndex];for(;n;){if(n.footerCell)return!0;n=e[n.parentIndex]}return!1},K=e=>e.filter(t=>V(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),$={number:function(e,t,n){return typeof e===S&&e.toLowerCase()==="null"?null:t.parseNumber(e,n)},date:function(e,t,n){return typeof e===S&&e.toLowerCase()==="null"?null:t.parseDate(e,n)},boolean:function(e){return typeof e===S?e.toLowerCase()==="null"?null:e.toLowerCase()==="true":e!=null?!!e:e},string:function(e){return typeof e===S&&e.toLowerCase()==="null"?null:e!=null?e+"":e},default:function(e){return e}};function F(e,t,n,i){return e.forEach(o=>{o.expanded=t[i]&&!t[i].includes(E(o,n)),o.items&&o.items.length&&(o.items=F(o.items,t,n,i+1))}),e}function z(e,t,n){return t&&t.length&&e.data.forEach(i=>{i.expanded=i.expanded!==void 0?i.expanded:t[0]&&!t[0].includes(E(i,n)),i.items&&i.items.length&&(i.items=F(i.items,t,n,1))}),e}function E(e,t){let n=e;for(;n.items&&n.items.length;)n=n.items[0];return t?n[t]:e.value}const B=e=>{const t=[],n=i=>i==null?void 0:i.forEach(o=>{t.push(o),n(o.children)});return n(e),t},P=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),U=17895697,q=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,W=(e,t)=>t&&t.filter(n=>n.field===e).length>0,m=e=>(e.sort((t,n)=>t.declarationIndex-n.declarationIndex),e.map(t=>{const{declarationIndex:n,parentIndex:i,depth:o,headerColSpan:l,rowSpan:r,index:d,kFirst:s,children:f,...c}=t;return f.length?{children:m(f),...c}:c})),X=(e,t)=>typeof e.colSpan=="function"?e.colSpan({dataItem:t,column:e}):e.colSpan||1,Y=e=>{var i,o;const t=typeof e=="object"?(i=e.enabled)!=null?i:!0:e!=null?e:!1,n=typeof e=="object"?(o=e.valueGetter)!=null?o:(l,r)=>I.getter(r)(l):(l,r)=>I.getter(r)(l);return{enabled:t,valueGetter:n}},J=e=>{let t=0;if(e){const n=e.insertRow(0),i=n.insertCell(0);i.textContent="&nbsp;",t=n.getBoundingClientRect().height,e.deleteRow(0)}return t};exports.applyExpandedState=z;exports.autoGenerateColumns=L;exports.calcRowHeight=J;exports.checkPropCompatibility=H;exports.firefox=P;exports.firefoxMaxHeight=U;exports.flatData=R;exports.footerColumns=K;exports.getColSpan=X;exports.getColumnWidth=q;exports.getDataAsArray=T;exports.getFlatColumnsState=B;exports.getIndex=k;exports.getNestedValue=v;exports.getRowSpanOptions=Y;exports.groupedFirstItemValue=E;exports.isRtl=O;exports.isSorted=W;exports.mapColumns=j;exports.parsers=$;exports.readColumns=M;exports.sanitizeColumns=m;