@modusoperandi/licit 0.1.9 → 0.1.10

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