@progress/kendo-react-spreadsheet 5.14.0-dev.202305151331
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.
- package/LICENSE.md +11 -0
- package/NOTICE.txt +117 -0
- package/README.md +46 -0
- package/about.md +3 -0
- package/dist/cdn/js/kendo-react-spreadsheet.js +1 -0
- package/dist/es/FormulaInput.d.ts +5 -0
- package/dist/es/FormulaInput.js +116 -0
- package/dist/es/List.d.ts +5 -0
- package/dist/es/List.js +17 -0
- package/dist/es/NameBox.d.ts +5 -0
- package/dist/es/NameBox.js +88 -0
- package/dist/es/SheetsBar.d.ts +5 -0
- package/dist/es/SheetsBar.js +233 -0
- package/dist/es/Spreadsheet.d.ts +3 -0
- package/dist/es/Spreadsheet.js +206 -0
- package/dist/es/SpreadsheetProps.d.ts +104 -0
- package/dist/es/SpreadsheetProps.js +1 -0
- package/dist/es/main.d.ts +3 -0
- package/dist/es/main.js +2 -0
- package/dist/es/messages.d.ts +76 -0
- package/dist/es/messages.js +208 -0
- package/dist/es/package-metadata.d.ts +5 -0
- package/dist/es/package-metadata.js +11 -0
- package/dist/es/tools/align.d.ts +9 -0
- package/dist/es/tools/align.js +39 -0
- package/dist/es/tools/backgroundColor.d.ts +5 -0
- package/dist/es/tools/backgroundColor.js +12 -0
- package/dist/es/tools/bold.d.ts +5 -0
- package/dist/es/tools/bold.js +5 -0
- package/dist/es/tools/defaultTools.d.ts +2 -0
- package/dist/es/tools/defaultTools.js +42 -0
- package/dist/es/tools/export.d.ts +5 -0
- package/dist/es/tools/export.js +16 -0
- package/dist/es/tools/fontFamily.d.ts +5 -0
- package/dist/es/tools/fontFamily.js +18 -0
- package/dist/es/tools/fontSize.d.ts +5 -0
- package/dist/es/tools/fontSize.js +20 -0
- package/dist/es/tools/format.d.ts +5 -0
- package/dist/es/tools/format.js +23 -0
- package/dist/es/tools/gridLines.d.ts +6 -0
- package/dist/es/tools/gridLines.js +22 -0
- package/dist/es/tools/index.d.ts +17 -0
- package/dist/es/tools/index.js +17 -0
- package/dist/es/tools/italic.d.ts +5 -0
- package/dist/es/tools/italic.js +5 -0
- package/dist/es/tools/open.d.ts +5 -0
- package/dist/es/tools/open.js +33 -0
- package/dist/es/tools/redo.d.ts +5 -0
- package/dist/es/tools/redo.js +5 -0
- package/dist/es/tools/tableTools.d.ts +20 -0
- package/dist/es/tools/tableTools.js +72 -0
- package/dist/es/tools/textColor.d.ts +5 -0
- package/dist/es/tools/textColor.js +12 -0
- package/dist/es/tools/textWrap.d.ts +6 -0
- package/dist/es/tools/textWrap.js +23 -0
- package/dist/es/tools/underline.d.ts +5 -0
- package/dist/es/tools/underline.js +5 -0
- package/dist/es/tools/undo.d.ts +5 -0
- package/dist/es/tools/undo.js +5 -0
- package/dist/es/tools/utils.d.ts +79 -0
- package/dist/es/tools/utils.js +102 -0
- package/dist/npm/FormulaInput.d.ts +5 -0
- package/dist/npm/FormulaInput.js +119 -0
- package/dist/npm/List.d.ts +5 -0
- package/dist/npm/List.js +20 -0
- package/dist/npm/NameBox.d.ts +5 -0
- package/dist/npm/NameBox.js +91 -0
- package/dist/npm/SheetsBar.d.ts +5 -0
- package/dist/npm/SheetsBar.js +237 -0
- package/dist/npm/Spreadsheet.d.ts +3 -0
- package/dist/npm/Spreadsheet.js +209 -0
- package/dist/npm/SpreadsheetProps.d.ts +104 -0
- package/dist/npm/SpreadsheetProps.js +2 -0
- package/dist/npm/main.d.ts +3 -0
- package/dist/npm/main.js +20 -0
- package/dist/npm/messages.d.ts +76 -0
- package/dist/npm/messages.js +211 -0
- package/dist/npm/package-metadata.d.ts +5 -0
- package/dist/npm/package-metadata.js +14 -0
- package/dist/npm/tools/align.d.ts +9 -0
- package/dist/npm/tools/align.js +43 -0
- package/dist/npm/tools/backgroundColor.d.ts +5 -0
- package/dist/npm/tools/backgroundColor.js +15 -0
- package/dist/npm/tools/bold.d.ts +5 -0
- package/dist/npm/tools/bold.js +8 -0
- package/dist/npm/tools/defaultTools.d.ts +2 -0
- package/dist/npm/tools/defaultTools.js +45 -0
- package/dist/npm/tools/export.d.ts +5 -0
- package/dist/npm/tools/export.js +20 -0
- package/dist/npm/tools/fontFamily.d.ts +5 -0
- package/dist/npm/tools/fontFamily.js +22 -0
- package/dist/npm/tools/fontSize.d.ts +5 -0
- package/dist/npm/tools/fontSize.js +24 -0
- package/dist/npm/tools/format.d.ts +5 -0
- package/dist/npm/tools/format.js +27 -0
- package/dist/npm/tools/gridLines.d.ts +6 -0
- package/dist/npm/tools/gridLines.js +26 -0
- package/dist/npm/tools/index.d.ts +17 -0
- package/dist/npm/tools/index.js +33 -0
- package/dist/npm/tools/italic.d.ts +5 -0
- package/dist/npm/tools/italic.js +8 -0
- package/dist/npm/tools/open.d.ts +5 -0
- package/dist/npm/tools/open.js +37 -0
- package/dist/npm/tools/redo.d.ts +5 -0
- package/dist/npm/tools/redo.js +8 -0
- package/dist/npm/tools/tableTools.d.ts +20 -0
- package/dist/npm/tools/tableTools.js +75 -0
- package/dist/npm/tools/textColor.d.ts +5 -0
- package/dist/npm/tools/textColor.js +15 -0
- package/dist/npm/tools/textWrap.d.ts +6 -0
- package/dist/npm/tools/textWrap.js +27 -0
- package/dist/npm/tools/underline.d.ts +5 -0
- package/dist/npm/tools/underline.js +8 -0
- package/dist/npm/tools/undo.d.ts +5 -0
- package/dist/npm/tools/undo.js +8 -0
- package/dist/npm/tools/utils.d.ts +79 -0
- package/dist/npm/tools/utils.js +108 -0
- package/dist/systemjs/kendo-react-spreadsheet.js +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Spreadsheet = void 0;
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const PropTypes = require("prop-types");
|
|
6
|
+
const kendo_spreadsheet_common_1 = require("@progress/kendo-spreadsheet-common");
|
|
7
|
+
const kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
|
|
8
|
+
const kendo_react_layout_1 = require("@progress/kendo-react-layout");
|
|
9
|
+
const undo_1 = require("./tools/undo");
|
|
10
|
+
const redo_1 = require("./tools/redo");
|
|
11
|
+
const FormulaInput_1 = require("./FormulaInput");
|
|
12
|
+
const NameBox_1 = require("./NameBox");
|
|
13
|
+
const SheetsBar_1 = require("./SheetsBar");
|
|
14
|
+
const defaultTools_1 = require("./tools/defaultTools");
|
|
15
|
+
const kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
16
|
+
const package_metadata_1 = require("./package-metadata");
|
|
17
|
+
const kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
|
|
18
|
+
const kendo_react_intl_1 = require("@progress/kendo-react-intl");
|
|
19
|
+
const messages_1 = require("./messages");
|
|
20
|
+
const toolsFunctions = ['bold', 'italic', 'underline', 'fontFamily', 'fontSize', 'color', 'background', 'textAlign', 'verticalAlign', 'wrap', 'gridLines'];
|
|
21
|
+
const toolsValueMap = {
|
|
22
|
+
Bold: (state) => state.bold,
|
|
23
|
+
Italic: (state) => state.italic,
|
|
24
|
+
Underline: (state) => state.underline,
|
|
25
|
+
FontFamily: (state) => state.fontFamily,
|
|
26
|
+
FontSize: (state) => state.fontSize,
|
|
27
|
+
TextColor: (state) => state.color,
|
|
28
|
+
BackgroundColor: (state) => state.background,
|
|
29
|
+
Alignment: (state) => ({ textAlign: state.textAlign, verticalAlign: state.verticalAlign }),
|
|
30
|
+
Wrap: (state) => state.wrap,
|
|
31
|
+
GridLines: (state) => state.gridLines
|
|
32
|
+
};
|
|
33
|
+
const noInnerButton = ':not(.k-dropdownlist button)' +
|
|
34
|
+
':not(.k-combobox button)' +
|
|
35
|
+
':not(.k-upload-button)' +
|
|
36
|
+
':not(.k-colorpicker button)' +
|
|
37
|
+
':not(.k-split-button .k-split-button-arrow)';
|
|
38
|
+
const toolbarButtons = [
|
|
39
|
+
'button' + noInnerButton,
|
|
40
|
+
'.k-button-group > button' + noInnerButton,
|
|
41
|
+
'.k-dropdownlist',
|
|
42
|
+
'.k-combobox',
|
|
43
|
+
'.k-colorpicker'
|
|
44
|
+
];
|
|
45
|
+
exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
46
|
+
(0, kendo_react_common_1.validatePackage)(package_metadata_1.packageMetadata);
|
|
47
|
+
const [tab, setTab] = React.useState(0);
|
|
48
|
+
const [_init, setInit] = React.useState(false);
|
|
49
|
+
const elementRef = React.useRef(null);
|
|
50
|
+
const formulaBarInputRef = React.useRef(null);
|
|
51
|
+
const formulaCellInputRef = React.useRef(null);
|
|
52
|
+
const nameBoxRef = React.useRef(null);
|
|
53
|
+
const spreadsheetRef = React.useRef(null);
|
|
54
|
+
const [toolsState, setToolsState] = React.useState({});
|
|
55
|
+
const prevState = React.useRef({});
|
|
56
|
+
prevState.current = toolsState;
|
|
57
|
+
const propsRef = React.useRef({});
|
|
58
|
+
propsRef.current = props;
|
|
59
|
+
const onRender = React.useCallback((event) => {
|
|
60
|
+
if (propsRef.current.onRender) {
|
|
61
|
+
propsRef.current.onRender.call(undefined, event);
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
const onSelect = React.useCallback((event) => {
|
|
65
|
+
if (propsRef.current.onSelect) {
|
|
66
|
+
propsRef.current.onSelect.call(undefined, event);
|
|
67
|
+
}
|
|
68
|
+
}, []);
|
|
69
|
+
const onChange = React.useCallback((event) => {
|
|
70
|
+
if (propsRef.current.onChange) {
|
|
71
|
+
propsRef.current.onChange.call(undefined, event);
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
74
|
+
const onChangeFormat = React.useCallback((event) => {
|
|
75
|
+
if (propsRef.current.onChangeFormat) {
|
|
76
|
+
propsRef.current.onChangeFormat.call(undefined, event);
|
|
77
|
+
}
|
|
78
|
+
}, []);
|
|
79
|
+
const onExcelImport = React.useCallback((event) => {
|
|
80
|
+
if (propsRef.current.onExcelImport) {
|
|
81
|
+
propsRef.current.onExcelImport.call(undefined, event);
|
|
82
|
+
}
|
|
83
|
+
}, []);
|
|
84
|
+
const onExcelExport = React.useCallback((event) => {
|
|
85
|
+
if (propsRef.current.onExcelExport) {
|
|
86
|
+
propsRef.current.onExcelExport.call(undefined, event);
|
|
87
|
+
}
|
|
88
|
+
}, []);
|
|
89
|
+
const target = React.useRef(null);
|
|
90
|
+
React.useImperativeHandle(target, () => ({
|
|
91
|
+
element: elementRef.current,
|
|
92
|
+
get instance() { return spreadsheetRef.current; },
|
|
93
|
+
props
|
|
94
|
+
}), [props]);
|
|
95
|
+
React.useImperativeHandle(ref, () => target.current);
|
|
96
|
+
const nameEditor = React.useCallback(() => {
|
|
97
|
+
return spreadsheetRef.current && spreadsheetRef.current.view.nameEditor;
|
|
98
|
+
}, []);
|
|
99
|
+
const onUpdateTools = React.useCallback((e) => {
|
|
100
|
+
const state = {};
|
|
101
|
+
toolsFunctions.forEach(tool => {
|
|
102
|
+
if (typeof e.range[tool] === 'function') {
|
|
103
|
+
state[tool] = e.range[tool]();
|
|
104
|
+
}
|
|
105
|
+
else if (tool === 'gridLines') {
|
|
106
|
+
state[tool] = e.range.sheet().showGridLines();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
if (toolsFunctions.some(k => state[k] !== prevState.current[k])) {
|
|
110
|
+
setToolsState(state);
|
|
111
|
+
}
|
|
112
|
+
}, []);
|
|
113
|
+
const intl = (0, kendo_react_intl_1.useInternationalization)();
|
|
114
|
+
const localization = (0, kendo_react_intl_1.useLocalization)();
|
|
115
|
+
React.useEffect(() => {
|
|
116
|
+
var _a;
|
|
117
|
+
const options = Object.assign(Object.assign({}, props.defaultProps), { sheets: structuredClone((_a = props.defaultProps) === null || _a === void 0 ? void 0 : _a.sheets), messages: {
|
|
118
|
+
workbook: {
|
|
119
|
+
defaultSheetName: localization.toLanguageString(messages_1.keys.defaultSheetName, messages_1.messages[messages_1.keys.defaultSheetName])
|
|
120
|
+
}
|
|
121
|
+
}, intl: {
|
|
122
|
+
localeInfo: () => intl.localeInfo(),
|
|
123
|
+
parseDate: (value, fmt) => intl.parseDate(value, fmt),
|
|
124
|
+
toString: (value, fmt) => intl.toString(value, fmt),
|
|
125
|
+
format: (fmt, ...values) => intl.format(fmt, ...values)
|
|
126
|
+
}, formulaBarInputRef,
|
|
127
|
+
formulaCellInputRef,
|
|
128
|
+
nameBoxRef });
|
|
129
|
+
const spreadsheet = new kendo_spreadsheet_common_1.Spreadsheet(elementRef.current, options);
|
|
130
|
+
spreadsheetRef.current = spreadsheet;
|
|
131
|
+
spreadsheet.bind('render', onRender);
|
|
132
|
+
spreadsheet.bind('select', onSelect);
|
|
133
|
+
spreadsheet.bind('change', onChange);
|
|
134
|
+
spreadsheet.bind('changeFormat', onChangeFormat);
|
|
135
|
+
spreadsheet.bind('excelImport', onExcelImport);
|
|
136
|
+
spreadsheet.bind('excelExport', onExcelExport);
|
|
137
|
+
spreadsheet.view.bind('update', onUpdateTools);
|
|
138
|
+
const sheet = spreadsheet.activeSheet();
|
|
139
|
+
if (sheet) {
|
|
140
|
+
onUpdateTools({ range: sheet.range(sheet.activeCell()) });
|
|
141
|
+
}
|
|
142
|
+
setInit(true);
|
|
143
|
+
const quickAccessToolbar = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-quick-access-toolbar');
|
|
144
|
+
const tabstripItems = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-tabstrip .k-tabstrip-items');
|
|
145
|
+
if (quickAccessToolbar && tabstripItems) {
|
|
146
|
+
tabstripItems.style.paddingLeft = quickAccessToolbar.offsetWidth + 'px';
|
|
147
|
+
}
|
|
148
|
+
return () => {
|
|
149
|
+
spreadsheet.destroy();
|
|
150
|
+
};
|
|
151
|
+
}, []);
|
|
152
|
+
const renderTool = React.useCallback((Tool, index) => {
|
|
153
|
+
const tool = (React.createElement(Tool, { spreadsheetRef: spreadsheetRef, value: toolsValueMap[Tool.displayName] ? toolsValueMap[Tool.displayName](toolsState) : undefined, key: index }));
|
|
154
|
+
return tool.type === kendo_react_buttons_1.ToolbarSeparator ? React.createElement(Tool, { key: index }) : tool;
|
|
155
|
+
}, [toolsState]);
|
|
156
|
+
const { toolbar = defaultTools_1.defaultTabs } = props;
|
|
157
|
+
const toolbarTools = [];
|
|
158
|
+
if (typeof toolbar === 'boolean') {
|
|
159
|
+
toolbarTools.push(...(toolbar ? defaultTools_1.defaultTabs : []));
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
toolbarTools.push(...toolbar);
|
|
163
|
+
}
|
|
164
|
+
let tabstrip = null;
|
|
165
|
+
if (toolbarTools.length) {
|
|
166
|
+
tabstrip = (React.createElement(kendo_react_layout_1.TabStrip, { selected: tab, animation: false, className: "k-floatwrap k-spreadsheet-tabstrip", style: { minHeight: 'auto' }, onSelect: e => setTab(e.selected) }, toolbarTools.map((tabData) => {
|
|
167
|
+
const title = tabData.textKey ? localization.toLanguageString(tabData.textKey, messages_1.messages[tabData.textKey]) : tabData.text;
|
|
168
|
+
return (React.createElement(kendo_react_layout_1.TabStripTab, { key: tabData.textKey || tabData.text, title: title },
|
|
169
|
+
React.createElement(kendo_react_buttons_1.Toolbar, { buttons: toolbarButtons, className: 'k-spreadsheet-toolbar' }, tabData.tools.map((tool, index) => {
|
|
170
|
+
if (Array.isArray(tool)) {
|
|
171
|
+
return (React.createElement(kendo_react_buttons_1.ButtonGroup, { key: index }, tool.map((t, i) => renderTool(t, i))));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
return renderTool(tool, index);
|
|
175
|
+
}
|
|
176
|
+
}))));
|
|
177
|
+
})));
|
|
178
|
+
}
|
|
179
|
+
return (React.createElement("div", { ref: elementRef, style: props.style, className: (0, kendo_react_common_1.classNames)('k-widget k-spreadsheet', props.className), role: "application" },
|
|
180
|
+
tabstrip && React.createElement("div", { className: "k-spreadsheet-quick-access-toolbar" },
|
|
181
|
+
React.createElement(undo_1.Undo, { spreadsheetRef: spreadsheetRef }),
|
|
182
|
+
React.createElement(redo_1.Redo, { spreadsheetRef: spreadsheetRef })),
|
|
183
|
+
tabstrip,
|
|
184
|
+
React.createElement("div", { className: "k-spreadsheet-action-bar" },
|
|
185
|
+
React.createElement(NameBox_1.NameBox, { ref: nameBoxRef, nameEditor: nameEditor }),
|
|
186
|
+
React.createElement("div", { className: "k-spreadsheet-formula-bar" },
|
|
187
|
+
React.createElement(kendo_react_common_1.IconWrap, { name: "formula-fx", icon: kendo_svg_icons_1.formulaFxIcon }),
|
|
188
|
+
React.createElement(FormulaInput_1.FormulaInput, { ref: formulaBarInputRef }))),
|
|
189
|
+
React.createElement("div", { className: "k-spreadsheet-view" },
|
|
190
|
+
React.createElement("div", { className: "k-spreadsheet-fixed-container" }),
|
|
191
|
+
React.createElement("div", { className: "k-spreadsheet-scroller" },
|
|
192
|
+
React.createElement("div", { className: "k-spreadsheet-view-size" })),
|
|
193
|
+
React.createElement("div", { tabIndex: 0, className: "k-spreadsheet-clipboard", contentEditable: "true" }),
|
|
194
|
+
React.createElement(FormulaInput_1.FormulaInput, { ref: formulaCellInputRef, className: "k-spreadsheet-cell-editor" })),
|
|
195
|
+
React.createElement(SheetsBar_1.SheetsBar, { spreadsheetRef: spreadsheetRef })));
|
|
196
|
+
});
|
|
197
|
+
exports.Spreadsheet.displayName = 'KendoReactSpreadsheet';
|
|
198
|
+
exports.Spreadsheet.propTypes = {
|
|
199
|
+
className: PropTypes.string,
|
|
200
|
+
defaultProps: PropTypes.any,
|
|
201
|
+
toolbar: PropTypes.oneOfType([PropTypes.bool, PropTypes.arrayOf(PropTypes.any)]),
|
|
202
|
+
style: PropTypes.object,
|
|
203
|
+
onRender: PropTypes.func,
|
|
204
|
+
onSelect: PropTypes.func,
|
|
205
|
+
onChange: PropTypes.func,
|
|
206
|
+
onChangeFormat: PropTypes.func,
|
|
207
|
+
onExcelImport: PropTypes.func,
|
|
208
|
+
onExcelExport: PropTypes.func
|
|
209
|
+
};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Workbook } from '@progress/kendo-ooxml';
|
|
3
|
+
import { SpreadsheetOptions, Spreadsheet as SpreadsheetInstance, Range as SpreadsheetRange } from '@progress/kendo-spreadsheet-common';
|
|
4
|
+
interface SpreadsheetEvent {
|
|
5
|
+
/**
|
|
6
|
+
* The widget instance which fired the event.
|
|
7
|
+
*/
|
|
8
|
+
sender: SpreadsheetInstance;
|
|
9
|
+
}
|
|
10
|
+
export interface SpreadsheetRenderEvent extends SpreadsheetEvent {
|
|
11
|
+
}
|
|
12
|
+
export interface SpreadsheetSelectEvent extends SpreadsheetEvent {
|
|
13
|
+
/**
|
|
14
|
+
* The Range that is selected.
|
|
15
|
+
*/
|
|
16
|
+
range: SpreadsheetRange;
|
|
17
|
+
}
|
|
18
|
+
export interface SpreadsheetChangeEvent extends SpreadsheetEvent, SpreadsheetSelectEvent {
|
|
19
|
+
}
|
|
20
|
+
export interface SpreadsheetExcelImportEvent extends SpreadsheetEvent {
|
|
21
|
+
/**
|
|
22
|
+
* The file that is being imported.
|
|
23
|
+
*/
|
|
24
|
+
file: Blob | File;
|
|
25
|
+
/**
|
|
26
|
+
* If invoked, the Spreadsheet will not import the file.
|
|
27
|
+
*/
|
|
28
|
+
preventDefault: Function;
|
|
29
|
+
}
|
|
30
|
+
export interface SpreadsheetExcelExportEvent extends SpreadsheetEvent {
|
|
31
|
+
/**
|
|
32
|
+
* The array of data items that is used to create the Excel workbook.
|
|
33
|
+
*/
|
|
34
|
+
data: Array<any>;
|
|
35
|
+
/**
|
|
36
|
+
* The Excel workbook configuration object.
|
|
37
|
+
* Modifications of the workbook will reflect in the output Excel document.
|
|
38
|
+
*/
|
|
39
|
+
workbook: Workbook;
|
|
40
|
+
/**
|
|
41
|
+
* If invoked, the Spreadsheet will not save the generated file.
|
|
42
|
+
*/
|
|
43
|
+
preventDefault: Function;
|
|
44
|
+
}
|
|
45
|
+
export interface Tab {
|
|
46
|
+
text?: string;
|
|
47
|
+
textKey?: string;
|
|
48
|
+
tools: (React.ComponentType<any> | React.ComponentType<any>[])[];
|
|
49
|
+
}
|
|
50
|
+
export interface SpreadsheetProps {
|
|
51
|
+
/**
|
|
52
|
+
* Sets additional classes to the Spreadsheet.
|
|
53
|
+
*/
|
|
54
|
+
className?: string;
|
|
55
|
+
defaultProps?: SpreadsheetOptions;
|
|
56
|
+
/**
|
|
57
|
+
* A Boolean value which indicates if the toolbar will be displayed. It also allows to customize the tabs content
|
|
58
|
+
*
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
toolbar?: boolean | Tab[];
|
|
62
|
+
/**
|
|
63
|
+
* Specifies the styles that will be applied to the wrapping element.
|
|
64
|
+
*/
|
|
65
|
+
style?: React.CSSProperties;
|
|
66
|
+
/**
|
|
67
|
+
* Triggered after the widget has completed rendering.
|
|
68
|
+
* The event will also fire when a cell is selected or when the Spreadsheet's tools (bold, italic) are used,
|
|
69
|
+
* as the target element is re-generated with new styles (e.g background-color, box-shadow, font-weight, etc.).
|
|
70
|
+
*/
|
|
71
|
+
onRender?: (event: SpreadsheetRenderEvent) => void;
|
|
72
|
+
/**
|
|
73
|
+
* Triggered when the Spreadsheet selection is changed.
|
|
74
|
+
*/
|
|
75
|
+
onSelect?: (event: SpreadsheetSelectEvent) => void;
|
|
76
|
+
/**
|
|
77
|
+
* Triggered when a value in the Spreadsheet has been changed.
|
|
78
|
+
*/
|
|
79
|
+
onChange?: (event: SpreadsheetChangeEvent) => void;
|
|
80
|
+
/**
|
|
81
|
+
* Triggered when the range format is changed from the UI.
|
|
82
|
+
*/
|
|
83
|
+
onChangeFormat?: (event: SpreadsheetChangeEvent) => void;
|
|
84
|
+
/**
|
|
85
|
+
* Fired when the user clicks the Open toolbar button.
|
|
86
|
+
*/
|
|
87
|
+
onExcelImport?: (event: SpreadsheetExcelImportEvent) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Fires when the user clicks the Export to Excel toolbar button.
|
|
90
|
+
*/
|
|
91
|
+
onExcelExport?: (event: SpreadsheetExcelExportEvent) => void;
|
|
92
|
+
}
|
|
93
|
+
export interface SpreadsheetHandle {
|
|
94
|
+
/**
|
|
95
|
+
* The current element or `null` if there is no one.
|
|
96
|
+
*/
|
|
97
|
+
element: HTMLDivElement | null;
|
|
98
|
+
/**
|
|
99
|
+
* The props values of the Spreadsheet.
|
|
100
|
+
*/
|
|
101
|
+
props: SpreadsheetProps;
|
|
102
|
+
instance: SpreadsheetInstance | null;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
package/dist/npm/main.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Spreadsheet = void 0;
|
|
18
|
+
var Spreadsheet_1 = require("./Spreadsheet");
|
|
19
|
+
Object.defineProperty(exports, "Spreadsheet", { enumerable: true, get: function () { return Spreadsheet_1.Spreadsheet; } });
|
|
20
|
+
__exportStar(require("./tools"), exports);
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
export declare const messages: {
|
|
5
|
+
"spreadsheet.bold": string;
|
|
6
|
+
"spreadsheet.italic": string;
|
|
7
|
+
"spreadsheet.underline": string;
|
|
8
|
+
"spreadsheet.undo": string;
|
|
9
|
+
"spreadsheet.redo": string;
|
|
10
|
+
"spreadsheet.fontSize": string;
|
|
11
|
+
"spreadsheet.fontName": string;
|
|
12
|
+
"spreadsheet.format": string;
|
|
13
|
+
"spreadsheet.align": string;
|
|
14
|
+
"spreadsheet.alignLeft": string;
|
|
15
|
+
"spreadsheet.alignRight": string;
|
|
16
|
+
"spreadsheet.alignCenter": string;
|
|
17
|
+
"spreadsheet.alignJustify": string;
|
|
18
|
+
"spreadsheet.alignTop": string;
|
|
19
|
+
"spreadsheet.alignMiddle": string;
|
|
20
|
+
"spreadsheet.alignBottom": string;
|
|
21
|
+
"spreadsheet.textColor": string;
|
|
22
|
+
"spreadsheet.background": string;
|
|
23
|
+
"spreadsheet.addRowAbove": string;
|
|
24
|
+
"spreadsheet.addRowBelow": string;
|
|
25
|
+
"spreadsheet.addColumnLeft": string;
|
|
26
|
+
"spreadsheet.addColumnRight": string;
|
|
27
|
+
"spreadsheet.deleteRow": string;
|
|
28
|
+
"spreadsheet.deleteColumn": string;
|
|
29
|
+
"spreadsheet.openFile": string;
|
|
30
|
+
"spreadsheet.exportToExcel": string;
|
|
31
|
+
"spreadsheet.textWrap": string;
|
|
32
|
+
"spreadsheet.gridLines": string;
|
|
33
|
+
"spreadsheet.nameBox": string;
|
|
34
|
+
"spreadsheet.defaultSheetName": string;
|
|
35
|
+
"spreadsheet.home": string;
|
|
36
|
+
"spreadsheet.insert": string;
|
|
37
|
+
"spreadsheet.addNewSheet": string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* @hidden
|
|
41
|
+
*/
|
|
42
|
+
export declare const keys: {
|
|
43
|
+
bold: string;
|
|
44
|
+
italic: string;
|
|
45
|
+
underline: string;
|
|
46
|
+
undo: string;
|
|
47
|
+
redo: string;
|
|
48
|
+
fontSize: string;
|
|
49
|
+
fontName: string;
|
|
50
|
+
format: string;
|
|
51
|
+
align: string;
|
|
52
|
+
alignLeft: string;
|
|
53
|
+
alignRight: string;
|
|
54
|
+
alignCenter: string;
|
|
55
|
+
alignJustify: string;
|
|
56
|
+
alignTop: string;
|
|
57
|
+
alignMiddle: string;
|
|
58
|
+
alignBottom: string;
|
|
59
|
+
textColor: string;
|
|
60
|
+
background: string;
|
|
61
|
+
addRowAbove: string;
|
|
62
|
+
addRowBelow: string;
|
|
63
|
+
addColumnLeft: string;
|
|
64
|
+
addColumnRight: string;
|
|
65
|
+
deleteRow: string;
|
|
66
|
+
deleteColumn: string;
|
|
67
|
+
open: string;
|
|
68
|
+
exportToExcel: string;
|
|
69
|
+
textWrap: string;
|
|
70
|
+
gridLines: string;
|
|
71
|
+
nameBox: string;
|
|
72
|
+
defaultSheetName: string;
|
|
73
|
+
home: string;
|
|
74
|
+
insert: string;
|
|
75
|
+
addNewSheet: string;
|
|
76
|
+
};
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.keys = exports.messages = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
const bold = 'spreadsheet.bold';
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
const italic = 'spreadsheet.italic';
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
const underline = 'spreadsheet.underline';
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
const open = 'spreadsheet.openFile';
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
const textColor = 'spreadsheet.textColor';
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
const background = 'spreadsheet.background';
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
const addRowAbove = 'spreadsheet.addRowAbove';
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
35
|
+
const addRowBelow = 'spreadsheet.addRowBelow';
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
const addColumnLeft = 'spreadsheet.addColumnLeft';
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
const addColumnRight = 'spreadsheet.addColumnRight';
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
const deleteRow = 'spreadsheet.deleteRow';
|
|
48
|
+
/**
|
|
49
|
+
* @hidden
|
|
50
|
+
*/
|
|
51
|
+
const deleteColumn = 'spreadsheet.deleteColumn';
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
const undo = 'spreadsheet.undo';
|
|
56
|
+
/**
|
|
57
|
+
* @hidden
|
|
58
|
+
*/
|
|
59
|
+
const redo = 'spreadsheet.redo';
|
|
60
|
+
/**
|
|
61
|
+
* @hidden
|
|
62
|
+
*/
|
|
63
|
+
const fontSize = 'spreadsheet.fontSize';
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
const fontName = 'spreadsheet.fontName';
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
const format = 'spreadsheet.format';
|
|
72
|
+
/**
|
|
73
|
+
* @hidden
|
|
74
|
+
*/
|
|
75
|
+
const align = 'spreadsheet.align';
|
|
76
|
+
/**
|
|
77
|
+
* @hidden
|
|
78
|
+
*/
|
|
79
|
+
const alignLeft = 'spreadsheet.alignLeft';
|
|
80
|
+
/**
|
|
81
|
+
* @hidden
|
|
82
|
+
*/
|
|
83
|
+
const alignRight = 'spreadsheet.alignRight';
|
|
84
|
+
/**
|
|
85
|
+
* @hidden
|
|
86
|
+
*/
|
|
87
|
+
const alignCenter = 'spreadsheet.alignCenter';
|
|
88
|
+
/**
|
|
89
|
+
* @hidden
|
|
90
|
+
*/
|
|
91
|
+
const alignJustify = 'spreadsheet.alignJustify';
|
|
92
|
+
/**
|
|
93
|
+
* @hidden
|
|
94
|
+
*/
|
|
95
|
+
const alignTop = 'spreadsheet.alignTop';
|
|
96
|
+
/**
|
|
97
|
+
* @hidden
|
|
98
|
+
*/
|
|
99
|
+
const alignMiddle = 'spreadsheet.alignMiddle';
|
|
100
|
+
/**
|
|
101
|
+
* @hidden
|
|
102
|
+
*/
|
|
103
|
+
const alignBottom = 'spreadsheet.alignBottom';
|
|
104
|
+
/**
|
|
105
|
+
* @hidden
|
|
106
|
+
*/
|
|
107
|
+
const textWrap = 'spreadsheet.textWrap';
|
|
108
|
+
/**
|
|
109
|
+
* @hidden
|
|
110
|
+
*/
|
|
111
|
+
const gridLines = 'spreadsheet.gridLines';
|
|
112
|
+
/**
|
|
113
|
+
* @hidden
|
|
114
|
+
*/
|
|
115
|
+
const exportToExcel = 'spreadsheet.exportToExcel';
|
|
116
|
+
/**
|
|
117
|
+
* @hidden
|
|
118
|
+
*/
|
|
119
|
+
const nameBox = 'spreadsheet.nameBox';
|
|
120
|
+
/**
|
|
121
|
+
* @hidden
|
|
122
|
+
*/
|
|
123
|
+
const defaultSheetName = 'spreadsheet.defaultSheetName';
|
|
124
|
+
/**
|
|
125
|
+
* @hidden
|
|
126
|
+
*/
|
|
127
|
+
const home = 'spreadsheet.home';
|
|
128
|
+
/**
|
|
129
|
+
* @hidden
|
|
130
|
+
*/
|
|
131
|
+
const insert = 'spreadsheet.insert';
|
|
132
|
+
/**
|
|
133
|
+
* @hidden
|
|
134
|
+
*/
|
|
135
|
+
const addNewSheet = 'spreadsheet.addNewSheet';
|
|
136
|
+
/**
|
|
137
|
+
* @hidden
|
|
138
|
+
*/
|
|
139
|
+
exports.messages = {
|
|
140
|
+
[bold]: 'Bold',
|
|
141
|
+
[italic]: 'Italic',
|
|
142
|
+
[underline]: 'Underline',
|
|
143
|
+
[undo]: 'Undo',
|
|
144
|
+
[redo]: 'Redo',
|
|
145
|
+
[fontSize]: 'Font size',
|
|
146
|
+
[fontName]: 'Font',
|
|
147
|
+
[format]: 'Custom format...',
|
|
148
|
+
[align]: 'Align',
|
|
149
|
+
[alignLeft]: 'Align Left',
|
|
150
|
+
[alignRight]: 'Align Right',
|
|
151
|
+
[alignCenter]: 'Align Center',
|
|
152
|
+
[alignJustify]: 'Align Justify',
|
|
153
|
+
[alignTop]: 'Align Top',
|
|
154
|
+
[alignMiddle]: 'Align Middle',
|
|
155
|
+
[alignBottom]: 'Align Bottom',
|
|
156
|
+
[textColor]: 'Text Color',
|
|
157
|
+
[background]: 'Background color',
|
|
158
|
+
[addRowAbove]: 'Add row above',
|
|
159
|
+
[addRowBelow]: 'Add row below',
|
|
160
|
+
[addColumnLeft]: 'Add column left',
|
|
161
|
+
[addColumnRight]: 'Add column right',
|
|
162
|
+
[deleteRow]: 'Delete row',
|
|
163
|
+
[deleteColumn]: 'Delete column',
|
|
164
|
+
[open]: 'Open...',
|
|
165
|
+
[exportToExcel]: 'Export to Excel',
|
|
166
|
+
[textWrap]: 'Text Wrap',
|
|
167
|
+
[gridLines]: 'Toggle gridlines',
|
|
168
|
+
[nameBox]: 'Name Box',
|
|
169
|
+
[defaultSheetName]: 'Sheet',
|
|
170
|
+
[home]: 'Home',
|
|
171
|
+
[insert]: 'Insert',
|
|
172
|
+
[addNewSheet]: 'Add new sheet'
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* @hidden
|
|
176
|
+
*/
|
|
177
|
+
exports.keys = {
|
|
178
|
+
bold,
|
|
179
|
+
italic,
|
|
180
|
+
underline,
|
|
181
|
+
undo,
|
|
182
|
+
redo,
|
|
183
|
+
fontSize,
|
|
184
|
+
fontName,
|
|
185
|
+
format,
|
|
186
|
+
align,
|
|
187
|
+
alignLeft,
|
|
188
|
+
alignRight,
|
|
189
|
+
alignCenter,
|
|
190
|
+
alignJustify,
|
|
191
|
+
alignTop,
|
|
192
|
+
alignMiddle,
|
|
193
|
+
alignBottom,
|
|
194
|
+
textColor,
|
|
195
|
+
background,
|
|
196
|
+
addRowAbove,
|
|
197
|
+
addRowBelow,
|
|
198
|
+
addColumnLeft,
|
|
199
|
+
addColumnRight,
|
|
200
|
+
deleteRow,
|
|
201
|
+
deleteColumn,
|
|
202
|
+
open,
|
|
203
|
+
exportToExcel,
|
|
204
|
+
textWrap,
|
|
205
|
+
gridLines,
|
|
206
|
+
nameBox,
|
|
207
|
+
defaultSheetName,
|
|
208
|
+
home,
|
|
209
|
+
insert,
|
|
210
|
+
addNewSheet
|
|
211
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.packageMetadata = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
exports.packageMetadata = {
|
|
8
|
+
name: '@progress/kendo-react-spreadsheet',
|
|
9
|
+
productName: 'KendoReact',
|
|
10
|
+
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
11
|
+
publishDate: 1684156698,
|
|
12
|
+
version: '',
|
|
13
|
+
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
14
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BaseToolProps } from './utils';
|
|
3
|
+
export interface AlignmentProps extends BaseToolProps {
|
|
4
|
+
value: {
|
|
5
|
+
textAlign?: string;
|
|
6
|
+
verticalAlign?: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare const Alignment: React.FunctionComponent<AlignmentProps>;
|