@progress/kendo-angular-editor 19.3.0-develop.8 → 19.3.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.
@@ -149,6 +149,10 @@ export declare class EditorComponent implements AfterViewInit, ControlValueAcces
149
149
  * @hidden
150
150
  */
151
151
  showLicenseWatermark: boolean;
152
+ /**
153
+ * @hidden
154
+ */
155
+ licenseMessage?: string;
152
156
  get toolbar(): ToolBarComponent;
153
157
  get toolbarElement(): ElementRef;
154
158
  /**
@@ -72,7 +72,7 @@ export class SourceDialogComponent extends DialogContentBase {
72
72
  (click)="onCancelAction()"
73
73
  >{{ textFor('dialogCancel') }}</button>
74
74
  </kendo-dialog-actions>
75
- `, isInline: true, dependencies: [{ kind: "component", type: DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
75
+ `, isInline: true, dependencies: [{ kind: "component", type: DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SourceDialogComponent, decorators: [{
78
78
  type: Component,
@@ -9,7 +9,7 @@ import { BehaviorSubject, fromEvent, Subject, zip } from 'rxjs';
9
9
  import { map, filter, take } from 'rxjs/operators';
10
10
  import { ToolBarButtonComponent, ToolBarButtonGroupComponent, ToolBarComponent } from '@progress/kendo-angular-toolbar';
11
11
  import { DialogService } from '@progress/kendo-angular-dialog';
12
- import { guid, hasObservers, isDocumentAvailable, KendoInput, shouldShowValidationUI, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
12
+ import { guid, hasObservers, isDocumentAvailable, KendoInput, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent, Keys } from '@progress/kendo-angular-common';
13
13
  import { buildKeymap, buildListKeymap, getHtml, pasteCleanup, sanitize, removeComments, sanitizeClassAttr, sanitizeStyleAttr, removeAttribute, placeholder, EditorView, EditorState, baseKeymap, keymap, history, parseContent, Plugin, PluginKey, TextSelection, Schema, AllSelection, gapCursor, getSelectionText, imageResizing, tableEditing, caretColor, tableResizing, cspFix } from '@progress/kendo-editor-common';
14
14
  import { validatePackage } from '@progress/kendo-licensing';
15
15
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
@@ -17,7 +17,7 @@ import { packageMetadata } from './package-metadata';
17
17
  import { schema } from './config/schema';
18
18
  import { editorCommands } from './config/commands';
19
19
  import { getToolbarState, initialToolBarState, disabledToolBarState } from './editor-toolbar-state';
20
- import { removeEmptyEntries, conditionallyExecute, pipe, isPresent } from './util';
20
+ import { removeEmptyEntries, conditionallyExecute, isPresent } from './util';
21
21
  import { SourceDialogComponent } from './dialogs/source-dialog.component';
22
22
  import { ImageDialogComponent } from './dialogs/image-dialog.component';
23
23
  import { FileLinkDialogComponent } from './dialogs/file-link-dialog.component';
@@ -319,6 +319,10 @@ export class EditorComponent {
319
319
  * @hidden
320
320
  */
321
321
  showLicenseWatermark = false;
322
+ /**
323
+ * @hidden
324
+ */
325
+ licenseMessage;
322
326
  get toolbar() {
323
327
  return this.defaultToolbarComponent || this.userToolBarComponent;
324
328
  }
@@ -389,6 +393,7 @@ export class EditorComponent {
389
393
  this.toolsService = toolsService;
390
394
  this.renderer = renderer;
391
395
  const isValid = validatePackage(packageMetadata);
396
+ this.licenseMessage = getLicenseMessage(packageMetadata);
392
397
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
393
398
  this.providerService.editor = this;
394
399
  this.direction = localization.rtl ? 'rtl' : 'ltr';
@@ -719,8 +724,7 @@ export class EditorComponent {
719
724
  this.cdr.markForCheck();
720
725
  }));
