@progress/kendo-angular-spreadsheet 23.3.0-develop.2 → 23.3.0-develop.20

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.
@@ -11,13 +11,13 @@ import { SpreadsheetWidget, registerEditor, Matrix, dateToSerial, validation, ca
11
11
  export { CellRef, Context, Deferred, Matrix, Range, RangeRef, Ref, Sheet, SpreadsheetWidget, View, Workbook, defineFunction } from '@progress/kendo-spreadsheet-common';
12
12
  import * as i1$4 from '@progress/kendo-angular-intl';
13
13
  import { localeData } from '@progress/kendo-angular-intl';
14
- import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, sortClearIcon, sortDescIcon, sortAscIcon, filterIcon, eyeIcon, clipboardIcon, cutIcon, decimalIncreaseIcon, exclamationCircleIcon, decimalDecreaseIcon, fontShrinkIcon, fontGrowIcon, linkIcon, tableUnmergeIcon, cellsMergeVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, fontFamilyIcon, fontSizeIcon, customFormatIcon, downloadIcon, folderOpenIcon, bordersNoneIcon, tableColumnDeleteIcon, tableRowDeleteIcon, tableRowInsertBelowIcon, tableRowInsertAboveIcon, tableColumnInsertRightIcon, tableColumnInsertLeftIcon, textWrapIcon, arrowRotateCcwIcon, underlineIcon, arrowRotateCwIcon, italicIcon, foregroundColorIcon, boldIcon, dropletIcon, alignMiddleIcon, alignLeftIcon, alignBottomIcon, alignTopIcon, alignRightIcon, alignJustifyIcon, alignCenterIcon, plusIcon, menuIcon, caretAltDownIcon, chevronUpIcon, chevronDownIcon, searchIcon, sortAscSmallIcon, sortDescSmallIcon, calendarIcon } from '@progress/kendo-svg-icons';
14
+ import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, filePdfIcon, sortClearIcon, sortDescIcon, sortAscIcon, filterIcon, eyeIcon, clipboardIcon, cutIcon, decimalIncreaseIcon, exclamationCircleIcon, decimalDecreaseIcon, fontShrinkIcon, fontGrowIcon, linkIcon, tableUnmergeIcon, cellsMergeVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, fontFamilyIcon, fontSizeIcon, customFormatIcon, downloadIcon, folderOpenIcon, bordersNoneIcon, tableColumnDeleteIcon, tableRowDeleteIcon, tableRowInsertBelowIcon, tableRowInsertAboveIcon, tableColumnInsertRightIcon, tableColumnInsertLeftIcon, textWrapIcon, arrowRotateCcwIcon, underlineIcon, arrowRotateCwIcon, italicIcon, foregroundColorIcon, boldIcon, dropletIcon, alignMiddleIcon, alignLeftIcon, alignBottomIcon, alignTopIcon, alignRightIcon, alignJustifyIcon, alignCenterIcon, plusIcon, menuIcon, caretAltDownIcon, chevronUpIcon, chevronDownIcon, searchIcon, sortAscSmallIcon, sortDescSmallIcon, calendarIcon } from '@progress/kendo-svg-icons';
15
15
  import * as i1 from '@progress/kendo-angular-l10n';
16
16
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
17
17
  import * as i1$1 from '@progress/kendo-angular-popup';
18
18
  import { PopupService } from '@progress/kendo-angular-popup';
19
19
  import { MenuComponent, MenuItemComponent, ContextMenuComponent } from '@progress/kendo-angular-menu';
