@syncfusion/ej2-richtexteditor 21.2.9 → 22.1.34

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 (147) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +30 -0
  3. package/dist/ej2-richtexteditor.min.js +2 -2
  4. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  5. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es2015.js +1592 -196
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +1605 -199
  9. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  10. package/dist/global/ej2-richtexteditor.min.js +2 -2
  11. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +12 -12
  14. package/src/common/config.js +2 -2
  15. package/src/common/constant.d.ts +6 -0
  16. package/src/common/constant.js +6 -0
  17. package/src/common/interface.d.ts +2 -2
  18. package/src/common/util.js +2 -0
  19. package/src/editor-manager/base/editor-manager.d.ts +4 -3
  20. package/src/editor-manager/base/editor-manager.js +6 -1
  21. package/src/editor-manager/base/interface.d.ts +44 -9
  22. package/src/editor-manager/plugin/clearformat.d.ts +1 -0
  23. package/src/editor-manager/plugin/clearformat.js +1 -0
  24. package/src/editor-manager/plugin/dom-node.js +10 -6
  25. package/src/editor-manager/plugin/emoji-picker-action.d.ts +8 -0
  26. package/src/editor-manager/plugin/emoji-picker-action.js +62 -0
  27. package/src/editor-manager/plugin/format-painter-actions.d.ts +19 -36
  28. package/src/editor-manager/plugin/format-painter-actions.js +224 -81
  29. package/src/editor-manager/plugin/inserthtml.js +6 -1
  30. package/src/editor-manager/plugin/link.js +1 -1
  31. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +3 -0
  32. package/src/editor-manager/plugin/ms-word-clean-up.js +66 -14
  33. package/src/editor-manager/plugin/selection-commands.d.ts +2 -1
  34. package/src/editor-manager/plugin/selection-commands.js +48 -23
  35. package/src/editor-manager/plugin/table.js +2 -2
  36. package/src/editor-manager/plugin/toolbar-status.js +6 -0
  37. package/src/editor-manager/plugin/undo.d.ts +1 -0
  38. package/src/editor-manager/plugin/undo.js +26 -5
  39. package/src/editor-manager/plugin.d.ts +1 -0
  40. package/src/editor-manager/plugin.js +1 -0
  41. package/src/global.js +1 -1
  42. package/src/rich-text-editor/actions/base-quick-toolbar.js +10 -3
  43. package/src/rich-text-editor/actions/base-toolbar.js +3 -2
  44. package/src/rich-text-editor/actions/emoji-picker.d.ts +48 -0
  45. package/src/rich-text-editor/actions/emoji-picker.js +778 -0
  46. package/src/rich-text-editor/actions/enter-key.js +2 -2
  47. package/src/rich-text-editor/actions/execute-command-callback.js +3 -1
  48. package/src/rich-text-editor/actions/file-manager.js +1 -0
  49. package/src/rich-text-editor/actions/format-painter.d.ts +2 -2
  50. package/src/rich-text-editor/actions/format-painter.js +11 -9
  51. package/src/rich-text-editor/actions/full-screen.js +6 -0
  52. package/src/rich-text-editor/actions/html-editor.js +17 -3
  53. package/src/rich-text-editor/actions/paste-clean-up.js +1 -0
  54. package/src/rich-text-editor/actions/resize.js +1 -1
  55. package/src/rich-text-editor/actions.d.ts +1 -0
  56. package/src/rich-text-editor/actions.js +1 -0
  57. package/src/rich-text-editor/base/constant.d.ts +10 -0
  58. package/src/rich-text-editor/base/constant.js +10 -0
  59. package/src/rich-text-editor/base/enum.d.ts +0 -4
  60. package/src/rich-text-editor/base/interface.d.ts +48 -6
  61. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +13 -7
  62. package/src/rich-text-editor/base/rich-text-editor.d.ts +27 -7
  63. package/src/rich-text-editor/base/rich-text-editor.js +42 -12
  64. package/src/rich-text-editor/base/util.js +2 -2
  65. package/src/rich-text-editor/formatter/formatter.js +7 -5
  66. package/src/rich-text-editor/models/default-locale.js +14 -2
  67. package/src/rich-text-editor/models/items.d.ts +2 -1
  68. package/src/rich-text-editor/models/items.js +188 -1
  69. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +212 -9
  70. package/src/rich-text-editor/models/toolbar-settings.d.ts +209 -11
  71. package/src/rich-text-editor/models/toolbar-settings.js +23 -6
  72. package/src/rich-text-editor/renderer/audio-module.js +3 -3
  73. package/src/rich-text-editor/renderer/iframe-content-renderer.js +1 -1
  74. package/src/rich-text-editor/renderer/image-module.js +11 -6
  75. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +2 -0
  76. package/src/rich-text-editor/renderer/toolbar-renderer.js +7 -2
  77. package/src/rich-text-editor/renderer/video-module.js +14 -9
  78. package/styles/bootstrap-dark.css +299 -137
  79. package/styles/bootstrap.css +305 -140
  80. package/styles/bootstrap4.css +304 -133
  81. package/styles/bootstrap5-dark.css +310 -165
  82. package/styles/bootstrap5.css +310 -165
  83. package/styles/fabric-dark.css +297 -136
  84. package/styles/fabric.css +294 -133
  85. package/styles/fluent-dark.css +311 -170
  86. package/styles/fluent.css +311 -170
  87. package/styles/highcontrast-light.css +289 -128
  88. package/styles/highcontrast.css +296 -135
  89. package/styles/material-dark.css +295 -129
  90. package/styles/material.css +300 -134
  91. package/styles/material3-dark.css +3082 -0
  92. package/styles/material3-dark.scss +3 -0
  93. package/styles/material3.css +3138 -0
  94. package/styles/material3.scss +3 -0
  95. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +54 -12
  96. package/styles/rich-text-editor/_bootstrap-definition.scss +57 -13
  97. package/styles/rich-text-editor/_bootstrap4-definition.scss +50 -7
  98. package/styles/rich-text-editor/_bootstrap5-definition.scss +56 -13
  99. package/styles/rich-text-editor/_fabric-dark-definition.scss +53 -10
  100. package/styles/rich-text-editor/_fabric-definition.scss +52 -9
  101. package/styles/rich-text-editor/_fluent-definition.scss +56 -15
  102. package/styles/rich-text-editor/_fusionnew-definition.scss +46 -4
  103. package/styles/rich-text-editor/_highcontrast-definition.scss +52 -9
  104. package/styles/rich-text-editor/_highcontrast-light-definition.scss +48 -5
  105. package/styles/rich-text-editor/_layout.scss +280 -68
  106. package/styles/rich-text-editor/_material-dark-definition.scss +48 -5
  107. package/styles/rich-text-editor/_material-definition.scss +50 -6
  108. package/styles/rich-text-editor/_material3-dark-definition.scss +1 -0
  109. package/styles/rich-text-editor/_material3-definition.scss +262 -0
  110. package/styles/rich-text-editor/_tailwind-definition.scss +63 -23
  111. package/styles/rich-text-editor/_theme.scss +103 -19
  112. package/styles/rich-text-editor/bootstrap-dark.css +299 -137
  113. package/styles/rich-text-editor/bootstrap.css +305 -140
  114. package/styles/rich-text-editor/bootstrap4.css +304 -133
  115. package/styles/rich-text-editor/bootstrap5-dark.css +310 -165
  116. package/styles/rich-text-editor/bootstrap5.css +310 -165
  117. package/styles/rich-text-editor/fabric-dark.css +297 -136
  118. package/styles/rich-text-editor/fabric.css +294 -133
  119. package/styles/rich-text-editor/fluent-dark.css +311 -170
  120. package/styles/rich-text-editor/fluent.css +311 -170
  121. package/styles/rich-text-editor/highcontrast-light.css +289 -128
  122. package/styles/rich-text-editor/highcontrast.css +296 -135
  123. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +1 -1
  124. package/styles/rich-text-editor/icons/_bootstrap.scss +1 -1
  125. package/styles/rich-text-editor/icons/_bootstrap4.scss +1 -1
  126. package/styles/rich-text-editor/icons/_bootstrap5.scss +1 -1
  127. package/styles/rich-text-editor/icons/_fabric-dark.scss +1 -1
  128. package/styles/rich-text-editor/icons/_fabric.scss +1 -1
  129. package/styles/rich-text-editor/icons/_fluent.scss +1 -1
  130. package/styles/rich-text-editor/icons/_fusionnew.scss +1 -1
  131. package/styles/rich-text-editor/icons/_highcontrast-light.scss +1 -1
  132. package/styles/rich-text-editor/icons/_highcontrast.scss +1 -1
  133. package/styles/rich-text-editor/icons/_material-dark.scss +1 -1
  134. package/styles/rich-text-editor/icons/_material.scss +1 -1
  135. package/styles/rich-text-editor/icons/_material3-dark.scss +1 -0
  136. package/styles/rich-text-editor/icons/_material3.scss +1 -1
  137. package/styles/rich-text-editor/icons/_tailwind.scss +1 -1
  138. package/styles/rich-text-editor/material-dark.css +295 -129
  139. package/styles/rich-text-editor/material.css +300 -134
  140. package/styles/rich-text-editor/material3-dark.css +3082 -0
  141. package/styles/rich-text-editor/material3-dark.scss +5 -0
  142. package/styles/rich-text-editor/material3.css +3138 -0
  143. package/styles/rich-text-editor/material3.scss +5 -0
  144. package/styles/rich-text-editor/tailwind-dark.css +313 -157
  145. package/styles/rich-text-editor/tailwind.css +313 -157
  146. package/styles/tailwind-dark.css +313 -157
  147. package/styles/tailwind.css +313 -157
