@progress/kendo-angular-editor 4.0.0-next.202203291212 → 4.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.
Files changed (29) hide show
  1. package/bundles/kendo-angular-editor.umd.js +1 -1
  2. package/common/styles.d.ts +1 -1
  3. package/editor.component.d.ts +1 -0
  4. package/esm2015/common/styles.js +76 -50
  5. package/esm2015/dialogs/colorpicker-dialog.component.js +1 -1
  6. package/esm2015/dialogs/file-link-dialog.component.js +1 -1
  7. package/esm2015/dialogs/font-family-dialog.component.js +1 -1
  8. package/esm2015/dialogs/font-size-dialog.component.js +1 -1
  9. package/esm2015/dialogs/format-dialog.component.js +1 -1
  10. package/esm2015/dialogs/image-dialog.component.js +1 -1
  11. package/esm2015/dialogs/insert-table-dialog.component.js +1 -1
  12. package/esm2015/dialogs/source-dialog.component.js +1 -1
  13. package/esm2015/editor.component.js +17 -8
  14. package/esm2015/main.js +2 -1
  15. package/esm2015/package-metadata.js +1 -1
  16. package/esm2015/tools/colorpicker/editor-colorpicker.component.js +1 -1
  17. package/esm2015/tools/fontfamily/editor-fontfamily-dropdownlist.component.js +1 -1
  18. package/esm2015/tools/fontfamily/editor-fontfamily.component.js +1 -1
  19. package/esm2015/tools/fontsize/editor-fontsize-dropdownlist.component.js +1 -1
  20. package/esm2015/tools/fontsize/editor-fontsize.component.js +1 -1
  21. package/esm2015/tools/format/editor-format-dropdownlist.component.js +1 -1
  22. package/esm2015/tools/format/editor-format.component.js +1 -1
  23. package/esm2015/tools/tables/editor-insert-table-button.component.js +1 -1
  24. package/esm2015/util.js +8 -0
  25. package/fesm2015/kendo-angular-editor.js +117 -75
  26. package/main.d.ts +2 -1
  27. package/package.json +18 -20
  28. package/schematics/ngAdd/index.js +2 -2
  29. package/util.d.ts +7 -0
@@ -11,8 +11,8 @@ import { take, map, filter as filter$1, concatMap, takeUntil } from 'rxjs/operat
11
11
  import * as i1$3 from '@progress/kendo-angular-toolbar';
12
12
  import { ToolBarToolComponent, ToolBarComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
13
13
  import { isDocumentAvailable, guid, hasObservers, KendoInput, Keys } from '@progress/kendo-angular-common';
14
- 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, getNodeFromSelection, getMark, getSelectionText, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr, pasteCleanup, parseContent, AllSelection, TextSelection, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, tableEditing, caretColor, placeholder, EditorState, EditorView } from '@progress/kendo-editor-common';
15
- export { Decoration, DecorationSet, EditorState, EditorView, InputRule, Mark, MarkType, Node, NodeType, Plugin, PluginKey, Schema, Transaction, baseKeymap, dropCursor, gapCursor, getSelectionText, history, inputRules, keymap, tableNodes, textblockTypeInputRule, wrappingInputRule } from '@progress/kendo-editor-common';
14
+ 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, pasteCleanup, parseContent, AllSelection, TextSelection, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, tableResizing, tableEditing, caretColor, placeholder, EditorState, EditorView } from '@progress/kendo-editor-common';
15
+ export { Decoration, DecorationSet, EditorState, EditorView, InputRule, Mark, MarkType, Node, NodeType, Plugin, PluginKey, Schema, Transaction, baseKeymap, dropCursor, gapCursor, history, inputRules, keymap, tableNodes, textblockTypeInputRule, wrappingInputRule } from '@progress/kendo-editor-common';
16
16
  import { validatePackage } from '@progress/kendo-licensing';
17
17
  import * as i1$1 from '@progress/kendo-angular-dialog';
18
18
  import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
