@modusoperandi/licit 1.0.4 → 1.0.7

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 (360) hide show
  1. package/BlockquoteInsertNewLineCommand.js +16 -18
  2. package/BlockquoteInsertNewLineCommand.js.flow +76 -77
  3. package/BlockquoteNodeSpec.js +3 -4
  4. package/BlockquoteNodeSpec.js.flow +29 -30
  5. package/BlockquoteToggleCommand.js +16 -17
  6. package/BlockquoteToggleCommand.js.flow +56 -56
  7. package/BookmarkNodeSpec.js +2 -2
  8. package/BookmarkNodeSpec.js.flow +39 -39
  9. package/BulletListNodeSpec.js.flow +61 -61
  10. package/CZIProseMirror.js.flow +90 -90
  11. package/CodeBlockCommand.js +17 -18
  12. package/CodeBlockCommand.js.flow +65 -65
  13. package/CodeBlockNodeSpec.js.flow +24 -24
  14. package/CodeMarkSpec.js.flow +14 -14
  15. package/ContentPlaceholderPlugin.js +20 -21
  16. package/ContentPlaceholderPlugin.js.flow +185 -187
  17. package/CursorPlaceholderPlugin.js +11 -11
  18. package/CursorPlaceholderPlugin.js.flow +115 -115
  19. package/DocLayoutCommand.js +18 -21
  20. package/DocLayoutCommand.js.flow +97 -99
  21. package/DocNodeSpec.js.flow +64 -64
  22. package/EMMarkSpec.js.flow +14 -14
  23. package/EditorCommands.js.flow +126 -126
  24. package/EditorKeyMap.js +0 -1
  25. package/EditorKeyMap.js.flow +185 -187
  26. package/EditorMarks.js +2 -2
  27. package/EditorMarks.js.flow +71 -71
  28. package/EditorNodes.js +2 -3
  29. package/EditorNodes.js.flow +58 -59
  30. package/EditorPageLayoutPlugin.js +10 -10
  31. package/EditorPageLayoutPlugin.js.flow +67 -67
  32. package/EditorPlugins.js.flow +8 -8
  33. package/EditorSchema.js.flow +12 -12
  34. package/EditorState.js.flow +7 -7
  35. package/FontSizeMarkSpec.js.flow +49 -49
  36. package/FontTypeMarkSpec.js +1 -1
  37. package/FontTypeMarkSpec.js.flow +80 -80
  38. package/HTMLMutator.js +6 -7
  39. package/HTMLMutator.js.flow +59 -59
  40. package/HardBreakNodeSpec.js.flow +15 -15
  41. package/HeadingNodeSpec.js +3 -13
  42. package/HeadingNodeSpec.js.flow +42 -52
  43. package/HistoryRedoCommand.js +15 -16
  44. package/HistoryRedoCommand.js.flow +41 -41
  45. package/HistoryUndoCommand.js +15 -16
  46. package/HistoryUndoCommand.js.flow +41 -41
  47. package/HorizontalRuleCommand.js +15 -16
  48. package/HorizontalRuleCommand.js.flow +71 -71
  49. package/HorizontalRuleNodeSpec.js.flow +39 -39
  50. package/ImageUploadPlaceholderPlugin.js +15 -17
  51. package/ImageUploadPlaceholderPlugin.js.flow +190 -192
  52. package/LinkMarkSpec.js +6 -1
  53. package/LinkMarkSpec.js.flow +37 -32
  54. package/LinkSetURLCommand.js +130 -60
  55. package/LinkSetURLCommand.js.flow +141 -117
  56. package/LinkTooltipPlugin.js +122 -34
  57. package/LinkTooltipPlugin.js.flow +261 -190
  58. package/ListItemInsertNewLineCommand.js +16 -18
  59. package/ListItemInsertNewLineCommand.js.flow +76 -77
  60. package/ListItemMergeCommand.js +24 -24
  61. package/ListItemMergeCommand.js.flow +198 -199
  62. package/ListItemNodeSpec.js.flow +52 -52
  63. package/ListSplitCommand.js +15 -16
  64. package/ListSplitCommand.js.flow +54 -54
  65. package/ListToggleCommand.js +19 -20
  66. package/ListToggleCommand.js.flow +99 -99
  67. package/MarkNames.js.flow +18 -18
  68. package/MarksClearCommand.js +17 -18
  69. package/MarksClearCommand.js.flow +65 -65
  70. package/MathEditCommand.js +17 -19
  71. package/MathEditCommand.js.flow +119 -120
  72. package/MathNodeSpec.js.flow +46 -46
  73. package/NodeNames.js.flow +23 -23
  74. package/OrderedListNodeSpec.js +2 -2
  75. package/OrderedListNodeSpec.js.flow +132 -132
  76. package/ParagraphNodeSpec.js +11 -2
  77. package/ParagraphNodeSpec.js.flow +163 -156
  78. package/ParagraphSpacingCommand.js +21 -23
  79. package/ParagraphSpacingCommand.js.flow +139 -144
  80. package/PrintCommand.js +17 -18
  81. package/PrintCommand.js.flow +53 -53
  82. package/SelectionPlaceholderPlugin.js +11 -11
  83. package/SelectionPlaceholderPlugin.js.flow +131 -131
  84. package/SpacerMarkSpec.js +2 -2
  85. package/SpacerMarkSpec.js.flow +47 -47
  86. package/StrikeMarkSpec.js.flow +21 -21
  87. package/StrongMarkSpec.js.flow +25 -25
  88. package/StyleView.js +5 -7
  89. package/StyleView.js.flow +18 -19
  90. package/TableBackgroundColorCommand.js +34 -23
  91. package/TableBackgroundColorCommand.js.flow +80 -75
  92. package/TableBorderColorCommand.js +34 -23
  93. package/TableBorderColorCommand.js.flow +81 -75
  94. package/TableCellColorCommand.js +20 -21
  95. package/TableCellColorCommand.js.flow +74 -75
  96. package/TableCellMenuPlugin.js +19 -19
  97. package/TableCellMenuPlugin.js.flow +130 -132
  98. package/TableInsertCommand.js +19 -22
  99. package/TableInsertCommand.js.flow +118 -120
  100. package/TableMergeCellsCommand.js +19 -19
  101. package/TableMergeCellsCommand.js.flow +113 -112
  102. package/TableNodesSpecs.js +4 -2
  103. package/TableNodesSpecs.js.flow +80 -78
  104. package/TablePlugins.js.flow +14 -14
  105. package/TableResizePlugin.js +20 -20
  106. package/TableResizePlugin.js.flow +631 -631
  107. package/TextColorMarkSpec.js.flow +35 -35
  108. package/TextHighlightMarkSpec.js.flow +38 -38
  109. package/TextInsertTabSpaceCommand.js +15 -16
  110. package/TextInsertTabSpaceCommand.js.flow +106 -106
  111. package/TextNoWrapMarkSpec.js.flow +14 -14
  112. package/TextNodeSpec.js.flow +7 -7
  113. package/TextSelectionMarkSpec.js.flow +24 -24
  114. package/TextSubMarkSpec.js.flow +20 -20
  115. package/TextSuperMarkSpec.js.flow +20 -20
  116. package/TextUnderlineMarkSpec.js.flow +27 -27
  117. package/Types.js +6 -0
  118. package/Types.js.flow +77 -75
  119. package/WebFontLoader.js +6 -7
  120. package/WebFontLoader.js.flow +22 -22
  121. package/blockQuoteInputRule.js.flow +36 -36
  122. package/bom.xml +17223 -25722
  123. package/browser.js.flow +7 -7
  124. package/buildEditorPlugins.js +6 -7
  125. package/buildEditorPlugins.js.flow +49 -49
  126. package/buildInputRules.js +8 -4
  127. package/buildInputRules.js.flow +85 -81
  128. package/client/CollabConnector.js +20 -20
  129. package/client/CollabConnector.js.flow +90 -90
  130. package/client/EditorConnection.js +10 -9
  131. package/client/EditorConnection.js.flow +324 -323
  132. package/client/Licit.js +78 -115
  133. package/client/Licit.js.flow +611 -643
  134. package/client/Licit.test.js +49 -39
  135. package/client/Licit.test.js.flow +104 -98
  136. package/client/Reporter.js +5 -6
  137. package/client/Reporter.js.flow +37 -37
  138. package/client/SimpleConnector.js +5 -5
  139. package/client/SimpleConnector.js.flow +61 -61
  140. package/client/http.js +0 -6
  141. package/client/http.js.flow +62 -70
  142. package/client/licit.css +12 -12
  143. package/client/throttle.js +8 -2
  144. package/client/throttle.js.flow +27 -27
  145. package/convertFromDOMElement.js +2 -4
  146. package/convertFromDOMElement.js.flow +33 -36
  147. package/convertFromHTML.js +2 -3
  148. package/convertFromHTML.js.flow +15 -17
  149. package/convertFromJSON.js +1 -2
  150. package/convertFromJSON.js.flow +55 -56
  151. package/convertToCSSPTValue.js +6 -10
  152. package/convertToCSSPTValue.js.flow +19 -22
  153. package/convertToJSON.js.flow +7 -7
  154. package/createCommand.js +16 -17
  155. package/createCommand.js.flow +62 -62
  156. package/createEditorKeyMap.js +2 -2
  157. package/createEditorKeyMap.js.flow +94 -94
  158. package/createEmptyEditorState.js +2 -3
  159. package/createEmptyEditorState.js.flow +29 -31
  160. package/createTableResizingPlugin.js +6 -6
  161. package/createTableResizingPlugin.js.flow +86 -86
  162. package/findActionableCell.js.flow +74 -74
  163. package/findActiveMark.js +1 -1
  164. package/findActiveMark.js.flow +32 -32
  165. package/hyphenize.js.flow +17 -17
  166. package/index.d.ts +165 -165
  167. package/index.js.flow +10 -10
  168. package/insertTable.js +0 -3
  169. package/insertTable.js.flow +54 -56
  170. package/isEditorStateEmpty.js.flow +32 -32
  171. package/isTableNode.js.flow +15 -15
  172. package/joinDown.js +1 -3
  173. package/joinDown.js.flow +25 -27
  174. package/joinListNode.js.flow +55 -55
  175. package/joinUp.js +1 -3
  176. package/joinUp.js.flow +37 -39
  177. package/keymaps.js.flow +185 -185
  178. package/lookUpElement.js +2 -1
  179. package/lookUpElement.js.flow +14 -14
  180. package/nodeAt.js.flow +12 -12
  181. package/normalizeHTML.js +3 -1
  182. package/normalizeHTML.js.flow +80 -78
  183. package/package.json +162 -156
  184. package/patchAnchorElements.js +1 -1
  185. package/patchAnchorElements.js.flow +38 -38
  186. package/patchBreakElements.js +3 -2
  187. package/patchBreakElements.js.flow +22 -22
  188. package/patchElementInlineStyles.js +1 -1
  189. package/patchElementInlineStyles.js.flow +92 -92
  190. package/patchListElements.js +4 -4
  191. package/patchListElements.js.flow +276 -276
  192. package/patchMathElements.js +5 -7
  193. package/patchMathElements.js.flow +58 -60
  194. package/patchParagraphElements.js.flow +20 -20
  195. package/patchStyleElements.js +1 -1
  196. package/patchStyleElements.js.flow +197 -196
  197. package/patchTableElements.js +2 -3
  198. package/patchTableElements.js.flow +88 -89
  199. package/rebaseDocWithSteps.js.flow +42 -42
  200. package/sanitizeURL.js +1 -1
  201. package/sanitizeURL.js.flow +13 -13
  202. package/splitListItem.js +3 -3
  203. package/splitListItem.js.flow +191 -191
  204. package/styles.css +19 -19
  205. package/styles0.css +29 -29
  206. package/toClosestFontPtSize.js.flow +22 -22
  207. package/toSafeHTMLDocument.js.flow +9 -9
  208. package/toggleBlockquote.js +4 -5
  209. package/toggleBlockquote.js.flow +101 -108
  210. package/toggleCodeBlock.js +6 -6
  211. package/toggleCodeBlock.js.flow +102 -102
  212. package/ui/AlertInfo.js +15 -16
  213. package/ui/AlertInfo.js.flow +64 -64
  214. package/ui/BookmarkNodeView.js +20 -21
  215. package/ui/BookmarkNodeView.js.flow +66 -66
  216. package/ui/CommandButton.js +15 -16
  217. package/ui/CommandButton.js.flow +68 -68
  218. package/ui/CommandMenu.js +19 -20
  219. package/ui/CommandMenu.js.flow +75 -75
  220. package/ui/CommandMenuButton.js +23 -25
  221. package/ui/CommandMenuButton.js.flow +130 -131
  222. package/ui/CustomEditorView.js +20 -20
  223. package/ui/CustomEditorView.js.flow +29 -28
  224. package/ui/CustomMenu.js +11 -12
  225. package/ui/CustomMenu.js.flow +17 -17
  226. package/ui/CustomMenuItem.js +16 -18
  227. package/ui/CustomMenuItem.js.flow +36 -36
  228. package/ui/CustomNodeView.js +29 -19
  229. package/ui/CustomNodeView.js.flow +207 -200
  230. package/ui/CustomRadioButton.js +18 -21
  231. package/ui/CustomRadioButton.js.flow +64 -65
  232. package/ui/DocLayoutEditor.js +18 -20
  233. package/ui/DocLayoutEditor.js.flow +145 -146
  234. package/ui/Editor.js +30 -28
  235. package/ui/Editor.js.flow +287 -288
  236. package/ui/EditorFrameset.js +13 -14
  237. package/ui/EditorFrameset.js.flow +81 -81
  238. package/ui/EditorToolbar.js +36 -42
  239. package/ui/EditorToolbar.js.flow +199 -218
  240. package/ui/EditorToolbarConfig.js +5 -5
  241. package/ui/EditorToolbarConfig.js.flow +164 -164
  242. package/ui/FontSizeCommandMenuButton.js +14 -15
  243. package/ui/FontSizeCommandMenuButton.js.flow +66 -66
  244. package/ui/FontTypeCommandMenuButton.js +15 -17
  245. package/ui/FontTypeCommandMenuButton.js.flow +60 -61
  246. package/ui/Frag.js +11 -12
  247. package/ui/Frag.js.flow +13 -13
  248. package/ui/Icon.js +21 -24
  249. package/ui/Icon.js.flow +89 -89
  250. package/ui/ImageInlineEditor.js +14 -15
  251. package/ui/ImageInlineEditor.js.flow +67 -67
  252. package/ui/KeyCodes.js.flow +12 -12
  253. package/ui/LinkTooltip.js +68 -34
  254. package/ui/LinkTooltip.js.flow +118 -85
  255. package/ui/LinkURLEditor.js +160 -43
  256. package/ui/LinkURLEditor.js.flow +243 -117
  257. package/ui/ListItemNodeView.js +6 -7
  258. package/ui/ListItemNodeView.js.flow +98 -98
  259. package/ui/ListTypeButton.js +23 -27
  260. package/ui/ListTypeButton.js.flow +128 -131
  261. package/ui/ListTypeCommandButton.js +14 -15
  262. package/ui/ListTypeCommandButton.js.flow +85 -85
  263. package/ui/ListTypeMenu.js +21 -22
  264. package/ui/ListTypeMenu.js.flow +70 -70
  265. package/ui/LoadingIndicator.js +11 -12
  266. package/ui/LoadingIndicator.js.flow +20 -20
  267. package/ui/MathEditor.js +17 -22
  268. package/ui/MathEditor.js.flow +72 -78
  269. package/ui/MathInlineEditor.js +20 -21
  270. package/ui/MathInlineEditor.js.flow +101 -102
  271. package/ui/MathNodeView.js +29 -30
  272. package/ui/MathNodeView.js.flow +176 -186
  273. package/ui/PasteMenu.js +19 -23
  274. package/ui/PasteMenu.js.flow +53 -57
  275. package/ui/ResizeObserver.js +1 -1
  276. package/ui/ResizeObserver.js.flow +106 -106
  277. package/ui/RichTextEditor.js +17 -18
  278. package/ui/RichTextEditor.js.flow +133 -133
  279. package/ui/SelectionObserver.js +8 -9
  280. package/ui/SelectionObserver.js.flow +134 -134
  281. package/ui/TableCellMenu.js +14 -15
  282. package/ui/TableCellMenu.js.flow +51 -51
  283. package/ui/TableGridSizeEditor.js +30 -33
  284. package/ui/TableGridSizeEditor.js.flow +187 -184
  285. package/ui/TableNodeView.js +18 -17
  286. package/ui/TableNodeView.js.flow +25 -25
  287. package/ui/bindScrollHandler.js +2 -1
  288. package/ui/bindScrollHandler.js.flow +46 -46
  289. package/ui/canUseCSSFont.js +5 -4
  290. package/ui/canUseCSSFont.js.flow +42 -43
  291. package/ui/czi-body-layout-editor.css +16 -16
  292. package/ui/czi-bookmark-view.css +10 -10
  293. package/ui/czi-cursor-placeholder.css +36 -36
  294. package/ui/czi-custom-menu-button.css +18 -18
  295. package/ui/czi-custom-menu-item.css +30 -30
  296. package/ui/czi-custom-menu.css +8 -8
  297. package/ui/czi-custom-radio-button.css +80 -80
  298. package/ui/czi-custom-scrollbar.css +21 -21
  299. package/ui/czi-editor-frameset.css +81 -81
  300. package/ui/czi-editor-toolbar.css +122 -122
  301. package/ui/czi-editor.css +217 -220
  302. package/ui/czi-form.css +201 -107
  303. package/ui/czi-frag.css +3 -3
  304. package/ui/czi-heading.css +40 -40
  305. package/ui/czi-icon.css +72 -72
  306. package/ui/czi-image-resize-box.css +165 -165
  307. package/ui/czi-image-upload-editor.css +57 -57
  308. package/ui/czi-image-upload-placeholder.css +50 -50
  309. package/ui/czi-image-url-editor.css +38 -38
  310. package/ui/czi-image-view.css +121 -125
  311. package/ui/czi-indent.css +137 -137
  312. package/ui/czi-inline-editor.css +20 -20
  313. package/ui/czi-link-tooltip.css +112 -71
  314. package/ui/czi-list.css +406 -410
  315. package/ui/czi-loading-indicator.css +66 -111
  316. package/ui/czi-math-view.css +62 -62
  317. package/ui/czi-selection-placeholder.css +24 -24
  318. package/ui/czi-table-cell-menu.css +16 -14
  319. package/ui/czi-table-grid-size-editor.css +37 -37
  320. package/ui/czi-table.css +87 -87
  321. package/ui/czi-vars.css +2 -2
  322. package/ui/findActiveFontSize.js +2 -1
  323. package/ui/findActiveFontSize.js.flow +55 -58
  324. package/ui/findActiveFontType.js +4 -3
  325. package/ui/findActiveFontType.js.flow +35 -38
  326. package/ui/fonts.css +460 -460
  327. package/ui/handleEditorDrop.js +1 -1
  328. package/ui/handleEditorDrop.js.flow +28 -28
  329. package/ui/handleEditorKeyDown.js +1 -1
  330. package/ui/handleEditorKeyDown.js.flow +39 -39
  331. package/ui/handleEditorPaste.js +1 -1
  332. package/ui/handleEditorPaste.js.flow +33 -33
  333. package/ui/htmlElementToRect.js.flow +18 -18
  334. package/ui/icon-font.css +9 -9
  335. package/ui/injectStyleSheet.js +2 -2
  336. package/ui/injectStyleSheet.js.flow +40 -42
  337. package/ui/isElementFullyVisible.js +1 -10
  338. package/ui/isElementFullyVisible.js.flow +14 -26
  339. package/ui/isOffline.js.flow +8 -8
  340. package/ui/isReactClass.js.flow +12 -12
  341. package/ui/listType.css +21 -21
  342. package/ui/mathquill-editor/MathQuillEditor.js +27 -30
  343. package/ui/mathquill-editor/MathQuillEditor.js.flow +158 -159
  344. package/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
  345. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +14 -15
  346. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +50 -50
  347. package/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  348. package/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  349. package/ui/mathquill-editor/mathquill-import-kludge.js +1 -8
  350. package/ui/mathquill-editor/mathquill-import-kludge.js.flow +17 -24
  351. package/ui/renderLaTeXAsHTML.js +4 -4
  352. package/ui/renderLaTeXAsHTML.js.flow +46 -46
  353. package/ui/resolveImage.js +5 -6
  354. package/ui/resolveImage.js.flow +121 -123
  355. package/ui/toCSSColor.js.flow +51 -51
  356. package/ui/toCSSLineSpacing.js +2 -3
  357. package/ui/toCSSLineSpacing.js.flow +53 -55
  358. package/ui/toHexColor.js.flow +26 -26
  359. package/ui/uuid.js.flow +9 -9
  360. package/uuid.js.flow +9 -9
