@progress/kendo-angular-spreadsheet 14.1.1-develop.8 → 14.2.0-develop.10

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 (42) hide show
  1. package/common/error-handling.service.d.ts +37 -0
  2. package/esm2020/common/error-handling.service.mjs +74 -0
  3. package/esm2020/localization/messages.mjs +55 -1
  4. package/esm2020/package-metadata.mjs +2 -2
  5. package/esm2020/sheets-bar/action-dialog.component.mjs +8 -7
  6. package/esm2020/spreadsheet.component.mjs +208 -44
  7. package/esm2020/spreadsheet.module.mjs +48 -10
  8. package/esm2020/tools/{align-tool.directive.mjs → align/align-tool.directive.mjs} +9 -9
  9. package/esm2020/tools/align/horizontal-align-tool.directive.mjs +60 -0
  10. package/esm2020/tools/align/vertical-align-tool.directive.mjs +60 -0
  11. package/esm2020/tools/decrease-decimal-tool.directive.mjs +40 -0
  12. package/esm2020/tools/font-family/font-family-dropdownlist.component.mjs +0 -2
  13. package/esm2020/tools/font-size/decrease-font-tool.directive.mjs +50 -0
  14. package/esm2020/tools/font-size/increase-font-tool.directive.mjs +50 -0
  15. package/esm2020/tools/increase-decimal-tool.directive.mjs +40 -0
  16. package/esm2020/tools/index.mjs +8 -1
  17. package/esm2020/tools/insert/insert-link-dialog.component.mjs +49 -0
  18. package/esm2020/tools/insert/insert-link-tool.directive.mjs +91 -0
  19. package/esm2020/tools/load-file.component.mjs +1 -1
  20. package/esm2020/tools/shared/command-icons.mjs +17 -3
  21. package/esm2020/tools/shared/constants.mjs +11 -11
  22. package/esm2020/tools/tables/merge-tool.directive.mjs +1 -1
  23. package/fesm2015/progress-kendo-angular-spreadsheet.mjs +722 -83
  24. package/fesm2020/progress-kendo-angular-spreadsheet.mjs +719 -83
  25. package/localization/messages.d.ts +109 -1
  26. package/models/main-menu-item.d.ts +1 -1
  27. package/package.json +14 -14
  28. package/schematics/ngAdd/index.js +1 -1
  29. package/spreadsheet.component.d.ts +4 -1
  30. package/spreadsheet.module.d.ts +23 -15
  31. package/tools/{align-tool.directive.d.ts → align/align-tool.directive.d.ts} +3 -3
  32. package/tools/align/horizontal-align-tool.directive.d.ts +25 -0
  33. package/tools/align/vertical-align-tool.directive.d.ts +25 -0
  34. package/tools/decrease-decimal-tool.directive.d.ts +19 -0
  35. package/tools/font-size/decrease-font-tool.directive.d.ts +22 -0
  36. package/tools/font-size/increase-font-tool.directive.d.ts +22 -0
  37. package/tools/increase-decimal-tool.directive.d.ts +19 -0
  38. package/tools/index.d.ts +8 -1
  39. package/tools/insert/insert-link-dialog.component.d.ts +18 -0
  40. package/tools/insert/insert-link-tool.directive.d.ts +26 -0
  41. package/tools/shared/commands.d.ts +1 -1
  42. package/tools/shared/constants.d.ts +2 -0
@@ -6,38 +6,39 @@ import * as i0 from '@angular/core';
6
6
  import { Injectable, EventEmitter, Output, Inject, Optional, Component, HostBinding, Input, Directive, forwardRef, ElementRef, ViewChild, InjectionToken, HostListener, ViewChildren, ViewContainerRef, NgModule } from '@angular/core';
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
8
  import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
9
- import * as i1$5 from '@progress/kendo-angular-intl';
9
+ import * as i1$4 from '@progress/kendo-angular-intl';
10
10
  import { localeData, IntlModule } from '@progress/kendo-angular-intl';
11
- import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, eyeIcon } from '@progress/kendo-svg-icons';
11
+ import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, linkIcon, fontGrowIcon, fontShrinkIcon, decimalDecreaseIcon, decimalIncreaseIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, eyeIcon } from '@progress/kendo-svg-icons';
12
12
  import { Subject, Subscription } from 'rxjs';
13
- import * as i1 from '@progress/kendo-angular-l10n';
13
+ import * as i2 from '@progress/kendo-angular-l10n';
14
14
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
15
15
  import * as i3 from '@progress/kendo-angular-common';
16
16
  import { isPresent, hasObservers, isDocumentAvailable, Keys, shouldShowValidationUI, EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
17
- import * as i1$1 from '@progress/kendo-angular-popup';
17
+ import * as i1 from '@progress/kendo-angular-popup';
18
18
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
19
19
  import * as i6 from '@progress/kendo-angular-icons';
20
20
  import { IconsModule } from '@progress/kendo-angular-icons';
21
21
  import * as i7 from '@angular/common';
22
22
  import { CommonModule } from '@angular/common';
23
23
  import { take, map } from 'rxjs/operators';
24
- import * as i5$2 from '@progress/kendo-angular-menu';
24
+ import * as i1$1 from '@progress/kendo-angular-dialog';
25
+ import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
26
+ import * as i6$1 from '@progress/kendo-angular-menu';
25
27
  import { MenuModule } from '@progress/kendo-angular-menu';
26
28
  import * as i1$2 from '@progress/kendo-angular-toolbar';
27
29
  import { ToolBarToolComponent, ToolBarComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
28
30
  import * as i4 from '@progress/kendo-angular-buttons';
29
31
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
30
- import * as i1$4 from '@progress/kendo-angular-dialog';
31
- import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
32
32
  import * as i1$3 from '@progress/kendo-angular-dropdowns';
33
33
  import { DropDownListComponent, ComboBoxModule, DropDownListModule } from '@progress/kendo-angular-dropdowns';
34
34
  import * as i5 from '@progress/kendo-angular-inputs';
35
35
  import { InputsModule } from '@progress/kendo-angular-inputs';
36
+ import * as i2$1 from '@progress/kendo-angular-label';
37
+ import { LabelModule } from '@progress/kendo-angular-label';
36
38
  import * as i5$1 from '@progress/kendo-angular-layout';
37
39
  import { TabStripModule } from '@progress/kendo-angular-layout';
38
40
  import { saveAs } from '@progress/kendo-file-saver';
39
41
  import { Workbook } from '@progress/kendo-ooxml';
40
- import { LabelModule } from '@progress/kendo-angular-label';
41
42
 
42
43
  /**
43
44
  * @hidden
@@ -46,8 +47,8 @@ const packageMetadata = {
46
47
  name: '@progress/kendo-angular-spreadsheet',
47
48
  productName: 'Kendo UI for Angular',
48
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
49
- publishDate: 1700478634,
50
- version: '14.1.1-develop.8',
50
+ publishDate: 1701248930,
51
+ version: '14.2.0-develop.10',
51
52
  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',
52
53
  };
53
54
 
@@ -154,14 +155,14 @@ class SpreadsheetLocalizationService extends LocalizationService {
154
155
  super(prefix, messageService, _rtl);
155
156
  }
156
157
  }
157
- SpreadsheetLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, deps: [{ token: L10N_PREFIX }, { token: i1.MessageService, optional: true }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
158
+ SpreadsheetLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, deps: [{ token: L10N_PREFIX }, { token: i2.MessageService, optional: true }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
158
159
  SpreadsheetLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService });
159
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, decorators: [{
160
161
  type: Injectable
161
162
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
162
163
  type: Inject,
163
164
  args: [L10N_PREFIX]
164
- }] }, { type: i1.MessageService, decorators: [{
165
+ }] }, { type: i2.MessageService, decorators: [{
165
166
  type: Optional
166
167
  }] }, { type: undefined, decorators: [{
167
168
  type: Optional
@@ -367,14 +368,14 @@ class FormulaInputDirective {
367
368
  };
368
369
  }
369
370
  }
370
- FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.PopupService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
371
+ FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
371
372
  FormulaInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
372
373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, decorators: [{
373
374
  type: Directive,
374
375
  args: [{
375
376
  selector: '[kendoSpreadsheetFormulaInput]',
376
377
  }]
377
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
378
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
378
379
  type: HostBinding,
379
380
  args: ['class.k-spreadsheet-formula-input']
380
381
  }], ariaHasPopup: [{
@@ -429,6 +430,67 @@ const getSheetActions = (index, items) => {
429
430
  }];
430
431
  };
431
432
 
433
+ /**
434
+ * @hidden
435
+ */
436
+ class ErrorHandlingService {
437
+ constructor(spreadsheetService, localization, dialogService) {
438
+ this.spreadsheetService = spreadsheetService;
439
+ this.localization = localization;
440
+ this.dialogService = dialogService;
441
+ this.sheetsChanged = new Subject();
442
+ this.activeSheetChanged = new Subject();
443
+ this.selectionChanged = new Subject();
444
+ }
445
+ set currentActiveSheet(value) {
446
+ this._currentActiveSheet = value;
447
+ }
448
+ get currentActiveSheet() {
449
+ return this._currentActiveSheet;
450
+ }
451
+ get activeSheet() {
452
+ return this.spreadsheet.activeSheet()?.name();
453
+ }
454
+ notifySheetsChange(actionType, sheetInfo) {
455
+ const sheets = this.spreadsheet.sheets();
456
+ this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
457
+ }
458
+ handleErrorMessage(messageData) {
459
+ this.openDialog(messageData);
460
+ }
461
+ openDialog(messageData) {
462
+ const dialogSettings = {
463
+ appendTo: this.spreadsheetService.dialogContainer,
464
+ title: this.messageFor('dialogError'),
465
+ content: this.messageFor(messageData.name),
466
+ actions: [{
467
+ text: this.messageFor('dialogOk'),
468
+ themeColor: 'primary'
469
+ }],
470
+ width: 400,
471
+ actionsLayout: 'start'
472
+ };
473
+ const dialog = this.dialogService.open(dialogSettings);
474
+ const dialogInstance = dialog.dialog?.instance;
475
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
476
+ if (event.text === this.messageFor('dialogOk')) {
477
+ messageData.close();
478
+ }
479
+ });
480
+ dialogInstance.close.pipe(take(1)).subscribe(() => {
481
+ messageData.close();
482
+ });
483
+ }
484
+ messageFor(text) {
485
+ return this.localization.get(text);
486
+ }
487
+ }
488
+ ErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService, deps: [{ token: SpreadsheetService }, { token: i2.LocalizationService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
489
+ ErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService });
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService, decorators: [{
491
+ type: Injectable
492
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i2.LocalizationService }, { type: i1$1.DialogService }]; } });
493
+
432
494
  /**
433
495
  * @hidden
434
496
  */
