@progress/kendo-angular-editor 21.4.1 → 22.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/fesm2022/progress-kendo-angular-editor.mjs +196 -196
  2. package/localization/messages.d.ts +1 -1
  3. package/package.json +20 -28
  4. package/schematics/ngAdd/index.js +4 -4
  5. package/tools/shared/editor-command-base.d.ts +1 -1
  6. package/esm2022/common/active-marks.mjs +0 -5
  7. package/esm2022/common/apply-to-word-options.mjs +0 -5
  8. package/esm2022/common/commands.mjs +0 -5
  9. package/esm2022/common/css-settings.interface.mjs +0 -5
  10. package/esm2022/common/direction.mjs +0 -5
  11. package/esm2022/common/error-messages.mjs +0 -16
  12. package/esm2022/common/font-family-item.interface.mjs +0 -5
  13. package/esm2022/common/font-size-item.interface.mjs +0 -5
  14. package/esm2022/common/format-item.interface.mjs +0 -5
  15. package/esm2022/common/image-data.interface.mjs +0 -5
  16. package/esm2022/common/link-data.interface.mjs +0 -5
  17. package/esm2022/common/paste-cleanup-settings.mjs +0 -5
  18. package/esm2022/common/plugins-function.mjs +0 -5
  19. package/esm2022/common/predicate.mjs +0 -5
  20. package/esm2022/common/provider.service.mjs +0 -17
  21. package/esm2022/common/resizable-options.interface.mjs +0 -5
  22. package/esm2022/common/styles.mjs +0 -306
  23. package/esm2022/common/table-data.interface.mjs +0 -5
  24. package/esm2022/config/command-icons.mjs +0 -93
  25. package/esm2022/config/commands.mjs +0 -62
  26. package/esm2022/config/schema.mjs +0 -22
  27. package/esm2022/config/semantic-nodes.mjs +0 -27
  28. package/esm2022/config/table-commands.mjs +0 -14
  29. package/esm2022/config/utils.mjs +0 -96
  30. package/esm2022/dialogs/colorpicker-dialog.component.mjs +0 -140
  31. package/esm2022/dialogs/file-link-dialog.component.mjs +0 -252
  32. package/esm2022/dialogs/font-family-dialog.component.mjs +0 -115
  33. package/esm2022/dialogs/font-size-dialog.component.mjs +0 -115
  34. package/esm2022/dialogs/format-dialog.component.mjs +0 -114
  35. package/esm2022/dialogs/image-dialog.component.mjs +0 -230
  36. package/esm2022/dialogs/insert-table-dialog.component.mjs +0 -79
  37. package/esm2022/dialogs/source-dialog.component.mjs +0 -112
  38. package/esm2022/directives.mjs +0 -95
  39. package/esm2022/editor-toolbar-state.mjs +0 -280
  40. package/esm2022/editor.component.mjs +0 -1319
  41. package/esm2022/editor.module.mjs +0 -89
  42. package/esm2022/index.mjs +0 -64
  43. package/esm2022/localization/custom-messages.component.mjs +0 -53
  44. package/esm2022/localization/editor-localization.service.mjs +0 -31
  45. package/esm2022/localization/localized-messages.directive.mjs +0 -35
  46. package/esm2022/localization/messages.mjs +0 -364
  47. package/esm2022/package-metadata.mjs +0 -16
  48. package/esm2022/preventable-events/paste-event.mjs +0 -32
  49. package/esm2022/preventable-events/preventable-event.mjs +0 -25
  50. package/esm2022/progress-kendo-angular-editor.mjs +0 -8
  51. package/esm2022/tools/alignment/editor-align-center-button.directive.mjs +0 -42
  52. package/esm2022/tools/alignment/editor-align-justify-button.directive.mjs +0 -42
  53. package/esm2022/tools/alignment/editor-align-left-button.directive.mjs +0 -42
  54. package/esm2022/tools/alignment/editor-align-right-button.directive.mjs +0 -42
  55. package/esm2022/tools/blockquote/editor-blockquote-button.directive.mjs +0 -40
  56. package/esm2022/tools/colorpicker/editor-back-color.directive.mjs +0 -41
  57. package/esm2022/tools/colorpicker/editor-colorpicker.component.mjs +0 -377
  58. package/esm2022/tools/colorpicker/editor-fore-color.directive.mjs +0 -37
  59. package/esm2022/tools/editor-clean-formatting-button.directive.mjs +0 -41
  60. package/esm2022/tools/fontfamily/editor-fontfamily-dropdownlist.component.mjs +0 -109
  61. package/esm2022/tools/fontfamily/editor-fontfamily.component.mjs +0 -297
  62. package/esm2022/tools/fontsize/editor-fontsize-dropdownlist.component.mjs +0 -98
  63. package/esm2022/tools/fontsize/editor-fontsize.component.mjs +0 -305
  64. package/esm2022/tools/format/editor-format-dropdownlist.component.mjs +0 -182
  65. package/esm2022/tools/format/editor-format.component.mjs +0 -283
  66. package/esm2022/tools/history/editor-redo-button.directive.mjs +0 -42
  67. package/esm2022/tools/history/editor-undo-button.directive.mjs +0 -42
  68. package/esm2022/tools/image/editor-insert-image-button.directive.mjs +0 -41
  69. package/esm2022/tools/indentation/editor-indent-button.directive.mjs +0 -41
  70. package/esm2022/tools/indentation/editor-outdent-button.directive.mjs +0 -41
  71. package/esm2022/tools/link/editor-create-link-button.directive.mjs +0 -41
  72. package/esm2022/tools/link/editor-insert-file-button.directive.mjs +0 -40
  73. package/esm2022/tools/link/editor-unlink-button.directive.mjs +0 -41
  74. package/esm2022/tools/list/editor-insert-ordered-list-button.directive.mjs +0 -41
  75. package/esm2022/tools/list/editor-insert-unordered-list-button.directive.mjs +0 -42
  76. package/esm2022/tools/print/editor-print-button.directive.mjs +0 -62
  77. package/esm2022/tools/select-all/select-all-button.directive.mjs +0 -45
  78. package/esm2022/tools/shared/dropdown-tool.directive.mjs +0 -40
  79. package/esm2022/tools/shared/editor-command-base.mjs +0 -78
  80. package/esm2022/tools/shared/editor-command-button.mjs +0 -37
  81. package/esm2022/tools/shared/editor-command-dialog.mjs +0 -33
  82. package/esm2022/tools/source/editor-view-source-button.directive.mjs +0 -41
  83. package/esm2022/tools/tables/editor-add-column-after-button.directive.mjs +0 -42
  84. package/esm2022/tools/tables/editor-add-column-before-button.directive.mjs +0 -42
  85. package/esm2022/tools/tables/editor-add-row-after-button.directive.mjs +0 -42
  86. package/esm2022/tools/tables/editor-add-row-before-button.directive.mjs +0 -42
  87. package/esm2022/tools/tables/editor-delete-column-button.directive.mjs +0 -42
  88. package/esm2022/tools/tables/editor-delete-row-button.directive.mjs +0 -42
  89. package/esm2022/tools/tables/editor-delete-table-button.directive.mjs +0 -42
  90. package/esm2022/tools/tables/editor-insert-table-button.component.mjs +0 -307
  91. package/esm2022/tools/tables/editor-merge-cells-button.directive.mjs +0 -44
  92. package/esm2022/tools/tables/editor-split-cell-button.directive.mjs +0 -44
  93. package/esm2022/tools/tables/popup-table-grid.component.mjs +0 -117
  94. package/esm2022/tools/tools.service.mjs +0 -22
  95. package/esm2022/tools/typographical-emphasis/editor-bold-button.directive.mjs +0 -42
  96. package/esm2022/tools/typographical-emphasis/editor-italic-button.directive.mjs +0 -42
  97. package/esm2022/tools/typographical-emphasis/editor-strikethrough-button.directive.mjs +0 -42
  98. package/esm2022/tools/typographical-emphasis/editor-subscript-button.directive.mjs +0 -42
  99. package/esm2022/tools/typographical-emphasis/editor-superscript-button.directive.mjs +0 -42
  100. package/esm2022/tools/typographical-emphasis/editor-underline-button.directive.mjs +0 -42
  101. package/esm2022/util.mjs +0 -130
