@progress/kendo-vue-grid 3.7.4-dev.202211280833 → 3.7.4-dev.202212020747

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 (44) hide show
  1. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  2. package/dist/es/Grid.js +47 -12
  3. package/dist/es/GridToolbar.d.ts +13 -1
  4. package/dist/es/GridToolbar.js +21 -2
  5. package/dist/es/cells/GridFilterCell.js +4 -2
  6. package/dist/es/footer/Footer.d.ts +1 -0
  7. package/dist/es/footer/Footer.js +12 -2
  8. package/dist/es/header/FilterRow.js +3 -2
  9. package/dist/es/header/Header.d.ts +1 -0
  10. package/dist/es/header/Header.js +11 -1
  11. package/dist/es/header/HeaderRow.js +6 -2
  12. package/dist/es/interfaces/GridColumnProps.d.ts +3 -3
  13. package/dist/es/interfaces/GridProps.d.ts +10 -0
  14. package/dist/es/interfaces/GridToolbarProps.d.ts +8 -2
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/esm/Grid.js +47 -12
  17. package/dist/esm/GridToolbar.d.ts +13 -1
  18. package/dist/esm/GridToolbar.js +21 -2
  19. package/dist/esm/cells/GridFilterCell.js +4 -2
  20. package/dist/esm/footer/Footer.d.ts +1 -0
  21. package/dist/esm/footer/Footer.js +12 -2
  22. package/dist/esm/header/FilterRow.js +3 -2
  23. package/dist/esm/header/Header.d.ts +1 -0
  24. package/dist/esm/header/Header.js +11 -1
  25. package/dist/esm/header/HeaderRow.js +6 -2
  26. package/dist/esm/interfaces/GridColumnProps.d.ts +3 -3
  27. package/dist/esm/interfaces/GridProps.d.ts +10 -0
  28. package/dist/esm/interfaces/GridToolbarProps.d.ts +8 -2
  29. package/dist/esm/package-metadata.js +1 -1
  30. package/dist/npm/Grid.js +46 -11
  31. package/dist/npm/GridToolbar.d.ts +13 -1
  32. package/dist/npm/GridToolbar.js +20 -1
  33. package/dist/npm/cells/GridFilterCell.js +4 -2
  34. package/dist/npm/footer/Footer.d.ts +1 -0
  35. package/dist/npm/footer/Footer.js +11 -1
  36. package/dist/npm/header/FilterRow.js +3 -2
  37. package/dist/npm/header/Header.d.ts +1 -0
  38. package/dist/npm/header/Header.js +10 -0
  39. package/dist/npm/header/HeaderRow.js +6 -2
  40. package/dist/npm/interfaces/GridColumnProps.d.ts +3 -3
  41. package/dist/npm/interfaces/GridProps.d.ts +10 -0
  42. package/dist/npm/interfaces/GridToolbarProps.d.ts +8 -2
  43. package/dist/npm/package-metadata.js +1 -1
  44. package/package.json +15 -15
package/dist/es/Grid.js CHANGED
@@ -36,7 +36,7 @@ var gh = allVue.h;
36
36
  var isV3 = allVue.version && allVue.version[0] === '3';
37
37
  var ref = allVue.ref;
38
38
  var markRaw = allVue.markRaw;
39
- import { templateRendering, hasListener, getListeners, getDefaultSlots, guid, getter, isRtl, validatePackage, getTemplate, canUseDOM, templateDefinition, isObject, setRef, getRef } from '@progress/kendo-vue-common';
39
+ import { templateRendering, hasListener, getListeners, getDefaultSlots, guid, getter, isRtl, validatePackage, getTemplate, canUseDOM, templateDefinition, isObject, setRef, getRef, kendoThemeMaps } from '@progress/kendo-vue-common';
40
40
  import { tableColumnsVirtualization, Pager, normalize, tableKeyboardNavigationTools as navigationTools, TableKeyboardNavigationProvider } from '@progress/kendo-vue-data-tools';
41
41
  import { Loader } from '@progress/kendo-vue-indicators';