@@ -441,6 +503,8 @@ const commandIcons = {
441
503
  alignMiddle: 'align-middle',
442
504
  alignBottom: 'align-bottom',
443
505
  align: 'align-left',
506
+ alignHorizontal: 'align-left',
507
+ alignVertical: 'align-middle',
444
508
  background: 'droplet',
445
509
  bold: 'bold',
446
510
  color: 'foreground-color',
@@ -465,7 +529,12 @@ const commandIcons = {
465
529
  mergeAll: 'cells-merge',
466
530
  mergeHorizontally: 'cells-merge-horizontally',
467
531
  mergeVertically: 'cells-merge-vertically',
468
- unmerge: 'table-unmerge'
532
+ unmerge: 'table-unmerge',
533
+ insertLink: 'hyperlink',
534
+ increaseFontSize: 'font-grow',
535
+ decreaseFontSize: 'font-shrink',
536
+ increaseDecimal: 'decimal-increase',
537
+ decreaseDecimal: 'decimal-decrease'
469
538
  };
470
539
  /**
471
540
  * @hidden
@@ -479,6 +548,8 @@ const commandSVGIcons = {
479
548
  alignMiddle: alignMiddleIcon,
480
549
  alignBottom: alignBottomIcon,
481
550
  align: alignLeftIcon,
551
+ alignHorizontal: alignLeftIcon,
552
+ alignVertical: alignMiddleIcon,
482
553
  background: dropletIcon,
483
554
  bold: boldIcon,
484
555
  color: foregroundColorIcon,
@@ -503,7 +574,12 @@ const commandSVGIcons = {
503
574
  mergeAll: cellsMergeIcon,
504
575
  mergeHorizontally: cellsMergeHorizontallyIcon,
505
576
  mergeVertically: cellsMergeVerticallyIcon,
506
- unmerge: tableUnmergeIcon
577
+ unmerge: tableUnmergeIcon,
578
+ insertLink: linkIcon,
579
+ increaseFontSize: fontGrowIcon,
580
+ decreaseFontSize: fontShrinkIcon,
581
+ decreaseDecimal: decimalDecreaseIcon,
582
+ increaseDecimal: decimalIncreaseIcon
507
583
  };
508
584
 
509
585
  /**
@@ -521,7 +597,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
521
597
  this.onFileSelect = (e) => {
522
598
  const file = e.target.files[0];
523
599
  if (file) {
524
- this.spreadsheetService.spreadsheet.fromFile(file);
600
+ this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
525
601
  e.target.value = null;
526
602
  }
527
603
  };
@@ -723,22 +799,22 @@ const FORMATS = [
723
799
  * @hidden
724
800
  */
725
801
  const ALIGNS = [
726
- { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '' },
727
- { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '' },
728
- { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '' },
729
- { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '' },
730
- { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '' },
731
- { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '' },
732
- { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '' }
802
+ { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '', commandId: 'alignLeft' },
803
+ { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '', commandId: 'alignCenter' },
804
+ { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '', commandId: 'alignRight' },
805
+ { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '', commandId: 'alignJustify' },
806
+ { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '', commandId: 'alignTop' },
807
+ { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '', commandId: 'alignMiddle' },
808
+ { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '', commandId: 'alignBottom' }
733
809
  ];
734
810
  /**
735
811
  * @hidden
736
812
  */
737
813
  const MERGE = [
738
- { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false },
739
- { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false },
740
- { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false },
741
- { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false }
814
+ { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false, commandId: 'mergeAll' },
815
+ { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false, commandId: 'mergeHorizontally' },
816
+ { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false, commandId: 'mergeVertically' },
817
+ { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false, commandId: 'unmerge' }
742
818
  ];
743
819
  /**
744
820
  * @hidden
@@ -810,7 +886,6 @@ FontFamilyDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
810
886
  #element
811
887
  [data]="data"
812
888
  [(value)]="value"
813
- [attr.title]="title"
814
889
  [tabindex]="tabindex"
815
890
  (valueChange)="onValueChange($event)"
816
891
  [leftRightArrowsNavigation]="false"
@@ -832,7 +907,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
832
907
  #element
833
908
  [data]="data"
834
909
  [(value)]="value"
835
- [attr.title]="title"
836
910
  [tabindex]="tabindex"
837
911
  (valueChange)="onValueChange($event)"
838
912
  [leftRightArrowsNavigation]="false"
@@ -899,7 +973,7 @@ class DialogContentComponent extends DialogContentBase {
899
973
  this.componentType = args.componentType;
900
974
  }
901
975
  }
902
- DialogContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$4.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
976
+ DialogContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
903
977
  DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DialogContentComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
904
978
  <div
905
979
  [ngSwitch]="componentType"
@@ -984,7 +1058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
984
1058
  </div>
985
1059
  `
986
1060
  }]
987
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1061
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
988
1062
 
989
1063
  /**
990
1064
  * @hidden
@@ -1120,7 +1194,7 @@ class SpreadsheetDropDownToolBase extends ToolBarToolComponent {
1120
1194
  return false;
1121
1195
  }
1122
1196
  }
1123
- SpreadsheetDropDownToolBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, deps: [{ token: MY_TOKEN }, { token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$2.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1197
+ SpreadsheetDropDownToolBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, deps: [{ token: MY_TOKEN }, { token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$2.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1124
1198
  SpreadsheetDropDownToolBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDropDownToolBase, selector: "ng-component", outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef }, { propertyName: "dropDownListRef", first: true, predicate: ["element"], descendants: true }, { propertyName: "popupButton", first: true, predicate: ["popupButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
1125
1199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, decorators: [{
1126
1200
  type: Component,
@@ -1130,7 +1204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1130
1204
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1131
1205
  type: Inject,
1132
1206
  args: [MY_TOKEN]
1133
- }] }, { type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
1207
+ }] }, { type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
1134
1208
  type: ViewChild,
1135
1209
  args: ['toolbarTemplate', { static: true }]
1136
1210
  }], popupTemplate: [{
@@ -1162,7 +1236,7 @@ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
1162
1236
  super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
1163
1237
  }
1164
1238
  }
1165
- SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1239
+ SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1166
1240
  SpreadsheetFontFamilyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
1167
1241
  <ng-template #toolbarTemplate>
1168
1242
  <kendo-spreadsheet-fontfamily-dropdownlist
@@ -1217,7 +1291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1217
1291
  </ng-template>
1218
1292
  `
1219
1293
  }]
1220
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1294
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1221
1295
  type: Inject,
1222
1296
  args: [ToolBarComponent]
1223
1297
  }] }]; } });
@@ -1235,7 +1309,7 @@ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
1235
1309
  super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
1236
1310
  }
1237
1311
  }
1238
- SpreadsheetFontSizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1312
+ SpreadsheetFontSizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1239
1313
  SpreadsheetFontSizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
1240
1314
  <ng-template #toolbarTemplate>
1241
1315
  <kendo-spreadsheet-fontsize-dropdownlist
@@ -1290,7 +1364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1290
1364
  </ng-template>
1291
1365
  `
1292
1366
  }]
1293
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1367
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1294
1368
  type: Inject,
1295
1369
  args: [ToolBarComponent]
1296
1370
  }] }]; } });
@@ -1304,7 +1378,7 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
1304
1378
  super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
1305
1379
  }
1306
1380
  }
1307
- SpreadsheetForeColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1381
+ SpreadsheetForeColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1308
1382
  SpreadsheetForeColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
1309
1383
  <ng-template #toolbarTemplate>
1310
1384
  <kendo-colorpicker
@@ -1369,7 +1443,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1369
1443
  </ng-template>
1370
1444
  `
1371
1445
  }]
1372
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1446
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1373
1447
  type: Inject,
1374
1448
  args: [ToolBarComponent]
1375
1449
  }] }]; } });
@@ -1383,7 +1457,7 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
1383
1457
  super('background', dialogService, localization, spreadsheetService, toolsService, toolbar);
1384
1458
  }
1385
1459
  }
1386
- SpreadsheetBackColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1460
+ SpreadsheetBackColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1387
1461
  SpreadsheetBackColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
1388
1462
  <ng-template #toolbarTemplate>
1389
1463
  <kendo-colorpicker
@@ -1448,7 +1522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1448
1522
  </ng-template>
1449
1523
  `
1450
1524
  }]
1451
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1525
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1452
1526
  type: Inject,
1453
1527
  args: [ToolBarComponent]
1454
1528
  }] }]; } });
@@ -1574,7 +1648,7 @@ class ActionDialogComponent extends DialogContentBase {
1574
1648
  this.commandName = args.commandName;
1575
1649
  }
1576
1650
  }
1577
- ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$4.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
1651
+ ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
1578
1652
  ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1579
1653
  <ng-container *ngIf="commandName === 'delete'">
1580
1654
  <p>The deleted sheet data will be lost.</p>
@@ -1583,9 +1657,9 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1583
1657
 
1584
1658
  <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1585
1659
  <div class="k-form-field">
1586
- <label class="k-label k-form-label">Rename sheet</label>
1660
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1587
1661
  <div class="k-form-field-wrap">
1588
- <kendo-textbox
1662
+ <kendo-textbox #textbox
1589
1663
  autocomplete="off"
1590
1664
  placeholder="Sheet name"
1591
1665
  [(value)]="value">
@@ -1593,7 +1667,7 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1593
1667
  </div>
1594
1668
  </div>
1595
1669
  </form>
1596
- `, isInline: true, components: [{ type: i5.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1670
+ `, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1597
1671
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, decorators: [{
1598
1672
  type: Component,
1599
1673
  args: [{
@@ -1605,9 +1679,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1605
1679
 
1606
1680
  <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1607
1681
  <div class="k-form-field">
1608
- <label class="k-label k-form-label">Rename sheet</label>
1682
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1609
1683
  <div class="k-form-field-wrap">
1610
- <kendo-textbox
1684
+ <kendo-textbox #textbox
1611
1685
  autocomplete="off"
1612
1686
  placeholder="Sheet name"
1613
1687
  [(value)]="value">
@@ -1617,7 +1691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1617
1691
  </form>
1618
1692
  `
1619
1693
  }]
1620
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1694
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1621
1695
 
1622
1696
  /**
1623
1697
  * @hidden
@@ -1805,7 +1879,7 @@ class SheetsBarComponent {
1805
1879
  });
1806
1880
  }
1807
1881
  }
1808
- SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$4.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1882
+ SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$1.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1809
1883
  SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: { sheets: "sheets", sheetDescriptors: "sheetDescriptors" }, host: { properties: { "class.k-spreadsheet-sheets-bar": "this.hostClasses" } }, viewQueries: [{ propertyName: "addButton", first: true, predicate: ["addButton"], descendants: true }, { propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }, { propertyName: "tabstrip", first: true, predicate: ["tabstrip"], descendants: true }, { propertyName: "actionDdbs", predicate: ["sheetDdb"], descendants: true }, { propertyName: "actionDdbRefs", predicate: ["sheetDdb"], descendants: true, read: ElementRef }], ngImport: i0, template: `
1810
1884
  <button kendoButton #addButton
1811
1885
  [title]="messageFor('addSheet')"
@@ -1909,7 +1983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1909
1983
  </kendo-tabstrip>
1910
1984
  `
1911
1985
  }]
1912
- }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$4.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1986
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$1.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1913
1987
  type: HostBinding,
1914
1988
  args: ['class.k-spreadsheet-sheets-bar']
1915
1989
  }], sheets: [{
@@ -1939,7 +2013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1939
2013
  class MessagesDirective extends ComponentMessages {
1940
2014
  }
1941
2015
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1942
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", delete: "delete", rename: "rename", nameBox: "nameBox", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge" }, usesInheritance: true, ngImport: i0 });
2016
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName" }, usesInheritance: true, ngImport: i0 });
1943
2017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
1944
2018
  type: Directive,
1945
2019
  args: [{
@@ -1951,6 +2025,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1951
2025
  type: Input
1952
2026
  }], insert: [{
1953
2027
  type: Input
2028
+ }], formatTab: [{
2029
+ type: Input
1954
2030
  }], saveFile: [{
1955
2031
  type: Input
1956
2032
  }], loadFile: [{
@@ -1993,6 +2069,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1993
2069
  type: Input
1994
2070
  }], align: [{
1995
2071
  type: Input
2072
+ }], alignHorizontal: [{
2073
+ type: Input
2074
+ }], alignVertical: [{
2075
+ type: Input
2076
+ }], alignLeft: [{
2077
+ type: Input
2078
+ }], alignCenter: [{
2079
+ type: Input
2080
+ }], alignRight: [{
2081
+ type: Input
2082
+ }], alignJustify: [{
2083
+ type: Input
2084
+ }], alignTop: [{
2085
+ type: Input
2086
+ }], alignMiddle: [{
2087
+ type: Input
2088
+ }], alignBottom: [{
2089
+ type: Input
1996
2090
  }], dialogApply: [{
1997
2091
  type: Input
1998
2092
  }], dialogCancel: [{
@@ -2001,6 +2095,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2001
2095
  type: Input
2002
2096
  }], dialogRename: [{
2003
2097
  type: Input
2098
+ }], dialogInsert: [{
2099
+ type: Input
2100
+ }], dialogRemoveLink: [{
2101
+ type: Input
2004
2102
  }], delete: [{
2005
2103
  type: Input
2006
2104
  }], rename: [{
@@ -2015,6 +2113,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2015
2113
  type: Input
2016
2114
  }], merge: [{
2017
2115
  type: Input
2116
+ }], mergeHorizontally: [{
2117
+ type: Input
2118
+ }], mergeVertically: [{
2119
+ type: Input
2120
+ }], mergeAll: [{
2121
+ type: Input
2122
+ }], unmerge: [{
2123
+ type: Input
2124
+ }], insertLink: [{
2125
+ type: Input
2126
+ }], increaseDecimal: [{
2127
+ type: Input
2128
+ }], decreaseDecimal: [{
2129
+ type: Input
2130
+ }], increaseFontSize: [{
2131
+ type: Input
2132
+ }], decreaseFontSize: [{
2133
+ type: Input
2134
+ }], openUnsupported: [{
2135
+ type: Input
2136
+ }], modifyMerged: [{
2137
+ type: Input
2138
+ }], cannotModifyDisabled: [{
2139
+ type: Input
2140
+ }], dialogOk: [{
2141
+ type: Input
2142
+ }], dialogError: [{
2143
+ type: Input
2144
+ }], duplicateSheetName: [{
2145
+ type: Input
2018
2146
  }] } });
2019
2147
 
2020
2148
  /**
@@ -2026,7 +2154,7 @@ class LocalizedMessagesDirective extends MessagesDirective {
2026
2154
  this.service = service;
2027
2155
  }
2028
2156
  }
2029
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2157
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2030
2158
  LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
2031
2159
  provide: MessagesDirective,
2032
2160
  useExisting: forwardRef(() => LocalizedMessagesDirective)
@@ -2040,7 +2168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2040
2168
  }],
2041
2169
  selector: '[kendoSpreadsheetLocalizedMessages]'
2042
2170
  }]
2043
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
2171
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
2044
2172
 
2045
2173
  /**
2046
2174
  * @hidden
@@ -2137,7 +2265,7 @@ class SpreadsheetCommandBaseDirective {
2137
2265
  clickHandler() { }
2138
2266
  pointerdownHandler(_event) { }
2139
2267
  }
2140
- SpreadsheetCommandBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, deps: [{ token: MY_TOKEN }, { token: i1$2.ToolBarButtonComponent }, { token: i1.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2268
+ SpreadsheetCommandBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, deps: [{ token: MY_TOKEN }, { token: i1$2.ToolBarButtonComponent }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2141
2269
  SpreadsheetCommandBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetCommandBaseDirective, selector: "[kendoSpreadsheetCommandBase]", ngImport: i0 });
2142
2270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, decorators: [{
2143
2271
  type: Directive,
@@ -2147,7 +2275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2147
2275
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2148
2276
  type: Inject,
2149
2277
  args: [MY_TOKEN]
2150
- }] }, { type: i1$2.ToolBarButtonComponent }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2278
+ }] }, { type: i1$2.ToolBarButtonComponent }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2151
2279
 
2152
2280
  /**
2153
2281
  * @hidden
@@ -2214,6 +2342,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2214
2342
  }]
2215
2343
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2216
2344
 
2345
+ /**
2346
+ * @hidden
2347
+ */
2348
+ class SpreadsheetIncreaseFontSizeDirective extends SpreadsheetCommandButton {
2349
+ constructor(button, localization, spreadsheetService, toolsService) {
2350
+ super('increaseFontSize', button, localization, spreadsheetService, toolsService, {
2351
+ command: 'PropertyChangeCommand',
2352
+ options: { property: 'fontSize' }
2353
+ });
2354
+ this.value = DEFAULT_FONT_VALUES.fontSize;
2355
+ }
2356
+ clickHandler() {
2357
+ const newValue = this.value + 1;
2358
+ const options = {
2359
+ command: 'PropertyChangeCommand',
2360
+ options: { property: 'fontSize', value: newValue || null }
2361
+ };
2362
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2363
+ }
2364
+ ngAfterViewInit() {
2365
+ this.value = this.toolsService.toolsState['fontSize'];
2366
+ this.subs.add(this.toolsService.stateChange.subscribe(state => {
2367
+ this.value = state['fontSize'];
2368
+ }));
2369
+ }
2370
+ }
2371
+ SpreadsheetIncreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2372
+ SpreadsheetIncreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]", usesInheritance: true, ngImport: i0 });
2373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, decorators: [{
2374
+ type: Directive,
2375
+ args: [{
2376
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]'
2377
+ }]
2378
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2379
+
2380
+ /**
2381
+ * @hidden
2382
+ */
2383
+ class SpreadsheetDecreaseFontSizeDirective extends SpreadsheetCommandButton {
2384
+ constructor(button, localization, spreadsheetService, toolsService) {
2385
+ super('decreaseFontSize', button, localization, spreadsheetService, toolsService, {
2386
+ command: 'PropertyChangeCommand',
2387
+ options: { property: 'fontSize' }
2388
+ });
2389
+ this.value = DEFAULT_FONT_VALUES.fontSize;
2390
+ }
2391
+ clickHandler() {
2392
+ const newValue = this.value - 1;
2393
+ const options = {
2394
+ command: 'PropertyChangeCommand',
2395
+ options: { property: 'fontSize', value: newValue || null }
2396
+ };
2397
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2398
+ }
2399
+ ngAfterViewInit() {
2400
+ this.value = this.toolsService.toolsState['fontSize'];
2401
+ this.subs.add(this.toolsService.stateChange.subscribe(state => {
2402
+ this.value = state['fontSize'];
2403
+ }));
2404
+ }
2405
+ }
2406
+ SpreadsheetDecreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2407
+ SpreadsheetDecreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]", usesInheritance: true, ngImport: i0 });
2408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, decorators: [{
2409
+ type: Directive,
2410
+ args: [{
2411
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]'
2412
+ }]
2413
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2414
+
2217
2415
  /**
2218
2416
  * @hidden
2219
2417
  */
@@ -2283,18 +2481,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2283
2481
  /**
2284
2482
  * @hidden
2285
2483
  */
2286
- class SpreadsheetTextAlignDirective {
2484
+ class SpreadsheetHorizontalTextAlignDirective {
2287
2485
  constructor(host, localization, spreadsheetService, toolsService) {
2288
2486
  this.host = host;
2289
2487
  this.spreadsheetService = spreadsheetService;
2290
2488
  this.toolsService = toolsService;
2291
- this.commandName = 'align';
2489
+ this.commandName = 'alignHorizontal';
2292
2490
  this.subs = new Subscription();
2293
2491
  host.svgIcon = commandSVGIcons[this.commandName];
2294
2492
  host.icon = commandIcons[this.commandName];
2295
2493
  host.arrowIcon = true;
2296
2494
  host.fillMode = 'flat';
2297
- host.data = [...ALIGNS];
2495
+ host.data = ALIGNS
2496
+ .filter(value => value.commandName === 'textAlign')
2497
+ .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2298
2498
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2299
2499
  host.title = localization.get(this.commandName);
2300
2500
  host.textField = 'textKey';
@@ -2313,12 +2513,56 @@ class SpreadsheetTextAlignDirective {
2313
2513
  this.spreadsheetService.spreadsheet.executeCommand(options);
2314
2514
  }
2315
2515
  }
2316
- SpreadsheetTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2317
- SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
2318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, decorators: [{
2516
+ SpreadsheetHorizontalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2517
+ SpreadsheetHorizontalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]", ngImport: i0 });
2518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, decorators: [{
2319
2519
  type: Directive,
2320
2520
  args: [{
2321
- selector: '[kendoSpreadsheetTextAlign]',
2521
+ selector: '[kendoSpreadsheetHorizontalTextAlign]',
2522
+ }]
2523
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2524
+
2525
+ /**
2526
+ * @hidden
2527
+ */
2528
+ class SpreadsheetVerticalTextAlignDirective {
2529
+ constructor(host, localization, spreadsheetService, toolsService) {
2530
+ this.host = host;
2531
+ this.spreadsheetService = spreadsheetService;
2532
+ this.toolsService = toolsService;
2533
+ this.commandName = 'alignVertical';
2534
+ this.subs = new Subscription();
2535
+ host.svgIcon = commandSVGIcons[this.commandName];
2536
+ host.icon = commandIcons[this.commandName];
2537
+ host.arrowIcon = true;
2538
+ host.fillMode = 'flat';
2539
+ host.data = ALIGNS
2540
+ .filter(value => value.commandName === 'verticalAlign')
2541
+ .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2542
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2543
+ host.title = localization.get(this.commandName);
2544
+ host.textField = 'textKey';
2545
+ }
2546
+ ngOnInit() {
2547
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
2548
+ }
2549
+ ngOnDestroy() {
2550
+ this.subs.unsubscribe();
2551
+ }
2552
+ onItemClick(item) {
2553
+ const value = item.value || null;
2554
+ const options = {
2555
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
2556
+ };
2557
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2558
+ }
2559
+ }
2560
+ SpreadsheetVerticalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2561
+ SpreadsheetVerticalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]", ngImport: i0 });
2562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, decorators: [{
2563
+ type: Directive,
2564
+ args: [{
2565
+ selector: '[kendoSpreadsheetVerticalTextAlign]',
2322
2566
  }]
2323
2567
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2324
2568
 
@@ -2400,6 +2644,118 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2400
2644
  }]
2401
2645
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2402
2646
 
2647
+ /**
2648
+ * @hidden
2649
+ */
2650
+ class InsertLinkDialogComponent extends DialogContentBase {
2651
+ constructor(dialog) {
2652
+ super(dialog);
2653
+ this.dialog = dialog;
2654
+ this.urlLink = '';
2655
+ }
2656
+ setData(args) {
2657
+ this.urlLink = args.link;
2658
+ }
2659
+ }
2660
+ InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
2661
+ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2662
+ <form class="k-form k-form-md" method="dialog">
2663
+ <div class="k-form-field">
2664
+ <kendo-label [for]="textbox" text="URL"></kendo-label>
2665
+ <kendo-textbox #textbox
2666
+ [(value)]="urlLink">
2667
+ </kendo-textbox>
2668
+ </div>
2669
+ </form>
2670
+ `, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
2671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
2672
+ type: Component,
2673
+ args: [{
2674
+ template: `
2675
+ <form class="k-form k-form-md" method="dialog">
2676
+ <div class="k-form-field">
2677
+ <kendo-label [for]="textbox" text="URL"></kendo-label>
2678
+ <kendo-textbox #textbox
2679
+ [(value)]="urlLink">
2680
+ </kendo-textbox>
2681
+ </div>
2682
+ </form>
2683
+ `
2684
+ }]
2685
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
2686
+
2687
+ /**
2688
+ * @hidden
2689
+ */
2690
+ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
2691
+ constructor(button, localization, spreadsheetService, toolsService, dialogService) {
2692
+ super('insertLink', button, localization, spreadsheetService, toolsService, {
2693
+ command: 'HyperlinkCommand'
2694
+ });
2695
+ this.dialogService = dialogService;
2696
+ spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range);
2697
+ }
2698
+ clickHandler() {
2699
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2700
+ if (sheet) {
2701
+ this.openDialog();
2702
+ }
2703
+ }
2704
+ /**
2705
+ * @hidden
2706
+ */
2707
+ openDialog() {
2708
+ const hasLink = isPresent(this.currentRange?.link());
2709
+ const dialogSettings = {
2710
+ appendTo: this.spreadsheetService.dialogContainer,
2711
+ title: this.localization.get(this.command),
2712
+ content: InsertLinkDialogComponent,
2713
+ actions: [{
2714
+ text: this.localization.get('dialogInsert'),
2715
+ themeColor: 'primary'
2716
+ }, {
2717
+ text: this.localization.get('dialogCancel')
2718
+ },
2719
+ 'spacer', {
2720
+ text: this.localization.get('dialogRemoveLink'),
2721
+ themeColor: 'primary',
2722
+ fillMode: 'clear',
2723
+ cssClass: hasLink ? '' : 'k-disabled'
2724
+ }],
2725
+ actionsLayout: 'start',
2726
+ width: 400,
2727
+ autoFocusedElement: '.k-textbox > .k-input-inner'
2728
+ };
2729
+ const dialog = this.dialogService.open(dialogSettings);
2730
+ const dialogInstance = dialog.dialog.instance;
2731
+ const dialogContent = dialog.content.instance;
2732
+ if (hasLink) {
2733
+ dialogContent.setData({ link: this.currentRange?.link() });
2734
+ }
2735
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
2736
+ if (event.text === this.localization.get('dialogCancel')) {
2737
+ return;
2738
+ }
2739
+ let link = null;
2740
+ if (event.text === this.localization.get('dialogInsert')) {
2741
+ link = dialogContent.urlLink || null;
2742
+ }
2743
+ this.spreadsheetService.spreadsheet.executeCommand({
2744
+ command: 'HyperlinkCommand',
2745
+ options: { link }
2746
+ });
2747
+ });
2748
+ }
2749
+ }
2750
+ SpreadsheetInsertLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Directive });
2751
+ SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
2752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
2753
+ type: Directive,
2754
+ args: [{
2755
+ selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]'
2756
+ }]
2757
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
2758
+
2403
2759
  /**
2404
2760
  * @hidden
2405
2761
  */
@@ -2528,6 +2884,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2528
2884
  }]
2529
2885
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2530
2886
 
2887
+ /**
2888
+ * @hidden
2889
+ */
2890
+ class SpreadsheetDecreaseDecimalDirective extends SpreadsheetCommandButton {
2891
+ constructor(button, localization, spreadsheetService, toolsService) {
2892
+ super('decreaseDecimal', button, localization, spreadsheetService, toolsService, {
2893
+ command: 'AdjustDecimalsCommand'
2894
+ });
2895
+ }
2896
+ clickHandler() {
2897
+ const options = {
2898
+ command: 'AdjustDecimalsCommand',
2899
+ options: { value: -1 }
2900
+ };
2901
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2902
+ }
2903
+ }
2904
+ SpreadsheetDecreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2905
+ SpreadsheetDecreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]", usesInheritance: true, ngImport: i0 });
2906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, decorators: [{
2907
+ type: Directive,
2908
+ args: [{
2909
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]'
2910
+ }]
2911
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2912
+
2913
+ /**
2914
+ * @hidden
2915
+ */
2916
+ class SpreadsheetIncreaseDecimalDirective extends SpreadsheetCommandButton {
2917
+ constructor(button, localization, spreadsheetService, toolsService) {
2918
+ super('increaseDecimal', button, localization, spreadsheetService, toolsService, {
2919
+ command: 'AdjustDecimalsCommand'
2920
+ });
2921
+ }
2922
+ clickHandler() {
2923
+ const options = {
2924
+ command: 'AdjustDecimalsCommand',
2925
+ options: { value: 1 }
2926
+ };
2927
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2928
+ }
2929
+ }
2930
+ SpreadsheetIncreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2931
+ SpreadsheetIncreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]", usesInheritance: true, ngImport: i0 });
2932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, decorators: [{
2933
+ type: Directive,
2934
+ args: [{
2935
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]'
2936
+ }]
2937
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2938
+
2531
2939
  /**
2532
2940
  * @hidden
2533
2941
  */
@@ -2541,7 +2949,7 @@ class SpreadsheetMergeDirective {
2541
2949
  host.icon = commandIcons[this.commandName];
2542
2950
  host.arrowIcon = true;
2543
2951
  host.fillMode = 'flat';
2544
- host.data = [...MERGE];
2952
+ host.data = MERGE.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2545
2953
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2546
2954
  host.title = localization.get(this.commandName);
2547
2955
  host.textField = 'textKey';
@@ -2618,13 +3026,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2618
3026
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
2619
3027
  */
2620
3028
  class SpreadsheetComponent {
2621
- constructor(ngZone, intl, host, localization, spreadsheetService, toolsService) {
3029
+ constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
2622
3030
  this.ngZone = ngZone;
2623
3031
  this.intl = intl;
2624
3032
  this.host = host;
2625
3033
  this.localization = localization;
2626
3034
  this.spreadsheetService = spreadsheetService;
2627
3035
  this.toolsService = toolsService;
3036
+ this.errorService = errorService;
2628
3037
  this.hostClass = true;
2629
3038
  this.role = 'application';
2630
3039
  /**
@@ -2704,17 +3113,25 @@ class SpreadsheetComponent {
2704
3113
  * @hidden
2705
3114
  */
2706
3115
  this.showLicenseWatermark = false;
2707
- this.onChange = (e) => hasObservers(this.change) && this.change.emit(e);
3116
+ this.onChange = (e) => {
3117
+ hasObservers(this.change) && this.change.emit(e);
3118
+ this.spreadsheetService.selectionChanged.next(e.range);
3119
+ };
2708
3120
  this.onSelectionChange = (e) => {
2709
3121
  hasObservers(this.selectionChange) && this.selectionChange.emit(e);
2710
3122
  this.spreadsheetService.selectionChanged.next(e.range);
2711
3123
  };
2712
- this.onChangeFormat = (e) => hasObservers(this.formatChange) && this.formatChange.emit(e);
3124
+ this.onChangeFormat = (e) => {
3125
+ hasObservers(this.formatChange) && this.formatChange.emit(e);
3126
+ this.spreadsheetService.selectionChanged.next(e.range);
3127
+ };
2713
3128
  this.onExcelExport = (e) => hasObservers(this.excelExport) && this.excelExport.emit(e);
2714
3129
  this.onExcelImport = (e) => hasObservers(this.excelImport) && this.excelImport.emit(e);
2715
3130
  this.onActiveSheetChanged = (sheet) => {
2716
3131
  const eventArgs = { sender: this.spreadsheetService.spreadsheet, sheet };
2717
3132
  hasObservers(this.activeSheetChange) && this.activeSheetChange.emit(eventArgs);
3133
+ const range = sheet.range(sheet.activeCell());
3134
+ this.spreadsheetService.selectionChanged.next(range);
2718
3135
  };
2719
3136
  this.updateState = (e) => {
2720
3137
  this.toolsService.updateTools(e);
@@ -2722,6 +3139,11 @@ class SpreadsheetComponent {
2722
3139
  this.sheets = mapToSheetDescriptor(this.spreadsheetService.spreadsheet.sheets());
2723
3140
  }
2724
3141
  };
3142
+ this.onMessage = (e) => {
3143
+ this.ngZone.run(() => {
3144
+ this.errorService.handleErrorMessage(e);
3145
+ });
3146
+ };
2725
3147
  const isValid = validatePackage(packageMetadata);
2726
3148
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
2727
3149
  ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -2737,6 +3159,9 @@ class SpreadsheetComponent {
2737
3159
  }, {
2738
3160
  id: 'insert',
2739
3161
  text: this.messageFor('insert')
3162
+ }, {
3163
+ id: 'format',
3164
+ text: this.messageFor('formatTab')
2740
3165
  }, {
2741
3166
  id: 'view',
2742
3167
  text: this.messageFor('view')
@@ -2810,6 +3235,7 @@ class SpreadsheetComponent {
2810
3235
  spreadsheet.bind('excelImport', this.onExcelImport);
2811
3236
  spreadsheet.bind('excelExport', this.onExcelExport);
2812
3237
  spreadsheet.view.bind('update', this.updateState);
3238
+ spreadsheet.view.bind('message', this.onMessage);
2813
3239
  const sheet = spreadsheet.activeSheet();
2814
3240
  if (sheet) {
2815
3241
  this.updateState({ range: sheet.range(sheet.activeCell()) });
@@ -2903,7 +3329,7 @@ class SpreadsheetComponent {
2903
3329
  };
2904
3330
  }
2905
3331
  }
2906
- SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$5.IntlService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Component });
3332
+ SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$4.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }], target: i0.ɵɵFactoryTarget.Component });
2907
3333
  SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", activeSheet: "activeSheet", sheets: "sheets", columns: "columns", columnWidth: "columnWidth", defaultCellStyle: "defaultCellStyle", headerHeight: "headerHeight", headerWidth: "headerWidth", rowHeight: "rowHeight", rows: "rows", images: "images", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", activeSheetChange: "activeSheetChange" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
2908
3334
  SpreadsheetLocalizationService,
2909
3335
  {
@@ -2915,7 +3341,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2915
3341
  useValue: 'kendo.spreadsheet'
2916
3342
  },
2917
3343
  SpreadsheetToolsService,
2918
- PopupService
3344
+ PopupService,
3345
+ ErrorHandlingService
2919
3346
  ], viewQueries: [{ propertyName: "formulaBarInputRef", first: true, predicate: ["formulaBar"], descendants: true, read: FormulaInputDirective }, { propertyName: "formulaCellInputRef", first: true, predicate: ["formulaCell"], descendants: true, read: FormulaInputDirective }, { propertyName: "nameBoxRef", first: true, predicate: ["nameBox"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }], exportAs: ["kendo-spreadsheet"], usesOnChanges: true, ngImport: i0, template: `
2920
3347
  <ng-container
2921
3348
  kendoSpreadsheetLocalizedMessages
@@ -2945,6 +3372,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2945
3372
  file="File"
2946
3373
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
2947
3374
  insert="Insert"
3375
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
3376
+ formatTab="Format"
2948
3377
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
2949
3378
  view="View"
2950
3379
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -2969,8 +3398,44 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2969
3398
  wrap="Text wrap"
2970
3399
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
2971
3400
  align="Align"
3401
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
3402
+ alignHorizontal="Align horizontally"
3403
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3404
+ alignVertical="Align vertically"
3405
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3406
+ alignLeft="Align Left"
3407
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3408
+ alignCenter="Align Center"
3409
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3410
+ alignRight="Align Right"
3411
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3412
+ alignJustify="Align Justify"
3413
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3414
+ alignTop="Align Top"
3415
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3416
+ alignMiddle="Align Middle"
3417
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3418
+ alignBottom="Align Bottom"
2972
3419
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
2973
3420
  merge="Merge"
3421
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3422
+ mergeAll="Merge all"
3423
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3424
+ mergeHorizontally="Merge horizontally"
3425
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3426
+ mergeVertically="Merge vertically"
3427
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3428
+ unmerge="Unmerge"
3429
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3430
+ insertLink="Insert link"
3431
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
3432
+ decreaseDecimal="Decrease decimal"
3433
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
3434
+ increaseDecimal="Increase decimal"
3435
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
3436
+ increaseFontSize="Increase font size"
3437
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
3438
+ decreaseFontSize="Decrease font size"
2974
3439
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
2975
3440
  dialogApply="Apply"
2976
3441
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -2979,6 +3444,10 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2979
3444
  dialogDelete="Delete"
2980
3445
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
2981
3446
  dialogRename="Rename"
3447
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
3448
+ dialogInsert="Insert"
3449
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
3450
+ dialogRemoveLink="Remove link"
2982
3451
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
2983
3452
  rename="Rename Sheet"
2984
3453
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -2988,7 +3457,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2988
3457
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
2989
3458
  addSheet="Add New Sheet"
2990
3459
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
2991
- sheetsMenu="All Sheets">
3460
+ sheetsMenu="All Sheets"
3461
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3462
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3463
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3464
+ modifyMerged="Cannot change part of a merged cell."
3465
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3466
+ cannotModifyDisabled="Cannot modify disabled cells."
3467
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3468
+ dialogOk="OK"
3469
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3470
+ dialogError="Error"
3471
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3472
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3473
+ >
2992
3474
  </ng-container>
2993
3475
  <div class="k-spreadsheet-header">
2994
3476
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3012,6 +3494,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3012
3494
  <kendo-toolbar-separator></kendo-toolbar-separator>
3013
3495
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
3014
3496
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
3497
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
3498
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
3499
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3015
3500
  <kendo-toolbar-buttongroup>
3016
3501
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
3017
3502
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -3021,7 +3506,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3021
3506
  <kendo-toolbar-separator></kendo-toolbar-separator>
3022
3507
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
3023
3508
  <kendo-toolbar-separator></kendo-toolbar-separator>
3024
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
3509
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
3510
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
3025
3511
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
3026
3512
  <kendo-toolbar-separator></kendo-toolbar-separator>
3027
3513
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -3030,6 +3516,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3030
3516
  [attr.aria-label]="messageFor('insert')"
3031
3517
  class="k-spreadsheet-toolbar"
3032
3518
  [overflow]="overflow">
3519
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
3520
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3033
3521
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
3034
3522
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
3035
3523
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -3038,6 +3526,13 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3038
3526
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
3039
3527
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
3040
3528
  </kendo-toolbar>
3529
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
3530
+ [attr.aria-label]="messageFor('formatTab')"
3531
+ class="k-spreadsheet-toolbar"
3532
+ [overflow]="overflow">
3533
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
3534
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
3535
+ </kendo-toolbar>
3041
3536
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
3042
3537
  [attr.aria-label]="messageFor('view')"
3043
3538
  class="k-spreadsheet-toolbar"
@@ -3075,7 +3570,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3075
3570
  <ng-container #dialogContainer></ng-container>
3076
3571
 
3077
3572
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3078
- `, isInline: true, components: [{ type: i5$2.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i5$2.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i1$2.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i1$2.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { type: i1$2.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i1$2.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i1$2.ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i3.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]" }, { type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
3573
+ `, isInline: true, components: [{ type: i6$1.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i6$1.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i1$2.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i1$2.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { type: i1$2.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i1$2.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i1$2.ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i3.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
3079
3574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
3080
3575
  type: Component,
3081
3576
  args: [{
@@ -3092,7 +3587,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3092
3587
  useValue: 'kendo.spreadsheet'
3093
3588
  },
3094
3589
  SpreadsheetToolsService,
3095
- PopupService
3590
+ PopupService,
3591
+ ErrorHandlingService
3096
3592
  ],
3097
3593
  template: `
3098
3594
  <ng-container
@@ -3123,6 +3619,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3123
3619
  file="File"
3124
3620
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
3125
3621
  insert="Insert"
3622
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
3623
+ formatTab="Format"
3126
3624
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
3127
3625
  view="View"
3128
3626
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -3147,8 +3645,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3147
3645
  wrap="Text wrap"
3148
3646
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
3149
3647
  align="Align"
3648
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
3649
+ alignHorizontal="Align horizontally"
3650
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3651
+ alignVertical="Align vertically"
3652
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3653
+ alignLeft="Align Left"
3654
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3655
+ alignCenter="Align Center"
3656
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3657
+ alignRight="Align Right"
3658
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3659
+ alignJustify="Align Justify"
3660
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3661
+ alignTop="Align Top"
3662
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3663
+ alignMiddle="Align Middle"
3664
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3665
+ alignBottom="Align Bottom"
3150
3666
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3151
3667
  merge="Merge"
3668
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3669
+ mergeAll="Merge all"
3670
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3671
+ mergeHorizontally="Merge horizontally"
3672
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3673
+ mergeVertically="Merge vertically"
3674
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3675
+ unmerge="Unmerge"
3676
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3677
+ insertLink="Insert link"
3678
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
3679
+ decreaseDecimal="Decrease decimal"
3680
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
3681
+ increaseDecimal="Increase decimal"
3682
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
3683
+ increaseFontSize="Increase font size"
3684
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
3685
+ decreaseFontSize="Decrease font size"
3152
3686
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
3153
3687
  dialogApply="Apply"
3154
3688
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -3157,6 +3691,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3157
3691
  dialogDelete="Delete"
3158
3692
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
3159
3693
  dialogRename="Rename"
3694
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
3695
+ dialogInsert="Insert"
3696
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
3697
+ dialogRemoveLink="Remove link"
3160
3698
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
3161
3699
  rename="Rename Sheet"
3162
3700
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -3166,7 +3704,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3166
3704
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3167
3705
  addSheet="Add New Sheet"
3168
3706
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3169
- sheetsMenu="All Sheets">
3707
+ sheetsMenu="All Sheets"
3708
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3709
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3710
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3711
+ modifyMerged="Cannot change part of a merged cell."
3712
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3713
+ cannotModifyDisabled="Cannot modify disabled cells."
3714
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3715
+ dialogOk="OK"
3716
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3717
+ dialogError="Error"
3718
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3719
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3720
+ >
3170
3721
  </ng-container>
3171
3722
  <div class="k-spreadsheet-header">
3172
3723
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3190,6 +3741,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3190
3741
  <kendo-toolbar-separator></kendo-toolbar-separator>
3191
3742
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
3192
3743
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
3744
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
3745
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
3746
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3193
3747
  <kendo-toolbar-buttongroup>
3194
3748
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
3195
3749
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -3199,7 +3753,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3199
3753
  <kendo-toolbar-separator></kendo-toolbar-separator>
3200
3754
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
3201
3755
  <kendo-toolbar-separator></kendo-toolbar-separator>
3202
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
3756
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
3757
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
3203
3758
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
3204
3759
  <kendo-toolbar-separator></kendo-toolbar-separator>
3205
3760
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -3208,6 +3763,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3208
3763
  [attr.aria-label]="messageFor('insert')"
3209
3764
  class="k-spreadsheet-toolbar"
3210
3765
  [overflow]="overflow">
3766
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
3767
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3211
3768
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
3212
3769
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
3213
3770
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -3216,6 +3773,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3216
3773
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
3217
3774
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
3218
3775
  </kendo-toolbar>
3776
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
3777
+ [attr.aria-label]="messageFor('formatTab')"
3778
+ class="k-spreadsheet-toolbar"
3779
+ [overflow]="overflow">
3780
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
3781
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
3782
+ </kendo-toolbar>
3219
3783
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
3220
3784
  [attr.aria-label]="messageFor('view')"
3221
3785
  class="k-spreadsheet-toolbar"
@@ -3255,7 +3819,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3255
3819
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3256
3820
  `,
3257
3821
  }]
3258
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$5.IntlService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; }, propDecorators: { formulaBarInputRef: [{
3822
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }]; }, propDecorators: { formulaBarInputRef: [{
3259
3823
  type: ViewChild,
3260
3824
  args: ['formulaBar', { read: FormulaInputDirective }]
3261
3825
  }], formulaCellInputRef: [{
@@ -3326,7 +3890,7 @@ class CustomMessagesComponent extends MessagesDirective {
3326
3890
  return true;
3327
3891
  }
3328
3892
  }
3329
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3893
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3330
3894
  CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
3331
3895
  {
3332
3896
  provide: MessagesDirective,
@@ -3345,7 +3909,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3345
3909
  // eslint-disable-next-line @angular-eslint/directive-selector
3346
3910
  selector: 'kendo-spreadsheet-messages'
3347
3911
  }]
3348
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
3912
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
3913
+
3914
+ /**
3915
+ * @hidden
3916
+ */
3917
+ class SpreadsheetTextAlignDirective {
3918
+ constructor(host, localization, spreadsheetService, toolsService) {
3919
+ this.host = host;
3920
+ this.spreadsheetService = spreadsheetService;
3921
+ this.toolsService = toolsService;
3922
+ this.commandName = 'align';
3923
+ this.subs = new Subscription();
3924
+ host.svgIcon = commandSVGIcons[this.commandName];
3925
+ host.icon = commandIcons[this.commandName];
3926
+ host.arrowIcon = true;
3927
+ host.fillMode = 'flat';
3928
+ host.data = ALIGNS.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
3929
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3930
+ host.title = localization.get(this.commandName);
3931
+ host.textField = 'textKey';
3932
+ }
3933
+ ngOnInit() {
3934
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
3935
+ }
3936
+ ngOnDestroy() {
3937
+ this.subs.unsubscribe();
3938
+ }
3939
+ onItemClick(item) {
3940
+ const value = item.value || null;
3941
+ const options = {
3942
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
3943
+ };
3944
+ this.spreadsheetService.spreadsheet.executeCommand(options);
3945
+ }
3946
+ }
3947
+ SpreadsheetTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3948
+ SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
3949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, decorators: [{
3950
+ type: Directive,
3951
+ args: [{
3952
+ selector: '[kendoSpreadsheetTextAlign]',
3953
+ }]
3954
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3349
3955
 
3350
3956
  const DIRECTIVES = [
3351
3957
  SpreadsheetComponent,
@@ -3382,7 +3988,15 @@ const DIRECTIVES = [
3382
3988
  DialogContentComponent,
3383
3989
  MainMenuDirective,
3384
3990
  ActionDialogComponent,
3385
- SpreadsheetMergeDirective
3991
+ SpreadsheetMergeDirective,
3992
+ SpreadsheetInsertLinkDirective,
3993
+ InsertLinkDialogComponent,
3994
+ SpreadsheetIncreaseFontSizeDirective,
3995
+ SpreadsheetDecreaseFontSizeDirective,
3996
+ SpreadsheetIncreaseDecimalDirective,
3997
+ SpreadsheetDecreaseDecimalDirective,
3998
+ SpreadsheetHorizontalTextAlignDirective,
3999
+ SpreadsheetVerticalTextAlignDirective
3386
4000
  ];
3387
4001
  const EXPORTS = [
3388
4002
  SpreadsheetComponent,
@@ -3408,7 +4022,14 @@ const EXPORTS = [
3408
4022
  SpreadsheetDeleteRowButtonDirective,
3409
4023
  SpreadsheetTextAlignDirective,
3410
4024
  SpreadsheetTextWrapDirective,
3411
- SpreadsheetMergeDirective
4025
+ SpreadsheetMergeDirective,
4026
+ SpreadsheetInsertLinkDirective,
4027
+ SpreadsheetIncreaseFontSizeDirective,
4028
+ SpreadsheetDecreaseFontSizeDirective,
4029
+ SpreadsheetIncreaseDecimalDirective,
4030
+ SpreadsheetDecreaseDecimalDirective,
4031
+ SpreadsheetHorizontalTextAlignDirective,
4032
+ SpreadsheetVerticalTextAlignDirective
3412
4033
  ];
3413
4034
  /**
3414
4035
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -3451,7 +4072,15 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
3451
4072
  DialogContentComponent,
3452
4073
  MainMenuDirective,
3453
4074
  ActionDialogComponent,
3454
- SpreadsheetMergeDirective], imports: [CommonModule,
4075
+ SpreadsheetMergeDirective,
4076
+ SpreadsheetInsertLinkDirective,
4077
+ InsertLinkDialogComponent,
4078
+ SpreadsheetIncreaseFontSizeDirective,
4079
+ SpreadsheetDecreaseFontSizeDirective,
4080
+ SpreadsheetIncreaseDecimalDirective,
4081
+ SpreadsheetDecreaseDecimalDirective,
4082
+ SpreadsheetHorizontalTextAlignDirective,
4083
+ SpreadsheetVerticalTextAlignDirective], imports: [CommonModule,
3455
4084
  ButtonsModule,
3456
4085
  ComboBoxModule,
3457
4086
  DropDownListModule,
@@ -3488,7 +4117,14 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
3488
4117
  SpreadsheetDeleteRowButtonDirective,
3489
4118
  SpreadsheetTextAlignDirective,
3490
4119
  SpreadsheetTextWrapDirective,
3491
- SpreadsheetMergeDirective] });
4120
+ SpreadsheetMergeDirective,
4121
+ SpreadsheetInsertLinkDirective,
4122
+ SpreadsheetIncreaseFontSizeDirective,
4123
+ SpreadsheetDecreaseFontSizeDirective,
4124
+ SpreadsheetIncreaseDecimalDirective,
4125
+ SpreadsheetDecreaseDecimalDirective,
4126
+ SpreadsheetHorizontalTextAlignDirective,
4127
+ SpreadsheetVerticalTextAlignDirective] });
3492
4128
  SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetModule, imports: [[
3493
4129
  CommonModule,
3494
4130
  ButtonsModule,
@@ -3535,5 +4171,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3535
4171
  * Generated bundle index. Do not edit.
3536
4172
  */
3537
4173
 
3538
- export { CustomMessagesComponent, FormulaInputDirective, FormulaListComponent, NameBoxComponent, SheetsBarComponent, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetBackColorComponent, SpreadsheetBoldDirective, SpreadsheetComponent, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetForeColorComponent, SpreadsheetFormatDirective, SpreadsheetGridLinesDirective, SpreadsheetItalicDirective, SpreadsheetLoadFileComponent, SpreadsheetMergeDirective, SpreadsheetModule, SpreadsheetRedoDirective, SpreadsheetSaveFileDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetUnderlineDirective, SpreadsheetUndoDirective };
4174
+ export { CustomMessagesComponent, FormulaInputDirective, FormulaListComponent, NameBoxComponent, SheetsBarComponent, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetBackColorComponent, SpreadsheetBoldDirective, SpreadsheetComponent, SpreadsheetDecreaseDecimalDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetForeColorComponent, SpreadsheetFormatDirective, SpreadsheetGridLinesDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetInsertLinkDirective, SpreadsheetItalicDirective, SpreadsheetLoadFileComponent, SpreadsheetMergeDirective, SpreadsheetModule, SpreadsheetRedoDirective, SpreadsheetSaveFileDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetUnderlineDirective, SpreadsheetUndoDirective, SpreadsheetVerticalTextAlignDirective };
3539
4175