@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,14 +6,14 @@ import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Injectable, 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';
12
- import * as i1 from '@progress/kendo-angular-l10n';
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
+ import * as i2 from '@progress/kendo-angular-l10n';
13
13
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
14
14
  import * as i3 from '@progress/kendo-angular-common';
15
15
  import { isPresent, hasObservers, isDocumentAvailable, Keys, shouldShowValidationUI, EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
16
- import * as i1$1 from '@progress/kendo-angular-popup';
16
+ import * as i1 from '@progress/kendo-angular-popup';
17
17
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
18
18
  import { Subject, Subscription } from 'rxjs';
19
19
  import * as i6 from '@progress/kendo-angular-icons';
@@ -21,23 +21,24 @@ 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
 
@@ -114,7 +115,7 @@ class SpreadsheetLocalizationService extends LocalizationService {
114
115
  super(prefix, messageService, _rtl);
115
116
  }
116
117
  }
117
- 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 });
118
+ 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 });
118
119
  SpreadsheetLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService });
119
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, decorators: [{
120
121
  type: Injectable
@@ -122,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
122
123
  return [{ type: undefined, decorators: [{
123
124
  type: Inject,
124
125
  args: [L10N_PREFIX]
125
- }] }, { type: i1.MessageService, decorators: [{
126
+ }] }, { type: i2.MessageService, decorators: [{
126
127
  type: Optional
127
128
  }] }, { type: undefined, decorators: [{
128
129
  type: Optional
@@ -374,14 +375,14 @@ class FormulaInputDirective {
374
375
  };
375
376
  }
376
377
  }
377
- 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 });
378
+ 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 });
378
379
  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 });
379
380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, decorators: [{
380
381
  type: Directive,
381
382
  args: [{
382
383
  selector: '[kendoSpreadsheetFormulaInput]',
383
384
  }]
384
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
385
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
385
386
  type: HostBinding,
386
387
  args: ['class.k-spreadsheet-formula-input']
387
388
  }], ariaHasPopup: [{
@@ -436,6 +437,69 @@ const getSheetActions = (index, items) => {
436
437
  }];
437
438
  };
438
439
 
440
+ /**
441
+ * @hidden
442
+ */
443
+ class ErrorHandlingService {
444
+ constructor(spreadsheetService, localization, dialogService) {
445
+ this.spreadsheetService = spreadsheetService;
446
+ this.localization = localization;
447
+ this.dialogService = dialogService;
448
+ this.sheetsChanged = new Subject();
449
+ this.activeSheetChanged = new Subject();
450
+ this.selectionChanged = new Subject();
451
+ }
452
+ set currentActiveSheet(value) {
453
+ this._currentActiveSheet = value;
454
+ }
455
+ get currentActiveSheet() {
456
+ return this._currentActiveSheet;
457
+ }
458
+ get activeSheet() {
459
+ var _a;
460
+ return (_a = this.spreadsheet.activeSheet()) === null || _a === void 0 ? void 0 : _a.name();
461
+ }
462
+ notifySheetsChange(actionType, sheetInfo) {
463
+ const sheets = this.spreadsheet.sheets();
464
+ this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
465
+ }
466
+ handleErrorMessage(messageData) {
467
+ this.openDialog(messageData);
468
+ }
469
+ openDialog(messageData) {
470
+ var _a;
471
+ const dialogSettings = {
472
+ appendTo: this.spreadsheetService.dialogContainer,
473
+ title: this.messageFor('dialogError'),
474
+ content: this.messageFor(messageData.name),
475
+ actions: [{
476
+ text: this.messageFor('dialogOk'),
477
+ themeColor: 'primary'
478
+ }],
479
+ width: 400,
480
+ actionsLayout: 'start'
481
+ };
482
+ const dialog = this.dialogService.open(dialogSettings);
483
+ const dialogInstance = (_a = dialog.dialog) === null || _a === void 0 ? void 0 : _a.instance;
484
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
485
+ if (event.text === this.messageFor('dialogOk')) {
486
+ messageData.close();
487
+ }
488
+ });
489
+ dialogInstance.close.pipe(take(1)).subscribe(() => {
490
+ messageData.close();
491
+ });
492
+ }
493
+ messageFor(text) {
494
+ return this.localization.get(text);
495
+ }
496
+ }
497
+ 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 });
498
+ ErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService });
499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService, decorators: [{
500
+ type: Injectable
501
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i2.LocalizationService }, { type: i1$1.DialogService }]; } });
502
+
439
503
  /**
440
504
  * @hidden
441
505
  */
