@progress/kendo-vue-grid 8.3.0 → 8.4.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.
@@ -0,0 +1,98 @@
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
+ import { SVGIcon } from '@progress/kendo-vue-common';
10
+ import { ButtonProps } from '@progress/kendo-vue-buttons';
11
+ /**
12
+ * Represents the props of the GridCsvExportButton component.
13
+ * Extends the [ButtonProps]({% slug api_buttons_buttonprops %}) interface,
14
+ * forwarding all Button props to the underlying Button component.
15
+ */
16
+ export interface GridCsvExportButtonProps extends ButtonProps {
17
+ }
18
+ /**
19
+ * @hidden
20
+ * Shared props definition object matching ButtonProps for reuse in toolbar button components.
21
+ */
22
+ export declare const buttonPropsDefinition: {
23
+ themeColor: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">;
24
+ size: PropType<"small" | "medium" | "large">;
25
+ rounded: PropType<"small" | "medium" | "large" | "full" | "none">;
26
+ fillMode: PropType<"flat" | "link" | "solid" | "outline">;
27
+ disabled: {
28
+ type: PropType<boolean>;
29
+ default: any;
30
+ };
31
+ icon: PropType<string>;
32
+ svgIcon: PropType<SVGIcon>;
33
+ title: PropType<string>;
34
+ togglable: {
35
+ type: PropType<boolean>;
36
+ default: boolean;
37
+ };
38
+ selected: {
39
+ type: PropType<boolean>;
40
+ default: any;
41
+ };
42
+ tabIndex: PropType<number>;
43
+ type: PropType<string>;
44
+ };
45
+ /**
46
+ * Represents the GridCsvExportButton component.
47
+ * Renders a button that triggers CSV export of the Grid data.
48
+ */
49
+ declare const GridCsvExportButton: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
50
+ themeColor: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">;
51
+ size: PropType<"small" | "medium" | "large">;
52
+ rounded: PropType<"small" | "medium" | "large" | "full" | "none">;
53
+ fillMode: PropType<"flat" | "link" | "solid" | "outline">;
54
+ disabled: {
55
+ type: PropType<boolean>;
56
+ default: any;
57
+ };
58
+ icon: PropType<string>;
59
+ svgIcon: PropType<SVGIcon>;
60
+ title: PropType<string>;
61
+ togglable: {
62
+ type: PropType<boolean>;
63
+ default: boolean;
64
+ };
65
+ selected: {
66
+ type: PropType<boolean>;
67
+ default: any;
68
+ };
69
+ tabIndex: PropType<number>;
70
+ type: PropType<string>;
71
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
72
+ themeColor: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">;
73
+ size: PropType<"small" | "medium" | "large">;
74
+ rounded: PropType<"small" | "medium" | "large" | "full" | "none">;
75
+ fillMode: PropType<"flat" | "link" | "solid" | "outline">;
76
+ disabled: {
77
+ type: PropType<boolean>;
78
+ default: any;
79
+ };
80
+ icon: PropType<string>;
81
+ svgIcon: PropType<SVGIcon>;
82
+ title: PropType<string>;
83
+ togglable: {
84
+ type: PropType<boolean>;
85
+ default: boolean;
86
+ };
87
+ selected: {
88
+ type: PropType<boolean>;
89
+ default: any;
90
+ };
91
+ tabIndex: PropType<number>;
92
+ type: PropType<string>;
93
+ }>> & Readonly<{}>, {
94
+ selected: boolean;
95
+ disabled: boolean;
96
+ togglable: boolean;
97
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
98
+ export { GridCsvExportButton };
@@ -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 n=require("vue"),g=require("@progress/kendo-svg-icons"),f=require("@progress/kendo-vue-common"),o=require("./messages/main.js"),C=require("@progress/kendo-vue-buttons"),u={themeColor:String,size:String,rounded:String,fillMode:String,disabled:{type:Boolean,default:void 0},icon:String,svgIcon:Object,title:String,togglable:{type:Boolean,default:!1},selected:{type:Boolean,default:void 0},tabIndex:Number,type:String},m=n.defineComponent({name:"GridCsvExportButton",inheritAttrs:!1,props:u,setup(e,{attrs:i,slots:r}){const l=n.inject("gridContext",{}),t=n.inject("kendoLocalizationService",null),c=s=>{l.exportAsCsv&&l.exportAsCsv(),i.onClick&&i.onClick(s)};return()=>{var d;const s=((d=t==null?void 0:t.toLanguageString)==null?void 0:d.call(t,o.exportCSV,o.messages[o.exportCSV]))||o.messages[o.exportCSV],a=f.classNames("k-grid-csv",i.class);return n.createVNode(C.Button,n.mergeProps({type:"button"},i,{themeColor:e.themeColor,size:e.size,rounded:e.rounded,fillMode:e.fillMode,disabled:e.disabled,title:e.title||s,icon:e.icon||"file-csv",svgIcon:e.svgIcon||g.fileCsvIcon,class:a,onClick:c}),{default:()=>[r.default?r.default():s]})}}});exports.GridCsvExportButton=m;exports.buttonPropsDefinition=u;
@@ -0,0 +1,71 @@
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 a, inject as d, createVNode as g, mergeProps as m } from "vue";
9
+ import { fileCsvIcon as C } from "@progress/kendo-svg-icons";
10
+ import { classNames as x } from "@progress/kendo-vue-common";
11
+ import { exportCSV as i, messages as c } from "./messages/main.mjs";
12
+ import { Button as b } from "@progress/kendo-vue-buttons";
13
+ const v = {
14
+ themeColor: String,
15
+ size: String,
16
+ rounded: String,
17
+ fillMode: String,
18
+ disabled: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ icon: String,
23
+ svgIcon: Object,
24
+ title: String,
25
+ togglable: {
26
+ type: Boolean,
27
+ default: !1
28
+ },
29
+ selected: {
30
+ type: Boolean,
31
+ default: void 0
32
+ },
33
+ tabIndex: Number,
34
+ type: String
35
+ }, I = /* @__PURE__ */ a({
36
+ name: "GridCsvExportButton",
37
+ inheritAttrs: !1,
38
+ props: v,
39
+ setup(e, {
40
+ attrs: o,
41
+ slots: l
42
+ }) {
43
+ const r = d("gridContext", {}), t = d("kendoLocalizationService", null), f = (n) => {
44
+ r.exportAsCsv && r.exportAsCsv(), o.onClick && o.onClick(n);
45
+ };
46
+ return () => {
47
+ var s;
48
+ const n = ((s = t == null ? void 0 : t.toLanguageString) == null ? void 0 : s.call(t, i, c[i])) || c[i], u = x("k-grid-csv", o.class);
49
+ return g(b, m({
50
+ type: "button"
51
+ }, o, {
52
+ themeColor: e.themeColor,
53
+ size: e.size,
54
+ rounded: e.rounded,
55
+ fillMode: e.fillMode,
56
+ disabled: e.disabled,
57
+ title: e.title || n,
58
+ icon: e.icon || "file-csv",
59
+ svgIcon: e.svgIcon || C,
60
+ class: u,
61
+ onClick: f
62
+ }), {
63
+ default: () => [l.default ? l.default() : n]
64
+ });
65
+ };
66
+ }
67
+ });
68
+ export {
69
+ I as GridCsvExportButton,
70
+ v as buttonPropsDefinition
71
+ };
package/GridState.d.ts CHANGED
@@ -25,13 +25,7 @@ export type GridState = {
25
25
  };
