@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,34 +6,34 @@ import * as i0 from '@angular/core';
6
6
  import { Injectable, EventEmitter, Output, Inject, Optional, Component, HostBinding, Input, Directive, forwardRef, ElementRef, ViewChild, InjectionToken, HostListener, ViewChildren, ViewContainerRef, NgModule } from '@angular/core';
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
8
  import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
9
- import * as i1$5 from '@progress/kendo-angular-intl';
9
+ import * as i1$4 from '@progress/kendo-angular-intl';
10
10
  import { localeData, IntlModule } from '@progress/kendo-angular-intl';
11
11
  import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, linkIcon, fontGrowIcon, fontShrinkIcon, decimalDecreaseIcon, decimalIncreaseIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, eyeIcon } from '@progress/kendo-svg-icons';
12
12
  import { Subject, Subscription } from 'rxjs';
13
- import * as i1 from '@progress/kendo-angular-l10n';
13
+ import * as i2 from '@progress/kendo-angular-l10n';
14
14
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
15
15
  import * as i3 from '@progress/kendo-angular-common';
16
16
  import { isPresent, hasObservers, isDocumentAvailable, Keys, shouldShowValidationUI, EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
17
- import * as i1$1 from '@progress/kendo-angular-popup';
17
+ import * as i1 from '@progress/kendo-angular-popup';
18
18
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
19
19
  import * as i6 from '@progress/kendo-angular-icons';
20
20
  import { IconsModule } from '@progress/kendo-angular-icons';
21
21
  import * as i7 from '@angular/common';
22
22
  import { CommonModule } from '@angular/common';
23
23
  import { take, map } from 'rxjs/operators';
24
- import * as i5$2 from '@progress/kendo-angular-menu';
24
+ import * as i1$1 from '@progress/kendo-angular-dialog';
25
+ import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
26
+ import * as i6$1 from '@progress/kendo-angular-menu';
25
27
  import { MenuModule } from '@progress/kendo-angular-menu';
26
28
  import * as i1$2 from '@progress/kendo-angular-toolbar';
27
29
  import { ToolBarToolComponent, ToolBarComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
28
30
  import * as i4 from '@progress/kendo-angular-buttons';
29
31
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
30
- import * as i1$4 from '@progress/kendo-angular-dialog';
31
- import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
32
32
  import * as i1$3 from '@progress/kendo-angular-dropdowns';
33
33
  import { DropDownListComponent, ComboBoxModule, DropDownListModule } from '@progress/kendo-angular-dropdowns';
34
34
  import * as i5 from '@progress/kendo-angular-inputs';
35
35
  import { InputsModule } from '@progress/kendo-angular-inputs';
36
- import * as i2 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
 
@@ -155,14 +155,14 @@ class SpreadsheetLocalizationService extends LocalizationService {
155
155
  super(prefix, messageService, _rtl);
156
156
  }
157
157
  }
158
- SpreadsheetLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, deps: [{ token: L10N_PREFIX }, { token: i1.MessageService, optional: true }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
158
+ SpreadsheetLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, deps: [{ token: L10N_PREFIX }, { token: i2.MessageService, optional: true }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
159
159
  SpreadsheetLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService });
160
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, decorators: [{
161
161
  type: Injectable
162
162
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
163
163
  type: Inject,
164
164
  args: [L10N_PREFIX]
165
- }] }, { type: i1.MessageService, decorators: [{
165
+ }] }, { type: i2.MessageService, decorators: [{
166
166
  type: Optional
167
167
  }] }, { type: undefined, decorators: [{
168
168
  type: Optional
@@ -368,14 +368,14 @@ class FormulaInputDirective {
368
368
  };
369
369
  }
370
370
  }
371
- FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.PopupService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
371
+ FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
372
372
  FormulaInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
373
373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FormulaInputDirective, decorators: [{
374
374
  type: Directive,
375
375
  args: [{
376
376
  selector: '[kendoSpreadsheetFormulaInput]',
377
377
  }]
378
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
378
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: SpreadsheetService }]; }, propDecorators: { hostClasses: [{
379
379
  type: HostBinding,
380
380
  args: ['class.k-spreadsheet-formula-input']
381
381
  }], ariaHasPopup: [{
@@ -430,6 +430,67 @@ const getSheetActions = (index, items) => {
430
430
  }];
431
431
  };
432
432
 
433
+ /**
434
+ * @hidden
435
+ */
436
+ class ErrorHandlingService {
437
+ constructor(spreadsheetService, localization, dialogService) {
438
+ this.spreadsheetService = spreadsheetService;
439
+ this.localization = localization;
440
+ this.dialogService = dialogService;
441
+ this.sheetsChanged = new Subject();
442
+ this.activeSheetChanged = new Subject();
443
+ this.selectionChanged = new Subject();
444
+ }
445
+ set currentActiveSheet(value) {
446
+ this._currentActiveSheet = value;
447
+ }
448
+ get currentActiveSheet() {
449
+ return this._currentActiveSheet;
450
+ }
451
+ get activeSheet() {
452
+ return this.spreadsheet.activeSheet()?.name();
453
+ }
454
+ notifySheetsChange(actionType, sheetInfo) {
455
+ const sheets = this.spreadsheet.sheets();
456
+ this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
457
+ }
458
+ handleErrorMessage(messageData) {
459
+ this.openDialog(messageData);
460
+ }
461
+ openDialog(messageData) {
462
+ const dialogSettings = {
463
+ appendTo: this.spreadsheetService.dialogContainer,
464
+ title: this.messageFor('dialogError'),
465
+ content: this.messageFor(messageData.name),
466
+ actions: [{
467
+ text: this.messageFor('dialogOk'),
468
+ themeColor: 'primary'
469
+ }],
470
+ width: 400,
471
+ actionsLayout: 'start'
472
+ };
473
+ const dialog = this.dialogService.open(dialogSettings);
474
+ const dialogInstance = dialog.dialog?.instance;
475
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
476
+ if (event.text === this.messageFor('dialogOk')) {
477
+ messageData.close();
478
+ }
479
+ });
480
+ dialogInstance.close.pipe(take(1)).subscribe(() => {
481
+ messageData.close();
482
+ });
483
+ }
484
+ messageFor(text) {
485
+ return this.localization.get(text);
486
+ }
487
+ }
488
+ ErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService, deps: [{ token: SpreadsheetService }, { token: i2.LocalizationService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
489
+ ErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService });
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ErrorHandlingService, decorators: [{
491
+ type: Injectable
492
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i2.LocalizationService }, { type: i1$1.DialogService }]; } });
493
+
433
494
  /**
434
495
  * @hidden
435
496
  */
