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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/common/error-handling.service.d.ts +37 -0
  2. package/esm2020/common/error-handling.service.mjs +74 -0
  3. package/esm2020/localization/messages.mjs +55 -1
  4. package/esm2020/package-metadata.mjs +2 -2
  5. package/esm2020/sheets-bar/action-dialog.component.mjs +8 -7
  6. package/esm2020/spreadsheet.component.mjs +208 -44
  7. package/esm2020/spreadsheet.module.mjs +48 -10
  8. package/esm2020/tools/{align-tool.directive.mjs → align/align-tool.directive.mjs} +9 -9
  9. package/esm2020/tools/align/horizontal-align-tool.directive.mjs +60 -0
  10. package/esm2020/tools/align/vertical-align-tool.directive.mjs +60 -0
  11. package/esm2020/tools/decrease-decimal-tool.directive.mjs +40 -0
  12. package/esm2020/tools/font-family/font-family-dropdownlist.component.mjs +0 -2
  13. package/esm2020/tools/font-size/decrease-font-tool.directive.mjs +50 -0
  14. package/esm2020/tools/font-size/increase-font-tool.directive.mjs +50 -0
  15. package/esm2020/tools/increase-decimal-tool.directive.mjs +40 -0
  16. package/esm2020/tools/index.mjs +8 -1
  17. package/esm2020/tools/insert/insert-link-dialog.component.mjs +49 -0
  18. package/esm2020/tools/insert/insert-link-tool.directive.mjs +91 -0
  19. package/esm2020/tools/load-file.component.mjs +1 -1
  20. package/esm2020/tools/shared/command-icons.mjs +17 -3
  21. package/esm2020/tools/shared/constants.mjs +11 -11
  22. package/esm2020/tools/tables/merge-tool.directive.mjs +1 -1
  23. package/fesm2015/progress-kendo-angular-spreadsheet.mjs +722 -83
  24. package/fesm2020/progress-kendo-angular-spreadsheet.mjs +719 -83
  25. package/localization/messages.d.ts +109 -1
  26. package/models/main-menu-item.d.ts +1 -1
  27. package/package.json +14 -14
  28. package/schematics/ngAdd/index.js +1 -1
  29. package/spreadsheet.component.d.ts +4 -1
  30. package/spreadsheet.module.d.ts +23 -15
  31. package/tools/{align-tool.directive.d.ts → align/align-tool.directive.d.ts} +3 -3
  32. package/tools/align/horizontal-align-tool.directive.d.ts +25 -0
  33. package/tools/align/vertical-align-tool.directive.d.ts +25 -0
  34. package/tools/decrease-decimal-tool.directive.d.ts +19 -0
  35. package/tools/font-size/decrease-font-tool.directive.d.ts +22 -0
  36. package/tools/font-size/increase-font-tool.directive.d.ts +22 -0
  37. package/tools/increase-decimal-tool.directive.d.ts +19 -0
  38. package/tools/index.d.ts +8 -1
  39. package/tools/insert/insert-link-dialog.component.d.ts +18 -0
  40. package/tools/insert/insert-link-tool.directive.d.ts +26 -0
  41. package/tools/shared/commands.d.ts +1 -1
  42. package/tools/shared/constants.d.ts +2 -0
@@ -18,54 +18,63 @@ import { PopupService } from '@progress/kendo-angular-popup';
18
18
  import { FormulaInputDirective } from './action-bar/formula-input.directive';
19
19
  import { take } from 'rxjs/operators';
20
20
  import { getSheetActions } from './sheets-bar/utils';
21
+ import { ErrorHandlingService } from './common/error-handling.service';
21
22
  import * as i0 from "@angular/core";
22
23
  import * as i1 from "@progress/kendo-angular-intl";
23
24
  import * as i2 from "@progress/kendo-angular-l10n";
24
25
  import * as i3 from "./common/spreadsheet.service";