@@ -1,42 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
6
- import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { EditorCommandButton } from '../shared/editor-command-button';
8
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
9
- import { ProviderService } from '../../common/provider.service';
10
- import { EditorToolsService } from '../tools.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-toolbar";
13
- import * as i2 from "../../localization/editor-localization.service";
14
- import * as i3 from "../../common/provider.service";
15
- import * as i4 from "../tools.service";
16
- /**
17
- * Configures a ToolBarButtonComponent as an Editor **DeleteColumn** tool
18
- * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
19
- * The directive sets the SVG icon and `click` event handlers for the button.
20
- * The directive also updates the `disabled` state of the button based on the cursor position in the editing area.
21
- *
22
- * @example
23
- * ```html
24
- * <kendo-toolbar-button kendoEditorDeleteColumnButton></kendo-toolbar-button>
25
- * ```
26
- * @remarks
27
- * Applied to: {@link ToolBarButtonComponent}
28
- */
29
- export class EditorDeleteColumnButtonDirective extends EditorCommandButton {
30
- constructor(button, localization, providerService, toolsService) {
31
- super('deleteColumn', button, localization, providerService, toolsService);
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteColumnButtonDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.EditorLocalizationService }, { token: i3.ProviderService }, { token: i4.EditorToolsService }], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditorDeleteColumnButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoEditorDeleteColumnButton]", usesInheritance: true, ngImport: i0 });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteColumnButtonDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: 'kendo-toolbar-button[kendoEditorDeleteColumnButton]',
40
- standalone: true
41
- }]
42
- }], ctorParameters: () => [{ type: i1.ToolBarButtonComponent }, { type: i2.EditorLocalizationService }, { type: i3.ProviderService }, { type: i4.EditorToolsService }] });
@@ -1,42 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
6
- import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { EditorCommandButton } from '../shared/editor-command-button';
8
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
9
- import { ProviderService } from '../../common/provider.service';
10
- import { EditorToolsService } from '../tools.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-toolbar";
13
- import * as i2 from "../../localization/editor-localization.service";
14
- import * as i3 from "../../common/provider.service";
15
- import * as i4 from "../tools.service";
16
- /**
17
- * Configures a ToolBarButtonComponent as an Editor **DeleteRow** tool
18
- * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
19
- * The directive sets the SVG icon and `click` event handlers for the button.
20
- * The directive also updates the `disabled` state of the button based on the cursor position in the editing area.
21
- *
22
- * @example
23
- * ```html
24
- * <kendo-toolbar-button kendoEditorDeleteRowButton></kendo-toolbar-button>
25
- * ```
26
- * @remarks
27
- * Applied to: {@link ToolBarButtonComponent}
28
- */
29
- export class EditorDeleteRowButtonDirective extends EditorCommandButton {
30
- constructor(button, localization, providerService, toolsService) {
31
- super('deleteRow', button, localization, providerService, toolsService);
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteRowButtonDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.EditorLocalizationService }, { token: i3.ProviderService }, { token: i4.EditorToolsService }], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditorDeleteRowButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoEditorDeleteRowButton]", usesInheritance: true, ngImport: i0 });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteRowButtonDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: 'kendo-toolbar-button[kendoEditorDeleteRowButton]',
40
- standalone: true
41
- }]
42
- }], ctorParameters: () => [{ type: i1.ToolBarButtonComponent }, { type: i2.EditorLocalizationService }, { type: i3.ProviderService }, { type: i4.EditorToolsService }] });
@@ -1,42 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
6
- import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { EditorCommandButton } from '../shared/editor-command-button';
8
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
9
- import { ProviderService } from '../../common/provider.service';
10
- import { EditorToolsService } from '../tools.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-toolbar";
13
- import * as i2 from "../../localization/editor-localization.service";
14
- import * as i3 from "../../common/provider.service";
15
- import * as i4 from "../tools.service";
16
- /**
17
- * Configures a ToolBarButtonComponent as an Editor **DeleteTable** tool
18
- * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
19
- * The directive sets the SVG icon and `click` event handlers for the button.
20
- * The directive also updates the `disabled` state of the button based on the cursor position in the editing area.
21
- *
22
- * @example
23
- * ```html
24
- * <kendo-toolbar-button kendoEditorDeleteTableButton></kendo-toolbar-button>
25
- * ```
26
- * @remarks
27
- * Applied to: {@link ToolBarButtonComponent}
28
- */
29
- export class EditorDeleteTableButtonDirective extends EditorCommandButton {
30
- constructor(button, localization, providerService, toolsService) {
31
- super('deleteTable', button, localization, providerService, toolsService);
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteTableButtonDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.EditorLocalizationService }, { token: i3.ProviderService }, { token: i4.EditorToolsService }], target: i0.ɵɵFactoryTarget.Directive });
34
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditorDeleteTableButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoEditorDeleteTableButton]", usesInheritance: true, ngImport: i0 });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorDeleteTableButtonDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- selector: 'kendo-toolbar-button[kendoEditorDeleteTableButton]',
40
- standalone: true
41
- }]
42
- }], ctorParameters: () => [{ type: i1.ToolBarButtonComponent }, { type: i2.EditorLocalizationService }, { type: i3.ProviderService }, { type: i4.EditorToolsService }] });
@@ -1,307 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, TemplateRef, ViewChild, ElementRef, forwardRef, EventEmitter, Renderer2 } from '@angular/core';
6
- import { interval } from 'rxjs';
7
- import { concatMap, take, takeUntil } from 'rxjs/operators';
8
- import { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
9
- import { PopupService } from '@progress/kendo-angular-popup';
10
- import { DialogService } from '@progress/kendo-angular-dialog';
11
- import { tableAddIcon } from '@progress/kendo-svg-icons';
12
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
13
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
14
- import { outerWidth } from '../../util';
15
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
16
- import { InsertTableDialogComponent } from '../../dialogs/insert-table-dialog.component';
17
- import { isPresent, Keys } from '@progress/kendo-angular-common';
18
- import { ProviderService } from '../../common/provider.service';
19
- import { PopupTableGridComponent } from './popup-table-grid.component';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "../../localization/editor-localization.service";
22
- import * as i2 from "@progress/kendo-angular-popup";
23
- import * as i3 from "@progress/kendo-angular-dialog";
24
- import * as i4 from "../../common/provider.service";
25
- const popupWrapperWidth = '190px';
26
- const popupWrapperHeight = '164px'; // Set to '192px' when TableWizard button is added;
27
- /**
28
- * Represents toolbar component which allows creating and insertig a table in the Editor's content.
29
- *
30
- * Use this toolbar component to let users create and insert a table in the Editor's content.
31
- *
32
- * @example
33
- * ```html
34
- * <kendo-editor>
35
- * <kendo-toolbar>
36
- * <kendo-editor-insert-table-button></kendo-editor-insert-table-button>
37
- * </kendo-toolbar>
38
- * </kendo-editor>
39
- * ```
40
- */
41
- export class EditorInsertTableButtonComponent extends ToolBarToolComponent {
42
- localization;
43
- popupService;
44
- dialogService;
45
- renderer;
46
- element;
47
- overflowElement;
48
- popupGridTemplate;
49
- /**
50
- * @hidden
51
- */
52
- popupRef;
53
- /**
54
- * @hidden
55
- */
56
- disabled;
57
- addTableSVGIcon = tableAddIcon;
58
- open = false;
59
- buttonBlurred = new EventEmitter();
60
- cellClicked = new EventEmitter();
61
- subs;
62
- editor;
63
- constructor(localization, popupService, dialogService, providerService, renderer) {
64
- super();
65
- this.localization = localization;
66
- this.popupService = popupService;
67
- this.dialogService = dialogService;
68
- this.renderer = renderer;
69
- this.editor = providerService.editor;
70
- this.subs = this.editor.stateChange.subscribe(({ insertTable }) => {
71
- this.disabled = insertTable.disabled;
72
- });
73
- this.subs.add(this.buttonBlurred.pipe(concatMap(() => interval(200).pipe(take(1), takeUntil(this.cellClicked)))).subscribe(() => {
74
- this.toggle(false);
75
- }));
76
- this.isBuiltInTool = true;
77
- }
78
- ngOnDestroy() {
79
- this.destroyPopup();
80
- if (this.subs) {
81
- this.subs.unsubscribe();
82
- }
83
- }
84
- get outerWidth() {
85
- if (this.element) {
86
- return outerWidth(this.element.nativeElement);
87
- }
88
- }
89
- get title() {
90
- return this.localization.get('insertTable');
91
- }
92
- /**
93
- * @hidden
94
- */
95
- toggle(open) {
96
- this.open = open === undefined ? !this.open : open;
97
- this.destroyPopup();
98
- if (this.open) {
99
- this.createPopup();
100
- }
101
- }
102
- /**
103
- * @hidden
104
- */
105
- openDialog() {
106
- const dialogSettings = {
107
- appendTo: this.editor.dialogContainer,
108
- content: InsertTableDialogComponent,
109
- width: 400
110
- };
111
- this.editor.toolbar.toggle(false);
112
- const dialogContent = this.dialogService.open(dialogSettings).content.instance;
113
- this.renderer.addClass(dialogContent.dialog.dialog.instance.wrapper.nativeElement.querySelector('.k-window'), 'k-editor-window');
114
- dialogContent.setData({
115
- editor: this.editor
116
- });
117
- }
118
- /**
119
- * @hidden
120
- */
121
- onBlur() {
122
- this.tabIndex = -1;
123
- this.buttonBlurred.emit();
124
- }
125
- /**
126
- * @hidden
127
- */
128
- onCellClick(args) {
129
- this.cellClicked.emit();
130
- this.toggle(false);
131
- this.editor.exec('insertTable', args);
132
- }
133
- /**
134
- * @hidden
135
- */
136
- canFocus() {
137
- return !this.disabled;
138
- }
139
- /**
140
- * @hidden
141
- */
142
- focus() {
143
- const buttonElement = this.getButton();
144
- if (isPresent(buttonElement)) {
145
- this.tabIndex = 0;
146
- buttonElement.focus();
147
- }
148
- }
149
- /**
150
- * @hidden
151
- */
152
- handleKey(ev) {
153
- if (ev.code === Keys.Space || ev.code === Keys.Enter || ev.code === Keys.NumpadEnter) {
154
- return true;
155
- }
156
- this.tabIndex = -1;
157
- return false;
158
- }
159
- createPopup() {
160
- const horizontalAlign = this.editor.direction === 'rtl' ? 'right' : 'left';
161
- const anchorPosition = { horizontal: horizontalAlign, vertical: 'bottom' };
162
- const popupPosition = { horizontal: horizontalAlign, vertical: 'top' };
163
- this.popupRef = this.popupService.open({
164
- anchor: this.element,
165
- anchorAlign: anchorPosition,
166
- animate: true,
167
- content: this.popupGridTemplate,
168
- popupAlign: popupPosition,
169
- popupClass: 'k-ct-popup k-group k-reset k-state-border-up',
170
- positionMode: 'absolute'
171
- });
172
- const popupWrapper = this.popupRef.popupElement;
173
- popupWrapper.style.width = popupWrapperWidth;
174
- popupWrapper.style.height = popupWrapperHeight;
175
- popupWrapper.setAttribute('dir', this.editor.direction);
176
- }
177
- destroyPopup() {
178
- if (this.popupRef) {
179
- this.popupRef.close();
180
- this.popupRef = null;
181
- }
182
- }
183
- getButton() {
184
- return (this.overflows ? this.overflowElement : this.element)?.nativeElement;
185
- }
186
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorInsertTableButtonComponent, deps: [{ token: i1.EditorLocalizationService }, { token: i2.PopupService }, { token: i3.DialogService }, { token: i4.ProviderService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EditorInsertTableButtonComponent, isStandalone: true, selector: "kendo-editor-insert-table-button", providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => EditorInsertTableButtonComponent) }], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef }, { propertyName: "overflowElement", first: true, predicate: ["overflowElement"], descendants: true, read: ElementRef }, { propertyName: "popupGridTemplate", first: true, predicate: ["popupGridTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
188
- <ng-template #toolbarTemplate>
189
- <button
190
- type="button"
191
- kendoButton
192
- class="k-toolbar-button"
193
- #element
194
- [attr.title]="title"
195
- [attr.tabindex]="tabIndex"
196
- icon="table-add"
197
- [svgIcon]="addTableSVGIcon"
198
- [disabled]="disabled"
199
- (click)="toggle()"
200
- (blur)="onBlur()"
201
- ></button>
202
- </ng-template>
203
- <ng-template #popupTemplate>
204
- <div #overflowElement
205
- role="menuitem"
206
- class="k-item k-menu-item"
207
- [class.k-disabled]="disabled"
208
- [attr.tabindex]="tabIndex"
209
- (click)="openDialog()">
210
- <span
211
- class="k-link k-menu-link">
212
- <kendo-icon-wrapper name="table-add" [svgIcon]="addTableSVGIcon"></kendo-icon-wrapper>
213
- @if (title) {
214
- <span class="k-menu-link-text">{{title}}</span>
215
- }
216
- </span>
217
- </div>
218
- </ng-template>
219
- <ng-template #popupGridTemplate>
220
- <kendo-popup-table-grid (cellClick)="onCellClick($event)"></kendo-popup-table-grid>
221
- </ng-template>
222
- <ng-template #sectionTemplate>
223
- <button
224
- type="button"
225
- kendoButton
226
- class="k-toolbar-button"
227
- #element
228
- [attr.title]="title"
229
- [attr.tabindex]="tabIndex"
230
- icon="table-add"
231
- [svgIcon]="addTableSVGIcon"
232
- [disabled]="disabled"
233
- (click)="toggle()"
234
- (blur)="onBlur()"
235
- ></button>
236
- </ng-template>
237
- `, 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"] }, { kind: "component", type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: ["cellClick", "tableWizardClick"] }] });
238
- }
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorInsertTableButtonComponent, decorators: [{
240
- type: Component,
241
- args: [{
242
- providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => EditorInsertTableButtonComponent) }],
243
- selector: 'kendo-editor-insert-table-button',
244
- template: `
245
- <ng-template #toolbarTemplate>
246
- <button
247
- type="button"
248
- kendoButton
249
- class="k-toolbar-button"
250
- #element
251
- [attr.title]="title"
252
- [attr.tabindex]="tabIndex"
253
- icon="table-add"
254
- [svgIcon]="addTableSVGIcon"
255
- [disabled]="disabled"
256
- (click)="toggle()"
257
- (blur)="onBlur()"
258
- ></button>
259
- </ng-template>
260
- <ng-template #popupTemplate>
261
- <div #overflowElement
262
- role="menuitem"
263
- class="k-item k-menu-item"
264
- [class.k-disabled]="disabled"
265
- [attr.tabindex]="tabIndex"
266
- (click)="openDialog()">
267
- <span
268
- class="k-link k-menu-link">
269
- <kendo-icon-wrapper name="table-add" [svgIcon]="addTableSVGIcon"></kendo-icon-wrapper>
270
- @if (title) {
271
- <span class="k-menu-link-text">{{title}}</span>
272
- }
273
- </span>
274
- </div>
275
- </ng-template>
276
- <ng-template #popupGridTemplate>
277
- <kendo-popup-table-grid (cellClick)="onCellClick($event)"></kendo-popup-table-grid>
278
- </ng-template>
279
- <ng-template #sectionTemplate>
280
- <button
281
- type="button"
282
- kendoButton
283
- class="k-toolbar-button"
284
- #element
285
- [attr.title]="title"
286
- [attr.tabindex]="tabIndex"
287
- icon="table-add"
288
- [svgIcon]="addTableSVGIcon"
289
- [disabled]="disabled"
290
- (click)="toggle()"
291
- (blur)="onBlur()"
292
- ></button>
293
- </ng-template>
294
- `,
295
- standalone: true,
296
- imports: [ButtonComponent, IconWrapperComponent, PopupTableGridComponent]
297
- }]
298
- }], ctorParameters: () => [{ type: i1.EditorLocalizationService }, { type: i2.PopupService }, { type: i3.DialogService }, { type: i4.ProviderService }, { type: i0.Renderer2 }], propDecorators: { element: [{
299
- type: ViewChild,
300
- args: ['element', { read: ElementRef }]
301
- }], overflowElement: [{
302
- type: ViewChild,
303
- args: ['overflowElement', { read: ElementRef }]
304
- }], popupGridTemplate: [{
305
- type: ViewChild,
306
- args: ['popupGridTemplate', { static: true }]
307
- }] } });
@@ -1,44 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
6
- import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { EditorCommandButton } from '../shared/editor-command-button';
8
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
9
- import { ProviderService } from '../../common/provider.service';
10
- import { EditorToolsService } from '../tools.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-toolbar";
13
- import * as i2 from "../../localization/editor-localization.service";
14
- import * as i3 from "../../common/provider.service";
15
- import * as i4 from "../tools.service";
16
- /**
17
- * @hidden
18
- *
19
- * Configures an existing ToolBarButtonComponent as an Editor **MergeCells** tool
20
- * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
21
- * The directive predefines the `icon` and `click` event handlers of the button.
22
- * It also updates the `disabled` state of the button based on the cursor position in the editing area.
23
- *
24
- * @example
25
- * ```html
26
- * <kendo-toolbar-button kendoEditorMergeCellsButton></kendo-toolbar-button>
27
- * ```
28
- * @remarks
29
- * Applied to: {@link ToolBarButtonComponent}
30
- */
31
- export class EditorMergeCellsButtonDirective extends EditorCommandButton {
32
- constructor(button, localization, providerService, toolsService) {
33
- super('mergeCells', button, localization, providerService, toolsService);
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorMergeCellsButtonDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.EditorLocalizationService }, { token: i3.ProviderService }, { token: i4.EditorToolsService }], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditorMergeCellsButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoEditorMergeCellsButton]", usesInheritance: true, ngImport: i0 });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorMergeCellsButtonDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: 'kendo-toolbar-button[kendoEditorMergeCellsButton]',
42
- standalone: true
43
- }]
44
- }], ctorParameters: () => [{ type: i1.ToolBarButtonComponent }, { type: i2.EditorLocalizationService }, { type: i3.ProviderService }, { type: i4.EditorToolsService }] });
@@ -1,44 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
6
- import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { EditorCommandButton } from '../shared/editor-command-button';
8
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
9
- import { ProviderService } from '../../common/provider.service';
10
- import { EditorToolsService } from '../tools.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-toolbar";
13
- import * as i2 from "../../localization/editor-localization.service";
14
- import * as i3 from "../../common/provider.service";
15
- import * as i4 from "../tools.service";
16
- /**
17
- * @hidden
18
- *
19
- * Configures an existing ToolBarButtonComponent as an Editor SplitCell tool
20
- * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
21
- * The directive predefines the `icon` and `click` event handlers of the button.
22
- * It also updates the `disabled` state of the button based on the cursor position in the editing area.
23
- *
24
- * @example
25
- * ```html
26
- * <kendo-toolbar-button kendoEditorSplitCellButton></kendo-toolbar-button>
27
- * ```
28
- * @remarks
29
- * Applied to: {@link ToolBarButtonComponent}
30
- */
31
- export class EditorSplitCellButtonDirective extends EditorCommandButton {
32
- constructor(button, localization, providerService, toolsService) {
33
- super('splitCell', button, localization, providerService, toolsService);
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorSplitCellButtonDirective, deps: [{ token: i1.ToolBarButtonComponent }, { token: i2.EditorLocalizationService }, { token: i3.ProviderService }, { token: i4.EditorToolsService }], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: EditorSplitCellButtonDirective, isStandalone: true, selector: "kendo-toolbar-button[kendoEditorSplitCellButton]", usesInheritance: true, ngImport: i0 });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorSplitCellButtonDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: 'kendo-toolbar-button[kendoEditorSplitCellButton]',
42
- standalone: true
43
- }]
44
- }], ctorParameters: () => [{ type: i1.ToolBarButtonComponent }, { type: i2.EditorLocalizationService }, { type: i3.ProviderService }, { type: i4.EditorToolsService }] });
@@ -1,117 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, Output, EventEmitter } from '@angular/core';
6
- import { tableWizardIcon } from '@progress/kendo-svg-icons';
7
- import { EditorLocalizationService } from '../../localization/editor-localization.service';
8
- import { replaceMessagePlaceholder } from '../../util';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../localization/editor-localization.service";
11
- /**
12
- * @hidden
13
- */
14
- export class PopupTableGridComponent {
15
- localization;
16
- cellClick = new EventEmitter();
17
- tableWizardClick = new EventEmitter();
18
- tableWizardIcon = tableWizardIcon;
19
- state = { rows: -1, cols: -1 };
20
- rows = 6;
21
- cols = 8;
22
- constructor(localization) {
23
- this.localization = localization;
24
- }
25
- get message() {
26
- const { rows, cols } = this.state;
27
- const localizationMsg = this.localization.get('insertTableHint') || '';
28
- const rowReplacement = rows > -1 ? (rows + 1).toString() : '';
29
- const colReplacement = cols > -1 ? (cols + 1).toString() : '';
30
- const xReplacement = cols > -1 ? 'x' : '';
31
- return replaceMessagePlaceholder(localizationMsg, [
32
- { placeholder: 'rows', value: rowReplacement },
33
- { placeholder: 'columns', value: colReplacement },
34
- { placeholder: 'x', value: xReplacement }
35
- ]);
36
- }
37
- get cells() {
38
- return Array.from(Array(this.rows * this.cols).keys());
39
- }
40
- selected(index) {
41
- const { rows, cols } = this.state;
42
- const cellRow = Math.floor(index / this.cols);
43
- const cellCol = index % this.cols;
44
- return cellRow <= rows && cellCol <= cols;
45
- }
46
- setState(index) {
47
- const rows = Math.floor(index / this.cols);
48
- const cols = index % this.cols;
49
- this.state = { rows: rows, cols: cols };
50
- }
51
- resetState() {
52
- this.state = { rows: -1, cols: -1 };
53
- }
54
- insertTable() {
55
- this.cellClick.emit(this.state);
56
- }
57
- openTableWizard() {
58
- this.tableWizardClick.emit();
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopupTableGridComponent, deps: [{ token: i1.EditorLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PopupTableGridComponent, isStandalone: true, selector: "kendo-popup-table-grid", outputs: { cellClick: "cellClick", tableWizardClick: "tableWizardClick" }, ngImport: i0, template: `
62
- <div
63
- [style.border-color]="'inherit'"
64
- class="k-ct-popup"
65
- (mouseleave)="resetState()"
66
- (click)="insertTable()">
67
- @for (i of cells; track i) {
68
- <span
69
- class="k-ct-cell"
70
- [class.k-selected]="selected(i)"
71
- [class.k-disabled]="!selected(i)"
72
- (mouseenter)="setState(i)">
73
- </span>
74
- }
75
- </div>
76
- <div class="k-status" unselectable="on">{{ message }}</div>
77
- <!-- uncomment when TableWizard is completed
78
- <div class="k-editor-toolbar" unselectable="on">
79
- <button type="button" kendoButton class="k-tool" [icon]="'table-wizard'" [svgIcon]="tableWizardIcon" (click)="openTableWizard()" title="Table Wizard">Table Wizard</button>
80
- </div>
81
- -->
82
- `, isInline: true });
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopupTableGridComponent, decorators: [{
85
- type: Component,
86
- args: [{
87
- selector: 'kendo-popup-table-grid',
88
- template: `
89
- <div
90
- [style.border-color]="'inherit'"
91
- class="k-ct-popup"
92
- (mouseleave)="resetState()"
93
- (click)="insertTable()">
94
- @for (i of cells; track i) {
95
- <span
96
- class="k-ct-cell"
97
- [class.k-selected]="selected(i)"
98
- [class.k-disabled]="!selected(i)"
99
- (mouseenter)="setState(i)">
100
- </span>
101
- }
102
- </div>
103
- <div class="k-status" unselectable="on">{{ message }}</div>
104
- <!-- uncomment when TableWizard is completed
105
- <div class="k-editor-toolbar" unselectable="on">
106
- <button type="button" kendoButton class="k-tool" [icon]="'table-wizard'" [svgIcon]="tableWizardIcon" (click)="openTableWizard()" title="Table Wizard">Table Wizard</button>
107
- </div>
108
- -->
109
- `,
110
- standalone: true,
111
- imports: []
112
- }]
113
- }], ctorParameters: () => [{ type: i1.EditorLocalizationService }], propDecorators: { cellClick: [{
114
- type: Output
115
- }], tableWizardClick: [{
116
- type: Output
117
- }] } });