You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@progress/kendo-react-excel-export

Package Overview
Dependencies
Maintainers
1
Versions
1503
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@progress/kendo-react-excel-export - npm Package Compare versions

Comparing version
13.3.0
to
13.4.0-develop.1
+45
ColumnBase.d.ts
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { CellOptions } from './ooxml/CellOptionsInterface.js';
/**
* @hidden
*/
export interface ColumnBase {
/**
* @hidden
*/
children?: any;
/**
* The options of the column header cell.
*/
headerCellOptions?: CellOptions;
/**
* Sets the visibility of the column.
*
* @default false
*/
hidden?: boolean;
/**
* @hidden
*/
level?: number;
/**
* Toggles the locked (frozen) state of the column.
*
* @default false
*/
locked?: boolean;
/**
* The title of the column.
*/
title?: string;
/**
* The width of the column in pixels.
*/
width?: number;
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { default as PropTypes } from 'prop-types';
import { WorkbookOptions } from '@progress/kendo-ooxml';
import { CellOptions } from './ooxml/CellOptionsInterface.js';
import { ExcelExportData } from './ExcelExportData.js';
import { ExcelExportColumnProps } from './ExcelExportColumn.js';
import * as React from 'react';
/**
* Represents the props of the KendoReact ExcelExport component.
*/
export interface ExcelExportProps {
/**
* @hidden
*/
children?: any;
/**
* Pass the columns through the component props. If you provide both the `columns` prop and the child column components, the component uses the columns from props.
*/
columns?: ExcelExportColumnProps[];
/**
* The creator of the workbook.
*/
creator?: string;
/**
* The exported data. If grouped, structure the data as described by the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) option of the KendoReact Data Query component.
*/
data?: any[];
/**
* The date on which the workbook is created.
*
* @default new Date()
*/
date?: Date;
/**
* Enables or disables the column filtering in the Excel file.
*/
filterable?: boolean;
/**
* Specifies the name of the file that is exported to Excel.
*
* @default "Export.xlsx"
*/
fileName?: string;
/**
* If set to `true`, the content is forwarded to `proxyURL` even if the browser supports saving files locally.
*
* @default false
*/
forceProxy?: boolean;
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) option of the KendoReact Data Query component.
*/
group?: any[];
/**
* The options of the cells that are inserted before the header cells to align the headers and the column values (when the data is grouped).
*/
headerPaddingCellOptions?: CellOptions;
/**
* The options of the cells that are inserted before the data, group, and footer cells to indicate the group hierarchy (when the data is grouped).
*/
paddingCellOptions?: CellOptions;
/**
* The URL of the server-side proxy which streams the file to the end user. When the browser cannot save files locally—for example, Internet Explorer 9 and earlier, and Safari—a proxy is used. You must implement the server-side proxy.
*
* The proxy receives a `POST` request with the following parameters in the request body:
* - `contentType`—The MIME type of the file.
* - `base64`—The base-64 encoded file content.
* - `fileName`&mdash;The file name, as requested by the caller. The proxy is expected to return the decoded file with the **Content-Disposition** header set to `attachment; filename="<fileName.xslx>"`.
*/
proxyURL?: string;
/**
* If set to `rtl`, the Excel file is rendered in the right-to-left mode.
*/
dir?: string;
/**
* If set to `true`, the data is exported as a tree based on the `level` property of each data record.
*/
hierarchy?: boolean;
/**
* Enables or disables collapsible (grouped) rows in the exported file.
*
* @default false
*/
collapsible?: boolean;
/**
* Triggered after the export is complete.
*/
onExportComplete?: (event: ExcelExportExportEvent) => void;
}
/**
* Represents the return type of ExcelExportExportEvent.
*/
export type ExcelExportExportEvent = {
/**
* The target of the ExcelExportExportEvent from ExcelExport.
*/
target: ExcelExport;
};
/**
* Represents the KendoReact ExcelExport component.
*
* @remarks
* Supported children components are: {@link ExcelExportColumn}.
*/
export declare class ExcelExport extends React.Component<ExcelExportProps> {
/**
* @hidden
*/
static propTypes: {
children: PropTypes.Requireable<any>;
columns: PropTypes.Requireable<any[]>;
creator: PropTypes.Requireable<string>;
data: PropTypes.Requireable<any>;
date: PropTypes.Requireable<any>;
filterable: PropTypes.Requireable<boolean>;
fileName: PropTypes.Requireable<string>;
forceProxy: PropTypes.Requireable<boolean>;
group: PropTypes.Requireable<any>;
headerPaddingCellOptions: PropTypes.Requireable<any>;
paddingCellOptions: PropTypes.Requireable<any>;
proxyURL: PropTypes.Requireable<string>;
dir: PropTypes.Requireable<string>;
hierarchy: PropTypes.Requireable<boolean>;
collapsible: PropTypes.Requireable<boolean>;
};
/**
* @hidden
*/
static defaultProps: {
fileName: string;
forceProxy: boolean;
collapsible: boolean;
};
private readonly showLicenseWatermark;
private readonly licenseMessage?;
constructor(props: ExcelExportProps);
/**
* Saves the data to Excel.
*
* @param exportData - An optional parameter. Can be the data that will be exported or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
* @param columns - An optional parameter. If present, it will be used instead of the columns prop or the child column components.
*/
save(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: ExcelExportColumnProps[] | React.ReactElement<ExcelExportColumnProps>[]): void;
/**
* Returns a promise which will be resolved with the file data URI.
*
* @param exportData - The optional data or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions) that will be used to generate the data URI.
* @param externalColumns - The optional columns that will be used.
* @returns {Promise<string>} - The promise that will be resolved by the file data URI.
*/
toDataURL(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: any[]): Promise<string>;
/**
* Based on the specified columns and data, returns [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
*
* @param exportData - The optional data that will be exported.
* @param externalColumns - The optional columns that will be used.
* @returns {WorkbookOptions} - The workbook options.
*/
workbookOptions(exportData?: any[] | ExcelExportData, externalColumns?: ExcelExportColumnProps[] | React.ReactElement<ExcelExportColumnProps>[]): WorkbookOptions;
/**
* @hidden
*/
render(): React.JSX.Element;
protected saveFile: (dataURL: string) => void;
private extractColumns;
private extractChild;
private getExportData;
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { ColumnBase } from './ColumnBase.js';
import { CellOptions } from './ooxml/CellOptionsInterface.js';
import { ExcelExportGroupHeader } from './templates/ExcelExportGroupHeader.js';
import { ExcelExportGroupFooter } from './templates/ExcelExportGroupFooter.js';
import { ExcelExportFooter } from './templates/ExcelExportFooter.js';
import * as React from 'react';
/**
* Represents the props of the KendoReact ExcelExportColumnProps component.
*/
export interface ExcelExportColumnProps extends ColumnBase {
/**
* The options of the column data cells.
*/
cellOptions?: CellOptions;
/**
* The field to which the column is bound.
*/
field?: string;
/**
* The options of the column footer cell.
*/
footerCellOptions?: CellOptions;
/**
* The column footer. Can be a function or a React component.
*/
footer?: Function | ExcelExportFooter;
/**
* The options of the column group footer cells.
*/
groupFooterCellOptions?: CellOptions;
/**
* The footer of the group. Can be a function or a React component.
*/
groupFooter?: Function | ExcelExportGroupFooter;
/**
* The options of the column group header cells.
*/
groupHeaderCellOptions?: CellOptions;
/**
* The header of the group. Can be a function or a React component.
*/
groupHeader?: Function | ExcelExportGroupHeader;
}
/**
* Represents the columns of the KendoReact ExcelExport component.
*
* @returns null
*/
declare const ExcelExportColumn: React.FunctionComponent<ExcelExportColumnProps>;
export { ExcelExportColumn };
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { ColumnBase } from './ColumnBase.js';
import * as React from 'react';
export interface ExcelExportColumnGroupProps extends ColumnBase {
}
/**
* Represents the column group component of the KendoReact ExcelExport component.
*
* @returns null
*/
declare const ExcelExportColumnGroup: React.FunctionComponent<ExcelExportColumnGroupProps>;
export { ExcelExportColumnGroup };
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
/**
* The type that is expected for the ExcelExportComponent `data`.
*/
export interface ExcelExportData {
/**
* The exported data. If grouped, structure the data as described in the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) of the KendoReact Data Query component.
*/
data?: any[];
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) of the KendoReact Data Query component.
*/
group?: any[];
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { WorkbookSheetRowCellBorderBottom, WorkbookSheetRowCellBorderLeft, WorkbookSheetRowCellBorderTop, WorkbookSheetRowCellBorderRight } from '@progress/kendo-ooxml';
/**
* The options for the Excel Export cell.
*/
export interface CellOptions {
/**
* Sets the background color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
background?: string;
/**
* The style information for the bottom border of the cell.
*/
borderBottom?: WorkbookSheetRowCellBorderBottom;
/**
* The style information for the left border of the cell.
*/
borderLeft?: WorkbookSheetRowCellBorderLeft;
/**
* The style information for the top border of the cell.
*/
borderTop?: WorkbookSheetRowCellBorderTop;
/**
* The style information for the right border of the cell.
*/
borderRight?: WorkbookSheetRowCellBorderRight;
/**
* If set to `true`, renders the cell value in bold.
*/
bold?: boolean;
/**
* The text color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
color?: string;
/**
* Sets the font that is used to display the cell value.
*/
fontFamily?: string;
/**
* Sets the font size in pixels.
*/
fontSize?: number;
/**
* Sets the format that Excel uses to display the cell value. For more information, refer to the page on [supported Excel formats](https://support.office.com/en-us/article/Create-or-delete-a-custom-number-format-78f2a361-936b-4c03-8772-09fab54be7f4).
*/
format?: string;
/**
* If set to `true`, renders the cell value in italics.
*/
italic?: boolean;
/**
* Sets the horizontal alignment of the cell value.
*
* The supported values are:
* * `"left"`
* * `"center"`
* * `"right"`
*/
textAlign?: 'left' | 'center' | 'right';
/**
* If set to `true`, underlines the cell value.
*/
underline?: boolean;
/**
* If set to `true`, wraps the cell value.
*/
wrap?: boolean;
/**
* Sets the vertical alignment of the cell value.
*
* The supported values are:
* * `"top"`
* * `"center"`
* * `"bottom"`
*/
verticalAlign?: 'top' | 'center' | 'bottom';
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { CellOptions } from './CellOptionsInterface.js';
import { ExcelExportColumnProps } from '../ExcelExportColumn.js';
/**
* @hidden
*/
export declare const toExporterColumns: (sourceColumns?: ExcelExportColumnProps[]) => ExporterColumn[];
/**
* @hidden
*/
export declare class ExporterColumn {
title?: string;
field?: string;
hidden?: boolean;
locked?: boolean;
width?: number;
columns: ExporterColumn[] | null;
groupHeaderTemplate: any;
groupFooterTemplate: any;
footerTemplate: any;
headerCellOptions?: CellOptions;
cellOptions?: CellOptions;
groupHeaderCellOptions?: CellOptions;
groupFooterCellOptions?: CellOptions;
footerCellOptions?: CellOptions;
constructor(column: ExcelExportColumnProps, columnIndex?: number);
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { WorkbookOptions } from '@progress/kendo-ooxml';
import { ExcelExportProps } from '../ExcelExport.js';
/**
* @hidden
*/
export declare const workbookOptions: (options: ExcelExportProps) => WorkbookOptions;
/**
* @hidden
*/
export declare const toDataURL: (options: WorkbookOptions) => Promise<string>;
/**
* @hidden
*/
export declare const isWorkbookOptions: (value: any) => boolean;
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { PackageMetadata } from '@progress/kendo-licensing';
/**
* @hidden
*/
export declare const packageMetadata: PackageMetadata;
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { ExcelExportColumnProps } from '../ExcelExportColumn.js';
import * as React from 'react';
/**
* Represents the props that will be passed to the ExcelExportFooter component when the template is rendered.
*/
export interface ExcelExportFooterProps {
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The index of the current column within the grid.
*/
columnIndex: number;
}
/**
* Represents the footer of column.
*/
export declare class ExcelExportFooter extends React.PureComponent<ExcelExportFooterProps> {
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { ExcelExportColumnProps } from '../ExcelExportColumn.js';
import { AggregateResult, GroupResult } from '@progress/kendo-data-query';
import * as React from 'react';
/**
* Represents the props that will be passed to the ExcelExportGroupFooter component when the template is rendered.
*/
export interface ExcelExportGroupFooterProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
}
/**
* Represents the footer of the column group.
*/
export declare class ExcelExportGroupFooter extends React.PureComponent<ExcelExportGroupFooterProps> {
}
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { AggregateResult, GroupResult } from '@progress/kendo-data-query';
import * as React from 'react';
/**
* Represents the props that will be passed to the ExcelExportGroupHeader component when the template is rendered.
*/
export interface ExcelExportGroupHeaderProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
/**
* The value that identifies the current group.
*/
value: any;
}
/**
* Represents the header of the column group.
*/
export declare class ExcelExportGroupHeader extends React.PureComponent<ExcelExportGroupHeaderProps> {
}
+1
-1

@@ -15,2 +15,2 @@ /**

*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-file-saver"),require("@progress/kendo-ooxml"),require("react-dom/server"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-file-saver","@progress/kendo-ooxml","react-dom/server","@progress/kendo-react-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactExcel={},e.React,e.PropTypes,e.KendoFileSaver,e.KendoOoxml,e.ReactDOMServer,e.KendoReactCommon)}(this,(function(e,t,o,r,s,l,i){"use strict";function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var a=n(t),p=n(s),d=n(l);const c=(e,t,o)=>r=>{o(t,r);const s=d.renderToStaticMarkup(a.createElement(e,{...t})),l=Number(s);return isNaN(l)?s:l},h=(e,t)=>{e.$implicit=e.group=t,e.field=t.field,e.value=t.value,e.aggregates=t.aggregates},u=(e,t)=>{e.group=t.group,e.$implicit=e.aggregates=t},m=(e,t)=>{};class g{constructor(e,t){this.columns=null,this.title=e.title,this.field=e.field,this.hidden=e.hidden,this.locked=e.locked,this.width=e.width,this.headerCellOptions=e.headerCellOptions,this.cellOptions=e.cellOptions,this.groupHeaderCellOptions=e.groupHeaderCellOptions,this.groupFooterCellOptions=e.groupFooterCellOptions,this.footerCellOptions=e.footerCellOptions,e.footer&&(this.footerTemplate=c(e.footer,{$implicit:e,column:e,columnIndex:t},m)),e.groupFooter&&(this.groupFooterTemplate=c(e.groupFooter,{column:e,field:e.field},u)),e.groupHeader&&(this.groupHeaderTemplate=c(e.groupHeader,{},h))}}const f=e=>Math.max(...e.map((e=>e.level)))+1,y=e=>{const t=(e=>{const t=[];let o=0;const r=(e,t,s)=>{e.forEach((e=>{if(e.level===s){const l=new g(e,o);if(t.push(l),e.children&&e.children.length>1){const t=l.columns=[];r(e.children,t,s+1)}else o++}}))};return r(e,t,0),t})(e.columns),o=new s.ExcelExporter({columns:t,data:e.data,filterable:e.filterable,groups:e.group,paddingCellOptions:e.paddingCellOptions,headerPaddingCellOptions:e.headerPaddingCellOptions,hierarchy:e.hierarchy?{depth:f(e.data),itemLevel:e=>e.level}:null,collapsible:e.collapsible}).workbook();return o.creator=e.creator,o.date=e.date,o.rtl="rtl"===e.dir,o},x=e=>new s.Workbook(e).toDataURL(),O=e=>e&&e.sheets,b=Object.freeze({name:"@progress/kendo-react-excel-export",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"13.3.0",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),C=class extends a.Component{constructor(e){super(e),this.showLicenseWatermark=!1,this.saveFile=e=>{r.saveAs(e,this.props.fileName,{forceProxy:this.props.forceProxy,proxyURL:this.props.proxyURL})},this.extractColumns=(e,t=0)=>Array.isArray(e)?e.map((e=>this.extractChild(e,t))):[e,this.extractChild(e,t)],this.extractChild=(e,t=0)=>a.isValidElement(e)?{...e.props,width:e.props.width&&parseInt(`${e.props.width}`,10),level:t,children:e.props.children&&this.extractColumns(e.props.children,t+1)}:{...e,level:t,children:e.children&&this.extractColumns(e.children,t+1)},this.getExportData=e=>{let t;return t=e?Array.isArray(e)?{data:e}:e:{data:this.props.data,group:this.props.group},t},this.showLicenseWatermark=!i.validatePackage(b,{component:"ExcelExport"}),this.licenseMessage=i.getLicenseMessage(b),this.save=this.save.bind(this),this.toDataURL=this.toDataURL.bind(this),this.workbookOptions=this.workbookOptions.bind(this)}save(e,t){this.toDataURL(e,t).then(((...e)=>{this.props.onExportComplete&&this.props.onExportComplete.call(void 0,{target:this}),this.saveFile(...e)}))}toDataURL(e,t){const o=O(e)?e:this.workbookOptions(e,t);return x(o)}workbookOptions(e,t){const o=this.getExportData(e),r=this.props.children,s=r&&r.type&&"KendoReactGrid"===r.type.displayName&&r.props&&a.Children.toArray(r.props.children),l=this.extractColumns(s||t||this.props.columns||a.Children.toArray(r));return y({columns:l,data:o.data,group:o.group,filterable:this.props.filterable,creator:this.props.creator,date:this.props.date,dir:this.props.dir,hierarchy:this.props.hierarchy,paddingCellOptions:this.props.paddingCellOptions,headerPaddingCellOptions:this.props.headerPaddingCellOptions,collapsible:this.props.collapsible})}render(){return a.createElement(a.Fragment,null,this.props.children||null,this.showLicenseWatermark&&a.createElement(i.WatermarkOverlay,{message:this.licenseMessage}))}};C.propTypes={children:o.any,columns:o.arrayOf(o.any),creator:o.string,data:o.any,date:o.any,filterable:o.bool,fileName:o.string,forceProxy:o.bool,group:o.any,headerPaddingCellOptions:o.any,paddingCellOptions:o.any,proxyURL:o.string,dir:o.string,hierarchy:o.bool,collapsible:o.bool},C.defaultProps={fileName:"Export.xlsx",forceProxy:!1,collapsible:!1};let k=C;const E=e=>null;E.propTypes={cellOptions:o.any,field:o.string,footerCellOptions:o.any,footer:o.oneOfType([o.func,o.element]),groupFooterCellOptions:o.any,groupFooter:o.oneOfType([o.func,o.element]),groupHeaderCellOptions:o.any,groupHeader:o.oneOfType([o.func,o.element]),headerCellOptions:o.any,hidden:o.bool,level:o.number,locked:o.bool,title:o.string,width:o.number};const v=e=>null;v.propTypes={children:o.oneOfType([o.arrayOf(o.element),o.element]),headerCellOptions:o.any,hidden:o.bool,level:o.number,locked:o.bool,title:o.string,width:o.number};class w extends a.PureComponent{}let R=class extends a.PureComponent{};class P extends a.PureComponent{}e.KendoOoxml=p,e.ExcelExport=k,e.ExcelExportColumn=E,e.ExcelExportColumnGroup=v,e.ExcelExportFooter=w,e.ExcelExportGroupFooter=R,e.ExcelExportGroupHeader=P,e.isWorkbookOptions=O,e.toDataURL=x,e.workbookOptions=y}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-file-saver"),require("@progress/kendo-ooxml"),require("react-dom/server"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-file-saver","@progress/kendo-ooxml","react-dom/server","@progress/kendo-react-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactExcel={},e.React,e.PropTypes,e.KendoFileSaver,e.KendoOoxml,e.ReactDOMServer,e.KendoReactCommon)}(this,function(e,t,o,r,s,l,i){"use strict";function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var a=n(t),p=n(s),d=n(l);const c=(e,t,o)=>r=>{o(t,r);const s=d.renderToStaticMarkup(a.createElement(e,{...t})),l=Number(s);return isNaN(l)?s:l},h=(e,t)=>{e.$implicit=e.group=t,e.field=t.field,e.value=t.value,e.aggregates=t.aggregates},u=(e,t)=>{e.group=t.group,e.$implicit=e.aggregates=t},m=(e,t)=>{};class g{constructor(e,t){this.columns=null,this.title=e.title,this.field=e.field,this.hidden=e.hidden,this.locked=e.locked,this.width=e.width,this.headerCellOptions=e.headerCellOptions,this.cellOptions=e.cellOptions,this.groupHeaderCellOptions=e.groupHeaderCellOptions,this.groupFooterCellOptions=e.groupFooterCellOptions,this.footerCellOptions=e.footerCellOptions,e.footer&&(this.footerTemplate=c(e.footer,{$implicit:e,column:e,columnIndex:t},m)),e.groupFooter&&(this.groupFooterTemplate=c(e.groupFooter,{column:e,field:e.field},u)),e.groupHeader&&(this.groupHeaderTemplate=c(e.groupHeader,{},h))}}const f=e=>Math.max(...e.map(e=>e.level))+1,y=e=>{const t=(e=>{const t=[];let o=0;const r=(e,t,s)=>{e.forEach(e=>{if(e.level===s){const l=new g(e,o);if(t.push(l),e.children&&e.children.length>1){const t=l.columns=[];r(e.children,t,s+1)}else o++}})};return r(e,t,0),t})(e.columns),o=new s.ExcelExporter({columns:t,data:e.data,filterable:e.filterable,groups:e.group,paddingCellOptions:e.paddingCellOptions,headerPaddingCellOptions:e.headerPaddingCellOptions,hierarchy:e.hierarchy?{depth:f(e.data),itemLevel:e=>e.level}:null,collapsible:e.collapsible}).workbook();return o.creator=e.creator,o.date=e.date,o.rtl="rtl"===e.dir,o},x=e=>new s.Workbook(e).toDataURL(),O=e=>e&&e.sheets,b=Object.freeze({name:"@progress/kendo-react-excel-export",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"13.4.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),C=class extends a.Component{constructor(e){super(e),this.showLicenseWatermark=!1,this.saveFile=e=>{r.saveAs(e,this.props.fileName,{forceProxy:this.props.forceProxy,proxyURL:this.props.proxyURL})},this.extractColumns=(e,t=0)=>Array.isArray(e)?e.map(e=>this.extractChild(e,t)):[e,this.extractChild(e,t)],this.extractChild=(e,t=0)=>a.isValidElement(e)?{...e.props,width:e.props.width&&parseInt(`${e.props.width}`,10),level:t,children:e.props.children&&this.extractColumns(e.props.children,t+1)}:{...e,level:t,children:e.children&&this.extractColumns(e.children,t+1)},this.getExportData=e=>{let t;return t=e?Array.isArray(e)?{data:e}:e:{data:this.props.data,group:this.props.group},t},this.showLicenseWatermark=!i.validatePackage(b,{component:"ExcelExport"}),this.licenseMessage=i.getLicenseMessage(b),this.save=this.save.bind(this),this.toDataURL=this.toDataURL.bind(this),this.workbookOptions=this.workbookOptions.bind(this)}save(e,t){this.toDataURL(e,t).then((...e)=>{this.props.onExportComplete&&this.props.onExportComplete.call(void 0,{target:this}),this.saveFile(...e)})}toDataURL(e,t){const o=O(e)?e:this.workbookOptions(e,t);return x(o)}workbookOptions(e,t){const o=this.getExportData(e),r=this.props.children,s=r&&r.type&&"KendoReactGrid"===r.type.displayName&&r.props&&a.Children.toArray(r.props.children),l=this.extractColumns(s||t||this.props.columns||a.Children.toArray(r));return y({columns:l,data:o.data,group:o.group,filterable:this.props.filterable,creator:this.props.creator,date:this.props.date,dir:this.props.dir,hierarchy:this.props.hierarchy,paddingCellOptions:this.props.paddingCellOptions,headerPaddingCellOptions:this.props.headerPaddingCellOptions,collapsible:this.props.collapsible})}render(){return a.createElement(a.Fragment,null,this.props.children||null,this.showLicenseWatermark&&a.createElement(i.WatermarkOverlay,{message:this.licenseMessage}))}};C.propTypes={children:o.any,columns:o.arrayOf(o.any),creator:o.string,data:o.any,date:o.any,filterable:o.bool,fileName:o.string,forceProxy:o.bool,group:o.any,headerPaddingCellOptions:o.any,paddingCellOptions:o.any,proxyURL:o.string,dir:o.string,hierarchy:o.bool,collapsible:o.bool},C.defaultProps={fileName:"Export.xlsx",forceProxy:!1,collapsible:!1};let k=C;const E=e=>null;E.propTypes={cellOptions:o.any,field:o.string,footerCellOptions:o.any,footer:o.oneOfType([o.func,o.element]),groupFooterCellOptions:o.any,groupFooter:o.oneOfType([o.func,o.element]),groupHeaderCellOptions:o.any,groupHeader:o.oneOfType([o.func,o.element]),headerCellOptions:o.any,hidden:o.bool,level:o.number,locked:o.bool,title:o.string,width:o.number};const v=e=>null;v.propTypes={children:o.oneOfType([o.arrayOf(o.element),o.element]),headerCellOptions:o.any,hidden:o.bool,level:o.number,locked:o.bool,title:o.string,width:o.number};class w extends a.PureComponent{}let R=class extends a.PureComponent{};class P extends a.PureComponent{}e.KendoOoxml=p,e.ExcelExport=k,e.ExcelExportColumn=E,e.ExcelExportColumnGroup=v,e.ExcelExportFooter=w,e.ExcelExportGroupFooter=R,e.ExcelExportGroupHeader=P,e.isWorkbookOptions=O,e.toDataURL=x,e.workbookOptions=y});

@@ -8,454 +8,13 @@ /**

*/
import { AggregateResult } from '@progress/kendo-data-query';
import { default as default_2 } from 'prop-types';
import { GroupResult } from '@progress/kendo-data-query';
import { JSX } from 'react/jsx-runtime';
import { ExcelExport, ExcelExportProps, ExcelExportExportEvent } from './ExcelExport.js';
import { ExcelExportData } from './ExcelExportData.js';
import { ExcelExportColumn, ExcelExportColumnProps } from './ExcelExportColumn.js';
import { ExcelExportColumnGroup, ExcelExportColumnGroupProps } from './ExcelExportColumnGroup.js';
import { ColumnBase } from './ColumnBase.js';
import { CellOptions } from './ooxml/CellOptionsInterface.js';
import { ExcelExportFooter, ExcelExportFooterProps } from './templates/ExcelExportFooter.js';
import { ExcelExportGroupFooter, ExcelExportGroupFooterProps } from './templates/ExcelExportGroupFooter.js';
import { ExcelExportGroupHeader, ExcelExportGroupHeaderProps } from './templates/ExcelExportGroupHeader.js';
import * as KendoOoxml from '@progress/kendo-ooxml';
import * as React_2 from 'react';
import { WorkbookOptions } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderBottom } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderLeft } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderRight } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderTop } from '@progress/kendo-ooxml';
/**
* The options for the Excel Export cell.
*/
export declare interface CellOptions {
/**
* Sets the background color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
background?: string;
/**
* The style information for the bottom border of the cell.
*/
borderBottom?: WorkbookSheetRowCellBorderBottom;
/**
* The style information for the left border of the cell.
*/
borderLeft?: WorkbookSheetRowCellBorderLeft;
/**
* The style information for the top border of the cell.
*/
borderTop?: WorkbookSheetRowCellBorderTop;
/**
* The style information for the right border of the cell.
*/
borderRight?: WorkbookSheetRowCellBorderRight;
/**
* If set to `true`, renders the cell value in bold.
*/
bold?: boolean;
/**
* The text color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
color?: string;
/**
* Sets the font that is used to display the cell value.
*/
fontFamily?: string;
/**
* Sets the font size in pixels.
*/
fontSize?: number;
/**
* Sets the format that Excel uses to display the cell value. For more information, refer to the page on [supported Excel formats](https://support.office.com/en-us/article/Create-or-delete-a-custom-number-format-78f2a361-936b-4c03-8772-09fab54be7f4).
*/
format?: string;
/**
* If set to `true`, renders the cell value in italics.
*/
italic?: boolean;
/**
* Sets the horizontal alignment of the cell value.
*
* The supported values are:
* * `"left"`
* * `"center"`
* * `"right"`
*/
textAlign?: 'left' | 'center' | 'right';
/**
* If set to `true`, underlines the cell value.
*/
underline?: boolean;
/**
* If set to `true`, wraps the cell value.
*/
wrap?: boolean;
/**
* Sets the vertical alignment of the cell value.
*
* The supported values are:
* * `"top"`
* * `"center"`
* * `"bottom"`
*/
verticalAlign?: 'top' | 'center' | 'bottom';
}
/**
* @hidden
*/
export declare interface ColumnBase {
/**
* @hidden
*/
children?: any;
/**
* The options of the column header cell.
*/
headerCellOptions?: CellOptions;
/**
* Sets the visibility of the column.
*
* @default false
*/
hidden?: boolean;
/**
* @hidden
*/
level?: number;
/**
* Toggles the locked (frozen) state of the column.
*
* @default false
*/
locked?: boolean;
/**
* The title of the column.
*/
title?: string;
/**
* The width of the column in pixels.
*/
width?: number;
}
/**
* Represents the KendoReact ExcelExport component.
*
* @remarks
* Supported children components are: {@link ExcelExportColumn}.
*/
export declare class ExcelExport extends React_2.Component<ExcelExportProps> {
/**
* @hidden
*/
static propTypes: {
children: default_2.Requireable<any>;
columns: default_2.Requireable<any[]>;
creator: default_2.Requireable<string>;
data: default_2.Requireable<any>;
date: default_2.Requireable<any>;
filterable: default_2.Requireable<boolean>;
fileName: default_2.Requireable<string>;
forceProxy: default_2.Requireable<boolean>;
group: default_2.Requireable<any>;
headerPaddingCellOptions: default_2.Requireable<any>;
paddingCellOptions: default_2.Requireable<any>;
proxyURL: default_2.Requireable<string>;
dir: default_2.Requireable<string>;
hierarchy: default_2.Requireable<boolean>;
collapsible: default_2.Requireable<boolean>;
};
/**
* @hidden
*/
static defaultProps: {
fileName: string;
forceProxy: boolean;
collapsible: boolean;
};
private readonly showLicenseWatermark;
private readonly licenseMessage?;
constructor(props: ExcelExportProps);
/**
* Saves the data to Excel.
*
* @param exportData - An optional parameter. Can be the data that will be exported or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
* @param columns - An optional parameter. If present, it will be used instead of the columns prop or the child column components.
*/
save(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: ExcelExportColumnProps[] | React_2.ReactElement<ExcelExportColumnProps>[]): void;
/**
* Returns a promise which will be resolved with the file data URI.
*
* @param exportData - The optional data or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions) that will be used to generate the data URI.
* @param externalColumns - The optional columns that will be used.
* @returns {Promise<string>} - The promise that will be resolved by the file data URI.
*/
toDataURL(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: any[]): Promise<string>;
/**
* Based on the specified columns and data, returns [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
*
* @param exportData - The optional data that will be exported.
* @param externalColumns - The optional columns that will be used.
* @returns {WorkbookOptions} - The workbook options.
*/
workbookOptions(exportData?: any[] | ExcelExportData, externalColumns?: ExcelExportColumnProps[] | React_2.ReactElement<ExcelExportColumnProps>[]): WorkbookOptions;
/**
* @hidden
*/
render(): JSX.Element;
protected saveFile: (dataURL: string) => void;
private extractColumns;
private extractChild;
private getExportData;
}
/**
* Represents the columns of the KendoReact ExcelExport component.
*
* @returns null
*/
export declare const ExcelExportColumn: React_2.FunctionComponent<ExcelExportColumnProps>;
/**
* Represents the column group component of the KendoReact ExcelExport component.
*
* @returns null
*/
export declare const ExcelExportColumnGroup: React_2.FunctionComponent<ExcelExportColumnGroupProps>;
export declare interface ExcelExportColumnGroupProps extends ColumnBase {
}
/**
* Represents the props of the KendoReact ExcelExportColumnProps component.
*/
export declare interface ExcelExportColumnProps extends ColumnBase {
/**
* The options of the column data cells.
*/
cellOptions?: CellOptions;
/**
* The field to which the column is bound.
*/
field?: string;
/**
* The options of the column footer cell.
*/
footerCellOptions?: CellOptions;
/**
* The column footer. Can be a function or a React component.
*/
footer?: Function | ExcelExportFooter;
/**
* The options of the column group footer cells.
*/
groupFooterCellOptions?: CellOptions;
/**
* The footer of the group. Can be a function or a React component.
*/
groupFooter?: Function | ExcelExportGroupFooter;
/**
* The options of the column group header cells.
*/
groupHeaderCellOptions?: CellOptions;
/**
* The header of the group. Can be a function or a React component.
*/
groupHeader?: Function | ExcelExportGroupHeader;
}
/**
* The type that is expected for the ExcelExportComponent `data`.
*/
export declare interface ExcelExportData {
/**
* The exported data. If grouped, structure the data as described in the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) of the KendoReact Data Query component.
*/
data?: any[];
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) of the KendoReact Data Query component.
*/
group?: any[];
}
/**
* Represents the return type of ExcelExportExportEvent.
*/
export declare type ExcelExportExportEvent = {
/**
* The target of the ExcelExportExportEvent from ExcelExport.
*/
target: ExcelExport;
};
/**
* Represents the footer of column.
*/
export declare class ExcelExportFooter extends React_2.PureComponent<ExcelExportFooterProps> {
}
/**
* Represents the props that will be passed to the ExcelExportFooter component when the template is rendered.
*/
export declare interface ExcelExportFooterProps {
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The index of the current column within the grid.
*/
columnIndex: number;
}
/**
* Represents the footer of the column group.
*/
export declare class ExcelExportGroupFooter extends React_2.PureComponent<ExcelExportGroupFooterProps> {
}
/**
* Represents the props that will be passed to the ExcelExportGroupFooter component when the template is rendered.
*/
export declare interface ExcelExportGroupFooterProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
}
/**
* Represents the header of the column group.
*/
export declare class ExcelExportGroupHeader extends React_2.PureComponent<ExcelExportGroupHeaderProps> {
}
/**
* Represents the props that will be passed to the ExcelExportGroupHeader component when the template is rendered.
*/
export declare interface ExcelExportGroupHeaderProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
/**
* The value that identifies the current group.
*/
value: any;
}
/**
* Represents the props of the KendoReact ExcelExport component.
*/
export declare interface ExcelExportProps {
/**
* @hidden
*/
children?: any;
/**
* Pass the columns through the component props. If you provide both the `columns` prop and the child column components, the component uses the columns from props.
*/
columns?: ExcelExportColumnProps[];
/**
* The creator of the workbook.
*/
creator?: string;
/**
* The exported data. If grouped, structure the data as described by the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) option of the KendoReact Data Query component.
*/
data?: any[];
/**
* The date on which the workbook is created.
*
* @default new Date()
*/
date?: Date;
/**
* Enables or disables the column filtering in the Excel file.
*/
filterable?: boolean;
/**
* Specifies the name of the file that is exported to Excel.
*
* @default "Export.xlsx"
*/
fileName?: string;
/**
* If set to `true`, the content is forwarded to `proxyURL` even if the browser supports saving files locally.
*
* @default false
*/
forceProxy?: boolean;
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) option of the KendoReact Data Query component.
*/
group?: any[];
/**
* The options of the cells that are inserted before the header cells to align the headers and the column values (when the data is grouped).
*/
headerPaddingCellOptions?: CellOptions;
/**
* The options of the cells that are inserted before the data, group, and footer cells to indicate the group hierarchy (when the data is grouped).
*/
paddingCellOptions?: CellOptions;
/**
* The URL of the server-side proxy which streams the file to the end user. When the browser cannot save files locally—for example, Internet Explorer 9 and earlier, and Safari—a proxy is used. You must implement the server-side proxy.
*
* The proxy receives a `POST` request with the following parameters in the request body:
* - `contentType`&mdash;The MIME type of the file.
* - `base64`&mdash;The base-64 encoded file content.
* - `fileName`&mdash;The file name, as requested by the caller. The proxy is expected to return the decoded file with the **Content-Disposition** header set to `attachment; filename="<fileName.xslx>"`.
*/
proxyURL?: string;
/**
* If set to `rtl`, the Excel file is rendered in the right-to-left mode.
*/
dir?: string;
/**
* If set to `true`, the data is exported as a tree based on the `level` property of each data record.
*/
hierarchy?: boolean;
/**
* Enables or disables collapsible (grouped) rows in the exported file.
*
* @default false
*/
collapsible?: boolean;
/**
* Triggered after the export is complete.
*/
onExportComplete?: (event: ExcelExportExportEvent) => void;
}
/**
* @hidden
*/
export declare const isWorkbookOptions: (value: any) => boolean;
export { KendoOoxml }
/**
* @hidden
*/
export declare const toDataURL: (options: WorkbookOptions) => Promise<string>;
/**
* @hidden
*/
export declare const workbookOptions: (options: ExcelExportProps) => WorkbookOptions;
export { }
export { ExcelExport, ExcelExportData, ExcelExportProps, ExcelExportExportEvent, ExcelExportColumnGroup, ExcelExportColumnGroupProps, ExcelExportFooter, ExcelExportFooterProps, ExcelExportColumn, ExcelExportColumnProps, ColumnBase, ExcelExportGroupFooter, ExcelExportGroupFooterProps, ExcelExportGroupHeader, ExcelExportGroupHeaderProps, CellOptions, KendoOoxml };
export * from './ooxml/workbook.js';
+11
-452