@@ -1,4 +1,4 @@
1
- import { Property, ChildProperty, Complex } from '@syncfusion/ej2-base';import { AjaxSettings, AjaxSettingsModel, ContextMenuSettings, ContextMenuSettingsModel } from '@syncfusion/ej2-filemanager';import { DetailsViewSettings, DetailsViewSettingsModel, NavigationPaneSettings } from '@syncfusion/ej2-filemanager';import { NavigationPaneSettingsModel, SearchSettings, SearchSettingsModel, SortOrder } from '@syncfusion/ej2-filemanager';import { ToolbarSettingsModel as FileToolbarSettingsModel, ToolbarSettings as FileToolbarSettings } from '@syncfusion/ej2-filemanager';import { UploadSettings, UploadSettingsModel, ViewType } from '@syncfusion/ej2-filemanager';import { SaveFormat, DisplayLayoutOptions } from '../../common';import { ToolbarType, ActionOnScroll, ToolbarItems, FormatPainterContext } from '../base/enum';import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel } from '../base/interface';import { backgroundColor, fontColor, fontFamily, fontSize, formatItems, predefinedItems, TableStyleItems, numberFormatList, bulletFormatList } from './items';
1
+ import { Property, ChildProperty, Complex, Event, EmitType } from '@syncfusion/ej2-base';import { AjaxSettings, AjaxSettingsModel, ContextMenuSettings, ContextMenuSettingsModel, BeforeSendEventArgs } from '@syncfusion/ej2-filemanager';import { DetailsViewSettings, DetailsViewSettingsModel, NavigationPaneSettings } from '@syncfusion/ej2-filemanager';import { NavigationPaneSettingsModel, SearchSettings, SearchSettingsModel, SortOrder } from '@syncfusion/ej2-filemanager';import { ToolbarSettingsModel as FileToolbarSettingsModel, ToolbarSettings as FileToolbarSettings } from '@syncfusion/ej2-filemanager';import { UploadSettings, UploadSettingsModel, ViewType } from '@syncfusion/ej2-filemanager';import { SaveFormat, DisplayLayoutOptions } from '../../common';import { ToolbarType, ActionOnScroll, ToolbarItems } from '../base/enum';import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel, EmojiIconsSet } from '../base/interface';import { backgroundColor, fontColor, fontFamily, fontSize, formatItems, predefinedItems, TableStyleItems, numberFormatList, bulletFormatList, defaultEmojiIcons } from './items';
2
2
 
3
3
  /**
4
4
  * Interface for a class ToolbarSettings
@@ -311,6 +311,15 @@ export interface VideoSettingsModel {
311
311
  */