@@ -1,65 +1,65 @@
1
- // @flow
2
-
3
- import { EditorState, AllSelection, TextSelection } from 'prosemirror-state';
4
- import { Transform } from 'prosemirror-transform';
5
- import { EditorView } from 'prosemirror-view';
6
- import * as React from 'react';
7
- import { clearMarks, clearHeading } from '@modusoperandi/licit-ui-commands';
8
- import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
9
-
10
- class MarksClearCommand extends UICommand {
11
- isActive = (state: EditorState): boolean => {
12
- return false;
13
- };
14
-
15
- isEnabled = (state: EditorState) => {
16
- const { selection } = state;
17
- return (
18
- !selection.empty &&
19
- (selection instanceof TextSelection || selection instanceof AllSelection)
20
- );
21
- };
22
-
23
- execute = (
24
- state: EditorState,
25
- dispatch: ?(tr: Transform) => void,
26
- view: ?EditorView
27
- ): boolean => {
28
- let tr = clearMarks(state.tr.setSelection(state.selection), state.schema);
29
- // [FS] IRAD-948 2021-02-22
30
-
31
- // Clear Header formatting
32
- tr = clearHeading(tr, state.schema);
33
-
34
- if (dispatch && tr.docChanged) {
35
- dispatch(tr);
36
- return true;
37
- }
38
- return false;
39
- };
40
-
41
- waitForUserInput = (
42
- _state: EditorState,
43
- _dispatch: ?(tr: Transform) => void,
44
- _view: ?EditorView,
45
- _event: ?React.SyntheticEvent
46
- ): Promise<undefined> => {
47
- return Promise.resolve(undefined);
48
- };
49
-
50
- executeWithUserInput = (
51
- _state: EditorState,
52
- _dispatch: ?(tr: Transform) => void,
53
- _view: ?EditorView,
54
- _inputs: ?string
55
- ): boolean => {
56
- return false;
57
- };
58
-
59
- cancel(): void {
60
- return null;
61
- }
62
-
63
- }
64
-
65
- export default MarksClearCommand;
1
+ // @flow
2
+
3
+ import { EditorState, AllSelection, TextSelection } from 'prosemirror-state';
4
+ import { Transform } from 'prosemirror-transform';
5
+ import { EditorView } from 'prosemirror-view';
6
+ import * as React from 'react';
7
+ import { clearMarks, clearHeading } from '@modusoperandi/licit-ui-commands';
8
+ import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
9
+
10
+ class MarksClearCommand extends UICommand {
11
+ isActive = (state: EditorState): boolean => {
12
+ return false;
13
+ };
14
+
15
+ isEnabled = (state: EditorState) => {
16
+ const { selection } = state;
17
+ return (
18
+ !selection.empty &&
19
+ (selection instanceof TextSelection || selection instanceof AllSelection)
20
+ );
21
+ };
22
+
23
+ execute = (
24
+ state: EditorState,
25
+ dispatch: ?(tr: Transform) => void,
26
+ view: ?EditorView
27
+ ): boolean => {
28
+ let tr = clearMarks(state.tr.setSelection(state.selection), state.schema);
29
+ // [FS] IRAD-948 2021-02-22
30
+
31
+ // Clear Header formatting
32
+ tr = clearHeading(tr, state.schema);
33
+
34
+ if (dispatch && tr.docChanged) {
35
+ dispatch(tr);
36
+ return true;
37
+ }
38
+ return false;
39
+ };
40
+
41
+ waitForUserInput = (
42
+ _state: EditorState,
43
+ _dispatch: ?(tr: Transform) => void,
44
+ _view: ?EditorView,
45
+ _event: ?React.SyntheticEvent
46
+ ): Promise<undefined> => {
47
+ return Promise.resolve(undefined);
48
+ };
49
+
50
+ executeWithUserInput = (
51
+ _state: EditorState,
52
+ _dispatch: ?(tr: Transform) => void,
53
+ _view: ?EditorView,
54
+ _inputs: ?string
55
+ ): boolean => {
56
+ return false;
57
+ };
58
+
59
+ cancel(): void {
60
+ return null;
61
+ }
62
+
63
+ }
64
+
65
+ export default MarksClearCommand;
@@ -1,20 +1,19 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
2
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
3
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
4
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
5
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
6
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
6
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
7
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
7
8
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
8
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
10
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
10
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
11
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
14
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
15
  import { Fragment, Schema } from 'prosemirror-model';
