@modusoperandi/licit 1.4.2 → 1.4.6

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 (228) hide show
  1. package/BlockquoteInsertNewLineCommand.js.flow +70 -70
  2. package/BlockquoteNodeSpec.js.flow +29 -29
  3. package/BlockquoteToggleCommand.js.flow +56 -56
  4. package/BookmarkNodeSpec.js.flow +39 -39
  5. package/BulletListNodeSpec.js.flow +61 -61
  6. package/CZIProseMirror.js.flow +90 -90
  7. package/CodeBlockCommand.js.flow +65 -65
  8. package/CodeBlockNodeSpec.js.flow +24 -24
  9. package/CodeMarkSpec.js.flow +14 -14
  10. package/ContentPlaceholderPlugin.js.flow +183 -183
  11. package/CursorPlaceholderPlugin.js.flow +113 -113
  12. package/DocLayoutCommand.js.flow +97 -97
  13. package/DocNodeSpec.js.flow +62 -62
  14. package/EMMarkSpec.js.flow +39 -39
  15. package/EditorCommands.js.flow +124 -124
  16. package/EditorKeyMap.js.flow +173 -173
  17. package/EditorMarks.js +4 -2
  18. package/EditorMarks.js.flow +77 -74
  19. package/EditorNodes.js.flow +55 -55
  20. package/EditorPageLayoutPlugin.js.flow +67 -67
  21. package/EditorPlugins.js.flow +8 -8
  22. package/EditorSchema.js.flow +12 -12
  23. package/EditorState.js.flow +7 -7
  24. package/FontSizeMarkSpec.js.flow +54 -54
  25. package/FontTypeMarkSpec.js.flow +89 -89
  26. package/HTMLMutator.js.flow +58 -58
  27. package/HangingIndentMarkSpec.js +34 -0
  28. package/HangingIndentMarkSpec.js.flow +30 -0
  29. package/HardBreakNodeSpec.js.flow +15 -15
  30. package/HeadingNodeSpec.js.flow +42 -42
  31. package/HistoryRedoCommand.js.flow +41 -41
  32. package/HistoryUndoCommand.js.flow +41 -41
  33. package/HorizontalRuleCommand.js.flow +71 -71
  34. package/HorizontalRuleNodeSpec.js.flow +39 -39
  35. package/ImageUploadPlaceholderPlugin.js.flow +187 -187
  36. package/LICENSE +22 -22
  37. package/LinkMarkSpec.js +4 -2
  38. package/LinkMarkSpec.js.flow +38 -37
  39. package/LinkSetURLCommand.js +1 -1
  40. package/LinkSetURLCommand.js.flow +129 -129
  41. package/LinkTooltipPlugin.js +32 -38
  42. package/LinkTooltipPlugin.js.flow +204 -217
  43. package/ListItemInsertNewLineCommand.js.flow +76 -76
  44. package/ListItemMergeCommand.js.flow +197 -197
  45. package/ListItemNodeSpec.js.flow +52 -52
  46. package/ListSplitCommand.js.flow +54 -54
  47. package/ListToggleCommand.js.flow +99 -99
  48. package/MarkNames.js +2 -1
  49. package/MarkNames.js.flow +20 -19
  50. package/MarksClearCommand.js.flow +66 -66
  51. package/NodeNames.js.flow +23 -23
  52. package/OrderedListNodeSpec.js.flow +131 -131
  53. package/OverrideMarkSpec.js.flow +49 -49
  54. package/ParagraphNodeSpec.js +21 -2
  55. package/ParagraphNodeSpec.js.flow +233 -215
  56. package/ParagraphSpacingCommand.js.flow +139 -139
  57. package/PrintCommand.js.flow +53 -53
  58. package/SelectionPlaceholderPlugin.js.flow +129 -129
  59. package/SpacerMarkSpec.js.flow +47 -47
  60. package/StrikeMarkSpec.js.flow +24 -24
  61. package/StrongMarkSpec.js.flow +39 -39
  62. package/StyleView.js.flow +18 -18
  63. package/TableBackgroundColorCommand.js.flow +79 -79
  64. package/TableBorderColorCommand.js +5 -3
  65. package/TableBorderColorCommand.js.flow +108 -106
  66. package/TableCellColorCommand.js.flow +73 -73
  67. package/TableCellMenuPlugin.js.flow +129 -129
  68. package/TableInsertCommand.js.flow +117 -117
  69. package/TableMergeCellsCommand.js.flow +113 -113
  70. package/TableNodesSpecs.js.flow +144 -144
  71. package/TablePlugins.js.flow +14 -14
  72. package/TableResizePlugin.js.flow +636 -636
  73. package/TextColorMarkSpec.js.flow +40 -40
  74. package/TextHighlightMarkSpec.js.flow +47 -47
  75. package/TextInsertTabSpaceCommand.js +0 -3
  76. package/TextInsertTabSpaceCommand.js.flow +103 -106
  77. package/TextNoWrapMarkSpec.js.flow +14 -14
  78. package/TextNodeSpec.js.flow +7 -7
  79. package/TextSelectionMarkSpec.js.flow +24 -24
  80. package/TextSubMarkSpec.js.flow +28 -28
  81. package/TextSuperMarkSpec.js.flow +28 -28
  82. package/TextUnderlineMarkSpec.js.flow +24 -24
  83. package/Types.js.flow +77 -77
  84. package/WebFontLoader.js.flow +22 -22
  85. package/blockQuoteInputRule.js.flow +36 -36
  86. package/bom.xml +8645 -8637
  87. package/browser.js.flow +7 -7
  88. package/buildEditorPlugins.js.flow +48 -48
  89. package/buildInputRules.js.flow +85 -85
  90. package/client/CollabConnector.js.flow +90 -90
  91. package/client/EditorConnection.js.flow +324 -324
  92. package/client/Licit.js +40 -40
  93. package/client/Licit.js.flow +649 -648
  94. package/client/Licit.test.js.flow +104 -104
  95. package/client/Reporter.js.flow +35 -35
  96. package/client/SimpleConnector.js.flow +61 -61
  97. package/client/http.js.flow +60 -60
  98. package/client/licit.css +12 -12
  99. package/client/throttle.js.flow +27 -27
  100. package/convertFromDOMElement.js.flow +33 -33
  101. package/convertFromHTML.js.flow +15 -15
  102. package/convertFromJSON.js.flow +53 -53
  103. package/convertToCSSPTValue.js.flow +19 -19
  104. package/convertToJSON.js.flow +7 -7
  105. package/createCommand.js.flow +62 -62
  106. package/createEditorKeyMap.js.flow +87 -87
  107. package/createEmptyEditorState.js.flow +29 -29
  108. package/createTableResizingPlugin.js.flow +86 -86
  109. package/findActionableCell.js.flow +74 -74
  110. package/findActiveMark.js.flow +32 -32
  111. package/hyphenize.js.flow +17 -17
  112. package/index.d.ts +167 -167
  113. package/index.js.flow +10 -10
  114. package/insertTable.js.flow +54 -54
  115. package/isEditorStateEmpty.js.flow +32 -32
  116. package/isTableNode.js.flow +15 -15
  117. package/joinDown.js.flow +25 -25
  118. package/joinListNode.js.flow +55 -55
  119. package/joinUp.js.flow +37 -37
  120. package/keymaps.js.flow +175 -175
  121. package/lookUpElement.js.flow +14 -14
  122. package/nodeAt.js.flow +12 -12
  123. package/normalizeHTML.js.flow +80 -80
  124. package/package.json +152 -152
  125. package/patchAnchorElements.js.flow +38 -38
  126. package/patchBreakElements.js.flow +22 -22
  127. package/patchElementInlineStyles.js.flow +92 -92
  128. package/patchListElements.js.flow +275 -275
  129. package/patchMathElements.js.flow +58 -58
  130. package/patchParagraphElements.js.flow +20 -20
  131. package/patchStyleElements.js.flow +197 -197
  132. package/patchTableElements.js.flow +88 -88
  133. package/rebaseDocWithSteps.js.flow +42 -42
  134. package/sanitizeURL.js.flow +13 -13
  135. package/splitListItem.js.flow +191 -191
  136. package/styles.css +46 -46
  137. package/toClosestFontPtSize.js.flow +22 -22
  138. package/toSafeHTMLDocument.js.flow +9 -9
  139. package/toggleBlockquote.js.flow +101 -101
  140. package/toggleCodeBlock.js.flow +102 -102
  141. package/ui/AlertInfo.js.flow +63 -63
  142. package/ui/BookmarkNodeView.js.flow +64 -64
  143. package/ui/CommandButton.js.flow +68 -68
  144. package/ui/CommandMenu.js.flow +74 -74
  145. package/ui/CommandMenuButton.js.flow +128 -128
  146. package/ui/CustomEditorView.js.flow +29 -29
  147. package/ui/CustomMenu.js.flow +14 -14
  148. package/ui/CustomMenuItem.js.flow +35 -35
  149. package/ui/CustomNodeView.js.flow +207 -207
  150. package/ui/CustomRadioButton.js.flow +63 -63
  151. package/ui/DocLayoutEditor.js.flow +130 -130
  152. package/ui/Editor.js.flow +281 -281
  153. package/ui/EditorFrameset.js.flow +79 -79
  154. package/ui/EditorToolbar.js.flow +197 -197
  155. package/ui/EditorToolbarConfig.js.flow +162 -162
  156. package/ui/FontSizeCommandMenuButton.js.flow +66 -66
  157. package/ui/FontTypeCommandMenuButton.js.flow +60 -60
  158. package/ui/Frag.js.flow +11 -11
  159. package/ui/Icon.js +1 -1
  160. package/ui/Icon.js.flow +82 -82
  161. package/ui/ImageInlineEditor.js.flow +66 -66
  162. package/ui/KeyCodes.js.flow +12 -12
  163. package/ui/LinkTooltip.js.flow +51 -51
  164. package/ui/LinkURLEditor.js.flow +227 -227
  165. package/ui/ListItemNodeView.js.flow +101 -101
  166. package/ui/ListTypeButton.js.flow +121 -121
  167. package/ui/ListTypeCommandButton.js.flow +85 -85
  168. package/ui/ListTypeMenu.js.flow +78 -78
  169. package/ui/LoadingIndicator.js.flow +19 -19
  170. package/ui/PasteMenu.js.flow +52 -52
  171. package/ui/ResizeObserver.js.flow +105 -105
  172. package/ui/RichTextEditor.js.flow +133 -133
  173. package/ui/SelectionObserver.js.flow +134 -134
  174. package/ui/TableCellMenu.js.flow +49 -49
  175. package/ui/TableGridSizeEditor.js.flow +185 -185
  176. package/ui/TableNodeView.js.flow +36 -36
  177. package/ui/bindScrollHandler.js.flow +46 -46
  178. package/ui/canUseCSSFont.js.flow +42 -42
  179. package/ui/czi-body-layout-editor.css +16 -16
  180. package/ui/czi-bookmark-view.css +10 -10
  181. package/ui/czi-cursor-placeholder.css +36 -36
  182. package/ui/czi-custom-menu-button.css +18 -18
  183. package/ui/czi-custom-menu-item.css +30 -30
  184. package/ui/czi-custom-menu.css +8 -8
  185. package/ui/czi-custom-radio-button.css +80 -80
  186. package/ui/czi-custom-scrollbar.css +21 -21
  187. package/ui/czi-editor-frameset.css +81 -81
  188. package/ui/czi-editor-toolbar.css +122 -122
  189. package/ui/czi-editor.css +239 -216
  190. package/ui/czi-form.css +201 -201
  191. package/ui/czi-frag.css +3 -3
  192. package/ui/czi-heading.css +40 -40
  193. package/ui/czi-icon.css +72 -72
  194. package/ui/czi-image-resize-box.css +165 -165
  195. package/ui/czi-image-upload-editor.css +57 -57
  196. package/ui/czi-image-upload-placeholder.css +50 -50
  197. package/ui/czi-image-url-editor.css +38 -38
  198. package/ui/czi-image-view.css +121 -121
  199. package/ui/czi-indent.css +137 -137
  200. package/ui/czi-inline-editor.css +20 -20
  201. package/ui/czi-link-tooltip.css +112 -112
  202. package/ui/czi-list.css +406 -406
  203. package/ui/czi-loading-indicator.css +66 -66
  204. package/ui/czi-math-view.css +62 -62
  205. package/ui/czi-selection-placeholder.css +24 -24
  206. package/ui/czi-table-cell-menu.css +16 -16
  207. package/ui/czi-table-grid-size-editor.css +37 -37
  208. package/ui/czi-table.css +89 -89
  209. package/ui/czi-vars.css +47 -45
  210. package/ui/findActiveFontSize.js.flow +55 -55
  211. package/ui/findActiveFontType.js.flow +35 -35
  212. package/ui/fonts.css +460 -460
  213. package/ui/handleEditorDrop.js.flow +28 -28
  214. package/ui/handleEditorKeyDown.js.flow +39 -39
  215. package/ui/handleEditorPaste.js.flow +33 -33
  216. package/ui/htmlElementToRect.js.flow +18 -18
  217. package/ui/icon-font.css +9 -9
  218. package/ui/injectStyleSheet.js.flow +40 -40
  219. package/ui/isElementFullyVisible.js.flow +14 -14
  220. package/ui/isOffline.js.flow +8 -8
  221. package/ui/isReactClass.js.flow +12 -12
  222. package/ui/listType.css +21 -21
  223. package/ui/resolveImage.js.flow +121 -121
  224. package/ui/toCSSColor.js.flow +51 -51
  225. package/ui/toCSSLineSpacing.js.flow +53 -53
  226. package/ui/toHexColor.js.flow +26 -26
  227. package/ui/uuid.js.flow +9 -9
  228. package/uuid.js.flow +9 -9