25
26
  import * as i4 from "./tools/tools.service";
26
- import * as i5 from "@progress/kendo-angular-menu";
27
- import * as i6 from "@progress/kendo-angular-toolbar";
28
- import * as i7 from "./tools/load-file.component";
29
- import * as i8 from "./tools/font-family/spreadsheet-fontfamily-tool.component";
30
- import * as i9 from "./tools/font-size/spreadsheet-fontsize-tool.component";
31
- import * as i10 from "./tools/colorpicker/spreadsheet-forecolor.component";
32
- import * as i11 from "./tools/colorpicker/spreadsheet-backcolor.component";
33
- import * as i12 from "./action-bar/namebox.component";
34
- import * as i13 from "@progress/kendo-angular-icons";
35
- import * as i14 from "./sheets-bar/sheets-bar.component";
36
- import * as i15 from "@progress/kendo-angular-common";
37
- import * as i16 from "./localization/localized-messages.directive";
38
- import * as i17 from "./common/main-menu.directive";
39
- import * as i18 from "@angular/common";
40
- import * as i19 from "./tools/save-file-tool.directive";
41
- import * as i20 from "./tools/history/undo-tool";
42
- import * as i21 from "./tools/history/redo-tool";
43
- import * as i22 from "./tools/typographical-emphasis/bold-tool.directive";
44
- import * as i23 from "./tools/typographical-emphasis/italic-tool.directive";
45
- import * as i24 from "./tools/typographical-emphasis/underline-tool.directive";
46
- import * as i25 from "./tools/align-tool.directive";
47
- import * as i26 from "./tools/text-wrap-tool.directive";
48
- import * as i27 from "./tools/format-tool.directive";
49
- import * as i28 from "./tools/tables/add-column-left-button.directive";
50
- import * as i29 from "./tools/tables/add-column-right-button.directive";
51
- import * as i30 from "./tools/tables/add-row-below-button.directive";
52
- import * as i31 from "./tools/tables/add-row-above-button.directive";
53
- import * as i32 from "./tools/tables/delete-column-button.directive";
54
- import * as i33 from "./tools/tables/delete-row-button.directive";
55
- import * as i34 from "./tools/tables/merge-tool.directive";
56
- import * as i35 from "./tools/gridlines-tool.directive";
57
- import * as i36 from "./action-bar/formula-input.directive";
27
+ import * as i5 from "./common/error-handling.service";
28
+ import * as i6 from "@progress/kendo-angular-menu";
29
+ import * as i7 from "@progress/kendo-angular-toolbar";
30
+ import * as i8 from "./tools/load-file.component";
31
+ import * as i9 from "./tools/font-family/spreadsheet-fontfamily-tool.component";
32
+ import * as i10 from "./tools/font-size/spreadsheet-fontsize-tool.component";
33
+ import * as i11 from "./tools/colorpicker/spreadsheet-forecolor.component";
34
+ import * as i12 from "./tools/colorpicker/spreadsheet-backcolor.component";
35
+ import * as i13 from "./action-bar/namebox.component";
36
+ import * as i14 from "@progress/kendo-angular-icons";
37
+ import * as i15 from "./sheets-bar/sheets-bar.component";
38
+ import * as i16 from "@progress/kendo-angular-common";
39
+ import * as i17 from "./localization/localized-messages.directive";
40
+ import * as i18 from "./common/main-menu.directive";
41
+ import * as i19 from "@angular/common";
42
+ import * as i20 from "./tools/save-file-tool.directive";
43
+ import * as i21 from "./tools/history/undo-tool";
44
+ import * as i22 from "./tools/history/redo-tool";
45
+ import * as i23 from "./tools/font-size/increase-font-tool.directive";
46
+ import * as i24 from "./tools/font-size/decrease-font-tool.directive";
47
+ import * as i25 from "./tools/typographical-emphasis/bold-tool.directive";
48
+ import * as i26 from "./tools/typographical-emphasis/italic-tool.directive";
49
+ import * as i27 from "./tools/typographical-emphasis/underline-tool.directive";
50
+ import * as i28 from "./tools/align/horizontal-align-tool.directive";
51
+ import * as i29 from "./tools/align/vertical-align-tool.directive";
52
+ import * as i30 from "./tools/text-wrap-tool.directive";
53
+ import * as i31 from "./tools/format-tool.directive";
54
+ import * as i32 from "./tools/insert/insert-link-tool.directive";
55
+ import * as i33 from "./tools/tables/add-column-left-button.directive";
56
+ import * as i34 from "./tools/tables/add-column-right-button.directive";
57
+ import * as i35 from "./tools/tables/add-row-below-button.directive";
58
+ import * as i36 from "./tools/tables/add-row-above-button.directive";
59
+ import * as i37 from "./tools/tables/delete-column-button.directive";
60
+ import * as i38 from "./tools/tables/delete-row-button.directive";
61
+ import * as i39 from "./tools/decrease-decimal-tool.directive";
62
+ import * as i40 from "./tools/increase-decimal-tool.directive";
63
+ import * as i41 from "./tools/tables/merge-tool.directive";
64
+ import * as i42 from "./tools/gridlines-tool.directive";
65
+ import * as i43 from "./action-bar/formula-input.directive";
58
66
  /**
59
67
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
60
68
  */
