@progress/kendo-angular-spreadsheet 16.5.0 → 16.6.0-develop.1

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 (95) hide show
  1. package/action-bar/formula-input.directive.d.ts +1 -1
  2. package/action-bar/list.component.d.ts +1 -1
  3. package/action-bar/namebox.component.d.ts +2 -2
  4. package/common/main-menu.directive.d.ts +1 -1
  5. package/directives.d.ts +39 -0
  6. package/esm2020/action-bar/formula-input.directive.mjs +2 -1
  7. package/esm2020/action-bar/list.component.mjs +8 -6
  8. package/esm2020/action-bar/namebox.component.mjs +7 -6
  9. package/esm2020/common/main-menu.directive.mjs +5 -2
  10. package/esm2020/directives.mjs +71 -0
  11. package/esm2020/localization/custom-messages.component.mjs +3 -2
  12. package/esm2020/localization/localized-messages.directive.mjs +3 -2
  13. package/esm2020/localization/messages.mjs +3 -2
  14. package/esm2020/package-metadata.mjs +2 -2
  15. package/esm2020/sheets-bar/action-dialog.component.mjs +8 -6
  16. package/esm2020/sheets-bar/sheets-bar.component.mjs +12 -13
  17. package/esm2020/spreadsheet.component.mjs +46 -47
  18. package/esm2020/spreadsheet.module.mjs +42 -255
  19. package/esm2020/tools/align/align-tool.directive.mjs +2 -1
  20. package/esm2020/tools/align/horizontal-align-tool.directive.mjs +2 -1
  21. package/esm2020/tools/align/vertical-align-tool.directive.mjs +2 -1
  22. package/esm2020/tools/colorpicker/spreadsheet-backcolor.component.mjs +10 -8
  23. package/esm2020/tools/colorpicker/spreadsheet-forecolor.component.mjs +11 -9
  24. package/esm2020/tools/decrease-decimal-tool.directive.mjs +3 -2
  25. package/esm2020/tools/font-family/font-family-dropdownlist.component.mjs +7 -5
  26. package/esm2020/tools/font-family/spreadsheet-fontfamily-tool.component.mjs +11 -9
  27. package/esm2020/tools/font-size/decrease-font-tool.directive.mjs +3 -2
  28. package/esm2020/tools/font-size/font-size-dropdownlist.component.mjs +6 -4
  29. package/esm2020/tools/font-size/increase-font-tool.directive.mjs +3 -2
  30. package/esm2020/tools/font-size/spreadsheet-fontsize-tool.component.mjs +11 -9
  31. package/esm2020/tools/format-tool.directive.mjs +2 -1
  32. package/esm2020/tools/gridlines-tool.directive.mjs +3 -2
  33. package/esm2020/tools/history/redo-tool.mjs +3 -2
  34. package/esm2020/tools/history/undo-tool.mjs +3 -2
  35. package/esm2020/tools/increase-decimal-tool.directive.mjs +3 -2
  36. package/esm2020/tools/insert/insert-link-dialog.component.mjs +7 -5
  37. package/esm2020/tools/insert/insert-link-tool.directive.mjs +3 -2
  38. package/esm2020/tools/load-file.component.mjs +9 -8
  39. package/esm2020/tools/save-file-tool.directive.mjs +5 -2
  40. package/esm2020/tools/shared/dialog-content.component.mjs +9 -7
  41. package/esm2020/tools/tables/add-column-left-button.directive.mjs +3 -2
  42. package/esm2020/tools/tables/add-column-right-button.directive.mjs +3 -2
  43. package/esm2020/tools/tables/add-row-above-button.directive.mjs +3 -2
  44. package/esm2020/tools/tables/add-row-below-button.directive.mjs +3 -2
  45. package/esm2020/tools/tables/delete-column-button.directive.mjs +3 -2
  46. package/esm2020/tools/tables/delete-row-button.directive.mjs +3 -2
  47. package/esm2020/tools/tables/merge-tool.directive.mjs +2 -1
  48. package/esm2020/tools/text-wrap-tool.directive.mjs +3 -2
  49. package/esm2020/tools/typographical-emphasis/bold-tool.directive.mjs +3 -2
  50. package/esm2020/tools/typographical-emphasis/italic-tool.directive.mjs +3 -2
  51. package/esm2020/tools/typographical-emphasis/underline-tool.directive.mjs +3 -2
  52. package/fesm2015/progress-kendo-angular-spreadsheet.mjs +1445 -1549
  53. package/fesm2020/progress-kendo-angular-spreadsheet.mjs +1445 -1549
  54. package/localization/custom-messages.component.d.ts +1 -1
  55. package/localization/localized-messages.directive.d.ts +1 -1
  56. package/localization/messages.d.ts +1 -1
  57. package/package.json +15 -15
  58. package/schematics/ngAdd/index.js +2 -2
  59. package/sheets-bar/action-dialog.component.d.ts +1 -1
  60. package/sheets-bar/sheets-bar.component.d.ts +5 -5
  61. package/spreadsheet.component.d.ts +4 -4
  62. package/spreadsheet.module.d.ts +31 -56
  63. package/tools/align/align-tool.directive.d.ts +1 -1
  64. package/tools/align/horizontal-align-tool.directive.d.ts +1 -1
  65. package/tools/align/vertical-align-tool.directive.d.ts +1 -1
  66. package/tools/colorpicker/spreadsheet-backcolor.component.d.ts +1 -1
  67. package/tools/colorpicker/spreadsheet-forecolor.component.d.ts +2 -2
  68. package/tools/decrease-decimal-tool.directive.d.ts +1 -1
  69. package/tools/font-family/font-family-dropdownlist.component.d.ts +1 -1
  70. package/tools/font-family/spreadsheet-fontfamily-tool.component.d.ts +2 -2
  71. package/tools/font-size/decrease-font-tool.directive.d.ts +1 -1
  72. package/tools/font-size/font-size-dropdownlist.component.d.ts +1 -1
  73. package/tools/font-size/increase-font-tool.directive.d.ts +1 -1
  74. package/tools/font-size/spreadsheet-fontsize-tool.component.d.ts +2 -2
  75. package/tools/format-tool.directive.d.ts +1 -1
  76. package/tools/gridlines-tool.directive.d.ts +1 -1
  77. package/tools/history/redo-tool.d.ts +1 -1
  78. package/tools/history/undo-tool.d.ts +1 -1
  79. package/tools/increase-decimal-tool.directive.d.ts +1 -1
  80. package/tools/insert/insert-link-dialog.component.d.ts +1 -1
  81. package/tools/insert/insert-link-tool.directive.d.ts +1 -1
  82. package/tools/load-file.component.d.ts +2 -2
  83. package/tools/save-file-tool.directive.d.ts +1 -1
  84. package/tools/shared/dialog-content.component.d.ts +1 -1
  85. package/tools/tables/add-column-left-button.directive.d.ts +1 -1
  86. package/tools/tables/add-column-right-button.directive.d.ts +1 -1
  87. package/tools/tables/add-row-above-button.directive.d.ts +1 -1
  88. package/tools/tables/add-row-below-button.directive.d.ts +1 -1
  89. package/tools/tables/delete-column-button.directive.d.ts +1 -1
  90. package/tools/tables/delete-row-button.directive.d.ts +1 -1
  91. package/tools/tables/merge-tool.directive.d.ts +1 -1
  92. package/tools/text-wrap-tool.directive.d.ts +1 -1
  93. package/tools/typographical-emphasis/bold-tool.directive.d.ts +1 -1
  94. package/tools/typographical-emphasis/italic-tool.directive.d.ts +1 -1
  95. package/tools/typographical-emphasis/underline-tool.directive.d.ts +1 -1
@@ -3,40 +3,31 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, EventEmitter, Output, Inject, Optional, Component, HostBinding, Input, Directive, forwardRef, HostListener, ViewChild, ElementRef, ViewChildren, InjectionToken, ViewContainerRef, NgModule } from '@angular/core';
6
+ import { Injectable, EventEmitter, Output, Inject, Optional, Component, HostBinding, Input, Directive, ElementRef, ViewChild, ViewChildren, HostListener, InjectionToken, forwardRef, ViewContainerRef, NgModule } from '@angular/core';
7
+ import { NgFor, NgIf, NgStyle, NgSwitch, NgSwitchCase } from '@angular/common';
8
+ import { Subject, Subscription } from 'rxjs';
9
+ import { take, map } from 'rxjs/operators';
7
10
  import { validatePackage } from '@progress/kendo-licensing';
8
11
  import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
9
12
  import * as i1$3 from '@progress/kendo-angular-intl';
10
- import { localeData, IntlModule } from '@progress/kendo-angular-intl';
13
+ import { localeData } from '@progress/kendo-angular-intl';
11
14
  import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, 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, cutIcon, clipboardIcon, eyeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
12
- import { Subject, Subscription } from 'rxjs';
13
15
  import * as i2 from '@progress/kendo-angular-l10n';