20
- import { EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeKeys, Keys, hasObservers, guid, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
20
+ import { PreventableEvent, EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeKeys, Keys, hasObservers, guid, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
21
21
  import * as i1$2 from '@progress/kendo-angular-dialog';
22
22
  import { DialogContentBase, DialogActionsComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
23
23
  import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
@@ -38,6 +38,7 @@ import { CalendarComponent as CalendarComponent$1, DatePickerComponent } from '@
38
38
  import { trigger, state, style, transition, animate } from '@angular/animations';
39
39
  import * as i8 from '@progress/kendo-angular-treeview';
40
40
  import { KENDO_TREEVIEW } from '@progress/kendo-angular-treeview';
41
+ import { exportPDF } from '@progress/kendo-drawing';
41
42
 
42
43
  /**
43
44
  * @hidden
@@ -47,8 +48,8 @@ const packageMetadata = {
47
48
  productName: 'Kendo UI for Angular',
48
49
  productCode: 'KENDOUIANGULAR',
49
50
  productCodes: ['KENDOUIANGULAR'],
50
- publishDate: 1773915120,
51
- version: '23.3.0-develop.2',
51
+ publishDate: 1774614884,
52
+ version: '23.3.0-develop.20',
52
53
  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
54
  };
54
55
 
@@ -175,6 +176,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
175
176
  args: [RTL]
176
177
  }] }] });
177
178
 
179
+ /**
180
+ * Provides the event data for the Spreadsheet `pdfExport` event.
181
+ */
182
+ class SpreadsheetPDFExportEvent extends PreventableEvent {
183
+ /**
184
+ * Specifies the `SpreadsheetWidget` instance.
185
+ */
186
+ sender;
187
+ /**
188
+ * @hidden
189
+ */
190
+ constructor(sender) {
191
+ super();
192
+ this.sender = sender;
193
+ }
194
+ }
195
+
178
196
  /**
179
197
  * @hidden
180
198
  */
@@ -642,7 +660,8 @@ const commandIcons = {
642
660
  sort: 'sort-asc',
643
661
  sortAsc: 'sort-asc',
644
662
  sortDesc: 'sort-desc',
645
- unsort: 'sort-clear'
663
+ unsort: 'sort-clear',
664
+ pdfExport: 'file-pdf'
646
665
  };
647
666
  /**
648
667
  * @hidden
@@ -700,7 +719,8 @@ const commandSVGIcons = {
700
719
  sort: sortAscIcon,
701
720
  sortAsc: sortAscIcon,
702
721
  sortDesc: sortDescIcon,
703
- unsort: sortClearIcon
722
+ unsort: sortClearIcon,
723
+ pdfExport: filePdfIcon
704
724
  };
705
725
 
706
726
  /**
@@ -1139,7 +1159,7 @@ class SheetsBarComponent {
1139
1159
  }
1140
1160
  }
1141
1161
  </kendo-tabstrip>
1142
- `, 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]" }] });
1162
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "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]" }] });
1143
1163
  }
1144
1164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SheetsBarComponent, decorators: [{
1145
1165
  type: Component,
@@ -1565,8 +1585,19 @@ class SpreadsheetMergeDirective {
1565
1585
  ngOnInit() {
1566
1586
  this.subs.add(this.host.open.subscribe(() => {
1567
1587
  const sheet = this.spreadsheetService.spreadsheet.activeSheet();
1588
+ const selection = sheet.select();
1589
+ const { topLeft, bottomRight } = selection;
1590
+ const isSingleCell = topLeft.row === bottomRight.row && topLeft.col === bottomRight.col;
1591
+ const isVerticalOnly = topLeft.col === bottomRight.col && topLeft.row !== bottomRight.row;
1592
+ const isHorizontalOnly = topLeft.row === bottomRight.row && topLeft.col !== bottomRight.col;
1568
1593
  const isMergedCellWithinRange = this.hasMergedCells(sheet);
1594
+ const mergeAllItem = this.host.data.find(i => i.commandName === 'cells');
1595
+ const mergeHItem = this.host.data.find(i => i.commandName === 'horizontally');
1596
+ const mergeVItem = this.host.data.find(i => i.commandName === 'vertically');
1569
1597
  const unmergeItem = this.host.data.find(i => i.commandName === 'unmerge');
1598
+ mergeAllItem.disabled = isSingleCell;
1599
+ mergeHItem.disabled = isSingleCell || isVerticalOnly;
1600
+ mergeVItem.disabled = isSingleCell || isHorizontalOnly;
1570
1601
  unmergeItem.disabled = !isMergedCellWithinRange;
1571
1602
  }));
1572
1603
  this.subs.add(this.spreadsheetService.selectionChanged.subscribe(range => this.selectedRange = range));
@@ -1655,15 +1686,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1655
1686
 
1656
1687
  /**
1657
1688
  * @hidden
1689
+ *
1690
+ * Checks if the selection spans an entire row (all columns selected).
1691
+ * Used to disable column insert/delete tools when a full row is selected.
1658
1692
  */
1659
- class SpreadsheetDeleteRowButtonDirective extends SpreadsheetCommandButton {
1660
- constructor(button, localization, spreadsheetService, toolsService) {
1693
+ function isFullRowSelection(ref, grid) {
1694
+ if (!ref) {
1695
+ return false;
1696
+ }
1697
+ const topLeft = ref.topLeft;
1698
+ const bottomRight = ref.bottomRight;
1699
+ return topLeft?.col === 0 && bottomRight?.col === grid.columnCount - 1;
1700
+ }
1701
+ /**
1702
+ * @hidden
1703
+ *
1704
+ * Checks if the selection spans an entire column (all rows selected).
1705
+ * Used to disable row insert/delete tools when a full column is selected.
1706
+ */
1707
+ function isFullColumnSelection(ref, grid) {
1708
+ if (!ref) {
1709
+ return false;
1710
+ }
1711
+ const topLeft = ref.topLeft;
1712
+ const bottomRight = ref.bottomRight;
1713
+ return topLeft?.row === 0 && bottomRight?.row === grid.rowCount - 1;
1714
+ }
1715
+
1716
+ /**
1717
+ * @hidden
1718
+ *
1719
+ * Intermediary base class for insert/delete row/column toolbar buttons.
1720
+ * Disables the button when the current selection would cause undesired behavior:
1721
+ * - Row tools are disabled when a full column is selected
1722
+ * - Column tools are disabled when a full row is selected
1723
+ */
1724
+ class SpreadsheetTableCommandButton extends SpreadsheetCommandButton {
1725
+ cdr;
1726
+ disableOn;
1727
+ constructor(command, button, localization, spreadsheetService, toolsService, commandOptions, cdr, disableOn) {
1728
+ super(command, button, localization, spreadsheetService, toolsService, commandOptions);
1729
+ this.cdr = cdr;
1730
+ this.disableOn = disableOn;
1731
+ this.subs.add(spreadsheetService.componentInitialized.subscribe(() => {
1732
+ this.updateDisabledState();
1733
+ }));
1734
+ this.subs.add(spreadsheetService.selectionChanged.subscribe((range) => {
1735
+ this.updateDisabledState(range);
1736
+ }));
1737
+ this.subs.add(spreadsheetService.activeSheetChanged.subscribe(() => {
1738
+ this.updateDisabledState();
1739
+ }));
1740
+ }
1741
+ ngOnInit() {
1742
+ super.ngOnInit();
1743
+ this.updateDisabledState();
1744
+ }
1745
+ updateDisabledState(range) {
1746
+ const sheet = this.spreadsheetService.spreadsheet?.activeSheet();
1747
+ if (!sheet) {
1748
+ return;
1749
+ }
1750
+ const ref = range?._ref ?? sheet.selection()?._ref;
1751
+ const disabled = this.disableOn === 'fullRow'
1752
+ ? isFullRowSelection(ref, sheet._grid)
1753
+ : isFullColumnSelection(ref, sheet._grid);
1754
+ if (this.button.disabled !== disabled) {
1755
+ this.button.disabled = disabled;
1756
+ this.cdr.detectChanges();
1757
+ }
1758
+ }
1759
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetTableCommandButton, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1760
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetTableCommandButton, isStandalone: true, usesInheritance: true, ngImport: i0 });
1761
+ }
1762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetTableCommandButton, decorators: [{
1763
+ type: Directive
1764
+ }], ctorParameters: () => [{ type: undefined }, { type: i1$3.ToolBarButtonComponent }, { type: i1.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: undefined }, { type: i0.ChangeDetectorRef }, { type: undefined }] });
1765
+
1766
+ /**
1767
+ * @hidden
1768
+ */
1769
+ class SpreadsheetDeleteRowButtonDirective extends SpreadsheetTableCommandButton {
1770
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1661
1771
  super('deleteRow', button, localization, spreadsheetService, toolsService, {
1662
1772
  command: 'DeleteRowCommand',
1663
1773
  options: { property: 'deleteRow' }
1664
- });
1774
+ }, cdr, 'fullColumn');
1665
1775
  }