@@ -8,454 +8,13 @@ /**

*/
import { AggregateResult } from '@progress/kendo-data-query';
import { default as default_2 } from 'prop-types';
import { GroupResult } from '@progress/kendo-data-query';
import { JSX } from 'react/jsx-runtime';
import { ExcelExport, ExcelExportProps, ExcelExportExportEvent } from './ExcelExport.js';
import { ExcelExportData } from './ExcelExportData.js';
import { ExcelExportColumn, ExcelExportColumnProps } from './ExcelExportColumn.js';
import { ExcelExportColumnGroup, ExcelExportColumnGroupProps } from './ExcelExportColumnGroup.js';
import { ColumnBase } from './ColumnBase.js';
import { CellOptions } from './ooxml/CellOptionsInterface.js';
import { ExcelExportFooter, ExcelExportFooterProps } from './templates/ExcelExportFooter.js';
import { ExcelExportGroupFooter, ExcelExportGroupFooterProps } from './templates/ExcelExportGroupFooter.js';
import { ExcelExportGroupHeader, ExcelExportGroupHeaderProps } from './templates/ExcelExportGroupHeader.js';
import * as KendoOoxml from '@progress/kendo-ooxml';
import * as React_2 from 'react';
import { WorkbookOptions } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderBottom } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderLeft } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderRight } from '@progress/kendo-ooxml';
import { WorkbookSheetRowCellBorderTop } from '@progress/kendo-ooxml';
/**
* The options for the Excel Export cell.
*/
export declare interface CellOptions {
/**
* Sets the background color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
background?: string;
/**
* The style information for the bottom border of the cell.
*/
borderBottom?: WorkbookSheetRowCellBorderBottom;
/**
* The style information for the left border of the cell.
*/
borderLeft?: WorkbookSheetRowCellBorderLeft;
/**
* The style information for the top border of the cell.
*/
borderTop?: WorkbookSheetRowCellBorderTop;
/**
* The style information for the right border of the cell.
*/
borderRight?: WorkbookSheetRowCellBorderRight;
/**
* If set to `true`, renders the cell value in bold.
*/
bold?: boolean;
/**
* The text color of the cell. Supports hex CSS-like values that start with `"#"`. For example, `"#ff00ff"`.
*/
color?: string;
/**
* Sets the font that is used to display the cell value.
*/
fontFamily?: string;
/**
* Sets the font size in pixels.
*/
fontSize?: number;
/**
* Sets the format that Excel uses to display the cell value. For more information, refer to the page on [supported Excel formats](https://support.office.com/en-us/article/Create-or-delete-a-custom-number-format-78f2a361-936b-4c03-8772-09fab54be7f4).
*/
format?: string;
/**
* If set to `true`, renders the cell value in italics.
*/
italic?: boolean;
/**
* Sets the horizontal alignment of the cell value.
*
* The supported values are:
* * `"left"`
* * `"center"`
* * `"right"`
*/
textAlign?: 'left' | 'center' | 'right';
/**
* If set to `true`, underlines the cell value.
*/
underline?: boolean;
/**
* If set to `true`, wraps the cell value.
*/
wrap?: boolean;
/**
* Sets the vertical alignment of the cell value.
*
* The supported values are:
* * `"top"`
* * `"center"`
* * `"bottom"`
*/
verticalAlign?: 'top' | 'center' | 'bottom';
}
/**
* @hidden
*/
export declare interface ColumnBase {
/**
* @hidden
*/
children?: any;
/**
* The options of the column header cell.
*/
headerCellOptions?: CellOptions;
/**
* Sets the visibility of the column.
*
* @default false
*/
hidden?: boolean;
/**
* @hidden
*/
level?: number;
/**
* Toggles the locked (frozen) state of the column.
*
* @default false
*/
locked?: boolean;
/**
* The title of the column.
*/
title?: string;
/**
* The width of the column in pixels.
*/
width?: number;
}
/**
* Represents the KendoReact ExcelExport component.
*
* @remarks
* Supported children components are: {@link ExcelExportColumn}.
*/
export declare class ExcelExport extends React_2.Component<ExcelExportProps> {
/**
* @hidden
*/
static propTypes: {
children: default_2.Requireable<any>;
columns: default_2.Requireable<any[]>;
creator: default_2.Requireable<string>;
data: default_2.Requireable<any>;
date: default_2.Requireable<any>;
filterable: default_2.Requireable<boolean>;
fileName: default_2.Requireable<string>;
forceProxy: default_2.Requireable<boolean>;
group: default_2.Requireable<any>;
headerPaddingCellOptions: default_2.Requireable<any>;
paddingCellOptions: default_2.Requireable<any>;
proxyURL: default_2.Requireable<string>;
dir: default_2.Requireable<string>;
hierarchy: default_2.Requireable<boolean>;
collapsible: default_2.Requireable<boolean>;
};
/**
* @hidden
*/
static defaultProps: {
fileName: string;
forceProxy: boolean;
collapsible: boolean;
};
private readonly showLicenseWatermark;
private readonly licenseMessage?;
constructor(props: ExcelExportProps);
/**
* Saves the data to Excel.
*
* @param exportData - An optional parameter. Can be the data that will be exported or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
* @param columns - An optional parameter. If present, it will be used instead of the columns prop or the child column components.
*/
save(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: ExcelExportColumnProps[] | React_2.ReactElement<ExcelExportColumnProps>[]): void;
/**
* Returns a promise which will be resolved with the file data URI.
*
* @param exportData - The optional data or the [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions) that will be used to generate the data URI.
* @param externalColumns - The optional columns that will be used.
* @returns {Promise<string>} - The promise that will be resolved by the file data URI.
*/
toDataURL(exportData?: any[] | ExcelExportData | WorkbookOptions, columns?: any[]): Promise<string>;
/**
* Based on the specified columns and data, returns [`WorkbookOptions`](https://www.telerik.com/kendo-react-ui/components/excel/api/kendoooxml#toc-workbookoptions).
*
* @param exportData - The optional data that will be exported.
* @param externalColumns - The optional columns that will be used.
* @returns {WorkbookOptions} - The workbook options.
*/
workbookOptions(exportData?: any[] | ExcelExportData, externalColumns?: ExcelExportColumnProps[] | React_2.ReactElement<ExcelExportColumnProps>[]): WorkbookOptions;
/**
* @hidden
*/
render(): JSX.Element;
protected saveFile: (dataURL: string) => void;
private extractColumns;
private extractChild;
private getExportData;
}
/**
* Represents the columns of the KendoReact ExcelExport component.
*
* @returns null
*/
export declare const ExcelExportColumn: React_2.FunctionComponent<ExcelExportColumnProps>;
/**
* Represents the column group component of the KendoReact ExcelExport component.
*
* @returns null
*/
export declare const ExcelExportColumnGroup: React_2.FunctionComponent<ExcelExportColumnGroupProps>;
export declare interface ExcelExportColumnGroupProps extends ColumnBase {
}
/**
* Represents the props of the KendoReact ExcelExportColumnProps component.
*/
export declare interface ExcelExportColumnProps extends ColumnBase {
/**
* The options of the column data cells.
*/
cellOptions?: CellOptions;
/**
* The field to which the column is bound.
*/
field?: string;
/**
* The options of the column footer cell.
*/
footerCellOptions?: CellOptions;
/**
* The column footer. Can be a function or a React component.
*/
footer?: Function | ExcelExportFooter;
/**
* The options of the column group footer cells.
*/
groupFooterCellOptions?: CellOptions;
/**
* The footer of the group. Can be a function or a React component.
*/
groupFooter?: Function | ExcelExportGroupFooter;
/**
* The options of the column group header cells.
*/
groupHeaderCellOptions?: CellOptions;
/**
* The header of the group. Can be a function or a React component.
*/
groupHeader?: Function | ExcelExportGroupHeader;
}
/**
* The type that is expected for the ExcelExportComponent `data`.
*/
export declare interface ExcelExportData {
/**
* The exported data. If grouped, structure the data as described in the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) of the KendoReact Data Query component.
*/
data?: any[];
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) of the KendoReact Data Query component.
*/
group?: any[];
}
/**
* Represents the return type of ExcelExportExportEvent.
*/
export declare type ExcelExportExportEvent = {
/**
* The target of the ExcelExportExportEvent from ExcelExport.
*/
target: ExcelExport;
};
/**
* Represents the footer of column.
*/
export declare class ExcelExportFooter extends React_2.PureComponent<ExcelExportFooterProps> {
}
/**
* Represents the props that will be passed to the ExcelExportFooter component when the template is rendered.
*/
export declare interface ExcelExportFooterProps {
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The index of the current column within the grid.
*/
columnIndex: number;
}
/**
* Represents the footer of the column group.
*/
export declare class ExcelExportGroupFooter extends React_2.PureComponent<ExcelExportGroupFooterProps> {
}
/**
* Represents the props that will be passed to the ExcelExportGroupFooter component when the template is rendered.
*/
export declare interface ExcelExportGroupFooterProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The column configuration object for the current column.
*/
column: ExcelExportColumnProps;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
}
/**
* Represents the header of the column group.
*/
export declare class ExcelExportGroupHeader extends React_2.PureComponent<ExcelExportGroupHeaderProps> {
}
/**
* Represents the props that will be passed to the ExcelExportGroupHeader component when the template is rendered.
*/
export declare interface ExcelExportGroupHeaderProps {
/**
* The field name by which the data is grouped.
*/
field: string;
/**
* The aggregate calculation results for the current group.
*/
aggregates: AggregateResult;
/**
* The group data and metadata for the current group.
*/
group: GroupResult;
/**
* The value that identifies the current group.
*/
value: any;
}
/**
* Represents the props of the KendoReact ExcelExport component.
*/
export declare interface ExcelExportProps {
/**
* @hidden
*/
children?: any;
/**
* Pass the columns through the component props. If you provide both the `columns` prop and the child column components, the component uses the columns from props.
*/
columns?: ExcelExportColumnProps[];
/**
* The creator of the workbook.
*/
creator?: string;
/**
* The exported data. If grouped, structure the data as described by the [`GroupResult`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupresult) option of the KendoReact Data Query component.
*/
data?: any[];
/**
* The date on which the workbook is created.
*
* @default new Date()
*/
date?: Date;
/**
* Enables or disables the column filtering in the Excel file.
*/
filterable?: boolean;
/**
* Specifies the name of the file that is exported to Excel.
*
* @default "Export.xlsx"
*/
fileName?: string;
/**
* If set to `true`, the content is forwarded to `proxyURL` even if the browser supports saving files locally.
*
* @default false
*/
forceProxy?: boolean;
/**
* The exported data groups. The groups must be compatible with the [`GroupDescriptor`](https://www.telerik.com/kendo-react-ui/components/datatools/api/groupdescriptor) option of the KendoReact Data Query component.
*/
group?: any[];
/**
* The options of the cells that are inserted before the header cells to align the headers and the column values (when the data is grouped).
*/
headerPaddingCellOptions?: CellOptions;
/**
* The options of the cells that are inserted before the data, group, and footer cells to indicate the group hierarchy (when the data is grouped).
*/
paddingCellOptions?: CellOptions;
/**
* The URL of the server-side proxy which streams the file to the end user. When the browser cannot save files locally—for example, Internet Explorer 9 and earlier, and Safari—a proxy is used. You must implement the server-side proxy.
*
* The proxy receives a `POST` request with the following parameters in the request body:
* - `contentType`&mdash;The MIME type of the file.
* - `base64`&mdash;The base-64 encoded file content.
* - `fileName`&mdash;The file name, as requested by the caller. The proxy is expected to return the decoded file with the **Content-Disposition** header set to `attachment; filename="<fileName.xslx>"`.
*/
proxyURL?: string;
/**
* If set to `rtl`, the Excel file is rendered in the right-to-left mode.
*/
dir?: string;
/**
* If set to `true`, the data is exported as a tree based on the `level` property of each data record.
*/
hierarchy?: boolean;
/**
* Enables or disables collapsible (grouped) rows in the exported file.
*
* @default false
*/
collapsible?: boolean;
/**
* Triggered after the export is complete.
*/
onExportComplete?: (event: ExcelExportExportEvent) => void;
}
/**
* @hidden
*/
export declare const isWorkbookOptions: (value: any) => boolean;
export { KendoOoxml }
/**
* @hidden
*/
export declare const toDataURL: (options: WorkbookOptions) => Promise<string>;
/**
* @hidden
*/
export declare const workbookOptions: (options: ExcelExportProps) => WorkbookOptions;
export { }
export { ExcelExport, ExcelExportData, ExcelExportProps, ExcelExportExportEvent, ExcelExportColumnGroup, ExcelExportColumnGroupProps, ExcelExportFooter, ExcelExportFooterProps, ExcelExportColumn, ExcelExportColumnProps, ColumnBase, ExcelExportGroupFooter, ExcelExportGroupFooterProps, ExcelExportGroupHeader, ExcelExportGroupHeaderProps, CellOptions, KendoOoxml };
export * from './ooxml/workbook.js';

