@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
@@ -0,0 +1,59 @@
1
+ import queryString from 'query-string';
2
+ import url from 'url';
3
+ export default function patchMathElements(doc) {
4
+ Array.from(doc.querySelectorAll('img')).forEach(patchGoogleEquationElement);
5
+ }
6
+
7
+ // See https://developers.google.com/chart/image/docs/chart_params#gcharts_cht
8
+ var PARAM_CHART_CHART_TYPE = 'cht';
9
+ var PARAM_CHART_LABEL = 'chl';
10
+
11
+ // Google Doc exports math equation content as single image element that loads
12
+ // its content from google. For example:
13
+ // <img src="https://www.google.com/chart?cht=tx&amp;c...p;chl=m%E2%88%A0C" />
14
+ // Unfortunately, such image often fails to load because its url contains the
15
+ // value that the Google Chart API does not support.
16
+ // The workaround is to use KaTex (https://katex.org/) whoch supports a broader
17
+ // set of characters that can be safely converted into math quations.
18
+
19
+ function patchGoogleEquationElement(el) {
20
+ var ownerDocument = el.ownerDocument,
21
+ parentElement = el.parentElement;
22
+ if (!ownerDocument || !parentElement) {
23
+ return;
24
+ }
25
+ var src = el.getAttribute('src');
26
+ var content = getGoogleEquationContent(src);
27
+ if (!content) {
28
+ return;
29
+ }
30
+
31
+ // Replace `<img src="..." />` with `<math data-latex="..." />`.
32
+ // Note that this requires the schema to support `MathNodeSpec`.
33
+ var math = ownerDocument.createElement('math');
34
+ math.setAttribute('data-latex', content);
35
+ parentElement.insertBefore(math, el);
36
+ parentElement.removeChild(el);
37
+ }
38
+ function getGoogleEquationContent(src) {
39
+ if (!src) {
40
+ return null;
41
+ }
42
+ var _url$parse = url.parse(src),
43
+ host = _url$parse.host,
44
+ pathname = _url$parse.pathname,
45
+ query = _url$parse.query;
46
+ if (host !== 'www.google.com' || pathname !== '/chart') {
47
+ return null;
48
+ }
49
+ var params = queryString.parse(query);
50
+ var chartType = params[PARAM_CHART_CHART_TYPE];
51
+ var label = params[PARAM_CHART_LABEL];
52
+
53
+ // Google exports math equation as a special chart with plan text only
54
+ // contents.
55
+ if (chartType !== 'tx' || !label) {
56
+ return null;
57
+ }
58
+ return label;
59
+ }
@@ -0,0 +1,13 @@
1
+ import { ATTRIBUTE_INDENT, convertMarginLeftToIndentValue } from './ParagraphNodeSpec.js';
2
+ export default function patchParagraphElements(doc) {
3
+ Array.from(doc.querySelectorAll('p')).forEach(patchParagraphElement);
4
+ }
5
+ function patchParagraphElement(pElement) {
6
+ var marginLeft = pElement.style.marginLeft;
7
+ if (marginLeft) {
8
+ var indent = convertMarginLeftToIndentValue(marginLeft);
9
+ if (indent) {
10
+ pElement.setAttribute(ATTRIBUTE_INDENT, String(indent));
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,20 @@
1
+ // @flow
2
+
3
+ import {
4
+ ATTRIBUTE_INDENT,
5
+ convertMarginLeftToIndentValue,
6
+ } from './ParagraphNodeSpec.js';
7
+
8
+ export default function patchParagraphElements(doc: Document): void {
9
+ Array.from(doc.querySelectorAll('p')).forEach(patchParagraphElement);
10
+ }
11
+
12
+ function patchParagraphElement(pElement: HTMLElement): void {
13
+ const { marginLeft } = pElement.style;
14
+ if (marginLeft) {
15
+ const indent = convertMarginLeftToIndentValue(marginLeft);
16
+ if (indent) {
17
+ pElement.setAttribute(ATTRIBUTE_INDENT, String(indent));
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,152 @@
1
+ import toCSSColor from './ui/toCSSColor.js';
2
+ import { toCSSLineSpacing } from '@modusoperandi/licit-ui-commands';
3
+ var LIST_ITEM_PSEUDO_ELEMENT_BEFORE = /li:+before/;
4
+ var NODE_NAME_SELECTOR = /^[a-zA-Z]+\d*$/;
5
+ var PSEUDO_ELEMENT_ANY = /:+[a-z]+/;
6
+
7
+ // Assume these className from Google doc has less specificity.
8
+ var WEAK_CLASS_SELECTOR = /\.title/;
9
+ export var ATTRIBUTE_CSS_BEFORE_CONTENT = 'data-attribute-css-before-content';
10
+
11
+ // Node name only selector has less priority, we'll handle it
12
+ // separately
13
+
14
+ export default function patchStyleElements(doc) {
15
+ var els = Array.from(doc.querySelectorAll('style'));
16
+ if (!els.length) {
17
+ return;
18
+ }
19
+ var selectorTextToCSSTexts = [];
20
+ els.forEach(function (styleEl) {
21
+ var sheet = styleEl.sheet;
22
+ if (!sheet) {
23
+ // TODO: Find out why the browser does not support this.
24
+ console.error('styleEl.sheet undefined', styleEl);
25
+ return;
26
+ }
27
+ var cssRules = sheet.cssRules;
28
+ if (!cssRules) {
29
+ // TODO: Find out why the browser does not support this.
30
+ console.error('sheet.cssRules undefined', sheet);
31
+ return;
32
+ }
33
+ Array.from(cssRules).forEach(function (rule, cssRuleIndex) {
34
+ var selectorText = String(rule.selectorText || '');
35
+ if (!selectorText) {
36
+ // This could be `CSSImportRule.` created by @import().
37
+ // ignore it.
38
+ return;
39
+ }
40
+ if (!rule.styleMap) {
41
+ // TODO: Find out why the browser does not support this.
42
+ console.error('rule.styleMap undefined', rule);
43
+ return;
44
+ }
45
+ var cssText = '';
46
+ rule.styleMap.forEach(function (cssStyleValue, key) {
47
+ var cssStyleValueStr = String(cssStyleValue);
48
+ // e.g. rules['color'] = 'red'.
49
+ if (key === 'color') {
50
+ var color = toCSSColor(cssStyleValueStr);
51
+ if (!color) {
52
+ return;
53
+ }
54
+ } else if (key === 'background-color') {
55
+ var _color = toCSSColor(cssStyleValueStr);
56
+ if (!_color) {
57
+ return;
58
+ }
59
+ } else if (key === 'line-height') {
60
+ cssStyleValueStr = toCSSLineSpacing(cssStyleValueStr);
61
+ }
62
+ if (cssStyleValueStr) {
63
+ cssText += "".concat(key, ": ").concat(cssStyleValueStr, ";");
64
+ }
65
+ });
66
+ if (selectorText.indexOf(',') > -1) {
67
+ selectorText.split(/\s*,\s*/).forEach(function (st) {
68
+ buildSelectorTextToCSSText(selectorTextToCSSTexts, st, cssText);
69
+ });
70
+ } else {
71
+ buildSelectorTextToCSSText(selectorTextToCSSTexts, selectorText, cssText);
72
+ }
73
+ });
74
+ });
75
+
76
+ // Sort selector by
77
+ selectorTextToCSSTexts.sort(sortBySpecificity).reduce(buildElementToCSSTexts.bind(null, doc), new Map()).forEach(applyInlineStyleSheetCSSTexts);
78
+ }
79
+ function buildElementToCSSTexts(doc, elementToCSSTexts, bag) {
80
+ var selectorText = bag.selectorText,
81
+ cssText = bag.cssText,
82
+ beforeContent = bag.beforeContent;
83
+ var els = Array.from(doc.querySelectorAll(selectorText));
84
+ els.forEach(function (el) {
85
+ var style = el.style;
86
+ if (!style || !(el instanceof HTMLElement)) {
87
+ return;
88
+ }
89
+ if (cssText) {
90
+ var cssTexts = elementToCSSTexts.get(el) || [];
91
+ cssTexts.push(cssText);
92
+ elementToCSSTexts.set(el, cssTexts);
93
+ }
94
+ if (beforeContent) {
95
+ // This simply adds the custom attribute 'data-before-content' to element,
96
+ // developer must handle his attribute via NodeSpec separately if needed.
97
+ el.setAttribute(ATTRIBUTE_CSS_BEFORE_CONTENT, beforeContent);
98
+ }
99
+ });
100
+ return elementToCSSTexts;
101
+ }
102
+ function sortBySpecificity(one, two) {
103
+ // This is just the naive implementation of sorting selectors by css
104
+ // specificity.
105
+ // 1. NodeName selectors has less priority.
106
+ var aa = NODE_NAME_SELECTOR.test(one.selectorText);
107
+ var bb = NODE_NAME_SELECTOR.test(two.selectorText);
108
+ if (aa && !bb) {
109
+ return -1;
110
+ }
111
+ if (!aa && bb) {
112
+ return 1;
113
+ }
114
+
115
+ // Assume both are className selector.
116
+ // Assume these className from Google doc has less specificity.
117
+ aa = WEAK_CLASS_SELECTOR.test(one.selectorText);
118
+ bb = WEAK_CLASS_SELECTOR.test(two.selectorText);
119
+ if (aa && !bb) {
120
+ return -1;
121
+ }
122
+ if (!aa && bb) {
123
+ return 1;
124
+ }
125
+ return 0;
126
+ }
127
+ function buildSelectorTextToCSSText(result, selectorText, cssText) {
128
+ var afterContent;
129
+ var beforeContent;
130
+ if (LIST_ITEM_PSEUDO_ELEMENT_BEFORE.test(selectorText)) {
131
+ // Workaround to extract the list style content from HTML generated by
132
+ // Google.
133
+ // This converts `content:"\0025a0 "` to `\0025a0`
134
+ beforeContent = cssText.replace(/^content:\s*"\s*/, '').replace(/";*$/, '');
135
+ selectorText = selectorText.replace(/:+before/, '');
136
+ cssText = '';
137
+ } else if (PSEUDO_ELEMENT_ANY.test(selectorText)) {
138
+ // TODO: Handle this later.
139
+ return;
140
+ }
141
+ result.push({
142
+ selectorText: selectorText,
143
+ cssText: cssText,
144
+ afterContent: afterContent,
145
+ beforeContent: beforeContent
146
+ });
147
+ }
148
+ function applyInlineStyleSheetCSSTexts(cssTexts, el) {
149
+ if (cssTexts.length) {
150
+ el.style.cssText = cssTexts.join(';') + ';' + el.style.cssText;
151
+ }
152
+ }
@@ -0,0 +1,196 @@
1
+ // @flow
2
+
3
+ import toCSSColor from './ui/toCSSColor.js';
4
+ import {
5
+ toCSSLineSpacing
6
+ } from '@modusoperandi/licit-ui-commands';
7
+
8
+ const LIST_ITEM_PSEUDO_ELEMENT_BEFORE = /li:+before/;
9
+ const NODE_NAME_SELECTOR = /^[a-zA-Z]+\d*$/;
10
+ const PSEUDO_ELEMENT_ANY = /:+[a-z]+/;
11
+
12
+ // Assume these className from Google doc has less specificity.
13
+ const WEAK_CLASS_SELECTOR = /\.title/;
14
+
15
+ type SelectorTextToCSSText = {
16
+ afterContent: ?string,
17
+ beforeContent: ?string,
18
+ cssText: string,
19
+ selectorText: string,
20
+ };
21
+
22
+ export const ATTRIBUTE_CSS_BEFORE_CONTENT = 'data-attribute-css-before-content';
23
+
24
+ // Node name only selector has less priority, we'll handle it
25
+ // separately
26
+
27
+ export default function patchStyleElements(doc: Document): void {
28
+ const els = Array.from(doc.querySelectorAll('style'));
29
+ if (!els.length) {
30
+ return;
31
+ }
32
+
33
+ const selectorTextToCSSTexts = [];
34
+
35
+ els.forEach((styleEl: any) => {
36
+ const sheet = styleEl.sheet;
37
+ if (!sheet) {
38
+ // TODO: Find out why the browser does not support this.
39
+ console.error('styleEl.sheet undefined', styleEl);
40
+ return;
41
+ }
42
+ const cssRules = sheet.cssRules;
43
+ if (!cssRules) {
44
+ // TODO: Find out why the browser does not support this.
45
+ console.error('sheet.cssRules undefined', sheet);
46
+ return;
47
+ }
48
+
49
+ Array.from(cssRules).forEach((rule, cssRuleIndex) => {
50
+ const selectorText = String(rule.selectorText || '');
51
+ if (!selectorText) {
52
+ // This could be `CSSImportRule.` created by @import().
53
+ // ignore it.
54
+ return;
55
+ }
56
+
57
+ if (!rule.styleMap) {
58
+ // TODO: Find out why the browser does not support this.
59
+ console.error('rule.styleMap undefined', rule);
60
+ return;
61
+ }
62
+ let cssText = '';
63
+ rule.styleMap.forEach((cssStyleValue, key) => {
64
+ let cssStyleValueStr = String(cssStyleValue);
65
+ // e.g. rules['color'] = 'red'.
66
+ if (key === 'color') {
67
+ const color = toCSSColor(cssStyleValueStr);
68
+ if (!color) {
69
+ return;
70
+ }
71
+ } else if (key === 'background-color') {
72
+ const color = toCSSColor(cssStyleValueStr);
73
+ if (!color) {
74
+ return;
75
+ }
76
+ } else if (key === 'line-height') {
77
+ cssStyleValueStr = toCSSLineSpacing(cssStyleValueStr);
78
+ }
79
+ if (cssStyleValueStr) {
80
+ cssText += `${key}: ${cssStyleValueStr};`;
81
+ }
82
+ });
83
+ if (selectorText.indexOf(',') > -1) {
84
+ selectorText.split(/\s*,\s*/).forEach((st) => {
85
+ buildSelectorTextToCSSText(selectorTextToCSSTexts, st, cssText);
86
+ });
87
+ } else {
88
+ buildSelectorTextToCSSText(
89
+ selectorTextToCSSTexts,
90
+ selectorText,
91
+ cssText
92
+ );
93
+ }
94
+ });
95
+ });
96
+
97
+ // Sort selector by
98
+ selectorTextToCSSTexts
99
+ .sort(sortBySpecificity)
100
+ .reduce(buildElementToCSSTexts.bind(null, doc), new Map<any, any>())
101
+ .forEach(applyInlineStyleSheetCSSTexts);
102
+ }
103
+
104
+ function buildElementToCSSTexts(
105
+ doc: Document,
106
+ elementToCSSTexts: Map<HTMLElement, Array<string>>,
107
+ bag: SelectorTextToCSSText
108
+ ): Map<HTMLElement, Array<string>> {
109
+ const { selectorText, cssText, beforeContent } = bag;
110
+ const els = Array.from(doc.querySelectorAll(selectorText));
111
+
112
+ els.forEach((el) => {
113
+ const style = el.style;
114
+ if (!style || !(el instanceof HTMLElement)) {
115
+ return;
116
+ }
117
+ if (cssText) {
118
+ const cssTexts = elementToCSSTexts.get(el) || [];
119
+ cssTexts.push(cssText);
120
+ elementToCSSTexts.set(el, cssTexts);
121
+ }
122
+ if (beforeContent) {
123
+ // This simply adds the custom attribute 'data-before-content' to element,
124
+ // developer must handle his attribute via NodeSpec separately if needed.
125
+ el.setAttribute(ATTRIBUTE_CSS_BEFORE_CONTENT, beforeContent);
126
+ }
127
+ });
128
+ return elementToCSSTexts;
129
+ }
130
+
131
+ function sortBySpecificity(
132
+ one: SelectorTextToCSSText,
133
+ two: SelectorTextToCSSText
134
+ ): number {
135
+ // This is just the naive implementation of sorting selectors by css
136
+ // specificity.
137
+ // 1. NodeName selectors has less priority.
138
+ let aa = NODE_NAME_SELECTOR.test(one.selectorText);
139
+ let bb = NODE_NAME_SELECTOR.test(two.selectorText);
140
+ if (aa && !bb) {
141
+ return -1;
142
+ }
143
+
144
+ if (!aa && bb) {
145
+ return 1;
146
+ }
147
+
148
+ // Assume both are className selector.
149
+ // Assume these className from Google doc has less specificity.
150
+ aa = WEAK_CLASS_SELECTOR.test(one.selectorText);
151
+ bb = WEAK_CLASS_SELECTOR.test(two.selectorText);
152
+ if (aa && !bb) {
153
+ return -1;
154
+ }
155
+ if (!aa && bb) {
156
+ return 1;
157
+ }
158
+ return 0;
159
+ }
160
+
161
+ function buildSelectorTextToCSSText(
162
+ result: Array<SelectorTextToCSSText>,
163
+ selectorText: string,
164
+ cssText: string
165
+ ): void {
166
+ let afterContent;
167
+ let beforeContent;
168
+
169
+ if (LIST_ITEM_PSEUDO_ELEMENT_BEFORE.test(selectorText)) {
170
+ // Workaround to extract the list style content from HTML generated by
171
+ // Google.
172
+ // This converts `content:"\0025a0 "` to `\0025a0`
173
+ beforeContent = cssText.replace(/^content:\s*"\s*/, '').replace(/";*$/, '');
174
+ selectorText = selectorText.replace(/:+before/, '');
175
+ cssText = '';
176
+ } else if (PSEUDO_ELEMENT_ANY.test(selectorText)) {
177
+ // TODO: Handle this later.
178
+ return;
179
+ }
180
+
181
+ result.push({
182
+ selectorText,
183
+ cssText,
184
+ afterContent,
185
+ beforeContent,
186
+ });
187
+ }
188
+
189
+ function applyInlineStyleSheetCSSTexts(
190
+ cssTexts: Array<string>,
191
+ el: HTMLElement
192
+ ): void {
193
+ if (cssTexts.length) {
194
+ el.style.cssText = cssTexts.join(';') + ';' + el.style.cssText;
195
+ }
196
+ }
@@ -0,0 +1,86 @@
1
+ import { PT_TO_PX_RATIO } from './convertToCSSPTValue.js';
2
+ import convertToCSSPTValue from './convertToCSSPTValue.js';
3
+ import toHexColor from './ui/toHexColor.js';
4
+ export default function patchTableElements(doc) {
5
+ Array.from(doc.querySelectorAll('td')).forEach(patchTableCell);
6
+ Array.from(doc.querySelectorAll('tr[style^=height]')).forEach(patchTableRow);
7
+ }
8
+
9
+ // The height of each line: ~= 21px
10
+ var LINE_HEIGHT_PT_VALUE = 15.81149997;
11
+
12
+ // Workaround to patch HTML from Google Doc that Table Cells will apply
13
+ // its background colr to all its inner <span />.
14
+ function patchTableCell(tdElement) {
15
+ var style = tdElement.style;
16
+ if (!style) {
17
+ return;
18
+ }
19
+ var backgroundColor = style.backgroundColor,
20
+ width = style.width;
21
+ if (backgroundColor) {
22
+ var tdBgColor = toHexColor(backgroundColor);
23
+ var selector = 'span[style*=background-color]';
24
+ var spans = Array.from(tdElement.querySelectorAll(selector));
25
+ spans.some(function (spanElement) {
26
+ var retVal = true;
27
+ var spanStyle = spanElement.style;
28
+ if (!spanStyle || !spanStyle.backgroundColor) {
29
+ retVal = false;
30
+ } else {
31
+ var spanBgColor = toHexColor(spanStyle.backgroundColor);
32
+ if (spanBgColor === tdBgColor) {
33
+ // The span has the same bg color as the cell does, erase its bg color.
34
+ spanStyle.backgroundColor = '';
35
+ }
36
+ }
37
+ return retVal;
38
+ });
39
+ }
40
+ if (width) {
41
+ var ptValue = convertToCSSPTValue(width);
42
+ if (!ptValue) {
43
+ return;
44
+ }
45
+ var pxValue = ptValue * PT_TO_PX_RATIO;
46
+ // Attribute "data-colwidth" is defined at 'prosemirror-tables';
47
+ tdElement.setAttribute('data-colwidth', String(Math.round(pxValue)));
48
+ }
49
+ }
50
+
51
+ // Workaround to support "height" in table row by inject empty <p /> to
52
+ // create space for the height.
53
+ function patchTableRow(trElement) {
54
+ var doc = trElement.ownerDocument;
55
+ if (!doc) {
56
+ return;
57
+ }
58
+ var height = trElement.style.height;
59
+ if (!height) {
60
+ return;
61
+ }
62
+ var firstCell = trElement.querySelector('td, th');
63
+ if (!firstCell) {
64
+ return;
65
+ }
66
+ var ptValue = convertToCSSPTValue(height);
67
+ if (!ptValue) {
68
+ return;
69
+ }
70
+ var pEls = firstCell.querySelectorAll('p');
71
+ var heightNeeded = ptValue - LINE_HEIGHT_PT_VALUE * pEls.length;
72
+ if (heightNeeded < 0) {
73
+ return;
74
+ }
75
+ var pElsNeeded = Math.round(heightNeeded / LINE_HEIGHT_PT_VALUE);
76
+ if (pElsNeeded <= 0) {
77
+ return;
78
+ }
79
+ var frag = doc.createDocumentFragment();
80
+ var line = doc.createElement('p');
81
+ while (pElsNeeded > 0) {
82
+ pElsNeeded--;
83
+ frag.appendChild(line.cloneNode(false));
84
+ }
85
+ firstCell.appendChild(frag);
86
+ }
@@ -0,0 +1,89 @@
1
+ // @flow
2
+ import { PT_TO_PX_RATIO } from './convertToCSSPTValue.js';
3
+ import convertToCSSPTValue from './convertToCSSPTValue.js';
4
+ import toHexColor from './ui/toHexColor.js';
5
+
6
+ export default function patchTableElements(doc: Document): void {
7
+ Array.from(doc.querySelectorAll('td')).forEach(patchTableCell);
8
+ Array.from(doc.querySelectorAll('tr[style^=height]')).forEach(patchTableRow);
9
+ }
10
+
11
+ // The height of each line: ~= 21px
12
+ const LINE_HEIGHT_PT_VALUE = 15.81149997;
13
+
14
+ // Workaround to patch HTML from Google Doc that Table Cells will apply
15
+ // its background colr to all its inner <span />.
16
+ function patchTableCell(tdElement: HTMLElement): void {
17
+ const { style } = tdElement;
18
+ if (!style) {
19
+ return;
20
+ }
21
+ const { backgroundColor, width } = style;
22
+ if (backgroundColor) {
23
+ const tdBgColor = toHexColor(backgroundColor);
24
+ const selector = 'span[style*=background-color]';
25
+ const spans = Array.from(tdElement.querySelectorAll(selector));
26
+ spans.some((spanElement) => {
27
+ let retVal = true;
28
+ const spanStyle = spanElement.style;
29
+ if (!spanStyle || !spanStyle.backgroundColor) {
30
+ retVal = false;
31
+ } else {
32
+ const spanBgColor = toHexColor(spanStyle.backgroundColor);
33
+ if (spanBgColor === tdBgColor) {
34
+ // The span has the same bg color as the cell does, erase its bg color.
35
+ spanStyle.backgroundColor = '';
36
+ }
37
+ }
38
+ return retVal;
39
+ });
40
+ }
41
+
42
+ if (width) {
43
+ const ptValue = convertToCSSPTValue(width);
44
+ if (!ptValue) {
45
+ return;
46
+ }
47
+ const pxValue = ptValue * PT_TO_PX_RATIO;
48
+ // Attribute "data-colwidth" is defined at 'prosemirror-tables';
49
+ tdElement.setAttribute('data-colwidth', String(Math.round(pxValue)));
50
+ }
51
+ }
52
+
53
+ // Workaround to support "height" in table row by inject empty <p /> to
54
+ // create space for the height.
55
+ function patchTableRow(trElement: HTMLElement): void {
56
+ const doc = trElement.ownerDocument;
57
+ if (!doc) {
58
+ return;
59
+ }
60
+ const height = trElement.style.height;
61
+ if (!height) {
62
+ return;
63
+ }
64
+ const firstCell = trElement.querySelector('td, th');
65
+ if (!firstCell) {
66
+ return;
67
+ }
68
+ const ptValue = convertToCSSPTValue(height);
69
+ if (!ptValue) {
70
+ return;
71
+ }
72
+
73
+ const pEls = firstCell.querySelectorAll('p');
74
+ const heightNeeded = ptValue - LINE_HEIGHT_PT_VALUE * pEls.length;
75
+ if (heightNeeded < 0) {
76
+ return;
77
+ }
78
+ let pElsNeeded = Math.round(heightNeeded / LINE_HEIGHT_PT_VALUE);
79
+ if (pElsNeeded <= 0) {
80
+ return;
81
+ }
82
+ const frag = doc.createDocumentFragment();
83
+ const line = doc.createElement('p');
84
+ while (pElsNeeded > 0) {
85
+ pElsNeeded--;
86
+ frag.appendChild(line.cloneNode(false));
87
+ }
88
+ firstCell.appendChild(frag);
89
+ }
@@ -0,0 +1,25 @@
1
+ import { Step } from 'prosemirror-transform';
2
+ import EditorSchema from './EditorSchema';
3
+ export default function rebaseDocWithSteps(clientID, docJSON, stepsJSON) {
4
+ return new Promise(function (resolve, reject) {
5
+ // TODO: Move this into a separate server request.
6
+ var docNode = EditorSchema.nodeFromJSON(docJSON);
7
+ var steps = stepsJSON.map(function (step) {
8
+ var result = Step.fromJSON(EditorSchema, step);
9
+ result.clientID = clientID;
10
+ return result;
11
+ });
12
+ steps.forEach(function (step) {
13
+ var result = step.apply(docNode);
14
+ docNode = result.doc;
15
+ });
16
+ var newDocJSON = docNode.toJSON();
17
+ var newStepsJSON = steps.map(function (step) {
18
+ return step.toJSON();
19
+ });
20
+ resolve({
21
+ docJSON: newDocJSON,
22
+ stepsJSON: newStepsJSON
23
+ });
24
+ });
25
+ }
package/sanitizeURL.js ADDED
@@ -0,0 +1,10 @@
1
+ var HTTP_PREFIX = /^http(s?):*\/\//i;
2
+ export default function sanitizeURL(url) {
3
+ if (!url) {
4
+ return 'http://';
5
+ }
6
+ if (HTTP_PREFIX.test(url)) {
7
+ return url;
8
+ }
9
+ return 'http://' + url;
10
+ }