@progress/kendo-angular-editor 13.0.0-develop.9 → 13.0.0

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.
@@ -27,7 +27,7 @@ export declare class EditorComponent implements AfterViewInit, ControlValueAcces
27
27
  private dialogService;
28
28
  private localization;
29
29
  private cdr;
30
- private ngZone;
30
+ ngZone: NgZone;
31
31
  private element;
32
32
  private providerService;
33
33
  private toolsService;
@@ -172,7 +172,7 @@ FileLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
172
172
  (click)="onCancelAction()"
173
173
  >{{ textFor('dialogCancel') }}</button>
174
174
  </kendo-dialog-actions>
175
- `, isInline: true, components: [{ type: i1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
175
+ `, isInline: true, components: [{ type: i1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
176
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FileLinkDialogComponent, decorators: [{
177
177
  type: Component,
178
178
  args: [{
@@ -150,7 +150,7 @@ ImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
150
150
  (click)="onCancelAction()"
151
151
  >{{ textFor('dialogCancel') }}</button>
152
152
  </kendo-dialog-actions>
153
- `, isInline: true, components: [{ type: i1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
153
+ `, isInline: true, components: [{ type: i1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
154
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImageDialogComponent, decorators: [{
155
155
  type: Component,
156
156
  args: [{
@@ -181,7 +181,7 @@ export class EditorComponent {
181
181
  return this.dispatchPasteEvent(dirtyHtml, clean);
182
182
  };
183
183
  this.transformPastedHTML = (html) => this.transformPastedContent(html);
184
- this.transformPastedText = (html, plain) => this.transformPastedContent(html, plain);
184
+ this.transformPastedText = (html) => this.transformPastedContent(html, true);
185
185
  this.changeValue = (value) => {
186
186
  const prev = this._value;
187
187
  this._value = value;
@@ -697,7 +697,9 @@ export class EditorComponent {
697
697
  view: () => ({
698
698
  update: editorView => {
699
699
  if (!this.disabled) {
700
- this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
700
+ this.ngZone.run(() => {
701
+ this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
702
+ });
701
703
  }
702
704
  }
703
705
  })
@@ -778,12 +780,14 @@ export class EditorComponent {
778
780
  }));
779
781
  }
780
782
  this.subs.add(this.stateChange.subscribe(() => {
781
- if (this.userToolBarComponent) {
782
- this.userToolBarComponent.cdr.detectChanges();
783
- }
784
- else {
785
- this.cdr.detectChanges();
786
- }
783
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
784
+ if (this.userToolBarComponent) {
785
+ this.userToolBarComponent.cdr.detectChanges();
786
+ }
787
+ else {
788
+ this.cdr.detectChanges();
789
+ }
790
+ });
787
791
  }));
788
792
  this.subs.add(this.valueModified.subscribe((value) => {
789
793
  this.onChangeCallback(value);
@@ -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: 1685111072,
13
- version: '13.0.0-develop.9',
12
+ publishDate: 1686055751,
13
+ version: '13.0.0',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { EditorCommandBaseDirective } from './editor-command-base';
6
+ import { take } from 'rxjs/operators';
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -23,15 +24,9 @@ export class EditorCommandButton extends EditorCommandBaseDirective {
23
24
  e.preventDefault();
24
25
  }
25
26
  onStateChange(toolBarState) {
26
- if (this.button.overflows) {
27
- setTimeout(() => {
28
- this.button.selected = toolBarState[this.command].selected;
29
- this.button.disabled = toolBarState[this.command].disabled;
30
- });
31
- }
32
- else {
27
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
33
28
  this.button.selected = toolBarState[this.command].selected;
34
29
  this.button.disabled = toolBarState[this.command].disabled;
35
- }
30
+ });
36
31
  }
37
32
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { EditorCommandBaseDirective } from './editor-command-base';
6
+ import { take } from 'rxjs/operators';
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -12,21 +13,16 @@ export class EditorCommandDialog extends EditorCommandBaseDirective {
12
13
  this.dialog = dialog;
13
14
  this.button = button;
14
15
  this.localization = localization;
16
+ this.providerService = providerService;
15
17
  this.toolsService = toolsService;
16
18
  }
17
19
  clickHandler() {
18
20
  this.editor.openDialog(this.dialog);
19
21
  }
20
22
  onStateChange(toolBarState) {
21
- if (this.button.overflows) {
22
- setTimeout(() => {
23
- this.button.selected = toolBarState[this.command].selected;
24
- this.button.disabled = toolBarState[this.command].disabled;
25
- });
26
- }
27
- else {
23
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
28
24
  this.button.selected = toolBarState[this.command].selected;
29
25
  this.button.disabled = toolBarState[this.command].disabled;
30
- }
26
+ });
31
27
  }
32
28
  }
@@ -40,8 +40,8 @@ const packageMetadata = {
40
40
  name: '@progress/kendo-angular-editor',
41
41
  productName: 'Kendo UI for Angular',
42
42
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
43
- publishDate: 1685111072,
44
- version: '13.0.0-develop.9',
43
+ publishDate: 1686055751,
44
+ version: '13.0.0',
45
45
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
46
46
  };
47
47
 
@@ -886,7 +886,7 @@ ImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
886
886
  (click)="onCancelAction()"
887
887
  >{{ textFor('dialogCancel') }}</button>
888
888
  </kendo-dialog-actions>
889
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
889
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
890
890
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImageDialogComponent, decorators: [{
891
891
  type: Component,
892
892
  args: [{
@@ -1116,7 +1116,7 @@ FileLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1116
1116
  (click)="onCancelAction()"
1117
1117
  >{{ textFor('dialogCancel') }}</button>
1118
1118
  </kendo-dialog-actions>
1119
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4$1.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
1119
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4$1.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
1120
1120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FileLinkDialogComponent, decorators: [{
1121
1121
  type: Component,
1122
1122
  args: [{
@@ -2393,16 +2393,10 @@ class EditorCommandButton extends EditorCommandBaseDirective {
2393
2393
  e.preventDefault();
2394
2394
  }
2395
2395
  onStateChange(toolBarState) {
2396
- if (this.button.overflows) {
2397
- setTimeout(() => {
2398
- this.button.selected = toolBarState[this.command].selected;
2399
- this.button.disabled = toolBarState[this.command].disabled;
2400
- });
2401
- }
2402
- else {
2396
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
2403
2397
  this.button.selected = toolBarState[this.command].selected;
2404
2398
  this.button.disabled = toolBarState[this.command].disabled;
2405
- }
2399
+ });
2406
2400
  }
2407
2401
  }
2408
2402
 
@@ -2767,22 +2761,17 @@ class EditorCommandDialog extends EditorCommandBaseDirective {
2767
2761
  this.dialog = dialog;
2768
2762
  this.button = button;
2769
2763
  this.localization = localization;
2764
+ this.providerService = providerService;
2770
2765
  this.toolsService = toolsService;
2771
2766
  }
2772
2767
  clickHandler() {
2773
2768
  this.editor.openDialog(this.dialog);
2774
2769
  }
2775
2770
  onStateChange(toolBarState) {
2776
- if (this.button.overflows) {
2777
- setTimeout(() => {
2778
- this.button.selected = toolBarState[this.command].selected;
2779
- this.button.disabled = toolBarState[this.command].disabled;
2780
- });
2781
- }
2782
- else {
2771
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
2783
2772
  this.button.selected = toolBarState[this.command].selected;
2784
2773
  this.button.disabled = toolBarState[this.command].disabled;
2785
- }
2774
+ });
2786
2775
  }
2787
2776
  }
2788
2777
 
@@ -3013,7 +3002,7 @@ class EditorComponent {
3013
3002
  return this.dispatchPasteEvent(dirtyHtml, clean);
3014
3003
  };
3015
3004
  this.transformPastedHTML = (html) => this.transformPastedContent(html);
3016
- this.transformPastedText = (html, plain) => this.transformPastedContent(html, plain);
3005
+ this.transformPastedText = (html) => this.transformPastedContent(html, true);
3017
3006
  this.changeValue = (value) => {
3018
3007
  const prev = this._value;
3019
3008
  this._value = value;
@@ -3529,7 +3518,9 @@ class EditorComponent {
3529
3518
  view: () => ({
3530
3519
  update: editorView => {
3531
3520
  if (!this.disabled) {
3532
- this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
3521
+ this.ngZone.run(() => {
3522
+ this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
3523
+ });
3533
3524
  }
3534
3525
  }
3535
3526
  })
@@ -3610,12 +3601,14 @@ class EditorComponent {
3610
3601
  }));
3611
3602
  }
3612
3603
  this.subs.add(this.stateChange.subscribe(() => {
3613
- if (this.userToolBarComponent) {
3614
- this.userToolBarComponent.cdr.detectChanges();
3615
- }
3616
- else {
3617
- this.cdr.detectChanges();
3618
- }
3604
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
3605
+ if (this.userToolBarComponent) {
3606
+ this.userToolBarComponent.cdr.detectChanges();
3607
+ }
3608
+ else {
3609
+ this.cdr.detectChanges();
3610
+ }
3611
+ });
3619
3612
  }));
3620
3613
  this.subs.add(this.valueModified.subscribe((value) => {
3621
3614
  this.onChangeCallback(value);
@@ -40,8 +40,8 @@ const packageMetadata = {
40
40
  name: '@progress/kendo-angular-editor',
41
41
  productName: 'Kendo UI for Angular',
42
42
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
43
- publishDate: 1685111072,
44
- version: '13.0.0-develop.9',
43
+ publishDate: 1686055751,
44
+ version: '13.0.0',
45
45
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
46
46
  };
47
47
 
@@ -890,7 +890,7 @@ ImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
890
890
  (click)="onCancelAction()"
891
891
  >{{ textFor('dialogCancel') }}</button>
892
892
  </kendo-dialog-actions>
893
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
893
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
894
894
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImageDialogComponent, decorators: [{
895
895
  type: Component,
896
896
  args: [{
@@ -1120,7 +1120,7 @@ FileLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1120
1120
  (click)="onCancelAction()"
1121
1121
  >{{ textFor('dialogCancel') }}</button>
1122
1122
  </kendo-dialog-actions>
1123
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4$1.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
1123
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i3.FormFieldComponent, selector: "kendo-formfield", inputs: ["showHints", "orientation", "showErrors"] }, { type: i4$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4$1.LabelDirective, selector: "label[for]", inputs: ["for", "labelClass"] }] });
1124
1124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FileLinkDialogComponent, decorators: [{
1125
1125
  type: Component,
1126
1126
  args: [{
@@ -2395,16 +2395,10 @@ class EditorCommandButton extends EditorCommandBaseDirective {
2395
2395
  e.preventDefault();
2396
2396
  }
2397
2397
  onStateChange(toolBarState) {
2398
- if (this.button.overflows) {
2399
- setTimeout(() => {
2400
- this.button.selected = toolBarState[this.command].selected;
2401
- this.button.disabled = toolBarState[this.command].disabled;
2402
- });
2403
- }
2404
- else {
2398
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
2405
2399
  this.button.selected = toolBarState[this.command].selected;
2406
2400
  this.button.disabled = toolBarState[this.command].disabled;
2407
- }
2401
+ });
2408
2402
  }
2409
2403
  }
2410
2404
 
@@ -2769,22 +2763,17 @@ class EditorCommandDialog extends EditorCommandBaseDirective {
2769
2763
  this.dialog = dialog;
2770
2764
  this.button = button;
2771
2765
  this.localization = localization;
2766
+ this.providerService = providerService;
2772
2767
  this.toolsService = toolsService;
2773
2768
  }
2774
2769
  clickHandler() {
2775
2770
  this.editor.openDialog(this.dialog);
2776
2771
  }
2777
2772
  onStateChange(toolBarState) {
2778
- if (this.button.overflows) {
2779
- setTimeout(() => {
2780
- this.button.selected = toolBarState[this.command].selected;
2781
- this.button.disabled = toolBarState[this.command].disabled;
2782
- });
2783
- }
2784
- else {
2773
+ this.providerService.editor.ngZone.onStable.pipe(take(1)).subscribe(() => {
2785
2774
  this.button.selected = toolBarState[this.command].selected;
2786
2775
  this.button.disabled = toolBarState[this.command].disabled;
2787
- }
2776
+ });
2788
2777
  }
2789
2778
  }
2790
2779
 
@@ -3015,7 +3004,7 @@ class EditorComponent {
3015
3004
  return this.dispatchPasteEvent(dirtyHtml, clean);
3016
3005
  };
3017
3006
  this.transformPastedHTML = (html) => this.transformPastedContent(html);
3018
- this.transformPastedText = (html, plain) => this.transformPastedContent(html, plain);
3007
+ this.transformPastedText = (html) => this.transformPastedContent(html, true);
3019
3008
  this.changeValue = (value) => {
3020
3009
  const prev = this._value;
3021
3010
  this._value = value;
@@ -3531,7 +3520,9 @@ class EditorComponent {
3531
3520
  view: () => ({
3532
3521
  update: editorView => {
3533
3522
  if (!this.disabled) {
3534
- this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
3523
+ this.ngZone.run(() => {
3524
+ this.stateChange.next(this.readonly ? disabledToolBarState : getToolbarState(editorView.state, { applyToWord: this.applyToWord }));
3525
+ });
3535
3526
  }
3536
3527
  }
3537
3528
  })
@@ -3612,12 +3603,14 @@ class EditorComponent {
3612
3603
  }));
3613
3604
  }
3614
3605
  this.subs.add(this.stateChange.subscribe(() => {
3615
- if (this.userToolBarComponent) {
3616
- this.userToolBarComponent.cdr.detectChanges();
3617
- }
3618
- else {
3619
- this.cdr.detectChanges();
3620
- }
3606
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
3607
+ if (this.userToolBarComponent) {
3608
+ this.userToolBarComponent.cdr.detectChanges();
3609
+ }
3610
+ else {
3611
+ this.cdr.detectChanges();
3612
+ }
3613
+ });
3621
3614
  }));
3622
3615
  this.subs.add(this.valueModified.subscribe((value) => {
3623
3616
  this.onChangeCallback(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-editor",
3
- "version": "13.0.0-develop.9",
3
+ "version": "13.0.0",
4
4
  "description": "Kendo UI Editor for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -22,24 +22,24 @@
22
22
  "@angular/platform-browser": "13 - 16",
23
23
  "@progress/kendo-drawing": "^1.17.2",
24
24
  "@progress/kendo-licensing": "^1.0.2",
25
- "@progress/kendo-angular-buttons": "13.0.0-develop.9",
26
- "@progress/kendo-angular-common": "13.0.0-develop.9",
27
- "@progress/kendo-angular-dialog": "13.0.0-develop.9",
28
- "@progress/kendo-angular-dropdowns": "13.0.0-develop.9",
29
- "@progress/kendo-angular-inputs": "13.0.0-develop.9",
30
- "@progress/kendo-angular-intl": "13.0.0-develop.9",
31
- "@progress/kendo-angular-l10n": "13.0.0-develop.9",
32
- "@progress/kendo-angular-label": "13.0.0-develop.9",
33
- "@progress/kendo-angular-layout": "13.0.0-develop.9",
34
- "@progress/kendo-angular-icons": "13.0.0-develop.9",
35
- "@progress/kendo-angular-popup": "13.0.0-develop.9",
36
- "@progress/kendo-angular-toolbar": "13.0.0-develop.9",
25
+ "@progress/kendo-angular-buttons": "13.0.0",
26
+ "@progress/kendo-angular-common": "13.0.0",
27
+ "@progress/kendo-angular-dialog": "13.0.0",
28
+ "@progress/kendo-angular-dropdowns": "13.0.0",
29
+ "@progress/kendo-angular-inputs": "13.0.0",
30
+ "@progress/kendo-angular-intl": "13.0.0",
31
+ "@progress/kendo-angular-l10n": "13.0.0",
32
+ "@progress/kendo-angular-label": "13.0.0",
33
+ "@progress/kendo-angular-layout": "13.0.0",
34
+ "@progress/kendo-angular-icons": "13.0.0",
35
+ "@progress/kendo-angular-popup": "13.0.0",
36
+ "@progress/kendo-angular-toolbar": "13.0.0",
37
37
  "rxjs": "^6.5.3 || ^7.0.0"
38
38
  },
39
39
  "dependencies": {
40
40
  "tslib": "^2.3.1",
41
- "@progress/kendo-angular-schematics": "13.0.0-develop.9",
42
- "@progress/kendo-editor-common": "1.9.5"
41
+ "@progress/kendo-angular-schematics": "13.0.0",
42
+ "@progress/kendo-editor-common": "1.9.6"
43
43
  },
44
44
  "schematics": "./schematics/collection.json",
45
45
  "module": "fesm2015/progress-kendo-angular-editor.mjs",
@@ -4,11 +4,11 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'EditorModule', package: 'editor', peerDependencies: {
6
6
  // peer dependency of kendo-angular-dropdowns
7
- '@progress/kendo-angular-treeview': '13.0.0-develop.9',
7
+ '@progress/kendo-angular-treeview': '13.0.0',
8
8
  // peer dependency of kendo-angular-layout
9
- '@progress/kendo-angular-progressbar': '13.0.0-develop.9',
9
+ '@progress/kendo-angular-progressbar': '13.0.0',
10
10
  // peer dependency of kendo-angular-inputs
11
- '@progress/kendo-angular-dialog': '13.0.0-develop.9',
11
+ '@progress/kendo-angular-dialog': '13.0.0',
12
12
  // Peer dependency of icons
13
13
  '@progress/kendo-svg-icons': '^1.0.0'
14
14
  } });
@@ -15,6 +15,7 @@ export declare abstract class EditorCommandDialog extends EditorCommandBaseDirec
15
15
  protected dialog: DialogCommand;
16
16
  protected button: ToolBarButtonComponent;
17
17
  protected localization: LocalizationService;
18
+ protected providerService: ProviderService;
18
19
  protected toolsService: EditorToolsService;
19
20
  constructor(dialog: DialogCommand, button: ToolBarButtonComponent, localization: LocalizationService, providerService: ProviderService, toolsService: EditorToolsService);
20
21
  protected clickHandler(): void;