@modusoperandi/licit 0.14.17 → 1.0.0

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 (1062) hide show
  1. package/BlockquoteInsertNewLineCommand.js +87 -0
  2. package/BlockquoteInsertNewLineCommand.js.flow +77 -0
  3. package/BlockquoteNodeSpec.js +30 -0
  4. package/BlockquoteNodeSpec.js.flow +30 -0
  5. package/BlockquoteToggleCommand.js +63 -0
  6. package/BlockquoteToggleCommand.js.flow +56 -0
  7. package/BookmarkNodeSpec.js +40 -0
  8. package/BookmarkNodeSpec.js.flow +39 -0
  9. package/BulletListNodeSpec.js +51 -0
  10. package/BulletListNodeSpec.js.flow +61 -0
  11. package/CZIProseMirror.js +78 -0
  12. package/CZIProseMirror.js.flow +90 -0
  13. package/CodeBlockCommand.js +73 -0
  14. package/CodeBlockCommand.js.flow +65 -0
  15. package/CodeBlockNodeSpec.js +26 -0
  16. package/CodeMarkSpec.js +11 -0
  17. package/CodeMarkSpec.js.flow +14 -0
  18. package/ContentPlaceholderPlugin.js +186 -0
  19. package/ContentPlaceholderPlugin.js.flow +187 -0
  20. package/CursorPlaceholderPlugin.js +119 -0
  21. package/DocLayoutCommand.js +97 -0
  22. package/DocLayoutCommand.js.flow +99 -0
  23. package/DocNodeSpec.js +67 -0
  24. package/DocNodeSpec.js.flow +64 -0
  25. package/EMMarkSpec.js +15 -0
  26. package/EMMarkSpec.js.flow +14 -0
  27. package/EditorCommands.js +111 -0
  28. package/EditorCommands.js.flow +143 -0
  29. package/EditorKeyMap.js +74 -0
  30. package/EditorKeyMap.js.flow +187 -0
  31. package/EditorMarks.js +51 -0
  32. package/EditorMarks.js.flow +71 -0
  33. package/EditorNodes.js +47 -0
  34. package/EditorNodes.js.flow +59 -0
  35. package/EditorPageLayoutPlugin.js +78 -0
  36. package/EditorPageLayoutPlugin.js.flow +67 -0
  37. package/EditorPlugins.js +6 -0
  38. package/EditorPlugins.js.flow +8 -0
  39. package/EditorSchema.js +8 -0
  40. package/EditorSchema.js.flow +12 -0
  41. package/EditorState.js +3 -0
  42. package/FontSizeMarkSpec.js +38 -0
  43. package/FontSizeMarkSpec.js.flow +49 -0
  44. package/FontTypeMarkSpec.js +63 -0
  45. package/FontTypeMarkSpec.js.flow +80 -0
  46. package/HTMLMutator.js +67 -0
  47. package/HTMLMutator.js.flow +59 -0
  48. package/HardBreakNodeSpec.js +13 -0
  49. package/HeadingNodeSpec.js +57 -0
  50. package/HistoryRedoCommand.js +49 -0
  51. package/HistoryRedoCommand.js.flow +41 -0
  52. package/HistoryUndoCommand.js +49 -0
  53. package/HistoryUndoCommand.js.flow +41 -0
  54. package/HorizontalRuleCommand.js +78 -0
  55. package/HorizontalRuleCommand.js.flow +71 -0
  56. package/HorizontalRuleNodeSpec.js +31 -0
  57. package/ImageUploadPlaceholderPlugin.js +181 -0
  58. package/ImageUploadPlaceholderPlugin.js.flow +192 -0
  59. package/LinkMarkSpec.js +34 -0
  60. package/LinkMarkSpec.js.flow +32 -0
  61. package/LinkSetURLCommand.js +111 -0
  62. package/LinkSetURLCommand.js.flow +117 -0
  63. package/LinkTooltipPlugin.js +185 -0
  64. package/LinkTooltipPlugin.js.flow +190 -0
  65. package/ListItemInsertNewLineCommand.js +87 -0
  66. package/ListItemInsertNewLineCommand.js.flow +77 -0
  67. package/ListItemMergeCommand.js +191 -0
  68. package/ListItemMergeCommand.js.flow +199 -0
  69. package/ListItemNodeSpec.js +45 -0
  70. package/ListItemNodeSpec.js.flow +52 -0
  71. package/ListSplitCommand.js +55 -0
  72. package/ListSplitCommand.js.flow +54 -0
  73. package/ListToggleCommand.js +96 -0
  74. package/ListToggleCommand.js.flow +99 -0
  75. package/MarkNames.js +16 -0
  76. package/MarksClearCommand.js +65 -0
  77. package/MarksClearCommand.js.flow +65 -0
  78. package/MathEditCommand.js +116 -0
  79. package/MathEditCommand.js.flow +120 -0
  80. package/MathNodeSpec.js +49 -0
  81. package/MathNodeSpec.js.flow +46 -0
  82. package/NodeNames.js +21 -0
  83. package/OrderedListNodeSpec.js +117 -0
  84. package/OrderedListNodeSpec.js.flow +132 -0
  85. package/ParagraphNodeSpec.js +126 -0
  86. package/ParagraphNodeSpec.js.flow +156 -0
  87. package/ParagraphSpacingCommand.js +119 -0
  88. package/ParagraphSpacingCommand.js.flow +144 -0
  89. package/PrintCommand.js +58 -0
  90. package/PrintCommand.js.flow +53 -0
  91. package/SelectionPlaceholderPlugin.js +120 -0
  92. package/SpacerMarkSpec.js +39 -0
  93. package/SpacerMarkSpec.js.flow +47 -0
  94. package/StrikeMarkSpec.js +17 -0
  95. package/StrikeMarkSpec.js.flow +21 -0
  96. package/StrongMarkSpec.js +26 -0
  97. package/StrongMarkSpec.js.flow +25 -0
  98. package/StyleView.js +29 -0
  99. package/TableBackgroundColorCommand.js +81 -0
  100. package/TableBorderColorCommand.js +81 -0
  101. package/TableCellColorCommand.js +81 -0
  102. package/TableCellColorCommand.js.flow +75 -0
  103. package/TableCellMenuPlugin.js +137 -0
  104. package/TableCellMenuPlugin.js.flow +132 -0
  105. package/TableInsertCommand.js +124 -0
  106. package/TableInsertCommand.js.flow +120 -0
  107. package/TableMergeCellsCommand.js +116 -0
  108. package/TableMergeCellsCommand.js.flow +112 -0
  109. package/TableNodesSpecs.js +78 -0
  110. package/TableNodesSpecs.js.flow +78 -0
  111. package/TablePlugins.js +7 -0
  112. package/TablePlugins.js.flow +14 -0
  113. package/TableResizePlugin.js +542 -0
  114. package/TableResizePlugin.js.flow +632 -0
  115. package/TextColorMarkSpec.js +29 -0
  116. package/TextColorMarkSpec.js.flow +35 -0
  117. package/TextHighlightMarkSpec.js +31 -0
  118. package/TextHighlightMarkSpec.js.flow +38 -0
  119. package/TextInsertTabSpaceCommand.js +98 -0
  120. package/TextInsertTabSpaceCommand.js.flow +106 -0
  121. package/TextNoWrapMarkSpec.js +11 -0
  122. package/TextNoWrapMarkSpec.js.flow +14 -0
  123. package/TextNodeSpec.js +4 -0
  124. package/TextSelectionMarkSpec.js +18 -0
  125. package/TextSelectionMarkSpec.js.flow +24 -0
  126. package/TextSubMarkSpec.js +15 -0
  127. package/TextSubMarkSpec.js.flow +20 -0
  128. package/TextSuperMarkSpec.js +15 -0
  129. package/TextSuperMarkSpec.js.flow +20 -0
  130. package/TextUnderlineMarkSpec.js +21 -0
  131. package/TextUnderlineMarkSpec.js.flow +27 -0
  132. package/Types.js +72 -0
  133. package/WebFontLoader.js +32 -0
  134. package/blockQuoteInputRule.js +25 -0
  135. package/blockQuoteInputRule.js.flow +36 -0
  136. package/bom.xml +66662 -0
  137. package/browser.js +6 -0
  138. package/buildEditorPlugins.js +49 -0
  139. package/buildEditorPlugins.js.flow +49 -0
  140. package/buildInputRules.js +73 -0
  141. package/buildInputRules.js.flow +81 -0
  142. package/client/CollabConnector.js +85 -0
  143. package/client/CollabConnector.js.flow +90 -0
  144. package/client/EditorConnection.js +321 -0
  145. package/client/EditorConnection.js.flow +323 -0
  146. package/client/Licit.js +613 -0
  147. package/client/Licit.js.flow +643 -0
  148. package/client/Licit.test.js +104 -0
  149. package/client/Licit.test.js.flow +98 -0
  150. package/client/Reporter.js +50 -0
  151. package/client/SimpleConnector.js +55 -0
  152. package/client/http.js +90 -0
  153. package/client/throttle.js +20 -0
  154. package/convertFromDOMElement.js +26 -0
  155. package/convertFromDOMElement.js.flow +36 -0
  156. package/convertFromHTML.js +9 -0
  157. package/convertFromHTML.js.flow +17 -0
  158. package/convertFromJSON.js +40 -0
  159. package/convertFromJSON.js.flow +56 -0
  160. package/convertToCSSPTValue.js +18 -0
  161. package/convertToJSON.js +4 -0
  162. package/createCommand.js +59 -0
  163. package/createCommand.js.flow +62 -0
  164. package/createEditorKeyMap.js +54 -0
  165. package/createEditorKeyMap.js.flow +94 -0
  166. package/createEmptyEditorState.js +16 -0
  167. package/createEmptyEditorState.js.flow +31 -0
  168. package/createTableResizingPlugin.js +68 -0
  169. package/findActionableCell.js +53 -0
  170. package/findActionableCell.js.flow +74 -0
  171. package/findActiveMark.js +25 -0
  172. package/hyphenize.js +14 -0
  173. package/index.d.ts +6 -0
  174. package/index.js +8 -0
  175. package/insertTable.js +43 -0
  176. package/insertTable.js.flow +56 -0
  177. package/isEditorStateEmpty.js +28 -0
  178. package/isTableNode.js +6 -0
  179. package/joinDown.js +25 -0
  180. package/joinListNode.js +31 -0
  181. package/joinUp.js +30 -0
  182. package/keymaps.js +67 -0
  183. package/lookUpElement.js +9 -0
  184. package/nodeAt.js +9 -0
  185. package/normalizeHTML.js +63 -0
  186. package/normalizeHTML.js.flow +78 -0
  187. package/package.json +48 -34
  188. package/patchAnchorElements.js +29 -0
  189. package/patchAnchorElements.js.flow +38 -0
  190. package/patchBreakElements.js +20 -0
  191. package/patchElementInlineStyles.js +65 -0
  192. package/patchElementInlineStyles.js.flow +92 -0
  193. package/patchListElements.js +228 -0
  194. package/patchListElements.js.flow +276 -0
  195. package/patchMathElements.js +59 -0
  196. package/patchParagraphElements.js +13 -0
  197. package/patchParagraphElements.js.flow +20 -0
  198. package/patchStyleElements.js +152 -0
  199. package/patchStyleElements.js.flow +196 -0
  200. package/patchTableElements.js +86 -0
  201. package/patchTableElements.js.flow +89 -0
  202. package/rebaseDocWithSteps.js +25 -0
  203. package/sanitizeURL.js +10 -0
  204. package/splitListItem.js +170 -0
  205. package/splitListItem.js.flow +191 -0
  206. package/styles.css +19 -0
  207. package/styles0.css +29 -0
  208. package/toClosestFontPtSize.js +17 -0
  209. package/toClosestFontPtSize.js.flow +22 -0
  210. package/toSafeHTMLDocument.js +7 -0
  211. package/toggleBlockquote.js +75 -0
  212. package/toggleBlockquote.js.flow +108 -0
  213. package/toggleCodeBlock.js +75 -0
  214. package/ui/AlertInfo.js +69 -0
  215. package/ui/BookmarkNodeView.js +104 -0
  216. package/ui/BookmarkNodeView.js.flow +66 -0
  217. package/ui/CommandButton.js +76 -0
  218. package/ui/CommandMenu.js +94 -0
  219. package/ui/CommandMenu.js.flow +75 -0
  220. package/ui/CommandMenuButton.js +132 -0
  221. package/ui/CommandMenuButton.js.flow +131 -0
  222. package/ui/CustomEditorView.js +47 -0
  223. package/ui/CustomEditorView.js.flow +28 -0
  224. package/ui/CustomMenu.js +34 -0
  225. package/ui/CustomMenuItem.js +65 -0
  226. package/ui/CustomNodeView.js +237 -0
  227. package/ui/CustomNodeView.js.flow +200 -0
  228. package/ui/CustomRadioButton.js +78 -0
  229. package/ui/CustomRadioButton.js.flow +65 -0
  230. package/ui/DocLayoutEditor.js +147 -0
  231. package/ui/DocLayoutEditor.js.flow +146 -0
  232. package/ui/Editor.js +291 -0
  233. package/ui/Editor.js.flow +288 -0
  234. package/ui/EditorFrameset.js +96 -0
  235. package/ui/EditorToolbar.js +214 -0
  236. package/ui/EditorToolbar.js.flow +218 -0
  237. package/ui/EditorToolbarConfig.js +141 -0
  238. package/ui/EditorToolbarConfig.js.flow +164 -0
  239. package/ui/FontSizeCommandMenuButton.js +67 -0
  240. package/ui/FontSizeCommandMenuButton.js.flow +66 -0
  241. package/ui/FontTypeCommandMenuButton.js +65 -0
  242. package/ui/FontTypeCommandMenuButton.js.flow +61 -0
  243. package/ui/Frag.js +32 -0
  244. package/ui/Icon.js +145 -0
  245. package/ui/Icon.js.flow +89 -0
  246. package/ui/ImageInlineEditor.js +87 -0
  247. package/ui/KeyCodes.js +9 -0
  248. package/ui/LinkTooltip.js +113 -0
  249. package/ui/LinkTooltip.js.flow +85 -0
  250. package/ui/LinkURLEditor.js +114 -0
  251. package/ui/LinkURLEditor.js.flow +117 -0
  252. package/ui/ListItemNodeView.js +92 -0
  253. package/ui/ListItemNodeView.js.flow +98 -0
  254. package/ui/ListTypeButton.js +136 -0
  255. package/ui/ListTypeButton.js.flow +131 -0
  256. package/ui/ListTypeCommandButton.js +91 -0
  257. package/ui/ListTypeCommandButton.js.flow +85 -0
  258. package/ui/ListTypeMenu.js +85 -0
  259. package/ui/ListTypeMenu.js.flow +70 -0
  260. package/ui/LoadingIndicator.js +42 -0
  261. package/ui/MathEditor.js +92 -0
  262. package/ui/MathEditor.js.flow +78 -0
  263. package/ui/MathInlineEditor.js +123 -0
  264. package/ui/MathInlineEditor.js.flow +102 -0
  265. package/ui/MathNodeView.js +217 -0
  266. package/ui/MathNodeView.js.flow +186 -0
  267. package/ui/PasteMenu.js +74 -0
  268. package/ui/ResizeObserver.js +89 -0
  269. package/ui/RichTextEditor.js +125 -0
  270. package/ui/RichTextEditor.js.flow +133 -0
  271. package/ui/SelectionObserver.js +121 -0
  272. package/ui/TableCellMenu.js +64 -0
  273. package/ui/TableCellMenu.js.flow +51 -0
  274. package/ui/TableGridSizeEditor.js +212 -0
  275. package/ui/TableGridSizeEditor.js.flow +184 -0
  276. package/ui/TableNodeView.js +51 -0
  277. package/ui/bindScrollHandler.js +33 -0
  278. package/ui/canUseCSSFont.js +33 -0
  279. package/ui/czi-link-tooltip.css +71 -0
  280. package/ui/czi-table.css +87 -0
  281. package/ui/czi-vars.css +2 -0
  282. package/ui/findActiveFontSize.js +53 -0
  283. package/ui/findActiveFontSize.js.flow +58 -0
  284. package/ui/findActiveFontType.js +32 -0
  285. package/ui/findActiveFontType.js.flow +38 -0
  286. package/ui/handleEditorDrop.js +24 -0
  287. package/ui/handleEditorDrop.js.flow +28 -0
  288. package/ui/handleEditorKeyDown.js +20 -0
  289. package/ui/handleEditorKeyDown.js.flow +39 -0
  290. package/ui/handleEditorPaste.js +22 -0
  291. package/ui/handleEditorPaste.js.flow +33 -0
  292. package/ui/htmlElementToRect.js +17 -0
  293. package/ui/injectStyleSheet.js +37 -0
  294. package/ui/isElementFullyVisible.js +22 -0
  295. package/ui/isOffline.js +6 -0
  296. package/ui/isReactClass.js +10 -0
  297. package/ui/mathquill-editor/MathQuillEditor.js +187 -0
  298. package/ui/mathquill-editor/MathQuillEditor.js.flow +159 -0
  299. package/ui/mathquill-editor/MathQuillEditorSymbols.js +416 -0
  300. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +69 -0
  301. package/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +50 -0
  302. package/ui/mathquill-editor/mathquill-import-kludge.js +21 -0
  303. package/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -0
  304. package/ui/renderLaTeXAsHTML.js +55 -0
  305. package/ui/renderLaTeXAsHTML.js.flow +46 -0
  306. package/ui/resolveImage.js +115 -0
  307. package/ui/toCSSColor.js +42 -0
  308. package/ui/toCSSLineSpacing.js +48 -0
  309. package/ui/toHexColor.js +22 -0
  310. package/ui/uuid.js +6 -0
  311. package/uuid.js +6 -0
  312. package/.babelrc +0 -54
  313. package/.dockerignore +0 -4
  314. package/.eslintignore +0 -3
  315. package/.eslintrc.js +0 -87
  316. package/.flowconfig +0 -37
  317. package/.gitattribute +0 -1
  318. package/.github/workflows/build.yml +0 -29
  319. package/.github/workflows/lint.yml +0 -30
  320. package/.prettierignore +0 -6
  321. package/.prettierrc +0 -5
  322. package/.stylelintignore +0 -2
  323. package/.stylelintrc.json +0 -14
  324. package/.travis.yml +0 -18
  325. package/CODEOWNERS +0 -40
  326. package/LICENSE +0 -22
  327. package/README.md +0 -304
  328. package/_config.yml +0 -1
  329. package/babel.config.json +0 -54
  330. package/build_collab_server.py +0 -7
  331. package/build_image_server.py +0 -7
  332. package/dist/BlockquoteInsertNewLineCommand.js +0 -65
  333. package/dist/BlockquoteInsertNewLineCommand.js.flow +0 -55
  334. package/dist/BlockquoteNodeSpec.js +0 -37
  335. package/dist/BlockquoteNodeSpec.js.flow +0 -30
  336. package/dist/BlockquoteToggleCommand.js +0 -41
  337. package/dist/BlockquoteToggleCommand.js.flow +0 -34
  338. package/dist/BookmarkNodeSpec.js +0 -50
  339. package/dist/BookmarkNodeSpec.js.flow +0 -39
  340. package/dist/BulletListNodeSpec.js +0 -59
  341. package/dist/BulletListNodeSpec.js.flow +0 -61
  342. package/dist/CZIProseMirror.js +0 -91
  343. package/dist/CZIProseMirror.js.flow +0 -90
  344. package/dist/CodeBlockCommand.js +0 -51
  345. package/dist/CodeBlockCommand.js.flow +0 -43
  346. package/dist/CodeBlockNodeSpec.js +0 -33
  347. package/dist/CodeMarkSpec.js +0 -18
  348. package/dist/CodeMarkSpec.js.flow +0 -14
  349. package/dist/ContentPlaceholderPlugin.js +0 -164
  350. package/dist/ContentPlaceholderPlugin.js.flow +0 -187
  351. package/dist/CursorPlaceholderPlugin.js +0 -114
  352. package/dist/DocLayoutCommand.js +0 -88
  353. package/dist/DocLayoutCommand.js.flow +0 -94
  354. package/dist/DocNodeSpec.js +0 -79
  355. package/dist/DocNodeSpec.js.flow +0 -64
  356. package/dist/EMMarkSpec.js +0 -22
  357. package/dist/EMMarkSpec.js.flow +0 -14
  358. package/dist/EditorCommands.js +0 -175
  359. package/dist/EditorCommands.js.flow +0 -124
  360. package/dist/EditorKeyMap.js +0 -112
  361. package/dist/EditorKeyMap.js.flow +0 -187
  362. package/dist/EditorMarks.js +0 -80
  363. package/dist/EditorMarks.js.flow +0 -71
  364. package/dist/EditorNodes.js +0 -68
  365. package/dist/EditorNodes.js.flow +0 -59
  366. package/dist/EditorPageLayoutPlugin.js +0 -72
  367. package/dist/EditorPageLayoutPlugin.js.flow +0 -67
  368. package/dist/EditorPlugins.js +0 -13
  369. package/dist/EditorPlugins.js.flow +0 -8
  370. package/dist/EditorSchema.js +0 -16
  371. package/dist/EditorSchema.js.flow +0 -12
  372. package/dist/EditorState.js +0 -10
  373. package/dist/FontSizeMarkSpec.js +0 -47
  374. package/dist/FontSizeMarkSpec.js.flow +0 -49
  375. package/dist/FontTypeMarkSpec.js +0 -74
  376. package/dist/FontTypeMarkSpec.js.flow +0 -80
  377. package/dist/HTMLMutator.js +0 -58
  378. package/dist/HTMLMutator.js.flow +0 -59
  379. package/dist/HardBreakNodeSpec.js +0 -20
  380. package/dist/HeadingNodeSpec.js +0 -64
  381. package/dist/HistoryRedoCommand.js +0 -24
  382. package/dist/HistoryRedoCommand.js.flow +0 -20
  383. package/dist/HistoryUndoCommand.js +0 -24
  384. package/dist/HistoryUndoCommand.js.flow +0 -20
  385. package/dist/HorizontalRuleCommand.js +0 -58
  386. package/dist/HorizontalRuleCommand.js.flow +0 -49
  387. package/dist/HorizontalRuleNodeSpec.js +0 -38
  388. package/dist/ImageUploadPlaceholderPlugin.js +0 -176
  389. package/dist/ImageUploadPlaceholderPlugin.js.flow +0 -192
  390. package/dist/LinkMarkSpec.js +0 -41
  391. package/dist/LinkMarkSpec.js.flow +0 -32
  392. package/dist/LinkSetURLCommand.js +0 -100
  393. package/dist/LinkSetURLCommand.js.flow +0 -103
  394. package/dist/LinkTooltipPlugin.js +0 -180
  395. package/dist/LinkTooltipPlugin.js.flow +0 -192
  396. package/dist/ListItemInsertNewLineCommand.js +0 -65
  397. package/dist/ListItemInsertNewLineCommand.js.flow +0 -55
  398. package/dist/ListItemMergeCommand.js +0 -183
  399. package/dist/ListItemMergeCommand.js.flow +0 -177
  400. package/dist/ListItemNodeSpec.js +0 -57
  401. package/dist/ListItemNodeSpec.js.flow +0 -52
  402. package/dist/ListSplitCommand.js +0 -36
  403. package/dist/ListSplitCommand.js.flow +0 -32
  404. package/dist/ListToggleCommand.js +0 -81
  405. package/dist/ListToggleCommand.js.flow +0 -77
  406. package/dist/MarkNames.js +0 -37
  407. package/dist/MarksClearCommand.js +0 -42
  408. package/dist/MarksClearCommand.js.flow +0 -42
  409. package/dist/MathEditCommand.js +0 -108
  410. package/dist/MathEditCommand.js.flow +0 -110
  411. package/dist/MathNodeSpec.js +0 -57
  412. package/dist/MathNodeSpec.js.flow +0 -46
  413. package/dist/NodeNames.js +0 -47
  414. package/dist/OrderedListNodeSpec.js +0 -125
  415. package/dist/OrderedListNodeSpec.js.flow +0 -132
  416. package/dist/ParagraphNodeSpec.js +0 -151
  417. package/dist/ParagraphNodeSpec.js.flow +0 -156
  418. package/dist/ParagraphSpacingCommand.js +0 -106
  419. package/dist/ParagraphSpacingCommand.js.flow +0 -121
  420. package/dist/PrintCommand.js +0 -33
  421. package/dist/PrintCommand.js.flow +0 -31
  422. package/dist/SelectionPlaceholderPlugin.js +0 -111
  423. package/dist/SpacerMarkSpec.js +0 -50
  424. package/dist/SpacerMarkSpec.js.flow +0 -47
  425. package/dist/StrikeMarkSpec.js +0 -24
  426. package/dist/StrikeMarkSpec.js.flow +0 -21
  427. package/dist/StrongMarkSpec.js +0 -29
  428. package/dist/StrongMarkSpec.js.flow +0 -25
  429. package/dist/StyleView.js +0 -23
  430. package/dist/TableBackgroundColorCommand.js +0 -65
  431. package/dist/TableBorderColorCommand.js +0 -65
  432. package/dist/TableCellColorCommand.js +0 -62
  433. package/dist/TableCellColorCommand.js.flow +0 -71
  434. package/dist/TableCellMenuPlugin.js +0 -129
  435. package/dist/TableCellMenuPlugin.js.flow +0 -132
  436. package/dist/TableInsertCommand.js +0 -117
  437. package/dist/TableInsertCommand.js.flow +0 -112
  438. package/dist/TableMergeCellsCommand.js +0 -97
  439. package/dist/TableMergeCellsCommand.js.flow +0 -90
  440. package/dist/TableNodesSpecs.js +0 -91
  441. package/dist/TableNodesSpecs.js.flow +0 -78
  442. package/dist/TablePlugins.js +0 -14
  443. package/dist/TablePlugins.js.flow +0 -14
  444. package/dist/TableResizePlugin.js +0 -543
  445. package/dist/TableResizePlugin.js.flow +0 -632
  446. package/dist/TextColorMarkSpec.js +0 -39
  447. package/dist/TextColorMarkSpec.js.flow +0 -35
  448. package/dist/TextHighlightMarkSpec.js +0 -42
  449. package/dist/TextHighlightMarkSpec.js.flow +0 -38
  450. package/dist/TextInsertTabSpaceCommand.js +0 -78
  451. package/dist/TextInsertTabSpaceCommand.js.flow +0 -83
  452. package/dist/TextNoWrapMarkSpec.js +0 -18
  453. package/dist/TextNoWrapMarkSpec.js.flow +0 -14
  454. package/dist/TextNodeSpec.js +0 -11
  455. package/dist/TextSelectionMarkSpec.js +0 -25
  456. package/dist/TextSelectionMarkSpec.js.flow +0 -24
  457. package/dist/TextSubMarkSpec.js +0 -22
  458. package/dist/TextSubMarkSpec.js.flow +0 -20
  459. package/dist/TextSuperMarkSpec.js +0 -22
  460. package/dist/TextSuperMarkSpec.js.flow +0 -20
  461. package/dist/TextUnderlineMarkSpec.js +0 -28
  462. package/dist/TextUnderlineMarkSpec.js.flow +0 -27
  463. package/dist/Types.js +0 -81
  464. package/dist/WebFontLoader.js +0 -28
  465. package/dist/blockQuoteInputRule.js +0 -35
  466. package/dist/blockQuoteInputRule.js.flow +0 -36
  467. package/dist/bom.xml +0 -14724
  468. package/dist/browser.js +0 -11
  469. package/dist/buildEditorPlugins.js +0 -44
  470. package/dist/buildEditorPlugins.js.flow +0 -49
  471. package/dist/buildInputRules.js +0 -72
  472. package/dist/buildInputRules.js.flow +0 -81
  473. package/dist/client/CollabConnector.js +0 -80
  474. package/dist/client/CollabConnector.js.flow +0 -90
  475. package/dist/client/EditorConnection.js +0 -290
  476. package/dist/client/EditorConnection.js.flow +0 -323
  477. package/dist/client/Licit.js +0 -621
  478. package/dist/client/Licit.js.flow +0 -708
  479. package/dist/client/Licit.test.js +0 -98
  480. package/dist/client/Licit.test.js.flow +0 -98
  481. package/dist/client/Reporter.js +0 -36
  482. package/dist/client/SimpleConnector.js +0 -59
  483. package/dist/client/http.js +0 -101
  484. package/dist/client/throttle.js +0 -26
  485. package/dist/convertFromDOMElement.js +0 -31
  486. package/dist/convertFromDOMElement.js.flow +0 -36
  487. package/dist/convertFromHTML.js +0 -15
  488. package/dist/convertFromHTML.js.flow +0 -17
  489. package/dist/convertFromJSON.js +0 -45
  490. package/dist/convertFromJSON.js.flow +0 -56
  491. package/dist/convertToCSSPTValue.js +0 -27
  492. package/dist/convertToJSON.js +0 -10
  493. package/dist/createCommand.js +0 -33
  494. package/dist/createCommand.js.flow +0 -40
  495. package/dist/createEditorKeyMap.js +0 -80
  496. package/dist/createEditorKeyMap.js.flow +0 -94
  497. package/dist/createEmptyEditorState.js +0 -24
  498. package/dist/createEmptyEditorState.js.flow +0 -31
  499. package/dist/createTableResizingPlugin.js +0 -79
  500. package/dist/findActionableCell.js +0 -65
  501. package/dist/findActionableCell.js.flow +0 -74
  502. package/dist/findActiveMark.js +0 -29
  503. package/dist/fonts/aclonica/Aclonica.woff2 +0 -0
  504. package/dist/fonts/acme/Acme.woff2 +0 -0
  505. package/dist/fonts/alegreya/Alegreya-Regular-C.woff2 +0 -0
  506. package/dist/fonts/alegreya/Alegreya-Regular-CE.woff2 +0 -0
  507. package/dist/fonts/alegreya/Alegreya-Regular-G.woff2 +0 -0
  508. package/dist/fonts/alegreya/Alegreya-Regular-GE.woff2 +0 -0
  509. package/dist/fonts/alegreya/Alegreya-Regular-L.woff2 +0 -0
  510. package/dist/fonts/alegreya/Alegreya-Regular-LE.woff2 +0 -0
  511. package/dist/fonts/alegreya/Alegreya-Regular-V.woff2 +0 -0
  512. package/dist/fonts/arial-black/ArialBlack-G.woff2 +0 -0
  513. package/dist/fonts/arial-black/ArialBlack-L.woff2 +0 -0
  514. package/dist/fonts/arial-black/ArialBlack-LE.woff2 +0 -0
  515. package/dist/fonts/courier-new/CourierNew-L.woff2 +0 -0
  516. package/dist/fonts/georgia/Georgia-C.woff2 +0 -0
  517. package/dist/fonts/georgia/Georgia-CE.woff2 +0 -0
  518. package/dist/fonts/georgia/Georgia-G.woff2 +0 -0
  519. package/dist/fonts/georgia/Georgia-GE.woff2 +0 -0
  520. package/dist/fonts/georgia/Georgia-L.woff2 +0 -0
  521. package/dist/fonts/georgia/Georgia-LE.woff2 +0 -0
  522. package/dist/fonts/material-icons/MaterialIcons-Regular.ttf +0 -0
  523. package/dist/fonts/tahoma/Tahoma-C.woff2 +0 -0
  524. package/dist/fonts/tahoma/Tahoma-CE.woff2 +0 -0
  525. package/dist/fonts/tahoma/Tahoma-G.woff2 +0 -0
  526. package/dist/fonts/tahoma/Tahoma-GE.woff2 +0 -0
  527. package/dist/fonts/tahoma/Tahoma-L.woff2 +0 -0
  528. package/dist/fonts/tahoma/Tahoma-LE.woff2 +0 -0
  529. package/dist/fonts/times/Times-L.woff2 +0 -0
  530. package/dist/fonts/times/Times-LE.woff2 +0 -0
  531. package/dist/fonts/times-new-roman/TimesNewRoman-C.woff2 +0 -0
  532. package/dist/fonts/times-new-roman/TimesNewRoman-CE.woff2 +0 -0
  533. package/dist/fonts/times-new-roman/TimesNewRoman-G.woff2 +0 -0
  534. package/dist/fonts/times-new-roman/TimesNewRoman-GE.woff2 +0 -0
  535. package/dist/fonts/times-new-roman/TimesNewRoman-L.woff2 +0 -0
  536. package/dist/fonts/times-new-roman/TimesNewRoman-LE.woff2 +0 -0
  537. package/dist/fonts/times-new-roman/TimesNewRoman-V.woff2 +0 -0
  538. package/dist/fonts/verdana/Verdana-C.woff2 +0 -0
  539. package/dist/fonts/verdana/Verdana-CE.woff2 +0 -0
  540. package/dist/fonts/verdana/Verdana-G.woff2 +0 -0
  541. package/dist/fonts/verdana/Verdana-GE.woff2 +0 -0
  542. package/dist/fonts/verdana/Verdana-L.woff2 +0 -0
  543. package/dist/fonts/verdana/Verdana-LE.woff2 +0 -0
  544. package/dist/fonts/verdana/Verdana-V.woff2 +0 -0
  545. package/dist/hyphenize.js +0 -20
  546. package/dist/index.js +0 -80
  547. package/dist/insertTable.js +0 -50
  548. package/dist/insertTable.js.flow +0 -56
  549. package/dist/isEditorStateEmpty.js +0 -38
  550. package/dist/isTableNode.js +0 -12
  551. package/dist/joinDown.js +0 -28
  552. package/dist/joinListNode.js +0 -38
  553. package/dist/joinUp.js +0 -33
  554. package/dist/keymaps.js +0 -106
  555. package/dist/lookUpElement.js +0 -15
  556. package/dist/nodeAt.js +0 -15
  557. package/dist/normalizeHTML.js +0 -70
  558. package/dist/normalizeHTML.js.flow +0 -78
  559. package/dist/patchAnchorElements.js +0 -37
  560. package/dist/patchAnchorElements.js.flow +0 -38
  561. package/dist/patchBreakElements.js +0 -28
  562. package/dist/patchElementInlineStyles.js +0 -70
  563. package/dist/patchElementInlineStyles.js.flow +0 -92
  564. package/dist/patchListElements.js +0 -248
  565. package/dist/patchListElements.js.flow +0 -276
  566. package/dist/patchMathElements.js +0 -69
  567. package/dist/patchParagraphElements.js +0 -21
  568. package/dist/patchParagraphElements.js.flow +0 -20
  569. package/dist/patchStyleElements.js +0 -162
  570. package/dist/patchStyleElements.js.flow +0 -194
  571. package/dist/patchTableElements.js +0 -98
  572. package/dist/patchTableElements.js.flow +0 -89
  573. package/dist/rebaseDocWithSteps.js +0 -32
  574. package/dist/sanitizeURL.js +0 -16
  575. package/dist/splitListItem.js +0 -180
  576. package/dist/splitListItem.js.flow +0 -191
  577. package/dist/styles.css +0 -19
  578. package/dist/styles0.css +0 -29
  579. package/dist/toClosestFontPtSize.js +0 -25
  580. package/dist/toClosestFontPtSize.js.flow +0 -22
  581. package/dist/toSafeHTMLDocument.js +0 -13
  582. package/dist/toggleBlockquote.js +0 -86
  583. package/dist/toggleBlockquote.js.flow +0 -91
  584. package/dist/toggleCodeBlock.js +0 -89
  585. package/dist/ui/AlertInfo.js +0 -59
  586. package/dist/ui/BookmarkNodeView.js +0 -77
  587. package/dist/ui/BookmarkNodeView.js.flow +0 -66
  588. package/dist/ui/CommandButton.js +0 -65
  589. package/dist/ui/CommandMenu.js +0 -83
  590. package/dist/ui/CommandMenu.js.flow +0 -75
  591. package/dist/ui/CommandMenuButton.js +0 -120
  592. package/dist/ui/CommandMenuButton.js.flow +0 -131
  593. package/dist/ui/CustomEditorView.js +0 -34
  594. package/dist/ui/CustomEditorView.js.flow +0 -28
  595. package/dist/ui/CustomMenu.js +0 -23
  596. package/dist/ui/CustomMenuItem.js +0 -43
  597. package/dist/ui/CustomNodeView.js +0 -193
  598. package/dist/ui/CustomNodeView.js.flow +0 -200
  599. package/dist/ui/CustomRadioButton.js +0 -67
  600. package/dist/ui/CustomRadioButton.js.flow +0 -65
  601. package/dist/ui/DocLayoutEditor.js +0 -142
  602. package/dist/ui/DocLayoutEditor.js.flow +0 -146
  603. package/dist/ui/Editor.js +0 -289
  604. package/dist/ui/Editor.js.flow +0 -288
  605. package/dist/ui/EditorFrameset.js +0 -86
  606. package/dist/ui/EditorToolbar.js +0 -206
  607. package/dist/ui/EditorToolbar.js.flow +0 -211
  608. package/dist/ui/EditorToolbarConfig.js +0 -148
  609. package/dist/ui/EditorToolbarConfig.js.flow +0 -164
  610. package/dist/ui/FontSizeCommandMenuButton.js +0 -57
  611. package/dist/ui/FontSizeCommandMenuButton.js.flow +0 -66
  612. package/dist/ui/FontTypeCommandMenuButton.js +0 -55
  613. package/dist/ui/FontTypeCommandMenuButton.js.flow +0 -49
  614. package/dist/ui/Frag.js +0 -19
  615. package/dist/ui/Icon.js +0 -104
  616. package/dist/ui/Icon.js.flow +0 -89
  617. package/dist/ui/ImageInlineEditor.js +0 -76
  618. package/dist/ui/KeyCodes.js +0 -23
  619. package/dist/ui/LinkTooltip.js +0 -92
  620. package/dist/ui/LinkTooltip.js.flow +0 -85
  621. package/dist/ui/LinkURLEditor.js +0 -107
  622. package/dist/ui/LinkURLEditor.js.flow +0 -111
  623. package/dist/ui/ListItemNodeView.js +0 -91
  624. package/dist/ui/ListItemNodeView.js.flow +0 -98
  625. package/dist/ui/ListTypeButton.js +0 -123
  626. package/dist/ui/ListTypeButton.js.flow +0 -131
  627. package/dist/ui/ListTypeCommandButton.js +0 -81
  628. package/dist/ui/ListTypeCommandButton.js.flow +0 -85
  629. package/dist/ui/ListTypeMenu.js +0 -72
  630. package/dist/ui/ListTypeMenu.js.flow +0 -70
  631. package/dist/ui/LoadingIndicator.js +0 -28
  632. package/dist/ui/MathEditor.js +0 -80
  633. package/dist/ui/MathEditor.js.flow +0 -78
  634. package/dist/ui/MathInlineEditor.js +0 -111
  635. package/dist/ui/MathInlineEditor.js.flow +0 -102
  636. package/dist/ui/MathNodeView.js +0 -190
  637. package/dist/ui/MathNodeView.js.flow +0 -175
  638. package/dist/ui/PasteMenu.js +0 -56
  639. package/dist/ui/ResizeObserver.js +0 -94
  640. package/dist/ui/RichTextEditor.js +0 -121
  641. package/dist/ui/RichTextEditor.js.flow +0 -133
  642. package/dist/ui/SelectionObserver.js +0 -116
  643. package/dist/ui/TableCellMenu.js +0 -53
  644. package/dist/ui/TableCellMenu.js.flow +0 -51
  645. package/dist/ui/TableGridSizeEditor.js +0 -191
  646. package/dist/ui/TableGridSizeEditor.js.flow +0 -184
  647. package/dist/ui/TableNodeView.js +0 -31
  648. package/dist/ui/bindScrollHandler.js +0 -39
  649. package/dist/ui/canUseCSSFont.js +0 -37
  650. package/dist/ui/czi-link-tooltip.css +0 -71
  651. package/dist/ui/czi-table.css +0 -86
  652. package/dist/ui/czi-vars.css +0 -2
  653. package/dist/ui/findActiveFontSize.js +0 -61
  654. package/dist/ui/findActiveFontSize.js.flow +0 -58
  655. package/dist/ui/findActiveFontType.js +0 -42
  656. package/dist/ui/findActiveFontType.js.flow +0 -38
  657. package/dist/ui/handleEditorDrop.js +0 -33
  658. package/dist/ui/handleEditorDrop.js.flow +0 -28
  659. package/dist/ui/handleEditorKeyDown.js +0 -29
  660. package/dist/ui/handleEditorKeyDown.js.flow +0 -39
  661. package/dist/ui/handleEditorPaste.js +0 -30
  662. package/dist/ui/handleEditorPaste.js.flow +0 -33
  663. package/dist/ui/htmlElementToRect.js +0 -25
  664. package/dist/ui/injectStyleSheet.js +0 -46
  665. package/dist/ui/isElementFullyVisible.js +0 -29
  666. package/dist/ui/isOffline.js +0 -12
  667. package/dist/ui/isReactClass.js +0 -16
  668. package/dist/ui/mathquill-editor/MathQuillEditor.js +0 -148
  669. package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +0 -159
  670. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js +0 -488
  671. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +0 -60
  672. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +0 -48
  673. package/dist/ui/mathquill-editor/mathquill-import-kludge.js +0 -30
  674. package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +0 -24
  675. package/dist/ui/renderLaTeXAsHTML.js +0 -45
  676. package/dist/ui/renderLaTeXAsHTML.js.flow +0 -46
  677. package/dist/ui/resolveImage.js +0 -125
  678. package/dist/ui/toCSSColor.js +0 -52
  679. package/dist/ui/toCSSLineSpacing.js +0 -59
  680. package/dist/ui/toHexColor.js +0 -29
  681. package/dist/ui/uuid.js +0 -12
  682. package/dist/uuid.js +0 -12
  683. package/flow-typed/@modusoperandilicit-customstyles.js +0 -5
  684. package/flow-typed/@modusoperandilicit-doc-attrs-step.js +0 -5
  685. package/flow-typed/@modusoperandilicit-ui-commands.js +0 -5
  686. package/flow-typed/create-emotion.js +0 -5
  687. package/flow-typed/docs-editor.js +0 -3
  688. package/flow-typed/draft-convert.js +0 -3
  689. package/flow-typed/draft-js.js +0 -3
  690. package/flow-typed/flatted.js +0 -5
  691. package/flow-typed/jquery.js +0 -5
  692. package/flow-typed/katex.js +0 -7
  693. package/flow-typed/mathquill.js +0 -5
  694. package/flow-typed/prosemirror-collab.js +0 -5
  695. package/flow-typed/prosemirror-commands.js +0 -5
  696. package/flow-typed/prosemirror-dev-tools.js +0 -5
  697. package/flow-typed/prosemirror-dropcursor.js +0 -5
  698. package/flow-typed/prosemirror-gapcursor.js +0 -5
  699. package/flow-typed/prosemirror-history.js +0 -5
  700. package/flow-typed/prosemirror-inputrules.js +0 -5
  701. package/flow-typed/prosemirror-keymap.js +0 -5
  702. package/flow-typed/prosemirror-model.js +0 -5
  703. package/flow-typed/prosemirror-state.js +0 -5
  704. package/flow-typed/prosemirror-tables.js +0 -5
  705. package/flow-typed/prosemirror-transform.js +0 -5
  706. package/flow-typed/prosemirror-utils.js +0 -5
  707. package/flow-typed/prosemirror-view.js +0 -5
  708. package/flow-typed/resize-observer-polyfill.js +0 -5
  709. package/flow-typed/uuid.js +0 -5
  710. package/jest.config.js +0 -207
  711. package/jest.setup.js +0 -5
  712. package/licit/client/CustomLicitRuntime.js +0 -298
  713. package/licit/client/CustomStyleRuntime.js +0 -136
  714. package/licit/client/index.js +0 -367
  715. package/licit/index.html +0 -11
  716. package/licit/server/collab/instance.js +0 -236
  717. package/licit/server/collab/route.js +0 -69
  718. package/licit/server/collab/server.js +0 -317
  719. package/licit/server/collab/start.js +0 -13
  720. package/licit/server/image/start.js +0 -58
  721. package/lint.sh +0 -4
  722. package/run_collab_server.py +0 -21
  723. package/run_image_server.py +0 -20
  724. package/run_web_server.py +0 -25
  725. package/scripts/build_bin.js +0 -10
  726. package/scripts/build_bin.py +0 -103
  727. package/scripts/ci_check_dist.sh +0 -14
  728. package/scripts/env.js +0 -6
  729. package/scripts/webserver.js +0 -35
  730. package/sonar-project.properties +0 -12
  731. package/src/BlockquoteInsertNewLineCommand.js +0 -55
  732. package/src/BlockquoteNodeSpec.js +0 -30
  733. package/src/BlockquoteToggleCommand.js +0 -34
  734. package/src/BookmarkNodeSpec.js +0 -39
  735. package/src/BulletListNodeSpec.js +0 -61
  736. package/src/CZIProseMirror.js +0 -90
  737. package/src/CodeBlockCommand.js +0 -43
  738. package/src/CodeBlockNodeSpec.js +0 -24
  739. package/src/CodeMarkSpec.js +0 -14
  740. package/src/ContentPlaceholderPlugin.js +0 -187
  741. package/src/CursorPlaceholderPlugin.js +0 -115
  742. package/src/DocLayoutCommand.js +0 -94
  743. package/src/DocNodeSpec.js +0 -64
  744. package/src/EMMarkSpec.js +0 -14
  745. package/src/EditorCommands.js +0 -124
  746. package/src/EditorKeyMap.js +0 -187
  747. package/src/EditorMarks.js +0 -71
  748. package/src/EditorNodes.js +0 -59
  749. package/src/EditorPageLayoutPlugin.js +0 -67
  750. package/src/EditorPlugins.js +0 -8
  751. package/src/EditorSchema.js +0 -12
  752. package/src/EditorState.js +0 -7
  753. package/src/FontSizeMarkSpec.js +0 -49
  754. package/src/FontTypeMarkSpec.js +0 -80
  755. package/src/HTMLMutator.js +0 -59
  756. package/src/HardBreakNodeSpec.js +0 -15
  757. package/src/HeadingNodeSpec.js +0 -52
  758. package/src/HistoryRedoCommand.js +0 -20
  759. package/src/HistoryUndoCommand.js +0 -20
  760. package/src/HorizontalRuleCommand.js +0 -49
  761. package/src/HorizontalRuleNodeSpec.js +0 -39
  762. package/src/ImageUploadPlaceholderPlugin.js +0 -192
  763. package/src/LinkMarkSpec.js +0 -32
  764. package/src/LinkSetURLCommand.js +0 -103
  765. package/src/LinkTooltipPlugin.js +0 -192
  766. package/src/ListItemInsertNewLineCommand.js +0 -55
  767. package/src/ListItemMergeCommand.js +0 -177
  768. package/src/ListItemNodeSpec.js +0 -52
  769. package/src/ListSplitCommand.js +0 -32
  770. package/src/ListToggleCommand.js +0 -77
  771. package/src/MarkNames.js +0 -18
  772. package/src/MarksClearCommand.js +0 -42
  773. package/src/MathEditCommand.js +0 -110
  774. package/src/MathNodeSpec.js +0 -46
  775. package/src/NodeNames.js +0 -23
  776. package/src/OrderedListNodeSpec.js +0 -132
  777. package/src/ParagraphNodeSpec.js +0 -156
  778. package/src/ParagraphSpacingCommand.js +0 -121
  779. package/src/PrintCommand.js +0 -31
  780. package/src/SelectionPlaceholderPlugin.js +0 -131
  781. package/src/SpacerMarkSpec.js +0 -47
  782. package/src/StrikeMarkSpec.js +0 -21
  783. package/src/StrongMarkSpec.js +0 -25
  784. package/src/StyleView.js +0 -19
  785. package/src/TableBackgroundColorCommand.js +0 -75
  786. package/src/TableBorderColorCommand.js +0 -75
  787. package/src/TableCellColorCommand.js +0 -71
  788. package/src/TableCellMenuPlugin.js +0 -132
  789. package/src/TableInsertCommand.js +0 -112
  790. package/src/TableMergeCellsCommand.js +0 -90
  791. package/src/TableNodesSpecs.js +0 -78
  792. package/src/TablePlugins.js +0 -14
  793. package/src/TableResizePlugin.js +0 -632
  794. package/src/TextColorMarkSpec.js +0 -35
  795. package/src/TextHighlightMarkSpec.js +0 -38
  796. package/src/TextInsertTabSpaceCommand.js +0 -83
  797. package/src/TextNoWrapMarkSpec.js +0 -14
  798. package/src/TextNodeSpec.js +0 -7
  799. package/src/TextSelectionMarkSpec.js +0 -24
  800. package/src/TextSubMarkSpec.js +0 -20
  801. package/src/TextSuperMarkSpec.js +0 -20
  802. package/src/TextUnderlineMarkSpec.js +0 -27
  803. package/src/Types.js +0 -75
  804. package/src/WebFontLoader.js +0 -22
  805. package/src/blockQuoteInputRule.js +0 -36
  806. package/src/browser.js +0 -7
  807. package/src/buildEditorPlugins.js +0 -49
  808. package/src/buildInputRules.js +0 -81
  809. package/src/client/CollabConnector.js +0 -90
  810. package/src/client/EditorConnection.js +0 -323
  811. package/src/client/Licit.js +0 -708
  812. package/src/client/Licit.test.js +0 -98
  813. package/src/client/Reporter.js +0 -37
  814. package/src/client/SimpleConnector.js +0 -61
  815. package/src/client/http.js +0 -70
  816. package/src/client/licit.css +0 -12
  817. package/src/client/throttle.js +0 -27
  818. package/src/convertFromDOMElement.js +0 -36
  819. package/src/convertFromHTML.js +0 -17
  820. package/src/convertFromJSON.js +0 -56
  821. package/src/convertToCSSPTValue.js +0 -22
  822. package/src/convertToJSON.js +0 -7
  823. package/src/createCommand.js +0 -40
  824. package/src/createEditorKeyMap.js +0 -94
  825. package/src/createEmptyEditorState.js +0 -31
  826. package/src/createTableResizingPlugin.js +0 -86
  827. package/src/findActionableCell.js +0 -74
  828. package/src/findActiveMark.js +0 -32
  829. package/src/hyphenize.js +0 -17
  830. package/src/index.js +0 -10
  831. package/src/insertTable.js +0 -56
  832. package/src/isEditorStateEmpty.js +0 -32
  833. package/src/isTableNode.js +0 -15
  834. package/src/joinDown.js +0 -27
  835. package/src/joinListNode.js +0 -55
  836. package/src/joinUp.js +0 -39
  837. package/src/keymaps.js +0 -185
  838. package/src/lookUpElement.js +0 -14
  839. package/src/nodeAt.js +0 -12
  840. package/src/normalizeHTML.js +0 -78
  841. package/src/patchAnchorElements.js +0 -38
  842. package/src/patchBreakElements.js +0 -22
  843. package/src/patchElementInlineStyles.js +0 -92
  844. package/src/patchListElements.js +0 -276
  845. package/src/patchMathElements.js +0 -60
  846. package/src/patchParagraphElements.js +0 -20
  847. package/src/patchStyleElements.js +0 -194
  848. package/src/patchTableElements.js +0 -89
  849. package/src/rebaseDocWithSteps.js +0 -42
  850. package/src/sanitizeURL.js +0 -13
  851. package/src/splitListItem.js +0 -191
  852. package/src/styles.css +0 -19
  853. package/src/styles0.css +0 -29
  854. package/src/toClosestFontPtSize.js +0 -22
  855. package/src/toSafeHTMLDocument.js +0 -9
  856. package/src/toggleBlockquote.js +0 -91
  857. package/src/toggleCodeBlock.js +0 -102
  858. package/src/ui/AlertInfo.js +0 -64
  859. package/src/ui/BookmarkNodeView.js +0 -66
  860. package/src/ui/CommandButton.js +0 -68
  861. package/src/ui/CommandMenu.js +0 -75
  862. package/src/ui/CommandMenuButton.js +0 -131
  863. package/src/ui/CustomEditorView.js +0 -28
  864. package/src/ui/CustomMenu.js +0 -17
  865. package/src/ui/CustomMenuItem.js +0 -36
  866. package/src/ui/CustomNodeView.js +0 -200
  867. package/src/ui/CustomRadioButton.js +0 -65
  868. package/src/ui/DocLayoutEditor.js +0 -146
  869. package/src/ui/Editor.js +0 -288
  870. package/src/ui/EditorFrameset.js +0 -81
  871. package/src/ui/EditorToolbar.js +0 -211
  872. package/src/ui/EditorToolbarConfig.js +0 -164
  873. package/src/ui/FontSizeCommandMenuButton.js +0 -66
  874. package/src/ui/FontTypeCommandMenuButton.js +0 -49
  875. package/src/ui/Frag.js +0 -13
  876. package/src/ui/Icon.js +0 -89
  877. package/src/ui/ImageInlineEditor.js +0 -67
  878. package/src/ui/KeyCodes.js +0 -12
  879. package/src/ui/LinkTooltip.js +0 -85
  880. package/src/ui/LinkURLEditor.js +0 -111
  881. package/src/ui/ListItemNodeView.js +0 -98
  882. package/src/ui/ListTypeButton.js +0 -131
  883. package/src/ui/ListTypeCommandButton.js +0 -85
  884. package/src/ui/ListTypeMenu.js +0 -70
  885. package/src/ui/LoadingIndicator.js +0 -20
  886. package/src/ui/MathEditor.js +0 -78
  887. package/src/ui/MathInlineEditor.js +0 -102
  888. package/src/ui/MathNodeView.js +0 -175
  889. package/src/ui/PasteMenu.js +0 -57
  890. package/src/ui/ResizeObserver.js +0 -106
  891. package/src/ui/RichTextEditor.js +0 -133
  892. package/src/ui/SelectionObserver.js +0 -134
  893. package/src/ui/TableCellMenu.js +0 -51
  894. package/src/ui/TableGridSizeEditor.js +0 -184
  895. package/src/ui/TableNodeView.js +0 -25
  896. package/src/ui/bindScrollHandler.js +0 -46
  897. package/src/ui/canUseCSSFont.js +0 -43
  898. package/src/ui/czi-body-layout-editor.css +0 -16
  899. package/src/ui/czi-bookmark-view.css +0 -10
  900. package/src/ui/czi-cursor-placeholder.css +0 -36
  901. package/src/ui/czi-custom-menu-button.css +0 -18
  902. package/src/ui/czi-custom-menu-item.css +0 -30
  903. package/src/ui/czi-custom-menu.css +0 -8
  904. package/src/ui/czi-custom-radio-button.css +0 -80
  905. package/src/ui/czi-custom-scrollbar.css +0 -21
  906. package/src/ui/czi-editor-frameset.css +0 -81
  907. package/src/ui/czi-editor-toolbar.css +0 -122
  908. package/src/ui/czi-editor.css +0 -220
  909. package/src/ui/czi-form.css +0 -107
  910. package/src/ui/czi-frag.css +0 -3
  911. package/src/ui/czi-heading.css +0 -40
  912. package/src/ui/czi-icon.css +0 -72
  913. package/src/ui/czi-image-resize-box.css +0 -165
  914. package/src/ui/czi-image-upload-editor.css +0 -57
  915. package/src/ui/czi-image-upload-placeholder.css +0 -50
  916. package/src/ui/czi-image-url-editor.css +0 -38
  917. package/src/ui/czi-image-view.css +0 -125
  918. package/src/ui/czi-indent.css +0 -137
  919. package/src/ui/czi-inline-editor.css +0 -20
  920. package/src/ui/czi-link-tooltip.css +0 -71
  921. package/src/ui/czi-list.css +0 -410
  922. package/src/ui/czi-loading-indicator.css +0 -111
  923. package/src/ui/czi-math-view.css +0 -62
  924. package/src/ui/czi-selection-placeholder.css +0 -24
  925. package/src/ui/czi-table-cell-menu.css +0 -14
  926. package/src/ui/czi-table-grid-size-editor.css +0 -37
  927. package/src/ui/czi-table.css +0 -86
  928. package/src/ui/czi-vars.css +0 -2
  929. package/src/ui/findActiveFontSize.js +0 -58
  930. package/src/ui/findActiveFontType.js +0 -38
  931. package/src/ui/fonts.css +0 -471
  932. package/src/ui/handleEditorDrop.js +0 -28
  933. package/src/ui/handleEditorKeyDown.js +0 -39
  934. package/src/ui/handleEditorPaste.js +0 -33
  935. package/src/ui/htmlElementToRect.js +0 -18
  936. package/src/ui/icon-font.css +0 -10
  937. package/src/ui/injectStyleSheet.js +0 -42
  938. package/src/ui/isElementFullyVisible.js +0 -26
  939. package/src/ui/isOffline.js +0 -8
  940. package/src/ui/isReactClass.js +0 -12
  941. package/src/ui/listType.css +0 -21
  942. package/src/ui/mathquill-editor/MathQuillEditor.js +0 -159
  943. package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +0 -483
  944. package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +0 -48
  945. package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +0 -39
  946. package/src/ui/mathquill-editor/czi-mathquill-editor.css +0 -50
  947. package/src/ui/mathquill-editor/mathquill-import-kludge.js +0 -24
  948. package/src/ui/renderLaTeXAsHTML.js +0 -46
  949. package/src/ui/resolveImage.js +0 -123
  950. package/src/ui/toCSSColor.js +0 -51
  951. package/src/ui/toCSSLineSpacing.js +0 -55
  952. package/src/ui/toHexColor.js +0 -26
  953. package/src/ui/uuid.js +0 -9
  954. package/src/uuid.js +0 -9
  955. package/style-service.Dockerfile +0 -26
  956. package/utils/build_bin.js +0 -9
  957. package/utils/build_image_server.js +0 -72
  958. package/utils/build_licit_collab_server.js +0 -76
  959. package/utils/build_web_server.js +0 -37
  960. package/utils/env.js +0 -6
  961. package/webpack.config.js +0 -128
  962. /package/{dist/CodeBlockNodeSpec.js.flow → CodeBlockNodeSpec.js.flow} +0 -0
  963. /package/{dist/CursorPlaceholderPlugin.js.flow → CursorPlaceholderPlugin.js.flow} +0 -0
  964. /package/{dist/EditorState.js.flow → EditorState.js.flow} +0 -0
  965. /package/{dist/HardBreakNodeSpec.js.flow → HardBreakNodeSpec.js.flow} +0 -0
  966. /package/{dist/HeadingNodeSpec.js.flow → HeadingNodeSpec.js.flow} +0 -0
  967. /package/{dist/HorizontalRuleNodeSpec.js.flow → HorizontalRuleNodeSpec.js.flow} +0 -0
  968. /package/{dist/MarkNames.js.flow → MarkNames.js.flow} +0 -0
  969. /package/{dist/NodeNames.js.flow → NodeNames.js.flow} +0 -0
  970. /package/{dist/SelectionPlaceholderPlugin.js.flow → SelectionPlaceholderPlugin.js.flow} +0 -0
  971. /package/{dist/StyleView.js.flow → StyleView.js.flow} +0 -0
  972. /package/{dist/TableBackgroundColorCommand.js.flow → TableBackgroundColorCommand.js.flow} +0 -0
  973. /package/{dist/TableBorderColorCommand.js.flow → TableBorderColorCommand.js.flow} +0 -0
  974. /package/{dist/TextNodeSpec.js.flow → TextNodeSpec.js.flow} +0 -0
  975. /package/{dist/Types.js.flow → Types.js.flow} +0 -0
  976. /package/{dist/WebFontLoader.js.flow → WebFontLoader.js.flow} +0 -0
  977. /package/{dist/browser.js.flow → browser.js.flow} +0 -0
  978. /package/{dist/client → client}/Reporter.js.flow +0 -0
  979. /package/{dist/client → client}/SimpleConnector.js.flow +0 -0
  980. /package/{dist/client → client}/http.js.flow +0 -0
  981. /package/{dist/client → client}/licit.css +0 -0
  982. /package/{dist/client → client}/throttle.js.flow +0 -0
  983. /package/{dist/convertToCSSPTValue.js.flow → convertToCSSPTValue.js.flow} +0 -0
  984. /package/{dist/convertToJSON.js.flow → convertToJSON.js.flow} +0 -0
  985. /package/{dist/createTableResizingPlugin.js.flow → createTableResizingPlugin.js.flow} +0 -0
  986. /package/{dist/findActiveMark.js.flow → findActiveMark.js.flow} +0 -0
  987. /package/{dist/hyphenize.js.flow → hyphenize.js.flow} +0 -0
  988. /package/{dist/index.js.flow → index.js.flow} +0 -0
  989. /package/{dist/isEditorStateEmpty.js.flow → isEditorStateEmpty.js.flow} +0 -0
  990. /package/{dist/isTableNode.js.flow → isTableNode.js.flow} +0 -0
  991. /package/{dist/joinDown.js.flow → joinDown.js.flow} +0 -0
  992. /package/{dist/joinListNode.js.flow → joinListNode.js.flow} +0 -0
  993. /package/{dist/joinUp.js.flow → joinUp.js.flow} +0 -0
  994. /package/{dist/keymaps.js.flow → keymaps.js.flow} +0 -0
  995. /package/{dist/lookUpElement.js.flow → lookUpElement.js.flow} +0 -0
  996. /package/{dist/nodeAt.js.flow → nodeAt.js.flow} +0 -0
  997. /package/{dist/patchBreakElements.js.flow → patchBreakElements.js.flow} +0 -0
  998. /package/{dist/patchMathElements.js.flow → patchMathElements.js.flow} +0 -0
  999. /package/{dist/rebaseDocWithSteps.js.flow → rebaseDocWithSteps.js.flow} +0 -0
  1000. /package/{dist/sanitizeURL.js.flow → sanitizeURL.js.flow} +0 -0
  1001. /package/{dist/toSafeHTMLDocument.js.flow → toSafeHTMLDocument.js.flow} +0 -0
  1002. /package/{dist/toggleCodeBlock.js.flow → toggleCodeBlock.js.flow} +0 -0
  1003. /package/{dist/ui → ui}/AlertInfo.js.flow +0 -0
  1004. /package/{dist/ui → ui}/CommandButton.js.flow +0 -0
  1005. /package/{dist/ui → ui}/CustomMenu.js.flow +0 -0
  1006. /package/{dist/ui → ui}/CustomMenuItem.js.flow +0 -0
  1007. /package/{dist/ui → ui}/EditorFrameset.js.flow +0 -0
  1008. /package/{dist/ui → ui}/Frag.js.flow +0 -0
  1009. /package/{dist/ui → ui}/ImageInlineEditor.js.flow +0 -0
  1010. /package/{dist/ui → ui}/KeyCodes.js.flow +0 -0
  1011. /package/{dist/ui → ui}/LoadingIndicator.js.flow +0 -0
  1012. /package/{dist/ui → ui}/PasteMenu.js.flow +0 -0
  1013. /package/{dist/ui → ui}/ResizeObserver.js.flow +0 -0
  1014. /package/{dist/ui → ui}/SelectionObserver.js.flow +0 -0
  1015. /package/{dist/ui → ui}/TableNodeView.js.flow +0 -0
  1016. /package/{dist/ui → ui}/bindScrollHandler.js.flow +0 -0
  1017. /package/{dist/ui → ui}/canUseCSSFont.js.flow +0 -0
  1018. /package/{dist/ui → ui}/czi-body-layout-editor.css +0 -0
  1019. /package/{dist/ui → ui}/czi-bookmark-view.css +0 -0
  1020. /package/{dist/ui → ui}/czi-cursor-placeholder.css +0 -0
  1021. /package/{dist/ui → ui}/czi-custom-menu-button.css +0 -0
  1022. /package/{dist/ui → ui}/czi-custom-menu-item.css +0 -0
  1023. /package/{dist/ui → ui}/czi-custom-menu.css +0 -0
  1024. /package/{dist/ui → ui}/czi-custom-radio-button.css +0 -0
  1025. /package/{dist/ui → ui}/czi-custom-scrollbar.css +0 -0
  1026. /package/{dist/ui → ui}/czi-editor-frameset.css +0 -0
  1027. /package/{dist/ui → ui}/czi-editor-toolbar.css +0 -0
  1028. /package/{dist/ui → ui}/czi-editor.css +0 -0
  1029. /package/{dist/ui → ui}/czi-form.css +0 -0
  1030. /package/{dist/ui → ui}/czi-frag.css +0 -0
  1031. /package/{dist/ui → ui}/czi-heading.css +0 -0
  1032. /package/{dist/ui → ui}/czi-icon.css +0 -0
  1033. /package/{dist/ui → ui}/czi-image-resize-box.css +0 -0
  1034. /package/{dist/ui → ui}/czi-image-upload-editor.css +0 -0
  1035. /package/{dist/ui → ui}/czi-image-upload-placeholder.css +0 -0
  1036. /package/{dist/ui → ui}/czi-image-url-editor.css +0 -0
  1037. /package/{dist/ui → ui}/czi-image-view.css +0 -0
  1038. /package/{dist/ui → ui}/czi-indent.css +0 -0
  1039. /package/{dist/ui → ui}/czi-inline-editor.css +0 -0
  1040. /package/{dist/ui → ui}/czi-list.css +0 -0
  1041. /package/{dist/ui → ui}/czi-loading-indicator.css +0 -0
  1042. /package/{dist/ui → ui}/czi-math-view.css +0 -0
  1043. /package/{dist/ui → ui}/czi-selection-placeholder.css +0 -0
  1044. /package/{dist/ui → ui}/czi-table-cell-menu.css +0 -0
  1045. /package/{dist/ui → ui}/czi-table-grid-size-editor.css +0 -0
  1046. /package/{dist/ui → ui}/fonts.css +0 -0
  1047. /package/{dist/ui → ui}/htmlElementToRect.js.flow +0 -0
  1048. /package/{dist/ui → ui}/icon-font.css +0 -0
  1049. /package/{dist/ui → ui}/injectStyleSheet.js.flow +0 -0
  1050. /package/{dist/ui → ui}/isElementFullyVisible.js.flow +0 -0
  1051. /package/{dist/ui → ui}/isOffline.js.flow +0 -0
  1052. /package/{dist/ui → ui}/isReactClass.js.flow +0 -0
  1053. /package/{dist/ui → ui}/listType.css +0 -0
  1054. /package/{dist/ui → ui}/mathquill-editor/MathQuillEditorSymbols.js.flow +0 -0
  1055. /package/{dist/ui → ui}/mathquill-editor/czi-mathquill-editor-symbols-panel.css +0 -0
  1056. /package/{dist/ui → ui}/mathquill-editor/czi-mathquill-editor.css +0 -0
  1057. /package/{dist/ui → ui}/resolveImage.js.flow +0 -0
  1058. /package/{dist/ui → ui}/toCSSColor.js.flow +0 -0
  1059. /package/{dist/ui → ui}/toCSSLineSpacing.js.flow +0 -0
  1060. /package/{dist/ui → ui}/toHexColor.js.flow +0 -0
  1061. /package/{dist/ui → ui}/uuid.js.flow +0 -0
  1062. /package/{dist/uuid.js.flow → uuid.js.flow} +0 -0
