@progress/kendo-angular-spreadsheet 20.1.2-develop.2 → 21.0.0-develop.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/esm2022/action-bar/formula-input.directive.mjs +4 -4
  2. package/esm2022/action-bar/list.component.mjs +4 -4
  3. package/esm2022/action-bar/namebox.component.mjs +4 -4
  4. package/esm2022/common/calendar-editor.component.mjs +3 -3
  5. package/esm2022/common/error-handling.service.mjs +4 -4
  6. package/esm2022/common/list-editor.component.mjs +4 -4
  7. package/esm2022/common/main-menu.directive.mjs +4 -4
  8. package/esm2022/common/spreadsheet.service.mjs +4 -4
  9. package/esm2022/localization/custom-messages.component.mjs +4 -4
  10. package/esm2022/localization/localized-messages.directive.mjs +4 -4
  11. package/esm2022/localization/messages.mjs +3 -3
  12. package/esm2022/localization/spreadsheet-localization.service.mjs +5 -5
  13. package/esm2022/models/cell-editor-action-args.mjs +5 -0
  14. package/esm2022/models/cell-editor-options.mjs +5 -0
  15. package/esm2022/models/index.mjs +2 -0
  16. package/esm2022/package-metadata.mjs +2 -2
  17. package/esm2022/sheets-bar/action-dialog.component.mjs +4 -4
  18. package/esm2022/sheets-bar/sheets-bar.component.mjs +4 -4
  19. package/esm2022/spreadsheet.component.mjs +51 -5
  20. package/esm2022/spreadsheet.module.mjs +4 -4
  21. package/esm2022/tools/align/align-tool.directive.mjs +4 -4
  22. package/esm2022/tools/align/horizontal-align-tool.directive.mjs +4 -4
  23. package/esm2022/tools/align/vertical-align-tool.directive.mjs +4 -4
  24. package/esm2022/tools/colorpicker/spreadsheet-backcolor.component.mjs +5 -5
  25. package/esm2022/tools/colorpicker/spreadsheet-forecolor.component.mjs +5 -5
  26. package/esm2022/tools/data-validation-dialog.component.mjs +5 -5
  27. package/esm2022/tools/data-validation-tool.directive.mjs +5 -5
  28. package/esm2022/tools/decrease-decimal-tool.directive.mjs +4 -4
  29. package/esm2022/tools/font-family/font-family-dropdownlist.component.mjs +3 -3
  30. package/esm2022/tools/font-family/spreadsheet-fontfamily-tool.component.mjs +5 -5
  31. package/esm2022/tools/font-size/decrease-font-tool.directive.mjs +4 -4
  32. package/esm2022/tools/font-size/font-size-dropdownlist.component.mjs +3 -3
  33. package/esm2022/tools/font-size/increase-font-tool.directive.mjs +4 -4
  34. package/esm2022/tools/font-size/spreadsheet-fontsize-tool.component.mjs +5 -5
  35. package/esm2022/tools/format-tool.directive.mjs +4 -4
  36. package/esm2022/tools/gridlines-tool.directive.mjs +4 -4
  37. package/esm2022/tools/history/redo-tool.mjs +4 -4
  38. package/esm2022/tools/history/undo-tool.mjs +4 -4
  39. package/esm2022/tools/increase-decimal-tool.directive.mjs +4 -4
  40. package/esm2022/tools/insert/insert-link-dialog.component.mjs +4 -4
  41. package/esm2022/tools/insert/insert-link-tool.directive.mjs +4 -4
  42. package/esm2022/tools/load-file.component.mjs +5 -5
  43. package/esm2022/tools/save-file-tool.directive.mjs +4 -4
  44. package/esm2022/tools/shared/dialog-content.component.mjs +4 -4
  45. package/esm2022/tools/shared/spreadsheet-command-base.mjs +5 -5
  46. package/esm2022/tools/shared/spreadsheet-dropdown-tools-base.mjs +5 -5
  47. package/esm2022/tools/shared/spreadsheet-dropdownlist.base.mjs +3 -3
  48. package/esm2022/tools/tables/add-column-left-button.directive.mjs +4 -4
  49. package/esm2022/tools/tables/add-column-right-button.directive.mjs +4 -4
  50. package/esm2022/tools/tables/add-row-above-button.directive.mjs +4 -4
  51. package/esm2022/tools/tables/add-row-below-button.directive.mjs +4 -4
  52. package/esm2022/tools/tables/delete-column-button.directive.mjs +4 -4
  53. package/esm2022/tools/tables/delete-row-button.directive.mjs +4 -4
  54. package/esm2022/tools/tables/merge-tool.directive.mjs +4 -4
  55. package/esm2022/tools/text-wrap-tool.directive.mjs +4 -4
  56. package/esm2022/tools/tools.service.mjs +4 -4
  57. package/esm2022/tools/typographical-emphasis/bold-tool.directive.mjs +4 -4
  58. package/esm2022/tools/typographical-emphasis/italic-tool.directive.mjs +4 -4
  59. package/esm2022/tools/typographical-emphasis/underline-tool.directive.mjs +4 -4
  60. package/esm2022/tools/utils.mjs +1 -1
  61. package/fesm2022/progress-kendo-angular-spreadsheet.mjs +275 -229
  62. package/index.d.ts +1 -1
  63. package/models/cell-editor-action-args.d.ts +63 -0
  64. package/models/cell-editor-options.d.ts +38 -0
  65. package/models/index.d.ts +2 -0
  66. package/package.json +21 -21
  67. package/schematics/ngAdd/index.js +3 -3
  68. package/spreadsheet.component.d.ts +11 -2
  69. package/tools/tools.service.d.ts +1 -1