721
726
  this.subs.add(fromEvent(this.viewMountElement, 'keyup')
722
- .pipe(map((e) => e.keyCode), filter((code) => code === 121), // F10
723
- map(() => this.toolbarElement))
727
+ .pipe(map((e) => e.code), filter((code) => code === Keys.F10), map(() => this.toolbarElement))
724
728
  .subscribe((toolbar) => toolbar.nativeElement.focus()));
725
729
  this.subs.add(fromEvent(this.viewMountElement, 'blur')
726
730
  .pipe(filter((event) => !this.viewMountElement.contains(event.relatedTarget)))
@@ -750,13 +754,12 @@ export class EditorComponent {
750
754
  return this.dispatchPasteEvent(dirtyHtml, dirtyHtml);
751
755
  }
752
756
  const pasteCleanupSettings = { ...defaultPasteCleanupSettings, ...this.pasteCleanupSettings };
753
- const html = pipe(removeInvalidHTMLIf(pasteCleanupSettings.removeInvalidHTML), removeCommentsIf(pasteCleanupSettings.removeHtmlComments))(dirtyHtml);
754
- const clean = pasteCleanup(html, {
757
+ const clean = pasteCleanup(removeInvalidHTMLIf(pasteCleanupSettings.removeInvalidHTML)(dirtyHtml), {
755
758
  convertMsLists: pasteCleanupSettings.convertMsLists,
756
759
  stripTags: pasteCleanupSettings.stripTags.join('|'),
757
- attributes: getPasteCleanupAttributes(pasteCleanupSettings)
760
+ attributes: getPasteCleanupAttributes(pasteCleanupSettings),
758
761
  });
759
- return this.dispatchPasteEvent(dirtyHtml, clean);
762
+ return this.dispatchPasteEvent(dirtyHtml, removeCommentsIf(pasteCleanupSettings.removeHtmlComments)(clean));
760
763
  };
761
764
  transformPastedHTML = (html) => this.transformPastedContent(html);
762
765
  transformPastedText = (html) => this.transformPastedContent(html, true);
@@ -1026,8 +1029,8 @@ export class EditorComponent {
1026
1029
 
1027
1030
  <ng-container #dialogsContainer></ng-container>
1028
1031
 
1029
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
1030
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoEditorLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: EditorBoldButtonDirective, selector: "kendo-toolbar-button[kendoEditorBoldButton]" }, { kind: "directive", type: EditorItalicButtonDirective, selector: "kendo-toolbar-button[kendoEditorItalicButton]" }, { kind: "directive", type: EditorUnderlineButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnderlineButton]" }, { kind: "component", type: EditorFormatComponent, selector: "kendo-toolbar-dropdownlist[kendoEditorFormat]", inputs: ["data"], outputs: ["valueChange"] }, { kind: "directive", type: EditorAlignLeftButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignLeftButton]" }, { kind: "directive", type: EditorAlignCenterButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignCenterButton]" }, { kind: "directive", type: EditorAlignRightButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignRightButton]" }, { kind: "directive", type: EditorAlignJustifyButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignJustifyButton]" }, { kind: "directive", type: EditorInsertUnorderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertUnorderedListButton]" }, { kind: "directive", type: EditorInsertOrderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertOrderedListButton]" }, { kind: "directive", type: EditorIndentButtonDirective, selector: "kendo-toolbar-button[kendoEditorIndentButton]" }, { kind: "directive", type: EditorOutdentButtonDirective, selector: "kendo-toolbar-button[kendoEditorOutdentButton]" }, { kind: "directive", type: EditorCreateLinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorCreateLinkButton]" }, { kind: "directive", type: EditorUnlinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnlinkButton]" }, { kind: "directive", type: EditorInsertImageButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertImageButton]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
1032
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
1033
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoEditorLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "rounded", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: EditorBoldButtonDirective, selector: "kendo-toolbar-button[kendoEditorBoldButton]" }, { kind: "directive", type: EditorItalicButtonDirective, selector: "kendo-toolbar-button[kendoEditorItalicButton]" }, { kind: "directive", type: EditorUnderlineButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnderlineButton]" }, { kind: "component", type: EditorFormatComponent, selector: "kendo-toolbar-dropdownlist[kendoEditorFormat]", inputs: ["data"], outputs: ["valueChange"] }, { kind: "directive", type: EditorAlignLeftButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignLeftButton]" }, { kind: "directive", type: EditorAlignCenterButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignCenterButton]" }, { kind: "directive", type: EditorAlignRightButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignRightButton]" }, { kind: "directive", type: EditorAlignJustifyButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignJustifyButton]" }, { kind: "directive", type: EditorInsertUnorderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertUnorderedListButton]" }, { kind: "directive", type: EditorInsertOrderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertOrderedListButton]" }, { kind: "directive", type: EditorIndentButtonDirective, selector: "kendo-toolbar-button[kendoEditorIndentButton]" }, { kind: "directive", type: EditorOutdentButtonDirective, selector: "kendo-toolbar-button[kendoEditorOutdentButton]" }, { kind: "directive", type: EditorCreateLinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorCreateLinkButton]" }, { kind: "directive", type: EditorUnlinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnlinkButton]" }, { kind: "directive", type: EditorInsertImageButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertImageButton]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
1031
1034
  }