61
69
  export class SpreadsheetComponent {
62
- constructor(ngZone, intl, host, localization, spreadsheetService, toolsService) {
70
+ constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
63
71
  this.ngZone = ngZone;
64
72
  this.intl = intl;
65
73
  this.host = host;
66
74
  this.localization = localization;
67
75
  this.spreadsheetService = spreadsheetService;
68
76
  this.toolsService = toolsService;
77
+ this.errorService = errorService;
69
78
  this.hostClass = true;
70
79
  this.role = 'application';
71
80
  /**
@@ -145,17 +154,25 @@ export class SpreadsheetComponent {
145
154
  * @hidden
146
155
  */
147
156
  this.showLicenseWatermark = false;
148
- this.onChange = (e) => hasObservers(this.change) && this.change.emit(e);
157
+ this.onChange = (e) => {
158
+ hasObservers(this.change) && this.change.emit(e);
159
+ this.spreadsheetService.selectionChanged.next(e.range);
160
+ };
149
161
  this.onSelectionChange = (e) => {
150
162
  hasObservers(this.selectionChange) && this.selectionChange.emit(e);
151
163
  this.spreadsheetService.selectionChanged.next(e.range);
152
164
  };
153
- this.onChangeFormat = (e) => hasObservers(this.formatChange) && this.formatChange.emit(e);
165
+ this.onChangeFormat = (e) => {
166
+ hasObservers(this.formatChange) && this.formatChange.emit(e);
167
+ this.spreadsheetService.selectionChanged.next(e.range);
168
+ };
154
169
  this.onExcelExport = (e) => hasObservers(this.excelExport) && this.excelExport.emit(e);
155
170
  this.onExcelImport = (e) => hasObservers(this.excelImport) && this.excelImport.emit(e);
156
171
  this.onActiveSheetChanged = (sheet) => {
157
172
  const eventArgs = { sender: this.spreadsheetService.spreadsheet, sheet };
158
173
  hasObservers(this.activeSheetChange) && this.activeSheetChange.emit(eventArgs);
174
+ const range = sheet.range(sheet.activeCell());
175
+ this.spreadsheetService.selectionChanged.next(range);
159
176
  };
160
177
  this.updateState = (e) => {
161
178
  this.toolsService.updateTools(e);
@@ -163,6 +180,11 @@ export class SpreadsheetComponent {
163
180
  this.sheets = mapToSheetDescriptor(this.spreadsheetService.spreadsheet.sheets());
164
181
  }
165
182
  };
183
+ this.onMessage = (e) => {
184
+ this.ngZone.run(() => {
185
+ this.errorService.handleErrorMessage(e);
186
+ });
187
+ };
166
188
  const isValid = validatePackage(packageMetadata);
167
189
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
168
190
  ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -178,6 +200,9 @@ export class SpreadsheetComponent {
178
200
  }, {
179
201
  id: 'insert',
180
202
  text: this.messageFor('insert')
203
+ }, {
204
+ id: 'format',
205
+ text: this.messageFor('formatTab')
181
206
  }, {
182
207
  id: 'view',
183
208
  text: this.messageFor('view')
@@ -251,6 +276,7 @@ export class SpreadsheetComponent {
251
276
  spreadsheet.bind('excelImport', this.onExcelImport);
252
277
  spreadsheet.bind('excelExport', this.onExcelExport);
253
278
  spreadsheet.view.bind('update', this.updateState);
279
+ spreadsheet.view.bind('message', this.onMessage);
254
280
  const sheet = spreadsheet.activeSheet();
255
281
  if (sheet) {
256
282
  this.updateState({ range: sheet.range(sheet.activeCell()) });
@@ -344,7 +370,7 @@ export class SpreadsheetComponent {
344
370
  };
345
371
  }
346
372
  }
347
- SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: i3.SpreadsheetService }, { token: i4.SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Component });
373
+ SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: i3.SpreadsheetService }, { token: i4.SpreadsheetToolsService }, { token: i5.ErrorHandlingService }], target: i0.ɵɵFactoryTarget.Component });
348
374
  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: [
349
375
  SpreadsheetLocalizationService,
350
376
  {
@@ -356,7 +382,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
356
382
  useValue: 'kendo.spreadsheet'
357
383
  },
358
384
  SpreadsheetToolsService,
359
- PopupService
385
+ PopupService,
386
+ ErrorHandlingService
360
387
  ], 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: `
361
388
  <ng-container
362
389
  kendoSpreadsheetLocalizedMessages
@@ -386,6 +413,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
386
413
  file="File"
387
414
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
388
415
  insert="Insert"
416
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
417
+ formatTab="Format"
389
418
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
390
419
  view="View"
391
420
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -410,8 +439,44 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
410
439
  wrap="Text wrap"
411
440
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
412
441
  align="Align"
442
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
443
+ alignHorizontal="Align horizontally"
444
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
445
+ alignVertical="Align vertically"
446
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
447
+ alignLeft="Align Left"
448
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
449
+ alignCenter="Align Center"
450
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
451
+ alignRight="Align Right"
452
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
453
+ alignJustify="Align Justify"
454
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
455
+ alignTop="Align Top"
456
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
457
+ alignMiddle="Align Middle"
458
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
459
+ alignBottom="Align Bottom"
413
460
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
414
461
  merge="Merge"
462
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
463
+ mergeAll="Merge all"
464
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
465
+ mergeHorizontally="Merge horizontally"
466
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
467
+ mergeVertically="Merge vertically"
468
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
469
+ unmerge="Unmerge"
470
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
471
+ insertLink="Insert link"
472
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
473
+ decreaseDecimal="Decrease decimal"
474
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
475
+ increaseDecimal="Increase decimal"
476
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
477
+ increaseFontSize="Increase font size"
478
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
479
+ decreaseFontSize="Decrease font size"
415
480
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
416
481
  dialogApply="Apply"
417
482
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -420,6 +485,10 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
420
485
  dialogDelete="Delete"
421
486
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
422
487
  dialogRename="Rename"
488
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
489
+ dialogInsert="Insert"
490
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
491
+ dialogRemoveLink="Remove link"
423
492
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
424
493
  rename="Rename Sheet"
425
494
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -429,7 +498,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
429
498
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
430
499
  addSheet="Add New Sheet"
431
500
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
432
- sheetsMenu="All Sheets">
501
+ sheetsMenu="All Sheets"
502
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
503
+ openUnsupported="Unsupported format. Please select an .xlsx file."
504
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
505
+ modifyMerged="Cannot change part of a merged cell."
506
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
507
+ cannotModifyDisabled="Cannot modify disabled cells."
508
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
509
+ dialogOk="OK"
510
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
511
+ dialogError="Error"
512
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
513
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
514
+ >
433
515
  </ng-container>
434
516
  <div class="k-spreadsheet-header">
435
517
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -453,6 +535,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
453
535
  <kendo-toolbar-separator></kendo-toolbar-separator>
454
536
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
455
537
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
538
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
539
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
540
+ <kendo-toolbar-separator></kendo-toolbar-separator>
456
541
  <kendo-toolbar-buttongroup>
457
542
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
458
543
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -462,7 +547,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
462
547
  <kendo-toolbar-separator></kendo-toolbar-separator>
463
548
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
464
549
  <kendo-toolbar-separator></kendo-toolbar-separator>
465
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
550
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
551
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
466
552
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
467
553
  <kendo-toolbar-separator></kendo-toolbar-separator>
468
554
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -471,6 +557,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
471
557
  [attr.aria-label]="messageFor('insert')"
472
558
  class="k-spreadsheet-toolbar"
473
559
  [overflow]="overflow">
560
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
561
+ <kendo-toolbar-separator></kendo-toolbar-separator>
474
562
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
475
563
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
476
564
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -479,6 +567,13 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
479
567
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
480
568
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
481
569
  </kendo-toolbar>
570
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
571
+ [attr.aria-label]="messageFor('formatTab')"
572
+ class="k-spreadsheet-toolbar"
573
+ [overflow]="overflow">
574
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
575
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
576
+ </kendo-toolbar>
482
577
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
483
578
  [attr.aria-label]="messageFor('view')"
484
579
  class="k-spreadsheet-toolbar"
@@ -516,7 +611,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
516
611
  <ng-container #dialogContainer></ng-container>
517
612
 
518
613
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
519
- `, isInline: true, components: [{ type: i5.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i5.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i6.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i7.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i6.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: i6.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i6.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i8.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i9.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i10.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i11.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i6.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: i12.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i13.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i14.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i15.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i16.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i17.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i18.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i20.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i21.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i22.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i23.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i24.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i25.SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]" }, { type: i26.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i27.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i28.SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: i29.SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: i30.SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: i31.SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: i32.SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: i33.SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: i34.SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: i35.SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: i36.FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
614
+ `, isInline: true, components: [{ type: i6.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i6.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i7.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i8.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i7.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: i7.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i7.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i9.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i10.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i11.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i12.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i7.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: i13.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i14.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i15.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i16.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i17.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i18.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i19.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i19.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i20.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i21.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i22.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i23.SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: i24.SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: i25.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i26.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i27.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i28.SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: i29.SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: i30.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i31.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i32.SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: i33.SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: i34.SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: i35.SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: i36.SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: i37.SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: i38.SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: i39.SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: i40.SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: i41.SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: i42.SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: i43.FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
520
615
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
521
616
  type: Component,
522
617
  args: [{
@@ -533,7 +628,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
533
628
  useValue: 'kendo.spreadsheet'
534
629
  },
535
630
  SpreadsheetToolsService,
536
- PopupService
631
+ PopupService,
632
+ ErrorHandlingService
537
633
  ],
538
634
  template: `
539
635
  <ng-container
@@ -564,6 +660,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
564
660
  file="File"
565
661
  i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
566
662
  insert="Insert"
663
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
664
+ formatTab="Format"
567
665
  i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
568
666
  view="View"
569
667
  i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
@@ -588,8 +686,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
588
686
  wrap="Text wrap"
589
687
  i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
590
688
  align="Align"
689
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
690
+ alignHorizontal="Align horizontally"
691
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
692
+ alignVertical="Align vertically"
693
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
694
+ alignLeft="Align Left"
695
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
696
+ alignCenter="Align Center"
697
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
698
+ alignRight="Align Right"
699
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
700
+ alignJustify="Align Justify"
701
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
702
+ alignTop="Align Top"
703
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
704
+ alignMiddle="Align Middle"
705
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
706
+ alignBottom="Align Bottom"
591
707
  i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
592
708
  merge="Merge"
709
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
710
+ mergeAll="Merge all"
711
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
712
+ mergeHorizontally="Merge horizontally"
713
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
714
+ mergeVertically="Merge vertically"
715
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
716
+ unmerge="Unmerge"
717
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
718
+ insertLink="Insert link"
719
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
720
+ decreaseDecimal="Decrease decimal"
721
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
722
+ increaseDecimal="Increase decimal"
723
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
724
+ increaseFontSize="Increase font size"
725
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
726
+ decreaseFontSize="Decrease font size"
593
727
  i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
594
728
  dialogApply="Apply"
595
729
  i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
@@ -598,6 +732,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
598
732
  dialogDelete="Delete"
599
733
  i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
600
734
  dialogRename="Rename"
735
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
736
+ dialogInsert="Insert"
737
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
738
+ dialogRemoveLink="Remove link"
601
739
  i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
602
740
  rename="Rename Sheet"
603
741
  i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
@@ -607,7 +745,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
607
745
  i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
608
746
  addSheet="Add New Sheet"
609
747
  i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
610
- sheetsMenu="All Sheets">
748
+ sheetsMenu="All Sheets"
749
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
750
+ openUnsupported="Unsupported format. Please select an .xlsx file."
751
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
752
+ modifyMerged="Cannot change part of a merged cell."
753
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
754
+ cannotModifyDisabled="Cannot modify disabled cells."
755
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
756
+ dialogOk="OK"
757
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
758
+ dialogError="Error"
759
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
760
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
761
+ >
611
762
  </ng-container>
612
763
  <div class="k-spreadsheet-header">
613
764
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -631,6 +782,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
631
782
  <kendo-toolbar-separator></kendo-toolbar-separator>
632
783
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
633
784
  <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
785
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
786
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
787
+ <kendo-toolbar-separator></kendo-toolbar-separator>
634
788
  <kendo-toolbar-buttongroup>
635
789
  <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
636
790
  <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
@@ -640,7 +794,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
640
794
  <kendo-toolbar-separator></kendo-toolbar-separator>
641
795
  <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
642
796
  <kendo-toolbar-separator></kendo-toolbar-separator>
643
- <kendo-toolbar-dropdownbutton kendoSpreadsheetTextAlign></kendo-toolbar-dropdownbutton>
797
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
798
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
644
799
  <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
645
800
  <kendo-toolbar-separator></kendo-toolbar-separator>
646
801
  <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
@@ -649,6 +804,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
649
804
  [attr.aria-label]="messageFor('insert')"
650
805
  class="k-spreadsheet-toolbar"
651
806
  [overflow]="overflow">
807
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
808
+ <kendo-toolbar-separator></kendo-toolbar-separator>
652
809
  <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
653
810
  <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
654
811
  <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
@@ -657,6 +814,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
657
814
  <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
658
815
  <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
659
816
  </kendo-toolbar>
817
+ <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
818
+ [attr.aria-label]="messageFor('formatTab')"
819
+ class="k-spreadsheet-toolbar"
820
+ [overflow]="overflow">
821
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
822
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
823
+ </kendo-toolbar>
660
824
  <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
661
825
  [attr.aria-label]="messageFor('view')"
662
826
  class="k-spreadsheet-toolbar"
@@ -696,7 +860,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
696
860
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
697
861
  `,
698
862
  }]
699
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: i3.SpreadsheetService }, { type: i4.SpreadsheetToolsService }]; }, propDecorators: { formulaBarInputRef: [{
863
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: i3.SpreadsheetService }, { type: i4.SpreadsheetToolsService }, { type: i5.ErrorHandlingService }]; }, propDecorators: { formulaBarInputRef: [{
700
864
  type: ViewChild,
701
865
  args: ['formulaBar', { read: FormulaInputDirective }]
702
866
  }], formulaCellInputRef: [{
@@ -2,20 +2,20 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { LabelModule } from '@progress/kendo-angular-label';
6
- import { InputsModule } from '@progress/kendo-angular-inputs';
7
- import { ButtonsModule } from '@progress/kendo-angular-buttons';
8
- import { IntlModule } from '@progress/kendo-angular-intl';
9
5
  import { NgModule } from '@angular/core';
10
6
  import { CommonModule } from '@angular/common';
11
- import { SpreadsheetComponent } from './spreadsheet.component';
12
7
  import { PopupModule } from '@progress/kendo-angular-popup';
13
8
  import { TabStripModule } from '@progress/kendo-angular-layout';
14
9
  import { EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
15
10
  import { FormulaListComponent } from './action-bar/list.component';
16
11
  import { FormulaInputDirective } from './action-bar/formula-input.directive';
17
12
  import { IconsModule } from '@progress/kendo-angular-icons';
13
+ import { LabelModule } from '@progress/kendo-angular-label';
14
+ import { InputsModule } from '@progress/kendo-angular-inputs';
15
+ import { ButtonsModule } from '@progress/kendo-angular-buttons';
16
+ import { IntlModule } from '@progress/kendo-angular-intl';
18
17
  import { ComboBoxModule, DropDownListModule } from '@progress/kendo-angular-dropdowns';
18
+ import { SpreadsheetComponent } from './spreadsheet.component';
19
19
  import { NameBoxComponent } from './action-bar/namebox.component';
20
20
  import { SheetsBarComponent } from './sheets-bar/sheets-bar.component';
21
21
  import { ToolBarModule } from '@progress/kendo-angular-toolbar';
@@ -41,7 +41,7 @@ import { SpreadsheetAddRowAboveButtonDirective } from './tools/tables/add-row-ab
41
41
  import { SpreadsheetAddRowBelowButtonDirective } from './tools/tables/add-row-below-button.directive';
42
42
  import { SpreadsheetDeleteColumnButtonDirective } from './tools/tables/delete-column-button.directive';
43
43
  import { SpreadsheetDeleteRowButtonDirective } from './tools/tables/delete-row-button.directive';
44
- import { SpreadsheetTextAlignDirective } from './tools/align-tool.directive';
44
+ import { SpreadsheetTextAlignDirective } from './tools/align/align-tool.directive';
45
45
  import { SpreadsheetTextWrapDirective } from './tools/text-wrap-tool.directive';
46
46
  import { DialogModule } from '@progress/kendo-angular-dialog';
47
47
  import { FontFamilyDropDownListComponent } from './tools/font-family/font-family-dropdownlist.component';
@@ -51,6 +51,14 @@ import { MenuModule } from '@progress/kendo-angular-menu';
51
51
  import { MainMenuDirective } from './common/main-menu.directive';
52
52
  import { ActionDialogComponent } from './sheets-bar/action-dialog.component';
53
53
  import { SpreadsheetMergeDirective } from './tools/tables/merge-tool.directive';
54
+ import { SpreadsheetInsertLinkDirective } from './tools/insert/insert-link-tool.directive';
55
+ import { InsertLinkDialogComponent } from './tools/insert/insert-link-dialog.component';
56
+ import { SpreadsheetIncreaseFontSizeDirective } from './tools/font-size/increase-font-tool.directive';
57
+ import { SpreadsheetDecreaseFontSizeDirective } from './tools/font-size/decrease-font-tool.directive';
58
+ import { SpreadsheetIncreaseDecimalDirective } from './tools/increase-decimal-tool.directive';
59
+ import { SpreadsheetDecreaseDecimalDirective } from './tools/decrease-decimal-tool.directive';
60
+ import { SpreadsheetHorizontalTextAlignDirective } from './tools/align/horizontal-align-tool.directive';
61
+ import { SpreadsheetVerticalTextAlignDirective } from './tools/align/vertical-align-tool.directive';
54
62
  import * as i0 from "@angular/core";
55
63
  const DIRECTIVES = [
56
64
  SpreadsheetComponent,
@@ -87,7 +95,15 @@ const DIRECTIVES = [
87
95
  DialogContentComponent,
88
96
  MainMenuDirective,
89
97
  ActionDialogComponent,
90
- SpreadsheetMergeDirective
98
+ SpreadsheetMergeDirective,
99
+ SpreadsheetInsertLinkDirective,
100
+ InsertLinkDialogComponent,
101
+ SpreadsheetIncreaseFontSizeDirective,
102
+ SpreadsheetDecreaseFontSizeDirective,
103
+ SpreadsheetIncreaseDecimalDirective,
104
+ SpreadsheetDecreaseDecimalDirective,
105
+ SpreadsheetHorizontalTextAlignDirective,
106
+ SpreadsheetVerticalTextAlignDirective
91
107
  ];
92
108
  const EXPORTS = [
93
109
  SpreadsheetComponent,
@@ -113,7 +129,14 @@ const EXPORTS = [
113
129
  SpreadsheetDeleteRowButtonDirective,
114
130
  SpreadsheetTextAlignDirective,
115
131
  SpreadsheetTextWrapDirective,
116
- SpreadsheetMergeDirective
132
+ SpreadsheetMergeDirective,
133
+ SpreadsheetInsertLinkDirective,
134
+ SpreadsheetIncreaseFontSizeDirective,
135
+ SpreadsheetDecreaseFontSizeDirective,
136
+ SpreadsheetIncreaseDecimalDirective,
137
+ SpreadsheetDecreaseDecimalDirective,
138
+ SpreadsheetHorizontalTextAlignDirective,
139
+ SpreadsheetVerticalTextAlignDirective
117
140
  ];
118
141
  /**
119
142
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -156,7 +179,15 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
156
179
  DialogContentComponent,
157
180
  MainMenuDirective,
158
181
  ActionDialogComponent,
159
- SpreadsheetMergeDirective], imports: [CommonModule,
182
+ SpreadsheetMergeDirective,
183
+ SpreadsheetInsertLinkDirective,
184
+ InsertLinkDialogComponent,
185
+ SpreadsheetIncreaseFontSizeDirective,
186
+ SpreadsheetDecreaseFontSizeDirective,
187
+ SpreadsheetIncreaseDecimalDirective,
188
+ SpreadsheetDecreaseDecimalDirective,
189
+ SpreadsheetHorizontalTextAlignDirective,
190
+ SpreadsheetVerticalTextAlignDirective], imports: [CommonModule,
160
191
  ButtonsModule,
161
192
  ComboBoxModule,
162
193
  DropDownListModule,
@@ -193,7 +224,14 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
193
224
  SpreadsheetDeleteRowButtonDirective,
194
225
  SpreadsheetTextAlignDirective,
195
226
  SpreadsheetTextWrapDirective,
196
- SpreadsheetMergeDirective] });
227
+ SpreadsheetMergeDirective,
228
+ SpreadsheetInsertLinkDirective,
229
+ SpreadsheetIncreaseFontSizeDirective,
230
+ SpreadsheetDecreaseFontSizeDirective,
231
+ SpreadsheetIncreaseDecimalDirective,
232
+ SpreadsheetDecreaseDecimalDirective,
233
+ SpreadsheetHorizontalTextAlignDirective,
234
+ SpreadsheetVerticalTextAlignDirective] });
197
235
  SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetModule, imports: [[
198
236
  CommonModule,
199
237
  ButtonsModule,