14
16
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
15
- import * as i3 from '@progress/kendo-angular-common';
16
- import { isDocumentAvailable, isPresent, Keys, hasObservers, shouldShowValidationUI, EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
17
17
  import * as i1 from '@progress/kendo-angular-popup';
18
- import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
19
- import * as i2$1 from '@angular/common';
20
- import { CommonModule } from '@angular/common';
21
- import * as i6 from '@progress/kendo-angular-icons';
22
- import { IconsModule } from '@progress/kendo-angular-icons';
23
- import { take, map } from 'rxjs/operators';
18
+ import { PopupService } from '@progress/kendo-angular-popup';
19
+ import { MenuComponent, MenuItemComponent, ContextMenuComponent } from '@progress/kendo-angular-menu';
20
+ import { EventsOutsideAngularDirective, isDocumentAvailable, isPresent, Keys, hasObservers, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
24
21
  import * as i1$1 from '@progress/kendo-angular-dialog';
25
- import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
26
- import * as i9 from '@progress/kendo-angular-menu';
27
- import { MenusModule } from '@progress/kendo-angular-menu';
28
- import * as i3$1 from '@progress/kendo-angular-inputs';
29
- import { InputsModule } from '@progress/kendo-angular-inputs';
30
- import * as i3$2 from '@progress/kendo-angular-label';
31
- import { LabelModule } from '@progress/kendo-angular-label';
22
+ import { DialogContentBase, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
23
+ import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
32
24
  import * as i1$2 from '@progress/kendo-angular-toolbar';
33
- import { ToolBarToolComponent, ToolBarComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
34
- import * as i2$2 from '@progress/kendo-angular-dropdowns';
35
- import { DropDownListComponent, ComboBoxModule, DropDownListModule } from '@progress/kendo-angular-dropdowns';
36
- import * as i5 from '@progress/kendo-angular-buttons';
37
- import { ButtonsModule } from '@progress/kendo-angular-buttons';
38
- import * as i7 from '@progress/kendo-angular-layout';
39
- import { TabStripModule } from '@progress/kendo-angular-layout';
25
+ import { ToolBarToolComponent, ToolBarComponent, ToolBarButtonComponent, ToolBarButtonGroupComponent, ToolBarSeparatorComponent, ToolBarDropDownButtonComponent } from '@progress/kendo-angular-toolbar';
26
+ import { TextBoxComponent, ColorPickerComponent } from '@progress/kendo-angular-inputs';
27
+ import { LabelComponent } from '@progress/kendo-angular-label';
28
+ import { ButtonComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
29
+ import { TabStripComponent, TabStripTabComponent, TabTemplateDirective } from '@progress/kendo-angular-layout';
30
+ import { ComboBoxComponent, DropDownListComponent, ItemTemplateDirective } from '@progress/kendo-angular-dropdowns';
40
31
  import { saveAs } from '@progress/kendo-file-saver';
41
32
  import { Workbook } from '@progress/kendo-ooxml';
42
33
 
@@ -47,8 +38,8 @@ const packageMetadata = {
47
38
  name: '@progress/kendo-angular-spreadsheet',
48
39
  productName: 'Kendo UI for Angular',
49
40
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1721814203,
51
- version: '16.5.0',
41
+ publishDate: 1721827825,
42
+ version: '16.6.0-develop.1',
52
43
  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
44
  };
54
45
 
@@ -212,7 +203,7 @@ class FormulaListComponent {
212
203
  }
213
204
  }
214
205
  FormulaListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Component });
215
- FormulaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormulaListComponent, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: `
206
+ FormulaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0, template: `
216
207
  <ul #ulRef
217
208
  class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
218
209
  role="menu"
@@ -230,7 +221,7 @@ FormulaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
230
221
  <span className="k-list-item-text">{{item.text}}</span>
231
222
  </li>
232
223
  </ul>
233
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
224
+ `, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
234
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaListComponent, decorators: [{
235
226
  type: Component,
236
227
  args: [{
@@ -253,7 +244,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
253
244
  <span className="k-list-item-text">{{item.text}}</span>
254
245
  </li>
255
246
  </ul>
256
- `
247
+ `,
248
+ standalone: true,
249
+ imports: [EventsOutsideAngularDirective, NgFor, IconWrapperComponent]
257
250
  }]
258
251
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SpreadsheetService }]; }, propDecorators: { id: [{
259
252
  type: HostBinding,
@@ -401,11 +394,12 @@ class FormulaInputDirective {
401
394
  }
402
395
  }
403
396
  FormulaInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: SpreadsheetService }, { token: SpreadsheetLocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
404
- FormulaInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: { formulaListMaxHeight: "formulaListMaxHeight" }, host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.title": "this.title", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
397
+ FormulaInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FormulaInputDirective, isStandalone: true, selector: "[kendoSpreadsheetFormulaInput]", inputs: { formulaListMaxHeight: "formulaListMaxHeight" }, host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.title": "this.title", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
405
398
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FormulaInputDirective, decorators: [{
406
399
  type: Directive,
407
400
  args: [{
408
401
  selector: '[kendoSpreadsheetFormulaInput]',
402
+ standalone: true
409
403
  }]
410
404
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: SpreadsheetService }, { type: SpreadsheetLocalizationService }]; }, propDecorators: { hostClasses: [{
411
405
  type: HostBinding,
@@ -666,7 +660,7 @@ class InsertLinkDialogComponent extends DialogContentBase {
666
660
  }
667
661
  }
668
662
  InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
669
- InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
663
+ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: InsertLinkDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
670
664
  <form class="k-form k-form-md" method="dialog">
671
665
  <div class="k-form-field">
672
666
  <kendo-label [for]="textbox" text="URL"></kendo-label>
@@ -675,7 +669,7 @@ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
675
669
  </kendo-textbox>
676
670
  </div>
677
671
  </form>
678
- `, isInline: true, dependencies: [{ kind: "component", type: i3$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i3$2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }] });
672
+ `, isInline: true, dependencies: [{ kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
679
673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
680
674
  type: Component,
681
675
  args: [{
@@ -688,383 +682,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
688
682
  </kendo-textbox>
689
683
  </div>
690
684
  </form>
691
- `
685
+ `,
686
+ standalone: true,
687
+ imports: [LabelComponent, TextBoxComponent]
692
688
  }]
693
689
  }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
694
690
 
695
691
  /**
696
692
  * @hidden
697
693
  */
698
- class MessagesDirective extends ComponentMessages {
699
- }
700
- MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
701
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", 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", formulaInput: "formulaInput", 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", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessagesDirective, decorators: [{
703
- type: Directive,
704
- args: [{
705
- selector: '[kendoSpreadsheetMessages]'
706
- }]
707
- }], propDecorators: { home: [{
708
- type: Input
709
- }], file: [{
710
- type: Input
711
- }], insert: [{
712
- type: Input
713
- }], formatTab: [{
714
- type: Input
715
- }], saveFile: [{
716
- type: Input
717
- }], loadFile: [{
718
- type: Input
719
- }], bold: [{
720
- type: Input
721
- }], italic: [{
722
- type: Input
723
- }], underline: [{
724
- type: Input
725
- }], format: [{
726
- type: Input
727
- }], fontFamily: [{
728
- type: Input
729
- }], fontSize: [{
730
- type: Input
731
- }], undo: [{
732
- type: Input
733
- }], redo: [{
734
- type: Input
735
- }], background: [{
736
- type: Input
737
- }], color: [{
738
- type: Input
739
- }], gridLines: [{
740
- type: Input
741
- }], addColumnLeft: [{
742
- type: Input
743
- }], addColumnRight: [{
744
- type: Input
745
- }], addRowBelow: [{
746
- type: Input
747
- }], addRowAbove: [{
748
- type: Input
749
- }], deleteColumn: [{
750
- type: Input
751
- }], deleteRow: [{
752
- type: Input
753
- }], wrap: [{
754
- type: Input
755
- }], align: [{
756
- type: Input
757
- }], alignHorizontal: [{
758
- type: Input
759
- }], alignVertical: [{
760
- type: Input
761
- }], alignLeft: [{
762
- type: Input
763
- }], alignCenter: [{
764
- type: Input
765
- }], alignRight: [{
766
- type: Input
767
- }], alignJustify: [{
768
- type: Input
769
- }], alignTop: [{
770
- type: Input
771
- }], alignMiddle: [{
772
- type: Input
773
- }], alignBottom: [{
774
- type: Input
775
- }], dialogApply: [{
776
- type: Input
777
- }], dialogCancel: [{
778
- type: Input
779
- }], dialogDelete: [{
780
- type: Input
781
- }], dialogRename: [{
782
- type: Input
783
- }], dialogInsert: [{
784
- type: Input
785
- }], dialogRemoveLink: [{
786
- type: Input
787
- }], delete: [{
788
- type: Input
789
- }], rename: [{
790
- type: Input
791
- }], nameBox: [{
792
- type: Input
793
- }], formulaInput: [{
794
- type: Input
795
- }], addSheet: [{
796
- type: Input
797
- }], sheetsMenu: [{
798
- type: Input
799
- }], view: [{
800
- type: Input
801
- }], merge: [{
802
- type: Input
803
- }], mergeHorizontally: [{
804
- type: Input
805
- }], mergeVertically: [{
806
- type: Input
807
- }], mergeAll: [{
808
- type: Input
809
- }], unmerge: [{
810
- type: Input
811
- }], insertLink: [{
812
- type: Input
813
- }], increaseDecimal: [{
814
- type: Input
815
- }], decreaseDecimal: [{
816
- type: Input
817
- }], increaseFontSize: [{
818
- type: Input
819
- }], decreaseFontSize: [{
820
- type: Input
821
- }], openUnsupported: [{
822
- type: Input
823
- }], modifyMerged: [{
824
- type: Input
825
- }], cannotModifyDisabled: [{
826
- type: Input
827
- }], dialogOk: [{
828
- type: Input
829
- }], dialogError: [{
830
- type: Input
831
- }], duplicateSheetName: [{
832
- type: Input
833
- }], copy: [{
834
- type: Input
835
- }], cut: [{
836
- type: Input
837
- }], paste: [{
838
- type: Input
839
- }], hideRow: [{
840
- type: Input
841
- }], unhideRow: [{
842
- type: Input
843
- }], hideColumn: [{
844
- type: Input
845
- }], unhideColumn: [{
846
- type: Input
847
- }], sheetDelete: [{
848
- type: Input
849
- }], sheetRename: [{
850
- type: Input
851
- }], sheetHide: [{
852
- type: Input
853
- }], sheetDuplicate: [{
854
- type: Input
855
- }], sheetMoveLeft: [{
856
- type: Input
857
- }], sheetMoveRight: [{
858
- type: Input
859
- }], invalidNameError: [{
860
- type: Input
861
- }] } });
862
-
863
- /**
864
- * @hidden
865
- */
866
- class LocalizedMessagesDirective extends MessagesDirective {
867
- constructor(service) {
868
- super();
869
- this.service = service;
694
+ class ActionDialogComponent extends DialogContentBase {
695
+ constructor(dialog) {
696
+ super(dialog);
697
+ this.dialog = dialog;
698
+ }
699
+ setData(args) {
700
+ this.value = args.value;
701
+ this.tabindex = args.tabindex;
702
+ this.commandName = args.commandName;
870
703
  }
871
704
  }
872
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
873
- LocalizedMessagesDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
874
- provide: MessagesDirective,
875
- useExisting: forwardRef(() => LocalizedMessagesDirective)
876
- }], usesInheritance: true, ngImport: i0 });
877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
878
- type: Directive,
705
+ ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
706
+ ActionDialogComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
707
+ <ng-container *ngIf="commandName === 'delete'">
708
+ <p>The deleted sheet data will be lost.</p>
709
+ <p>Are you sure you want to proceed?</p>
710
+ </ng-container>
711
+
712
+ <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
713
+ <div class="k-form-field">
714
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
715
+ <div class="k-form-field-wrap">
716
+ <kendo-textbox #textbox
717
+ autocomplete="off"
718
+ placeholder="Sheet name"
719
+ [(value)]="value">
720
+ </kendo-textbox>
721
+ </div>
722
+ </div>
723
+ </form>
724
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionDialogComponent, decorators: [{
726
+ type: Component,
879
727
  args: [{
880
- providers: [{
881
- provide: MessagesDirective,
882
- useExisting: forwardRef(() => LocalizedMessagesDirective)
883
- }],
884
- selector: '[kendoSpreadsheetLocalizedMessages]'
728
+ template: `
729
+ <ng-container *ngIf="commandName === 'delete'">
730
+ <p>The deleted sheet data will be lost.</p>
731
+ <p>Are you sure you want to proceed?</p>
732
+ </ng-container>
733
+
734
+ <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
735
+ <div class="k-form-field">
736
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
737
+ <div class="k-form-field-wrap">
738
+ <kendo-textbox #textbox
739
+ autocomplete="off"
740
+ placeholder="Sheet name"
741
+ [(value)]="value">
742
+ </kendo-textbox>
743
+ </div>
744
+ </div>
745
+ </form>
746
+ `,
747
+ standalone: true,
748
+ imports: [NgIf, LabelComponent, TextBoxComponent]
885
749
  }]
886
- }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
750
+ }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
887
751
 
888
752
  /**
889
753
  * @hidden
890
754
  */
891
- class NameBoxComponent {
892
- constructor(ngZone, host, localization, renderer) {
893
- this.ngZone = ngZone;
894
- this.host = host;
895
- this.localization = localization;
896
- this.renderer = renderer;
897
- this.hostClass = true;
898
- this.valueNormalizer = (text) => text.pipe(map((content) => ({ name: content })));
899
- }
900
- keyDownHandler() {
901
- const editor = this.spreadsheetWidget.view.nameEditor;
902
- if (editor) {
903
- const name = this.inputElement.value;
904
- editor.trigger('enter', { value: name });
905
- }
906
- }
907
- ngAfterViewInit() {
908
- this.renderer.setAttribute(this.inputElement, 'title', this.title);
909
- this.renderer.setAttribute(this.inputElement, 'aria-label', this.title);
910
- }
911
- get inputElement() {
912
- return this.host.nativeElement.querySelector('.k-input-inner');
913
- }
914
- get current() {
915
- return {
916
- value: (val) => {
917
- if (val === undefined) {
918
- const item = this.combobox && this.combobox.value;
919
- return item ? (item.name || item) : item;
920
- }
921
- else {
922
- this.ngZone.run(() => {
923
- this.value = { name: val } || null;
924
- });
925
- }
926
- }
927
- };
928
- }
929
- get title() {
930
- return this.localization.get('nameBox');
931
- }
932
- onSelectionChange(value) {
933
- const editor = this.spreadsheetWidget.view.nameEditor;
934
- if (editor && value) {
935
- const name = value.name;
936
- if (name !== this.value.name) {
937
- editor.trigger('select', { name });
938
- this.value = { name };
939
- }
940
- }
941
- }
942
- onOpen() {
943
- const editor = this.spreadsheetWidget.view.nameEditor;
944
- if (editor) {
945
- this.data = editor.readData();
946
- }
947
- }
948
- }
949
- NameBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: SpreadsheetLocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
950
- NameBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: { data: "data", spreadsheetWidget: "spreadsheetWidget" }, host: { listeners: { "keydown.enter": "keyDownHandler()" }, properties: { "class.k-spreadsheet-name-editor": "this.hostClass" } }, viewQueries: [{ propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true }], ngImport: i0, template: `
951
- <kendo-combobox #combobox
952
- [popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
953
- fillMode="flat"
954
- [clearButton]="false"
955
- textField="name"
956
- valueField="name"
957
- [data]="data"
958
- [allowCustom]="true"
959
- (selectionChange)="onSelectionChange($event)"
960
- [value]="value"
961
- (open)="onOpen()"
962
- [valueNormalizer]="valueNormalizer"
963
- [attr.title]="title"
964
- ></kendo-combobox>
965
- `, isInline: true, dependencies: [{ kind: "component", type: i2$2.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }] });
966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, decorators: [{
967
- type: Component,
968
- args: [{
969
- selector: '[kendoSpreadsheetNameBox]',
970
- template: `
971
- <kendo-combobox #combobox
972
- [popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
973
- fillMode="flat"
974
- [clearButton]="false"
975
- textField="name"
976
- valueField="name"
977
- [data]="data"
978
- [allowCustom]="true"
979
- (selectionChange)="onSelectionChange($event)"
980
- [value]="value"
981
- (open)="onOpen()"
982
- [valueNormalizer]="valueNormalizer"
983
- [attr.title]="title"
984
- ></kendo-combobox>
985
- `
986
- }]
987
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: SpreadsheetLocalizationService }, { type: i0.Renderer2 }]; }, propDecorators: { hostClass: [{
988
- type: HostBinding,
989
- args: ['class.k-spreadsheet-name-editor']
990
- }], keyDownHandler: [{
991
- type: HostListener,
992
- args: ['keydown.enter']
993
- }], combobox: [{
994
- type: ViewChild,
995
- args: ['combobox']
996
- }], data: [{
997
- type: Input
998
- }], spreadsheetWidget: [{
999
- type: Input
1000
- }] } });
1001
-
1002
- /**
1003
- * @hidden
1004
- */
1005
- class ActionDialogComponent extends DialogContentBase {
1006
- constructor(dialog) {
1007
- super(dialog);
1008
- this.dialog = dialog;
1009
- }
1010
- setData(args) {
1011
- this.value = args.value;
1012
- this.tabindex = args.tabindex;
1013
- this.commandName = args.commandName;
1014
- }
1015
- }
1016
- ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
1017
- ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1018
- <ng-container *ngIf="commandName === 'delete'">
1019
- <p>The deleted sheet data will be lost.</p>
1020
- <p>Are you sure you want to proceed?</p>
1021
- </ng-container>
1022
-
1023
- <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1024
- <div class="k-form-field">
1025
- <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1026
- <div class="k-form-field-wrap">
1027
- <kendo-textbox #textbox
1028
- autocomplete="off"
1029
- placeholder="Sheet name"
1030
- [(value)]="value">
1031
- </kendo-textbox>
1032
- </div>
1033
- </div>
1034
- </form>
1035
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i3$2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }] });
1036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionDialogComponent, decorators: [{
1037
- type: Component,
1038
- args: [{
1039
- template: `
1040
- <ng-container *ngIf="commandName === 'delete'">
1041
- <p>The deleted sheet data will be lost.</p>
1042
- <p>Are you sure you want to proceed?</p>
1043
- </ng-container>
1044
-
1045
- <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
1046
- <div class="k-form-field">
1047
- <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
1048
- <div class="k-form-field-wrap">
1049
- <kendo-textbox #textbox
1050
- autocomplete="off"
1051
- placeholder="Sheet name"
1052
- [(value)]="value">
1053
- </kendo-textbox>
1054
- </div>
1055
- </div>
1056
- </form>
1057
- `
1058
- }]
1059
- }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
1060
-
1061
- /**
1062
- * @hidden
1063
- */
1064
- class SheetsBarComponent {
1065
- constructor(spreadsheetService, element, renderer, localization, dialogService, ngZone) {
1066
- this.spreadsheetService = spreadsheetService;
1067
- this.element = element;
755
+ class SheetsBarComponent {
756
+ constructor(spreadsheetService, element, renderer, localization, dialogService, ngZone) {
757
+ this.spreadsheetService = spreadsheetService;
758
+ this.element = element;
1068
759
  this.renderer = renderer;
1069
760
  this.localization = localization;
1070
761
  this.dialogService = dialogService;
@@ -1314,7 +1005,7 @@ class SheetsBarComponent {
1314
1005
  }
1315
1006
  }
1316
1007
  SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", 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 });
1317
- SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 }], usesOnChanges: true, ngImport: i0, template: `
1008
+ SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SheetsBarComponent, isStandalone: true, 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 }], usesOnChanges: true, ngImport: i0, template: `
1318
1009
  <button kendoButton #addButton
1319
1010
  [title]="messageFor('addSheet')"
1320
1011
  type="button"
@@ -1365,7 +1056,7 @@ SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
1365
1056
  </kendo-tabstrip-tab>
1366
1057
  </ng-container>
1367
1058
  </kendo-tabstrip>
1368
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i5.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "directive", type: i3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i7.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: i7.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: i7.TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
1059
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
1369
1060
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SheetsBarComponent, decorators: [{
1370
1061
  type: Component,
1371
1062
  args: [{
@@ -1421,7 +1112,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1421
1112
  </kendo-tabstrip-tab>
1422
1113
  </ng-container>
1423
1114
  </kendo-tabstrip>
1424
- `
1115
+ `,
1116
+ standalone: true,
1117
+ imports: [ButtonComponent, EventsOutsideAngularDirective, DropDownButtonComponent, TabStripComponent, NgFor, NgIf, TabStripTabComponent, TabTemplateDirective]
1425
1118
  }]
1426
1119
  }], ctorParameters: function () { return [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$1.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1427
1120
  type: HostBinding,
@@ -1447,103 +1140,219 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1447
1140
  args: ['sheetDdb', { read: ElementRef }]
1448
1141
  }] } });
1449
1142
 
1450
- const DEFAULT_FONT_FAMILY = 'Arial';
1451
- const DEFAULT_FONT_SIZE = 12;
1452
- /**
1453
- * @hidden
1454
- */
1455
- const DEFAULT_FONT_VALUES = {
1456
- fontSize: DEFAULT_FONT_SIZE,
1457
- fontFamily: DEFAULT_FONT_FAMILY
1458
- };
1459
- /**
1460
- * @hidden
1461
- */
1462
- const FONT_FAMILIES = ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
1463
- /**
1464
- * @hidden
1465
- */
1466
- const FONT_SIZES = [8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
1467
- /**
1468
- * @hidden
1469
- */
1470
- const FONT_DATA = {
1471
- fontFamily: FONT_FAMILIES,
1472
- fontSize: FONT_SIZES
1473
- };
1474
- /**
1475
- * @hidden
1476
- */
1477
- const FORMATS = [
1478
- { text: 'Automatic', value: null },
1479
- { text: 'Text', value: '@' },
1480
- { text: 'Number', value: '#,0.00' },
1481
- { text: 'Percent', value: '0.00%' },
1482
- { text: 'Financial', value: '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)' },
1483
- { text: 'Currency', value: '$#,##0.00;[Red]$#,##0.00' },
1484
- { text: 'Date', value: 'm/d/yyyy' },
1485
- { text: 'Time', value: 'h:mm:ss AM/PM' },
1486
- { text: 'Date time', value: 'm/d/yyyy h:mm' },
1487
- { text: 'Duration', value: '[h]:mm:ss' }
1488
- ];
1489
- /**
1490
- * @hidden
1491
- */
1492
- const ALIGNS = [
1493
- { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '', commandId: 'alignLeft' },
1494
- { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '', commandId: 'alignCenter' },
1495
- { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '', commandId: 'alignRight' },
1496
- { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '', commandId: 'alignJustify' },
1497
- { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '', commandId: 'alignTop' },
1498
- { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '', commandId: 'alignMiddle' },
1499
- { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '', commandId: 'alignBottom' }
1500
- ];
1501
- /**
1502
- * @hidden
1503
- */
1504
- const MERGE = [
1505
- { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false, commandId: 'mergeAll' },
1506
- { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false, commandId: 'mergeHorizontally' },
1507
- { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false, commandId: 'mergeVertically' },
1508
- { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false, commandId: 'unmerge' }
1509
- ];
1510
- /**
1511
- * @hidden
1512
- */
1513
- const MY_TOKEN = new InjectionToken('COMMAND_TOKEN');
1514
-
1515
1143
  /**
1516
1144
  * @hidden
1517
1145
  */
1518
- class SpreadsheetCommandBaseDirective {
1519
- constructor(command, button, localization, spreadsheetService, toolsService) {
1520
- this.command = command;
1521
- this.button = button;
1146
+ class NameBoxComponent {
1147
+ constructor(ngZone, host, localization, renderer) {
1148
+ this.ngZone = ngZone;
1149
+ this.host = host;
1522
1150
  this.localization = localization;
1523
- this.spreadsheetService = spreadsheetService;
1524
- this.toolsService = toolsService;
1525
- this.subs = new Subscription();
1526
- const text = this.localization.get(this.command);
1527
- if (text) {
1528
- this.button.showText = 'overflow';
1529
- this.button.showIcon = 'both';
1530
- this.button.text = text;
1531
- }
1532
- if (!this.button.toolbarOptions.icon) {
1533
- this.button.icon = commandIcons[this.command];
1534
- }
1535
- if (!this.button.toolbarOptions.svgIcon) {
1536
- this.button.svgIcon = commandSVGIcons[this.command];
1537
- }
1538
- this.button.title = text;
1539
- this.button.fillMode = 'flat';
1540
- this.subs.add(this.toolsService.stateChange.subscribe(state => {
1541
- this.toolsService.ngZone.onStable.pipe(take(1)).subscribe(() => this.button.selected = state[command]);
1542
- }));
1543
- }
1544
- ngOnInit() {
1545
- this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
1546
- this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
1151
+ this.renderer = renderer;
1152
+ this.hostClass = true;
1153
+ this.valueNormalizer = (text) => text.pipe(map((content) => ({ name: content })));
1154
+ }
1155
+ keyDownHandler() {
1156
+ const editor = this.spreadsheetWidget.view.nameEditor;
1157
+ if (editor) {
1158
+ const name = this.inputElement.value;
1159
+ editor.trigger('enter', { value: name });
1160
+ }
1161
+ }
1162
+ ngAfterViewInit() {
1163
+ this.renderer.setAttribute(this.inputElement, 'title', this.title);
1164
+ this.renderer.setAttribute(this.inputElement, 'aria-label', this.title);
1165
+ }
1166
+ get inputElement() {
1167
+ return this.host.nativeElement.querySelector('.k-input-inner');
1168
+ }
1169
+ get current() {
1170
+ return {
1171
+ value: (val) => {
1172
+ if (val === undefined) {
1173
+ const item = this.combobox && this.combobox.value;
1174
+ return item ? (item.name || item) : item;
1175
+ }
1176
+ else {
1177
+ this.ngZone.run(() => {
1178
+ this.value = { name: val } || null;
1179
+ });
1180
+ }
1181
+ }
1182
+ };
1183
+ }
1184
+ get title() {
1185
+ return this.localization.get('nameBox');
1186
+ }
1187
+ onSelectionChange(value) {
1188
+ const editor = this.spreadsheetWidget.view.nameEditor;
1189
+ if (editor && value) {
1190
+ const name = value.name;
1191
+ if (name !== this.value.name) {
1192
+ editor.trigger('select', { name });
1193
+ this.value = { name };
1194
+ }
1195
+ }
1196
+ }
1197
+ onOpen() {
1198
+ const editor = this.spreadsheetWidget.view.nameEditor;
1199
+ if (editor) {
1200
+ this.data = editor.readData();
1201
+ }
1202
+ }
1203
+ }
1204
+ NameBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: SpreadsheetLocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1205
+ NameBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NameBoxComponent, isStandalone: true, selector: "[kendoSpreadsheetNameBox]", inputs: { data: "data", spreadsheetWidget: "spreadsheetWidget" }, host: { listeners: { "keydown.enter": "keyDownHandler()" }, properties: { "class.k-spreadsheet-name-editor": "this.hostClass" } }, viewQueries: [{ propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true }], ngImport: i0, template: `
1206
+ <kendo-combobox #combobox
1207
+ [popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
1208
+ fillMode="flat"
1209
+ [clearButton]="false"
1210
+ textField="name"
1211
+ valueField="name"
1212
+ [data]="data"
1213
+ [allowCustom]="true"
1214
+ (selectionChange)="onSelectionChange($event)"
1215
+ [value]="value"
1216
+ (open)="onOpen()"
1217
+ [valueNormalizer]="valueNormalizer"
1218
+ [attr.title]="title"
1219
+ ></kendo-combobox>
1220
+ `, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }] });
1221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NameBoxComponent, decorators: [{
1222
+ type: Component,
1223
+ args: [{
1224
+ selector: '[kendoSpreadsheetNameBox]',
1225
+ template: `
1226
+ <kendo-combobox #combobox
1227
+ [popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
1228
+ fillMode="flat"
1229
+ [clearButton]="false"
1230
+ textField="name"
1231
+ valueField="name"
1232
+ [data]="data"
1233
+ [allowCustom]="true"
1234
+ (selectionChange)="onSelectionChange($event)"
1235
+ [value]="value"
1236
+ (open)="onOpen()"
1237
+ [valueNormalizer]="valueNormalizer"
1238
+ [attr.title]="title"
1239
+ ></kendo-combobox>
1240
+ `,
1241
+ standalone: true,
1242
+ imports: [ComboBoxComponent]
1243
+ }]
1244
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: SpreadsheetLocalizationService }, { type: i0.Renderer2 }]; }, propDecorators: { hostClass: [{
1245
+ type: HostBinding,
1246
+ args: ['class.k-spreadsheet-name-editor']
1247
+ }], keyDownHandler: [{
1248
+ type: HostListener,
1249
+ args: ['keydown.enter']
1250
+ }], combobox: [{
1251
+ type: ViewChild,
1252
+ args: ['combobox']
1253
+ }], data: [{
1254
+ type: Input
1255
+ }], spreadsheetWidget: [{
1256
+ type: Input
1257
+ }] } });
1258
+
1259
+ const DEFAULT_FONT_FAMILY = 'Arial';
1260
+ const DEFAULT_FONT_SIZE = 12;
1261
+ /**
1262
+ * @hidden
1263
+ */
1264
+ const DEFAULT_FONT_VALUES = {
1265
+ fontSize: DEFAULT_FONT_SIZE,
1266
+ fontFamily: DEFAULT_FONT_FAMILY
1267
+ };
1268
+ /**
1269
+ * @hidden
1270
+ */
1271
+ const FONT_FAMILIES = ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
1272
+ /**
1273
+ * @hidden
1274
+ */
1275
+ const FONT_SIZES = [8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
1276
+ /**
1277
+ * @hidden
1278
+ */
1279
+ const FONT_DATA = {
1280
+ fontFamily: FONT_FAMILIES,
1281
+ fontSize: FONT_SIZES
1282
+ };
1283
+ /**
1284
+ * @hidden
1285
+ */
1286
+ const FORMATS = [
1287
+ { text: 'Automatic', value: null },
1288
+ { text: 'Text', value: '@' },
1289
+ { text: 'Number', value: '#,0.00' },
1290
+ { text: 'Percent', value: '0.00%' },
1291
+ { text: 'Financial', value: '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)' },
1292
+ { text: 'Currency', value: '$#,##0.00;[Red]$#,##0.00' },
1293
+ { text: 'Date', value: 'm/d/yyyy' },
1294
+ { text: 'Time', value: 'h:mm:ss AM/PM' },
1295
+ { text: 'Date time', value: 'm/d/yyyy h:mm' },
1296
+ { text: 'Duration', value: '[h]:mm:ss' }
1297
+ ];
1298
+ /**
1299
+ * @hidden
1300
+ */
1301
+ const ALIGNS = [
1302
+ { icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '', commandId: 'alignLeft' },
1303
+ { icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '', commandId: 'alignCenter' },
1304
+ { icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '', commandId: 'alignRight' },
1305
+ { icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '', commandId: 'alignJustify' },
1306
+ { icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '', commandId: 'alignTop' },
1307
+ { icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '', commandId: 'alignMiddle' },
1308
+ { icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '', commandId: 'alignBottom' }
1309
+ ];
1310
+ /**
1311
+ * @hidden
1312
+ */
1313
+ const MERGE = [
1314
+ { icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false, commandId: 'mergeAll' },
1315
+ { icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false, commandId: 'mergeHorizontally' },
1316
+ { icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false, commandId: 'mergeVertically' },
1317
+ { icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false, commandId: 'unmerge' }
1318
+ ];
1319
+ /**
1320
+ * @hidden
1321
+ */
1322
+ const MY_TOKEN = new InjectionToken('COMMAND_TOKEN');
1323
+
1324
+ /**
1325
+ * @hidden
1326
+ */
1327
+ class SpreadsheetCommandBaseDirective {
1328
+ constructor(command, button, localization, spreadsheetService, toolsService) {
1329
+ this.command = command;
1330
+ this.button = button;
1331
+ this.localization = localization;
1332
+ this.spreadsheetService = spreadsheetService;
1333
+ this.toolsService = toolsService;
1334
+ this.subs = new Subscription();
1335
+ const text = this.localization.get(this.command);
1336
+ if (text) {
1337
+ this.button.showText = 'overflow';
1338
+ this.button.showIcon = 'both';
1339
+ this.button.text = text;
1340
+ }
1341
+ if (!this.button.toolbarOptions.icon) {
1342
+ this.button.icon = commandIcons[this.command];
1343
+ }
1344
+ if (!this.button.toolbarOptions.svgIcon) {
1345
+ this.button.svgIcon = commandSVGIcons[this.command];
1346
+ }
1347
+ this.button.title = text;
1348
+ this.button.fillMode = 'flat';
1349
+ this.subs.add(this.toolsService.stateChange.subscribe(state => {
1350
+ this.toolsService.ngZone.onStable.pipe(take(1)).subscribe(() => this.button.selected = state[command]);
1351
+ }));
1352
+ }
1353
+ ngOnInit() {
1354
+ this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
1355
+ this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
1547
1356
  }
1548
1357
  ngOnDestroy() {
1549
1358
  this.subs.unsubscribe();
@@ -1587,279 +1396,354 @@ class SpreadsheetCommandButton extends SpreadsheetCommandBaseDirective {
1587
1396
  /**
1588
1397
  * @hidden
1589
1398
  */
1590
- class SpreadsheetBoldDirective extends SpreadsheetCommandButton {
1399
+ class SpreadsheetGridLinesDirective extends SpreadsheetCommandButton {
1591
1400
  constructor(button, localization, spreadsheetService, toolsService) {
1592
- super('bold', button, localization, spreadsheetService, toolsService, {
1593
- command: 'PropertyChangeCommand',
1594
- options: { property: 'bold',
1401
+ super('gridLines', button, localization, spreadsheetService, toolsService, {
1402
+ command: 'GridLinesChangeCommand',
1403
+ options: { property: 'gridLines',
1595
1404
  value: !button.selected
1596
1405
  }
1597
1406
  });
1598
1407
  }
1599
- }
1600
- SpreadsheetBoldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBoldDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1601
- SpreadsheetBoldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]", usesInheritance: true, ngImport: i0 });
1602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBoldDirective, decorators: [{
1603
- type: Directive,
1604
- args: [{
1605
- selector: 'kendo-toolbar-button[kendoSpreadsheetBold]'
1606
- }]
1607
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1608
-
1609
- /**
1610
- * @hidden
1611
- */
1612
- class SpreadsheetItalicDirective extends SpreadsheetCommandButton {
1613
- constructor(button, localization, spreadsheetService, toolsService) {
1614
- super('italic', button, localization, spreadsheetService, toolsService, {
1615
- command: 'PropertyChangeCommand',
1616
- options: { property: 'italic',
1617
- value: !button.selected
1618
- }
1619
- });
1408
+ clickHandler() {
1409
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
1410
+ if (sheet) {
1411
+ const value = !sheet.showGridLines();
1412
+ const options = {
1413
+ command: 'GridLinesChangeCommand', options: { property: 'gridLines', value }
1414
+ };
1415
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1416
+ }
1620
1417
  }
1621
1418
  }
1622
- SpreadsheetItalicDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetItalicDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1623
- SpreadsheetItalicDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]", usesInheritance: true, ngImport: i0 });
1624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetItalicDirective, decorators: [{
1419
+ SpreadsheetGridLinesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetGridLinesDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1420
+ SpreadsheetGridLinesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetGridLinesDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]", usesInheritance: true, ngImport: i0 });
1421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetGridLinesDirective, decorators: [{
1625
1422
  type: Directive,
1626
1423
  args: [{
1627
- selector: 'kendo-toolbar-button[kendoSpreadsheetItalic]'
1424
+ selector: 'kendo-toolbar-button[kendoSpreadsheetGridLines]',
1425
+ standalone: true
1628
1426
  }]
1629
1427
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1630
1428
 
1631
1429
  /**
1632
1430
  * @hidden
1633
1431
  */
1634
- class SpreadsheetUnderlineDirective extends SpreadsheetCommandButton {
1635
- constructor(button, localization, spreadsheetService, toolsService) {
1636
- super('underline', button, localization, spreadsheetService, toolsService, {
1637
- command: 'PropertyChangeCommand',
1638
- options: { property: 'underline',
1639
- value: !button.selected
1640
- }
1641
- });
1642
- }
1643
- }
1644
- SpreadsheetUnderlineDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUnderlineDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1645
- SpreadsheetUnderlineDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]", usesInheritance: true, ngImport: i0 });
1646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUnderlineDirective, decorators: [{
1647
- type: Directive,
1648
- args: [{
1649
- selector: 'kendo-toolbar-button[kendoSpreadsheetUnderline]'
1650
- }]
1651
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1652
-
1653
- /**
1432
+ class SpreadsheetMergeDirective {
1433
+ constructor(host, localization, spreadsheetService) {
1434
+ this.host = host;
1435
+ this.spreadsheetService = spreadsheetService;
1436
+ this.commandName = 'merge';
1437
+ this.subs = new Subscription();
1438
+ host.svgIcon = commandSVGIcons[this.commandName];
1439
+ host.icon = commandIcons[this.commandName];
1440
+ host.arrowIcon = true;
1441
+ host.fillMode = 'flat';
1442
+ host.data = MERGE.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
1443
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
1444
+ host.title = localization.get(this.commandName);
1445
+ host.textField = 'textKey';
1446
+ }
1447
+ ngOnInit() {
1448
+ this.subs.add(this.host.open.subscribe(() => {
1449
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
1450
+ const isMergedCellWithinRange = this.hasMergedCells(sheet);
1451
+ const unmergeItem = this.host.data.find(i => i.commandName === 'unmerge');
1452
+ unmergeItem.disabled = !isMergedCellWithinRange;
1453
+ }));
1454
+ this.subs.add(this.spreadsheetService.selectionChanged.subscribe(range => this.selectedRange = range));
1455
+ }
1456
+ ngOnDestroy() {
1457
+ this.subs.unsubscribe();
1458
+ }
1459
+ onItemClick(item) {
1460
+ if (item.disabled) {
1461
+ return;
1462
+ }
1463
+ const value = item.value || null;
1464
+ const options = {
1465
+ command: 'MergeCellCommand', options: { property: item.commandName, value }
1466
+ };
1467
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1468
+ }
1469
+ hasMergedCells(sheet) {
1470
+ const range = sheet._ref(this.selectedRange);
1471
+ return sheet._getMergedCells(range).hasMerged;
1472
+ }
1473
+ }
1474
+ SpreadsheetMergeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetMergeDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
1475
+ SpreadsheetMergeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetMergeDirective, isStandalone: true, selector: "[kendoSpreadsheetMerge]", ngImport: i0 });
1476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetMergeDirective, decorators: [{
1477
+ type: Directive,
1478
+ args: [{
1479
+ selector: '[kendoSpreadsheetMerge]',
1480
+ standalone: true
1481
+ }]
1482
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }]; } });
1483
+
1484
+ /**
1654
1485
  * @hidden
1655
1486
  */
1656
- class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
1657
- constructor(localization, spreadsheetService, toolbar) {
1658
- super();
1659
- this.localization = localization;
1660
- this.spreadsheetService = spreadsheetService;
1661
- this.toolbar = toolbar;
1662
- this.icon = commandIcons['folderOpen'];
1663
- this.svgIcon = commandSVGIcons['folderOpen'];
1664
- this.tabindex = -1;
1665
- this.onFileSelect = (e) => {
1666
- const file = e.target.files[0];
1667
- if (file) {
1668
- this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
1669
- e.target.value = null;
1670
- }
1487
+ class SpreadsheetIncreaseDecimalDirective extends SpreadsheetCommandButton {
1488
+ constructor(button, localization, spreadsheetService, toolsService) {
1489
+ super('increaseDecimal', button, localization, spreadsheetService, toolsService, {
1490
+ command: 'AdjustDecimalsCommand'
1491
+ });
1492
+ }
1493
+ clickHandler() {
1494
+ const options = {
1495
+ command: 'AdjustDecimalsCommand',
1496
+ options: { value: 1 }
1671
1497
  };
1498
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1672
1499
  }
1673
- /**
1674
- * @hidden
1675
- */
1676
- messageFor(key) {
1677
- return this.localization.get(key);
1500
+ }
1501
+ SpreadsheetIncreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1502
+ SpreadsheetIncreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetIncreaseDecimalDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]", usesInheritance: true, ngImport: i0 });
1503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, decorators: [{
1504
+ type: Directive,
1505
+ args: [{
1506
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]',
1507
+ standalone: true
1508
+ }]
1509
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1510
+
1511
+ /**
1512
+ * @hidden
1513
+ */
1514
+ class SpreadsheetDecreaseDecimalDirective extends SpreadsheetCommandButton {
1515
+ constructor(button, localization, spreadsheetService, toolsService) {
1516
+ super('decreaseDecimal', button, localization, spreadsheetService, toolsService, {
1517
+ command: 'AdjustDecimalsCommand'
1518
+ });
1678
1519
  }
1679
- /**
1680
- * @hidden
1681
- */
1682
- canFocus() {
1683
- return true;
1520
+ clickHandler() {
1521
+ const options = {
1522
+ command: 'AdjustDecimalsCommand',
1523
+ options: { value: -1 }
1524
+ };
1525
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1684
1526
  }
1685
- /**
1686
- * @hidden
1687
- */
1688
- focus() {
1689
- this.tabindex = 0;
1690
- if (this.overflows) {
1691
- this.overflowButtonElement.nativeElement.focus();
1692
- }
1693
- else {
1694
- this.button.focus();
1695
- }
1527
+ }
1528
+ SpreadsheetDecreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1529
+ SpreadsheetDecreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDecreaseDecimalDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]", usesInheritance: true, ngImport: i0 });
1530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, decorators: [{
1531
+ type: Directive,
1532
+ args: [{
1533
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]',
1534
+ standalone: true
1535
+ }]
1536
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1537
+
1538
+ /**
1539
+ * @hidden
1540
+ */
1541
+ class SpreadsheetDeleteRowButtonDirective extends SpreadsheetCommandButton {
1542
+ constructor(button, localization, spreadsheetService, toolsService) {
1543
+ super('deleteRow', button, localization, spreadsheetService, toolsService, {
1544
+ command: 'DeleteRowCommand',
1545
+ options: { property: 'deleteRow' }
1546
+ });
1696
1547
  }
1697
- /**
1698
- * @hidden
1699
- */
1700
- handleKey() {
1701
- this.tabindex = -1;
1702
- return false;
1548
+ }
1549
+ SpreadsheetDeleteRowButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1550
+ SpreadsheetDeleteRowButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDeleteRowButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]", usesInheritance: true, ngImport: i0 });
1551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, decorators: [{
1552
+ type: Directive,
1553
+ args: [{
1554
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]',
1555
+ standalone: true
1556
+ }]
1557
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1558
+
1559
+ /**
1560
+ * @hidden
1561
+ */
1562
+ class SpreadsheetDeleteColumnButtonDirective extends SpreadsheetCommandButton {
1563
+ constructor(button, localization, spreadsheetService, toolsService) {
1564
+ super('deleteColumn', button, localization, spreadsheetService, toolsService, {
1565
+ command: 'DeleteColumnCommand',
1566
+ options: { property: 'deleteColumn' }
1567
+ });
1703
1568
  }
1704
1569
  }
1705
- SpreadsheetLoadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetLoadFileComponent, deps: [{ token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
1706
- SpreadsheetLoadFileComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool", providers: [
1707
- {
1708
- provide: ToolBarToolComponent,
1709
- useExisting: forwardRef(() => SpreadsheetLoadFileComponent),
1710
- },
1711
- ], viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "button", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1712
- <ng-template #toolbarTemplate>
1713
- <button
1714
- #button
1715
- type="button"
1716
- kendoButton
1717
- [title]="messageFor('loadFile')"
1718
- fillMode="flat"
1719
- [icon]="icon"
1720
- [svgIcon]="svgIcon"
1721
- (click)="fileSelectEl.click()"></button>
1722
- <input
1723
- #fileSelectEl
1724
- type="file"
1725
- (change)="onFileSelect($event)"
1726
- [style.display]="'none'"
1727
- aria-hidden="true"
1728
- accept=".xlsx,.XLSX" />
1729
- </ng-template>
1730
- <ng-template #popupTemplate>
1731
- <div
1732
- #overflowButton
1733
- tabindex="-1"
1734
- role="menuitem"
1735
- class="k-item k-menu-item"
1736
- (click)="toolbar.toggle(false); popupFileSelectEl.click()">
1737
- <span
1738
- class="k-link k-menu-link">
1739
- <kendo-icon-wrapper
1740
- [name]="icon"
1741
- [svgIcon]="svgIcon"
1742
- ></kendo-icon-wrapper>
1743
- <span class="k-menu-link-text">{{messageFor('loadFile')}}</span>
1744
- </span>
1745
- <input
1746
- #popupFileSelectEl
1747
- type="file"
1748
- (change)="onFileSelect($event)"
1749
- [style.display]="'none'"
1750
- aria-hidden="true"
1751
- accept=".xlsx,.XLSX" />
1752
- </div>
1753
- </ng-template>
1754
- `, isInline: true, dependencies: [{ kind: "component", type: i5.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetLoadFileComponent, decorators: [{
1756
- type: Component,
1570
+ SpreadsheetDeleteColumnButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1571
+ SpreadsheetDeleteColumnButtonDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDeleteColumnButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]", usesInheritance: true, ngImport: i0 });
1572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, decorators: [{
1573
+ type: Directive,
1757
1574
  args: [{
1758
- selector: 'kendo-spreadsheet-load-file-tool',
1759
- providers: [
1760
- {
1761
- provide: ToolBarToolComponent,
1762
- useExisting: forwardRef(() => SpreadsheetLoadFileComponent),
1763
- },
1764
- ],
1765
- template: `
1766
- <ng-template #toolbarTemplate>
1767
- <button
1768
- #button
1769
- type="button"
1770
- kendoButton
1771
- [title]="messageFor('loadFile')"
1772
- fillMode="flat"
1773
- [icon]="icon"
1774
- [svgIcon]="svgIcon"
1775
- (click)="fileSelectEl.click()"></button>
1776
- <input
1777
- #fileSelectEl
1778
- type="file"
1779
- (change)="onFileSelect($event)"
1780
- [style.display]="'none'"
1781
- aria-hidden="true"
1782
- accept=".xlsx,.XLSX" />
1783
- </ng-template>
1784
- <ng-template #popupTemplate>
1785
- <div
1786
- #overflowButton
1787
- tabindex="-1"
1788
- role="menuitem"
1789
- class="k-item k-menu-item"
1790
- (click)="toolbar.toggle(false); popupFileSelectEl.click()">
1791
- <span
1792
- class="k-link k-menu-link">
1793
- <kendo-icon-wrapper
1794
- [name]="icon"
1795
- [svgIcon]="svgIcon"
1796
- ></kendo-icon-wrapper>
1797
- <span class="k-menu-link-text">{{messageFor('loadFile')}}</span>
1798
- </span>
1799
- <input
1800
- #popupFileSelectEl
1801
- type="file"
1802
- (change)="onFileSelect($event)"
1803
- [style.display]="'none'"
1804
- aria-hidden="true"
1805
- accept=".xlsx,.XLSX" />
1806
- </div>
1807
- </ng-template>
1808
- `
1575
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]',
1576
+ standalone: true
1577
+ }]
1578
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1579
+
1580
+ /**
1581
+ * @hidden
1582
+ */
1583
+ class SpreadsheetAddRowAboveButtonDirective extends SpreadsheetCommandButton {
1584
+ constructor(button, localization, spreadsheetService, toolsService) {
1585
+ super('addRowAbove', button, localization, spreadsheetService, toolsService, {
1586
+ command: 'AddRowCommand',
1587
+ options: { property: 'addRowAbove',
1588
+ value: 'above'
1589
+ }
1590
+ });
1591
+ }
1592
+ }
1593
+ SpreadsheetAddRowAboveButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1594
+ SpreadsheetAddRowAboveButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddRowAboveButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]", usesInheritance: true, ngImport: i0 });
1595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, decorators: [{
1596
+ type: Directive,
1597
+ args: [{
1598
+ selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]',
1599
+ standalone: true
1809
1600
  }]
1810
- }], ctorParameters: function () { return [{ type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: i1$2.ToolBarComponent, decorators: [{
1811
- type: Inject,
1812
- args: [ToolBarComponent]
1813
- }] }]; }, propDecorators: { toolbarTemplate: [{
1814
- type: ViewChild,
1815
- args: ['toolbarTemplate', { static: true }]
1816
- }], popupTemplate: [{
1817
- type: ViewChild,
1818
- args: ['popupTemplate', { static: true }]
1819
- }], overflowButtonElement: [{
1820
- type: ViewChild,
1821
- args: ['overflowButton', { read: ElementRef, static: false }]
1822
- }], button: [{
1823
- type: ViewChild,
1824
- args: ['button']
1825
- }] } });
1601
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1826
1602
 
1827
1603
  /**
1828
1604
  * @hidden
1829
1605
  */
1830
- class SpreadsheetSaveFileDirective {
1831
- constructor(button, localization, spreadsheetService) {
1832
- this.button = button;
1833
- this.localization = localization;
1834
- this.spreadsheetService = spreadsheetService;
1835
- this.subs = new Subscription();
1606
+ class SpreadsheetAddRowBelowButtonDirective extends SpreadsheetCommandButton {
1607
+ constructor(button, localization, spreadsheetService, toolsService) {
1608
+ super('addRowBelow', button, localization, spreadsheetService, toolsService, {
1609
+ command: 'AddRowCommand',
1610
+ options: { property: 'addRowBelow',
1611
+ value: 'below'
1612
+ }
1613
+ });
1836
1614
  }
1837
- ngOnInit() {
1838
- this.button.title = this.localization.get('saveFile');
1839
- this.button.icon = commandIcons['download'];
1840
- this.button.svgIcon = commandSVGIcons['download'];
1841
- this.button.fillMode = 'flat';
1842
- this.subs.add(this.button.click.subscribe(() => {
1843
- const spreadsheet = this.spreadsheetService.spreadsheet;
1844
- if (spreadsheet) {
1845
- spreadsheet.saveAsExcel({
1846
- ...spreadsheet.options.excel,
1847
- saveAs,
1848
- Workbook
1849
- });
1615
+ }
1616
+ SpreadsheetAddRowBelowButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1617
+ SpreadsheetAddRowBelowButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddRowBelowButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]", usesInheritance: true, ngImport: i0 });
1618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, decorators: [{
1619
+ type: Directive,
1620
+ args: [{
1621
+ selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]',
1622
+ standalone: true
1623
+ }]
1624
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1625
+
1626
+ /**
1627
+ * @hidden
1628
+ */
1629
+ class SpreadsheetAddColumnRightButtonDirective extends SpreadsheetCommandButton {
1630
+ constructor(button, localization, spreadsheetService, toolsService) {
1631
+ super('addColumnRight', button, localization, spreadsheetService, toolsService, {
1632
+ command: 'AddColumnCommand',
1633
+ options: { property: 'addColumnRight',
1634
+ value: 'right'
1850
1635
  }
1851
- }));
1636
+ });
1637
+ }
1638
+ }
1639
+ SpreadsheetAddColumnRightButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1640
+ SpreadsheetAddColumnRightButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddColumnRightButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]", usesInheritance: true, ngImport: i0 });
1641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, decorators: [{
1642
+ type: Directive,
1643
+ args: [{
1644
+ selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]',
1645
+ standalone: true
1646
+ }]
1647
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1648
+
1649
+ /**
1650
+ * @hidden
1651
+ */
1652
+ class SpreadsheetAddColumnLeftButtonDirective extends SpreadsheetCommandButton {
1653
+ constructor(button, localization, spreadsheetService, toolsService) {
1654
+ super('addColumnLeft', button, localization, spreadsheetService, toolsService, {
1655
+ command: 'AddColumnCommand',
1656
+ options: { property: 'addColumnLeft',
1657
+ value: 'left'
1658
+ }
1659
+ });
1660
+ }
1661
+ }
1662
+ SpreadsheetAddColumnLeftButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1663
+ SpreadsheetAddColumnLeftButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddColumnLeftButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]", usesInheritance: true, ngImport: i0 });
1664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, decorators: [{
1665
+ type: Directive,
1666
+ args: [{
1667
+ selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]',
1668
+ standalone: true
1669
+ }]
1670
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1671
+
1672
+ /**
1673
+ * @hidden
1674
+ */
1675
+ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
1676
+ constructor(button, localization, spreadsheetService, toolsService, dialogService) {
1677
+ super('insertLink', button, localization, spreadsheetService, toolsService, {
1678
+ command: 'HyperlinkCommand'
1679
+ });
1680
+ this.dialogService = dialogService;
1681
+ this.subs.add(spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range));
1852
1682
  }
1853
1683
  ngOnDestroy() {
1854
1684
  this.subs.unsubscribe();
1855
1685
  }
1686
+ clickHandler() {
1687
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
1688
+ if (sheet) {
1689
+ this.openDialog();
1690
+ }
1691
+ }
1692
+ /**
1693
+ * @hidden
1694
+ */
1695
+ openDialog() {
1696
+ const hasLink = isPresent(this.currentRange?.link());
1697
+ const dialogSettings = {
1698
+ appendTo: this.spreadsheetService.dialogContainer,
1699
+ title: this.localization.get(this.command),
1700
+ content: InsertLinkDialogComponent,
1701
+ actions: [{
1702
+ text: this.localization.get('dialogInsert'),
1703
+ themeColor: 'primary'
1704
+ }, {
1705
+ text: this.localization.get('dialogCancel')
1706
+ },
1707
+ 'spacer', {
1708
+ text: this.localization.get('dialogRemoveLink'),
1709
+ themeColor: 'primary',
1710
+ fillMode: 'clear',
1711
+ cssClass: hasLink ? '' : 'k-disabled'
1712
+ }],
1713
+ actionsLayout: 'start',
1714
+ width: 400,
1715
+ autoFocusedElement: '.k-textbox > .k-input-inner'
1716
+ };
1717
+ const dialog = this.dialogService.open(dialogSettings);
1718
+ const dialogInstance = dialog.dialog.instance;
1719
+ const dialogContent = dialog.content.instance;
1720
+ if (hasLink) {
1721
+ dialogContent.setData({ link: this.currentRange?.link() });
1722
+ }
1723
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
1724
+ if (event.text === this.localization.get('dialogCancel')) {
1725
+ return;
1726
+ }
1727
+ let link = null;
1728
+ if (event.text === this.localization.get('dialogInsert')) {
1729
+ link = dialogContent.urlLink || null;
1730
+ }
1731
+ this.spreadsheetService.spreadsheet.executeCommand({
1732
+ command: 'HyperlinkCommand',
1733
+ options: { link }
1734
+ });
1735
+ });
1736
+ }
1856
1737
  }
1857
- SpreadsheetSaveFileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetSaveFileDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
1858
- SpreadsheetSaveFileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]", ngImport: i0 });
1859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetSaveFileDirective, decorators: [{
1738
+ SpreadsheetInsertLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetInsertLinkDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Directive });
1739
+ SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetInsertLinkDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
1740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
1860
1741
  type: Directive,
1861
- args: [{ selector: '[kendoSpreadsheetSaveFile]' }]
1862
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }]; } });
1742
+ args: [{
1743
+ selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]',
1744
+ standalone: true
1745
+ }]
1746
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
1863
1747
 