package/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { FormulaListComponent } from './action-bar/list.component';
8
8
  export { FormulaInputDirective } from './action-bar/formula-input.directive';
9
9
  export { NameBoxComponent } from './action-bar/namebox.component';
10
10
  export { SheetsBarComponent } from './sheets-bar/sheets-bar.component';
11
- export { SheetInfo, SpreadsheetMainMenuItem as ToolbarTab, SpreadsheetChangeEvent, SpreadsheetActiveSheetChangeEvent, SpreadsheetExcelExportEvent, SpreadsheetExcelImportEvent, SpreadsheetMainMenuItem, } from './models';
11
+ export { SheetInfo, SpreadsheetMainMenuItem as ToolbarTab, SpreadsheetChangeEvent, SpreadsheetActiveSheetChangeEvent, SpreadsheetExcelExportEvent, SpreadsheetExcelImportEvent, SpreadsheetMainMenuItem, SpreadsheetCellEditorOptions, SpreadsheetCellEditorHandlerArgs, Rectangle } from './models';
12
12
  export * from './tools';
13
13
  export * from './directives';
14
14
  export { CustomMessagesComponent } from './localization/custom-messages.component';
@@ -0,0 +1,63 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Range, View } from "@progress/kendo-spreadsheet-common";
6
+ /**
7
+ * Represents the rectangular dimensions and position of a cell or range.
8
+ */
9
+ export interface Rectangle {
10
+ /**
11
+ * Represents the left position of the rectangle in pixels.
12
+ */
13
+ left: number;
14
+ /**
15
+ * Represents the top position of the rectangle in pixels.
16
+ */
17
+ top: number;
18
+ /**
19
+ * Represents the width of the rectangle in pixels.
20
+ */
21
+ width: number;
22
+ /**
23
+ * Represents the height of the rectangle in pixels.
24
+ */
25
+ height: number;
26
+ /**
27
+ * Represents the right position of the rectangle in pixels.
28
+ */
29
+ right: number;
30
+ /**
31
+ * Represents the bottom position of the rectangle in pixels.
32
+ */
33
+ bottom: number;
34
+ }
35
+ /**
36
+ * Represents the arguments passed to the handler callback for each cell editor.
37
+ */
38
+ export interface SpreadsheetCellEditorHandlerArgs {
39
+ /**
40
+ * Represents the original event that triggered the action.
41
+ */
42
+ originalEvent?: any;
43
+ /**
44
+ * Represents the range that the action will execute for.
45
+ */
46
+ range?: Range;
47
+ /**
48
+ * Represents the `Rectangle` object that provides information about the size and position of the currently active range.
49
+ */
50
+ rect?: Rectangle;
51
+ /**
52
+ * Represents the current `View` instance.
53
+ */
54
+ view?: View;
55
+ /**
56
+ * Represents the validation rules of the currently active range.
57
+ */
58
+ validation?: any;
59
+ /**
60
+ * Represents the callback function that edits the active cell or range with the provided value.
61
+ */
62
+ callback?: Function;
63
+ }
@@ -0,0 +1,38 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { SVGIcon } from "@progress/kendo-svg-icons";
6
+ /**
7
+ * Represents the configuration object for defining custom cell editors.
8
+ * Use this interface to render specific cell editors when you focus a cell or a range.
9
+ */
10
+ export interface SpreadsheetCellEditorOptions {
11
+ /**
12
+ * Sets the unique name of the cell editor.
13
+ * Use this name when you specify the editor for a cell or a range.
14
+ *
15
+ * Please note that `_validation_list` and `_validation_date` are reserved names for built-in editors.
16
+ */
17
+ name: string;
18
+ /**
19
+ * Sets the component to use as a cell editor.
20
+ */
21
+ component?: any;
22
+ /**
23
+ * Provides the actions that the cell editor can use.
24
+ * The `name` property must match an event name of the editor component.
25
+ */
26
+ actions?: Array<{
27
+ name: string;
28
+ handler: Function;
29
+ }>;
30
+ /**
31
+ * Sets the name of an existing icon from a Kendo UI theme.
32
+ */
33
+ icon?: string;
34
+ /**
35
+ * Sets the [`SVGIcon`](slug:api_icons_svgicon) to render.
36
+ */
37
+ svgIcon?: SVGIcon;
38
+ }
package/models/index.d.ts CHANGED
@@ -5,3 +5,5 @@
5
5
  export * from './sheet-info';