@@ -448,6 +512,8 @@ const commandIcons = {
448
512
  alignMiddle: 'align-middle',
449
513
  alignBottom: 'align-bottom',
450
514
  align: 'align-left',
515
+ alignHorizontal: 'align-left',
516
+ alignVertical: 'align-middle',
451
517
  background: 'droplet',
452
518
  bold: 'bold',
453
519
  color: 'foreground-color',
@@ -472,7 +538,12 @@ const commandIcons = {
472
538
  mergeAll: 'cells-merge',
473
539
  mergeHorizontally: 'cells-merge-horizontally',
474
540
  mergeVertically: 'cells-merge-vertically',
475
- unmerge: 'table-unmerge'
541
+ unmerge: 'table-unmerge',
542
+ insertLink: 'hyperlink',
543
+ increaseFontSize: 'font-grow',
544
+ decreaseFontSize: 'font-shrink',
545
+ increaseDecimal: 'decimal-increase',
546
+ decreaseDecimal: 'decimal-decrease'
476
547
  };
477
548
  /**
478
549
  * @hidden
@@ -486,6 +557,8 @@ const commandSVGIcons = {
486
557
  alignMiddle: alignMiddleIcon,
487
558
  alignBottom: alignBottomIcon,
488
559
  align: alignLeftIcon,
560
+ alignHorizontal: alignLeftIcon,
561
+ alignVertical: alignMiddleIcon,
489
562
  background: dropletIcon,
490
563
  bold: boldIcon,
491
564
  color: foregroundColorIcon,
@@ -510,7 +583,12 @@ const commandSVGIcons = {
510
583
  mergeAll: cellsMergeIcon,
511
584
  mergeHorizontally: cellsMergeHorizontallyIcon,
512
585
  mergeVertically: cellsMergeVerticallyIcon,
513
- unmerge: tableUnmergeIcon
586
+ unmerge: tableUnmergeIcon,
587
+ insertLink: linkIcon,
588
+ increaseFontSize: fontGrowIcon,
589
+ decreaseFontSize: fontShrinkIcon,
590
+ decreaseDecimal: decimalDecreaseIcon,
591
+ increaseDecimal: decimalIncreaseIcon
514
592
  };
515
593
 
516
594
  /**
@@ -528,7 +606,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
528
606
  this.onFileSelect = (e) => {
529
607
  const file = e.target.files[0];
530
608
  if (file) {
531
- this.spreadsheetService.spreadsheet.fromFile(file);
609
+ this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
532
610
  e.target.value = null;
533
611
  }
534
612
  };
@@ -732,22 +810,22 @@ const FORMATS = [
732
810
  * @hidden
733
811
  */
734
812
  const ALIGNS = [
735
- { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '' },
736
- { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '' },
737
- { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '' },
738
- { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '' },
739
- { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '' },
740
- { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '' },
741
- { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '' }
813
+ { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '', commandId: 'alignLeft' },
814
+ { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '', commandId: 'alignCenter' },
815
+ { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '', commandId: 'alignRight' },
816
+ { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '', commandId: 'alignJustify' },
817
+ { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '', commandId: 'alignTop' },
818
+ { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '', commandId: 'alignMiddle' },
819
+ { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '', commandId: 'alignBottom' }
742
820
  ];
743
821
  /**
744
822
  * @hidden
745
823
  */
746
824
  const MERGE = [
747
- { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false },
748
- { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false },
749
- { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false },
750
- { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false }
825
+ { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false, commandId: 'mergeAll' },
826
+ { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false, commandId: 'mergeHorizontally' },
827
+ { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false, commandId: 'mergeVertically' },
828
+ { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false, commandId: 'unmerge' }
751
829
  ];
752
830
  /**
753
831
  * @hidden
@@ -819,7 +897,6 @@ FontFamilyDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
819
897
  #element
820
898
  [data]="data"
821
899
  [(value)]="value"
822
- [attr.title]="title"
823
900
  [tabindex]="tabindex"
824
901
  (valueChange)="onValueChange($event)"
825
902
  [leftRightArrowsNavigation]="false"
@@ -841,7 +918,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
841
918
  #element
842
919
  [data]="data"
843
920
  [(value)]="value"
844
- [attr.title]="title"
845
921
  [tabindex]="tabindex"
846
922
  (valueChange)="onValueChange($event)"
847
923
  [leftRightArrowsNavigation]="false"
@@ -908,7 +984,7 @@ class DialogContentComponent extends DialogContentBase {
908
984
  this.componentType = args.componentType;
909
985
  }
910
986
  }
911
- 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 });
987
+ 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 });
912
988
  DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DialogContentComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
913
989
  <div
914
990
  [ngSwitch]="componentType"
@@ -993,7 +1069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
993
1069
  </div>
994
1070
  `
995
1071
  }]
996
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1072
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
997
1073
 
998
1074
  /**
999
1075
  * @hidden
@@ -1129,7 +1205,7 @@ class SpreadsheetDropDownToolBase extends ToolBarToolComponent {
1129
1205
  return false;
1130
1206
  }
1131
1207
  }
1132
- 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 });
1208
+ 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 });
1133
1209
  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 });
1134
1210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, decorators: [{
1135
1211
  type: Component,
@@ -1140,7 +1216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1140
1216
  return [{ type: undefined, decorators: [{
1141
1217
  type: Inject,
1142
1218
  args: [MY_TOKEN]
1143
- }] }, { type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }];
1219
+ }] }, { type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }];
1144
1220
  }, propDecorators: { toolbarTemplate: [{
1145
1221
  type: ViewChild,
1146
1222
  args: ['toolbarTemplate', { static: true }]
@@ -1173,7 +1249,7 @@ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
1173
1249
  super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
1174
1250
  }
1175
1251
  }
1176
- 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 });
1252
+ 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 });
1177
1253
  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: `
1178
1254
  <ng-template #toolbarTemplate>
1179
1255
  <kendo-spreadsheet-fontfamily-dropdownlist
@@ -1229,7 +1305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1229
1305
  `
1230
1306
  }]
1231
1307
  }], ctorParameters: function () {
1232
- return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1308
+ return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1233
1309
  type: Inject,
1234
1310
  args: [ToolBarComponent]
1235
1311
  }] }];
@@ -1248,7 +1324,7 @@ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
1248
1324
  super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
1249
1325
  }
1250
1326
  }
1251
- 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 });
1327
+ 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 });
1252
1328
  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: `
1253
1329
  <ng-template #toolbarTemplate>
1254
1330
  <kendo-spreadsheet-fontsize-dropdownlist
@@ -1304,7 +1380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1304
1380
  `
1305
1381
  }]
1306
1382
  }], ctorParameters: function () {
1307
- return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1383
+ return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1308
1384
  type: Inject,
1309
1385
  args: [ToolBarComponent]
1310
1386
  }] }];
@@ -1319,7 +1395,7 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
1319
1395
  super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
1320
1396
  }
1321
1397
  }
1322
- 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 });
1398
+ 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 });
1323
1399
  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: `
1324
1400
  <ng-template #toolbarTemplate>
1325
1401
  <kendo-colorpicker
@@ -1385,7 +1461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1385
1461
  `
1386
1462
  }]
1387
1463
  }], ctorParameters: function () {
1388
- return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1464
+ return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1389
1465
  type: Inject,
1390
1466
  args: [ToolBarComponent]
1391
1467
  }] }];
@@ -1400,7 +1476,7 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
1400
1476
  super('background', dialogService, localization, spreadsheetService, toolsService, toolbar);
1401
1477
  }
1402
1478
  }
1403
- 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 });
1479
+ 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 });
1404
1480
  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: `
1405
1481
  <ng-template #toolbarTemplate>
1406
1482
  <kendo-colorpicker
@@ -1466,7 +1542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1466
1542
  `
1467
1543
  }]
1468
1544
  }], ctorParameters: function () {
1469
- return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1545
+ return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1470
1546
  type: Inject,
1471
1547
  args: [ToolBarComponent]
1472
1548
  }] }];
@@ -1593,7 +1669,7 @@ class ActionDialogComponent extends DialogContentBase {
1593
1669
  this.commandName = args.commandName;
1594
1670
  }
1595
1671
  }
1596
- 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 });
1672
+ 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 });
1597
1673
  ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1598
1674
  <ng-container *ngIf="commandName === 'delete'">
1599
1675
  <p>The deleted sheet data will be lost.</p>
@@ -1602,9 +1678,9 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1602
1678
 
1603
1679
  <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1604
1680
  <div class="k-form-field">
1605
- <label class="k-label k-form-label">Rename sheet</label>
1681
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1606
1682
  <div class="k-form-field-wrap">
1607
- <kendo-textbox
1683
+ <kendo-textbox #textbox
1608
1684
  autocomplete="off"
1609
1685
  placeholder="Sheet name"
1610
1686
  [(value)]="value">
@@ -1612,7 +1688,7 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1612
1688
  </div>
1613
1689
  </div>
1614
1690
  </form>
1615
- `, 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"] }] });
1691
+ `, 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"] }] });
1616
1692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, decorators: [{
1617
1693
  type: Component,
1618
1694
  args: [{
@@ -1624,9 +1700,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1624
1700
 
1625
1701
  <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1626
1702
  <div class="k-form-field">
1627
- <label class="k-label k-form-label">Rename sheet</label>
1703
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1628
1704
  <div class="k-form-field-wrap">
1629
- <kendo-textbox
1705
+ <kendo-textbox #textbox
1630
1706
  autocomplete="off"
1631
1707
  placeholder="Sheet name"
1632
1708
  [(value)]="value">
@@ -1636,7 +1712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1636
1712
  </form>
1637
1713
  `
1638
1714
  }]
1639
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1715
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1640
1716
 
1641
1717
  /**
1642
1718
  * @hidden
@@ -1817,7 +1893,7 @@ class SheetsBarComponent {
1817
1893
  });
1818
1894
  }
1819
1895
  }
1820
- 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 });
1896
+ 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 });
1821
1897
  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: `
1822
1898
  <button kendoButton #addButton
1823
1899
  [title]="messageFor('addSheet')"
@@ -1921,7 +1997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1921
1997
  </kendo-tabstrip>
1922
1998
  `
1923
1999
  }]
1924
- }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$4.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
2000
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$1.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1925
2001
  type: HostBinding,
1926
2002
  args: ['class.k-spreadsheet-sheets-bar']
1927
2003
  }], sheets: [{
@@ -1951,7 +2027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1951
2027
  class MessagesDirective extends ComponentMessages {
1952
2028
  }
1953
2029
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1954
- 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 });
2030
+ 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 });
1955
2031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
1956
2032
  type: Directive,
1957
2033
  args: [{
@@ -1963,6 +2039,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1963
2039
  type: Input
1964
2040
  }], insert: [{
1965
2041
  type: Input
2042
+ }], formatTab: [{
2043
+ type: Input
1966
2044
  }], saveFile: [{
1967
2045
  type: Input
1968
2046
  }], loadFile: [{
@@ -2005,6 +2083,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2005
2083
  type: Input
2006
2084
  }], align: [{
2007
2085
  type: Input
2086
+ }], alignHorizontal: [{
2087
+ type: Input
2088
+ }], alignVertical: [{
2089
+ type: Input
2090
+ }], alignLeft: [{
2091
+ type: Input
2092
+ }], alignCenter: [{
2093
+ type: Input
2094
+ }], alignRight: [{
2095
+ type: Input
2096
+ }], alignJustify: [{
2097
+ type: Input
2098
+ }], alignTop: [{
2099
+ type: Input
2100
+ }], alignMiddle: [{
2101
+ type: Input
2102
+ }], alignBottom: [{
2103
+ type: Input
2008
2104
  }], dialogApply: [{
2009
2105
  type: Input
2010
2106
  }], dialogCancel: [{
@@ -2013,6 +2109,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2013
2109
  type: Input
2014
2110
  }], dialogRename: [{
2015
2111
  type: Input
2112
+ }], dialogInsert: [{
2113
+ type: Input
2114
+ }], dialogRemoveLink: [{
2115
+ type: Input
2016
2116
  }], delete: [{
2017
2117
  type: Input
2018
2118
  }], rename: [{
@@ -2027,6 +2127,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2027
2127
  type: Input
2028
2128
  }], merge: [{
2029
2129
  type: Input
2130
+ }], mergeHorizontally: [{
2131
+ type: Input
2132
+ }], mergeVertically: [{
2133
+ type: Input
2134
+ }], mergeAll: [{
2135
+ type: Input
2136
+ }], unmerge: [{
2137
+ type: Input
2138
+ }], insertLink: [{
2139
+ type: Input
2140
+ }], increaseDecimal: [{
2141
+ type: Input
2142
+ }], decreaseDecimal: [{
2143
+ type: Input
2144
+ }], increaseFontSize: [{
2145
+ type: Input
2146
+ }], decreaseFontSize: [{
2147
+ type: Input
2148
+ }], openUnsupported: [{
2149
+ type: Input
2150
+ }], modifyMerged: [{
2151
+ type: Input
2152
+ }], cannotModifyDisabled: [{
2153
+ type: Input
2154
+ }], dialogOk: [{
2155
+ type: Input
2156
+ }], dialogError: [{
2157
+ type: Input
2158
+ }], duplicateSheetName: [{
2159
+ type: Input
2030
2160
  }] } });
2031
2161
 
2032
2162
  /**
@@ -2038,7 +2168,7 @@ class LocalizedMessagesDirective extends MessagesDirective {
2038
2168
  this.service = service;
2039
2169
  }
2040
2170
  }
2041
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2171
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2042
2172
  LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
2043
2173
  provide: MessagesDirective,
2044
2174
  useExisting: forwardRef(() => LocalizedMessagesDirective)
@@ -2052,7 +2182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2052
2182
  }],
2053
2183
  selector: '[kendoSpreadsheetLocalizedMessages]'
2054
2184
  }]
2055
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
2185
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
2056
2186
 
2057
2187
  /**
2058
2188
  * @hidden
@@ -2146,7 +2276,7 @@ class SpreadsheetCommandBaseDirective {
2146
2276
  clickHandler() { }
2147
2277
  pointerdownHandler(_event) { }
2148
2278
  }
2149
- 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 });
2279
+ 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 });
2150
2280
  SpreadsheetCommandBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetCommandBaseDirective, selector: "[kendoSpreadsheetCommandBase]", ngImport: i0 });
2151
2281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, decorators: [{
2152
2282
  type: Directive,
@@ -2157,7 +2287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2157
2287
  return [{ type: undefined, decorators: [{
2158
2288
  type: Inject,
2159
2289
  args: [MY_TOKEN]
2160
- }] }, { type: i1$2.ToolBarButtonComponent }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }];
2290
+ }] }, { type: i1$2.ToolBarButtonComponent }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }];
2161
2291
  } });
2162
2292
 
2163
2293
  /**
@@ -2225,6 +2355,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2225
2355
  }]
2226
2356
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2227
2357
 
2358
+ /**
2359
+ * @hidden
2360
+ */
2361
+ class SpreadsheetIncreaseFontSizeDirective extends SpreadsheetCommandButton {
2362
+ constructor(button, localization, spreadsheetService, toolsService) {
2363
+ super('increaseFontSize', button, localization, spreadsheetService, toolsService, {
2364
+ command: 'PropertyChangeCommand',
2365
+ options: { property: 'fontSize' }
2366
+ });
2367
+ this.value = DEFAULT_FONT_VALUES.fontSize;
2368
+ }
2369
+ clickHandler() {
2370
+ const newValue = this.value + 1;
2371
+ const options = {
2372
+ command: 'PropertyChangeCommand',
2373
+ options: { property: 'fontSize', value: newValue || null }
2374
+ };
2375
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2376
+ }
2377
+ ngAfterViewInit() {
2378
+ this.value = this.toolsService.toolsState['fontSize'];
2379
+ this.subs.add(this.toolsService.stateChange.subscribe(state => {
2380
+ this.value = state['fontSize'];
2381
+ }));
2382
+ }
2383
+ }
2384
+ 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 });
2385
+ SpreadsheetIncreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]", usesInheritance: true, ngImport: i0 });
2386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, decorators: [{
2387
+ type: Directive,
2388
+ args: [{
2389
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]'
2390
+ }]
2391
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2392
+
2393
+ /**
2394
+ * @hidden
2395
+ */
2396
+ class SpreadsheetDecreaseFontSizeDirective extends SpreadsheetCommandButton {
2397
+ constructor(button, localization, spreadsheetService, toolsService) {
2398
+ super('decreaseFontSize', button, localization, spreadsheetService, toolsService, {
2399
+ command: 'PropertyChangeCommand',
2400
+ options: { property: 'fontSize' }
2401
+ });
2402
+ this.value = DEFAULT_FONT_VALUES.fontSize;
2403
+ }
2404
+ clickHandler() {
2405
+ const newValue = this.value - 1;
2406
+ const options = {
2407
+ command: 'PropertyChangeCommand',
2408
+ options: { property: 'fontSize', value: newValue || null }
2409
+ };
2410
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2411
+ }
2412
+ ngAfterViewInit() {
2413
+ this.value = this.toolsService.toolsState['fontSize'];
2414
+ this.subs.add(this.toolsService.stateChange.subscribe(state => {
2415
+ this.value = state['fontSize'];
2416
+ }));
2417
+ }
2418
+ }
2419
+ 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 });
2420
+ SpreadsheetDecreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]", usesInheritance: true, ngImport: i0 });
2421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, decorators: [{
2422
+ type: Directive,
2423
+ args: [{
2424
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]'
2425
+ }]
2426
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2427
+
2228
2428
  /**
2229
2429
  * @hidden
2230
2430
  */
@@ -2294,18 +2494,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2294
2494
  /**
2295
2495
  * @hidden
2296
2496
  */
2297
- class SpreadsheetTextAlignDirective {
2497
+ class SpreadsheetHorizontalTextAlignDirective {
2298
2498
  constructor(host, localization, spreadsheetService, toolsService) {
2299
2499
  this.host = host;
2300
2500
  this.spreadsheetService = spreadsheetService;
2301
2501
  this.toolsService = toolsService;
2302
- this.commandName = 'align';
2502
+ this.commandName = 'alignHorizontal';
2303
2503
  this.subs = new Subscription();
2304
2504
  host.svgIcon = commandSVGIcons[this.commandName];
2305
2505
  host.icon = commandIcons[this.commandName];
2306
2506
  host.arrowIcon = true;
2307
2507
  host.fillMode = 'flat';
2308
- host.data = [...ALIGNS];
2508
+ host.data = ALIGNS
2509
+ .filter(value => value.commandName === 'textAlign')
2510
+ .map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2309
2511
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2310
2512
  host.title = localization.get(this.commandName);
2311
2513
  host.textField = 'textKey';
@@ -2324,12 +2526,56 @@ class SpreadsheetTextAlignDirective {
2324
2526
  this.spreadsheetService.spreadsheet.executeCommand(options);
2325
2527
  }
2326
2528
  }
2327
- 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 });
2328
- SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
2329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, decorators: [{
2529
+ 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 });
2530
+ SpreadsheetHorizontalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]", ngImport: i0 });
2531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, decorators: [{
2330
2532
  type: Directive,
2331
2533
  args: [{
2332
- selector: '[kendoSpreadsheetTextAlign]',
2534
+ selector: '[kendoSpreadsheetHorizontalTextAlign]',
2535
+ }]
2536
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2537
+
2538
+ /**
2539
+ * @hidden
2540
+ */
2541
+ class SpreadsheetVerticalTextAlignDirective {
2542
+ constructor(host, localization, spreadsheetService, toolsService) {
2543
+ this.host = host;
2544
+ this.spreadsheetService = spreadsheetService;
2545
+ this.toolsService = toolsService;
2546
+ this.commandName = 'alignVertical';
2547
+ this.subs = new Subscription();
2548
+ host.svgIcon = commandSVGIcons[this.commandName];
2549
+ host.icon = commandIcons[this.commandName];
2550
+ host.arrowIcon = true;
2551
+ host.fillMode = 'flat';
2552
+ host.data = ALIGNS
2553
+ .filter(value => value.commandName === 'verticalAlign')
2554
+ .map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2555
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2556
+ host.title = localization.get(this.commandName);
2557
+ host.textField = 'textKey';
2558
+ }
2559
+ ngOnInit() {
2560
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
2561
+ }
2562
+ ngOnDestroy() {
2563
+ this.subs.unsubscribe();
2564
+ }
2565
+ onItemClick(item) {
2566
+ const value = item.value || null;
2567
+ const options = {
2568
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
2569
+ };
2570
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2571
+ }
2572
+ }
2573
+ 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 });
2574
+ SpreadsheetVerticalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]", ngImport: i0 });
2575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, decorators: [{
2576
+ type: Directive,
2577
+ args: [{
2578
+ selector: '[kendoSpreadsheetVerticalTextAlign]',
2333
2579
  }]
2334
2580
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2335
2581
 
@@ -2411,6 +2657,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2411
2657
  }]
