@progress/kendo-vue-grid 8.0.3-develop.3 → 8.1.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.
Files changed (60) hide show
  1. package/Grid.d.ts +18 -2
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +655 -511
  4. package/GridNav.d.ts +12 -2
  5. package/GridNav.js +1 -1
  6. package/GridNav.mjs +52 -24
  7. package/GridState.d.ts +12 -5
  8. package/GridState.js +1 -1
  9. package/GridState.mjs +84 -77
  10. package/RootGrid.d.ts +6 -0
  11. package/RootGrid.js +1 -1
  12. package/RootGrid.mjs +25 -25
  13. package/StatusBar.d.ts +55 -5
  14. package/StatusBar.js +8 -0
  15. package/StatusBar.mjs +81 -0
  16. package/cells/GridCell.d.ts +3 -0
  17. package/cells/GridCell.js +1 -1
  18. package/cells/GridCell.mjs +32 -29
  19. package/cells/GridEditCell.d.ts +2 -0
  20. package/cells/GridEditCell.js +1 -1
  21. package/cells/GridEditCell.mjs +1 -0
  22. package/cells/GridSelectionCell.js +1 -1
  23. package/cells/GridSelectionCell.mjs +16 -16
  24. package/common.d.ts +3 -0
  25. package/common.js +1 -1
  26. package/common.mjs +3 -0
  27. package/components/table/GridTable.d.ts +18 -0
  28. package/components/table/GridTable.js +8 -0
  29. package/components/table/GridTable.mjs +41 -0
  30. package/components/table/GridTableScrollable.d.ts +20 -0
  31. package/components/table/GridTableScrollable.js +8 -0
  32. package/components/table/GridTableScrollable.mjs +45 -0
  33. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  34. package/drag/ColumnDraggable.js +1 -1
  35. package/drag/ColumnDraggable.mjs +5 -4
  36. package/header/FilterRow.d.ts +3 -0
  37. package/header/FilterRow.js +1 -1
  38. package/header/FilterRow.mjs +46 -44
  39. package/header/Header.d.ts +5 -2
  40. package/header/Header.js +1 -1
  41. package/header/Header.mjs +10 -5
  42. package/header/HeaderRow.d.ts +3 -0
  43. package/header/HeaderRow.js +1 -1
  44. package/header/HeaderRow.mjs +148 -139
  45. package/index.d.mts +1 -0
  46. package/index.d.ts +1 -0
  47. package/index.js +1 -1
  48. package/index.mjs +20 -16
  49. package/interfaces/GridCellProps.d.ts +11 -0
  50. package/interfaces/GridColumnProps.d.ts +10 -6
  51. package/interfaces/GridProps.d.ts +31 -3
  52. package/interfaces/events.d.ts +26 -3
  53. package/package-metadata.js +1 -1
  54. package/package-metadata.mjs +2 -2
  55. package/package.json +12 -12
  56. package/utils/main.js +1 -1
  57. package/utils/main.mjs +68 -67
  58. package/utils/virtualColumns.d.ts +17 -0
  59. package/utils/virtualColumns.js +1 -1
  60. package/utils/virtualColumns.mjs +132 -39
package/StatusBar.d.ts CHANGED
@@ -5,17 +5,67 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
+ import { PropType } from 'vue';
9
+ import { GridSelectionChangeEvent } from './interfaces/events';
10
+ import { GridColumnProps } from './interfaces/GridColumnProps';
11
+ import { GridProps } from './interfaces/GridProps';
12
+ /**
13
+ * Represents the Kendo UI for Vue Grid's StatusItem object.
14
+ */
15
+ export interface StatusItem {
16
+ /**
17
+ * The type of the status item.
18
+ * Could be `sum`, `min`, `max`, `average`, `count`, `isTrue`, `isFalse`, `earliest` or `latest`.
19
+ */
20
+ type: string;
21
+ /**
22
+ * The calculated value of the status item.
23
+ */
24
+ value: number | boolean | Date;
25
+ /**
26
+ * The formatted value of the status item.
27
+ */
28
+ formattedValue: string;
29
+ }
30
+ /**
31
+ * Represents the props of the Kendo UI for Vue Grid's StatusBar component.
32
+ */
33
+ export interface StatusBarProps {
34
+ /**
35
+ * The collection of status items to display in the status bar.
36
+ */
37
+ data: StatusItem[];
38
+ }
39
+ /**
40
+ * Represents the Kendo UI for Vue Grid's StatusBar component.
41
+ */
42
+ export declare const StatusBar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
9
43
  data: {
10
- type: ArrayConstructor;
44
+ type: PropType<StatusItem[]>;
11
45
  default: () => any[];
12
46
  };