1864
1748
  /**
1865
1749
  * @hidden
@@ -1898,57 +1782,134 @@ class SpreadsheetFormatDirective {
1898
1782
  }
1899
1783
  }
1900
1784
  SpreadsheetFormatDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFormatDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1901
- SpreadsheetFormatDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]", ngImport: i0 });
1785
+ SpreadsheetFormatDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFormatDirective, isStandalone: true, selector: "[kendoSpreadsheetFormat]", ngImport: i0 });
1902
1786
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFormatDirective, decorators: [{
1903
1787
  type: Directive,
1904
1788
  args: [{
1905
1789
  selector: '[kendoSpreadsheetFormat]',
1790
+ standalone: true
1906
1791
  }]
1907
1792
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1908
1793
 
1909
1794
  /**
1910
1795
  * @hidden
1911
1796
  */
1912
- class SpreadsheetUndoDirective extends SpreadsheetCommandButton {
1797
+ class SpreadsheetTextWrapDirective extends SpreadsheetCommandButton {
1913
1798
  constructor(button, localization, spreadsheetService, toolsService) {
1914
- super('undo', button, localization, spreadsheetService, toolsService, {
1915
- options: { property: 'undo' }
1799
+ super('wrap', button, localization, spreadsheetService, toolsService, {
1800
+ command: 'TextWrapCommand',
1801
+ options: { property: 'wrap',
1802
+ value: !button.selected
1803
+ }
1916
1804
  });
1917
1805
  }
1918
- clickHandler() {
1919
- this.spreadsheetService.spreadsheet.workbook.undoRedoStack['undo']();
1806
+ clickHandler() {
1807
+ const sheet = this.spreadsheetService.spreadsheet.activeSheet();
1808
+ if (sheet) {
1809
+ const range = sheet.range(sheet.activeCell());
1810
+ const value = !range.wrap();
1811
+ const options = {
1812
+ command: 'TextWrapCommand', options: { property: 'wrap', value }
1813
+ };
1814
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1815
+ }
1816
+ }
1817
+ }
1818
+ SpreadsheetTextWrapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextWrapDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1819
+ SpreadsheetTextWrapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetTextWrapDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]", usesInheritance: true, ngImport: i0 });
1820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextWrapDirective, decorators: [{
1821
+ type: Directive,
1822
+ args: [{
1823
+ selector: 'kendo-toolbar-button[kendoSpreadsheetTextWrap]',
1824
+ standalone: true
1825
+ }]
1826
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1827
+
1828
+ /**
1829
+ * @hidden
1830
+ */
1831
+ class SpreadsheetVerticalTextAlignDirective {
1832
+ constructor(host, localization, spreadsheetService, toolsService) {
1833
+ this.host = host;
1834
+ this.spreadsheetService = spreadsheetService;
1835
+ this.toolsService = toolsService;
1836
+ this.commandName = 'alignVertical';
1837
+ this.subs = new Subscription();
1838
+ host.svgIcon = commandSVGIcons[this.commandName];
1839
+ host.icon = commandIcons[this.commandName];
1840
+ host.arrowIcon = true;
1841
+ host.fillMode = 'flat';
1842
+ host.data = ALIGNS.flatMap(item => item.commandName === 'verticalAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
1843
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
1844
+ host.title = localization.get(this.commandName);
1845
+ host.textField = 'textKey';
1846
+ }
1847
+ ngOnInit() {
1848
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
1849
+ }
1850
+ ngOnDestroy() {
1851
+ this.subs.unsubscribe();
1852
+ }
1853
+ onItemClick(item) {
1854
+ const value = item.value || null;
1855
+ const options = {
1856
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
1857
+ };
1858
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1859
+ }
1860
+ }
1861
+ SpreadsheetVerticalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1862
+ SpreadsheetVerticalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetVerticalTextAlignDirective, isStandalone: true, selector: "[kendoSpreadsheetVerticalTextAlign]", ngImport: i0 });
1863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, decorators: [{
1864
+ type: Directive,
1865
+ args: [{
1866
+ selector: '[kendoSpreadsheetVerticalTextAlign]',
1867
+ standalone: true
1868
+ }]
1869
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1870
+
1871
+ /**
1872
+ * @hidden
1873
+ */
1874
+ class SpreadsheetHorizontalTextAlignDirective {
1875
+ constructor(host, localization, spreadsheetService, toolsService) {
1876
+ this.host = host;
1877
+ this.spreadsheetService = spreadsheetService;
1878
+ this.toolsService = toolsService;
1879
+ this.commandName = 'alignHorizontal';
1880
+ this.subs = new Subscription();
1881
+ host.svgIcon = commandSVGIcons[this.commandName];
1882
+ host.icon = commandIcons[this.commandName];
1883
+ host.arrowIcon = true;
1884
+ host.fillMode = 'flat';
1885
+ host.data = ALIGNS.flatMap(item => item.commandName === 'textAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
1886
+ this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
1887
+ host.title = localization.get(this.commandName);
1888
+ host.textField = 'textKey';
1889
+ }
1890
+ ngOnInit() {
1891
+ this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
1920
1892
  }
1921
- }
1922
- SpreadsheetUndoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUndoDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1923
- SpreadsheetUndoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]", usesInheritance: true, ngImport: i0 });
1924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUndoDirective, decorators: [{
1925
- type: Directive,
1926
- args: [{
1927
- selector: 'kendo-toolbar-button[kendoSpreadsheetUndo]'
1928
- }]
1929
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1930
-
1931
- /**
1932
- * @hidden
1933
- */
1934
- class SpreadsheetRedoDirective extends SpreadsheetCommandButton {
1935
- constructor(button, localization, spreadsheetService, toolsService) {
1936
- super('redo', button, localization, spreadsheetService, toolsService, {
1937
- options: { property: 'redo' }
1938
- });
1893
+ ngOnDestroy() {
1894
+ this.subs.unsubscribe();
1939
1895
  }
1940
- clickHandler() {
1941
- this.spreadsheetService.spreadsheet.workbook.undoRedoStack['redo']();
1896
+ onItemClick(item) {
1897
+ const value = item.value || null;
1898
+ const options = {
1899
+ command: 'PropertyChangeCommand', options: { property: item.commandName, value }
1900
+ };
1901
+ this.spreadsheetService.spreadsheet.executeCommand(options);
1942
1902
  }
1943
1903
  }
1944
- SpreadsheetRedoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetRedoDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1945
- SpreadsheetRedoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]", usesInheritance: true, ngImport: i0 });
1946
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetRedoDirective, decorators: [{
1904
+ SpreadsheetHorizontalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1905
+ SpreadsheetHorizontalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetHorizontalTextAlignDirective, isStandalone: true, selector: "[kendoSpreadsheetHorizontalTextAlign]", ngImport: i0 });
1906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, decorators: [{
1947
1907
  type: Directive,
1948
1908
  args: [{
1949
- selector: 'kendo-toolbar-button[kendoSpreadsheetRedo]'
1909
+ selector: '[kendoSpreadsheetHorizontalTextAlign]',
1910
+ standalone: true
1950
1911
  }]
1951
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1912
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
1952
1913
 
1953
1914
  /**
1954
1915
  * @hidden
@@ -2007,82 +1968,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2007
1968
  /**
2008
1969
  * @hidden
2009
1970
  */
2010
- class FontFamilyDropDownListComponent extends DropDownListBase {
1971
+ class FontSizeDropDownListComponent extends DropDownListBase {
2011
1972
  }
2012
- FontFamilyDropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontFamilyDropDownListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2013
- FontFamilyDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FontFamilyDropDownListComponent, selector: "kendo-spreadsheet-fontfamily-dropdownlist", usesInheritance: true, ngImport: i0, template: `
1973
+ FontSizeDropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontSizeDropDownListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1974
+ FontSizeDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FontSizeDropDownListComponent, isStandalone: true, selector: "kendo-spreadsheet-fontsize-dropdownlist", usesInheritance: true, ngImport: i0, template: `
2014
1975
  <kendo-dropdownlist
2015
1976
  #element
2016
1977
  [data]="data"
2017
1978
  [(value)]="value"
1979
+ [attr.title]="title"
2018
1980
  [tabindex]="tabindex"
2019
1981
  (valueChange)="onValueChange($event)"
2020
1982
  [leftRightArrowsNavigation]="false"
2021
- [fillMode]="fillMode"
2022
- [attr.title]="title">
2023
- <ng-template kendoDropDownListItemTemplate let-dataItem>
2024
- <span [ngStyle]="{ 'font-family': dataItem }">
2025
- {{ dataItem }}
2026
- </span>
2027
- </ng-template>
2028
- </kendo-dropdownlist>
2029
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "component", type: i2$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
2030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontFamilyDropDownListComponent, decorators: [{
1983
+ [fillMode]="fillMode"></kendo-dropdownlist>
1984
+ `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
1985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontSizeDropDownListComponent, decorators: [{
2031
1986
  type: Component,
2032
1987
  args: [{
2033
- selector: 'kendo-spreadsheet-fontfamily-dropdownlist',
1988
+ selector: 'kendo-spreadsheet-fontsize-dropdownlist',
2034
1989
  template: `
2035
1990
  <kendo-dropdownlist
2036
1991
  #element
2037
1992
  [data]="data"
2038
1993
  [(value)]="value"
1994
+ [attr.title]="title"
2039
1995
  [tabindex]="tabindex"
2040
1996
  (valueChange)="onValueChange($event)"
2041
1997
  [leftRightArrowsNavigation]="false"
2042
- [fillMode]="fillMode"
2043
- [attr.title]="title">
2044
- <ng-template kendoDropDownListItemTemplate let-dataItem>
2045
- <span [ngStyle]="{ 'font-family': dataItem }">
2046
- {{ dataItem }}
2047
- </span>
2048
- </ng-template>
2049
- </kendo-dropdownlist>
2050
- `
1998
+ [fillMode]="fillMode"></kendo-dropdownlist>
1999
+ `,
2000
+ standalone: true,
2001
+ imports: [DropDownListComponent]
2051
2002
  }]
2052
2003
  }] });
2053
2004
 
2054
2005
  /**
2055
2006
  * @hidden
2056
2007
  */
2057
- class FontSizeDropDownListComponent extends DropDownListBase {
2008
+ class FontFamilyDropDownListComponent extends DropDownListBase {
2058
2009
  }
2059
- FontSizeDropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontSizeDropDownListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2060
- FontSizeDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FontSizeDropDownListComponent, selector: "kendo-spreadsheet-fontsize-dropdownlist", usesInheritance: true, ngImport: i0, template: `
2010
+ FontFamilyDropDownListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontFamilyDropDownListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2011
+ FontFamilyDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FontFamilyDropDownListComponent, isStandalone: true, selector: "kendo-spreadsheet-fontfamily-dropdownlist", usesInheritance: true, ngImport: i0, template: `
2061
2012
  <kendo-dropdownlist
2062
2013
  #element
2063
2014
  [data]="data"
2064
2015
  [(value)]="value"
2065
- [attr.title]="title"
2066
2016
  [tabindex]="tabindex"
2067
2017
  (valueChange)="onValueChange($event)"
2068
2018
  [leftRightArrowsNavigation]="false"
2069
- [fillMode]="fillMode"></kendo-dropdownlist>
2070
- `, isInline: true, dependencies: [{ kind: "component", type: i2$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
2071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontSizeDropDownListComponent, decorators: [{
2019
+ [fillMode]="fillMode"
2020
+ [attr.title]="title">
2021
+ <ng-template kendoDropDownListItemTemplate let-dataItem>
2022
+ <span [ngStyle]="{ 'font-family': dataItem }">
2023
+ {{ dataItem }}
2024
+ </span>
2025
+ </ng-template>
2026
+ </kendo-dropdownlist>
2027
+ `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
2028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FontFamilyDropDownListComponent, decorators: [{
2072
2029
  type: Component,
2073
2030
  args: [{
2074
- selector: 'kendo-spreadsheet-fontsize-dropdownlist',
2031
+ selector: 'kendo-spreadsheet-fontfamily-dropdownlist',
2075
2032
  template: `
2076
2033
  <kendo-dropdownlist
2077
2034
  #element
2078
2035
  [data]="data"
2079
2036
  [(value)]="value"
2080
- [attr.title]="title"
2081
2037
  [tabindex]="tabindex"
2082
2038
  (valueChange)="onValueChange($event)"
2083
2039
  [leftRightArrowsNavigation]="false"
2084
- [fillMode]="fillMode"></kendo-dropdownlist>
2085
- `
2040
+ [fillMode]="fillMode"
2041
+ [attr.title]="title">
2042
+ <ng-template kendoDropDownListItemTemplate let-dataItem>
2043
+ <span [ngStyle]="{ 'font-family': dataItem }">
2044
+ {{ dataItem }}
2045
+ </span>
2046
+ </ng-template>
2047
+ </kendo-dropdownlist>
2048
+ `,
2049
+ standalone: true,
2050
+ imports: [DropDownListComponent, ItemTemplateDirective, NgStyle]
2086
2051
  }]
2087
2052
  }] });
2088
2053
 
@@ -2103,7 +2068,7 @@ class DialogContentComponent extends DialogContentBase {
2103
2068
  }
2104
2069
  }
2105
2070
  DialogContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
2106
- DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialogContentComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2071
+ DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialogContentComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2107
2072
  <div
2108
2073
  [ngSwitch]="componentType"
2109
2074
  class="k-d-flex k-align-items-center k-justify-content-center">
@@ -2142,7 +2107,7 @@ DialogContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
2142
2107
  fillMode="flat"
2143
2108
  ></kendo-colorpicker>
2144
2109
  </div>
2145
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3$1.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: FontFamilyDropDownListComponent, selector: "kendo-spreadsheet-fontfamily-dropdownlist" }, { kind: "component", type: FontSizeDropDownListComponent, selector: "kendo-spreadsheet-fontsize-dropdownlist" }] });
2110
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: FontFamilyDropDownListComponent, selector: "kendo-spreadsheet-fontfamily-dropdownlist" }, { kind: "component", type: FontSizeDropDownListComponent, selector: "kendo-spreadsheet-fontsize-dropdownlist" }, { kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }] });
2146
2111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialogContentComponent, decorators: [{
2147
2112
  type: Component,
2148
2113
  args: [{
@@ -2185,7 +2150,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2185
2150
  fillMode="flat"
2186
2151
  ></kendo-colorpicker>
2187
2152
  </div>
2188
- `
2153
+ `,
2154
+ standalone: true,
2155
+ imports: [NgSwitch, NgSwitchCase, FontFamilyDropDownListComponent, FontSizeDropDownListComponent, ColorPickerComponent]
2189
2156
  }]
2190
2157
  }], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
2191
2158
 
@@ -2332,171 +2299,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2332
2299
  }]
2333
2300
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2334
2301
  type: Inject,
2335
- args: [MY_TOKEN]
2336
- }] }, { type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
2337
- type: ViewChild,
2338
- args: ['toolbarTemplate', { static: true }]
2339
- }], popupTemplate: [{
2340
- type: ViewChild,
2341
- args: ['popupTemplate', { static: true }]
2342
- }], element: [{
2343
- type: ViewChild,
2344
- args: ['element', { read: ElementRef }]
2345
- }], dropDownListRef: [{
2346
- type: ViewChild,
2347
- args: ['element']
2348
- }], popupButton: [{
2349
- type: ViewChild,
2350
- args: ['popupButton', { read: ElementRef }]
2351
- }], valueChange: [{
2352
- type: Output
2353
- }] } });
2354
-
2355
- /**
2356
- * A component which configures an existing `DropDownListComponent` as a Spreadsheet tool
2357
- * ([see example](ToDo).
2358
- * The component associates a `kendo-toolbar-dropdownlist` with a Spreadsheet command that changes the font family of a content block and
2359
- * automatically defines the options of the drop-down list and sets its values ([see example](ToDo).
2360
- *
2361
- * @hidden
2362
- */
2363
- class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
2364
- constructor(dialogService, localization, spreadsheetService, toolsService, toolbar) {
2365
- super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
2366
- }
2367
- }
2368
- SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2369
- SpreadsheetFontFamilyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
2370
- <ng-template #toolbarTemplate>
2371
- <kendo-spreadsheet-fontfamily-dropdownlist
2372
- #element
2373
- [data]="data"
2374
- [(value)]="value"
2375
- [title]="messageFor(command)"
2376
- [tabindex]="tabindex"
2377
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2378
- </ng-template>
2379
- <ng-template #popupTemplate>
2380
- <div #popupButton
2381
- [tabindex]="tabindex"
2382
- role="menuitem"
2383
- class="k-item k-menu-item"
2384
- (click)="openDialog()">
2385
- <span
2386
- class="k-link k-menu-link">
2387
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2388
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2389
- </span>
2390
- </div>
2391
- </ng-template>
2392
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: FontFamilyDropDownListComponent, selector: "kendo-spreadsheet-fontfamily-dropdownlist" }] });
2393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontFamilyComponent, decorators: [{
2394
- type: Component,
2395
- args: [{
2396
- providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }],
2397
- selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]',
2398
- template: `
2399
- <ng-template #toolbarTemplate>
2400
- <kendo-spreadsheet-fontfamily-dropdownlist
2401
- #element
2402
- [data]="data"
2403
- [(value)]="value"
2404
- [title]="messageFor(command)"
2405
- [tabindex]="tabindex"
2406
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2407
- </ng-template>
2408
- <ng-template #popupTemplate>
2409
- <div #popupButton
2410
- [tabindex]="tabindex"
2411
- role="menuitem"
2412
- class="k-item k-menu-item"
2413
- (click)="openDialog()">
2414
- <span
2415
- class="k-link k-menu-link">
2416
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2417
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2418
- </span>
2419
- </div>
2420
- </ng-template>
2421
- `
2422
- }]
2423
- }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2424
- type: Inject,
2425
- args: [ToolBarComponent]
2426
- }] }]; } });
2427
-
2428
- /**
2429
- * A component which configures an existing `DropDownListComponent` as a Spreadsheet tool
2430
- * ([see example](ToDo).
2431
- * The component associates a `kendo-toolbar-dropdownlist` with a Spreadsheet command that changes the font size of a content block and
2432
- * automatically defines the options of the drop-down list and sets its values ([see example](ToDo).
2433
- *
2434
- * @hidden
2435
- */
2436
- class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
2437
- constructor(dialogService, localization, spreadsheetService, toolsService, toolbar) {
2438
- super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
2439
- }
2440
- }
2441
- SpreadsheetFontSizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2442
- SpreadsheetFontSizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
2443
- <ng-template #toolbarTemplate>
2444
- <kendo-spreadsheet-fontsize-dropdownlist
2445
- #element
2446
- [data]="data"
2447
- [(value)]="value"
2448
- [title]="messageFor(command)"
2449
- [tabindex]="tabindex"
2450
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2451
- </ng-template>
2452
- <ng-template #popupTemplate>
2453
- <div #popupButton
2454
- [tabindex]="tabindex"
2455
- role="menuitem"
2456
- class="k-item k-menu-item"
2457
- (click)="openDialog()">
2458
- <span
2459
- class="k-link k-menu-link">
2460
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2461
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2462
- </span>
2463
- </div>
2464
- </ng-template>
2465
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: FontSizeDropDownListComponent, selector: "kendo-spreadsheet-fontsize-dropdownlist" }] });
2466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontSizeComponent, decorators: [{
2467
- type: Component,
2468
- args: [{
2469
- providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }],
2470
- selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]',
2471
- template: `
2472
- <ng-template #toolbarTemplate>
2473
- <kendo-spreadsheet-fontsize-dropdownlist
2474
- #element
2475
- [data]="data"
2476
- [(value)]="value"
2477
- [title]="messageFor(command)"
2478
- [tabindex]="tabindex"
2479
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2480
- </ng-template>
2481
- <ng-template #popupTemplate>
2482
- <div #popupButton
2483
- [tabindex]="tabindex"
2484
- role="menuitem"
2485
- class="k-item k-menu-item"
2486
- (click)="openDialog()">
2487
- <span
2488
- class="k-link k-menu-link">
2489
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2490
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2491
- </span>
2492
- </div>
2493
- </ng-template>
2494
- `
2495
- }]
2496
- }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2497
- type: Inject,
2498
- args: [ToolBarComponent]
2499
- }] }]; } });
2302
+ args: [MY_TOKEN]
2303
+ }] }, { type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent }]; }, propDecorators: { toolbarTemplate: [{
2304
+ type: ViewChild,
2305
+ args: ['toolbarTemplate', { static: true }]
2306
+ }], popupTemplate: [{
2307
+ type: ViewChild,
2308
+ args: ['popupTemplate', { static: true }]
2309
+ }], element: [{
2310
+ type: ViewChild,
2311
+ args: ['element', { read: ElementRef }]
2312
+ }], dropDownListRef: [{
2313
+ type: ViewChild,
2314
+ args: ['element']
2315
+ }], popupButton: [{
2316
+ type: ViewChild,
2317
+ args: ['popupButton', { read: ElementRef }]
2318
+ }], valueChange: [{
2319
+ type: Output
2320
+ }] } });
2500
2321
 
2501
2322
  /**
2502
2323
  * A component which changes the background color of the text ([more information](ToDo).
@@ -2508,7 +2329,7 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
2508
2329
  }
2509
2330
  }
2510
2331
  SpreadsheetBackColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2511
- SpreadsheetBackColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2332
+ SpreadsheetBackColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetBackColorComponent, isStandalone: true, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2512
2333
  <ng-template #toolbarTemplate>
2513
2334
  <kendo-colorpicker
2514
2335
  #element
@@ -2536,7 +2357,7 @@ SpreadsheetBackColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
2536
2357
  </span>
2537
2358
  </div>
2538
2359
  </ng-template>
2539
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i3$1.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }] });
2360
+ `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2540
2361
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBackColorComponent, decorators: [{
2541
2362
  type: Component,
2542
2363
  args: [{
@@ -2570,7 +2391,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2570
2391
  </span>
2571
2392
  </div>
2572
2393
  </ng-template>
2573
- `
2394
+ `,
2395
+ standalone: true,
2396
+ imports: [ColorPickerComponent, IconWrapperComponent, NgIf]
2574
2397
  }]
2575
2398
  }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2576
2399
  type: Inject,
@@ -2587,7 +2410,7 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
2587
2410
  }
2588
2411
  }
2589
2412
  SpreadsheetForeColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2590
- SpreadsheetForeColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2413
+ SpreadsheetForeColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetForeColorComponent, isStandalone: true, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2591
2414
  <ng-template #toolbarTemplate>
2592
2415
  <kendo-colorpicker
2593
2416
  #element
@@ -2615,7 +2438,7 @@ SpreadsheetForeColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
2615
2438
  </span>
2616
2439
  </div>
2617
2440
  </ng-template>
2618
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i3$1.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }] });
2441
+ `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2619
2442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetForeColorComponent, decorators: [{
2620
2443
  type: Component,
2621
2444
  args: [{
@@ -2649,7 +2472,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2649
2472
  </span>
2650
2473
  </div>
2651
2474
  </ng-template>
2652
- `
2475
+ `,
2476
+ standalone: true,
2477
+ imports: [ColorPickerComponent, IconWrapperComponent, NgIf]
2653
2478
  }]
2654
2479
  }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2655
2480
  type: Inject,
@@ -2659,357 +2484,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2659
2484
  /**
2660
2485
  * @hidden
2661
2486
  */
2662
- class SpreadsheetGridLinesDirective extends SpreadsheetCommandButton {
2663
- constructor(button, localization, spreadsheetService, toolsService) {
2664
- super('gridLines', button, localization, spreadsheetService, toolsService, {
2665
- command: 'GridLinesChangeCommand',
2666
- options: { property: 'gridLines',
2667
- value: !button.selected
2668
- }
2669
- });
2670
- }
2671
- clickHandler() {
2672
- const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2673
- if (sheet) {
2674
- const value = !sheet.showGridLines();
2675
- const options = {
2676
- command: 'GridLinesChangeCommand', options: { property: 'gridLines', value }
2677
- };
2678
- this.spreadsheetService.spreadsheet.executeCommand(options);
2679
- }
2680
- }
2681
- }
2682
- SpreadsheetGridLinesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetGridLinesDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2683
- SpreadsheetGridLinesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]", usesInheritance: true, ngImport: i0 });
2684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetGridLinesDirective, decorators: [{
2685
- type: Directive,
2686
- args: [{
2687
- selector: 'kendo-toolbar-button[kendoSpreadsheetGridLines]'
2688
- }]
2689
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2690
-
2691
- /**
2692
- * @hidden
2693
- */
2694
- class SpreadsheetAddColumnLeftButtonDirective extends SpreadsheetCommandButton {
2695
- constructor(button, localization, spreadsheetService, toolsService) {
2696
- super('addColumnLeft', button, localization, spreadsheetService, toolsService, {
2697
- command: 'AddColumnCommand',
2698
- options: { property: 'addColumnLeft',
2699
- value: 'left'
2700
- }
2701
- });
2702
- }
2703
- }
2704
- SpreadsheetAddColumnLeftButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2705
- SpreadsheetAddColumnLeftButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]", usesInheritance: true, ngImport: i0 });
2706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, decorators: [{
2707
- type: Directive,
2708
- args: [{
2709
- selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]'
2710
- }]
2711
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2712
-
2713
- /**
2714
- * @hidden
2715
- */
2716
- class SpreadsheetAddColumnRightButtonDirective extends SpreadsheetCommandButton {
2717
- constructor(button, localization, spreadsheetService, toolsService) {
2718
- super('addColumnRight', button, localization, spreadsheetService, toolsService, {
2719
- command: 'AddColumnCommand',
2720
- options: { property: 'addColumnRight',
2721
- value: 'right'
2722
- }
2723
- });
2724
- }
2725
- }
2726
- SpreadsheetAddColumnRightButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2727
- SpreadsheetAddColumnRightButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]", usesInheritance: true, ngImport: i0 });
2728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, decorators: [{
2729
- type: Directive,
2730
- args: [{
2731
- selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]'
2732
- }]
2733
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2734
-
2735
- /**
2736
- * @hidden
2737
- */
2738
- class SpreadsheetAddRowAboveButtonDirective extends SpreadsheetCommandButton {
2739
- constructor(button, localization, spreadsheetService, toolsService) {
2740
- super('addRowAbove', button, localization, spreadsheetService, toolsService, {
2741
- command: 'AddRowCommand',
2742
- options: { property: 'addRowAbove',
2743
- value: 'above'
2744
- }
2745
- });
2746
- }
2747
- }
2748
- SpreadsheetAddRowAboveButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2749
- SpreadsheetAddRowAboveButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]", usesInheritance: true, ngImport: i0 });
2750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, decorators: [{
2751
- type: Directive,
2752
- args: [{
2753
- selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]'
2754
- }]
2755
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2756
-
2757
- /**
2758
- * @hidden
2759
- */
2760
- class SpreadsheetAddRowBelowButtonDirective extends SpreadsheetCommandButton {
2761
- constructor(button, localization, spreadsheetService, toolsService) {
2762
- super('addRowBelow', button, localization, spreadsheetService, toolsService, {
2763
- command: 'AddRowCommand',
2764
- options: { property: 'addRowBelow',
2765
- value: 'below'
2766
- }
2767
- });
2768
- }
2769
- }
2770
- SpreadsheetAddRowBelowButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2771
- SpreadsheetAddRowBelowButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]", usesInheritance: true, ngImport: i0 });
2772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, decorators: [{
2773
- type: Directive,
2774
- args: [{
2775
- selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]'
2776
- }]
2777
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2778
-
2779
- /**
2780
- * @hidden
2781
- */
2782
- class SpreadsheetDeleteColumnButtonDirective extends SpreadsheetCommandButton {
2783
- constructor(button, localization, spreadsheetService, toolsService) {
2784
- super('deleteColumn', button, localization, spreadsheetService, toolsService, {
2785
- command: 'DeleteColumnCommand',
2786
- options: { property: 'deleteColumn' }
2787
- });
2788
- }
2789
- }
2790
- SpreadsheetDeleteColumnButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2791
- SpreadsheetDeleteColumnButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]", usesInheritance: true, ngImport: i0 });
2792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, decorators: [{
2793
- type: Directive,
2794
- args: [{
2795
- selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]'
2796
- }]
2797
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2798
-
2799
- /**
2800
- * @hidden
2801
- */
2802
- class SpreadsheetDeleteRowButtonDirective extends SpreadsheetCommandButton {
2803
- constructor(button, localization, spreadsheetService, toolsService) {
2804
- super('deleteRow', button, localization, spreadsheetService, toolsService, {
2805
- command: 'DeleteRowCommand',
2806
- options: { property: 'deleteRow' }
2807
- });
2808
- }
2809
- }
2810
- SpreadsheetDeleteRowButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2811
- SpreadsheetDeleteRowButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]", usesInheritance: true, ngImport: i0 });
2812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, decorators: [{
2813
- type: Directive,
2814
- args: [{
2815
- selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]'
2816
- }]
2817
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2818
-
2819
- /**
2820
- * @hidden
2821
- */
2822
- class SpreadsheetTextWrapDirective extends SpreadsheetCommandButton {
2487
+ class SpreadsheetUnderlineDirective extends SpreadsheetCommandButton {
2823
2488
  constructor(button, localization, spreadsheetService, toolsService) {
2824
- super('wrap', button, localization, spreadsheetService, toolsService, {
2825
- command: 'TextWrapCommand',
2826
- options: { property: 'wrap',
2489
+ super('underline', button, localization, spreadsheetService, toolsService, {
2490
+ command: 'PropertyChangeCommand',
2491
+ options: { property: 'underline',
2827
2492
  value: !button.selected
2828
2493
  }
2829
- });
2830
- }
2831
- clickHandler() {
2832
- const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2833
- if (sheet) {
2834
- const range = sheet.range(sheet.activeCell());
2835
- const value = !range.wrap();
2836
- const options = {
2837
- command: 'TextWrapCommand', options: { property: 'wrap', value }
2838
- };
2839
- this.spreadsheetService.spreadsheet.executeCommand(options);
2840
- }
2841
- }
2842
- }
2843
- SpreadsheetTextWrapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextWrapDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2844
- SpreadsheetTextWrapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]", usesInheritance: true, ngImport: i0 });
2845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextWrapDirective, decorators: [{
2846
- type: Directive,
2847
- args: [{
2848
- selector: 'kendo-toolbar-button[kendoSpreadsheetTextWrap]'
2849
- }]
2850
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2851
-
2852
- /**
2853
- * @hidden
2854
- */
2855
- class MainMenuDirective {
2856
- constructor(host, renderer) {
2857
- this.host = host;
2858
- this.renderer = renderer;
2859
- }
2860
- ngAfterViewInit() {
2861
- isDocumentAvailable() && this.renderer.addClass(this.host.nativeElement.firstElementChild, 'k-spreadsheet-menu');
2862
- }
2863
- }
2864
- MainMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2865
- MainMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]", ngImport: i0 });
2866
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, decorators: [{
2867
- type: Directive,
2868
- args: [{ selector: '[kendoSpreadsheetMenu]' }]
2869
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
2870
-
2871
- /**
2872
- * @hidden
2873
- */
2874
- class SpreadsheetMergeDirective {
2875
- constructor(host, localization, spreadsheetService) {
2876
- this.host = host;
2877
- this.spreadsheetService = spreadsheetService;
2878
- this.commandName = 'merge';
2879
- this.subs = new Subscription();
2880
- host.svgIcon = commandSVGIcons[this.commandName];
2881
- host.icon = commandIcons[this.commandName];
2882
- host.arrowIcon = true;
2883
- host.fillMode = 'flat';
2884
- host.data = MERGE.map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2885
- this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2886
- host.title = localization.get(this.commandName);
2887
- host.textField = 'textKey';
2888
- }
2889
- ngOnInit() {
2890
- this.subs.add(this.host.open.subscribe(() => {
2891
- const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2892
- const isMergedCellWithinRange = this.hasMergedCells(sheet);
2893
- const unmergeItem = this.host.data.find(i => i.commandName === 'unmerge');
2894
- unmergeItem.disabled = !isMergedCellWithinRange;
2895
- }));
2896
- this.subs.add(this.spreadsheetService.selectionChanged.subscribe(range => this.selectedRange = range));
2897
- }
2898
- ngOnDestroy() {
2899
- this.subs.unsubscribe();
2900
- }
2901
- onItemClick(item) {
2902
- if (item.disabled) {
2903
- return;
2904
- }
2905
- const value = item.value || null;
2906
- const options = {
2907
- command: 'MergeCellCommand', options: { property: item.commandName, value }
2908
- };
2909
- this.spreadsheetService.spreadsheet.executeCommand(options);
2910
- }
2911
- hasMergedCells(sheet) {
2912
- const range = sheet._ref(this.selectedRange);
2913
- return sheet._getMergedCells(range).hasMerged;
2494
+ });
2914
2495
  }
2915
2496
  }
2916
- SpreadsheetMergeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetMergeDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
2917
- SpreadsheetMergeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]", ngImport: i0 });
2918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetMergeDirective, decorators: [{
2497
+ SpreadsheetUnderlineDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUnderlineDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2498
+ SpreadsheetUnderlineDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetUnderlineDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]", usesInheritance: true, ngImport: i0 });
2499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUnderlineDirective, decorators: [{
2919
2500
  type: Directive,
2920
2501
  args: [{
2921
- selector: '[kendoSpreadsheetMerge]',
2502
+ selector: 'kendo-toolbar-button[kendoSpreadsheetUnderline]',
2503
+ standalone: true
2922
2504
  }]
2923
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }]; } });
2505
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2924
2506
 
2925
2507
  /**
2926
2508
  * @hidden
2927
2509
  */
2928
- class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
2929
- constructor(button, localization, spreadsheetService, toolsService, dialogService) {
2930
- super('insertLink', button, localization, spreadsheetService, toolsService, {
2931
- command: 'HyperlinkCommand'
2510
+ class SpreadsheetItalicDirective extends SpreadsheetCommandButton {
2511
+ constructor(button, localization, spreadsheetService, toolsService) {
2512
+ super('italic', button, localization, spreadsheetService, toolsService, {
2513
+ command: 'PropertyChangeCommand',
2514
+ options: { property: 'italic',
2515
+ value: !button.selected
2516
+ }
2932
2517
  });
2933
- this.dialogService = dialogService;
2934
- this.subs.add(spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range));
2935
- }
2936
- ngOnDestroy() {
2937
- this.subs.unsubscribe();
2938
2518
  }
2939
- clickHandler() {
2940
- const sheet = this.spreadsheetService.spreadsheet.activeSheet();
2941
- if (sheet) {
2942
- this.openDialog();
2943
- }
2944
- }
2945
- /**
2946
- * @hidden
2947
- */
2948
- openDialog() {
2949
- const hasLink = isPresent(this.currentRange?.link());
2950
- const dialogSettings = {
2951
- appendTo: this.spreadsheetService.dialogContainer,
2952
- title: this.localization.get(this.command),
2953
- content: InsertLinkDialogComponent,
2954
- actions: [{
2955
- text: this.localization.get('dialogInsert'),
2956
- themeColor: 'primary'
2957
- }, {
2958
- text: this.localization.get('dialogCancel')
2959
- },
2960
- 'spacer', {
2961
- text: this.localization.get('dialogRemoveLink'),
2962
- themeColor: 'primary',
2963
- fillMode: 'clear',
2964
- cssClass: hasLink ? '' : 'k-disabled'
2965
- }],
2966
- actionsLayout: 'start',
2967
- width: 400,
2968
- autoFocusedElement: '.k-textbox > .k-input-inner'
2969
- };
2970
- const dialog = this.dialogService.open(dialogSettings);
2971
- const dialogInstance = dialog.dialog.instance;
2972
- const dialogContent = dialog.content.instance;
2973
- if (hasLink) {
2974
- dialogContent.setData({ link: this.currentRange?.link() });
2975
- }
2976
- dialogInstance.action.pipe(take(1)).subscribe((event) => {
2977
- if (event.text === this.localization.get('dialogCancel')) {
2978
- return;
2979
- }
2980
- let link = null;
2981
- if (event.text === this.localization.get('dialogInsert')) {
2982
- link = dialogContent.urlLink || null;
2519
+ }
2520
+ SpreadsheetItalicDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetItalicDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2521
+ SpreadsheetItalicDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetItalicDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]", usesInheritance: true, ngImport: i0 });
2522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetItalicDirective, decorators: [{
2523
+ type: Directive,
2524
+ args: [{
2525
+ selector: 'kendo-toolbar-button[kendoSpreadsheetItalic]',
2526
+ standalone: true
2527
+ }]
2528
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2529
+
2530
+ /**
2531
+ * @hidden
2532
+ */
2533
+ class SpreadsheetBoldDirective extends SpreadsheetCommandButton {
2534
+ constructor(button, localization, spreadsheetService, toolsService) {
2535
+ super('bold', button, localization, spreadsheetService, toolsService, {
2536
+ command: 'PropertyChangeCommand',
2537
+ options: { property: 'bold',
2538
+ value: !button.selected
2983
2539
  }
2984
- this.spreadsheetService.spreadsheet.executeCommand({
2985
- command: 'HyperlinkCommand',
2986
- options: { link }
2987
- });
2988
2540
  });
2989
2541
  }
2990
2542
  }
2991
- SpreadsheetInsertLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetInsertLinkDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Directive });
2992
- SpreadsheetInsertLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]", usesInheritance: true, ngImport: i0 });
2993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetInsertLinkDirective, decorators: [{
2543
+ SpreadsheetBoldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBoldDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2544
+ SpreadsheetBoldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetBoldDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetBold]", usesInheritance: true, ngImport: i0 });
2545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetBoldDirective, decorators: [{
2994
2546
  type: Directive,
2995
2547
  args: [{
2996
- selector: 'kendo-toolbar-button[kendoSpreadsheetInsertLink]'
2548
+ selector: 'kendo-toolbar-button[kendoSpreadsheetBold]',
2549
+ standalone: true
2997
2550
  }]
2998
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$1.DialogService }]; } });
2551
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
2999
2552
 
3000
2553
  /**
3001
2554
  * @hidden
3002
2555
  */
3003
- class SpreadsheetIncreaseFontSizeDirective extends SpreadsheetCommandButton {
2556
+ class SpreadsheetDecreaseFontSizeDirective extends SpreadsheetCommandButton {
3004
2557
  constructor(button, localization, spreadsheetService, toolsService) {
3005
- super('increaseFontSize', button, localization, spreadsheetService, toolsService, {
2558
+ super('decreaseFontSize', button, localization, spreadsheetService, toolsService, {
3006
2559
  command: 'PropertyChangeCommand',
3007
2560
  options: { property: 'fontSize' }
3008
2561
  });
3009
2562
  this.value = DEFAULT_FONT_VALUES.fontSize;
3010
2563
  }
3011
2564
  clickHandler() {
3012
- const newValue = this.value + 1;
2565
+ const newValue = this.value - 1;
3013
2566
  const options = {
3014
2567
  command: 'PropertyChangeCommand',
3015
2568
  options: { property: 'fontSize', value: newValue || null }
@@ -3023,28 +2576,29 @@ class SpreadsheetIncreaseFontSizeDirective extends SpreadsheetCommandButton {
3023
2576
  }));
3024
2577
  }
3025
2578
  }
3026
- SpreadsheetIncreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3027
- SpreadsheetIncreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]", usesInheritance: true, ngImport: i0 });
3028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, decorators: [{
2579
+ SpreadsheetDecreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2580
+ SpreadsheetDecreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDecreaseFontSizeDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]", usesInheritance: true, ngImport: i0 });
2581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, decorators: [{
3029
2582
  type: Directive,
3030
2583
  args: [{
3031
- selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]'
2584
+ selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]',
2585
+ standalone: true
3032
2586
  }]
3033
2587
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3034
2588
 
3035
2589
  /**
3036
2590
  * @hidden
3037
2591
  */
3038
- class SpreadsheetDecreaseFontSizeDirective extends SpreadsheetCommandButton {
2592
+ class SpreadsheetIncreaseFontSizeDirective extends SpreadsheetCommandButton {
3039
2593
  constructor(button, localization, spreadsheetService, toolsService) {
3040
- super('decreaseFontSize', button, localization, spreadsheetService, toolsService, {
2594
+ super('increaseFontSize', button, localization, spreadsheetService, toolsService, {
3041
2595
  command: 'PropertyChangeCommand',
3042
2596
  options: { property: 'fontSize' }
3043
2597
  });
3044
2598
  this.value = DEFAULT_FONT_VALUES.fontSize;
3045
2599
  }
3046
2600
  clickHandler() {
3047
- const newValue = this.value - 1;
2601
+ const newValue = this.value + 1;
3048
2602
  const options = {
3049
2603
  command: 'PropertyChangeCommand',
3050
2604
  options: { property: 'fontSize', value: newValue || null }
@@ -3058,150 +2612,644 @@ class SpreadsheetDecreaseFontSizeDirective extends SpreadsheetCommandButton {
3058
2612
  }));
3059
2613
  }
3060
2614
  }
3061
- SpreadsheetDecreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3062
- SpreadsheetDecreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]", usesInheritance: true, ngImport: i0 });
3063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseFontSizeDirective, decorators: [{
2615
+ SpreadsheetIncreaseFontSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2616
+ SpreadsheetIncreaseFontSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetIncreaseFontSizeDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]", usesInheritance: true, ngImport: i0 });
2617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseFontSizeDirective, decorators: [{
3064
2618
  type: Directive,
3065
2619
  args: [{
3066
- selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]'
2620
+ selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]',
2621
+ standalone: true
3067
2622
  }]
3068
2623
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3069
2624
 
2625
+ /**
2626
+ * A component which configures an existing `DropDownListComponent` as a Spreadsheet tool
2627
+ * ([see example](ToDo).
2628
+ * The component associates a `kendo-toolbar-dropdownlist` with a Spreadsheet command that changes the font size of a content block and
2629
+ * automatically defines the options of the drop-down list and sets its values ([see example](ToDo).
2630
+ *
2631
+ * @hidden
2632
+ */
2633
+ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
2634
+ constructor(dialogService, localization, spreadsheetService, toolsService, toolbar) {
2635
+ super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
2636
+ }
2637
+ }
2638
+ SpreadsheetFontSizeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2639
+ SpreadsheetFontSizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFontSizeComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
2640
+ <ng-template #toolbarTemplate>
2641
+ <kendo-spreadsheet-fontsize-dropdownlist
2642
+ #element
2643
+ [data]="data"
2644
+ [(value)]="value"
2645
+ [title]="messageFor(command)"
2646
+ [tabindex]="tabindex"
2647
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2648
+ </ng-template>
2649
+ <ng-template #popupTemplate>
2650
+ <div #popupButton
2651
+ [tabindex]="tabindex"
2652
+ role="menuitem"
2653
+ class="k-item k-menu-item"
2654
+ (click)="openDialog()">
2655
+ <span
2656
+ class="k-link k-menu-link">
2657
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2658
+ <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2659
+ </span>
2660
+ </div>
2661
+ </ng-template>
2662
+ `, isInline: true, dependencies: [{ kind: "component", type: FontSizeDropDownListComponent, selector: "kendo-spreadsheet-fontsize-dropdownlist" }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontSizeComponent, decorators: [{
2664
+ type: Component,
2665
+ args: [{
2666
+ providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }],
2667
+ selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]',
2668
+ template: `
2669
+ <ng-template #toolbarTemplate>
2670
+ <kendo-spreadsheet-fontsize-dropdownlist
2671
+ #element
2672
+ [data]="data"
2673
+ [(value)]="value"
2674
+ [title]="messageFor(command)"
2675
+ [tabindex]="tabindex"
2676
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2677
+ </ng-template>
2678
+ <ng-template #popupTemplate>
2679
+ <div #popupButton
2680
+ [tabindex]="tabindex"
2681
+ role="menuitem"
2682
+ class="k-item k-menu-item"
2683
+ (click)="openDialog()">
2684
+ <span
2685
+ class="k-link k-menu-link">
2686
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2687
+ <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2688
+ </span>
2689
+ </div>
2690
+ </ng-template>
2691
+ `,
2692
+ standalone: true,
2693
+ imports: [FontSizeDropDownListComponent, IconWrapperComponent, NgIf]
2694
+ }]
2695
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2696
+ type: Inject,
2697
+ args: [ToolBarComponent]
2698
+ }] }]; } });
2699
+
2700
+ /**
2701
+ * A component which configures an existing `DropDownListComponent` as a Spreadsheet tool
2702
+ * ([see example](ToDo).
2703
+ * The component associates a `kendo-toolbar-dropdownlist` with a Spreadsheet command that changes the font family of a content block and
2704
+ * automatically defines the options of the drop-down list and sets its values ([see example](ToDo).
2705
+ *
2706
+ * @hidden
2707
+ */
2708
+ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
2709
+ constructor(dialogService, localization, spreadsheetService, toolsService, toolbar) {
2710
+ super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
2711
+ }
2712
+ }
2713
+ SpreadsheetFontFamilyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$1.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2714
+ SpreadsheetFontFamilyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetFontFamilyComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
2715
+ <ng-template #toolbarTemplate>
2716
+ <kendo-spreadsheet-fontfamily-dropdownlist
2717
+ #element
2718
+ [data]="data"
2719
+ [(value)]="value"
2720
+ [title]="messageFor(command)"
2721
+ [tabindex]="tabindex"
2722
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2723
+ </ng-template>
2724
+ <ng-template #popupTemplate>
2725
+ <div #popupButton
2726
+ [tabindex]="tabindex"
2727
+ role="menuitem"
2728
+ class="k-item k-menu-item"
2729
+ (click)="openDialog()">
2730
+ <span
2731
+ class="k-link k-menu-link">
2732
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2733
+ <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2734
+ </span>
2735
+ </div>
2736
+ </ng-template>
2737
+ `, isInline: true, dependencies: [{ kind: "component", type: FontFamilyDropDownListComponent, selector: "kendo-spreadsheet-fontfamily-dropdownlist" }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetFontFamilyComponent, decorators: [{
2739
+ type: Component,
2740
+ args: [{
2741
+ providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }],
2742
+ selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]',
2743
+ template: `
2744
+ <ng-template #toolbarTemplate>
2745
+ <kendo-spreadsheet-fontfamily-dropdownlist
2746
+ #element
2747
+ [data]="data"
2748
+ [(value)]="value"
2749
+ [title]="messageFor(command)"
2750
+ [tabindex]="tabindex"
2751
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2752
+ </ng-template>
2753
+ <ng-template #popupTemplate>
2754
+ <div #popupButton
2755
+ [tabindex]="tabindex"
2756
+ role="menuitem"
2757
+ class="k-item k-menu-item"
2758
+ (click)="openDialog()">
2759
+ <span
2760
+ class="k-link k-menu-link">
2761
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2762
+ <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2763
+ </span>
2764
+ </div>
2765
+ </ng-template>
2766
+ `,
2767
+ standalone: true,
2768
+ imports: [FontFamilyDropDownListComponent, IconWrapperComponent, NgIf]
2769
+ }]
2770
+ }], ctorParameters: function () { return [{ type: i1$1.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$2.ToolBarComponent, decorators: [{
2771
+ type: Inject,
2772
+ args: [ToolBarComponent]
2773
+ }] }]; } });
2774
+
3070
2775
  /**
3071
2776
  * @hidden
3072
2777
  */
3073
- class SpreadsheetIncreaseDecimalDirective extends SpreadsheetCommandButton {
2778
+ class SpreadsheetRedoDirective extends SpreadsheetCommandButton {
3074
2779
  constructor(button, localization, spreadsheetService, toolsService) {
3075
- super('increaseDecimal', button, localization, spreadsheetService, toolsService, {
3076
- command: 'AdjustDecimalsCommand'
2780
+ super('redo', button, localization, spreadsheetService, toolsService, {
2781
+ options: { property: 'redo' }
3077
2782
  });
3078
2783
  }
3079
2784
  clickHandler() {
3080
- const options = {
3081
- command: 'AdjustDecimalsCommand',
3082
- options: { value: 1 }
3083
- };
3084
- this.spreadsheetService.spreadsheet.executeCommand(options);
2785
+ this.spreadsheetService.spreadsheet.workbook.undoRedoStack['redo']();
3085
2786
  }
3086
2787
  }
3087
- SpreadsheetIncreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3088
- SpreadsheetIncreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]", usesInheritance: true, ngImport: i0 });
3089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetIncreaseDecimalDirective, decorators: [{
2788
+ SpreadsheetRedoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetRedoDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2789
+ SpreadsheetRedoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetRedoDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]", usesInheritance: true, ngImport: i0 });
2790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetRedoDirective, decorators: [{
3090
2791
  type: Directive,
3091
2792
  args: [{
3092
- selector: 'kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]'
2793
+ selector: 'kendo-toolbar-button[kendoSpreadsheetRedo]',
2794
+ standalone: true
3093
2795
  }]
3094
2796
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3095
2797
 
3096
2798
  /**
3097
2799
  * @hidden
3098
2800
  */
3099
- class SpreadsheetDecreaseDecimalDirective extends SpreadsheetCommandButton {
2801
+ class SpreadsheetUndoDirective extends SpreadsheetCommandButton {
3100
2802
  constructor(button, localization, spreadsheetService, toolsService) {
3101
- super('decreaseDecimal', button, localization, spreadsheetService, toolsService, {
3102
- command: 'AdjustDecimalsCommand'
2803
+ super('undo', button, localization, spreadsheetService, toolsService, {
2804
+ options: { property: 'undo' }
3103
2805
  });
3104
2806
  }
3105
2807
  clickHandler() {
3106
- const options = {
3107
- command: 'AdjustDecimalsCommand',
3108
- options: { value: -1 }
3109
- };
3110
- this.spreadsheetService.spreadsheet.executeCommand(options);
2808
+ this.spreadsheetService.spreadsheet.workbook.undoRedoStack['undo']();
3111
2809
  }
3112
2810
  }
3113
- SpreadsheetDecreaseDecimalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3114
- SpreadsheetDecreaseDecimalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]", usesInheritance: true, ngImport: i0 });
3115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetDecreaseDecimalDirective, decorators: [{
2811
+ SpreadsheetUndoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUndoDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
2812
+ SpreadsheetUndoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetUndoDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]", usesInheritance: true, ngImport: i0 });
2813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetUndoDirective, decorators: [{
3116
2814
  type: Directive,
3117
2815
  args: [{
3118
- selector: 'kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]'
2816
+ selector: 'kendo-toolbar-button[kendoSpreadsheetUndo]',
2817
+ standalone: true
3119
2818
  }]
3120
2819
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3121
2820
 
3122
2821
  /**
3123
2822
  * @hidden
3124
2823
  */
3125
- class SpreadsheetHorizontalTextAlignDirective {
3126
- constructor(host, localization, spreadsheetService, toolsService) {
3127
- this.host = host;
2824
+ class SpreadsheetSaveFileDirective {
2825
+ constructor(button, localization, spreadsheetService) {
2826
+ this.button = button;
2827
+ this.localization = localization;
3128
2828
  this.spreadsheetService = spreadsheetService;
3129
- this.toolsService = toolsService;
3130
- this.commandName = 'alignHorizontal';
3131
2829
  this.subs = new Subscription();
3132
- host.svgIcon = commandSVGIcons[this.commandName];
3133
- host.icon = commandIcons[this.commandName];
3134
- host.arrowIcon = true;
3135
- host.fillMode = 'flat';
3136
- host.data = ALIGNS.flatMap(item => item.commandName === 'textAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
3137
- this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3138
- host.title = localization.get(this.commandName);
3139
- host.textField = 'textKey';
3140
2830
  }
3141
2831
  ngOnInit() {
3142
- this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
2832
+ this.button.title = this.localization.get('saveFile');
2833
+ this.button.icon = commandIcons['download'];
2834
+ this.button.svgIcon = commandSVGIcons['download'];
2835
+ this.button.fillMode = 'flat';
2836
+ this.subs.add(this.button.click.subscribe(() => {
2837
+ const spreadsheet = this.spreadsheetService.spreadsheet;
2838
+ if (spreadsheet) {
2839
+ spreadsheet.saveAsExcel({
2840
+ ...spreadsheet.options.excel,
2841
+ saveAs,
2842
+ Workbook
2843
+ });
2844
+ }
2845
+ }));
3143
2846
  }
3144
2847
  ngOnDestroy() {
3145
2848
  this.subs.unsubscribe();
3146
2849
  }
3147
- onItemClick(item) {
3148
- const value = item.value || null;
3149
- const options = {
3150
- command: 'PropertyChangeCommand', options: { property: item.commandName, value }
2850
+ }
2851
+ SpreadsheetSaveFileDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetSaveFileDirective, deps: [{ token: i1$2.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
2852
+ SpreadsheetSaveFileDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetSaveFileDirective, isStandalone: true, selector: "[kendoSpreadsheetSaveFile]", ngImport: i0 });
2853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetSaveFileDirective, decorators: [{
2854
+ type: Directive,
2855
+ args: [{
2856
+ selector: '[kendoSpreadsheetSaveFile]',
2857
+ standalone: true
2858
+ }]
2859
+ }], ctorParameters: function () { return [{ type: i1$2.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }]; } });
2860
+
2861
+ /**
2862
+ * @hidden
2863
+ */
2864
+ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
2865
+ constructor(localization, spreadsheetService, toolbar) {
2866
+ super();
2867
+ this.localization = localization;
2868
+ this.spreadsheetService = spreadsheetService;
2869
+ this.toolbar = toolbar;
2870
+ this.icon = commandIcons['folderOpen'];
2871
+ this.svgIcon = commandSVGIcons['folderOpen'];
2872
+ this.tabindex = -1;
2873
+ this.onFileSelect = (e) => {
2874
+ const file = e.target.files[0];
2875
+ if (file) {
2876
+ this.spreadsheetService.spreadsheet.executeCommand({ command: 'OpenCommand', options: { file } });
2877
+ e.target.value = null;
2878
+ }
3151
2879
  };
3152
- this.spreadsheetService.spreadsheet.executeCommand(options);
2880
+ }
2881
+ /**
2882
+ * @hidden
2883
+ */
2884
+ messageFor(key) {
2885
+ return this.localization.get(key);
2886
+ }
2887
+ /**
2888
+ * @hidden
2889
+ */
2890
+ canFocus() {
2891
+ return true;
2892
+ }
2893
+ /**
2894
+ * @hidden
2895
+ */
2896
+ focus() {
2897
+ this.tabindex = 0;
2898
+ if (this.overflows) {
2899
+ this.overflowButtonElement.nativeElement.focus();
2900
+ }
2901
+ else {
2902
+ this.button.focus();
2903
+ }
2904
+ }
2905
+ /**
2906
+ * @hidden
2907
+ */
2908
+ handleKey() {
2909
+ this.tabindex = -1;
2910
+ return false;
2911
+ }
2912
+ }
2913
+ SpreadsheetLoadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetLoadFileComponent, deps: [{ token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2914
+ SpreadsheetLoadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetLoadFileComponent, isStandalone: true, selector: "kendo-spreadsheet-load-file-tool", providers: [
2915
+ {
2916
+ provide: ToolBarToolComponent,
2917
+ useExisting: forwardRef(() => SpreadsheetLoadFileComponent),
2918
+ },
2919
+ ], viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "button", first: true, predicate: ["button"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
2920
+ <ng-template #toolbarTemplate>
2921
+ <button
2922
+ #button
2923
+ type="button"
2924
+ kendoButton
2925
+ [title]="messageFor('loadFile')"
2926
+ fillMode="flat"
2927
+ [icon]="icon"
2928
+ [svgIcon]="svgIcon"
2929
+ (click)="fileSelectEl.click()"></button>
2930
+ <input
2931
+ #fileSelectEl
2932
+ type="file"
2933
+ (change)="onFileSelect($event)"
2934
+ [style.display]="'none'"
2935
+ aria-hidden="true"
2936
+ accept=".xlsx,.XLSX" />
2937
+ </ng-template>
2938
+ <ng-template #popupTemplate>
2939
+ <div
2940
+ #overflowButton
2941
+ tabindex="-1"
2942
+ role="menuitem"
2943
+ class="k-item k-menu-item"
2944
+ (click)="toolbar.toggle(false); popupFileSelectEl.click()">
2945
+ <span
2946
+ class="k-link k-menu-link">
2947
+ <kendo-icon-wrapper
2948
+ [name]="icon"
2949
+ [svgIcon]="svgIcon"
2950
+ ></kendo-icon-wrapper>
2951
+ <span class="k-menu-link-text">{{messageFor('loadFile')}}</span>
2952
+ </span>
2953
+ <input
2954
+ #popupFileSelectEl
2955
+ type="file"
2956
+ (change)="onFileSelect($event)"
2957
+ [style.display]="'none'"
2958
+ aria-hidden="true"
2959
+ accept=".xlsx,.XLSX" />
2960
+ </div>
2961
+ </ng-template>
2962
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2963
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetLoadFileComponent, decorators: [{
2964
+ type: Component,
2965
+ args: [{
2966
+ selector: 'kendo-spreadsheet-load-file-tool',
2967
+ providers: [
2968
+ {
2969
+ provide: ToolBarToolComponent,
2970
+ useExisting: forwardRef(() => SpreadsheetLoadFileComponent),
2971
+ },
2972
+ ],
2973
+ template: `
2974
+ <ng-template #toolbarTemplate>
2975
+ <button
2976
+ #button
2977
+ type="button"
2978
+ kendoButton
2979
+ [title]="messageFor('loadFile')"
2980
+ fillMode="flat"
2981
+ [icon]="icon"
2982
+ [svgIcon]="svgIcon"
2983
+ (click)="fileSelectEl.click()"></button>
2984
+ <input
2985
+ #fileSelectEl
2986
+ type="file"
2987
+ (change)="onFileSelect($event)"
2988
+ [style.display]="'none'"
2989
+ aria-hidden="true"
2990
+ accept=".xlsx,.XLSX" />
2991
+ </ng-template>
2992
+ <ng-template #popupTemplate>
2993
+ <div
2994
+ #overflowButton
2995
+ tabindex="-1"
2996
+ role="menuitem"
2997
+ class="k-item k-menu-item"
2998
+ (click)="toolbar.toggle(false); popupFileSelectEl.click()">
2999
+ <span
3000
+ class="k-link k-menu-link">
3001
+ <kendo-icon-wrapper
3002
+ [name]="icon"
3003
+ [svgIcon]="svgIcon"
3004
+ ></kendo-icon-wrapper>
3005
+ <span class="k-menu-link-text">{{messageFor('loadFile')}}</span>
3006
+ </span>
3007
+ <input
3008
+ #popupFileSelectEl
3009
+ type="file"
3010
+ (change)="onFileSelect($event)"
3011
+ [style.display]="'none'"
3012
+ aria-hidden="true"
3013
+ accept=".xlsx,.XLSX" />
3014
+ </div>
3015
+ </ng-template>
3016
+ `,
3017
+ standalone: true,
3018
+ imports: [ButtonComponent, IconWrapperComponent]
3019
+ }]
3020
+ }], ctorParameters: function () { return [{ type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: i1$2.ToolBarComponent, decorators: [{
3021
+ type: Inject,
3022
+ args: [ToolBarComponent]
3023
+ }] }]; }, propDecorators: { toolbarTemplate: [{
3024
+ type: ViewChild,
3025
+ args: ['toolbarTemplate', { static: true }]
3026
+ }], popupTemplate: [{
3027
+ type: ViewChild,
3028
+ args: ['popupTemplate', { static: true }]
3029
+ }], overflowButtonElement: [{
3030
+ type: ViewChild,
3031
+ args: ['overflowButton', { read: ElementRef, static: false }]
3032
+ }], button: [{
3033
+ type: ViewChild,
3034
+ args: ['button']
3035
+ }] } });
3036
+
3037
+ /**
3038
+ * @hidden
3039
+ */
3040
+ class MainMenuDirective {
3041
+ constructor(host, renderer) {
3042
+ this.host = host;
3043
+ this.renderer = renderer;
3044
+ }
3045
+ ngAfterViewInit() {
3046
+ isDocumentAvailable() && this.renderer.addClass(this.host.nativeElement.firstElementChild, 'k-spreadsheet-menu');
3153
3047
  }
3154
3048
  }
3155
- SpreadsheetHorizontalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3156
- SpreadsheetHorizontalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]", ngImport: i0 });
3157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetHorizontalTextAlignDirective, decorators: [{
3049
+ MainMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
3050
+ MainMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MainMenuDirective, isStandalone: true, selector: "[kendoSpreadsheetMenu]", ngImport: i0 });
3051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MainMenuDirective, decorators: [{
3158
3052
  type: Directive,
3159
3053
  args: [{
3160
- selector: '[kendoSpreadsheetHorizontalTextAlign]',
3054
+ selector: '[kendoSpreadsheetMenu]',
3055
+ standalone: true
3161
3056
  }]
3162
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3057
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
3163
3058
 
3164
3059
  /**
3165
3060
  * @hidden
3166
3061
  */
3167
- class SpreadsheetVerticalTextAlignDirective {
3168
- constructor(host, localization, spreadsheetService, toolsService) {
3169
- this.host = host;
3170
- this.spreadsheetService = spreadsheetService;
3171
- this.toolsService = toolsService;
3172
- this.commandName = 'alignVertical';
3173
- this.subs = new Subscription();
3174
- host.svgIcon = commandSVGIcons[this.commandName];
3175
- host.icon = commandIcons[this.commandName];
3176
- host.arrowIcon = true;
3177
- host.fillMode = 'flat';
3178
- host.data = ALIGNS.flatMap(item => item.commandName === 'verticalAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
3179
- this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
3180
- host.title = localization.get(this.commandName);
3181
- host.textField = 'textKey';
3182
- }
3183
- ngOnInit() {
3184
- this.subs.add(this.toolsService.stateChange.subscribe(state => this.host.data.forEach(i => i.cssClass = i.value === state[i.commandName] ? 'k-selected' : '')));
3185
- }
3186
- ngOnDestroy() {
3187
- this.subs.unsubscribe();
3188
- }
3189
- onItemClick(item) {
3190
- const value = item.value || null;
3191
- const options = {
3192
- command: 'PropertyChangeCommand', options: { property: item.commandName, value }
3193
- };
3194
- this.spreadsheetService.spreadsheet.executeCommand(options);
3062
+ class MessagesDirective extends ComponentMessages {
3063
+ }
3064
+ MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3065
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MessagesDirective, isStandalone: true, 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", formulaInput: "formulaInput", 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", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
3066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessagesDirective, decorators: [{
3067
+ type: Directive,
3068
+ args: [{
3069
+ selector: '[kendoSpreadsheetMessages]',
3070
+ standalone: true
3071
+ }]
3072
+ }], propDecorators: { home: [{
3073
+ type: Input
3074
+ }], file: [{
3075
+ type: Input
3076
+ }], insert: [{
3077
+ type: Input
3078
+ }], formatTab: [{
3079
+ type: Input
3080
+ }], saveFile: [{
3081
+ type: Input
3082
+ }], loadFile: [{
3083
+ type: Input
3084
+ }], bold: [{
3085
+ type: Input
3086
+ }], italic: [{
3087
+ type: Input
3088
+ }], underline: [{
3089
+ type: Input
3090
+ }], format: [{
3091
+ type: Input
3092
+ }], fontFamily: [{
3093
+ type: Input
3094
+ }], fontSize: [{
3095
+ type: Input
3096
+ }], undo: [{
3097
+ type: Input
3098
+ }], redo: [{
3099
+ type: Input
3100
+ }], background: [{
3101
+ type: Input
3102
+ }], color: [{
3103
+ type: Input
3104
+ }], gridLines: [{
3105
+ type: Input
3106
+ }], addColumnLeft: [{
3107
+ type: Input
3108
+ }], addColumnRight: [{
3109
+ type: Input
3110
+ }], addRowBelow: [{
3111
+ type: Input
3112
+ }], addRowAbove: [{
3113
+ type: Input
3114
+ }], deleteColumn: [{
3115
+ type: Input
3116
+ }], deleteRow: [{
3117
+ type: Input
3118
+ }], wrap: [{
3119
+ type: Input
3120
+ }], align: [{
3121
+ type: Input
3122
+ }], alignHorizontal: [{
3123
+ type: Input
3124
+ }], alignVertical: [{
3125
+ type: Input
3126
+ }], alignLeft: [{
3127
+ type: Input
3128
+ }], alignCenter: [{
3129
+ type: Input
3130
+ }], alignRight: [{
3131
+ type: Input
3132
+ }], alignJustify: [{
3133
+ type: Input
3134
+ }], alignTop: [{
3135
+ type: Input
3136
+ }], alignMiddle: [{
3137
+ type: Input
3138
+ }], alignBottom: [{
3139
+ type: Input
3140
+ }], dialogApply: [{
3141
+ type: Input
3142
+ }], dialogCancel: [{
3143
+ type: Input
3144
+ }], dialogDelete: [{
3145
+ type: Input
3146
+ }], dialogRename: [{
3147
+ type: Input
3148
+ }], dialogInsert: [{
3149
+ type: Input
3150
+ }], dialogRemoveLink: [{
3151
+ type: Input
3152
+ }], delete: [{
3153
+ type: Input
3154
+ }], rename: [{
3155
+ type: Input
3156
+ }], nameBox: [{
3157
+ type: Input
3158
+ }], formulaInput: [{
3159
+ type: Input
3160
+ }], addSheet: [{
3161
+ type: Input
3162
+ }], sheetsMenu: [{
3163
+ type: Input
3164
+ }], view: [{
3165
+ type: Input
3166
+ }], merge: [{
3167
+ type: Input
3168
+ }], mergeHorizontally: [{
3169
+ type: Input
3170
+ }], mergeVertically: [{
3171
+ type: Input
3172
+ }], mergeAll: [{
3173
+ type: Input
3174
+ }], unmerge: [{
3175
+ type: Input
3176
+ }], insertLink: [{
3177
+ type: Input
3178
+ }], increaseDecimal: [{
3179
+ type: Input
3180
+ }], decreaseDecimal: [{
3181
+ type: Input
3182
+ }], increaseFontSize: [{
3183
+ type: Input
3184
+ }], decreaseFontSize: [{
3185
+ type: Input
3186
+ }], openUnsupported: [{
3187
+ type: Input
3188
+ }], modifyMerged: [{
3189
+ type: Input
3190
+ }], cannotModifyDisabled: [{
3191
+ type: Input
3192
+ }], dialogOk: [{
3193
+ type: Input
3194
+ }], dialogError: [{
3195
+ type: Input
3196
+ }], duplicateSheetName: [{
3197
+ type: Input
3198
+ }], copy: [{
3199
+ type: Input
3200
+ }], cut: [{
3201
+ type: Input
3202
+ }], paste: [{
3203
+ type: Input
3204
+ }], hideRow: [{
3205
+ type: Input
3206
+ }], unhideRow: [{
3207
+ type: Input
3208
+ }], hideColumn: [{
3209
+ type: Input
3210
+ }], unhideColumn: [{
3211
+ type: Input
3212
+ }], sheetDelete: [{
3213
+ type: Input
3214
+ }], sheetRename: [{
3215
+ type: Input
3216
+ }], sheetHide: [{
3217
+ type: Input
3218
+ }], sheetDuplicate: [{
3219
+ type: Input
3220
+ }], sheetMoveLeft: [{
3221
+ type: Input
3222
+ }], sheetMoveRight: [{
3223
+ type: Input
3224
+ }], invalidNameError: [{
3225
+ type: Input
3226
+ }] } });
3227
+
3228
+ /**
3229
+ * @hidden
3230
+ */
3231
+ class LocalizedMessagesDirective extends MessagesDirective {
3232
+ constructor(service) {
3233
+ super();
3234
+ this.service = service;
3195
3235
  }
3196
3236
  }
3197
- SpreadsheetVerticalTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
3198
- SpreadsheetVerticalTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]", ngImport: i0 });
3199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetVerticalTextAlignDirective, decorators: [{
3237
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3238
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
3239
+ provide: MessagesDirective,
3240
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
3241
+ }], usesInheritance: true, ngImport: i0 });
3242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
3200
3243
  type: Directive,
3201
3244
  args: [{
3202
- selector: '[kendoSpreadsheetVerticalTextAlign]',
3245
+ providers: [{
3246
+ provide: MessagesDirective,
3247
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
3248
+ }],
3249
+ selector: '[kendoSpreadsheetLocalizedMessages]',
3250
+ standalone: true
3203
3251
  }]
3204
- }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
3252
+ }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
3205
3253
 
3206
3254
  /**
3207
3255
  * Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
@@ -3770,7 +3818,7 @@ class SpreadsheetComponent {
3770
3818
  }
3771
3819
  }
3772
3820
  SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$3.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
3773
- SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", formulaListMaxHeight: "formulaListMaxHeight", 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: [
3821
+ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetComponent, isStandalone: true, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", formulaListMaxHeight: "formulaListMaxHeight", 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: [
3774
3822
  SpreadsheetLocalizationService,
3775
3823
  SpreadsheetService,
3776
3824
  {
@@ -4049,7 +4097,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
4049
4097
  (select)="onContextMenuSelect($event)"></kendo-contextmenu>
4050
4098
 
4051
4099
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4052
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i9.MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { kind: "component", type: i9.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { kind: "component", type: i9.ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { kind: "component", type: i1$2.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", 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"] }, { kind: "component", type: i1$2.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "component", 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"] }, { kind: "component", type: i1$2.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { kind: "component", type: i3.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { kind: "directive", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: ["formulaListMaxHeight"] }, { kind: "component", type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { kind: "component", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { kind: "directive", type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { kind: "directive", type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { kind: "directive", type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { kind: "component", type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { kind: "directive", type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { kind: "directive", type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { kind: "directive", type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { kind: "directive", type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { kind: "component", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { kind: "component", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { kind: "component", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { kind: "component", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { kind: "directive", type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { kind: "directive", type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { kind: "directive", type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { kind: "directive", type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { kind: "directive", type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { kind: "directive", type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { kind: "directive", type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { kind: "directive", type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { kind: "directive", type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { kind: "directive", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { kind: "directive", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { kind: "directive", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { kind: "directive", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { kind: "directive", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { kind: "directive", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { kind: "directive", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { kind: "directive", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }] });
4100
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { kind: "component", type: MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { kind: "directive", type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { kind: "component", type: 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"] }, { kind: "directive", type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "directive", type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { kind: "directive", type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { kind: "component", type: ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { kind: "component", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { kind: "component", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { kind: "directive", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { kind: "directive", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { kind: "directive", type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { kind: "directive", type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { kind: "directive", type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { kind: "component", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { kind: "component", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { kind: "component", type: 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"] }, { kind: "directive", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { kind: "directive", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { kind: "directive", type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { kind: "directive", type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { kind: "directive", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { kind: "directive", type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { kind: "directive", type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { kind: "directive", type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { kind: "directive", type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { kind: "directive", type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { kind: "directive", type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { kind: "directive", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { kind: "directive", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { kind: "directive", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { kind: "directive", type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { kind: "component", type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: ["formulaListMaxHeight"] }, { kind: "component", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { kind: "component", type: ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
4053
4101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetComponent, decorators: [{
4054
4102
  type: Component,
4055
4103
  args: [{
@@ -4336,6 +4384,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4336
4384
 
4337
4385
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4338
4386
  `,