2412
2658
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2413
2659
 
2660
+ /**
2661
+ * @hidden
2662
+ */
2663
+ class InsertLinkDialogComponent extends DialogContentBase {
2664
+ constructor(dialog) {
2665
+ super(dialog);
2666
+ this.dialog = dialog;
2667
+ this.urlLink = '';
2668
+ }
2669
+ setData(args) {
2670
+ this.urlLink = args.link;
2671
+ }
2672
+ }
2673
+ 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 });
2674
+ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, 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
+ `, 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"] }] });
2684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
2685
+ type: Component,
2686
+ args: [{
2687
+ template: `
2688
+ <form class="k-form k-form-md" method="dialog">
2689
+ <div class="k-form-field">
2690
+ <kendo-label [for]="textbox" text="URL"></kendo-label>
2691
+ <kendo-textbox #textbox
2692
+ [(value)]="urlLink">
2693
+ </kendo-textbox>
2694
+ </div>
2695
+ </form>
2696
+ `
2697
+ }]
2698
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
2699
+
2700
+ /**
2701
+ * @hidden
2702
+ */
2703
+ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
2704
+ constructor(button, localization, spreadsheetService, toolsService, dialogService) {
2705
+ super('insertLink', button, localization, spreadsheetService, toolsService, {
2706
+ command: 'HyperlinkCommand'
2707
+ });
2708
+ this.dialogService = dialogService;
2709
+ spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range);
2710
+ }
2711
+ clickHandler() {
2712
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2713
+ if (sheet) {
2714
+ this.openDialog();
2715
+ }
2716
+ }
2717
+ /**
2718
+ * @hidden
2719
+ */
2720
+ openDialog() {
2721
+ var _a, _b;
2722
+ const hasLink = isPresent((_a = this.currentRange) === null || _a === void 0 ? void 0 : _a.link());
2723
+ const dialogSettings = {
2724
+ appendTo: this.spreadsheetService.dialogContainer,
2725
+ title: this.localization.get(this.command),
2726
+ content: InsertLinkDialogComponent,
2727
+ actions: [{
2728
+ text: this.localization.get('dialogInsert'),
2729
+ themeColor: 'primary'
2730
+ }, {
2731
+ text: this.localization.get('dialogCancel')
2732
+ },
2733
+ 'spacer', {
2734
+ text: this.localization.get('dialogRemoveLink'),
2735
+ themeColor: 'primary',
2736
+ fillMode: 'clear',
2737
+ cssClass: hasLink ? '' : 'k-disabled'
2738
+ }],
2739
+ actionsLayout: 'start',
2740
+ width: 400,
2741
+ autoFocusedElement: '.k-textbox > .k-input-inner'
2742
+ };
2743
+ const dialog = this.dialogService.open(dialogSettings);
2744
+ const dialogInstance = dialog.dialog.instance;
2745
+ const dialogContent = dialog.content.instance;
2746
+ if (hasLink) {
2747
+ dialogContent.setData({ link: (_b = this.currentRange) === null || _b === void 0 ? void 0 : _b.link() });
2748
+ }
2749
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
2750
+ if (event.text === this.localization.get('dialogCancel')) {
2751
+ return;
2752
+ }
2753
+ let link = null;
2754
+ if (event.text === this.localization.get('dialogInsert')) {
2755
+ link = dialogContent.urlLink || null;
2756
+ }
2757
+ this.spreadsheetService.spreadsheet.executeCommand({
2758
+ command: 'HyperlinkCommand',
2759
+ options: { link }
2760
+ });
2761
+ });
2762
+ }
2763
+ }
2764
+ 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 });
2765
+ SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
2766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
2767
+ type: Directive,
2768
+ args: [{
2769
+ selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]'
2770
+ }]
2771
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
2772
+
2414
2773
  /**
2415
2774
  * @hidden
2416
2775
  */
@@ -2539,6 +2898,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2539
2898
  }]
2540
2899
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2541
2900
 
2901
+ /**
2902
+ * @hidden
2903
+ */
2904
+ class SpreadsheetDecreaseDecimalDirective extends SpreadsheetCommandButton {
2905
+ constructor(button, localization, spreadsheetService, toolsService) {
2906
+ super('decreaseDecimal', button, localization, spreadsheetService, toolsService, {
2907
+ command: 'AdjustDecimalsCommand'
2908
+ });
2909
+ }
2910
+ clickHandler() {
2911
+ const options = {
2912
+ command: 'AdjustDecimalsCommand',
2913
+ options: { value: -1 }
2914
+ };
2915
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2916
+ }
2917
+ }
2918
+ 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 });
2919
+ SpreadsheetDecreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]", usesInheritance: true, ngImport: i0 });
2920
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, decorators: [{
2921
+ type: Directive,
2922
+ args: [{
2923
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]'
2924
+ }]
2925
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2926
+
2927
+ /**
2928
+ * @hidden
2929
+ */
2930
+ class SpreadsheetIncreaseDecimalDirective extends SpreadsheetCommandButton {
2931
+ constructor(button, localization, spreadsheetService, toolsService) {
2932
+ super('increaseDecimal', button, localization, spreadsheetService, toolsService, {
2933
+ command: 'AdjustDecimalsCommand'
2934
+ });
2935
+ }
2936
+ clickHandler() {
2937
+ const options = {
2938
+ command: 'AdjustDecimalsCommand',
2939
+ options: { value: 1 }
2940
+ };
2941
+ this.spreadsheetService.spreadsheet.executeCommand(options);
2942
+ }
2943
+ }
2944
+ 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 });
2945
+ SpreadsheetIncreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]", usesInheritance: true, ngImport: i0 });
2946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, decorators: [{
2947
+ type: Directive,
2948
+ args: [{
2949
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]'
2950
+ }]
2951
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2952
+
2542
2953
  /**
2543
2954
  * @hidden
2544
2955
  */
@@ -2552,7 +2963,7 @@ class SpreadsheetMergeDirective {
2552
2963
  host.icon = commandIcons[this.commandName];
2553
2964
  host.arrowIcon = true;
2554
2965
  host.fillMode = 'flat';
2555
- host.data = [...MERGE];
2966
+ host.data = MERGE.map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2556
2967
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2557
2968
  host.title = localization.get(this.commandName);
2558
2969
  host.textField = 'textKey';
@@ -2629,13 +3040,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2629
3040
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
2630
3041
  */
2631
3042
  class SpreadsheetComponent {
2632
- constructor(ngZone, intl, host, localization, spreadsheetService, toolsService) {
3043
+ constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
2633
3044
  this.ngZone = ngZone;
2634
3045
  this.intl = intl;
2635
3046
  this.host = host;
2636
3047
  this.localization = localization;
2637
3048
  this.spreadsheetService = spreadsheetService;
2638
3049
  this.toolsService = toolsService;
3050
+ this.errorService = errorService;
2639
3051
  this.hostClass = true;
2640
3052
  this.role = 'application';
2641
3053
  /**
@@ -2715,17 +3127,25 @@ class SpreadsheetComponent {
2715
3127
  * @hidden
2716
3128
  */
2717
3129
  this.showLicenseWatermark = false;
2718
- this.onChange = (e) => hasObservers(this.change) && this.change.emit(e);
3130
+ this.onChange = (e) => {
3131
+ hasObservers(this.change) && this.change.emit(e);
3132
+ this.spreadsheetService.selectionChanged.next(e.range);
3133
+ };
2719
3134
  this.onSelectionChange = (e) => {
2720
3135
  hasObservers(this.selectionChange) && this.selectionChange.emit(e);
2721
3136
  this.spreadsheetService.selectionChanged.next(e.range);
2722
3137
  };
2723
- this.onChangeFormat = (e) => hasObservers(this.formatChange) && this.formatChange.emit(e);
3138
+ this.onChangeFormat = (e) => {
3139
+ hasObservers(this.formatChange) && this.formatChange.emit(e);
3140
+ this.spreadsheetService.selectionChanged.next(e.range);
3141
+ };
2724
3142
  this.onExcelExport = (e) => hasObservers(this.excelExport) && this.excelExport.emit(e);
2725
3143
  this.onExcelImport = (e) => hasObservers(this.excelImport) && this.excelImport.emit(e);
2726
3144
  this.onActiveSheetChanged = (sheet) => {
2727
3145
  const eventArgs = { sender: this.spreadsheetService.spreadsheet, sheet };
2728
3146
  hasObservers(this.activeSheetChange) && this.activeSheetChange.emit(eventArgs);
3147
+ const range = sheet.range(sheet.activeCell());
3148
+ this.spreadsheetService.selectionChanged.next(range);
2729
3149
  };
2730
3150
  this.updateState = (e) => {
2731
3151
  var _a;
@@ -2734,6 +3154,11 @@ class SpreadsheetComponent {
2734
3154
  this.sheets = mapToSheetDescriptor(this.spreadsheetService.spreadsheet.sheets());
2735
3155
  }
2736
3156
  };
3157
+ this.onMessage = (e) => {
3158
+ this.ngZone.run(() => {
3159
+ this.errorService.handleErrorMessage(e);
3160
+ });
3161
+ };
2737
3162
  const isValid = validatePackage(packageMetadata);
2738
3163
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
2739
3164
  ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -2749,6 +3174,9 @@ class SpreadsheetComponent {
2749
3174
  }, {
2750
3175
  id: 'insert',
2751
3176
  text: this.messageFor('insert')
3177
+ }, {
3178
+ id: 'format',
3179
+ text: this.messageFor('formatTab')
2752
3180
  }, {
2753
3181
  id: 'view',
2754
3182
  text: this.messageFor('view')
@@ -2816,6 +3244,7 @@ class SpreadsheetComponent {
2816
3244
  spreadsheet.bind('excelImport', this.onExcelImport);
2817
3245
  spreadsheet.bind('excelExport', this.onExcelExport);
2818
3246
  spreadsheet.view.bind('update', this.updateState);
3247
+ spreadsheet.view.bind('message', this.onMessage);
2819
3248
  const sheet = spreadsheet.activeSheet();
2820
3249
  if (sheet) {
2821
3250
  this.updateState({ range: sheet.range(sheet.activeCell()) });
@@ -2894,7 +3323,7 @@ class SpreadsheetComponent {
2894
3323
  }), { columns: this.columns, columnWidth: this.columnWidth, defaultCellStyle: this.defaultCellStyle, excel: this.excel, headerHeight: this.headerHeight, headerWidth: this.headerWidth, images: this.images, rowHeight: this.rowHeight, rows: this.rows, formulaBarInputRef: { current: this.formulaBarInputRef.current }, formulaCellInputRef: { current: this.formulaCellInputRef.current }, nameBoxRef: { current: this.nameBoxRef.current } });
2895
3324
  }
2896
3325
  }
2897
- 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 });
3326
+ 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 });
2898
3327
  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: [
2899
3328
  SpreadsheetLocalizationService,
2900
3329
  {
@@ -2906,7 +3335,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2906
3335
  useValue: 'kendo.spreadsheet'
2907
3336
  },
2908
3337
  SpreadsheetToolsService,
2909
- PopupService
3338
+ PopupService,
3339
+ ErrorHandlingService
2910
3340
  ], 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: `