@@ -35,7 +35,7 @@ const packageMetadata = {
35
35
  name: '@progress/kendo-angular-editor',
36
36
  productName: 'Kendo UI for Angular',
37
37
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
38
- publishDate: 1648555336,
38
+ publishDate: 1650441316,
39
39
  version: '',
40
40
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
41
41
  };
@@ -614,6 +614,13 @@ const conditionallyExecute = (fn) => (condition) => (param) => (condition ? fn(p
614
614
  * @hidden
615
615
  */
616
616
  const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
617
+ // This re-declaration is neccessary for proper API generation
618
+ /**
619
+ * A method for extracting the text from the current editor state's selection
620
+ * @param state
621
+ * @returns
622
+ */
623
+ const getSelectionText = (state) => getSelectionText$1(state);
617
624
 
618
625
  /**
619
626
  * @hidden
@@ -689,7 +696,7 @@ SourceDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
689
696
  <button kendoButton (click)="onCancelAction()">{{ textFor('dialogCancel') }}</button>
690
697
  <button kendoButton (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogUpdate') }}</button>
691
698
  </kendo-dialog-actions>
692
- `, isInline: true, styles: ["\n >>> .k-editor-textarea {\n height: 100%;\n }\n "], components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
699
+ `, isInline: true, styles: ["\n >>> .k-editor-textarea {\n height: 100%;\n }\n "], components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
693
700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SourceDialogComponent, decorators: [{
694
701
  type: Component,
695
702
  args: [{
@@ -828,7 +835,7 @@ ImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
828
835
  <button kendoButton [disabled]="imageData.invalid"
829
836
  (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogInsert') }}</button>
830
837
  </kendo-dialog-actions>
831
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
838
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
832
839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ImageDialogComponent, decorators: [{
833
840
  type: Component,
834
841
  args: [{
@@ -931,13 +938,13 @@ class FileLinkDialogComponent extends DialogContentBase {
931
938
  const currentState = options.applyToWord ? expandSelection(state, () => { }, options).state : state;
932
939
  if (!currentState.selection.empty) {
933
940
  this.linkForm.patchValue({
934
- 'text': getSelectionText(currentState)
941
+ 'text': getSelectionText$1(currentState)
935
942
  });
936
943
  }
937
944
  }
938
945
  else {
939
946
  this.linkForm.patchValue({
940
- 'text': getSelectionText(state)
947
+ 'text': getSelectionText$1(state)
941
948
  });
942
949
  }
943
950
  }
@@ -957,7 +964,7 @@ class FileLinkDialogComponent extends DialogContentBase {
957
964
  return parentNode.child(cursorNodeIndex).text;
958
965
  }
959
966
  else {
960
- return getSelectionText(state);
967
+ return getSelectionText$1(state);
961
968
  }
962
969
  }
963
970
  getData() {
@@ -1014,7 +1021,7 @@ FileLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1014
1021
  {{ textFor('dialogInsert') }}
1015
1022
  </button>
1016
1023
  </kendo-dialog-actions>
1017
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1024
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1018
1025
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FileLinkDialogComponent, decorators: [{
1019
1026
  type: Component,
1020
1027
  args: [{
@@ -1272,56 +1279,82 @@ const defaultStyle = `
1272
1279
  * @hidden
1273
1280
  */
1274
1281
  const tablesStyles = `
1275
- .ProseMirror .tableWrapper {
1276
- overflow-x: auto;
1277
- margin: 1em 0;
1278
- }
1282
+ .ProseMirror .tableWrapper {
1283
+ overflow-x: auto;
1284
+ margin: 1em 0;
1285
+ }
1279
1286
 
1280
- .ProseMirror table {
1281
- margin: 0;
1282
- border-collapse: collapse;
1283
- table-layout: fixed;
1284
- width: 100%;
1285
- overflow: hidden;
1286
- }
1287
+ .ProseMirror table {
1288
+ margin: 0;
1289
+ border-collapse: collapse;
1290
+ table-layout: fixed;
1291
+ width: 100%;
1292
+ overflow: hidden;
1293
+ }
1287
1294
 
1288
- .ProseMirror td, .ProseMirror th {
1289
- min-width: 1em;
1290
- border: 1px solid #ddd;
1291
- padding: 3px 5px;
1292
- vertical-align: top;
1293
- box-sizing: border-box;
1294
- position: relative;
1295
- }
1295
+ .ProseMirror td, .ProseMirror th {
1296
+ min-width: 1em;
1297
+ border: 1px solid #ddd;
1298
+ padding: 3px 5px;
1299
+ vertical-align: top;
1300
+ box-sizing: border-box;
1301
+ position: relative;
1302
+ }
1296
1303
 
1297
- .ProseMirror th {
1298
- font-weight: bold;
1299
- text-align: left;
1300
- }
1304
+ .ProseMirror th {
1305
+ font-weight: bold;
1306
+ text-align: left;
1307
+ }
1301
1308
 
1302
- .ProseMirror .column-resize-handle {
1303
- position: absolute;
1304
- right: -2px; top: 0; bottom: 0;
1305
- width: 4px;
1306
- z-index: 20;
1307
- background-color: #adf;
1308
- pointer-events: none;
1309
- }
1309
+ .ProseMirror .column-resize-handle {
1310
+ position: absolute;
1311
+ right: -2px; top: 0; bottom: 0;
1312
+ width: 4px;
1313
+ z-index: 20;
1314
+ background-color: #adf;
1315
+ pointer-events: none;
1316
+ }
1310
1317
 
1311
- .ProseMirror.resize-cursor {
1312
- cursor: ew-resize;
1313
- cursor: col-resize;
1314
- }
1318
+ .ProseMirror.resize-cursor {
1319
+ cursor: ew-resize;
1320
+ cursor: col-resize;
1321
+ }
1315
1322
 
1316
- /* Give selected cells a blue overlay */
1317
- .ProseMirror .selectedCell:after {
1318
- z-index: 2;
1319
- position: absolute;
1320
- content: "";
1321
- left: 0; right: 0; top: 0; bottom: 0;
1322
- background: rgba(200, 200, 255, 0.4);
1323
- pointer-events: none;
1324
- }
1323
+ /* Give selected cells a blue overlay */
1324
+ .ProseMirror .selectedCell:after {
1325
+ z-index: 2;
1326
+ position: absolute;
1327
+ content: "";
1328
+ left: 0; right: 0; top: 0; bottom: 0;
1329
+ background: rgba(200, 200, 255, 0.4);
1330
+ pointer-events: none;
1331
+ }
1332
+
1333
+ /* Resizing */
1334
+ .k-editor-resize-wrap-element {
1335
+ display: inline-block;
1336
+ position: relative;
1337
+ }
1338
+
1339
+ .ProseMirror .row-resize-handle {
1340
+ position: absolute;
1341
+ right: 0; left: 0; bottom: 0;
1342
+ transform: translate(0, 50%);
1343
+ height: 4px;
1344
+ z-index: 20;
1345
+ background-color: #adf;
1346
+ pointer-events: none;
1347
+ }
1348
+
1349
+ .ProseMirror.resize-cursor-vertical {
1350
+ cursor: sn-resize;
1351
+ cursor: row-resize;
1352
+ }
1353
+
1354
+ .k-editor-resize-wrap-element table td p,
1355
+ .k-editor-resize-wrap-element table th p {
1356
+ margin: 0 auto;
1357
+ }
1325
1358
  `;
1326
1359
  /**
1327
1360
  * @hidden
@@ -1501,7 +1534,7 @@ FormatDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
1501
1534
  </ng-container>
1502
1535
  </ng-template>
1503
1536
  </kendo-dropdownlist>
1504
- `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }, { type: i1$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
1537
+ `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }, { type: i1$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
1505
1538
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormatDropDownListComponent, decorators: [{
1506
1539
  type: Component,
1507
1540
  args: [{
@@ -1646,7 +1679,7 @@ FormatDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1646
1679
  <button kendoButton
1647
1680
  (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogApply') }}</button>
1648
1681
  </kendo-dialog-actions>
1649
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FormatDropDownListComponent, selector: "kendo-editor-format-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1682
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FormatDropDownListComponent, selector: "kendo-editor-format-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1650
1683
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FormatDialogComponent, decorators: [{
1651
1684
  type: Component,
1652
1685
  args: [{
@@ -1844,7 +1877,7 @@ EditorFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1844
1877
  {{ title }}
1845
1878
  </button>
1846
1879
  </ng-template>
1847
- `, isInline: true, components: [{ type: FormatDropDownListComponent, selector: "kendo-editor-format-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1880
+ `, isInline: true, components: [{ type: FormatDropDownListComponent, selector: "kendo-editor-format-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1848
1881
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorFormatComponent, decorators: [{
1849
1882
  type: Component,
1850
1883
  args: [{
@@ -2748,7 +2781,10 @@ class EditorComponent {
2748
2781
  this.view.updateState(this.view.state.apply(tr));
2749
2782
  }
2750
2783
  };
2751
- this.transformPastedHTML = (dirtyHtml) => {
2784
+ this.transformPastedHTML = (dirtyHtml, plainText) => {
2785
+ if (plainText) {
2786
+ return this.dispatchPasteEvent(dirtyHtml, dirtyHtml);
2787
+ }
2752
2788
  const pasteCleanupSettings = Object.assign(Object.assign({}, defaultPasteCleanupSettings), this.pasteCleanupSettings);
2753
2789
  const html = pipe(removeInvalidHTMLIf(pasteCleanupSettings.removeInvalidHTML), removeCommentsIf(pasteCleanupSettings.removeHtmlComments))(dirtyHtml);
2754
2790
  const clean = pasteCleanup(html, {
@@ -2756,12 +2792,7 @@ class EditorComponent {
2756
2792
  stripTags: pasteCleanupSettings.stripTags.join('|'),
2757
2793
  attributes: getPasteCleanupAttributes(pasteCleanupSettings)
2758
2794
  });
2759
- if (hasObservers(this.paste)) {
2760
- const event = new EditorPasteEvent(clean, dirtyHtml, this._pasteEvent);
2761
- this.ngZone.run(() => this.paste.emit(event));
2762
- return event.isDefaultPrevented() ? '' : event.cleanedHtml;
2763
- }
2764
- return clean;
2795
+ return this.dispatchPasteEvent(dirtyHtml, clean);
2765
2796
  };
2766
2797
  this.changeValue = (value) => {
2767
2798
  const prev = this._value;
@@ -2984,7 +3015,7 @@ class EditorComponent {
2984
3015
  * Returns the text which the current Editor selection contains ([see example]({% slug selection_editor %}#toc-retrieve-the-selected-text)).
2985
3016
  */
2986
3017
  get selectionText() {
2987
- return this._view && this._view.state ? getSelectionText(this._view.state) : '';
3018
+ return this._view && this._view.state ? getSelectionText$1(this._view.state) : '';
2988
3019
  }
2989
3020
  ngOnInit() {
2990
3021
  this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
@@ -3250,6 +3281,7 @@ class EditorComponent {
3250
3281
  keymap(baseKeymap),
3251
3282
  gapCursor(),
3252
3283
  imageResizing(),
3284
+ ...tableResizing(),
3253
3285
  tableEditing(),
3254
3286
  caretColor()
3255
3287
  ];
@@ -3273,6 +3305,7 @@ class EditorComponent {
3273
3305
  editable: () => !this.readonly,
3274
3306
  dispatchTransaction: this.dispatchTransaction,
3275
3307
  transformPastedHTML: this.transformPastedHTML,
3308
+ transformPastedText: this.transformPastedHTML,
3276
3309
  handleDOMEvents: {
3277
3310
  paste: this.onPaste
3278
3311
  }
@@ -3377,6 +3410,15 @@ class EditorComponent {
3377
3410
  }
3378
3411
  });
3379
3412
  }
3413
+ dispatchPasteEvent(originalContent, cleanContent) {
3414
+ if (hasObservers(this.paste)) {
3415
+ const event = new EditorPasteEvent(cleanContent, originalContent, this._pasteEvent);
3416
+ this.ngZone.run(() => this.paste.emit(event));
3417
+ return event.isDefaultPrevented() ? '' : event.cleanedHtml;
3418
+ }
3419
+ return cleanContent;
3420
+ }
3421
+ ;
3380
3422
  }
