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

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 (60) hide show
  1. package/dist/cdn/js/kendo-angular-editor.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/common/error-messages.js +2 -1
  4. package/dist/es/common/styles.js +1 -1
  5. package/dist/es/config/command-icons.js +4 -2
  6. package/dist/es/config/commands.js +32 -31
  7. package/dist/es/editor-toolbar-state.js +20 -2
  8. package/dist/es/editor.component.js +7 -5
  9. package/dist/es/editor.module.js +7 -1
  10. package/dist/es/index.js +2 -0
  11. package/dist/es/localization/messages.js +8 -0
  12. package/dist/es/package-metadata.js +1 -1
  13. package/dist/es/tools/print/editor-print-button.directive.js +67 -0
  14. package/dist/es/tools/select-all/select-all-button.directive.js +48 -0
  15. package/dist/es/tools/shared/editor-command-base.js +10 -10
  16. package/dist/es/tools/tables/editor-insert-table-button.component.js +5 -8
  17. package/dist/es2015/common/commands.d.ts +5 -1
  18. package/dist/es2015/common/error-messages.js +2 -1
  19. package/dist/es2015/common/styles.d.ts +1 -1
  20. package/dist/es2015/common/styles.js +72 -0
  21. package/dist/es2015/config/command-icons.d.ts +2 -2
  22. package/dist/es2015/config/command-icons.js +4 -2
  23. package/dist/es2015/config/commands.js +31 -30
  24. package/dist/es2015/editor-toolbar-state.js +20 -2
  25. package/dist/es2015/editor.component.d.ts +5 -0
  26. package/dist/es2015/editor.component.js +10 -4
  27. package/dist/es2015/editor.module.js +7 -1
  28. package/dist/es2015/index.d.ts +2 -0
  29. package/dist/es2015/index.js +2 -0
  30. package/dist/es2015/index.metadata.json +1 -1
  31. package/dist/es2015/localization/messages.d.ts +8 -0
  32. package/dist/es2015/localization/messages.js +8 -0
  33. package/dist/es2015/package-metadata.js +1 -1
  34. package/dist/es2015/tools/print/editor-print-button.directive.d.ts +33 -0
  35. package/dist/es2015/tools/print/editor-print-button.directive.js +64 -0
  36. package/dist/es2015/tools/select-all/select-all-button.directive.d.ts +29 -0
  37. package/dist/es2015/tools/select-all/select-all-button.directive.js +46 -0
  38. package/dist/es2015/tools/shared/editor-command-base.d.ts +3 -3
  39. package/dist/es2015/tools/shared/editor-command-base.js +9 -9
  40. package/dist/es2015/tools/shared/editor-command-button.d.ts +3 -3
  41. package/dist/es2015/tools/tables/editor-insert-table-button.component.d.ts +2 -3
  42. package/dist/es2015/tools/tables/editor-insert-table-button.component.js +13 -8
  43. package/dist/fesm2015/index.js +263 -57
  44. package/dist/fesm5/index.js +188 -61
  45. package/dist/npm/common/error-messages.js +2 -1
  46. package/dist/npm/common/styles.js +1 -1
  47. package/dist/npm/config/command-icons.js +4 -2
  48. package/dist/npm/config/commands.js +33 -31
  49. package/dist/npm/editor-toolbar-state.js +20 -2
  50. package/dist/npm/editor.component.js +6 -4
  51. package/dist/npm/editor.module.js +7 -1
  52. package/dist/npm/index.js +4 -0
  53. package/dist/npm/localization/messages.js +8 -0
  54. package/dist/npm/package-metadata.js +1 -1
  55. package/dist/npm/tools/print/editor-print-button.directive.js +69 -0
  56. package/dist/npm/tools/select-all/select-all-button.directive.js +50 -0
  57. package/dist/npm/tools/shared/editor-command-base.js +10 -10
  58. package/dist/npm/tools/tables/editor-insert-table-button.component.js +5 -8
  59. package/dist/systemjs/kendo-angular-editor.js +1 -1
  60. package/package.json +1 -1
