@progress/kendo-angular-spreadsheet 14.3.0-develop.3 → 14.3.0-develop.5

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.
@@ -8,7 +8,7 @@ import { validatePackage } from '@progress/kendo-licensing';
8
8
  import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
9
9
  import * as i1$4 from '@progress/kendo-angular-intl';
10
10
  import { localeData, IntlModule } from '@progress/kendo-angular-intl';
11
- import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, linkIcon, fontGrowIcon, fontShrinkIcon, decimalDecreaseIcon, decimalIncreaseIcon, cutIcon, clipboardIcon, eyeSlashIcon, eyeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
11
+ import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, linkIcon, fontGrowIcon, fontShrinkIcon, decimalDecreaseIcon, decimalIncreaseIcon, cutIcon, clipboardIcon, eyeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
12
12
  import { Subject, Subscription } from 'rxjs';
13
13
  import * as i2 from '@progress/kendo-angular-l10n';
14
14
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -47,8 +47,8 @@ const packageMetadata = {
47
47
  name: '@progress/kendo-angular-spreadsheet',
48
48
  productName: 'Kendo UI for Angular',
49
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1701764808,
51
- version: '14.3.0-develop.3',
50
+ publishDate: 1701781986,
51
+ version: '14.3.0-develop.5',
52
52
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
53
53
  };
54
54
 
@@ -59,6 +59,7 @@ let spreadsheetCounter = 0;
59
59
  class SpreadsheetService {
60
60
  constructor() {
61
61
  this.sheetsChanged = new Subject();
62
+ this.onSheetsBarFocus = new Subject();
62
63
  this.activeSheetChanged = new Subject();
63
64
  this.selectionChanged = new Subject();
64
65
  spreadsheetCounter++;
@@ -188,7 +189,8 @@ const mapToSheetDescriptor = (sheetsArray) => {
188
189
  name: sheet.name(),
189
190
  rows: sheet._rows,
190
191
  selection: sheet.selection(),
191
- showGridLines: sheet.showGridLines
192
+ showGridLines: sheet.showGridLines,
193
+ state: sheet.state()
192
194
  };
193
195
  });
194
196
  };
@@ -403,41 +405,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
403
405
  /**
404
406
  * @hidden
405
407
  */
