@progress/kendo-angular-spreadsheet 14.2.0-develop.1 → 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.
@@ -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
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 i1 from '@progress/kendo-angular-l10n';
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,19 +21,19 @@ 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 from '@progress/kendo-angular-label';
36
+ import * as i2$1 from '@progress/kendo-angular-label';
37
37
  import { LabelModule } from '@progress/kendo-angular-label';
38
38
  import * as i5$1 from '@progress/kendo-angular-layout';
39
39
  import { TabStripModule } from '@progress/kendo-angular-layout';
@@ -47,8 +47,8 @@ const packageMetadata = {
47
47
  name: '@progress/kendo-angular-spreadsheet',
48
48
  productName: 'Kendo UI for Angular',
49
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1700562915,
51
- version: '14.2.0-develop.1',
50
+ publishDate: 1701248930,
51
+ version: '14.2.0-develop.10',
52
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',
53
53
  };
54
54
 
@@ -115,7 +115,7 @@ class SpreadsheetLocalizationService extends LocalizationService {
115
115
  super(prefix, messageService, _rtl);
116
116
  }
117
117
  }
118
- 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 });
119
119
  SpreadsheetLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, decorators: [{
121
121
  type: Injectable
@@ -123,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
123
123
  return [{ type: undefined, decorators: [{
124
124
  type: Inject,
125
125
  args: [L10N_PREFIX]
126
- }] }, { type: i1.MessageService, decorators: [{
126
+ }] }, { type: i2.MessageService, decorators: [{
127
127
  type: Optional
128
128
  }] }, { type: undefined, decorators: [{
129
129
  type: Optional
@@ -375,14 +375,14 @@ class FormulaInputDirective {
375
375
  };
376
376
  }
377
377
  }
378
- 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 });
379
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 });
380
380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, decorators: [{
381
381
  type: Directive,
382
382
  args: [{
383
383
  selector: '[kendoSpreadsheetFormulaInput]',
384
384
  }]
385
- }], 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: [{
386
386
  type: HostBinding,
387
387
  args: ['class.k-spreadsheet-formula-input']
388
388
  }], ariaHasPopup: [{
@@ -437,6 +437,69 @@ const getSheetActions = (index, items) => {
437
437
  }];
438
438
  };
439
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
+
440
503
  /**
441
504
  * @hidden
442
505
  */
@@ -543,7 +606,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
543
606
  this.onFileSelect = (e) => {
544
607
  const file = e.target.files[0];
545
608
  if (file) {
546
- this.spreadsheetService.spreadsheet.fromFile(file);
609
+ this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
547
610
  e.target.value = null;
548
611
  }
549
612
  };