6
6
  export * from './main-menu-item';
7
7
  export * from './events';
8
+ export * from './cell-editor-options';
9
+ export * from './cell-editor-action-args';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-spreadsheet",
3
- "version": "20.1.2-develop.2",
3
+ "version": "21.0.0-develop.11",
4
4
  "description": "A Spreadsheet Component for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -19,35 +19,35 @@
19
19
  "package": {
20
20
  "productName": "Kendo UI for Angular",
21
21
  "productCode": "KENDOUIANGULAR",
22
- "publishDate": 1761309970,
22
+ "publishDate": 1761916549,
23
23
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
24
24
  }
25
25
  },
26
26
  "peerDependencies": {
27
- "@angular/animations": "16 - 20",
28
- "@angular/common": "16 - 20",
29
- "@angular/core": "16 - 20",
30
- "@angular/platform-browser": "16 - 20",
27
+ "@angular/animations": "18 - 20",
28
+ "@angular/common": "18 - 20",
29
+ "@angular/core": "18 - 20",
30
+ "@angular/platform-browser": "18 - 20",
31
31
  "@progress/kendo-licensing": "^1.7.0",
32
- "@progress/kendo-angular-buttons": "20.1.2-develop.2",
33
- "@progress/kendo-angular-common": "20.1.2-develop.2",
34
- "@progress/kendo-angular-dialog": "20.1.2-develop.2",
35
- "@progress/kendo-angular-dropdowns": "20.1.2-develop.2",
36
- "@progress/kendo-angular-icons": "20.1.2-develop.2",
37
- "@progress/kendo-angular-inputs": "20.1.2-develop.2",
38
- "@progress/kendo-angular-dateinputs": "20.1.2-develop.2",
39
- "@progress/kendo-angular-intl": "20.1.2-develop.2",
40
- "@progress/kendo-angular-l10n": "20.1.2-develop.2",
41
- "@progress/kendo-angular-label": "20.1.2-develop.2",
42
- "@progress/kendo-angular-layout": "20.1.2-develop.2",
43
- "@progress/kendo-angular-menu": "20.1.2-develop.2",
44
- "@progress/kendo-angular-popup": "20.1.2-develop.2",
45
- "@progress/kendo-angular-toolbar": "20.1.2-develop.2",
32
+ "@progress/kendo-angular-buttons": "21.0.0-develop.11",
33
+ "@progress/kendo-angular-common": "21.0.0-develop.11",
34
+ "@progress/kendo-angular-dialog": "21.0.0-develop.11",
35
+ "@progress/kendo-angular-dropdowns": "21.0.0-develop.11",
36
+ "@progress/kendo-angular-icons": "21.0.0-develop.11",
37
+ "@progress/kendo-angular-inputs": "21.0.0-develop.11",
38
+ "@progress/kendo-angular-dateinputs": "21.0.0-develop.11",
39
+ "@progress/kendo-angular-intl": "21.0.0-develop.11",
40
+ "@progress/kendo-angular-l10n": "21.0.0-develop.11",
41
+ "@progress/kendo-angular-label": "21.0.0-develop.11",
42
+ "@progress/kendo-angular-layout": "21.0.0-develop.11",
43
+ "@progress/kendo-angular-menu": "21.0.0-develop.11",
44
+ "@progress/kendo-angular-popup": "21.0.0-develop.11",
45
+ "@progress/kendo-angular-toolbar": "21.0.0-develop.11",
46
46
  "rxjs": "^6.5.3 || ^7.0.0"
47
47
  },