42
42
  import { GridNav } from './GridNav';
@@ -117,6 +117,13 @@ var GridVue2 = {
117
117
  type: String,
118
118
  default: 'scrollable'
119
119
  },
120
+ size: {
121
+ type: String,
122
+ default: 'medium',
123
+ validator: function validator(value) {
124
+ return ['small', 'medium'].includes(value);
125
+ }
126
+ },
120
127
  pager: templateDefinition,
121
128
  rowHeight: Number,
122
129
  detail: templateDefinition,
@@ -188,6 +195,29 @@ var GridVue2 = {
188
195
  this.gridUnmounted();
189
196
  },
190
197
  computed: {
198
+ nonscrollableWrapperClass: function nonscrollableWrapperClass() {
199
+ var _a;
200
+ var size = this.$props.size;
201
+ return _a = {
202
+ 'k-grid': true,
203
+ 'k-grid-md': !size
204
+ }, _a["k-grid-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
205
+ },
206
+ scrollableWrapperClass: function scrollableWrapperClass() {
207
+ var scrollable = this.$props.scrollable;
208
+ return __assign(__assign({}, this.nonscrollableWrapperClass), {
209
+ 'k-grid-virtual': scrollable === 'virtual'
210
+ });
211
+ },
212
+ gridTableClass: function gridTableClass() {
213
+ var _a;
214
+ var size = this.$props.size;
215
+ return _a = {
216
+ 'k-table': true,
217
+ 'k-grid-table': true,
218
+ 'k-grid-md': !size
219
+ }, _a["k-table-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
220
+ },
191
221
  getCorrectHeight: {
192
222
  get: function get() {
193
223
  if (this.$props.scrollable === 'virtual') {
@@ -721,7 +751,7 @@ var GridVue2 = {
721
751
  if (item.expanded !== false && item.items) {
722
752
  allRowsCount = _this.addSubItems(item.items, allRowsCount);
723
753
  }
724
- if (_this.$props.groupable.footer === 'always' || item.expanded !== false && _this.$props.groupable.footer === 'visible') {
754
+ if (_this.group && _this.group.length && (_this.$props.groupable.footer === 'always' || item.expanded !== false && _this.$props.groupable.footer === 'visible')) {
725
755
  allRowsCount++;
726
756
  }
727
757
  });
@@ -845,8 +875,9 @@ var GridVue2 = {
845
875
  })];
846
876
  // @ts-ignore
847
877
  var header = h(Header, {
848
- columnResize: this.columnResize,
878
+ size: this.$props.size,
849
879
  attrs: this.v3 ? undefined : {
880
+ size: this.$props.size,
850
881
  columnResize: this.columnResize,
851
882
  staticHeaders: this.$props.scrollable !== 'none',
852
883
  // @ts-ignore
@@ -958,6 +989,7 @@ var GridVue2 = {
958
989
  });
959
990
  }, this)
960
991
  },
992
+ columnResize: this.columnResize,
961
993
  staticHeaders: this.$props.scrollable !== 'none',
962
994
  ref: this.v3 ? function (el) {
963
995
  _this.headerRef = el;
@@ -1073,8 +1105,9 @@ var GridVue2 = {
1073
1105
  }) ?
1074
1106
  // @ts-ignore
1075
1107
  h(Footer, {
1076
- columnResize: this.columnResize,
1108
+ size: this.$props.size,
1077
1109
  attrs: this.v3 ? undefined : {
1110
+ size: this.$props.size,
1078
1111
  columnResize: this.columnResize,
1079
1112
  staticHeaders: this.$props.scrollable !== 'none',
1080
1113
  row:
@@ -1105,6 +1138,7 @@ var GridVue2 = {
1105
1138
  });
1106
1139
  }, this)
1107
1140
  },
1141
+ columnResize: this.columnResize,
1108
1142
  staticHeaders: this.$props.scrollable !== 'none',
1109
1143
  ref: this.v3 ? function (el) {
1110
1144
  _this.footerRef = el;
@@ -1542,6 +1576,7 @@ var GridVue2 = {
1542
1576
  var _this = this;
1543
1577
  if (item.rowType === 'data') {
1544
1578
  absoluteDataIndex++;
1579
+ dataIndex++;
1545
1580
  }
1546
1581
  if (this.$props.alternatePerGroup && item.rowType === 'groupHeader') {
1547
1582
  absoluteDataIndex = 0;
@@ -1768,7 +1803,7 @@ var GridVue2 = {
1768
1803
  },
1769
1804
  style: wrapperStyle,
1770
1805
  role: "grid",
1771
- "class": "k-widget k-grid"
1806
+ "class": _this3.nonscrollableWrapperClass
1772
1807
  }, _this3.v3 ? function () {
1773
1808
  return [toolbar, groupingPanel, h("table", {
1774
1809
  style: {
@@ -1801,7 +1836,7 @@ var GridVue2 = {
1801
1836
  },
1802
1837
  style: wrapperStyle,
1803
1838
  role: "grid",
1804
- "class": "k-widget k-grid"
1839
+ "class": _this3.nonscrollableWrapperClass
1805
1840
  }, _this3.v3 ? function () {
1806
1841
  return [toolbar, groupingPanel, h("table", {
1807
1842
  style: {
@@ -1849,7 +1884,7 @@ var GridVue2 = {
1849
1884
  },
1850
1885
  style: wrapperStyle,
1851
1886
  role: "grid",
1852
- "class": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')
1887
+ "class": _this3.scrollableWrapperClass
1853
1888
  }, _this3.v3 ? function () {
1854
1889
  return [toolbar, groupingPanel, header, h("div", {
1855
1890
  "class": "k-grid-container",
@@ -1879,7 +1914,7 @@ var GridVue2 = {
1879
1914
  tabindex: -1
1880
1915
  },
1881
1916
  tabindex: -1,
1882
- "class": 'k-grid-table',
1917
+ "class": _this3.gridTableClass,
1883
1918
  ref: setRef(_this3, 'scrollTable')
1884
1919
  }, [colGroups, h("tbody", {
1885
1920
  role: "presentation",
@@ -1928,7 +1963,7 @@ var GridVue2 = {
1928
1963
  tabindex: -1
1929
1964
  },
1930
1965
  tabindex: -1,
1931
- "class": 'k-grid-table',
1966
+ "class": _this3.gridTableClass,
1932
1967
  ref: setRef(_this3, 'scrollTable')
1933
1968
  }, [colGroups, h("tbody", {
1934
1969
  role: "presentation",
@@ -1960,7 +1995,7 @@ var GridVue2 = {
1960
1995
  },
1961
1996
  style: wrapperStyle,
1962
1997
  role: "grid",
1963
- "class": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')
1998
+ "class": _this3.scrollableWrapperClass
1964
1999
  }, _this3.v3 ? function () {
1965
2000
  return [toolbar, groupingPanel, header, h("div", {
1966
2001
  "class": "k-grid-container",
@@ -1990,7 +2025,7 @@ var GridVue2 = {
1990
2025
  tabindex: -1
1991
2026
  },
1992
2027
  tabindex: -1,
1993
- "class": 'k-grid-table',
2028
+ "class": _this3.gridTableClass,
1994
2029
  ref: setRef(_this3, 'scrollTable')
1995
2030
  }, [colGroups, h("tbody", {
1996
2031
  role: "presentation",
@@ -2039,7 +2074,7 @@ var GridVue2 = {
2039
2074
  tabindex: -1
2040
2075
  },
2041
2076
  tabindex: -1,
2042
- "class": 'k-grid-table',
2077
+ "class": _this3.gridTableClass,
2043
2078
  ref: setRef(_this3, 'scrollTable')
2044
2079
  }, [colGroups, h("tbody", {
2045
2080
  role: "presentation",
@@ -7,7 +7,19 @@ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } fr
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- declare let GridToolbarVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridToolbarProps>>;
10
+ export interface GridToolbarComputed {
11
+ [key: string]: any;
12
+ wrapperClass: object;
13
+ }
14
+ /**
15
+ * @hidden
16
+ */
17
+ export interface GridToolbarAll extends GridToolbarProps, GridToolbarComputed, Vue2type {
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ declare let GridToolbarVue2: ComponentOptions<GridToolbarAll, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridToolbarProps>>;
11
23
  /**
12
24
  * Represents the GridToolbar component.
13
25
  *
@@ -3,12 +3,31 @@ import * as Vue from 'vue';
3
3
  var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
- import { getDefaultSlots } from '@progress/kendo-vue-common';
6
+ import { getDefaultSlots, kendoThemeMaps } from '@progress/kendo-vue-common';
7
7
  /**
8
8
  * @hidden
9
9
  */
10
10
  var GridToolbarVue2 = {
11
11
  name: 'GridToolbar',
12
+ props: {
13
+ size: {
14
+ type: String,
15
+ default: 'medium',
16
+ validator: function validator(value) {
17
+ return ['small', 'medium'].includes(value);
18
+ }
19
+ }
20
+ },
21
+ computed: {
22
+ wrapperClass: function wrapperClass() {
23
+ var _a;
24
+ var size = this.$props.size;
25
+ return _a = {
26
+ 'k-toolbar': true,
27
+ 'k-grid-toolbar': true
28
+ }, _a["k-toolbar-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
29
+ }
30
+ },
12
31
  // @ts-ignore
13
32
  setup: !isV3 ? undefined : function () {
14
33
  var v3 = !!isV3;
@@ -21,7 +40,7 @@ var GridToolbarVue2 = {
21
40
  var h = gh || createElement;
22
41
  var defaultSlot = getDefaultSlots(this);
23
42
  return h("div", {
24
- "class": "k-toolbar k-grid-toolbar"
43
+ "class": this.wrapperClass
25
44
  }, [defaultSlot]);
26
45
  }
27
46
  };
@@ -221,8 +221,10 @@ var GridFilterCellVue2 = {
221
221
  }
222
222
  };
223
223
  var defaultRendering = h("div", {
224
- "class": "k-filtercell"
225
- }, [h("span", [filterComponent.call(this, this.$props.filterType, this.$props.value), h("div", {
224
+ "class": "k-cell-inner"
225
+ }, [h("span", {
226
+ "class": "k-link"
227
+ }, [filterComponent.call(this, this.$props.filterType, this.$props.value), h("div", {
226
228
  "class": "k-filtercell-operator"
227
229
  }, [renderOperatorEditor.call(this),
228
230
  // @ts-ignore function children
@@ -13,6 +13,7 @@ export interface FooterProps {
13
13
  colGroupFooter: HTMLTableColElement | null;
14
14
  };
15
15
  cols: any[];
16
+ size: string;
16
17
  }
17
18
  export interface FooterComputed {
18
19
  [key: string]: any;
@@ -6,7 +6,7 @@ var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  var ref = allVue.ref;
7
7
  import { BrowserSupportService } from '../utils/browser-support.service';
8
8
  import { isRtl } from '../utils/main';
9
- import { getRef, setRef } from '@progress/kendo-vue-common';
9
+ import { getRef, kendoThemeMaps, setRef } from '@progress/kendo-vue-common';
10
10
  /**
11
11
  * @hidden
12
12
  */
@@ -16,7 +16,8 @@ var FooterVue2 = {
16
16
  staticHeaders: Boolean,
17
17
  row: Object,
18
18
  columnResize: Object,
19
- cols: Array
19
+ cols: Array,
20
+ size: String
20
21
  },
21
22
  data: function data() {
22
23
  return {
@@ -26,6 +27,14 @@ var FooterVue2 = {
26
27
  };
27
28
  },
28
29
  computed: {
30
+ tableClass: function tableClass() {
31
+ var _a;
32
+ var size = this.$props.size;
33
+ return _a = {
34
+ 'k-table': true,
35
+ 'k-grid-footer-table': true
36
+ }, _a["k-table-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
37
+ },
29
38
  divStyle: {
30
39
  get: function get() {
31
40
  var padding = this.$data.scrollbarWidth + 'px';
@@ -86,6 +95,7 @@ var FooterVue2 = {
86
95
  "class": "k-grid-footer-wrap",
87
96
  ref: setRef(this, 'footerWrap')
88
97
  }, [h("table", {
98
+ "class": this.tableClass,
89
99
  style: this.tableStyle
90
100
  }, [h("colgroup", {
91
101
  ref: setRef(this, 'colGroupHeader')
@@ -9,6 +9,7 @@ import { GridFilterCell } from '../cells/GridFilterCell';
9
9
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
10
  import { filterAriaLabel, messages } from '../messages/main';
11
11
  import { tableKeyboardNavigationTools as navigationTools, HeaderThElement } from '@progress/kendo-vue-data-tools';
12
+ import { classNames } from '@progress/kendo-vue-common';
12
13
  /**
13
14
  * @hidden
14
15
  */
@@ -156,7 +157,7 @@ var FilterRowVue2 = {
156
157
  },
157
158
  navigatable: column.navigatable,
158
159
  style: style,
159
- "class": this.headerCellClassName(column.field, column.locked) || undefined,
160
+ "class": classNames('k-header', this.headerCellClassName(column.field, column.locked) || undefined),
160
161
  ariaLabel: ariaAttrs.ariaLabel,
161
162
  ariaColumnIndex: ariaAttrs.ariaColumnIndex
162
163
  }, this.v3 ? function () {
@@ -175,7 +176,7 @@ var FilterRowVue2 = {
175
176
  },
176
177
  navigatable: column.navigatable,
177
178
  style: style,
178
- "class": this.headerCellClassName(column.field, column.locked) || undefined,
179
+ "class": classNames('k-header', this.headerCellClassName(column.field, column.locked) || undefined),
179
180
  ariaLabel: ariaAttrs.ariaLabel,
180
181
  ariaColumnIndex: ariaAttrs.ariaColumnIndex
181
182
  });
@@ -10,6 +10,7 @@ export interface HeaderProps {
10
10
  ref?: string;
11
11
  staticHeaders: boolean;
12
12
  headerRow: any;
13
+ size: string;
13
14
  columnResize: {
14
15
  colGroupHeader: any | null;
15
16
  setIsRtl: (isRtl: boolean) => void;
@@ -6,7 +6,7 @@ var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  var ref = allVue.ref;
7
7
  import { BrowserSupportService } from '../utils/browser-support.service';
8
8
  import { isRtl } from '../utils/main';
9
- import { getRef, setRef } from '@progress/kendo-vue-common';
9
+ import { getRef, kendoThemeMaps, setRef } from '@progress/kendo-vue-common';
10
10
  /**
11
11
  * @hidden
12
12
  */
@@ -16,6 +16,7 @@ var HeaderVue2 = {
16
16
  headerRow: Object,
17
17
  columnResize: Object,
18
18
  cols: Array,
19
+ size: String,
19
20
  draggable: Boolean
20
21
  },
21
22
  data: function data() {
@@ -32,6 +33,14 @@ var HeaderVue2 = {
32
33
  'k-grid-header': true,
33
34
  'k-grid-draggable-header': this.$props.draggable
34
35
  };
36
+ },
37
+ tableClass: function tableClass() {
38
+ var _a;
39
+ var size = this.$props.size;
40
+ return _a = {
41
+ 'k-table': true,
42
+ 'k-grid-header-table': true
43
+ }, _a["k-table-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
35
44
  }
36
45
  },
37
46
  mounted: function mounted() {
@@ -96,6 +105,7 @@ var HeaderVue2 = {
96
105
  role: "presentation"
97
106
  }
98
107
  }, [h("table", {
108
+ "class": this.tableClass,
99
109
  ref: setRef(this, 'table'),
100
110
  role: "presentation",
101
111
  attrs: this.v3 ? undefined : {
@@ -200,11 +200,15 @@ var HeaderRowVue2 = {
200
200
  }
201
201
  return iconSortIndex >= 0 && [h("span", {
202
202
  key: 1,
203
+ "class": 'k-sort-icon'
204
+ }, [h("span", {
203
205
  "class": 'k-icon k-i-sort-' + _this.$props.sort[iconSortIndex].dir + '-small'
204
- }), _this.$props.sort.length > 1 && h("span", {
206
+ })]), _this.$props.sort.length > 1 && h("span", {
205
207
  key: 2,
208
+ "class": 'k-sort-icon'
209
+ }, [h("span", {
206
210
  "class": "k-sort-order"
207
- }, [iconSortIndex + 1])];
211
+ }, [iconSortIndex + 1])])];
208
212
  };
209
213
  var sortIcon = sortIconRenderer(sortIndex);
210
214
  var className = (column.kFirst ? 'k-first ' : '') + this.cellClass(column.field, column.headerClassName, column.locked);
@@ -140,8 +140,8 @@ export interface GridColumnProps {
140
140
  locked?: boolean;
141
141
  /**
142
142
  * The type of the data which will be used when formatting the cell data.
143
- * Could be one of the following values 'text' | 'numeric' | 'boolean' | 'date'.
144
- * Defaults to `text`.
143
+ * Could be one of the following values 'string' | 'number' | 'boolean' | 'date'.
144
+ * Defaults to `string`.
145
145
  */
146
- type?: 'text' | 'numeric' | 'boolean' | 'date';
146
+ type?: 'string' | 'number' | 'boolean' | 'date';
147
147
  }
@@ -207,6 +207,16 @@ export interface GridProps {
207
207
  * while the user is scrolling the content.
208
208
  */
209
209
  scrollable?: string;
210
+ /**
211
+ * Configures the `size` of the Grid.
212
+ *
213
+ * The available options are:
214
+ * - small
215
+ * - medium
216
+ *
217
+ * @default `medium`
218
+ */
219
+ size?: 'small' | 'medium' | string;
210
220
  /**
211
221
  * Defines the row height and forces an equal height to all rows
212
222
  * ([see example]({% slug scrollmmodes_grid %})).
@@ -3,7 +3,13 @@
3
3
  */
4
4
  export interface GridToolbarProps {
5
5
  /**
6
- * The Vue slot elements that will be rendered inside the toolbar of the Grid.
6
+ * Configures the `size` of the Grid.
7
+ *
8
+ * The available options are:
9
+ * - small
10
+ * - medium
11
+ *
12
+ * @default `medium`
7
13
  */
8
- children?: any;
14
+ size?: 'small' | 'medium' | string;
9
15
  }
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-grid',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1669623966,
8
+ publishDate: 1669966840,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
package/dist/esm/Grid.js CHANGED
@@ -36,7 +36,7 @@ var gh = allVue.h;
36
36
  var isV3 = allVue.version && allVue.version[0] === '3';
37
37
  var ref = allVue.ref;
38
38
  var markRaw = allVue.markRaw;
39
- import { templateRendering, hasListener, getListeners, getDefaultSlots, guid, getter, isRtl, validatePackage, getTemplate, canUseDOM, templateDefinition, isObject, setRef, getRef } from '@progress/kendo-vue-common';
39
+ import { templateRendering, hasListener, getListeners, getDefaultSlots, guid, getter, isRtl, validatePackage, getTemplate, canUseDOM, templateDefinition, isObject, setRef, getRef, kendoThemeMaps } from '@progress/kendo-vue-common';
40
40
  import { tableColumnsVirtualization, Pager, normalize, tableKeyboardNavigationTools as navigationTools, TableKeyboardNavigationProvider } from '@progress/kendo-vue-data-tools';
41
41
  import { Loader } from '@progress/kendo-vue-indicators';
42
42
  import { GridNav } from './GridNav.js';
@@ -117,6 +117,13 @@ var GridVue2 = {
117
117
  type: String,
118
118
  default: 'scrollable'
119
119
  },
120
+ size: {
121
+ type: String,
122
+ default: 'medium',
123
+ validator: function validator(value) {
124
+ return ['small', 'medium'].includes(value);
125
+ }
126
+ },
120
127
  pager: templateDefinition,
121
128
  rowHeight: Number,
122
129
  detail: templateDefinition,
@@ -188,6 +195,29 @@ var GridVue2 = {
188
195
  this.gridUnmounted();
189
196
  },
190
197
  computed: {
198
+ nonscrollableWrapperClass: function nonscrollableWrapperClass() {
199
+ var _a;
200
+ var size = this.$props.size;
201
+ return _a = {
202
+ 'k-grid': true,
203
+ 'k-grid-md': !size
204
+ }, _a["k-grid-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
205
+ },
206
+ scrollableWrapperClass: function scrollableWrapperClass() {
207
+ var scrollable = this.$props.scrollable;
208
+ return __assign(__assign({}, this.nonscrollableWrapperClass), {
209
+ 'k-grid-virtual': scrollable === 'virtual'
210
+ });
211
+ },
212
+ gridTableClass: function gridTableClass() {
213
+ var _a;
214
+ var size = this.$props.size;
215
+ return _a = {
216
+ 'k-table': true,
217
+ 'k-grid-table': true,
218
+ 'k-grid-md': !size
219
+ }, _a["k-table-".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;
220
+ },
191
221
  getCorrectHeight: {
192
222
  get: function get() {
193
223
  if (this.$props.scrollable === 'virtual') {
@@ -721,7 +751,7 @@ var GridVue2 = {
721
751
  if (item.expanded !== false && item.items) {
722
752
  allRowsCount = _this.addSubItems(item.items, allRowsCount);
723
753
  }
724
- if (_this.$props.groupable.footer === 'always' || item.expanded !== false && _this.$props.groupable.footer === 'visible') {
754
+ if (_this.group && _this.group.length && (_this.$props.groupable.footer === 'always' || item.expanded !== false && _this.$props.groupable.footer === 'visible')) {
725
755
  allRowsCount++;
726
756
  }
727
757
  });
@@ -845,8 +875,9 @@ var GridVue2 = {
845
875
  })];
846
876
  // @ts-ignore
847
877
  var header = h(Header, {
848
- columnResize: this.columnResize,
878
+ size: this.$props.size,
849
879
  attrs: this.v3 ? undefined : {
880
+ size: this.$props.size,
850
881
  columnResize: this.columnResize,
851
882
  staticHeaders: this.$props.scrollable !== 'none',
852
883
  // @ts-ignore
@@ -958,6 +989,7 @@ var GridVue2 = {
958
989
  });
959
990
  }, this)
960
991
  },
992
+ columnResize: this.columnResize,
961
993
  staticHeaders: this.$props.scrollable !== 'none',
962
994
  ref: this.v3 ? function (el) {
963
995
  _this.headerRef = el;
@@ -1073,8 +1105,9 @@ var GridVue2 = {
1073
1105
  }) ?
1074
1106
  // @ts-ignore
1075
1107
  h(Footer, {
1076
- columnResize: this.columnResize,
1108
+ size: this.$props.size,
1077
1109
  attrs: this.v3 ? undefined : {
1110
+ size: this.$props.size,
1078
1111
  columnResize: this.columnResize,
1079
1112
  staticHeaders: this.$props.scrollable !== 'none',
1080
1113
  row:
@@ -1105,6 +1138,7 @@ var GridVue2 = {
1105
1138
  });
1106
1139
  }, this)
1107
1140
  },
1141
+ columnResize: this.columnResize,
1108
1142
  staticHeaders: this.$props.scrollable !== 'none',
1109
1143
  ref: this.v3 ? function (el) {
1110
1144
  _this.footerRef = el;
@@ -1542,6 +1576,7 @@ var GridVue2 = {
1542
1576
  var _this = this;
1543
1577
  if (item.rowType === 'data') {
1544
1578
  absoluteDataIndex++;
1579
+ dataIndex++;
1545
1580
  }
1546
1581
  if (this.$props.alternatePerGroup && item.rowType === 'groupHeader') {
1547
1582
  absoluteDataIndex = 0;
@@ -1768,7 +1803,7 @@ var GridVue2 = {
1768
1803
  },
1769
1804
  style: wrapperStyle,
1770
1805
  role: "grid",
1771
- "class": "k-widget k-grid"
1806
+ "class": _this3.nonscrollableWrapperClass
1772
1807
  }, _this3.v3 ? function () {
1773
1808
  return [toolbar, groupingPanel, h("table", {
1774
1809
  style: {
@@ -1801,7 +1836,7 @@ var GridVue2 = {
1801
1836
  },
1802
1837
  style: wrapperStyle,
1803
1838
  role: "grid",
1804
- "class": "k-widget k-grid"
1839
+ "class": _this3.nonscrollableWrapperClass
1805
1840
  }, _this3.v3 ? function () {
1806
1841
  return [toolbar, groupingPanel, h("table", {
1807
1842
  style: {
@@ -1849,7 +1884,7 @@ var GridVue2 = {
1849
1884
  },
1850
1885
  style: wrapperStyle,
1851
1886
  role: "grid",
1852
- "class": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')
1887
+ "class": _this3.scrollableWrapperClass
1853
1888
  }, _this3.v3 ? function () {
1854
1889
  return [toolbar, groupingPanel, header, h("div", {
1855
1890
  "class": "k-grid-container",
@@ -1879,7 +1914,7 @@ var GridVue2 = {
1879
1914
  tabindex: -1
1880
1915
  },
1881
1916
  tabindex: -1,
1882
- "class": 'k-grid-table',
1917
+ "class": _this3.gridTableClass,
1883
1918
  ref: setRef(_this3, 'scrollTable')
1884
1919
  }, [colGroups, h("tbody", {
1885
1920
  role: "presentation",
@@ -1928,7 +1963,7 @@ var GridVue2 = {
1928
1963
  tabindex: -1
1929
1964
  },
1930
1965
  tabindex: -1,
1931
- "class": 'k-grid-table',
1966
+ "class": _this3.gridTableClass,
1932
1967
  ref: setRef(_this3, 'scrollTable')
1933
1968
  }, [colGroups, h("tbody", {
1934
1969
  role: "presentation",
@@ -1960,7 +1995,7 @@ var GridVue2 = {
1960
1995
  },
1961
1996
  style: wrapperStyle,
1962
1997
  role: "grid",
1963
- "class": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')
1998
+ "class": _this3.scrollableWrapperClass
1964
1999
  }, _this3.v3 ? function () {
1965
2000
  return [toolbar, groupingPanel, header, h("div", {
1966
2001
  "class": "k-grid-container",
@@ -1990,7 +2025,7 @@ var GridVue2 = {
1990
2025
  tabindex: -1
1991
2026
  },
1992
2027
  tabindex: -1,
1993
- "class": 'k-grid-table',
2028
+ "class": _this3.gridTableClass,
1994
2029
  ref: setRef(_this3, 'scrollTable')
1995
2030
  }, [colGroups, h("tbody", {
1996
2031
  role: "presentation",
@@ -2039,7 +2074,7 @@ var GridVue2 = {
2039
2074
  tabindex: -1
2040
2075
  },
2041
2076
  tabindex: -1,
2042
- "class": 'k-grid-table',
2077
+ "class": _this3.gridTableClass,
2043
2078
  ref: setRef(_this3, 'scrollTable')
2044
2079
  }, [colGroups, h("tbody", {
2045
2080
  role: "presentation",
@@ -7,7 +7,19 @@ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } fr
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- declare let GridToolbarVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridToolbarProps>>;
10
+ export interface GridToolbarComputed {
11
+ [key: string]: any;
12
+ wrapperClass: object;
13
+ }
14
+ /**
15
+ * @hidden
16
+ */
17
+ export interface GridToolbarAll extends GridToolbarProps, GridToolbarComputed, Vue2type {
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ declare let GridToolbarVue2: ComponentOptions<GridToolbarAll, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridToolbarProps>>;
11
23
  /**
12
24
  * Represents the GridToolbar component.
13
25
  *