@modusoperandi/licit 0.1.9 → 0.1.10

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 (698) hide show
  1. package/.babelrc +54 -54
  2. package/.dockerignore +4 -4
  3. package/.eslintignore +3 -3
  4. package/.eslintrc.js +80 -80
  5. package/.flowconfig +37 -37
  6. package/.github/workflows/build.yml +35 -35
  7. package/.github/workflows/lint.yml +30 -30
  8. package/.prettierignore +5 -5
  9. package/.prettierrc +4 -4
  10. package/.stylelintignore +1 -1
  11. package/.stylelintrc.json +13 -13
  12. package/.travis.yml +18 -18
  13. package/CODEOWNERS +40 -40
  14. package/LICENSE +22 -22
  15. package/README.md +286 -286
  16. package/build_collab_server.py +7 -7
  17. package/build_customstyle_server.py +7 -7
  18. package/build_image_server.py +7 -7
  19. package/dist/BlockquoteInsertNewLineCommand.js.flow +55 -55
  20. package/dist/BlockquoteNodeSpec.js +2 -2
  21. package/dist/BlockquoteNodeSpec.js.flow +30 -30
  22. package/dist/BlockquoteToggleCommand.js.flow +34 -34
  23. package/dist/BookmarkNodeSpec.js.flow +39 -39
  24. package/dist/BulletListNodeSpec.js.flow +61 -61
  25. package/dist/CZIProseMirror.js +4 -4
  26. package/dist/CZIProseMirror.js.flow +90 -90
  27. package/dist/CodeBlockCommand.js.flow +43 -43
  28. package/dist/CodeBlockNodeSpec.js.flow +24 -24
  29. package/dist/CodeMarkSpec.js.flow +14 -14
  30. package/dist/ContentPlaceholderPlugin.js.flow +187 -187
  31. package/dist/CursorPlaceholderPlugin.js +2 -2
  32. package/dist/CursorPlaceholderPlugin.js.flow +115 -115
  33. package/dist/DocLayoutCommand.js.flow +94 -94
  34. package/dist/DocNodeSpec.js +1 -1
  35. package/dist/DocNodeSpec.js.flow +64 -64
  36. package/dist/EMMarkSpec.js.flow +14 -14
  37. package/dist/EditorCommands.js +1 -1
  38. package/dist/EditorCommands.js.flow +128 -128
  39. package/dist/EditorKeyMap.js +3 -3
  40. package/dist/EditorKeyMap.js.flow +187 -187
  41. package/dist/EditorMarks.js.flow +71 -71
  42. package/dist/EditorNodes.js.flow +60 -60
  43. package/dist/EditorPageLayoutPlugin.js.flow +67 -67
  44. package/dist/EditorPlugins.js.flow +8 -8
  45. package/dist/EditorSchema.js.flow +12 -12
  46. package/dist/EditorState.js.flow +7 -7
  47. package/dist/FontSizeCommand.js.flow +57 -57
  48. package/dist/FontSizeMarkSpec.js.flow +49 -49
  49. package/dist/FontTypeCommand.js.flow +100 -100
  50. package/dist/FontTypeMarkSpec.js +1 -1
  51. package/dist/FontTypeMarkSpec.js.flow +80 -80
  52. package/dist/HTMLMutator.js.flow +59 -59
  53. package/dist/HardBreakNodeSpec.js.flow +15 -15
  54. package/dist/HeadingCommand.js.flow +51 -51
  55. package/dist/HeadingNodeSpec.js +2 -2
  56. package/dist/HeadingNodeSpec.js.flow +54 -54
  57. package/dist/HistoryRedoCommand.js.flow +20 -20
  58. package/dist/HistoryUndoCommand.js.flow +20 -20
  59. package/dist/HorizontalRuleCommand.js.flow +49 -49
  60. package/dist/HorizontalRuleNodeSpec.js.flow +39 -39
  61. package/dist/ImageFromURLCommand.js.flow +14 -14
  62. package/dist/ImageNodeSpec.js.flow +90 -90
  63. package/dist/ImageSourceCommand.js.flow +117 -117
  64. package/dist/ImageUploadCommand.js.flow +36 -36
  65. package/dist/ImageUploadPlaceholderPlugin.js +1 -1
  66. package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
  67. package/dist/IndentCommand.js.flow +41 -41
  68. package/dist/LinkMarkSpec.js.flow +32 -32
  69. package/dist/LinkSetURLCommand.js.flow +103 -103
  70. package/dist/LinkTooltipPlugin.js.flow +203 -203
  71. package/dist/ListItemInsertNewLineCommand.js.flow +55 -55
  72. package/dist/ListItemMergeCommand.js.flow +177 -177
  73. package/dist/ListItemNodeSpec.js.flow +51 -51
  74. package/dist/ListSplitCommand.js.flow +32 -32
  75. package/dist/ListToggleCommand.js +1 -1
  76. package/dist/ListToggleCommand.js.flow +77 -77
  77. package/dist/MarkNames.js +1 -1
  78. package/dist/MarkNames.js.flow +18 -18
  79. package/dist/MarkToggleCommand.js.flow +66 -66
  80. package/dist/MarksClearCommand.js.flow +42 -42
  81. package/dist/MathEditCommand.js.flow +110 -110
  82. package/dist/MathNodeSpec.js.flow +46 -46
  83. package/dist/NodeNames.js.flow +23 -23
  84. package/dist/OrderedListNodeSpec.js.flow +132 -132
  85. package/dist/ParagraphNodeSpec.js +2 -1
  86. package/dist/ParagraphNodeSpec.js.flow +160 -160
  87. package/dist/ParagraphSpacingCommand.js +3 -3
  88. package/dist/ParagraphSpacingCommand.js.flow +121 -121
  89. package/dist/PrintCommand.js.flow +31 -31
  90. package/dist/SelectionPlaceholderPlugin.js +2 -2
  91. package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
  92. package/dist/SpacerMarkSpec.js +1 -1
  93. package/dist/SpacerMarkSpec.js.flow +47 -47
  94. package/dist/StrikeMarkSpec.js.flow +21 -21
  95. package/dist/StrongMarkSpec.js.flow +25 -25
  96. package/dist/StyleView.js.flow +19 -19
  97. package/dist/TableBackgroundColorCommand.js.flow +75 -75
  98. package/dist/TableBorderColorCommand.js.flow +75 -75
  99. package/dist/TableCellColorCommand.js.flow +71 -71
  100. package/dist/TableCellMenuPlugin.js.flow +125 -125
  101. package/dist/TableInsertCommand.js.flow +112 -112
  102. package/dist/TableMergeCellsCommand.js.flow +90 -90
  103. package/dist/TableNodesSpecs.js.flow +78 -78
  104. package/dist/TablePlugins.js.flow +14 -14
  105. package/dist/TableResizePlugin.js +2 -2
  106. package/dist/TableResizePlugin.js.flow +631 -631
  107. package/dist/TextAlignCommand.js +3 -3
  108. package/dist/TextAlignCommand.js.flow +122 -122
  109. package/dist/TextColorCommand.js.flow +87 -87
  110. package/dist/TextColorMarkSpec.js.flow +35 -35
  111. package/dist/TextHighlightCommand.js.flow +91 -91
  112. package/dist/TextHighlightMarkSpec.js.flow +38 -38
  113. package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
  114. package/dist/TextLineSpacingCommand.js +3 -3
  115. package/dist/TextLineSpacingCommand.js.flow +157 -157
  116. package/dist/TextNoWrapMarkSpec.js.flow +14 -14
  117. package/dist/TextNodeSpec.js.flow +7 -7
  118. package/dist/TextSelectionMarkSpec.js.flow +24 -24
  119. package/dist/TextSubMarkSpec.js.flow +20 -20
  120. package/dist/TextSuperMarkSpec.js.flow +20 -20
  121. package/dist/TextUnderlineMarkSpec.js.flow +27 -27
  122. package/dist/Types.js +1 -1
  123. package/dist/Types.js.flow +75 -75
  124. package/dist/WebFontLoader.js.flow +22 -22
  125. package/dist/applyMark.js.flow +61 -61
  126. package/dist/blockQuoteInputRule.js.flow +36 -36
  127. package/dist/bom.xml +4936 -3897
  128. package/dist/browser.js.flow +7 -7
  129. package/dist/buildEditorPlugins.js.flow +51 -51
  130. package/dist/buildInputRules.js.flow +81 -81
  131. package/dist/clearMarks.js +1 -1
  132. package/dist/clearMarks.js.flow +128 -128
  133. package/dist/client/CollabConnector.js.flow +71 -71
  134. package/dist/client/EditorConnection.js.flow +307 -307
  135. package/dist/client/Licit.js +36 -36
  136. package/dist/client/Licit.js.flow +578 -576
  137. package/dist/client/Licit.test.js +16 -15
  138. package/dist/client/Licit.test.js.flow +67 -65
  139. package/dist/client/Reporter.js.flow +37 -37
  140. package/dist/client/SimpleConnector.js +1 -1
  141. package/dist/client/SimpleConnector.js.flow +53 -53
  142. package/dist/client/http.js +3 -3
  143. package/dist/client/http.js.flow +66 -66
  144. package/dist/client/licit.css +12 -12
  145. package/dist/client/throttle.js.flow +27 -27
  146. package/dist/compareNumber.js.flow +11 -11
  147. package/dist/consolidateListNodes.js +29 -29
  148. package/dist/consolidateListNodes.js.flow +281 -281
  149. package/dist/convertFromDOMElement.js.flow +36 -36
  150. package/dist/convertFromHTML.js.flow +19 -19
  151. package/dist/convertFromJSON.js.flow +78 -78
  152. package/dist/convertToCSSPTValue.js +1 -1
  153. package/dist/convertToCSSPTValue.js.flow +22 -22
  154. package/dist/convertToJSON.js.flow +7 -7
  155. package/dist/createCommand.js.flow +40 -40
  156. package/dist/createEditorKeyMap.js.flow +94 -94
  157. package/dist/createEmptyEditorState.js +1 -1
  158. package/dist/createEmptyEditorState.js.flow +35 -35
  159. package/dist/createTableResizingPlugin.js.flow +86 -86
  160. package/dist/findActionableCell.js.flow +74 -74
  161. package/dist/findActiveMark.js.flow +32 -32
  162. package/dist/findNodesWithSameMark.js.flow +89 -89
  163. package/dist/hyphenize.js.flow +17 -17
  164. package/dist/index.js +16 -16
  165. package/dist/index.js.flow +10 -10
  166. package/dist/insertTable.js.flow +56 -56
  167. package/dist/isBulletListNode.js.flow +9 -9
  168. package/dist/isEditorStateEmpty.js.flow +32 -32
  169. package/dist/isInsideListItem.js.flow +13 -13
  170. package/dist/isListNode.js.flow +13 -13
  171. package/dist/isNodeSelectionForNodeType.js.flow +15 -15
  172. package/dist/isOrderedListNode.js.flow +9 -9
  173. package/dist/isTableNode.js.flow +15 -15
  174. package/dist/isTextStyleMarkCommandEnabled.js.flow +49 -49
  175. package/dist/joinDown.js.flow +27 -27
  176. package/dist/joinListNode.js.flow +55 -55
  177. package/dist/joinUp.js.flow +39 -39
  178. package/dist/keymaps.js +2 -2
  179. package/dist/keymaps.js.flow +185 -185
  180. package/dist/lookUpElement.js.flow +14 -14
  181. package/dist/nodeAt.js.flow +12 -12
  182. package/dist/noop.js.flow +5 -5
  183. package/dist/normalizeHTML.js.flow +78 -78
  184. package/dist/patchAnchorElements.js.flow +38 -38
  185. package/dist/patchBreakElements.js.flow +22 -22
  186. package/dist/patchElementInlineStyles.js.flow +92 -92
  187. package/dist/patchListElements.js.flow +276 -276
  188. package/dist/patchMathElements.js.flow +60 -60
  189. package/dist/patchParagraphElements.js.flow +20 -20
  190. package/dist/patchStyleElements.js +1 -1
  191. package/dist/patchStyleElements.js.flow +194 -194
  192. package/dist/patchTableElements.js.flow +89 -89
  193. package/dist/rebaseDocWithSteps.js.flow +42 -42
  194. package/dist/sanitizeURL.js.flow +13 -13
  195. package/dist/splitListItem.js +2 -2
  196. package/dist/splitListItem.js.flow +191 -191
  197. package/dist/styles.css +19 -19
  198. package/dist/styles0.css +29 -29
  199. package/dist/toClosestFontPtSize.js.flow +22 -22
  200. package/dist/toSafeHTMLDocument.js.flow +9 -9
  201. package/dist/toggleBlockquote.js.flow +91 -91
  202. package/dist/toggleCodeBlock.js.flow +102 -102
  203. package/dist/toggleHeading.js +2 -2
  204. package/dist/toggleHeading.js.flow +113 -113
  205. package/dist/toggleList.js +2 -2
  206. package/dist/toggleList.js.flow +450 -450
  207. package/dist/transformAndPreserveTextSelection.js +1 -1
  208. package/dist/transformAndPreserveTextSelection.js.flow +151 -151
  209. package/dist/ui/AlertInfo.js +2 -2
  210. package/dist/ui/AlertInfo.js.flow +64 -64
  211. package/dist/ui/BookmarkNodeView.js.flow +66 -66
  212. package/dist/ui/ColorEditor.js.flow +101 -101
  213. package/dist/ui/CommandButton.js.flow +68 -68
  214. package/dist/ui/CommandMenu.js.flow +75 -75
  215. package/dist/ui/CommandMenuButton.js +2 -2
  216. package/dist/ui/CommandMenuButton.js.flow +131 -131
  217. package/dist/ui/CustomButton.js +3 -1
  218. package/dist/ui/CustomButton.js.flow +33 -33
  219. package/dist/ui/CustomEditorView.js.flow +28 -28
  220. package/dist/ui/CustomMenu.js.flow +17 -17
  221. package/dist/ui/CustomMenuItem.js.flow +36 -36
  222. package/dist/ui/CustomNodeView.js +3 -3
  223. package/dist/ui/CustomNodeView.js.flow +200 -200
  224. package/dist/ui/CustomRadioButton.js +3 -1
  225. package/dist/ui/CustomRadioButton.js.flow +65 -65
  226. package/dist/ui/DocLayoutEditor.js +1 -1
  227. package/dist/ui/DocLayoutEditor.js.flow +146 -146
  228. package/dist/ui/Editor.js +1 -2
  229. package/dist/ui/Editor.js.flow +290 -291
  230. package/dist/ui/EditorFrameset.js +1 -1
  231. package/dist/ui/EditorFrameset.js.flow +81 -81
  232. package/dist/ui/EditorToolbar.js +2 -2
  233. package/dist/ui/EditorToolbar.js.flow +211 -211
  234. package/dist/ui/EditorToolbarConfig.js +1 -1
  235. package/dist/ui/EditorToolbarConfig.js.flow +172 -172
  236. package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
  237. package/dist/ui/FontTypeCommandMenuButton.js.flow +49 -49
  238. package/dist/ui/Frag.js.flow +13 -13
  239. package/dist/ui/Icon.js.flow +89 -89
  240. package/dist/ui/ImageAlignEditor.js +1 -1
  241. package/dist/ui/ImageAlignEditor.js.flow +60 -60
  242. package/dist/ui/ImageInlineEditor.js +1 -1
  243. package/dist/ui/ImageInlineEditor.js.flow +67 -67
  244. package/dist/ui/ImageNodeView.js +2 -2
  245. package/dist/ui/ImageNodeView.js.flow +404 -404
  246. package/dist/ui/ImageResizeBox.js +1 -1
  247. package/dist/ui/ImageResizeBox.js.flow +219 -219
  248. package/dist/ui/ImageURLEditor.js +2 -2
  249. package/dist/ui/ImageURLEditor.js.flow +119 -119
  250. package/dist/ui/ImageUploadEditor.js.flow +117 -117
  251. package/dist/ui/KeyCodes.js.flow +12 -12
  252. package/dist/ui/LinkTooltip.js.flow +85 -85
  253. package/dist/ui/LinkURLEditor.js.flow +111 -111
  254. package/dist/ui/ListItemNodeView.js.flow +98 -98
  255. package/dist/ui/ListTypeButton.js +2 -2
  256. package/dist/ui/ListTypeButton.js.flow +131 -131
  257. package/dist/ui/ListTypeCommandButton.js.flow +85 -85
  258. package/dist/ui/ListTypeMenu.js.flow +70 -70
  259. package/dist/ui/LoadingIndicator.js.flow +20 -20
  260. package/dist/ui/MathEditor.js.flow +78 -78
  261. package/dist/ui/MathInlineEditor.js +3 -3
  262. package/dist/ui/MathInlineEditor.js.flow +102 -102
  263. package/dist/ui/MathNodeView.js +2 -2
  264. package/dist/ui/MathNodeView.js.flow +175 -175
  265. package/dist/ui/PasteMenu.js.flow +57 -57
  266. package/dist/ui/PointerSurface.js +1 -1
  267. package/dist/ui/PointerSurface.js.flow +141 -141
  268. package/dist/ui/PopUp.js +1 -1
  269. package/dist/ui/PopUp.js.flow +77 -77
  270. package/dist/ui/PopUpManager.js +1 -1
  271. package/dist/ui/PopUpManager.js.flow +213 -213
  272. package/dist/ui/PopUpPosition.js +3 -3
  273. package/dist/ui/PopUpPosition.js.flow +104 -104
  274. package/dist/ui/ResizeObserver.js +1 -1
  275. package/dist/ui/ResizeObserver.js.flow +106 -106
  276. package/dist/ui/RichTextEditor.js.flow +133 -133
  277. package/dist/ui/SelectionObserver.js.flow +134 -134
  278. package/dist/ui/TableCellMenu.js.flow +38 -38
  279. package/dist/ui/TableGridSizeEditor.js +1 -1
  280. package/dist/ui/TableGridSizeEditor.js.flow +184 -184
  281. package/dist/ui/TableNodeView.js.flow +22 -22
  282. package/dist/ui/TooltipSurface.js.flow +76 -76
  283. package/dist/ui/bindScrollHandler.js.flow +46 -46
  284. package/dist/ui/canUseCSSFont.js.flow +43 -43
  285. package/dist/ui/clamp.js.flow +11 -11
  286. package/dist/ui/createPopUp.js +1 -1
  287. package/dist/ui/createPopUp.js.flow +205 -205
  288. package/dist/ui/czi-animations.css +15 -15
  289. package/dist/ui/czi-body-layout-editor.css +16 -16
  290. package/dist/ui/czi-bookmark-view.css +10 -10
  291. package/dist/ui/czi-color-editor.css +56 -56
  292. package/dist/ui/czi-cursor-placeholder.css +36 -36
  293. package/dist/ui/czi-custom-button.css +93 -93
  294. package/dist/ui/czi-custom-menu-button.css +18 -18
  295. package/dist/ui/czi-custom-menu-item.css +30 -30
  296. package/dist/ui/czi-custom-menu.css +8 -8
  297. package/dist/ui/czi-custom-radio-button.css +80 -80
  298. package/dist/ui/czi-custom-scrollbar.css +21 -21
  299. package/dist/ui/czi-editor-frameset.css +81 -81
  300. package/dist/ui/czi-editor-toolbar.css +122 -122
  301. package/dist/ui/czi-editor.css +220 -220
  302. package/dist/ui/czi-form.css +104 -104
  303. package/dist/ui/czi-frag.css +3 -3
  304. package/dist/ui/czi-heading.css +40 -40
  305. package/dist/ui/czi-icon.css +72 -72
  306. package/dist/ui/czi-image-resize-box.css +165 -165
  307. package/dist/ui/czi-image-upload-editor.css +57 -57
  308. package/dist/ui/czi-image-upload-placeholder.css +50 -50
  309. package/dist/ui/czi-image-url-editor.css +38 -38
  310. package/dist/ui/czi-image-view.css +125 -125
  311. package/dist/ui/czi-indent.css +137 -137
  312. package/dist/ui/czi-inline-editor.css +20 -20
  313. package/dist/ui/czi-link-tooltip.css +71 -71
  314. package/dist/ui/czi-list.css +410 -410
  315. package/dist/ui/czi-loading-indicator.css +111 -111
  316. package/dist/ui/czi-math-view.css +62 -62
  317. package/dist/ui/czi-pop-up.css +32 -32
  318. package/dist/ui/czi-selection-placeholder.css +24 -24
  319. package/dist/ui/czi-table-cell-menu.css +14 -14
  320. package/dist/ui/czi-table-grid-size-editor.css +37 -37
  321. package/dist/ui/czi-table.css +86 -86
  322. package/dist/ui/czi-tooltip-surface.css +45 -45
  323. package/dist/ui/czi-vars.css +46 -46
  324. package/dist/ui/findActiveFontSize.js.flow +58 -58
  325. package/dist/ui/findActiveFontType.js +1 -1
  326. package/dist/ui/findActiveFontType.js.flow +38 -38
  327. package/dist/ui/fonts.css +471 -471
  328. package/dist/ui/handleEditorDrop.js.flow +28 -28
  329. package/dist/ui/handleEditorKeyDown.js.flow +39 -39
  330. package/dist/ui/handleEditorPaste.js.flow +33 -33
  331. package/dist/ui/htmlElementToRect.js +1 -1
  332. package/dist/ui/htmlElementToRect.js.flow +18 -18
  333. package/dist/ui/icon-font.css +10 -10
  334. package/dist/ui/injectStyleSheet.js.flow +42 -42
  335. package/dist/ui/isElementFullyVisible.js.flow +23 -23
  336. package/dist/ui/isOffline.js.flow +8 -8
  337. package/dist/ui/isReactClass.js.flow +12 -12
  338. package/dist/ui/listType.css +21 -21
  339. package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +159 -159
  340. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js +1 -1
  341. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
  342. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +48 -48
  343. package/dist/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  344. package/dist/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  345. package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -24
  346. package/dist/ui/preventEventDefault.js.flow +5 -5
  347. package/dist/ui/rects.js +3 -3
  348. package/dist/ui/rects.js.flow +47 -47
  349. package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
  350. package/dist/ui/resolveImage.js +3 -3
  351. package/dist/ui/resolveImage.js.flow +123 -123
  352. package/dist/ui/toCSSColor.js +1 -1
  353. package/dist/ui/toCSSColor.js.flow +51 -51
  354. package/dist/ui/toCSSLineSpacing.js +1 -1
  355. package/dist/ui/toCSSLineSpacing.js.flow +82 -82
  356. package/dist/ui/toHexColor.js.flow +26 -26
  357. package/dist/ui/uuid.js.flow +9 -9
  358. package/dist/updateIndentLevel.js +2 -2
  359. package/dist/updateIndentLevel.js.flow +211 -211
  360. package/dist/uuid.js.flow +9 -9
  361. package/flow-typed/@modusoperandilicit-customstyles.js +5 -5
  362. package/flow-typed/@modusoperandilicit-doc-attrs-step.js +5 -5
  363. package/flow-typed/@molicit-citation.js +5 -5
  364. package/flow-typed/create-emotion.js +5 -5
  365. package/flow-typed/docs-editor.js +3 -3
  366. package/flow-typed/draft-convert.js +3 -3
  367. package/flow-typed/draft-js.js +3 -3
  368. package/flow-typed/flatted.js +5 -5
  369. package/flow-typed/jquery.js +5 -5
  370. package/flow-typed/katex.js +6 -6
  371. package/flow-typed/mathquill.js +5 -5
  372. package/flow-typed/prosemirror-collab.js +5 -5
  373. package/flow-typed/prosemirror-commands.js +5 -5
  374. package/flow-typed/prosemirror-dev-tools.js +5 -5
  375. package/flow-typed/prosemirror-dropcursor.js +5 -5
  376. package/flow-typed/prosemirror-gapcursor.js +5 -5
  377. package/flow-typed/prosemirror-history.js +5 -5
  378. package/flow-typed/prosemirror-inputrules.js +5 -5
  379. package/flow-typed/prosemirror-keymap.js +5 -5
  380. package/flow-typed/prosemirror-model.js +5 -5
  381. package/flow-typed/prosemirror-state.js +5 -5
  382. package/flow-typed/prosemirror-tables.js +5 -5
  383. package/flow-typed/prosemirror-transform.js +5 -5
  384. package/flow-typed/prosemirror-utils.js +5 -5
  385. package/flow-typed/prosemirror-view.js +5 -5
  386. package/flow-typed/resize-observer-polyfill.js +5 -5
  387. package/flow-typed/uuid.js +5 -5
  388. package/jest.setup.js +5 -5
  389. package/licit/client/CustomLicitRuntime.js +95 -95
  390. package/licit/client/CustomStyleRuntime.js +136 -136
  391. package/licit/client/index.js +366 -366
  392. package/licit/index.html +11 -11
  393. package/licit/server/collab/instance.js +221 -221
  394. package/licit/server/collab/route.js +69 -69
  395. package/licit/server/collab/server.js +297 -297
  396. package/licit/server/collab/start.js +13 -13
  397. package/licit/server/customstyles/start.js +184 -184
  398. package/licit/server/image/start.js +58 -58
  399. package/lint.sh +4 -4
  400. package/package.json +165 -165
  401. package/run_collab_server.py +21 -21
  402. package/run_customstyle_server.py +20 -20
  403. package/run_image_server.py +20 -20
  404. package/run_web_server.py +25 -25
  405. package/scripts/build_bin.js +10 -10
  406. package/scripts/build_bin.py +103 -103
  407. package/scripts/ci_check_dist.sh +13 -13
  408. package/scripts/env.js +6 -6
  409. package/scripts/webserver.js +35 -35
  410. package/sonar-project.properties +11 -11
  411. package/src/BlockquoteInsertNewLineCommand.js +55 -55
  412. package/src/BlockquoteNodeSpec.js +30 -30
  413. package/src/BlockquoteToggleCommand.js +34 -34
  414. package/src/BookmarkNodeSpec.js +39 -39
  415. package/src/BulletListNodeSpec.js +61 -61
  416. package/src/CZIProseMirror.js +90 -90
  417. package/src/CodeBlockCommand.js +43 -43
  418. package/src/CodeBlockNodeSpec.js +24 -24
  419. package/src/CodeMarkSpec.js +14 -14
  420. package/src/ContentPlaceholderPlugin.js +187 -187
  421. package/src/CursorPlaceholderPlugin.js +115 -115
  422. package/src/DocLayoutCommand.js +94 -94
  423. package/src/DocNodeSpec.js +64 -64
  424. package/src/EMMarkSpec.js +14 -14
  425. package/src/EditorCommands.js +128 -128
  426. package/src/EditorKeyMap.js +187 -187
  427. package/src/EditorMarks.js +71 -71
  428. package/src/EditorNodes.js +60 -60
  429. package/src/EditorPageLayoutPlugin.js +67 -67
  430. package/src/EditorPlugins.js +8 -8
  431. package/src/EditorSchema.js +12 -12
  432. package/src/EditorState.js +7 -7
  433. package/src/FontSizeCommand.js +57 -57
  434. package/src/FontSizeMarkSpec.js +49 -49
  435. package/src/FontTypeCommand.js +100 -100
  436. package/src/FontTypeMarkSpec.js +80 -80
  437. package/src/HTMLMutator.js +59 -59
  438. package/src/HardBreakNodeSpec.js +15 -15
  439. package/src/HeadingCommand.js +51 -51
  440. package/src/HeadingNodeSpec.js +54 -54
  441. package/src/HistoryRedoCommand.js +20 -20
  442. package/src/HistoryUndoCommand.js +20 -20
  443. package/src/HorizontalRuleCommand.js +49 -49
  444. package/src/HorizontalRuleNodeSpec.js +39 -39
  445. package/src/ImageFromURLCommand.js +14 -14
  446. package/src/ImageNodeSpec.js +90 -90
  447. package/src/ImageSourceCommand.js +117 -117
  448. package/src/ImageUploadCommand.js +36 -36
  449. package/src/ImageUploadPlaceholderPlugin.js +192 -192
  450. package/src/IndentCommand.js +41 -41
  451. package/src/LinkMarkSpec.js +32 -32
  452. package/src/LinkSetURLCommand.js +103 -103
  453. package/src/LinkTooltipPlugin.js +203 -203
  454. package/src/ListItemInsertNewLineCommand.js +55 -55
  455. package/src/ListItemMergeCommand.js +177 -177
  456. package/src/ListItemNodeSpec.js +51 -51
  457. package/src/ListSplitCommand.js +32 -32
  458. package/src/ListToggleCommand.js +77 -77
  459. package/src/MarkNames.js +18 -18
  460. package/src/MarkToggleCommand.js +66 -66
  461. package/src/MarksClearCommand.js +42 -42
  462. package/src/MathEditCommand.js +110 -110
  463. package/src/MathNodeSpec.js +46 -46
  464. package/src/NodeNames.js +23 -23
  465. package/src/OrderedListNodeSpec.js +132 -132
  466. package/src/ParagraphNodeSpec.js +160 -160
  467. package/src/ParagraphSpacingCommand.js +121 -121
  468. package/src/PrintCommand.js +31 -31
  469. package/src/SelectionPlaceholderPlugin.js +131 -131
  470. package/src/SpacerMarkSpec.js +47 -47
  471. package/src/StrikeMarkSpec.js +21 -21
  472. package/src/StrongMarkSpec.js +25 -25
  473. package/src/StyleView.js +19 -19
  474. package/src/TableBackgroundColorCommand.js +75 -75
  475. package/src/TableBorderColorCommand.js +75 -75
  476. package/src/TableCellColorCommand.js +71 -71
  477. package/src/TableCellMenuPlugin.js +125 -125
  478. package/src/TableInsertCommand.js +112 -112
  479. package/src/TableMergeCellsCommand.js +90 -90
  480. package/src/TableNodesSpecs.js +78 -78
  481. package/src/TablePlugins.js +14 -14
  482. package/src/TableResizePlugin.js +631 -631
  483. package/src/TextAlignCommand.js +122 -122
  484. package/src/TextColorCommand.js +87 -87
  485. package/src/TextColorMarkSpec.js +35 -35
  486. package/src/TextHighlightCommand.js +91 -91
  487. package/src/TextHighlightMarkSpec.js +38 -38
  488. package/src/TextInsertTabSpaceCommand.js +83 -83
  489. package/src/TextLineSpacingCommand.js +157 -157
  490. package/src/TextNoWrapMarkSpec.js +14 -14
  491. package/src/TextNodeSpec.js +7 -7
  492. package/src/TextSelectionMarkSpec.js +24 -24
  493. package/src/TextSubMarkSpec.js +20 -20
  494. package/src/TextSuperMarkSpec.js +20 -20
  495. package/src/TextUnderlineMarkSpec.js +27 -27
  496. package/src/Types.js +75 -75
  497. package/src/WebFontLoader.js +22 -22
  498. package/src/applyMark.js +61 -61
  499. package/src/blockQuoteInputRule.js +36 -36
  500. package/src/browser.js +7 -7
  501. package/src/buildEditorPlugins.js +51 -51
  502. package/src/buildInputRules.js +81 -81
  503. package/src/clearMarks.js +128 -128
  504. package/src/client/CollabConnector.js +71 -71
  505. package/src/client/EditorConnection.js +307 -307
  506. package/src/client/Licit.js +578 -576
  507. package/src/client/Licit.test.js +67 -65
  508. package/src/client/Reporter.js +37 -37
  509. package/src/client/SimpleConnector.js +53 -53
  510. package/src/client/http.js +66 -66
  511. package/src/client/licit.css +12 -12
  512. package/src/client/throttle.js +27 -27
  513. package/src/compareNumber.js +11 -11
  514. package/src/consolidateListNodes.js +281 -281
  515. package/src/convertFromDOMElement.js +36 -36
  516. package/src/convertFromHTML.js +19 -19
  517. package/src/convertFromJSON.js +78 -78
  518. package/src/convertToCSSPTValue.js +22 -22
  519. package/src/convertToJSON.js +7 -7
  520. package/src/createCommand.js +40 -40
  521. package/src/createEditorKeyMap.js +94 -94
  522. package/src/createEmptyEditorState.js +35 -35
  523. package/src/createTableResizingPlugin.js +86 -86
  524. package/src/findActionableCell.js +74 -74
  525. package/src/findActiveMark.js +32 -32
  526. package/src/findNodesWithSameMark.js +89 -89
  527. package/src/hyphenize.js +17 -17
  528. package/src/index.js +10 -10
  529. package/src/insertTable.js +56 -56
  530. package/src/isBulletListNode.js +9 -9
  531. package/src/isEditorStateEmpty.js +32 -32
  532. package/src/isInsideListItem.js +13 -13
  533. package/src/isListNode.js +13 -13
  534. package/src/isNodeSelectionForNodeType.js +15 -15
  535. package/src/isOrderedListNode.js +9 -9
  536. package/src/isTableNode.js +15 -15
  537. package/src/isTextStyleMarkCommandEnabled.js +49 -49
  538. package/src/joinDown.js +27 -27
  539. package/src/joinListNode.js +55 -55
  540. package/src/joinUp.js +39 -39
  541. package/src/keymaps.js +185 -185
  542. package/src/lookUpElement.js +14 -14
  543. package/src/nodeAt.js +12 -12
  544. package/src/noop.js +5 -5
  545. package/src/normalizeHTML.js +78 -78
  546. package/src/patchAnchorElements.js +38 -38
  547. package/src/patchBreakElements.js +22 -22
  548. package/src/patchElementInlineStyles.js +92 -92
  549. package/src/patchListElements.js +276 -276
  550. package/src/patchMathElements.js +60 -60
  551. package/src/patchParagraphElements.js +20 -20
  552. package/src/patchStyleElements.js +194 -194
  553. package/src/patchTableElements.js +89 -89
  554. package/src/rebaseDocWithSteps.js +42 -42
  555. package/src/sanitizeURL.js +13 -13
  556. package/src/splitListItem.js +191 -191
  557. package/src/styles.css +19 -19
  558. package/src/styles0.css +29 -29
  559. package/src/toClosestFontPtSize.js +22 -22
  560. package/src/toSafeHTMLDocument.js +9 -9
  561. package/src/toggleBlockquote.js +91 -91
  562. package/src/toggleCodeBlock.js +102 -102
  563. package/src/toggleHeading.js +113 -113
  564. package/src/toggleList.js +450 -450
  565. package/src/transformAndPreserveTextSelection.js +151 -151
  566. package/src/ui/AlertInfo.js +64 -64
  567. package/src/ui/BookmarkNodeView.js +66 -66
  568. package/src/ui/ColorEditor.js +101 -101
  569. package/src/ui/CommandButton.js +68 -68
  570. package/src/ui/CommandMenu.js +75 -75
  571. package/src/ui/CommandMenuButton.js +131 -131
  572. package/src/ui/CustomButton.js +33 -33
  573. package/src/ui/CustomEditorView.js +28 -28
  574. package/src/ui/CustomMenu.js +17 -17
  575. package/src/ui/CustomMenuItem.js +36 -36
  576. package/src/ui/CustomNodeView.js +200 -200
  577. package/src/ui/CustomRadioButton.js +65 -65
  578. package/src/ui/DocLayoutEditor.js +146 -146
  579. package/src/ui/Editor.js +290 -291
  580. package/src/ui/EditorFrameset.js +81 -81
  581. package/src/ui/EditorToolbar.js +211 -211
  582. package/src/ui/EditorToolbarConfig.js +172 -172
  583. package/src/ui/FontSizeCommandMenuButton.js +66 -66
  584. package/src/ui/FontTypeCommandMenuButton.js +49 -49
  585. package/src/ui/Frag.js +13 -13
  586. package/src/ui/Icon.js +89 -89
  587. package/src/ui/ImageAlignEditor.js +60 -60
  588. package/src/ui/ImageInlineEditor.js +67 -67
  589. package/src/ui/ImageNodeView.js +404 -404
  590. package/src/ui/ImageResizeBox.js +219 -219
  591. package/src/ui/ImageURLEditor.js +119 -119
  592. package/src/ui/ImageUploadEditor.js +117 -117
  593. package/src/ui/KeyCodes.js +12 -12
  594. package/src/ui/LinkTooltip.js +85 -85
  595. package/src/ui/LinkURLEditor.js +111 -111
  596. package/src/ui/ListItemNodeView.js +98 -98
  597. package/src/ui/ListTypeButton.js +131 -131
  598. package/src/ui/ListTypeCommandButton.js +85 -85
  599. package/src/ui/ListTypeMenu.js +70 -70
  600. package/src/ui/LoadingIndicator.js +20 -20
  601. package/src/ui/MathEditor.js +78 -78
  602. package/src/ui/MathInlineEditor.js +102 -102
  603. package/src/ui/MathNodeView.js +175 -175
  604. package/src/ui/PasteMenu.js +57 -57
  605. package/src/ui/PointerSurface.js +141 -141
  606. package/src/ui/PopUp.js +77 -77
  607. package/src/ui/PopUpManager.js +213 -213
  608. package/src/ui/PopUpPosition.js +104 -104
  609. package/src/ui/ResizeObserver.js +106 -106
  610. package/src/ui/RichTextEditor.js +133 -133
  611. package/src/ui/SelectionObserver.js +134 -134
  612. package/src/ui/TableCellMenu.js +38 -38
  613. package/src/ui/TableGridSizeEditor.js +184 -184
  614. package/src/ui/TableNodeView.js +22 -22
  615. package/src/ui/TooltipSurface.js +76 -76
  616. package/src/ui/bindScrollHandler.js +46 -46
  617. package/src/ui/canUseCSSFont.js +43 -43
  618. package/src/ui/clamp.js +11 -11
  619. package/src/ui/createPopUp.js +205 -205
  620. package/src/ui/czi-animations.css +15 -15
  621. package/src/ui/czi-body-layout-editor.css +16 -16
  622. package/src/ui/czi-bookmark-view.css +10 -10
  623. package/src/ui/czi-color-editor.css +56 -56
  624. package/src/ui/czi-cursor-placeholder.css +36 -36
  625. package/src/ui/czi-custom-button.css +93 -93
  626. package/src/ui/czi-custom-menu-button.css +18 -18
  627. package/src/ui/czi-custom-menu-item.css +30 -30
  628. package/src/ui/czi-custom-menu.css +8 -8
  629. package/src/ui/czi-custom-radio-button.css +80 -80
  630. package/src/ui/czi-custom-scrollbar.css +21 -21
  631. package/src/ui/czi-editor-frameset.css +81 -81
  632. package/src/ui/czi-editor-toolbar.css +122 -122
  633. package/src/ui/czi-editor.css +220 -220
  634. package/src/ui/czi-form.css +104 -104
  635. package/src/ui/czi-frag.css +3 -3
  636. package/src/ui/czi-heading.css +40 -40
  637. package/src/ui/czi-icon.css +72 -72
  638. package/src/ui/czi-image-resize-box.css +165 -165
  639. package/src/ui/czi-image-upload-editor.css +57 -57
  640. package/src/ui/czi-image-upload-placeholder.css +50 -50
  641. package/src/ui/czi-image-url-editor.css +38 -38
  642. package/src/ui/czi-image-view.css +125 -125
  643. package/src/ui/czi-indent.css +137 -137
  644. package/src/ui/czi-inline-editor.css +20 -20
  645. package/src/ui/czi-link-tooltip.css +71 -71
  646. package/src/ui/czi-list.css +410 -410
  647. package/src/ui/czi-loading-indicator.css +111 -111
  648. package/src/ui/czi-math-view.css +62 -62
  649. package/src/ui/czi-pop-up.css +32 -32
  650. package/src/ui/czi-selection-placeholder.css +24 -24
  651. package/src/ui/czi-table-cell-menu.css +14 -14
  652. package/src/ui/czi-table-grid-size-editor.css +37 -37
  653. package/src/ui/czi-table.css +86 -86
  654. package/src/ui/czi-tooltip-surface.css +45 -45
  655. package/src/ui/czi-vars.css +46 -46
  656. package/src/ui/findActiveFontSize.js +58 -58
  657. package/src/ui/findActiveFontType.js +38 -38
  658. package/src/ui/fonts.css +471 -471
  659. package/src/ui/handleEditorDrop.js +28 -28
  660. package/src/ui/handleEditorKeyDown.js +39 -39
  661. package/src/ui/handleEditorPaste.js +33 -33
  662. package/src/ui/htmlElementToRect.js +18 -18
  663. package/src/ui/icon-font.css +10 -10
  664. package/src/ui/injectStyleSheet.js +42 -42
  665. package/src/ui/isElementFullyVisible.js +23 -23
  666. package/src/ui/isOffline.js +8 -8
  667. package/src/ui/isReactClass.js +12 -12
  668. package/src/ui/listType.css +21 -21
  669. package/src/ui/mathquill-editor/MathQuillEditor.js +159 -159
  670. package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +483 -483
  671. package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +48 -48
  672. package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  673. package/src/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  674. package/src/ui/mathquill-editor/mathquill-import-kludge.js +24 -24
  675. package/src/ui/preventEventDefault.js +5 -5
  676. package/src/ui/rects.js +47 -47
  677. package/src/ui/renderLaTeXAsHTML.js +46 -46
  678. package/src/ui/resolveImage.js +123 -123
  679. package/src/ui/toCSSColor.js +51 -51
  680. package/src/ui/toCSSLineSpacing.js +82 -82
  681. package/src/ui/toHexColor.js +26 -26
  682. package/src/ui/uuid.js +9 -9
  683. package/src/updateIndentLevel.js +211 -211
  684. package/src/uuid.js +9 -9
  685. package/style-service.Dockerfile +26 -26
  686. package/utils/build_bin.js +9 -9
  687. package/utils/build_customstyle_server.js +71 -71
  688. package/utils/build_image_server.js +71 -71
  689. package/utils/build_licit_collab_server.js +75 -75
  690. package/utils/build_web_server.js +40 -40
  691. package/utils/env.js +6 -6
  692. package/webpack.config.js +126 -126
  693. package/dist/coverage/lcov-report/block-navigation.js +0 -77
  694. package/dist/coverage/lcov-report/block-navigation.js.flow +0 -79
  695. package/dist/coverage/lcov-report/prettify.js +0 -994
  696. package/dist/coverage/lcov-report/prettify.js.flow +0 -2
  697. package/dist/coverage/lcov-report/sorter.js +0 -187
  698. package/dist/coverage/lcov-report/sorter.js.flow +0 -170