13
47
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
14
48
  data: {
15
- type: ArrayConstructor;
49
+ type: PropType<StatusItem[]>;
16
50
  default: () => any[];
17
51
  };
18
52
  }>> & Readonly<{}>, {
19
- data: unknown[];
53
+ data: StatusItem[];
20
54
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
21
- export default _default;
55
+ /**
56
+ * @hidden
57
+ */
58
+ export declare const leafColumns: (columns: GridColumnProps[]) => GridColumnProps[];
59
+ /**
60
+ * Represents the arguments of the getStatusData function.
61
+ */
62
+ export type StatusDataArgs = Pick<GridSelectionChangeEvent, 'dataItems' | 'target' | 'select'> & {
63
+ dataItemKey: Required<GridProps>['dataItemKey'];
64
+ };
65
+ /**
66
+ * Calculates the status data.
67
+ *
68
+ * @param args StatusDataArgs
69
+ * @returns StatusItem[]
70
+ */
71
+ export declare const getStatusData: (args: StatusDataArgs) => StatusItem[];
package/StatusBar.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),b=require("@progress/kendo-vue-common"),D=r.defineComponent({name:"KendoVueGridStatusBar",props:{data:{type:Array,default:()=>[]}},setup(a){return()=>r.createVNode("div",{class:"k-selection-aggregates k-grid-selection-aggregates"},[a.data.map((s,o)=>r.createVNode("div",{key:`${s.type}-${o}`},[r.createVNode("span",{class:"k-selection-aggregates-item-text"},[s.type,r.createTextVNode(": ")]),r.createVNode("span",{class:"k-selection-aggregates-item-value"},[s.formattedValue])]))])}}),y=a=>{var o,c,l,d;const s=a.slice();for(let t=0;t<s.length;t++)for(;(c=(o=s[t])==null?void 0:o.children)!=null&&c.length;)s.splice(t,1,...(d=(l=s[t])==null?void 0:l.children)!=null?d:[]);return s},x=a=>{const{dataItems:s,target:o}=a,l=y(o.columns).map(e=>e.field).filter(e=>e&&typeof e=="string").map(e=>b.getter(e)),d=e=>{var n;return(n=a.select)==null?void 0:n[b.getter(a.dataItemKey)(e)]},t={dates:[],numbers:[],booleans:[],others:[]},S=e=>{typeof e=="number"?t.numbers.push(e):typeof e=="boolean"?t.booleans.push(e):e instanceof Date?t.dates.push(e):t.others.push(e)};s.forEach(e=>{const n=d(e);Array.isArray(n)&&n.forEach(u=>{S(l[u](e))})});const m=t.dates.map(e=>e.getTime()),i=t.booleans.filter(Boolean).length,f=t.booleans.length-i,g=t.numbers.length?t.numbers.reduce((e,n)=>e+n,0):void 0,h={sum:g,average:typeof g=="number"?g/t.numbers.length:void 0,min:t.numbers.length?Math.min(...t.numbers):void 0,max:t.numbers.length?Math.max(...t.numbers):void 0,count:t.numbers.length+t.booleans.length+t.dates.length+t.others.length,isTrue:i>0?i:void 0,isFalse:f>0?f:void 0,earliest:t.dates.length?new Date(Math.min(...m)):void 0,latest:t.dates.length?new Date(Math.max(...m)):void 0},V=(e,n)=>(n==="sum"||n==="average")&&typeof e=="number"?e.toFixed(2):(n==="earliest"||n==="latest")&&e instanceof Date?e.toLocaleDateString():String(e),p=[];return Object.keys(h).forEach(e=>{const n=e,u=h[n];u!==void 0&&p.push({type:n,value:u,formattedValue:V(u,n)})}),p};exports.StatusBar=D;exports.getStatusData=x;exports.leafColumns=y;
package/StatusBar.mjs ADDED
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as D, createVNode as u, createTextVNode as S } from "vue";
9
+ import { getter as b } from "@progress/kendo-vue-common";
10
+ const M = /* @__PURE__ */ D({
11
+ name: "KendoVueGridStatusBar",
12
+ props: {
13
+ data: {
14
+ type: Array,
15
+ default: () => []
16
+ }
17
+ },
18
+ setup(a) {
19
+ return () => u("div", {
20
+ class: "k-selection-aggregates k-grid-selection-aggregates"
21
+ }, [a.data.map((s, o) => u("div", {
22
+ key: `${s.type}-${o}`
23
+ }, [u("span", {
24
+ class: "k-selection-aggregates-item-text"
25
+ }, [s.type, S(": ")]), u("span", {
26
+ class: "k-selection-aggregates-item-value"
27
+ }, [s.formattedValue])]))]);
28
+ }
29
+ }), V = (a) => {
30
+ var o, d, l, i;
31
+ const s = a.slice();
32
+ for (let t = 0; t < s.length; t++)
33
+ for (; (d = (o = s[t]) == null ? void 0 : o.children) != null && d.length; )
34
+ s.splice(t, 1, ...(i = (l = s[t]) == null ? void 0 : l.children) != null ? i : []);
35
+ return s;
36
+ }, T = (a) => {
37
+ const {
38
+ dataItems: s,
39
+ target: o
40
+ } = a, l = V(o.columns).map((e) => e.field).filter((e) => e && typeof e == "string").map((e) => b(e)), i = (e) => {
41
+ var n;
42
+ return (n = a.select) == null ? void 0 : n[b(a.dataItemKey)(e)];
43
+ }, t = {
44
+ dates: [],
45
+ numbers: [],
46
+ booleans: [],
47
+ others: []
48
+ }, y = (e) => {
49
+ typeof e == "number" ? t.numbers.push(e) : typeof e == "boolean" ? t.booleans.push(e) : e instanceof Date ? t.dates.push(e) : t.others.push(e);
50
+ };
51
+ s.forEach((e) => {
52
+ const n = i(e);
53
+ Array.isArray(n) && n.forEach((r) => {
54
+ y(l[r](e));
55
+ });
56
+ });
57
+ const g = t.dates.map((e) => e.getTime()), c = t.booleans.filter(Boolean).length, f = t.booleans.length - c, m = t.numbers.length ? t.numbers.reduce((e, n) => e + n, 0) : void 0, h = {
58
+ sum: m,
59
+ average: typeof m == "number" ? m / t.numbers.length : void 0,
60
+ min: t.numbers.length ? Math.min(...t.numbers) : void 0,
61
+ max: t.numbers.length ? Math.max(...t.numbers) : void 0,
62
+ count: t.numbers.length + t.booleans.length + t.dates.length + t.others.length,
63
+ isTrue: c > 0 ? c : void 0,
64
+ isFalse: f > 0 ? f : void 0,
65
+ earliest: t.dates.length ? new Date(Math.min(...g)) : void 0,
66
+ latest: t.dates.length ? new Date(Math.max(...g)) : void 0
67
+ }, x = (e, n) => (n === "sum" || n === "average") && typeof e == "number" ? e.toFixed(2) : (n === "earliest" || n === "latest") && e instanceof Date ? e.toLocaleDateString() : String(e), p = [];
68
+ return Object.keys(h).forEach((e) => {
69
+ const n = e, r = h[n];
70
+ r !== void 0 && p.push({
71
+ type: n,
72
+ value: r,
73
+ formattedValue: x(r, n)
74
+ });
75
+ }), p;
76
+ };
77
+ export {
78
+ M as StatusBar,
79
+ T as getStatusData,
80
+ V as leafColumns
81
+ };
@@ -16,6 +16,7 @@ declare const GridCell: import('vue').DefineComponent<import('vue').ExtractPropT
16
16
  format: PropType<string>;
