@progress/kendo-angular-spreadsheet 21.1.1-develop.2 → 21.2.0-develop.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,6 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { Injectable, EventEmitter, Output, Inject, Optional, Component, Input, Directive, HostBinding, ElementRef, ViewChild, ViewChildren, HostListener, InjectionToken, forwardRef, ViewContainerRef, NgModule } from '@angular/core';
7
- import { NgFor, NgIf, NgStyle, NgSwitch, NgSwitchCase, NgForOf } from '@angular/common';
8
7
  import { Subject, Subscription } from 'rxjs';
9
8
  import { take, map } from 'rxjs/operators';
10
9
  import { validatePackage } from '@progress/kendo-licensing';
@@ -18,7 +17,7 @@ import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progr
18
17
  import * as i1$1 from '@progress/kendo-angular-popup';
19
18
  import { PopupService } from '@progress/kendo-angular-popup';
20
19
  import { MenuComponent, MenuItemComponent, ContextMenuComponent } from '@progress/kendo-angular-menu';
21
- import { EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeNumpadKeys, Keys, hasObservers, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
20
+ import { EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeKeys, Keys, hasObservers, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
22
21
  import * as i1$2 from '@progress/kendo-angular-dialog';
23
22
  import { DialogContentBase, DialogActionsComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
24
23
  import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
@@ -29,6 +28,7 @@ import { LabelComponent } from '@progress/kendo-angular-label';
29
28
  import { ButtonComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
30
29
  import { TabStripComponent, TabStripTabComponent, TabTemplateDirective } from '@progress/kendo-angular-layout';
31
30
  import { ComboBoxComponent, DropDownListComponent, ItemTemplateDirective } from '@progress/kendo-angular-dropdowns';
31
+ import { NgStyle } from '@angular/common';
32
32
  import { saveAs } from '@progress/kendo-file-saver';
33
33
  import { Workbook } from '@progress/kendo-ooxml';
34
34
  import * as i4 from '@angular/forms';
@@ -43,8 +43,8 @@ const packageMetadata = {
43
43
  productName: 'Kendo UI for Angular',
44
44
  productCode: 'KENDOUIANGULAR',
45
45
  productCodes: ['KENDOUIANGULAR'],
46
- publishDate: 1763729190,
47
- version: '21.1.1-develop.2',
46
+ publishDate: 1764593023,
47
+ version: '21.2.0-develop.10',
48
48
  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',
49
49
  };
50
50
 
@@ -221,25 +221,27 @@ class FormulaListComponent {
221
221
  ev.preventDefault();
222
222
  };
223
223
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: SpreadsheetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
224
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, ngImport: i0, template: `
224
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, ngImport: i0, template: `
225
225
  <ul #ulRef
226
- class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
227
- role="menu"
228
- [style.overflowY]="'auto'"
229
- [style.maxHeight]="maxHeight"
230
- [kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
231
- <li *ngFor="let item of data"
232
- (click)="itemClick(item.text)"
233
- class="k-list-item"
234
- role="menuitem">
235
- <kendo-icon-wrapper
236
- [svgIcon]="formulaFxIcon"
237
- name="formula-fx"
238
- ></kendo-icon-wrapper>
239
- <span className="k-list-item-text">{{item.text}}</span>
240
- </li>
226
+ class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
227
+ role="menu"
228
+ [style.overflowY]="'auto'"
229
+ [style.maxHeight]="maxHeight"
230
+ [kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
231
+ @for (item of data; track item) {
232
+ <li
233
+ (click)="itemClick(item.text)"
234
+ class="k-list-item"
235
+ role="menuitem">
236
+ <kendo-icon-wrapper
237
+ [svgIcon]="formulaFxIcon"
238
+ name="formula-fx"
239
+ ></kendo-icon-wrapper>
240
+ <span className="k-list-item-text">{{item.text}}</span>
241
+ </li>
242
+ }
241
243
  </ul>
242
- `, 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"] }] });
244
+ `, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
243
245
  }
244
246
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, decorators: [{
245
247
  type: Component,
@@ -247,25 +249,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
247
249
  selector: 'kendo-spreadsheet-formula-list',
248
250
  template: `
249
251
  <ul #ulRef
250
- class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
251
- role="menu"
252
- [style.overflowY]="'auto'"
253
- [style.maxHeight]="maxHeight"
254
- [kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
255
- <li *ngFor="let item of data"
256
- (click)="itemClick(item.text)"
257
- class="k-list-item"
258
- role="menuitem">
259
- <kendo-icon-wrapper
260
- [svgIcon]="formulaFxIcon"
261
- name="formula-fx"
262
- ></kendo-icon-wrapper>
263
- <span className="k-list-item-text">{{item.text}}</span>
264
- </li>
252
+ class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
253
+ role="menu"
254
+ [style.overflowY]="'auto'"
255
+ [style.maxHeight]="maxHeight"
256
+ [kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
257
+ @for (item of data; track item) {
258
+ <li
259
+ (click)="itemClick(item.text)"
260
+ class="k-list-item"
261
+ role="menuitem">
262
+ <kendo-icon-wrapper
263
+ [svgIcon]="formulaFxIcon"
264
+ name="formula-fx"
265
+ ></kendo-icon-wrapper>
266
+ <span className="k-list-item-text">{{item.text}}</span>
267
+ </li>
268
+ }
265
269
  </ul>
266
- `,
270
+ `,
267
271
  standalone: true,
268
- imports: [EventsOutsideAngularDirective, NgFor, IconWrapperComponent]
272
+ imports: [EventsOutsideAngularDirective, IconWrapperComponent]
269
273
  }]
270
274
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: SpreadsheetService }, { type: i0.Renderer2 }], propDecorators: { maxHeight: [{
271
275
  type: Input
@@ -744,50 +748,54 @@ class ActionDialogComponent extends DialogContentBase {
744
748
  this.commandName = args.commandName;
745
749
  }
746
750
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1$2.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
747
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
748
- <ng-container *ngIf="commandName === 'delete'">
749
- <p>The deleted sheet data will be lost.</p>
750
- <p>Are you sure you want to proceed?</p>
751
- </ng-container>
752
-
753
- <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
751
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
752
+ @if (commandName === 'delete') {
753
+ <p>The deleted sheet data will be lost.</p>
754
+ <p>Are you sure you want to proceed?</p>
755
+ }
756
+
757
+ @if (commandName === 'rename') {
758
+ <form class="k-form k-form-md" method="dialog">
754
759
  <div class="k-form-field">
755
- <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
756
- <div class="k-form-field-wrap">
757
- <kendo-textbox #textbox
758
- autocomplete="off"
759
- placeholder="Sheet name"
760
- [(value)]="value">
761
- </kendo-textbox>
762
- </div>
760
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
761
+ <div class="k-form-field-wrap">
762
+ <kendo-textbox #textbox
763
+ autocomplete="off"
764
+ placeholder="Sheet name"
765
+ [(value)]="value">
766
+ </kendo-textbox>
767
+ </div>
763
768
  </div>
764
- </form>
765
- `, 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"] }] });
769
+ </form>
770
+ }
771
+ `, 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"] }] });
766
772
  }
767
773
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionDialogComponent, decorators: [{
768
774
  type: Component,
769
775
  args: [{
770
776
  template: `
771
- <ng-container *ngIf="commandName === 'delete'">
772
- <p>The deleted sheet data will be lost.</p>
773
- <p>Are you sure you want to proceed?</p>
774
- </ng-container>
775
-
776
- <form class="k-form k-form-md" *ngIf="commandName === 'rename'" method="dialog">
777
+ @if (commandName === 'delete') {
778
+ <p>The deleted sheet data will be lost.</p>
779
+ <p>Are you sure you want to proceed?</p>
780
+ }
781
+
782
+ @if (commandName === 'rename') {
783
+ <form class="k-form k-form-md" method="dialog">
777
784
  <div class="k-form-field">
778
- <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
779
- <div class="k-form-field-wrap">
780
- <kendo-textbox #textbox
781
- autocomplete="off"
782
- placeholder="Sheet name"
783
- [(value)]="value">
784
- </kendo-textbox>
785
- </div>
785
+ <kendo-label [for]="textbox" text="Rename sheet"></kendo-label>
786
+ <div class="k-form-field-wrap">
787
+ <kendo-textbox #textbox
788
+ autocomplete="off"
789
+ placeholder="Sheet name"
790
+ [(value)]="value">
791
+ </kendo-textbox>
792
+ </div>
786
793
  </div>
787
- </form>
788
- `,
794
+ </form>
795
+ }
796
+ `,
789
797
  standalone: true,
790
- imports: [NgIf, LabelComponent, TextBoxComponent]
798
+ imports: [LabelComponent, TextBoxComponent]
791
799
  }]
792
800
  }], ctorParameters: () => [{ type: i1$2.DialogRef }] });
793
801
 
@@ -802,9 +810,11 @@ class SheetsBarComponent {
802
810
  dialogService;
803
811
  ngZone;
804
812
  hostClasses = true;
813
+ trackByItemKey = (index, item) => this.hiding ? item : index;
805
814
  sheets;
806
815
  sheetDescriptors;
807
816
  subs = new Subscription();
817
+ hiding = false;
808
818
  constructor(spreadsheetService, element, renderer, localization, dialogService, ngZone) {
809
819
  this.spreadsheetService = spreadsheetService;
810
820
  this.element = element;
@@ -997,6 +1007,7 @@ class SheetsBarComponent {
997
1007
  this.notifySheetsChange();
998
1008
  },
999
1009
  hide: (sheet) => {
1010
+ this.hiding = true;
1000
1011
  sheet.state = 'hidden';
1001
1012
  const sheets = this.spreadsheetService.spreadsheet.sheets();
1002
1013
  const sheetIndex = sheets.findIndex(s => s.name() === sheet.text);
@@ -1022,7 +1033,7 @@ class SheetsBarComponent {
1022
1033
  return;
1023
1034
  }
1024
1035
  const altKey = ev.altKey;
1025
- const code = normalizeNumpadKeys(ev);
1036
+ const code = normalizeKeys(ev);
1026
1037
  const arrowDown = code === Keys.ArrowDown;
1027
1038
  const shouldOpenDdb = altKey && arrowDown && !ddb.isOpen;
1028
1039
  if (shouldOpenDdb) {
@@ -1052,65 +1063,66 @@ class SheetsBarComponent {
1052
1063
  svgIcon: this.hiddenStateSVGIcons[sheet.state]
1053
1064
  }));
1054
1065
  });
1055
- this.ngZone.onStable.pipe(take(1)).subscribe(() => this.spreadsheetService.spreadsheet.view.clipboard.focus());
1066
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => { this.spreadsheetService.spreadsheet.view.clipboard.focus(); this.hiding = false; });
1056
1067
  }
1057
1068
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$2.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1058
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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: `
1069
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
1059
1070
  <button kendoButton #addButton
1060
- [title]="messageFor('addSheet')"
1061
- type="button"
1062
- fillMode="flat"
1063
- class="k-spreadsheet-sheet-add"
1064
- icon="plus"
1065
- [svgIcon]="plusIcon"
1066
- [kendoEventsOutsideAngular]="{click: onAddClick}"
1067
- [attr.aria-controls]="tablistId">
1071
+ [title]="messageFor('addSheet')"
1072
+ type="button"
1073
+ fillMode="flat"
1074
+ class="k-spreadsheet-sheet-add"
1075
+ icon="plus"
1076
+ [svgIcon]="plusIcon"
1077
+ [kendoEventsOutsideAngular]="{click: onAddClick}"
1078
+ [attr.aria-controls]="tablistId">
1068
1079
  </button>
1069
1080
  <kendo-dropdownbutton #menuButton
1070
- fillMode="flat"
1071
- buttonClass="k-spreadsheet-sheets-menu"
1072
- icon="menu"
1073
- [svgIcon]="menuIcon"
1074
- [data]="sheetsMenuList"
1075
- (itemClick)="onMenuItemClick($event)"
1076
- (open)="onOpen(menuButton)"
1077
- [buttonAttributes]="{title: messageFor('sheetsMenu')}"
1078
- [attr.aria-controls]="tablistId">
1081
+ fillMode="flat"
1082
+ buttonClass="k-spreadsheet-sheets-menu"
1083
+ icon="menu"
1084
+ [svgIcon]="menuIcon"
1085
+ [data]="sheetsMenuList"
1086
+ (itemClick)="onMenuItemClick($event)"
1087
+ (open)="onOpen(menuButton)"
1088
+ [buttonAttributes]="{title: messageFor('sheetsMenu')}"
1089
+ [attr.aria-controls]="tablistId">
1079
1090
  </kendo-dropdownbutton>
1080
1091
  <kendo-tabstrip #tabstrip
1081
- [tabPosition]="'bottom'"
1082
- [showContentArea]="false"
1083
- [scrollable]="{ scrollButtonsPosition: 'end', mouseScroll: false }"
1084
- class="k-spreadsheet-sheets"
1085
- (tabSelect)="onTabSelect($event)">
1086
- <ng-container *ngFor="let sheet of sheets">
1087
- <kendo-tabstrip-tab
1088
- *ngIf="sheet.state === 'visible'"
1089
- [title]="sheet.text"
1090
- [selected]="sheet.text === activeSheet">
1091
- <ng-template kendoTabTemplate>
1092
- <span class="k-link">
1093
- <span class="k-link-text">{{sheet.text}}</span>
1094
- </span>
1095
- <span class="k-item-actions">
1096
- <kendo-dropdownbutton #sheetDdb
1097
- fillMode="flat"
1098
- icon="caret-alt-down"
1099
- [svgIcon]="caretAltDownIcon"
1100
- buttonClass="k-menu-button"
1101
- [data]="sheet.sheetActions"
1102
- [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
1103
- (open)="onOpen(sheetDdb)"
1104
- (close)="onClose()"
1105
- (click)="$event.stopPropagation()"
1106
- (itemClick)="onActionClick($event, sheet)">
1107
- </kendo-dropdownbutton>
1108
- </span>
1109
- </ng-template>
1110
- </kendo-tabstrip-tab>
1111
- </ng-container>
1092
+ [tabPosition]="'bottom'"
1093
+ [showContentArea]="false"
1094
+ [scrollable]="{ scrollButtonsPosition: 'end', mouseScroll: false }"
1095
+ class="k-spreadsheet-sheets"
1096
+ (tabSelect)="onTabSelect($event)">
1097
+ @for (sheet of sheets; track trackByItemKey($index, sheet)) {
1098
+ @if (sheet.state === 'visible') {
1099
+ <kendo-tabstrip-tab
1100
+ [title]="sheet.text"
1101
+ [selected]="sheet.text === activeSheet">
1102
+ <ng-template kendoTabTemplate>
1103
+ <span class="k-link">
1104
+ <span class="k-link-text">{{sheet.text}}</span>
1105
+ </span>
1106
+ <span class="k-item-actions">
1107
+ <kendo-dropdownbutton #sheetDdb
1108
+ fillMode="flat"
1109
+ icon="caret-alt-down"
1110
+ [svgIcon]="caretAltDownIcon"
1111
+ buttonClass="k-menu-button"
1112
+ [data]="sheet.sheetActions"
1113
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
1114
+ (open)="onOpen(sheetDdb)"
1115
+ (close)="onClose()"
1116
+ (click)="$event.stopPropagation()"
1117
+ (itemClick)="onActionClick($event, sheet)">
1118
+ </kendo-dropdownbutton>
1119
+ </span>
1120
+ </ng-template>
1121
+ </kendo-tabstrip-tab>
1122
+ }
1123
+ }
1112
1124
  </kendo-tabstrip>
1113
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "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", "size", "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]" }] });
1125
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "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", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { 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]" }] });
1114
1126
  }
1115
1127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SheetsBarComponent, decorators: [{
1116
1128
  type: Component,
@@ -1118,62 +1130,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1118
1130
  selector: '[kendoSpreadsheetSheetsBar]',
1119
1131
  template: `
1120
1132
  <button kendoButton #addButton
1121
- [title]="messageFor('addSheet')"
1122
- type="button"
1123
- fillMode="flat"
1124
- class="k-spreadsheet-sheet-add"
1125
- icon="plus"
1126
- [svgIcon]="plusIcon"
1127
- [kendoEventsOutsideAngular]="{click: onAddClick}"
1128
- [attr.aria-controls]="tablistId">
1133
+ [title]="messageFor('addSheet')"
1134
+ type="button"
1135
+ fillMode="flat"
1136
+ class="k-spreadsheet-sheet-add"
1137
+ icon="plus"
1138
+ [svgIcon]="plusIcon"
1139
+ [kendoEventsOutsideAngular]="{click: onAddClick}"
1140
+ [attr.aria-controls]="tablistId">
1129
1141
  </button>
1130
1142
  <kendo-dropdownbutton #menuButton
1131
- fillMode="flat"
1132
- buttonClass="k-spreadsheet-sheets-menu"
1133
- icon="menu"
1134
- [svgIcon]="menuIcon"
1135
- [data]="sheetsMenuList"
1136
- (itemClick)="onMenuItemClick($event)"
1137
- (open)="onOpen(menuButton)"
1138
- [buttonAttributes]="{title: messageFor('sheetsMenu')}"
1139
- [attr.aria-controls]="tablistId">
1143
+ fillMode="flat"
1144
+ buttonClass="k-spreadsheet-sheets-menu"
1145
+ icon="menu"
1146
+ [svgIcon]="menuIcon"
1147
+ [data]="sheetsMenuList"
1148
+ (itemClick)="onMenuItemClick($event)"
1149
+ (open)="onOpen(menuButton)"
1150
+ [buttonAttributes]="{title: messageFor('sheetsMenu')}"
1151
+ [attr.aria-controls]="tablistId">
1140
1152
  </kendo-dropdownbutton>
1141
1153
  <kendo-tabstrip #tabstrip
1142
- [tabPosition]="'bottom'"
1143
- [showContentArea]="false"
1144
- [scrollable]="{ scrollButtonsPosition: 'end', mouseScroll: false }"
1145
- class="k-spreadsheet-sheets"
1146
- (tabSelect)="onTabSelect($event)">
1147
- <ng-container *ngFor="let sheet of sheets">
1148
- <kendo-tabstrip-tab
1149
- *ngIf="sheet.state === 'visible'"
1150
- [title]="sheet.text"
1151
- [selected]="sheet.text === activeSheet">
1152
- <ng-template kendoTabTemplate>
1153
- <span class="k-link">
1154
- <span class="k-link-text">{{sheet.text}}</span>
1155
- </span>
1156
- <span class="k-item-actions">
1157
- <kendo-dropdownbutton #sheetDdb
1158
- fillMode="flat"
1159
- icon="caret-alt-down"
1160
- [svgIcon]="caretAltDownIcon"
1161
- buttonClass="k-menu-button"
1162
- [data]="sheet.sheetActions"
1163
- [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
1164
- (open)="onOpen(sheetDdb)"
1165
- (close)="onClose()"
1166
- (click)="$event.stopPropagation()"
1167
- (itemClick)="onActionClick($event, sheet)">
1168
- </kendo-dropdownbutton>
1169
- </span>
1170
- </ng-template>
1171
- </kendo-tabstrip-tab>
1172
- </ng-container>
1154
+ [tabPosition]="'bottom'"
1155
+ [showContentArea]="false"
1156
+ [scrollable]="{ scrollButtonsPosition: 'end', mouseScroll: false }"
1157
+ class="k-spreadsheet-sheets"
1158
+ (tabSelect)="onTabSelect($event)">
1159
+ @for (sheet of sheets; track trackByItemKey($index, sheet)) {
1160
+ @if (sheet.state === 'visible') {
1161
+ <kendo-tabstrip-tab
1162
+ [title]="sheet.text"
1163
+ [selected]="sheet.text === activeSheet">
1164
+ <ng-template kendoTabTemplate>
1165
+ <span class="k-link">
1166
+ <span class="k-link-text">{{sheet.text}}</span>
1167
+ </span>
1168
+ <span class="k-item-actions">
1169
+ <kendo-dropdownbutton #sheetDdb
1170
+ fillMode="flat"
1171
+ icon="caret-alt-down"
1172
+ [svgIcon]="caretAltDownIcon"
1173
+ buttonClass="k-menu-button"
1174
+ [data]="sheet.sheetActions"
1175
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
1176
+ (open)="onOpen(sheetDdb)"
1177
+ (close)="onClose()"
1178
+ (click)="$event.stopPropagation()"
1179
+ (itemClick)="onActionClick($event, sheet)">
1180
+ </kendo-dropdownbutton>
1181
+ </span>
1182
+ </ng-template>
1183
+ </kendo-tabstrip-tab>
1184
+ }
1185
+ }
1173
1186
  </kendo-tabstrip>
1174
- `,
1187
+ `,
1175
1188
  standalone: true,
1176
- imports: [ButtonComponent, EventsOutsideAngularDirective, DropDownButtonComponent, TabStripComponent, NgFor, NgIf, TabStripTabComponent, TabTemplateDirective]
1189
+ imports: [ButtonComponent, EventsOutsideAngularDirective, DropDownButtonComponent, TabStripComponent, TabStripTabComponent, TabTemplateDirective]
1177
1190
  }]