48
48
  "dependencies": {
49
49
  "tslib": "^2.3.1",
50
- "@progress/kendo-angular-schematics": "20.1.2-develop.2",
50
+ "@progress/kendo-angular-schematics": "21.0.0-develop.11",
51
51
  "@progress/jszip-esm": "^1.0.3",
52
52
  "@progress/kendo-common": "^1.0.1",
53
53
  "@progress/kendo-date-math": "^1.5.10",
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
3
4
  const schematics_1 = require("@angular-devkit/schematics");
4
5
  function default_1(options) {
5
6
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SpreadsheetModule', package: 'spreadsheet', peerDependencies: {
6
7
  // Peer dependency of icons
7
8
  '@progress/kendo-svg-icons': '^4.0.0',
8
9
  // peer deps of the dropdowns
9
- '@progress/kendo-angular-navigation': '20.1.2-develop.2',
10
- '@progress/kendo-angular-treeview': '20.1.2-develop.2'
10
+ '@progress/kendo-angular-navigation': '21.0.0-develop.11',
11
+ '@progress/kendo-angular-treeview': '21.0.0-develop.11'
11
12
  } });
12
13
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
13
14
  }
14
- exports.default = default_1;
@@ -12,7 +12,7 @@ import { ContextMenuSelectEvent, MenuItem } from '@progress/kendo-angular-menu';
12
12
  import { DialogService } from '@progress/kendo-angular-dialog';
13
13
  import { SpreadsheetService } from './common/spreadsheet.service';
14
14
  import { SpreadsheetToolsService } from './tools/tools.service';
15
- import { SheetInfo, SpreadsheetActiveSheetChangeEvent, SpreadsheetChangeEvent, SpreadsheetExcelExportEvent, SpreadsheetExcelImportEvent, SpreadsheetMainMenuItem } from './models';
15
+ import { SheetInfo, SpreadsheetActiveSheetChangeEvent, SpreadsheetCellEditorOptions, SpreadsheetChangeEvent, SpreadsheetExcelExportEvent, SpreadsheetExcelImportEvent, SpreadsheetMainMenuItem } from './models';
16
16
  import { ErrorHandlingService } from './common/error-handling.service';