@@ -8,2 +8,2 @@ /**

*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-excel-export",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1768550531,version:"13.3.0",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-excel-export",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1770219084,version:"13.4.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;

@@ -0,19 +1,13 @@

// Generated file. DO NOT EDIT.
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
* @hidden
*/
const e = Object.freeze({
name: "@progress/kendo-react-excel-export",
productName: "KendoReact",
productCode: "KENDOUIREACT",
productCodes: ["KENDOUIREACT"],
publishDate: 1768550531,
version: "13.3.0",
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
export const packageMetadata = Object.freeze({
name: '@progress/kendo-react-excel-export',
productName: 'KendoReact',
productCode: 'KENDOUIREACT',
productCodes: ['KENDOUIREACT'],
publishDate: 0,
version: '13.4.0-develop.1',
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/components/my-license/'
});
export {
e as packageMetadata
};
{
"name": "@progress/kendo-react-excel-export",
"version": "13.3.0",
"version": "13.4.0-develop.1",
"description": "React Excel export helps you export and save data to Excel files and customize or filter the output. KendoReact Excel Export package",

@@ -30,3 +30,3 @@ "author": "Progress",

"@progress/kendo-data-query": "^1.7.2",
"@progress/kendo-react-common": "13.3.0",
"@progress/kendo-react-common": "13.4.0-develop.1",
"react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",

@@ -59,3 +59,3 @@ "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"

"productCode": "KENDOUIREACT",
"publishDate": 1768550531,
"publishDate": 1770219084,
"licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"

@@ -62,0 +62,0 @@ }