1032
1035
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorComponent, decorators: [{
1033
1036
  type: Component,
@@ -1213,7 +1216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1213
1216
 
1214
1217
  <ng-container #dialogsContainer></ng-container>
1215
1218
 
1216
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
1219
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
1217
1220
  `,
1218
1221
  standalone: true,
1219
1222
  imports: [LocalizedMessagesDirective, NgIf, ToolBarComponent, ToolBarButtonGroupComponent, ToolBarButtonComponent, EditorBoldButtonDirective, EditorItalicButtonDirective, EditorUnderlineButtonDirective, EditorFormatComponent, EditorAlignLeftButtonDirective, EditorAlignCenterButtonDirective, EditorAlignRightButtonDirective, EditorAlignJustifyButtonDirective, EditorInsertUnorderedListButtonDirective, EditorInsertOrderedListButtonDirective, EditorIndentButtonDirective, EditorOutdentButtonDirective, EditorCreateLinkButtonDirective, EditorUnlinkButtonDirective, EditorInsertImageButtonDirective, WatermarkOverlayComponent]
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1752479558,
14
- version: '19.3.0-develop.8',
13
+ publishDate: 1755030771,
14
+ version: '19.3.0',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -151,7 +151,7 @@ export class EditorInsertTableButtonComponent extends ToolBarToolComponent {
151
151
  * @hidden
152
152
  */
153
153
  handleKey(ev) {
154
- if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
154
+ if (ev.code === Keys.Space || ev.code === Keys.Enter || ev.code === Keys.NumpadEnter) {
155
155
  return true;
156
156
  }
157
157
  this.tabIndex = -1;
package/esm2022/util.mjs CHANGED
@@ -98,10 +98,6 @@ export const getUniqueStyleValues = (style, cssStyle) => {
98
98
  * @hidden
99
99
  */
100
100
  export const conditionallyExecute = (fn) => (condition) => (param) => (condition ? fn(param) : param);
101
- /**
102
- * @hidden
103
- */
104
- export const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
105
101
  // This re-declaration is necessary for proper API generation
106
102
  /**
107
103
  * Extracts the text from the current editor state's selection ([see example]({% slug plugins_editor %}#toc-popup-tools)).
@@ -13,7 +13,7 @@ import * as i1$2 from '@progress/kendo-angular-toolbar';
13
13
  import { ToolBarToolComponent, ToolBarComponent, ToolBarButtonGroupComponent, ToolBarButtonComponent, KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
14
14
  import * as i1$1 from '@progress/kendo-angular-dialog';
15
15
  import { DialogContentBase, DialogTitleBarComponent, DialogActionsComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
16
- import { guid, shouldShowValidationUI, isDocumentAvailable, hasObservers, KendoInput, WatermarkOverlayComponent, isPresent as isPresent$1, Keys, ResizeBatchService } from '@progress/kendo-angular-common';
16
+ import { guid, getLicenseMessage, shouldShowValidationUI, isDocumentAvailable, Keys, hasObservers, KendoInput, WatermarkOverlayComponent, isPresent as isPresent$1, ResizeBatchService } from '@progress/kendo-angular-common';
17
17
  import { marks as marks$1, nodes as nodes$1, Schema, createTable, insertNode, alignBlocks, alignRemoveRules, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, selectAll, isAligned, alignCenterRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, blockquote, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, isIndented, getActiveMarks, expandSelection, getSelectionText as getSelectionText$1, getNodeFromSelection, getMark, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr, TextSelection, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, tableResizing, tableEditing, caretColor, cspFix, placeholder, EditorState, EditorView, pasteCleanup, AllSelection } from '@progress/kendo-editor-common';
18
18
  export { AllSelection, CellSelection, Decoration, DecorationSet, EditorState, EditorView, InputRule, Mark, MarkType, Node, NodeSelection, NodeType, Plugin, PluginKey, Schema, TextSelection, Transaction, baseKeymap, dropCursor, flattenNestedSpans, gapCursor, history, inputRules, keymap, tableNodes, textblockTypeInputRule, wrappingInputRule } from '@progress/kendo-editor-common';
19
19
  import { validatePackage } from '@progress/kendo-licensing';
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  productName: 'Kendo UI for Angular',
37
37
  productCode: 'KENDOUIANGULAR',
38
38
  productCodes: ['KENDOUIANGULAR'],
39
- publishDate: 1752479558,
40
- version: '19.3.0-develop.8',
39
+ publishDate: 1755030771,
40
+ version: '19.3.0',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -605,10 +605,6 @@ const getUniqueStyleValues = (style, cssStyle) => {
605
605
  * @hidden
606
606
  */
607
607
  const conditionallyExecute = (fn) => (condition) => (param) => (condition ? fn(param) : param);
608
- /**
609
- * @hidden
610
- */
611
- const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
612
608
  // This re-declaration is necessary for proper API generation
613
609
  /**
614
610
  * Extracts the text from the current editor state's selection ([see example]({% slug plugins_editor %}#toc-popup-tools)).
@@ -722,7 +718,7 @@ class SourceDialogComponent extends DialogContentBase {
722
718
  (click)="onCancelAction()"
723
719
  >{{ textFor('dialogCancel') }}</button>
724
720
  </kendo-dialog-actions>
725
- `, isInline: true, dependencies: [{ kind: "component", type: DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
721
+ `, isInline: true, dependencies: [{ kind: "component", type: DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
726
722
  }
727
723
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SourceDialogComponent, decorators: [{
728
724
  type: Component,
@@ -3414,6 +3410,10 @@ class EditorComponent {
3414
3410
  * @hidden
3415
3411
  */
3416
3412
  showLicenseWatermark = false;
3413
+ /**
3414
+ * @hidden
3415
+ */
3416
+ licenseMessage;
3417
3417
  get toolbar() {
3418
3418
  return this.defaultToolbarComponent || this.userToolBarComponent;
3419
3419
  }
@@ -3484,6 +3484,7 @@ class EditorComponent {
3484
3484
  this.toolsService = toolsService;
3485
3485
  this.renderer = renderer;
3486
3486
  const isValid = validatePackage(packageMetadata);
3487
+ this.licenseMessage = getLicenseMessage(packageMetadata);
3487
3488
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
3488
3489
  this.providerService.editor = this;
3489
3490
  this.direction = localization.rtl ? 'rtl' : 'ltr';
@@ -3814,8 +3815,7 @@ class EditorComponent {
3814
3815
  this.cdr.markForCheck();
3815
3816
  }));
3816
3817
  this.subs.add(fromEvent(this.viewMountElement, 'keyup')
3817
- .pipe(map((e) => e.keyCode), filter$1((code) => code === 121), // F10
3818
- map(() => this.toolbarElement))
3818
+ .pipe(map((e) => e.code), filter$1((code) => code === Keys.F10), map(() => this.toolbarElement))
3819
3819
  .subscribe((toolbar) => toolbar.nativeElement.focus()));
3820
3820
  this.subs.add(fromEvent(this.viewMountElement, 'blur')
3821
3821
  .pipe(filter$1((event) => !this.viewMountElement.contains(event.relatedTarget)))
@@ -3845,13 +3845,12 @@ class EditorComponent {
3845
3845
  return this.dispatchPasteEvent(dirtyHtml, dirtyHtml);
3846
3846
  }
3847
3847
  const pasteCleanupSettings = { ...defaultPasteCleanupSettings, ...this.pasteCleanupSettings };
3848
- const html = pipe(removeInvalidHTMLIf(pasteCleanupSettings.removeInvalidHTML), removeCommentsIf(pasteCleanupSettings.removeHtmlComments))(dirtyHtml);
3849
- const clean = pasteCleanup(html, {
3848
+ const clean = pasteCleanup(removeInvalidHTMLIf(pasteCleanupSettings.removeInvalidHTML)(dirtyHtml), {
3850
3849
  convertMsLists: pasteCleanupSettings.convertMsLists,
3851
3850
  stripTags: pasteCleanupSettings.stripTags.join('|'),
3852
- attributes: getPasteCleanupAttributes(pasteCleanupSettings)
3851
+ attributes: getPasteCleanupAttributes(pasteCleanupSettings),
3853
3852
  });
3854
- return this.dispatchPasteEvent(dirtyHtml, clean);
3853
+ return this.dispatchPasteEvent(dirtyHtml, removeCommentsIf(pasteCleanupSettings.removeHtmlComments)(clean));
3855
3854
  };
3856
3855
  transformPastedHTML = (html) => this.transformPastedContent(html);
3857
3856
  transformPastedText = (html) => this.transformPastedContent(html, true);
@@ -4121,8 +4120,8 @@ class EditorComponent {
4121
4120
 
4122
4121
  <ng-container #dialogsContainer></ng-container>
4123
4122
 
4124
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4125
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoEditorLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: EditorBoldButtonDirective, selector: "kendo-toolbar-button[kendoEditorBoldButton]" }, { kind: "directive", type: EditorItalicButtonDirective, selector: "kendo-toolbar-button[kendoEditorItalicButton]" }, { kind: "directive", type: EditorUnderlineButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnderlineButton]" }, { kind: "component", type: EditorFormatComponent, selector: "kendo-toolbar-dropdownlist[kendoEditorFormat]", inputs: ["data"], outputs: ["valueChange"] }, { kind: "directive", type: EditorAlignLeftButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignLeftButton]" }, { kind: "directive", type: EditorAlignCenterButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignCenterButton]" }, { kind: "directive", type: EditorAlignRightButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignRightButton]" }, { kind: "directive", type: EditorAlignJustifyButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignJustifyButton]" }, { kind: "directive", type: EditorInsertUnorderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertUnorderedListButton]" }, { kind: "directive", type: EditorInsertOrderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertOrderedListButton]" }, { kind: "directive", type: EditorIndentButtonDirective, selector: "kendo-toolbar-button[kendoEditorIndentButton]" }, { kind: "directive", type: EditorOutdentButtonDirective, selector: "kendo-toolbar-button[kendoEditorOutdentButton]" }, { kind: "directive", type: EditorCreateLinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorCreateLinkButton]" }, { kind: "directive", type: EditorUnlinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnlinkButton]" }, { kind: "directive", type: EditorInsertImageButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertImageButton]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
4123
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
4124
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoEditorLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "rounded", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: EditorBoldButtonDirective, selector: "kendo-toolbar-button[kendoEditorBoldButton]" }, { kind: "directive", type: EditorItalicButtonDirective, selector: "kendo-toolbar-button[kendoEditorItalicButton]" }, { kind: "directive", type: EditorUnderlineButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnderlineButton]" }, { kind: "component", type: EditorFormatComponent, selector: "kendo-toolbar-dropdownlist[kendoEditorFormat]", inputs: ["data"], outputs: ["valueChange"] }, { kind: "directive", type: EditorAlignLeftButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignLeftButton]" }, { kind: "directive", type: EditorAlignCenterButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignCenterButton]" }, { kind: "directive", type: EditorAlignRightButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignRightButton]" }, { kind: "directive", type: EditorAlignJustifyButtonDirective, selector: "kendo-toolbar-button[kendoEditorAlignJustifyButton]" }, { kind: "directive", type: EditorInsertUnorderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertUnorderedListButton]" }, { kind: "directive", type: EditorInsertOrderedListButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertOrderedListButton]" }, { kind: "directive", type: EditorIndentButtonDirective, selector: "kendo-toolbar-button[kendoEditorIndentButton]" }, { kind: "directive", type: EditorOutdentButtonDirective, selector: "kendo-toolbar-button[kendoEditorOutdentButton]" }, { kind: "directive", type: EditorCreateLinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorCreateLinkButton]" }, { kind: "directive", type: EditorUnlinkButtonDirective, selector: "kendo-toolbar-button[kendoEditorUnlinkButton]" }, { kind: "directive", type: EditorInsertImageButtonDirective, selector: "kendo-toolbar-button[kendoEditorInsertImageButton]" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
4126
4125
  }
4127
4126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorComponent, decorators: [{
4128
4127
  type: Component,
@@ -4308,7 +4307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4308
4307
 
4309
4308
  <ng-container #dialogsContainer></ng-container>
4310
4309
 
4311
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4310
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
4312
4311
  `,
4313
4312
  standalone: true,
4314
4313
  imports: [LocalizedMessagesDirective, NgIf, ToolBarComponent, ToolBarButtonGroupComponent, ToolBarButtonComponent, EditorBoldButtonDirective, EditorItalicButtonDirective, EditorUnderlineButtonDirective, EditorFormatComponent, EditorAlignLeftButtonDirective, EditorAlignCenterButtonDirective, EditorAlignRightButtonDirective, EditorAlignJustifyButtonDirective, EditorInsertUnorderedListButtonDirective, EditorInsertOrderedListButtonDirective, EditorIndentButtonDirective, EditorOutdentButtonDirective, EditorCreateLinkButtonDirective, EditorUnlinkButtonDirective, EditorInsertImageButtonDirective, WatermarkOverlayComponent]
@@ -6145,7 +6144,7 @@ class EditorInsertTableButtonComponent extends ToolBarToolComponent {
6145
6144
  * @hidden
6146
6145
  */
6147
6146
  handleKey(ev) {
6148
- if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
6147
+ if (ev.code === Keys.Space || ev.code === Keys.Enter || ev.code === Keys.NumpadEnter) {
6149
6148
  return true;
6150
6149
  }
6151
6150
  this.tabIndex = -1;
package/index.d.ts CHANGED
@@ -14,6 +14,9 @@ export { EditorResizableOptions } from './common/resizable-options.interface';
14
14
  export { FontSizeItem } from './common/font-size-item.interface';
15
15
  export { FontFamilyItem } from './common/font-family-item.interface';
16
16
  export { EditorPasteEvent } from './preventable-events/paste-event';
17
+ export { PasteCleanupSettings } from './common/paste-cleanup-settings';
18
+ export { EditorCommand, DialogCommand } from './common/commands';
19
+ export { FormatItem } from './common/format-item.interface';
17
20
  export { PopupTableGridComponent } from './tools/tables/popup-table-grid.component';
18
21
  export { FormatDropDownListComponent } from './tools/format/editor-format-dropdownlist.component';
19
22
  export { FontFamilyDropDownListComponent } from './tools/fontfamily/editor-fontfamily-dropdownlist.component';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-editor",
3
- "version": "19.3.0-develop.8",
3
+ "version": "19.3.0",
4
4
  "description": "Kendo UI Editor for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -17,7 +17,7 @@
17
17
  "package": {
18
18
  "productName": "Kendo UI for Angular",
19
19
  "productCode": "KENDOUIANGULAR",
20
- "publishDate": 1752479558,
20
+ "publishDate": 1755030771,
21
21
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
22
22
  }
23
23
  },
@@ -28,24 +28,24 @@
28
28
  "@angular/forms": "16 - 20",
29
29
  "@angular/platform-browser": "16 - 20",
30
30
  "@progress/kendo-drawing": "^1.21.0",
31
- "@progress/kendo-licensing": "^1.5.0",
32
- "@progress/kendo-angular-buttons": "19.3.0-develop.8",
33
- "@progress/kendo-angular-common": "19.3.0-develop.8",
34
- "@progress/kendo-angular-dialog": "19.3.0-develop.8",
35
- "@progress/kendo-angular-dropdowns": "19.3.0-develop.8",
36
- "@progress/kendo-angular-inputs": "19.3.0-develop.8",
37
- "@progress/kendo-angular-intl": "19.3.0-develop.8",
38
- "@progress/kendo-angular-l10n": "19.3.0-develop.8",
39
- "@progress/kendo-angular-label": "19.3.0-develop.8",
40
- "@progress/kendo-angular-layout": "19.3.0-develop.8",
41
- "@progress/kendo-angular-icons": "19.3.0-develop.8",
42
- "@progress/kendo-angular-popup": "19.3.0-develop.8",
43
- "@progress/kendo-angular-toolbar": "19.3.0-develop.8",
31
+ "@progress/kendo-licensing": "^1.7.0",
32
+ "@progress/kendo-angular-buttons": "19.3.0",
33
+ "@progress/kendo-angular-common": "19.3.0",
34
+ "@progress/kendo-angular-dialog": "19.3.0",
35
+ "@progress/kendo-angular-dropdowns": "19.3.0",
36
+ "@progress/kendo-angular-inputs": "19.3.0",
37
+ "@progress/kendo-angular-intl": "19.3.0",
38
+ "@progress/kendo-angular-l10n": "19.3.0",
39
+ "@progress/kendo-angular-label": "19.3.0",
40
+ "@progress/kendo-angular-layout": "19.3.0",
41
+ "@progress/kendo-angular-icons": "19.3.0",
42
+ "@progress/kendo-angular-popup": "19.3.0",
43
+ "@progress/kendo-angular-toolbar": "19.3.0",
44
44
  "rxjs": "^6.5.3 || ^7.0.0"
45
45
  },
46
46
  "dependencies": {
47
47
  "tslib": "^2.3.1",
48
- "@progress/kendo-angular-schematics": "19.3.0-develop.8",
48
+ "@progress/kendo-angular-schematics": "19.3.0",
49
49
  "@progress/kendo-editor-common": "1.12.3"
50
50
  },
51
51
  "schematics": "./schematics/collection.json",
@@ -4,12 +4,12 @@ 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 dependencies of kendo-angular-dropdowns
7
- '@progress/kendo-angular-navigation': '19.3.0-develop.8',
8
- '@progress/kendo-angular-treeview': '19.3.0-develop.8',
7
+ '@progress/kendo-angular-navigation': '19.3.0',
8
+ '@progress/kendo-angular-treeview': '19.3.0',
9
9
  // peer dependency of kendo-angular-layout
10
- '@progress/kendo-angular-progressbar': '19.3.0-develop.8',
10
+ '@progress/kendo-angular-progressbar': '19.3.0',
11
11
  // peer dependency of kendo-angular-inputs
12
- '@progress/kendo-angular-dialog': '19.3.0-develop.8',
12
+ '@progress/kendo-angular-dialog': '19.3.0',
13
13
  // Peer dependency of icons
14
14
  '@progress/kendo-svg-icons': '^4.0.0'
15
15
  } });
package/util.d.ts CHANGED
@@ -69,10 +69,6 @@ export declare const getUniqueStyleValues: (style: ActiveMarks, cssStyle: string
69
69
  * @hidden
70
70
  */
71
71
  export declare const conditionallyExecute: <T, R>(fn: (x: T) => R) => (condition: boolean) => (param: T) => T | R;
72
- /**
73
- * @hidden
74
- */
75
- export declare const pipe: (...fns: any[]) => (x: any) => any;
76
72
  /**
77
73
  * Extracts the text from the current editor state's selection ([see example]({% slug plugins_editor %}#toc-popup-tools)).
78
74
  *