2911
3341
  <ng-container
2912
3342
  kendoSpreadsheetLocalizedMessages
@@ -2936,6 +3366,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2936
3366
  file="File"
2937
3367
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
2938
3368
  insert="Insert"
3369
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
3370
+ formatTab="Format"
2939
3371
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
2940
3372
  view="View"
2941
3373
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -2960,8 +3392,44 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2960
3392
  wrap="Text wrap"
2961
3393
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
2962
3394
  align="Align"
3395
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
3396
+ alignHorizontal="Align horizontally"
3397
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3398
+ alignVertical="Align vertically"
3399
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3400
+ alignLeft="Align Left"
3401
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3402
+ alignCenter="Align Center"
3403
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3404
+ alignRight="Align Right"
3405
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3406
+ alignJustify="Align Justify"
3407
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3408
+ alignTop="Align Top"
3409
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3410
+ alignMiddle="Align Middle"
3411
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3412
+ alignBottom="Align Bottom"
2963
3413
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
2964
3414
  merge="Merge"
3415
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3416
+ mergeAll="Merge all"
3417
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3418
+ mergeHorizontally="Merge horizontally"
3419
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3420
+ mergeVertically="Merge vertically"
3421
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3422
+ unmerge="Unmerge"
3423
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3424
+ insertLink="Insert link"
3425
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
3426
+ decreaseDecimal="Decrease decimal"
3427
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
3428
+ increaseDecimal="Increase decimal"
3429
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
3430
+ increaseFontSize="Increase font size"
3431
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
3432
+ decreaseFontSize="Decrease font size"
2965
3433
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
2966
3434
  dialogApply="Apply"