26
26
  declare const GridStateProvider: import('vue').DefineComponent<{
27
27
  id?: string;
28
- autoProcessData?: boolean | {
29
- filter?: boolean;
30
- search?: boolean;
31
- sort?: boolean;
32
- group?: boolean;
33
- page?: boolean;
34
- };
28
+ autoProcessData?: boolean | import('./utils/dataProcessing').AutoProcessDataConfig;
35
29
  dataItemKey?: string;
36
30
  alternatePerGroup?: boolean;
37
31
  columns?: import('.').GridColumnProps[];
@@ -141,15 +135,11 @@ declare const GridStateProvider: import('vue').DefineComponent<{
141
135
  uniqueField?: string;
142
136
  onNavigationaction?: (event: import('./interfaces/events').GridNavigationActionEvent) => void;
143
137
  onKeydown?: (event: import('./interfaces/events').GridKeyDownEvent) => void;
138
+ csv?: boolean | import('./interfaces/GridProps').GridCSVExportOptions;
139
+ onCsvexport?: (data: any[]) => any[];
144
140
  }, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
145
141
  id?: string;
146
- autoProcessData?: boolean | {
147
- filter?: boolean;
148
- search?: boolean;
149
- sort?: boolean;
150
- group?: boolean;
151
- page?: boolean;
152
- };
142
+ autoProcessData?: boolean | import('./utils/dataProcessing').AutoProcessDataConfig;
153
143
  dataItemKey?: string;
154
144
  alternatePerGroup?: boolean;
155
145
  columns?: import('.').GridColumnProps[];
@@ -259,6 +249,8 @@ declare const GridStateProvider: import('vue').DefineComponent<{
259
249
  uniqueField?: string;
260
250
  onNavigationaction?: (event: import('./interfaces/events').GridNavigationActionEvent) => void;
261
251
  onKeydown?: (event: import('./interfaces/events').GridKeyDownEvent) => void;
252
+ csv?: boolean | import('./interfaces/GridProps').GridCSVExportOptions;
253
+ onCsvexport?: (data: any[]) => any[];
262
254
  }> & Readonly<{}>, {
263
255
  size: string;
264
256
  scrollable: string;
package/RootGrid.d.ts CHANGED
@@ -55,13 +55,7 @@ export interface GridHandle {
55
55
  */
56
56
  export declare const RootGrid: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
57
57
  id: import('vue').PropType<string>;
58
- autoProcessData: import('vue').PropType<boolean | {
59
- filter?: boolean;
60
- search?: boolean;
61
- sort?: boolean;
62
- group?: boolean;
63
- page?: boolean;
64
- }>;
58
+ autoProcessData: import('vue').PropType<boolean | import('./utils/dataProcessing').AutoProcessDataConfig>;
65
59
  topCacheCount: {
66
60
  type: import('vue').PropType<number>; /**
67
61
  * Represent the `ref` of the Grid component.
@@ -246,6 +240,8 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
246
240
  onContextmenuitemclick: import('vue').PropType<(event: import('.').GridContextMenuItemClickEvent) => void>;
247
241
  clipboard: import('vue').PropType<boolean | import('@progress/kendo-vue-data-tools').ClipboardSettings>;
248
242
  onClipboard: import('vue').PropType<(event: import('@progress/kendo-vue-data-tools').GridClipboardEvent) => void>;
243
+ csv: import('vue').PropType<boolean | import('./interfaces/GridProps').GridCSVExportOptions>;
244
+ onCsvexport: import('vue').PropType<(data: any[]) => any[]>;
249
245
  }>, void, {}, {
250
246
  columnsWithTemplates(): any[];
251
247
  cellsWithTemplates(): any;
@@ -282,13 +278,7 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
282
278
  };
283
279
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
284
280
  id: import('vue').PropType<string>;
285
- autoProcessData: import('vue').PropType<boolean | {
286
- filter?: boolean;
287
- search?: boolean;
288
- sort?: boolean;
289
- group?: boolean;
290
- page?: boolean;
291
- }>;
281
+ autoProcessData: import('vue').PropType<boolean | import('./utils/dataProcessing').AutoProcessDataConfig>;
292
282
  topCacheCount: {
293
283
  type: import('vue').PropType<number>; /**
294
284
  * Represent the `ref` of the Grid component.
@@ -473,6 +463,8 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
473
463
  onContextmenuitemclick: import('vue').PropType<(event: import('.').GridContextMenuItemClickEvent) => void>;
474
464
  clipboard: import('vue').PropType<boolean | import('@progress/kendo-vue-data-tools').ClipboardSettings>;
475
465
  onClipboard: import('vue').PropType<(event: import('@progress/kendo-vue-data-tools').GridClipboardEvent) => void>;
466
+ csv: import('vue').PropType<boolean | import('./interfaces/GridProps').GridCSVExportOptions>;
467
+ onCsvexport: import('vue').PropType<(data: any[]) => any[]>;
476
468
  }>> & Readonly<{}>, {
477
469
  size: string;
478
470
  scrollable: string;
package/common.d.ts CHANGED
@@ -8,13 +8,7 @@
8
8
  import { PropType } from 'vue';
9
9
  declare const gridProps: {
10
10
  id: PropType<string>;
11
- autoProcessData: PropType<boolean | {
12
- filter?: boolean;
13
- search?: boolean;
14
- sort?: boolean;
15
- group?: boolean;
16
- page?: boolean;
17
- }>;
11
+ autoProcessData: PropType<boolean | import('./utils/dataProcessing').AutoProcessDataConfig>;
18
12
  topCacheCount: {
19
13
  type: PropType<number>;
20
14
  default: number;
@@ -197,5 +191,7 @@ declare const gridProps: {
197
191
  onContextmenuitemclick: PropType<(event: import('.').GridContextMenuItemClickEvent) => void>;
198
192
  clipboard: PropType<boolean | import('@progress/kendo-vue-data-tools').ClipboardSettings>;
199
193
  onClipboard: PropType<(event: import('@progress/kendo-vue-data-tools').GridClipboardEvent) => void>;
194
+ csv: PropType<boolean | import('./interfaces/GridProps').GridCSVExportOptions>;
195
+ onCsvexport: PropType<(data: any[]) => any[]>;
200
196
  };
201
197
  export { gridProps };
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(){}},cells:Object,contextMenu:[Boolean,Object,Function],rows:Object,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],lockGroups:Boolean,pinnable:Boolean,defaultPinnedTopRows:Array,defaultPinnedBottomRows:Array,pinnedTopRows:Array,pinnedBottomRows:Array,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)}},dir:String,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,onContextmenu:Function,onContextmenuitemclick:Function,clipboard:[Boolean,Object],onClipboard: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(){}},cells:Object,contextMenu:[Boolean,Object,Function],rows:Object,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],lockGroups:Boolean,pinnable:Boolean,defaultPinnedTopRows:Array,defaultPinnedBottomRows:Array,pinnedTopRows:Array,pinnedBottomRows:Array,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)}},dir:String,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,onContextmenu:Function,onContextmenuitemclick:Function,clipboard:[Boolean,Object],onClipboard:Function,csv:[Boolean,Object],onCsvexport:Function};exports.gridProps=n;
package/common.mjs CHANGED
@@ -134,7 +134,9 @@ const a = {
134
134
  onContextmenu: Function,
135
135
  onContextmenuitemclick: Function,
136
136
  clipboard: [Boolean, Object],
137
- onClipboard: Function
137
+ onClipboard: Function,
138
+ csv: [Boolean, Object],
139
+ onCsvexport: Function
138
140
  };
139
141
  export {
140
142
  a as gridProps