qms-angular 1.1.70 → 1.1.71

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 (88) hide show
  1. package/bundles/qms-angular.umd.js +59 -7
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/model/en.js +13 -2
  4. package/esm2015/lib/model/no.js +12 -1
  5. package/esm2015/lib/model/sv.js +12 -1
  6. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +2 -1
  7. package/esm2015/lib/qms-ckeditor-components/common/functions/resource.function.js +17 -6
  8. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +9 -2
  9. package/fesm2015/qms-angular.js +59 -7
  10. package/fesm2015/qms-angular.js.map +1 -1
  11. package/lib/model/en.d.ts +11 -0
  12. package/lib/model/no.d.ts +11 -0
  13. package/lib/model/sv.d.ts +11 -0
  14. package/lib/qms-ckeditor-components/common/functions/resource.function.d.ts +15 -4
  15. package/package.json +1 -1
  16. package/qms-angular.metadata.json +1 -1
  17. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +242 -152
  18. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/index.js +62 -16
  19. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacters.js +255 -254
  20. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersarrows.js +154 -60
  21. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersbasiclatin.js +137 -0
  22. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersblockelements.js +74 -0
  23. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersbopomofo.js +90 -0
  24. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersboxdrawing.js +170 -0
  25. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersbraillepatterns.js +298 -0
  26. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscjkradicalssupplement.js +170 -0
  27. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscjksymbolsandpunctuation.js +106 -0
  28. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscombiningdiacriticalmarks.js +139 -0
  29. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscombiningdiacriticalmarksforsymbols.js +90 -0
  30. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscontrolpictures.js +106 -0
  31. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscurrencysymbols.js +90 -0
  32. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscyrillic.js +298 -0
  33. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscyrillicsupplementary.js +90 -0
  34. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersdingbats.js +234 -0
  35. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersenclosedalphanumerics.js +202 -0
  36. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersgeneralpunctuation.js +160 -0
  37. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersgeometricshapes.js +138 -0
  38. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersgreekandcoptic.js +186 -0
  39. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersgreekextended.js +154 -0
  40. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactershiragana.js +138 -0
  41. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersideographicdescriptioncharacters.js +58 -0
  42. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersipaextensions.js +174 -0
  43. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterskangxiradicals.js +266 -0
  44. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterskatakana.js +138 -0
  45. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatin1supplement.js +144 -0
  46. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatinextendeda.js +179 -0
  47. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatinextendedadditional.js +327 -0
  48. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatinextendedb.js +340 -0
  49. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersletterlikesymbols.js +122 -0
  50. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmathematicaloperatorssymbol.js +300 -0
  51. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmestbrukte.js +99 -0
  52. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmiscellaneousmathematicalsymbolsa.js +90 -0
  53. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmiscellaneousmathematicalsymbolsb.js +170 -0
  54. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmiscellaneoussymbols.js +297 -0
  55. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmiscellaneoussymbolsandarrows.js +298 -0
  56. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmiscellaneoustechnical.js +298 -0
  57. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersnumberforms.js +106 -0
  58. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersopticalcharacterrecognition.js +74 -0
  59. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersphoneticextensions.js +179 -0
  60. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersspacingmodifierletters.js +139 -0
  61. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersspecials.js +46 -0
  62. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterssuperscriptsandsubscripts.js +92 -0
  63. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterssupplementalarrowsa.js +58 -0
  64. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterssupplementalarrowsb.js +170 -0
  65. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterssupplementalmathematicaloperators.js +298 -0
  66. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/charactergrid.css +14 -12
  67. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/specialcharacters.css +15 -10
  68. package/src/assets/qms-ckeditor-plugin/src/plugins/clipboard/clipboardPlugin.js +161 -0
  69. package/src/assets/qms-ckeditor-plugin/src/plugins/clipboard/qms-clipboardcommand-paste.js +20 -0
  70. package/src/assets/qms-ckeditor-plugin/src/plugins/clipboard/qms-clipboardcommand.js +21 -0
  71. package/src/assets/qms-ckeditor-plugin/src/plugins/showBlocks/showBlocksPlugin.js +131 -0
  72. package/src/assets/qms-ckeditor-plugin/src/plugins/showBlocks/showBlockscommand.js +13 -0
  73. package/src/assets/qms-ckeditor-plugin/src/plugins/softHyphen/softHyphenPlugin.js +91 -0
  74. package/src/assets/qms-ckeditor-plugin/src/plugins/softHyphen/softHyphencommand.js +13 -0
  75. package/src/assets/qms-ckeditor-plugin/src/plugins/table/verticalAlign/verticalAlignPlugin.js +102 -0
  76. package/src/assets/qms-ckeditor-plugin/src/plugins/table/verticalAlign/verticalAligncommand.js +13 -0
  77. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentscommand.js +87 -87
  78. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsediting.js +59 -59
  79. package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsui.js +34 -34
  80. package/src/assets/qms-ckeditor-plugin/src/themes/icons/copy.svg +1 -0
  81. package/src/assets/qms-ckeditor-plugin/src/themes/icons/cut.svg +1 -0
  82. package/src/assets/qms-ckeditor-plugin/src/themes/icons/paste.svg +1 -0
  83. package/src/assets/qms-ckeditor-plugin/src/themes/icons/pasteText.svg +3 -0
  84. package/src/assets/qms-ckeditor-plugin/src/themes/icons/pasteWord.svg +3 -0
  85. package/src/assets/qms-ckeditor-plugin/src/themes/icons/show-blocks.svg +24 -0
  86. package/src/assets/qms-ckeditor-plugin/src/themes/icons/soft-hyphen.svg +1 -0
  87. package/src/assets/qms-ckeditor-plugin/src/themes/icons/table-excel.svg +1 -44
  88. package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +50 -4