312
312
  export interface FileManagerSettingsModel {
313
313
 
314
+ /**
315
+ * Event triggers before sending the AJAX request to the server.
316
+ * Set the cancel argument to true to cancel the request.
317
+ *
318
+ * @event 'beforeSend'
319
+ */
320
+
321
+ beforeSend?: EmitType<BeforeSendEventArgs>;
322
+
314
323
  /**
315
324
  * Specifies the AJAX settings of the file manager.
316
325
  *
@@ -580,17 +589,10 @@ export interface QuickToolbarSettingsModel {
580
589
  */
581
590
  export interface FormatPainterSettingsModel {
582
591
 
583
- /**
584
- * Defines the context or contexts in which styles will be copied.
585
- *
586
- * @default ['Text', 'List', 'Table']
587
- */
588
- allowedContext?: FormatPainterContext[];
589
-
590
592
  /**
591
593
  * Defines the tag name selectors for obtaining the formats from the elements.
592
594
  *
593
- * @default 'b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; table; thead; tbody; tr; td; th; ol; ul; li; pre;'
595
+ * @default 'b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; ol; ul; li; pre;'
594
596
  */
595
597
  allowedFormats?: string;
596
598
 
@@ -603,6 +605,207 @@ export interface FormatPainterSettingsModel {
603
605
 
604
606
  }
605
607
 
608
+ /**
609
+ * Interface for a class EmojiSettings
610
+ */
611
+ export interface EmojiSettingsModel {
612
+
613
+ /**
614
+ * Specify an array of items representing emoji icons.
615
+ *
616
+ * @default [{
617
+ name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
618
+ { code: '1F603', desc: 'Grinning face with big eyes' },
619
+ { code: '1F604', desc: 'Grinning face with smiling eyes' },
620
+ { code: '1F606', desc: 'Grinning squinting face' },
621
+ { code: '1F605', desc: 'Grinning face with sweat' },
622
+ { code: '1F602', desc: 'Face with tears of joy' },
623
+ { code: '1F923', desc: 'Rolling on the floor laughing' },
624
+ { code: '1F60A', desc: 'Smiling face with smiling eyes' },
625
+ { code: '1F607', desc: 'Smiling face with halo' },
626
+ { code: '1F642', desc: 'Slightly smiling face' },
627
+ { code: '1F643', desc: 'Upside-down face' },
628
+ { code: '1F60D', desc: 'Smiling face with heart-eyes' },
629
+ { code: '1F618', desc: 'Face blowing a kiss' },
630
+ { code: '1F61B', desc: 'Face with tongue' },
631
+ { code: '1F61C', desc: 'Winking face with tongue' },
632
+ { code: '1F604', desc: 'Grinning face with smiling eyes' },
633
+ { code: '1F469', desc: 'Woman' },
634
+ { code: '1F468', desc: 'Man' },
635
+ { code: '1F467', desc: 'Girl' },
636
+ { code: '1F466', desc: 'Boy' },
637
+ { code: '1F476', desc: 'Baby' },
638
+ { code: '1F475', desc: 'Old woman' },
639
+ { code: '1F474', desc: 'Old man' },
640
+ { code: '1F46E', desc: 'Police officer' },
641
+ { code: '1F477', desc: 'Construction worker' },
642
+ { code: '1F482', desc: 'Guard' },
643
+ { code: '1F575', desc: 'Detective' },
644
+ { code: '1F9D1', desc: 'Cook' }]
645
+ }, {
646
+ name: 'Animals & Nature', code: '1F435', iconCss: 'e-animals', icons: [{ code: '1F436', desc: 'Dog face' },
647
+ { code: '1F431', desc: 'Cat face' },
648
+ { code: '1F42D', desc: 'Mouse face' },
649
+ { code: '1F439', desc: 'Hamster face' },
650
+ { code: '1F430', desc: 'Rabbit face' },
651
+ { code: '1F98A', desc: 'Fox face' },
652
+ { code: '1F43B', desc: 'Bear face' },
653
+ { code: '1F43C', desc: 'Panda face' },
654
+ { code: '1F428', desc: 'Koala' },
655
+ { code: '1F42F', desc: 'Tiger face' },
656
+ { code: '1F981', desc: 'Lion face' },
657
+ { code: '1F42E', desc: 'Cow face' },
658
+ { code: '1F437', desc: 'Pig face' },
659
+ { code: '1F43D', desc: 'Pig nose' },
660
+ { code: '1F438', desc: 'Frog face' },
661
+ { code: '1F435', desc: 'Monkey face' },
662
+ { code: '1F649', desc: 'Hear-no-evil monkey' },
663
+ { code: '1F64A', desc: 'Speak-no-evil monkey' },
664
+ { code: '1F412', desc: 'Monkey' },
665
+ { code: '1F414', desc: 'Chicken' },
666
+ { code: '1F427', desc: 'Penguin' },
667
+ { code: '1F426', desc: 'Bird' },
668
+ { code: '1F424', desc: 'Baby chick' },
669
+ { code: '1F986', desc: 'Duck' },
670
+ { code: '1F985', desc: 'Eagle' }]
671
+ }, {
672
+ name: 'Food & Drink', code: '1F347', iconCss: 'e-food-and-drinks', icons: [{ code: '1F34E', desc: 'Red apple' },
673
+ { code: '1F34C', desc: 'Banana' },
674
+ { code: '1F347', desc: 'Grapes' },
675
+ { code: '1F353', desc: 'Strawberry' },
676
+ { code: '1F35E', desc: 'Bread' },
677
+ { code: '1F950', desc: 'Croissant' },
678
+ { code: '1F955', desc: 'Carrot' },
679
+ { code: '1F354', desc: 'Hamburger' },
680
+ { code: '1F355', desc: 'Pizza' },
681
+ { code: '1F32D', desc: 'Hot dog' },
682
+ { code: '1F35F', desc: 'French fries' },
683
+ { code: '1F37F', desc: 'Popcorn' },
684
+ { code: '1F366', desc: 'Soft ice cream' },
685
+ { code: '1F367', desc: 'Shaved ice' },
686
+ { code: '1F36A', desc: 'Cookie' },
687
+ { code: '1F382', desc: 'Birthday cake' },
688
+ { code: '1F370', desc: 'Shortcake' },
689
+ { code: '1F36B', desc: 'Chocolate bar' },
690
+ { code: '1F369', desc: 'Donut' },
691
+ { code: '1F36E', desc: 'Custard' },
692
+ { code: '1F36D', desc: 'Lollipop' },
693
+ { code: '1F36C', desc: 'Candy' },
694
+ { code: '1F377', desc: 'Wine glass' },
695
+ { code: '1F37A', desc: 'Beer mug' },
696
+ { code: '1F37E', desc: 'Bottle with popping cork' }]
697
+ }, {
698
+ name: 'Activities', code: '1F383', iconCss: 'e-activities', icons: [{ code: '26BD', desc: 'Soccer ball' },
699
+ { code: '1F3C0', desc: 'Basketball' },
700
+ { code: '1F3C8', desc: 'American football' },
701
+ { code: '26BE', desc: 'Baseball' },
702
+ { code: '1F3BE', desc: 'Tennis' },
703
+ { code: '1F3D0', desc: 'Volleyball' },
704
+ { code: '1F3C9', desc: 'Rugby football' },
705
+ { code: '1F3B1', desc: 'Pool 8 ball' },
706
+ { code: '1F3D3', desc: 'Ping pong' },
707
+ { code: '1F3F8', desc: 'Badminton' },
708
+ { code: '1F94A', desc: 'Boxing glove' },
709
+ { code: '1F3CA', desc: 'Swimmer' },
710
+ { code: '1F3CB', desc: 'Weightlifter' },
711
+ { code: '1F6B4', desc: 'Bicyclist' },
712
+ { code: '1F6F9', desc: 'Skateboard' },
713
+ { code: '1F3AE', desc: 'Video game' },
714
+ { code: '1F579', desc: 'Joystick' },
715
+ { code: '1F3CF', desc: 'Cricket' },
716
+ { code: '1F3C7', desc: 'Horse racing' },
717
+ { code: '1F3AF', desc: 'Direct hit' },
718
+ { code: '1F3D1', desc: 'Field hockey' },
719
+ { code: '1F3B0', desc: 'Slot machine' },
720
+ { code: '1F3B3', desc: 'Bowling' },
721
+ { code: '1F3B2', desc: 'Game die' },
722
+ { code: '265F', desc: 'Chess pawn' }]
723
+ }, {
724
+ name: 'Travel & Places', code: '1F30D', iconCss: 'e-travel-and-places', icons: [{ code: '2708', desc: 'Airplane' },
725
+ { code: '1F697', desc: 'Automobile' },
726
+ { code: '1F695', desc: 'Taxi' },
727
+ { code: '1F6B2', desc: 'Bicycle' },
728
+ { code: '1F68C', desc: 'Bus' },
729
+ { code: '1F682', desc: 'Locomotive' },
730
+ { code: '1F6F3', desc: 'Passenger ship' },
731
+ { code: '1F680', desc: 'Rocket' },
732
+ { code: '1F681', desc: 'Helicopter' },
733
+ { code: '1F6A2', desc: 'Ship' },
734
+ { code: '1F3DF', desc: 'Stadium' },
735
+ { code: '1F54C', desc: 'Mosque' },
736
+ { code: '26EA', desc: 'Church' },
737
+ { code: '1F6D5', desc: 'Hindu Temple' },
738
+ { code: '1F3D4', desc: 'Snow-capped mountain' },
739
+ { code: '1F3EB', desc: 'School' },
740
+ { code: '1F30B', desc: 'Volcano' },
741
+ { code: '1F3D6', desc: 'Beach with umbrella' },
742
+ { code: '1F3DD', desc: 'Desert island' },
743
+ { code: '1F3DE', desc: 'National park' },
744
+ { code: '1F3F0', desc: 'Castle' },
745
+ { code: '1F5FC', desc: 'Tokyo tower' },
746
+ { code: '1F5FD', desc: 'Statue of liberty' },
747
+ { code: '26E9', desc: 'Shinto shrine' },
748
+ { code: '1F3EF', desc: 'Japanese castle' },
749
+ { code: '1F3A2', desc: 'Roller coaster' }]
750
+ }, {
751
+ name: 'Objects', code: '1F507', iconCss: 'e-objects', icons: [{ code: '1F4A1', desc: 'Light bulb' },
752
+ { code: '1F526', desc: 'Flashlight' },
753
+ { code: '1F4BB', desc: 'Laptop computer' },
754
+ { code: '1F5A5', desc: 'Desktop computer' },
755
+ { code: '1F5A8', desc: 'Printer' },
756
+ { code: '1F4F7', desc: 'Camera' },
757
+ { code: '1F4F8', desc: 'Camera with flash' },
758
+ { code: '1F4FD', desc: 'Film projector' },
759
+ { code: '1F3A5', desc: 'Movie camera' },
760
+ { code: '1F4FA', desc: 'Television' },
761
+ { code: '1F4FB', desc: 'Radio' },
762
+ { code: '1F50B', desc: 'Battery' },
763
+ { code: '231A', desc: 'Watch' },
764
+ { code: '1F4F1', desc: 'Mobile phone' },
765
+ { code: '260E', desc: 'Telephone' },
766
+ { code: '1F4BE', desc: 'Floppy disk' },
767
+ { code: '1F4BF', desc: 'Optical disk' },
768
+ { code: '1F4C0', desc: 'Digital versatile disc' },
769
+ { code: '1F4BD', desc: 'Computer disk' },
770
+ { code: '1F3A7', desc: 'Headphone' },
771
+ { code: '1F3A4', desc: 'Microphone' },
772
+ { code: '1F3B6', desc: 'Multiple musical notes' },
773
+ { code: '1F4DA', desc: 'Books' }]
774
+ }, {
775
+ name: 'Symbols', code: '1F3E7', iconCss: 'e-symbols', icons: [{ code: '274C', desc: 'Cross mark' },
776
+ { code: '2714', desc: 'Check mark' },
777
+ { code: '26A0', desc: 'Warning sign' },
778
+ { code: '1F6AB', desc: 'Prohibited' },
779
+ { code: '2139', desc: 'Information' },
780
+ { code: '267B', desc: 'Recycling symbol' },
781
+ { code: '1F6AD', desc: 'No smoking' },
782
+ { code: '1F4F5', desc: 'No mobile phones' },
783
+ { code: '1F6AF', desc: 'No littering' },
784
+ { code: '1F6B3', desc: 'No bicycles' },
785
+ { code: '1F6B7', desc: 'No pedestrians' },
786
+ { code: '2795', desc: 'Plus' },
787
+ { code: '2796', desc: 'Minus' },
788
+ { code: '2797', desc: 'Divide' },
789
+ { code: '2716', desc: 'Multiplication' },
790
+ { code: '1F4B2', desc: 'Dollar banknote' },
791
+ { code: '1F4AC', desc: 'Speech balloon' },
792
+ { code: '2755', desc: 'White exclamation mark' },
793
+ { code: '2754', desc: 'White question mark' },
794
+ { code: '2764', desc: 'Red heart' }]
795
+ }]
796
+ *
797
+ */
798
+ iconsSet?: EmojiIconsSet[];
799
+
800
+ /**
801
+ * Enables or disables the search box in an emoji picker.
802
+ *
803
+ * @default true
804
+ */
805
+ showSearchBox?: boolean;
806
+
807
+ }
808
+
606
809
  /**
607
810
  * Interface for a class PasteCleanupSettings
608
811
  */
@@ -1,12 +1,12 @@
1
- import { ChildProperty } from '@syncfusion/ej2-base';
2
- import { AjaxSettingsModel, ContextMenuSettingsModel } from '@syncfusion/ej2-filemanager';
1
+ import { ChildProperty, EmitType } from '@syncfusion/ej2-base';
2
+ import { AjaxSettingsModel, ContextMenuSettingsModel, BeforeSendEventArgs } from '@syncfusion/ej2-filemanager';
3
3
  import { DetailsViewSettingsModel } from '@syncfusion/ej2-filemanager';
4
4
  import { NavigationPaneSettingsModel, SearchSettingsModel, SortOrder } from '@syncfusion/ej2-filemanager';
5
5
  import { ToolbarSettingsModel as FileToolbarSettingsModel } from '@syncfusion/ej2-filemanager';
6
6
  import { UploadSettingsModel, ViewType } from '@syncfusion/ej2-filemanager';
7
7
  import { SaveFormat, DisplayLayoutOptions } from '../../common';
8
- import { ToolbarType, ActionOnScroll, ToolbarItems, FormatPainterContext } from '../base/enum';
9
- import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel } from '../base/interface';
8
+ import { ToolbarType, ActionOnScroll, ToolbarItems } from '../base/enum';
9
+ import { IToolbarItems, IDropDownItemModel, ColorModeType, IToolsItemConfigs, IListDropDownModel, EmojiIconsSet } from '../base/interface';
10
10
  /**
11
11
  * Configures the toolbar settings of the RichTextEditor.
12
12
  */
@@ -272,6 +272,13 @@ export declare class VideoSettings extends ChildProperty<VideoSettings> {
272
272
  * Configures the file manager settings of the RichTextEditor.
273
273
  */
274
274
  export declare class FileManagerSettings extends ChildProperty<FileManagerSettings> {
275
+ /**
276
+ * Event triggers before sending the AJAX request to the server.
277
+ * Set the cancel argument to true to cancel the request.
278
+ *
279
+ * @event 'beforeSend'
280
+ */
281
+ beforeSend: EmitType<BeforeSendEventArgs>;
275
282
  /**
276
283
  * Specifies the AJAX settings of the file manager.
277
284
  *
@@ -501,16 +508,10 @@ export declare class QuickToolbarSettings extends ChildProperty<QuickToolbarSett
501
508
  * Configure the format painter settings of the Rich Text Editor.
502
509
  */
503
510
  export declare class FormatPainterSettings extends ChildProperty<FormatPainterSettings> {
504
- /**
505
- * Defines the context or contexts in which styles will be copied.
506
- *
507
- * @default ['Text', 'List', 'Table']
508
- */
509
- allowedContext: FormatPainterContext[];
510
511
  /**
511
512
  * Defines the tag name selectors for obtaining the formats from the elements.
512
513
  *
513
- * @default 'b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; table; thead; tbody; tr; td; th; ol; ul; li; pre;'
514
+ * @default 'b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; ol; ul; li; pre;'
514
515
  */
515
516
  allowedFormats: string;
516
517
  /**
@@ -520,6 +521,203 @@ export declare class FormatPainterSettings extends ChildProperty<FormatPainterSe
520
521
  */
521
522
  deniedFormats: string;
522
523
  }
524
+ /**
525
+ * Specifies the emoji picker options in Rich Text Editor with the following properties.
526
+ */
527
+ export declare class EmojiSettings extends ChildProperty<EmojiSettings> {
528
+ /**
529
+ * Specify an array of items representing emoji icons.
530
+ *
531
+ * @default [{
532
+ name: 'Smilies & People', code: '1F600', iconCss: 'e-emoji', icons: [{ code: '1F600', desc: 'Grinning face' },
533
+ { code: '1F603', desc: 'Grinning face with big eyes' },
534
+ { code: '1F604', desc: 'Grinning face with smiling eyes' },
535
+ { code: '1F606', desc: 'Grinning squinting face' },
536
+ { code: '1F605', desc: 'Grinning face with sweat' },
537
+ { code: '1F602', desc: 'Face with tears of joy' },
538
+ { code: '1F923', desc: 'Rolling on the floor laughing' },
539
+ { code: '1F60A', desc: 'Smiling face with smiling eyes' },
540
+ { code: '1F607', desc: 'Smiling face with halo' },
541
+ { code: '1F642', desc: 'Slightly smiling face' },
542
+ { code: '1F643', desc: 'Upside-down face' },
543
+ { code: '1F60D', desc: 'Smiling face with heart-eyes' },
544
+ { code: '1F618', desc: 'Face blowing a kiss' },
545
+ { code: '1F61B', desc: 'Face with tongue' },
546
+ { code: '1F61C', desc: 'Winking face with tongue' },
547
+ { code: '1F604', desc: 'Grinning face with smiling eyes' },
548
+ { code: '1F469', desc: 'Woman' },
549
+ { code: '1F468', desc: 'Man' },
550
+ { code: '1F467', desc: 'Girl' },
551
+ { code: '1F466', desc: 'Boy' },
552
+ { code: '1F476', desc: 'Baby' },
553
+ { code: '1F475', desc: 'Old woman' },
554
+ { code: '1F474', desc: 'Old man' },
555
+ { code: '1F46E', desc: 'Police officer' },
556
+ { code: '1F477', desc: 'Construction worker' },
557
+ { code: '1F482', desc: 'Guard' },
558
+ { code: '1F575', desc: 'Detective' },
559
+ { code: '1F9D1', desc: 'Cook' }]
560
+ }, {
561
+ name: 'Animals & Nature', code: '1F435', iconCss: 'e-animals', icons: [{ code: '1F436', desc: 'Dog face' },
562
+ { code: '1F431', desc: 'Cat face' },
563
+ { code: '1F42D', desc: 'Mouse face' },
564
+ { code: '1F439', desc: 'Hamster face' },
565
+ { code: '1F430', desc: 'Rabbit face' },
566
+ { code: '1F98A', desc: 'Fox face' },
567
+ { code: '1F43B', desc: 'Bear face' },
568
+ { code: '1F43C', desc: 'Panda face' },
569
+ { code: '1F428', desc: 'Koala' },
570
+ { code: '1F42F', desc: 'Tiger face' },
571
+ { code: '1F981', desc: 'Lion face' },
572
+ { code: '1F42E', desc: 'Cow face' },
573
+ { code: '1F437', desc: 'Pig face' },
574
+ { code: '1F43D', desc: 'Pig nose' },
575
+ { code: '1F438', desc: 'Frog face' },
576
+ { code: '1F435', desc: 'Monkey face' },
577
+ { code: '1F649', desc: 'Hear-no-evil monkey' },
578
+ { code: '1F64A', desc: 'Speak-no-evil monkey' },
579
+ { code: '1F412', desc: 'Monkey' },
580
+ { code: '1F414', desc: 'Chicken' },
581
+ { code: '1F427', desc: 'Penguin' },
582
+ { code: '1F426', desc: 'Bird' },
583
+ { code: '1F424', desc: 'Baby chick' },
584
+ { code: '1F986', desc: 'Duck' },
585
+ { code: '1F985', desc: 'Eagle' }]
586
+ }, {
587
+ name: 'Food & Drink', code: '1F347', iconCss: 'e-food-and-drinks', icons: [{ code: '1F34E', desc: 'Red apple' },
588
+ { code: '1F34C', desc: 'Banana' },
589
+ { code: '1F347', desc: 'Grapes' },
590
+ { code: '1F353', desc: 'Strawberry' },
591
+ { code: '1F35E', desc: 'Bread' },
592
+ { code: '1F950', desc: 'Croissant' },
593
+ { code: '1F955', desc: 'Carrot' },
594
+ { code: '1F354', desc: 'Hamburger' },
595
+ { code: '1F355', desc: 'Pizza' },
596
+ { code: '1F32D', desc: 'Hot dog' },
597
+ { code: '1F35F', desc: 'French fries' },
598
+ { code: '1F37F', desc: 'Popcorn' },
599
+ { code: '1F366', desc: 'Soft ice cream' },
600
+ { code: '1F367', desc: 'Shaved ice' },
601
+ { code: '1F36A', desc: 'Cookie' },
602
+ { code: '1F382', desc: 'Birthday cake' },
603
+ { code: '1F370', desc: 'Shortcake' },
604
+ { code: '1F36B', desc: 'Chocolate bar' },
605
+ { code: '1F369', desc: 'Donut' },
606
+ { code: '1F36E', desc: 'Custard' },
607
+ { code: '1F36D', desc: 'Lollipop' },
608
+ { code: '1F36C', desc: 'Candy' },
609
+ { code: '1F377', desc: 'Wine glass' },
610
+ { code: '1F37A', desc: 'Beer mug' },
611
+ { code: '1F37E', desc: 'Bottle with popping cork' }]
612
+ }, {
613
+ name: 'Activities', code: '1F383', iconCss: 'e-activities', icons: [{ code: '26BD', desc: 'Soccer ball' },
614
+ { code: '1F3C0', desc: 'Basketball' },
615
+ { code: '1F3C8', desc: 'American football' },
616
+ { code: '26BE', desc: 'Baseball' },
617
+ { code: '1F3BE', desc: 'Tennis' },
618
+ { code: '1F3D0', desc: 'Volleyball' },
619
+ { code: '1F3C9', desc: 'Rugby football' },
620
+ { code: '1F3B1', desc: 'Pool 8 ball' },
621
+ { code: '1F3D3', desc: 'Ping pong' },
622
+ { code: '1F3F8', desc: 'Badminton' },
623
+ { code: '1F94A', desc: 'Boxing glove' },
624
+ { code: '1F3CA', desc: 'Swimmer' },
625
+ { code: '1F3CB', desc: 'Weightlifter' },
626
+ { code: '1F6B4', desc: 'Bicyclist' },
627
+ { code: '1F6F9', desc: 'Skateboard' },
628
+ { code: '1F3AE', desc: 'Video game' },
629
+ { code: '1F579', desc: 'Joystick' },
630
+ { code: '1F3CF', desc: 'Cricket' },
631
+ { code: '1F3C7', desc: 'Horse racing' },
632
+ { code: '1F3AF', desc: 'Direct hit' },
633
+ { code: '1F3D1', desc: 'Field hockey' },
634
+ { code: '1F3B0', desc: 'Slot machine' },
635
+ { code: '1F3B3', desc: 'Bowling' },
636
+ { code: '1F3B2', desc: 'Game die' },
637
+ { code: '265F', desc: 'Chess pawn' }]
638
+ }, {
639
+ name: 'Travel & Places', code: '1F30D', iconCss: 'e-travel-and-places', icons: [{ code: '2708', desc: 'Airplane' },
640
+ { code: '1F697', desc: 'Automobile' },
641
+ { code: '1F695', desc: 'Taxi' },
642
+ { code: '1F6B2', desc: 'Bicycle' },
643
+ { code: '1F68C', desc: 'Bus' },
644
+ { code: '1F682', desc: 'Locomotive' },
645
+ { code: '1F6F3', desc: 'Passenger ship' },
646
+ { code: '1F680', desc: 'Rocket' },
647
+ { code: '1F681', desc: 'Helicopter' },
648
+ { code: '1F6A2', desc: 'Ship' },
649
+ { code: '1F3DF', desc: 'Stadium' },
650
+ { code: '1F54C', desc: 'Mosque' },
651
+ { code: '26EA', desc: 'Church' },
652
+ { code: '1F6D5', desc: 'Hindu Temple' },
653
+ { code: '1F3D4', desc: 'Snow-capped mountain' },
654
+ { code: '1F3EB', desc: 'School' },
655
+ { code: '1F30B', desc: 'Volcano' },
656
+ { code: '1F3D6', desc: 'Beach with umbrella' },
657
+ { code: '1F3DD', desc: 'Desert island' },
658
+ { code: '1F3DE', desc: 'National park' },
659
+ { code: '1F3F0', desc: 'Castle' },
660
+ { code: '1F5FC', desc: 'Tokyo tower' },
661
+ { code: '1F5FD', desc: 'Statue of liberty' },
662
+ { code: '26E9', desc: 'Shinto shrine' },
663
+ { code: '1F3EF', desc: 'Japanese castle' },
664
+ { code: '1F3A2', desc: 'Roller coaster' }]
665
+ }, {
666
+ name: 'Objects', code: '1F507', iconCss: 'e-objects', icons: [{ code: '1F4A1', desc: 'Light bulb' },
667
+ { code: '1F526', desc: 'Flashlight' },
668
+ { code: '1F4BB', desc: 'Laptop computer' },
669
+ { code: '1F5A5', desc: 'Desktop computer' },
670
+ { code: '1F5A8', desc: 'Printer' },
671
+ { code: '1F4F7', desc: 'Camera' },
672
+ { code: '1F4F8', desc: 'Camera with flash' },
673
+ { code: '1F4FD', desc: 'Film projector' },
674
+ { code: '1F3A5', desc: 'Movie camera' },
675
+ { code: '1F4FA', desc: 'Television' },
676
+ { code: '1F4FB', desc: 'Radio' },
677
+ { code: '1F50B', desc: 'Battery' },
678
+ { code: '231A', desc: 'Watch' },
679
+ { code: '1F4F1', desc: 'Mobile phone' },
680
+ { code: '260E', desc: 'Telephone' },
681
+ { code: '1F4BE', desc: 'Floppy disk' },
682
+ { code: '1F4BF', desc: 'Optical disk' },
683
+ { code: '1F4C0', desc: 'Digital versatile disc' },
684
+ { code: '1F4BD', desc: 'Computer disk' },
685
+ { code: '1F3A7', desc: 'Headphone' },
686
+ { code: '1F3A4', desc: 'Microphone' },
687
+ { code: '1F3B6', desc: 'Multiple musical notes' },
688
+ { code: '1F4DA', desc: 'Books' }]
689
+ }, {
690
+ name: 'Symbols', code: '1F3E7', iconCss: 'e-symbols', icons: [{ code: '274C', desc: 'Cross mark' },
691
+ { code: '2714', desc: 'Check mark' },
692
+ { code: '26A0', desc: 'Warning sign' },
693
+ { code: '1F6AB', desc: 'Prohibited' },
694
+ { code: '2139', desc: 'Information' },
695
+ { code: '267B', desc: 'Recycling symbol' },
696
+ { code: '1F6AD', desc: 'No smoking' },
697
+ { code: '1F4F5', desc: 'No mobile phones' },
698
+ { code: '1F6AF', desc: 'No littering' },
699
+ { code: '1F6B3', desc: 'No bicycles' },
700
+ { code: '1F6B7', desc: 'No pedestrians' },
701
+ { code: '2795', desc: 'Plus' },
702
+ { code: '2796', desc: 'Minus' },
703
+ { code: '2797', desc: 'Divide' },
704
+ { code: '2716', desc: 'Multiplication' },
705
+ { code: '1F4B2', desc: 'Dollar banknote' },
706
+ { code: '1F4AC', desc: 'Speech balloon' },
707
+ { code: '2755', desc: 'White exclamation mark' },
708
+ { code: '2754', desc: 'White question mark' },
709
+ { code: '2764', desc: 'Red heart' }]
710
+ }]
711
+ *
712
+ */
713
+ iconsSet: EmojiIconsSet[];
714
+ /**
715
+ * Enables or disables the search box in an emoji picker.
716
+ *
717
+ * @default true
718
+ */
719
+ showSearchBox: boolean;
720
+ }
523
721
  /**
524
722
  * Configures the Paste Cleanup settings of the RichTextEditor.
525
723
  */
@@ -17,14 +17,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { Property, ChildProperty, Complex } from '@syncfusion/ej2-base';
20
+ import { Property, ChildProperty, Complex, Event } from '@syncfusion/ej2-base';
21
21
  import { AjaxSettings, ContextMenuSettings } from '@syncfusion/ej2-filemanager';
22
22
  import { DetailsViewSettings, NavigationPaneSettings } from '@syncfusion/ej2-filemanager';
23
23
  import { SearchSettings } from '@syncfusion/ej2-filemanager';
24
24
  import { ToolbarSettings as FileToolbarSettings } from '@syncfusion/ej2-filemanager';
25
25
  import { UploadSettings } from '@syncfusion/ej2-filemanager';
26
26
  import { ToolbarType } from '../base/enum';
27
- import { backgroundColor, fontColor, fontFamily, fontSize, formatItems, predefinedItems, TableStyleItems, numberFormatList, bulletFormatList } from './items';
27
+ import { backgroundColor, fontColor, fontFamily, fontSize, formatItems, predefinedItems, TableStyleItems, numberFormatList, bulletFormatList, defaultEmojiIcons } from './items';
28
28
  /**
29
29
  * Configures the toolbar settings of the RichTextEditor.
30
30
  */
@@ -194,6 +194,9 @@ var FileManagerSettings = /** @class */ (function (_super) {
194
194
  function FileManagerSettings() {
195
195
  return _super !== null && _super.apply(this, arguments) || this;
196
196
  }
197
+ __decorate([
198
+ Event()
199
+ ], FileManagerSettings.prototype, "beforeSend", void 0);
197
200
  __decorate([
198
201
  Complex({ getImageUrl: null, url: null, uploadUrl: null }, AjaxSettings)
199
202
  ], FileManagerSettings.prototype, "ajaxSettings", void 0);
@@ -318,10 +321,7 @@ var FormatPainterSettings = /** @class */ (function (_super) {
318
321
  return _super !== null && _super.apply(this, arguments) || this;
319
322
  }
320
323
  __decorate([
321
- Property(['Text', 'List', 'Table'])
322
- ], FormatPainterSettings.prototype, "allowedContext", void 0);
323
- __decorate([
324
- Property('b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; table; thead; tbody; tr; td; th; ol; ul; li; pre;')
324
+ Property('b; em; font; sub; sup; kbd; i; s; u; code; strong; span; p; div; h1; h2; h3; h4; h5; h6; blockquote; ol; ul; li; pre;')
325
325
  ], FormatPainterSettings.prototype, "allowedFormats", void 0);
326
326
  __decorate([
327
327
  Property(null)
@@ -329,6 +329,23 @@ var FormatPainterSettings = /** @class */ (function (_super) {
329
329
  return FormatPainterSettings;
330
330
  }(ChildProperty));
331
331
  export { FormatPainterSettings };
332
+ /**
333
+ * Specifies the emoji picker options in Rich Text Editor with the following properties.
334
+ */
335
+ var EmojiSettings = /** @class */ (function (_super) {
336
+ __extends(EmojiSettings, _super);
337
+ function EmojiSettings() {
338
+ return _super !== null && _super.apply(this, arguments) || this;
339
+ }
340
+ __decorate([
341
+ Property(defaultEmojiIcons)
342
+ ], EmojiSettings.prototype, "iconsSet", void 0);
343
+ __decorate([
344
+ Property(true)
345
+ ], EmojiSettings.prototype, "showSearchBox", void 0);
346
+ return EmojiSettings;
347
+ }(ChildProperty));
348
+ export { EmojiSettings };
332
349
  /**
333
350
  * Configures the Paste Cleanup settings of the RichTextEditor.
334
351
  */
@@ -5,7 +5,7 @@ import * as classes from '../base/classes';
5
5
  import { Uploader } from '@syncfusion/ej2-inputs';
6
6
  import { Button } from '@syncfusion/ej2-buttons';
7
7
  import { RenderType } from '../base/enum';
8
- import { dispatchEvent, parseHtml, hasClass, convertToBlob } from '../base/util';
8
+ import { dispatchEvent, hasClass, convertToBlob } from '../base/util';
9
9
  import { isIDevice } from '../../common/util';
10
10
  /**
11
11
  * `Audio` module is used to handle audio actions.
@@ -93,8 +93,8 @@ var Audio = /** @class */ (function () {
93
93
  if (args.subCommand.toLowerCase() === 'undo' || args.subCommand.toLowerCase() === 'redo') {
94
94
  for (var i = 0; i < this.parent.formatter.getUndoRedoStack().length; i++) {
95
95
  var temp = this.parent.createElement('div');
96
- var contentElem = parseHtml(this.parent.formatter.getUndoRedoStack()[i].text);
97
- temp.appendChild(contentElem);
96
+ var contentElem = this.parent.formatter.getUndoRedoStack()[i].text;
97
+ temp.appendChild(contentElem.cloneNode(true));
98
98
  }
99
99
  }
100
100
  };
@@ -14,7 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  import { ContentRender } from '../renderer/content-renderer';
15
15
  import { isNullOrUndefined } from '@syncfusion/ej2-base';
16
16
  import { getEditValue } from '../base/util';
17
- var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image, .e-rte-audio, .e-rte-video {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden;\n padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }\n </style>\n </head>";
17
+ var IFRAMEHEADER = "\n<!DOCTYPE html> \n <html>\n <head>\n <meta charset='utf-8' /> \n <style>\n @charset \"UTF-8\";\n body {\n font-family: \"Roboto\", sans-serif;\n font-size: 14px;\n }\n html, body{height: 100%;margin: 0;}\n body.e-cursor{cursor:default}\n span.e-selected-node\t{background-color: #939393;color: white;}\n span.e-selected-node.e-highlight {background-color: #1d9dd8;}\n body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}\n .e-rte-image, .e-rte-audio, .e-rte-video {border: 0;cursor: pointer;display:\n block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}\n .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}\n .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}\n .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}\n .e-img-caption.e-caption-inline {display: inline-block;float: none;\n margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));\n position: relativetext-align: center;vertical-align: bottom;}\n .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;\n margin: auto;opacity: .9;text-align: center;width: 100%;}\n .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}\n .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}\n .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}\n .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}\n .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;\n max-width: calc(100% - (2 * 5px));vertical-align: bottom;}\n .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;\n display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}\n .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}\n img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}\n span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;\n background: #4a90e2; border: 1px solid #fff; z-index: 1000;}\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;\n border-radius: 15px; height: 20px; width: 20px; }\n .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }\n .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }\n .e-img-caption .e-img-inner { outline: 0; }\n .e-img-caption a:focus-visible { outline: none; }\n .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}\n body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;\n overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}\n p{margin: 0 0 10px;margin-bottom: 10px;}\n li{margin-bottom: 10px;}\n h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}\n h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}\n h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}\n h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}\n h5{font-size: 00.8em;font-weight: 400;margin: 0;}\n h6{font-size: 00.65em;font-weight: 400;margin: 0;}\n blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}\n pre{background-color: inherit;border: 0;border-radius: 0;color: #333;\n font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;\n white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}\n strong, b{font-weight: 700;}\n a{text-decoration: none;user-select: auto;}\n a:hover{text-decoration: underline;};\n p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}\n h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}\n ul:last-child{margin-bottom: 0;}\n table { border-collapse: collapse; empty-cells: show;}\n table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}\n table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}\n table th {background-color: #E0E0E0;}\n table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD} \n table .e-cell-select {border: 1px double #4a90e2;}\n span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }\n span.e-table-box.e-rmob {height: 14px;width: 14px;}\n .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;\n bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }\n .e-row-resize { cursor: row-resize; height: 1px;}\n .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}\n .e-table-rhelper.e-column-helper { width: 1px; }\n .e-table-rhelper.e-row-helper {height: 1px;}\n .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block; height: 0;\n position: absolute; right: 4px; top: 4px; width: 20px; }\n .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;\n border-top: 6px solid transparent; content: ''; display: block;\n height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }\n .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }\n .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }\n span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }\n span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }\n .e-table-rhelper { background-color: #4a90e2;}\n .e-rtl { direction: rtl; }\n .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }\n </style>\n </head>";
18
18
  /**
19
19
  * Content module is used to render Rich Text Editor content
20
20
  *