2967
3435
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -2970,6 +3438,10 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2970
3438
  dialogDelete="Delete"
2971
3439
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
2972
3440
  dialogRename="Rename"
3441
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
3442
+ dialogInsert="Insert"
3443
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
3444
+ dialogRemoveLink="Remove link"
2973
3445
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
2974
3446
  rename="Rename Sheet"
2975
3447
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -2979,7 +3451,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2979
3451
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
2980
3452
  addSheet="Add New Sheet"
2981
3453
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
2982
- sheetsMenu="All Sheets">
3454
+ sheetsMenu="All Sheets"
3455
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3456
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3457
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3458
+ modifyMerged="Cannot change part of a merged cell."
3459
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3460
+ cannotModifyDisabled="Cannot modify disabled cells."
3461
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3462
+ dialogOk="OK"
3463
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3464
+ dialogError="Error"
3465
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3466
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3467
+ >
2983
3468
  </ng-container>
2984
3469
  <div class="k-spreadsheet-header">
2985
3470
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3003,6 +3488,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3003
3488
  <kendo-toolbar-separator></kendo-toolbar-separator>
3004
3489
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
3005
3490
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
3491
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
3492
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
3493
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3006
3494
  <kendo-toolbar-buttongroup>
3007
3495
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
3008
3496
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -3012,7 +3500,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3012
3500
  <kendo-toolbar-separator></kendo-toolbar-separator>
