@progress/kendo-angular-editor 19.3.0-develop.9 → 19.3.1-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor.component.d.ts +4 -0
- package/esm2022/dialogs/source-dialog.component.mjs +1 -1
- package/esm2022/editor.component.mjs +14 -11
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/tools/tables/editor-insert-table-button.component.mjs +1 -1
- package/esm2022/util.mjs +0 -4
- package/fesm2022/progress-kendo-angular-editor.mjs +17 -18
- package/index.d.ts +3 -0
- package/package.json +16 -16
- package/schematics/ngAdd/index.js +4 -4
- package/util.d.ts +0 -4
package/editor.component.d.ts
CHANGED
|
@@ -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,
|
|
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.
|
|
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
|
|
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:
|
|
14
|
-
version: '19.3.
|
|
13
|
+
publishDate: 1755502868,
|
|
14
|
+
version: '19.3.1-develop.1',
|
|
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.
|
|
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,
|
|
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:
|
|
40
|
-
version: '19.3.
|
|
39
|
+
publishDate: 1755502868,
|
|
40
|
+
version: '19.3.1-develop.1',
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
3
|
+
"version": "19.3.1-develop.1",
|
|
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":
|
|
20
|
+
"publishDate": 1755502868,
|
|
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.
|
|
32
|
-
"@progress/kendo-angular-buttons": "19.3.
|
|
33
|
-
"@progress/kendo-angular-common": "19.3.
|
|
34
|
-
"@progress/kendo-angular-dialog": "19.3.
|
|
35
|
-
"@progress/kendo-angular-dropdowns": "19.3.
|
|
36
|
-
"@progress/kendo-angular-inputs": "19.3.
|
|
37
|
-
"@progress/kendo-angular-intl": "19.3.
|
|
38
|
-
"@progress/kendo-angular-l10n": "19.3.
|
|
39
|
-
"@progress/kendo-angular-label": "19.3.
|
|
40
|
-
"@progress/kendo-angular-layout": "19.3.
|
|
41
|
-
"@progress/kendo-angular-icons": "19.3.
|
|
42
|
-
"@progress/kendo-angular-popup": "19.3.
|
|
43
|
-
"@progress/kendo-angular-toolbar": "19.3.
|
|
31
|
+
"@progress/kendo-licensing": "^1.7.0",
|
|
32
|
+
"@progress/kendo-angular-buttons": "19.3.1-develop.1",
|
|
33
|
+
"@progress/kendo-angular-common": "19.3.1-develop.1",
|
|
34
|
+
"@progress/kendo-angular-dialog": "19.3.1-develop.1",
|
|
35
|
+
"@progress/kendo-angular-dropdowns": "19.3.1-develop.1",
|
|
36
|
+
"@progress/kendo-angular-inputs": "19.3.1-develop.1",
|
|
37
|
+
"@progress/kendo-angular-intl": "19.3.1-develop.1",
|
|
38
|
+
"@progress/kendo-angular-l10n": "19.3.1-develop.1",
|
|
39
|
+
"@progress/kendo-angular-label": "19.3.1-develop.1",
|
|
40
|
+
"@progress/kendo-angular-layout": "19.3.1-develop.1",
|
|
41
|
+
"@progress/kendo-angular-icons": "19.3.1-develop.1",
|
|
42
|
+
"@progress/kendo-angular-popup": "19.3.1-develop.1",
|
|
43
|
+
"@progress/kendo-angular-toolbar": "19.3.1-develop.1",
|
|
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.
|
|
48
|
+
"@progress/kendo-angular-schematics": "19.3.1-develop.1",
|
|
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.
|
|
8
|
-
'@progress/kendo-angular-treeview': '19.3.
|
|
7
|
+
'@progress/kendo-angular-navigation': '19.3.1-develop.1',
|
|
8
|
+
'@progress/kendo-angular-treeview': '19.3.1-develop.1',
|
|
9
9
|
// peer dependency of kendo-angular-layout
|
|
10
|
-
'@progress/kendo-angular-progressbar': '19.3.
|
|
10
|
+
'@progress/kendo-angular-progressbar': '19.3.1-develop.1',
|
|
11
11
|
// peer dependency of kendo-angular-inputs
|
|
12
|
-
'@progress/kendo-angular-dialog': '19.3.
|
|
12
|
+
'@progress/kendo-angular-dialog': '19.3.1-develop.1',
|
|
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
|
*
|