@modusoperandi/licit 0.13.1 → 0.13.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 (728) hide show
  1. package/.babelrc +54 -54
  2. package/.dockerignore +4 -4
  3. package/.eslintignore +3 -3
  4. package/.eslintrc.js +84 -80
  5. package/.flowconfig +37 -37
  6. package/.github/workflows/build.yml +29 -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 +300 -286
  16. package/babel.config.json +54 -0
  17. package/build_collab_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.flow +30 -30
  21. package/dist/BlockquoteToggleCommand.js.flow +34 -34
  22. package/dist/BookmarkNodeSpec.js.flow +39 -39
  23. package/dist/BulletListNodeSpec.js.flow +61 -61
  24. package/dist/CZIProseMirror.js.flow +90 -90
  25. package/dist/CodeBlockCommand.js +2 -2
  26. package/dist/CodeBlockCommand.js.flow +43 -43
  27. package/dist/CodeBlockNodeSpec.js.flow +24 -24
  28. package/dist/CodeMarkSpec.js.flow +14 -14
  29. package/dist/ContentPlaceholderPlugin.js.flow +187 -187
  30. package/dist/CursorPlaceholderPlugin.js.flow +115 -115
  31. package/dist/DocLayoutCommand.js +2 -4
  32. package/dist/DocLayoutCommand.js.flow +94 -94
  33. package/dist/DocNodeSpec.js.flow +64 -64
  34. package/dist/EMMarkSpec.js.flow +14 -14
  35. package/dist/EditorCommands.js +22 -34
  36. package/dist/EditorCommands.js.flow +128 -128
  37. package/dist/EditorKeyMap.js.flow +187 -187
  38. package/dist/EditorMarks.js.flow +71 -71
  39. package/dist/EditorNodes.js.flow +60 -60
  40. package/dist/EditorPageLayoutPlugin.js.flow +67 -67
  41. package/dist/EditorPlugins.js.flow +8 -8
  42. package/dist/EditorSchema.js.flow +12 -12
  43. package/dist/EditorState.js.flow +7 -7
  44. package/dist/FontSizeMarkSpec.js.flow +49 -49
  45. package/dist/FontTypeMarkSpec.js.flow +80 -80
  46. package/dist/HTMLMutator.js.flow +59 -59
  47. package/dist/HardBreakNodeSpec.js.flow +15 -15
  48. package/dist/HeadingNodeSpec.js.flow +54 -54
  49. package/dist/HistoryRedoCommand.js.flow +20 -20
  50. package/dist/HistoryUndoCommand.js.flow +20 -20
  51. package/dist/HorizontalRuleCommand.js.flow +49 -49
  52. package/dist/HorizontalRuleNodeSpec.js.flow +39 -39
  53. package/dist/ImageFromURLCommand.js.flow +14 -14
  54. package/dist/ImageNodeSpec.js.flow +90 -90
  55. package/dist/ImageSourceCommand.js +2 -4
  56. package/dist/ImageSourceCommand.js.flow +117 -117
  57. package/dist/ImageUploadCommand.js.flow +36 -36
  58. package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
  59. package/dist/LinkMarkSpec.js.flow +32 -32
  60. package/dist/LinkSetURLCommand.js +4 -8
  61. package/dist/LinkSetURLCommand.js.flow +103 -103
  62. package/dist/LinkTooltipPlugin.js +9 -15
  63. package/dist/LinkTooltipPlugin.js.flow +203 -203
  64. package/dist/ListItemInsertNewLineCommand.js.flow +55 -55
  65. package/dist/ListItemMergeCommand.js.flow +177 -177
  66. package/dist/ListItemNodeSpec.js.flow +51 -51
  67. package/dist/ListSplitCommand.js.flow +32 -32
  68. package/dist/ListToggleCommand.js +4 -10
  69. package/dist/ListToggleCommand.js.flow +77 -77
  70. package/dist/MarkNames.js.flow +18 -18
  71. package/dist/MarksClearCommand.js +3 -3
  72. package/dist/MarksClearCommand.js.flow +42 -42
  73. package/dist/MathEditCommand.js +2 -2
  74. package/dist/MathEditCommand.js.flow +110 -110
  75. package/dist/MathNodeSpec.js.flow +46 -46
  76. package/dist/NodeNames.js.flow +23 -23
  77. package/dist/OrderedListNodeSpec.js.flow +132 -132
  78. package/dist/ParagraphNodeSpec.js +1 -3
  79. package/dist/ParagraphNodeSpec.js.flow +156 -160
  80. package/dist/ParagraphSpacingCommand.js.flow +121 -121
  81. package/dist/PrintCommand.js.flow +31 -31
  82. package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
  83. package/dist/SpacerMarkSpec.js.flow +47 -47
  84. package/dist/StrikeMarkSpec.js.flow +21 -21
  85. package/dist/StrongMarkSpec.js.flow +25 -25
  86. package/dist/StyleView.js.flow +19 -19
  87. package/dist/TableBackgroundColorCommand.js +3 -7
  88. package/dist/TableBackgroundColorCommand.js.flow +75 -75
  89. package/dist/TableBorderColorCommand.js +3 -7
  90. package/dist/TableBorderColorCommand.js.flow +75 -75
  91. package/dist/TableCellColorCommand.js +3 -7
  92. package/dist/TableCellColorCommand.js.flow +71 -71
  93. package/dist/TableCellMenuPlugin.js +4 -6
  94. package/dist/TableCellMenuPlugin.js.flow +125 -125
  95. package/dist/TableInsertCommand.js +3 -5
  96. package/dist/TableInsertCommand.js.flow +112 -112
  97. package/dist/TableMergeCellsCommand.js.flow +90 -90
  98. package/dist/TableNodesSpecs.js.flow +78 -78
  99. package/dist/TablePlugins.js.flow +14 -14
  100. package/dist/TableResizePlugin.js.flow +631 -631
  101. package/dist/TextColorMarkSpec.js.flow +35 -35
  102. package/dist/TextHighlightMarkSpec.js.flow +38 -38
  103. package/dist/TextInsertTabSpaceCommand.js +2 -4
  104. package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
  105. package/dist/TextNoWrapMarkSpec.js.flow +14 -14
  106. package/dist/TextNodeSpec.js.flow +7 -7
  107. package/dist/TextSelectionMarkSpec.js.flow +24 -24
  108. package/dist/TextSubMarkSpec.js.flow +20 -20
  109. package/dist/TextSuperMarkSpec.js.flow +20 -20
  110. package/dist/TextUnderlineMarkSpec.js.flow +27 -27
  111. package/dist/Types.js.flow +75 -75
  112. package/dist/WebFontLoader.js.flow +22 -22
  113. package/dist/blockQuoteInputRule.js.flow +36 -36
  114. package/dist/bom.xml +10778 -4658
  115. package/dist/browser.js.flow +7 -7
  116. package/dist/buildEditorPlugins.js.flow +51 -51
  117. package/dist/buildInputRules.js.flow +81 -81
  118. package/dist/client/CollabConnector.js +17 -2
  119. package/dist/client/CollabConnector.js.flow +86 -71
  120. package/dist/client/EditorConnection.js +17 -6
  121. package/dist/client/EditorConnection.js.flow +318 -307
  122. package/dist/client/Licit.js +159 -85
  123. package/dist/client/Licit.js.flow +638 -562
  124. package/dist/client/Licit.test.js +50 -22
  125. package/dist/client/Licit.test.js.flow +98 -65
  126. package/dist/client/Reporter.js.flow +37 -37
  127. package/dist/client/SimpleConnector.js +3 -1
  128. package/dist/client/SimpleConnector.js.flow +55 -53
  129. package/dist/client/http.js +12 -0
  130. package/dist/client/http.js.flow +70 -66
  131. package/dist/client/licit.css +12 -12
  132. package/dist/client/throttle.js.flow +27 -27
  133. package/dist/convertFromDOMElement.js.flow +36 -36
  134. package/dist/convertFromHTML.js +1 -4
  135. package/dist/convertFromHTML.js.flow +17 -19
  136. package/dist/convertFromJSON.js +12 -28
  137. package/dist/convertFromJSON.js.flow +56 -78
  138. package/dist/convertToCSSPTValue.js.flow +22 -22
  139. package/dist/convertToJSON.js.flow +7 -7
  140. package/dist/createCommand.js.flow +40 -40
  141. package/dist/createEditorKeyMap.js.flow +94 -94
  142. package/dist/createEmptyEditorState.js +6 -12
  143. package/dist/createEmptyEditorState.js.flow +31 -41
  144. package/dist/createTableResizingPlugin.js.flow +86 -86
  145. package/dist/findActionableCell.js.flow +74 -74
  146. package/dist/findActiveMark.js.flow +32 -32
  147. package/dist/hyphenize.js.flow +17 -17
  148. package/dist/index.js +11 -1
  149. package/dist/index.js.flow +10 -10
  150. package/dist/insertTable.js.flow +56 -56
  151. package/dist/isEditorStateEmpty.js.flow +32 -32
  152. package/dist/isTableNode.js.flow +15 -15
  153. package/dist/joinDown.js.flow +27 -27
  154. package/dist/joinListNode.js +2 -2
  155. package/dist/joinListNode.js.flow +55 -55
  156. package/dist/joinUp.js.flow +39 -39
  157. package/dist/keymaps.js.flow +185 -185
  158. package/dist/lookUpElement.js.flow +14 -14
  159. package/dist/nodeAt.js.flow +12 -12
  160. package/dist/normalizeHTML.js.flow +78 -78
  161. package/dist/patchAnchorElements.js.flow +38 -38
  162. package/dist/patchBreakElements.js.flow +22 -22
  163. package/dist/patchElementInlineStyles.js.flow +92 -92
  164. package/dist/patchListElements.js.flow +276 -276
  165. package/dist/patchMathElements.js.flow +60 -60
  166. package/dist/patchParagraphElements.js.flow +20 -20
  167. package/dist/patchStyleElements.js +3 -5
  168. package/dist/patchStyleElements.js.flow +194 -194
  169. package/dist/patchTableElements.js.flow +89 -89
  170. package/dist/rebaseDocWithSteps.js.flow +42 -42
  171. package/dist/sanitizeURL.js.flow +13 -13
  172. package/dist/splitListItem.js.flow +191 -191
  173. package/dist/styles.css +19 -19
  174. package/dist/styles0.css +29 -29
  175. package/dist/toClosestFontPtSize.js.flow +22 -22
  176. package/dist/toSafeHTMLDocument.js.flow +9 -9
  177. package/dist/toggleBlockquote.js +6 -14
  178. package/dist/toggleBlockquote.js.flow +91 -91
  179. package/dist/toggleCodeBlock.js +4 -10
  180. package/dist/toggleCodeBlock.js.flow +102 -102
  181. package/dist/ui/AlertInfo.js.flow +64 -64
  182. package/dist/ui/BookmarkNodeView.js.flow +66 -66
  183. package/dist/ui/CommandButton.js +2 -4
  184. package/dist/ui/CommandButton.js.flow +68 -68
  185. package/dist/ui/CommandMenu.js.flow +75 -75
  186. package/dist/ui/CommandMenuButton.js +3 -5
  187. package/dist/ui/CommandMenuButton.js.flow +131 -131
  188. package/dist/ui/CustomEditorView.js.flow +28 -28
  189. package/dist/ui/CustomMenu.js.flow +17 -17
  190. package/dist/ui/CustomMenuItem.js +3 -5
  191. package/dist/ui/CustomMenuItem.js.flow +36 -36
  192. package/dist/ui/CustomNodeView.js.flow +200 -200
  193. package/dist/ui/CustomRadioButton.js +6 -6
  194. package/dist/ui/CustomRadioButton.js.flow +65 -65
  195. package/dist/ui/DocLayoutEditor.js +4 -6
  196. package/dist/ui/DocLayoutEditor.js.flow +146 -146
  197. package/dist/ui/Editor.js +0 -1
  198. package/dist/ui/Editor.js.flow +290 -291
  199. package/dist/ui/EditorFrameset.js.flow +81 -81
  200. package/dist/ui/EditorToolbar.js +2 -2
  201. package/dist/ui/EditorToolbar.js.flow +211 -211
  202. package/dist/ui/EditorToolbarConfig.js.flow +172 -172
  203. package/dist/ui/FontSizeCommandMenuButton.js +3 -3
  204. package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
  205. package/dist/ui/FontTypeCommandMenuButton.js +3 -3
  206. package/dist/ui/FontTypeCommandMenuButton.js.flow +49 -49
  207. package/dist/ui/Frag.js.flow +13 -13
  208. package/dist/ui/Icon.js.flow +89 -89
  209. package/dist/ui/ImageAlignEditor.js +4 -4
  210. package/dist/ui/ImageAlignEditor.js.flow +60 -60
  211. package/dist/ui/ImageInlineEditor.js +4 -4
  212. package/dist/ui/ImageInlineEditor.js.flow +67 -67
  213. package/dist/ui/ImageNodeView.js +3 -5
  214. package/dist/ui/ImageNodeView.js.flow +404 -404
  215. package/dist/ui/ImageResizeBox.js +3 -3
  216. package/dist/ui/ImageResizeBox.js.flow +219 -219
  217. package/dist/ui/ImageURLEditor.js +4 -6
  218. package/dist/ui/ImageURLEditor.js.flow +119 -119
  219. package/dist/ui/ImageUploadEditor.js +3 -5
  220. package/dist/ui/ImageUploadEditor.js.flow +117 -117
  221. package/dist/ui/KeyCodes.js.flow +12 -12
  222. package/dist/ui/LinkTooltip.js +4 -4
  223. package/dist/ui/LinkTooltip.js.flow +85 -85
  224. package/dist/ui/LinkURLEditor.js +4 -6
  225. package/dist/ui/LinkURLEditor.js.flow +111 -111
  226. package/dist/ui/ListItemNodeView.js.flow +98 -98
  227. package/dist/ui/ListTypeButton.js +3 -5
  228. package/dist/ui/ListTypeButton.js.flow +131 -131
  229. package/dist/ui/ListTypeCommandButton.js.flow +85 -85
  230. package/dist/ui/ListTypeMenu.js.flow +70 -70
  231. package/dist/ui/LoadingIndicator.js.flow +20 -20
  232. package/dist/ui/MathEditor.js +4 -6
  233. package/dist/ui/MathEditor.js.flow +78 -78
  234. package/dist/ui/MathInlineEditor.js +4 -6
  235. package/dist/ui/MathInlineEditor.js.flow +102 -102
  236. package/dist/ui/MathNodeView.js +3 -5
  237. package/dist/ui/MathNodeView.js.flow +175 -175
  238. package/dist/ui/PasteMenu.js.flow +57 -57
  239. package/dist/ui/ResizeObserver.js.flow +106 -106
  240. package/dist/ui/RichTextEditor.js.flow +133 -133
  241. package/dist/ui/SelectionObserver.js.flow +134 -134
  242. package/dist/ui/TableCellMenu.js.flow +38 -38
  243. package/dist/ui/TableGridSizeEditor.js +6 -8
  244. package/dist/ui/TableGridSizeEditor.js.flow +184 -184
  245. package/dist/ui/TableNodeView.js.flow +22 -22
  246. package/dist/ui/bindScrollHandler.js.flow +46 -46
  247. package/dist/ui/canUseCSSFont.js.flow +43 -43
  248. package/dist/ui/czi-body-layout-editor.css +16 -16
  249. package/dist/ui/czi-bookmark-view.css +10 -10
  250. package/dist/ui/czi-cursor-placeholder.css +36 -36
  251. package/dist/ui/czi-custom-menu-button.css +18 -18
  252. package/dist/ui/czi-custom-menu-item.css +30 -30
  253. package/dist/ui/czi-custom-menu.css +8 -8
  254. package/dist/ui/czi-custom-radio-button.css +80 -80
  255. package/dist/ui/czi-custom-scrollbar.css +21 -21
  256. package/dist/ui/czi-editor-frameset.css +81 -81
  257. package/dist/ui/czi-editor-toolbar.css +122 -122
  258. package/dist/ui/czi-editor.css +220 -220
  259. package/dist/ui/czi-form.css +104 -104
  260. package/dist/ui/czi-frag.css +3 -3
  261. package/dist/ui/czi-heading.css +40 -40
  262. package/dist/ui/czi-icon.css +72 -72
  263. package/dist/ui/czi-image-resize-box.css +165 -165
  264. package/dist/ui/czi-image-upload-editor.css +57 -57
  265. package/dist/ui/czi-image-upload-placeholder.css +50 -50
  266. package/dist/ui/czi-image-url-editor.css +38 -38
  267. package/dist/ui/czi-image-view.css +125 -125
  268. package/dist/ui/czi-indent.css +137 -137
  269. package/dist/ui/czi-inline-editor.css +20 -20
  270. package/dist/ui/czi-link-tooltip.css +71 -71
  271. package/dist/ui/czi-list.css +410 -410
  272. package/dist/ui/czi-loading-indicator.css +111 -111
  273. package/dist/ui/czi-math-view.css +62 -62
  274. package/dist/ui/czi-selection-placeholder.css +24 -24
  275. package/dist/ui/czi-table-cell-menu.css +14 -14
  276. package/dist/ui/czi-table-grid-size-editor.css +37 -37
  277. package/dist/ui/czi-table.css +86 -86
  278. package/dist/ui/czi-vars.css +2 -46
  279. package/dist/ui/findActiveFontSize.js.flow +58 -58
  280. package/dist/ui/findActiveFontType.js.flow +38 -38
  281. package/dist/ui/fonts.css +471 -471
  282. package/dist/ui/handleEditorDrop.js.flow +28 -28
  283. package/dist/ui/handleEditorKeyDown.js.flow +39 -39
  284. package/dist/ui/handleEditorPaste.js.flow +33 -33
  285. package/dist/ui/htmlElementToRect.js.flow +18 -18
  286. package/dist/ui/icon-font.css +10 -10
  287. package/dist/ui/injectStyleSheet.js.flow +42 -42
  288. package/dist/ui/isElementFullyVisible.js +2 -2
  289. package/dist/ui/isElementFullyVisible.js.flow +23 -23
  290. package/dist/ui/isOffline.js.flow +8 -8
  291. package/dist/ui/isReactClass.js.flow +12 -12
  292. package/dist/ui/listType.css +21 -21
  293. package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +159 -159
  294. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
  295. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +2 -2
  296. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +48 -48
  297. package/dist/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  298. package/dist/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  299. package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -24
  300. package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
  301. package/dist/ui/resolveImage.js.flow +123 -123
  302. package/dist/ui/toCSSColor.js.flow +51 -51
  303. package/dist/ui/toCSSLineSpacing.js +1 -36
  304. package/dist/ui/toCSSLineSpacing.js.flow +55 -82
  305. package/dist/ui/toHexColor.js.flow +26 -26
  306. package/dist/ui/uuid.js.flow +9 -9
  307. package/dist/uuid.js.flow +9 -9
  308. package/flow-typed/@modusoperandilicit-customstyles.js +5 -5
  309. package/flow-typed/@modusoperandilicit-doc-attrs-step.js +5 -5
  310. package/flow-typed/@modusoperandilicit-ui-commands.js +5 -0
  311. package/flow-typed/create-emotion.js +5 -5
  312. package/flow-typed/docs-editor.js +3 -3
  313. package/flow-typed/draft-convert.js +3 -3
  314. package/flow-typed/draft-js.js +3 -3
  315. package/flow-typed/flatted.js +5 -5
  316. package/flow-typed/jquery.js +5 -5
  317. package/flow-typed/katex.js +6 -6
  318. package/flow-typed/mathquill.js +5 -5
  319. package/flow-typed/prosemirror-collab.js +5 -5
  320. package/flow-typed/prosemirror-commands.js +5 -5
  321. package/flow-typed/prosemirror-dev-tools.js +5 -5
  322. package/flow-typed/prosemirror-dropcursor.js +5 -5
  323. package/flow-typed/prosemirror-gapcursor.js +5 -5
  324. package/flow-typed/prosemirror-history.js +5 -5
  325. package/flow-typed/prosemirror-inputrules.js +5 -5
  326. package/flow-typed/prosemirror-keymap.js +5 -5
  327. package/flow-typed/prosemirror-model.js +5 -5
  328. package/flow-typed/prosemirror-state.js +5 -5
  329. package/flow-typed/prosemirror-tables.js +5 -5
  330. package/flow-typed/prosemirror-transform.js +5 -5
  331. package/flow-typed/prosemirror-utils.js +5 -5
  332. package/flow-typed/prosemirror-view.js +5 -5
  333. package/flow-typed/resize-observer-polyfill.js +5 -5
  334. package/flow-typed/uuid.js +5 -5
  335. package/jest.config.js +207 -0
  336. package/jest.setup.js +5 -5
  337. package/licit/client/CustomLicitRuntime.js +95 -95
  338. package/licit/client/CustomStyleRuntime.js +136 -136
  339. package/licit/client/index.js +367 -366
  340. package/licit/index.html +11 -11
  341. package/licit/server/collab/instance.js +224 -221
  342. package/licit/server/collab/route.js +69 -69
  343. package/licit/server/collab/server.js +297 -297
  344. package/licit/server/collab/start.js +13 -13
  345. package/licit/server/image/start.js +58 -58
  346. package/lint.sh +4 -4
  347. package/package.json +167 -163
  348. package/run_collab_server.py +21 -21
  349. package/run_image_server.py +20 -20
  350. package/run_web_server.py +25 -25
  351. package/scripts/build_bin.js +10 -10
  352. package/scripts/build_bin.py +103 -103
  353. package/scripts/ci_check_dist.sh +13 -13
  354. package/scripts/env.js +6 -6
  355. package/scripts/webserver.js +35 -35
  356. package/sonar-project.properties +11 -11
  357. package/src/BlockquoteInsertNewLineCommand.js +55 -55
  358. package/src/BlockquoteNodeSpec.js +30 -30
  359. package/src/BlockquoteToggleCommand.js +34 -34
  360. package/src/BookmarkNodeSpec.js +39 -39
  361. package/src/BulletListNodeSpec.js +61 -61
  362. package/src/CZIProseMirror.js +90 -90
  363. package/src/CodeBlockCommand.js +43 -43
  364. package/src/CodeBlockNodeSpec.js +24 -24
  365. package/src/CodeMarkSpec.js +14 -14
  366. package/src/ContentPlaceholderPlugin.js +187 -187
  367. package/src/CursorPlaceholderPlugin.js +115 -115
  368. package/src/DocLayoutCommand.js +94 -94
  369. package/src/DocNodeSpec.js +64 -64
  370. package/src/EMMarkSpec.js +14 -14
  371. package/src/EditorCommands.js +128 -128
  372. package/src/EditorKeyMap.js +187 -187
  373. package/src/EditorMarks.js +71 -71
  374. package/src/EditorNodes.js +60 -60
  375. package/src/EditorPageLayoutPlugin.js +67 -67
  376. package/src/EditorPlugins.js +8 -8
  377. package/src/EditorSchema.js +12 -12
  378. package/src/EditorState.js +7 -7
  379. package/src/FontSizeMarkSpec.js +49 -49
  380. package/src/FontTypeMarkSpec.js +80 -80
  381. package/src/HTMLMutator.js +59 -59
  382. package/src/HardBreakNodeSpec.js +15 -15
  383. package/src/HeadingNodeSpec.js +54 -54
  384. package/src/HistoryRedoCommand.js +20 -20
  385. package/src/HistoryUndoCommand.js +20 -20
  386. package/src/HorizontalRuleCommand.js +49 -49
  387. package/src/HorizontalRuleNodeSpec.js +39 -39
  388. package/src/ImageFromURLCommand.js +14 -14
  389. package/src/ImageNodeSpec.js +90 -90
  390. package/src/ImageSourceCommand.js +117 -117
  391. package/src/ImageUploadCommand.js +36 -36
  392. package/src/ImageUploadPlaceholderPlugin.js +192 -192
  393. package/src/LinkMarkSpec.js +32 -32
  394. package/src/LinkSetURLCommand.js +103 -103
  395. package/src/LinkTooltipPlugin.js +203 -203
  396. package/src/ListItemInsertNewLineCommand.js +55 -55
  397. package/src/ListItemMergeCommand.js +177 -177
  398. package/src/ListItemNodeSpec.js +51 -51
  399. package/src/ListSplitCommand.js +32 -32
  400. package/src/ListToggleCommand.js +77 -77
  401. package/src/MarkNames.js +18 -18
  402. package/src/MarksClearCommand.js +42 -42
  403. package/src/MathEditCommand.js +110 -110
  404. package/src/MathNodeSpec.js +46 -46
  405. package/src/NodeNames.js +23 -23
  406. package/src/OrderedListNodeSpec.js +132 -132
  407. package/src/ParagraphNodeSpec.js +156 -160
  408. package/src/ParagraphSpacingCommand.js +121 -121
  409. package/src/PrintCommand.js +31 -31
  410. package/src/SelectionPlaceholderPlugin.js +131 -131
  411. package/src/SpacerMarkSpec.js +47 -47
  412. package/src/StrikeMarkSpec.js +21 -21
  413. package/src/StrongMarkSpec.js +25 -25
  414. package/src/StyleView.js +19 -19
  415. package/src/TableBackgroundColorCommand.js +75 -75
  416. package/src/TableBorderColorCommand.js +75 -75
  417. package/src/TableCellColorCommand.js +71 -71
  418. package/src/TableCellMenuPlugin.js +125 -125
  419. package/src/TableInsertCommand.js +112 -112
  420. package/src/TableMergeCellsCommand.js +90 -90
  421. package/src/TableNodesSpecs.js +78 -78
  422. package/src/TablePlugins.js +14 -14
  423. package/src/TableResizePlugin.js +631 -631
  424. package/src/TextColorMarkSpec.js +35 -35
  425. package/src/TextHighlightMarkSpec.js +38 -38
  426. package/src/TextInsertTabSpaceCommand.js +83 -83
  427. package/src/TextNoWrapMarkSpec.js +14 -14
  428. package/src/TextNodeSpec.js +7 -7
  429. package/src/TextSelectionMarkSpec.js +24 -24
  430. package/src/TextSubMarkSpec.js +20 -20
  431. package/src/TextSuperMarkSpec.js +20 -20
  432. package/src/TextUnderlineMarkSpec.js +27 -27
  433. package/src/Types.js +75 -75
  434. package/src/WebFontLoader.js +22 -22
  435. package/src/blockQuoteInputRule.js +36 -36
  436. package/src/browser.js +7 -7
  437. package/src/buildEditorPlugins.js +51 -51
  438. package/src/buildInputRules.js +81 -81
  439. package/src/client/CollabConnector.js +86 -71
  440. package/src/client/EditorConnection.js +318 -307
  441. package/src/client/Licit.js +638 -562
  442. package/src/client/Licit.test.js +98 -65
  443. package/src/client/Reporter.js +37 -37
  444. package/src/client/SimpleConnector.js +55 -53
  445. package/src/client/http.js +70 -66
  446. package/src/client/licit.css +12 -12
  447. package/src/client/throttle.js +27 -27
  448. package/src/convertFromDOMElement.js +36 -36
  449. package/src/convertFromHTML.js +17 -19
  450. package/src/convertFromJSON.js +56 -78
  451. package/src/convertToCSSPTValue.js +22 -22
  452. package/src/convertToJSON.js +7 -7
  453. package/src/createCommand.js +40 -40
  454. package/src/createEditorKeyMap.js +94 -94
  455. package/src/createEmptyEditorState.js +31 -41
  456. package/src/createTableResizingPlugin.js +86 -86
  457. package/src/findActionableCell.js +74 -74
  458. package/src/findActiveMark.js +32 -32
  459. package/src/hyphenize.js +17 -17
  460. package/src/index.js +10 -10
  461. package/src/insertTable.js +56 -56
  462. package/src/isEditorStateEmpty.js +32 -32
  463. package/src/isTableNode.js +15 -15
  464. package/src/joinDown.js +27 -27
  465. package/src/joinListNode.js +55 -55
  466. package/src/joinUp.js +39 -39
  467. package/src/keymaps.js +185 -185
  468. package/src/lookUpElement.js +14 -14
  469. package/src/nodeAt.js +12 -12
  470. package/src/normalizeHTML.js +78 -78
  471. package/src/patchAnchorElements.js +38 -38
  472. package/src/patchBreakElements.js +22 -22
  473. package/src/patchElementInlineStyles.js +92 -92
  474. package/src/patchListElements.js +276 -276
  475. package/src/patchMathElements.js +60 -60
  476. package/src/patchParagraphElements.js +20 -20
  477. package/src/patchStyleElements.js +194 -194
  478. package/src/patchTableElements.js +89 -89
  479. package/src/rebaseDocWithSteps.js +42 -42
  480. package/src/sanitizeURL.js +13 -13
  481. package/src/splitListItem.js +191 -191
  482. package/src/styles.css +19 -19
  483. package/src/styles0.css +29 -29
  484. package/src/toClosestFontPtSize.js +22 -22
  485. package/src/toSafeHTMLDocument.js +9 -9
  486. package/src/toggleBlockquote.js +91 -91
  487. package/src/toggleCodeBlock.js +102 -102
  488. package/src/ui/AlertInfo.js +64 -64
  489. package/src/ui/BookmarkNodeView.js +66 -66
  490. package/src/ui/CommandButton.js +68 -68
  491. package/src/ui/CommandMenu.js +75 -75
  492. package/src/ui/CommandMenuButton.js +131 -131
  493. package/src/ui/CustomEditorView.js +28 -28
  494. package/src/ui/CustomMenu.js +17 -17
  495. package/src/ui/CustomMenuItem.js +36 -36
  496. package/src/ui/CustomNodeView.js +200 -200
  497. package/src/ui/CustomRadioButton.js +65 -65
  498. package/src/ui/DocLayoutEditor.js +146 -146
  499. package/src/ui/Editor.js +290 -291
  500. package/src/ui/EditorFrameset.js +81 -81
  501. package/src/ui/EditorToolbar.js +211 -211
  502. package/src/ui/EditorToolbarConfig.js +172 -172
  503. package/src/ui/FontSizeCommandMenuButton.js +66 -66
  504. package/src/ui/FontTypeCommandMenuButton.js +49 -49
  505. package/src/ui/Frag.js +13 -13
  506. package/src/ui/Icon.js +89 -89
  507. package/src/ui/ImageAlignEditor.js +60 -60
  508. package/src/ui/ImageInlineEditor.js +67 -67
  509. package/src/ui/ImageNodeView.js +404 -404
  510. package/src/ui/ImageResizeBox.js +219 -219
  511. package/src/ui/ImageURLEditor.js +119 -119
  512. package/src/ui/ImageUploadEditor.js +117 -117
  513. package/src/ui/KeyCodes.js +12 -12
  514. package/src/ui/LinkTooltip.js +85 -85
  515. package/src/ui/LinkURLEditor.js +111 -111
  516. package/src/ui/ListItemNodeView.js +98 -98
  517. package/src/ui/ListTypeButton.js +131 -131
  518. package/src/ui/ListTypeCommandButton.js +85 -85
  519. package/src/ui/ListTypeMenu.js +70 -70
  520. package/src/ui/LoadingIndicator.js +20 -20
  521. package/src/ui/MathEditor.js +78 -78
  522. package/src/ui/MathInlineEditor.js +102 -102
  523. package/src/ui/MathNodeView.js +175 -175
  524. package/src/ui/PasteMenu.js +57 -57
  525. package/src/ui/ResizeObserver.js +106 -106
  526. package/src/ui/RichTextEditor.js +133 -133
  527. package/src/ui/SelectionObserver.js +134 -134
  528. package/src/ui/TableCellMenu.js +38 -38
  529. package/src/ui/TableGridSizeEditor.js +184 -184
  530. package/src/ui/TableNodeView.js +22 -22
  531. package/src/ui/bindScrollHandler.js +46 -46
  532. package/src/ui/canUseCSSFont.js +43 -43
  533. package/src/ui/czi-body-layout-editor.css +16 -16
  534. package/src/ui/czi-bookmark-view.css +10 -10
  535. package/src/ui/czi-cursor-placeholder.css +36 -36
  536. package/src/ui/czi-custom-menu-button.css +18 -18
  537. package/src/ui/czi-custom-menu-item.css +30 -30
  538. package/src/ui/czi-custom-menu.css +8 -8
  539. package/src/ui/czi-custom-radio-button.css +80 -80
  540. package/src/ui/czi-custom-scrollbar.css +21 -21
  541. package/src/ui/czi-editor-frameset.css +81 -81
  542. package/src/ui/czi-editor-toolbar.css +122 -122
  543. package/src/ui/czi-editor.css +220 -220
  544. package/src/ui/czi-form.css +104 -104
  545. package/src/ui/czi-frag.css +3 -3
  546. package/src/ui/czi-heading.css +40 -40
  547. package/src/ui/czi-icon.css +72 -72
  548. package/src/ui/czi-image-resize-box.css +165 -165
  549. package/src/ui/czi-image-upload-editor.css +57 -57
  550. package/src/ui/czi-image-upload-placeholder.css +50 -50
  551. package/src/ui/czi-image-url-editor.css +38 -38
  552. package/src/ui/czi-image-view.css +125 -125
  553. package/src/ui/czi-indent.css +137 -137
  554. package/src/ui/czi-inline-editor.css +20 -20
  555. package/src/ui/czi-link-tooltip.css +71 -71
  556. package/src/ui/czi-list.css +410 -410
  557. package/src/ui/czi-loading-indicator.css +111 -111
  558. package/src/ui/czi-math-view.css +62 -62
  559. package/src/ui/czi-selection-placeholder.css +24 -24
  560. package/src/ui/czi-table-cell-menu.css +14 -14
  561. package/src/ui/czi-table-grid-size-editor.css +37 -37
  562. package/src/ui/czi-table.css +86 -86
  563. package/src/ui/czi-vars.css +2 -46
  564. package/src/ui/findActiveFontSize.js +58 -58
  565. package/src/ui/findActiveFontType.js +38 -38
  566. package/src/ui/fonts.css +471 -471
  567. package/src/ui/handleEditorDrop.js +28 -28
  568. package/src/ui/handleEditorKeyDown.js +39 -39
  569. package/src/ui/handleEditorPaste.js +33 -33
  570. package/src/ui/htmlElementToRect.js +18 -18
  571. package/src/ui/icon-font.css +10 -10
  572. package/src/ui/injectStyleSheet.js +42 -42
  573. package/src/ui/isElementFullyVisible.js +23 -23
  574. package/src/ui/isOffline.js +8 -8
  575. package/src/ui/isReactClass.js +12 -12
  576. package/src/ui/listType.css +21 -21
  577. package/src/ui/mathquill-editor/MathQuillEditor.js +159 -159
  578. package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +483 -483
  579. package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +48 -48
  580. package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  581. package/src/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  582. package/src/ui/mathquill-editor/mathquill-import-kludge.js +24 -24
  583. package/src/ui/renderLaTeXAsHTML.js +46 -46
  584. package/src/ui/resolveImage.js +123 -123
  585. package/src/ui/toCSSColor.js +51 -51
  586. package/src/ui/toCSSLineSpacing.js +55 -82
  587. package/src/ui/toHexColor.js +26 -26
  588. package/src/ui/uuid.js +9 -9
  589. package/src/uuid.js +9 -9
  590. package/style-service.Dockerfile +26 -26
  591. package/utils/build_bin.js +9 -9
  592. package/utils/build_image_server.js +71 -69
  593. package/utils/build_licit_collab_server.js +75 -73
  594. package/utils/build_web_server.js +40 -40
  595. package/utils/env.js +6 -6
  596. package/webpack.config.js +126 -120
  597. package/build_customstyle_server.py +0 -7
  598. package/dist/FontSizeCommand.js +0 -80
  599. package/dist/FontSizeCommand.js.flow +0 -57
  600. package/dist/FontTypeCommand.js +0 -137
  601. package/dist/FontTypeCommand.js.flow +0 -100
  602. package/dist/HeadingCommand.js +0 -65
  603. package/dist/HeadingCommand.js.flow +0 -51
  604. package/dist/IndentCommand.js +0 -57
  605. package/dist/IndentCommand.js.flow +0 -41
  606. package/dist/MarkToggleCommand.js +0 -90
  607. package/dist/MarkToggleCommand.js.flow +0 -66
  608. package/dist/TextAlignCommand.js +0 -151
  609. package/dist/TextAlignCommand.js.flow +0 -122
  610. package/dist/TextColorCommand.js +0 -114
  611. package/dist/TextColorCommand.js.flow +0 -87
  612. package/dist/TextHighlightCommand.js +0 -118
  613. package/dist/TextHighlightCommand.js.flow +0 -91
  614. package/dist/TextLineSpacingCommand.js +0 -177
  615. package/dist/TextLineSpacingCommand.js.flow +0 -157
  616. package/dist/applyMark.js +0 -84
  617. package/dist/applyMark.js.flow +0 -61
  618. package/dist/clearMarks.js +0 -160
  619. package/dist/clearMarks.js.flow +0 -128
  620. package/dist/compareNumber.js +0 -18
  621. package/dist/compareNumber.js.flow +0 -11
  622. package/dist/consolidateListNodes.js +0 -291
  623. package/dist/consolidateListNodes.js.flow +0 -281
  624. package/dist/coverage/lcov-report/block-navigation.js +0 -82
  625. package/dist/coverage/lcov-report/block-navigation.js.flow +0 -87
  626. package/dist/coverage/lcov-report/prettify.js +0 -994
  627. package/dist/coverage/lcov-report/prettify.js.flow +0 -2
  628. package/dist/coverage/lcov-report/sorter.js +0 -211
  629. package/dist/coverage/lcov-report/sorter.js.flow +0 -196
  630. package/dist/findNodesWithSameMark.js +0 -89
  631. package/dist/findNodesWithSameMark.js.flow +0 -89
  632. package/dist/isBulletListNode.js +0 -14
  633. package/dist/isBulletListNode.js.flow +0 -9
  634. package/dist/isInsideListItem.js +0 -19
  635. package/dist/isInsideListItem.js.flow +0 -13
  636. package/dist/isListNode.js +0 -22
  637. package/dist/isListNode.js.flow +0 -13
  638. package/dist/isNodeSelectionForNodeType.js +0 -19
  639. package/dist/isNodeSelectionForNodeType.js.flow +0 -15
  640. package/dist/isOrderedListNode.js +0 -14
  641. package/dist/isOrderedListNode.js.flow +0 -9
  642. package/dist/isTextStyleMarkCommandEnabled.js +0 -59
  643. package/dist/isTextStyleMarkCommandEnabled.js.flow +0 -49
  644. package/dist/noop.js +0 -11
  645. package/dist/noop.js.flow +0 -5
  646. package/dist/toggleHeading.js +0 -135
  647. package/dist/toggleHeading.js.flow +0 -113
  648. package/dist/toggleList.js +0 -431
  649. package/dist/toggleList.js.flow +0 -450
  650. package/dist/transformAndPreserveTextSelection.js +0 -173
  651. package/dist/transformAndPreserveTextSelection.js.flow +0 -151
  652. package/dist/ui/ColorEditor.js +0 -118
  653. package/dist/ui/ColorEditor.js.flow +0 -101
  654. package/dist/ui/CustomButton.js +0 -64
  655. package/dist/ui/CustomButton.js.flow +0 -33
  656. package/dist/ui/PointerSurface.js +0 -173
  657. package/dist/ui/PointerSurface.js.flow +0 -141
  658. package/dist/ui/PopUp.js +0 -129
  659. package/dist/ui/PopUp.js.flow +0 -77
  660. package/dist/ui/PopUpManager.js +0 -266
  661. package/dist/ui/PopUpManager.js.flow +0 -213
  662. package/dist/ui/PopUpPosition.js +0 -156
  663. package/dist/ui/PopUpPosition.js.flow +0 -104
  664. package/dist/ui/PopUpTypes.js +0 -1
  665. package/dist/ui/PopUpTypes.js.flow +0 -0
  666. package/dist/ui/TooltipSurface.js +0 -99
  667. package/dist/ui/TooltipSurface.js.flow +0 -76
  668. package/dist/ui/clamp.js +0 -18
  669. package/dist/ui/clamp.js.flow +0 -11
  670. package/dist/ui/createPopUp.js +0 -199
  671. package/dist/ui/createPopUp.js.flow +0 -205
  672. package/dist/ui/czi-animations.css +0 -15
  673. package/dist/ui/czi-color-editor.css +0 -56
  674. package/dist/ui/czi-custom-button.css +0 -93
  675. package/dist/ui/czi-pop-up.css +0 -32
  676. package/dist/ui/czi-tooltip-surface.css +0 -45
  677. package/dist/ui/preventEventDefault.js +0 -10
  678. package/dist/ui/preventEventDefault.js.flow +0 -5
  679. package/dist/ui/rects.js +0 -58
  680. package/dist/ui/rects.js.flow +0 -47
  681. package/dist/updateIndentLevel.js +0 -232
  682. package/dist/updateIndentLevel.js.flow +0 -211
  683. package/flow-typed/@molicit-citation.js +0 -5
  684. package/licit/server/customstyles/start.js +0 -184
  685. package/run_customstyle_server.py +0 -20
  686. package/src/FontSizeCommand.js +0 -57
  687. package/src/FontTypeCommand.js +0 -100
  688. package/src/HeadingCommand.js +0 -51
  689. package/src/IndentCommand.js +0 -41
  690. package/src/MarkToggleCommand.js +0 -66
  691. package/src/TextAlignCommand.js +0 -122
  692. package/src/TextColorCommand.js +0 -87
  693. package/src/TextHighlightCommand.js +0 -91
  694. package/src/TextLineSpacingCommand.js +0 -157
  695. package/src/applyMark.js +0 -61
  696. package/src/clearMarks.js +0 -128
  697. package/src/compareNumber.js +0 -11
  698. package/src/consolidateListNodes.js +0 -281
  699. package/src/findNodesWithSameMark.js +0 -89
  700. package/src/isBulletListNode.js +0 -9
  701. package/src/isInsideListItem.js +0 -13
  702. package/src/isListNode.js +0 -13
  703. package/src/isNodeSelectionForNodeType.js +0 -15
  704. package/src/isOrderedListNode.js +0 -9
  705. package/src/isTextStyleMarkCommandEnabled.js +0 -49
  706. package/src/noop.js +0 -5
  707. package/src/toggleHeading.js +0 -113
  708. package/src/toggleList.js +0 -450
  709. package/src/transformAndPreserveTextSelection.js +0 -151
  710. package/src/ui/ColorEditor.js +0 -101
  711. package/src/ui/CustomButton.js +0 -33
  712. package/src/ui/PointerSurface.js +0 -141
  713. package/src/ui/PopUp.js +0 -77
  714. package/src/ui/PopUpManager.js +0 -213
  715. package/src/ui/PopUpPosition.js +0 -104
  716. package/src/ui/PopUpTypes.js +0 -0
  717. package/src/ui/TooltipSurface.js +0 -76
  718. package/src/ui/clamp.js +0 -11
  719. package/src/ui/createPopUp.js +0 -205
  720. package/src/ui/czi-animations.css +0 -15
  721. package/src/ui/czi-color-editor.css +0 -56
  722. package/src/ui/czi-custom-button.css +0 -93
  723. package/src/ui/czi-pop-up.css +0 -32
  724. package/src/ui/czi-tooltip-surface.css +0 -45
  725. package/src/ui/preventEventDefault.js +0 -5
  726. package/src/ui/rects.js +0 -47
  727. package/src/updateIndentLevel.js +0 -211
  728. package/utils/build_customstyle_server.js +0 -70