17
17
  import * as i0 from "@angular/core";
18
18
  /**
@@ -111,6 +111,11 @@ export declare class SpreadsheetComponent implements AfterViewInit, OnChanges {
111
111
  * @default 200
112
112
  */
113
113
  rows: number;
114
+ /**
115
+ * Sets the custom cell editors for the Spreadsheet.
116
+ * Accepts an array of `SpreadsheetCellEditorOptions` objects that define custom editors.
117
+ */
118
+ cellEditors: Array<SpreadsheetCellEditorOptions>;
114
119
  /**
115
120
  * An object containing any images used in the Spreadsheet. The keys should be image IDs (they are referenced by this ID in `sheets.drawings`),
116
121
  * and the values should be image URLs. The image URLs can be either [`data URLs`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs)
@@ -211,8 +216,12 @@ export declare class SpreadsheetComponent implements AfterViewInit, OnChanges {
211
216
  private openLinkDialog;
212
217
  private configureSheets;
213
218
  private registerEditors;
219
+ private registerCustomEditors;
220
+ private registerCustomEditor;
221
+ private openCustomEditorPopup;
222
+ private closePopup;
214
223
  private isValidFormula;
215
224
  private createDate;
216
225
  static ɵfac: i0.ɵɵFactoryDeclaration<SpreadsheetComponent, never>;
217
- static ɵcmp: i0.ɵɵComponentDeclaration<SpreadsheetComponent, "kendo-spreadsheet", ["kendo-spreadsheet"], { "menuItems": { "alias": "menuItems"; "required": false; }; "overflow": { "alias": "overflow"; "required": false; }; "formulaListMaxHeight": { "alias": "formulaListMaxHeight"; "required": false; }; "activeSheet": { "alias": "activeSheet"; "required": false; }; "sheets": { "alias": "sheets"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnWidth": { "alias": "columnWidth"; "required": false; }; "defaultCellStyle": { "alias": "defaultCellStyle"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "headerWidth": { "alias": "headerWidth"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "images": { "alias": "images"; "required": false; }; "excel": { "alias": "excel"; "required": false; }; }, { "change": "change"; "formatChange": "formatChange"; "selectionChange": "selectionChange"; "excelExport": "excelExport"; "excelImport": "excelImport"; "activeSheetChange": "activeSheetChange"; }, never, never, true, never>;
226
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpreadsheetComponent, "kendo-spreadsheet", ["kendo-spreadsheet"], { "menuItems": { "alias": "menuItems"; "required": false; }; "overflow": { "alias": "overflow"; "required": false; }; "formulaListMaxHeight": { "alias": "formulaListMaxHeight"; "required": false; }; "activeSheet": { "alias": "activeSheet"; "required": false; }; "sheets": { "alias": "sheets"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnWidth": { "alias": "columnWidth"; "required": false; }; "defaultCellStyle": { "alias": "defaultCellStyle"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "headerWidth": { "alias": "headerWidth"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cellEditors": { "alias": "cellEditors"; "required": false; }; "images": { "alias": "images"; "required": false; }; "excel": { "alias": "excel"; "required": false; }; }, { "change": "change"; "formatChange": "formatChange"; "selectionChange": "selectionChange"; "excelExport": "excelExport"; "excelImport": "excelImport"; "activeSheetChange": "activeSheetChange"; }, never, never, true, never>;
218
227
  }
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  */
10
10
  export declare class SpreadsheetToolsService {
11
11
  ngZone: NgZone;
12
- stateChange: EventEmitter<Object>;
12
+ stateChange: EventEmitter<object>;
13
13
  set toolsState(state: any);
14
14
  get toolsState(): any;
15
15
  private toolsFunctions;