3381
3423
  EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorComponent, deps: [{ token: i1$1.DialogService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: ProviderService }, { token: EditorToolsService }], target: i0.ɵɵFactoryTarget.Component });
3382
3424
  EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EditorComponent, selector: "kendo-editor", inputs: { value: "value", disabled: "disabled", readonly: "readonly", iframe: "iframe", applyToWord: "applyToWord", schema: "schema", plugins: "plugins", placeholder: "placeholder", preserveWhitespace: "preserveWhitespace", pasteCleanupSettings: "pasteCleanupSettings", resizable: "resizable" }, outputs: { valueChange: "valueChange", onFocus: "focus", paste: "paste", onBlur: "blur" }, host: { properties: { "class.k-editor": "this.hostClass", "class.k-editor-resizable": "this.resizableClass", "class.k-disabled": "this.isDisabled", "class.k-readonly": "this.isReadonly", "class.k-ie": "this.isIE", "attr.dir": "this.dir", "attr.ariaDisabled": "this.ariaDisabled", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
@@ -3890,7 +3932,7 @@ ColorPickerDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
3890
3932
  <button kendoButton
3891
3933
  (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogApply') }}</button>
3892
3934
  </kendo-dialog-actions>
3893
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i5.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
3935
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i5.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
3894
3936
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ColorPickerDialogComponent, decorators: [{
3895
3937
  type: Component,
3896
3938
  args: [{
@@ -3966,7 +4008,7 @@ FontFamilyDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3966
4008
  </span>
3967
4009
  </ng-template>
3968
4010
  </kendo-dropdownlist>
3969
- `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }, { type: i1$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i3$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
4011
+ `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }, { type: i1$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i3$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3970
4012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FontFamilyDropDownListComponent, decorators: [{
3971
4013
  type: Component,
3972
4014
  args: [{
@@ -4083,7 +4125,7 @@ FontFamilyDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
4083
4125
  <button kendoButton
4084
4126
  (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogApply') }}</button>
4085
4127
  </kendo-dialog-actions>
4086
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FontFamilyDropDownListComponent, selector: "kendo-editor-fontfamily-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4128
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FontFamilyDropDownListComponent, selector: "kendo-editor-fontfamily-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4087
4129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FontFamilyDialogComponent, decorators: [{
4088
4130
  type: Component,
4089
4131
  args: [{
@@ -4242,7 +4284,7 @@ InsertTableDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
4242
4284
  <kendo-dialog-actions>
4243
4285
  <button kendoButton (click)="onCancelAction()">{{ textFor('dialogCancel') }}</button>
4244
4286
  </kendo-dialog-actions>
4245
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: ["cellClick", "tableWizardClick"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4287
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: ["cellClick", "tableWizardClick"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4246
4288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InsertTableDialogComponent, decorators: [{
4247
4289
  type: Component,
4248
4290
  args: [{
@@ -4298,7 +4340,7 @@ FontSizeDropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
4298
4340
  (valueChange)="onValueChange($event)"
4299
4341
  >
4300
4342
  </kendo-dropdownlist>
4301
- `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }] });
4343
+ `, isInline: true, styles: ["\n .k-dropdownlist {\n width: 13em;\n }\n "], components: [{ type: i1$2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: DropDownToolDirective, selector: "[kendoEditorDropDownTool]" }] });
4302
4344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FontSizeDropDownListComponent, decorators: [{
4303
4345
  type: Component,
4304
4346
  args: [{
@@ -4410,7 +4452,7 @@ FontSizeDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
4410
4452
  <button kendoButton
4411
4453
  (click)="onConfirmAction()" [primary]="true">{{ textFor('dialogApply') }}</button>
4412
4454
  </kendo-dialog-actions>
4413
- `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FontSizeDropDownListComponent, selector: "kendo-editor-fontsize-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4455
+ `, isInline: true, components: [{ type: i1$1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: FontSizeDropDownListComponent, selector: "kendo-editor-fontsize-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }, { type: i1$1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4414
4456
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FontSizeDialogComponent, decorators: [{
4415
4457
  type: Component,
4416
4458
  args: [{
@@ -4608,7 +4650,7 @@ EditorFontSizeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
4608
4650
  {{ title }}
4609
4651
  </button>
4610
4652
  </ng-template>
4611
- `, isInline: true, components: [{ type: FontSizeDropDownListComponent, selector: "kendo-editor-fontsize-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4653
+ `, isInline: true, components: [{ type: FontSizeDropDownListComponent, selector: "kendo-editor-fontsize-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4612
4654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorFontSizeComponent, decorators: [{
4613
4655
  type: Component,
4614
4656
  args: [{
@@ -4833,7 +4875,7 @@ EditorFontFamilyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
4833
4875
  {{ title }}
4834
4876
  </button>
4835
4877
  </ng-template>
4836
- `, isInline: true, components: [{ type: FontFamilyDropDownListComponent, selector: "kendo-editor-fontfamily-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4878
+ `, isInline: true, components: [{ type: FontFamilyDropDownListComponent, selector: "kendo-editor-fontfamily-dropdownlist", inputs: ["data", "value", "defaultItem", "itemDisabled", "title", "disabled", "tabindex"], outputs: ["valueChange"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
4837
4879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorFontFamilyComponent, decorators: [{
4838
4880
  type: Component,
4839
4881
  args: [{
@@ -5066,7 +5108,7 @@ EditorColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
5066
5108
  {{ title }}
5067
5109
  </button>
5068
5110
  </ng-template>
5069
- `, isInline: true, components: [{ type: i5.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
5111
+ `, isInline: true, components: [{ type: i5.ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
5070
5112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorColorPickerComponent, decorators: [{
5071
5113
  type: Component,
5072
5114
  args: [{
@@ -5308,7 +5350,7 @@ EditorInsertTableButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
5308
5350
  <ng-template #popupGridTemplate>
5309
5351
  <kendo-popup-table-grid (cellClick)="onCellClick($event)" (tableWizardClick)="onTableWizardClick()"></kendo-popup-table-grid>
5310
5352
  </ng-template>
5311
- `, isInline: true, components: [{ type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: ["cellClick", "tableWizardClick"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
5353
+ `, isInline: true, components: [{ type: PopupTableGridComponent, selector: "kendo-popup-table-grid", outputs: ["cellClick", "tableWizardClick"] }], directives: [{ type: i4.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
5312
5354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorInsertTableButtonComponent, decorators: [{
5313
5355
  type: Component,
5314
5356
  args: [{
@@ -6377,5 +6419,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
6377
6419
  * Generated bundle index. Do not edit.
6378
6420
  */
6379
6421
 
6380
- export { CustomMessagesComponent, DropDownToolDirective, EditorAddColumnAfterButtonDirective, EditorAddColumnBeforeButtonDirective, EditorAddRowAfterButtonDirective, EditorAddRowBeforeButtonDirective, EditorAlignCenterButtonDirective, EditorAlignJustifyButtonDirective, EditorAlignLeftButtonDirective, EditorAlignRightButtonDirective, EditorBackColorDirective, EditorBlockquoteDirective, EditorBoldButtonDirective, EditorCleanFormattingButtonDirective, EditorColorPickerComponent, EditorComponent, EditorCreateLinkButtonDirective, EditorDeleteColumnButtonDirective, EditorDeleteRowButtonDirective, EditorDeleteTableButtonDirective, EditorFontFamilyComponent, EditorFontSizeComponent, EditorForeColorDirective, EditorFormatComponent, EditorIndentButtonDirective, EditorInsertFileButtonDirective, EditorInsertImageButtonDirective, EditorInsertOrderedListButtonDirective, EditorInsertTableButtonComponent, EditorInsertUnorderedListButtonDirective, EditorItalicButtonDirective, EditorMergeCellsButtonDirective, EditorModule, EditorOutdentButtonDirective, EditorPasteEvent, EditorPrintDirective, EditorRedoButtonDirective, EditorSelectAllButtonDirective, EditorSplitCellButtonDirective, EditorStrikethroughButtonDirective, EditorSubscriptButtonDirective, EditorSuperscriptButtonDirective, EditorUnderlineButtonDirective, EditorUndoButtonDirective, EditorUnlinkButtonDirective, EditorViewSourceButtonDirective, FontFamilyDropDownListComponent, FontSizeDropDownListComponent, FormatDropDownListComponent, LocalizedMessagesDirective, PopupTableGridComponent, PreventableEvent, schema };
6422
+ export { CustomMessagesComponent, DropDownToolDirective, EditorAddColumnAfterButtonDirective, EditorAddColumnBeforeButtonDirective, EditorAddRowAfterButtonDirective, EditorAddRowBeforeButtonDirective, EditorAlignCenterButtonDirective, EditorAlignJustifyButtonDirective, EditorAlignLeftButtonDirective, EditorAlignRightButtonDirective, EditorBackColorDirective, EditorBlockquoteDirective, EditorBoldButtonDirective, EditorCleanFormattingButtonDirective, EditorColorPickerComponent, EditorComponent, EditorCreateLinkButtonDirective, EditorDeleteColumnButtonDirective, EditorDeleteRowButtonDirective, EditorDeleteTableButtonDirective, EditorFontFamilyComponent, EditorFontSizeComponent, EditorForeColorDirective, EditorFormatComponent, EditorIndentButtonDirective, EditorInsertFileButtonDirective, EditorInsertImageButtonDirective, EditorInsertOrderedListButtonDirective, EditorInsertTableButtonComponent, EditorInsertUnorderedListButtonDirective, EditorItalicButtonDirective, EditorMergeCellsButtonDirective, EditorModule, EditorOutdentButtonDirective, EditorPasteEvent, EditorPrintDirective, EditorRedoButtonDirective, EditorSelectAllButtonDirective, EditorSplitCellButtonDirective, EditorStrikethroughButtonDirective, EditorSubscriptButtonDirective, EditorSuperscriptButtonDirective, EditorUnderlineButtonDirective, EditorUndoButtonDirective, EditorUnlinkButtonDirective, EditorViewSourceButtonDirective, FontFamilyDropDownListComponent, FontSizeDropDownListComponent, FormatDropDownListComponent, LocalizedMessagesDirective, PopupTableGridComponent, PreventableEvent, getSelectionText, schema };
6381
6423
 
package/main.d.ts CHANGED
@@ -5,7 +5,8 @@
5
5
  export { EditorComponent } from './editor.component';
6
6
  export { EditorModule } from './editor.module';
7
7
  export { schema, Schema } from './config/schema';
8
- export { EditorState, Plugin, PluginKey, Transaction, EditorView, Decoration, DecorationSet, NodeType, Node, MarkType, Mark, InputRule, inputRules, wrappingInputRule, textblockTypeInputRule, keymap, baseKeymap, history, dropCursor, gapCursor, tableNodes, getSelectionText } from '@progress/kendo-editor-common';
8
+ export { EditorState, Plugin, PluginKey, Transaction, EditorView, Decoration, DecorationSet, NodeType, Node, MarkType, Mark, InputRule, inputRules, wrappingInputRule, textblockTypeInputRule, keymap, baseKeymap, history, dropCursor, gapCursor, tableNodes } from '@progress/kendo-editor-common';
9
+ export { getSelectionText } from './util';
9
10
  export { PluginsFn } from './common/plugins-function';
10
11
  export { ApplyToWordOptions } from './common/apply-to-word-options';
11
12
  export { EditorResizableOptions } from './common/resizable-options.interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-editor",
3
- "version": "4.0.0-next.202203291212",
3
+ "version": "4.0.0",
4
4
  "description": "Kendo UI Editor for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -20,24 +20,24 @@
20
20
  "friendlyName": "Editor"
21
21
  },
22
22
  "dependencies": {
23
- "@progress/kendo-editor-common": "dev",
24
- "@progress/kendo-schematics": "^2.0.0",
23
+ "@progress/kendo-editor-common": "1.9.0",
24
+ "@progress/kendo-schematics": "^3.0.0",
25
25
  "tslib": "^2.3.1"
26
26
  },
27
27
  "peerDependencies": {
28
- "@angular/common": "^12.0.0 || ^13.0.0",
29
- "@angular/core": "^12.0.0 || ^13.0.0",
30
- "@angular/forms": "^12.0.0 || ^13.0.0",
31
- "@progress/kendo-angular-buttons": "next",
32
- "@progress/kendo-angular-common": "next",
33
- "@progress/kendo-angular-dialog": "next",
34
- "@progress/kendo-angular-dropdowns": "^6.0.0",
35
- "@progress/kendo-angular-inputs": "next",
36
- "@progress/kendo-angular-intl": "^3.0.0",
37
- "@progress/kendo-angular-l10n": "next",
38
- "@progress/kendo-angular-layout": "next",
39
- "@progress/kendo-angular-popup": "next",
40
- "@progress/kendo-angular-toolbar": "next",
28
+ "@angular/common": "12 - 14",
29
+ "@angular/core": "12 - 14",
30
+ "@angular/forms": "12 - 14",
31
+ "@progress/kendo-angular-buttons": "^8.0.0",
32
+ "@progress/kendo-angular-common": "^3.0.0",
33
+ "@progress/kendo-angular-dialog": "^7.0.0",
34
+ "@progress/kendo-angular-dropdowns": "^7.0.0",
35
+ "@progress/kendo-angular-inputs": "^9.0.0",
36
+ "@progress/kendo-angular-intl": "^4.0.0",
37
+ "@progress/kendo-angular-l10n": "^4.0.0",
38
+ "@progress/kendo-angular-layout": "^7.0.0",
39
+ "@progress/kendo-angular-popup": "^5.0.0",
40
+ "@progress/kendo-angular-toolbar": "^6.0.0",
41
41
  "@progress/kendo-drawing": "^1.5.12",
42
42
  "@progress/kendo-licensing": "^1.0.2",
43
43
  "rxjs": "^6.5.3 || ^7.0.0"
@@ -69,12 +69,10 @@
69
69
  "release": {
70
70
  "debug": false,
71
71
  "branchTags": {
72
- "develop": "dev",
73
- "ng12-update": "next"
72
+ "develop": "dev"
74
73
  },
75
74
  "fallbackTags": {
76
- "dev": "latest",
77
- "next": "latest"
75
+ "dev": "latest"
78
76
  },
79
77
  "analyzeCommits": "@telerik/semantic-prerelease/analyzeCommits",
80
78
  "generateNotes": "@progress/kendo-angular-tasks/lib/generateNotes",
@@ -8,9 +8,9 @@ const schematics_1 = require("@angular-devkit/schematics");
8
8
  function default_1(options) {
9
9
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'EditorModule', package: 'editor', peerDependencies: {
10
10
  // peer dependency of kendo-angular-dropdowns
11
- '@progress/kendo-angular-treeview': '^6.0.0',
11
+ '@progress/kendo-angular-treeview': '^7.0.0',
12
12
  // peer dependency of kendo-angular-layout
13
- '@progress/kendo-angular-progressbar': '^2.0.0'
13
+ '@progress/kendo-angular-progressbar': '^3.0.0'
14
14
  } });
15
15
  return schematics_1.externalSchematic('@progress/kendo-schematics', 'ng-add', finalOptions);
16
16
  }
package/util.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { EditorState } from '@progress/kendo-editor-common';
5
6
  import { ActiveMarks } from './common/active-marks';
6
7
  import { Predicate } from './common/predicate';
7
8
  /**
@@ -76,3 +77,9 @@ export declare const conditionallyExecute: <T, R>(fn: (x: T) => R) => (condition
76
77
  * @hidden
77
78
  */
78
79
  export declare const pipe: (...fns: any[]) => (x: any) => any;
80
+ /**
81
+ * A method for extracting the text from the current editor state's selection
82
+ * @param state
83
+ * @returns
84
+ */
85
+ export declare const getSelectionText: (state: EditorState) => string;