1178
1191
  }], ctorParameters: () => [{ type: SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SpreadsheetLocalizationService }, { type: i1$2.DialogService }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
1179
1192
  type: HostBinding,
@@ -2193,92 +2206,102 @@ class DialogContentComponent extends DialogContentBase {
2193
2206
  this.componentType = args.componentType;
2194
2207
  }
2195
2208
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogContentComponent, deps: [{ token: i1$2.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
2196
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DialogContentComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2197
- <div
2198
- [ngSwitch]="componentType"
2199
- class="k-d-flex k-align-items-center k-justify-content-center">
2200
- <kendo-spreadsheet-fontfamily-dropdownlist
2201
- *ngSwitchCase="'fontFamily'"
2209
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DialogContentComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2210
+ <div
2211
+ class="k-d-flex k-align-items-center k-justify-content-center">
2212
+ @switch (componentType) {
2213
+ @case ('fontFamily') {
2214
+ <kendo-spreadsheet-fontfamily-dropdownlist
2202
2215
  [data]="data"
2203
2216
  [(value)]="value"
2204
2217
  [attr.title]="title"
2205
2218
  [tabindex]="tabindex"
2206
2219
  [style.width.em]="13"
2207
- ></kendo-spreadsheet-fontfamily-dropdownlist>
2208
- <kendo-spreadsheet-fontsize-dropdownlist
2209
- *ngSwitchCase="'fontSize'"
2220
+ ></kendo-spreadsheet-fontfamily-dropdownlist>
2221
+ }
2222
+ @case ('fontSize') {
2223
+ <kendo-spreadsheet-fontsize-dropdownlist
2210
2224
  [data]="data"
2211
2225
  [(value)]="value"
2212
2226
  [attr.title]="title"
2213
2227
  [tabindex]="tabindex"
2214
2228
  [style.width.em]="13"
2215
- ></kendo-spreadsheet-fontsize-dropdownlist>
2216
- <kendo-colorpicker
2217
- *ngSwitchCase="'color'"
2229
+ ></kendo-spreadsheet-fontsize-dropdownlist>
2230
+ }
2231
+ @case ('color') {
2232
+ <kendo-colorpicker
2218
2233
  [attr.title]="title"
2219
2234
  [format]="'hex'"
2220
2235
  [(value)]="value"
2221
2236
  [tabindex]="tabindex"
2222
2237
  [clearButton]="false"
2223
2238
  fillMode="flat"
2224
- ></kendo-colorpicker>
2225
- <kendo-colorpicker
2226
- *ngSwitchCase="'background'"
2239
+ ></kendo-colorpicker>
2240
+ }
2241
+ @case ('background') {
2242
+ <kendo-colorpicker
2227
2243
  [attr.title]="title"
2228
2244
  [format]="'hex'"
2229
2245
  [(value)]="value"
2230
2246
  [tabindex]="tabindex"
2231
2247
  [clearButton]="false"
2232
2248
  fillMode="flat"
2233
- ></kendo-colorpicker>
2249
+ ></kendo-colorpicker>
2250
+ }
2251
+ }
2234
2252
  </div>
2235
- `, 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", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }] });
2253
+ `, isInline: true, dependencies: [{ 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", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }] });
2236
2254
  }
2237
2255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogContentComponent, decorators: [{
2238
2256
  type: Component,
2239
2257
  args: [{
2240
2258
  template: `
2241
- <div
2242
- [ngSwitch]="componentType"
2243
- class="k-d-flex k-align-items-center k-justify-content-center">
2244
- <kendo-spreadsheet-fontfamily-dropdownlist
2245
- *ngSwitchCase="'fontFamily'"
2259
+ <div
2260
+ class="k-d-flex k-align-items-center k-justify-content-center">
2261
+ @switch (componentType) {
2262
+ @case ('fontFamily') {
2263
+ <kendo-spreadsheet-fontfamily-dropdownlist
2246
2264
  [data]="data"
2247
2265
  [(value)]="value"
2248
2266
  [attr.title]="title"
2249
2267
  [tabindex]="tabindex"
2250
2268
  [style.width.em]="13"
2251
- ></kendo-spreadsheet-fontfamily-dropdownlist>
2252
- <kendo-spreadsheet-fontsize-dropdownlist
2253
- *ngSwitchCase="'fontSize'"
2269
+ ></kendo-spreadsheet-fontfamily-dropdownlist>
2270
+ }
2271
+ @case ('fontSize') {
2272
+ <kendo-spreadsheet-fontsize-dropdownlist
2254
2273
  [data]="data"
2255
2274
  [(value)]="value"
2256
2275
  [attr.title]="title"
2257
2276
  [tabindex]="tabindex"
2258
2277
  [style.width.em]="13"
2259
- ></kendo-spreadsheet-fontsize-dropdownlist>
2260
- <kendo-colorpicker
2261
- *ngSwitchCase="'color'"
2278
+ ></kendo-spreadsheet-fontsize-dropdownlist>
2279
+ }
2280
+ @case ('color') {
2281
+ <kendo-colorpicker
2262
2282
  [attr.title]="title"
2263
2283
  [format]="'hex'"
2264
2284
  [(value)]="value"
2265
2285
  [tabindex]="tabindex"
2266
2286
  [clearButton]="false"
2267
2287
  fillMode="flat"
2268
- ></kendo-colorpicker>
2269
- <kendo-colorpicker
2270
- *ngSwitchCase="'background'"
2288
+ ></kendo-colorpicker>
2289
+ }
2290
+ @case ('background') {
2291
+ <kendo-colorpicker
2271
2292
  [attr.title]="title"
2272
2293
  [format]="'hex'"
2273
2294
  [(value)]="value"
2274
2295
  [tabindex]="tabindex"
2275
2296
  [clearButton]="false"
2276
2297
  fillMode="flat"
2277
- ></kendo-colorpicker>
2298
+ ></kendo-colorpicker>
2299
+ }
2300
+ }
2278
2301
  </div>
2279
- `,
2302
+ `,
2280
2303
  standalone: true,
2281
- imports: [NgSwitch, NgSwitchCase, FontFamilyDropDownListComponent, FontSizeDropDownListComponent, ColorPickerComponent]
2304
+ imports: [FontFamilyDropDownListComponent, FontSizeDropDownListComponent, ColorPickerComponent]
2282
2305
  }]
2283
2306
  }], ctorParameters: () => [{ type: i1$2.DialogRef }] });
2284
2307
 
@@ -2467,53 +2490,55 @@ class SpreadsheetBackColorComponent extends SpreadsheetDropDownToolBase {
2467
2490
  super('background', dialogService, localization, spreadsheetService, toolsService, toolbar);
2468
2491
  }
2469
2492
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetBackColorComponent, deps: [{ token: i1$2.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpreadsheetBackColorComponent, isStandalone: true, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2493
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpreadsheetBackColorComponent, isStandalone: true, selector: "kendo-spreadsheet-backcolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetBackColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2471
2494
  <ng-template #toolbarTemplate>
2472
- <div class="k-toolbar-item">
2473
- <kendo-colorpicker
2474
- #element
2475
- [attr.title]="messageFor(command)"
2476
- [format]="'hex'"
2477
- [(value)]="value"
2478
- [tabindex]="tabindex"
2479
- (valueChange)="onValueChange($event)"
2480
- [clearButton]="false"
2481
- fillMode="flat"
2482
- [icon]="icon"
2483
- [preview]="true"
2484
- [svgIcon]="svgIcon"></kendo-colorpicker>
2485
- </div>
2495
+ <div class="k-toolbar-item">
2496
+ <kendo-colorpicker
2497
+ #element
2498
+ [attr.title]="messageFor(command)"
2499
+ [format]="'hex'"
2500
+ [(value)]="value"
2501
+ [tabindex]="tabindex"
2502
+ (valueChange)="onValueChange($event)"
2503
+ [clearButton]="false"
2504
+ fillMode="flat"
2505
+ [icon]="icon"
2506
+ [preview]="true"
2507
+ [svgIcon]="svgIcon"></kendo-colorpicker>
2508
+ </div>
2486
2509
  </ng-template>
2487
2510
  <ng-template #popupTemplate>
2488
- <div #popupButton
2489
- [tabindex]="tabindex"
2490
- role="menuitem"
2491
- class="k-item k-menu-item"
2492
- (click)="openDialog()">
2493
- <span
2494
- class="k-link k-menu-link">
2495
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2496
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2497
- </span>
2498
- </div>
2511
+ <div #popupButton
2512
+ [tabindex]="tabindex"
2513
+ role="menuitem"
2514
+ class="k-item k-menu-item"
2515
+ (click)="openDialog()">
2516
+ <span
2517
+ class="k-link k-menu-link">
2518
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2519
+ @if (messageFor(command)) {
2520
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2521
+ }
2522
+ </span>
2523
+ </div>
2499
2524
  </ng-template>
2500
2525
  <ng-template #sectionTemplate>
2501
- <div class="k-toolbar-item">
2502
- <kendo-colorpicker
2503
- #element
2504
- [attr.title]="messageFor(command)"
2505
- [format]="'hex'"
2506
- [(value)]="value"
2507
- [tabindex]="tabindex"
2508
- (valueChange)="onValueChange($event)"
2509
- [clearButton]="false"
2510
- fillMode="flat"
2511
- [icon]="icon"
2512
- [preview]="true"
2513
- [svgIcon]="svgIcon"></kendo-colorpicker>
2514
- </div>
2526
+ <div class="k-toolbar-item">
2527
+ <kendo-colorpicker
2528
+ #element
2529
+ [attr.title]="messageFor(command)"
2530
+ [format]="'hex'"
2531
+ [(value)]="value"
2532
+ [tabindex]="tabindex"
2533
+ (valueChange)="onValueChange($event)"
2534
+ [clearButton]="false"
2535
+ fillMode="flat"
2536
+ [icon]="icon"
2537
+ [preview]="true"
2538
+ [svgIcon]="svgIcon"></kendo-colorpicker>
2539
+ </div>
2515
2540
  </ng-template>
2516
- `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "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"] }] });
2541
+ `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "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"] }] });
2517
2542
  }
2518
2543
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetBackColorComponent, decorators: [{
2519
2544
  type: Component,
@@ -2522,53 +2547,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2522
2547
  selector: 'kendo-spreadsheet-backcolor-tool',
2523
2548
  template: `
2524
2549
  <ng-template #toolbarTemplate>
2525
- <div class="k-toolbar-item">
2526
- <kendo-colorpicker
2527
- #element
2528
- [attr.title]="messageFor(command)"
2529
- [format]="'hex'"
2530
- [(value)]="value"
2531
- [tabindex]="tabindex"
2532
- (valueChange)="onValueChange($event)"
2533
- [clearButton]="false"
2534
- fillMode="flat"
2535
- [icon]="icon"
2536
- [preview]="true"
2537
- [svgIcon]="svgIcon"></kendo-colorpicker>
2538
- </div>
2550
+ <div class="k-toolbar-item">
2551
+ <kendo-colorpicker
2552
+ #element
2553
+ [attr.title]="messageFor(command)"
2554
+ [format]="'hex'"
2555
+ [(value)]="value"
2556
+ [tabindex]="tabindex"
2557
+ (valueChange)="onValueChange($event)"
2558
+ [clearButton]="false"
2559
+ fillMode="flat"
2560
+ [icon]="icon"
2561
+ [preview]="true"
2562
+ [svgIcon]="svgIcon"></kendo-colorpicker>
2563
+ </div>
2539
2564
  </ng-template>
2540
2565
  <ng-template #popupTemplate>
2541
- <div #popupButton
2542
- [tabindex]="tabindex"
2543
- role="menuitem"
2544
- class="k-item k-menu-item"
2545
- (click)="openDialog()">
2546
- <span
2547
- class="k-link k-menu-link">
2548
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2549
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2550
- </span>
2551
- </div>
2566
+ <div #popupButton
2567
+ [tabindex]="tabindex"
2568
+ role="menuitem"
2569
+ class="k-item k-menu-item"
2570
+ (click)="openDialog()">
2571
+ <span
2572
+ class="k-link k-menu-link">
2573
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2574
+ @if (messageFor(command)) {
2575
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2576
+ }
2577
+ </span>
2578
+ </div>
2552
2579
  </ng-template>
2553
2580
  <ng-template #sectionTemplate>
2554
- <div class="k-toolbar-item">
2555
- <kendo-colorpicker
2556
- #element
2557
- [attr.title]="messageFor(command)"
2558
- [format]="'hex'"
2559
- [(value)]="value"
2560
- [tabindex]="tabindex"
2561
- (valueChange)="onValueChange($event)"
2562
- [clearButton]="false"
2563
- fillMode="flat"
2564
- [icon]="icon"
2565
- [preview]="true"
2566
- [svgIcon]="svgIcon"></kendo-colorpicker>
2567
- </div>
2581
+ <div class="k-toolbar-item">
2582
+ <kendo-colorpicker
2583
+ #element
2584
+ [attr.title]="messageFor(command)"
2585
+ [format]="'hex'"
2586
+ [(value)]="value"
2587
+ [tabindex]="tabindex"
2588
+ (valueChange)="onValueChange($event)"
2589
+ [clearButton]="false"
2590
+ fillMode="flat"
2591
+ [icon]="icon"
2592
+ [preview]="true"
2593
+ [svgIcon]="svgIcon"></kendo-colorpicker>
2594
+ </div>
2568
2595
  </ng-template>
2569
- `,
2596
+ `,
2570
2597
  standalone: true,
2571
- imports: [ColorPickerComponent, IconWrapperComponent, NgIf]
2598
+ imports: [ColorPickerComponent, IconWrapperComponent]
2572
2599
  }]
2573
2600
  }], ctorParameters: () => [{ type: i1$2.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$3.ToolBarComponent, decorators: [{
2574
2601
  type: Inject,
@@ -2587,53 +2614,55 @@ class SpreadsheetForeColorComponent extends SpreadsheetDropDownToolBase {
2587
2614
  super('color', dialogService, localization, spreadsheetService, toolsService, toolbar);
2588
2615
  }
2589
2616
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetForeColorComponent, deps: [{ token: i1$2.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2590
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpreadsheetForeColorComponent, isStandalone: true, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2617
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpreadsheetForeColorComponent, isStandalone: true, selector: "kendo-spreadsheet-forecolor-tool", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetForeColorComponent) }], usesInheritance: true, ngImport: i0, template: `
2591
2618
  <ng-template #toolbarTemplate>
2592
- <div class="k-toolbar-item">
2593
- <kendo-colorpicker
2594
- #element
2595
- [attr.title]="messageFor(command)"
2596
- [format]="'hex'"
2597
- [(value)]="value"
2598
- [tabindex]="tabindex"
2599
- (valueChange)="onValueChange($event)"
2600
- [clearButton]="false"
2601
- fillMode="flat"
2602
- [icon]="icon"
2603
- [svgIcon]="svgIcon"
2604
- [preview]="true"></kendo-colorpicker>
2605
- </div>
2619
+ <div class="k-toolbar-item">
2620
+ <kendo-colorpicker
2621
+ #element
2622
+ [attr.title]="messageFor(command)"
2623
+ [format]="'hex'"
2624
+ [(value)]="value"
2625
+ [tabindex]="tabindex"
2626
+ (valueChange)="onValueChange($event)"
2627
+ [clearButton]="false"
2628
+ fillMode="flat"
2629
+ [icon]="icon"
2630
+ [svgIcon]="svgIcon"
2631
+ [preview]="true"></kendo-colorpicker>
2632
+ </div>
2606
2633
  </ng-template>
2607
2634
  <ng-template #popupTemplate>
2608
- <div #popupButton
2609
- [tabindex]="tabindex"
2610
- role="menuitem"
2611
- class="k-item k-menu-item"
2612
- (click)="openDialog()">
2613
- <span
2614
- class="k-link k-menu-link">
2615
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2616
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2617
- </span>
2618
- </div>
2635
+ <div #popupButton
2636
+ [tabindex]="tabindex"
2637
+ role="menuitem"
2638
+ class="k-item k-menu-item"
2639
+ (click)="openDialog()">
2640
+ <span
2641
+ class="k-link k-menu-link">
2642
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2643
+ @if (messageFor(command)) {
2644
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2645
+ }
2646
+ </span>
2647
+ </div>
2619
2648
  </ng-template>
2620
2649
  <ng-template #sectionTemplate>
2621
- <div class="k-toolbar-item">
2622
- <kendo-colorpicker
2623
- #element
2624
- [attr.title]="messageFor(command)"
2625
- [format]="'hex'"
2626
- [(value)]="value"
2627
- [tabindex]="tabindex"
2628
- (valueChange)="onValueChange($event)"
2629
- [clearButton]="false"
2630
- fillMode="flat"
2631
- [icon]="icon"
2632
- [svgIcon]="svgIcon"
2633
- [preview]="true"></kendo-colorpicker>
2634
- </div>
2650
+ <div class="k-toolbar-item">
2651
+ <kendo-colorpicker
2652
+ #element
2653
+ [attr.title]="messageFor(command)"
2654
+ [format]="'hex'"
2655
+ [(value)]="value"
2656
+ [tabindex]="tabindex"
2657
+ (valueChange)="onValueChange($event)"
2658
+ [clearButton]="false"
2659
+ fillMode="flat"
2660
+ [icon]="icon"
2661
+ [svgIcon]="svgIcon"
2662
+ [preview]="true"></kendo-colorpicker>
2663
+ </div>
2635
2664
  </ng-template>
2636
- `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "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"] }] });
2665
+ `, isInline: true, dependencies: [{ kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "adaptiveMode", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "adaptiveTitle", "adaptiveSubtitle", "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"] }] });
2637
2666
  }
2638
2667
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetForeColorComponent, decorators: [{
2639
2668
  type: Component,
@@ -2642,53 +2671,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2642
2671
  selector: 'kendo-spreadsheet-forecolor-tool',
2643
2672
  template: `
2644
2673
  <ng-template #toolbarTemplate>
2645
- <div class="k-toolbar-item">
2646
- <kendo-colorpicker
2647
- #element
2648
- [attr.title]="messageFor(command)"
2649
- [format]="'hex'"
2650
- [(value)]="value"
2651
- [tabindex]="tabindex"
2652
- (valueChange)="onValueChange($event)"
2653
- [clearButton]="false"
2654
- fillMode="flat"
2655
- [icon]="icon"
2656
- [svgIcon]="svgIcon"
2657
- [preview]="true"></kendo-colorpicker>
2658
- </div>
2674
+ <div class="k-toolbar-item">
2675
+ <kendo-colorpicker
2676
+ #element
2677
+ [attr.title]="messageFor(command)"
2678
+ [format]="'hex'"
2679
+ [(value)]="value"
2680
+ [tabindex]="tabindex"
2681
+ (valueChange)="onValueChange($event)"
2682
+ [clearButton]="false"
2683
+ fillMode="flat"
2684
+ [icon]="icon"
2685
+ [svgIcon]="svgIcon"
2686
+ [preview]="true"></kendo-colorpicker>
2687
+ </div>
2659
2688
  </ng-template>
2660
2689
  <ng-template #popupTemplate>
2661
- <div #popupButton
2662
- [tabindex]="tabindex"
2663
- role="menuitem"
2664
- class="k-item k-menu-item"
2665
- (click)="openDialog()">
2666
- <span
2667
- class="k-link k-menu-link">
2668
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2669
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2670
- </span>
2671
- </div>
2690
+ <div #popupButton
2691
+ [tabindex]="tabindex"
2692
+ role="menuitem"
2693
+ class="k-item k-menu-item"
2694
+ (click)="openDialog()">
2695
+ <span
2696
+ class="k-link k-menu-link">
2697
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2698
+ @if (messageFor(command)) {
2699
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2700
+ }
2701
+ </span>
2702
+ </div>
2672
2703
  </ng-template>
2673
2704
  <ng-template #sectionTemplate>