1666
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1776
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1667
1777
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetDeleteRowButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]", usesInheritance: true, ngImport: i0 });
1668
1778
  }
1669
1779
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteRowButtonDirective, decorators: [{
@@ -1672,19 +1782,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1672
1782
  selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]',
1673
1783
  standalone: true
1674
1784
  }]
1675
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1785
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1676
1786
 
1677
1787
  /**
1678
1788
  * @hidden
1679
1789
  */
1680
- class SpreadsheetDeleteColumnButtonDirective extends SpreadsheetCommandButton {
1681
- constructor(button, localization, spreadsheetService, toolsService) {
1790
+ class SpreadsheetDeleteColumnButtonDirective extends SpreadsheetTableCommandButton {
1791
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1682
1792
  super('deleteColumn', button, localization, spreadsheetService, toolsService, {
1683
1793
  command: 'DeleteColumnCommand',
1684
1794
  options: { property: 'deleteColumn' }
1685
- });
1795
+ }, cdr, 'fullRow');
1686
1796
  }
1687
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1797
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1688
1798
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetDeleteColumnButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]", usesInheritance: true, ngImport: i0 });
1689
1799
  }
1690
1800
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetDeleteColumnButtonDirective, decorators: [{
@@ -1693,21 +1803,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1693
1803
  selector: 'kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]',
1694
1804
  standalone: true
1695
1805
  }]
1696
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1806
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1697
1807
 
1698
1808
  /**
1699
1809
  * @hidden
1700
1810
  */
1701
- class SpreadsheetAddRowAboveButtonDirective extends SpreadsheetCommandButton {
1702
- constructor(button, localization, spreadsheetService, toolsService) {
1811
+ class SpreadsheetAddRowAboveButtonDirective extends SpreadsheetTableCommandButton {
1812
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1703
1813
  super('addRowAbove', button, localization, spreadsheetService, toolsService, {
1704
1814
  command: 'AddRowCommand',
1705
1815
  options: { property: 'addRowAbove',
1706
1816
  value: 'above'
1707
1817
  }
1708
- });
1818
+ }, cdr, 'fullColumn');
1709
1819
  }
1710
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1820
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1711
1821
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetAddRowAboveButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]", usesInheritance: true, ngImport: i0 });
1712
1822
  }
1713
1823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowAboveButtonDirective, decorators: [{
@@ -1716,21 +1826,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1716
1826
  selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]',
1717
1827
  standalone: true
1718
1828
  }]
1719
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1829
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1720
1830
 
1721
1831
  /**
1722
1832
  * @hidden
1723
1833
  */
1724
- class SpreadsheetAddRowBelowButtonDirective extends SpreadsheetCommandButton {
1725
- constructor(button, localization, spreadsheetService, toolsService) {
1834
+ class SpreadsheetAddRowBelowButtonDirective extends SpreadsheetTableCommandButton {
1835
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1726
1836
  super('addRowBelow', button, localization, spreadsheetService, toolsService, {
1727
1837
  command: 'AddRowCommand',
1728
1838
  options: { property: 'addRowBelow',
1729
1839
  value: 'below'
1730
1840
  }
1731
- });
1841
+ }, cdr, 'fullColumn');
1732
1842
  }
1733
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1734
1844
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetAddRowBelowButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]", usesInheritance: true, ngImport: i0 });
1735
1845
  }
1736
1846
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddRowBelowButtonDirective, decorators: [{
@@ -1739,21 +1849,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1739
1849
  selector: 'kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]',
1740
1850
  standalone: true
1741
1851
  }]
1742
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1852
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1743
1853
 
1744
1854
  /**
1745
1855
  * @hidden
1746
1856
  */
1747
- class SpreadsheetAddColumnRightButtonDirective extends SpreadsheetCommandButton {
1748
- constructor(button, localization, spreadsheetService, toolsService) {
1857
+ class SpreadsheetAddColumnRightButtonDirective extends SpreadsheetTableCommandButton {
1858
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1749
1859
  super('addColumnRight', button, localization, spreadsheetService, toolsService, {
1750
1860
  command: 'AddColumnCommand',
1751
1861
  options: { property: 'addColumnRight',
1752
1862
  value: 'right'
1753
1863
  }
1754
- });
1864
+ }, cdr, 'fullRow');
1755
1865
  }
1756
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1866
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1757
1867
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetAddColumnRightButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]", usesInheritance: true, ngImport: i0 });
1758
1868
  }
1759
1869
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnRightButtonDirective, decorators: [{
@@ -1762,21 +1872,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1762
1872
  selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]',
1763
1873
  standalone: true
1764
1874
  }]
1765
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1875
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1766
1876
 
1767
1877
  /**
1768
1878
  * @hidden
1769
1879
  */
1770
- class SpreadsheetAddColumnLeftButtonDirective extends SpreadsheetCommandButton {
1771
- constructor(button, localization, spreadsheetService, toolsService) {
1880
+ class SpreadsheetAddColumnLeftButtonDirective extends SpreadsheetTableCommandButton {
1881
+ constructor(button, localization, spreadsheetService, toolsService, cdr) {
1772
1882
  super('addColumnLeft', button, localization, spreadsheetService, toolsService, {
1773
1883
  command: 'AddColumnCommand',
1774
1884
  options: { property: 'addColumnLeft',
1775
1885
  value: 'left'
1776
1886
  }
1777
- });
1887
+ }, cdr, 'fullRow');
1778
1888
  }
1779
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }], target: i0.ɵɵFactoryTarget.Directive });
1889
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1780
1890
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetAddColumnLeftButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]", usesInheritance: true, ngImport: i0 });
1781
1891
  }