@@ -1,87 +1,87 @@
1
- import { Command } from '@ckeditor/ckeditor5-core';
2
- import { rangeToText, getAttributeValueOn, setAttributeOn, TOC_ELEMENTS, TOC_ATTRIBUTES} from './utils';
3
- import { findOptimalInsertionPosition } from '@ckeditor/ckeditor5-widget/src/utils';
4
- import { trimStart } from '../common/qmsCKEditorUtil';
5
-
6
- export default class TableOfContentsCommand extends Command {
7
-
8
- execute( options = {} ) {
9
- const editor = this.editor;
10
- const model = editor.model;
11
- model.change(writer => {
12
- const headingObject = this._findHeadingElements(options.headings);
13
- if(Object.keys(headingObject).length > 0){
14
- const tocObject = this._buildTOCElements(headingObject);
15
- this._setAnchorIdAttribute(headingObject, tocObject, writer);
16
- this._insertTOCElements(tocObject, writer);
17
- }
18
- });
19
- }
20
-
21
- _insertTOCElements(tocObject, writer){
22
- let position;
23
- Object.keys(tocObject).forEach((key) => {
24
- const section = tocObject[key];
25
- const paragraphElement = writer.createElement(TOC_ELEMENTS.PARAGRAPH, { ...section.attributes });
26
- const textElement = writer.createText(section.text, { [TOC_ATTRIBUTES.LINK_HREF]: '#' + section.id });
27
- writer.insert(textElement, writer.createPositionAt(paragraphElement, 0));
28
- if(!position){
29
- position = findOptimalInsertionPosition(this.editor.model.document.selection, this.editor.model);
30
- }
31
- const { end: positionAfter } = this.editor.model.insertContent(paragraphElement, position);
32
- position = positionAfter;
33
- });
34
- }
35
-
36
- _setAnchorIdAttribute(headingObject, tocObject, writer){
37
- Object.keys(tocObject).forEach((key) =>{
38
- const node = headingObject[key];
39
- const sectionOject = tocObject[key];
40
- if(!sectionOject.hasAnchorId){
41
- const range = this.editor.model.createRangeIn(node);
42
- const attribute = { key: TOC_ATTRIBUTES.ANCHOR_ID, value: sectionOject.id }
43
- const hasAnchorId = setAttributeOn(range, this.editor.model.schema, writer, attribute);
44
- if(!hasAnchorId){
45
- let childNode = writer.createText('\u00A0', { [TOC_ATTRIBUTES.ANCHOR_ID]: sectionOject.id });//insert non-breaking space
46
- writer.insert(childNode, writer.createPositionAt(node, 0));
47
- }
48
- }
49
- });
50
- }
51
-
52
- _buildTOCElements(headingObject){
53
- const tocObject = {};
54
- let index = 1;
55
- Object.keys(headingObject).forEach(key =>{
56
- const node = headingObject[key];
57
- const range = this.editor.model.createRangeIn(node);
58
- const attributes = Object.fromEntries(node.getAttributes());
59
- const name = node.name.toLowerCase();
60
- attributes[TOC_ATTRIBUTES.HEADING_CLASS] = name;
61
- const text = rangeToText(range) || '';
62
- let id = trimStart(text, '#').replace(/[^a-z0-9\+]/gi, '').toLowerCase() + index;
63
- let hasAnchorId = false;
64
- const anchorId = getAttributeValueOn(range, TOC_ATTRIBUTES.ANCHOR_ID);
65
- if(!!anchorId){
66
- id = trimStart(anchorId, '#');
67
- hasAnchorId = true;
68
- }
69
- tocObject[key] = { id, name, text, hasAnchorId, attributes };
70
- index++;
71
- });
72
- return tocObject;
73
- }
74
-
75
- _findHeadingElements(supportedHeadings){
76
- const headingObject = {};
77
- const range = this.editor.model.createRangeIn(this.editor.model.document.getRoot());
78
- for (const value of range.getWalker()) {
79
- const node = value.item;
80
- if (node.is('element') && supportedHeadings.indexOf(node.name) > -1) {
81
- let path = node.getPath();
82
- headingObject[path] = node;
83
- }
84
- }
85
- return headingObject;
86
- }
87
- }
1
+ import { Command } from '@ckeditor/ckeditor5-core';
2
+ import { rangeToText, getAttributeValueOn, setAttributeOn, TOC_ELEMENTS, TOC_ATTRIBUTES } from './utils';
3
+ import { findOptimalInsertionPosition } from '@ckeditor/ckeditor5-widget/src/utils';
4
+ import { trimStart } from '../common/qmsCKEditorUtil';
5
+
6
+ export default class TableOfContentsCommand extends Command {
7
+
8
+ execute(options = {}) {
9
+ const editor = this.editor;
10
+ const model = editor.model;
11
+ model.change(writer => {
12
+ const headingObject = this._findHeadingElements(options.headings);
13
+ if (Object.keys(headingObject).length > 0) {
14
+ const tocObject = this._buildTOCElements(headingObject);
15
+ this._setAnchorIdAttribute(headingObject, tocObject, writer);
16
+ this._insertTOCElements(tocObject, writer);
17
+ }
18
+ });
19
+ }
20
+
21
+ _insertTOCElements(tocObject, writer) {
22
+ let position;
23
+ Object.keys(tocObject).forEach((key) => {
24
+ const section = tocObject[key];
25
+ const paragraphElement = writer.createElement(TOC_ELEMENTS.PARAGRAPH, { ...section.attributes });
26
+ const textElement = writer.createText(section.text, { [TOC_ATTRIBUTES.LINK_HREF]: '#' + section.id });
27
+ writer.insert(textElement, writer.createPositionAt(paragraphElement, 0));
28
+ if (!position) {
29
+ position = findOptimalInsertionPosition(this.editor.model.document.selection, this.editor.model);
30
+ }
31
+ const { end: positionAfter } = this.editor.model.insertContent(paragraphElement, position);
32
+ position = positionAfter;
33
+ });
34
+ }
35
+
36
+ _setAnchorIdAttribute(headingObject, tocObject, writer) {
37
+ Object.keys(tocObject).forEach((key) => {
38
+ const node = headingObject[key];
39
+ const sectionOject = tocObject[key];
40
+ if (!sectionOject.hasAnchorId) {
41
+ const range = this.editor.model.createRangeIn(node);
42
+ const attribute = { key: TOC_ATTRIBUTES.ANCHOR_ID, value: sectionOject.id }
43
+ const hasAnchorId = setAttributeOn(range, this.editor.model.schema, writer, attribute);
44
+ if (!hasAnchorId) {
45
+ let childNode = writer.createText('\u00A0', { [TOC_ATTRIBUTES.ANCHOR_ID]: sectionOject.id });//insert non-breaking space
46
+ writer.insert(childNode, writer.createPositionAt(node, 0));
47
+ }
48
+ }
49
+ });
50
+ }
51
+
52
+ _buildTOCElements(headingObject) {
53
+ const tocObject = {};
54
+ let index = 1;
55
+ Object.keys(headingObject).forEach(key => {
56
+ const node = headingObject[key];
57
+ const range = this.editor.model.createRangeIn(node);
58
+ const attributes = Object.fromEntries(node.getAttributes());
59
+ const name = node.name.toLowerCase();
60
+ attributes[TOC_ATTRIBUTES.HEADING_CLASS] = name;
61
+ const text = rangeToText(range) || '';
62
+ let id = trimStart(text, '#').replace(/[^a-z0-9\+]/gi, '').toLowerCase() + index;
63
+ let hasAnchorId = false;
64
+ const anchorId = getAttributeValueOn(range, TOC_ATTRIBUTES.ANCHOR_ID);
65
+ if (!!anchorId) {
66
+ id = trimStart(anchorId, '#');
67
+ hasAnchorId = true;
68
+ }
69
+ tocObject[key] = { id, name, text, hasAnchorId, attributes };
70
+ index++;
71
+ });
72
+ return tocObject;
73
+ }
74
+
75
+ _findHeadingElements(supportedHeadings) {
76
+ const headingObject = {};
77
+ const range = this.editor.model.createRangeIn(this.editor.model.document.getRoot());
78
+ for (const value of range.getWalker()) {
79
+ const node = value.item;
80
+ if (node.is('element') && supportedHeadings.includes(node.name)) {
81
+ const path = node.getPath().join(',');
82
+ headingObject[path] = node;
83
+ }
84
+ }
85
+ return headingObject;
86
+ }
87
+ }
@@ -1,59 +1,59 @@
1
- import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
- import { TOC_ATTRIBUTES, TOC_COMMAND, normalizeHeadingOptions } from './utils';
3
- import TableOfContentsCommand from './tableofcontentscommand';
4
- import '../../themes/styles/heading.css';
5
-
6
- export default class TableOfContentsEditing extends Plugin {
7
- static get pluginName() {
8
- return 'TableOfContentsEditing';
9
- }
10
-
11
- init() {
12
- const editor = this.editor;
13
- const model = editor.model;
14
- const supportedHeadings = normalizeHeadingOptions(editor.config.get('tableOfContents.supportedHeadings'));
15
- model.schema.extend('$block', { allowAttributes: TOC_ATTRIBUTES.HEADING_CLASS } );
16
- model.schema.setAttributeProperties(TOC_ATTRIBUTES.HEADING_CLASS, { isFormatting: true } );
17
- editor.conversion.attributeToAttribute(buildClassDefinition(supportedHeadings));
18
- editor.commands.add(TOC_COMMAND, new TableOfContentsCommand(editor));
19
- }
20
- }
21
-
22
- function buildClassDefinition( supportedHeadings ) {
23
- const options = [];
24
- supportedHeadings.forEach((name) =>{
25
- try{
26
- /* Reference to the default config of the heading plugin
27
- editor.config.define( 'heading', {
28
- options: [
29
- { model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
30
- { model: 'heading1', view: 'h2', title: 'Heading 1', class: 'ck-heading_heading1' },
31
- { model: 'heading2', view: 'h3', title: 'Heading 2', class: 'ck-heading_heading2' },
32
- { model: 'heading3', view: 'h4', title: 'Heading 3', class: 'ck-heading_heading3' }
33
- ]
34
- }); */
35
- const level = parseInt(name.replace('heading', '')) + 1;
36
- const className = 'h' + level;
37
- options.push({ name, className });
38
- }
39
- catch{
40
-
41
- }
42
- });
43
-
44
- const definition = {
45
- model: {
46
- key: TOC_ATTRIBUTES.HEADING_CLASS,
47
- values: options.map(option => option.name)
48
- },
49
- view: {}
50
- };
51
-
52
- for (const option of options) {
53
- definition.view[option.name] = {
54
- key: 'class',
55
- value: option.className
56
- };
57
- }
58
- return definition;
59
- }
1
+ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
+ import { TOC_ATTRIBUTES, TOC_COMMAND, normalizeHeadingOptions } from './utils';
3
+ import TableOfContentsCommand from './tableofcontentscommand';
4
+ import '../../themes/styles/heading.css';
5
+
6
+ export default class TableOfContentsEditing extends Plugin {
7
+ static get pluginName() {
8
+ return 'TableOfContentsEditing';
9
+ }
10
+
11
+ init() {
12
+ const editor = this.editor;
13
+ const model = editor.model;
14
+ const supportedHeadings = normalizeHeadingOptions(editor.config.get('tableOfContentHeadings'));
15
+ model.schema.extend('$block', { allowAttributes: TOC_ATTRIBUTES.HEADING_CLASS } );
16
+ model.schema.setAttributeProperties(TOC_ATTRIBUTES.HEADING_CLASS, { isFormatting: true } );
17
+ editor.conversion.attributeToAttribute(buildClassDefinition(supportedHeadings));
18
+ editor.commands.add(TOC_COMMAND, new TableOfContentsCommand(editor));
19
+ }
20
+ }
21
+
22
+ function buildClassDefinition( supportedHeadings ) {
23
+ const options = [];
24
+ supportedHeadings.forEach((name) =>{
25
+ try{
26
+ /* Reference to the default config of the heading plugin
27
+ editor.config.define( 'heading', {
28
+ options: [
29
+ { model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
30
+ { model: 'heading1', view: 'h2', title: 'Heading 1', class: 'ck-heading_heading1' },
31
+ { model: 'heading2', view: 'h3', title: 'Heading 2', class: 'ck-heading_heading2' },
32
+ { model: 'heading3', view: 'h4', title: 'Heading 3', class: 'ck-heading_heading3' }
33
+ ]
34
+ }); */
35
+ const level = parseInt(name.replace('heading', '')) + 1;
36
+ const className = 'h' + level;
37
+ options.push({ name, className });
38
+ }
39
+ catch{
40
+
41
+ }
42
+ });
43
+
44
+ const definition = {
45
+ model: {
46
+ key: TOC_ATTRIBUTES.HEADING_CLASS,
47
+ values: options.map(option => option.name)
48
+ },
49
+ view: {}
50
+ };
51
+
52
+ for (const option of options) {
53
+ definition.view[option.name] = {
54
+ key: 'class',
55
+ value: option.className
56
+ };
57
+ }
58
+ return definition;
59
+ }
@@ -1,35 +1,35 @@
1
- import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
- import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';
3
- import tableIcon from '../../themes/icons/table-excel.svg';
4
- import { TOC_COMMAND, normalizeHeadingOptions } from './utils';
5
-
6
- export default class TableOfContentsUI extends Plugin {
7
- static get pluginName() {
8
- return 'TableOfContentsUI';
9
- }
10
-
11
- init() {
12
- const editor = this.editor;
13
- const t = editor.t;
14
- const supportedHeadings = normalizeHeadingOptions(editor.config.get('tableOfContents.supportedHeadings'));
15
- editor.ui.componentFactory.add('tableOfContents', locale => {
16
- const buttonView = new ButtonView( locale );
17
- buttonView.set( {
18
- label: t('Create Table of Contents'),
19
- icon: tableIcon,
20
- withText: false,
21
- tooltip: true
22
- } );
23
-
24
- // Bind button to the command.
25
- const tocCommand = editor.commands.get(TOC_COMMAND);
26
- buttonView.bind('isEnabled').to(tocCommand, 'isEnabled' );
27
- buttonView.bind('isOn').to(tocCommand, 'value', value => !!value );
28
-
29
- buttonView.on('execute', () => {
30
- editor.execute(TOC_COMMAND, { headings: supportedHeadings });
31
- });
32
- return buttonView;
33
- });
34
- }
1
+ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
+ import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';
3
+ import tableIcon from '../../themes/icons/table-excel.svg';
4
+ import { TOC_COMMAND, normalizeHeadingOptions } from './utils';
5
+
6
+ export default class TableOfContentsUI extends Plugin {
7
+ static get pluginName() {
8
+ return 'TableOfContentsUI';
9
+ }
10
+
11
+ init() {
12
+ const editor = this.editor;
13
+ const t = editor.t;
14
+ const supportedHeadings = normalizeHeadingOptions(editor.config.get('tableOfContentHeadings'));
15
+ editor.ui.componentFactory.add('tableOfContents', locale => {
16
+ const buttonView = new ButtonView( locale );
17
+ buttonView.set( {
18
+ label: t('Create table of contents'),
19
+ icon: tableIcon,
20
+ withText: false,
21
+ tooltip: true
22
+ } );
23
+
24
+ // Bind button to the command.
25
+ const tocCommand = editor.commands.get(TOC_COMMAND);
26
+ buttonView.bind('isEnabled').to(tocCommand, 'isEnabled' );
27
+ buttonView.bind('isOn').to(tocCommand, 'value', value => !!value );
28
+
29
+ buttonView.on('execute', () => {
30
+ editor.execute(TOC_COMMAND, { headings: supportedHeadings });
31
+ });
32
+ return buttonView;
33
+ });
34
+ }
35
35
  }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#5f6368"><path d="M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 960" width="24px" height="24px"><g xmlns="http://www.w3.org/2000/svg" transform="matrix(0 -1 1 0 960 960)"><path d="M760-120 480-400l-94 94q8 15 11 32t3 34q0 66-47 113T240-80q-66 0-113-47T80-240q0-66 47-113t113-47q17 0 34 3t32 11l94-94-94-94q-15 8-32 11t-34 3q-66 0-113-47T80-720q0-66 47-113t113-47q66 0 113 47t47 113q0 17-3 34t-11 32l494 494v40H760ZM600-520l-80-80 240-240h120v40L600-520ZM240-640q33 0 56.5-23.5T320-720q0-33-23.5-56.5T240-800q-33 0-56.5 23.5T160-720q0 33 23.5 56.5T240-640Zm240 180q8 0 14-6t6-14q0-8-6-14t-14-6q-8 0-14 6t-6 14q0 8 6 14t14 6ZM240-160q33 0 56.5-23.5T320-240q0-33-23.5-56.5T240-320q-33 0-56.5 23.5T160-240q0 33 23.5 56.5T240-160Z" /></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" height="24px" viewBox="0 0 256 256" enable-background="new 0 0 256 256" xml:space="preserve">
2
+ <g><g><path fill="#000000" d="M167.3,33.6h-31.5V17.8c0-8.7-7.1-15.7-15.7-15.7H88.7c-8.7,0-15.7,7.1-15.7,15.7v15.7H41.4v35.9h125.9V33.6L167.3,33.6z M120.1,33.6H88.7V17.9l0,0h31.4l0,0V33.6z M198.8,94.7V41.5c0-4.3-3.5-7.9-7.9-7.9h-15.7v15.7h7.9v45.3H92.9v122.3H25.7V49.3h7.9V33.6H17.9c-4.3,0-7.9,3.5-7.9,7.9v183.3c0,4.3,3.5,7.9,7.9,7.9h75.1v21.2l153.1,0V94.7H198.8z M230.3,238.1H108.7V110.4h121.6L230.3,238.1z"/><path fill="#000000" d="M208.4,136.2h-77.8v15.8h31v60.3h15.8V152h30.9L208.4,136.2L208.4,136.2z"/></g></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com" height="24px" viewBox="0 0 399 512.02" width="24px" preserveAspectRatio="none">
2
+ <path d="M 96.59 35.73 L 131.49 35.73 C 133.94 15.58 150.2 0 169.92 0 C 189.52 0 205.69 15.37 208.31 35.31 L 243.78 35.73 C 246.15 35.73 248.04 37.62 248.04 39.99 L 248.04 87 C 248.04 89.36 246.15 91.26 243.78 91.26 L 96.63 91.26 C 94.32 91.26 92.37 89.36 92.37 87 L 92.37 39.99 C 92.33 37.62 94.23 35.73 96.59 35.73 Z M 307.82 166.69 L 308.7 166.69 C 311.82 166.69 314.6 168.13 316.4 170.39 L 396.42 258.25 C 398.067 260.062 398.979 262.422 398.98 264.87 L 399 267.53 L 399 490.81 C 399 496.62 396.59 501.94 392.75 505.78 C 388.91 509.62 383.6 512.02 377.79 512.02 L 156.47 512.02 C 150.7 512.02 145.39 509.63 141.53 505.78 L 141.49 505.74 C 137.65 501.87 135.26 496.6 135.26 490.81 L 135.26 187.7 C 135.26 181.87 137.64 176.56 141.48 172.72 C 145.32 168.88 150.63 166.49 156.47 166.49 L 305.84 166.49 C 306.52 166.49 307.18 166.56 307.82 166.69 Z M 379.28 277.49 C 335.54 275.79 313.86 274.22 301.6 261.36 C 289.33 248.48 290.09 228.8 291.57 191.1 L 291.76 186.22 L 156.47 186.22 C 156.06 186.22 155.69 186.39 155.42 186.66 C 155.15 186.92 154.98 187.3 154.98 187.7 L 154.98 490.81 C 154.98 491.22 155.14 491.59 155.39 491.84 L 155.43 491.88 C 155.69 492.14 156.06 492.3 156.47 492.3 L 377.79 492.3 C 378.16 492.3 378.53 492.12 378.81 491.84 C 379.09 491.56 379.28 491.19 379.28 490.81 L 379.28 277.49 Z M 311.03 196.58 C 309.9 225.74 309.62 241.26 315.85 247.8 C 322 254.25 337.18 255.97 366.5 257.3 L 311.03 196.58 Z M 100.37 400.1 C 107.3 400.1 112.92 405.72 112.92 412.65 C 112.92 419.57 107.3 425.2 100.37 425.2 L 39.33 425.2 C 28.61 425.2 18.75 420.75 11.58 413.59 C 4.45 406.51 0 396.69 0 385.86 L 0 91.56 C 0 80.73 4.42 70.9 11.54 63.78 L 12.38 63.01 C 19.43 56.35 28.93 52.24 39.33 52.24 L 71.79 52.24 L 71.79 77.35 L 39.33 77.35 C 35.65 77.35 32.28 78.75 29.76 81.04 L 29.29 81.53 C 26.71 84.11 25.1 87.67 25.1 91.56 L 25.1 385.86 C 25.1 389.73 26.73 393.28 29.31 395.87 L 29.31 395.92 C 31.89 398.5 35.45 400.1 39.33 400.1 L 100.37 400.1 Z M 268.61 52.24 L 301.05 52.24 C 311.84 52.24 321.65 56.69 328.77 63.8 C 335.94 70.96 340.39 80.82 340.39 91.56 L 340.39 121.47 C 340.39 128.4 334.77 134.02 327.84 134.02 C 320.91 134.02 315.29 128.4 315.29 121.47 L 315.29 91.56 C 315.29 87.68 313.69 84.12 311.12 81.55 C 308.54 78.97 304.97 77.35 301.05 77.35 L 268.61 77.35 L 268.61 52.24 Z M 169.48 18.28 C 180.63 18.28 189.66 27.31 189.66 38.46 C 189.66 49.61 180.63 58.65 169.48 58.65 C 158.33 58.65 149.29 49.61 149.29 38.46 C 149.29 27.31 158.33 18.28 169.48 18.28 Z" stroke="currentColor" stroke-width="10"/>
3
+ <text style="fill: rgb(51, 51, 51); font-family: Arial, sans-serif; font-size: 96px; font-weight: 700; white-space: pre;" x="227.293" y="408.557" transform="matrix(1.739494, 0, 0, 1.63896, -205.964035, -233.651123)">W</text></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 20 24" width="20px">
2
+ <path
3
+ d="m6.395 9.196 2.545-.007V6.498a.598.598 0 0 1 .598-.598h.299a.598.598 0 0 1 .598.598v6.877a.598.598 0 0 1-.598.598h-.299a.598.598 0 0 1-.598-.598v-2.691l-2.545.007v2.691a.598.598 0 0 1-.598.598h-.299a.598.598 0 0 1-.598-.598V6.505a.598.598 0 0 1 .598-.598h.299a.598.598 0 0 1 .598.598v2.691Z"
4
+ ></path>
5
+ <path
6
+ d="M15.094 13.417V6.462a.562.562 0 0 0-.562-.562h-.782a1 1 0 0 0-.39.08l-1.017.43a.562.562 0 0 0-.343.517v.197c0 .4.406.67.775.519l.819-.337v6.111c0 .31.251.562.561.562h.377c.31 0 .562-.251.562-.562Z"
7
+ ></path>
8
+ <path d="M0 15.417v1.5h1.5v-1.5H0Z"></path>
9
+ <path d="M18.5 15.417v1.5H20v-1.5h-1.5Z"></path>
10
+ <path d="M18.5 12.333v1.5H20v-1.5h-1.5Z"></path>
11
+ <path d="M18.5 9.25v1.5H20v-1.5h-1.5Z"></path>
12
+ <path d="M18.5 6.167v1.5H20v-1.5h-1.5Z"></path>
13
+ <path d="M0 18.5v.5a1 1 0 0 0 1 1h.5v-1.5H0Z"></path>
14
+ <path d="M3.083 18.5V20h1.5v-1.5h-1.5Z"></path>
15
+ <path d="M6.167 18.5V20h1.5v-1.5h-1.5Z"></path>
16
+ <path d="M9.25 18.5V20h1.5v-1.5h-1.5Z"></path>
17
+ <path d="M12.333 18.5V20h1.5v-1.5h-1.5Z"></path>
18
+ <path d="M15.417 18.5V20h1.5v-1.5h-1.5Z"></path>
19
+ <path d="M18.5 18.5V20h.5a1 1 0 0 0 1-1v-.5h-1.5Z"></path>
20
+ <path
21
+ clip-rule="evenodd"
22
+ d="M0 1a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3.583h-1.5V1.5h-17v12.333H0V1Z"
23
+ ></path>
24
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g fill="currentColor"><path d="M11.75 9h-7.5A.25.25 0 0 1 4 8.75v-1.5A.25.25 0 0 1 4.25 7h7.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25zM3.5 3C2.625 4.202 2 5.797 2 8.018c0 2.185.649 3.755 1.5 4.982h-1C1.744 11.982 1 10.411 1 8.018 1.012 5.601 1.744 4.031 2.5 3h1zM13.5 3c.756 1.03 1.488 2.601 1.5 5.018 0 2.393-.744 3.964-1.5 4.982h-1c.851-1.227 1.5-2.797 1.5-4.982 0-2.22-.625-3.816-1.5-5.018h1z"/></g></svg>
@@ -1,44 +1 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
5
- <g>
6
- <g>
7
- <path d="M0,22.261v467.478h512V22.261H0z M155.826,456.348H33.391v-77.913h122.435V456.348z M155.826,345.043H33.391V267.13
8
- h122.435V345.043z M155.826,233.739H33.391v-77.913h122.435V233.739z M322.783,456.348H189.217v-77.913h133.565V456.348z
9
- M322.783,345.043H189.217V267.13h133.565V345.043z M322.783,233.739H189.217v-77.913h133.565V233.739z M478.609,456.348H356.174
10
- v-77.913h122.435V456.348z M478.609,345.043H356.174V267.13h122.435V345.043z M478.609,233.739H356.174v-77.913h122.435V233.739z
11
- M478.609,122.435H33.391V55.652h445.217V122.435z"/>
12
- </g>
13
- </g>
14
- <g>
15
- </g>
16
- <g>
17
- </g>
18
- <g>
19
- </g>
20
- <g>
21
- </g>
22
- <g>
23
- </g>
24
- <g>
25
- </g>
26
- <g>
27
- </g>
28
- <g>
29
- </g>
30
- <g>
31
- </g>
32
- <g>
33
- </g>
34
- <g>
35
- </g>
36
- <g>
37
- </g>
38
- <g>
39
- </g>
40
- <g>
41
- </g>
42
- <g>
43
- </g>
44
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M3 19a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8.022a6.47 6.47 0 0 0-1.5-.709V2a.5.5 0 0 0-.5-.5H3a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h6.313c.173.534.412 1.037.709 1.5H3Z"/><path d="M9.174 14a6.489 6.489 0 0 0-.155 1H6v-1h3.174Z"/><path d="M10.022 12c-.202.316-.378.65-.524 1H4v-1h6.022Z"/><path d="M12.034 10c-.448.283-.86.62-1.224 1H6v-1h6.034Z"/><path d="M12 4v1H4V4h8Z"/><path d="M14 7V6H6v1h8Z"/><path d="M15 9V8H7v1h8Z"/><path clip-rule="evenodd" d="M20 15.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM15.5 13a.5.5 0 0 0-.5.5V15h-1.5a.5.5 0 0 0 0 1H15v1.5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H16v-1.5a.5.5 0 0 0-.5-.5Z"/></svg>
@@ -17,6 +17,51 @@
17
17
  p {
18
18
  line-height: normal;
19
19
  }
20
+
21
+ span.shy {
22
+ background: #afe0ef;
23
+ padding: 0 1px;
24
+ }
25
+
26
+ span.shy:after {
27
+ content: '-';
28
+ }
29
+
30
+ .show-block-outline {
31
+ outline: 1px dashed #757575;
32
+ padding: 4px;
33
+ margin: 10px 0px;
34
+ padding-top: 15px;
35
+ }
36
+
37
+ .block-label {
38
+ position: relative;
39
+ top: -20px;
40
+ font-size: 12px;
41
+ background-color: #d2cdcd;
42
+ color: black;
43
+ pointer-events: none;
44
+ font-weight: 400;
45
+ }
46
+
47
+ .show-block-button {
48
+ margin-right: 0px !important;
49
+ }
50
+
51
+ .show-block-button-active {
52
+ background-color: var(--ck-color-button-on-background);
53
+ // color: #2977ff;
54
+ margin-right: 0 !important;
55
+ }
56
+
57
+ .qms-verticalAlign {
58
+ width: 54px;
59
+ }
60
+
61
+ .qms-verticalAlign-selected {
62
+ width: 54px;
63
+ background: var(--ck-color-button-on-background);
64
+ }
20
65
  }
21
66
 
22
67
  .qms-ckeditor {
@@ -66,8 +111,9 @@
66
111
  }
67
112
 
68
113
  .ck-disabled {
114
+
69
115
  .ck.ck-toolbar,
70
- .ck.ck-editor__main > .ck-editor__editable {
116
+ .ck.ck-editor__main>.ck-editor__editable {
71
117
  background-color: theme-apply($disabled);
72
118
  pointer-events: none;
73
119
  }
@@ -77,7 +123,7 @@
77
123
  }
78
124
  }
79
125
 
80
- .ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
126
+ .ck.ck-editor__main>.ck-editor__editable:not(.ck-focused) {
81
127
  &:focus {
82
128
  border-radius: 4px;
83
129
  }
@@ -113,7 +159,7 @@
113
159
  background: white;
114
160
  z-index: 99;
115
161
 
116
- .qms-ckeditor {
162
+ .qms-ckeditor {
117
163
  height: 98%;
118
164
  display: block;
119
165
  width: 100%;
@@ -138,4 +184,4 @@
138
184
  font-weight: 400;
139
185
  line-height: 16px;
140
186
  color: black(0.6);
141
- }
187
+ }