4387
+ standalone: true,
4388
+ imports: [LocalizedMessagesDirective, MenuComponent, MainMenuDirective, NgFor, MenuItemComponent, NgIf, ToolBarComponent, SpreadsheetLoadFileComponent, ToolBarButtonComponent, SpreadsheetSaveFileDirective, ToolBarButtonGroupComponent, SpreadsheetUndoDirective, SpreadsheetRedoDirective, ToolBarSeparatorComponent, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetBoldDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetForeColorComponent, SpreadsheetBackColorComponent, ToolBarDropDownButtonComponent, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetFormatDirective, SpreadsheetInsertLinkDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetMergeDirective, SpreadsheetGridLinesDirective, NameBoxComponent, IconWrapperComponent, FormulaInputDirective, SheetsBarComponent, ContextMenuComponent, WatermarkOverlayComponent]
4339
4389
  }]
4340
4390
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$3.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }, { type: i1$1.DialogService }]; }, propDecorators: { formulaBarInputRef: [{
4341
4391
  type: ViewChild,
@@ -4413,7 +4463,7 @@ class CustomMessagesComponent extends MessagesDirective {
4413
4463
  }
4414
4464
  }
4415
4465
  CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4416
- CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
4466
+ CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-spreadsheet-messages", providers: [
4417
4467
  {
4418
4468
  provide: MessagesDirective,
4419
4469
  useExisting: forwardRef(() => CustomMessagesComponent)
@@ -4429,7 +4479,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4429
4479
  }
4430
4480
  ],
4431
4481
  // eslint-disable-next-line @angular-eslint/directive-selector
4432
- selector: 'kendo-spreadsheet-messages'
4482
+ selector: 'kendo-spreadsheet-messages',
4483
+ standalone: true
4433
4484
  }]