3013
3501
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
3014
3502
  <kendo-toolbar-separator></kendo-toolbar-separator>
3015
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
3503
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
3504
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
3016
3505
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
3017
3506
  <kendo-toolbar-separator></kendo-toolbar-separator>
3018
3507
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -3021,6 +3510,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3021
3510
  [attr.aria-label]="messageFor('insert')"
3022
3511
  class="k-spreadsheet-toolbar"
3023
3512
  [overflow]="overflow">
3513
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
3514
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3024
3515
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
3025
3516
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
3026
3517
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -3029,6 +3520,13 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3029
3520
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
3030
3521
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
3031
3522
  </kendo-toolbar>
3523
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
3524
+ [attr.aria-label]="messageFor('formatTab')"
3525
+ class="k-spreadsheet-toolbar"
3526
+ [overflow]="overflow">
3527
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
3528
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
3529
+ </kendo-toolbar>
3032
3530
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
3033
3531
  [attr.aria-label]="messageFor('view')"
3034
3532
  class="k-spreadsheet-toolbar"
@@ -3066,7 +3564,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3066
3564
  <ng-container #dialogContainer></ng-container>
3067
3565
 
3068
3566
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3069
- `, 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]" }] });
3567
+ `, 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]" }] });
3070
3568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
3071
3569
  type: Component,