1782
1892
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetAddColumnLeftButtonDirective, decorators: [{
@@ -1785,7 +1895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1785
1895
  selector: 'kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]',
1786
1896
  standalone: true
1787
1897
  }]
1788
- }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }] });
1898
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: i0.ChangeDetectorRef }] });
1789
1899
 
1790
1900
  /**
1791
1901
  * @hidden
@@ -3174,6 +3284,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3174
3284
  }]
3175
3285
  }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }] });
3176
3286
 
3287
+ /**
3288
+ * @hidden
3289
+ */
3290
+ class SpreadsheetPDFExportDirective {
3291
+ button;
3292
+ localization;
3293
+ spreadsheetService;
3294
+ subs = new Subscription();
3295
+ constructor(button, localization, spreadsheetService) {
3296
+ this.button = button;
3297
+ this.localization = localization;
3298
+ this.spreadsheetService = spreadsheetService;
3299
+ }
3300
+ ngOnInit() {
3301
+ this.button.title = this.localization.get('pdfExport');
3302
+ this.button.icon = commandIcons['pdfExport'];
3303
+ this.button.svgIcon = commandSVGIcons['pdfExport'];
3304
+ this.button.fillMode = 'flat';
3305
+ this.subs.add(this.button.click.subscribe(() => {
3306
+ const spreadsheet = this.spreadsheetService.spreadsheetComponent;
3307
+ if (spreadsheet) {
3308
+ spreadsheet.triggerPDFExport();
3309
+ }
3310
+ }));
3311
+ }
3312
+ ngOnDestroy() {
3313
+ this.subs.unsubscribe();
3314
+ }
3315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetPDFExportDirective, deps: [{ token: i1$3.ToolBarButtonComponent }, { token: SpreadsheetLocalizationService }, { token: SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
3316
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: SpreadsheetPDFExportDirective, isStandalone: true, selector: "[kendoSpreadsheetPDFExport]", ngImport: i0 });
3317
+ }
3318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetPDFExportDirective, decorators: [{
3319
+ type: Directive,
3320
+ args: [{
3321
+ selector: '[kendoSpreadsheetPDFExport]',
3322
+ standalone: true
3323
+ }]
3324
+ }], ctorParameters: () => [{ type: i1$3.ToolBarButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }] });
3325
+
3177
3326
  /**
3178
3327
  * @hidden
3179
3328
  */
@@ -3298,7 +3447,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
3298
3447
  aria-hidden="true"
3299
3448
  accept=".xlsx,.XLSX" />
3300
3449
  </ng-template>
