@progress/kendo-angular-editor 2.4.2-dev.202110291106 → 2.5.0-dev.202111161123

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.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-editor',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1635505364,
12
+ publishDate: 1637061495,
13
13
  version: '',
14
14
  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'
15
15
  };
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { TemplateRef, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
5
+ import { TemplateRef, ElementRef, OnDestroy } from '@angular/core';
6
6
  import { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
7
7
  import { PopupRef, PopupService } from '@progress/kendo-angular-popup';
8
8
  import { EditorComponent } from '../../editor.component';
@@ -16,7 +16,7 @@ import { DialogService } from '@progress/kendo-angular-dialog';
16
16
  * <kendo-editor-insert-table-button></kendo-editor-insert-table-button>
17
17
  * ```
18
18
  */
19
- export declare class EditorInsertTableButtonComponent extends ToolBarToolComponent implements AfterViewInit, OnDestroy {
19
+ export declare class EditorInsertTableButtonComponent extends ToolBarToolComponent implements OnDestroy {
20
20
  private editor;
21
21
  private localization;
22
22
  private popupService;
@@ -39,7 +39,6 @@ export declare class EditorInsertTableButtonComponent extends ToolBarToolCompone
39
39
  private cellClicked;
40
40
  private subs;
41
41
  constructor(editor: EditorComponent, localization: EditorLocalizationService, popupService: PopupService, dialogService: DialogService);
42
- ngAfterViewInit(): void;
43
42
  ngOnDestroy(): void;
44
43
  readonly outerWidth: number;
45
44
  readonly title: string;
@@ -42,9 +42,6 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
42
42
  this.toggle(false);
43
43
  }));
44
44
  }
45
- ngAfterViewInit() {
46
- this.getButton().tabIndex = -1;
47
- }
48
45
  ngOnDestroy() {
49
46
  this.destroyPopup();
50
47
  if (this.subs) {
@@ -87,7 +84,7 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
87
84
  * @hidden
88
85
  */
89
86
  onBlur() {
90
- this.getButton().tabIndex = -1;
87
+ this.tabIndex = -1;
91
88
  this.buttonBlurred.emit();
92
89
  }
93
90
  /**
@@ -108,8 +105,8 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
108
105
  * @hidden
109
106
  */
110
107
  focus() {
108
+ this.tabIndex = 0;
111
109
  this.getButton().focus();
112
- this.getButton().tabIndex = 0;
113
110
  }
114
111
  /**
115
112
  * @hidden
@@ -118,7 +115,7 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
118
115
  if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
119
116
  return true;
120
117
  }
121
- this.getButton().tabIndex = -1;
118
+ this.tabIndex = -1;
122
119
  return false;
123
120
  }
124
121
  /**
@@ -161,7 +158,7 @@ tslib_1.__decorate([
161
158
  tslib_1.__metadata("design:type", TemplateRef)
162
159
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
163
160
  tslib_1.__decorate([
164
- ViewChild('popupTemplate', { static: true }),
161
+ ViewChild('popupTemplate', { static: false }),
165
162
  tslib_1.__metadata("design:type", TemplateRef)
166
163
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
167
164
  tslib_1.__decorate([
@@ -188,6 +185,7 @@ EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = tslib_1.
188
185
  kendoButton
189
186
  #element
190
187
  [attr.title]="title"
188
+ [attr.tabindex]="tabIndex"
191
189
  [icon]="'table-insert'"
192
190
  [disabled]="disabled"
193
191
  (click)="toggle()"
@@ -195,7 +193,14 @@ EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = tslib_1.
195
193
  ></button>
196
194
  </ng-template>
197
195
  <ng-template #popupTemplate>
198
- <button kendoButton #overflowElement [attr.title]="title" [icon]="'table-insert'" [disabled]="disabled" (click)="openDialog()">
196
+ <button
197
+ kendoButton
198
+ #overflowElement
199
+ [attr.title]="title"
200
+ [attr.tabindex]="tabIndex"
201
+ [icon]="'table-insert'"
202
+ [disabled]="disabled"
203
+ (click)="openDialog()">
199
204
  {{ title }}
200
205
  </button>
201
206
  </ng-template>
@@ -10,7 +10,7 @@ import { take, filter, auditTime, map, concatMap, takeUntil } from 'rxjs/operato
10
10
  import { ToolBarComponent, ToolBarToolComponent, ToolBarButtonComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
11
11
  import { DialogContentBase, DialogRef, DialogService, DialogModule } from '@progress/kendo-angular-dialog';
12
12
  import { isDocumentAvailable, guid, KendoInput, Keys } from '@progress/kendo-angular-common';
13
- import { nodes, Schema, marks, Selection, SelectionRange, TextSelection, Fragment, Slice, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
13
+ import { nodes, Schema, marks, Selection, SelectionRange, TextSelection, Fragment, Slice, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
14
14
  export { Schema, EditorState, Plugin, PluginKey, Transaction, EditorView, Decoration, DecorationSet, NodeType, Node, MarkType, Mark, InputRule, inputRules, wrappingInputRule, textblockTypeInputRule, keymap, baseKeymap, history, dropCursor, gapCursor, tableNodes, getSelectionText } from '@progress/kendo-editor-common';
15
15
  import { validatePackage } from '@progress/kendo-licensing';
16
16
  import { LocalizationService, L10N_PREFIX, RTL, MessageService, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -27,7 +27,7 @@ const packageMetadata = {
27
27
  name: '@progress/kendo-angular-editor',
28
28
  productName: 'Kendo UI for Angular',
29
29
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
30
- publishDate: 1635505364,
30
+ publishDate: 1637061495,
31
31
  version: '',
32
32
  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'
33
33
  };
@@ -2376,6 +2376,78 @@ li.ProseMirror-selectednode:after {
2376
2376
  -ms-user-select: none;
2377
2377
  user-select: none;
2378
2378
  }
2379
+
2380
+ /* image resizing */
2381
+ .k-editor-resize-handles-wrapper {
2382
+ position: absolute;
2383
+ visibility: hidden;
2384
+ }
2385
+
2386
+ .k-editor-resize-handle {
2387
+ position: absolute;
2388
+ visibility: visible;
2389
+ background-color: #fff;
2390
+ border: 1px solid #000;
2391
+ z-index: 100;
2392
+ width: 5px;
2393
+ height: 5px;
2394
+ }
2395
+
2396
+ .k-editor-resize-handle.northwest {
2397
+ top: 0;
2398
+ left: 0;
2399
+ transform: translate(-50%, -50%);
2400
+ cursor: nw-resize;
2401
+ }
2402
+
2403
+ .k-editor-resize-handle.north {
2404
+ top: 0;
2405
+ left: 50%;
2406
+ transform: translate(-50%, -50%);
2407
+ cursor: n-resize;
2408
+ }
2409
+
2410
+ .k-editor-resize-handle.northeast {
2411
+ top: 0;
2412
+ right: 0;
2413
+ transform: translate(50%, -50%);
2414
+ cursor: ne-resize;
2415
+ }
2416
+
2417
+ .k-editor-resize-handle.southwest {
2418
+ left: 0;
2419
+ bottom: 0;
2420
+ transform: translate(-50%, 50%);
2421
+ cursor: sw-resize;
2422
+ }
2423
+
2424
+ .k-editor-resize-handle.south {
2425
+ bottom: 0;
2426
+ left: 50%;
2427
+ transform: translate(-50%, 50%);
2428
+ cursor: s-resize;
2429
+ }
2430
+
2431
+ .k-editor-resize-handle.southeast {
2432
+ right: 0;
2433
+ bottom: 0;
2434
+ transform: translate(50%, 50%);
2435
+ cursor: se-resize;
2436
+ }
2437
+
2438
+ .k-editor-resize-handle.west {
2439
+ top: 50%;
2440
+ left: 0;
2441
+ transform: translate(-50%, -50%);
2442
+ cursor: w-resize;
2443
+ }
2444
+
2445
+ .k-editor-resize-handle.east {
2446
+ top: 50%;
2447
+ right: 0;
2448
+ transform: translate(50%, -50%);
2449
+ cursor: e-resize;
2450
+ }
2379
2451
  `;
2380
2452
  /**
2381
2453
  * @hidden
@@ -3015,7 +3087,8 @@ let EditorComponent = EditorComponent_1 = class EditorComponent {
3015
3087
  keymap(buildListKeymap(currentSchema)),
3016
3088
  keymap(buildKeymap(currentSchema, { applyToWord: this.applyToWord })),
3017
3089
  keymap(baseKeymap),
3018
- gapCursor()
3090
+ gapCursor(),
3091
+ imageResizing()
3019
3092
  ];
3020
3093
  if (this.placeholder) {
3021
3094
  defaultPlugins.push(placeholder(this.placeholder));
@@ -3078,7 +3151,7 @@ let EditorComponent = EditorComponent_1 = class EditorComponent {
3078
3151
  contentAreaClasslist.add('k-state-focused');
3079
3152
  }
3080
3153
  if (!this.focusChangedProgrammatically) {
3081
- this.onFocus.emit();
3154
+ this.ngZone.run(() => this.onFocus.emit());
3082
3155
  }
3083
3156
  }));
3084
3157
  this.subs.add(fromEvent(containerElement, 'focusout')
@@ -3087,7 +3160,7 @@ let EditorComponent = EditorComponent_1 = class EditorComponent {
3087
3160
  contentAreaClasslist.remove('k-state-focused');
3088
3161
  }
3089
3162
  if (!this.focusChangedProgrammatically) {
3090
- this.onBlur.emit();
3163
+ this.ngZone.run(() => this.onBlur.emit());
3091
3164
  }
3092
3165
  }));
3093
3166
  }
@@ -4977,9 +5050,6 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
4977
5050
  this.toggle(false);
4978
5051
  }));
4979
5052
  }
4980
- ngAfterViewInit() {
4981
- this.getButton().tabIndex = -1;
4982
- }
4983
5053
  ngOnDestroy() {
4984
5054
  this.destroyPopup();
4985
5055
  if (this.subs) {
@@ -5022,7 +5092,7 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
5022
5092
  * @hidden
5023
5093
  */
5024
5094
  onBlur() {
5025
- this.getButton().tabIndex = -1;
5095
+ this.tabIndex = -1;
5026
5096
  this.buttonBlurred.emit();
5027
5097
  }
5028
5098
  /**
@@ -5043,8 +5113,8 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
5043
5113
  * @hidden
5044
5114
  */
5045
5115
  focus() {
5116
+ this.tabIndex = 0;
5046
5117
  this.getButton().focus();
5047
- this.getButton().tabIndex = 0;
5048
5118
  }
5049
5119
  /**
5050
5120
  * @hidden
@@ -5053,7 +5123,7 @@ let EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = clas
5053
5123
  if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
5054
5124
  return true;
5055
5125
  }
5056
- this.getButton().tabIndex = -1;
5126
+ this.tabIndex = -1;
5057
5127
  return false;
5058
5128
  }
5059
5129
  /**
@@ -5096,7 +5166,7 @@ __decorate([
5096
5166
  __metadata("design:type", TemplateRef)
5097
5167
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
5098
5168
  __decorate([
5099
- ViewChild('popupTemplate', { static: true }),
5169
+ ViewChild('popupTemplate', { static: false }),
5100
5170
  __metadata("design:type", TemplateRef)
5101
5171
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
5102
5172
  __decorate([
@@ -5123,6 +5193,7 @@ EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = __decora
5123
5193
  kendoButton
5124
5194
  #element
5125
5195
  [attr.title]="title"
5196
+ [attr.tabindex]="tabIndex"
5126
5197
  [icon]="'table-insert'"
5127
5198
  [disabled]="disabled"
5128
5199
  (click)="toggle()"
@@ -5130,7 +5201,14 @@ EditorInsertTableButtonComponent = EditorInsertTableButtonComponent_1 = __decora
5130
5201
  ></button>
5131
5202
  </ng-template>
5132
5203
  <ng-template #popupTemplate>
5133
- <button kendoButton #overflowElement [attr.title]="title" [icon]="'table-insert'" [disabled]="disabled" (click)="openDialog()">
5204
+ <button
5205
+ kendoButton
5206
+ #overflowElement
5207
+ [attr.title]="title"
5208
+ [attr.tabindex]="tabIndex"
5209
+ [icon]="'table-insert'"
5210
+ [disabled]="disabled"
5211
+ (click)="openDialog()">
5134
5212
  {{ title }}
5135
5213
  </button>
5136
5214
  </ng-template>
@@ -10,7 +10,7 @@ import { take, filter, auditTime, map, concatMap, takeUntil } from 'rxjs/operato
10
10
  import { ToolBarComponent, ToolBarToolComponent, ToolBarButtonComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
11
11
  import { DialogRef, DialogContentBase, DialogService, DialogModule } from '@progress/kendo-angular-dialog';
12
12
  import { isDocumentAvailable, guid, KendoInput, Keys } from '@progress/kendo-angular-common';
13
- import { nodes, Schema, marks, SelectionRange, TextSelection, Fragment, Slice, Selection, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
13
+ import { nodes, Schema, marks, SelectionRange, TextSelection, Fragment, Slice, Selection, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
14
14
  export { Schema, EditorState, Plugin, PluginKey, Transaction, EditorView, Decoration, DecorationSet, NodeType, Node, MarkType, Mark, InputRule, inputRules, wrappingInputRule, textblockTypeInputRule, keymap, baseKeymap, history, dropCursor, gapCursor, tableNodes, getSelectionText } from '@progress/kendo-editor-common';
15
15
  import { validatePackage } from '@progress/kendo-licensing';
16
16
  import { L10N_PREFIX, RTL, MessageService, LocalizationService, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -27,7 +27,7 @@ var packageMetadata = {
27
27
  name: '@progress/kendo-angular-editor',
28
28
  productName: 'Kendo UI for Angular',
29
29
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
30
- publishDate: 1635505364,
30
+ publishDate: 1637061495,
31
31
  version: '',
32
32
  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'
33
33
  };
@@ -2244,7 +2244,7 @@ var FileLinkDialogComponent = /** @class */ (function (_super) {
2244
2244
  /**
2245
2245
  * @hidden
2246
2246
  */
2247
- var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";
2247
+ var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* image resizing */\n.k-editor-resize-handles-wrapper {\n position: absolute;\n visibility: hidden;\n}\n\n.k-editor-resize-handle {\n position: absolute;\n visibility: visible;\n background-color: #fff;\n border: 1px solid #000;\n z-index: 100;\n width: 5px;\n height: 5px;\n}\n\n.k-editor-resize-handle.northwest {\n top: 0;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: nw-resize;\n}\n\n.k-editor-resize-handle.north {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: n-resize;\n}\n\n.k-editor-resize-handle.northeast {\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n cursor: ne-resize;\n}\n\n.k-editor-resize-handle.southwest {\n left: 0;\n bottom: 0;\n transform: translate(-50%, 50%);\n cursor: sw-resize;\n}\n\n.k-editor-resize-handle.south {\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n cursor: s-resize;\n}\n\n.k-editor-resize-handle.southeast {\n right: 0;\n bottom: 0;\n transform: translate(50%, 50%);\n cursor: se-resize;\n}\n\n.k-editor-resize-handle.west {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: w-resize;\n}\n\n.k-editor-resize-handle.east {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n cursor: e-resize;\n}\n";
2248
2248
  /**
2249
2249
  * @hidden
2250
2250
  */
@@ -2911,7 +2911,8 @@ var EditorComponent = /** @class */ (function () {
2911
2911
  keymap(buildListKeymap(currentSchema)),
2912
2912
  keymap(buildKeymap(currentSchema, { applyToWord: this.applyToWord })),
2913
2913
  keymap(baseKeymap),
2914
- gapCursor()
2914
+ gapCursor(),
2915
+ imageResizing()
2915
2916
  ];
2916
2917
  if (this.placeholder) {
2917
2918
  defaultPlugins.push(placeholder(this.placeholder));
@@ -2974,7 +2975,7 @@ var EditorComponent = /** @class */ (function () {
2974
2975
  contentAreaClasslist_1.add('k-state-focused');
2975
2976
  }
2976
2977
  if (!_this.focusChangedProgrammatically) {
2977
- _this.onFocus.emit();
2978
+ _this.ngZone.run(function () { return _this.onFocus.emit(); });
2978
2979
  }
2979
2980
  }));
2980
2981
  this.subs.add(fromEvent(containerElement, 'focusout')
@@ -2983,7 +2984,7 @@ var EditorComponent = /** @class */ (function () {
2983
2984
  contentAreaClasslist_1.remove('k-state-focused');
2984
2985
  }
2985
2986
  if (!_this.focusChangedProgrammatically) {
2986
- _this.onBlur.emit();
2987
+ _this.ngZone.run(function () { return _this.onBlur.emit(); });
2987
2988
  }
2988
2989
  }));
2989
2990
  }
@@ -4477,9 +4478,6 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4477
4478
  return _this;
4478
4479
  }
4479
4480
  EditorInsertTableButtonComponent_1 = EditorInsertTableButtonComponent;
4480
- EditorInsertTableButtonComponent.prototype.ngAfterViewInit = function () {
4481
- this.getButton().tabIndex = -1;
4482
- };
4483
4481
  EditorInsertTableButtonComponent.prototype.ngOnDestroy = function () {
4484
4482
  this.destroyPopup();
4485
4483
  if (this.subs) {
@@ -4530,7 +4528,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4530
4528
  * @hidden
4531
4529
  */
4532
4530
  EditorInsertTableButtonComponent.prototype.onBlur = function () {
4533
- this.getButton().tabIndex = -1;
4531
+ this.tabIndex = -1;
4534
4532
  this.buttonBlurred.emit();
4535
4533
  };
4536
4534
  /**
@@ -4551,8 +4549,8 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4551
4549
  * @hidden
4552
4550
  */
4553
4551
  EditorInsertTableButtonComponent.prototype.focus = function () {
4552
+ this.tabIndex = 0;
4554
4553
  this.getButton().focus();
4555
- this.getButton().tabIndex = 0;
4556
4554
  };
4557
4555
  /**
4558
4556
  * @hidden
@@ -4561,7 +4559,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4561
4559
  if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
4562
4560
  return true;
4563
4561
  }
4564
- this.getButton().tabIndex = -1;
4562
+ this.tabIndex = -1;
4565
4563
  return false;
4566
4564
  };
4567
4565
  /**
@@ -4604,7 +4602,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4604
4602
  __metadata("design:type", TemplateRef)
4605
4603
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
4606
4604
  __decorate([
4607
- ViewChild('popupTemplate', { static: true }),
4605
+ ViewChild('popupTemplate', { static: false }),
4608
4606
  __metadata("design:type", TemplateRef)
4609
4607
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
4610
4608
  __decorate([
@@ -4624,7 +4622,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4624
4622
  // tslint:disable-next-line:no-forward-ref
4625
4623
  providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(function () { return EditorInsertTableButtonComponent_1; }) }],
4626
4624
  selector: 'kendo-editor-insert-table-button',
4627
- template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button kendoButton #overflowElement [attr.title]=\"title\" [icon]=\"'table-insert'\" [disabled]=\"disabled\" (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
4625
+ template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button\n kendoButton\n #overflowElement\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
4628
4626
  }),
4629
4627
  __param(0, Host()),
4630
4628
  __metadata("design:paramtypes", [EditorComponent,
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- exports.defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";
10
+ exports.defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* image resizing */\n.k-editor-resize-handles-wrapper {\n position: absolute;\n visibility: hidden;\n}\n\n.k-editor-resize-handle {\n position: absolute;\n visibility: visible;\n background-color: #fff;\n border: 1px solid #000;\n z-index: 100;\n width: 5px;\n height: 5px;\n}\n\n.k-editor-resize-handle.northwest {\n top: 0;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: nw-resize;\n}\n\n.k-editor-resize-handle.north {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: n-resize;\n}\n\n.k-editor-resize-handle.northeast {\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n cursor: ne-resize;\n}\n\n.k-editor-resize-handle.southwest {\n left: 0;\n bottom: 0;\n transform: translate(-50%, 50%);\n cursor: sw-resize;\n}\n\n.k-editor-resize-handle.south {\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n cursor: s-resize;\n}\n\n.k-editor-resize-handle.southeast {\n right: 0;\n bottom: 0;\n transform: translate(50%, 50%);\n cursor: se-resize;\n}\n\n.k-editor-resize-handle.west {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: w-resize;\n}\n\n.k-editor-resize-handle.east {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n cursor: e-resize;\n}\n";
11
11
  /**
12
12
  * @hidden
13
13
  */
@@ -672,7 +672,8 @@ var EditorComponent = /** @class */ (function () {
672
672
  kendo_editor_common_1.keymap(kendo_editor_common_1.buildListKeymap(currentSchema)),
673
673
  kendo_editor_common_1.keymap(kendo_editor_common_1.buildKeymap(currentSchema, { applyToWord: this.applyToWord })),
674
674
  kendo_editor_common_1.keymap(kendo_editor_common_1.baseKeymap),
675
- kendo_editor_common_1.gapCursor()
675
+ kendo_editor_common_1.gapCursor(),
676
+ kendo_editor_common_1.imageResizing()
676
677
  ];
677
678
  if (this.placeholder) {
678
679
  defaultPlugins.push(kendo_editor_common_1.placeholder(this.placeholder));
@@ -735,7 +736,7 @@ var EditorComponent = /** @class */ (function () {
735
736
  contentAreaClasslist_1.add('k-state-focused');
736
737
  }
737
738
  if (!_this.focusChangedProgrammatically) {
738
- _this.onFocus.emit();
739
+ _this.ngZone.run(function () { return _this.onFocus.emit(); });
739
740
  }
740
741
  }));
741
742
  this.subs.add(rxjs_1.fromEvent(containerElement, 'focusout')
@@ -744,7 +745,7 @@ var EditorComponent = /** @class */ (function () {
744
745
  contentAreaClasslist_1.remove('k-state-focused');
745
746
  }
746
747
  if (!_this.focusChangedProgrammatically) {
747
- _this.onBlur.emit();
748
+ _this.ngZone.run(function () { return _this.onBlur.emit(); });
748
749
  }
749
750
  }));
750
751
  }
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-editor',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1635505364,
14
+ publishDate: 1637061495,
15
15
  version: '',
16
16
  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'
17
17
  };
@@ -47,9 +47,6 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
47
47
  return _this;
48
48
  }
49
49
  EditorInsertTableButtonComponent_1 = EditorInsertTableButtonComponent;
50
- EditorInsertTableButtonComponent.prototype.ngAfterViewInit = function () {
51
- this.getButton().tabIndex = -1;
52
- };
53
50
  EditorInsertTableButtonComponent.prototype.ngOnDestroy = function () {
54
51
  this.destroyPopup();
55
52
  if (this.subs) {
@@ -100,7 +97,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
100
97
  * @hidden
101
98
  */
102
99
  EditorInsertTableButtonComponent.prototype.onBlur = function () {
103
- this.getButton().tabIndex = -1;
100
+ this.tabIndex = -1;
104
101
  this.buttonBlurred.emit();
105
102
  };
106
103
  /**
@@ -121,8 +118,8 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
121
118
  * @hidden
122
119
  */
123
120
  EditorInsertTableButtonComponent.prototype.focus = function () {
121
+ this.tabIndex = 0;
124
122
  this.getButton().focus();
125
- this.getButton().tabIndex = 0;
126
123
  };
127
124
  /**
128
125
  * @hidden
@@ -131,7 +128,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
131
128
  if (ev.keyCode === kendo_angular_common_1.Keys.Space || ev.keyCode === kendo_angular_common_1.Keys.Enter) {
132
129
  return true;
133
130
  }
134
- this.getButton().tabIndex = -1;
131
+ this.tabIndex = -1;
135
132
  return false;
136
133
  };
137
134
  /**
@@ -174,7 +171,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
174
171
  tslib_1.__metadata("design:type", core_1.TemplateRef)
175
172
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
176
173
  tslib_1.__decorate([
177
- core_1.ViewChild('popupTemplate', { static: true }),
174
+ core_1.ViewChild('popupTemplate', { static: false }),
178
175
  tslib_1.__metadata("design:type", core_1.TemplateRef)
179
176
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
180
177
  tslib_1.__decorate([
@@ -194,7 +191,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
194
191
  // tslint:disable-next-line:no-forward-ref
195
192
  providers: [{ provide: kendo_angular_toolbar_1.ToolBarToolComponent, useExisting: core_1.forwardRef(function () { return EditorInsertTableButtonComponent_1; }) }],
196
193
  selector: 'kendo-editor-insert-table-button',
197
- template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button kendoButton #overflowElement [attr.title]=\"title\" [icon]=\"'table-insert'\" [disabled]=\"disabled\" (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
194
+ template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button\n kendoButton\n #overflowElement\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
198
195
  }),
199
196
  tslib_1.__param(0, core_1.Host()),
200
197
  tslib_1.__metadata("design:paramtypes", [editor_component_1.EditorComponent,