@progress/kendo-vue-grid 8.1.0-develop.4 → 8.1.0-develop.6

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.
Files changed (77) hide show
  1. package/Grid.d.ts +30 -17
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +567 -449
  4. package/GridState.d.ts +15 -1
  5. package/GridState.js +1 -1
  6. package/GridState.mjs +84 -71
  7. package/RootGrid.d.ts +10 -0
  8. package/cells/GridCell.d.ts +2 -0
  9. package/cells/GridCell.js +1 -1
  10. package/cells/GridCell.mjs +35 -30
  11. package/cells/GridDetailCell.js +1 -1
  12. package/cells/GridDetailCell.mjs +20 -20
  13. package/cells/GridFilterCell.js +1 -1
  14. package/cells/GridFilterCell.mjs +42 -37
  15. package/cells/GridGroupCell.d.ts +2 -0
  16. package/cells/GridGroupCell.js +1 -1
  17. package/cells/GridGroupCell.mjs +69 -55
  18. package/cells/GridHierarchyCell.d.ts +2 -0
  19. package/cells/GridHierarchyCell.js +1 -1
  20. package/cells/GridHierarchyCell.mjs +51 -41
  21. package/cells/GridSelectionCell.d.ts +2 -0
  22. package/cells/GridSelectionCell.js +1 -1
  23. package/cells/GridSelectionCell.mjs +35 -24
  24. package/cells/pincell/GridPinCell.d.ts +72 -0
  25. package/cells/pincell/GridPinCell.js +8 -0
  26. package/cells/pincell/GridPinCell.mjs +111 -0
  27. package/cells/pincell/GridPinDropdownButton.d.ts +27 -0
  28. package/cells/pincell/GridPinDropdownButton.js +8 -0
  29. package/cells/pincell/GridPinDropdownButton.mjs +111 -0
  30. package/common.d.ts +5 -0
  31. package/common.js +1 -1
  32. package/common.mjs +7 -2
  33. package/components/PinnedRowsTable.d.ts +63 -0
  34. package/components/PinnedRowsTable.js +8 -0
  35. package/components/PinnedRowsTable.mjs +141 -0
  36. package/components/StickyGroupTable.d.ts +0 -1
  37. package/components/StickyGroupTable.js +1 -1
  38. package/components/StickyGroupTable.mjs +24 -30
  39. package/constants/main.d.ts +15 -0
  40. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  41. package/drag/ColumnResize.d.ts +2 -0
  42. package/drag/ColumnResize.js +1 -1
  43. package/drag/ColumnResize.mjs +139 -123
  44. package/footer/FooterCell.js +1 -1
  45. package/footer/FooterCell.mjs +22 -20
  46. package/getRowContents.js +1 -1
  47. package/getRowContents.mjs +50 -48
  48. package/header/FilterRow.d.ts +4 -0
  49. package/header/FilterRow.js +1 -1
  50. package/header/FilterRow.mjs +52 -50
  51. package/header/HeaderRow.d.ts +4 -0
  52. package/header/HeaderRow.js +1 -1
  53. package/header/HeaderRow.mjs +114 -105
  54. package/index.js +1 -1
  55. package/index.mjs +15 -14
  56. package/interfaces/ColumnType.d.ts +1 -1
  57. package/interfaces/GridCellProps.d.ts +5 -0
  58. package/interfaces/GridCellsSettings.d.ts +23 -0
  59. package/interfaces/GridColumnProps.d.ts +2 -2
  60. package/interfaces/GridProps.d.ts +88 -31
  61. package/interfaces/GridRowProps.d.ts +13 -4
  62. package/interfaces/GridRowsSettings.d.ts +48 -0
  63. package/interfaces/events.d.ts +19 -2
  64. package/messages/main.d.ts +30 -0
  65. package/messages/main.js +2 -2
  66. package/messages/main.mjs +108 -96
  67. package/package-metadata.js +1 -1
  68. package/package-metadata.mjs +2 -2
  69. package/package.json +13 -12
  70. package/rows/GridRow.d.ts +4 -10
  71. package/rows/GridRow.js +1 -1
  72. package/rows/GridRow.mjs +24 -23
  73. package/utils/main.d.ts +5 -0
  74. package/utils/main.js +1 -1
  75. package/utils/main.mjs +199 -167
  76. package/utils/virtualColumns.js +1 -1
  77. package/utils/virtualColumns.mjs +121 -105