@@ -1,97 +1,97 @@
1
- // @flow
2
-
3
- import { Schema } from 'prosemirror-model';
4
- import { EditorState } from 'prosemirror-state';
5
- import { Transform } from 'prosemirror-transform';
6
- import { EditorView } from 'prosemirror-view';
7
- import { SetDocAttrStep, UICommand } from '@modusoperandi/licit-doc-attrs-step';
8
- import DocLayoutEditor from './ui/DocLayoutEditor.js';
9
- import { createPopUp } from '@modusoperandi/licit-ui-commands';
10
-
11
- import type {
12
- DocLayoutEditorValue
13
- } from './ui/DocLayoutEditor.js';
14
-
15
- function setDocLayout(
16
- tr: Transform,
17
- schema: Schema,
18
- width: ?number,
19
- layout: ?string
20
- ): Transform {
21
- const { doc } = tr;
22
- if (!doc) {
23
- return tr;
24
- }
25
-
26
- tr = tr.step(new SetDocAttrStep('width', width || null));
27
- tr = tr.step(new SetDocAttrStep('layout', layout || null));
28
- return tr;
29
- }
30
-
31
- class DocLayoutCommand extends UICommand {
32
- _popUp = null;
33
-
34
- isEnabled = (state: EditorState): boolean => {
35
- return true;
36
- };
37
-
38
- isActive = (state: EditorState): boolean => {
39
- return !!this._popUp;
40
- };
41
-
42
- waitForUserInput = (
43
- state: EditorState,
44
- dispatch: ?(tr: Transform) => void,
45
- view: ?EditorView,
46
- event: ?SyntheticEvent<>
47
- ): Promise<any> => {
48
- if (this._popUp) {
49
- return Promise.resolve(undefined);
50
- }
51
-
52
- const { doc } = state;
53
-
54
- return new Promise((resolve) => {
55
- const props = {
56
- initialValue: doc.attrs,
57
- };
58
- this._popUp = createPopUp(DocLayoutEditor, props, {
59
- modal: true,
60
- onClose: (val) => {
61
- if (this._popUp) {
62
- this._popUp = null;
63
- resolve(val);
64
- }
65
- },
66
- });
67
- });
68
- };
69
-
70
- executeWithUserInput = (
71
- state: EditorState,
72
- dispatch: ?(tr: Transform) => void,
73
- view: ?EditorView,
74
- inputs: ?DocLayoutEditorValue
75
- ): boolean => {
76
- if (dispatch) {
77
- const { selection, schema } = state;
78
- let { tr } = state;
79
- tr = tr.setSelection(selection);
80
-
81
- if (inputs) {
82
- const { width, layout } = inputs;
83
- tr = setDocLayout(tr, schema, width, layout);
84
- }
85
- dispatch(tr);
86
- view && view.focus();
87
- }
88
-
89
- return false;
90
- };
91
-
92
- cancel(): void {
93
- return null;
94
- }
95
- }
96
-
97
- export default DocLayoutCommand;
1
+ // @flow
2
+
3
+ import { Schema } from 'prosemirror-model';
4
+ import { EditorState } from 'prosemirror-state';
5
+ import { Transform } from 'prosemirror-transform';
6
+ import { EditorView } from 'prosemirror-view';
7
+ import { SetDocAttrStep, UICommand } from '@modusoperandi/licit-doc-attrs-step';
8
+ import DocLayoutEditor from './ui/DocLayoutEditor.js';
9
+ import { createPopUp } from '@modusoperandi/licit-ui-commands';
10
+
11
+ import type {
12
+ DocLayoutEditorValue
13
+ } from './ui/DocLayoutEditor.js';
14
+
15
+ function setDocLayout(
16
+ tr: Transform,
17
+ schema: Schema,
18
+ width: ?number,
19
+ layout: ?string
20
+ ): Transform {
21
+ const { doc } = tr;
22
+ if (!doc) {
23
+ return tr;
24
+ }
25
+
26
+ tr = tr.step(new SetDocAttrStep('width', width || null));
27
+ tr = tr.step(new SetDocAttrStep('layout', layout || null));
28
+ return tr;
29
+ }
30
+
31
+ class DocLayoutCommand extends UICommand {
32
+ _popUp = null;
33
+
34
+ isEnabled = (state: EditorState): boolean => {
35
+ return true;
36
+ };
37
+
38
+ isActive = (state: EditorState): boolean => {
39
+ return !!this._popUp;
40
+ };
41
+
42
+ waitForUserInput = (
43
+ state: EditorState,
44
+ dispatch: ?(tr: Transform) => void,
45
+ view: ?EditorView,
46
+ event: ?SyntheticEvent<>
47
+ ): Promise<any> => {
48
+ if (this._popUp) {
49
+ return Promise.resolve(undefined);
50
+ }
51
+
52
+ const { doc } = state;
53
+
54
+ return new Promise((resolve) => {
55
+ const props = {
56
+ initialValue: doc.attrs,
57
+ };
58
+ this._popUp = createPopUp(DocLayoutEditor, props, {
59
+ modal: true,
60
+ onClose: (val) => {
61
+ if (this._popUp) {
62
+ this._popUp = null;
63
+ resolve(val);
64
+ }
65
+ },
66
+ });
67
+ });
68
+ };
69
+
70
+ executeWithUserInput = (
71
+ state: EditorState,
72
+ dispatch: ?(tr: Transform) => void,
73
+ view: ?EditorView,
74
+ inputs: ?DocLayoutEditorValue
75
+ ): boolean => {
76
+ if (dispatch) {
77
+ const { selection, schema } = state;
78
+ let { tr } = state;
79
+ tr = tr.setSelection(selection);
80
+
81
+ if (inputs) {
82
+ const { width, layout } = inputs;
83
+ tr = setDocLayout(tr, schema, width, layout);
84
+ }
85
+ dispatch(tr);
86
+ view && view.focus();
87
+ }
88
+
89
+ return false;
90
+ };
91
+
92
+ cancel(): void {
93
+ return null;
94
+ }
95
+ }
96
+
97
+ export default DocLayoutCommand;
@@ -1,62 +1,62 @@
1
- // @flow
2
-
3
- import convertToCSSPTValue from './convertToCSSPTValue.js';
4
-
5
- export const LAYOUT = {
6
- US_LETTER_LANDSCAPE: 'us_letter_landscape',
7
- US_LETTER_PORTRAIT: 'us_letter_portrait',
8
- A4_LANDSCAPE: 'a4_landscape',
9
- A4_PORTRAIT: 'a4_portrait',
10
- };
11
-
12
- export const ATTRIBUTE_LAYOUT = 'data-layout';
13
-
14
- export function getAttrs(el: HTMLElement): Object {
15
- const attrs: Object = {
16
- layout: null,
17
- width: null,
18
- padding: null,
19
- };
20
-
21
- const { width, maxWidth, padding } = el.style || {};
22
- const ww = convertToCSSPTValue(width) || convertToCSSPTValue(maxWidth);
23
- const pp = convertToCSSPTValue(padding);
24
- if (ww) {
25
- // 1pt = 1/72in
26
- // letter size: 8.5in x 11inch
27
- const ptWidth = ww + pp * 2;
28
- const inWidth = ptWidth / 72;
29
- const cmWidth = inWidth * 2.54;
30
- if (inWidth >= 10.9 && inWidth <= 11.1) {
31
- // Round up to letter size.
32
- attrs.layout = LAYOUT.US_LETTER_LANDSCAPE;
33
- } else if (inWidth >= 8.4 && inWidth <= 8.6) {
34
- // Round up to letter size.
35
- attrs.layout = LAYOUT.US_LETTER_PORTRAIT;
36
- } else if (cmWidth >= 29.5 && cmWidth <= 30.1) {
37
- attrs.layout = LAYOUT.A4_LANDSCAPE;
38
- } else if (cmWidth >= 20.5 && cmWidth <= 21.5) {
39
- attrs.layout = LAYOUT.A4_PORTRAIT;
40
- } else {
41
- attrs.width = ptWidth;
42
- if (pp) {
43
- attrs.padding = pp;
44
- }
45
- }
46
- }
47
-
48
- return attrs;
49
- }
50
-
51
- const DocNodeSpec = {
52
- attrs: {
53
- layout: { default: null },
54
- padding: { default: null },
55
- width: { default: null },
56
- // [FS] IRAD-1202 2021-02-15
57
- // Counter flags for Numbering
58
- counterFlags: { default: null },
59
- },
60
- content: 'block+',
61
- };
62
- export default DocNodeSpec;
1
+ // @flow
2
+
3
+ import convertToCSSPTValue from './convertToCSSPTValue.js';
4
+
5
+ export const LAYOUT = {
6
+ US_LETTER_LANDSCAPE: 'us_letter_landscape',
7
+ US_LETTER_PORTRAIT: 'us_letter_portrait',
8
+ A4_LANDSCAPE: 'a4_landscape',
9
+ A4_PORTRAIT: 'a4_portrait',
10
+ };
11
+
12
+ export const ATTRIBUTE_LAYOUT = 'data-layout';
13
+
14
+ export function getAttrs(el: HTMLElement): Object {
15
+ const attrs: Object = {
16
+ layout: null,
17
+ width: null,
18
+ padding: null,
19
+ };
20
+
21
+ const { width, maxWidth, padding } = el.style || {};
22
+ const ww = convertToCSSPTValue(width) || convertToCSSPTValue(maxWidth);
23
+ const pp = convertToCSSPTValue(padding);
24
+ if (ww) {
25
+ // 1pt = 1/72in
26
+ // letter size: 8.5in x 11inch
27
+ const ptWidth = ww + pp * 2;
28
+ const inWidth = ptWidth / 72;
29
+ const cmWidth = inWidth * 2.54;
30
+ if (inWidth >= 10.9 && inWidth <= 11.1) {
31
+ // Round up to letter size.
32
+ attrs.layout = LAYOUT.US_LETTER_LANDSCAPE;
33
+ } else if (inWidth >= 8.4 && inWidth <= 8.6) {
34
+ // Round up to letter size.
35
+ attrs.layout = LAYOUT.US_LETTER_PORTRAIT;
36
+ } else if (cmWidth >= 29.5 && cmWidth <= 30.1) {
37
+ attrs.layout = LAYOUT.A4_LANDSCAPE;
38
+ } else if (cmWidth >= 20.5 && cmWidth <= 21.5) {
39
+ attrs.layout = LAYOUT.A4_PORTRAIT;
40
+ } else {
41
+ attrs.width = ptWidth;
42
+ if (pp) {
43
+ attrs.padding = pp;
44
+ }
45
+ }
46
+ }
47
+
48
+ return attrs;
49
+ }
50
+
51
+ const DocNodeSpec = {
52
+ attrs: {
53
+ layout: { default: null },
54
+ padding: { default: null },
55
+ width: { default: null },
56
+ // [FS] IRAD-1202 2021-02-15
57
+ // Counter flags for Numbering
58
+ counterFlags: { default: null },
59
+ },
60
+ content: 'block+',
61
+ };
62
+ export default DocNodeSpec;
@@ -1,39 +1,39 @@
1
-
2
- import type { MarkSpec } from './Types.js';
3
-
4
-
5
- const EMMarkSpec: MarkSpec = {
6
- attrs: {
7
- overridden: { default: false },
8
- },
9
- parseDOM: [
10
- {
11
- tag: 'i',
12
- getAttrs: (dom: HTMLElement) => {
13
- const _overridden = dom.getAttribute('overridden');
14
- return { overridden: _overridden === 'true' };
15
- }
16
- },
17
-
18
- {
19
- tag: 'em',
20
- getAttrs: (dom: HTMLElement) => {
21
- const _overridden = dom.getAttribute('overridden');
22
- return { overridden: _overridden === 'true' };
23
- }
24
- },
25
- {
26
- tag: 'span[style*=font-style]',
27
- getAttrs: (value, dom: HTMLElement) => {
28
- const _overridden = dom.getAttribute('overridden');
29
- return { overridden: _overridden === 'true' };
30
-
31
- },
32
- },
33
- ],
34
- toDOM(mark) {
35
- return ['em', { overridden: mark.attrs.overridden }, 0];
36
- },
37
- };
38
-
39
- export default EMMarkSpec;
1
+
2
+ import type { MarkSpec } from './Types.js';
3
+
4
+
5
+ const EMMarkSpec: MarkSpec = {
6
+ attrs: {
7
+ overridden: { default: false },
8
+ },
9
+ parseDOM: [
10
+ {
11
+ tag: 'i',
12
+ getAttrs: (dom: HTMLElement) => {
13
+ const _overridden = dom.getAttribute('overridden');
14
+ return { overridden: _overridden === 'true' };
15
+ }
16
+ },
17
+
18
+ {
19
+ tag: 'em',
20
+ getAttrs: (dom: HTMLElement) => {
21
+ const _overridden = dom.getAttribute('overridden');
22
+ return { overridden: _overridden === 'true' };
23
+ }
24
+ },
25
+ {
26
+ tag: 'span[style*=font-style]',
27
+ getAttrs: (value, dom: HTMLElement) => {
28
+ const _overridden = dom.getAttribute('overridden');
29
+ return { overridden: _overridden === 'true' };
30
+
31
+ },
32
+ },
33
+ ],
34
+ toDOM(mark) {
35
+ return ['em', { overridden: mark.attrs.overridden }, 0];
36
+ },
37
+ };
38
+
39
+ export default EMMarkSpec;
@@ -1,124 +1,124 @@
1
- // @flow
2
-
3
- import * as ProsemirrorTables from 'prosemirror-tables';
4
- // [FS][07-MAY-2020][IRAD-956]
5
- import BlockquoteInsertNewLineCommand from './BlockquoteInsertNewLineCommand.js';
6
- import BlockquoteToggleCommand from './BlockquoteToggleCommand.js';
7
- import DocLayoutCommand from './DocLayoutCommand.js';
8
- import HistoryRedoCommand from './HistoryRedoCommand.js';
9
- import HistoryUndoCommand from './HistoryUndoCommand.js';
10
- import HorizontalRuleCommand from './HorizontalRuleCommand.js';
11
- import LinkSetURLCommand from './LinkSetURLCommand.js';
12
- import ListItemInsertNewLineCommand from './ListItemInsertNewLineCommand.js';
13
- import ListItemMergeCommand from './ListItemMergeCommand.js';
14
- import ListSplitCommand from './ListSplitCommand.js';
15
- import { ListToggleCommand } from './ListToggleCommand.js';
16
- import * as MarkNames from './MarkNames.js';
17
- import MarksClearCommand from './MarksClearCommand.js';
18
- import PrintCommand from './PrintCommand.js';
19
- import TableBackgroundColorCommand from './TableBackgroundColorCommand.js';
20
- import TableBorderColorCommand from './TableBorderColorCommand.js';
21
- import TableInsertCommand from './TableInsertCommand.js';
22
- import TableMergeCellsCommand from './TableMergeCellsCommand.js';
23
- import {
24
- HeadingCommand,
25
- IndentCommand,
26
- MarkToggleCommand,
27
- TextAlignCommand,
28
- TextColorCommand,
29
- TextHighlightCommand,
30
- TextLineSpacingCommand,
31
- } from '@modusoperandi/licit-ui-commands';
32
- import TextInsertTabSpaceCommand from './TextInsertTabSpaceCommand.js';
33
- import createCommand from './createCommand.js';
34
-
35
- const {
36
- addColumnAfter,
37
- addColumnBefore,
38
- addRowAfter,
39
- addRowBefore,
40
- // columnResizing,
41
- deleteColumn,
42
- deleteRow,
43
- deleteTable,
44
- // fixTables,
45
- goToNextCell,
46
- // mergeCells,
47
- // setCellAttr,
48
- splitCell,
49
- // tableEditing,
50
- // tableNodes,
51
- toggleHeaderCell,
52
- toggleHeaderColumn,
53
- toggleHeaderRow,
54
- } = ProsemirrorTables;
55
-
56
- const {
57
- MARK_STRONG,
58
- MARK_EM,
59
- MARK_STRIKE,
60
- MARK_SUPER,
61
- MARK_SUB,
62
- MARK_UNDERLINE,
63
- } = MarkNames;
64
-
65
- // Note that Firefox will, by default, add various kinds of controls to
66
- // editable tables, even though those don't work in ProseMirror. The only way
67
- // to turn these off is globally, which you might want to do with the
68
- // following code:
69
- document.execCommand('enableObjectResizing', false, 'false');
70
- document.execCommand('enableInlineTableEditing', false, 'false');
71
- // [FS][07-MAY-2020][IRAD-956]
72
- export const BLOCKQUOTE_TOGGLE = new BlockquoteToggleCommand();
73
- export const BLOCKQUOTE_INSERT_NEW_LINE = new BlockquoteInsertNewLineCommand();
74
- export const CLEAR_FORMAT = new MarksClearCommand();
75
- export const DOC_LAYOUT = new DocLayoutCommand();
76
- export const EM = new MarkToggleCommand(MARK_EM);
77
- export const H1 = new HeadingCommand(1);
78
- export const H2 = new HeadingCommand(2);
79
- export const H3 = new HeadingCommand(3);
80
- export const H4 = new HeadingCommand(4);
81
- export const H5 = new HeadingCommand(5);
82
- export const H6 = new HeadingCommand(6);
83
- export const HISTORY_REDO = new HistoryRedoCommand();
84
- export const HISTORY_UNDO = new HistoryUndoCommand();
85
- export const HR = new HorizontalRuleCommand();
86
- export const INDENT_LESS = new IndentCommand(-1);
87
- export const INDENT_MORE = new IndentCommand(1);
88
- export const LINK_SET_URL = new LinkSetURLCommand();
89
- export const LIST_ITEM_INSERT_NEW_LINE = new ListItemInsertNewLineCommand();
90
- export const LIST_ITEM_MERGE_DOWN = new ListItemMergeCommand('down');
91
- export const LIST_ITEM_MERGE_UP = new ListItemMergeCommand('up');
92
- export const LIST_SPLIT = new ListSplitCommand();
93
- export const PRINT = new PrintCommand();
94
- export const STRIKE = new MarkToggleCommand(MARK_STRIKE);
95
- export const STRONG = new MarkToggleCommand(MARK_STRONG);
96
- export const SUPER = new MarkToggleCommand(MARK_SUPER);
97
- export const SUB = new MarkToggleCommand(MARK_SUB);
98
- export const TABLE_ADD_COLUMN_AFTER = createCommand(addColumnAfter);
99
- export const TABLE_ADD_COLUMN_BEFORE = createCommand(addColumnBefore);
100
- export const TABLE_ADD_ROW_AFTER = createCommand(addRowAfter);
101
- export const TABLE_ADD_ROW_BEFORE = createCommand(addRowBefore);
102
- export const TABLE_BACKGROUND_COLOR = new TableBackgroundColorCommand();
103
- export const TABLE_BORDER_COLOR = new TableBorderColorCommand();
104
- export const TABLE_DELETE_COLUMN = createCommand(deleteColumn);
105
- export const TABLE_DELETE_ROW = createCommand(deleteRow);
106
- export const TABLE_DELETE_TABLE = createCommand(deleteTable);
107
- export const TABLE_INSERT_TABLE = new TableInsertCommand();
108
- export const TABLE_MERGE_CELLS = new TableMergeCellsCommand();
109
- export const TABLE_MOVE_TO_NEXT_CELL = createCommand(goToNextCell(1));
110
- export const TABLE_MOVE_TO_PREV_CELL = createCommand(goToNextCell(-1));
111
- export const TABLE_SPLIT_ROW = createCommand(splitCell);
112
- export const TABLE_TOGGLE_HEADER_CELL = createCommand(toggleHeaderCell);
113
- export const TABLE_TOGGLE_HEADER_COLUMN = createCommand(toggleHeaderColumn);
114
- export const TABLE_TOGGLE_HEADER_ROW = createCommand(toggleHeaderRow);
115
- export const TEXT_ALIGN_CENTER = new TextAlignCommand('center');
116
- export const TEXT_ALIGN_JUSTIFY = new TextAlignCommand('justify');
117
- export const TEXT_ALIGN_LEFT = new TextAlignCommand('left');
118
- export const TEXT_ALIGN_RIGHT = new TextAlignCommand('right');
119
- export const TEXT_COLOR = new TextColorCommand();
120
- export const TEXT_HIGHLIGHT = new TextHighlightCommand();
121
- export const TEXT_INSERT_TAB_SPACE = new TextInsertTabSpaceCommand();
122
- export const TEXT_LINE_SPACINGS = TextLineSpacingCommand.createGroup();
123
- export const UL = new ListToggleCommand(false, '');
124
- export const UNDERLINE = new MarkToggleCommand(MARK_UNDERLINE);
1
+ // @flow
2
+
3
+ import * as ProsemirrorTables from 'prosemirror-tables';
4
+ // [FS][07-MAY-2020][IRAD-956]
5
+ import BlockquoteInsertNewLineCommand from './BlockquoteInsertNewLineCommand.js';
6
+ import BlockquoteToggleCommand from './BlockquoteToggleCommand.js';
7
+ import DocLayoutCommand from './DocLayoutCommand.js';
8
+ import HistoryRedoCommand from './HistoryRedoCommand.js';
9
+ import HistoryUndoCommand from './HistoryUndoCommand.js';
10
+ import HorizontalRuleCommand from './HorizontalRuleCommand.js';
11
+ import LinkSetURLCommand from './LinkSetURLCommand.js';
12
+ import ListItemInsertNewLineCommand from './ListItemInsertNewLineCommand.js';
13
+ import ListItemMergeCommand from './ListItemMergeCommand.js';
14
+ import ListSplitCommand from './ListSplitCommand.js';
15
+ import { ListToggleCommand } from './ListToggleCommand.js';
16
+ import * as MarkNames from './MarkNames.js';
17
+ import MarksClearCommand from './MarksClearCommand.js';
18
+ import PrintCommand from './PrintCommand.js';
19
+ import TableBackgroundColorCommand from './TableBackgroundColorCommand.js';
20
+ import TableBorderColorCommand from './TableBorderColorCommand.js';
21
+ import TableInsertCommand from './TableInsertCommand.js';
22
+ import TableMergeCellsCommand from './TableMergeCellsCommand.js';
23
+ import {
24
+ HeadingCommand,
25
+ IndentCommand,
26
+ MarkToggleCommand,
27
+ TextAlignCommand,
28
+ TextColorCommand,
29
+ TextHighlightCommand,
30
+ TextLineSpacingCommand,
31
+ } from '@modusoperandi/licit-ui-commands';
32
+ import TextInsertTabSpaceCommand from './TextInsertTabSpaceCommand.js';
33
+ import createCommand from './createCommand.js';
34
+
35
+ const {
36
+ addColumnAfter,
37
+ addColumnBefore,
38
+ addRowAfter,
39
+ addRowBefore,
40
+ // columnResizing,
41
+ deleteColumn,
42
+ deleteRow,
43
+ deleteTable,
44
+ // fixTables,
45
+ goToNextCell,
46
+ // mergeCells,
47
+ // setCellAttr,
48
+ splitCell,
49
+ // tableEditing,
50
+ // tableNodes,
51
+ toggleHeaderCell,
52
+ toggleHeaderColumn,
53
+ toggleHeaderRow,
54
+ } = ProsemirrorTables;
55
+
56
+ const {
57
+ MARK_STRONG,
58
+ MARK_EM,
59
+ MARK_STRIKE,
60
+ MARK_SUPER,
61
+ MARK_SUB,
62
+ MARK_UNDERLINE,
63
+ } = MarkNames;
64
+
65
+ // Note that Firefox will, by default, add various kinds of controls to
66
+ // editable tables, even though those don't work in ProseMirror. The only way
67
+ // to turn these off is globally, which you might want to do with the
68
+ // following code:
69
+ document.execCommand('enableObjectResizing', false, 'false');
70
+ document.execCommand('enableInlineTableEditing', false, 'false');
71
+ // [FS][07-MAY-2020][IRAD-956]
72
+ export const BLOCKQUOTE_TOGGLE = new BlockquoteToggleCommand();
73
+ export const BLOCKQUOTE_INSERT_NEW_LINE = new BlockquoteInsertNewLineCommand();
74
+ export const CLEAR_FORMAT = new MarksClearCommand();
75
+ export const DOC_LAYOUT = new DocLayoutCommand();
76
+ export const EM = new MarkToggleCommand(MARK_EM);
77
+ export const H1 = new HeadingCommand(1);
78
+ export const H2 = new HeadingCommand(2);
79
+ export const H3 = new HeadingCommand(3);
80
+ export const H4 = new HeadingCommand(4);
81
+ export const H5 = new HeadingCommand(5);
82
+ export const H6 = new HeadingCommand(6);
83
+ export const HISTORY_REDO = new HistoryRedoCommand();
84
+ export const HISTORY_UNDO = new HistoryUndoCommand();
85
+ export const HR = new HorizontalRuleCommand();
86
+ export const INDENT_LESS = new IndentCommand(-1);
87
+ export const INDENT_MORE = new IndentCommand(1);
88
+ export const LINK_SET_URL = new LinkSetURLCommand();
89
+ export const LIST_ITEM_INSERT_NEW_LINE = new ListItemInsertNewLineCommand();
90
+ export const LIST_ITEM_MERGE_DOWN = new ListItemMergeCommand('down');
91
+ export const LIST_ITEM_MERGE_UP = new ListItemMergeCommand('up');
92
+ export const LIST_SPLIT = new ListSplitCommand();
93
+ export const PRINT = new PrintCommand();
94
+ export const STRIKE = new MarkToggleCommand(MARK_STRIKE);
95
+ export const STRONG = new MarkToggleCommand(MARK_STRONG);
96
+ export const SUPER = new MarkToggleCommand(MARK_SUPER);
97
+ export const SUB = new MarkToggleCommand(MARK_SUB);
98
+ export const TABLE_ADD_COLUMN_AFTER = createCommand(addColumnAfter);
99
+ export const TABLE_ADD_COLUMN_BEFORE = createCommand(addColumnBefore);
100
+ export const TABLE_ADD_ROW_AFTER = createCommand(addRowAfter);
101
+ export const TABLE_ADD_ROW_BEFORE = createCommand(addRowBefore);
102
+ export const TABLE_BACKGROUND_COLOR = new TableBackgroundColorCommand();
103
+ export const TABLE_BORDER_COLOR = new TableBorderColorCommand();
104
+ export const TABLE_DELETE_COLUMN = createCommand(deleteColumn);
105
+ export const TABLE_DELETE_ROW = createCommand(deleteRow);
106
+ export const TABLE_DELETE_TABLE = createCommand(deleteTable);
107
+ export const TABLE_INSERT_TABLE = new TableInsertCommand();
108
+ export const TABLE_MERGE_CELLS = new TableMergeCellsCommand();
109
+ export const TABLE_MOVE_TO_NEXT_CELL = createCommand(goToNextCell(1));
110
+ export const TABLE_MOVE_TO_PREV_CELL = createCommand(goToNextCell(-1));
111
+ export const TABLE_SPLIT_ROW = createCommand(splitCell);
112
+ export const TABLE_TOGGLE_HEADER_CELL = createCommand(toggleHeaderCell);
113
+ export const TABLE_TOGGLE_HEADER_COLUMN = createCommand(toggleHeaderColumn);
114
+ export const TABLE_TOGGLE_HEADER_ROW = createCommand(toggleHeaderRow);
115
+ export const TEXT_ALIGN_CENTER = new TextAlignCommand('center');
116
+ export const TEXT_ALIGN_JUSTIFY = new TextAlignCommand('justify');
117
+ export const TEXT_ALIGN_LEFT = new TextAlignCommand('left');
118
+ export const TEXT_ALIGN_RIGHT = new TextAlignCommand('right');
119
+ export const TEXT_COLOR = new TextColorCommand();
120
+ export const TEXT_HIGHLIGHT = new TextHighlightCommand();
121
+ export const TEXT_INSERT_TAB_SPACE = new TextInsertTabSpaceCommand();
122
+ export const TEXT_LINE_SPACINGS = TextLineSpacingCommand.createGroup();
123
+ export const UL = new ListToggleCommand(false, '');
124
+ export const UNDERLINE = new MarkToggleCommand(MARK_UNDERLINE);