2674
- <div class="k-toolbar-item">
2675
- <kendo-colorpicker
2676
- #element
2677
- [attr.title]="messageFor(command)"
2678
- [format]="'hex'"
2679
- [(value)]="value"
2680
- [tabindex]="tabindex"
2681
- (valueChange)="onValueChange($event)"
2682
- [clearButton]="false"
2683
- fillMode="flat"
2684
- [icon]="icon"
2685
- [svgIcon]="svgIcon"
2686
- [preview]="true"></kendo-colorpicker>
2687
- </div>
2705
+ <div class="k-toolbar-item">
2706
+ <kendo-colorpicker
2707
+ #element
2708
+ [attr.title]="messageFor(command)"
2709
+ [format]="'hex'"
2710
+ [(value)]="value"
2711
+ [tabindex]="tabindex"
2712
+ (valueChange)="onValueChange($event)"
2713
+ [clearButton]="false"
2714
+ fillMode="flat"
2715
+ [icon]="icon"
2716
+ [svgIcon]="svgIcon"
2717
+ [preview]="true"></kendo-colorpicker>
2718
+ </div>
2688
2719
  </ng-template>
2689
- `,
2720
+ `,
2690
2721
  standalone: true,
2691
- imports: [ColorPickerComponent, IconWrapperComponent, NgIf]
2722
+ imports: [ColorPickerComponent, IconWrapperComponent]
2692
2723
  }]