3072
3570
  args: [{
@@ -3083,7 +3581,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3083
3581
  useValue: 'kendo.spreadsheet'
3084
3582
  },
3085
3583
  SpreadsheetToolsService,
3086
- PopupService
3584
+ PopupService,
3585
+ ErrorHandlingService
3087
3586
  ],
3088
3587
  template: `
3089
3588
  <ng-container
@@ -3114,6 +3613,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3114
3613
  file="File"
3115
3614
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
3116
3615
  insert="Insert"
3616
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
3617
+ formatTab="Format"
3117
3618
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
3118
3619
  view="View"
3119
3620
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -3138,8 +3639,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3138
3639
  wrap="Text wrap"
3139
3640
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
3140
3641
  align="Align"
3642
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
3643
+ alignHorizontal="Align horizontally"
3644
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3645
+ alignVertical="Align vertically"
3646
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3647
+ alignLeft="Align Left"
3648
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3649
+ alignCenter="Align Center"
3650
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3651
+ alignRight="Align Right"
3652
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3653
+ alignJustify="Align Justify"
3654
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3655
+ alignTop="Align Top"
3656
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3657
+ alignMiddle="Align Middle"
3658
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3659
+ alignBottom="Align Bottom"
3141
3660
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3142
3661
  merge="Merge"
3662
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3663
+ mergeAll="Merge all"
3664
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3665
+ mergeHorizontally="Merge horizontally"
3666
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3667
+ mergeVertically="Merge vertically"
3668
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3669
+ unmerge="Unmerge"
3670
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3671
+ insertLink="Insert link"
3672
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
3673
+ decreaseDecimal="Decrease decimal"
3674
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
3675
+ increaseDecimal="Increase decimal"
3676
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
3677
+ increaseFontSize="Increase font size"
3678
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
3679
+ decreaseFontSize="Decrease font size"
3143
3680
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
3144
3681
  dialogApply="Apply"
3145
3682
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -3148,6 +3685,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3148
3685
  dialogDelete="Delete"
3149
3686
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
3150
3687
  dialogRename="Rename"
3688
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
3689
+ dialogInsert="Insert"
3690
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
3691
+ dialogRemoveLink="Remove link"
3151
3692
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
3152
3693
  rename="Rename Sheet"
3153
3694
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -3157,7 +3698,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3157
3698
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3158
3699
  addSheet="Add New Sheet"
3159
3700
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3160
- sheetsMenu="All Sheets">
3701
+ sheetsMenu="All Sheets"
3702
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3703
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3704
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3705
+ modifyMerged="Cannot change part of a merged cell."
3706
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3707
+ cannotModifyDisabled="Cannot modify disabled cells."
3708
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3709
+ dialogOk="OK"
3710
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3711
+ dialogError="Error"
3712
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3713
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3714
+ >
3161
3715
  </ng-container>
3162
3716
  <div class="k-spreadsheet-header">
3163
3717
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3181,6 +3735,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3181
3735
  <kendo-toolbar-separator></kendo-toolbar-separator>
3182
3736
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
3183
3737
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
3738
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
3739
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
3740
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3184
3741
  <kendo-toolbar-buttongroup>
3185
3742
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
3186
3743
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -3190,7 +3747,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3190
3747
  <kendo-toolbar-separator></kendo-toolbar-separator>
3191
3748
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
3192
3749
  <kendo-toolbar-separator></kendo-toolbar-separator>
3193
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
3750
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
3751
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
3194
3752
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
3195
3753
  <kendo-toolbar-separator></kendo-toolbar-separator>
3196
3754
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -3199,6 +3757,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3199
3757
  [attr.aria-label]="messageFor('insert')"
3200
3758
  class="k-spreadsheet-toolbar"
3201
3759
  [overflow]="overflow">
3760
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
3761
+ <kendo-toolbar-separator></kendo-toolbar-separator>
3202
3762
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
3203
3763
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
3204
3764
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -3207,6 +3767,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3207
3767
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
3208
3768
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
3209
3769
  </kendo-toolbar>
3770
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
3771
+ [attr.aria-label]="messageFor('formatTab')"
3772
+ class="k-spreadsheet-toolbar"
3773
+ [overflow]="overflow">
3774
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
3775
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
3776
+ </kendo-toolbar>
3210
3777
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
3211
3778
  [attr.aria-label]="messageFor('view')"
3212
3779
  class="k-spreadsheet-toolbar"
@@ -3246,7 +3813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3246
3813
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3247
3814
  `,