@@ -536,7 +597,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
536
597
  this.onFileSelect = (e) => {
537
598
  const file = e.target.files[0];
538
599
  if (file) {
539
- this.spreadsheetService.spreadsheet.fromFile(file);
600
+ this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
540
601
  e.target.value = null;
541
602
  }
542
603
  };
@@ -738,22 +799,22 @@ const FORMATS = [
738
799
  * @hidden
739
800
  */
740
801
  const ALIGNS = [
741
- { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '' },
742
- { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '' },
743
- { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '' },
744
- { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '' },
745
- { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '' },
746
- { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '' },
747
- { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '' }
802
+ { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '', commandId: 'alignLeft' },
803
+ { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '', commandId: 'alignCenter' },
804
+ { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '', commandId: 'alignRight' },
805
+ { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '', commandId: 'alignJustify' },
806
+ { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '', commandId: 'alignTop' },
807
+ { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '', commandId: 'alignMiddle' },
808
+ { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '', commandId: 'alignBottom' }
748
809
  ];
749
810
  /**
750
811
  * @hidden
751
812
  */
752
813
  const MERGE = [
753
- { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false },
754
- { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false },
755
- { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false },
756
- { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false }
814
+ { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false, commandId: 'mergeAll' },
815
+ { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false, commandId: 'mergeHorizontally' },
816
+ { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false, commandId: 'mergeVertically' },
817
+ { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false, commandId: 'unmerge' }
757
818
  ];
758
819
  /**
759
820
  * @hidden
@@ -912,7 +973,7 @@ class DialogContentComponent extends DialogContentBase {
912
973
  this.componentType = args.componentType;
913
974
  }
914
975
  }
915
- DialogContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$4.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
976
+ DialogContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
916
977
  DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DialogContentComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
917
978
  <div
918
979
  [ngSwitch]="componentType"
@@ -997,7 +1058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
997
1058
  </div>
998
1059
  `
999
1060
  }]
1000
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1061
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1001
1062
 
1002
1063
  /**
1003
1064
  * @hidden
@@ -1133,7 +1194,7 @@ class SpreadsheetDropDownToolBase extends ToolBarToolComponent {
1133
1194
  return false;
1134
1195
  }
1135
1196
  }
1136
- SpreadsheetDropDownToolBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, deps: [{ token: MY_TOKEN }, { token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$2.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1197
+ SpreadsheetDropDownToolBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, deps: [{ token: MY_TOKEN }, { token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$2.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1137
1198
  SpreadsheetDropDownToolBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetDropDownToolBase, selector: "ng-component", outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef }, { propertyName: "dropDownListRef", first: true, predicate: ["element"], descendants: true }, { propertyName: "popupButton", first: true, predicate: ["popupButton"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
1138
1199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetDropDownToolBase, decorators: [{
1139
1200
  type: Component,
@@ -1143,7 +1204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1143
1204
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1144
1205
  type: Inject,
1145
1206
  args: [MY_TOKEN]
1146
- }] }, { type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
1207
+ }] }, { type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
1147
1208
  type: ViewChild,
1148
1209
  args: ['toolbarTemplate', { static: true }]
1149
1210
  }], popupTemplate: [{
@@ -1175,7 +1236,7 @@ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
1175
1236
  super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
1176
1237
  }
1177
1238
  }
1178
- SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1239
+ SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1179
1240
  SpreadsheetFontFamilyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
1180
1241
  <ng-template #toolbarTemplate>
1181
1242
  <kendo-spreadsheet-fontfamily-dropdownlist
@@ -1230,7 +1291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1230
1291
  </ng-template>
1231
1292
  `
1232
1293
  }]
1233
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1294
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1234
1295
  type: Inject,
1235
1296
  args: [ToolBarComponent]
1236
1297
  }] }]; } });
@@ -1248,7 +1309,7 @@ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
1248
1309
  super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
1249
1310
  }
1250
1311
  }
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 });
1312
+ SpreadsheetFontSizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1252
1313
  SpreadsheetFontSizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
1253
1314
  <ng-template #toolbarTemplate>
1254
1315
  <kendo-spreadsheet-fontsize-dropdownlist
@@ -1303,7 +1364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1303
1364
  </ng-template>
1304
1365
  `
1305
1366
  }]
1306
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1367
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1307
1368
  type: Inject,
1308
1369
  args: [ToolBarComponent]
1309
1370
  }] }]; } });
@@ -1317,7 +1378,7 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
1317
1378
  super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
1318
1379
  }
1319
1380
  }
1320
- SpreadsheetForeColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1381
+ SpreadsheetForeColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1321
1382
  SpreadsheetForeColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
1322
1383
  <ng-template #toolbarTemplate>
1323
1384
  <kendo-colorpicker
@@ -1382,7 +1443,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1382
1443
  </ng-template>
1383
1444
  `
1384
1445
  }]
1385
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1446
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1386
1447
  type: Inject,
1387
1448
  args: [ToolBarComponent]
1388
1449
  }] }]; } });
@@ -1396,7 +1457,7 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
1396
1457
  super('background', dialogService, localization, spreadsheetService, toolsService, toolbar);
1397
1458
  }
1398
1459
  }
1399
- SpreadsheetBackColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$4.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1460
+ SpreadsheetBackColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1400
1461
  SpreadsheetBackColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
1401
1462
  <ng-template #toolbarTemplate>
1402
1463
  <kendo-colorpicker
@@ -1461,7 +1522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1461
1522
  </ng-template>
1462
1523
  `
1463
1524
  }]
1464
- }], ctorParameters: function () { return [{ type: i1$4.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1525
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
1465
1526
  type: Inject,
1466
1527
  args: [ToolBarComponent]
1467
1528
  }] }]; } });
@@ -1587,7 +1648,7 @@ class ActionDialogComponent extends DialogContentBase {
1587
1648
  this.commandName = args.commandName;
1588
1649
  }
1589
1650
  }
1590
- ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$4.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
1651
+ ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
1591
1652
  ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1592
1653
  <ng-container *ngIf="commandName === 'delete'">
1593
1654
  <p>The deleted sheet data will be lost.</p>
@@ -1606,7 +1667,7 @@ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1606
1667
  </div>
1607
1668
  </div>
1608
1669
  </form>
1609
- `, 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"] }] });
1670
+ `, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1610
1671
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, decorators: [{
1611
1672
  type: Component,
1612
1673
  args: [{
@@ -1630,7 +1691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1630
1691
  </form>
1631
1692
  `
1632
1693
  }]
1633
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
1694
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1634
1695
 
1635
1696
  /**
1636
1697
  * @hidden
@@ -1818,7 +1879,7 @@ class SheetsBarComponent {
1818
1879
  });
1819
1880
  }
1820
1881
  }
1821
- SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$4.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1882
+ SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$1.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1822
1883
  SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: { sheets: "sheets", sheetDescriptors: "sheetDescriptors" }, host: { properties: { "class.k-spreadsheet-sheets-bar": "this.hostClasses" } }, viewQueries: [{ propertyName: "addButton", first: true, predicate: ["addButton"], descendants: true }, { propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }, { propertyName: "tabstrip", first: true, predicate: ["tabstrip"], descendants: true }, { propertyName: "actionDdbs", predicate: ["sheetDdb"], descendants: true }, { propertyName: "actionDdbRefs", predicate: ["sheetDdb"], descendants: true, read: ElementRef }], ngImport: i0, template: `
1823
1884
  <button kendoButton #addButton
1824
1885
  [title]="messageFor('addSheet')"
@@ -1922,7 +1983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1922
1983
  </kendo-tabstrip>
1923
1984
  `
1924
1985
  }]
1925
- }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$4.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1986
+ }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$1.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1926
1987
  type: HostBinding,
1927
1988
  args: ['class.k-spreadsheet-sheets-bar']
1928
1989
  }], sheets: [{
@@ -1952,7 +2013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1952
2013
  class MessagesDirective extends ComponentMessages {
1953
2014
  }
1954
2015
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1955
- 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 });
2016
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName" }, usesInheritance: true, ngImport: i0 });
1956
2017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
1957
2018
  type: Directive,
1958
2019
  args: [{
@@ -2012,6 +2073,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2012
2073
  type: Input
2013
2074
  }], alignVertical: [{
2014
2075
  type: Input
2076
+ }], alignLeft: [{
2077
+ type: Input
2078
+ }], alignCenter: [{
2079
+ type: Input
2080
+ }], alignRight: [{
2081
+ type: Input
2082
+ }], alignJustify: [{
2083
+ type: Input
2084
+ }], alignTop: [{
2085
+ type: Input
2086
+ }], alignMiddle: [{
2087
+ type: Input
2088
+ }], alignBottom: [{
2089
+ type: Input
2015
2090
  }], dialogApply: [{
2016
2091
  type: Input
2017
2092
  }], dialogCancel: [{
@@ -2038,6 +2113,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2038
2113
  type: Input
2039
2114
  }], merge: [{
2040
2115
  type: Input
2116
+ }], mergeHorizontally: [{
2117
+ type: Input
2118
+ }], mergeVertically: [{
2119
+ type: Input
2120
+ }], mergeAll: [{
2121
+ type: Input
2122
+ }], unmerge: [{
2123
+ type: Input
2041
2124
  }], insertLink: [{
2042
2125
  type: Input
2043
2126
  }], increaseDecimal: [{
@@ -2048,6 +2131,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2048
2131
  type: Input
2049
2132
  }], decreaseFontSize: [{
2050
2133
  type: Input
2134
+ }], openUnsupported: [{
2135
+ type: Input
2136
+ }], modifyMerged: [{
2137
+ type: Input
2138
+ }], cannotModifyDisabled: [{
2139
+ type: Input
2140
+ }], dialogOk: [{
2141
+ type: Input
2142
+ }], dialogError: [{
2143
+ type: Input
2144
+ }], duplicateSheetName: [{
2145
+ type: Input
2051
2146
  }] } });
2052
2147
 
2053
2148
  /**
@@ -2059,7 +2154,7 @@ class LocalizedMessagesDirective extends MessagesDirective {
2059
2154
  this.service = service;
2060
2155
  }
2061
2156
  }
2062
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2157
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
2063
2158
  LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
2064
2159
  provide: MessagesDirective,
2065
2160
  useExisting: forwardRef(() => LocalizedMessagesDirective)
@@ -2073,7 +2168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2073
2168
  }],
2074
2169
  selector: '[kendoSpreadsheetLocalizedMessages]'
2075
2170
  }]
2076
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
2171
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
2077
2172
 
2078
2173
  /**
2079
2174
  * @hidden
@@ -2170,7 +2265,7 @@ class SpreadsheetCommandBaseDirective {
2170
2265
  clickHandler() { }
2171
2266
  pointerdownHandler(_event) { }
2172
2267
  }
2173
- SpreadsheetCommandBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, deps: [{ token: MY_TOKEN }, { token: i1$2.ToolBarButtonComponent }, { token: i1.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2268
+ SpreadsheetCommandBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, deps: [{ token: MY_TOKEN }, { token: i1$2.ToolBarButtonComponent }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2174
2269
  SpreadsheetCommandBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetCommandBaseDirective, selector: "[kendoSpreadsheetCommandBase]", ngImport: i0 });
2175
2270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetCommandBaseDirective, decorators: [{
2176
2271
  type: Directive,
@@ -2180,7 +2275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2180
2275
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2181
2276
  type: Inject,
2182
2277
  args: [MY_TOKEN]
2183
- }] }, { type: i1$2.ToolBarButtonComponent }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2278
+ }] }, { type: i1$2.ToolBarButtonComponent }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2184
2279
 
2185
2280
  /**
2186
2281
  * @hidden
@@ -2397,7 +2492,9 @@ class SpreadsheetHorizontalTextAlignDirective {
2397
2492
  host.icon = commandIcons[this.commandName];
2398
2493
  host.arrowIcon = true;
2399
2494
  host.fillMode = 'flat';
2400
- host.data = ALIGNS.filter(value => value.commandName === 'textAlign');
2495
+ host.data = ALIGNS
2496
+ .filter(value => value.commandName === 'textAlign')
2497
+ .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2401
2498
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2402
2499
  host.title = localization.get(this.commandName);
2403
2500
  host.textField = 'textKey';
@@ -2439,7 +2536,9 @@ class SpreadsheetVerticalTextAlignDirective {
2439
2536
  host.icon = commandIcons[this.commandName];
2440
2537
  host.arrowIcon = true;
2441
2538
  host.fillMode = 'flat';
2442
- host.data = ALIGNS.filter(value => value.commandName === 'verticalAlign');
2539
+ host.data = ALIGNS
2540
+ .filter(value => value.commandName === 'verticalAlign')
2541
+ .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2443
2542
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2444
2543
  host.title = localization.get(this.commandName);
2445
2544
  host.textField = 'textKey';
@@ -2558,7 +2657,7 @@ class InsertLinkDialogComponent extends DialogContentBase {
2558
2657
  this.urlLink = args.link;
2559
2658
  }
2560
2659
  }
2561
- 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 });
2660
+ InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
2562
2661
  InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2563
2662
  <form class="k-form k-form-md" method="dialog">
2564
2663
  <div class="k-form-field">
@@ -2568,7 +2667,7 @@ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
2568
2667
  </kendo-textbox>
2569
2668
  </div>
2570
2669
  </form>
2571
- `, 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"] }] });
2670
+ `, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
2572
2671
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
2573
2672
  type: Component,
2574
2673
  args: [{
@@ -2583,7 +2682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2583
2682
  </form>
2584
2683
  `
2585
2684
  }]
2586
- }], ctorParameters: function () { return [{ type: i1$4.DialogRef }]; } });
2685
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
2587
2686
 
2588
2687
  /**
2589
2688
  * @hidden
@@ -2648,14 +2747,14 @@ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
2648
2747
  });
2649
2748
  }
2650
2749
  }
2651
- 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 });
2750
+ SpreadsheetInsertLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Directive });
2652
2751
  SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
2653
2752
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
2654
2753
  type: Directive,
2655
2754
  args: [{
2656
2755
  selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]'
2657
2756
  }]
2658
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$4.DialogService }]; } });
2757
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
2659
2758
 
2660
2759
  /**
2661
2760
  * @hidden
@@ -2850,7 +2949,7 @@ class SpreadsheetMergeDirective {
2850
2949
  host.icon = commandIcons[this.commandName];
2851
2950
  host.arrowIcon = true;
2852
2951
  host.fillMode = 'flat';
2853
- host.data = [...MERGE];
2952
+ host.data = MERGE.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2854
2953
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2855
2954
  host.title = localization.get(this.commandName);
2856
2955
  host.textField = 'textKey';
@@ -2927,13 +3026,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2927
3026
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
2928
3027
  */
2929
3028
  class SpreadsheetComponent {
2930
- constructor(ngZone, intl, host, localization, spreadsheetService, toolsService) {
3029
+ constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
2931
3030
  this.ngZone = ngZone;
2932
3031
  this.intl = intl;
2933
3032
  this.host = host;
2934
3033
  this.localization = localization;
2935
3034
  this.spreadsheetService = spreadsheetService;
2936
3035
  this.toolsService = toolsService;
3036
+ this.errorService = errorService;
2937
3037
  this.hostClass = true;
2938
3038
  this.role = 'application';
2939
3039
  /**
@@ -3039,6 +3139,11 @@ class SpreadsheetComponent {
3039
3139
  this.sheets = mapToSheetDescriptor(this.spreadsheetService.spreadsheet.sheets());
3040
3140
  }
3041
3141
  };
3142
+ this.onMessage = (e) => {
3143
+ this.ngZone.run(() => {
3144
+ this.errorService.handleErrorMessage(e);
3145
+ });
3146
+ };
3042
3147
  const isValid = validatePackage(packageMetadata);
3043
3148
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
3044
3149
  ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -3130,6 +3235,7 @@ class SpreadsheetComponent {
3130
3235
  spreadsheet.bind('excelImport', this.onExcelImport);
3131
3236
  spreadsheet.bind('excelExport', this.onExcelExport);
3132
3237
  spreadsheet.view.bind('update', this.updateState);
3238
+ spreadsheet.view.bind('message', this.onMessage);
3133
3239
  const sheet = spreadsheet.activeSheet();
3134
3240
  if (sheet) {
3135
3241
  this.updateState({ range: sheet.range(sheet.activeCell()) });
@@ -3223,7 +3329,7 @@ class SpreadsheetComponent {
3223
3329
  };
3224
3330
  }
3225
3331
  }
3226
- SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$5.IntlService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Component });
3332
+ SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$4.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }], target: i0.ɵɵFactoryTarget.Component });
3227
3333
  SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", activeSheet: "activeSheet", sheets: "sheets", columns: "columns", columnWidth: "columnWidth", defaultCellStyle: "defaultCellStyle", headerHeight: "headerHeight", headerWidth: "headerWidth", rowHeight: "rowHeight", rows: "rows", images: "images", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", activeSheetChange: "activeSheetChange" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
3228
3334
  SpreadsheetLocalizationService,
3229
3335
  {
@@ -3235,7 +3341,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3235
3341
  useValue: 'kendo.spreadsheet'
3236
3342
  },
3237
3343
  SpreadsheetToolsService,
3238
- PopupService
3344
+ PopupService,
3345
+ ErrorHandlingService
3239
3346
  ], viewQueries: [{ propertyName: "formulaBarInputRef", first: true, predicate: ["formulaBar"], descendants: true, read: FormulaInputDirective }, { propertyName: "formulaCellInputRef", first: true, predicate: ["formulaCell"], descendants: true, read: FormulaInputDirective }, { propertyName: "nameBoxRef", first: true, predicate: ["nameBox"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }], exportAs: ["kendo-spreadsheet"], usesOnChanges: true, ngImport: i0, template: `
3240
3347
  <ng-container
3241
3348
  kendoSpreadsheetLocalizedMessages
@@ -3295,8 +3402,30 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3295
3402
  alignHorizontal="Align horizontally"
3296
3403
  i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3297
3404
  alignVertical="Align vertically"
3405
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3406
+ alignLeft="Align Left"
3407
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3408
+ alignCenter="Align Center"
3409
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3410
+ alignRight="Align Right"
3411
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3412
+ alignJustify="Align Justify"
3413
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3414
+ alignTop="Align Top"
3415
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3416
+ alignMiddle="Align Middle"
3417
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3418
+ alignBottom="Align Bottom"
3298
3419
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3299
3420
  merge="Merge"
3421
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3422
+ mergeAll="Merge all"
3423
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3424
+ mergeHorizontally="Merge horizontally"
3425
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3426
+ mergeVertically="Merge vertically"
3427
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3428
+ unmerge="Unmerge"
3300
3429
  i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3301
3430
  insertLink="Insert link"
3302
3431
  i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
@@ -3328,7 +3457,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3328
3457
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3329
3458
  addSheet="Add New Sheet"
3330
3459
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3331
- sheetsMenu="All Sheets">
3460
+ sheetsMenu="All Sheets"
3461
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3462
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3463
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3464
+ modifyMerged="Cannot change part of a merged cell."
3465
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3466
+ cannotModifyDisabled="Cannot modify disabled cells."
3467
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3468
+ dialogOk="OK"
3469
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3470
+ dialogError="Error"
3471
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3472
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3473
+ >
3332
3474
  </ng-container>
3333
3475
  <div class="k-spreadsheet-header">
3334
3476
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3428,7 +3570,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3428
3570
  <ng-container #dialogContainer></ng-container>
3429
3571
 
3430
3572
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3431
- `, 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]" }] });
3573
+ `, isInline: true, components: [{ type: i6$1.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i6$1.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i1$2.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i1$2.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { type: i1$2.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i1$2.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i1$2.ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i3.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
3432
3574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
3433
3575
  type: Component,
3434
3576
  args: [{
@@ -3445,7 +3587,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3445
3587
  useValue: 'kendo.spreadsheet'
3446
3588
  },
3447
3589
  SpreadsheetToolsService,
3448
- PopupService
3590
+ PopupService,
3591
+ ErrorHandlingService
3449
3592
  ],
3450
3593
  template: `
3451
3594
  <ng-container
@@ -3506,8 +3649,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3506
3649
  alignHorizontal="Align horizontally"
3507
3650
  i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
3508
3651
  alignVertical="Align vertically"
3652
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
3653
+ alignLeft="Align Left"
3654
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
3655
+ alignCenter="Align Center"
3656
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
3657
+ alignRight="Align Right"
3658
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
3659
+ alignJustify="Align Justify"
3660
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
3661
+ alignTop="Align Top"
3662
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
3663
+ alignMiddle="Align Middle"
3664
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
3665
+ alignBottom="Align Bottom"
3509
3666
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
3510
3667
  merge="Merge"
3668
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
3669
+ mergeAll="Merge all"
3670
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
3671
+ mergeHorizontally="Merge horizontally"
3672
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
3673
+ mergeVertically="Merge vertically"
3674
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
3675
+ unmerge="Unmerge"
3511
3676
  i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
3512
3677
  insertLink="Insert link"
3513
3678
  i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
@@ -3539,7 +3704,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3539
3704
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
3540
3705
  addSheet="Add New Sheet"
3541
3706
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
3542
- sheetsMenu="All Sheets">
3707
+ sheetsMenu="All Sheets"
3708
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
3709
+ openUnsupported="Unsupported format. Please select an .xlsx file."
3710
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
3711
+ modifyMerged="Cannot change part of a merged cell."
3712
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
3713
+ cannotModifyDisabled="Cannot modify disabled cells."
3714
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
3715
+ dialogOk="OK"
3716
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
3717
+ dialogError="Error"
3718
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
3719
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
3720
+ >
3543
3721
  </ng-container>
3544
3722
  <div class="k-spreadsheet-header">
3545
3723
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -3641,7 +3819,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3641
3819
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3642
3820
  `,
3643
3821
  }]
3644
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$5.IntlService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; }, propDecorators: { formulaBarInputRef: [{
3822
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }]; }, propDecorators: { formulaBarInputRef: [{
3645
3823
  type: ViewChild,
3646
3824
  args: ['formulaBar', { read: FormulaInputDirective }]
3647
3825
  }], formulaCellInputRef: [{
@@ -3712,7 +3890,7 @@ class CustomMessagesComponent extends MessagesDirective {
3712
3890
  return true;
3713
3891
  }
3714
3892
  }
3715
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3893
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3716
3894
  CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
3717
3895
  {
3718
3896
  provide: MessagesDirective,
@@ -3731,7 +3909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3731
3909
  // eslint-disable-next-line @angular-eslint/directive-selector
3732
3910
  selector: 'kendo-spreadsheet-messages'
3733
3911
  }]
3734
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
3912
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
3735
3913
 
3736
3914
  /**
3737
3915
  * @hidden
@@ -3747,7 +3925,7 @@ class SpreadsheetTextAlignDirective {
3747
3925
  host.icon = commandIcons[this.commandName];
3748
3926
  host.arrowIcon = true;
3749
3927
  host.fillMode = 'flat';
3750
- host.data = [...ALIGNS];
3928
+ host.data = ALIGNS.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
3751
3929
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3752
3930
  host.title = localization.get(this.commandName);
3753
3931
  host.textField = 'textKey';