2693
2724
  }], ctorParameters: () => [{ type: i1$2.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$3.ToolBarComponent, decorators: [{
2694
2725
  type: Inject,
@@ -2850,39 +2881,41 @@ class SpreadsheetFontSizeComponent extends SpreadsheetDropDownToolBase {
2850
2881
  super('fontSize', dialogService, localization, spreadsheetService, toolsService, toolbar);
2851
2882
  }
2852
2883
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFontSizeComponent, deps: [{ token: i1$2.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2853
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpreadsheetFontSizeComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
2884
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpreadsheetFontSizeComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontSizeComponent) }], usesInheritance: true, ngImport: i0, template: `
2854
2885
  <ng-template #toolbarTemplate>
2855
- <kendo-spreadsheet-fontsize-dropdownlist
2856
- #element
2857
- [data]="data"
2858
- [(value)]="value"
2859
- [title]="messageFor(command)"
2860
- [tabindex]="tabindex"
2861
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2886
+ <kendo-spreadsheet-fontsize-dropdownlist
2887
+ #element
2888
+ [data]="data"
2889
+ [(value)]="value"
2890
+ [title]="messageFor(command)"
2891
+ [tabindex]="tabindex"
2892
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2862
2893
  </ng-template>
2863
2894
  <ng-template #popupTemplate>
2864
- <div #popupButton
2865
- [tabindex]="tabindex"
2866
- role="menuitem"
2867
- class="k-item k-menu-item"
2868
- (click)="openDialog()">
2869
- <span
2870
- class="k-link k-menu-link">
2871
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2872
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2873
- </span>
2874
- </div>
2895
+ <div #popupButton
2896
+ [tabindex]="tabindex"
2897
+ role="menuitem"
2898
+ class="k-item k-menu-item"
2899
+ (click)="openDialog()">
2900
+ <span
2901
+ class="k-link k-menu-link">
2902
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2903
+ @if (messageFor(command)) {
2904
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2905
+ }
2906
+ </span>
2907
+ </div>
2875
2908
  </ng-template>
2876
2909
  <ng-template #sectionTemplate>
2877
- <kendo-spreadsheet-fontsize-dropdownlist
2878
- #element
2879
- [data]="data"
2880
- [(value)]="value"
2881
- [title]="messageFor(command)"
2882
- [tabindex]="tabindex"
2883
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2910
+ <kendo-spreadsheet-fontsize-dropdownlist
2911
+ #element
2912
+ [data]="data"
2913
+ [(value)]="value"
2914
+ [title]="messageFor(command)"
2915
+ [tabindex]="tabindex"
2916
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2884
2917
  </ng-template>
2885
- `, 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"] }] });
2918
+ `, 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"] }] });
2886
2919
  }
2887
2920
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFontSizeComponent, decorators: [{
2888
2921
  type: Component,
@@ -2891,39 +2924,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2891
2924
  selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]',
2892
2925
  template: `
2893
2926
  <ng-template #toolbarTemplate>
2894
- <kendo-spreadsheet-fontsize-dropdownlist
2895
- #element
2896
- [data]="data"
2897
- [(value)]="value"
2898
- [title]="messageFor(command)"
2899
- [tabindex]="tabindex"
2900
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2927
+ <kendo-spreadsheet-fontsize-dropdownlist
2928
+ #element
2929
+ [data]="data"
2930
+ [(value)]="value"
2931
+ [title]="messageFor(command)"
2932
+ [tabindex]="tabindex"
2933
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2901
2934
  </ng-template>
2902
2935
  <ng-template #popupTemplate>
2903
- <div #popupButton
2904
- [tabindex]="tabindex"
2905
- role="menuitem"
2906
- class="k-item k-menu-item"
2907
- (click)="openDialog()">
2908
- <span
2909
- class="k-link k-menu-link">
2910
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2911
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2912
- </span>
2913
- </div>
2936
+ <div #popupButton
2937
+ [tabindex]="tabindex"
2938
+ role="menuitem"
2939
+ class="k-item k-menu-item"
2940
+ (click)="openDialog()">
2941
+ <span
2942
+ class="k-link k-menu-link">
2943
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2944
+ @if (messageFor(command)) {
2945
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
2946
+ }
2947
+ </span>
2948
+ </div>
2914
2949
  </ng-template>
2915
2950
  <ng-template #sectionTemplate>
2916
- <kendo-spreadsheet-fontsize-dropdownlist
2917
- #element
2918
- [data]="data"
2919
- [(value)]="value"
2920
- [title]="messageFor(command)"
2921
- [tabindex]="tabindex"
2922
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2951
+ <kendo-spreadsheet-fontsize-dropdownlist
2952
+ #element
2953
+ [data]="data"
2954
+ [(value)]="value"
2955
+ [title]="messageFor(command)"
2956
+ [tabindex]="tabindex"
2957
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontsize-dropdownlist>
2923
2958
  </ng-template>
2924
- `,
2959
+ `,
2925
2960
  standalone: true,
2926
- imports: [FontSizeDropDownListComponent, IconWrapperComponent, NgIf]
2961
+ imports: [FontSizeDropDownListComponent, IconWrapperComponent]
2927
2962
  }]
2928
2963
  }], ctorParameters: () => [{ type: i1$2.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$3.ToolBarComponent, decorators: [{
2929
2964
  type: Inject,
@@ -2942,39 +2977,41 @@ class SpreadsheetFontFamilyComponent extends SpreadsheetDropDownToolBase {
2942
2977
  super('fontFamily', dialogService, localization, spreadsheetService, toolsService, toolbar);
2943
2978
  }
2944
2979
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFontFamilyComponent, deps: [{ token: i1$2.DialogService }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2945
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpreadsheetFontFamilyComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
2980
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpreadsheetFontFamilyComponent, isStandalone: true, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => SpreadsheetFontFamilyComponent) }], usesInheritance: true, ngImport: i0, template: `
2946
2981
  <ng-template #toolbarTemplate>
2947
- <kendo-spreadsheet-fontfamily-dropdownlist
2948
- #element
2949
- [data]="data"
2950
- [(value)]="value"
2951
- [title]="messageFor(command)"
2952
- [tabindex]="tabindex"
2953
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2982
+ <kendo-spreadsheet-fontfamily-dropdownlist
2983
+ #element
2984
+ [data]="data"
2985
+ [(value)]="value"
2986
+ [title]="messageFor(command)"
2987
+ [tabindex]="tabindex"
2988
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2954
2989
  </ng-template>
2955
2990
  <ng-template #popupTemplate>
2956
- <div #popupButton
2957
- [tabindex]="tabindex"
2958
- role="menuitem"
2959
- class="k-item k-menu-item"
2960
- (click)="openDialog()">
2961
- <span
2962
- class="k-link k-menu-link">
2963
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2964
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
2965
- </span>
2966
- </div>
2991
+ <div #popupButton
2992
+ [tabindex]="tabindex"
2993
+ role="menuitem"
2994
+ class="k-item k-menu-item"
2995
+ (click)="openDialog()">
2996
+ <span
2997
+ class="k-link k-menu-link">
2998
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
2999
+ @if (messageFor(command)) {
3000
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
3001
+ }
3002
+ </span>
3003
+ </div>
2967
3004
  </ng-template>
2968
3005
  <ng-template #sectionTemplate>
2969
- <kendo-spreadsheet-fontfamily-dropdownlist
2970
- #element
2971
- [data]="data"
2972
- [(value)]="value"
2973
- [title]="messageFor(command)"
2974
- [tabindex]="tabindex"
2975
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
3006
+ <kendo-spreadsheet-fontfamily-dropdownlist
3007
+ #element
3008
+ [data]="data"
3009
+ [(value)]="value"
3010
+ [title]="messageFor(command)"
3011
+ [tabindex]="tabindex"
3012
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2976
3013
  </ng-template>
2977
- `, 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"] }] });
3014
+ `, 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"] }] });
2978
3015
  }
2979
3016
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFontFamilyComponent, decorators: [{
2980
3017
  type: Component,
@@ -2983,39 +3020,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2983
3020
  selector: 'kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]',
2984
3021
  template: `
2985
3022
  <ng-template #toolbarTemplate>
2986
- <kendo-spreadsheet-fontfamily-dropdownlist
2987
- #element
2988
- [data]="data"
2989
- [(value)]="value"
2990
- [title]="messageFor(command)"
2991
- [tabindex]="tabindex"
2992
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
3023
+ <kendo-spreadsheet-fontfamily-dropdownlist
3024
+ #element
3025
+ [data]="data"
3026
+ [(value)]="value"
3027
+ [title]="messageFor(command)"
3028
+ [tabindex]="tabindex"
3029
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
2993
3030
  </ng-template>
2994
3031
  <ng-template #popupTemplate>
2995
- <div #popupButton
2996
- [tabindex]="tabindex"
2997
- role="menuitem"
2998
- class="k-item k-menu-item"
2999
- (click)="openDialog()">
3000
- <span
3001
- class="k-link k-menu-link">
3002
- <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
3003
- <span *ngIf="messageFor(command)" class="k-menu-link-text">{{messageFor(command)}}</span>
3004
- </span>
3005
- </div>
3032
+ <div #popupButton
3033
+ [tabindex]="tabindex"
3034
+ role="menuitem"
3035
+ class="k-item k-menu-item"
3036
+ (click)="openDialog()">
3037
+ <span
3038
+ class="k-link k-menu-link">
3039
+ <kendo-icon-wrapper [name]="icon" [svgIcon]="svgIcon"></kendo-icon-wrapper>
3040
+ @if (messageFor(command)) {
3041
+ <span class="k-menu-link-text">{{messageFor(command)}}</span>
3042
+ }
3043
+ </span>
3044
+ </div>
3006
3045
  </ng-template>
3007
3046
  <ng-template #sectionTemplate>
3008
- <kendo-spreadsheet-fontfamily-dropdownlist
3009
- #element
3010
- [data]="data"
3011
- [(value)]="value"
3012
- [title]="messageFor(command)"
3013
- [tabindex]="tabindex"
3014
- (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
3047
+ <kendo-spreadsheet-fontfamily-dropdownlist
3048
+ #element
3049
+ [data]="data"
3050
+ [(value)]="value"
3051
+ [title]="messageFor(command)"
3052
+ [tabindex]="tabindex"
3053
+ (valueChange)="onValueChange($event)"></kendo-spreadsheet-fontfamily-dropdownlist>
3015
3054
  </ng-template>
3016
- `,
3055
+ `,
3017
3056
  standalone: true,
3018
- imports: [FontFamilyDropDownListComponent, IconWrapperComponent, NgIf]
3057
+ imports: [FontFamilyDropDownListComponent, IconWrapperComponent]
3019
3058
  }]
3020
3059
  }], ctorParameters: () => [{ type: i1$2.DialogService }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i1$3.ToolBarComponent, decorators: [{
3021
3060
  type: Inject,
@@ -4273,242 +4312,256 @@ class DataValidationDialogComponent extends DialogContentBase {
4273
4312
  }
4274
4313
  }
4275
4314
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DataValidationDialogComponent, deps: [{ token: i1.LocalizationService }, { token: SpreadsheetService }, { token: i0.NgZone }, { token: i1$2.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
4276
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DataValidationDialogComponent, isStandalone: true, selector: "ng-component", outputs: { dialogAction: "dialogAction" }, usesInheritance: true, ngImport: i0, template: `
4315
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DataValidationDialogComponent, isStandalone: true, selector: "ng-component", outputs: { dialogAction: "dialogAction" }, usesInheritance: true, ngImport: i0, template: `
4277
4316
  <form class="k-form k-form-md" [formGroup]="validationFormGroup">
4278
- <div class="k-form-field">
4279
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCellRange')" [for]="rangeInput"></kendo-label>
4280
- <div class="k-form-field-wrap">
4281
- <kendo-textbox #rangeInput
4282
- [clearButton]="true"
4283
- [value]="cellRange"
4284
- (valueChange)="onRangeChange($event, rangeInput)"
4285
- formControlName="range">
4286
- </kendo-textbox>
4287
- </div>
4317
+ <div class="k-form-field">
4318
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCellRange')" [for]="rangeInput"></kendo-label>
4319
+ <div class="k-form-field-wrap">
4320
+ <kendo-textbox #rangeInput
4321
+ [clearButton]="true"
4322
+ [value]="cellRange"
4323
+ (valueChange)="onRangeChange($event, rangeInput)"
4324
+ formControlName="range">
4325
+ </kendo-textbox>
4288
4326
  </div>
4289
- <div class="k-form-field">
4290
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCriteria')" [for]="criteriaInput"></kendo-label>
4291
- <div class="k-form-field-wrap">
4292
- <kendo-dropdownlist #criteriaInput
4293
- [data]="criteriaList"
4294
- [value]="criteria"
4295
- (selectionChange)="onSelectionChange($event, 'criteria')"
4296
- textField="name"
4297
- valueField="type">
4298
- </kendo-dropdownlist>
4299
- </div>
4327
+ </div>
4328
+ <div class="k-form-field">
4329
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCriteria')" [for]="criteriaInput"></kendo-label>
4330
+ <div class="k-form-field-wrap">
4331
+ <kendo-dropdownlist #criteriaInput
4332
+ [data]="criteriaList"
4333
+ [value]="criteria"
4334
+ (selectionChange)="onSelectionChange($event, 'criteria')"
4335
+ textField="name"
4336
+ valueField="type">
4337
+ </kendo-dropdownlist>
4300
4338
  </div>
4301
- <ng-container *ngIf="criteria.type !== 'any'">
4302
- <div class="k-form-field" *ngIf="showComparer">
4303
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationComparer')" [for]="comparerInput"></kendo-label>
4304
- <div class="k-form-field-wrap">
4305
- <kendo-dropdownlist #comparerInput
4306
- [data]="comparerList"
4307
- [value]="comparer"
4308
- (selectionChange)="onSelectionChange($event, 'comparer')"
4309
- textField="name"
4310
- valueField="type">
4311
- </kendo-dropdownlist>
4312
- </div>
4313
- </div>
4314
- <div class="k-form-field" *ngIf="singleValue; else betweenValues">
4315
- <kendo-label class="k-label k-form-label" [text]="getValueLabel()" [for]="minInput"></kendo-label>
4316
- <div class="k-form-field-wrap">
4317
- <kendo-textbox #minInput [(value)]="from" formControlName="min"></kendo-textbox>
4318
- </div>
4319
- </div>
4320
- <ng-template #betweenValues>
4321
- <div class="k-form-field">
4322
- <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationStartValue' : 'validationMinValue')" [for]="betweenMinInput"></kendo-label>
4323
- <div class="k-form-field-wrap">
4324
- <kendo-textbox #betweenMinInput [(value)]="from" formControlName="min"></kendo-textbox>
4325
- </div>
4326
- </div>
4327
- <div class="k-form-field">
4328
- <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationEndValue' : 'validationMaxValue')" [for]="betweenMaxInput"></kendo-label>
4329
- <div class="k-form-field-wrap">
4330
- <kendo-textbox #betweenMaxInput [(value)]="to" formControlName="max"></kendo-textbox>
4331
- </div>
4332
- </div>
4333
- </ng-template>
4334
- <div class="k-form-field" *ngIf="criteria.type === 'list'">
4335
- <div class="k-form-field-wrap">
4336
- <kendo-checkbox #showBtnCheckBox [(checkedState)]="showButton"></kendo-checkbox>
4337
- <kendo-label class="k-checkbox-label" [for]="showBtnCheckBox" [text]="getLocalizationMessage('validationShowListButtonCheckbox')"></kendo-label>
4338
- </div>
4339
- </div>
4340
- <div class="k-form-field">
4341
- <div class="k-form-field-wrap">
4342
- <kendo-checkbox #ignoreBlankCheckBox [(checkedState)]="ignoreBlank"></kendo-checkbox>
4343
- <kendo-label class="k-checkbox-label" [for]="ignoreBlankCheckBox" [text]="getLocalizationMessage('validationIgnoreBlankCheckbox')"></kendo-label>
4344
- </div>
4339
+ </div>
4340
+ @if (criteria.type !== 'any') {
4341
+ @if (showComparer) {
4342
+ <div class="k-form-field">
4343
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationComparer')" [for]="comparerInput"></kendo-label>
4344
+ <div class="k-form-field-wrap">
4345
+ <kendo-dropdownlist #comparerInput
4346
+ [data]="comparerList"
4347
+ [value]="comparer"
4348
+ (selectionChange)="onSelectionChange($event, 'comparer')"
4349
+ textField="name"
4350
+ valueField="type">
4351
+ </kendo-dropdownlist>
4345
4352
  </div>
4346
- <div class="k-form-field">
4347
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationOnInvalidData')"></kendo-label>
4348
- <div class="k-form-field-wrap">
4349
- <ul class="k-radio-list k-list-vertical">
4350
- <li class="k-radio-list-item">
4351
- <kendo-radiobutton #rejectRadioBtn formControlName="onInvalidData" value="reject"></kendo-radiobutton>
4352
- <kendo-label class="k-radio-label" [for]="rejectRadioBtn" [text]="getLocalizationMessage('validationRejectInput')"></kendo-label>
4353
- </li>
4354
- <li class="k-radio-list-item">
4355
- <kendo-radiobutton #warningRadioBtn formControlName="onInvalidData" value="warning"></kendo-radiobutton>
4356
- <kendo-label class="k-radio-label" [for]="warningRadioBtn" [text]="getLocalizationMessage('validationShowWarning')"></kendo-label>
4357
- </li>
4358
- </ul>
4359
- </div>
4353
+ </div>
4354
+ }
4355
+ @if (singleValue) {
4356
+ <div class="k-form-field">
4357
+ <kendo-label class="k-label k-form-label" [text]="getValueLabel()" [for]="minInput"></kendo-label>
4358
+ <div class="k-form-field-wrap">
4359
+ <kendo-textbox #minInput [(value)]="from" formControlName="min"></kendo-textbox>
4360
4360
  </div>
4361
- <div class="k-form-field">
4362
- <div class="k-form-field-wrap">
4363
- <kendo-checkbox #showHintCheckBox [(checkedState)]="showHint"></kendo-checkbox>
4364
- <kendo-label class="k-checkbox-label" [for]="showHintCheckBox" [text]="getLocalizationMessage('validationShowHint')"></kendo-label>
4365
- </div>
4361
+ </div>
4362
+ } @else {
4363
+ <div class="k-form-field">
4364
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationStartValue' : 'validationMinValue')" [for]="betweenMinInput"></kendo-label>
4365
+ <div class="k-form-field-wrap">
4366
+ <kendo-textbox #betweenMinInput [(value)]="from" formControlName="min"></kendo-textbox>
4366
4367
  </div>
4367
- <div class="k-form-field">
4368
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintTitle')" [for]="hintTitleInput"></kendo-label>
4369
- <div class="k-form-field-wrap">
4370
- <kendo-textbox #hintTitleInput [(value)]="hintTitle"></kendo-textbox>
4371
- </div>
4368
+ </div>
4369
+ <div class="k-form-field">
4370
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationEndValue' : 'validationMaxValue')" [for]="betweenMaxInput"></kendo-label>
4371
+ <div class="k-form-field-wrap">
4372
+ <kendo-textbox #betweenMaxInput [(value)]="to" formControlName="max"></kendo-textbox>
4372
4373
  </div>
4373
- <div class="k-form-field">
4374
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintMessage')" [for]="hintMessageInput"></kendo-label>
4375
- <div class="k-form-field-wrap">
4376
- <kendo-textbox #hintMessageInput [(value)]="hintMessage"></kendo-textbox>
4377
- </div>
4374
+ </div>
4375
+ }
4376
+ @if (criteria.type === 'list') {
4377
+ <div class="k-form-field">
4378
+ <div class="k-form-field-wrap">
4379
+ <kendo-checkbox #showBtnCheckBox [(checkedState)]="showButton"></kendo-checkbox>
4380
+ <kendo-label class="k-checkbox-label" [for]="showBtnCheckBox" [text]="getLocalizationMessage('validationShowListButtonCheckbox')"></kendo-label>
4378
4381
  </div>
4379
- </ng-container>
4382
+ </div>
4383
+ }
4384
+ <div class="k-form-field">
4385
+ <div class="k-form-field-wrap">
4386
+ <kendo-checkbox #ignoreBlankCheckBox [(checkedState)]="ignoreBlank"></kendo-checkbox>
4387
+ <kendo-label class="k-checkbox-label" [for]="ignoreBlankCheckBox" [text]="getLocalizationMessage('validationIgnoreBlankCheckbox')"></kendo-label>
4388
+ </div>
4389
+ </div>
4390
+ <div class="k-form-field">
4391
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationOnInvalidData')"></kendo-label>
4392
+ <div class="k-form-field-wrap">
4393
+ <ul class="k-radio-list k-list-vertical">
4394
+ <li class="k-radio-list-item">
4395
+ <kendo-radiobutton #rejectRadioBtn formControlName="onInvalidData" value="reject"></kendo-radiobutton>
4396
+ <kendo-label class="k-radio-label" [for]="rejectRadioBtn" [text]="getLocalizationMessage('validationRejectInput')"></kendo-label>
4397
+ </li>
4398
+ <li class="k-radio-list-item">
4399
+ <kendo-radiobutton #warningRadioBtn formControlName="onInvalidData" value="warning"></kendo-radiobutton>
4400
+ <kendo-label class="k-radio-label" [for]="warningRadioBtn" [text]="getLocalizationMessage('validationShowWarning')"></kendo-label>
4401
+ </li>
4402
+ </ul>
4403
+ </div>
4404
+ </div>
4405
+ <div class="k-form-field">
4406
+ <div class="k-form-field-wrap">
4407
+ <kendo-checkbox #showHintCheckBox [(checkedState)]="showHint"></kendo-checkbox>
4408
+ <kendo-label class="k-checkbox-label" [for]="showHintCheckBox" [text]="getLocalizationMessage('validationShowHint')"></kendo-label>
4409
+ </div>
4410
+ </div>
4411
+ <div class="k-form-field">
4412
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintTitle')" [for]="hintTitleInput"></kendo-label>
4413
+ <div class="k-form-field-wrap">
4414
+ <kendo-textbox #hintTitleInput [(value)]="hintTitle"></kendo-textbox>
4415
+ </div>
4416
+ </div>
4417
+ <div class="k-form-field">
4418
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintMessage')" [for]="hintMessageInput"></kendo-label>
4419
+ <div class="k-form-field-wrap">
4420
+ <kendo-textbox #hintMessageInput [(value)]="hintMessage"></kendo-textbox>
4421
+ </div>
4422
+ </div>
4423
+ }
4380
4424
  </form>
4381
4425
  <kendo-dialog-actions layout="start" #dialogActions>
4382
- <button kendoButton themeColor="primary" [disabled]="validationFormGroup?.invalid" (click)="dialogAction.emit(getLocalizationMessage('dialogApply'))">
4383
- {{getLocalizationMessage('dialogApply')}}
4384
- </button>
4385
- <button kendoButton (click)="dialogAction.emit(getLocalizationMessage('dialogCancel'))">{{getLocalizationMessage('dialogCancel')}}</button>
4386
- <button kendoButton themeColor="error" fillMode="flat" *ngIf="validationPresent" (click)="dialogAction.emit(getLocalizationMessage('dialogRemove'))">
4387
- {{getLocalizationMessage('dialogRemove')}}
4426
+ <button kendoButton themeColor="primary" [disabled]="validationFormGroup?.invalid" (click)="dialogAction.emit(getLocalizationMessage('dialogApply'))">
4427
+ {{getLocalizationMessage('dialogApply')}}
4428
+ </button>
4429
+ <button kendoButton (click)="dialogAction.emit(getLocalizationMessage('dialogCancel'))">{{getLocalizationMessage('dialogCancel')}}</button>
4430
+ @if (validationPresent) {
4431
+ <button kendoButton themeColor="error" fillMode="flat" (click)="dialogAction.emit(getLocalizationMessage('dialogRemove'))">
4432
+ {{getLocalizationMessage('dialogRemove')}}
4388
4433
  </button>
4434
+ }
4389
4435
  </kendo-dialog-actions>
4390
- `, isInline: true, dependencies: [{ 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"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "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: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4436
+ `, isInline: true, dependencies: [{ 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"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "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: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4391
4437
  }
4392
4438
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DataValidationDialogComponent, decorators: [{
4393
4439
  type: Component,
4394
4440
  args: [{
4395
4441
  template: `
4396
4442
  <form class="k-form k-form-md" [formGroup]="validationFormGroup">
4397
- <div class="k-form-field">
4398
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCellRange')" [for]="rangeInput"></kendo-label>
4399
- <div class="k-form-field-wrap">
4400
- <kendo-textbox #rangeInput
4401
- [clearButton]="true"
4402
- [value]="cellRange"
4403
- (valueChange)="onRangeChange($event, rangeInput)"
4404
- formControlName="range">
4405
- </kendo-textbox>
4406
- </div>
4443
+ <div class="k-form-field">
4444
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCellRange')" [for]="rangeInput"></kendo-label>
4445
+ <div class="k-form-field-wrap">
4446
+ <kendo-textbox #rangeInput
4447
+ [clearButton]="true"
4448
+ [value]="cellRange"
4449
+ (valueChange)="onRangeChange($event, rangeInput)"
4450
+ formControlName="range">
4451
+ </kendo-textbox>
4407
4452
  </div>
4408
- <div class="k-form-field">
4409
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCriteria')" [for]="criteriaInput"></kendo-label>
4410
- <div class="k-form-field-wrap">
4411
- <kendo-dropdownlist #criteriaInput
4412
- [data]="criteriaList"
4413
- [value]="criteria"
4414
- (selectionChange)="onSelectionChange($event, 'criteria')"
4415
- textField="name"
4416
- valueField="type">
4417
- </kendo-dropdownlist>
4418
- </div>
4453
+ </div>
4454
+ <div class="k-form-field">
4455
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationCriteria')" [for]="criteriaInput"></kendo-label>
4456
+ <div class="k-form-field-wrap">
4457
+ <kendo-dropdownlist #criteriaInput
4458
+ [data]="criteriaList"
4459
+ [value]="criteria"
4460
+ (selectionChange)="onSelectionChange($event, 'criteria')"
4461
+ textField="name"
4462
+ valueField="type">
4463
+ </kendo-dropdownlist>
4419
4464
  </div>
4420
- <ng-container *ngIf="criteria.type !== 'any'">
4421
- <div class="k-form-field" *ngIf="showComparer">
4422
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationComparer')" [for]="comparerInput"></kendo-label>
4423
- <div class="k-form-field-wrap">
4424
- <kendo-dropdownlist #comparerInput
4425
- [data]="comparerList"
4426
- [value]="comparer"
4427
- (selectionChange)="onSelectionChange($event, 'comparer')"
4428
- textField="name"
4429
- valueField="type">
4430
- </kendo-dropdownlist>
4431
- </div>
4432
- </div>
4433
- <div class="k-form-field" *ngIf="singleValue; else betweenValues">
4434
- <kendo-label class="k-label k-form-label" [text]="getValueLabel()" [for]="minInput"></kendo-label>
4435
- <div class="k-form-field-wrap">
4436
- <kendo-textbox #minInput [(value)]="from" formControlName="min"></kendo-textbox>
4437
- </div>
4438
- </div>
4439
- <ng-template #betweenValues>
4440
- <div class="k-form-field">
4441
- <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationStartValue' : 'validationMinValue')" [for]="betweenMinInput"></kendo-label>
4442
- <div class="k-form-field-wrap">
4443
- <kendo-textbox #betweenMinInput [(value)]="from" formControlName="min"></kendo-textbox>
4444
- </div>
4445
- </div>
4446
- <div class="k-form-field">
4447
- <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationEndValue' : 'validationMaxValue')" [for]="betweenMaxInput"></kendo-label>
4448
- <div class="k-form-field-wrap">
4449
- <kendo-textbox #betweenMaxInput [(value)]="to" formControlName="max"></kendo-textbox>
4450
- </div>
4451
- </div>
4452
- </ng-template>
4453
- <div class="k-form-field" *ngIf="criteria.type === 'list'">
4454
- <div class="k-form-field-wrap">
4455
- <kendo-checkbox #showBtnCheckBox [(checkedState)]="showButton"></kendo-checkbox>
4456
- <kendo-label class="k-checkbox-label" [for]="showBtnCheckBox" [text]="getLocalizationMessage('validationShowListButtonCheckbox')"></kendo-label>
4457
- </div>
4458
- </div>
4459
- <div class="k-form-field">
4460
- <div class="k-form-field-wrap">
4461
- <kendo-checkbox #ignoreBlankCheckBox [(checkedState)]="ignoreBlank"></kendo-checkbox>
4462
- <kendo-label class="k-checkbox-label" [for]="ignoreBlankCheckBox" [text]="getLocalizationMessage('validationIgnoreBlankCheckbox')"></kendo-label>
4463
- </div>
4465
+ </div>
4466
+ @if (criteria.type !== 'any') {
4467
+ @if (showComparer) {
4468
+ <div class="k-form-field">
4469
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationComparer')" [for]="comparerInput"></kendo-label>
4470
+ <div class="k-form-field-wrap">
4471
+ <kendo-dropdownlist #comparerInput
4472
+ [data]="comparerList"
4473
+ [value]="comparer"
4474
+ (selectionChange)="onSelectionChange($event, 'comparer')"
4475
+ textField="name"
4476
+ valueField="type">
4477
+ </kendo-dropdownlist>
4464
4478
  </div>
4465
- <div class="k-form-field">
4466
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationOnInvalidData')"></kendo-label>
4467
- <div class="k-form-field-wrap">
4468
- <ul class="k-radio-list k-list-vertical">
4469
- <li class="k-radio-list-item">
4470
- <kendo-radiobutton #rejectRadioBtn formControlName="onInvalidData" value="reject"></kendo-radiobutton>
4471
- <kendo-label class="k-radio-label" [for]="rejectRadioBtn" [text]="getLocalizationMessage('validationRejectInput')"></kendo-label>
4472
- </li>
4473
- <li class="k-radio-list-item">
4474
- <kendo-radiobutton #warningRadioBtn formControlName="onInvalidData" value="warning"></kendo-radiobutton>
4475
- <kendo-label class="k-radio-label" [for]="warningRadioBtn" [text]="getLocalizationMessage('validationShowWarning')"></kendo-label>
4476
- </li>
4477
- </ul>
4478
- </div>
4479
+ </div>
4480
+ }
4481
+ @if (singleValue) {
4482
+ <div class="k-form-field">
4483
+ <kendo-label class="k-label k-form-label" [text]="getValueLabel()" [for]="minInput"></kendo-label>
4484
+ <div class="k-form-field-wrap">
4485
+ <kendo-textbox #minInput [(value)]="from" formControlName="min"></kendo-textbox>
4479
4486
  </div>
4480
- <div class="k-form-field">
4481
- <div class="k-form-field-wrap">
4482
- <kendo-checkbox #showHintCheckBox [(checkedState)]="showHint"></kendo-checkbox>
4483
- <kendo-label class="k-checkbox-label" [for]="showHintCheckBox" [text]="getLocalizationMessage('validationShowHint')"></kendo-label>
4484
- </div>
4487
+ </div>
4488
+ } @else {
4489
+ <div class="k-form-field">
4490
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationStartValue' : 'validationMinValue')" [for]="betweenMinInput"></kendo-label>
4491
+ <div class="k-form-field-wrap">
4492
+ <kendo-textbox #betweenMinInput [(value)]="from" formControlName="min"></kendo-textbox>
4485
4493
  </div>
4486
- <div class="k-form-field">
4487
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintTitle')" [for]="hintTitleInput"></kendo-label>
4488
- <div class="k-form-field-wrap">
4489
- <kendo-textbox #hintTitleInput [(value)]="hintTitle"></kendo-textbox>
4490
- </div>
4494
+ </div>
4495
+ <div class="k-form-field">
4496
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage(criteria.type === 'date' ? 'validationEndValue' : 'validationMaxValue')" [for]="betweenMaxInput"></kendo-label>
4497
+ <div class="k-form-field-wrap">
4498
+ <kendo-textbox #betweenMaxInput [(value)]="to" formControlName="max"></kendo-textbox>
4491
4499
  </div>
4492
- <div class="k-form-field">
4493
- <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintMessage')" [for]="hintMessageInput"></kendo-label>
4494
- <div class="k-form-field-wrap">
4495
- <kendo-textbox #hintMessageInput [(value)]="hintMessage"></kendo-textbox>
4496
- </div>
4500
+ </div>
4501
+ }
4502
+ @if (criteria.type === 'list') {
4503
+ <div class="k-form-field">
4504
+ <div class="k-form-field-wrap">
4505
+ <kendo-checkbox #showBtnCheckBox [(checkedState)]="showButton"></kendo-checkbox>
4506
+ <kendo-label class="k-checkbox-label" [for]="showBtnCheckBox" [text]="getLocalizationMessage('validationShowListButtonCheckbox')"></kendo-label>
4497
4507
  </div>
4498
- </ng-container>
4508
+ </div>
4509
+ }
4510
+ <div class="k-form-field">
4511
+ <div class="k-form-field-wrap">
4512
+ <kendo-checkbox #ignoreBlankCheckBox [(checkedState)]="ignoreBlank"></kendo-checkbox>
4513
+ <kendo-label class="k-checkbox-label" [for]="ignoreBlankCheckBox" [text]="getLocalizationMessage('validationIgnoreBlankCheckbox')"></kendo-label>
4514
+ </div>
4515
+ </div>
4516
+ <div class="k-form-field">
4517
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationOnInvalidData')"></kendo-label>
4518
+ <div class="k-form-field-wrap">
4519
+ <ul class="k-radio-list k-list-vertical">
4520
+ <li class="k-radio-list-item">
4521
+ <kendo-radiobutton #rejectRadioBtn formControlName="onInvalidData" value="reject"></kendo-radiobutton>
4522
+ <kendo-label class="k-radio-label" [for]="rejectRadioBtn" [text]="getLocalizationMessage('validationRejectInput')"></kendo-label>
4523
+ </li>
4524
+ <li class="k-radio-list-item">
4525
+ <kendo-radiobutton #warningRadioBtn formControlName="onInvalidData" value="warning"></kendo-radiobutton>
4526
+ <kendo-label class="k-radio-label" [for]="warningRadioBtn" [text]="getLocalizationMessage('validationShowWarning')"></kendo-label>
4527
+ </li>
4528
+ </ul>
4529
+ </div>
4530
+ </div>
4531
+ <div class="k-form-field">
4532
+ <div class="k-form-field-wrap">
4533
+ <kendo-checkbox #showHintCheckBox [(checkedState)]="showHint"></kendo-checkbox>
4534
+ <kendo-label class="k-checkbox-label" [for]="showHintCheckBox" [text]="getLocalizationMessage('validationShowHint')"></kendo-label>
4535
+ </div>
4536
+ </div>
4537
+ <div class="k-form-field">
4538
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintTitle')" [for]="hintTitleInput"></kendo-label>
4539
+ <div class="k-form-field-wrap">
4540
+ <kendo-textbox #hintTitleInput [(value)]="hintTitle"></kendo-textbox>
4541
+ </div>
4542
+ </div>
4543
+ <div class="k-form-field">
4544
+ <kendo-label class="k-form-label" [text]="getLocalizationMessage('validationHintMessage')" [for]="hintMessageInput"></kendo-label>
4545
+ <div class="k-form-field-wrap">
4546
+ <kendo-textbox #hintMessageInput [(value)]="hintMessage"></kendo-textbox>
4547
+ </div>
4548
+ </div>
4549
+ }
4499
4550
  </form>
4500
4551
  <kendo-dialog-actions layout="start" #dialogActions>
4501
- <button kendoButton themeColor="primary" [disabled]="validationFormGroup?.invalid" (click)="dialogAction.emit(getLocalizationMessage('dialogApply'))">
4502
- {{getLocalizationMessage('dialogApply')}}
4503
- </button>
4504
- <button kendoButton (click)="dialogAction.emit(getLocalizationMessage('dialogCancel'))">{{getLocalizationMessage('dialogCancel')}}</button>
4505
- <button kendoButton themeColor="error" fillMode="flat" *ngIf="validationPresent" (click)="dialogAction.emit(getLocalizationMessage('dialogRemove'))">
4506
- {{getLocalizationMessage('dialogRemove')}}
4552
+ <button kendoButton themeColor="primary" [disabled]="validationFormGroup?.invalid" (click)="dialogAction.emit(getLocalizationMessage('dialogApply'))">
4553
+ {{getLocalizationMessage('dialogApply')}}
4554
+ </button>
4555
+ <button kendoButton (click)="dialogAction.emit(getLocalizationMessage('dialogCancel'))">{{getLocalizationMessage('dialogCancel')}}</button>
4556
+ @if (validationPresent) {
4557
+ <button kendoButton themeColor="error" fillMode="flat" (click)="dialogAction.emit(getLocalizationMessage('dialogRemove'))">
4558
+ {{getLocalizationMessage('dialogRemove')}}
4507
4559
  </button>
4560
+ }
4508
4561
  </kendo-dialog-actions>
4509
- `,
4562
+ `,
4510
4563
  standalone: true,
4511
- imports: [TextBoxComponent, DropDownListComponent, CheckBoxComponent, RadioButtonComponent, NgIf, ReactiveFormsModule, LabelComponent, DialogActionsComponent, ButtonComponent]
4564
+ imports: [TextBoxComponent, DropDownListComponent, CheckBoxComponent, RadioButtonComponent, ReactiveFormsModule, LabelComponent, DialogActionsComponent, ButtonComponent]
4512
4565
  }]
4513
4566
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: SpreadsheetService }, { type: i0.NgZone }, { type: i1$2.DialogRef }], propDecorators: { dialogAction: [{
4514
4567
  type: Output
@@ -4677,7 +4730,7 @@ class ListEditorComponent {
4677
4730
  this.itemSelect.emit(item);
4678
4731
  }
4679
4732
  onKeyDown(event, index) {
4680
- const code = normalizeNumpadKeys(event);
4733
+ const code = normalizeKeys(event);
4681
4734
  const altKey = event.altKey;
4682
4735
  switch (code) {
4683
4736
  case Keys.ArrowDown:
@@ -4739,42 +4792,46 @@ class ListEditorComponent {
4739
4792
  }
4740
4793
  }
4741
4794
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListEditorComponent, deps: [{ token: i0.NgZone }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Component });
4742
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ListEditorComponent, isStandalone: true, selector: "ng-component", outputs: { itemSelect: "itemSelect", close: "close" }, viewQueries: [{ propertyName: "listItems", predicate: ["listItem"], descendants: true, read: ElementRef }], ngImport: i0, template: `
4795
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListEditorComponent, isStandalone: true, selector: "ng-component", outputs: { itemSelect: "itemSelect", close: "close" }, viewQueries: [{ propertyName: "listItems", predicate: ["listItem"], descendants: true, read: ElementRef }], ngImport: i0, template: `
4743
4796
  <ul class="k-list k-reset k-list-ul" role="listbox">
4744
- <li *ngFor="let item of data; let i = index"
4745
- role="option"
4746
- class="k-list-item"
4747
- [class.k-focus]="i === focusedIndex"
4748
- [attr.aria-selected]="i === focusedIndex"
4749
- [attr.tabindex]="i === focusedIndex ? 0 : -1"
4750
- (click)="onItemClick(item)"
4751
- (keydown)="onKeyDown($event, i)"
4752
- #listItem>
4753
- <span class="k-list-item-text">{{item.value}}</span>
4797
+ @for (item of data; track item; let i = $index) {
4798
+ <li
4799
+ role="option"
4800
+ class="k-list-item"
4801
+ [class.k-focus]="i === focusedIndex"
4802
+ [attr.aria-selected]="i === focusedIndex"
4803
+ [attr.tabindex]="i === focusedIndex ? 0 : -1"
4804
+ (click)="onItemClick(item)"
4805
+ (keydown)="onKeyDown($event, i)"
4806
+ #listItem>
4807
+ <span class="k-list-item-text">{{item.value}}</span>
4754
4808
  </li>
4809
+ }
4755
4810
  </ul>
4756
- `, isInline: true, dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
4811
+ `, isInline: true });
4757
4812
  }
4758
4813
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListEditorComponent, decorators: [{
4759
4814
  type: Component,
4760
4815
  args: [{
4761
4816
  template: `
4762
4817
  <ul class="k-list k-reset k-list-ul" role="listbox">
4763
- <li *ngFor="let item of data; let i = index"
4764
- role="option"
4765
- class="k-list-item"
4766
- [class.k-focus]="i === focusedIndex"
4767
- [attr.aria-selected]="i === focusedIndex"
4768
- [attr.tabindex]="i === focusedIndex ? 0 : -1"
4769
- (click)="onItemClick(item)"
4770
- (keydown)="onKeyDown($event, i)"
4771
- #listItem>
4772
- <span class="k-list-item-text">{{item.value}}</span>
4818
+ @for (item of data; track item; let i = $index) {
4819
+ <li
4820
+ role="option"
4821
+ class="k-list-item"
4822
+ [class.k-focus]="i === focusedIndex"
4823
+ [attr.aria-selected]="i === focusedIndex"
4824
+ [attr.tabindex]="i === focusedIndex ? 0 : -1"
4825
+ (click)="onItemClick(item)"
4826
+ (keydown)="onKeyDown($event, i)"
4827
+ #listItem>
4828
+ <span class="k-list-item-text">{{item.value}}</span>
4773
4829
  </li>
4830
+ }
4774
4831
  </ul>
4775
- `,
4832
+ `,
4776
4833
  standalone: true,
4777
- imports: [NgForOf]
4834
+ imports: []
4778
4835
  }]
4779
4836
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: SpreadsheetService }], propDecorators: { itemSelect: [{
4780
4837
  type: Output
@@ -5210,13 +5267,13 @@ class SpreadsheetComponent {
5210
5267
  const isCtrl = e.ctrlKey || e.metaKey;
5211
5268
  const shift = e.shiftKey;
5212
5269
  const altKey = e.altKey;
5213
- if (isCtrl && shift && e.code === Keys.KeyS) {
5270
+ const code = normalizeKeys(e);
5271
+ if (isCtrl && shift && code === Keys.KeyS) {
5214
5272
  this.spreadsheetService.onSheetsBarFocus.next(undefined);
5215
5273
  }
5216
5274
  if (altKey) {
5217
5275
  const currentSheet = e.sender.activeSheet();
5218
5276
  const validation = currentSheet.range(currentSheet.activeCell()).validation();
5219
- const code = normalizeNumpadKeys(e);
5220
5277
  if (isPresent(validation) && validation.dataType === 'list') {
5221
5278
  if (code === Keys.ArrowDown) {
5222
5279
  this.spreadsheetWidget.view.openCustomEditor();
@@ -5652,7 +5709,7 @@ class SpreadsheetComponent {
5652
5709
  return new Date(serialToDate(isPresent(sheet) ? sheet.range(validation.value.row, validation.value.col).value() : validation));
5653
5710
  }
5654
5711
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$4.IntlService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }, { token: i1$2.DialogService }, { token: i1$1.PopupService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
5655
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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", cellEditors: "cellEditors", 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: [
5712
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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", cellEditors: "cellEditors", 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: [
5656
5713
  SpreadsheetLocalizationService,
5657
5714
  SpreadsheetService,
5658
5715
  {
@@ -5668,350 +5725,366 @@ class SpreadsheetComponent {
5668
5725
  ErrorHandlingService
5669
5726
  ], viewQueries: [{ propertyName: "formulaBarInputRef", first: true, predicate: ["formulaBar"], descendants: true, read: FormulaInputDirective }, { propertyName: "formulaCellInputRef", first: true, predicate: ["formulaCell"], descendants: true, read: FormulaInputDirective }, { propertyName: "nameBoxRef", first: true, predicate: ["nameBox"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }], exportAs: ["kendo-spreadsheet"], usesOnChanges: true, ngImport: i0, template: `
5670
5727
  <ng-container
5671
- kendoSpreadsheetLocalizedMessages
5672
- i18n-background="kendo.spreadsheet.background|The title of the tool that changes the text background color."
5673
- background="Background color"
5674
- i18n-color="kendo.spreadsheet.color|The title of the tool that changes the text font color."
5675
- color="Font color"
5676
- i18n-bold="kendo.spreadsheet.bold|The title of the Bold tool."
5677
- bold="Bold"
5678
- i18n-dataValidation="kendo.spreadsheet.dataValidation|The title of the Data Validation tool."
5679
- dataValidation="Data Validation"
5680
- i18n-validationCellRange="kendo.spreadsheet.validationCellRange|The text of the Cell Range label in the data validation dialog."
5681
- validationCellRange="Cell Range"
5682
- i18n-validationCriteria="kendo.spreadsheet.validationCriteria|The text of the Criteria dropdown list label in the data validation dialog."
5683
- validationCriteria="Criteria"
5684
- i18n-validationMinValue="kendo.spreadsheet.validationMinValue|The text of the Min value label in the data validation dialog."
5685
- validationMinValue="Min"
5686
- i18n-validationMaxValue="kendo.spreadsheet.validationMaxValue|The text of the Max value label in the data validation dialog."
5687
- validationMaxValue="Max"
5688
- i18n-validationStartValue="kendo.spreadsheet.validationStartValue|The text of the Start value label in the data validation dialog."
5689
- validationStartValue="Start"
5690
- i18n-validationEndValue="kendo.spreadsheet.validationEndValue|The text of the End value label in the data validation dialog."
5691
- validationEndValue="End"
5692
- i18n-validationValue="kendo.spreadsheet.validationValue|The text of the Value label in the data validation dialog."
5693
- validationValue="Text"
5694
- i18n-validationShowListButtonCheckbox="kendo.spreadsheet.validationShowListButtonCheckbox|The text for the Show list button checkbox label in the data validation dialog."
5695
- validationShowListButtonCheckbox="Display button to show list"
5696
- i18n-validationOnInvalidData="kendo.spreadsheet.validationOnInvalidData|The text for the On invalid data label in the data validation dialog."
5697
- validationOnInvalidData="On invalid data"
5698
- i18n-validationShowDateButtonCheckbox="kendo.spreadsheet.validationShowDateButtonCheckbox|The text for the Show date button checkbox label in the data validation dialog."
5699
- validationShowDateButtonCheckbox="Display button to show Calendar"
5700
- i18n-validationRejectInput="kendo.spreadsheet.validationRejectInput|The text for the Reject input radio button label in the data validation dialog."
5701
- validationRejectInput="Reject input"
5702
- i18n-validationShowWarning="kendo.spreadsheet.validationShowWarning|The text for the Show warning radio button label in the data validation dialog."
5703
- validationShowWarning="Show warning"
5704
- i18n-validationHintTitle="kendo.spreadsheet.validationHintTitle|The text for the Custom hint title input label in the data validation dialog."
5705
- validationHintTitle="Custom hint title"
5706
- i18n-validationHintMessage="kendo.spreadsheet.validationHintMessage|The text for the Custom hint input label in the data validation dialog."
5707
- validationHintMessage="Custom hint"
5708
- i18n-validationShowHint="kendo.spreadsheet.validationShowHint|The text for the Show hint radio button label in the data validation dialog."
5709
- validationShowHint="Show hint"
5710
- i18n-validationIgnoreBlankCheckbox="kendo.spreadsheet.validationIgnoreBlankCheckbox|The text for the Ignore blank checkbox label in the data validation dialog."
5711
- validationIgnoreBlankCheckbox="Ignore blank"
5712
- i18n-validationComparer="kendo.spreadsheet.validationComparer|The text of the Comparer dropdown list label in the data validation dialog."
5713
- validationComparer="Comparer"
5714
- i18n-anyValueValidationCriteria="kendo.spreadsheet.anyValueValidationCriteria|The text of the Any value validation criteria"
5715
- anyValueValidationCriteria="Any value"
5716
- i18n-numberValidationCriteria="kendo.spreadsheet.numberValidationCriteria|The text of the Number validation criteria"
5717
- numberValidationCriteria="Number"
5718
- i18n-textValidationCriteria="kendo.spreadsheet.textValidationCriteria|The text of the Text validation criteria"
5719
- textValidationCriteria="Text"
5720
- i18n-dateValidationCriteria="kendo.spreadsheet.dateValidationCriteria|The text of the Date validation criteria"
5721
- dateValidationCriteria="Date"
5722
- i18n-customFormulaValidationCriteria="kendo.spreadsheet.customFormulaValidationCriteria|The text of the Custom formula validation criteria"
5723
- customFormulaValidationCriteria="Custom Formula"
5724
- i18n-listValidationCriteria="kendo.spreadsheet.listValidationCriteria|The text of the List validation criteria"
5725
- listValidationCriteria="List"
5726
- i18n-greaterThanValidationComparer="kendo.spreadsheet.greaterThanValidationComparer|The text of the greater than validation comparer"
5727
- greaterThanValidationComparer="greater than"
5728
- i18n-lessThanValidationComparer="kendo.spreadsheet.lessThanValidationComparer|The text of the less than validation comparer"
5729
- lessThanValidationComparer="less than"
5730
- i18n-betweenValidationComparer="kendo.spreadsheet.betweenValidationComparer|The text of the between validation comparer"
5731
- betweenValidationComparer="between"
5732
- i18n-notBetweenValidationComparer="kendo.spreadsheet.notBetweenValidationComparer|The text of the not between validation comparer"
5733
- notBetweenValidationComparer="not between"
5734
- i18n-equalToValidationComparer="kendo.spreadsheet.equalToValidationComparer|The text of the equal to validation comparer"
5735
- equalToValidationComparer="equal to"
5736
- i18n-notEqualToValidationComparer="kendo.spreadsheet.notEqualToValidationComparer|The text of the not equal to validation comparer"
5737
- notEqualToValidationComparer="not equal to"
5738
- i18n-greaterThanOrEqualToValidationComparer="kendo.spreadsheet.greaterThanOrEqualToValidationComparer|The text of the greater than on equal to validation comparer"
5739
- greaterThanOrEqualToValidationComparer="greater than or equal to"
5740
- i18n-lessThanOrEqualToValidationComparer="kendo.spreadsheet.lessThanOrEqualToValidationComparer|The text of the less than on equal to validation comparer"
5741
- lessThanOrEqualToValidationComparer="less than or equal to"
5742
- i18n-italic="kendo.spreadsheet.italic|The title of the Italic tool."
5743
- italic="Italic"
5744
- i18n-underline="kendo.spreadsheet.underline|The title of the Underline tool."
5745
- underline="Underline"
5746
- i18n-loadFile="kendo.spreadsheet.loadFile|The title of the Load File tool."
5747
- loadFile="Open..."
5748
- i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
5749
- saveFile="Export..."
5750
- i18n-format="kendo.spreadsheet.format|The text of the Format tool."
5751
- format="Custom format..."
5752
- i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
5753
- fontFamily="Font"
5754
- i18n-fontSize="kendo.spreadsheet.fontSize|The text of the Font Size tool."
5755
- fontSize="Font size"
5756
- i18n-home="kendo.spreadsheet.home|The text of the Home toolbar tab."
5757
- home="Home"
5758
- i18n-file="kendo.spreadsheet.file|The text of the File toolbar tab."
5759
- file="File"
5760
- i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
5761
- insert="Insert"
5762
- i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
5763
- formatTab="Format"
5764
- i18n-dataTab="kendo.spreadsheet.dataTab|The text of the Data toolbar tab."
5765
- dataTab="Data"
5766
- i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
5767
- view="View"
5768
- i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
5769
- undo="Undo"
5770
- i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
5771
- redo="Redo"
5772
- i18n-gridLines="kendo.spreadsheet.gridLines|The title of the Grid Lines tool."
5773
- gridLines="Toggle grid lines"
5774
- i18n-addColumnLeft="kendo.spreadsheet.addColumnLeft|The title of the tool that adds new column before currently selected column."
5775
- addColumnLeft="Add column left"
5776
- i18n-addColumnRight="kendo.spreadsheet.addColumnRight|The title of the tool that adds new column after currently selected column."
5777
- addColumnRight="Add column right"
5778
- i18n-addRowBelow="kendo.spreadsheet.addRowBelow|The title of the tool that adds new row below currently selected row."
5779
- addRowBelow="Add row below"
5780
- i18n-addRowAbove="kendo.spreadsheet.addRowAbove|The title of the tool that adds new row above currently selected row."
5781
- addRowAbove="Add row above"
5782
- i18n-deleteColumn="kendo.spreadsheet.deleteColumn|The title of the tool that deletes a column."
5783
- deleteColumn="Delete column"
5784
- i18n-deleteRow="kendo.spreadsheet.deleteRow|The title of the tool that deletes a row."
5785
- deleteRow="Delete row"
5786
- i18n-wrap="kendo.spreadsheet.wrap|The title of the Text Wrap tool."
5787
- wrap="Text wrap"
5788
- i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
5789
- align="Align"
5790
- i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
5791
- alignHorizontal="Align horizontally"
5792
- i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
5793
- alignVertical="Align vertically"
5794
- i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
5795
- alignLeft="Align Left"
5796
- i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
5797
- alignCenter="Align Center"
5798
- i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
5799
- alignRight="Align Right"
5800
- i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
5801
- alignJustify="Align Justify"
5802
- i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
5803
- alignTop="Align Top"
5804
- i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
5805
- alignMiddle="Align Middle"
5806
- i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
5807
- alignBottom="Align Bottom"
5808
- i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
5809
- merge="Merge"
5810
- i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
5811
- mergeAll="Merge all"
5812
- i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
5813
- mergeHorizontally="Merge horizontally"
5814
- i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
5815
- mergeVertically="Merge vertically"
5816
- i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
5817
- unmerge="Unmerge"
5818
- i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
5819
- insertLink="Insert link"
5820
- i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
5821
- decreaseDecimal="Decrease decimal"
5822
- i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
5823
- increaseDecimal="Increase decimal"
5824
- i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
5825
- increaseFontSize="Increase font size"
5826
- i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
5827
- decreaseFontSize="Decrease font size"
5828
- i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
5829
- dialogApply="Apply"
5830
- i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
5831
- dialogCancel="Cancel"
5832
- i18n-dialogDelete="kendo.spreadsheet.dialogDelete|The text of the **Delete** button in the Delete sheet dialog."
5833
- dialogDelete="Delete"
5834
- i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
5835
- dialogRename="Rename"
5836
- i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
5837
- dialogInsert="Insert"
5838
- i18n-dialogRemove="kendo.spreadsheet.dialogRemove|The text of the **Remove** button in all Spreadsheet dialogs."
5839
- dialogRemove="Remove"
5840
- i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
5841
- dialogRemoveLink="Remove link"
5842
- i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
5843
- rename="Rename Sheet"
5844
- i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
5845
- delete="Delete Sheet"
5846
- i18n-nameBox="kendo.spreadsheet.nameBox|The title of the Name Box input."
5847
- nameBox="Name Box"
5848
- i18n-formulaInput="kendo.spreadsheet.formulaInput|The title of the Formula input."
5849
- formulaInput="Formula Input"
5850
- i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
5851
- addSheet="Add New Sheet"
5852
- i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
5853
- sheetsMenu="All Sheets"
5854
- i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
5855
- openUnsupported="Unsupported format. Please select an .xlsx file."
5856
- i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
5857
- modifyMerged="Cannot change part of a merged cell."
5858
- i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
5859
- cannotModifyDisabled="Cannot modify disabled cells."
5860
- i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
5861
- dialogOk="OK"
5862
- i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
5863
- dialogError="Error"
5864
- i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
5865
- duplicateSheetName="There is an existing sheet with this name. Please enter another name."
5866
- i18n-copy="kendo.spreadsheet.copy|The Copy command text."
5867
- copy="Copy"
5868
- i18n-cut="kendo.spreadsheet.cut|The Cut command text."
5869
- cut="Cut"
5870
- i18n-paste="kendo.spreadsheet.paste|The Paste command text."
5871
- paste="Paste (use Ctrl/⌘ + V)"
5872
- i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
5873
- hideRow="Hide"
5874
- i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
5875
- unhideRow="Unhide"
5876
- i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
5877
- hideColumn="Hide"
5878
- i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
5879
- unhideColumn="Unhide"
5880
- i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
5881
- sheetDelete="Delete"
5882
- i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
5883
- sheetRename="Rename"
5884
- i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
5885
- sheetDuplicate="Duplicate"
5886
- i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
5887
- sheetHide="Hide"
5888
- i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
5889
- sheetMoveLeft="Move Left"
5890
- i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
5891
- sheetMoveRight="Move Right"
5892
- i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
5893
- invalidNameError="{{ 'Invalid name: {inputValue}' }}">
5728
+ kendoSpreadsheetLocalizedMessages
5729
+ i18n-background="kendo.spreadsheet.background|The title of the tool that changes the text background color."
5730
+ background="Background color"
5731
+ i18n-color="kendo.spreadsheet.color|The title of the tool that changes the text font color."
5732
+ color="Font color"
5733
+ i18n-bold="kendo.spreadsheet.bold|The title of the Bold tool."
5734
+ bold="Bold"
5735
+ i18n-dataValidation="kendo.spreadsheet.dataValidation|The title of the Data Validation tool."
5736
+ dataValidation="Data Validation"
5737
+ i18n-validationCellRange="kendo.spreadsheet.validationCellRange|The text of the Cell Range label in the data validation dialog."
5738
+ validationCellRange="Cell Range"
5739
+ i18n-validationCriteria="kendo.spreadsheet.validationCriteria|The text of the Criteria dropdown list label in the data validation dialog."
5740
+ validationCriteria="Criteria"
5741
+ i18n-validationMinValue="kendo.spreadsheet.validationMinValue|The text of the Min value label in the data validation dialog."
5742
+ validationMinValue="Min"
5743
+ i18n-validationMaxValue="kendo.spreadsheet.validationMaxValue|The text of the Max value label in the data validation dialog."
5744
+ validationMaxValue="Max"
5745
+ i18n-validationStartValue="kendo.spreadsheet.validationStartValue|The text of the Start value label in the data validation dialog."
5746
+ validationStartValue="Start"
5747
+ i18n-validationEndValue="kendo.spreadsheet.validationEndValue|The text of the End value label in the data validation dialog."
5748
+ validationEndValue="End"
5749
+ i18n-validationValue="kendo.spreadsheet.validationValue|The text of the Value label in the data validation dialog."
5750
+ validationValue="Text"
5751
+ i18n-validationShowListButtonCheckbox="kendo.spreadsheet.validationShowListButtonCheckbox|The text for the Show list button checkbox label in the data validation dialog."
5752
+ validationShowListButtonCheckbox="Display button to show list"
5753
+ i18n-validationOnInvalidData="kendo.spreadsheet.validationOnInvalidData|The text for the On invalid data label in the data validation dialog."
5754
+ validationOnInvalidData="On invalid data"
5755
+ i18n-validationShowDateButtonCheckbox="kendo.spreadsheet.validationShowDateButtonCheckbox|The text for the Show date button checkbox label in the data validation dialog."
5756
+ validationShowDateButtonCheckbox="Display button to show Calendar"
5757
+ i18n-validationRejectInput="kendo.spreadsheet.validationRejectInput|The text for the Reject input radio button label in the data validation dialog."
5758
+ validationRejectInput="Reject input"
5759
+ i18n-validationShowWarning="kendo.spreadsheet.validationShowWarning|The text for the Show warning radio button label in the data validation dialog."
5760
+ validationShowWarning="Show warning"
5761
+ i18n-validationHintTitle="kendo.spreadsheet.validationHintTitle|The text for the Custom hint title input label in the data validation dialog."
5762
+ validationHintTitle="Custom hint title"
5763
+ i18n-validationHintMessage="kendo.spreadsheet.validationHintMessage|The text for the Custom hint input label in the data validation dialog."
5764
+ validationHintMessage="Custom hint"
5765
+ i18n-validationShowHint="kendo.spreadsheet.validationShowHint|The text for the Show hint radio button label in the data validation dialog."
5766
+ validationShowHint="Show hint"
5767
+ i18n-validationIgnoreBlankCheckbox="kendo.spreadsheet.validationIgnoreBlankCheckbox|The text for the Ignore blank checkbox label in the data validation dialog."
5768
+ validationIgnoreBlankCheckbox="Ignore blank"
5769
+ i18n-validationComparer="kendo.spreadsheet.validationComparer|The text of the Comparer dropdown list label in the data validation dialog."
5770
+ validationComparer="Comparer"
5771
+ i18n-anyValueValidationCriteria="kendo.spreadsheet.anyValueValidationCriteria|The text of the Any value validation criteria"
5772
+ anyValueValidationCriteria="Any value"
5773
+ i18n-numberValidationCriteria="kendo.spreadsheet.numberValidationCriteria|The text of the Number validation criteria"
5774
+ numberValidationCriteria="Number"
5775
+ i18n-textValidationCriteria="kendo.spreadsheet.textValidationCriteria|The text of the Text validation criteria"
5776
+ textValidationCriteria="Text"
5777
+ i18n-dateValidationCriteria="kendo.spreadsheet.dateValidationCriteria|The text of the Date validation criteria"
5778
+ dateValidationCriteria="Date"
5779
+ i18n-customFormulaValidationCriteria="kendo.spreadsheet.customFormulaValidationCriteria|The text of the Custom formula validation criteria"
5780
+ customFormulaValidationCriteria="Custom Formula"
5781
+ i18n-listValidationCriteria="kendo.spreadsheet.listValidationCriteria|The text of the List validation criteria"
5782
+ listValidationCriteria="List"
5783
+ i18n-greaterThanValidationComparer="kendo.spreadsheet.greaterThanValidationComparer|The text of the greater than validation comparer"
5784
+ greaterThanValidationComparer="greater than"
5785
+ i18n-lessThanValidationComparer="kendo.spreadsheet.lessThanValidationComparer|The text of the less than validation comparer"
5786
+ lessThanValidationComparer="less than"
5787
+ i18n-betweenValidationComparer="kendo.spreadsheet.betweenValidationComparer|The text of the between validation comparer"
5788
+ betweenValidationComparer="between"
5789
+ i18n-notBetweenValidationComparer="kendo.spreadsheet.notBetweenValidationComparer|The text of the not between validation comparer"
5790
+ notBetweenValidationComparer="not between"
5791
+ i18n-equalToValidationComparer="kendo.spreadsheet.equalToValidationComparer|The text of the equal to validation comparer"
5792
+ equalToValidationComparer="equal to"
5793
+ i18n-notEqualToValidationComparer="kendo.spreadsheet.notEqualToValidationComparer|The text of the not equal to validation comparer"
5794
+ notEqualToValidationComparer="not equal to"
5795
+ i18n-greaterThanOrEqualToValidationComparer="kendo.spreadsheet.greaterThanOrEqualToValidationComparer|The text of the greater than on equal to validation comparer"
5796
+ greaterThanOrEqualToValidationComparer="greater than or equal to"
5797
+ i18n-lessThanOrEqualToValidationComparer="kendo.spreadsheet.lessThanOrEqualToValidationComparer|The text of the less than on equal to validation comparer"
5798
+ lessThanOrEqualToValidationComparer="less than or equal to"
5799
+ i18n-italic="kendo.spreadsheet.italic|The title of the Italic tool."
5800
+ italic="Italic"
5801
+ i18n-underline="kendo.spreadsheet.underline|The title of the Underline tool."
5802
+ underline="Underline"
5803
+ i18n-loadFile="kendo.spreadsheet.loadFile|The title of the Load File tool."
5804
+ loadFile="Open..."
5805
+ i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
5806
+ saveFile="Export..."
5807
+ i18n-format="kendo.spreadsheet.format|The text of the Format tool."
5808
+ format="Custom format..."
5809
+ i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
5810
+ fontFamily="Font"
5811
+ i18n-fontSize="kendo.spreadsheet.fontSize|The text of the Font Size tool."
5812
+ fontSize="Font size"
5813
+ i18n-home="kendo.spreadsheet.home|The text of the Home toolbar tab."
5814
+ home="Home"
5815
+ i18n-file="kendo.spreadsheet.file|The text of the File toolbar tab."
5816
+ file="File"
5817
+ i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
5818
+ insert="Insert"
5819
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
5820
+ formatTab="Format"
5821
+ i18n-dataTab="kendo.spreadsheet.dataTab|The text of the Data toolbar tab."
5822
+ dataTab="Data"
5823
+ i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
5824
+ view="View"
5825
+ i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
5826
+ undo="Undo"
5827
+ i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
5828
+ redo="Redo"
5829
+ i18n-gridLines="kendo.spreadsheet.gridLines|The title of the Grid Lines tool."
5830
+ gridLines="Toggle grid lines"
5831
+ i18n-addColumnLeft="kendo.spreadsheet.addColumnLeft|The title of the tool that adds new column before currently selected column."
5832
+ addColumnLeft="Add column left"
5833
+ i18n-addColumnRight="kendo.spreadsheet.addColumnRight|The title of the tool that adds new column after currently selected column."
5834
+ addColumnRight="Add column right"
5835
+ i18n-addRowBelow="kendo.spreadsheet.addRowBelow|The title of the tool that adds new row below currently selected row."
5836
+ addRowBelow="Add row below"
5837
+ i18n-addRowAbove="kendo.spreadsheet.addRowAbove|The title of the tool that adds new row above currently selected row."
5838
+ addRowAbove="Add row above"
5839
+ i18n-deleteColumn="kendo.spreadsheet.deleteColumn|The title of the tool that deletes a column."
5840
+ deleteColumn="Delete column"
5841
+ i18n-deleteRow="kendo.spreadsheet.deleteRow|The title of the tool that deletes a row."
5842
+ deleteRow="Delete row"
5843
+ i18n-wrap="kendo.spreadsheet.wrap|The title of the Text Wrap tool."
5844
+ wrap="Text wrap"
5845
+ i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
5846
+ align="Align"
5847
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
5848
+ alignHorizontal="Align horizontally"
5849
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
5850
+ alignVertical="Align vertically"
5851
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
5852
+ alignLeft="Align Left"
5853
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
5854
+ alignCenter="Align Center"
5855
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
5856
+ alignRight="Align Right"
5857
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
5858
+ alignJustify="Align Justify"
5859
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
5860
+ alignTop="Align Top"
5861
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
5862
+ alignMiddle="Align Middle"
5863
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
5864
+ alignBottom="Align Bottom"
5865
+ i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
5866
+ merge="Merge"
5867
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
5868
+ mergeAll="Merge all"
5869
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
5870
+ mergeHorizontally="Merge horizontally"
5871
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
5872
+ mergeVertically="Merge vertically"
5873
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
5874
+ unmerge="Unmerge"
5875
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
5876
+ insertLink="Insert link"
5877
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
5878
+ decreaseDecimal="Decrease decimal"
5879
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
5880
+ increaseDecimal="Increase decimal"
5881
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
5882
+ increaseFontSize="Increase font size"
5883
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
5884
+ decreaseFontSize="Decrease font size"
5885
+ i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
5886
+ dialogApply="Apply"
5887
+ i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
5888
+ dialogCancel="Cancel"
5889
+ i18n-dialogDelete="kendo.spreadsheet.dialogDelete|The text of the **Delete** button in the Delete sheet dialog."
5890
+ dialogDelete="Delete"
5891
+ i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
5892
+ dialogRename="Rename"
5893
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
5894
+ dialogInsert="Insert"
5895
+ i18n-dialogRemove="kendo.spreadsheet.dialogRemove|The text of the **Remove** button in all Spreadsheet dialogs."
5896
+ dialogRemove="Remove"
5897
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
5898
+ dialogRemoveLink="Remove link"
5899
+ i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
5900
+ rename="Rename Sheet"
5901
+ i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
5902
+ delete="Delete Sheet"
5903
+ i18n-nameBox="kendo.spreadsheet.nameBox|The title of the Name Box input."
5904
+ nameBox="Name Box"
5905
+ i18n-formulaInput="kendo.spreadsheet.formulaInput|The title of the Formula input."
5906
+ formulaInput="Formula Input"
5907
+ i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
5908
+ addSheet="Add New Sheet"
5909
+ i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
5910
+ sheetsMenu="All Sheets"
5911
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
5912
+ openUnsupported="Unsupported format. Please select an .xlsx file."
5913
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
5914
+ modifyMerged="Cannot change part of a merged cell."
5915
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
5916
+ cannotModifyDisabled="Cannot modify disabled cells."
5917
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
5918
+ dialogOk="OK"
5919
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
5920
+ dialogError="Error"
5921
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
5922
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
5923
+ i18n-copy="kendo.spreadsheet.copy|The Copy command text."
5924
+ copy="Copy"
5925
+ i18n-cut="kendo.spreadsheet.cut|The Cut command text."
5926
+ cut="Cut"
5927
+ i18n-paste="kendo.spreadsheet.paste|The Paste command text."
5928
+ paste="Paste (use Ctrl/⌘ + V)"
5929
+ i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
5930
+ hideRow="Hide"
5931
+ i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
5932
+ unhideRow="Unhide"
5933
+ i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
5934
+ hideColumn="Hide"
5935
+ i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
5936
+ unhideColumn="Unhide"
5937
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
5938
+ sheetDelete="Delete"
5939
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
5940
+ sheetRename="Rename"
5941
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
5942
+ sheetDuplicate="Duplicate"
5943
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
5944
+ sheetHide="Hide"
5945
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
5946
+ sheetMoveLeft="Move Left"
5947
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
5948
+ sheetMoveRight="Move Right"
5949
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
5950
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
5894
5951
  </ng-container>
5895
5952
  <div class="k-spreadsheet-header">
5896
- <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
5897
- <kendo-menu-item *ngFor="let item of menuItems" [text]="item.text" [cssClass]="item.cssClass"></kendo-menu-item>
5898
- </kendo-menu>
5899
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'file'"
5900
- [attr.aria-label]="messageFor('file')"
5901
- fillMode="flat"
5902
- class="k-spreadsheet-toolbar"
5903
- [overflow]="overflow">
5904
- <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
5905
- <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
5953
+ <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
5954
+ @for (item of menuItems; track item) {
5955
+ <kendo-menu-item [text]="item.text" [cssClass]="item.cssClass"></kendo-menu-item>
5956
+ }
5957
+ </kendo-menu>
5958
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'file') {
5959
+ <kendo-toolbar
5960
+ [attr.aria-label]="messageFor('file')"
5961
+ fillMode="flat"
5962
+ class="k-spreadsheet-toolbar"
5963
+ [overflow]="overflow">
5964
+ <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
5965
+ <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
5906
5966
  </kendo-toolbar>
5907
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'home'"
5908
- [attr.aria-label]="messageFor('home')"
5909
- class="k-spreadsheet-toolbar"
5910
- fillMode="flat"
5911
- [overflow]="overflow">
5912
- <kendo-toolbar-button kendoSpreadsheetUndo></kendo-toolbar-button>
5913
- <kendo-toolbar-button kendoSpreadsheetRedo></kendo-toolbar-button>
5914
- <kendo-toolbar-separator></kendo-toolbar-separator>
5915
- <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
5916
- <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
5917
- <kendo-toolbar-buttongroup fillMode="flat">
5918
- <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
5919
- <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
5920
- </kendo-toolbar-buttongroup>
5921
- <kendo-toolbar-separator></kendo-toolbar-separator>
5922
- <kendo-toolbar-buttongroup fillMode="flat">
5923
- <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
5924
- <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
5925
- <kendo-toolbar-button kendoSpreadsheetUnderline></kendo-toolbar-button>
5926
- </kendo-toolbar-buttongroup>
5927
- <kendo-spreadsheet-forecolor-tool></kendo-spreadsheet-forecolor-tool>
5928
- <kendo-toolbar-separator></kendo-toolbar-separator>
5929
- <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
5930
- <kendo-toolbar-separator></kendo-toolbar-separator>
5931
- <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
5932
- <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
5933
- <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
5934
- <kendo-toolbar-separator></kendo-toolbar-separator>
5935
- <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
5967
+ }
5968
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'home') {
5969
+ <kendo-toolbar
5970
+ [attr.aria-label]="messageFor('home')"
5971
+ class="k-spreadsheet-toolbar"
5972
+ fillMode="flat"
5973
+ [overflow]="overflow">
5974
+ <kendo-toolbar-button kendoSpreadsheetUndo></kendo-toolbar-button>
5975
+ <kendo-toolbar-button kendoSpreadsheetRedo></kendo-toolbar-button>
5976
+ <kendo-toolbar-separator></kendo-toolbar-separator>
5977
+ <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
5978
+ <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
5979
+ <kendo-toolbar-buttongroup fillMode="flat">
5980
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
5981
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
5982
+ </kendo-toolbar-buttongroup>
5983
+ <kendo-toolbar-separator></kendo-toolbar-separator>
5984
+ <kendo-toolbar-buttongroup fillMode="flat">
5985
+ <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
5986
+ <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
5987
+ <kendo-toolbar-button kendoSpreadsheetUnderline></kendo-toolbar-button>
5988
+ </kendo-toolbar-buttongroup>
5989
+ <kendo-spreadsheet-forecolor-tool></kendo-spreadsheet-forecolor-tool>
5990
+ <kendo-toolbar-separator></kendo-toolbar-separator>
5991
+ <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
5992
+ <kendo-toolbar-separator></kendo-toolbar-separator>
5993
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
5994
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
5995
+ <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
5996
+ <kendo-toolbar-separator></kendo-toolbar-separator>
5997
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
5936
5998
  </kendo-toolbar>
5937
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'insert'"
5938
- [attr.aria-label]="messageFor('insert')"
5939
- fillMode="flat"
5940
- class="k-spreadsheet-toolbar"
5941
- [overflow]="overflow">
5942
- <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
5943
- <kendo-toolbar-separator></kendo-toolbar-separator>
5944
- <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
5945
- <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
5946
- <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
5947
- <kendo-toolbar-button kendoSpreadsheetAddRowAboveButton></kendo-toolbar-button>
5948
- <kendo-toolbar-separator></kendo-toolbar-separator>
5949
- <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
5950
- <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
5999
+ }
6000
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'insert') {
6001
+ <kendo-toolbar
6002
+ [attr.aria-label]="messageFor('insert')"
6003
+ fillMode="flat"
6004
+ class="k-spreadsheet-toolbar"
6005
+ [overflow]="overflow">
6006
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
6007
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6008
+ <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
6009
+ <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
6010
+ <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
6011
+ <kendo-toolbar-button kendoSpreadsheetAddRowAboveButton></kendo-toolbar-button>
6012
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6013
+ <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
6014
+ <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
5951
6015
  </kendo-toolbar>
5952
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
5953
- [attr.aria-label]="messageFor('formatTab')"
5954
- fillMode="flat"
5955
- class="k-spreadsheet-toolbar"
5956
- [overflow]="overflow">
5957
- <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
5958
- <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
6016
+ }
6017
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'format') {
6018
+ <kendo-toolbar
6019
+ [attr.aria-label]="messageFor('formatTab')"
6020
+ fillMode="flat"
6021
+ class="k-spreadsheet-toolbar"
6022
+ [overflow]="overflow">
6023
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
6024
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
5959
6025
  </kendo-toolbar>
5960
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
5961
- [attr.aria-label]="messageFor('view')"
5962
- fillMode="flat"
5963
- class="k-spreadsheet-toolbar"
5964
- [overflow]="overflow">
5965
- <kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
5966
- <kendo-toolbar-separator></kendo-toolbar-separator>
5967
- <kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
6026
+ }
6027
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'view') {
6028
+ <kendo-toolbar
6029
+ [attr.aria-label]="messageFor('view')"
6030
+ fillMode="flat"
6031
+ class="k-spreadsheet-toolbar"
6032
+ [overflow]="overflow">
6033
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
6034
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6035
+ <kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
5968
6036
  </kendo-toolbar>
5969
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'data'"
5970
- [attr.aria-label]="messageFor('dataTab')"
5971
- fillMode="flat"
5972
- class="k-spreadsheet-toolbar"
5973
- [overflow]="overflow">
5974
- <kendo-toolbar-button kendoSpreadsheetDataValidation></kendo-toolbar-button>
6037
+ }
6038
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'data') {
6039
+ <kendo-toolbar
6040
+ [attr.aria-label]="messageFor('dataTab')"
6041
+ fillMode="flat"
6042
+ class="k-spreadsheet-toolbar"
6043
+ [overflow]="overflow">
6044
+ <kendo-toolbar-button kendoSpreadsheetDataValidation></kendo-toolbar-button>
5975
6045
  </kendo-toolbar>
6046
+ }
5976
6047
  </div>
5977
6048
  <div class="k-spreadsheet-action-bar">
5978
- <div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
5979
- <div class="k-spreadsheet-formula-bar">
5980
- <span class="k-separator k-separator-vertical"></span>
5981
- <kendo-icon-wrapper
5982
- name="formula-fx"
5983
- [svgIcon]="formulaFxIcon">
5984
- </kendo-icon-wrapper>
5985
- <span class="k-separator k-separator-vertical"></span>
5986
- <div
5987
- #formulaBar
5988
- kendoSpreadsheetFormulaInput
5989
- [formulaListMaxHeight]="formulaListMaxHeight"
5990
- class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
5991
- </div>
6049
+ <div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
6050
+ <div class="k-spreadsheet-formula-bar">
6051
+ <span class="k-separator k-separator-vertical"></span>
6052
+ <kendo-icon-wrapper
6053
+ name="formula-fx"
6054
+ [svgIcon]="formulaFxIcon">
6055
+ </kendo-icon-wrapper>
6056
+ <span class="k-separator k-separator-vertical"></span>
6057
+ <div
6058
+ #formulaBar
6059
+ kendoSpreadsheetFormulaInput
6060
+ [formulaListMaxHeight]="formulaListMaxHeight"
6061
+ class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
6062
+ </div>
5992
6063
  </div>
5993
6064
  <div class="k-spreadsheet-view">
5994
- <div class="k-spreadsheet-fixed-container"></div>
5995
- <div class="k-spreadsheet-scroller">
5996
- <div class="k-spreadsheet-view-size"></div>
5997
- </div>
5998
- <div tabIndex="0" class="k-spreadsheet-clipboard" contentEditable="true"></div>
5999
- <div #formulaCell kendoSpreadsheetFormulaInput class="k-spreadsheet-cell-editor" data-role="formulainput"></div>
6065
+ <div class="k-spreadsheet-fixed-container"></div>
6066
+ <div class="k-spreadsheet-scroller">
6067
+ <div class="k-spreadsheet-view-size"></div>
6068
+ </div>
6069
+ <div tabIndex="0" class="k-spreadsheet-clipboard" contentEditable="true"></div>
6070
+ <div #formulaCell kendoSpreadsheetFormulaInput class="k-spreadsheet-cell-editor" data-role="formulainput"></div>
6000
6071
  </div>
6001
6072
  <div class="k-spreadsheet-sheets-bar"
6002
- kendoSpreadsheetSheetsBar
6003
- [sheets]="sheetsInfo"
6004
- [sheetDescriptors]="sheets">
6073
+ kendoSpreadsheetSheetsBar
6074
+ [sheets]="sheetsInfo"
6075
+ [sheetDescriptors]="sheets">
6005
6076
  </div>
6006
6077
  <ng-container #dialogContainer></ng-container>
6007
6078
 
6008
6079
  <kendo-contextmenu
6009
- #contextMenu
6010
- [items]="contextMenuItems"
6011
- (select)="onContextMenuSelect($event)"></kendo-contextmenu>
6080
+ #contextMenu
6081
+ [items]="contextMenuItems"
6082
+ (select)="onContextMenuSelect($event)"></kendo-contextmenu>
6012
6083
 
6013
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
6014
- `, 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", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], 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", "rounded", "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", "fillMode", "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]", inputs: ["licenseMessage"] }, { kind: "directive", type: SpreadsheetDataValidationDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDataValidation]" }] });
6084
+ @if (showLicenseWatermark) {
6085
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
6086
+ }
6087
+ `, 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: "component", type: MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], 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", "rounded", "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", "fillMode", "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]", inputs: ["licenseMessage"] }, { kind: "directive", type: SpreadsheetDataValidationDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDataValidation]" }] });
6015
6088
  }
6016
6089
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetComponent, decorators: [{
6017
6090
  type: Component,
@@ -6035,352 +6108,368 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
6035
6108
  ],
6036
6109
  template: `
6037
6110
  <ng-container
6038
- kendoSpreadsheetLocalizedMessages
6039
- i18n-background="kendo.spreadsheet.background|The title of the tool that changes the text background color."
6040
- background="Background color"
6041
- i18n-color="kendo.spreadsheet.color|The title of the tool that changes the text font color."
6042
- color="Font color"
6043
- i18n-bold="kendo.spreadsheet.bold|The title of the Bold tool."
6044
- bold="Bold"
6045
- i18n-dataValidation="kendo.spreadsheet.dataValidation|The title of the Data Validation tool."
6046
- dataValidation="Data Validation"
6047
- i18n-validationCellRange="kendo.spreadsheet.validationCellRange|The text of the Cell Range label in the data validation dialog."
6048
- validationCellRange="Cell Range"
6049
- i18n-validationCriteria="kendo.spreadsheet.validationCriteria|The text of the Criteria dropdown list label in the data validation dialog."
6050
- validationCriteria="Criteria"
6051
- i18n-validationMinValue="kendo.spreadsheet.validationMinValue|The text of the Min value label in the data validation dialog."
6052
- validationMinValue="Min"
6053
- i18n-validationMaxValue="kendo.spreadsheet.validationMaxValue|The text of the Max value label in the data validation dialog."
6054
- validationMaxValue="Max"
6055
- i18n-validationStartValue="kendo.spreadsheet.validationStartValue|The text of the Start value label in the data validation dialog."
6056
- validationStartValue="Start"
6057
- i18n-validationEndValue="kendo.spreadsheet.validationEndValue|The text of the End value label in the data validation dialog."
6058
- validationEndValue="End"
6059
- i18n-validationValue="kendo.spreadsheet.validationValue|The text of the Value label in the data validation dialog."
6060
- validationValue="Text"
6061
- i18n-validationShowListButtonCheckbox="kendo.spreadsheet.validationShowListButtonCheckbox|The text for the Show list button checkbox label in the data validation dialog."
6062
- validationShowListButtonCheckbox="Display button to show list"
6063
- i18n-validationOnInvalidData="kendo.spreadsheet.validationOnInvalidData|The text for the On invalid data label in the data validation dialog."
6064
- validationOnInvalidData="On invalid data"
6065
- i18n-validationShowDateButtonCheckbox="kendo.spreadsheet.validationShowDateButtonCheckbox|The text for the Show date button checkbox label in the data validation dialog."
6066
- validationShowDateButtonCheckbox="Display button to show Calendar"
6067
- i18n-validationRejectInput="kendo.spreadsheet.validationRejectInput|The text for the Reject input radio button label in the data validation dialog."
6068
- validationRejectInput="Reject input"
6069
- i18n-validationShowWarning="kendo.spreadsheet.validationShowWarning|The text for the Show warning radio button label in the data validation dialog."
6070
- validationShowWarning="Show warning"
6071
- i18n-validationHintTitle="kendo.spreadsheet.validationHintTitle|The text for the Custom hint title input label in the data validation dialog."
6072
- validationHintTitle="Custom hint title"
6073
- i18n-validationHintMessage="kendo.spreadsheet.validationHintMessage|The text for the Custom hint input label in the data validation dialog."
6074
- validationHintMessage="Custom hint"
6075
- i18n-validationShowHint="kendo.spreadsheet.validationShowHint|The text for the Show hint radio button label in the data validation dialog."
6076
- validationShowHint="Show hint"
6077
- i18n-validationIgnoreBlankCheckbox="kendo.spreadsheet.validationIgnoreBlankCheckbox|The text for the Ignore blank checkbox label in the data validation dialog."
6078
- validationIgnoreBlankCheckbox="Ignore blank"
6079
- i18n-validationComparer="kendo.spreadsheet.validationComparer|The text of the Comparer dropdown list label in the data validation dialog."
6080
- validationComparer="Comparer"
6081
- i18n-anyValueValidationCriteria="kendo.spreadsheet.anyValueValidationCriteria|The text of the Any value validation criteria"
6082
- anyValueValidationCriteria="Any value"
6083
- i18n-numberValidationCriteria="kendo.spreadsheet.numberValidationCriteria|The text of the Number validation criteria"
6084
- numberValidationCriteria="Number"
6085
- i18n-textValidationCriteria="kendo.spreadsheet.textValidationCriteria|The text of the Text validation criteria"
6086
- textValidationCriteria="Text"
6087
- i18n-dateValidationCriteria="kendo.spreadsheet.dateValidationCriteria|The text of the Date validation criteria"
6088
- dateValidationCriteria="Date"
6089
- i18n-customFormulaValidationCriteria="kendo.spreadsheet.customFormulaValidationCriteria|The text of the Custom formula validation criteria"
6090
- customFormulaValidationCriteria="Custom Formula"
6091
- i18n-listValidationCriteria="kendo.spreadsheet.listValidationCriteria|The text of the List validation criteria"
6092
- listValidationCriteria="List"
6093
- i18n-greaterThanValidationComparer="kendo.spreadsheet.greaterThanValidationComparer|The text of the greater than validation comparer"
6094
- greaterThanValidationComparer="greater than"
6095
- i18n-lessThanValidationComparer="kendo.spreadsheet.lessThanValidationComparer|The text of the less than validation comparer"
6096
- lessThanValidationComparer="less than"
6097
- i18n-betweenValidationComparer="kendo.spreadsheet.betweenValidationComparer|The text of the between validation comparer"
6098
- betweenValidationComparer="between"
6099
- i18n-notBetweenValidationComparer="kendo.spreadsheet.notBetweenValidationComparer|The text of the not between validation comparer"
6100
- notBetweenValidationComparer="not between"
6101
- i18n-equalToValidationComparer="kendo.spreadsheet.equalToValidationComparer|The text of the equal to validation comparer"
6102
- equalToValidationComparer="equal to"
6103
- i18n-notEqualToValidationComparer="kendo.spreadsheet.notEqualToValidationComparer|The text of the not equal to validation comparer"
6104
- notEqualToValidationComparer="not equal to"
6105
- i18n-greaterThanOrEqualToValidationComparer="kendo.spreadsheet.greaterThanOrEqualToValidationComparer|The text of the greater than on equal to validation comparer"
6106
- greaterThanOrEqualToValidationComparer="greater than or equal to"
6107
- i18n-lessThanOrEqualToValidationComparer="kendo.spreadsheet.lessThanOrEqualToValidationComparer|The text of the less than on equal to validation comparer"
6108
- lessThanOrEqualToValidationComparer="less than or equal to"
6109
- i18n-italic="kendo.spreadsheet.italic|The title of the Italic tool."
6110
- italic="Italic"
6111
- i18n-underline="kendo.spreadsheet.underline|The title of the Underline tool."
6112
- underline="Underline"
6113
- i18n-loadFile="kendo.spreadsheet.loadFile|The title of the Load File tool."
6114
- loadFile="Open..."
6115
- i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
6116
- saveFile="Export..."
6117
- i18n-format="kendo.spreadsheet.format|The text of the Format tool."
6118
- format="Custom format..."
6119
- i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
6120
- fontFamily="Font"
6121
- i18n-fontSize="kendo.spreadsheet.fontSize|The text of the Font Size tool."
6122
- fontSize="Font size"
6123
- i18n-home="kendo.spreadsheet.home|The text of the Home toolbar tab."
6124
- home="Home"
6125
- i18n-file="kendo.spreadsheet.file|The text of the File toolbar tab."
6126
- file="File"
6127
- i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
6128
- insert="Insert"
6129
- i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
6130
- formatTab="Format"
6131
- i18n-dataTab="kendo.spreadsheet.dataTab|The text of the Data toolbar tab."
6132
- dataTab="Data"
6133
- i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
6134
- view="View"
6135
- i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
6136
- undo="Undo"
6137
- i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
6138
- redo="Redo"
6139
- i18n-gridLines="kendo.spreadsheet.gridLines|The title of the Grid Lines tool."
6140
- gridLines="Toggle grid lines"
6141
- i18n-addColumnLeft="kendo.spreadsheet.addColumnLeft|The title of the tool that adds new column before currently selected column."
6142
- addColumnLeft="Add column left"
6143
- i18n-addColumnRight="kendo.spreadsheet.addColumnRight|The title of the tool that adds new column after currently selected column."
6144
- addColumnRight="Add column right"
6145
- i18n-addRowBelow="kendo.spreadsheet.addRowBelow|The title of the tool that adds new row below currently selected row."
6146
- addRowBelow="Add row below"
6147
- i18n-addRowAbove="kendo.spreadsheet.addRowAbove|The title of the tool that adds new row above currently selected row."
6148
- addRowAbove="Add row above"
6149
- i18n-deleteColumn="kendo.spreadsheet.deleteColumn|The title of the tool that deletes a column."
6150
- deleteColumn="Delete column"
6151
- i18n-deleteRow="kendo.spreadsheet.deleteRow|The title of the tool that deletes a row."
6152
- deleteRow="Delete row"
6153
- i18n-wrap="kendo.spreadsheet.wrap|The title of the Text Wrap tool."
6154
- wrap="Text wrap"
6155
- i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
6156
- align="Align"
6157
- i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
6158
- alignHorizontal="Align horizontally"
6159
- i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
6160
- alignVertical="Align vertically"
6161
- i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
6162
- alignLeft="Align Left"
6163
- i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
6164
- alignCenter="Align Center"
6165
- i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
6166
- alignRight="Align Right"
6167
- i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
6168
- alignJustify="Align Justify"
6169
- i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
6170
- alignTop="Align Top"
6171
- i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
6172
- alignMiddle="Align Middle"
6173
- i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
6174
- alignBottom="Align Bottom"
6175
- i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
6176
- merge="Merge"
6177
- i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
6178
- mergeAll="Merge all"
6179
- i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
6180
- mergeHorizontally="Merge horizontally"
6181
- i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
6182
- mergeVertically="Merge vertically"
6183
- i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
6184
- unmerge="Unmerge"
6185
- i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
6186
- insertLink="Insert link"
6187
- i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
6188
- decreaseDecimal="Decrease decimal"
6189
- i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
6190
- increaseDecimal="Increase decimal"
6191
- i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
6192
- increaseFontSize="Increase font size"
6193
- i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
6194
- decreaseFontSize="Decrease font size"
6195
- i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
6196
- dialogApply="Apply"
6197
- i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
6198
- dialogCancel="Cancel"
6199
- i18n-dialogDelete="kendo.spreadsheet.dialogDelete|The text of the **Delete** button in the Delete sheet dialog."
6200
- dialogDelete="Delete"
6201
- i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
6202
- dialogRename="Rename"
6203
- i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
6204
- dialogInsert="Insert"
6205
- i18n-dialogRemove="kendo.spreadsheet.dialogRemove|The text of the **Remove** button in all Spreadsheet dialogs."
6206
- dialogRemove="Remove"
6207
- i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
6208
- dialogRemoveLink="Remove link"
6209
- i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
6210
- rename="Rename Sheet"
6211
- i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
6212
- delete="Delete Sheet"
6213
- i18n-nameBox="kendo.spreadsheet.nameBox|The title of the Name Box input."
6214
- nameBox="Name Box"
6215
- i18n-formulaInput="kendo.spreadsheet.formulaInput|The title of the Formula input."
6216
- formulaInput="Formula Input"
6217
- i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
6218
- addSheet="Add New Sheet"
6219
- i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
6220
- sheetsMenu="All Sheets"
6221
- i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
6222
- openUnsupported="Unsupported format. Please select an .xlsx file."
6223
- i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
6224
- modifyMerged="Cannot change part of a merged cell."
6225
- i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
6226
- cannotModifyDisabled="Cannot modify disabled cells."
6227
- i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
6228
- dialogOk="OK"
6229
- i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
6230
- dialogError="Error"
6231
- i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
6232
- duplicateSheetName="There is an existing sheet with this name. Please enter another name."
6233
- i18n-copy="kendo.spreadsheet.copy|The Copy command text."
6234
- copy="Copy"
6235
- i18n-cut="kendo.spreadsheet.cut|The Cut command text."
6236
- cut="Cut"
6237
- i18n-paste="kendo.spreadsheet.paste|The Paste command text."
6238
- paste="Paste (use Ctrl/⌘ + V)"
6239
- i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
6240
- hideRow="Hide"
6241
- i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
6242
- unhideRow="Unhide"
6243
- i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
6244
- hideColumn="Hide"
6245
- i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
6246
- unhideColumn="Unhide"
6247
- i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
6248
- sheetDelete="Delete"
6249
- i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
6250
- sheetRename="Rename"
6251
- i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
6252
- sheetDuplicate="Duplicate"
6253
- i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
6254
- sheetHide="Hide"
6255
- i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
6256
- sheetMoveLeft="Move Left"
6257
- i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
6258
- sheetMoveRight="Move Right"
6259
- i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
6260
- invalidNameError="{{ 'Invalid name: {inputValue}' }}">
6111
+ kendoSpreadsheetLocalizedMessages
6112
+ i18n-background="kendo.spreadsheet.background|The title of the tool that changes the text background color."
6113
+ background="Background color"
6114
+ i18n-color="kendo.spreadsheet.color|The title of the tool that changes the text font color."
6115
+ color="Font color"
6116
+ i18n-bold="kendo.spreadsheet.bold|The title of the Bold tool."
6117
+ bold="Bold"
6118
+ i18n-dataValidation="kendo.spreadsheet.dataValidation|The title of the Data Validation tool."
6119
+ dataValidation="Data Validation"
6120
+ i18n-validationCellRange="kendo.spreadsheet.validationCellRange|The text of the Cell Range label in the data validation dialog."
6121
+ validationCellRange="Cell Range"
6122
+ i18n-validationCriteria="kendo.spreadsheet.validationCriteria|The text of the Criteria dropdown list label in the data validation dialog."
6123
+ validationCriteria="Criteria"
6124
+ i18n-validationMinValue="kendo.spreadsheet.validationMinValue|The text of the Min value label in the data validation dialog."
6125
+ validationMinValue="Min"
6126
+ i18n-validationMaxValue="kendo.spreadsheet.validationMaxValue|The text of the Max value label in the data validation dialog."
6127
+ validationMaxValue="Max"
6128
+ i18n-validationStartValue="kendo.spreadsheet.validationStartValue|The text of the Start value label in the data validation dialog."
6129
+ validationStartValue="Start"
6130
+ i18n-validationEndValue="kendo.spreadsheet.validationEndValue|The text of the End value label in the data validation dialog."
6131
+ validationEndValue="End"
6132
+ i18n-validationValue="kendo.spreadsheet.validationValue|The text of the Value label in the data validation dialog."
6133
+ validationValue="Text"
6134
+ i18n-validationShowListButtonCheckbox="kendo.spreadsheet.validationShowListButtonCheckbox|The text for the Show list button checkbox label in the data validation dialog."
6135
+ validationShowListButtonCheckbox="Display button to show list"
6136
+ i18n-validationOnInvalidData="kendo.spreadsheet.validationOnInvalidData|The text for the On invalid data label in the data validation dialog."
6137
+ validationOnInvalidData="On invalid data"
6138
+ i18n-validationShowDateButtonCheckbox="kendo.spreadsheet.validationShowDateButtonCheckbox|The text for the Show date button checkbox label in the data validation dialog."
6139
+ validationShowDateButtonCheckbox="Display button to show Calendar"
6140
+ i18n-validationRejectInput="kendo.spreadsheet.validationRejectInput|The text for the Reject input radio button label in the data validation dialog."
6141
+ validationRejectInput="Reject input"
6142
+ i18n-validationShowWarning="kendo.spreadsheet.validationShowWarning|The text for the Show warning radio button label in the data validation dialog."
6143
+ validationShowWarning="Show warning"
6144
+ i18n-validationHintTitle="kendo.spreadsheet.validationHintTitle|The text for the Custom hint title input label in the data validation dialog."
6145
+ validationHintTitle="Custom hint title"
6146
+ i18n-validationHintMessage="kendo.spreadsheet.validationHintMessage|The text for the Custom hint input label in the data validation dialog."
6147
+ validationHintMessage="Custom hint"
6148
+ i18n-validationShowHint="kendo.spreadsheet.validationShowHint|The text for the Show hint radio button label in the data validation dialog."
6149
+ validationShowHint="Show hint"
6150
+ i18n-validationIgnoreBlankCheckbox="kendo.spreadsheet.validationIgnoreBlankCheckbox|The text for the Ignore blank checkbox label in the data validation dialog."
6151
+ validationIgnoreBlankCheckbox="Ignore blank"
6152
+ i18n-validationComparer="kendo.spreadsheet.validationComparer|The text of the Comparer dropdown list label in the data validation dialog."
6153
+ validationComparer="Comparer"
6154
+ i18n-anyValueValidationCriteria="kendo.spreadsheet.anyValueValidationCriteria|The text of the Any value validation criteria"
6155
+ anyValueValidationCriteria="Any value"
6156
+ i18n-numberValidationCriteria="kendo.spreadsheet.numberValidationCriteria|The text of the Number validation criteria"
6157
+ numberValidationCriteria="Number"
6158
+ i18n-textValidationCriteria="kendo.spreadsheet.textValidationCriteria|The text of the Text validation criteria"
6159
+ textValidationCriteria="Text"
6160
+ i18n-dateValidationCriteria="kendo.spreadsheet.dateValidationCriteria|The text of the Date validation criteria"
6161
+ dateValidationCriteria="Date"
6162
+ i18n-customFormulaValidationCriteria="kendo.spreadsheet.customFormulaValidationCriteria|The text of the Custom formula validation criteria"
6163
+ customFormulaValidationCriteria="Custom Formula"
6164
+ i18n-listValidationCriteria="kendo.spreadsheet.listValidationCriteria|The text of the List validation criteria"
6165
+ listValidationCriteria="List"
6166
+ i18n-greaterThanValidationComparer="kendo.spreadsheet.greaterThanValidationComparer|The text of the greater than validation comparer"
6167
+ greaterThanValidationComparer="greater than"
6168
+ i18n-lessThanValidationComparer="kendo.spreadsheet.lessThanValidationComparer|The text of the less than validation comparer"
6169
+ lessThanValidationComparer="less than"
6170
+ i18n-betweenValidationComparer="kendo.spreadsheet.betweenValidationComparer|The text of the between validation comparer"
6171
+ betweenValidationComparer="between"
6172
+ i18n-notBetweenValidationComparer="kendo.spreadsheet.notBetweenValidationComparer|The text of the not between validation comparer"
6173
+ notBetweenValidationComparer="not between"
6174
+ i18n-equalToValidationComparer="kendo.spreadsheet.equalToValidationComparer|The text of the equal to validation comparer"
6175
+ equalToValidationComparer="equal to"
6176
+ i18n-notEqualToValidationComparer="kendo.spreadsheet.notEqualToValidationComparer|The text of the not equal to validation comparer"
6177
+ notEqualToValidationComparer="not equal to"
6178
+ i18n-greaterThanOrEqualToValidationComparer="kendo.spreadsheet.greaterThanOrEqualToValidationComparer|The text of the greater than on equal to validation comparer"
6179
+ greaterThanOrEqualToValidationComparer="greater than or equal to"
6180
+ i18n-lessThanOrEqualToValidationComparer="kendo.spreadsheet.lessThanOrEqualToValidationComparer|The text of the less than on equal to validation comparer"
6181
+ lessThanOrEqualToValidationComparer="less than or equal to"
6182
+ i18n-italic="kendo.spreadsheet.italic|The title of the Italic tool."
6183
+ italic="Italic"
6184
+ i18n-underline="kendo.spreadsheet.underline|The title of the Underline tool."
6185
+ underline="Underline"
6186
+ i18n-loadFile="kendo.spreadsheet.loadFile|The title of the Load File tool."
6187
+ loadFile="Open..."
6188
+ i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
6189
+ saveFile="Export..."
6190
+ i18n-format="kendo.spreadsheet.format|The text of the Format tool."
6191
+ format="Custom format..."
6192
+ i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
6193
+ fontFamily="Font"
6194
+ i18n-fontSize="kendo.spreadsheet.fontSize|The text of the Font Size tool."
6195
+ fontSize="Font size"
6196
+ i18n-home="kendo.spreadsheet.home|The text of the Home toolbar tab."
6197
+ home="Home"
6198
+ i18n-file="kendo.spreadsheet.file|The text of the File toolbar tab."
6199
+ file="File"
6200
+ i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
6201
+ insert="Insert"
6202
+ i18n-formatTab="kendo.spreadsheet.formatTab|The text of the Format toolbar tab."
6203
+ formatTab="Format"
6204
+ i18n-dataTab="kendo.spreadsheet.dataTab|The text of the Data toolbar tab."
6205
+ dataTab="Data"
6206
+ i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
6207
+ view="View"
6208
+ i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
6209
+ undo="Undo"
6210
+ i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
6211
+ redo="Redo"
6212
+ i18n-gridLines="kendo.spreadsheet.gridLines|The title of the Grid Lines tool."
6213
+ gridLines="Toggle grid lines"
6214
+ i18n-addColumnLeft="kendo.spreadsheet.addColumnLeft|The title of the tool that adds new column before currently selected column."
6215
+ addColumnLeft="Add column left"
6216
+ i18n-addColumnRight="kendo.spreadsheet.addColumnRight|The title of the tool that adds new column after currently selected column."
6217
+ addColumnRight="Add column right"
6218
+ i18n-addRowBelow="kendo.spreadsheet.addRowBelow|The title of the tool that adds new row below currently selected row."
6219
+ addRowBelow="Add row below"
6220
+ i18n-addRowAbove="kendo.spreadsheet.addRowAbove|The title of the tool that adds new row above currently selected row."
6221
+ addRowAbove="Add row above"
6222
+ i18n-deleteColumn="kendo.spreadsheet.deleteColumn|The title of the tool that deletes a column."
6223
+ deleteColumn="Delete column"
6224
+ i18n-deleteRow="kendo.spreadsheet.deleteRow|The title of the tool that deletes a row."
6225
+ deleteRow="Delete row"
6226
+ i18n-wrap="kendo.spreadsheet.wrap|The title of the Text Wrap tool."
6227
+ wrap="Text wrap"
6228
+ i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
6229
+ align="Align"
6230
+ i18n-alignHorizontal="kendo.spreadsheet.alignHorizontal|The title of the Text Align Horizontal tool."
6231
+ alignHorizontal="Align horizontally"
6232
+ i18n-alignVertical="kendo.spreadsheet.alignVertical|The title of the Text Align Vertical tool."
6233
+ alignVertical="Align vertically"
6234
+ i18n-alignLeft="kendo.spreadsheet.alignLeft|The title of the Text Align Left tool."
6235
+ alignLeft="Align Left"
6236
+ i18n-alignCenter="kendo.spreadsheet.alignCenter|The title of the Text Align Center tool."
6237
+ alignCenter="Align Center"
6238
+ i18n-alignRight="kendo.spreadsheet.alignRight|The title of the Text Align Right tool."
6239
+ alignRight="Align Right"
6240
+ i18n-alignJustify="kendo.spreadsheet.alignJustify|The title of the Text Align Justify tool."
6241
+ alignJustify="Align Justify"
6242
+ i18n-alignTop="kendo.spreadsheet.alignTop|The title of the Text Align Top tool."
6243
+ alignTop="Align Top"
6244
+ i18n-alignMiddle="kendo.spreadsheet.alignMiddle|The title of the Text Align Middle tool."
6245
+ alignMiddle="Align Middle"
6246
+ i18n-alignBottom="kendo.spreadsheet.alignBottom|The title of the Text Align Bottom tool."
6247
+ alignBottom="Align Bottom"
6248
+ i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
6249
+ merge="Merge"
6250
+ i18n-mergeAll="kendo.spreadsheet.mergeAll|The title of the Merge all tool."
6251
+ mergeAll="Merge all"
6252
+ i18n-mergeHorizontally="kendo.spreadsheet.mergeHorizontally|The title of the Merge horizontally tool."
6253
+ mergeHorizontally="Merge horizontally"
6254
+ i18n-mergeVertically="kendo.spreadsheet.mergeVertically|The title of the Merge vertically tool."
6255
+ mergeVertically="Merge vertically"
6256
+ i18n-unmerge="kendo.spreadsheet.unmerge|The title of the Unmerge tool."
6257
+ unmerge="Unmerge"
6258
+ i18n-insertLink="kendo.spreadsheet.insertLink|The title of the tool that inserts a link."
6259
+ insertLink="Insert link"
6260
+ i18n-decreaseDecimal="kendo.spreadsheet.decreaseDecimal|The title of the tool that decreases decimals."
6261
+ decreaseDecimal="Decrease decimal"
6262
+ i18n-increaseDecimal="kendo.spreadsheet.increaseDecimal|The title of the tool that increases decimals."
6263
+ increaseDecimal="Increase decimal"
6264
+ i18n-increaseFontSize="kendo.spreadsheet.increaseFontSize|The title of the tool that increases the cell font size."
6265
+ increaseFontSize="Increase font size"
6266
+ i18n-decreaseFontSize="kendo.spreadsheet.decreaseFontSize|The title of the tool that decreases the cell font size."
6267
+ decreaseFontSize="Decrease font size"
6268
+ i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
6269
+ dialogApply="Apply"
6270
+ i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
6271
+ dialogCancel="Cancel"
6272
+ i18n-dialogDelete="kendo.spreadsheet.dialogDelete|The text of the **Delete** button in the Delete sheet dialog."
6273
+ dialogDelete="Delete"
6274
+ i18n-dialogRename="kendo.spreadsheet.dialogRename|The text of the **Rename** button in the Rename sheet dialog."
6275
+ dialogRename="Rename"
6276
+ i18n-dialogInsert="kendo.spreadsheet.dialogInsert|The text of the **Insert** button in all Spreadsheet dialogs."
6277
+ dialogInsert="Insert"
6278
+ i18n-dialogRemove="kendo.spreadsheet.dialogRemove|The text of the **Remove** button in all Spreadsheet dialogs."
6279
+ dialogRemove="Remove"
6280
+ i18n-dialogRemoveLink="kendo.spreadsheet.dialogRemoveLink|The text of the **Remove link** button in the Link tool dialog."
6281
+ dialogRemoveLink="Remove link"
6282
+ i18n-rename="kendo.spreadsheet.rename|The title of the Rename sheet dialog."
6283
+ rename="Rename Sheet"
6284
+ i18n-delete="kendo.spreadsheet.delete|The title of the Delete sheet dialog."
6285
+ delete="Delete Sheet"
6286
+ i18n-nameBox="kendo.spreadsheet.nameBox|The title of the Name Box input."
6287
+ nameBox="Name Box"
6288
+ i18n-formulaInput="kendo.spreadsheet.formulaInput|The title of the Formula input."
6289
+ formulaInput="Formula Input"
6290
+ i18n-addSheet="kendo.spreadsheet.addSheet|The title of the Add new sheet button."
6291
+ addSheet="Add New Sheet"
6292
+ i18n-sheetsMenu="kendo.spreadsheet.sheetsMenu|The title of the Sheets menu button."
6293
+ sheetsMenu="All Sheets"
6294
+ i18n-openUnsupported="kendo.spreadsheet.openUnsupported|The content of the dialog that warns about an unsupported file type."
6295
+ openUnsupported="Unsupported format. Please select an .xlsx file."
6296
+ i18n-modifyMerged="kendo.spreadsheet.modifyMerged|The content of the dialog that warns about modifying a merged cell."
6297
+ modifyMerged="Cannot change part of a merged cell."
6298
+ i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
6299
+ cannotModifyDisabled="Cannot modify disabled cells."
6300
+ i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
6301
+ dialogOk="OK"
6302
+ i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
6303
+ dialogError="Error"
6304
+ i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
6305
+ duplicateSheetName="There is an existing sheet with this name. Please enter another name."
6306
+ i18n-copy="kendo.spreadsheet.copy|The Copy command text."
6307
+ copy="Copy"
6308
+ i18n-cut="kendo.spreadsheet.cut|The Cut command text."
6309
+ cut="Cut"
6310
+ i18n-paste="kendo.spreadsheet.paste|The Paste command text."
6311
+ paste="Paste (use Ctrl/⌘ + V)"
6312
+ i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
6313
+ hideRow="Hide"
6314
+ i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
6315
+ unhideRow="Unhide"
6316
+ i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
6317
+ hideColumn="Hide"
6318
+ i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
6319
+ unhideColumn="Unhide"
6320
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
6321
+ sheetDelete="Delete"
6322
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
6323
+ sheetRename="Rename"
6324
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
6325
+ sheetDuplicate="Duplicate"
6326
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
6327
+ sheetHide="Hide"
6328
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
6329
+ sheetMoveLeft="Move Left"
6330
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
6331
+ sheetMoveRight="Move Right"
6332
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
6333
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
6261
6334
  </ng-container>
6262
6335
  <div class="k-spreadsheet-header">
6263
- <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
6264
- <kendo-menu-item *ngFor="let item of menuItems" [text]="item.text" [cssClass]="item.cssClass"></kendo-menu-item>
6265
- </kendo-menu>
6266
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'file'"
6267
- [attr.aria-label]="messageFor('file')"
6268
- fillMode="flat"
6269
- class="k-spreadsheet-toolbar"
6270
- [overflow]="overflow">
6271
- <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
6272
- <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
6336
+ <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
6337
+ @for (item of menuItems; track item) {
6338
+ <kendo-menu-item [text]="item.text" [cssClass]="item.cssClass"></kendo-menu-item>
6339
+ }
6340
+ </kendo-menu>
6341
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'file') {
6342
+ <kendo-toolbar
6343
+ [attr.aria-label]="messageFor('file')"
6344
+ fillMode="flat"
6345
+ class="k-spreadsheet-toolbar"
6346
+ [overflow]="overflow">
6347
+ <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
6348
+ <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
6273
6349
  </kendo-toolbar>
6274
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'home'"
6275
- [attr.aria-label]="messageFor('home')"
6276
- class="k-spreadsheet-toolbar"
6277
- fillMode="flat"
6278
- [overflow]="overflow">
6279
- <kendo-toolbar-button kendoSpreadsheetUndo></kendo-toolbar-button>
6280
- <kendo-toolbar-button kendoSpreadsheetRedo></kendo-toolbar-button>
6281
- <kendo-toolbar-separator></kendo-toolbar-separator>
6282
- <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
6283
- <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
6284
- <kendo-toolbar-buttongroup fillMode="flat">
6285
- <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
6286
- <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
6287
- </kendo-toolbar-buttongroup>
6288
- <kendo-toolbar-separator></kendo-toolbar-separator>
6289
- <kendo-toolbar-buttongroup fillMode="flat">
6290
- <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
6291
- <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
6292
- <kendo-toolbar-button kendoSpreadsheetUnderline></kendo-toolbar-button>
6293
- </kendo-toolbar-buttongroup>
6294
- <kendo-spreadsheet-forecolor-tool></kendo-spreadsheet-forecolor-tool>
6295
- <kendo-toolbar-separator></kendo-toolbar-separator>
6296
- <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
6297
- <kendo-toolbar-separator></kendo-toolbar-separator>
6298
- <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
6299
- <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
6300
- <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
6301
- <kendo-toolbar-separator></kendo-toolbar-separator>
6302
- <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
6350
+ }
6351
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'home') {
6352
+ <kendo-toolbar
6353
+ [attr.aria-label]="messageFor('home')"
6354
+ class="k-spreadsheet-toolbar"
6355
+ fillMode="flat"
6356
+ [overflow]="overflow">
6357
+ <kendo-toolbar-button kendoSpreadsheetUndo></kendo-toolbar-button>
6358
+ <kendo-toolbar-button kendoSpreadsheetRedo></kendo-toolbar-button>
6359
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6360
+ <kendo-toolbar-dropdownlist kendoSpreadsheetFontFamily></kendo-toolbar-dropdownlist>
6361
+ <kendo-toolbar-dropdownlist kendoSpreadsheetFontSize></kendo-toolbar-dropdownlist>
6362
+ <kendo-toolbar-buttongroup fillMode="flat">
6363
+ <kendo-toolbar-button kendoSpreadsheetIncreaseFontSize></kendo-toolbar-button>
6364
+ <kendo-toolbar-button kendoSpreadsheetDecreaseFontSize></kendo-toolbar-button>
6365
+ </kendo-toolbar-buttongroup>
6366
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6367
+ <kendo-toolbar-buttongroup fillMode="flat">
6368
+ <kendo-toolbar-button kendoSpreadsheetBold></kendo-toolbar-button>
6369
+ <kendo-toolbar-button kendoSpreadsheetItalic></kendo-toolbar-button>
6370
+ <kendo-toolbar-button kendoSpreadsheetUnderline></kendo-toolbar-button>
6371
+ </kendo-toolbar-buttongroup>
6372
+ <kendo-spreadsheet-forecolor-tool></kendo-spreadsheet-forecolor-tool>
6373
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6374
+ <kendo-spreadsheet-backcolor-tool></kendo-spreadsheet-backcolor-tool>
6375
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6376
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetHorizontalTextAlign></kendo-toolbar-dropdownbutton>
6377
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetVerticalTextAlign></kendo-toolbar-dropdownbutton>
6378
+ <kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
6379
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6380
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
6303
6381
  </kendo-toolbar>
6304
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'insert'"
6305
- [attr.aria-label]="messageFor('insert')"
6306
- fillMode="flat"
6307
- class="k-spreadsheet-toolbar"
6308
- [overflow]="overflow">
6309
- <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
6310
- <kendo-toolbar-separator></kendo-toolbar-separator>
6311
- <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
6312
- <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
6313
- <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
6314
- <kendo-toolbar-button kendoSpreadsheetAddRowAboveButton></kendo-toolbar-button>
6315
- <kendo-toolbar-separator></kendo-toolbar-separator>
6316
- <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
6317
- <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
6382
+ }
6383
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'insert') {
6384
+ <kendo-toolbar
6385
+ [attr.aria-label]="messageFor('insert')"
6386
+ fillMode="flat"
6387
+ class="k-spreadsheet-toolbar"
6388
+ [overflow]="overflow">
6389
+ <kendo-toolbar-button kendoSpreadsheetInsertLink></kendo-toolbar-button>
6390
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6391
+ <kendo-toolbar-button kendoSpreadsheetAddColumnLeftButton></kendo-toolbar-button>
6392
+ <kendo-toolbar-button kendoSpreadsheetAddColumnRightButton></kendo-toolbar-button>
6393
+ <kendo-toolbar-button kendoSpreadsheetAddRowBelowButton></kendo-toolbar-button>
6394
+ <kendo-toolbar-button kendoSpreadsheetAddRowAboveButton></kendo-toolbar-button>
6395
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6396
+ <kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
6397
+ <kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
6318
6398
  </kendo-toolbar>
6319
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'format'"
6320
- [attr.aria-label]="messageFor('formatTab')"
6321
- fillMode="flat"
6322
- class="k-spreadsheet-toolbar"
6323
- [overflow]="overflow">
6324
- <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
6325
- <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
6399
+ }
6400
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'format') {
6401
+ <kendo-toolbar
6402
+ [attr.aria-label]="messageFor('formatTab')"
6403
+ fillMode="flat"
6404
+ class="k-spreadsheet-toolbar"
6405
+ [overflow]="overflow">
6406
+ <kendo-toolbar-button kendoSpreadsheetDecreaseDecimal></kendo-toolbar-button>
6407
+ <kendo-toolbar-button kendoSpreadsheetIncreaseDecimal></kendo-toolbar-button>
6326
6408
  </kendo-toolbar>
6327
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
6328
- [attr.aria-label]="messageFor('view')"
6329
- fillMode="flat"
6330
- class="k-spreadsheet-toolbar"
6331
- [overflow]="overflow">
6332
- <kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
6333
- <kendo-toolbar-separator></kendo-toolbar-separator>
6334
- <kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
6409
+ }
6410
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'view') {
6411
+ <kendo-toolbar
6412
+ [attr.aria-label]="messageFor('view')"
6413
+ fillMode="flat"
6414
+ class="k-spreadsheet-toolbar"
6415
+ [overflow]="overflow">
6416
+ <kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
6417
+ <kendo-toolbar-separator></kendo-toolbar-separator>
6418
+ <kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
6335
6419
  </kendo-toolbar>
6336
- <kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'data'"
6337
- [attr.aria-label]="messageFor('dataTab')"
6338
- fillMode="flat"
6339
- class="k-spreadsheet-toolbar"
6340
- [overflow]="overflow">
6341
- <kendo-toolbar-button kendoSpreadsheetDataValidation></kendo-toolbar-button>
6420
+ }
6421
+ @if (selectedMenuItem?.active && selectedMenuItem.id === 'data') {
6422
+ <kendo-toolbar
6423
+ [attr.aria-label]="messageFor('dataTab')"
6424
+ fillMode="flat"
6425
+ class="k-spreadsheet-toolbar"
6426
+ [overflow]="overflow">
6427
+ <kendo-toolbar-button kendoSpreadsheetDataValidation></kendo-toolbar-button>
6342
6428
  </kendo-toolbar>
6429
+ }
6343
6430
  </div>
6344
6431
  <div class="k-spreadsheet-action-bar">
6345
- <div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
6346
- <div class="k-spreadsheet-formula-bar">
6347
- <span class="k-separator k-separator-vertical"></span>
6348
- <kendo-icon-wrapper
6349
- name="formula-fx"
6350
- [svgIcon]="formulaFxIcon">
6351
- </kendo-icon-wrapper>
6352
- <span class="k-separator k-separator-vertical"></span>
6353
- <div
6354
- #formulaBar
6355
- kendoSpreadsheetFormulaInput
6356
- [formulaListMaxHeight]="formulaListMaxHeight"
6357
- class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
6358
- </div>
6432
+ <div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
6433
+ <div class="k-spreadsheet-formula-bar">
6434
+ <span class="k-separator k-separator-vertical"></span>
6435
+ <kendo-icon-wrapper
6436
+ name="formula-fx"
6437
+ [svgIcon]="formulaFxIcon">
6438
+ </kendo-icon-wrapper>
6439
+ <span class="k-separator k-separator-vertical"></span>
6440
+ <div
6441
+ #formulaBar
6442
+ kendoSpreadsheetFormulaInput
6443
+ [formulaListMaxHeight]="formulaListMaxHeight"
6444
+ class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
6445
+ </div>
6359
6446
  </div>
6360
6447
  <div class="k-spreadsheet-view">
6361
- <div class="k-spreadsheet-fixed-container"></div>
6362
- <div class="k-spreadsheet-scroller">
6363
- <div class="k-spreadsheet-view-size"></div>
6364
- </div>
6365
- <div tabIndex="0" class="k-spreadsheet-clipboard" contentEditable="true"></div>
6366
- <div #formulaCell kendoSpreadsheetFormulaInput class="k-spreadsheet-cell-editor" data-role="formulainput"></div>
6448
+ <div class="k-spreadsheet-fixed-container"></div>
6449
+ <div class="k-spreadsheet-scroller">
6450
+ <div class="k-spreadsheet-view-size"></div>
6451
+ </div>
6452
+ <div tabIndex="0" class="k-spreadsheet-clipboard" contentEditable="true"></div>
6453
+ <div #formulaCell kendoSpreadsheetFormulaInput class="k-spreadsheet-cell-editor" data-role="formulainput"></div>
6367
6454
  </div>
6368
6455
  <div class="k-spreadsheet-sheets-bar"
6369
- kendoSpreadsheetSheetsBar
6370
- [sheets]="sheetsInfo"
6371
- [sheetDescriptors]="sheets">
6456
+ kendoSpreadsheetSheetsBar
6457
+ [sheets]="sheetsInfo"
6458
+ [sheetDescriptors]="sheets">
6372
6459
  </div>
6373
6460
  <ng-container #dialogContainer></ng-container>
6374
6461
 
6375
6462
  <kendo-contextmenu
6376
- #contextMenu
6377
- [items]="contextMenuItems"
6378
- (select)="onContextMenuSelect($event)"></kendo-contextmenu>
6463
+ #contextMenu
6464
+ [items]="contextMenuItems"
6465
+ (select)="onContextMenuSelect($event)"></kendo-contextmenu>
6379
6466
 
6380
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
6381
- `,
6467
+ @if (showLicenseWatermark) {
6468
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
6469
+ }
6470
+ `,
6382
6471
  standalone: true,
6383
- 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, SpreadsheetDataValidationDirective]
6472
+ imports: [LocalizedMessagesDirective, MenuComponent, MainMenuDirective, MenuItemComponent, 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, SpreadsheetDataValidationDirective]
6384
6473
  }]
6385
6474
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }, { type: i1$2.DialogService }, { type: i1$1.PopupService }, { type: i0.ViewContainerRef }], propDecorators: { formulaBarInputRef: [{
6386
6475
  type: ViewChild,