16
- import { EditorState } from 'prosemirror-state';
17
- import { TextSelection } from 'prosemirror-state';
16
+ import { EditorState, TextSelection } from 'prosemirror-state';
18
17
  import { Transform } from 'prosemirror-transform';
19
18
  import { EditorView } from 'prosemirror-view';
20
19
  // eslint-disable-next-line no-unused-vars
@@ -48,7 +47,6 @@ function insertMath(tr, schema, latex) {
48
47
  return tr;
49
48
  }
50
49
  var MathEditCommand = /*#__PURE__*/function (_UICommand) {
51
- _inherits(MathEditCommand, _UICommand);
52
50
  function MathEditCommand() {
53
51
  var _this;
54
52
  _classCallCheck(this, MathEditCommand);
@@ -56,8 +54,8 @@ var MathEditCommand = /*#__PURE__*/function (_UICommand) {
56
54
  args[_key] = arguments[_key];
57
55
  }
58
56
  _this = _callSuper(this, MathEditCommand, [].concat(args));
59
- _defineProperty(_assertThisInitialized(_this), "_popUp", null);
60
- _defineProperty(_assertThisInitialized(_this), "isEnabled", function (state, view) {
57
+ _defineProperty(_this, "_popUp", null);
58
+ _defineProperty(_this, "isEnabled", function (state, view) {
61
59
  var tr = state;
62
60
  var selection = tr.selection;
63
61
  if (selection instanceof TextSelection) {
@@ -65,7 +63,7 @@ var MathEditCommand = /*#__PURE__*/function (_UICommand) {
65
63
  }
66
64
  return false;
67
65
  });
68
- _defineProperty(_assertThisInitialized(_this), "waitForUserInput", function (state, dispatch, view, event) {
66
+ _defineProperty(_this, "waitForUserInput", function (state, dispatch, view, event) {
69
67
  if (_this._popUp) {
70
68
  return Promise.resolve(undefined);
71
69
  }
@@ -88,7 +86,7 @@ var MathEditCommand = /*#__PURE__*/function (_UICommand) {
88
86
  });
89
87
  });
90
88
  });
91
- _defineProperty(_assertThisInitialized(_this), "executeWithUserInput", function (state, dispatch, view, latex) {
89
+ _defineProperty(_this, "executeWithUserInput", function (state, dispatch, view, latex) {
92
90
  if (dispatch) {
93
91
  var selection = state.selection,
94
92
  schema = state.schema;
@@ -105,12 +103,12 @@ var MathEditCommand = /*#__PURE__*/function (_UICommand) {
105
103
  });
106
104
  return _this;
107
105
  }
108
- _createClass(MathEditCommand, [{
106
+ _inherits(MathEditCommand, _UICommand);
107
+ return _createClass(MathEditCommand, [{
109
108
  key: "cancel",
110
109
  value: function cancel() {
111
110
  return null;
112
111
  }
113
112
  }]);
114
- return MathEditCommand;
115
113
  }(UICommand);
116
114
  export default MathEditCommand;
@@ -1,120 +1,119 @@
1
- // @flow
2
-
3
- import { Fragment, Schema } from 'prosemirror-model';
4
- import { EditorState } from 'prosemirror-state';
5
- import { TextSelection } from 'prosemirror-state';
6
- import { Transform } from 'prosemirror-transform';
7
- import { EditorView } from 'prosemirror-view';
8
- // eslint-disable-next-line no-unused-vars
9
- import * as React from 'react';
10
-
11
- import {
12
- hideCursorPlaceholder,
13
- showCursorPlaceholder,
14
- } from './CursorPlaceholderPlugin.js';
15
- import {
16
- MATH
17
- } from './NodeNames.js';
18
- import MathEditor from './ui/MathEditor.js';
19
- import {
20
- UICommand
21
- } from '@modusoperandi/licit-doc-attrs-step';
22
- import {
23
- createPopUp
24
- } from '@modusoperandi/licit-ui-commands';
25
-
26
- function insertMath(tr: Transform, schema: Schema, latex: ?string): Transform {
27
- const { selection } = tr;
28
- if (!selection) {
29
- return tr;
30
- }
31
- const { from, to } = selection;
32
- if (from !== to) {
33
- return tr;
34
- }
35
-
36
- const image = schema.nodes[MATH];
37
- if (!image) {
38
- return tr;
39
- }
40
-
41
- const attrs = {
42
- latex,
43
- };
44
-
45
- const node = image.create(attrs, null, null);
46
- const frag = Fragment.from(node);
47
- tr = tr.insert(from, frag);
48
- return tr;
49
- }
50
-
51
- class MathEditCommand extends UICommand {
52
- _popUp = null;
53
-
54
- isEnabled = (state: EditorState, view: ?EditorView): boolean => {
55
- const tr = state;
56
- const { selection } = tr;
57
- if (selection instanceof TextSelection) {
58
- return selection.from === selection.to;
59
- }
60
- return false;
61
- };
62
-
63
- waitForUserInput = (
64
- state: EditorState,
65
- dispatch: ?(tr: Transform) => void,
66
- view: ?EditorView,
67
- event: ?SyntheticEvent<>
68
- ): Promise<any> => {
69
- if (this._popUp) {
70
- return Promise.resolve(undefined);
71
- }
72
-
73
- if (dispatch) {
74
- dispatch(showCursorPlaceholder(state));
75
- }
76
-
77
- return new Promise((resolve) => {
78
- const props = {
79
- runtime: view ? view.runtime : null,
80
- initialValue: null,
81
- };
82
- this._popUp = createPopUp(MathEditor, props, {
83
- modal: true,
84
- onClose: (val) => {
85
- if (this._popUp) {
86
- this._popUp = null;
87
- resolve(val);
88
- }
89
- },
90
- });
91
- });
92
- };
93
-
94
- executeWithUserInput = (
95
- state: EditorState,
96
- dispatch: ?(tr: Transform) => void,
97
- view: ?EditorView,
98
- latex: ?string
99
- ): boolean => {
100
- if (dispatch) {
101
- const { selection, schema } = state;
102
- let { tr } = state;
103
- tr = view ? hideCursorPlaceholder(view.state) : tr;
104
- tr = tr.setSelection(selection);
105
- if (latex) {
106
- tr = insertMath(tr, schema, latex);
107
- }
108
- dispatch(tr);
109
- view && view.focus();
110
- }
111
-
112
- return false;
113
- };
114
-
115
- cancel(): void {
116
- return null;
117
- }
118
- }
119
-
120
- export default MathEditCommand;
1
+ // @flow
2
+
3
+ import { Fragment, Schema } from 'prosemirror-model';
4
+ import { EditorState, TextSelection } from 'prosemirror-state';
5
+ import { Transform } from 'prosemirror-transform';
6
+ import { EditorView } from 'prosemirror-view';
7
+ // eslint-disable-next-line no-unused-vars
8
+ import * as React from 'react';
9
+
10
+ import {
11
+ hideCursorPlaceholder,
12
+ showCursorPlaceholder,
13
+ } from './CursorPlaceholderPlugin.js';
14
+ import {
15
+ MATH
16
+ } from './NodeNames.js';
17
+ import MathEditor from './ui/MathEditor.js';
18
+ import {
19
+ UICommand
20
+ } from '@modusoperandi/licit-doc-attrs-step';
21
+ import {
22
+ createPopUp
23
+ } from '@modusoperandi/licit-ui-commands';
24
+
25
+ function insertMath(tr: Transform, schema: Schema, latex: ?string): Transform {
26
+ const { selection } = tr;
27
+ if (!selection) {
28
+ return tr;
29
+ }
30
+ const { from, to } = selection;
31
+ if (from !== to) {
32
+ return tr;
33
+ }
34
+
35
+ const image = schema.nodes[MATH];
36
+ if (!image) {
37
+ return tr;
38
+ }
39
+
40
+ const attrs = {
41
+ latex,
42
+ };
43
+
44
+ const node = image.create(attrs, null, null);
45
+ const frag = Fragment.from(node);
46
+ tr = tr.insert(from, frag);
47
+ return tr;
48
+ }
49
+
50
+ class MathEditCommand extends UICommand {
51
+ _popUp = null;
52
+
53
+ isEnabled = (state: EditorState, view: ?EditorView): boolean => {
54
+ const tr = state;
55
+ const { selection } = tr;
56
+ if (selection instanceof TextSelection) {
57
+ return selection.from === selection.to;
58
+ }
59
+ return false;
60
+ };
61
+
62
+ waitForUserInput = (
63
+ state: EditorState,
64
+ dispatch: ?(tr: Transform) => void,
65
+ view: ?EditorView,
66
+ event: ?SyntheticEvent<>
67
+ ): Promise<any> => {
68
+ if (this._popUp) {
69
+ return Promise.resolve(undefined);
70
+ }
71
+
72
+ if (dispatch) {
73
+ dispatch(showCursorPlaceholder(state));
74
+ }
75
+
76
+ return new Promise((resolve) => {
77
+ const props = {
78
+ runtime: view ? view.runtime : null,
79
+ initialValue: null,
80
+ };
81
+ this._popUp = createPopUp(MathEditor, props, {
82
+ modal: true,
83
+ onClose: (val) => {
84
+ if (this._popUp) {
85
+ this._popUp = null;
86
+ resolve(val);
87
+ }
88
+ },
89
+ });
90
+ });
91
+ };
92
+
93
+ executeWithUserInput = (
94
+ state: EditorState,
95
+ dispatch: ?(tr: Transform) => void,
96
+ view: ?EditorView,
97
+ latex: ?string
98
+ ): boolean => {
99
+ if (dispatch) {
100
+ const { selection, schema } = state;
101
+ let { tr } = state;
102
+ tr = view ? hideCursorPlaceholder(view.state) : tr;
103
+ tr = tr.setSelection(selection);
104
+ if (latex) {
105
+ tr = insertMath(tr, schema, latex);
106
+ }
107
+ dispatch(tr);
108
+ view && view.focus();
109
+ }
110
+
111
+ return false;
112
+ };
113
+
114
+ cancel(): void {
115
+ return null;
116
+ }
117
+ }
118
+
119
+ export default MathEditCommand;
@@ -1,46 +1,46 @@
1
- // @flow
2
-
3
- import type { NodeSpec } from './Types.js';
4
-
5
- function getAttrs(dom: HTMLElement) {
6
- let align = dom.getAttribute('data-align') || dom.getAttribute('align');
7
- if (align) {
8
- align = /(left|right|center)/.test(align) ? align : null;
9
- }
10
-
11
- return {
12
- align,
13
- latex: dom.getAttribute('data-latex') || null,
14
- };
15
- }
16
-
17
- const MathNodeSpec: NodeSpec = {
18
- inline: true,
19
- attrs: {
20
- align: { default: null },
21
- latex: { default: '' },
22
- },
23
- group: 'inline',
24
- draggable: true,
25
- parseDOM: [
26
- { tag: 'math[data-latex]', getAttrs },
27
- { tag: 'span[data-latex]', getAttrs },
28
- ],
29
- toDOM(node) {
30
- // Normally, the DOM structure of the math node is rendered by
31
- // `MathNodeView`. This method is only called when user selects a
32
- // math node and copies it, which triggers the "serialize to HTML" flow that
33
- // calles this method.
34
- const { align, latex } = node.attrs;
35
- const domAttrs = {};
36
- if (align) {
37
- domAttrs.align = align;
38
- }
39
- if (latex) {
40
- domAttrs['data-latex'] = latex;
41
- }
42
- return ['span', domAttrs];
43
- },
44
- };
45
-
46
- export default MathNodeSpec;
1
+ // @flow
2
+
3
+ import type { NodeSpec } from './Types.js';
4
+
5
+ function getAttrs(dom: HTMLElement) {
6
+ let align = dom.getAttribute('data-align') || dom.getAttribute('align');
7
+ if (align) {
8
+ align = /(left|right|center)/.test(align) ? align : null;
9
+ }
10
+
11
+ return {
12
+ align,
13
+ latex: dom.getAttribute('data-latex') || null,
14
+ };
15
+ }
16
+
17
+ const MathNodeSpec: NodeSpec = {
18
+ inline: true,
19
+ attrs: {
20
+ align: { default: null },
21
+ latex: { default: '' },
22
+ },
23
+ group: 'inline',
24
+ draggable: true,
25
+ parseDOM: [
26
+ { tag: 'math[data-latex]', getAttrs },
27
+ { tag: 'span[data-latex]', getAttrs },
28
+ ],
29
+ toDOM(node) {
30
+ // Normally, the DOM structure of the math node is rendered by
31
+ // `MathNodeView`. This method is only called when user selects a
32
+ // math node and copies it, which triggers the "serialize to HTML" flow that
33
+ // calles this method.
34
+ const { align, latex } = node.attrs;
35
+ const domAttrs = {};
36
+ if (align) {
37
+ domAttrs.align = align;
38
+ }
39
+ if (latex) {
40
+ domAttrs['data-latex'] = latex;
41
+ }
42
+ return ['span', domAttrs];
43
+ },
44
+ };
45
+
46
+ export default MathNodeSpec;
package/NodeNames.js.flow CHANGED
@@ -1,23 +1,23 @@
1
- // @flow
2
-
3
- // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
4
- export const BLOCKQUOTE = 'blockquote';
5
- export const BOOKMARK = 'bookmark';
6
- export const BULLET_LIST = 'bullet_list';
7
- export const CODE_BLOCK = 'code_block';
8
- export const DOC = 'doc';
9
- export const HARD_BREAK = 'hard_break';
10
- export const HEADING = 'heading';
11
- export const HORIZONTAL_RULE = 'horizontal_rule';
12
- export const IMAGE = 'image';
13
- export const LINK = 'link';
14
- export const LIST_ITEM = 'list_item';
15
- export const MATH = 'math';
16
- export const ORDERED_LIST = 'ordered_list';
17
- export const PARAGRAPH = 'paragraph';
18
- export const TABLE = 'table';
19
- export const TABLE_CELL = 'table_cell';
20
- export const TABLE_HEADER = 'table_header';
21
- export const TABLE_ROW = 'table_row';
22
- export const TEXT = 'text';
23
- export const UNDERLINE = 'underline';
1
+ // @flow
2
+
3
+ // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
4
+ export const BLOCKQUOTE = 'blockquote';
5
+ export const BOOKMARK = 'bookmark';
6
+ export const BULLET_LIST = 'bullet_list';
7
+ export const CODE_BLOCK = 'code_block';
8
+ export const DOC = 'doc';
9
+ export const HARD_BREAK = 'hard_break';
10
+ export const HEADING = 'heading';
11
+ export const HORIZONTAL_RULE = 'horizontal_rule';
12
+ export const IMAGE = 'image';
13
+ export const LINK = 'link';
14
+ export const LIST_ITEM = 'list_item';
15
+ export const MATH = 'math';
16
+ export const ORDERED_LIST = 'ordered_list';
17
+ export const PARAGRAPH = 'paragraph';
18
+ export const TABLE = 'table';
19
+ export const TABLE_CELL = 'table_cell';
20
+ export const TABLE_HEADER = 'table_header';
21
+ export const TABLE_ROW = 'table_row';
22
+ export const TEXT = 'text';
23
+ export const UNDERLINE = 'underline';
@@ -1,6 +1,6 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
2
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import { Node } from 'prosemirror-model';
6
6
  import { ATTRIBUTE_LIST_STYLE_TYPE } from './ListItemNodeSpec.js';