17
17
  readFormat: PropType<string>;
18
18
  className: PropType<string>;
19
+ columnType: PropType<import('../interfaces/ColumnType').GridColumnType>;
19
20
  colSpan: PropType<number>;
20
21
  columnIndex: PropType<number>;
21
22
  columnsCount: PropType<number>;
@@ -59,6 +60,7 @@ declare const GridCell: import('vue').DefineComponent<import('vue').ExtractPropT
59
60
  tdClass(): {
60
61
  [x: number]: any;
61
62
  'k-table-td': boolean;
63
+ 'k-selected': any;
62
64
  'k-highlighted': any;
63
65
  };
64
66
  }, {
@@ -79,6 +81,7 @@ declare const GridCell: import('vue').DefineComponent<import('vue').ExtractPropT
79
81
  format: PropType<string>;
80
82
  readFormat: PropType<string>;
81
83
  className: PropType<string>;
84
+ columnType: PropType<import('../interfaces/ColumnType').GridColumnType>;
82
85
  colSpan: PropType<number>;
83
86
  columnIndex: PropType<number>;
84
87
  columnsCount: PropType<number>;
package/cells/GridCell.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 r=require("vue"),a=require("../utils/main.js"),c=require("@progress/kendo-vue-intl"),d=require("@progress/kendo-vue-common"),p=require("@progress/kendo-vue-data-tools"),g=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:d.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)}},created(){this._intl=c.provideIntlService(this)},computed:{tdClass(){const{className:e,isHighlighted:t}=this.$props;return{"k-table-td":!0,"k-highlighted":t,[e]:e}}},setup(){return{kendoIntlService:r.inject("kendoIntlService",{})}},render(){var n,o,s;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);if(((n=this.$props.rowSpan)==null?void 0:n.count)===null)return null;if(this.$props.rowType==="groupFooter")e=r.createVNode("td",{class:this.tdClass},null);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const i=a.getNestedValue(this.$props.field,this.$props.dataItem);let l="";i!=null&&(l=this.$props.format?this.$props.type?this._intl.format(this.$props.format,a.parsers[this.$props.type](i,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,i):i.toString()),e=r.createVNode("td",{style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(s=(o=this.$props.rowSpan)==null?void 0:o.count)!=null?s:void 0,class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[p.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[p.KEYBOARD_NAV_DATA_ID]},[l])}return d.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});exports.GridCell=g;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),a=require("../utils/main.js"),c=require("@progress/kendo-vue-intl"),d=require("@progress/kendo-vue-common"),p=require("@progress/kendo-vue-data-tools"),g=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:d.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)}},created(){this._intl=c.provideIntlService(this)},computed:{tdClass(){const{className:e,isSelected:t,isHighlighted:n}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":n,[e]:e}}},setup(){return{kendoIntlService:r.inject("kendoIntlService",{})}},render(){var n,o,s;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);if(((n=this.$props.rowSpan)==null?void 0:n.count)===null)return null;if(this.$props.rowType==="groupFooter")e=r.createVNode("td",{class:this.tdClass},null);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const i=a.getNestedValue(this.$props.field,this.$props.dataItem);let l="";i!=null&&(l=this.$props.format?this.$props.type?this._intl.format(this.$props.format,a.parsers[this.$props.type](i,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,i):i.toString()),e=r.createVNode("td",{style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(s=(o=this.$props.rowSpan)==null?void 0:o.count)!=null?s:void 0,class:this.tdClass,onKeydown:this.triggerKeydown,onClick:this.triggerClick,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[p.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[p.KEYBOARD_NAV_DATA_ID]},[l])}return d.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});exports.GridCell=g;
@@ -5,12 +5,12 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as l, createVNode as a, h as d, inject as p } from "vue";
9
- import { getNestedValue as c, parsers as h } from "../utils/main.mjs";
10
- import { provideIntlService as g } from "@progress/kendo-vue-intl";
8
+ import { defineComponent as a, createVNode as l, h as d, inject as p } from "vue";
9
+ import { getNestedValue as c, parsers as g } from "../utils/main.mjs";
10
+ import { provideIntlService as h } from "@progress/kendo-vue-intl";
11
11
  import { noop as m, getTemplate as u } from "@progress/kendo-vue-common";
12
12
  import { KEYBOARD_NAV_DATA_ID as $, KEYBOARD_NAV_DATA_LEVEL as f } from "@progress/kendo-vue-data-tools";
13
- const I = /* @__PURE__ */ l({
13
+ const I = /* @__PURE__ */ a({
14
14
  name: "GridCell",
15
15
  inheritAttrs: !1,
16
16
  emits: {
@@ -24,6 +24,7 @@ const I = /* @__PURE__ */ l({
24
24
  format: String,
25
25
  readFormat: String,
26
26
  className: String,
27
+ columnType: String,
27
28
  colSpan: Number,
28
29
  columnIndex: Number,
29
30
  columnsCount: Number,
@@ -61,42 +62,44 @@ const I = /* @__PURE__ */ l({
61
62
  field: this.$props.field
62
63
  });
63
64
  },
64
- triggerKeydown(t) {
65
+ triggerKeydown(e) {
65
66
  this.$emit("cellkeydown", {
66
- event: t,
67
+ event: e,
67
68
  dataItem: this.$props.dataItem,
68
69
  field: this.$props.field
69
70
  });
70
71
  },
71
- triggerEdit(t) {
72
- this.$emit("edit", t);
72
+ triggerEdit(e) {
73
+ this.$emit("edit", e);
73
74
  },
74
- triggerAdd(t) {
75
- this.$emit("add", t);
75
+ triggerAdd(e) {
76
+ this.$emit("add", e);
76
77
  },
77
- triggerCancel(t) {
78
- this.$emit("cancel", t);
78
+ triggerCancel(e) {
79
+ this.$emit("cancel", e);
79
80
  },
80
- triggerSave(t) {
81
- this.$emit("save", t);
81
+ triggerSave(e) {
82
+ this.$emit("save", e);
82
83
  },
83
- triggerRemove(t) {
84
- this.$emit("remove", t);
84
+ triggerRemove(e) {
85
+ this.$emit("remove", e);
85
86
  }
86
87
  },
87
88
  created() {
88
- this._intl = g(this);
89
+ this._intl = h(this);
89
90
  },
90
91
  computed: {
91
92
  tdClass() {
92
93
  const {
93
- className: t,
94
- isHighlighted: e
94
+ className: e,
95
+ isSelected: t,
96
+ isHighlighted: r
95
97
  } = this.$props;
96
98
  return {
97
99
  "k-table-td": !0,
98
- "k-highlighted": e,
99
- [t]: t
100
+ "k-selected": t,
101
+ "k-highlighted": r,
102
+ [e]: e
100
103
  };
101
104
  }
102
105
  },
@@ -107,18 +110,18 @@ const I = /* @__PURE__ */ l({
107
110
  },
108
111
  render() {
109
112
  var r, n, o;
110
- let t = null;
111
- const e = this.getKeyboardNavigationAttributes(this.$props.id);
113
+ let e = null;
114
+ const t = this.getKeyboardNavigationAttributes(this.$props.id);
112
115
  if (((r = this.$props.rowSpan) == null ? void 0 : r.count) === null)
113
116
  return null;
114
117
  if (this.$props.rowType === "groupFooter")
115
- t = a("td", {
118
+ e = l("td", {
116
119
  class: this.tdClass
117
120
  }, null);
118
121
  else if (this.$props.field !== void 0 && this.$props.rowType !== "groupHeader") {
119
122
  const i = c(this.$props.field, this.$props.dataItem);
120
123
  let s = "";
121
- i != null && (s = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, h[this.$props.type](i, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, i) : i.toString()), t = a("td", {
124
+ i != null && (s = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, g[this.$props.type](i, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, i) : i.toString()), e = l("td", {
122
125
  style: this.$attrs.style,
123
126
  colspan: this.$props.colSpan,
124
127
  rowspan: (o = (n = this.$props.rowSpan) == null ? void 0 : n.count) != null ? o : void 0,
@@ -129,15 +132,15 @@ const I = /* @__PURE__ */ l({
129
132
  "aria-colindex": this.$props.ariaColumnIndex,
130
133
  "aria-selected": this.$props.isSelected,
131
134
  "data-grid-col-index": this.$props.columnIndex,
132
- tabindex: e.tabIndex,
133
- "data-keyboardnavlevel": e[f],
134
- "data-keyboardnavid": e[$]
135
+ tabindex: t.tabIndex,
136
+ "data-keyboardnavlevel": t[f],
137
+ "data-keyboardnavid": t[$]
135
138
  }, [s]);
136
139
  }
137
140
  return u.call(this, {
138
141
  h: d,
139
142
  template: this.$props.render,
140
- defaultRendering: t,
143
+ defaultRendering: e,
141
144
  additionalProps: this.$props,
142
145
  additionalListeners: {
143
146
  click: this.triggerClick,
@@ -17,6 +17,7 @@ declare const GridEditCell: import('vue').DefineComponent<import('vue').ExtractP
17
17
  type: PropType<string>;
18
18
  className: PropType<string>;
19
19
  colSpan: PropType<number>;
20
+ columnType: PropType<import('../interfaces/ColumnType').GridColumnType>;
20
21
  columnIndex: PropType<number>;
21
22
  columnsCount: PropType<number>;
22
23
  rowType: PropType<string>;
@@ -62,6 +63,7 @@ declare const GridEditCell: import('vue').DefineComponent<import('vue').ExtractP
62
63
  type: PropType<string>;
63
64
  className: PropType<string>;
64
65
  colSpan: PropType<number>;
66
+ columnType: PropType<import('../interfaces/ColumnType').GridColumnType>;
65
67
  columnIndex: PropType<number>;
66
68
  columnsCount: PropType<number>;
67
69
  rowType: PropType<string>;
@@ -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 a=require("vue"),n=require("../utils/main.js"),d=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-inputs"),l=require("@progress/kendo-vue-dateinputs"),i=require("@progress/kendo-vue-data-tools"),o=a.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:d.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data(){return{inputId:d.guid()}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(e.target.type==="checkbox"?t=e.target.checked:t=e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})}},setup(){return{kendoIntlService:a.inject("kendoIntlService",{})}},render(){const e=n.getNestedValue(this.$props.field,this.$props.dataItem),t=this.getKeyboardNavigationAttributes(this.$props.id);let r=null;switch(this.$props.editor){case"numeric":r=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(s.NumericTextBox,{style:{width:"100%"},value:e===void 0?null:e,onChange:this.changeHandler},null)]);break;case"date":r=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(l.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":r=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),a.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:r=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[a.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:e!=null?e:"",onChange:this.changeHandler},null)])])}return d.getTemplate.call(this,{h:a.h,template:this.$props.render,defaultRendering:r,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});exports.GridEditCell=o;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),d=require("../utils/main.js"),r=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-inputs"),l=require("@progress/kendo-vue-dateinputs"),i=require("@progress/kendo-vue-data-tools"),o=a.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnType:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:r.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data(){return{inputId:r.guid()}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(e.target.type==="checkbox"?t=e.target.checked:t=e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})}},setup(){return{kendoIntlService:a.inject("kendoIntlService",{})}},render(){const e=d.getNestedValue(this.$props.field,this.$props.dataItem),t=this.getKeyboardNavigationAttributes(this.$props.id);let n=null;switch(this.$props.editor){case"numeric":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(s.NumericTextBox,{style:{width:"100%"},value:e===void 0?null:e,onChange:this.changeHandler},null)]);break;case"date":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(l.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),a.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[a.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:e!=null?e:"",onChange:this.changeHandler},null)])])}return r.getTemplate.call(this,{h:a.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});exports.GridEditCell=o;
@@ -22,6 +22,7 @@ const v = /* @__PURE__ */ d({
22
22
  type: String,
23
23
  className: String,
24
24
  colSpan: Number,
25
+ columnType: String,
25
26
  columnIndex: Number,
26
27
  columnsCount: Number,
27
28
  rowType: String,
@@ -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 t=require("vue"),d=require("../utils/main.js"),a=require("@progress/kendo-vue-common"),o=require("@progress/kendo-vue-data-tools"),l=t.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:a.noop}},data(){return{inputId:a.guid()}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})}},render(){const e=d.getNestedValue(this.$props.field,this.$props.dataItem),i=this.$props.render,n=this.getKeyboardNavigationAttributes(this.$props.id),r=this.$props.rowType!=="groupHeader"?t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:n.tabIndex,"data-keyboardnavlevel":n[o.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":n[o.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:e,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]):null;return a.getTemplate.call(this,{h:t.h,template:i,defaultRendering:r,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}});exports.GridSelectionCell=l;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),l=require("../utils/main.js"),o=require("@progress/kendo-vue-common"),a=require("@progress/kendo-vue-data-tools"),d=t.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:o.noop}},data(){return{inputId:o.guid()}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})}},render(){const e=this.$props.isSelected||l.getNestedValue(this.$props.field,this.$props.dataItem),i=typeof e=="boolean"&&e,r=this.$props.render,n=this.getKeyboardNavigationAttributes(this.$props.id),s=this.$props.rowType!=="groupHeader"?t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:n.tabIndex,"data-keyboardnavlevel":n[a.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":n[a.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:i,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]):null;return o.getTemplate.call(this,{h:t.h,template:r,defaultRendering:s,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}});exports.GridSelectionCell=d;
@@ -5,11 +5,11 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as o, createVNode as t, h as r } from "vue";
9
- import { getNestedValue as d } from "../utils/main.mjs";
10
- import { noop as l, getTemplate as s, guid as p } from "@progress/kendo-vue-common";
11
- import { KEYBOARD_NAV_DATA_ID as c, KEYBOARD_NAV_DATA_LEVEL as h } from "@progress/kendo-vue-data-tools";
12
- const k = /* @__PURE__ */ o({
8
+ import { defineComponent as r, createVNode as t, h as s } from "vue";
9
+ import { getNestedValue as l } from "../utils/main.mjs";
10
+ import { noop as d, getTemplate as p, guid as c } from "@progress/kendo-vue-common";
11
+ import { KEYBOARD_NAV_DATA_ID as h, KEYBOARD_NAV_DATA_LEVEL as m } from "@progress/kendo-vue-data-tools";
12
+ const y = /* @__PURE__ */ r({
13
13
  name: "KendoGridSelectionCell",
14
14
  inheritAttrs: !1,
15
15
  props: {
@@ -40,12 +40,12 @@ const k = /* @__PURE__ */ o({
40
40
  default: null
41
41
  },
42
42
  getKeyboardNavigationAttributes: {
43
- default: l
43
+ default: d
44
44
  }
45
45
  },
46
46
  data() {
47
47
  return {
48
- inputId: p()
48
+ inputId: c()
49
49
  };
50
50
  },
51
51
  computed: {
@@ -75,7 +75,7 @@ const k = /* @__PURE__ */ o({
75
75
  }
76
76
  },
77
77
  render() {
78
- const e = d(this.$props.field, this.$props.dataItem), a = this.$props.render, n = this.getKeyboardNavigationAttributes(this.$props.id), i = this.$props.rowType !== "groupHeader" ? t("td", {
78
+ const e = this.$props.isSelected || l(this.$props.field, this.$props.dataItem), o = typeof e == "boolean" && e, i = this.$props.render, n = this.getKeyboardNavigationAttributes(this.$props.id), a = this.$props.rowType !== "groupHeader" ? t("td", {
79
79
  style: this.$attrs.style,
80
80
  onKeydown: this.triggerKeydown,
81
81
  colspan: this.$props.colSpan,
@@ -83,12 +83,12 @@ const k = /* @__PURE__ */ o({
83
83
  "aria-colindex": this.$props.ariaColumnIndex,
84
84
  role: "gridcell",
85
85
  tabindex: n.tabIndex,
86
- "data-keyboardnavlevel": n[h],
87
- "data-keyboardnavid": n[c]
86
+ "data-keyboardnavlevel": n[m],
87
+ "data-keyboardnavid": n[h]
88
88
  }, [t("span", {
89
89
  class: "k-checkbox-wrap"
90
90
  }, [t("input", {
91
- checked: e,
91
+ checked: o,
92
92
  id: this.inputId,
93
93
  type: "checkbox",
94
94
  class: "k-checkbox k-checkbox-md k-rounded-md",
@@ -97,10 +97,10 @@ const k = /* @__PURE__ */ o({
97
97
  class: "k-checkbox-label",
98
98
  for: this.inputId
99
99
  }, null)]) : null;
100
- return s.call(this, {
101
- h: r,
102
- template: a,
103
- defaultRendering: i,
100
+ return p.call(this, {
101
+ h: s,
102
+ template: i,
103
+ defaultRendering: a,
104
104
  additionalProps: this.$props,
105
105
  additionalListeners: {
106
106
  keydown: this.triggerKeydown,
@@ -110,5 +110,5 @@ const k = /* @__PURE__ */ o({
110
110
  }
111
111
  });
112
112
  export {
113
- k as GridSelectionCell
113
+ y as GridSelectionCell
114
114
  };
package/common.d.ts CHANGED
@@ -85,6 +85,9 @@ declare const gridProps: {
85
85
  defaultDetailExpand: PropType<import('@progress/kendo-vue-data-tools').DetailExpandDescriptor>;
86
86
  editField: PropType<string>;
87
87
  rowClass: PropType<Function>;
88
+ select: PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
89
+ defaultSelect: PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
90
+ selectable: PropType<boolean | import('./interfaces/GridSelectableSettings').GridSelectableSettings>;
88
91
  scrollable: {
89
92
  type: PropType<string>;
90
93
  default: string;
package/common.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"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
package/common.mjs CHANGED
@@ -80,6 +80,9 @@ const o = {
80
80
  defaultDetailExpand: Object,
81
81
  editField: String,
82
82
  rowClass: Function,
83
+ select: Object,
84
+ defaultSelect: Object,
85
+ selectable: [Boolean, Object],
83
86
  scrollable: {
84
87
  type: String,
85
88
  default: "scrollable"
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { PropType } from 'vue';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const GridTable: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
13
+ selectable: PropType<any>;
14
+ tableClassName: StringConstructor;
15
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
16
+ selectable: PropType<any>;
17
+ tableClassName: StringConstructor;
18
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("@progress/kendo-vue-data-tools"),o=e.defineComponent({name:"GridTable",props:{selectable:Object,tableClassName:String},setup(a,{slots:t}){const{selectionRelease:n}=e.inject("kendo",{});return()=>e.createVNode(r.TableSelection,{selectable:a.selectable,onRelease:n},{default:()=>{var l;return[e.createVNode("table",{style:{tableLayout:"fixed"},role:"none",class:a.tableClassName},[(l=t.default)==null?void 0:l.call(t)])]}})}});exports.GridTable=o;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as r, inject as o, createVNode as l } from "vue";
9
+ import { TableSelection as b } from "@progress/kendo-vue-data-tools";
10
+ const d = /* @__PURE__ */ r({
11
+ name: "GridTable",
12
+ props: {
13
+ selectable: Object,
14
+ tableClassName: String
15
+ },
16
+ setup(a, {
17
+ slots: e
18
+ }) {
19
+ const {
20
+ selectionRelease: n
21
+ } = o("kendo", {});
22
+ return () => l(b, {
23
+ selectable: a.selectable,
24
+ onRelease: n
25
+ }, {
26
+ default: () => {
27
+ var t;
28
+ return [l("table", {
29
+ style: {
30
+ tableLayout: "fixed"
31
+ },
32
+ role: "none",
33
+ class: a.tableClassName
34
+ }, [(t = e.default) == null ? void 0 : t.call(e)])];
35
+ }
36
+ });
37
+ }
38
+ });
39
+ export {
40
+ d as GridTable
41
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { PropType } from 'vue';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const GridTableScrollable: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
13
+ selectable: PropType<any>;
14
+ tableClassName: ObjectConstructor;
15
+ tableStyle: PropType<any>;
16
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
17
+ selectable: PropType<any>;
18
+ tableClassName: ObjectConstructor;
19
+ tableStyle: PropType<any>;
20
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("@progress/kendo-vue-data-tools"),o=e.defineComponent({name:"GridTableScrollable",props:{selectable:Object,tableClassName:Object,tableStyle:Object},setup(l,{slots:t}){const{selectionRelease:c}=e.inject("kendo",{});return()=>{const b={...l.tableStyle};return e.createVNode(n.TableSelection,{selectable:l.selectable,onRelease:c},{default:()=>{var a;return[e.createVNode("table",{role:"none",class:l.tableClassName,style:b},[(a=t.default)==null?void 0:a.call(t)])]}})}}});exports.GridTableScrollable=o;