@@ -747,22 +810,22 @@ const FORMATS = [
747
810
  * @hidden
748
811
  */
749
812
  const ALIGNS = [
750
- { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '' },
751
- { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '' },
752
- { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '' },
753
- { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '' },
754
- { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '' },
755
- { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '' },
756
- { 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' }
757
820
  ];
758
821
  /**
759
822
  * @hidden
760
823
  */
761
824
  const MERGE = [
762
- { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false },
763
- { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false },
764
- { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false },
765
- { 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' }
766
829
  ];
767
830
  /**
768
831
  * @hidden
@@ -921,7 +984,7 @@ class DialogContentComponent extends DialogContentBase {
921
984
  this.componentType = args.componentType;
922
985
  }
923
986
  }
924
- 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 });
925
988
  DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DialogContentComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
926
989
  <div
927
990
  [ngSwitch]="componentType"
@@ -1006,7 +1069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1006
1069
  </div>
1007
1070
  `
1008
1071
  }]
1009
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1072
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1010
1073
 
1011
1074
  /**
1012
1075
  * @hidden
@@ -1142,7 +1205,7 @@ class SpreadsheetDropDownToolBase extends ToolBarToolComponent {
1142
1205
  return false;
1143
1206
  }
1144
1207
  }
1145
- 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 });
1146
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 });
1147
1210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, decorators: [{
1148
1211
  type: Component,
@@ -1153,7 +1216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1153
1216
  return [{ type: undefined, decorators: [{
1154
1217
  type: Inject,
1155
1218
  args: [MY_TOKEN]
1156
- }] }, { 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 }];
1157
1220
  }, propDecorators: { toolbarTemplate: [{
1158
1221
  type: ViewChild,
1159
1222
  args: ['toolbarTemplate', { static: true }]
@@ -1186,7 +1249,7 @@ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
1186
1249
  super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
1187
1250
  }
1188
1251
  }
1189
- 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 });
1190
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: `
1191
1254
  <ng-template #toolbarTemplate>
1192
1255
  <kendo-spreadsheet-fontfamily-dropdownlist
@@ -1242,7 +1305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1242
1305
  `
1243
1306
  }]
1244
1307
  }], ctorParameters: function () {
1245
- 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: [{
1246
1309
  type: Inject,
1247
1310
  args: [ToolBarComponent]
1248
1311
  }] }];
@@ -1261,7 +1324,7 @@ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
1261
1324
  super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
1262
1325
  }
1263
1326
  }
1264
- 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 });
1265
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: `
1266
1329
  <ng-template #toolbarTemplate>
1267
1330
  <kendo-spreadsheet-fontsize-dropdownlist
@@ -1317,7 +1380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1317
1380
  `
1318
1381
  }]
1319
1382
  }], ctorParameters: function () {
1320
- 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: [{
1321
1384
  type: Inject,
1322
1385
  args: [ToolBarComponent]
1323
1386
  }] }];
@@ -1332,7 +1395,7 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
1332
1395
  super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
1333
1396
  }
1334
1397
  }
1335
- 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 });
1336
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: `
1337
1400
  <ng-template #toolbarTemplate>
1338
1401
  <kendo-colorpicker
@@ -1398,7 +1461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1398
1461
  `
1399
1462
  }]
1400
1463
  }], ctorParameters: function () {
1401
- 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: [{
1402
1465
  type: Inject,
1403
1466
  args: [ToolBarComponent]
1404
1467
  }] }];
@@ -1413,7 +1476,7 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
1413
1476
  super('background', dialogService, localization, spreadsheetService, toolsService, toolbar);
1414
1477
  }
1415
1478
  }
1416
- 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 });
1417
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: `
1418
1481
  <ng-template #toolbarTemplate>
1419
1482
  <kendo-colorpicker
@@ -1479,7 +1542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1479
1542
  `
1480
1543
  }]
1481
1544
  }], ctorParameters: function () {
1482
- 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: [{
1483
1546
  type: Inject,
1484
1547
  args: [ToolBarComponent]
1485
1548
  }] }];
@@ -1606,7 +1669,7 @@ class ActionDialogComponent extends DialogContentBase {
1606
1669
  this.commandName = args.commandName;
1607
1670
  }
1608
1671
  }
1609
- 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 });
1610
1673
  ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1611
1674
  <ng-container *ngIf="commandName === 'delete'">
1612
1675
  <p>The deleted sheet data will be lost.</p>
@@ -1625,7 +1688,7 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1625
1688
  </div>
1626
1689
  </div>
1627
1690
  </form>
1628
- `, isInline: true, components: [{ type: i2.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"] }] });
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"] }] });
1629
1692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, decorators: [{
1630
1693
  type: Component,
1631
1694
  args: [{
@@ -1649,7 +1712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1649
1712
  </form>
1650
1713
  `
1651
1714
  }]
1652
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1715
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1653
1716
 
1654
1717
  /**
1655
1718
  * @hidden
@@ -1830,7 +1893,7 @@ class SheetsBarComponent {
1830
1893
  });
1831
1894
  }
1832
1895
  }
1833
- 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 });
1834
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: `
1835
1898
  <button kendoButton #addButton
1836
1899
  [title]="messageFor('addSheet')"
@@ -1934,7 +1997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1934
1997
  </kendo-tabstrip>
1935
1998
  `
1936
1999
  }]
1937
- }], 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: [{
1938
2001
  type: HostBinding,
1939
2002
  args: ['class.k-spreadsheet-sheets-bar']
1940
2003
  }], sheets: [{
@@ -1964,7 +2027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1964
2027
  class MessagesDirective extends ComponentMessages {
1965
2028
  }
1966
2029
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1967
- 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", 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", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize" }, 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 });
1968
2031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
1969
2032
  type: Directive,
1970
2033
  args: [{
@@ -2024,6 +2087,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2024
2087
  type: Input
2025
2088
  }], alignVertical: [{
2026
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
2027
2104
  }], dialogApply: [{
2028
2105
  type: Input
2029
2106
  }], dialogCancel: [{
@@ -2050,6 +2127,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2050
2127
  type: Input
2051
2128
  }], merge: [{
2052
2129
  type: Input
2130
+ }], mergeHorizontally: [{
2131
+ type: Input
2132
+ }], mergeVertically: [{
2133
+ type: Input
2134
+ }], mergeAll: [{
2135
+ type: Input
2136
+ }], unmerge: [{
2137
+ type: Input
2053
2138
  }], insertLink: [{
2054
2139
  type: Input
2055
2140
  }], increaseDecimal: [{
@@ -2060,6 +2145,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2060
2145
  type: Input
2061
2146
  }], decreaseFontSize: [{
2062
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
2063
2160
  }] } });
2064
2161
 
2065
2162
  /**
@@ -2071,7 +2168,7 @@ class LocalizedMessagesDirective extends MessagesDirective {
2071
2168
  this.service = service;
2072
2169
  }
2073
2170
  }
2074
- 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 });
2075
2172
  LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
2076
2173
  provide: MessagesDirective,
2077
2174
  useExisting: forwardRef(() => LocalizedMessagesDirective)
@@ -2085,7 +2182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2085
2182
  }],
2086
2183
  selector: '[kendoSpreadsheetLocalizedMessages]'
2087
2184
  }]
2088
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
2185
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
2089
2186
 
2090
2187
  /**
2091
2188
  * @hidden
@@ -2179,7 +2276,7 @@ class SpreadsheetCommandBaseDirective {
2179
2276
  clickHandler() { }
2180
2277
  pointerdownHandler(_event) { }
2181
2278
  }
2182
- 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 });
2183
2280
  SpreadsheetCommandBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetCommandBaseDirective, selector: "[kendoSpreadsheetCommandBase]", ngImport: i0 });
2184
2281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, decorators: [{
2185
2282
  type: Directive,
@@ -2190,7 +2287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2190
2287
  return [{ type: undefined, decorators: [{
2191
2288
  type: Inject,
2192
2289
  args: [MY_TOKEN]
2193
- }] }, { type: i1$2.ToolBarButtonComponent }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }];
2290
+ }] }, { type: i1$2.ToolBarButtonComponent }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }];
2194
2291
  } });
2195
2292
 
2196
2293
  /**
@@ -2408,7 +2505,9 @@ class SpreadsheetHorizontalTextAlignDirective {
2408
2505
  host.icon = commandIcons[this.commandName];
2409
2506
  host.arrowIcon = true;
2410
2507
  host.fillMode = 'flat';
2411
- host.data = ALIGNS.filter(value => value.commandName === 'textAlign');
2508
+ host.data = ALIGNS
2509
+ .filter(value => value.commandName === 'textAlign')
2510
+ .map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2412
2511
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2413
2512
  host.title = localization.get(this.commandName);
2414
2513
  host.textField = 'textKey';
@@ -2450,7 +2549,9 @@ class SpreadsheetVerticalTextAlignDirective {
2450
2549
  host.icon = commandIcons[this.commandName];
2451
2550
  host.arrowIcon = true;
2452
2551
  host.fillMode = 'flat';
2453
- host.data = ALIGNS.filter(value => value.commandName === 'verticalAlign');
2552
+ host.data = ALIGNS
2553
+ .filter(value => value.commandName === 'verticalAlign')
2554
+ .map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2454
2555
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2455
2556
  host.title = localization.get(this.commandName);
2456
2557
  host.textField = 'textKey';
@@ -2569,7 +2670,7 @@ class InsertLinkDialogComponent extends DialogContentBase {
2569
2670
  this.urlLink = args.link;
2570
2671
  }
2571
2672
  }
2572
- InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$4.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
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 });
2573
2674
  InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2574
2675
  <form class="k-form k-form-md" method="dialog">
2575
2676
  <div class="k-form-field">
@@ -2579,7 +2680,7 @@ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
2579
2680
  </kendo-textbox>
2580
2681
  </div>
2581
2682
  </form>
2582
- `, isInline: true, components: [{ type: i2.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"] }] });
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"] }] });
2583
2684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
2584
2685
  type: Component,
2585
2686
  args: [{
@@ -2594,7 +2695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2594
2695
  </form>
2595
2696
  `
2596
2697
  }]
2597
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
2698
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
2598
2699
 
2599
2700
  /**
2600
2701
  * @hidden
@@ -2660,14 +2761,14 @@ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
2660
2761
  });
2661
2762
  }
2662
2763
  }
2663
- 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$4.DialogService }], target: i0.ɵɵFactoryTarget.Directive });
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 });
2664
2765
  SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
2665
2766
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
2666
2767
  type: Directive,
2667
2768
  args: [{
2668
2769
  selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]'
2669
2770
  }]
2670
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$4.DialogService }]; } });
2771
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
2671
2772
 
2672
2773
  /**
2673
2774
  * @hidden
@@ -2862,7 +2963,7 @@ class SpreadsheetMergeDirective {
2862
2963
  host.icon = commandIcons[this.commandName];
2863
2964
  host.arrowIcon = true;
2864
2965
  host.fillMode = 'flat';
2865
- host.data = [...MERGE];
2966
+ host.data = MERGE.map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
2866
2967
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2867
2968
  host.title = localization.get(this.commandName);
2868
2969
  host.textField = 'textKey';
@@ -2939,13 +3040,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2939
3040
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
2940
3041
  */
2941
3042
  class SpreadsheetComponent {
2942
- constructor(ngZone, intl, host, localization, spreadsheetService, toolsService) {
3043
+ constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
2943
3044
  this.ngZone = ngZone;
2944
3045
  this.intl = intl;
2945
3046
  this.host = host;
2946
3047
  this.localization = localization;
2947
3048
  this.spreadsheetService = spreadsheetService;
2948
3049
  this.toolsService = toolsService;
3050
+ this.errorService = errorService;
2949
3051
  this.hostClass = true;
2950
3052
  this.role = 'application';
2951
3053
  /**
@@ -3052,6 +3154,11 @@ class SpreadsheetComponent {
3052
3154
  this.sheets = mapToSheetDescriptor(this.spreadsheetService.spreadsheet.sheets());
3053
3155
  }
3054
3156
  };
3157
+ this.onMessage = (e) => {
3158
+ this.ngZone.run(() => {
3159
+ this.errorService.handleErrorMessage(e);
3160
+ });
3161
+ };
3055
3162
  const isValid = validatePackage(packageMetadata);
3056
3163
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
3057
3164
  ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -3137,6 +3244,7 @@ class SpreadsheetComponent {
3137
3244
  spreadsheet.bind('excelImport', this.onExcelImport);
3138
3245
  spreadsheet.bind('excelExport', this.onExcelExport);
3139
3246
  spreadsheet.view.bind('update', this.updateState);
3247
+ spreadsheet.view.bind('message', this.onMessage);
3140
3248
  const sheet = spreadsheet.activeSheet();
3141
3249
  if (sheet) {
3142
3250
  this.updateState({ range: sheet.range(sheet.activeCell()) });
@@ -3215,7 +3323,7 @@ class SpreadsheetComponent {
3215
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 } });
3216
3324
  }
3217
3325
  }
3218
- 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 });
3219
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: [
3220
3328
  SpreadsheetLocalizationService,
3221
3329
  {
@@ -3227,7 +3335,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3227
3335
  useValue: 'kendo.spreadsheet'
3228
3336
  },
3229
3337
  SpreadsheetToolsService,
3230
- PopupService
3338
+ PopupService,
3339
+ ErrorHandlingService
3231
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: `
3232
3341
  <ng-container
3233
3342
  kendoSpreadsheetLocalizedMessages
@@ -3287,8 +3396,30 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3287
3396
  alignHorizontal="Align horizontally"
3288
3397
  i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3289
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"
3290
3413
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3291
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"
3292
3423
  i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3293
3424
  insertLink="Insert link"
3294
3425
  i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
@@ -3320,7 +3451,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3320
3451
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3321
3452
  addSheet="Add New Sheet"
3322
3453
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3323
- 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
+ >
3324
3468
  </ng-container>
3325
3469
  <div class="k-spreadsheet-header">
3326
3470
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3420,7 +3564,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3420
3564
  <ng-container #dialogContainer></ng-container>
3421
3565
 
3422
3566
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3423
- `, 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: 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]" }] });
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]" }] });
3424
3568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
3425
3569
  type: Component,
3426
3570
  args: [{
@@ -3437,7 +3581,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3437
3581
  useValue: 'kendo.spreadsheet'
3438
3582
  },
3439
3583
  SpreadsheetToolsService,
3440
- PopupService
3584
+ PopupService,
3585
+ ErrorHandlingService
3441
3586
  ],
3442
3587
  template: `
3443
3588
  <ng-container
@@ -3498,8 +3643,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3498
3643
  alignHorizontal="Align horizontally"
3499
3644
  i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3500
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"
3501
3660
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3502
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"
3503
3670
  i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3504
3671
  insertLink="Insert link"
3505
3672
  i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
@@ -3531,7 +3698,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3531
3698
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3532
3699
  addSheet="Add New Sheet"
3533
3700
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3534
- 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
+ >
3535
3715
  </ng-container>
3536
3716
  <div class="k-spreadsheet-header">
3537
3717
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3633,7 +3813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3633
3813
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3634
3814
  `,
3635
3815
  }]
3636
- }], 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: [{
3637
3817
  type: ViewChild,
3638
3818
  args: ['formulaBar', { read: FormulaInputDirective }]
3639
3819
  }], formulaCellInputRef: [{
@@ -3704,7 +3884,7 @@ class CustomMessagesComponent extends MessagesDirective {
3704
3884
  return true;
3705
3885
  }
3706
3886
  }
3707
- 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 });
3708
3888
  CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
3709
3889
  {
3710
3890
  provide: MessagesDirective,
@@ -3723,7 +3903,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3723
3903
  // eslint-disable-next-line @angular-eslint/directive-selector
3724
3904
  selector: 'kendo-spreadsheet-messages'
3725
3905
  }]
3726
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
3906
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
3727
3907
 
3728
3908
  /**
3729
3909
  * @hidden
@@ -3739,7 +3919,7 @@ class SpreadsheetTextAlignDirective {
3739
3919
  host.icon = commandIcons[this.commandName];
3740
3920
  host.arrowIcon = true;
3741
3921
  host.fillMode = 'flat';
3742
- host.data = [...ALIGNS];
3922
+ host.data = ALIGNS.map(item => (Object.assign(Object.assign({}, item), { textKey: localization.get(item.commandId) })));
3743
3923
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3744
3924
  host.title = localization.get(this.commandName);
3745
3925
  host.textField = 'textKey';