4434
4485
  }], ctorParameters: function () { return [{ type: i2.LocalizationService }]; } });
4435
4486
 
@@ -4467,60 +4518,19 @@ class SpreadsheetTextAlignDirective {
4467
4518
  }
4468
4519
  }
4469
4520
  SpreadsheetTextAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextAlignDirective, deps: [{ token: i1$2.ToolBarDropDownButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
4470
- SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
4521
+ SpreadsheetTextAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SpreadsheetTextAlignDirective, isStandalone: true, selector: "[kendoSpreadsheetTextAlign]", ngImport: i0 });
4471
4522
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetTextAlignDirective, decorators: [{
4472
4523
  type: Directive,
4473
4524
  args: [{
4474
4525
  selector: '[kendoSpreadsheetTextAlign]',
4526
+ standalone: true
4475
4527
  }]
4476
4528
  }], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
4477
4529
 
4478
- const DIRECTIVES = [
4479
- SpreadsheetComponent,
4480
- MessagesDirective,
4481
- LocalizedMessagesDirective,
4482
- CustomMessagesComponent,
4483
- FormulaListComponent,
4484
- FormulaInputDirective,
4485
- NameBoxComponent,
4486
- SheetsBarComponent,
4487
- SpreadsheetBoldDirective,
4488
- SpreadsheetItalicDirective,
4489
- SpreadsheetUnderlineDirective,
4490
- SpreadsheetLoadFileComponent,
4491
- SpreadsheetSaveFileDirective,
4492
- SpreadsheetFormatDirective,
4493
- SpreadsheetUndoDirective,
4494
- SpreadsheetRedoDirective,
4495
- SpreadsheetFontFamilyComponent,
4496
- SpreadsheetFontSizeComponent,
4497
- SpreadsheetBackColorComponent,
4498
- SpreadsheetForeColorComponent,
4499
- SpreadsheetGridLinesDirective,
4500
- SpreadsheetAddColumnLeftButtonDirective,
4501
- SpreadsheetAddColumnRightButtonDirective,
4502
- SpreadsheetAddRowAboveButtonDirective,
4503
- SpreadsheetAddRowBelowButtonDirective,
4504
- SpreadsheetDeleteColumnButtonDirective,
4505
- SpreadsheetDeleteRowButtonDirective,
4506
- SpreadsheetTextAlignDirective,
4507
- SpreadsheetTextWrapDirective,
4508
- FontFamilyDropDownListComponent,
4509
- FontSizeDropDownListComponent,
4510
- DialogContentComponent,
4511
- MainMenuDirective,
4512
- ActionDialogComponent,
4513
- SpreadsheetMergeDirective,
4514
- SpreadsheetInsertLinkDirective,
4515
- InsertLinkDialogComponent,
4516
- SpreadsheetIncreaseFontSizeDirective,
4517
- SpreadsheetDecreaseFontSizeDirective,
4518
- SpreadsheetIncreaseDecimalDirective,
4519
- SpreadsheetDecreaseDecimalDirective,
4520
- SpreadsheetHorizontalTextAlignDirective,
4521
- SpreadsheetVerticalTextAlignDirective
4522
- ];
4523
- const EXPORTS = [
4530
+ /**
4531
+ * Utility array that contains all `@progress/kendo-angular-spreadsheet` related components and directives.
4532
+ */
4533
+ const KENDO_SPREADSHEET = [
4524
4534
  SpreadsheetComponent,
4525
4535
  CustomMessagesComponent,
4526
4536
  SpreadsheetBoldDirective,
@@ -4553,6 +4563,8 @@ const EXPORTS = [
4553
4563
  SpreadsheetHorizontalTextAlignDirective,
4554
4564
  SpreadsheetVerticalTextAlignDirective
4555
4565
  ];
4566
+
4567
+ // IMPORTANT: NgModule export kept for backwards compatibility
4556
4568
  /**
4557
4569
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
4558
4570
  * definition for the Spreadsheet component.
@@ -4560,130 +4572,14 @@ const EXPORTS = [
4560
4572
  class SpreadsheetModule {
4561
4573
  }
4562
4574
  SpreadsheetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4563
- SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, declarations: [SpreadsheetComponent,
4564
- MessagesDirective,
4565
- LocalizedMessagesDirective,
4566
- CustomMessagesComponent,
4567
- FormulaListComponent,
4568
- FormulaInputDirective,
4569
- NameBoxComponent,
4570
- SheetsBarComponent,
4571
- SpreadsheetBoldDirective,
4572
- SpreadsheetItalicDirective,
4573
- SpreadsheetUnderlineDirective,
4574
- SpreadsheetLoadFileComponent,
4575
- SpreadsheetSaveFileDirective,
4576
- SpreadsheetFormatDirective,
4577
- SpreadsheetUndoDirective,
4578
- SpreadsheetRedoDirective,
4579
- SpreadsheetFontFamilyComponent,
4580
- SpreadsheetFontSizeComponent,
4581
- SpreadsheetBackColorComponent,
4582
- SpreadsheetForeColorComponent,
4583
- SpreadsheetGridLinesDirective,
4584
- SpreadsheetAddColumnLeftButtonDirective,
4585
- SpreadsheetAddColumnRightButtonDirective,
4586
- SpreadsheetAddRowAboveButtonDirective,
4587
- SpreadsheetAddRowBelowButtonDirective,
4588
- SpreadsheetDeleteColumnButtonDirective,
4589
- SpreadsheetDeleteRowButtonDirective,
4590
- SpreadsheetTextAlignDirective,
4591
- SpreadsheetTextWrapDirective,
4592
- FontFamilyDropDownListComponent,
4593
- FontSizeDropDownListComponent,
4594
- DialogContentComponent,
4595
- MainMenuDirective,
4596
- ActionDialogComponent,
4597
- SpreadsheetMergeDirective,
4598
- SpreadsheetInsertLinkDirective,
4599
- InsertLinkDialogComponent,
4600
- SpreadsheetIncreaseFontSizeDirective,
4601
- SpreadsheetDecreaseFontSizeDirective,
4602
- SpreadsheetIncreaseDecimalDirective,
4603
- SpreadsheetDecreaseDecimalDirective,
4604
- SpreadsheetHorizontalTextAlignDirective,
4605
- SpreadsheetVerticalTextAlignDirective], imports: [CommonModule,
4606
- ButtonsModule,
4607
- ComboBoxModule,
4608
- DropDownListModule,
4609
- DialogModule,
4610
- EventsModule,
4611
- IconsModule,
4612
- IntlModule,
4613
- MenusModule,
4614
- PopupModule,
4615
- TabStripModule,
4616
- ToolBarModule,
4617
- InputsModule,
4618
- WatermarkModule,
4619
- LabelModule], exports: [SpreadsheetComponent,
4620
- CustomMessagesComponent,
4621
- SpreadsheetBoldDirective,
4622
- SpreadsheetItalicDirective,
4623
- SpreadsheetUnderlineDirective,
4624
- SpreadsheetLoadFileComponent,
4625
- SpreadsheetSaveFileDirective,
4626
- SpreadsheetFormatDirective,
4627
- SpreadsheetUndoDirective,
4628
- SpreadsheetRedoDirective,
4629
- SpreadsheetFontFamilyComponent,
4630
- SpreadsheetFontSizeComponent,
4631
- SpreadsheetBackColorComponent,
4632
- SpreadsheetForeColorComponent,
4633
- SpreadsheetGridLinesDirective,
4634
- SpreadsheetAddColumnLeftButtonDirective,
4635
- SpreadsheetAddColumnRightButtonDirective,
4636
- SpreadsheetAddRowAboveButtonDirective,
4637
- SpreadsheetAddRowBelowButtonDirective,
4638
- SpreadsheetDeleteColumnButtonDirective,
4639
- SpreadsheetDeleteRowButtonDirective,
4640
- SpreadsheetTextAlignDirective,
4641
- SpreadsheetTextWrapDirective,
4642
- SpreadsheetMergeDirective,
4643
- SpreadsheetInsertLinkDirective,
4644
- SpreadsheetIncreaseFontSizeDirective,
4645
- SpreadsheetDecreaseFontSizeDirective,
4646
- SpreadsheetIncreaseDecimalDirective,
4647
- SpreadsheetDecreaseDecimalDirective,
4648
- SpreadsheetHorizontalTextAlignDirective,
4649
- SpreadsheetVerticalTextAlignDirective] });
4650
- SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, imports: [CommonModule,
4651
- ButtonsModule,
4652
- ComboBoxModule,
4653
- DropDownListModule,
4654
- DialogModule,
4655
- EventsModule,
4656
- IconsModule,
4657
- IntlModule,
4658
- MenusModule,
4659
- PopupModule,
4660
- TabStripModule,
4661
- ToolBarModule,
4662
- InputsModule,
4663
- WatermarkModule,
4664
- LabelModule] });
4575
+ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, imports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective], exports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective] });
4576
+ SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, providers: [IconsService, PopupService, ResizeBatchService, DialogContainerService, DialogService, WindowService, WindowContainerService], imports: [SpreadsheetComponent, SpreadsheetLoadFileComponent, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent] });
4665
4577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SpreadsheetModule, decorators: [{
4666
4578
  type: NgModule,
4667
4579
  args: [{
4668
- declarations: [DIRECTIVES],
4669
- exports: [EXPORTS],
4670
- imports: [
4671
- CommonModule,
4672
- ButtonsModule,
4673
- ComboBoxModule,
4674
- DropDownListModule,
4675
- DialogModule,
4676
- EventsModule,
4677
- IconsModule,
4678
- IntlModule,
4679
- MenusModule,
4680
- PopupModule,
4681
- TabStripModule,
4682
- ToolBarModule,
4683
- InputsModule,
4684
- WatermarkModule,
4685
- LabelModule
4686
- ]
4580
+ exports: [...KENDO_SPREADSHEET],
4581
+ imports: [...KENDO_SPREADSHEET],
4582
+ providers: [IconsService, PopupService, ResizeBatchService, DialogContainerService, DialogService, WindowService, WindowContainerService]
4687
4583
  }]
4688
4584
  }] });
4689
4585