3248
3815
  }]
3249
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$5.IntlService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; }, propDecorators: { formulaBarInputRef: [{
3816
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }]; }, propDecorators: { formulaBarInputRef: [{
3250
3817
  type: ViewChild,
3251
3818
  args: ['formulaBar', { read: FormulaInputDirective }]
3252
3819
  }], formulaCellInputRef: [{
@@ -3317,7 +3884,7 @@ class CustomMessagesComponent extends MessagesDirective {
3317
3884
  return true;
3318
3885
  }
3319
3886
  }
3320
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3887
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3321
3888
  CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
3322
3889
  {
3323
3890
  provide: MessagesDirective,
@@ -3336,7 +3903,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3336
3903
  // eslint-disable-next-line @angular-eslint/directive-selector
3337
3904
  selector: 'kendo-spreadsheet-messages'
3338
3905
  }]
3339
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
3906
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
3907
+
3908
+ /**
3909
+ * @hidden
3910
+ */
3911
+ class SpreadsheetTextAlignDirective {
3912
+ constructor(host, localization, spreadsheetService, toolsService) {
3913
+ this.host = host;
3914
+ this.spreadsheetService = spreadsheetService;
3915
+ this.toolsService = toolsService;
3916
+ this.commandName = 'align';
3917
+ this.subs = new Subscription();
3918
+ host.svgIcon = commandSVGIcons[this.commandName];
3919
+ host.icon = commandIcons[this.commandName];
3920
+ host.arrowIcon = true;
3921
+ host.fillMode = 'flat';
3922
+ host.data = ALIGNS.map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
3923
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3924
+ host.title = localization.get(this.commandName);
3925
+ host.textField = 'textKey';
3926
+ }
3927
+ ngOnInit() {
3928
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
3929
+ }
3930
+ ngOnDestroy() {
3931
+ this.subs.unsubscribe();
3932
+ }
3933
+ onItemClick(item) {
3934
+ const value = item.value || null;
3935
+ const options = {
3936
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
3937
+ };
3938
+ this.spreadsheetService.spreadsheet.executeCommand(options);
3939
+ }
3940
+ }
3941
+ 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 });
3942
+ SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
3943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetTextAlignDirective, decorators: [{
3944
+ type: Directive,
3945
+ args: [{
3946
+ selector: '[kendoSpreadsheetTextAlign]',
3947
+ }]
3948
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3340
3949
 
3341
3950
  const DIRECTIVES = [
3342
3951
  SpreadsheetComponent,
@@ -3373,7 +3982,15 @@ const DIRECTIVES = [
3373
3982
  DialogContentComponent,
3374
3983
  MainMenuDirective,
3375
3984
  ActionDialogComponent,
3376
- SpreadsheetMergeDirective
3985
+ SpreadsheetMergeDirective,
3986
+ SpreadsheetInsertLinkDirective,
3987
+ InsertLinkDialogComponent,
3988
+ SpreadsheetIncreaseFontSizeDirective,
3989
+ SpreadsheetDecreaseFontSizeDirective,
3990
+ SpreadsheetIncreaseDecimalDirective,
3991
+ SpreadsheetDecreaseDecimalDirective,
3992
+ SpreadsheetHorizontalTextAlignDirective,
3993
+ SpreadsheetVerticalTextAlignDirective
3377
3994
  ];
3378
3995
  const EXPORTS = [
3379
3996
  SpreadsheetComponent,
@@ -3399,7 +4016,14 @@ const EXPORTS = [
3399
4016
  SpreadsheetDeleteRowButtonDirective,
3400
4017
  SpreadsheetTextAlignDirective,
3401
4018
  SpreadsheetTextWrapDirective,
3402
- SpreadsheetMergeDirective
4019
+ SpreadsheetMergeDirective,
4020
+ SpreadsheetInsertLinkDirective,
4021
+ SpreadsheetIncreaseFontSizeDirective,
4022
+ SpreadsheetDecreaseFontSizeDirective,
4023
+ SpreadsheetIncreaseDecimalDirective,
4024
+ SpreadsheetDecreaseDecimalDirective,
4025
+ SpreadsheetHorizontalTextAlignDirective,
4026
+ SpreadsheetVerticalTextAlignDirective
3403
4027
  ];
3404
4028
  /**
3405
4029
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -3442,7 +4066,15 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
3442
4066
  DialogContentComponent,
3443
4067
  MainMenuDirective,
3444
4068
  ActionDialogComponent,
3445
- SpreadsheetMergeDirective], imports: [CommonModule,
4069
+ SpreadsheetMergeDirective,
4070
+ SpreadsheetInsertLinkDirective,
4071
+ InsertLinkDialogComponent,
4072
+ SpreadsheetIncreaseFontSizeDirective,
4073
+ SpreadsheetDecreaseFontSizeDirective,
4074
+ SpreadsheetIncreaseDecimalDirective,
4075
+ SpreadsheetDecreaseDecimalDirective,
4076
+ SpreadsheetHorizontalTextAlignDirective,
4077
+ SpreadsheetVerticalTextAlignDirective], imports: [CommonModule,
3446
4078
  ButtonsModule,
3447
4079
  ComboBoxModule,
3448
4080
  DropDownListModule,
@@ -3479,7 +4111,14 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
3479
4111
  SpreadsheetDeleteRowButtonDirective,
3480
4112
  SpreadsheetTextAlignDirective,
3481
4113
  SpreadsheetTextWrapDirective,
3482
- SpreadsheetMergeDirective] });
4114
+ SpreadsheetMergeDirective,
4115
+ SpreadsheetInsertLinkDirective,
4116
+ SpreadsheetIncreaseFontSizeDirective,
4117
+ SpreadsheetDecreaseFontSizeDirective,
4118
+ SpreadsheetIncreaseDecimalDirective,
4119
+ SpreadsheetDecreaseDecimalDirective,
4120
+ SpreadsheetHorizontalTextAlignDirective,
4121
+ SpreadsheetVerticalTextAlignDirective] });
3483
4122
  SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetModule, imports: [[
3484
4123
  CommonModule,
3485
4124
  ButtonsModule,
@@ -3526,5 +4165,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3526
4165
  * Generated bundle index. Do not edit.
3527
4166
  */
3528
4167
 
3529
- 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 };
4168
+ 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 };
3530
4169