3301
- `, 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: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
3450
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
3302
3451
  }
3303
3452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetLoadFileComponent, decorators: [{
3304
3453
  type: Component,
@@ -3440,6 +3589,10 @@ class MessagesDirective extends ComponentMessages {
3440
3589
  * Sets the title for the **Save** File tool.
3441
3590
  */
3442
3591
  saveFile;
3592
+ /**
3593
+ * Sets the title for the **PDF Export** tool.
3594
+ */
3595
+ pdfExport;
3443
3596
  /**
3444
3597
  * Sets the title for the **Load File** tool.
3445
3598
  */
@@ -3798,6 +3951,10 @@ class MessagesDirective extends ComponentMessages {
3798
3951
  * Sets the content for the dialog that warns about modifying a disabled cell.
3799
3952
  */
3800
3953
  cannotModifyDisabled;
3954
+ /**
3955
+ * The content of the dialog that warns about performing an action on a range that contains disabled cells.
3956
+ */
3957
+ rangeDisabled;
3801
3958
  /**
3802
3959
  * Sets the text for the **OK** dialog button.
3803
3960
  */
@@ -3994,7 +4151,7 @@ class MessagesDirective extends ComponentMessages {
3994
4151
  */
3995
4152
  cantSortMultipleSelection;
3996
4153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3997
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: MessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", dataTab: "dataTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", dataValidation: "dataValidation", filter: "filter", validationCellRange: "validationCellRange", validationCriteria: "validationCriteria", validationComparer: "validationComparer", validationMinValue: "validationMinValue", validationMaxValue: "validationMaxValue", validationStartValue: "validationStartValue", validationEndValue: "validationEndValue", validationValue: "validationValue", validationShowListButtonCheckbox: "validationShowListButtonCheckbox", validationShowDateButtonCheckbox: "validationShowDateButtonCheckbox", validationIgnoreBlankCheckbox: "validationIgnoreBlankCheckbox", validationOnInvalidData: "validationOnInvalidData", validationRejectInput: "validationRejectInput", validationShowWarning: "validationShowWarning", validationShowHint: "validationShowHint", anyValueValidationCriteria: "anyValueValidationCriteria", numberValidationCriteria: "numberValidationCriteria", textValidationCriteria: "textValidationCriteria", dateValidationCriteria: "dateValidationCriteria", customFormulaValidationCriteria: "customFormulaValidationCriteria", listValidationCriteria: "listValidationCriteria", greaterThanValidationComparer: "greaterThanValidationComparer", lessThanValidationComparer: "lessThanValidationComparer", betweenValidationComparer: "betweenValidationComparer", notBetweenValidationComparer: "notBetweenValidationComparer", equalToValidationComparer: "equalToValidationComparer", notEqualToValidationComparer: "notEqualToValidationComparer", greaterThanOrEqualToValidationComparer: "greaterThanOrEqualToValidationComparer", lessThanOrEqualToValidationComparer: "lessThanOrEqualToValidationComparer", validationHintMessage: "validationHintMessage", validationHintTitle: "validationHintTitle", 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", dialogRemove: "dialogRemove", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError", cantSortMixedCells: "cantSortMixedCells", filterApply: "filterApply", filterClear: "filterClear", filterMenuAll: "filterMenuAll", blankValues: "blankValues", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterStartsWithOperator: "filterStartsWithOperator", filterEndsWithOperator: "filterEndsWithOperator", filterMatchesOperator: "filterMatchesOperator", filterNotMatchesOperator: "filterNotMatchesOperator", filterDateEqOperator: "filterDateEqOperator", filterDateNotEqOperator: "filterDateNotEqOperator", filterBeforeOperator: "filterBeforeOperator", filterAfterOperator: "filterAfterOperator", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterNoneOperator: "filterNoneOperator", filterMenuConditionItem: "filterMenuConditionItem", filterMenuValueItem: "filterMenuValueItem", sort: "sort", sortAsc: "sortAsc", sortDesc: "sortDesc", unsort: "unsort", cantSortNullRef: "cantSortNullRef", cantSortMultipleSelection: "cantSortMultipleSelection" }, usesInheritance: true, ngImport: i0 });
4154
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: MessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", dataTab: "dataTab", saveFile: "saveFile", pdfExport: "pdfExport", loadFile: "loadFile", bold: "bold", dataValidation: "dataValidation", filter: "filter", validationCellRange: "validationCellRange", validationCriteria: "validationCriteria", validationComparer: "validationComparer", validationMinValue: "validationMinValue", validationMaxValue: "validationMaxValue", validationStartValue: "validationStartValue", validationEndValue: "validationEndValue", validationValue: "validationValue", validationShowListButtonCheckbox: "validationShowListButtonCheckbox", validationShowDateButtonCheckbox: "validationShowDateButtonCheckbox", validationIgnoreBlankCheckbox: "validationIgnoreBlankCheckbox", validationOnInvalidData: "validationOnInvalidData", validationRejectInput: "validationRejectInput", validationShowWarning: "validationShowWarning", validationShowHint: "validationShowHint", anyValueValidationCriteria: "anyValueValidationCriteria", numberValidationCriteria: "numberValidationCriteria", textValidationCriteria: "textValidationCriteria", dateValidationCriteria: "dateValidationCriteria", customFormulaValidationCriteria: "customFormulaValidationCriteria", listValidationCriteria: "listValidationCriteria", greaterThanValidationComparer: "greaterThanValidationComparer", lessThanValidationComparer: "lessThanValidationComparer", betweenValidationComparer: "betweenValidationComparer", notBetweenValidationComparer: "notBetweenValidationComparer", equalToValidationComparer: "equalToValidationComparer", notEqualToValidationComparer: "notEqualToValidationComparer", greaterThanOrEqualToValidationComparer: "greaterThanOrEqualToValidationComparer", lessThanOrEqualToValidationComparer: "lessThanOrEqualToValidationComparer", validationHintMessage: "validationHintMessage", validationHintTitle: "validationHintTitle", 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", dialogRemove: "dialogRemove", 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", rangeDisabled: "rangeDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError", cantSortMixedCells: "cantSortMixedCells", filterApply: "filterApply", filterClear: "filterClear", filterMenuAll: "filterMenuAll", blankValues: "blankValues", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterStartsWithOperator: "filterStartsWithOperator", filterEndsWithOperator: "filterEndsWithOperator", filterMatchesOperator: "filterMatchesOperator", filterNotMatchesOperator: "filterNotMatchesOperator", filterDateEqOperator: "filterDateEqOperator", filterDateNotEqOperator: "filterDateNotEqOperator", filterBeforeOperator: "filterBeforeOperator", filterAfterOperator: "filterAfterOperator", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterNoneOperator: "filterNoneOperator", filterMenuConditionItem: "filterMenuConditionItem", filterMenuValueItem: "filterMenuValueItem", sort: "sort", sortAsc: "sortAsc", sortDesc: "sortDesc", unsort: "unsort", cantSortNullRef: "cantSortNullRef", cantSortMultipleSelection: "cantSortMultipleSelection" }, usesInheritance: true, ngImport: i0 });
3998
4155
  }
3999
4156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MessagesDirective, decorators: [{
4000
4157
  type: Directive,
@@ -4014,6 +4171,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4014
4171
  type: Input
4015
4172
  }], saveFile: [{
4016
4173
  type: Input
4174
+ }], pdfExport: [{
4175
+ type: Input
4017
4176
  }], loadFile: [{
4018
4177
  type: Input
4019
4178
  }], bold: [{
@@ -4192,6 +4351,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4192
4351
  type: Input
4193
4352
  }], cannotModifyDisabled: [{
4194
4353
  type: Input
4354
+ }], rangeDisabled: [{
4355
+ type: Input
4195
4356
  }], dialogOk: [{
4196
4357
  type: Input
4197
4358
  }], dialogError: [{
@@ -4643,7 +4804,7 @@ class DataValidationDialogComponent extends DialogContentBase {
4643
4804
  </button>
4644
4805
  }
4645
4806
  </kendo-dialog-actions>
4646
- `, 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"] }] });
4807
+ `, 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", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4647
4808
  }
4648
4809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DataValidationDialogComponent, decorators: [{
4649
4810
  type: Component,
@@ -5647,10 +5808,28 @@ class SpreadsheetComponent {
5647
5808
  * (in which case the images are fully contained by the JSON), or external URLs.
5648
5809
  */
5649
5810
  images;
5811
+ /**
5812
+ * Configures the PDF export settings of the Spreadsheet.
5813
+ */
5814
+ pdfExportSettings;
5650
5815
  /**
5651
5816
  * Configures the Excel export settings of the Spreadsheet.
5652
5817
  */
5653
- excel;
5818
+ excelExportSettings;
5819
+ /**
5820
+ * Backwards-compatible alias for `excelExportSettings` input.
5821
+ *
5822
+ * @hidden
5823
+ */
5824
+ set excel(value) {
5825
+ this.excelExportSettings = value;
5826
+ }
5827
+ /**
5828
+ * @hidden
5829
+ */
5830
+ get excel() {
5831
+ return this.excelExportSettings;
5832
+ }
5654
5833
  /**
5655
5834
  * Fires when a value in the Spreadsheet is changed. Exposes the `SpreadsheetWidget` instance and the selected `Range` as event data.
5656
5835
  */
@@ -5675,6 +5854,12 @@ class SpreadsheetComponent {
5675
5854
  * (if invoked, the selected file will not be loaded), and the `SpreadsheetWidget` instance.
5676
5855
  */
5677
5856
  excelImport = new EventEmitter();
5857
+ /**
5858
+ * Fires when the end user clicks the Export to PDF toolbar button.
5859
+ * The event is preventable and exposes a `preventDefault` method
5860
+ * (if you invoke it, the generated PDF file is not saved) and the `SpreadsheetWidget` instance.
5861
+ */
5862
+ pdfExport = new EventEmitter();
5678
5863
  /**
5679
5864
  * Fires when the active sheet is about to change.
5680
5865
  * The event exposes the new active `Sheet` and the `SpreadsheetWidget` instance.
@@ -5858,7 +6043,14 @@ class SpreadsheetComponent {
5858
6043
  const { topLeft, bottomRight } = selection;
5859
6044
  const isRange = e.targetType === 'cell' && (topLeft.row !== bottomRight.row || topLeft.col !== bottomRight.col);
5860
6045
  const targetType = isRange ? 'range' : e.targetType;
5861
- this.contextMenuItems = this.contextMenuItemsForTarget(targetType, e.showUnhide, e.showUnmerge);
6046
+ const isSingleCell = topLeft.row === bottomRight.row && topLeft.col === bottomRight.col;
6047
+ const isVerticalOnly = topLeft.col === bottomRight.col && topLeft.row !== bottomRight.row;
6048
+ const isHorizontalOnly = topLeft.row === bottomRight.row && topLeft.col !== bottomRight.col;
6049
+ this.contextMenuItems = this.contextMenuItemsForTarget(targetType, e.showUnhide, e.showUnmerge, {
6050
+ isSingleCell,
6051
+ isVerticalOnly,
6052
+ isHorizontalOnly
6053
+ });
5862
6054
  this.contextMenu.show({ top: e.originalEvent.pageY, left: e.originalEvent.pageX });
5863
6055
  }
5864
6056
  /**
@@ -5935,6 +6127,16 @@ class SpreadsheetComponent {
5935
6127
  this.spreadsheetWidget.executeCommand(command);
5936
6128
  }
5937
6129
  }
6130
+ /**
6131
+ * @hidden
6132
+ */
6133
+ triggerPDFExport() {
6134
+ const args = new SpreadsheetPDFExportEvent(this.spreadsheetWidget);
6135
+ this.pdfExport.emit(args);
6136
+ if (!args.isDefaultPrevented()) {
6137
+ this.saveAsPDF();
6138
+ }
6139
+ }
5938
6140
  /**
5939
6141
  * @hidden
5940
6142
  */
@@ -6121,6 +6323,16 @@ class SpreadsheetComponent {
6121
6323
  this.updateActiveSheet(this.spreadsheetService.activeSheet);
6122
6324
  });
6123
6325
  }
6326
+ saveAsPDF() {
6327
+ return new Promise((resolve, reject) => {
6328
+ this.spreadsheetWidget.draw(this.pdfExportSettings, (group) => {
6329
+ exportPDF(group).then((dataUri) => {
6330
+ saveAs(dataUri, this.pdfExportSettings?.fileName || 'Workbook.pdf');
6331
+ resolve();
6332
+ }).catch(reject);
6333
+ });
6334
+ });
6335
+ }
6124
6336
  onClipboardEvent(event, type) {
6125
6337
  if (hasObservers(this.clipboard)) {
6126
6338
  this.ngZone.runOutsideAngular(() => {
@@ -6155,7 +6367,7 @@ class SpreadsheetComponent {
6155
6367
  columns: this.columns,
6156
6368
  columnWidth: this.columnWidth,
6157
6369
  defaultCellStyle: this.defaultCellStyle,
6158
- excel: this.excel,
6370
+ excel: this.excelExportSettings,
6159
6371
  headerHeight: this.headerHeight,
6160
6372
  headerWidth: this.headerWidth,
6161
6373
  images: this.images,
@@ -6178,7 +6390,9 @@ class SpreadsheetComponent {
6178
6390
  createFilterMenu: this.createFilterMenu.bind(this)
6179
6391
  };
6180
6392
  }
6181
- contextMenuItemsForTarget(target, unhide, unmerge) {
6393
+ contextMenuItemsForTarget(target, unhide, unmerge, selectionInfo = { isSingleCell: false, isVerticalOnly: false, isHorizontalOnly: false }) {
6394
+ const { isSingleCell, isVerticalOnly, isHorizontalOnly } = selectionInfo;
6395
+ const disableAllMerge = isSingleCell;
6182
6396
  const commonItems = [{
6183
6397
  text: this.messageFor('copy'),
6184
6398
  icon: commandIcons.copy,
@@ -6202,16 +6416,19 @@ class SpreadsheetComponent {
6202
6416
  icon: commandIcons.mergeAll,
6203
6417
  svgIcon: commandSVGIcons.mergeAll,
6204
6418
  id: 'mergeAll',
6419
+ disabled: disableAllMerge
6205
6420
  }, {
6206
6421
  text: this.messageFor('mergeHorizontally'),
6207
6422
  icon: commandIcons.mergeHorizontally,
6208
6423
  svgIcon: commandSVGIcons.mergeHorizontally,
6209
6424
  id: 'mergeHorizontally',
6425
+ disabled: disableAllMerge || isVerticalOnly
6210
6426
  }, {
6211
6427
  text: this.messageFor('mergeVertically'),
6212
6428
  icon: commandIcons.mergeVertically,
6213
6429
  svgIcon: commandSVGIcons.mergeVertically,
6214
6430
  id: 'mergeVertically',
6431
+ disabled: disableAllMerge || isHorizontalOnly
6215
6432
  }, {
6216
6433
  text: this.messageFor('unmerge'),
6217
6434
  icon: commandIcons.unmerge,
@@ -6695,7 +6912,7 @@ class SpreadsheetComponent {
6695
6912
  return false;
6696
6913
  }
6697
6914
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", 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 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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", clipboard: "clipboard" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
6915
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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", pdfExportSettings: "pdfExportSettings", excelExportSettings: "excelExportSettings", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", pdfExport: "pdfExport", activeSheetChange: "activeSheetChange", clipboard: "clipboard" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
6699
6916
  SpreadsheetLocalizationService,
6700
6917
  SpreadsheetService,
6701
6918
  {
@@ -6792,6 +7009,8 @@ class SpreadsheetComponent {
6792
7009
  loadFile="Open..."
6793
7010
  i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
6794
7011
  saveFile="Export..."
7012
+ i18n-pdfExport="kendo.spreadsheet.pdfExport|The title of the PDF Export tool."
7013
+ pdfExport="Export as PDF..."
6795
7014
  i18n-format="kendo.spreadsheet.format|The text of the Format tool."
6796
7015
  format="Custom format..."
6797
7016
  i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
@@ -6902,6 +7121,8 @@ class SpreadsheetComponent {
6902
7121
  modifyMerged="Cannot change part of a merged cell."
6903
7122
  i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
6904
7123
  cannotModifyDisabled="Cannot modify disabled cells."
7124
+ i18n-rangeDisabled="kendo.spreadsheet.rangeDisabled|The content of the dialog that warns about performing an action on a range that contains disabled cells."
7125
+ rangeDisabled="Destination range contains disabled cells."
6905
7126
  i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
6906
7127
  dialogOk="OK"
6907
7128
  i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
@@ -7011,6 +7232,7 @@ class SpreadsheetComponent {
7011
7232
  [overflow]="overflow">
7012
7233
  <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
7013
7234
  <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
7235
+ <kendo-toolbar-button kendoSpreadsheetPDFExport></kendo-toolbar-button>
7014
7236
  </kendo-toolbar>
7015
7237
  }
7016
7238
  @if (selectedMenuItem?.active && selectedMenuItem.id === 'home') {
@@ -7218,7 +7440,7 @@ class SpreadsheetComponent {
7218
7440
  @if (showLicenseWatermark) {
7219
7441
  <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
7220
7442
  }
7221
- `, 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]" }, { kind: "directive", type: SpreadsheetFilterDirective, selector: "kendo-toolbar-button[kendoSpreadsheetFilter]" }, { kind: "component", type: SpreadsheetFilterMenuItemComponent, selector: "kendo-spreadsheet-filtermenu-item", inputs: ["text", "innerMenuItems", "icon", "expanderClass", "expandable", "svgIcon", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: FilterMenuItemContentTemplateDirective, selector: "[kendoSpreadsheetFilterMenuItemContentTemplate]" }, { kind: "component", type: i8.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: i8.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: i8.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: i8.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { 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: "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: "ngmodule", type: InputsModule }, { kind: "component", type: i9.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: i9.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: SpreadsheetSortDirective, selector: "[kendoSpreadsheetSort]" }] });
7443
+ `, 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: SpreadsheetPDFExportDirective, selector: "[kendoSpreadsheetPDFExport]" }, { 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]" }, { kind: "directive", type: SpreadsheetFilterDirective, selector: "kendo-toolbar-button[kendoSpreadsheetFilter]" }, { kind: "component", type: SpreadsheetFilterMenuItemComponent, selector: "kendo-spreadsheet-filtermenu-item", inputs: ["text", "innerMenuItems", "icon", "expanderClass", "expandable", "svgIcon", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: FilterMenuItemContentTemplateDirective, selector: "[kendoSpreadsheetFilterMenuItemContentTemplate]" }, { kind: "component", type: i8.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: i8.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: i8.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: i8.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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: "ngmodule", type: InputsModule }, { kind: "component", type: i9.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: i9.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: SpreadsheetSortDirective, selector: "[kendoSpreadsheetSort]" }] });
7222
7444
  }
7223
7445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetComponent, decorators: [{
7224
7446
  type: Component,
@@ -7323,6 +7545,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7323
7545
  loadFile="Open..."
7324
7546
  i18n-saveFile="kendo.spreadsheet.saveFile|The title of the Save File tool."
7325
7547
  saveFile="Export..."
7548
+ i18n-pdfExport="kendo.spreadsheet.pdfExport|The title of the PDF Export tool."
7549
+ pdfExport="Export as PDF..."
7326
7550
  i18n-format="kendo.spreadsheet.format|The text of the Format tool."
7327
7551
  format="Custom format..."
7328
7552
  i18n-fontFamily="kendo.spreadsheet.fontFamily|The text of the Font Family tool."
@@ -7433,6 +7657,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7433
7657
  modifyMerged="Cannot change part of a merged cell."
7434
7658
  i18n-cannotModifyDisabled="kendo.spreadsheet.cannotModifyDisabled|The content of the dialog that warns about modifying a disabled cell."
7435
7659
  cannotModifyDisabled="Cannot modify disabled cells."
7660
+ i18n-rangeDisabled="kendo.spreadsheet.rangeDisabled|The content of the dialog that warns about performing an action on a range that contains disabled cells."
7661
+ rangeDisabled="Destination range contains disabled cells."
7436
7662
  i18n-dialogOk="kendo.spreadsheet.dialogOk|The text of the **OK** dialog button."
7437
7663
  dialogOk="OK"
7438
7664
  i18n-dialogError="kendo.spreadsheet.dialogError|The title of an error dialog."
@@ -7542,6 +7768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7542
7768
  [overflow]="overflow">
7543
7769
  <kendo-spreadsheet-load-file-tool></kendo-spreadsheet-load-file-tool>
7544
7770
  <kendo-toolbar-button kendoSpreadsheetSaveFile></kendo-toolbar-button>
7771
+ <kendo-toolbar-button kendoSpreadsheetPDFExport></kendo-toolbar-button>
7545
7772
  </kendo-toolbar>
7546
7773
  }
7547
7774
  @if (selectedMenuItem?.active && selectedMenuItem.id === 'home') {
@@ -7751,7 +7978,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7751
7978
  }
7752
7979
  `,