@@ -10,7 +10,7 @@ import { take, filter, auditTime, map, concatMap, takeUntil } from 'rxjs/operato
10
10
  import { ToolBarComponent, ToolBarToolComponent, ToolBarButtonComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
11
11
  import { DialogRef, DialogContentBase, DialogService, DialogModule } from '@progress/kendo-angular-dialog';
12
12
  import { isDocumentAvailable, guid, KendoInput, Keys } from '@progress/kendo-angular-common';
13
- import { nodes, Schema, marks, SelectionRange, TextSelection, Fragment, Slice, Selection, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
13
+ import { nodes, Schema, marks, SelectionRange, TextSelection, Fragment, Slice, Selection, NodeSelection, insertNode, expandToWordWrap, toggleInlineFormat, bold, cleanFormatting, applyLink, applyInlineStyle, insertText, italic, strikethrough, subscript, superscript, underline, removeLink, link, selectAll, isAligned, alignCenterRules, alignBlocks, alignRemoveRules, alignJustifyRules, alignLeftRules, alignRightRules, formatBlockElements, getHtml, indent, insertImage, toggleOrderedList, toggleUnorderedList, outdent, redo, setHtml, undo, hasMark, activeNode, canIndentAsListItem, canBeIndented, indentRules, hasNode, canOutdentAsListItem, outdentRules, getActiveMarks, expandSelection, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell, deleteTable, getNodeFromSelection, getMark, getSelectionText, parseContent, Plugin, PluginKey, history, keymap, buildListKeymap, buildKeymap, baseKeymap, gapCursor, imageResizing, placeholder, EditorState, EditorView, hasSameMarkup, pasteCleanup, removeComments, sanitize, removeAttribute, sanitizeStyleAttr, sanitizeClassAttr } from '@progress/kendo-editor-common';
14
14
  export { Schema, EditorState, Plugin, PluginKey, Transaction, EditorView, Decoration, DecorationSet, NodeType, Node, MarkType, Mark, InputRule, inputRules, wrappingInputRule, textblockTypeInputRule, keymap, baseKeymap, history, dropCursor, gapCursor, tableNodes, getSelectionText } from '@progress/kendo-editor-common';
15
15
  import { validatePackage } from '@progress/kendo-licensing';
16
16
  import { L10N_PREFIX, RTL, MessageService, LocalizationService, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -27,7 +27,7 @@ var packageMetadata = {
27
27
  name: '@progress/kendo-angular-editor',
28
28
  productName: 'Kendo UI for Angular',
29
29
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
30
- publishDate: 1635941024,
30
+ publishDate: 1637743184,
31
31
  version: '',
32
32
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
33
33
  };
@@ -1651,7 +1651,7 @@ var deleteTableElement = function (selector) { return function (state, dispatch)
1651
1651
  var deleteTable$1 = deleteTableElement(isTable);
1652
1652
 
1653
1653
  var alignRemove = function (state, dispatch) { return alignBlocks(alignRemoveRules)(state, dispatch); };
1654
- var ɵ1$5 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, bold, { applyToWord: applyToWord })); }, ɵ2$4 = function (options) { return cleanFormatting(options); }, ɵ3$4 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ4$2 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-family', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ5$2 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-size', value: attrs.value + 'px', applyToWord: attrs.applyToWord }); }, ɵ6$1 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs, applyToWord: attrs.applyToWord }); }, ɵ7$1 = function (text) { return insertText(text); }, ɵ8$1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, italic, { applyToWord: applyToWord })); }, ɵ9$1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, strikethrough, { applyToWord: applyToWord })); }, ɵ10 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, subscript, { applyToWord: applyToWord })); }, ɵ11 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, superscript, { applyToWord: applyToWord })); }, ɵ12 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, underline, { applyToWord: applyToWord })); }, ɵ13 = function () { return removeLink(link); }, ɵ14 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ15 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'background-color', value: attrs.value, applyToWord: attrs.applyToWord }); };
1654
+ var ɵ1$5 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, bold, { applyToWord: applyToWord })); }, ɵ2$4 = function (options) { return cleanFormatting(options); }, ɵ3$4 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ4$2 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-family', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ5$2 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-size', value: attrs.value + 'px', applyToWord: attrs.applyToWord }); }, ɵ6$1 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs, applyToWord: attrs.applyToWord }); }, ɵ7$1 = function (text) { return insertText(text); }, ɵ8$1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, italic, { applyToWord: applyToWord })); }, ɵ9$1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, strikethrough, { applyToWord: applyToWord })); }, ɵ10 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, subscript, { applyToWord: applyToWord })); }, ɵ11 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, superscript, { applyToWord: applyToWord })); }, ɵ12 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, __assign({}, underline, { applyToWord: applyToWord })); }, ɵ13 = function () { return removeLink(link); }, ɵ14 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ15 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'background-color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ16 = function () { return function (state, dispatch) { return selectAll(state, dispatch); }; };
1655
1655
  var inlineCommand = {
1656
1656
  bold: ɵ1$5,
1657
1657
  cleanFormatting: ɵ2$4,
@@ -1667,42 +1667,43 @@ var inlineCommand = {
1667
1667
  underline: ɵ12,
1668
1668
  unlink: ɵ13,
1669
1669
  foreColor: ɵ14,
1670
- backColor: ɵ15
1670
+ backColor: ɵ15,
1671
+ selectAll: ɵ16
1671
1672
  };
1672
- var ɵ16 = function () { return function (state, dispatch) { return isAligned(state, alignCenterRules) ? alignRemove(state, dispatch) : alignBlocks(alignCenterRules)(state, dispatch); }; }, ɵ17 = function () { return function (state, dispatch) { return isAligned(state, alignJustifyRules) ? alignRemove(state, dispatch) : alignBlocks(alignJustifyRules)(state, dispatch); }; }, ɵ18 = function () { return function (state, dispatch) { return isAligned(state, alignLeftRules) ? alignRemove(state, dispatch) : alignBlocks(alignLeftRules)(state, dispatch); }; }, ɵ19 = function () { return function (state, dispatch) { return isAligned(state, alignRightRules) ? alignRemove(state, dispatch) : alignBlocks(alignRightRules)(state, dispatch); }; }, ɵ20 = function (formatAttr) { return formatBlockElements(formatAttr.tag); }, ɵ21 = function () { return getHtml; }, ɵ22 = function () { return indent; }, ɵ23 = function (attrs) { return insertImage(attrs); }, ɵ24 = function () { return toggleOrderedList; }, ɵ25 = function () { return toggleUnorderedList; }, ɵ26 = function () { return outdent; }, ɵ27 = function () { return redo; }, ɵ28 = function (_a) {
1673
+ var ɵ17 = function () { return function (state, dispatch) { return isAligned(state, alignCenterRules) ? alignRemove(state, dispatch) : alignBlocks(alignCenterRules)(state, dispatch); }; }, ɵ18 = function () { return function (state, dispatch) { return isAligned(state, alignJustifyRules) ? alignRemove(state, dispatch) : alignBlocks(alignJustifyRules)(state, dispatch); }; }, ɵ19 = function () { return function (state, dispatch) { return isAligned(state, alignLeftRules) ? alignRemove(state, dispatch) : alignBlocks(alignLeftRules)(state, dispatch); }; }, ɵ20 = function () { return function (state, dispatch) { return isAligned(state, alignRightRules) ? alignRemove(state, dispatch) : alignBlocks(alignRightRules)(state, dispatch); }; }, ɵ21 = function (formatAttr) { return formatBlockElements(formatAttr.tag); }, ɵ22 = function () { return getHtml; }, ɵ23 = function () { return indent; }, ɵ24 = function (attrs) { return insertImage(attrs); }, ɵ25 = function () { return toggleOrderedList; }, ɵ26 = function () { return toggleUnorderedList; }, ɵ27 = function () { return outdent; }, ɵ28 = function () { return redo; }, ɵ29 = function (_a) {
1673
1674
  var content = _a.content, parseOptions = _a.parseOptions;
1674
1675
  return setHtml(content, 'setHTML', parseOptions);
1675
- }, ɵ29 = function () { return undo; };
1676
+ }, ɵ30 = function () { return undo; };
1676
1677
  var blockCommand = {
1677
- alignCenter: ɵ16,
1678
- alignJustify: ɵ17,
1679
- alignLeft: ɵ18,
1680
- alignRight: ɵ19,
1681
- format: ɵ20,
1682
- getHTML: ɵ21,
1683
- indent: ɵ22,
1684
- insertImage: ɵ23,
1678
+ alignCenter: ɵ17,
1679
+ alignJustify: ɵ18,
1680
+ alignLeft: ɵ19,
1681
+ alignRight: ɵ20,
1682
+ format: ɵ21,
1683
+ getHTML: ɵ22,
1684
+ indent: ɵ23,
1685
+ insertImage: ɵ24,
1685
1686
  // think about changing the command name.
1686
- insertOrderedList: ɵ24,
1687
+ insertOrderedList: ɵ25,
1687
1688
  // think about changing the command name.
1688
- insertUnorderedList: ɵ25,
1689
- outdent: ɵ26,
1690
- redo: ɵ27,
1691
- setHTML: ɵ28,
1692
- undo: ɵ29
1689
+ insertUnorderedList: ɵ26,
1690
+ outdent: ɵ27,
1691
+ redo: ɵ28,
1692
+ setHTML: ɵ29,
1693
+ undo: ɵ30
1693
1694
  };
1694
- var ɵ30 = function (attr) { return insertTable(attr); }, ɵ31 = function () { return addColumnBefore$1; }, ɵ32 = function () { return addColumnAfter$1; }, ɵ33 = function () { return addRowBefore$1; }, ɵ34 = function () { return addRowAfter$1; }, ɵ35 = function () { return deleteRow$1; }, ɵ36 = function () { return deleteColumn$1; }, ɵ37 = function () { return mergeCells$1; }, ɵ38 = function () { return splitCell$1; }, ɵ39 = function () { return deleteTable$1; };
1695
+ var ɵ31 = function (attr) { return insertTable(attr); }, ɵ32 = function () { return addColumnBefore$1; }, ɵ33 = function () { return addColumnAfter$1; }, ɵ34 = function () { return addRowBefore$1; }, ɵ35 = function () { return addRowAfter$1; }, ɵ36 = function () { return deleteRow$1; }, ɵ37 = function () { return deleteColumn$1; }, ɵ38 = function () { return mergeCells$1; }, ɵ39 = function () { return splitCell$1; }, ɵ40 = function () { return deleteTable$1; };
1695
1696
  var tableCommand = {
1696
- insertTable: ɵ30,
1697
- addColumnBefore: ɵ31,
1698
- addColumnAfter: ɵ32,
1699
- addRowBefore: ɵ33,
1700
- addRowAfter: ɵ34,
1701
- deleteRow: ɵ35,
1702
- deleteColumn: ɵ36,
1703
- mergeCells: ɵ37,
1704
- splitCell: ɵ38,
1705
- deleteTable: ɵ39
1697
+ insertTable: ɵ31,
1698
+ addColumnBefore: ɵ32,
1699
+ addColumnAfter: ɵ33,
1700
+ addRowBefore: ɵ34,
1701
+ addRowAfter: ɵ35,
1702
+ deleteRow: ɵ36,
1703
+ deleteColumn: ɵ37,
1704
+ mergeCells: ɵ38,
1705
+ splitCell: ɵ39,
1706
+ deleteTable: ɵ40
1706
1707
  };
1707
1708
  /**
1708
1709
  * @hidden
@@ -1769,6 +1770,10 @@ var getToolbarState = function (state, options) { return ({
1769
1770
  selected: false,
1770
1771
  disabled: !redo(state)
1771
1772
  },
1773
+ selectAll: {
1774
+ selected: false,
1775
+ disabled: false
1776
+ },
1772
1777
  strikethrough: {
1773
1778
  selected: hasMark(state, strikethrough),
1774
1779
  disabled: false
@@ -1818,6 +1823,12 @@ var getToolbarState = function (state, options) { return ({
1818
1823
  selected: false,
1819
1824
  disabled: false
1820
1825
  },
1826
+ // print
1827
+ print: {
1828
+ selected: false,
1829
+ disabled: false
1830
+ },
1831
+ // table
1821
1832
  insertTable: {
1822
1833
  selected: false,
1823
1834
  disabled: false
@@ -1890,6 +1901,8 @@ var initialToolBarState = {
1890
1901
  //history
1891
1902
  redo: { selected: false, disabled: true },
1892
1903
  undo: { selected: false, disabled: true },
1904
+ // print
1905
+ print: { selected: false, disabled: false },
1893
1906
  //dialogs
1894
1907
  createLink: { selected: false, disabled: true },
1895
1908
  insertFile: { selected: false, disabled: true },
@@ -1905,7 +1918,9 @@ var initialToolBarState = {
1905
1918
  deleteColumn: { selected: false, disabled: true },
1906
1919
  mergeCells: { selected: false, disabled: true },
1907
1920
  splitCell: { selected: false, disabled: true },
1908
- deleteTable: { selected: false, disabled: true }
1921
+ deleteTable: { selected: false, disabled: true },
1922
+ // select all
1923
+ selectAll: { selected: false, disabled: false }
1909
1924
  };
1910
1925
  /**
1911
1926
  * @hidden
@@ -1938,6 +1953,8 @@ var disabledToolBarState = {
1938
1953
  //history
1939
1954
  redo: { selected: false, disabled: true },
1940
1955
  undo: { selected: false, disabled: true },
1956
+ // print
1957
+ print: { selected: false, disabled: true },
1941
1958
  //dialogs
1942
1959
  createLink: { selected: false, disabled: true },
1943
1960
  insertFile: { selected: false, disabled: true },
@@ -1953,7 +1970,9 @@ var disabledToolBarState = {
1953
1970
  deleteColumn: { selected: false, disabled: true },
1954
1971
  mergeCells: { selected: false, disabled: true },
1955
1972
  splitCell: { selected: false, disabled: true },
1956
- deleteTable: { selected: false, disabled: true }
1973
+ deleteTable: { selected: false, disabled: true },
1974
+ // select all
1975
+ selectAll: { selected: false, disabled: true }
1957
1976
  };
1958
1977
 
1959
1978
  /**
@@ -2244,7 +2263,7 @@ var FileLinkDialogComponent = /** @class */ (function (_super) {
2244
2263
  /**
2245
2264
  * @hidden
2246
2265
  */
2247
- var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";
2266
+ var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* image resizing */\n.k-editor-resize-handles-wrapper {\n position: absolute;\n visibility: hidden;\n}\n\n.k-editor-resize-handle {\n position: absolute;\n visibility: visible;\n background-color: #fff;\n border: 1px solid #000;\n z-index: 100;\n width: 5px;\n height: 5px;\n}\n\n.k-editor-resize-handle.northwest {\n top: 0;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: nw-resize;\n}\n\n.k-editor-resize-handle.north {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: n-resize;\n}\n\n.k-editor-resize-handle.northeast {\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n cursor: ne-resize;\n}\n\n.k-editor-resize-handle.southwest {\n left: 0;\n bottom: 0;\n transform: translate(-50%, 50%);\n cursor: sw-resize;\n}\n\n.k-editor-resize-handle.south {\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n cursor: s-resize;\n}\n\n.k-editor-resize-handle.southeast {\n right: 0;\n bottom: 0;\n transform: translate(50%, 50%);\n cursor: se-resize;\n}\n\n.k-editor-resize-handle.west {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: w-resize;\n}\n\n.k-editor-resize-handle.east {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n cursor: e-resize;\n}\n";
2248
2267
  /**
2249
2268
  * @hidden
2250
2269
  */
@@ -2264,7 +2283,8 @@ var EditorErrorMessages = {
2264
2283
  setSchemaOnce: 'The Schema cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/schema/',
2265
2284
  pluginsCallbackType: ɵ0$6,
2266
2285
  setPluginsOnce: 'The plugins cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/plugins/',
2267
- setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/'
2286
+ setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/',
2287
+ printTool: 'The Print tool and functionality are supported only in iframe mode. See https://www.telerik.com/kendo-angular-ui-develop/components/editor/api/EditorPrintButtonDirective/'
2268
2288
  };
2269
2289
 
2270
2290
  var EMPTY_PARAGRAPH = '<p></p>';
@@ -2306,6 +2326,7 @@ var EditorComponent = /** @class */ (function () {
2306
2326
  /**
2307
2327
  * If set to `false`, the Editor will run in style non-encapsulated mode. This means
2308
2328
  * that the styles of the page will be persisted in the Editor and its content will be affected by them.
2329
+ * @default true
2309
2330
  */
2310
2331
  this.iframe = true;
2311
2332
  /**
@@ -2802,7 +2823,6 @@ var EditorComponent = /** @class */ (function () {
2802
2823
  * Manually focus the Editor.
2803
2824
  */
2804
2825
  EditorComponent.prototype.focus = function () {
2805
- // this.focusChangedProgrammatically = true;
2806
2826
  this.focusChangedProgrammatically = true;
2807
2827
  this._view.focus();
2808
2828
  this.focusChangedProgrammatically = false;
@@ -2911,7 +2931,8 @@ var EditorComponent = /** @class */ (function () {
2911
2931
  keymap(buildListKeymap(currentSchema)),
2912
2932
  keymap(buildKeymap(currentSchema, { applyToWord: this.applyToWord })),
2913
2933
  keymap(baseKeymap),
2914
- gapCursor()
2934
+ gapCursor(),
2935
+ imageResizing()
2915
2936
  ];
2916
2937
  if (this.placeholder) {
2917
2938
  defaultPlugins.push(placeholder(this.placeholder));
@@ -2973,8 +2994,9 @@ var EditorComponent = /** @class */ (function () {
2973
2994
  if (_this.readonly) {
2974
2995
  contentAreaClasslist_1.add('k-state-focused');
2975
2996
  }
2976
- if (!_this.focusChangedProgrammatically) {
2997
+ if (!_this.focusChangedProgrammatically || _this.shouldEmitFocus) {
2977
2998
  _this.ngZone.run(function () { return _this.onFocus.emit(); });
2999
+ _this.shouldEmitFocus = false;
2978
3000
  }
2979
3001
  }));
2980
3002
  this.subs.add(fromEvent(containerElement, 'focusout')
@@ -3219,7 +3241,7 @@ var EditorComponent = /** @class */ (function () {
3219
3241
  }
3220
3242
  ],
3221
3243
  /* tslint:disable:max-line-length */
3222
- template: "\n <ng-container\n kendoEditorLocalizedMessages\n i18n-alignCenter=\"kendo.editor.alignCenter|The title of the tool that aligns text in the center.\"\n alignCenter=\"Center text\"\n i18n-alignJustify=\"kendo.editor.alignJustify|The title of the tool that justifies text both left and right.\"\n alignJustify=\"Justify\"\n i18n-alignLeft=\"kendo.editor.alignLeft|The title of the tool that aligns text on the left.\"\n alignLeft=\"Align text left\"\n i18n-alignRight=\"kendo.editor.alignRight|The title of the tool that aligns text on the right.\"\n alignRight=\"Align text right\"\n i18n-backColor=\"kendo.editor.backColor|The title of the tool that changes the text background color.\"\n backColor=\"Background color\"\n i18n-bold=\"kendo.editor.bold|The title of the tool that makes text bold.\"\n bold=\"Bold\"\n i18n-cleanFormatting=\"kendo.editor.cleanFormatting|The title of the Clean Formatting tool.\"\n cleanFormatting=\"Clean formatting\"\n i18n-createLink=\"kendo.editor.createLink|The title of the tool that creates hyperlinks.\"\n createLink=\"Insert link\"\n i18n-dialogApply=\"kendo.editor.dialogApply|The label of the **Apply** button in all editor dialogs.\"\n dialogApply=\"Apply\"\n i18n-dialogCancel=\"kendo.editor.dialogCancel|The label of the **Cancel** button in all editor dialogs.\"\n dialogCancel=\"Cancel\"\n i18n-dialogInsert=\"kendo.editor.dialogInsert|The label of the **Insert** button in all editor dialogs.\"\n dialogInsert=\"Insert\"\n i18n-dialogUpdate=\"kendo.editor.dialogUpdate|The label of the **Update** button in all editor dialogs.\"\n dialogUpdate=\"Update\"\n i18n-fileText=\"kendo.editor.fileText|The caption for the file text in the insertFile dialog.\"\n fileText=\"Text\"\n i18n-fileTitle=\"kendo.editor.fileTitle|The caption for the file Title in the insertFile dialog.\"\n fileTitle=\"Title\"\n i18n-fileWebAddress=\"kendo.editor.fileWebAddress|The caption for the file URL in the insertFile dialog.\"\n fileWebAddress=\"Web address\"\n i18n-fontFamily=\"kendo.editor.fontFamily|The title of the tool that changes the text font.\"\n fontFamily=\"Select font family\"\n i18n-fontSize=\"kendo.editor.fontSize|The title of the tool that changes the text size.\"\n fontSize=\"Select font size\"\n i18n-foreColor=\"kendo.editor.foreColor|The title of the tool that changes the text color.\"\n foreColor=\"Color\"\n i18n-format=\"kendo.editor.format|The title of the tool that lets users choose block formats.\"\n format=\"Format\"\n i18n-imageAltText=\"kendo.editor.imageAltText|The caption for the image alternate text in the insertImage dialog.\"\n imageAltText=\"Alternate text\"\n i18n-imageHeight=\"kendo.editor.imageHeight|The caption for the image height in the insertImage dialog.\"\n imageHeight=\"Height (px)\"\n i18n-imageWebAddress=\"kendo.editor.imageWebAddress|The caption for the image URL in the insertImage dialog.\"\n imageWebAddress=\"Web address\"\n i18n-imageWidth=\"kendo.editor.imageWidth|The caption for the image width in the insertImage dialog.\"\n imageWidth=\"Width (px)\"\n i18n-indent=\"kendo.editor.indent|The title of the tool that indents the content.\"\n indent=\"Indent\"\n i18n-insertFile=\"kendo.editor.insertFile|The title of the tool that inserts links to files.\"\n insertFile=\"Insert file\"\n i18n-insertImage=\"kendo.editor.insertImage|The title of the tool that inserts images.\"\n insertImage=\"Insert image\"\n i18n-insertOrderedList=\"kendo.editor.insertOrderedList|The title of the tool that inserts an ordered list.\"\n insertOrderedList=\"Insert ordered list\"\n i18n-insertUnorderedList=\"kendo.editor.insertUnorderedList|The title of the tool that inserts an unordered list.\"\n insertUnorderedList=\"Insert unordered list\"\n i18n-italic=\"kendo.editor.italic|The title of the tool that makes text italicized.\"\n italic=\"Italic\"\n i18n-linkOpenInNewWindow=\"kendo.editor.linkOpenInNewWindow|The caption for the checkbox for opening the link in a new window in the createLink dialog.\"\n linkOpenInNewWindow=\"Open link in new window\"\n i18n-linkText=\"kendo.editor.linkText|The caption for the link text in the createLink dialog.\"\n linkText=\"Text\"\n i18n-linkTitle=\"kendo.editor.linkTitle|The caption for the link title in the createLink dialog.\"\n linkTitle=\"Title\"\n i18n-linkWebAddress=\"kendo.editor.linkWebAddress|The caption for the URL in the createLink dialog.\"\n linkWebAddress=\"Web address\"\n i18n-outdent=\"kendo.editor.outdent|The title of the tool that outdents the content.\"\n outdent=\"Outdent\"\n i18n-redo=\"kendo.editor.redo|The title of the tool that undos the last action.\"\n redo=\"Redo\"\n i18n-strikethrough=\"kendo.editor.strikethrough|The title of the tool that strikes through text.\"\n strikethrough=\"Strikethrough\"\n i18n-subscript=\"kendo.editor.subscript|The title of the tool that makes text subscript.\"\n subscript=\"Subscript\"\n i18n-superscript=\"kendo.editor.superscript|The title of the tool that makes text superscript.\"\n superscript=\"Superscript\"\n i18n-underline=\"kendo.editor.underline|The title of the tool that underlines text.\"\n underline=\"Underline\"\n i18n-unlink=\"kendo.editor.unlink|The title of the tool that removes hyperlinks.\"\n unlink=\"Remove Link\"\n i18n-undo=\"kendo.editor.undo|The title of the tool that undos the last action.\"\n undo=\"Undo\"\n i18n-viewSource=\"kendo.editor.viewSource|The title of the tool that shows the editor value as HTML.\"\n viewSource=\"View source\"\n i18n-insertTable=\"kendo.editor.insertTable|The title of the tool that inserts table.\"\n insertTable=\"Insert Table\"\n i18n-addColumnBefore=\"kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column.\"\n addColumnBefore=\"Add column before\"\n i18n-addColumnAfter=\"kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column.\"\n addColumnAfter=\"Add column after\"\n i18n-addRowBefore=\"kendo.editor.addRowBefore|The title of the tool that adds new row before currently selected row.\"\n addRowBefore=\"Add row before\"\n i18n-addRowAfter=\"kendo.editor.addRowAfter|The title of the tool that adds new row after currently selected row.\"\n addRowAfter=\"Add row after\"\n i18n-deleteColumn=\"kendo.editor.deleteColumn|The title of the tool that deletes a table column.\"\n deleteColumn=\"Delete column\"\n i18n-deleteRow=\"kendo.editor.deleteRow|The title of the tool that deletes a table row.\"\n deleteRow=\"Delete row\"\n i18n-deleteTable=\"kendo.editor.deleteTable|The title of the tool that deletes a table.\"\n deleteTable=\"Delete table\"\n >\n </ng-container>\n\n <ng-content select=\"kendo-toolbar\"></ng-content>\n <kendo-toolbar [overflow]=\"true\" [tabindex]=\"readonly ? -1 : 0\" *ngIf=\"!userToolBarElement\" #defaultToolbar>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorBoldButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorItalicButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnderlineButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-dropdownlist kendoEditorFormat></kendo-toolbar-dropdownlist>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorAlignLeftButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignCenterButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignRightButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignJustifyButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertUnorderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorInsertOrderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorIndentButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorOutdentButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorCreateLinkButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnlinkButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertImageButton></kendo-toolbar-button>\n </kendo-toolbar>\n\n <div *ngIf=\"!iframe\" #content [attr.dir]=\"direction\" class=\"k-editor-content\"></div>\n\n <div class=\"k-editor-content\" *ngIf=\"iframe\">\n <iframe #content frameborder=\"0\" class=\"k-iframe\" (load)=\"iframeOnLoad()\"></iframe>\n </div>\n\n <ng-container #dialogsContainer></ng-container>\n ",
3244
+ template: "\n <ng-container\n kendoEditorLocalizedMessages\n i18n-alignCenter=\"kendo.editor.alignCenter|The title of the tool that aligns text in the center.\"\n alignCenter=\"Center text\"\n i18n-alignJustify=\"kendo.editor.alignJustify|The title of the tool that justifies text both left and right.\"\n alignJustify=\"Justify\"\n i18n-alignLeft=\"kendo.editor.alignLeft|The title of the tool that aligns text on the left.\"\n alignLeft=\"Align text left\"\n i18n-alignRight=\"kendo.editor.alignRight|The title of the tool that aligns text on the right.\"\n alignRight=\"Align text right\"\n i18n-backColor=\"kendo.editor.backColor|The title of the tool that changes the text background color.\"\n backColor=\"Background color\"\n i18n-bold=\"kendo.editor.bold|The title of the tool that makes text bold.\"\n bold=\"Bold\"\n i18n-cleanFormatting=\"kendo.editor.cleanFormatting|The title of the Clean Formatting tool.\"\n cleanFormatting=\"Clean formatting\"\n i18n-createLink=\"kendo.editor.createLink|The title of the tool that creates hyperlinks.\"\n createLink=\"Insert link\"\n i18n-dialogApply=\"kendo.editor.dialogApply|The label of the **Apply** button in all editor dialogs.\"\n dialogApply=\"Apply\"\n i18n-dialogCancel=\"kendo.editor.dialogCancel|The label of the **Cancel** button in all editor dialogs.\"\n dialogCancel=\"Cancel\"\n i18n-dialogInsert=\"kendo.editor.dialogInsert|The label of the **Insert** button in all editor dialogs.\"\n dialogInsert=\"Insert\"\n i18n-dialogUpdate=\"kendo.editor.dialogUpdate|The label of the **Update** button in all editor dialogs.\"\n dialogUpdate=\"Update\"\n i18n-fileText=\"kendo.editor.fileText|The caption for the file text in the insertFile dialog.\"\n fileText=\"Text\"\n i18n-fileTitle=\"kendo.editor.fileTitle|The caption for the file Title in the insertFile dialog.\"\n fileTitle=\"Title\"\n i18n-fileWebAddress=\"kendo.editor.fileWebAddress|The caption for the file URL in the insertFile dialog.\"\n fileWebAddress=\"Web address\"\n i18n-fontFamily=\"kendo.editor.fontFamily|The title of the tool that changes the text font.\"\n fontFamily=\"Select font family\"\n i18n-fontSize=\"kendo.editor.fontSize|The title of the tool that changes the text size.\"\n fontSize=\"Select font size\"\n i18n-foreColor=\"kendo.editor.foreColor|The title of the tool that changes the text color.\"\n foreColor=\"Color\"\n i18n-format=\"kendo.editor.format|The title of the tool that lets users choose block formats.\"\n format=\"Format\"\n i18n-imageAltText=\"kendo.editor.imageAltText|The caption for the image alternate text in the insertImage dialog.\"\n imageAltText=\"Alternate text\"\n i18n-imageHeight=\"kendo.editor.imageHeight|The caption for the image height in the insertImage dialog.\"\n imageHeight=\"Height (px)\"\n i18n-imageWebAddress=\"kendo.editor.imageWebAddress|The caption for the image URL in the insertImage dialog.\"\n imageWebAddress=\"Web address\"\n i18n-imageWidth=\"kendo.editor.imageWidth|The caption for the image width in the insertImage dialog.\"\n imageWidth=\"Width (px)\"\n i18n-indent=\"kendo.editor.indent|The title of the tool that indents the content.\"\n indent=\"Indent\"\n i18n-insertFile=\"kendo.editor.insertFile|The title of the tool that inserts links to files.\"\n insertFile=\"Insert file\"\n i18n-insertImage=\"kendo.editor.insertImage|The title of the tool that inserts images.\"\n insertImage=\"Insert image\"\n i18n-insertOrderedList=\"kendo.editor.insertOrderedList|The title of the tool that inserts an ordered list.\"\n insertOrderedList=\"Insert ordered list\"\n i18n-insertUnorderedList=\"kendo.editor.insertUnorderedList|The title of the tool that inserts an unordered list.\"\n insertUnorderedList=\"Insert unordered list\"\n i18n-italic=\"kendo.editor.italic|The title of the tool that makes text italicized.\"\n italic=\"Italic\"\n i18n-linkOpenInNewWindow=\"kendo.editor.linkOpenInNewWindow|The caption for the checkbox for opening the link in a new window in the createLink dialog.\"\n linkOpenInNewWindow=\"Open link in new window\"\n i18n-linkText=\"kendo.editor.linkText|The caption for the link text in the createLink dialog.\"\n linkText=\"Text\"\n i18n-linkTitle=\"kendo.editor.linkTitle|The caption for the link title in the createLink dialog.\"\n linkTitle=\"Title\"\n i18n-linkWebAddress=\"kendo.editor.linkWebAddress|The caption for the URL in the createLink dialog.\"\n linkWebAddress=\"Web address\"\n i18n-outdent=\"kendo.editor.outdent|The title of the tool that outdents the content.\"\n outdent=\"Outdent\"\n i18n-print=\"kendo.editor.print|The title of the print tool.\"\n print=\"Print\"\n i18n-redo=\"kendo.editor.redo|The title of the tool that undos the last action.\"\n redo=\"Redo\"\n i18n-selectAll=\"kendo.editor.selectAll|The title of the tool that selects all content.\"\n selectAll=\"Select All\"\n i18n-strikethrough=\"kendo.editor.strikethrough|The title of the tool that strikes through text.\"\n strikethrough=\"Strikethrough\"\n i18n-subscript=\"kendo.editor.subscript|The title of the tool that makes text subscript.\"\n subscript=\"Subscript\"\n i18n-superscript=\"kendo.editor.superscript|The title of the tool that makes text superscript.\"\n superscript=\"Superscript\"\n i18n-underline=\"kendo.editor.underline|The title of the tool that underlines text.\"\n underline=\"Underline\"\n i18n-unlink=\"kendo.editor.unlink|The title of the tool that removes hyperlinks.\"\n unlink=\"Remove Link\"\n i18n-undo=\"kendo.editor.undo|The title of the tool that undos the last action.\"\n undo=\"Undo\"\n i18n-viewSource=\"kendo.editor.viewSource|The title of the tool that shows the editor value as HTML.\"\n viewSource=\"View source\"\n i18n-insertTable=\"kendo.editor.insertTable|The title of the tool that inserts table.\"\n insertTable=\"Insert Table\"\n i18n-addColumnBefore=\"kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column.\"\n addColumnBefore=\"Add column before\"\n i18n-addColumnAfter=\"kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column.\"\n addColumnAfter=\"Add column after\"\n i18n-addRowBefore=\"kendo.editor.addRowBefore|The title of the tool that adds new row before currently selected row.\"\n addRowBefore=\"Add row before\"\n i18n-addRowAfter=\"kendo.editor.addRowAfter|The title of the tool that adds new row after currently selected row.\"\n addRowAfter=\"Add row after\"\n i18n-deleteColumn=\"kendo.editor.deleteColumn|The title of the tool that deletes a table column.\"\n deleteColumn=\"Delete column\"\n i18n-deleteRow=\"kendo.editor.deleteRow|The title of the tool that deletes a table row.\"\n deleteRow=\"Delete row\"\n i18n-deleteTable=\"kendo.editor.deleteTable|The title of the tool that deletes a table.\"\n deleteTable=\"Delete table\"\n >\n </ng-container>\n\n <ng-content select=\"kendo-toolbar\"></ng-content>\n <kendo-toolbar [overflow]=\"true\" [tabindex]=\"readonly ? -1 : 0\" *ngIf=\"!userToolBarElement\" #defaultToolbar>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorBoldButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorItalicButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnderlineButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-dropdownlist kendoEditorFormat></kendo-toolbar-dropdownlist>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorAlignLeftButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignCenterButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignRightButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignJustifyButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertUnorderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorInsertOrderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorIndentButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorOutdentButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorCreateLinkButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnlinkButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertImageButton></kendo-toolbar-button>\n </kendo-toolbar>\n\n <div *ngIf=\"!iframe\" #content [attr.dir]=\"direction\" class=\"k-editor-content\"></div>\n\n <div class=\"k-editor-content\" *ngIf=\"iframe\">\n <iframe #content frameborder=\"0\" class=\"k-iframe\" (load)=\"iframeOnLoad()\"></iframe>\n </div>\n\n <ng-container #dialogsContainer></ng-container>\n ",
3223
3245
  styles: [
3224
3246
  "\n >>> .k-editor-content > .ProseMirror {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n outline: none;\n overflow: auto;\n }\n\n .k-iframe {\n width: 100%;\n height: 100%;\n display: block;\n }\n "
3225
3247
  ]
@@ -4477,9 +4499,6 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4477
4499
  return _this;
4478
4500
  }
4479
4501
  EditorInsertTableButtonComponent_1 = EditorInsertTableButtonComponent;
4480
- EditorInsertTableButtonComponent.prototype.ngAfterViewInit = function () {
4481
- this.getButton().tabIndex = -1;
4482
- };
4483
4502
  EditorInsertTableButtonComponent.prototype.ngOnDestroy = function () {
4484
4503
  this.destroyPopup();
4485
4504
  if (this.subs) {
@@ -4530,7 +4549,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4530
4549
  * @hidden
4531
4550
  */
4532
4551
  EditorInsertTableButtonComponent.prototype.onBlur = function () {
4533
- this.getButton().tabIndex = -1;
4552
+ this.tabIndex = -1;
4534
4553
  this.buttonBlurred.emit();
4535
4554
  };
4536
4555
  /**
@@ -4551,8 +4570,8 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4551
4570
  * @hidden
4552
4571
  */
4553
4572
  EditorInsertTableButtonComponent.prototype.focus = function () {
4573
+ this.tabIndex = 0;
4554
4574
  this.getButton().focus();
4555
- this.getButton().tabIndex = 0;
4556
4575
  };
4557
4576
  /**
4558
4577
  * @hidden
@@ -4561,7 +4580,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4561
4580
  if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
4562
4581
  return true;
4563
4582
  }
4564
- this.getButton().tabIndex = -1;
4583
+ this.tabIndex = -1;
4565
4584
  return false;
4566
4585
  };
4567
4586
  /**
@@ -4604,7 +4623,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4604
4623
  __metadata("design:type", TemplateRef)
4605
4624
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
4606
4625
  __decorate([
4607
- ViewChild('popupTemplate', { static: true }),
4626
+ ViewChild('popupTemplate', { static: false }),
4608
4627
  __metadata("design:type", TemplateRef)
4609
4628
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
4610
4629
  __decorate([
@@ -4624,7 +4643,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
4624
4643
  // tslint:disable-next-line:no-forward-ref
4625
4644
  providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(function () { return EditorInsertTableButtonComponent_1; }) }],
4626
4645
  selector: 'kendo-editor-insert-table-button',
4627
- template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button kendoButton #overflowElement [attr.title]=\"title\" [icon]=\"'table-insert'\" [disabled]=\"disabled\" (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
4646
+ template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button\n kendoButton\n #overflowElement\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
4628
4647
  }),
4629
4648
  __param(0, Host()),
4630
4649
  __metadata("design:paramtypes", [EditorComponent,
@@ -4706,9 +4725,11 @@ var commandIcons = {
4706
4725
  alignJustify: 'align-justify',
4707
4726
  alignLeft: 'align-left',
4708
4727
  alignRight: 'align-right',
4728
+ backColor: 'background',
4709
4729
  bold: 'bold',
4710
4730
  cleanFormatting: 'clear-css',
4711
4731
  createLink: 'link-horizontal',
4732
+ foreColor: 'foreground-color',
4712
4733
  indent: 'indent-increase',
4713
4734
  insertFile: 'file-add',
4714
4735
  insertImage: 'image',
@@ -4716,7 +4737,9 @@ var commandIcons = {
4716
4737
  insertUnorderedList: 'list-unordered',
4717
4738
  italic: 'italic',
4718
4739
  outdent: 'indent-decrease',
4740
+ print: 'print',
4719
4741
  redo: 'redo',
4742
+ selectAll: 'select-all',
4720
4743
  strikethrough: 'strikethrough',
4721
4744
  subscript: 'sub-script',
4722
4745
  superscript: 'sup-script',
@@ -4724,8 +4747,6 @@ var commandIcons = {
4724
4747
  undo: 'undo',
4725
4748
  unlink: 'unlink-horizontal',
4726
4749
  viewSource: 'html',
4727
- foreColor: 'foreground-color',
4728
- backColor: 'background',
4729
4750
  //table
4730
4751
  insertTable: 'table-insert',
4731
4752
  addColumnBefore: 'table-column-insert-left',
@@ -4745,28 +4766,28 @@ var commandIcons = {
4745
4766
  */
4746
4767
  var EditorCommandBase = /** @class */ (function () {
4747
4768
  function EditorCommandBase(command, button, editor, localization) {
4769
+ var _this = this;
4748
4770
  this.command = command;
4749
4771
  this.button = button;
4750
4772
  this.editor = editor;
4751
4773
  this.localization = localization;
4752
- }
4753
- EditorCommandBase.prototype.ngOnInit = function () {
4754
- var _this = this;
4755
- this.subs = this.editor.stateChange.subscribe(this.onStateChange.bind(this));
4756
- this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
4757
- this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
4758
- Promise.resolve(null).then(function () {
4774
+ setTimeout(function () {
4759
4775
  var text = _this.localization.get(_this.command);
4760
4776
  if (text) {
4761
- _this.button.showText = "overflow";
4762
- _this.button.showIcon = "both";
4777
+ _this.button.showText = 'overflow';
4778
+ _this.button.showIcon = 'both';
4763
4779
  _this.button.text = text;
4764
4780
  }
4765
- if (!_this.button.icon) {
4781
+ if (!_this.button.toolbarOptions.icon) {
4766
4782
  _this.button.icon = commandIcons[_this.command];
4767
4783
  }
4768
4784
  _this.button.title = text;
4769
4785
  });
4786
+ }
4787
+ EditorCommandBase.prototype.ngOnInit = function () {
4788
+ this.subs = this.editor.stateChange.subscribe(this.onStateChange.bind(this));
4789
+ this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
4790
+ this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
4770
4791
  };
4771
4792
  EditorCommandBase.prototype.ngOnDestroy = function () {
4772
4793
  if (this.subs) {
@@ -5971,10 +5992,18 @@ var Messages = /** @class */ (function (_super) {
5971
5992
  Input(),
5972
5993
  __metadata("design:type", String)
5973
5994
  ], Messages.prototype, "outdent", void 0);
5995
+ __decorate([
5996
+ Input(),
5997
+ __metadata("design:type", String)
5998
+ ], Messages.prototype, "print", void 0);
5974
5999
  __decorate([
5975
6000
  Input(),
5976
6001
  __metadata("design:type", String)
5977
6002
  ], Messages.prototype, "redo", void 0);
6003
+ __decorate([
6004
+ Input(),
6005
+ __metadata("design:type", String)
6006
+ ], Messages.prototype, "selectAll", void 0);
5978
6007
  __decorate([
5979
6008
  Input(),
5980
6009
  __metadata("design:type", String)
@@ -6191,6 +6220,100 @@ var DropDownToolDirective = /** @class */ (function () {
6191
6220
  return DropDownToolDirective;
6192
6221
  }());
6193
6222
 
6223
+ /**
6224
+ * A directive which configures an existing `ToolBarButtonComponent` as an Editor Print tool
6225
+ * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
6226
+ * The directive will predefine the `icon` and `click` event handlers of the button.
6227
+ *
6228
+ * > The Editor Print tool is supported in the default [`iframe`](https://www.telerik.com/kendo-angular-ui-develop/components/editor/api/EditorComponent/#toc-iframe) mode only.
6229
+ *
6230
+ * @example
6231
+ * ```ts-no-run
6232
+ * <kendo-toolbar-button kendoEditorPrintButton></kendo-toolbar-button>
6233
+ * ```
6234
+ *
6235
+ * The following example demonstrates how to change the default icon that is applied by the directive.
6236
+ *
6237
+ * @example
6238
+ * ```ts-no-run
6239
+ * <kendo-toolbar-button kendoEditorPrintButton icon="blogger"></kendo-toolbar-button>
6240
+ * ```
6241
+ */
6242
+ var EditorPrintDirective = /** @class */ (function (_super) {
6243
+ __extends(EditorPrintDirective, _super);
6244
+ function EditorPrintDirective(button, editor, localization) {
6245
+ var _this = _super.call(this, 'print', button, editor, localization) || this;
6246
+ _this.editor = editor;
6247
+ return _this;
6248
+ }
6249
+ EditorPrintDirective.prototype.ngAfterViewInit = function () {
6250
+ if (isDevMode) {
6251
+ if (!this.editor.iframe) {
6252
+ throw new Error(EditorErrorMessages.printTool);
6253
+ }
6254
+ }
6255
+ };
6256
+ EditorPrintDirective.prototype.clickHandler = function () {
6257
+ if (this.editor.iframe) {
6258
+ var view = this.editor.view;
6259
+ var dom = view && view.dom;
6260
+ var doc = dom && dom.ownerDocument;
6261
+ var editorWindow = doc && doc.defaultView;
6262
+ if (editorWindow) {
6263
+ editorWindow.print();
6264
+ }
6265
+ }
6266
+ };
6267
+ EditorPrintDirective = __decorate([
6268
+ Directive({
6269
+ selector: 'kendo-toolbar-button[kendoEditorPrintButton]'
6270
+ }),
6271
+ __param(1, Host()),
6272
+ __metadata("design:paramtypes", [ToolBarButtonComponent,
6273
+ EditorComponent,
6274
+ EditorLocalizationService])
6275
+ ], EditorPrintDirective);
6276
+ return EditorPrintDirective;
6277
+ }(EditorCommandButton));
6278
+
6279
+ /**
6280
+ * A directive which configures an existing `ToolBarButtonComponent` as an Editor SelectAll tool
6281
+ * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
6282
+ * The directive will predefine the `icon` and `click` event handlers of the button.
6283
+ *
6284
+ * @example
6285
+ * ```ts-no-run
6286
+ * <kendo-toolbar-button kendoEditorSelectAllButton></kendo-toolbar-button>
6287
+ * ```
6288
+ *
6289
+ * The following example demonstrates how to change the default icon that is applied by the directive.
6290
+ *
6291
+ * @example
6292
+ * ```ts-no-run
6293
+ * <kendo-toolbar-button kendoEditorSelectAllButton icon="blogger"></kendo-toolbar-button>
6294
+ * ```
6295
+ */
6296
+ var EditorSelectAllButtonDirective = /** @class */ (function (_super) {
6297
+ __extends(EditorSelectAllButtonDirective, _super);
6298
+ function EditorSelectAllButtonDirective(button, editor, localization) {
6299
+ return _super.call(this, 'selectAll', button, editor, localization) || this;
6300
+ }
6301
+ EditorSelectAllButtonDirective.prototype.clickHandler = function () {
6302
+ this.editor.shouldEmitFocus = true;
6303
+ _super.prototype.clickHandler.call(this);
6304
+ };
6305
+ EditorSelectAllButtonDirective = __decorate([
6306
+ Directive({
6307
+ selector: 'kendo-toolbar-button[kendoEditorSelectAllButton]'
6308
+ }),
6309
+ __param(1, Host()),
6310
+ __metadata("design:paramtypes", [ToolBarButtonComponent,
6311
+ EditorComponent,
6312
+ EditorLocalizationService])
6313
+ ], EditorSelectAllButtonDirective);
6314
+ return EditorSelectAllButtonDirective;
6315
+ }(EditorCommandButton));
6316
+
6194
6317
  var COMPONENT_DIRECTIVES = [
6195
6318
  //alignment
6196
6319
  EditorAlignLeftButtonDirective,
@@ -6242,7 +6365,11 @@ var COMPONENT_DIRECTIVES = [
6242
6365
  CustomMessagesComponent,
6243
6366
  LocalizedMessagesDirective,
6244
6367
  // dropdown tools
6245
- DropDownToolDirective
6368
+ DropDownToolDirective,
6369
+ // print
6370
+ EditorPrintDirective,
6371
+ // select all
6372
+ EditorSelectAllButtonDirective
6246
6373
  ];
6247
6374
  var TOOLBAR_TOOLS = [
6248
6375
  EditorFontSizeComponent,
@@ -6359,4 +6486,4 @@ var EditorModule = /** @class */ (function () {
6359
6486
  * Generated bundle index. Do not edit.
6360
6487
  */
6361
6488
 
6362
- export { ColorPickerDialogComponent, FileLinkDialogComponent, FontFamilyDialogComponent, FontSizeDialogComponent, FormatDialogComponent, ImageDialogComponent, InsertTableDialogComponent, SourceDialogComponent, CustomMessagesComponent, EditorLocalizationService, LocalizedMessagesDirective, Messages, EditorAlignCenterButtonDirective, EditorAlignJustifyButtonDirective, EditorAlignLeftButtonDirective, EditorAlignRightButtonDirective, EditorBackColorDirective, EditorColorPickerComponent, EditorForeColorDirective, EditorCleanFormattingButtonDirective, FontFamilyDropDownListComponent, EditorFontFamilyComponent, FontSizeDropDownListComponent, EditorFontSizeComponent, FormatDropDownListComponent, EditorFormatComponent, EditorRedoButtonDirective, EditorUndoButtonDirective, EditorInsertImageButtonDirective, EditorIndentButtonDirective, EditorOutdentButtonDirective, EditorCreateLinkButtonDirective, EditorInsertFileButtonDirective, EditorUnlinkButtonDirective, EditorInsertOrderedListButtonDirective, EditorInsertUnorderedListButtonDirective, DropDownToolDirective, EditorCommandBase, EditorCommandButton, EditorCommandDialog, EditorViewSourceButtonDirective, EditorAddColumnAfterButtonDirective, EditorAddColumnBeforeButtonDirective, EditorAddRowAfterButtonDirective, EditorAddRowBeforeButtonDirective, EditorDeleteColumnButtonDirective, EditorDeleteRowButtonDirective, EditorDeleteTableButtonDirective, EditorInsertTableButtonComponent, EditorMergeCellsButtonDirective, EditorSplitCellButtonDirective, PopupTableGridComponent, EditorBoldButtonDirective, EditorItalicButtonDirective, EditorStrikethroughButtonDirective, EditorSubscriptButtonDirective, EditorSuperscriptButtonDirective, EditorUnderlineButtonDirective, EditorComponent, EditorModule, schema };
6489
+ export { ColorPickerDialogComponent, FileLinkDialogComponent, FontFamilyDialogComponent, FontSizeDialogComponent, FormatDialogComponent, ImageDialogComponent, InsertTableDialogComponent, SourceDialogComponent, CustomMessagesComponent, EditorLocalizationService, LocalizedMessagesDirective, Messages, EditorAlignCenterButtonDirective, EditorAlignJustifyButtonDirective, EditorAlignLeftButtonDirective, EditorAlignRightButtonDirective, EditorBackColorDirective, EditorColorPickerComponent, EditorForeColorDirective, EditorCleanFormattingButtonDirective, FontFamilyDropDownListComponent, EditorFontFamilyComponent, FontSizeDropDownListComponent, EditorFontSizeComponent, FormatDropDownListComponent, EditorFormatComponent, EditorRedoButtonDirective, EditorUndoButtonDirective, EditorInsertImageButtonDirective, EditorIndentButtonDirective, EditorOutdentButtonDirective, EditorCreateLinkButtonDirective, EditorInsertFileButtonDirective, EditorUnlinkButtonDirective, EditorInsertOrderedListButtonDirective, EditorInsertUnorderedListButtonDirective, EditorPrintDirective, EditorSelectAllButtonDirective, DropDownToolDirective, EditorCommandBase, EditorCommandButton, EditorCommandDialog, EditorViewSourceButtonDirective, EditorAddColumnAfterButtonDirective, EditorAddColumnBeforeButtonDirective, EditorAddRowAfterButtonDirective, EditorAddRowBeforeButtonDirective, EditorDeleteColumnButtonDirective, EditorDeleteRowButtonDirective, EditorDeleteTableButtonDirective, EditorInsertTableButtonComponent, EditorMergeCellsButtonDirective, EditorSplitCellButtonDirective, PopupTableGridComponent, EditorBoldButtonDirective, EditorItalicButtonDirective, EditorStrikethroughButtonDirective, EditorSubscriptButtonDirective, EditorSuperscriptButtonDirective, EditorUnderlineButtonDirective, EditorComponent, EditorModule, schema };
@@ -15,5 +15,6 @@ exports.EditorErrorMessages = {
15
15
  setSchemaOnce: 'The Schema cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/schema/',
16
16
  pluginsCallbackType: ɵ0,
17
17
  setPluginsOnce: 'The plugins cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/plugins/',
18
- setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/'
18
+ setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/',
19
+ printTool: 'The Print tool and functionality are supported only in iframe mode. See https://www.telerik.com/kendo-angular-ui-develop/components/editor/api/EditorPrintButtonDirective/'
19
20
  };
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- exports.defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";
10
+ exports.defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* image resizing */\n.k-editor-resize-handles-wrapper {\n position: absolute;\n visibility: hidden;\n}\n\n.k-editor-resize-handle {\n position: absolute;\n visibility: visible;\n background-color: #fff;\n border: 1px solid #000;\n z-index: 100;\n width: 5px;\n height: 5px;\n}\n\n.k-editor-resize-handle.northwest {\n top: 0;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: nw-resize;\n}\n\n.k-editor-resize-handle.north {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: n-resize;\n}\n\n.k-editor-resize-handle.northeast {\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n cursor: ne-resize;\n}\n\n.k-editor-resize-handle.southwest {\n left: 0;\n bottom: 0;\n transform: translate(-50%, 50%);\n cursor: sw-resize;\n}\n\n.k-editor-resize-handle.south {\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n cursor: s-resize;\n}\n\n.k-editor-resize-handle.southeast {\n right: 0;\n bottom: 0;\n transform: translate(50%, 50%);\n cursor: se-resize;\n}\n\n.k-editor-resize-handle.west {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: w-resize;\n}\n\n.k-editor-resize-handle.east {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n cursor: e-resize;\n}\n";
11
11
  /**
12
12
  * @hidden
13
13
  */
@@ -12,9 +12,11 @@ exports.commandIcons = {
12
12
  alignJustify: 'align-justify',
13
13
  alignLeft: 'align-left',
14
14
  alignRight: 'align-right',
15
+ backColor: 'background',
15
16
  bold: 'bold',
16
17
  cleanFormatting: 'clear-css',
17
18
  createLink: 'link-horizontal',
19
+ foreColor: 'foreground-color',
18
20
  indent: 'indent-increase',
19
21
  insertFile: 'file-add',
20
22
  insertImage: 'image',
@@ -22,7 +24,9 @@ exports.commandIcons = {
22
24
  insertUnorderedList: 'list-unordered',
23
25
  italic: 'italic',
24
26
  outdent: 'indent-decrease',
27
+ print: 'print',
25
28
  redo: 'redo',
29
+ selectAll: 'select-all',
26
30
  strikethrough: 'strikethrough',
27
31
  subscript: 'sub-script',
28
32
  superscript: 'sup-script',
@@ -30,8 +34,6 @@ exports.commandIcons = {
30
34
  undo: 'undo',
31
35
  unlink: 'unlink-horizontal',
32
36
  viewSource: 'html',
33
- foreColor: 'foreground-color',
34
- backColor: 'background',
35
37
  //table
36
38
  insertTable: 'table-insert',
37
39
  addColumnBefore: 'table-column-insert-left',