@@ -1,61 +1,61 @@
1
- // @flow
2
-
3
- import { Node } from 'prosemirror-model';
4
-
5
- import { ATTRIBUTE_LIST_STYLE_TYPE } from './ListItemNodeSpec';
6
- import { LIST_ITEM } from './NodeNames';
7
- import { ATTRIBUTE_INDENT, MIN_INDENT_LEVEL } from './ParagraphNodeSpec';
8
-
9
- import type { NodeSpec } from './Types';
10
-
11
- const AUTO_LIST_STYLE_TYPES = ['disc', 'square', 'circle'];
12
-
13
- const BulletListNodeSpec: NodeSpec = {
14
- attrs: {
15
- id: { default: null },
16
- indent: { default: 0 },
17
- listStyleType: { default: null },
18
- },
19
- group: 'block',
20
- content: LIST_ITEM + '+',
21
- parseDOM: [
22
- {
23
- tag: 'ul',
24
- getAttrs(dom: HTMLElement) {
25
- const listStyleType =
26
- dom.getAttribute(ATTRIBUTE_LIST_STYLE_TYPE) || null;
27
-
28
- const indent = dom.hasAttribute(ATTRIBUTE_INDENT)
29
- ? parseInt(dom.getAttribute(ATTRIBUTE_INDENT), 10)
30
- : MIN_INDENT_LEVEL;
31
- return {
32
- indent,
33
- listStyleType,
34
- };
35
- },
36
- },
37
- ],
38
-
39
- toDOM(node: Node) {
40
- const { indent, listStyleType } = node.attrs;
41
- const attrs = {};
42
- // [FS] IRAD-947 2020-05-26
43
- // Bullet list type changing fix
44
- attrs[ATTRIBUTE_INDENT] = indent;
45
- if (listStyleType) {
46
- attrs[ATTRIBUTE_LIST_STYLE_TYPE] = listStyleType;
47
- }
48
-
49
- let htmlListStyleType = listStyleType;
50
-
51
- if (!htmlListStyleType || htmlListStyleType === 'disc') {
52
- htmlListStyleType =
53
- AUTO_LIST_STYLE_TYPES[indent % AUTO_LIST_STYLE_TYPES.length];
54
- }
55
-
56
- attrs.type = htmlListStyleType;
57
- return ['ul', attrs, 0];
58
- },
59
- };
60
-
61
- export default BulletListNodeSpec;
1
+ // @flow
2
+
3
+ import { Node } from 'prosemirror-model';
4
+
5
+ import { ATTRIBUTE_LIST_STYLE_TYPE } from './ListItemNodeSpec';
6
+ import { LIST_ITEM } from './NodeNames';
7
+ import { ATTRIBUTE_INDENT, MIN_INDENT_LEVEL } from './ParagraphNodeSpec';
8
+
9
+ import type { NodeSpec } from './Types';
10
+
11
+ const AUTO_LIST_STYLE_TYPES = ['disc', 'square', 'circle'];
12
+
13
+ const BulletListNodeSpec: NodeSpec = {
14
+ attrs: {
15
+ id: { default: null },
16
+ indent: { default: 0 },
17
+ listStyleType: { default: null },
18
+ },
19
+ group: 'block',
20
+ content: LIST_ITEM + '+',
21
+ parseDOM: [
22
+ {
23
+ tag: 'ul',
24
+ getAttrs(dom: HTMLElement) {
25
+ const listStyleType =
26
+ dom.getAttribute(ATTRIBUTE_LIST_STYLE_TYPE) || null;
27
+
28
+ const indent = dom.hasAttribute(ATTRIBUTE_INDENT)
29
+ ? parseInt(dom.getAttribute(ATTRIBUTE_INDENT), 10)
30
+ : MIN_INDENT_LEVEL;
31
+ return {
32
+ indent,
33
+ listStyleType,
34
+ };
35
+ },
36
+ },
37
+ ],
38
+
39
+ toDOM(node: Node) {
40
+ const { indent, listStyleType } = node.attrs;
41
+ const attrs = {};
42
+ // [FS] IRAD-947 2020-05-26
43
+ // Bullet list type changing fix
44
+ attrs[ATTRIBUTE_INDENT] = indent;
45
+ if (listStyleType) {
46
+ attrs[ATTRIBUTE_LIST_STYLE_TYPE] = listStyleType;
47
+ }
48
+
49
+ let htmlListStyleType = listStyleType;
50
+
51
+ if (!htmlListStyleType || htmlListStyleType === 'disc') {
52
+ htmlListStyleType =
53
+ AUTO_LIST_STYLE_TYPES[indent % AUTO_LIST_STYLE_TYPES.length];
54
+ }
55
+
56
+ attrs.type = htmlListStyleType;
57
+ return ['ul', attrs, 0];
58
+ },
59
+ };
60
+
61
+ export default BulletListNodeSpec;
@@ -1,90 +1,90 @@
1
- // @flow
2
-
3
- import { EditorView } from 'prosemirror-view';
4
-
5
- import convertToJSON from './convertToJSON';
6
- import CustomEditorView from './ui/CustomEditorView';
7
- import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
8
-
9
- const commandsRegistery = new Map<any, any>();
10
- const viewsRegistery = new Map<any, any>();
11
-
12
- // This file exports methods to help developer to debug editor from web
13
- // inspector. To use this, add the following lines to export the utility.
14
- //
15
- // import * as CZIProseMirror from 'czi-prosemirror/dist/CZIProseMirror';
16
- // window.CZIProseMirror = CZIProseMirror;
17
-
18
- export function registeryKeys(): Array<string> {
19
- return Array.from(viewsRegistery.keys());
20
- }
21
-
22
- export function exportJSON(id: ?string): Object {
23
- if (!id && viewsRegistery.size) {
24
- id = registeryKeys()[0];
25
- console.log(`use default editor id "${id}"`);
26
- }
27
- const view = viewsRegistery.get(String(id));
28
- if (!view) {
29
- if (!id) {
30
- id = '';
31
- }
32
- throw new Error(`view ${id} does not exist`);
33
- }
34
- return convertToJSON(view.state);
35
- }
36
-
37
- export function registerEditorView(id: string, view: EditorView): void {
38
- if (viewsRegistery.has(id)) {
39
- throw new Error(`view ${id} already registered`);
40
- }
41
- if (!(view instanceof CustomEditorView)) {
42
- throw new Error(`invalid view ${id}`);
43
- }
44
- if (!id) {
45
- throw new Error('id is required');
46
- }
47
- viewsRegistery.set(id, view);
48
- }
49
-
50
- export function releaseEditorView(id: string): void {
51
- if (!viewsRegistery.has(id)) {
52
- throw new Error(`view ${id} was released`);
53
- }
54
- viewsRegistery.delete(id);
55
- }
56
-
57
- export function findEditorView(id: string): ?EditorView {
58
- return viewsRegistery.get(id) || null;
59
- }
60
-
61
- export function executeCommand(name: string, viewID: ?string): boolean {
62
- const command = commandsRegistery.get(name);
63
- if (command) {
64
- const view = viewID
65
- ? viewsRegistery.get(viewID)
66
- : Array.from(viewsRegistery.values())[0];
67
- if (view) {
68
- try {
69
- return command.execute(view.state, view.dispatch, view, null);
70
- } catch (ex) {
71
- console.warn(ex);
72
- return false;
73
- }
74
- }
75
- }
76
- return false;
77
- }
78
-
79
- export function registerCommand(name: string, command: UICommand): void {
80
- if (!(command instanceof UICommand)) {
81
- throw new Error(`invalid command ${name}`);
82
- }
83
- if (!name) {
84
- throw new Error('invalid command name');
85
- }
86
- if (commandsRegistery.has(name)) {
87
- throw new Error(`command ${name} already registered`);
88
- }
89
- commandsRegistery.set(name, command);
90
- }
1
+ // @flow
2
+
3
+ import { EditorView } from 'prosemirror-view';
4
+
5
+ import convertToJSON from './convertToJSON';
6
+ import CustomEditorView from './ui/CustomEditorView';
7
+ import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
8
+
9
+ const commandsRegistery = new Map<any, any>();
10
+ const viewsRegistery = new Map<any, any>();
11
+
12
+ // This file exports methods to help developer to debug editor from web
13
+ // inspector. To use this, add the following lines to export the utility.
14
+ //
15
+ // import * as CZIProseMirror from 'czi-prosemirror/dist/CZIProseMirror';
16
+ // window.CZIProseMirror = CZIProseMirror;
17
+
18
+ export function registeryKeys(): Array<string> {
19
+ return Array.from(viewsRegistery.keys());
20
+ }
21
+
22
+ export function exportJSON(id: ?string): Object {
23
+ if (!id && viewsRegistery.size) {
24
+ id = registeryKeys()[0];
25
+ console.log(`use default editor id "${id}"`);
26
+ }
27
+ const view = viewsRegistery.get(String(id));
28
+ if (!view) {
29
+ if (!id) {
30
+ id = '';
31
+ }
32
+ throw new Error(`view ${id} does not exist`);
33
+ }
34
+ return convertToJSON(view.state);
35
+ }
36
+
37
+ export function registerEditorView(id: string, view: EditorView): void {
38
+ if (viewsRegistery.has(id)) {
39
+ throw new Error(`view ${id} already registered`);
40
+ }
41
+ if (!(view instanceof CustomEditorView)) {
42
+ throw new Error(`invalid view ${id}`);
43
+ }
44
+ if (!id) {
45
+ throw new Error('id is required');
46
+ }
47
+ viewsRegistery.set(id, view);
48
+ }
49
+
50
+ export function releaseEditorView(id: string): void {
51
+ if (!viewsRegistery.has(id)) {
52
+ throw new Error(`view ${id} was released`);
53
+ }
54
+ viewsRegistery.delete(id);
55
+ }
56
+
57
+ export function findEditorView(id: string): ?EditorView {
58
+ return viewsRegistery.get(id) || null;
59
+ }
60
+
61
+ export function executeCommand(name: string, viewID: ?string): boolean {
62
+ const command = commandsRegistery.get(name);
63
+ if (command) {
64
+ const view = viewID
65
+ ? viewsRegistery.get(viewID)
66
+ : Array.from(viewsRegistery.values())[0];
67
+ if (view) {
68
+ try {
69
+ return command.execute(view.state, view.dispatch, view, null);
70
+ } catch (ex) {
71
+ console.warn(ex);
72
+ return false;
73
+ }
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+
79
+ export function registerCommand(name: string, command: UICommand): void {
80
+ if (!(command instanceof UICommand)) {
81
+ throw new Error(`invalid command ${name}`);
82
+ }
83
+ if (!name) {
84
+ throw new Error('invalid command name');
85
+ }
86
+ if (commandsRegistery.has(name)) {
87
+ throw new Error(`command ${name} already registered`);
88
+ }
89
+ commandsRegistery.set(name, command);
90
+ }
@@ -1,43 +1,43 @@
1
- // @flow
2
-
3
- import { EditorState } from 'prosemirror-state';
4
- import { Transform } from 'prosemirror-transform';
5
- import { findParentNodeOfType } from 'prosemirror-utils';
6
- import { EditorView } from 'prosemirror-view';
7
-
8
- import { CODE_BLOCK } from './NodeNames';
9
- import noop from './noop';
10
- import toggleCodeBlock from './toggleCodeBlock';
11
- import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
12
-
13
- class CodeBlockCommand extends UICommand {
14
- isActive = (state: EditorState): boolean => {
15
- const result = this._findCodeBlock(state);
16
- return !!(result && result.node);
17
- };
18
-
19
- execute = (
20
- state: EditorState,
21
- dispatch: ?(tr: Transform) => void,
22
- view: ?EditorView
23
- ): boolean => {
24
- const { selection, schema } = state;
25
- let { tr } = state;
26
- tr = tr.setSelection(selection);
27
- tr = toggleCodeBlock(tr, schema);
28
- if (tr.docChanged) {
29
- dispatch && dispatch(tr);
30
- return true;
31
- } else {
32
- return false;
33
- }
34
- };
35
-
36
- _findCodeBlock(state: EditorState): ?Object {
37
- const codeBlock = state.schema.nodes[CODE_BLOCK];
38
- const findCodeBlock = codeBlock ? findParentNodeOfType(codeBlock) : noop;
39
- return findCodeBlock(state.selection);
40
- }
41
- }
42
-
43
- export default CodeBlockCommand;
1
+ // @flow
2
+
3
+ import { EditorState } from 'prosemirror-state';
4
+ import { Transform } from 'prosemirror-transform';
5
+ import { findParentNodeOfType } from 'prosemirror-utils';
6
+ import { EditorView } from 'prosemirror-view';
7
+
8
+ import { CODE_BLOCK } from './NodeNames';
9
+ import noop from './noop';
10
+ import toggleCodeBlock from './toggleCodeBlock';
11
+ import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
12
+
13
+ class CodeBlockCommand extends UICommand {
14
+ isActive = (state: EditorState): boolean => {
15
+ const result = this._findCodeBlock(state);
16
+ return !!(result && result.node);
17
+ };
18
+
19
+ execute = (
20
+ state: EditorState,
21
+ dispatch: ?(tr: Transform) => void,
22
+ view: ?EditorView
23
+ ): boolean => {
24
+ const { selection, schema } = state;
25
+ let { tr } = state;
26
+ tr = tr.setSelection(selection);
27
+ tr = toggleCodeBlock(tr, schema);
28
+ if (tr.docChanged) {
29
+ dispatch && dispatch(tr);
30
+ return true;
31
+ } else {
32
+ return false;
33
+ }
34
+ };
35
+
36
+ _findCodeBlock(state: EditorState): ?Object {
37
+ const codeBlock = state.schema.nodes[CODE_BLOCK];
38
+ const findCodeBlock = codeBlock ? findParentNodeOfType(codeBlock) : noop;
39
+ return findCodeBlock(state.selection);
40
+ }
41
+ }
42
+
43
+ export default CodeBlockCommand;
@@ -1,24 +1,24 @@
1
- // @flow
2
-
3
- const PRE_DOM = ['pre', ['code', 0]];
4
-
5
- // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
6
- // :: NodeSpec A code listing. Disallows marks or non-text inline
7
- // nodes by default. Represented as a `<pre>` element with a
8
- // `<code>` element inside of it.
9
- const CodeBlockNodeSpec = {
10
- attrs: {
11
- id: { default: null },
12
- },
13
- content: 'inline*',
14
- group: 'block',
15
- marks: '_',
16
- code: true,
17
- defining: true,
18
- parseDOM: [{ tag: 'pre', preserveWhitespace: 'full' }],
19
- toDOM() {
20
- return PRE_DOM;
21
- },
22
- };
23
-
24
- export default CodeBlockNodeSpec;
1
+ // @flow
2
+
3
+ const PRE_DOM = ['pre', ['code', 0]];
4
+
5
+ // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
6
+ // :: NodeSpec A code listing. Disallows marks or non-text inline
7
+ // nodes by default. Represented as a `<pre>` element with a
8
+ // `<code>` element inside of it.
9
+ const CodeBlockNodeSpec = {
10
+ attrs: {
11
+ id: { default: null },
12
+ },
13
+ content: 'inline*',
14
+ group: 'block',
15
+ marks: '_',
16
+ code: true,
17
+ defining: true,
18
+ parseDOM: [{ tag: 'pre', preserveWhitespace: 'full' }],
19
+ toDOM() {
20
+ return PRE_DOM;
21
+ },
22
+ };
23
+
24
+ export default CodeBlockNodeSpec;
@@ -1,14 +1,14 @@
1
- // @flow
2
-
3
- import type { MarkSpec } from './Types';
4
-
5
- const CODE_DOM = ['code', 0];
6
-
7
- const CodeMarkSpec: MarkSpec = {
8
- parseDOM: [{ tag: 'code' }],
9
- toDOM() {
10
- return CODE_DOM;
11
- },
12
- };
13
-
14
- export default CodeMarkSpec;
1
+ // @flow
2
+
3
+ import type { MarkSpec } from './Types';
4
+
5
+ const CODE_DOM = ['code', 0];
6
+
7
+ const CodeMarkSpec: MarkSpec = {
8
+ parseDOM: [{ tag: 'code' }],
9
+ toDOM() {
10
+ return CODE_DOM;
11
+ },
12
+ };
13
+
14
+ export default CodeMarkSpec;