7753
7980
  standalone: true,
7754
- 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, SpreadsheetFilterDirective, SpreadsheetFilterMenuItemComponent, FilterMenuItemContentTemplateDirective, KENDO_TREEVIEW, ButtonComponent, DropDownListComponent, InputsModule, DatePickerComponent, SpreadsheetSortDirective]
7981
+ imports: [LocalizedMessagesDirective, MenuComponent, MainMenuDirective, MenuItemComponent, ToolBarComponent, SpreadsheetLoadFileComponent, ToolBarButtonComponent, SpreadsheetPDFExportDirective, 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, SpreadsheetFilterDirective, SpreadsheetFilterMenuItemComponent, FilterMenuItemContentTemplateDirective, KENDO_TREEVIEW, ButtonComponent, DropDownListComponent, InputsModule, DatePickerComponent, SpreadsheetSortDirective]
7755
7982
  }]
7756
7983
  }], 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 }, { type: i0.ChangeDetectorRef }], propDecorators: { formulaBarInputRef: [{
7757
7984
  type: ViewChild,
@@ -7805,6 +8032,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7805
8032
  type: Input
7806
8033
  }], images: [{
7807
8034
  type: Input
8035
+ }], pdfExportSettings: [{
8036
+ type: Input
8037
+ }], excelExportSettings: [{
8038
+ type: Input
7808
8039
  }], excel: [{
7809
8040
  type: Input
7810
8041
  }], change: [{
@@ -7817,6 +8048,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7817
8048
  type: Output
7818
8049
  }], excelImport: [{
7819
8050
  type: Output
8051
+ }], pdfExport: [{
8052
+ type: Output
7820
8053
  }], activeSheetChange: [{
7821
8054
  type: Output
7822
8055
  }], clipboard: [{
@@ -7941,6 +8174,7 @@ const KENDO_SPREADSHEET = [
7941
8174
  SpreadsheetUnderlineDirective,
7942
8175
  SpreadsheetLoadFileComponent,
7943
8176
  SpreadsheetSaveFileDirective,
8177
+ SpreadsheetPDFExportDirective,
7944
8178
  SpreadsheetFormatDirective,
7945
8179
  SpreadsheetUndoDirective,
7946
8180
  SpreadsheetRedoDirective,
@@ -7985,7 +8219,7 @@ const KENDO_SPREADSHEET = [
7985
8219
  */
7986
8220
  class SpreadsheetModule {
7987
8221
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7988
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetModule, imports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetDataValidationDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective, SpreadsheetFilterDirective, SpreadsheetSortDirective], exports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetDataValidationDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective, SpreadsheetFilterDirective, SpreadsheetSortDirective] });
8222
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetModule, imports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetDataValidationDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetPDFExportDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective, SpreadsheetFilterDirective, SpreadsheetSortDirective], exports: [SpreadsheetComponent, CustomMessagesComponent, SpreadsheetBoldDirective, SpreadsheetDataValidationDirective, SpreadsheetItalicDirective, SpreadsheetUnderlineDirective, SpreadsheetLoadFileComponent, SpreadsheetSaveFileDirective, SpreadsheetPDFExportDirective, SpreadsheetFormatDirective, SpreadsheetUndoDirective, SpreadsheetRedoDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent, SpreadsheetGridLinesDirective, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetMergeDirective, SpreadsheetInsertLinkDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetVerticalTextAlignDirective, SpreadsheetFilterDirective, SpreadsheetSortDirective] });
7989
8223
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetModule, providers: [IconsService, PopupService, ResizeBatchService, DialogContainerService, DialogService, WindowService, WindowContainerService], imports: [SpreadsheetComponent, SpreadsheetLoadFileComponent, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetBackColorComponent, SpreadsheetForeColorComponent] });
7990
8224
  }
