@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,187 +1,187 @@
1
- // @flow
2
-
3
- import Keymap from 'browserkeymap';
4
-
5
- import browser from './browser';
6
-
7
- import {
8
- makeKeyMap,
9
- makeKeyMapWithCommon,
10
- } from '@modusoperandi/licit-doc-attrs-step';
11
-
12
- // https://tinyurl.com/ybwf3wex
13
-
14
- export function tooltip(keymap: ?Keymap): ?string {
15
- if (keymap) {
16
- let shortcut;
17
- if (browser.isMac()) {
18
- shortcut = keymap.mac
19
- .replace(/Cmd/i, '⌘')
20
- .replace(/Shift/i, '⇧')
21
- .replace(/Ctrl/i, '^')
22
- .replace(/Alt/i, '⌥');
23
- } else {
24
- shortcut = keymap.windows;
25
- }
26
- return `${keymap.description} (${shortcut})`;
27
- }
28
- return null;
29
- }
30
-
31
- export function findShortcutByKeymap(keymap: Keymap): ?string {
32
- if (browser.isMac()) {
33
- return keymap.mac;
34
- }
35
-
36
- return keymap.windows;
37
- }
38
-
39
- export const KEY_BACK_DELETE = makeKeyMapWithCommon('', 'Backspace');
40
- export const KEY_FORWARD_DELETE = makeKeyMapWithCommon('', 'Delete');
41
- export const KEY_INSERT_HORIZONTAL_RULE = makeKeyMapWithCommon(
42
- 'Insert horizontal rule',
43
- 'Mod-Shift--'
44
- );
45
- export const KEY_INSERT_NEW_LINE = makeKeyMapWithCommon(
46
- 'Insert new line',
47
- 'Shift-Enter'
48
- );
49
- // [FS][07-MAY-2020][IRAD-956]
50
- // export const KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE = makeKeyMapWithCommon(
51
- // 'Insert new line in blockquote',
52
- // 'Shift-Enter'
53
- // );
54
- export const KEY_INSERT_NEW_LINE_IN_LIST_ITEM = makeKeyMapWithCommon(
55
- 'Insert new line in list item',
56
- 'Shift-Enter'
57
- );
58
- export const KEY_REDO = makeKeyMapWithCommon('Redo', 'Mod-Shift-z');
59
- export const KEY_SET_NORMAL_TEXT = makeKeyMap(
60
- 'Normal text',
61
- 'Ctrl-0',
62
- 'Cmd-Alt-0'
63
- );
64
- export const KEY_SHIFT_BACKSPACE = makeKeyMapWithCommon(
65
- 'Shift Backspace',
66
- 'Shift-Backspace'
67
- );
68
- export const KEY_SPLIT_CODEBLOCK = makeKeyMapWithCommon(
69
- 'Split code block',
70
- 'Enter'
71
- );
72
- export const KEY_SPLIT_LIST_ITEM = makeKeyMapWithCommon(
73
- 'Split list item',
74
- 'Enter'
75
- );
76
- export const KEY_TAB = makeKeyMapWithCommon('', 'Tab');
77
- export const KEY_TAB_SHIFT = makeKeyMapWithCommon('', 'Shift-Tab');
78
- export const KEY_TOGGLE_BLOCK_QUOTE = makeKeyMap(
79
- 'Block quote',
80
- 'Ctrl-7',
81
- 'Cmd-Alt-7'
82
- );
83
- export const KEY_TOGGLE_BOLD = makeKeyMapWithCommon('Toggle bold', 'Mod-b');
84
- export const KEY_TOGGLE_BULLET_LIST = makeKeyMapWithCommon(
85
- 'Toggle bullet list',
86
- 'Mod-Shift-b'
87
- );
88
- export const KEY_TOGGLE_CODE_BLOCK = makeKeyMap(
89
- 'Code block',
90
- 'Ctrl-8',
91
- 'Cmd-Alt-8'
92
- );
93
- export const KEY_TOGGLE_HEADING_1 = makeKeyMap(
94
- 'Heading 1',
95
- 'Ctrl-1',
96
- 'Cmd-Alt-1'
97
- );
98
- export const KEY_TOGGLE_HEADING_2 = makeKeyMap(
99
- 'Heading 2',
100
- 'Ctrl-2',
101
- 'Cmd-Alt-2'
102
- );
103
- export const KEY_TOGGLE_HEADING_3 = makeKeyMap(
104
- 'Heading 3',
105
- 'Ctrl-3',
106
- 'Cmd-Alt-3'
107
- );
108
- export const KEY_TOGGLE_HEADING_4 = makeKeyMap(
109
- 'Heading 4',
110
- 'Ctrl-4',
111
- 'Cmd-Alt-4'
112
- );
113
- export const KEY_TOGGLE_HEADING_5 = makeKeyMap(
114
- 'Heading 5',
115
- 'Ctrl-5',
116
- 'Cmd-Alt-5'
117
- );
118
- export const KEY_TOGGLE_HEADING_6 = makeKeyMap(
119
- 'Heading 5',
120
- 'Ctrl-6',
121
- 'Cmd-Alt-6'
122
- );
123
- export const KEY_TOGGLE_ITALIC = makeKeyMapWithCommon('Toggle italic', 'Mod-i');
124
- export const KEY_TOGGLE_MONOSPACE = makeKeyMapWithCommon(
125
- 'Toggle monospace',
126
- 'Mod-Shift-m'
127
- );
128
- export const KEY_TOGGLE_ORDERED_LIST = makeKeyMapWithCommon(
129
- 'Toggle ordered list',
130
- 'Mod-Shift-l'
131
- );
132
- export const KEY_TOGGLE_STRIKETHROUGH = makeKeyMapWithCommon(
133
- 'Toggle strikethrough',
134
- 'Mod-Shift-s'
135
- );
136
- export const KEY_TOGGLE_UNDERLINE = makeKeyMapWithCommon(
137
- 'Toggle underline',
138
- 'Mod-u'
139
- );
140
- export const KEY_UNDO = makeKeyMapWithCommon('Undo', 'Mod-z');
141
-
142
- export const ALL_KEYS = [
143
- KEY_BACK_DELETE,
144
- KEY_FORWARD_DELETE,
145
- KEY_INSERT_HORIZONTAL_RULE,
146
- KEY_INSERT_NEW_LINE,
147
- // [FS][07-MAY-2020][IRAD-956]
148
- // KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE,
149
- KEY_INSERT_NEW_LINE_IN_LIST_ITEM,
150
- KEY_SET_NORMAL_TEXT,
151
- KEY_SHIFT_BACKSPACE,
152
- KEY_SPLIT_LIST_ITEM,
153
- KEY_TAB_SHIFT,
154
- KEY_TAB,
155
- KEY_TOGGLE_BLOCK_QUOTE,
156
- KEY_TOGGLE_BOLD,
157
- KEY_TOGGLE_BULLET_LIST,
158
- KEY_TOGGLE_BULLET_LIST,
159
- KEY_TOGGLE_CODE_BLOCK,
160
- KEY_TOGGLE_HEADING_1,
161
- KEY_TOGGLE_HEADING_2,
162
- KEY_TOGGLE_HEADING_3,
163
- KEY_TOGGLE_HEADING_4,
164
- KEY_TOGGLE_HEADING_5,
165
- KEY_TOGGLE_HEADING_6,
166
- KEY_TOGGLE_ITALIC,
167
- KEY_TOGGLE_MONOSPACE,
168
- KEY_TOGGLE_ORDERED_LIST,
169
- KEY_TOGGLE_STRIKETHROUGH,
170
- KEY_TOGGLE_UNDERLINE,
171
- KEY_UNDO,
172
- ];
173
-
174
- export function findKeymapByDescription(description: string): ?Keymap {
175
- const matches = ALL_KEYS.filter((keymap) => {
176
- return keymap.description.toUpperCase() === description.toUpperCase();
177
- });
178
- return matches[0];
179
- }
180
-
181
- export function findShortcutByDescription(description: string): ?string {
182
- const keymap = findKeymapByDescription(description);
183
- if (keymap) {
184
- return findShortcutByKeymap(keymap);
185
- }
186
- return null;
187
- }
1
+ // @flow
2
+
3
+ import Keymap from 'browserkeymap';
4
+
5
+ import browser from './browser';
6
+
7
+ import {
8
+ makeKeyMap,
9
+ makeKeyMapWithCommon,
10
+ } from '@modusoperandi/licit-doc-attrs-step';
11
+
12
+ // https://tinyurl.com/ybwf3wex
13
+
14
+ export function tooltip(keymap: ?Keymap): ?string {
15
+ if (keymap) {
16
+ let shortcut;
17
+ if (browser.isMac()) {
18
+ shortcut = keymap.mac
19
+ .replace(/Cmd/i, '⌘')
20
+ .replace(/Shift/i, '⇧')
21
+ .replace(/Ctrl/i, '^')
22
+ .replace(/Alt/i, '⌥');
23
+ } else {
24
+ shortcut = keymap.windows;
25
+ }
26
+ return `${keymap.description} (${shortcut})`;
27
+ }
28
+ return null;
29
+ }
30
+
31
+ export function findShortcutByKeymap(keymap: Keymap): ?string {
32
+ if (browser.isMac()) {
33
+ return keymap.mac;
34
+ }
35
+
36
+ return keymap.windows;
37
+ }
38
+
39
+ export const KEY_BACK_DELETE = makeKeyMapWithCommon('', 'Backspace');
40
+ export const KEY_FORWARD_DELETE = makeKeyMapWithCommon('', 'Delete');
41
+ export const KEY_INSERT_HORIZONTAL_RULE = makeKeyMapWithCommon(
42
+ 'Insert horizontal rule',
43
+ 'Mod-Shift--'
44
+ );
45
+ export const KEY_INSERT_NEW_LINE = makeKeyMapWithCommon(
46
+ 'Insert new line',
47
+ 'Shift-Enter'
48
+ );
49
+ // [FS][07-MAY-2020][IRAD-956]
50
+ // export const KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE = makeKeyMapWithCommon(
51
+ // 'Insert new line in blockquote',
52
+ // 'Shift-Enter'
53
+ // );
54
+ export const KEY_INSERT_NEW_LINE_IN_LIST_ITEM = makeKeyMapWithCommon(
55
+ 'Insert new line in list item',
56
+ 'Shift-Enter'
57
+ );
58
+ export const KEY_REDO = makeKeyMapWithCommon('Redo', 'Mod-Shift-z');
59
+ export const KEY_SET_NORMAL_TEXT = makeKeyMap(
60
+ 'Normal text',
61
+ 'Ctrl-0',
62
+ 'Cmd-Alt-0'
63
+ );
64
+ export const KEY_SHIFT_BACKSPACE = makeKeyMapWithCommon(
65
+ 'Shift Backspace',
66
+ 'Shift-Backspace'
67
+ );
68
+ export const KEY_SPLIT_CODEBLOCK = makeKeyMapWithCommon(
69
+ 'Split code block',
70
+ 'Enter'
71
+ );
72
+ export const KEY_SPLIT_LIST_ITEM = makeKeyMapWithCommon(
73
+ 'Split list item',
74
+ 'Enter'
75
+ );
76
+ export const KEY_TAB = makeKeyMapWithCommon('', 'Tab');
77
+ export const KEY_TAB_SHIFT = makeKeyMapWithCommon('', 'Shift-Tab');
78
+ export const KEY_TOGGLE_BLOCK_QUOTE = makeKeyMap(
79
+ 'Block quote',
80
+ 'Ctrl-7',
81
+ 'Cmd-Alt-7'
82
+ );
83
+ export const KEY_TOGGLE_BOLD = makeKeyMapWithCommon('Toggle bold', 'Mod-b');
84
+ export const KEY_TOGGLE_BULLET_LIST = makeKeyMapWithCommon(
85
+ 'Toggle bullet list',
86
+ 'Mod-Shift-b'
87
+ );
88
+ export const KEY_TOGGLE_CODE_BLOCK = makeKeyMap(
89
+ 'Code block',
90
+ 'Ctrl-8',
91
+ 'Cmd-Alt-8'
92
+ );
93
+ export const KEY_TOGGLE_HEADING_1 = makeKeyMap(
94
+ 'Heading 1',
95
+ 'Ctrl-1',
96
+ 'Cmd-Alt-1'
97
+ );
98
+ export const KEY_TOGGLE_HEADING_2 = makeKeyMap(
99
+ 'Heading 2',
100
+ 'Ctrl-2',
101
+ 'Cmd-Alt-2'
102
+ );
103
+ export const KEY_TOGGLE_HEADING_3 = makeKeyMap(
104
+ 'Heading 3',
105
+ 'Ctrl-3',
106
+ 'Cmd-Alt-3'
107
+ );
108
+ export const KEY_TOGGLE_HEADING_4 = makeKeyMap(
109
+ 'Heading 4',
110
+ 'Ctrl-4',
111
+ 'Cmd-Alt-4'
112
+ );
113
+ export const KEY_TOGGLE_HEADING_5 = makeKeyMap(
114
+ 'Heading 5',
115
+ 'Ctrl-5',
116
+ 'Cmd-Alt-5'
117
+ );
118
+ export const KEY_TOGGLE_HEADING_6 = makeKeyMap(
119
+ 'Heading 5',
120
+ 'Ctrl-6',
121
+ 'Cmd-Alt-6'
122
+ );
123
+ export const KEY_TOGGLE_ITALIC = makeKeyMapWithCommon('Toggle italic', 'Mod-i');
124
+ export const KEY_TOGGLE_MONOSPACE = makeKeyMapWithCommon(
125
+ 'Toggle monospace',
126
+ 'Mod-Shift-m'
127
+ );
128
+ export const KEY_TOGGLE_ORDERED_LIST = makeKeyMapWithCommon(
129
+ 'Toggle ordered list',
130
+ 'Mod-Shift-l'
131
+ );
132
+ export const KEY_TOGGLE_STRIKETHROUGH = makeKeyMapWithCommon(
133
+ 'Toggle strikethrough',
134
+ 'Mod-Shift-s'
135
+ );
136
+ export const KEY_TOGGLE_UNDERLINE = makeKeyMapWithCommon(
137
+ 'Toggle underline',
138
+ 'Mod-u'
139
+ );
140
+ export const KEY_UNDO = makeKeyMapWithCommon('Undo', 'Mod-z');
141
+
142
+ export const ALL_KEYS = [
143
+ KEY_BACK_DELETE,
144
+ KEY_FORWARD_DELETE,
145
+ KEY_INSERT_HORIZONTAL_RULE,
146
+ KEY_INSERT_NEW_LINE,
147
+ // [FS][07-MAY-2020][IRAD-956]
148
+ // KEY_INSERT_NEW_LINE_IN_BLOCKQUOTE,
149
+ KEY_INSERT_NEW_LINE_IN_LIST_ITEM,
150
+ KEY_SET_NORMAL_TEXT,
151
+ KEY_SHIFT_BACKSPACE,
152
+ KEY_SPLIT_LIST_ITEM,
153
+ KEY_TAB_SHIFT,
154
+ KEY_TAB,
155
+ KEY_TOGGLE_BLOCK_QUOTE,
156
+ KEY_TOGGLE_BOLD,
157
+ KEY_TOGGLE_BULLET_LIST,
158
+ KEY_TOGGLE_BULLET_LIST,
159
+ KEY_TOGGLE_CODE_BLOCK,
160
+ KEY_TOGGLE_HEADING_1,
161
+ KEY_TOGGLE_HEADING_2,
162
+ KEY_TOGGLE_HEADING_3,
163
+ KEY_TOGGLE_HEADING_4,
164
+ KEY_TOGGLE_HEADING_5,
165
+ KEY_TOGGLE_HEADING_6,
166
+ KEY_TOGGLE_ITALIC,
167
+ KEY_TOGGLE_MONOSPACE,
168
+ KEY_TOGGLE_ORDERED_LIST,
169
+ KEY_TOGGLE_STRIKETHROUGH,
170
+ KEY_TOGGLE_UNDERLINE,
171
+ KEY_UNDO,
172
+ ];
173
+
174
+ export function findKeymapByDescription(description: string): ?Keymap {
175
+ const matches = ALL_KEYS.filter((keymap) => {
176
+ return keymap.description.toUpperCase() === description.toUpperCase();
177
+ });
178
+ return matches[0];
179
+ }
180
+
181
+ export function findShortcutByDescription(description: string): ?string {
182
+ const keymap = findKeymapByDescription(description);
183
+ if (keymap) {
184
+ return findShortcutByKeymap(keymap);
185
+ }
186
+ return null;
187
+ }
@@ -1,71 +1,71 @@
1
- import { Schema } from 'prosemirror-model';
2
-
3
- import CodeMarkSpec from './CodeMarkSpec';
4
- import DocNodeSpec from './DocNodeSpec';
5
- import EMMarkSpec from './EMMarkSpec';
6
- import FontSizeMarkSpec from './FontSizeMarkSpec';
7
- import FontTypeMarkSpec from './FontTypeMarkSpec';
8
- import LinkMarkSpec from './LinkMarkSpec';
9
- import * as MarkNames from './MarkNames';
10
- import { DOC, PARAGRAPH, TEXT } from './NodeNames';
11
- import ParagraphNodeSpec from './ParagraphNodeSpec';
12
- import SpacerMarkSpec from './SpacerMarkSpec';
13
- import StrikeMarkSpec from './StrikeMarkSpec';
14
- import StrongMarkSpec from './StrongMarkSpec';
15
- import TextColorMarkSpec from './TextColorMarkSpec';
16
- import TextHighlightMarkSpec from './TextHighlightMarkSpec';
17
- import TextNoWrapMarkSpec from './TextNoWrapMarkSpec';
18
- import TextNodeSpec from './TextNodeSpec';
19
- import TextSelectionMarkSpec from './TextSelectionMarkSpec';
20
- import TextSuperMarkSpec from './TextSuperMarkSpec';
21
- import TextSubMarkSpec from './TextSubMarkSpec';
22
- import TextUnderlineMarkSpec from './TextUnderlineMarkSpec';
23
-
24
- const {
25
- MARK_CODE,
26
- MARK_EM,
27
- MARK_FONT_SIZE,
28
- MARK_FONT_TYPE,
29
- MARK_LINK,
30
- MARK_NO_BREAK,
31
- MARK_STRIKE,
32
- MARK_STRONG,
33
- MARK_SUPER,
34
- MARK_SUB,
35
- MARK_TEXT_COLOR,
36
- MARK_TEXT_HIGHLIGHT,
37
- MARK_TEXT_SELECTION,
38
- MARK_UNDERLINE,
39
- MARK_SPACER,
40
- } = MarkNames;
41
-
42
- // These nodes are required to build basic marks.
43
- const nodes = {
44
- [DOC]: DocNodeSpec,
45
- [PARAGRAPH]: ParagraphNodeSpec,
46
- [TEXT]: TextNodeSpec,
47
- };
48
-
49
- const marks = {
50
- // Link mark should be rendered first.
51
- // https://discuss.prosemirror.net/t/prevent-marks-from-breaking-up-links/401/5
52
- [MARK_LINK]: LinkMarkSpec,
53
- [MARK_NO_BREAK]: TextNoWrapMarkSpec,
54
- [MARK_CODE]: CodeMarkSpec,
55
- [MARK_EM]: EMMarkSpec,
56
- [MARK_FONT_SIZE]: FontSizeMarkSpec,
57
- [MARK_FONT_TYPE]: FontTypeMarkSpec,
58
- [MARK_SPACER]: SpacerMarkSpec,
59
- [MARK_STRIKE]: StrikeMarkSpec,
60
- [MARK_STRONG]: StrongMarkSpec,
61
- [MARK_SUPER]: TextSuperMarkSpec,
62
- [MARK_SUB]: TextSubMarkSpec,
63
- [MARK_TEXT_COLOR]: TextColorMarkSpec,
64
- [MARK_TEXT_HIGHLIGHT]: TextHighlightMarkSpec,
65
- [MARK_TEXT_SELECTION]: TextSelectionMarkSpec,
66
- [MARK_UNDERLINE]: TextUnderlineMarkSpec,
67
- };
68
-
69
- const schema = new Schema({ nodes, marks });
70
- const EditorMarks = schema.spec.marks;
71
- export default EditorMarks;
1
+ import { Schema } from 'prosemirror-model';
2
+
3
+ import CodeMarkSpec from './CodeMarkSpec';
4
+ import DocNodeSpec from './DocNodeSpec';
5
+ import EMMarkSpec from './EMMarkSpec';
6
+ import FontSizeMarkSpec from './FontSizeMarkSpec';
7
+ import FontTypeMarkSpec from './FontTypeMarkSpec';
8
+ import LinkMarkSpec from './LinkMarkSpec';
9
+ import * as MarkNames from './MarkNames';
10
+ import { DOC, PARAGRAPH, TEXT } from './NodeNames';
11
+ import ParagraphNodeSpec from './ParagraphNodeSpec';
12
+ import SpacerMarkSpec from './SpacerMarkSpec';
13
+ import StrikeMarkSpec from './StrikeMarkSpec';
14
+ import StrongMarkSpec from './StrongMarkSpec';
15
+ import TextColorMarkSpec from './TextColorMarkSpec';
16
+ import TextHighlightMarkSpec from './TextHighlightMarkSpec';
17
+ import TextNoWrapMarkSpec from './TextNoWrapMarkSpec';
18
+ import TextNodeSpec from './TextNodeSpec';
19
+ import TextSelectionMarkSpec from './TextSelectionMarkSpec';
20
+ import TextSuperMarkSpec from './TextSuperMarkSpec';
21
+ import TextSubMarkSpec from './TextSubMarkSpec';
22
+ import TextUnderlineMarkSpec from './TextUnderlineMarkSpec';
23
+
24
+ const {
25
+ MARK_CODE,
26
+ MARK_EM,
27
+ MARK_FONT_SIZE,
28
+ MARK_FONT_TYPE,
29
+ MARK_LINK,
30
+ MARK_NO_BREAK,
31
+ MARK_STRIKE,
32
+ MARK_STRONG,
33
+ MARK_SUPER,
34
+ MARK_SUB,
35
+ MARK_TEXT_COLOR,
36
+ MARK_TEXT_HIGHLIGHT,
37
+ MARK_TEXT_SELECTION,
38
+ MARK_UNDERLINE,
39
+ MARK_SPACER,
40
+ } = MarkNames;
41
+
42
+ // These nodes are required to build basic marks.
43
+ const nodes = {
44
+ [DOC]: DocNodeSpec,
45
+ [PARAGRAPH]: ParagraphNodeSpec,
46
+ [TEXT]: TextNodeSpec,
47
+ };
48
+
49
+ const marks = {
50
+ // Link mark should be rendered first.
51
+ // https://discuss.prosemirror.net/t/prevent-marks-from-breaking-up-links/401/5
52
+ [MARK_LINK]: LinkMarkSpec,
53
+ [MARK_NO_BREAK]: TextNoWrapMarkSpec,
54
+ [MARK_CODE]: CodeMarkSpec,
55
+ [MARK_EM]: EMMarkSpec,
56
+ [MARK_FONT_SIZE]: FontSizeMarkSpec,
57
+ [MARK_FONT_TYPE]: FontTypeMarkSpec,
58
+ [MARK_SPACER]: SpacerMarkSpec,
59
+ [MARK_STRIKE]: StrikeMarkSpec,
60
+ [MARK_STRONG]: StrongMarkSpec,
61
+ [MARK_SUPER]: TextSuperMarkSpec,
62
+ [MARK_SUB]: TextSubMarkSpec,
63
+ [MARK_TEXT_COLOR]: TextColorMarkSpec,
64
+ [MARK_TEXT_HIGHLIGHT]: TextHighlightMarkSpec,
65
+ [MARK_TEXT_SELECTION]: TextSelectionMarkSpec,
66
+ [MARK_UNDERLINE]: TextUnderlineMarkSpec,
67
+ };
68
+
69
+ const schema = new Schema({ nodes, marks });
70
+ const EditorMarks = schema.spec.marks;
71
+ export default EditorMarks;
@@ -1,60 +1,60 @@
1
- // @flow
2
-
3
- import { Schema } from 'prosemirror-model';
4
- import BlockquoteNodeSpec from './BlockquoteNodeSpec';
5
- import BookmarkNodeSpec from './BookmarkNodeSpec';
6
- import BulletListNodeSpec from './BulletListNodeSpec';
7
- import DocNodeSpec from './DocNodeSpec';
8
- import HardBreakNodeSpec from './HardBreakNodeSpec';
9
- import HeadingNodeSpec from './HeadingNodeSpec';
10
- import HorizontalRuleNodeSpec from './HorizontalRuleNodeSpec';
11
- import ImageNodeSpec from './ImageNodeSpec';
12
- import ListItemNodeSpec from './ListItemNodeSpec';
13
- import MathNodeSpec from './MathNodeSpec';
14
- import * as NodeNames from './NodeNames';
15
- import OrderedListNodeSpec from './OrderedListNodeSpec';
16
- import ParagraphNodeSpec from './ParagraphNodeSpec';
17
- import TableNodesSpecs from './TableNodesSpecs';
18
- import TextNodeSpec from './TextNodeSpec';
19
-
20
- const {
21
- BLOCKQUOTE,
22
- BOOKMARK,
23
- BULLET_LIST,
24
- //CODE_BLOCK,
25
- DOC,
26
- HARD_BREAK,
27
- HEADING,
28
- HORIZONTAL_RULE,
29
- IMAGE,
30
- LIST_ITEM,
31
- MATH,
32
- ORDERED_LIST,
33
- PARAGRAPH,
34
- TEXT,
35
- } = NodeNames;
36
-
37
- // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
38
-
39
- // !! Be careful with the order of these nodes, which may effect the parsing
40
- // outcome.!!
41
- const nodes = {
42
- [DOC]: DocNodeSpec,
43
- [PARAGRAPH]: ParagraphNodeSpec,
44
- [BLOCKQUOTE]: BlockquoteNodeSpec,
45
- [HORIZONTAL_RULE]: HorizontalRuleNodeSpec,
46
- [HEADING]: HeadingNodeSpec,
47
- [TEXT]: TextNodeSpec,
48
- [IMAGE]: ImageNodeSpec,
49
- [MATH]: MathNodeSpec,
50
- [HARD_BREAK]: HardBreakNodeSpec,
51
- [BULLET_LIST]: BulletListNodeSpec,
52
- [ORDERED_LIST]: OrderedListNodeSpec,
53
- [LIST_ITEM]: ListItemNodeSpec,
54
- [BOOKMARK]: BookmarkNodeSpec,
55
- };
56
-
57
- const marks = {};
58
- const schema = new Schema({ nodes, marks });
59
- const EditorNodes = schema.spec.nodes.append(TableNodesSpecs);
60
- export default EditorNodes;
1
+ // @flow
2
+
3
+ import { Schema } from 'prosemirror-model';
4
+ import BlockquoteNodeSpec from './BlockquoteNodeSpec';
5
+ import BookmarkNodeSpec from './BookmarkNodeSpec';
6
+ import BulletListNodeSpec from './BulletListNodeSpec';
7
+ import DocNodeSpec from './DocNodeSpec';
8
+ import HardBreakNodeSpec from './HardBreakNodeSpec';
9
+ import HeadingNodeSpec from './HeadingNodeSpec';
10
+ import HorizontalRuleNodeSpec from './HorizontalRuleNodeSpec';
11
+ import ImageNodeSpec from './ImageNodeSpec';
12
+ import ListItemNodeSpec from './ListItemNodeSpec';
13
+ import MathNodeSpec from './MathNodeSpec';
14
+ import * as NodeNames from './NodeNames';
15
+ import OrderedListNodeSpec from './OrderedListNodeSpec';
16
+ import ParagraphNodeSpec from './ParagraphNodeSpec';
17
+ import TableNodesSpecs from './TableNodesSpecs';
18
+ import TextNodeSpec from './TextNodeSpec';
19
+
20
+ const {
21
+ BLOCKQUOTE,
22
+ BOOKMARK,
23
+ BULLET_LIST,
24
+ //CODE_BLOCK,
25
+ DOC,
26
+ HARD_BREAK,
27
+ HEADING,
28
+ HORIZONTAL_RULE,
29
+ IMAGE,
30
+ LIST_ITEM,
31
+ MATH,
32
+ ORDERED_LIST,
33
+ PARAGRAPH,
34
+ TEXT,
35
+ } = NodeNames;
36
+
37
+ // https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
38
+
39
+ // !! Be careful with the order of these nodes, which may effect the parsing
40
+ // outcome.!!
41
+ const nodes = {
42
+ [DOC]: DocNodeSpec,
43
+ [PARAGRAPH]: ParagraphNodeSpec,
44
+ [BLOCKQUOTE]: BlockquoteNodeSpec,
45
+ [HORIZONTAL_RULE]: HorizontalRuleNodeSpec,
46
+ [HEADING]: HeadingNodeSpec,
47
+ [TEXT]: TextNodeSpec,
48
+ [IMAGE]: ImageNodeSpec,
49
+ [MATH]: MathNodeSpec,
50
+ [HARD_BREAK]: HardBreakNodeSpec,
51
+ [BULLET_LIST]: BulletListNodeSpec,
52
+ [ORDERED_LIST]: OrderedListNodeSpec,
53
+ [LIST_ITEM]: ListItemNodeSpec,
54
+ [BOOKMARK]: BookmarkNodeSpec,
55
+ };
56
+
57
+ const marks = {};
58
+ const schema = new Schema({ nodes, marks });
59
+ const EditorNodes = schema.spec.nodes.append(TableNodesSpecs);
60
+ export default EditorNodes;