@@ -1,708 +0,0 @@
1
- // @flow
2
- import { EditorState, TextSelection, Plugin } from 'prosemirror-state';
3
- import { Node, Schema } from 'prosemirror-model';
4
- import { Transform } from 'prosemirror-transform';
5
- import { EditorView } from 'prosemirror-view';
6
- import * as React from 'react';
7
- import ReactDOM from 'react-dom';
8
- import { stringify } from 'flatted';
9
-
10
- import convertFromJSON from '../convertFromJSON';
11
- import RichTextEditor from '../ui/RichTextEditor';
12
- import uuid from '../uuid';
13
- import SimpleConnector from './SimpleConnector';
14
- import CollabConnector from './CollabConnector';
15
- import { EMPTY_DOC_JSON } from '../createEmptyEditorState';
16
- import type { EditorRuntime } from '../Types';
17
- import {
18
- createPopUp,
19
- atViewportCenter,
20
- } from '@modusoperandi/licit-ui-commands';
21
- import AlertInfo from '../ui/AlertInfo';
22
- import { SetDocAttrStep } from '@modusoperandi/licit-doc-attrs-step';
23
- import './licit.css';
24
- import DefaultEditorPlugins from '../buildEditorPlugins';
25
- import EditorMarks from '../EditorMarks';
26
- import EditorNodes from '../EditorNodes';
27
- import convertFromHTML from '../convertFromHTML';
28
-
29
- export const DataType = Object.freeze({
30
- JSON: Symbol('json'),
31
- HTML: Symbol('html'),
32
- });
33
-
34
- /**
35
- * LICIT properties:
36
- * docID {string} [] Collaborative Doument ID
37
- * collabServiceURL {string} [/collaboration-service] Collaboration Service URL
38
- * debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
39
- * width {string} [100%] Width of the editor.
40
- * height {string} [100%] Height of the editor.
41
- * readOnly {boolean} [false] To enable/disable editing mode.
42
- * onChange {@callback} [null] Fires after each significant change.
43
- * @param data {JSON} Modified document data.
44
- * onReady {@callback} [null] Fires when the editor is fully ready.
45
- * @param ref {LICIT} Rerefence of the editor.
46
- * data {JSON|HTML} [null] Document data to be loaded into the editor.
47
- * dataType {JSON|HTML} [JSON] Document data to be loaded into the editor.
48
- * disabled {boolean} [false] Disable the editor.
49
- * embedded {boolean} [false] Disable/Enable inline behaviour.
50
- * plugins [plugins] External Plugins into the editor.
51
- */
52
- class Licit extends React.Component<any, any> {
53
- _runtime: EditorRuntime;
54
- _connector: SimpleConnector;
55
- _clientID: string;
56
- _editorView: EditorView; // This will be handy in updating document's content.
57
- _skipSCU: boolean; // Flag to decide whether to skip shouldComponentUpdate
58
- _defaultEditorSchema: Schema;
59
- _defaultEditorPlugins: Array<Plugin>;
60
- _pasteJSONPlugin: Plugin;
61
- _devTools: Promise<any>;
62
- _applyDevTools: any;
63
-
64
- _popUp = null;
65
-
66
- /**
67
- * Provides access to prosemirror view.
68
- */
69
- get editorView(): EditorView {
70
- return this._editorView;
71
- }
72
-
73
- constructor(props: any, context: any) {
74
- super(props, context);
75
- this.initialize(props);
76
- }
77
-
78
- initialize(props: any) {
79
- this._clientID = uuid();
80
- this._editorView = null;
81
- this._skipSCU = true;
82
-
83
- const noop = function () {};
84
-
85
- // [FS] IRAD-981 2020-06-10
86
- // Component's configurations.
87
- // [FS] IRAD-1552 2021-08-26
88
- // Collaboration server / client should allow string values for document identifiers.
89
- const docID = props.docID || ''; // Empty means collaborative.
90
- const collaborative = docID !== '';
91
- // [FS] IRAD-1553 2021-08-26
92
- // Configurable Collaboration Service URL.
93
- const collabServiceURL = props.collabServiceURL || '/collaboration-service';
94
- const debug = props.debug || false;
95
- // Default width and height to undefined
96
- const width = props.width || undefined;
97
- const height = props.height || undefined;
98
- const onChangeCB =
99
- typeof props.onChange === 'function' ? props.onChange : noop;
100
- const onReadyCB =
101
- typeof props.onReady === 'function' ? props.onReady : noop;
102
- const readOnly = props.readOnly || false;
103
- let data = props.data || null;
104
- const dataType = props.dataType || DataType.JSON;
105
- const disabled = props.disabled || false;
106
- const embedded = props.embedded || false; // [FS] IRAD-996 2020-06-30
107
- // [FS] 2020-07-03
108
- // Handle Image Upload from Angular App
109
- const runtime = props.runtime || null;
110
- const plugins = props.plugins || null;
111
- // This flag decides whether DataType.HTML check is needed when
112
- // changing document. If it forcefully done, it is not needed, otherwise needed.
113
- this.skipDataTypeCheck = false;
114
-
115
- this._defaultEditorSchema = new Schema({
116
- nodes: EditorNodes,
117
- marks: EditorMarks,
118
- });
119
- this._defaultEditorPlugins = new DefaultEditorPlugins(
120
- this._defaultEditorSchema
121
- ).get();
122
- this._pasteJSONPlugin = null;
123
-
124
- const editorState = this.initEditorState(plugins, dataType, data);
125
- data = editorState.doc;
126
-
127
- const setState = this.setState.bind(this);
128
- this._connector = collaborative
129
- ? new CollabConnector(
130
- editorState,
131
- setState,
132
- {
133
- docID,
134
- collabServiceURL,
135
- },
136
- this._defaultEditorSchema,
137
- this._defaultEditorPlugins,
138
- // [FS] IRAD-1578 2021-09-27
139
- this.onReady.bind(this)
140
- )
141
- : new SimpleConnector(editorState, setState);
142
-
143
- this._connector._dataDefined = !!props.data;
144
-
145
- // FS IRAD-989 2020-18-06
146
- // updating properties should automatically render the changes
147
-
148
- this.state = {
149
- docID,
150
- collabServiceURL,
151
- data,
152
- editorState,
153
- width,
154
- height,
155
- readOnly,
156
- onChangeCB,
157
- onReadyCB,
158
- debug,
159
- disabled,
160
- embedded,
161
- runtime,
162
- dataType,
163
- };
164
-
165
- // FS IRAD-1040 2020-26-08
166
- // Get the modified schema from editorstate and send it to collab server
167
- if (this._connector.updateSchema) {
168
- // Use known editorState to update schema.
169
- this._connector.updateSchema(editorState.schema, data);
170
- }
171
- }
172
-
173
- initEditorState(plugins: Array<Plugin>, dataType: DataType, data: any) {
174
- let editorState = null;
175
- const effectivePlugins = this.getEffectivePlugins(
176
- this._defaultEditorSchema,
177
- this._defaultEditorPlugins,
178
- plugins
179
- );
180
- this._pasteJSONPlugin = effectivePlugins.pasteJSONPlugin;
181
- if (DataType.JSON === dataType) {
182
- editorState = convertFromJSON(
183
- data,
184
- null,
185
- effectivePlugins.schema,
186
- effectivePlugins.plugins
187
- );
188
- // [FS] IRAD-1067 2020-09-19
189
- // The editorState will return null if the doc Json is mal-formed
190
- if (null === editorState) {
191
- editorState = convertFromJSON(
192
- EMPTY_DOC_JSON,
193
- null,
194
- effectivePlugins.schema,
195
- effectivePlugins.plugins
196
- );
197
- this.showAlert();
198
- }
199
- } else {
200
- editorState = convertFromHTML(
201
- data,
202
- effectivePlugins.schema,
203
- effectivePlugins.plugins
204
- );
205
- }
206
-
207
- return editorState;
208
- }
209
-
210
- getEffectivePlugins(
211
- schema: Schema,
212
- defaultPlugins: Array<Plugin>,
213
- plugins: Array<Plugin>
214
- ): { plugins: Array<Plugin>, schema: Schema, pasteJSONPlugin: Plugin } {
215
- const effectivePlugins = defaultPlugins;
216
- let pasteJSONPlugin = null;
217
-
218
- if (plugins) {
219
- for (const p of plugins) {
220
- if (!effectivePlugins.includes(p)) {
221
- effectivePlugins.push(p);
222
- if (p.getEffectiveSchema) {
223
- schema = p.getEffectiveSchema(schema);
224
- }
225
-
226
- if (p.initKeyCommands) {
227
- effectivePlugins.push(p.initKeyCommands());
228
- }
229
-
230
- if (p.insert) {
231
- pasteJSONPlugin = p;
232
- }
233
- }
234
- }
235
- }
236
- return { plugins: effectivePlugins, schema, pasteJSONPlugin };
237
- }
238
-
239
- // [FS] IRAD-1578 2021-09-27
240
- onReady(state: EditorState) {
241
- const collabEditing = this.state.docID !== '';
242
-
243
- if (collabEditing) {
244
- this._editorView && this._editorView.focus();
245
- if (this.state.onReadyCB) {
246
- this.state.onReadyCB(this);
247
- }
248
- }
249
- }
250
-
251
- // [FS] IRAD-1067 2020-09-19
252
- // Alert funtion to show document is corrupted
253
- showAlert() {
254
- const anchor = null;
255
- this._popUp = createPopUp(AlertInfo, null, {
256
- anchor,
257
- position: atViewportCenter,
258
- onClose: (val) => {
259
- if (this._popUp) {
260
- this._popUp = null;
261
- }
262
- },
263
- });
264
- }
265
-
266
- resetCounters(transaction: Transform) {
267
- for (let index = 1; index <= 10; index++) {
268
- const counterVar = 'set-cust-style-counter-' + index;
269
- const setCounterVal = window[counterVar];
270
- if (setCounterVal) {
271
- delete window[counterVar];
272
- }
273
- }
274
- this.setCounterFlags(transaction, true);
275
- }
276
-
277
- setCounterFlags(transaction: Transform, reset: boolean) {
278
- let modified = false;
279
- let counterFlags = null;
280
- const existingCFlags = transaction.doc.attrs.counterFlags;
281
- if (reset && !existingCFlags) {
282
- return;
283
- }
284
-
285
- for (let index = 1; index <= 10; index++) {
286
- const counterVar = 'set-cust-style-counter-' + index;
287
-
288
- const setCounterVal = window[counterVar];
289
- if (setCounterVal) {
290
- if (!counterFlags) {
291
- counterFlags = {};
292
- }
293
- counterFlags[counterVar] = true;
294
-
295
- if (!existingCFlags) {
296
- modified = true;
297
- }
298
- }
299
- if (!modified) {
300
- if (existingCFlags) {
301
- if (setCounterVal) {
302
- modified = undefined == existingCFlags[counterVar];
303
- } else {
304
- modified = undefined != existingCFlags[counterVar];
305
- }
306
- } else {
307
- modified = setCounterVal;
308
- }
309
- }
310
- }
311
-
312
- if (modified) {
313
- const tr = this._editorView.state.tr.step(
314
- new SetDocAttrStep('counterFlags', counterFlags)
315
- );
316
- this._editorView.dispatch(tr);
317
- }
318
- }
319
-
320
- getDeletedArtifactIds() {
321
- if (this._connector.getDeletedArtifactIds) {
322
- this._connector.getDeletedArtifactIds(this.state.editorState.schema);
323
- }
324
- }
325
-
326
- isNodeHasAttribute(node: Node, attrName: string) {
327
- return node.attrs && node.attrs[attrName];
328
- }
329
-
330
- getDocument(content: any, editorState: EditorState, dataType: DataType) {
331
- let document = null;
332
- const { schema } = editorState;
333
-
334
- if (DataType.JSON === dataType || this.skipDataTypeCheck) {
335
- document = schema.nodeFromJSON(content ? content : EMPTY_DOC_JSON);
336
- } else {
337
- const tempEState = convertFromHTML(
338
- content ? content : '',
339
- schema,
340
- editorState.plugins
341
- );
342
- document = tempEState.doc;
343
- }
344
-
345
- return document;
346
- }
347
-
348
- insertJSON = (json: { [key: string]: any }): void => {
349
- if (this._pasteJSONPlugin && this._pasteJSONPlugin.insert) {
350
- this._pasteJSONPlugin.insert(json, this._editorView);
351
- }
352
- };
353
-
354
- setContent = (content: any = {}, dataType: DataType): void => {
355
- this.skipDataTypeCheck = false;
356
- // [FS] IRAD-1571 2021-09-27
357
- // dispatch a transaction that MUST start from the view’s current state;
358
- const editorState = this._editorView.state;
359
- const { doc } = editorState;
360
- let { tr } = editorState;
361
- const document = this.getDocument(content, editorState, dataType);
362
- this.skipDataTypeCheck = true;
363
-
364
- // [FS] IRAD-1593 2021-10-12
365
- // Reset lastKeyCode since the content is set dynamically and so lastKeyCode is invalid now.
366
- this._editorView.lastKeyCode = null;
367
-
368
- const selection = TextSelection.create(doc, 0, doc.content.size);
369
-
370
- tr = tr.setSelection(selection).replaceSelectionWith(document, false);
371
- // [FS] IRAD-1092 2020-12-03
372
- // set the value for object metadata and objectId
373
- // Should update all document attributes.
374
- Object.keys(document.attrs).forEach((attr) => {
375
- tr = tr.step(new SetDocAttrStep(attr, document.attrs[attr]));
376
- });
377
-
378
- this._skipSCU = true;
379
- this._editorView.dispatch(tr);
380
- };
381
-
382
- hasDataChanged(nextData: any, nextDataType: DataType) {
383
- let dataChanged = false;
384
-
385
- // [FS] IRAD-1571 2021-09-27
386
- // dispatch a transaction that MUST start from the view’s current state;
387
- // [FS] IRAD-1589 2021-10-04
388
- // Do a proper circular JSON comparison.
389
- if (stringify(this.state.data) !== stringify(nextData)) {
390
- const editorState = this._editorView.state;
391
- const nextDoc = this.getDocument(nextData, editorState, nextDataType);
392
- dataChanged = !nextDoc.eq(editorState.doc);
393
- }
394
-
395
- return dataChanged;
396
- }
397
-
398
- changeContent(data: any, dataType: DataType) {
399
- if (this.hasDataChanged(data, dataType)) {
400
- // FS IRAD-1592 2021-11-10
401
- // Release here quickly, so that update doesn't care about at this point.
402
- // data changed, so update document content
403
- setTimeout(this.setContent.bind(this, data, dataType), 1);
404
- }
405
- }
406
-
407
- shouldComponentUpdate(nextProps: any, nextState: any) {
408
- // Only interested if properties are set from outside.
409
- if (!this._skipSCU) {
410
- this._skipSCU = false;
411
-
412
- this.changeContent(nextState.data, nextState.dataType);
413
-
414
- if (this.state.docID !== nextState.docID) {
415
- setTimeout(this.setDocID.bind(this, nextState), 1);
416
- }
417
- }
418
-
419
- this.skipDataTypeCheck = true;
420
-
421
- return true;
422
- }
423
-
424
- setDocID(nextState: any) {
425
- // Collaborative mode changed
426
- const collabEditing = nextState.docID !== '';
427
- const editorState = this._editorView.state;
428
- const setState = this.setState.bind(this);
429
- const docID = nextState.docID || '';
430
- const collabServiceURL =
431
- nextState.collabServiceURL || '/collaboration-service';
432
-
433
- if (this._connector) {
434
- this._connector.cleanUp();
435
- }
436
- // create new connector
437
- this._connector = collabEditing
438
- ? new CollabConnector(
439
- editorState,
440
- setState,
441
- {
442
- docID,
443
- collabServiceURL,
444
- },
445
- this._defaultEditorSchema,
446
- this._defaultEditorPlugins,
447
- // [FS] IRAD-1578 2021-09-27
448
- this.onReady.bind(this)
449
- )
450
- : new SimpleConnector(editorState, setState);
451
-
452
- // FS IRAD-1592 2021-11-10
453
- // Notify collab server
454
- if (this._connector.updateSchema) {
455
- // Use known editorState to update schema.
456
- this._connector.updateSchema(editorState.schema);
457
- }
458
- }
459
-
460
- render(): React.Element<any> {
461
- const {
462
- editorState,
463
- width,
464
- height,
465
- readOnly,
466
- disabled,
467
- embedded,
468
- runtime,
469
- } = this.state;
470
- // [FS] IRAD-978 2020-06-05
471
- // Using 100vw & 100vh (100% viewport) is not ideal for a component which is expected to be a part of a page,
472
- // so changing it to 100% width & height which will occupy the area relative to its parent.
473
- return (
474
- <RichTextEditor
475
- disabled={disabled}
476
- editorState={editorState}
477
- embedded={embedded}
478
- height={height}
479
- onChange={this._onChange}
480
- onReady={this._onReady}
481
- readOnly={readOnly}
482
- runtime={runtime}
483
- width={width}
484
- />
485
- );
486
- }
487
-
488
- _onChange = (data: { state: EditorState, transaction: Transform }): void => {
489
- const { transaction } = data;
490
-
491
- /*
492
- ** ProseMirror Debug Tool's Snapshot creates a new state and sets that to editor view's state.
493
- ** This results in the connector's state as an orphan and thus transaction mismatch error.
494
- ** To resolve check and update the connector's state to keep in sync.
495
- */
496
-
497
- if (this._editorView) {
498
- const isSameState =
499
- this._connector._editorState == this._editorView.state;
500
- let invokeOnEdit = false;
501
-
502
- if (!isSameState) {
503
- this._connector._editorState = this._editorView.state;
504
- invokeOnEdit = true;
505
- } else {
506
- // [FS] IRAD-1264 2021-03-19
507
- // check if in non-collab mode.
508
- if (!(this._connector instanceof CollabConnector)) {
509
- invokeOnEdit = true;
510
- }
511
- }
512
- if (invokeOnEdit) {
513
- // [FS] IRAD-1236 2020-03-05
514
- // Only need to call if there is any difference in collab mode OR always in non-collab mode.
515
- this._connector.onEdit(transaction, this._editorView);
516
- }
517
-
518
- if (transaction.docChanged) {
519
- const docJson = transaction.doc.toJSON();
520
- let isEmpty = false;
521
-
522
- if (docJson.content && docJson.content.length === 1) {
523
- if (
524
- !docJson.content[0].content ||
525
- (docJson.content[0].content &&
526
- docJson.content[0].content[0].text &&
527
- '' === docJson.content[0].content[0].text.trim())
528
- ) {
529
- isEmpty = true;
530
- }
531
- }
532
-
533
- // setCFlags is/was always the opposite of isEmpty.
534
- if (isEmpty) {
535
- this.resetCounters(transaction);
536
- } else {
537
- this.setCounterFlags(transaction, false);
538
- }
539
-
540
- // Changing 2nd parameter from boolean to object was not in any way
541
- // backwards compatible. Any conditional logic placed on isEmpty was
542
- // broken. Reverting that change, then adding view as a 3rd parameter.
543
- this.state.onChangeCB(docJson, isEmpty, this._editorView);
544
-
545
- this.closeOpenedPopupModels();
546
- }
547
- }
548
- };
549
- // [FS] IRAD-1173 2021-02-25
550
- // Bug fix: Transaction mismatch error when a dialog is opened and keep typing.
551
- closeOpenedPopupModels() {
552
- const element = document.getElementsByClassName('czi-pop-up-element')[0];
553
- if (element && element.parentElement) {
554
- element.parentElement.removeChild(element);
555
- }
556
- }
557
-
558
- _onReady = (editorView: EditorView): void => {
559
- // [FS][06-APR-2020][IRAD-922]
560
- // Showing focus in the editor.
561
- const { state, dispatch } = editorView;
562
- this._editorView = editorView;
563
- const tr = state.tr;
564
- dispatch(tr.scrollIntoView());
565
-
566
- // [FS] IRAD-1578 2021-09-27
567
- // In collab mode, fire onRead only after getting the response from collab server.
568
- if (this.state.onReadyCB && this.state.docID === '') {
569
- editorView.focus();
570
- this.state.onReadyCB(this);
571
- }
572
-
573
- this.initDevTool(this.state.debug, editorView);
574
- };
575
-
576
- initDevTool(debug: boolean, editorView: EditorView): void {
577
- // [FS] IRAD-1575 2021-09-27
578
- if (debug) {
579
- if (!this._devTools) {
580
- this._devTools = new Promise(async (resolve, reject) => {
581
- try {
582
- // Method is exported as both the default and named, Using named
583
- // for clarity and future proofing.
584
- const { applyDevTools } = await import('prosemirror-dev-tools');
585
- // got the pm dev tools instance.
586
- this._applyDevTools = applyDevTools;
587
- // Attach debug tools to current editor instance.
588
- this._applyDevTools(editorView);
589
- resolve(() => {
590
- // [FS] IRAD-1571 2021-10-08
591
- // Prosemirror Dev Tools handles as if one only instance is used in a page and
592
- // hence handling removal here gracefully.
593
- const place = document.querySelector(
594
- '.'.concat('__prosemirror-dev-tools__')
595
- );
596
- if (place) {
597
- ReactDOM.unmountComponentAtNode(place);
598
- place.innerHTML = '';
599
- }
600
- });
601
- } catch (error) {
602
- reject();
603
- }
604
- });
605
- }
606
-
607
- // Attach debug tools to current editor instance.
608
- if (this._devTools && this._applyDevTools) {
609
- this._applyDevTools(editorView);
610
- }
611
- }
612
- }
613
-
614
- destroyDevTool(): void {
615
- // [FS] IRAD-1569 2021-09-15
616
- // Unmount dev tools when component is destroyed,
617
- // so that toggle effect is not occuring when the document is retrieved each time.
618
- if (this._devTools) {
619
- // Call the applyDevTools method again to trigger DOM removal
620
- // prosemirror-dev-tools has outstanding pull-requests that affect
621
- // dom removal. this may need to be addressed once those have been merged.
622
- this._devTools.then((removeDevTools) => removeDevTools());
623
- }
624
- }
625
-
626
- componentWillUnmount(): void {
627
- this.destroyDevTool();
628
- }
629
-
630
- /**
631
- * LICIT properties:
632
- * docID {number} [0] Collaborative Doument ID
633
- * debug {boolean} [false] To enable/disable ProseMirror Debug Tools, available only in development.
634
- * width {string} [100%] Width of the editor.
635
- * height {height} [100%] Height of the editor.
636
- * readOnly {boolean} [false] To enable/disable editing mode.
637
- * onChange {@callback} [null] Fires after each significant change.
638
- * @param data {JSON} Modified document data.
639
- * onReady {@callback} [null] Fires when the editor is fully ready.
640
- * @param ref {LICIT} Rerefence of the editor.
641
- * data {JSON} [null] Document data to be loaded into the editor.
642
- * disabled {boolean} [false] Disable the editor.
643
- * embedded {boolean} [false] Disable/Enable inline behaviour.
644
- */
645
- setProps = (props: any): void => {
646
- // [FS] IRAD-1571 2021-10-08
647
- // Since the debug lies outside the editor,
648
- // any change to debug tool must be refreshed here.
649
- if (this.state.debug !== props.debug) {
650
- // change in debug flag.
651
- if (props.debug) {
652
- this.initDevTool(true, this._editorView);
653
- } else {
654
- this.destroyDevTool();
655
- }
656
- }
657
-
658
- if (this.state.readOnly) {
659
- // It should be possible to load content into the editor in readonly as well.
660
- // It should not be necessary to make the component writable any time during the process
661
- const propsCopy = {};
662
- this._skipSCU = true;
663
- Object.assign(propsCopy, props);
664
- // make writable without content change
665
- propsCopy.readOnly = false;
666
- delete propsCopy.data;
667
- this.setState(propsCopy);
668
- }
669
- this.skipDataTypeCheck = false;
670
- // Need to go through shouldComponentUpdate lifecycle here, when updated from outside,
671
- // so that content is modified gracefully using transaction so that undo/redo works too.
672
- this._skipSCU = false;
673
- this.setState(props);
674
- };
675
-
676
- exportPDF = () => {
677
- new Promise(async (resolve, reject) => {
678
- try {
679
- //
680
- if (Array.isArray(this.props.plugins)) {
681
- this.props.plugins.forEach((plugin) => {
682
- if (plugin['key'].startsWith('exportPDF$')) {
683
- // got the exportPDF instance.
684
- resolve(plugin);
685
- }
686
- });
687
- }
688
- } catch (error) {
689
- reject();
690
- }
691
- }).then((exportPDF) => {
692
- if (exportPDF.perform) {
693
- exportPDF.perform(this._editorView);
694
- }
695
- });
696
- };
697
-
698
- goToEnd = (): void => {
699
- // Return focus to the editor with cursor at end of document.
700
- const view: EditorView = this.editorView;
701
- const tr = view.state.tr;
702
- view.dispatch(tr.setSelection(TextSelection.atEnd(view.state.doc)).scrollIntoView());
703
- view.focus();
704
- };
705
-
706
- }
707
-
708
- export default Licit;