@@ -5,26 +5,27 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as q, createVNode as n, isVNode as E } from "vue";
9
- import { normalize as G } from "../interfaces/GridSortSettings.mjs";
10
- import { ColumnResizer as U } from "../drag/ColumnResizer.mjs";
11
- import { ColumnDraggable as W } from "../drag/ColumnDraggable.mjs";
12
- import { GridHeaderCell as J } from "./GridHeaderCell.mjs";
13
- import { ColumnMenu as Q } from "../columnMenu/ColumnMenu.mjs";
14
- import { noop as X, templateRendering as Y, getListeners as Z, Keys as O, hasListener as ee, Icon as te } from "@progress/kendo-vue-common";
15
- import { HeaderThElement as le } from "@progress/kendo-vue-data-tools";
16
- import { sortableColumnAriaLabel as I, messages as S, sortableColumnAscendingAriaLabel as z, sortableColumnDescendingAriaLabel as L } from "../messages/main.mjs";
17
- import { provideLocalizationService as ne } from "@progress/kendo-vue-intl";
18
- import { sortAscSmallIcon as re, sortDescSmallIcon as oe } from "@progress/kendo-svg-icons";
19
- import { getVirtualHeaderCellsToRender as se } from "../utils/virtualColumns.mjs";
20
- function H(t) {
21
- return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !E(t);
8
+ import { defineComponent as W, createVNode as r, isVNode as J, h as Q } from "vue";
9
+ import { normalize as X } from "../interfaces/GridSortSettings.mjs";
10
+ import { ColumnResizer as Y } from "../drag/ColumnResizer.mjs";
11
+ import { ColumnDraggable as Z } from "../drag/ColumnDraggable.mjs";
12
+ import { GridHeaderCell as ee } from "./GridHeaderCell.mjs";
13
+ import { ColumnMenu as te } from "../columnMenu/ColumnMenu.mjs";
14
+ import { noop as le, templateRendering as ne, getListeners as re, Keys as w, hasListener as oe, getTemplate as se, Icon as ie } from "@progress/kendo-vue-common";
15
+ import { HeaderThElement as ae } from "@progress/kendo-vue-data-tools";
16
+ import { resolveCells as ce } from "../utils/main.mjs";
17
+ import { sortableColumnAriaLabel as A, messages as H, sortableColumnAscendingAriaLabel as D, sortableColumnDescendingAriaLabel as j } from "../messages/main.mjs";
18
+ import { provideLocalizationService as de } from "@progress/kendo-vue-intl";
19
+ import { sortAscSmallIcon as pe, sortDescSmallIcon as ue } from "@progress/kendo-svg-icons";
20
+ import { getVirtualHeaderCellsToRender as he } from "../utils/virtualColumns.mjs";
21
+ function C(t) {
22
+ return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !J(t);
22
23
  }
23
24
  const y = {
24
25
  none: "none",
25
26
  asc: "ascending",
26
27
  desc: "descending"
27
- }, ie = {
28
+ }, fe = {
28
29
  true: {
29
30
  asc: "desc",
30
31
  desc: "",
@@ -35,11 +36,12 @@ const y = {
35
36
  desc: "asc",
36
37
  "": "asc"
37
38
  }
38
- }, Se = /* @__PURE__ */ q({
39
+ }, we = /* @__PURE__ */ W({
39
40
  name: "KendoHeaderRow",
40
41
  props: {
41
42
  grid: Object,
42
43
  cellRender: [String, Function, Object],
44
+ cells: Object,
43
45
  groupable: [Boolean, Object],
44
46
  reorderable: Boolean,
45
47
  sortable: [Boolean, Object],
@@ -79,7 +81,7 @@ const y = {
79
81
  },
80
82
  inject: {
81
83
  onNavFocus: {
82
- default: X
84
+ default: le
83
85
  },
84
86
  kendoLocalizationService: {
85
87
  default: null
@@ -107,12 +109,12 @@ const y = {
107
109
  this.$emit("selectionchange", t);
108
110
  },
109
111
  cellClick(t, l) {
110
- if (t.preventDefault(), !ee.call(this, "sortChange"))
112
+ if (t.preventDefault(), !oe.call(this, "sortChange"))
111
113
  return;
112
114
  const {
113
115
  allowUnsort: h,
114
116
  mode: f
115
- } = G(this.$props.sortable || !1, l.sortable || !1), s = (this.$props.sort || []).filter((o) => o.field === l.field)[0], a = ie[h][s && s.dir || ""], c = f === "single" ? [] : (this.$props.sort || []).filter((o) => o.field !== l.field);
117
+ } = X(this.$props.sortable || !1, l.sortable || !1), s = (this.$props.sort || []).filter((o) => o.field === l.field)[0], a = fe[h][s && s.dir || ""], c = f === "single" ? [] : (this.$props.sort || []).filter((o) => o.field !== l.field);
116
118
  a !== "" && l.field && c.push({
117
119
  field: l.field,
118
120
  dir: a
@@ -133,12 +135,12 @@ const y = {
133
135
  return this.$props.sort && this.$props.sort.filter((a) => a.field === t).length > 0 && (s += " k-sorted"), s;
134
136
  },
135
137
  cellKeyDown(t, l) {
136
- t.defaultPrevented || (t.keyCode === O.enter && this.cellClick(t, l), t.altKey && t.keyCode === O.down && l.field && (t.preventDefault(), this.columnMenuOpened = {
138
+ t.defaultPrevented || (t.keyCode === w.enter && this.cellClick(t, l), t.altKey && t.keyCode === w.down && l.field && (t.preventDefault(), this.columnMenuOpened = {
137
139
  [l.field]: !0
138
140
  }));
139
141
  },
140
142
  getTemplate(t) {
141
- return Y.call(this.$props.grid, t, Z.call(this.$props.grid));
143
+ return ne.call(this.$props.grid, t, re.call(this.$props.grid));
142
144
  },
143
145
  columnMenuClose() {
144
146
  this.onNavFocus({}), this.columnMenuOpened = {};
@@ -155,139 +157,146 @@ const y = {
155
157
  }
156
158
  },
157
159
  render() {
158
- const t = ne(this), l = t.toLanguageString(I, S[I]), h = t.toLanguageString(z, S[z]), f = t.toLanguageString(L, S[L]);
160
+ const t = de(this), l = t.toLanguageString(A, H[A]), h = t.toLanguageString(D, H[D]), f = t.toLanguageString(j, H[j]);
159
161
  this.serviceIndex = 0, this.index = -1;
160
162
  const s = this.$props.columnVirtualization, a = function(c, o) {
161
- const i = se({
163
+ const i = he({
162
164
  cellsToRender: this.$props.cellsToRender || [],
163
165
  columns: this.$props.columns,
164
166
  rowIndex: o,
165
167
  enableVirtualization: s,
166
168
  columnsMap: this.$props.columnsMap
167
- }), R = s;
168
- let C = R && i.columnsToRender ? i.columnsToRender : c;
169
- const A = R ? i.colSpans : [];
170
- return !C || C.length === 0 ? [] : C.map(function(w, D) {
171
- var M;
172
- const e = this.$props.columns[w], m = this.$props.sortable && e.sortable, $ = this.$props.sort ? this.$props.sort.findIndex((r) => r.field === e.field) : -1, k = $ >= 0 && this.$props.sort[$].dir || "none", p = function(r) {
169
+ }), M = s;
170
+ let $ = M && i.columnsToRender ? i.columnsToRender : c;
171
+ const F = M ? i.colSpans : [];
172
+ return !$ || $.length === 0 ? [] : $.map(function(V, v) {
173
+ var I, z, L;
174
+ const e = this.$props.columns[V], m = this.$props.sortable && e.sortable, S = this.$props.sort ? this.$props.sort.findIndex((n) => n.field === e.field) : -1, k = S >= 0 && this.$props.sort[S].dir || "none", p = function(n) {
173
175
  if (!this.$props.sort)
174
176
  return null;
175
- const g = r >= 0 ? this.$props.sort[r].dir : "";
176
- return r >= 0 && [n("span", {
177
+ const b = n >= 0 ? this.$props.sort[n].dir : "";
178
+ return n >= 0 && [r("span", {
177
179
  key: 1,
178
180
  class: "k-sort-icon"
179
- }, [n(te, {
180
- name: "sort-" + g + "-small",
181
- icon: g === "asc" ? re : oe
182
- }, null)]), this.$props.sort.length > 1 && n("span", {
181
+ }, [r(ie, {
182
+ name: "sort-" + b + "-small",
183
+ icon: b === "asc" ? pe : ue
184
+ }, null)]), this.$props.sort.length > 1 && r("span", {
183
185
  key: 2,
184
186
  class: "k-sort-icon"
185
- }, [n("span", {
187
+ }, [r("span", {
186
188
  class: "k-sort-order"
187
- }, [r + 1])])];
188
- }.call(this, $), d = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, j = e.menuIcon || this.$props.columnMenuIcon, F = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (d ? " k-filterable" : ""), V = !d || typeof d == "boolean" ? !!d : this.getTemplate(d), x = i.skipOffset ? {
189
+ }, [n + 1])])];
190
+ }.call(this, S), d = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, x = e.menuIcon || this.$props.columnMenuIcon, T = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (d ? " k-filterable" : ""), B = !d || typeof d == "boolean" ? !!d : this.getTemplate(d), K = i.skipOffset ? {
189
191
  borderLeftWidth: "1px"
190
- } : void 0, v = e.locked && e.left !== void 0 ? this.$props.isRtl ? {
192
+ } : void 0, P = e.locked && (e.left !== void 0 || e.right !== void 0) ? this.$props.isRtl ? {
191
193
  left: e.right + "px",
192
194
  right: e.left + "px"
193
195
  } : {
194
196
  left: e.left + "px",
195
197
  right: e.right + "px"
196
- } : x, T = y[k] === "none" ? l : y[k] === "ascending" ? h : f;
198
+ } : K, N = y[k] === "none" ? l : y[k] === "ascending" ? h : f;
197
199
  let u = e.isAccessible ? {
198
200
  ariaSort: y[k],
199
- ariaLabel: T,
201
+ ariaLabel: N,
200
202
  role: "columnheader",
201
- ariaColumnIndex: this.$props.isColCountDefined ? this.$props.columnsInitial.findIndex((r) => r.field === e.field) + 1 : void 0,
203
+ ariaColumnIndex: this.$props.isColCountDefined ? this.$props.columnsInitial.findIndex((n) => n.field === e.field) + 1 : void 0,
202
204
  ariaSelected: !1,
203
205
  ariaHaspopup: d ? "menu" : this.$props.filterable && e.filterable ? "dialog" : void 0
204
206
  } : {
205
207
  role: "columnheader"
206
208
  };
207
- const B = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, K = e.columnMenuOpened !== void 0 ? e.columnMenuOpened : this.columnMenuOpened[e.field], N = (M = A[D]) != null ? M : e.headerColSpan;
208
- return n(le, {
209
+ const _ = e.declarationIndex >= 0 ? ++this.index : --this.serviceIndex, q = e.columnMenuOpened !== void 0 ? e.columnMenuOpened : this.columnMenuOpened[e.field], E = (I = F[v]) != null ? I : e.headerColSpan, R = ce(this.$props.cells, e.cells), O = {
209
210
  ariaSort: m ? u.ariaSort : void 0,
210
211
  ariaLabel: m ? u.ariaLabel : void 0,
211
212
  role: u.role,
212
213
  ariaColumnIndex: u.ariaColumnIndex,
213
214
  ariaSelected: u.ariaSelected,
214
215
  ariaHaspopup: u.ariaHaspopup,
215
- key: B,
216
- colSpan: N,
216
+ key: _,
217
+ colSpan: E,
217
218
  rowSpan: e.rowSpan,
218
- class: F,
219
- style: v,
219
+ class: T,
220
+ style: P,
220
221
  columnId: e.id,
221
222
  navigatable: e.navigatable,
222
- onKeydown: (r) => this.cellKeyDown(r, e)
223
- }, {
224
- default: () => {
225
- var r, g;
226
- return [[e.children.length === 0 && d && n(Q, {
227
- key: 0,
228
- column: {
229
- field: e.field,
230
- filter: e.filter
231
- },
232
- opened: K,
233
- animate: this.$props.columnMenuAnimate,
234
- sortable: m,
235
- sort: this.$props.sort,
236
- onClose: this.columnMenuClose,
237
- onSortchange: this.sortChangeHandler,
238
- filter: this.$props.filter,
239
- filterable: this.$props.filterable && e.filterable,
240
- filterOperators: this.$props.filterOperators,
241
- onFilterchange: this.filterChangeHandler,
242
- render: V,
243
- columnMenuIcon: j
244
- }, null), e.internalHeaderCell && n("span", {
245
- class: "k-cell-inner"
246
- }, [n(e.internalHeaderCell, {
247
- key: 1,
248
- field: e.field,
249
- sortable: m,
250
- onHeadercellclick: (b) => this.cellClick(b, e),
251
- onSelectionchange: this.selectionChangeHandler,
252
- selectionValue: (r = e.headerSelectionValue) != null ? r : this.$props.headerSelectionValue,
253
- title: e.title,
254
- render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
255
- }, H(p) ? p : {
256
- default: () => [p]
257
- })]) || n("span", {
258
- class: "k-cell-inner"
259
- }, [n(J, {
260
- key: 1,
261
- field: e.field,
262
- sortable: m,
263
- onHeadercellclick: (b) => this.cellClick(b, e),
264
- selectionValue: (g = e.headerSelectionValue) != null ? g : this.$props.headerSelectionValue,
265
- title: e.title,
266
- render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
267
- }, H(p) ? p : {
268
- default: () => [p]
269
- })]), this.$props.columnResize && this.$props.columnResize.resizable && e.resizable && n(U, {
270
- key: 2,
271
- onResize: (b, _, P) => this.$props.columnResize && this.$props.columnResize.dragHandler(b, e, _, P)
272
- }, null)]];
273
- }
223
+ onKeydown: (n) => this.cellKeyDown(n, e)
224
+ }, g = [e.children.length === 0 && d && r(te, {
225
+ key: 0,
226
+ column: {
227
+ field: e.field,
228
+ filter: e.filter
229
+ },
230
+ opened: q,
231
+ animate: this.$props.columnMenuAnimate,
232
+ sortable: m,
233
+ sort: this.$props.sort,
234
+ onClose: this.columnMenuClose,
235
+ onSortchange: this.sortChangeHandler,
236
+ filter: this.$props.filter,
237
+ filterable: this.$props.filterable && e.filterable,
238
+ filterOperators: this.$props.filterOperators,
239
+ onFilterchange: this.filterChangeHandler,
240
+ render: B,
241
+ columnMenuIcon: x
242
+ }, null), e.defaultHeaderCell && r("span", {
243
+ class: "k-cell-inner"
244
+ }, [r(e.defaultHeaderCell, {
245
+ key: 1,
246
+ field: e.field,
247
+ sortable: m,
248
+ onHeadercellclick: (n) => this.cellClick(n, e),
249
+ onSelectionchange: this.selectionChangeHandler,
250
+ selectionValue: (z = e.headerSelectionValue) != null ? z : this.$props.headerSelectionValue,
251
+ title: e.title,
252
+ render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
253
+ }, C(p) ? p : {
254
+ default: () => [p]
255
+ })]) || r("span", {
256
+ class: "k-cell-inner"
257
+ }, [r(ee, {
258
+ key: 1,
259
+ field: e.field,
260
+ sortable: m,
261
+ onHeadercellclick: (n) => this.cellClick(n, e),
262
+ selectionValue: (L = e.headerSelectionValue) != null ? L : this.$props.headerSelectionValue,
263
+ title: e.title,
264
+ render: (e.headerCell || this.$props.cellRender) && this.getTemplate(e.headerCell || this.$props.cellRender)
265
+ }, C(p) ? p : {
266
+ default: () => [p]
267
+ })]), this.$props.columnResize && this.$props.columnResize.resizable && e.resizable && r(Y, {
268
+ key: 2,
269
+ onResize: (n, b, U) => this.$props.columnResize && this.$props.columnResize.dragHandler(n, e, b, U)
270
+ }, null)], G = r(ae, O, C(g) ? g : {
271
+ default: () => [g]
272
+ });
273
+ return se.call(this, {
274
+ h: Q,
275
+ template: R == null ? void 0 : R.headerCell,
276
+ defaultRendering: G,
277
+ additionalProps: {
278
+ field: e.field,
279
+ thProps: O
280
+ },
281
+ defaultSlots: g,
282
+ swapDefaultSlots: !0
274
283
  });
275
284
  }, this);
276
285
  };
277
- return n("thead", {
286
+ return r("thead", {
278
287
  role: "rowgroup",
279
288
  class: this.theadClasses,
280
289
  "data-keyboardnavheader": !0
281
290
  }, [this.$props.columnsMap.map(function(c, o) {
282
291
  let i;
283
- return (this.$props.groupable || this.$props.reorderable) && n(W, {
292
+ return (this.$props.groupable || this.$props.reorderable) && r(Z, {
284
293
  key: o,
285
294
  onPressHandler: this.pressHandler,
286
295
  onDragHandler: this.dragHandler,
287
296
  onReleaseHandler: this.releaseHandler
288
- }, H(i = a.call(this, c, o)) ? i : {
297
+ }, C(i = a.call(this, c, o)) ? i : {
289
298
  default: () => [i]
290
- }) || n("tr", {
299
+ }) || r("tr", {
291
300
  class: "k-table-row",
292
301
  role: "row",
293
302
  "aria-rowindex": o + 1
@@ -296,5 +305,5 @@ const y = {
296
305
  }
297
306
  });
298
307
  export {
299
- Se as HeaderRow
308
+ we as HeaderRow
300
309
  };
package/index.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 i=require("./RootGrid.js"),o=require("./columnMenu/GridColumnMenuSort.js"),t=require("./columnMenu/GridColumnMenuFilter.js"),l=require("./columnMenu/GridColumnMenuFilterUI.js"),u=require("./columnMenu/GridColumnMenuFilterCell.js"),n=require("./columnMenu/GridColumnMenuCheckboxFilter.js"),d=require("./cells/GridCell.js"),a=require("./cells/GridEditCell.js"),G=require("./cells/GridGroupCell.js"),C=require("./cells/GridHierarchyCell.js"),s=require("./cells/GridFilterCell.js"),m=require("./header/GridHeaderCell.js"),c=require("./footer/Footer.js"),p=require("./footer/FooterRow.js"),F=require("./rows/GridDetailRow.js"),M=require("./rows/GridRow.js"),q=require("./GridToolbar.js"),g=require("./components/noRecords/GridNoRecords.js");require("@progress/kendo-vue-data-tools");const S=require("./columnMenu/GridColumnMenuItem.js"),R=require("./columnMenu/GridColumnMenuItemContent.js"),f=require("./columnMenu/GridColumnMenuItemGroup.js"),h=require("./GridSearchBox.js"),e=require("./utils/main.js"),r=require("./StatusBar.js");exports.Grid=i.RootGrid;exports.GridColumnMenuSort=o.GridColumnMenuSort;exports.sortGroupByField=o.sortGroupByField;exports.GridColumnMenuFilter=t.GridColumnMenuFilter;exports.filterGroupByField=t.filterGroupByField;exports.GridColumnMenuFilterUI=l.GridColumnMenuFilterUI;exports.GridColumnMenuFilterCell=u.GridColumnMenuFilterCell;exports.GridColumnMenuCheckboxFilter=n.GridColumnMenuCheckboxFilter;exports.GridCell=d.GridCell;exports.GridEditCell=a.GridEditCell;exports.GridGroupCell=G.GridGroupCell;exports.GridHierarchyCell=C.GridHierarchyCell;exports.GridFilterCell=s.GridFilterCell;exports.GridHeaderCell=m.GridHeaderCell;exports.Footer=c.Footer;exports.FooterRow=p.FooterRow;exports.GridDetailRow=F.GridDetailRow;exports.GridRow=M.GridRow;exports.GridToolbar=q.GridToolbar;exports.GridNoRecords=g.GridNoRecords;exports.GridColumnMenuItem=S.GridColumnMenuItem;exports.GridColumnMenuItemContent=R.GridColumnMenuItemContent;exports.GridColumnMenuItemGroup=f.GridColumnMenuItemGroup;exports.GridSearchBox=h.GridSearchBox;exports.applyExpandedState=e.applyExpandedState;exports.autoGenerateColumns=e.autoGenerateColumns;exports.calcRowHeight=e.calcRowHeight;exports.checkPropCompatibility=e.checkPropCompatibility;exports.firefox=e.firefox;exports.firefoxMaxHeight=e.firefoxMaxHeight;exports.flatData=e.flatData;exports.footerColumns=e.footerColumns;exports.getColSpan=e.getColSpan;exports.getColumnWidth=e.getColumnWidth;exports.getDataAsArray=e.getDataAsArray;exports.getFlatColumnsState=e.getFlatColumnsState;exports.getIndex=e.getIndex;exports.getNestedValue=e.getNestedValue;exports.getRowSpanOptions=e.getRowSpanOptions;exports.groupedFirstItemValue=e.groupedFirstItemValue;exports.isRtl=e.isRtl;exports.isSorted=e.isSorted;exports.mapColumns=e.mapColumns;exports.parsers=e.parsers;exports.readColumns=e.readColumns;exports.sanitizeColumns=e.sanitizeColumns;exports.StatusBar=r.StatusBar;exports.getStatusData=r.getStatusData;exports.leafColumns=r.leafColumns;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./RootGrid.js"),o=require("./columnMenu/GridColumnMenuSort.js"),t=require("./columnMenu/GridColumnMenuFilter.js"),l=require("./columnMenu/GridColumnMenuFilterUI.js"),u=require("./columnMenu/GridColumnMenuFilterCell.js"),n=require("./columnMenu/GridColumnMenuCheckboxFilter.js"),d=require("./cells/GridCell.js"),a=require("./cells/GridEditCell.js"),C=require("./cells/GridGroupCell.js"),s=require("./cells/GridHierarchyCell.js"),G=require("./cells/GridFilterCell.js"),m=require("./header/GridHeaderCell.js"),c=require("./footer/Footer.js"),p=require("./footer/FooterRow.js"),F=require("./rows/GridDetailRow.js"),M=require("./rows/GridRow.js"),q=require("./GridToolbar.js"),g=require("./components/noRecords/GridNoRecords.js");require("@progress/kendo-vue-data-tools");const S=require("./columnMenu/GridColumnMenuItem.js"),R=require("./columnMenu/GridColumnMenuItemContent.js"),f=require("./columnMenu/GridColumnMenuItemGroup.js"),h=require("./GridSearchBox.js"),e=require("./utils/main.js"),r=require("./StatusBar.js");exports.Grid=i.RootGrid;exports.GridColumnMenuSort=o.GridColumnMenuSort;exports.sortGroupByField=o.sortGroupByField;exports.GridColumnMenuFilter=t.GridColumnMenuFilter;exports.filterGroupByField=t.filterGroupByField;exports.GridColumnMenuFilterUI=l.GridColumnMenuFilterUI;exports.GridColumnMenuFilterCell=u.GridColumnMenuFilterCell;exports.GridColumnMenuCheckboxFilter=n.GridColumnMenuCheckboxFilter;exports.GridCell=d.GridCell;exports.GridEditCell=a.GridEditCell;exports.GridGroupCell=C.GridGroupCell;exports.GridHierarchyCell=s.GridHierarchyCell;exports.GridFilterCell=G.GridFilterCell;exports.GridHeaderCell=m.GridHeaderCell;exports.Footer=c.Footer;exports.FooterRow=p.FooterRow;exports.GridDetailRow=F.GridDetailRow;exports.GridRow=M.GridRow;exports.GridToolbar=q.GridToolbar;exports.GridNoRecords=g.GridNoRecords;exports.GridColumnMenuItem=S.GridColumnMenuItem;exports.GridColumnMenuItemContent=R.GridColumnMenuItemContent;exports.GridColumnMenuItemGroup=f.GridColumnMenuItemGroup;exports.GridSearchBox=h.GridSearchBox;exports.applyExpandedState=e.applyExpandedState;exports.autoGenerateColumns=e.autoGenerateColumns;exports.calcRowHeight=e.calcRowHeight;exports.checkPropCompatibility=e.checkPropCompatibility;exports.firefox=e.firefox;exports.firefoxMaxHeight=e.firefoxMaxHeight;exports.flatData=e.flatData;exports.footerColumns=e.footerColumns;exports.getColSpan=e.getColSpan;exports.getColumnWidth=e.getColumnWidth;exports.getDataAsArray=e.getDataAsArray;exports.getFlatColumnsState=e.getFlatColumnsState;exports.getIndex=e.getIndex;exports.getNestedValue=e.getNestedValue;exports.getRowSpanOptions=e.getRowSpanOptions;exports.groupedFirstItemValue=e.groupedFirstItemValue;exports.isRtl=e.isRtl;exports.isSorted=e.isSorted;exports.mapColumns=e.mapColumns;exports.parsers=e.parsers;exports.readColumns=e.readColumns;exports.resolveCells=e.resolveCells;exports.sanitizeColumns=e.sanitizeColumns;exports.StatusBar=r.StatusBar;exports.getStatusData=r.getStatusData;exports.leafColumns=r.leafColumns;
package/index.mjs CHANGED
@@ -21,15 +21,15 @@ import { Footer as H } from "./footer/Footer.mjs";
21
21
  import { FooterRow as k } from "./footer/FooterRow.mjs";
22
22
  import { GridDetailRow as E } from "./rows/GridDetailRow.mjs";
23
23
  import { GridRow as V } from "./rows/GridRow.mjs";
24
- import { GridToolbar as O } from "./GridToolbar.mjs";
25
- import { GridNoRecords as T } from "./components/noRecords/GridNoRecords.mjs";
24
+ import { GridToolbar as z } from "./GridToolbar.mjs";
25
+ import { GridNoRecords as P } from "./components/noRecords/GridNoRecords.mjs";
26
26
  import "@progress/kendo-vue-data-tools";
27
- import { GridColumnMenuItem as W } from "./columnMenu/GridColumnMenuItem.mjs";
28
- import { GridColumnMenuItemContent as q } from "./columnMenu/GridColumnMenuItemContent.mjs";
27
+ import { GridColumnMenuItem as U } from "./columnMenu/GridColumnMenuItem.mjs";
28
+ import { GridColumnMenuItemContent as j } from "./columnMenu/GridColumnMenuItemContent.mjs";
29
29
  import { GridColumnMenuItemGroup as J } from "./columnMenu/GridColumnMenuItemGroup.mjs";
30
30
  import { GridSearchBox as L } from "./GridSearchBox.mjs";
31
- import { applyExpandedState as X, autoGenerateColumns as Y, calcRowHeight as Z, checkPropCompatibility as _, firefox as $, firefoxMaxHeight as rr, flatData as or, footerColumns as er, getColSpan as tr, getColumnWidth as lr, getDataAsArray as ir, getFlatColumnsState as mr, getIndex as pr, getNestedValue as ar, getRowSpanOptions as dr, groupedFirstItemValue as ur, isRtl as nr, isSorted as fr, mapColumns as xr, parsers as Cr, readColumns as Gr, sanitizeColumns as sr } from "./utils/main.mjs";
32
- import { StatusBar as Fr, getStatusData as Mr, leafColumns as Sr } from "./StatusBar.mjs";
31
+ import { applyExpandedState as X, autoGenerateColumns as Y, calcRowHeight as Z, checkPropCompatibility as _, firefox as $, firefoxMaxHeight as rr, flatData as or, footerColumns as er, getColSpan as tr, getColumnWidth as lr, getDataAsArray as ir, getFlatColumnsState as mr, getIndex as pr, getNestedValue as ar, getRowSpanOptions as dr, groupedFirstItemValue as ur, isRtl as nr, isSorted as fr, mapColumns as xr, parsers as Cr, readColumns as Gr, resolveCells as sr, sanitizeColumns as gr } from "./utils/main.mjs";
32
+ import { StatusBar as Mr, getStatusData as Sr, leafColumns as cr } from "./StatusBar.mjs";
33
33
  export {
34
34
  H as Footer,
35
35
  k as FooterRow,
@@ -39,8 +39,8 @@ export {
39
39
  a as GridColumnMenuFilter,
40
40
  x as GridColumnMenuFilterCell,
41
41
  n as GridColumnMenuFilterUI,
42
- W as GridColumnMenuItem,
43
- q as GridColumnMenuItemContent,
42
+ U as GridColumnMenuItem,
43
+ j as GridColumnMenuItemContent,
44
44
  J as GridColumnMenuItemGroup,
45
45
  i as GridColumnMenuSort,
46
46
  E as GridDetailRow,
@@ -49,11 +49,11 @@ export {
49
49
  c as GridGroupCell,
50
50
  B as GridHeaderCell,
51
51
  h as GridHierarchyCell,
52
- T as GridNoRecords,
52
+ P as GridNoRecords,
53
53
  V as GridRow,
54
54
  L as GridSearchBox,
55
- O as GridToolbar,
56
- Fr as StatusBar,
55
+ z as GridToolbar,
56
+ Mr as StatusBar,
57
57
  X as applyExpandedState,
58
58
  Y as autoGenerateColumns,
59
59
  Z as calcRowHeight,
@@ -70,14 +70,15 @@ export {
70
70
  pr as getIndex,
71
71
  ar as getNestedValue,
72
72
  dr as getRowSpanOptions,
73
- Mr as getStatusData,
73
+ Sr as getStatusData,
74
74
  ur as groupedFirstItemValue,
75
75
  nr as isRtl,
76
76
  fr as isSorted,
77
- Sr as leafColumns,
77
+ cr as leafColumns,
78
78
  xr as mapColumns,
79
79
  Cr as parsers,
80
80
  Gr as readColumns,
81
- sr as sanitizeColumns,
81
+ sr as resolveCells,
82
+ gr as sanitizeColumns,
82
83
  m as sortGroupByField
83
84
  };
@@ -10,4 +10,4 @@
10
10
  *
11
11
  * @default "data"
12
12
  */
13
- export type GridColumnType = 'data' | 'reorder' | 'checkbox';
13
+ export type GridColumnType = 'data' | 'reorder' | 'checkbox' | 'pin';
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { GroupState } from '@progress/kendo-vue-data-tools';
9
9
  import { GridColumnType } from './ColumnType';
10
+ import { GridCellsSettings } from './GridCellsSettings';
10
11
  /**
11
12
  * @hidden
12
13
  */
@@ -51,6 +52,10 @@ export interface GridCellProps {
51
52
  * The custom CSS classes of the cells.
52
53
  */
53
54
  className?: string;
55
+ /**
56
+ * Defines a set of custom cell components that the Grid will render instead of the default cell.
57
+ */
58
+ cells?: GridCellsSettings;
54
59
  /**
55
60
  * The index to be applied to the `aria-colindex` attribute.
56
61
  */
@@ -271,6 +271,29 @@ export interface GridCellsSettings {
271
271
  */
272
272
  groupFooter?: Component<GridCustomCellProps> | string;
273
273
  };
274
+ /**
275
+ * Custom cell components for pin columns.
276
+ *
277
+ * @example
278
+ * ```tsx
279
+ * import { MyPinDataCell } from './MyPinDataCell';
280
+ * <Grid cells={{ pin: { data: MyPinDataCell } }} />
281
+ * ```
282
+ */
283
+ pin?: {
284
+ /**
285
+ * Custom component for rendering the group header cell in pin columns.
286
+ */
287
+ groupHeader?: Component<GridCustomCellProps> | string;
288
+ /**
289
+ * Custom component for rendering the data cell in pin columns.
290
+ */
291
+ data?: Component<GridCustomCellProps> | string;
292
+ /**
293
+ * Custom component for rendering the group footer cell in pin columns.
294
+ */
295
+ groupFooter?: Component<GridCustomCellProps> | string;
296
+ };
274
297
  /**
275
298
  * Custom cell components for edit columns.
276
299
  *
@@ -49,11 +49,11 @@ export interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> {
49
49
  /**
50
50
  * @hidden
51
51
  */
52
- internalCell?: any;
52
+ defaultCell?: any;
53
53
  /**
54
54
  * @hidden
55
55
  */
56
- internalHeaderCell?: any;
56
+ defaultHeaderCell?: any;
57
57
  /**
58
58
  * Defines the custom rendering of the filter cell. Accepts a Vue component, a `render` function, or a slot name.
59
59
  * If not set, a `GridFilterCell` will be rendered by default.