406
- const getSheetActions = (index, items) => {
408
+ const getSheetActions = (items, item) => {
409
+ const visibleItems = items.filter(item => item.state === 'visible');
410
+ const itemIndex = item ? visibleItems.findIndex(i => i === item) : 0;
407
411
  return [{
408
- text: 'Delete',
412
+ messageKey: 'sheetDelete',
409
413
  icon: 'trash',
410
414
  svgIcon: trashIcon,
411
415
  commandName: 'delete',
412
416
  dialogButton: 'dialogDelete',
413
- disabled: items.length === 1
414
- },
415
- {
416
- text: 'Duplicate',
417
+ disabled: visibleItems.length === 1
418
+ }, {
419
+ messageKey: 'sheetDuplicate',
417
420
  icon: 'copy',
418
421
  svgIcon: copyIcon,
419
422
  commandName: 'copy'
420
- },
421
- {
422
- text: 'Rename',
423
+ }, {
424
+ messageKey: 'sheetRename',
423
425
  icon: 'pencil',
424
426
  svgIcon: pencilIcon,
425
427
  commandName: 'rename',
426
428
  dialogButton: 'dialogRename'
427
- },
428
- {
429
- text: 'Move Right',
429
+ }, {
430
+ messageKey: 'sheetHide',
431
+ icon: 'eye-slash',
432
+ svgIcon: eyeSlashIcon,
433
+ commandName: 'hide',
434
+ disabled: visibleItems.length === 1
435
+ }, {
436
+ messageKey: 'sheetMoveRight',
430
437
  icon: 'arrow-right',
431
438
  svgIcon: arrowRightIcon,
432
439
  commandName: 'move',
433
- disabled: index === items.length - 1
434
- },
435
- {
436
- text: 'Move Left',
440
+ disabled: visibleItems.length === 1 || itemIndex === visibleItems.length - 1
441
+ }, {
442
+ messageKey: 'sheetMoveLeft',
437
443
  icon: 'arrow-left',
438
444
  svgIcon: arrowLeftIcon,
439
445
  commandName: 'move',
440
- disabled: index === 0
446
+ disabled: visibleItems.length === 1 || itemIndex === 0
441
447
  }];
442
448
  };
443
449
 
@@ -1778,14 +1784,23 @@ class SheetsBarComponent {
1778
1784
  this.dialogService = dialogService;
1779
1785
  this.ngZone = ngZone;
1780
1786
  this.hostClasses = true;
1787
+ this.subs = new Subscription();
1781
1788
  this.plusIcon = plusIcon;
1782
1789
  this.menuIcon = menuIcon;
1783
1790
  this.caretAltDownIcon = caretAltDownIcon;
1784
1791
  this.caretAltLeftIcon = caretAltLeftIcon;
1785
1792
  this.caretAltRightIcon = caretAltRightIcon;
1786
1793
  this.selected = false;
1794
+ this.sheetsMenuList = [];
1787
1795
  this.openedDdb = null;
1788
- this.eyeIcon = eyeIcon;
1796
+ this.hiddenStateIcons = {
1797
+ hidden: 'eye-slash',
1798
+ visible: 'eye'
1799
+ };
1800
+ this.hiddenStateSVGIcons = {
1801
+ hidden: eyeSlashIcon,
1802
+ visible: eyeIcon
1803
+ };
1789
1804
  this.onAddClick = () => {
1790
1805
  if (this.spreadsheetService.spreadsheet) {
1791
1806
  this.spreadsheetService.spreadsheet.view.sheetsbar.onAddSelect();
@@ -1807,21 +1822,52 @@ class SheetsBarComponent {
1807
1822
  this.spreadsheetService.spreadsheet.insertSheet({ data: { ...sheetToCopy.toJSON(), name: newName }, index: sheetInfo.index + 1 });
1808
1823
  this.selectSheet(newName);
1809
1824
  },
1810
- move: (sheetInfo, itemText) => {
1811
- const oldIndex = this.spreadsheetService.spreadsheet.sheets().findIndex(sheet => sheet.name() === sheetInfo.text);
1812
- const newIndex = itemText === 'Move Right' ? oldIndex + 1 : oldIndex - 1;
1825
+ move: (sheetInfo, itemKey) => {
1826
+ const isMoveRight = itemKey === 'sheetMoveRight';
1827
+ let oldIndex = -1;
1828
+ let newIndex = -1;
1829
+ if (isMoveRight) {
1830
+ for (let i = 0; i < this.sheets.length; i++) {
1831
+ if (this.sheets[i].text === sheetInfo.text) {
1832
+ oldIndex = i;
1833
+ }
1834
+ if (oldIndex > -1 && i > oldIndex && this.sheets[i].state === 'visible') {
1835
+ newIndex = i;
1836
+ break;
1837
+ }
1838
+ }
1839
+ }
1840
+ else {
1841
+ for (let i = this.sheets.length - 1; i >= 0; i--) {
1842
+ if (this.sheets[i].text === sheetInfo.text) {
1843
+ oldIndex = i;
1844
+ }
1845
+ if (oldIndex > -1 && i < oldIndex && this.sheets[i].state === 'visible') {
1846
+ newIndex = i;
1847
+ break;
1848
+ }
1849
+ }
1850
+ }
1813
1851
  const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
1814
1852
  sheetsBar.onSheetReorderEnd({ oldIndex, newIndex });
1815
1853
  this.notifySheetsChange();
1854
+ },
1855
+ hide: (sheet) => {
1856
+ sheet.state = 'hidden';
1857
+ const sheets = this.spreadsheetService.spreadsheet.sheets();
1858
+ const sheetIndex = sheets.findIndex(s => s.name() === sheet.text);
1859
+ sheets[sheetIndex]._state('hidden');
1860
+ const newSelectedIndex = sheetIndex < sheets.length - 1 ? sheetIndex + 1 : 0;
1861
+ const sheetToSelect = sheets[newSelectedIndex].name();
1862
+ this.selectSheet(sheetToSelect);
1863
+ this.notifySheetsChange();
1816
1864
  }
1817
1865
  };
1866
+ this.subs.add(spreadsheetService.onSheetsBarFocus.subscribe(() => ngZone.run(() => this.tabstrip.selectTab(this.sheets.findIndex(sh => sh.text === spreadsheetService.currentActiveSheet)))));
1818
1867
  }
1819
1868
  get activeSheet() {
1820
1869
  return this.spreadsheetService.spreadsheet?.activeSheet()?.name();
1821
1870
  }
1822
- get sheetsMenuList() {
1823
- return this.sheets?.map(sheet => ({ text: sheet.text, icon: 'eye', svgIcon: this.eyeIcon }));
1824
- }
1825
1871
  get tablistId() {
1826
1872
  return this.spreadsheetService.tablistId;
1827
1873
  }
@@ -1837,10 +1883,26 @@ class SheetsBarComponent {
1837
1883
  this.renderer.setAttribute(tablist, 'id', this.tablistId);
1838
1884
  this.tabListSub = this.renderer.listen(tablist, 'keydown', this.onTabListKeyDown.bind(this));
1839
1885
  }
1886
+ ngOnChanges(changes) {
1887
+ if (changes['sheets']) {
1888
+ this.sheetsMenuList = this.sheets?.map(sheet => ({
1889
+ text: sheet.text,
1890
+ icon: this.hiddenStateIcons[sheet.state],
1891
+ svgIcon: this.hiddenStateSVGIcons[sheet.state]
1892
+ }));
1893
+ this.sheets = changes['sheets'].currentValue?.map((sheet, _, items) => ({
1894
+ ...sheet,
1895
+ sheetActions: getSheetActions(items, sheet)
1896
+ .map(item => ({ ...item, text: this.messageFor(item.messageKey) }))
1897
+ }));
1898
+ }
1899
+ ;
1900
+ }
1840
1901
  ngOnDestroy() {
1841
1902
  if (this.tabListSub) {
1842
1903
  this.tabListSub();
1843
1904
  }
1905
+ this.subs.unsubscribe();
1844
1906
  }
1845
1907
  onTabSelect(ev) {
1846
1908
  if (ev.title !== this.activeSheet) {
@@ -1866,11 +1928,13 @@ class SheetsBarComponent {
1866
1928
  this.openDialog(dataItem, sheet);
1867
1929
  }
1868
1930
  else {
1869
- this.actionsCallback[dataItem.commandName](sheet, dataItem.text);
1931
+ this.actionsCallback[dataItem.commandName](sheet, dataItem.messageKey);
1870
1932
  }
1871
1933
  }
1872
1934
  onMenuItemClick(item) {
1873
1935
  const sheet = this.sheets.find(s => s.text === item.text);
1936
+ sheet.state = 'visible';
1937
+ this.spreadsheetService.spreadsheet.sheets().find(sh => sh.name() === sheet.text)._state('visible');
1874
1938
  this.selectSheet(sheet.text);
1875
1939
  }
1876
1940
  messageFor(key) {
@@ -1939,21 +2003,30 @@ class SheetsBarComponent {
1939
2003
  this.ngZone.run(() => {
1940
2004
  const newSheets = this.spreadsheetService.spreadsheet.sheets();
1941
2005
  const sheetDesc = mapToSheetDescriptor(newSheets);
1942
- this.sheets = sheetDesc.map((item, index, items) => ({
1943
- ...item,
1944
- inEdit: false,
1945
- first: index === 0,
1946
- last: index === items.length - 1,
1947
- text: item.name,
1948
- active: (item.name === this.activeSheet) || items.length === 1,
1949
- index,
1950
- sheetActions: getSheetActions(index, items)
2006
+ this.sheets = sheetDesc
2007
+ .flatMap((item, index, items) => item.state === 'visible' ? [{
2008
+ ...item,
2009
+ state: item.state || 'visible',
2010
+ inEdit: false,
2011
+ first: index === 0,
2012
+ last: index === items.length - 1,
2013
+ text: item.name,
2014
+ active: (item.name === this.activeSheet) || items.length === 1,
2015
+ index,
2016
+ sheetActions: getSheetActions(items, item)
2017
+ .map(item => ({ ...item, text: this.messageFor(item.messageKey) }))
2018
+ }] : []);
2019
+ this.sheetsMenuList = this.sheets?.map(sheet => ({
2020
+ text: sheet.text,
2021
+ icon: this.hiddenStateIcons[sheet.state],
2022
+ svgIcon: this.hiddenStateSVGIcons[sheet.state]
1951
2023
  }));
1952
2024
  });
2025
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => this.spreadsheetService.spreadsheet.view.clipboard.focus());
1953
2026
  }
1954
2027
  }
1955
2028
  SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SpreadsheetLocalizationService }, { token: i1$1.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1956
- SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: { sheets: "sheets", sheetDescriptors: "sheetDescriptors" }, host: { properties: { "class.k-spreadsheet-sheets-bar": "this.hostClasses" } }, viewQueries: [{ propertyName: "addButton", first: true, predicate: ["addButton"], descendants: true }, { propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }, { propertyName: "tabstrip", first: true, predicate: ["tabstrip"], descendants: true }, { propertyName: "actionDdbs", predicate: ["sheetDdb"], descendants: true }, { propertyName: "actionDdbRefs", predicate: ["sheetDdb"], descendants: true, read: ElementRef }], ngImport: i0, template: `
2029
+ SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: { sheets: "sheets", sheetDescriptors: "sheetDescriptors" }, host: { properties: { "class.k-spreadsheet-sheets-bar": "this.hostClasses" } }, viewQueries: [{ propertyName: "addButton", first: true, predicate: ["addButton"], descendants: true }, { propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }, { propertyName: "tabstrip", first: true, predicate: ["tabstrip"], descendants: true }, { propertyName: "actionDdbs", predicate: ["sheetDdb"], descendants: true }, { propertyName: "actionDdbRefs", predicate: ["sheetDdb"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
1957
2030
  <button kendoButton #addButton
1958
2031
  [title]="messageFor('addSheet')"
1959
2032
  type="button"
@@ -1981,27 +2054,30 @@ SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
1981
2054
  [scrollable]="{prevButtonIcon: 'caret-alt-left', prevSVGButtonIcon: caretAltLeftIcon, nextButtonIcon: 'caret-alt-right', nextSVGButtonIcon: caretAltRightIcon}"
1982
2055
  class="k-spreadsheet-sheets k-overflow-hidden"
1983
2056
  (tabSelect)="onTabSelect($event)">
1984
- <kendo-tabstrip-tab *ngFor="let sheet of sheets"
1985
- [title]="sheet.text"
1986
- [selected]="sheet.text === activeSheet">
1987
- <ng-template kendoTabTemplate>
1988
- <span class="k-link">{{sheet.text}}</span>
1989
- <kendo-dropdownbutton #sheetDdb
1990
- fillMode="flat"
1991
- icon="caret-alt-down"
1992
- [svgIcon]="caretAltDownIcon"
1993
- buttonClass="k-menu-button"
1994
- [data]="sheet.sheetActions"
1995
- [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
1996
- (open)="onOpen(sheetDdb)"
1997
- (close)="onClose()"
1998
- (click)="$event.stopPropagation()"
1999
- (itemClick)="onActionClick($event, sheet)">
2000
- </kendo-dropdownbutton>
2001
- </ng-template>
2002
- </kendo-tabstrip-tab>
2057
+ <ng-container *ngFor="let sheet of sheets">
2058
+ <kendo-tabstrip-tab
2059
+ *ngIf="sheet.state === 'visible'"
2060
+ [title]="sheet.text"
2061
+ [selected]="sheet.text === activeSheet">
2062
+ <ng-template kendoTabTemplate>
2063
+ <span class="k-link">{{sheet.text}}</span>
2064
+ <kendo-dropdownbutton #sheetDdb
2065
+ fillMode="flat"
2066
+ icon="caret-alt-down"
2067
+ [svgIcon]="caretAltDownIcon"
2068
+ buttonClass="k-menu-button"
2069
+ [data]="sheet.sheetActions"
2070
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
2071
+ (open)="onOpen(sheetDdb)"
2072
+ (close)="onClose()"
2073
+ (click)="$event.stopPropagation()"
2074
+ (itemClick)="onActionClick($event, sheet)">
2075
+ </kendo-dropdownbutton>
2076
+ </ng-template>
2077
+ </kendo-tabstrip-tab>
2078
+ </ng-container>
2003
2079
  </kendo-tabstrip>
2004
- `, isInline: true, components: [{ type: i4.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { type: i5$1.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5$1.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }], directives: [{ type: i3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
2080
+ `, isInline: true, components: [{ type: i4.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { type: i5$1.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5$1.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }], directives: [{ type: i3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
2005
2081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, decorators: [{
2006
2082
  type: Component,
2007
2083
  args: [{
@@ -2034,25 +2110,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2034
2110
  [scrollable]="{prevButtonIcon: 'caret-alt-left', prevSVGButtonIcon: caretAltLeftIcon, nextButtonIcon: 'caret-alt-right', nextSVGButtonIcon: caretAltRightIcon}"
2035
2111
  class="k-spreadsheet-sheets k-overflow-hidden"
2036
2112
  (tabSelect)="onTabSelect($event)">
2037
- <kendo-tabstrip-tab *ngFor="let sheet of sheets"
2038
- [title]="sheet.text"
2039
- [selected]="sheet.text === activeSheet">
2040
- <ng-template kendoTabTemplate>
2041
- <span class="k-link">{{sheet.text}}</span>
2042
- <kendo-dropdownbutton #sheetDdb
2043
- fillMode="flat"
2044
- icon="caret-alt-down"
2045
- [svgIcon]="caretAltDownIcon"
2046
- buttonClass="k-menu-button"
2047
- [data]="sheet.sheetActions"
2048
- [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
2049
- (open)="onOpen(sheetDdb)"
2050
- (close)="onClose()"
2051
- (click)="$event.stopPropagation()"
2052
- (itemClick)="onActionClick($event, sheet)">
2053
- </kendo-dropdownbutton>
2054
- </ng-template>
2055
- </kendo-tabstrip-tab>
2113
+ <ng-container *ngFor="let sheet of sheets">
2114
+ <kendo-tabstrip-tab
2115
+ *ngIf="sheet.state === 'visible'"
2116
+ [title]="sheet.text"
2117
+ [selected]="sheet.text === activeSheet">
2118
+ <ng-template kendoTabTemplate>
2119
+ <span class="k-link">{{sheet.text}}</span>
2120
+ <kendo-dropdownbutton #sheetDdb
2121
+ fillMode="flat"
2122
+ icon="caret-alt-down"
2123
+ [svgIcon]="caretAltDownIcon"
2124
+ buttonClass="k-menu-button"
2125
+ [data]="sheet.sheetActions"
2126
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
2127
+ (open)="onOpen(sheetDdb)"
2128
+ (close)="onClose()"
2129
+ (click)="$event.stopPropagation()"
2130
+ (itemClick)="onActionClick($event, sheet)">
2131
+ </kendo-dropdownbutton>
2132
+ </ng-template>
2133
+ </kendo-tabstrip-tab>
2134
+ </ng-container>
2056
2135
  </kendo-tabstrip>
2057
2136
  `
2058
2137
  }]
@@ -2086,7 +2165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2086
2165
  class MessagesDirective extends ComponentMessages {
2087
2166
  }
2088
2167
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2089
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn" }, usesInheritance: true, ngImport: i0 });
2168
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight" }, usesInheritance: true, ngImport: i0 });
2090
2169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
2091
2170
  type: Directive,
2092
2171
  args: [{
@@ -2232,6 +2311,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2232
2311
  type: Input
2233
2312
  }], unhideColumn: [{
2234
2313
  type: Input
2314
+ }], sheetDelete: [{
2315
+ type: Input
2316
+ }], sheetRename: [{
2317
+ type: Input
2318
+ }], sheetHide: [{
2319
+ type: Input
2320
+ }], sheetDuplicate: [{
2321
+ type: Input
2322
+ }], sheetMoveLeft: [{
2323
+ type: Input
2324
+ }], sheetMoveRight: [{
2325
+ type: Input
2235
2326
  }] } });
2236
2327
 
2237
2328
  /**
@@ -2581,9 +2672,7 @@ class SpreadsheetHorizontalTextAlignDirective {
2581
2672
  host.icon = commandIcons[this.commandName];
2582
2673
  host.arrowIcon = true;
2583
2674
  host.fillMode = 'flat';
2584
- host.data = ALIGNS
2585
- .filter(value => value.commandName === 'textAlign')
2586
- .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2675
+ host.data = ALIGNS.flatMap(item => item.commandName === 'textAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
2587
2676
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2588
2677
  host.title = localization.get(this.commandName);
2589
2678
  host.textField = 'textKey';
@@ -2625,9 +2714,7 @@ class SpreadsheetVerticalTextAlignDirective {
2625
2714
  host.icon = commandIcons[this.commandName];
2626
2715
  host.arrowIcon = true;
2627
2716
  host.fillMode = 'flat';
2628
- host.data = ALIGNS
2629
- .filter(value => value.commandName === 'verticalAlign')
2630
- .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
2717
+ host.data = ALIGNS.flatMap(item => item.commandName === 'verticalAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
2631
2718
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
2632
2719
  host.title = localization.get(this.commandName);
2633
2720
  host.textField = 'textKey';
@@ -3165,6 +3252,16 @@ class SpreadsheetComponent {
3165
3252
  this.showLicenseWatermark = false;
3166
3253
  this.contextMenuItems = [];
3167
3254
  this.subs = new Subscription();
3255
+ /**
3256
+ * @hidden
3257
+ */
3258
+ this.onKeyDown = (e) => {
3259
+ const isCtrl = e.ctrlKey || e.metaKey;
3260
+ const shift = e.shiftKey;
3261
+ if (isCtrl && shift && e.keyCode === Keys.KeyS) {
3262
+ this.spreadsheetService.onSheetsBarFocus.next();
3263
+ }
3264
+ };
3168
3265
  this.onChange = (e) => {
3169
3266
  hasObservers(this.change) && this.change.emit(e);
3170
3267
  this.spreadsheetService.selectionChanged.next(e.range);
@@ -3258,13 +3355,13 @@ class SpreadsheetComponent {
3258
3355
  set sheets(value) {
3259
3356
  const items = value.map((item, index, items) => ({
3260
3357
  ...item,
3358
+ state: item.state || 'visible',
3261
3359
  inEdit: false,
3262
3360
  first: index === 0,
3263
3361
  last: index === items.length - 1,
3264
3362
  text: item.name,
3265
3363
  active: (item.name === this.activeSheet) || items.length === 1,
3266
- index,
3267
- sheetActions: getSheetActions(index, items)
3364
+ index
3268
3365
  }));
3269
3366
  this._sheetsInfo = items;
3270
3367
  }
@@ -3286,6 +3383,7 @@ class SpreadsheetComponent {
3286
3383
  spreadsheet.bind('changeFormat', this.onChangeFormat);
3287
3384
  spreadsheet.bind('excelImport', this.onExcelImport);
3288
3385
  spreadsheet.bind('excelExport', this.onExcelExport);
3386
+ spreadsheet.bind('keydown', this.onKeyDown);
3289
3387
  spreadsheet.view.bind('update', this.updateState);
3290
3388
  spreadsheet.view.bind('message', this.onMessage);
3291
3389
  spreadsheet.bind('contextmenu', this.onContextMenu.bind(this));
@@ -3297,7 +3395,13 @@ class SpreadsheetComponent {
3297
3395
  if (!this.sheetsInfo) {
3298
3396
  this.ngZone.run(() => {
3299
3397
  const defaultSheetDescriptors = mapToSheetDescriptor([spreadsheet?.activeSheet()]);
3300
- this._sheetsInfo = [{ text: this.spreadsheetService.currentActiveSheet, first: true, last: true, ...defaultSheetDescriptors, sheetActions: getSheetActions(0, defaultSheetDescriptors) }];
3398
+ this._sheetsInfo = [{
3399
+ text: this.spreadsheetService.currentActiveSheet,
3400
+ first: true, last: true,
3401
+ state: 'visible',
3402
+ ...defaultSheetDescriptors,
3403
+ sheetActions: getSheetActions(defaultSheetDescriptors).map(item => ({ ...item, text: this.messageFor(item.messageKey) }))
3404
+ }];
3301
3405
  });
3302
3406
  }
3303
3407
  });
@@ -3772,7 +3876,19 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3772
3876
  i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
3773
3877
  hideColumn="Hide"
3774
3878
  i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
3775
- unhideColumn="Unhide">
3879
+ unhideColumn="Unhide"
3880
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
3881
+ sheetDelete="Delete"
3882
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
3883
+ sheetRename="Rename"
3884
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
3885
+ sheetDuplicate="Duplicate"
3886
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
3887
+ sheetHide="Hide"
3888
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
3889
+ sheetMoveLeft="Move Left"
3890
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
3891
+ sheetMoveRight="Move Right">
3776
3892
  </ng-container>
3777
3893
  <div class="k-spreadsheet-header">
3778
3894
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -4039,7 +4155,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4039
4155
  i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
4040
4156
  hideColumn="Hide"
4041
4157
  i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
4042
- unhideColumn="Unhide">
4158
+ unhideColumn="Unhide"
4159
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
4160
+ sheetDelete="Delete"
4161
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
4162
+ sheetRename="Rename"
4163
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
4164
+ sheetDuplicate="Duplicate"
4165
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
4166
+ sheetHide="Hide"
4167
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
4168
+ sheetMoveLeft="Move Left"
4169
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
4170
+ sheetMoveRight="Move Right">
4043
4171
  </ng-container>
4044
4172
  <div class="k-spreadsheet-header">
4045
4173
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -288,6 +288,30 @@ export declare class MessagesDirective extends ComponentMessages {
288
288
  * The Unhide column command text
289
289
  */
290
290
  unhideColumn: string;
291
+ /**
292
+ * The text of the Sheet menu Delete option
293
+ */
294
+ sheetDelete: string;
295
+ /**
296
+ * The text of the Sheet menu Rename option
297
+ */
298
+ sheetRename: string;
299
+ /**
300
+ * The text of the Sheet menu Hide option
301
+ */
302
+ sheetHide: string;
303
+ /**
304
+ * The text of the Sheet menu Duplicate option
305
+ */
306
+ sheetDuplicate: string;
307
+ /**
308
+ * The text of the Sheet menu Move Left option
309
+ */
310
+ sheetMoveLeft: string;
311
+ /**
312
+ * The text of the Sheet menu Move Right option
313
+ */
314
+ sheetMoveRight: string;
291
315
  static ɵfac: i0.ɵɵFactoryDeclaration<MessagesDirective, never>;
292
- static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoSpreadsheetMessages]", never, { "home": "home"; "file": "file"; "insert": "insert"; "formatTab": "formatTab"; "saveFile": "saveFile"; "loadFile": "loadFile"; "bold": "bold"; "italic": "italic"; "underline": "underline"; "format": "format"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "undo": "undo"; "redo": "redo"; "background": "background"; "color": "color"; "gridLines": "gridLines"; "addColumnLeft": "addColumnLeft"; "addColumnRight": "addColumnRight"; "addRowBelow": "addRowBelow"; "addRowAbove": "addRowAbove"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "wrap": "wrap"; "align": "align"; "alignHorizontal": "alignHorizontal"; "alignVertical": "alignVertical"; "alignLeft": "alignLeft"; "alignCenter": "alignCenter"; "alignRight": "alignRight"; "alignJustify": "alignJustify"; "alignTop": "alignTop"; "alignMiddle": "alignMiddle"; "alignBottom": "alignBottom"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogDelete": "dialogDelete"; "dialogRename": "dialogRename"; "dialogInsert": "dialogInsert"; "dialogRemoveLink": "dialogRemoveLink"; "delete": "delete"; "rename": "rename"; "nameBox": "nameBox"; "formulaInput": "formulaInput"; "addSheet": "addSheet"; "sheetsMenu": "sheetsMenu"; "view": "view"; "merge": "merge"; "mergeHorizontally": "mergeHorizontally"; "mergeVertically": "mergeVertically"; "mergeAll": "mergeAll"; "unmerge": "unmerge"; "insertLink": "insertLink"; "increaseDecimal": "increaseDecimal"; "decreaseDecimal": "decreaseDecimal"; "increaseFontSize": "increaseFontSize"; "decreaseFontSize": "decreaseFontSize"; "openUnsupported": "openUnsupported"; "modifyMerged": "modifyMerged"; "cannotModifyDisabled": "cannotModifyDisabled"; "dialogOk": "dialogOk"; "dialogError": "dialogError"; "duplicateSheetName": "duplicateSheetName"; "copy": "copy"; "cut": "cut"; "paste": "paste"; "hideRow": "hideRow"; "unhideRow": "unhideRow"; "hideColumn": "hideColumn"; "unhideColumn": "unhideColumn"; }, {}, never>;
316
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoSpreadsheetMessages]", never, { "home": "home"; "file": "file"; "insert": "insert"; "formatTab": "formatTab"; "saveFile": "saveFile"; "loadFile": "loadFile"; "bold": "bold"; "italic": "italic"; "underline": "underline"; "format": "format"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "undo": "undo"; "redo": "redo"; "background": "background"; "color": "color"; "gridLines": "gridLines"; "addColumnLeft": "addColumnLeft"; "addColumnRight": "addColumnRight"; "addRowBelow": "addRowBelow"; "addRowAbove": "addRowAbove"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "wrap": "wrap"; "align": "align"; "alignHorizontal": "alignHorizontal"; "alignVertical": "alignVertical"; "alignLeft": "alignLeft"; "alignCenter": "alignCenter"; "alignRight": "alignRight"; "alignJustify": "alignJustify"; "alignTop": "alignTop"; "alignMiddle": "alignMiddle"; "alignBottom": "alignBottom"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogDelete": "dialogDelete"; "dialogRename": "dialogRename"; "dialogInsert": "dialogInsert"; "dialogRemoveLink": "dialogRemoveLink"; "delete": "delete"; "rename": "rename"; "nameBox": "nameBox"; "formulaInput": "formulaInput"; "addSheet": "addSheet"; "sheetsMenu": "sheetsMenu"; "view": "view"; "merge": "merge"; "mergeHorizontally": "mergeHorizontally"; "mergeVertically": "mergeVertically"; "mergeAll": "mergeAll"; "unmerge": "unmerge"; "insertLink": "insertLink"; "increaseDecimal": "increaseDecimal"; "decreaseDecimal": "decreaseDecimal"; "increaseFontSize": "increaseFontSize"; "decreaseFontSize": "decreaseFontSize"; "openUnsupported": "openUnsupported"; "modifyMerged": "modifyMerged"; "cannotModifyDisabled": "cannotModifyDisabled"; "dialogOk": "dialogOk"; "dialogError": "dialogError"; "duplicateSheetName": "duplicateSheetName"; "copy": "copy"; "cut": "cut"; "paste": "paste"; "hideRow": "hideRow"; "unhideRow": "unhideRow"; "hideColumn": "hideColumn"; "unhideColumn": "unhideColumn"; "sheetDelete": "sheetDelete"; "sheetRename": "sheetRename"; "sheetHide": "sheetHide"; "sheetDuplicate": "sheetDuplicate"; "sheetMoveLeft": "sheetMoveLeft"; "sheetMoveRight": "sheetMoveRight"; }, {}, never>;
293
317
  }
@@ -10,6 +10,7 @@ import { ListItemModel } from '@progress/kendo-angular-buttons';
10
10
  export declare type SheetAction = ListItemModel & {
11
11
  commandName: string;
12
12
  dialogButton?: string;
13
+ messageKey?: string;
13
14
  };
14
15
  /**
15
16
  * @hidden
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-spreadsheet",
3
- "version": "14.3.0-develop.3",
3
+ "version": "14.3.0-develop.5",
4
4
  "description": "A Spreadsheet Component for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -23,22 +23,22 @@
23
23
  "@angular/core": "13 - 17",
24
24
  "@angular/platform-browser": "13 - 17",
25
25
  "@progress/kendo-licensing": "^1.0.2",
26
- "@progress/kendo-angular-buttons": "14.3.0-develop.3",
27
- "@progress/kendo-angular-common": "14.3.0-develop.3",
28
- "@progress/kendo-angular-dialog": "14.3.0-develop.3",
29
- "@progress/kendo-angular-dropdowns": "14.3.0-develop.3",
30
- "@progress/kendo-angular-icons": "14.3.0-develop.3",
31
- "@progress/kendo-angular-l10n": "14.3.0-develop.3",
32
- "@progress/kendo-angular-layout": "14.3.0-develop.3",
33
- "@progress/kendo-angular-menu": "14.3.0-develop.3",
34
- "@progress/kendo-angular-popup": "14.3.0-develop.3",
35
- "@progress/kendo-angular-toolbar": "14.3.0-develop.3",
36
- "@progress/kendo-angular-intl": "14.3.0-develop.3",
26
+ "@progress/kendo-angular-buttons": "14.3.0-develop.5",
27
+ "@progress/kendo-angular-common": "14.3.0-develop.5",
28
+ "@progress/kendo-angular-dialog": "14.3.0-develop.5",
29
+ "@progress/kendo-angular-dropdowns": "14.3.0-develop.5",
30
+ "@progress/kendo-angular-icons": "14.3.0-develop.5",
31
+ "@progress/kendo-angular-l10n": "14.3.0-develop.5",
32
+ "@progress/kendo-angular-layout": "14.3.0-develop.5",
33
+ "@progress/kendo-angular-menu": "14.3.0-develop.5",
34
+ "@progress/kendo-angular-popup": "14.3.0-develop.5",
35
+ "@progress/kendo-angular-toolbar": "14.3.0-develop.5",
36
+ "@progress/kendo-angular-intl": "14.3.0-develop.5",
37
37
  "rxjs": "^6.5.3 || ^7.0.0"
38
38
  },
39
39
  "dependencies": {
40
40
  "tslib": "^2.3.1",
41
- "@progress/kendo-angular-schematics": "14.3.0-develop.3",
41
+ "@progress/kendo-angular-schematics": "14.3.0-develop.5",
42
42
  "@progress/jszip-esm": "^1.0.3",
43
43
  "@progress/kendo-common": "^0.2.2",
44
44
  "@progress/kendo-date-math": "^1.5.10",