7991
8225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetModule, decorators: [{
@@ -8001,5 +8235,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8001
8235
  * Generated bundle index. Do not edit.
8002
8236
  */
8003
8237
 
8004
- export { CustomMessagesComponent, FormulaInputDirective, FormulaListComponent, KENDO_SPREADSHEET, NameBoxComponent, SheetsBarComponent, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetBackColorComponent, SpreadsheetBoldDirective, SpreadsheetComponent, SpreadsheetDataValidationDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetFilterDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetForeColorComponent, SpreadsheetFormatDirective, SpreadsheetGridLinesDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetInsertLinkDirective, SpreadsheetItalicDirective, SpreadsheetLoadFileComponent, SpreadsheetMergeDirective, SpreadsheetModule, SpreadsheetRedoDirective, SpreadsheetSaveFileDirective, SpreadsheetSortDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetUnderlineDirective, SpreadsheetUndoDirective, SpreadsheetVerticalTextAlignDirective };
8238
+ export { CustomMessagesComponent, FormulaInputDirective, FormulaListComponent, KENDO_SPREADSHEET, NameBoxComponent, SheetsBarComponent, SpreadsheetAddColumnLeftButtonDirective, SpreadsheetAddColumnRightButtonDirective, SpreadsheetAddRowAboveButtonDirective, SpreadsheetAddRowBelowButtonDirective, SpreadsheetBackColorComponent, SpreadsheetBoldDirective, SpreadsheetComponent, SpreadsheetDataValidationDirective, SpreadsheetDecreaseDecimalDirective, SpreadsheetDecreaseFontSizeDirective, SpreadsheetDeleteColumnButtonDirective, SpreadsheetDeleteRowButtonDirective, SpreadsheetFilterDirective, SpreadsheetFontFamilyComponent, SpreadsheetFontSizeComponent, SpreadsheetForeColorComponent, SpreadsheetFormatDirective, SpreadsheetGridLinesDirective, SpreadsheetHorizontalTextAlignDirective, SpreadsheetIncreaseDecimalDirective, SpreadsheetIncreaseFontSizeDirective, SpreadsheetInsertLinkDirective, SpreadsheetItalicDirective, SpreadsheetLoadFileComponent, SpreadsheetMergeDirective, SpreadsheetModule, SpreadsheetPDFExportDirective, SpreadsheetPDFExportEvent, SpreadsheetRedoDirective, SpreadsheetSaveFileDirective, SpreadsheetSortDirective, SpreadsheetTextAlignDirective, SpreadsheetTextWrapDirective, SpreadsheetUnderlineDirective, SpreadsheetUndoDirective, SpreadsheetVerticalTextAlignDirective };
8005
8239