package/README.md CHANGED
@@ -1,286 +1,300 @@
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- <h1 align="center">Licit Editor</h1>
15
-
16
- <div align="center">
17
- <strong>WYSIWYG editor based on ProseMirror & React</strong>
18
- </div>
19
- <div align="center">
20
- Includes significant text markup including size, face, color, line spacing, strikethrough, bold, italic, etc.; multi-level bullet/number lists; images with text wrapping and resizing; and a powerful table (with images and markup within table)
21
- </div>
22
- &nbsp;
23
- <div align="center">
24
-
25
- ![Build Status](https://github.com/MO-Movia/licit/workflows/build/badge.svg?branch=main)
26
- ![GitHub last commit](https://img.shields.io/github/last-commit/MO-Movia/licit)
27
- [![codecov](https://codecov.io/gh/MO-Movia/licit/branch/main/graph/badge.svg?token=33EHFUZOGL)](https://codecov.io/gh/MO-Movia/licit)
28
- ![Website](https://img.shields.io/website?down_color=red&down_message=Offline&up_color=green&up_message=Online&url=http://www.greathints.com)
29
- <!-- ![Dependencies](https://david-dm.org/MO-Movia/licit.svg) -->
30
- ![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg)
31
- [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
32
-
33
- </div>
34
- <div align="center">
35
- <h3>
36
- <a href="https://github.com/MO-Movia/licit/wiki">Wiki
37
- </a>
38
- <span> | </span>
39
- <a href="http://greathints.com/licit">Demo
40
- </a>
41
- <span> | </span>
42
- <a href="https://prosemirror.net/">Based on...
43
- </a>
44
- </h3>
45
- </div>
46
-
47
- ## Getting Started
48
-
49
- ### Getting repository
50
-
51
- ```
52
- git clone https://github.com/MO-Movia/licit.git
53
- ```
54
- ### Install Prerequisite
55
- ```
56
- Make(0.8.1)
57
- Python(3.8.2)
58
- ```
59
-
60
- ### Install dependencies
61
-
62
- Build [licit-doc-attrs-step](https://github.com/MO-Movia/licit-doc-attrs-step) and copy _modusoperandi-licit-doc-attrs-step-0.0.1.tgz_ to the root folder.
63
- ```
64
- cd licit
65
- npm install
66
- ```
67
-
68
- In order to upload image work correctly, "images" folder is expected outside the root folder 'licit'.
69
-
70
- ### Start the collaboration server
71
- ```
72
- In Windows
73
- To build collab server:
74
- py build_collab_server.py
75
-
76
- To run collab server:
77
- py run_collab_server.py
78
-
79
- In MacOS/Linux
80
- To build collab server:
81
- python build_collab_server.py
82
-
83
- To run collab server:
84
- python run_collab_server.py
85
- ```
86
- ### Start the custom style server
87
- ```
88
- In Windows
89
- To build customstyle server:
90
- py build_customstyle_server.py
91
-
92
- To run customstyle server:
93
- py run_customstyle_server.py
94
-
95
- In MacOS/Linux
96
- To build customstyle server:
97
- python build_customstyle_server.py
98
-
99
- To run customstyle server:
100
- python run_customstyle_server.py
101
- ```
102
- To save custom styles in server "customstyles" folder is expected outside the root folder 'licit'.
103
-
104
- ### Start the image server for Upload image
105
- ```
106
- In Windows
107
- py run_image_server.py
108
-
109
- In MacOS/Linux
110
- python run_image_server.py
111
- ```
112
- ### Start the style service for Custom Styles
113
- ```
114
- git clone https://github.com/MO-Movia/licit-style-service.git
115
- Follow the README.md file to run the service.
116
-
117
- ```
118
-
119
- ### Start the web server
120
-
121
- ```
122
- In Windows
123
- py run_web_server.py
124
-
125
- In MacOS/Linux
126
- python run_web_server.py
127
- ```
128
- Test http://localhost:3001/ from your browser.
129
-
130
- ### Build the distribution files
131
- ```
132
- # At the working directory `licit`
133
- npm run build:dist
134
- ```
135
- ## Use Licit as a component
136
-
137
- For using licit in your project you should follow these steps:
138
-
139
- To build the licit pack, run the below commands:
140
- ```
141
- # At the working directory `licit`
142
- npm pack
143
- ```
144
-
145
- Now you will find a *modusoperandi-licit-0.0.2.tgz* file in the licit directory.
146
-
147
- Add this *.tgz* file to your own angular project and install it using the below command:
148
- ```
149
- # At your angular working directory
150
- npm install ./modusoperandi-licit-0.0.2.tgz
151
- ```
152
-
153
- **After this you can import licit component in your application like:**
154
- ```
155
- import { Licit } from '@modusoperandi/licit';
156
- import * as React from 'react';
157
- import * as ReactDOM from 'react-dom';
158
-
159
- // To create multiple instances:
160
- ReactDOM.render(<Licit docID={1}/>, document.getElementById('root'));
161
- ReactDOM.render(<Licit docID={1}/>, document.getElementById('root2'));
162
- ReactDOM.render(<Licit docID={2}/>, document.getElementById('root3'));
163
- ReactDOM.render(<Licit docID={3}/>, document.getElementById('root4'));
164
-
165
- // OR
166
- ReactDOM.render(React.createElement(Licit, {docID:1}), document.getElementById("root"));
167
- ReactDOM.render(React.createElement(Licit, {docID:2}), document.getElementById("root2"));
168
-
169
- ```
170
- By default, the *collaboration* and the *prosemirror dev tool* are disabled for the editor.
171
- set *docID* to *"0"* for disable the collaboration.
172
- User can enable the same using the below configuration:
173
- ```
174
- ReactDOM.render(React.createElement(Licit, {docID: 1, debug: true}), document.getElementById('root'));
175
- ```
176
- **To use Custom run time in your component :**
177
- ```
178
- Use the below imports for access the image and style API
179
-
180
- import type {ImageLike, StyleProps} from '@modusoperandi/licit';
181
- import {POST, GET, DELETE, PATCH} from '@modusoperandi/licit';
182
- import {setStyles} from '@modusoperandi/licit';
183
- ```
184
-
185
- Please refer *licit\client\index.js* for getting more detailed idea on passing properties and fires events.
186
-
187
- |Property Name| Description|Default Value|
188
- |--|--|--|
189
- | docID |Id of the collaborative document. *docID* empty means collaboration disabled. Based on the value of *docID* decides the collaboration communication |
190
- | collabServiceURL|URL of the collaboration service.|
191
- | debug|Show/hide prosemirror dev tools|false
192
- | width|Width of the editor|100%
193
- | height|Height of the editor|100%
194
- | readOnly |To enable/disable editing mode|false
195
- | data |Document data to be loaded into the editor|null
196
- | disabled|To disable the editor|false
197
- | embedded|To disable/enable inline behavior of the editor|false
198
- | fitToContent|To disable/enable fit to content behavior of the editor|false
199
- | runtime|To pass runtime to the editor. No value means default EditorRuntime | Expects a post method '*saveimage?fn=*' in the server with input parameters *File name and File object*, and this post method parse the form data and return response in JSON format (*{id: string, height: < height of the image>, src: <relative/full_path_of_the_image>, width: < width_of_the_image>}*). Please refer *licit\utils\build_web_server.js* for '*saveimage*' method sample.To configure style service to licit expects methods to saveStyle(),getStyles(),renameStyle() and removeStyle(). Please refer *licit\src\client\LicitRuntime.js* for getting more detailed idea.
200
- | plugins| Array of prosemirror plugin object to pass external prosemirror plugins to the editor. No value means no external plugins | Expects a method '*getEffectiveSchema*' in the prosemirror plugin object that returns new schema object which is the effective schema modified with the current editor schema, that is passed as the input parameter to this method.
201
-
202
- |Event Name| Description|Parameter|
203
- |--|--|--|
204
- |onChange | Fires after each significant change |<ul><li>data: document JSON</li><li>isEmpty: true when empty</li><li>view: prosemirror view</li></ul>
205
- |onReady| Fires once when the editor is ready |licit reference
206
-
207
-
208
- To load the styles:
209
- Either in *angular.json*, add
210
- *"styles": [
211
- "node_modules/licit/dist/styles.css",
212
- ]*
213
- OR
214
- in the default global CSS file *src\styles.scss*, add
215
- *@import "~licit/dist/styles.css"*
216
-
217
-
218
- MathQuill requires jQuery 1.5.2+ to be loaded first:
219
- In *angular.json*, add
220
- *"scripts": [
221
- "node_modules/jquery/dist/jquery.min.js",
222
- ]*
223
-
224
- Run *npm start* to see the licit editor inside the angular application.
225
-
226
- Note: there is a nice Angular test app designed to test the component interface of licit here: https://github.com/melgish/licit-playground - which also allows you to load and save the JSON file.
227
-
228
- ## Use it for your own project
229
-
230
- For using licit in your project you should follow these steps:
231
-
232
- For example (in an Angular app):
233
-
234
- ```
235
- # At the working directory `licit`
236
- npm run build:licit
237
- ```
238
-
239
- Now you will find a new directory (*bin*) with *licit.bundle.js* file.
240
-
241
- Add this *bin* folder to your own project and also include the *licit.bundle.js* file in the scripts array of *angular.json* file as follows:
242
-
243
- "scripts": [
244
- "src/bin/licit.bundle.js"
245
- ]
246
-
247
- To start the collaboration server, follow the steps below:
248
-
249
- Run the Collaborative server in licit/servers directory using following command:
250
-
251
- ```
252
- node run_licit_collab_server.bundle.js PORT='<yourPort>' IP='<yourIP/Hostname>'
253
- ```
254
-
255
- NOTE: In case if you are hosting collab server in a different location or machine then you need to change the host name and port number in *licit\src\client\CollabConnector.js* accordingly.
256
- ```
257
- const url = <yourLocationProtocol> + '\/\/' +
258
- <yourIP/Hostname>+ ':<yourPort>/docs/' +
259
- docID;
260
- ```
261
- Run *ng serve* to see the collaborative licit editor inside the angular application.
262
-
263
- **To deploy LICIT in a server:**
264
- ```
265
- # At the working directory `licit`
266
- npm install
267
- npm run build:licit
268
- ```
269
- Now you will find a *bin* directory, copy the files from bin to the server to run the *Licit* as a standalone application.
270
-
271
- **You can install licit using the commit hash to include in your own `package.json`.**
272
-
273
-
274
- For install the latest commit on master branch:
275
- ```
276
- npm install --save "MO-Movia/licit"
277
- ```
278
- For install a specific commit:
279
- ```
280
- npm install --save "MO-Movia/licit#3de185eaccdfd745bc567d5358cf3281472d8df8"
281
- ```
282
- You may find the latest commit hash at https://github.com/MO-Movia/licit/commits/master
283
-
284
- ## Windows Specific
285
-
286
- Use Git bash or Windows Power Shell to install build and run the project
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ <h1 align="center">Licit Editor</h1>
15
+
16
+ <div align="center">
17
+ <strong>WYSIWYG editor based on ProseMirror & React</strong>
18
+ </div>
19
+ <div align="center">
20
+ Includes significant text markup including size, face, color, line spacing, strikethrough, bold, italic, etc.; multi-level bullet/number lists; images with text wrapping and resizing; and a powerful table (with images and markup within table)
21
+ </div>
22
+ &nbsp;
23
+ <div align="center">
24
+
25
+ ![Build Status](https://github.com/MO-Movia/licit/workflows/build/badge.svg?branch=main)
26
+ ![GitHub last commit](https://img.shields.io/github/last-commit/MO-Movia/licit)
27
+ [![codecov](https://codecov.io/gh/MO-Movia/licit/branch/main/graph/badge.svg?token=33EHFUZOGL)](https://codecov.io/gh/MO-Movia/licit)
28
+ ![Website](https://img.shields.io/website?down_color=red&down_message=Offline&up_color=green&up_message=Online&url=http://www.greathints.com)
29
+ <!-- ![Dependencies](https://david-dm.org/MO-Movia/licit.svg) -->
30
+ ![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg)
31
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
32
+
33
+ </div>
34
+ <div align="center">
35
+ <h3>
36
+ <a href="https://github.com/MO-Movia/licit/wiki">Wiki
37
+ </a>
38
+ <span> | </span>
39
+ <a href="http://greathints.com/licit">Demo
40
+ </a>
41
+ <span> | </span>
42
+ <a href="https://prosemirror.net/">Based on...
43
+ </a>
44
+ </h3>
45
+ </div>
46
+
47
+ ## Getting Started
48
+
49
+ ### Getting repository
50
+
51
+ ```
52
+ git clone https://github.com/MO-Movia/licit.git
53
+ ```
54
+ ### Install Prerequisite
55
+ ```
56
+ Make(0.8.1)
57
+ Python(3.8.2)
58
+ ```
59
+
60
+ ### Install dependencies
61
+
62
+ Pack [licit-ui-components](https://github.com/MO-Movia/licit-ui-components/tree/initial) and copy _modusoperandi-licit-ui-commands-0.0.1.tgz_ to the root folder.
63
+ ```
64
+ cd licit
65
+ npm install
66
+ ```
67
+
68
+ In order to upload image work correctly, "images" folder is expected outside the root folder 'licit'.
69
+
70
+ ### Start the collaboration server
71
+ ```
72
+ In Windows
73
+ To build collab server:
74
+ py build_collab_server.py
75
+
76
+ To run collab server:
77
+ py run_collab_server.py
78
+
79
+ In MacOS/Linux
80
+ To build collab server:
81
+ python build_collab_server.py
82
+
83
+ To run collab server:
84
+ python run_collab_server.py
85
+ ```
86
+ ### Start the custom style server
87
+ ```
88
+ In Windows
89
+ To build customstyle server:
90
+ py build_customstyle_server.py
91
+
92
+ To run customstyle server:
93
+ py run_customstyle_server.py
94
+
95
+ In MacOS/Linux
96
+ To build customstyle server:
97
+ python build_customstyle_server.py
98
+
99
+ To run customstyle server:
100
+ python run_customstyle_server.py
101
+ ```
102
+ To save custom styles in server "customstyles" folder is expected outside the root folder 'licit'.
103
+
104
+ ### Start the image server for Upload image
105
+ ```
106
+ In Windows
107
+ py run_image_server.py
108
+
109
+ In MacOS/Linux
110
+ python run_image_server.py
111
+ ```
112
+ ### Start the style service for Custom Styles
113
+ ```
114
+ git clone https://github.com/MO-Movia/licit-style-service.git
115
+ Follow the README.md file to run the service.
116
+
117
+ ```
118
+
119
+ ### Start the web server
120
+
121
+ ```
122
+ In Windows
123
+ py run_web_server.py
124
+
125
+ In MacOS/Linux
126
+ python run_web_server.py
127
+ ```
128
+ Test http://localhost:3001/ from your browser.
129
+
130
+ ### Build the distribution files
131
+ ```
132
+ # At the working directory `licit`
133
+ npm run build:dist
134
+ ```
135
+ ## Use Licit as a component
136
+
137
+ For using licit in your project you should follow these steps:
138
+
139
+ To build the licit pack, run the below commands:
140
+ ```
141
+ # At the working directory `licit`
142
+ npm pack
143
+ ```
144
+
145
+ Now you will find a *modusoperandi-licit-0.0.2.tgz* file in the licit directory.
146
+
147
+ Add this *.tgz* file to your own angular project and install it using the below command:
148
+ ```
149
+ # At your angular working directory
150
+ npm install ./modusoperandi-licit-0.0.2.tgz
151
+ ```
152
+
153
+ **After this you can import licit component in your application like:**
154
+ ```
155
+ import { Licit } from '@modusoperandi/licit';
156
+ import * as React from 'react';
157
+ import * as ReactDOM from 'react-dom';
158
+
159
+ // To create multiple instances:
160
+ ReactDOM.render(<Licit docID={1}/>, document.getElementById('root'));
161
+ ReactDOM.render(<Licit docID={1}/>, document.getElementById('root2'));
162
+ ReactDOM.render(<Licit docID={2}/>, document.getElementById('root3'));
163
+ ReactDOM.render(<Licit docID={3}/>, document.getElementById('root4'));
164
+
165
+ // OR
166
+ ReactDOM.render(React.createElement(Licit, {docID:1}), document.getElementById("root"));
167
+ ReactDOM.render(React.createElement(Licit, {docID:2}), document.getElementById("root2"));
168
+
169
+ ```
170
+ By default, the *collaboration* and the *prosemirror dev tool* are disabled for the editor.
171
+ set *docID* to *"0"* for disable the collaboration.
172
+ User can enable the same using the below configuration:
173
+ ```
174
+ ReactDOM.render(React.createElement(Licit, {docID: 1, debug: true}), document.getElementById('root'));
175
+ ```
176
+ **To use Custom run time in your component :**
177
+ ```
178
+ Use the below imports for access the image and style API
179
+
180
+ import type {ImageLike, StyleProps} from '@modusoperandi/licit';
181
+ import {POST, GET, DELETE, PATCH} from '@modusoperandi/licit';
182
+ import {setStyles} from '@modusoperandi/licit';
183
+ ```
184
+
185
+ Please refer *licit\client\index.js* for getting more detailed idea on passing properties and fires events.
186
+
187
+ |Property Name| Description|Default Value|
188
+ |--|--|--|
189
+ | docID |Id of the collaborative document. *docID* empty means collaboration disabled. Based on the value of *docID* decides the collaboration communication |
190
+ | collabServiceURL|URL of the collaboration service.|
191
+ | debug|Show/hide prosemirror dev tools|false
192
+ | width|Width of the editor|100%
193
+ | height|Height of the editor|100%
194
+ | readOnly |To enable/disable editing mode|false
195
+ | data |Document JSON/HTML data to be loaded into the editor|null
196
+ | dataType |Document data type - JSON/HTML|JSON
197
+ | disabled|To disable the editor|false
198
+ | embedded|To disable/enable inline behavior of the editor|false
199
+ | fitToContent|To disable/enable fit to content behavior of the editor|false
200
+ | runtime|To pass runtime to the editor. No value means default EditorRuntime | Expects a post method '*saveimage?fn=*' in the server with input parameters *File name and File object*, and this post method parse the form data and return response in JSON format (*{id: string, height: < height of the image>, src: <relative/full_path_of_the_image>, width: < width_of_the_image>}*). Please refer *licit\utils\build_web_server.js* for '*saveimage*' method sample.To configure style service to licit expects methods to saveStyle(),getStyles(),renameStyle() and removeStyle(). Please refer *licit\src\client\LicitRuntime.js* for getting more detailed idea.
201
+ | plugins| Array of prosemirror plugin object to pass external prosemirror plugins to the editor. No value means no external plugins | Expects a method '*getEffectiveSchema*' in the prosemirror plugin object that returns new schema object which is the effective schema modified with the current editor schema, that is passed as the input parameter to this method.
202
+
203
+ |Event Name| Description|Parameter|
204
+ |--|--|--|
205
+ |onChange | Fires after each significant change |<ul><li>data: document JSON</li><li>isEmpty: true when empty</li><li>view: prosemirror view</li></ul>
206
+ |onReady| Fires once when the editor is ready |licit reference
207
+
208
+ |Method Name| Description|Parameter|
209
+ |--|--|--|
210
+ |setProps | Update properties of the editor using an editor instance |<ul><li>props: Licit properties' object</li></ul>
211
+
212
+ To set data to editor:
213
+
214
+ > function setData() { const props = {};
215
+ > Object.assign(props, this.props);
216
+ > // here the *this.props* is the *ref* input from the onReadyCB(ref) (Please refer *licit\client\index.js* for onReadyCB(ref) method)
217
+ > props.data = {
218
+ > "type":"doc","attrs":{"layout":null,"padding":null,"width":null,"counterFlags":null},"content":[{"type":"paragraph","attrs":{"align":null,"color":null,"id":null,"indent":null,"lineSpacing":null,"paddingBottom":null,"paddingTop":null},"content":[{"type":"text","text":"Hello
219
+ > World!!!"}]}]};
220
+ > this.setProps(props); }
221
+
222
+ To load the styles:
223
+ Either in *angular.json*, add
224
+ *"styles": [
225
+ "node_modules/licit/dist/styles.css",
226
+ ]*
227
+ OR
228
+ in the default global CSS file *src\styles.scss*, add
229
+ *@import "~licit/dist/styles.css"*
230
+
231
+
232
+ MathQuill requires jQuery 1.5.2+ to be loaded first:
233
+ In *angular.json*, add
234
+ *"scripts": [
235
+ "node_modules/jquery/dist/jquery.min.js",
236
+ ]*
237
+
238
+ Run *npm start* to see the licit editor inside the angular application.
239
+
240
+ Note: there is a nice Angular test app designed to test the component interface of licit here: https://github.com/melgish/licit-playground - which also allows you to load and save the JSON file.
241
+
242
+ ## Use it for your own project
243
+
244
+ For using licit in your project you should follow these steps:
245
+
246
+ For example (in an Angular app):
247
+
248
+ ```
249
+ # At the working directory `licit`
250
+ npm run build:licit
251
+ ```
252
+
253
+ Now you will find a new directory (*bin*) with *licit.bundle.js* file.
254
+
255
+ Add this *bin* folder to your own project and also include the *licit.bundle.js* file in the scripts array of *angular.json* file as follows:
256
+
257
+ "scripts": [
258
+ "src/bin/licit.bundle.js"
259
+ ]
260
+
261
+ To start the collaboration server, follow the steps below:
262
+
263
+ Run the Collaborative server in licit/servers directory using following command:
264
+
265
+ ```
266
+ node run_licit_collab_server.bundle.js PORT='<yourPort>' IP='<yourIP/Hostname>'
267
+ ```
268
+
269
+ NOTE: In case if you are hosting collab server in a different location or machine then you need to change the host name and port number in *licit\src\client\CollabConnector.js* accordingly.
270
+ ```
271
+ const url = <yourLocationProtocol> + '\/\/' +
272
+ <yourIP/Hostname>+ ':<yourPort>/docs/' +
273
+ docID;
274
+ ```
275
+ Run *ng serve* to see the collaborative licit editor inside the angular application.
276
+
277
+ **To deploy LICIT in a server:**
278
+ ```
279
+ # At the working directory `licit`
280
+ npm install
281
+ npm run build:licit
282
+ ```
283
+ Now you will find a *bin* directory, copy the files from bin to the server to run the *Licit* as a standalone application.
284
+
285
+ **You can install licit using the commit hash to include in your own `package.json`.**
286
+
287
+
288
+ For install the latest commit on master branch:
289
+ ```
290
+ npm install --save "MO-Movia/licit"
291
+ ```
292
+ For install a specific commit:
293
+ ```
294
+ npm install --save "MO-Movia/licit#3de185eaccdfd745bc567d5358cf3281472d8df8"
295
+ ```
296
+ You may find the latest commit hash at https://github.com/MO-Movia/licit/commits/master
297
+
298
+ ## Windows Specific
299
+
300
+ Use Git bash or Windows Power Shell to install build and run the project
@@ -0,0 +1,54 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "targets": {
7
+ "node": true
8
+ }
9
+ }
10
+ ],
11
+ "@babel/preset-react",
12
+ "@babel/preset-flow"
13
+ ],
14
+ "plugins": [
15
+ "@babel/plugin-proposal-class-properties",
16
+ "@babel/plugin-proposal-export-default-from",
17
+ "flow-react-proptypes",
18
+ "transform-react-remove-prop-types",
19
+ "@babel/plugin-transform-flow-strip-types",
20
+ "@babel/plugin-proposal-object-rest-spread",
21
+ "@babel/plugin-transform-parameters",
22
+ [
23
+ "@babel/plugin-transform-runtime",
24
+ {
25
+ "helpers": false,
26
+ "regenerator": true,
27
+ "absoluteRuntime": "babel-runtime"
28
+ }
29
+ ],
30
+ "@babel/plugin-syntax-dynamic-import",
31
+ "@babel/plugin-syntax-import-meta",
32
+ "@babel/plugin-proposal-json-strings",
33
+ [
34
+ "@babel/plugin-proposal-decorators",
35
+ {
36
+ "legacy": true
37
+ }
38
+ ],
39
+ "@babel/plugin-proposal-function-sent",
40
+ "@babel/plugin-proposal-export-namespace-from",
41
+ "@babel/plugin-proposal-numeric-separator",
42
+ "@babel/plugin-proposal-throw-expressions",
43
+ "@babel/plugin-proposal-logical-assignment-operators",
44
+ "@babel/plugin-proposal-optional-chaining",
45
+ [
46
+ "@babel/plugin-proposal-pipeline-operator",
47
+ {
48
+ "proposal": "minimal"
49
+ }
50
+ ],
51
+ "@babel/plugin-proposal-nullish-coalescing-operator",
52
+ "@babel/plugin-proposal-do-expressions"
53
+ ]
54
+ }
@@ -1,7 +1,7 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- import os
5
-
6
- os.system('node utils/build_licit_collab_server.js')
7
- print("Completed")
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import os
5
+
6
+ os.system('node utils/build_licit_collab_server.js')
7
+ print("Completed")