@modusoperandi/licit 0.13.1 → 0.13.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/.babelrc +54 -54
  2. package/.dockerignore +4 -4
  3. package/.eslintignore +3 -3
  4. package/.eslintrc.js +84 -80
  5. package/.flowconfig +37 -37
  6. package/.github/workflows/build.yml +29 -35
  7. package/.github/workflows/lint.yml +30 -30
  8. package/.prettierignore +5 -5
  9. package/.prettierrc +4 -4
  10. package/.stylelintignore +1 -1
  11. package/.stylelintrc.json +13 -13
  12. package/.travis.yml +18 -18
  13. package/CODEOWNERS +40 -40
  14. package/LICENSE +22 -22
  15. package/README.md +300 -286
  16. package/babel.config.json +54 -0
  17. package/build_collab_server.py +7 -7
  18. package/build_image_server.py +7 -7
  19. package/dist/BlockquoteInsertNewLineCommand.js.flow +55 -55
  20. package/dist/BlockquoteNodeSpec.js.flow +30 -30
  21. package/dist/BlockquoteToggleCommand.js.flow +34 -34
  22. package/dist/BookmarkNodeSpec.js.flow +39 -39
  23. package/dist/BulletListNodeSpec.js.flow +61 -61
  24. package/dist/CZIProseMirror.js.flow +90 -90
  25. package/dist/CodeBlockCommand.js +2 -2
  26. package/dist/CodeBlockCommand.js.flow +43 -43
  27. package/dist/CodeBlockNodeSpec.js.flow +24 -24
  28. package/dist/CodeMarkSpec.js.flow +14 -14
  29. package/dist/ContentPlaceholderPlugin.js.flow +187 -187
  30. package/dist/CursorPlaceholderPlugin.js.flow +115 -115
  31. package/dist/DocLayoutCommand.js +2 -4
  32. package/dist/DocLayoutCommand.js.flow +94 -94
  33. package/dist/DocNodeSpec.js.flow +64 -64
  34. package/dist/EMMarkSpec.js.flow +14 -14
  35. package/dist/EditorCommands.js +22 -34
  36. package/dist/EditorCommands.js.flow +128 -128
  37. package/dist/EditorKeyMap.js.flow +187 -187
  38. package/dist/EditorMarks.js.flow +71 -71
  39. package/dist/EditorNodes.js.flow +60 -60
  40. package/dist/EditorPageLayoutPlugin.js.flow +67 -67
  41. package/dist/EditorPlugins.js.flow +8 -8
  42. package/dist/EditorSchema.js.flow +12 -12
  43. package/dist/EditorState.js.flow +7 -7
  44. package/dist/FontSizeMarkSpec.js.flow +49 -49
  45. package/dist/FontTypeMarkSpec.js.flow +80 -80
  46. package/dist/HTMLMutator.js.flow +59 -59
  47. package/dist/HardBreakNodeSpec.js.flow +15 -15
  48. package/dist/HeadingNodeSpec.js.flow +54 -54
  49. package/dist/HistoryRedoCommand.js.flow +20 -20
  50. package/dist/HistoryUndoCommand.js.flow +20 -20
  51. package/dist/HorizontalRuleCommand.js.flow +49 -49
  52. package/dist/HorizontalRuleNodeSpec.js.flow +39 -39
  53. package/dist/ImageFromURLCommand.js.flow +14 -14
  54. package/dist/ImageNodeSpec.js.flow +90 -90
  55. package/dist/ImageSourceCommand.js +2 -4
  56. package/dist/ImageSourceCommand.js.flow +117 -117
  57. package/dist/ImageUploadCommand.js.flow +36 -36
  58. package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
  59. package/dist/LinkMarkSpec.js.flow +32 -32
  60. package/dist/LinkSetURLCommand.js +4 -8
  61. package/dist/LinkSetURLCommand.js.flow +103 -103
  62. package/dist/LinkTooltipPlugin.js +9 -15
  63. package/dist/LinkTooltipPlugin.js.flow +203 -203
  64. package/dist/ListItemInsertNewLineCommand.js.flow +55 -55
  65. package/dist/ListItemMergeCommand.js.flow +177 -177
  66. package/dist/ListItemNodeSpec.js.flow +51 -51
  67. package/dist/ListSplitCommand.js.flow +32 -32
  68. package/dist/ListToggleCommand.js +4 -10
  69. package/dist/ListToggleCommand.js.flow +77 -77
  70. package/dist/MarkNames.js.flow +18 -18
  71. package/dist/MarksClearCommand.js +3 -3
  72. package/dist/MarksClearCommand.js.flow +42 -42
  73. package/dist/MathEditCommand.js +2 -2
  74. package/dist/MathEditCommand.js.flow +110 -110
  75. package/dist/MathNodeSpec.js.flow +46 -46
  76. package/dist/NodeNames.js.flow +23 -23
  77. package/dist/OrderedListNodeSpec.js.flow +132 -132
  78. package/dist/ParagraphNodeSpec.js +1 -3
  79. package/dist/ParagraphNodeSpec.js.flow +156 -160
  80. package/dist/ParagraphSpacingCommand.js.flow +121 -121
  81. package/dist/PrintCommand.js.flow +31 -31
  82. package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
  83. package/dist/SpacerMarkSpec.js.flow +47 -47
  84. package/dist/StrikeMarkSpec.js.flow +21 -21
  85. package/dist/StrongMarkSpec.js.flow +25 -25
  86. package/dist/StyleView.js.flow +19 -19
  87. package/dist/TableBackgroundColorCommand.js +3 -7
  88. package/dist/TableBackgroundColorCommand.js.flow +75 -75
  89. package/dist/TableBorderColorCommand.js +3 -7
  90. package/dist/TableBorderColorCommand.js.flow +75 -75
  91. package/dist/TableCellColorCommand.js +3 -7
  92. package/dist/TableCellColorCommand.js.flow +71 -71
  93. package/dist/TableCellMenuPlugin.js +4 -6
  94. package/dist/TableCellMenuPlugin.js.flow +125 -125
  95. package/dist/TableInsertCommand.js +3 -5
  96. package/dist/TableInsertCommand.js.flow +112 -112
  97. package/dist/TableMergeCellsCommand.js.flow +90 -90
  98. package/dist/TableNodesSpecs.js.flow +78 -78
  99. package/dist/TablePlugins.js.flow +14 -14
  100. package/dist/TableResizePlugin.js.flow +631 -631
  101. package/dist/TextColorMarkSpec.js.flow +35 -35
  102. package/dist/TextHighlightMarkSpec.js.flow +38 -38
  103. package/dist/TextInsertTabSpaceCommand.js +2 -4
  104. package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
  105. package/dist/TextNoWrapMarkSpec.js.flow +14 -14
  106. package/dist/TextNodeSpec.js.flow +7 -7
  107. package/dist/TextSelectionMarkSpec.js.flow +24 -24
  108. package/dist/TextSubMarkSpec.js.flow +20 -20
  109. package/dist/TextSuperMarkSpec.js.flow +20 -20
  110. package/dist/TextUnderlineMarkSpec.js.flow +27 -27
  111. package/dist/Types.js.flow +75 -75
  112. package/dist/WebFontLoader.js.flow +22 -22
  113. package/dist/blockQuoteInputRule.js.flow +36 -36
  114. package/dist/bom.xml +10778 -4658
  115. package/dist/browser.js.flow +7 -7
  116. package/dist/buildEditorPlugins.js.flow +51 -51
  117. package/dist/buildInputRules.js.flow +81 -81
  118. package/dist/client/CollabConnector.js +17 -2
  119. package/dist/client/CollabConnector.js.flow +86 -71
  120. package/dist/client/EditorConnection.js +17 -6
  121. package/dist/client/EditorConnection.js.flow +318 -307
  122. package/dist/client/Licit.js +159 -85
  123. package/dist/client/Licit.js.flow +638 -562
  124. package/dist/client/Licit.test.js +50 -22
  125. package/dist/client/Licit.test.js.flow +98 -65
  126. package/dist/client/Reporter.js.flow +37 -37
  127. package/dist/client/SimpleConnector.js +3 -1
  128. package/dist/client/SimpleConnector.js.flow +55 -53
  129. package/dist/client/http.js +12 -0
  130. package/dist/client/http.js.flow +70 -66
  131. package/dist/client/licit.css +12 -12
  132. package/dist/client/throttle.js.flow +27 -27
  133. package/dist/convertFromDOMElement.js.flow +36 -36
  134. package/dist/convertFromHTML.js +1 -4
  135. package/dist/convertFromHTML.js.flow +17 -19
  136. package/dist/convertFromJSON.js +12 -28
  137. package/dist/convertFromJSON.js.flow +56 -78
  138. package/dist/convertToCSSPTValue.js.flow +22 -22
  139. package/dist/convertToJSON.js.flow +7 -7
  140. package/dist/createCommand.js.flow +40 -40
  141. package/dist/createEditorKeyMap.js.flow +94 -94
  142. package/dist/createEmptyEditorState.js +6 -12
  143. package/dist/createEmptyEditorState.js.flow +31 -41
  144. package/dist/createTableResizingPlugin.js.flow +86 -86
  145. package/dist/findActionableCell.js.flow +74 -74
  146. package/dist/findActiveMark.js.flow +32 -32
  147. package/dist/hyphenize.js.flow +17 -17
  148. package/dist/index.js +11 -1
  149. package/dist/index.js.flow +10 -10
  150. package/dist/insertTable.js.flow +56 -56
  151. package/dist/isEditorStateEmpty.js.flow +32 -32
  152. package/dist/isTableNode.js.flow +15 -15
  153. package/dist/joinDown.js.flow +27 -27
  154. package/dist/joinListNode.js +2 -2
  155. package/dist/joinListNode.js.flow +55 -55
  156. package/dist/joinUp.js.flow +39 -39
  157. package/dist/keymaps.js.flow +185 -185
  158. package/dist/lookUpElement.js.flow +14 -14
  159. package/dist/nodeAt.js.flow +12 -12
  160. package/dist/normalizeHTML.js.flow +78 -78
  161. package/dist/patchAnchorElements.js.flow +38 -38
  162. package/dist/patchBreakElements.js.flow +22 -22
  163. package/dist/patchElementInlineStyles.js.flow +92 -92
  164. package/dist/patchListElements.js.flow +276 -276
  165. package/dist/patchMathElements.js.flow +60 -60
  166. package/dist/patchParagraphElements.js.flow +20 -20
  167. package/dist/patchStyleElements.js +3 -5
  168. package/dist/patchStyleElements.js.flow +194 -194
  169. package/dist/patchTableElements.js.flow +89 -89
  170. package/dist/rebaseDocWithSteps.js.flow +42 -42
  171. package/dist/sanitizeURL.js.flow +13 -13
  172. package/dist/splitListItem.js.flow +191 -191
  173. package/dist/styles.css +19 -19
  174. package/dist/styles0.css +29 -29
  175. package/dist/toClosestFontPtSize.js.flow +22 -22
  176. package/dist/toSafeHTMLDocument.js.flow +9 -9
  177. package/dist/toggleBlockquote.js +6 -14
  178. package/dist/toggleBlockquote.js.flow +91 -91
  179. package/dist/toggleCodeBlock.js +4 -10
  180. package/dist/toggleCodeBlock.js.flow +102 -102
  181. package/dist/ui/AlertInfo.js.flow +64 -64
  182. package/dist/ui/BookmarkNodeView.js.flow +66 -66
  183. package/dist/ui/CommandButton.js +2 -4
  184. package/dist/ui/CommandButton.js.flow +68 -68
  185. package/dist/ui/CommandMenu.js.flow +75 -75
  186. package/dist/ui/CommandMenuButton.js +3 -5
  187. package/dist/ui/CommandMenuButton.js.flow +131 -131
  188. package/dist/ui/CustomEditorView.js.flow +28 -28
  189. package/dist/ui/CustomMenu.js.flow +17 -17
  190. package/dist/ui/CustomMenuItem.js +3 -5
  191. package/dist/ui/CustomMenuItem.js.flow +36 -36
  192. package/dist/ui/CustomNodeView.js.flow +200 -200
  193. package/dist/ui/CustomRadioButton.js +6 -6
  194. package/dist/ui/CustomRadioButton.js.flow +65 -65
  195. package/dist/ui/DocLayoutEditor.js +4 -6
  196. package/dist/ui/DocLayoutEditor.js.flow +146 -146
  197. package/dist/ui/Editor.js +0 -1
  198. package/dist/ui/Editor.js.flow +290 -291
  199. package/dist/ui/EditorFrameset.js.flow +81 -81
  200. package/dist/ui/EditorToolbar.js +2 -2
  201. package/dist/ui/EditorToolbar.js.flow +211 -211
  202. package/dist/ui/EditorToolbarConfig.js.flow +172 -172
  203. package/dist/ui/FontSizeCommandMenuButton.js +3 -3
  204. package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
  205. package/dist/ui/FontTypeCommandMenuButton.js +3 -3
  206. package/dist/ui/FontTypeCommandMenuButton.js.flow +49 -49
  207. package/dist/ui/Frag.js.flow +13 -13
  208. package/dist/ui/Icon.js.flow +89 -89
  209. package/dist/ui/ImageAlignEditor.js +4 -4
  210. package/dist/ui/ImageAlignEditor.js.flow +60 -60
  211. package/dist/ui/ImageInlineEditor.js +4 -4
  212. package/dist/ui/ImageInlineEditor.js.flow +67 -67
  213. package/dist/ui/ImageNodeView.js +3 -5
  214. package/dist/ui/ImageNodeView.js.flow +404 -404
  215. package/dist/ui/ImageResizeBox.js +3 -3
  216. package/dist/ui/ImageResizeBox.js.flow +219 -219
  217. package/dist/ui/ImageURLEditor.js +4 -6
  218. package/dist/ui/ImageURLEditor.js.flow +119 -119
  219. package/dist/ui/ImageUploadEditor.js +3 -5
  220. package/dist/ui/ImageUploadEditor.js.flow +117 -117
  221. package/dist/ui/KeyCodes.js.flow +12 -12
  222. package/dist/ui/LinkTooltip.js +4 -4
  223. package/dist/ui/LinkTooltip.js.flow +85 -85
  224. package/dist/ui/LinkURLEditor.js +4 -6
  225. package/dist/ui/LinkURLEditor.js.flow +111 -111
  226. package/dist/ui/ListItemNodeView.js.flow +98 -98
  227. package/dist/ui/ListTypeButton.js +3 -5
  228. package/dist/ui/ListTypeButton.js.flow +131 -131
  229. package/dist/ui/ListTypeCommandButton.js.flow +85 -85
  230. package/dist/ui/ListTypeMenu.js.flow +70 -70
  231. package/dist/ui/LoadingIndicator.js.flow +20 -20
  232. package/dist/ui/MathEditor.js +4 -6
  233. package/dist/ui/MathEditor.js.flow +78 -78
  234. package/dist/ui/MathInlineEditor.js +4 -6
  235. package/dist/ui/MathInlineEditor.js.flow +102 -102
  236. package/dist/ui/MathNodeView.js +3 -5
  237. package/dist/ui/MathNodeView.js.flow +175 -175
  238. package/dist/ui/PasteMenu.js.flow +57 -57
  239. package/dist/ui/ResizeObserver.js.flow +106 -106
  240. package/dist/ui/RichTextEditor.js.flow +133 -133
  241. package/dist/ui/SelectionObserver.js.flow +134 -134
  242. package/dist/ui/TableCellMenu.js.flow +38 -38
  243. package/dist/ui/TableGridSizeEditor.js +6 -8
  244. package/dist/ui/TableGridSizeEditor.js.flow +184 -184
  245. package/dist/ui/TableNodeView.js.flow +22 -22
  246. package/dist/ui/bindScrollHandler.js.flow +46 -46
  247. package/dist/ui/canUseCSSFont.js.flow +43 -43
  248. package/dist/ui/czi-body-layout-editor.css +16 -16
  249. package/dist/ui/czi-bookmark-view.css +10 -10
  250. package/dist/ui/czi-cursor-placeholder.css +36 -36
  251. package/dist/ui/czi-custom-menu-button.css +18 -18
  252. package/dist/ui/czi-custom-menu-item.css +30 -30
  253. package/dist/ui/czi-custom-menu.css +8 -8
  254. package/dist/ui/czi-custom-radio-button.css +80 -80
  255. package/dist/ui/czi-custom-scrollbar.css +21 -21
  256. package/dist/ui/czi-editor-frameset.css +81 -81
  257. package/dist/ui/czi-editor-toolbar.css +122 -122
  258. package/dist/ui/czi-editor.css +220 -220
  259. package/dist/ui/czi-form.css +104 -104
  260. package/dist/ui/czi-frag.css +3 -3
  261. package/dist/ui/czi-heading.css +40 -40
  262. package/dist/ui/czi-icon.css +72 -72
  263. package/dist/ui/czi-image-resize-box.css +165 -165
  264. package/dist/ui/czi-image-upload-editor.css +57 -57
  265. package/dist/ui/czi-image-upload-placeholder.css +50 -50
  266. package/dist/ui/czi-image-url-editor.css +38 -38
  267. package/dist/ui/czi-image-view.css +125 -125
  268. package/dist/ui/czi-indent.css +137 -137
  269. package/dist/ui/czi-inline-editor.css +20 -20
  270. package/dist/ui/czi-link-tooltip.css +71 -71
  271. package/dist/ui/czi-list.css +410 -410
  272. package/dist/ui/czi-loading-indicator.css +111 -111
  273. package/dist/ui/czi-math-view.css +62 -62
  274. package/dist/ui/czi-selection-placeholder.css +24 -24
  275. package/dist/ui/czi-table-cell-menu.css +14 -14
  276. package/dist/ui/czi-table-grid-size-editor.css +37 -37
  277. package/dist/ui/czi-table.css +86 -86
  278. package/dist/ui/czi-vars.css +2 -46
  279. package/dist/ui/findActiveFontSize.js.flow +58 -58
  280. package/dist/ui/findActiveFontType.js.flow +38 -38
  281. package/dist/ui/fonts.css +471 -471
  282. package/dist/ui/handleEditorDrop.js.flow +28 -28
  283. package/dist/ui/handleEditorKeyDown.js.flow +39 -39
  284. package/dist/ui/handleEditorPaste.js.flow +33 -33
  285. package/dist/ui/htmlElementToRect.js.flow +18 -18
  286. package/dist/ui/icon-font.css +10 -10
  287. package/dist/ui/injectStyleSheet.js.flow +42 -42
  288. package/dist/ui/isElementFullyVisible.js +2 -2
  289. package/dist/ui/isElementFullyVisible.js.flow +23 -23
  290. package/dist/ui/isOffline.js.flow +8 -8
  291. package/dist/ui/isReactClass.js.flow +12 -12
  292. package/dist/ui/listType.css +21 -21
  293. package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +159 -159
  294. package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
  295. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +2 -2
  296. package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +48 -48
  297. package/dist/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  298. package/dist/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  299. package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -24
  300. package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
  301. package/dist/ui/resolveImage.js.flow +123 -123
  302. package/dist/ui/toCSSColor.js.flow +51 -51
  303. package/dist/ui/toCSSLineSpacing.js +1 -36
  304. package/dist/ui/toCSSLineSpacing.js.flow +55 -82
  305. package/dist/ui/toHexColor.js.flow +26 -26
  306. package/dist/ui/uuid.js.flow +9 -9
  307. package/dist/uuid.js.flow +9 -9
  308. package/flow-typed/@modusoperandilicit-customstyles.js +5 -5
  309. package/flow-typed/@modusoperandilicit-doc-attrs-step.js +5 -5
  310. package/flow-typed/@modusoperandilicit-ui-commands.js +5 -0
  311. package/flow-typed/create-emotion.js +5 -5
  312. package/flow-typed/docs-editor.js +3 -3
  313. package/flow-typed/draft-convert.js +3 -3
  314. package/flow-typed/draft-js.js +3 -3
  315. package/flow-typed/flatted.js +5 -5
  316. package/flow-typed/jquery.js +5 -5
  317. package/flow-typed/katex.js +6 -6
  318. package/flow-typed/mathquill.js +5 -5
  319. package/flow-typed/prosemirror-collab.js +5 -5
  320. package/flow-typed/prosemirror-commands.js +5 -5
  321. package/flow-typed/prosemirror-dev-tools.js +5 -5
  322. package/flow-typed/prosemirror-dropcursor.js +5 -5
  323. package/flow-typed/prosemirror-gapcursor.js +5 -5
  324. package/flow-typed/prosemirror-history.js +5 -5
  325. package/flow-typed/prosemirror-inputrules.js +5 -5
  326. package/flow-typed/prosemirror-keymap.js +5 -5
  327. package/flow-typed/prosemirror-model.js +5 -5
  328. package/flow-typed/prosemirror-state.js +5 -5
  329. package/flow-typed/prosemirror-tables.js +5 -5
  330. package/flow-typed/prosemirror-transform.js +5 -5
  331. package/flow-typed/prosemirror-utils.js +5 -5
  332. package/flow-typed/prosemirror-view.js +5 -5
  333. package/flow-typed/resize-observer-polyfill.js +5 -5
  334. package/flow-typed/uuid.js +5 -5
  335. package/jest.config.js +207 -0
  336. package/jest.setup.js +5 -5
  337. package/licit/client/CustomLicitRuntime.js +95 -95
  338. package/licit/client/CustomStyleRuntime.js +136 -136
  339. package/licit/client/index.js +367 -366
  340. package/licit/index.html +11 -11
  341. package/licit/server/collab/instance.js +224 -221
  342. package/licit/server/collab/route.js +69 -69
  343. package/licit/server/collab/server.js +297 -297
  344. package/licit/server/collab/start.js +13 -13
  345. package/licit/server/image/start.js +58 -58
  346. package/lint.sh +4 -4
  347. package/package.json +167 -163
  348. package/run_collab_server.py +21 -21
  349. package/run_image_server.py +20 -20
  350. package/run_web_server.py +25 -25
  351. package/scripts/build_bin.js +10 -10
  352. package/scripts/build_bin.py +103 -103
  353. package/scripts/ci_check_dist.sh +13 -13
  354. package/scripts/env.js +6 -6
  355. package/scripts/webserver.js +35 -35
  356. package/sonar-project.properties +11 -11
  357. package/src/BlockquoteInsertNewLineCommand.js +55 -55
  358. package/src/BlockquoteNodeSpec.js +30 -30
  359. package/src/BlockquoteToggleCommand.js +34 -34
  360. package/src/BookmarkNodeSpec.js +39 -39
  361. package/src/BulletListNodeSpec.js +61 -61
  362. package/src/CZIProseMirror.js +90 -90
  363. package/src/CodeBlockCommand.js +43 -43
  364. package/src/CodeBlockNodeSpec.js +24 -24
  365. package/src/CodeMarkSpec.js +14 -14
  366. package/src/ContentPlaceholderPlugin.js +187 -187
  367. package/src/CursorPlaceholderPlugin.js +115 -115
  368. package/src/DocLayoutCommand.js +94 -94
  369. package/src/DocNodeSpec.js +64 -64
  370. package/src/EMMarkSpec.js +14 -14
  371. package/src/EditorCommands.js +128 -128
  372. package/src/EditorKeyMap.js +187 -187
  373. package/src/EditorMarks.js +71 -71
  374. package/src/EditorNodes.js +60 -60
  375. package/src/EditorPageLayoutPlugin.js +67 -67
  376. package/src/EditorPlugins.js +8 -8
  377. package/src/EditorSchema.js +12 -12
  378. package/src/EditorState.js +7 -7
  379. package/src/FontSizeMarkSpec.js +49 -49
  380. package/src/FontTypeMarkSpec.js +80 -80
  381. package/src/HTMLMutator.js +59 -59
  382. package/src/HardBreakNodeSpec.js +15 -15
  383. package/src/HeadingNodeSpec.js +54 -54
  384. package/src/HistoryRedoCommand.js +20 -20
  385. package/src/HistoryUndoCommand.js +20 -20
  386. package/src/HorizontalRuleCommand.js +49 -49
  387. package/src/HorizontalRuleNodeSpec.js +39 -39
  388. package/src/ImageFromURLCommand.js +14 -14
  389. package/src/ImageNodeSpec.js +90 -90
  390. package/src/ImageSourceCommand.js +117 -117
  391. package/src/ImageUploadCommand.js +36 -36
  392. package/src/ImageUploadPlaceholderPlugin.js +192 -192
  393. package/src/LinkMarkSpec.js +32 -32
  394. package/src/LinkSetURLCommand.js +103 -103
  395. package/src/LinkTooltipPlugin.js +203 -203
  396. package/src/ListItemInsertNewLineCommand.js +55 -55
  397. package/src/ListItemMergeCommand.js +177 -177
  398. package/src/ListItemNodeSpec.js +51 -51
  399. package/src/ListSplitCommand.js +32 -32
  400. package/src/ListToggleCommand.js +77 -77
  401. package/src/MarkNames.js +18 -18
  402. package/src/MarksClearCommand.js +42 -42
  403. package/src/MathEditCommand.js +110 -110
  404. package/src/MathNodeSpec.js +46 -46
  405. package/src/NodeNames.js +23 -23
  406. package/src/OrderedListNodeSpec.js +132 -132
  407. package/src/ParagraphNodeSpec.js +156 -160
  408. package/src/ParagraphSpacingCommand.js +121 -121
  409. package/src/PrintCommand.js +31 -31
  410. package/src/SelectionPlaceholderPlugin.js +131 -131
  411. package/src/SpacerMarkSpec.js +47 -47
  412. package/src/StrikeMarkSpec.js +21 -21
  413. package/src/StrongMarkSpec.js +25 -25
  414. package/src/StyleView.js +19 -19
  415. package/src/TableBackgroundColorCommand.js +75 -75
  416. package/src/TableBorderColorCommand.js +75 -75
  417. package/src/TableCellColorCommand.js +71 -71
  418. package/src/TableCellMenuPlugin.js +125 -125
  419. package/src/TableInsertCommand.js +112 -112
  420. package/src/TableMergeCellsCommand.js +90 -90
  421. package/src/TableNodesSpecs.js +78 -78
  422. package/src/TablePlugins.js +14 -14
  423. package/src/TableResizePlugin.js +631 -631
  424. package/src/TextColorMarkSpec.js +35 -35
  425. package/src/TextHighlightMarkSpec.js +38 -38
  426. package/src/TextInsertTabSpaceCommand.js +83 -83
  427. package/src/TextNoWrapMarkSpec.js +14 -14
  428. package/src/TextNodeSpec.js +7 -7
  429. package/src/TextSelectionMarkSpec.js +24 -24
  430. package/src/TextSubMarkSpec.js +20 -20
  431. package/src/TextSuperMarkSpec.js +20 -20
  432. package/src/TextUnderlineMarkSpec.js +27 -27
  433. package/src/Types.js +75 -75
  434. package/src/WebFontLoader.js +22 -22
  435. package/src/blockQuoteInputRule.js +36 -36
  436. package/src/browser.js +7 -7
  437. package/src/buildEditorPlugins.js +51 -51
  438. package/src/buildInputRules.js +81 -81
  439. package/src/client/CollabConnector.js +86 -71
  440. package/src/client/EditorConnection.js +318 -307
  441. package/src/client/Licit.js +638 -562
  442. package/src/client/Licit.test.js +98 -65
  443. package/src/client/Reporter.js +37 -37
  444. package/src/client/SimpleConnector.js +55 -53
  445. package/src/client/http.js +70 -66
  446. package/src/client/licit.css +12 -12
  447. package/src/client/throttle.js +27 -27
  448. package/src/convertFromDOMElement.js +36 -36
  449. package/src/convertFromHTML.js +17 -19
  450. package/src/convertFromJSON.js +56 -78
  451. package/src/convertToCSSPTValue.js +22 -22
  452. package/src/convertToJSON.js +7 -7
  453. package/src/createCommand.js +40 -40
  454. package/src/createEditorKeyMap.js +94 -94
  455. package/src/createEmptyEditorState.js +31 -41
  456. package/src/createTableResizingPlugin.js +86 -86
  457. package/src/findActionableCell.js +74 -74
  458. package/src/findActiveMark.js +32 -32
  459. package/src/hyphenize.js +17 -17
  460. package/src/index.js +10 -10
  461. package/src/insertTable.js +56 -56
  462. package/src/isEditorStateEmpty.js +32 -32
  463. package/src/isTableNode.js +15 -15
  464. package/src/joinDown.js +27 -27
  465. package/src/joinListNode.js +55 -55
  466. package/src/joinUp.js +39 -39
  467. package/src/keymaps.js +185 -185
  468. package/src/lookUpElement.js +14 -14
  469. package/src/nodeAt.js +12 -12
  470. package/src/normalizeHTML.js +78 -78
  471. package/src/patchAnchorElements.js +38 -38
  472. package/src/patchBreakElements.js +22 -22
  473. package/src/patchElementInlineStyles.js +92 -92
  474. package/src/patchListElements.js +276 -276
  475. package/src/patchMathElements.js +60 -60
  476. package/src/patchParagraphElements.js +20 -20
  477. package/src/patchStyleElements.js +194 -194
  478. package/src/patchTableElements.js +89 -89
  479. package/src/rebaseDocWithSteps.js +42 -42
  480. package/src/sanitizeURL.js +13 -13
  481. package/src/splitListItem.js +191 -191
  482. package/src/styles.css +19 -19
  483. package/src/styles0.css +29 -29
  484. package/src/toClosestFontPtSize.js +22 -22
  485. package/src/toSafeHTMLDocument.js +9 -9
  486. package/src/toggleBlockquote.js +91 -91
  487. package/src/toggleCodeBlock.js +102 -102
  488. package/src/ui/AlertInfo.js +64 -64
  489. package/src/ui/BookmarkNodeView.js +66 -66
  490. package/src/ui/CommandButton.js +68 -68
  491. package/src/ui/CommandMenu.js +75 -75
  492. package/src/ui/CommandMenuButton.js +131 -131
  493. package/src/ui/CustomEditorView.js +28 -28
  494. package/src/ui/CustomMenu.js +17 -17
  495. package/src/ui/CustomMenuItem.js +36 -36
  496. package/src/ui/CustomNodeView.js +200 -200
  497. package/src/ui/CustomRadioButton.js +65 -65
  498. package/src/ui/DocLayoutEditor.js +146 -146
  499. package/src/ui/Editor.js +290 -291
  500. package/src/ui/EditorFrameset.js +81 -81
  501. package/src/ui/EditorToolbar.js +211 -211
  502. package/src/ui/EditorToolbarConfig.js +172 -172
  503. package/src/ui/FontSizeCommandMenuButton.js +66 -66
  504. package/src/ui/FontTypeCommandMenuButton.js +49 -49
  505. package/src/ui/Frag.js +13 -13
  506. package/src/ui/Icon.js +89 -89
  507. package/src/ui/ImageAlignEditor.js +60 -60
  508. package/src/ui/ImageInlineEditor.js +67 -67
  509. package/src/ui/ImageNodeView.js +404 -404
  510. package/src/ui/ImageResizeBox.js +219 -219
  511. package/src/ui/ImageURLEditor.js +119 -119
  512. package/src/ui/ImageUploadEditor.js +117 -117
  513. package/src/ui/KeyCodes.js +12 -12
  514. package/src/ui/LinkTooltip.js +85 -85
  515. package/src/ui/LinkURLEditor.js +111 -111
  516. package/src/ui/ListItemNodeView.js +98 -98
  517. package/src/ui/ListTypeButton.js +131 -131
  518. package/src/ui/ListTypeCommandButton.js +85 -85
  519. package/src/ui/ListTypeMenu.js +70 -70
  520. package/src/ui/LoadingIndicator.js +20 -20
  521. package/src/ui/MathEditor.js +78 -78
  522. package/src/ui/MathInlineEditor.js +102 -102
  523. package/src/ui/MathNodeView.js +175 -175
  524. package/src/ui/PasteMenu.js +57 -57
  525. package/src/ui/ResizeObserver.js +106 -106
  526. package/src/ui/RichTextEditor.js +133 -133
  527. package/src/ui/SelectionObserver.js +134 -134
  528. package/src/ui/TableCellMenu.js +38 -38
  529. package/src/ui/TableGridSizeEditor.js +184 -184
  530. package/src/ui/TableNodeView.js +22 -22
  531. package/src/ui/bindScrollHandler.js +46 -46
  532. package/src/ui/canUseCSSFont.js +43 -43
  533. package/src/ui/czi-body-layout-editor.css +16 -16
  534. package/src/ui/czi-bookmark-view.css +10 -10
  535. package/src/ui/czi-cursor-placeholder.css +36 -36
  536. package/src/ui/czi-custom-menu-button.css +18 -18
  537. package/src/ui/czi-custom-menu-item.css +30 -30
  538. package/src/ui/czi-custom-menu.css +8 -8
  539. package/src/ui/czi-custom-radio-button.css +80 -80
  540. package/src/ui/czi-custom-scrollbar.css +21 -21
  541. package/src/ui/czi-editor-frameset.css +81 -81
  542. package/src/ui/czi-editor-toolbar.css +122 -122
  543. package/src/ui/czi-editor.css +220 -220
  544. package/src/ui/czi-form.css +104 -104
  545. package/src/ui/czi-frag.css +3 -3
  546. package/src/ui/czi-heading.css +40 -40
  547. package/src/ui/czi-icon.css +72 -72
  548. package/src/ui/czi-image-resize-box.css +165 -165
  549. package/src/ui/czi-image-upload-editor.css +57 -57
  550. package/src/ui/czi-image-upload-placeholder.css +50 -50
  551. package/src/ui/czi-image-url-editor.css +38 -38
  552. package/src/ui/czi-image-view.css +125 -125
  553. package/src/ui/czi-indent.css +137 -137
  554. package/src/ui/czi-inline-editor.css +20 -20
  555. package/src/ui/czi-link-tooltip.css +71 -71
  556. package/src/ui/czi-list.css +410 -410
  557. package/src/ui/czi-loading-indicator.css +111 -111
  558. package/src/ui/czi-math-view.css +62 -62
  559. package/src/ui/czi-selection-placeholder.css +24 -24
  560. package/src/ui/czi-table-cell-menu.css +14 -14
  561. package/src/ui/czi-table-grid-size-editor.css +37 -37
  562. package/src/ui/czi-table.css +86 -86
  563. package/src/ui/czi-vars.css +2 -46
  564. package/src/ui/findActiveFontSize.js +58 -58
  565. package/src/ui/findActiveFontType.js +38 -38
  566. package/src/ui/fonts.css +471 -471
  567. package/src/ui/handleEditorDrop.js +28 -28
  568. package/src/ui/handleEditorKeyDown.js +39 -39
  569. package/src/ui/handleEditorPaste.js +33 -33
  570. package/src/ui/htmlElementToRect.js +18 -18
  571. package/src/ui/icon-font.css +10 -10
  572. package/src/ui/injectStyleSheet.js +42 -42
  573. package/src/ui/isElementFullyVisible.js +23 -23
  574. package/src/ui/isOffline.js +8 -8
  575. package/src/ui/isReactClass.js +12 -12
  576. package/src/ui/listType.css +21 -21
  577. package/src/ui/mathquill-editor/MathQuillEditor.js +159 -159
  578. package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +483 -483
  579. package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +48 -48
  580. package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
  581. package/src/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
  582. package/src/ui/mathquill-editor/mathquill-import-kludge.js +24 -24
  583. package/src/ui/renderLaTeXAsHTML.js +46 -46
  584. package/src/ui/resolveImage.js +123 -123
  585. package/src/ui/toCSSColor.js +51 -51
  586. package/src/ui/toCSSLineSpacing.js +55 -82
  587. package/src/ui/toHexColor.js +26 -26
  588. package/src/ui/uuid.js +9 -9
  589. package/src/uuid.js +9 -9
  590. package/style-service.Dockerfile +26 -26
  591. package/utils/build_bin.js +9 -9
  592. package/utils/build_image_server.js +71 -69
  593. package/utils/build_licit_collab_server.js +75 -73
  594. package/utils/build_web_server.js +40 -40
  595. package/utils/env.js +6 -6
  596. package/webpack.config.js +126 -120
  597. package/build_customstyle_server.py +0 -7
  598. package/dist/FontSizeCommand.js +0 -80
  599. package/dist/FontSizeCommand.js.flow +0 -57
  600. package/dist/FontTypeCommand.js +0 -137
  601. package/dist/FontTypeCommand.js.flow +0 -100
  602. package/dist/HeadingCommand.js +0 -65
  603. package/dist/HeadingCommand.js.flow +0 -51
  604. package/dist/IndentCommand.js +0 -57
  605. package/dist/IndentCommand.js.flow +0 -41
  606. package/dist/MarkToggleCommand.js +0 -90
  607. package/dist/MarkToggleCommand.js.flow +0 -66
  608. package/dist/TextAlignCommand.js +0 -151
  609. package/dist/TextAlignCommand.js.flow +0 -122
  610. package/dist/TextColorCommand.js +0 -114
  611. package/dist/TextColorCommand.js.flow +0 -87
  612. package/dist/TextHighlightCommand.js +0 -118
  613. package/dist/TextHighlightCommand.js.flow +0 -91
  614. package/dist/TextLineSpacingCommand.js +0 -177
  615. package/dist/TextLineSpacingCommand.js.flow +0 -157
  616. package/dist/applyMark.js +0 -84
  617. package/dist/applyMark.js.flow +0 -61
  618. package/dist/clearMarks.js +0 -160
  619. package/dist/clearMarks.js.flow +0 -128
  620. package/dist/compareNumber.js +0 -18
  621. package/dist/compareNumber.js.flow +0 -11
  622. package/dist/consolidateListNodes.js +0 -291
  623. package/dist/consolidateListNodes.js.flow +0 -281
  624. package/dist/coverage/lcov-report/block-navigation.js +0 -82
  625. package/dist/coverage/lcov-report/block-navigation.js.flow +0 -87
  626. package/dist/coverage/lcov-report/prettify.js +0 -994
  627. package/dist/coverage/lcov-report/prettify.js.flow +0 -2
  628. package/dist/coverage/lcov-report/sorter.js +0 -211
  629. package/dist/coverage/lcov-report/sorter.js.flow +0 -196
  630. package/dist/findNodesWithSameMark.js +0 -89
  631. package/dist/findNodesWithSameMark.js.flow +0 -89
  632. package/dist/isBulletListNode.js +0 -14
  633. package/dist/isBulletListNode.js.flow +0 -9
  634. package/dist/isInsideListItem.js +0 -19
  635. package/dist/isInsideListItem.js.flow +0 -13
  636. package/dist/isListNode.js +0 -22
  637. package/dist/isListNode.js.flow +0 -13
  638. package/dist/isNodeSelectionForNodeType.js +0 -19
  639. package/dist/isNodeSelectionForNodeType.js.flow +0 -15
  640. package/dist/isOrderedListNode.js +0 -14
  641. package/dist/isOrderedListNode.js.flow +0 -9
  642. package/dist/isTextStyleMarkCommandEnabled.js +0 -59
  643. package/dist/isTextStyleMarkCommandEnabled.js.flow +0 -49
  644. package/dist/noop.js +0 -11
  645. package/dist/noop.js.flow +0 -5
  646. package/dist/toggleHeading.js +0 -135
  647. package/dist/toggleHeading.js.flow +0 -113
  648. package/dist/toggleList.js +0 -431
  649. package/dist/toggleList.js.flow +0 -450
  650. package/dist/transformAndPreserveTextSelection.js +0 -173
  651. package/dist/transformAndPreserveTextSelection.js.flow +0 -151
  652. package/dist/ui/ColorEditor.js +0 -118
  653. package/dist/ui/ColorEditor.js.flow +0 -101
  654. package/dist/ui/CustomButton.js +0 -64
  655. package/dist/ui/CustomButton.js.flow +0 -33
  656. package/dist/ui/PointerSurface.js +0 -173
  657. package/dist/ui/PointerSurface.js.flow +0 -141
  658. package/dist/ui/PopUp.js +0 -129
  659. package/dist/ui/PopUp.js.flow +0 -77
  660. package/dist/ui/PopUpManager.js +0 -266
  661. package/dist/ui/PopUpManager.js.flow +0 -213
  662. package/dist/ui/PopUpPosition.js +0 -156
  663. package/dist/ui/PopUpPosition.js.flow +0 -104
  664. package/dist/ui/PopUpTypes.js +0 -1
  665. package/dist/ui/PopUpTypes.js.flow +0 -0
  666. package/dist/ui/TooltipSurface.js +0 -99
  667. package/dist/ui/TooltipSurface.js.flow +0 -76
  668. package/dist/ui/clamp.js +0 -18
  669. package/dist/ui/clamp.js.flow +0 -11
  670. package/dist/ui/createPopUp.js +0 -199
  671. package/dist/ui/createPopUp.js.flow +0 -205
  672. package/dist/ui/czi-animations.css +0 -15
  673. package/dist/ui/czi-color-editor.css +0 -56
  674. package/dist/ui/czi-custom-button.css +0 -93
  675. package/dist/ui/czi-pop-up.css +0 -32
  676. package/dist/ui/czi-tooltip-surface.css +0 -45
  677. package/dist/ui/preventEventDefault.js +0 -10
  678. package/dist/ui/preventEventDefault.js.flow +0 -5
  679. package/dist/ui/rects.js +0 -58
  680. package/dist/ui/rects.js.flow +0 -47
  681. package/dist/updateIndentLevel.js +0 -232
  682. package/dist/updateIndentLevel.js.flow +0 -211
  683. package/flow-typed/@molicit-citation.js +0 -5
  684. package/licit/server/customstyles/start.js +0 -184
  685. package/run_customstyle_server.py +0 -20
  686. package/src/FontSizeCommand.js +0 -57
  687. package/src/FontTypeCommand.js +0 -100
  688. package/src/HeadingCommand.js +0 -51
  689. package/src/IndentCommand.js +0 -41
  690. package/src/MarkToggleCommand.js +0 -66
  691. package/src/TextAlignCommand.js +0 -122
  692. package/src/TextColorCommand.js +0 -87
  693. package/src/TextHighlightCommand.js +0 -91
  694. package/src/TextLineSpacingCommand.js +0 -157
  695. package/src/applyMark.js +0 -61
  696. package/src/clearMarks.js +0 -128
  697. package/src/compareNumber.js +0 -11
  698. package/src/consolidateListNodes.js +0 -281
  699. package/src/findNodesWithSameMark.js +0 -89
  700. package/src/isBulletListNode.js +0 -9
  701. package/src/isInsideListItem.js +0 -13
  702. package/src/isListNode.js +0 -13
  703. package/src/isNodeSelectionForNodeType.js +0 -15
  704. package/src/isOrderedListNode.js +0 -9
  705. package/src/isTextStyleMarkCommandEnabled.js +0 -49
  706. package/src/noop.js +0 -5
  707. package/src/toggleHeading.js +0 -113
  708. package/src/toggleList.js +0 -450
  709. package/src/transformAndPreserveTextSelection.js +0 -151
  710. package/src/ui/ColorEditor.js +0 -101
  711. package/src/ui/CustomButton.js +0 -33
  712. package/src/ui/PointerSurface.js +0 -141
  713. package/src/ui/PopUp.js +0 -77
  714. package/src/ui/PopUpManager.js +0 -213
  715. package/src/ui/PopUpPosition.js +0 -104
  716. package/src/ui/PopUpTypes.js +0 -0
  717. package/src/ui/TooltipSurface.js +0 -76
  718. package/src/ui/clamp.js +0 -11
  719. package/src/ui/createPopUp.js +0 -205
  720. package/src/ui/czi-animations.css +0 -15
  721. package/src/ui/czi-color-editor.css +0 -56
  722. package/src/ui/czi-custom-button.css +0 -93
  723. package/src/ui/czi-pop-up.css +0 -32
  724. package/src/ui/czi-tooltip-surface.css +0 -45
  725. package/src/ui/preventEventDefault.js +0 -5
  726. package/src/ui/rects.js +0 -47
  727. package/src/updateIndentLevel.js +0 -211
  728. package/utils/build_customstyle_server.js +0 -70
@@ -1,483 +1,483 @@
1
- // @flow
2
-
3
- export type MathQuillEditorSymbol = {
4
- label: string,
5
- latex: string,
6
- description: string,
7
- cmd: string,
8
- };
9
-
10
- export type SymbolDefination = {
11
- // The label shown at the command button.
12
- label: string,
13
- // The latex to use
14
- latex: string,
15
- // The mathquill command to perform.
16
- // http://docs.mathquill.com/en/latest/Api_Methods/#writelatex_string
17
- // "write": Write the given LaTeX at the current cursor position. If the
18
- // cursor does not have focus, writes to last position the cursor occupied
19
- // in the editable field.
20
- // "cmd": Enter a LaTeX command at the current cursor position or with the
21
- // current selection. If the cursor does not have focus, it writes it to
22
- // last position the cursor occupied in the editable field.
23
- cmd: 'cmd' | 'write',
24
- // the description of the command.
25
- description: string,
26
- };
27
-
28
- // It's hard to find a full list of latex symbols that we could use.
29
- // Here's are some references that might be helpful.
30
- // https://github.com/mathquill/mathquill/blob/23a0e88c80c79514ffc30ead490bd880306bce2a/src/commands/math/basicSymbols.js
31
- // http://math.chapman.edu/~jipsen/mathquill/test/MathQuillsymbolsMathJax.html
32
- // https://inspera.atlassian.net/wiki/spaces/KB/pages/62062830/MathQuill+symbols
33
- // https://www.rapidtables.com/math/symbols/Basic_Math_Symbols.html
34
- // https://www.math.uci.edu/~xiangwen/pdf/LaTeX-Math-Symbols.pdf
35
-
36
- export const ABSOLUTE = {
37
- label: '|x|',
38
- latex: '|',
39
- description: 'Absolute Value',
40
- cmd: 'cmd',
41
- };
42
- export const ANGLE = {
43
- label: '\\angle',
44
- latex: '\\angle',
45
- description: 'Angle',
46
- cmd: 'write',
47
- };
48
- export const APPROX = {
49
- label: '\\approx',
50
- latex: '\\approx',
51
- description: 'Approximation',
52
- cmd: 'cmd',
53
- };
54
- export const ARCCOS = {
55
- label: '\\arccos',
56
- latex: '\\arccos',
57
- description: 'Arc Cos',
58
- cmd: 'write',
59
- };
60
- export const ARCSIN = {
61
- label: '\\arcsin',
62
- latex: '\\arcsin',
63
- description: 'Arc Sin',
64
- cmd: 'write',
65
- };
66
- export const ARCTAN = {
67
- label: '\\arctan',
68
- latex: '\\arctan',
69
- description: 'Arc Tan',
70
- cmd: 'write',
71
- };
72
- export const ARROWLL = {
73
- label: '\\Longleftarrow',
74
- latex: '\\Longleftarrow',
75
- description: 'Long Left Arrow',
76
- cmd: 'write',
77
- };
78
- export const ARROWRL = {
79
- label: '\\Longrightarrow',
80
- latex: '\\Longrightarrow',
81
- description: 'Long Right Arrow',
82
- cmd: 'write',
83
- };
84
- export const ARROWLLR = {
85
- label: '\\Longleftrightarrow',
86
- latex: '\\Longleftrightarrow',
87
- description: 'Long Left Right Arrow',
88
- cmd: 'write',
89
- };
90
- export const BRACKETS = {
91
- label: '[x]',
92
- latex: '[',
93
- description: 'Brackets',
94
- cmd: 'cmd',
95
- };
96
- export const CENT = {
97
- label: '¢',
98
- latex: '¢',
99
- description: 'Cent',
100
- cmd: 'write',
101
- };
102
- export const COS = {
103
- label: '\\cos',
104
- latex: '\\cos',
105
- description: 'Cos',
106
- cmd: 'write',
107
- };
108
- export const CONG = {
109
- label: '\\cong',
110
- latex: '\\cong',
111
- description: 'Congruent To',
112
- cmd: 'write',
113
- };
114
- export const CTIMES = {
115
- label: '\\otimes',
116
- latex: '\\otimes',
117
- description: 'Tensor Product',
118
- cmd: 'write',
119
- };
120
-
121
- export const DEGREES = {
122
- label: '\\deg',
123
- latex: '\\deg',
124
- description: 'Degrees',
125
- cmd: 'write',
126
- };
127
- export const DIVIDE = {
128
- label: '\u00F7',
129
- latex: '\\divide',
130
- description: 'Division',
131
- cmd: 'cmd',
132
- };
133
- export const DOLLAR = {
134
- label: '$',
135
- latex: '$',
136
- description: 'Dollar',
137
- cmd: 'write',
138
- };
139
-
140
- export const DOTM = {
141
- label: '\\cdot',
142
- latex: '\\cdot',
143
- description: 'Dot for Multiplication',
144
- cmd: 'write',
145
- };
146
-
147
- export const EQUAL = {
148
- label: '=',
149
- latex: '=',
150
- description: 'Equal',
151
- cmd: 'cmd',
152
- };
153
- export const FRAC = {
154
- label: '\\frac {x}{y}',
155
- latex: '\\frac',
156
- description: 'Fraction',
157
- cmd: 'cmd',
158
- };
159
- export const GT = {
160
- label: '>',
161
- latex: '>',
162
- description: 'Greater Than',
163
- cmd: 'cmd',
164
- };
165
- export const GTE = {
166
- label: '\\ge',
167
- latex: '\\ge',
168
- description: 'Greater Than or Equal To',
169
- cmd: 'cmd',
170
- };
171
- export const IMAGINARY = {
172
- label: 'i',
173
- latex: 'i',
174
- description: 'Imaginary Number',
175
- cmd: 'write',
176
- };
177
- export const INFINITY = {
178
- label: '\\infty',
179
- latex: '\\infty',
180
- description: 'Infinity',
181
- cmd: 'write',
182
- };
183
- export const INT = {
184
- label: '\\int',
185
- latex: '\\int',
186
- description: 'Integral',
187
- cmd: 'cmd',
188
- };
189
- export const INTERSECT = {
190
- label: '\\cap',
191
- latex: '\\cap',
192
- description: 'Intersection',
193
- cmd: 'write',
194
- };
195
- export const INTXY = {
196
- label: '\\int_{x}^{y}',
197
- latex: '\\int_{x}^{y}',
198
- description: 'Integral',
199
- cmd: 'write',
200
- };
201
- export const LOG_E = {
202
- label: '\\log',
203
- latex: '\\log',
204
- description: 'Log',
205
- cmd: 'cmd',
206
- };
207
- export const LT = {
208
- label: '<',
209
- latex: '<',
210
- description: 'Less Than',
211
- cmd: 'cmd',
212
- };
213
- export const LTE = {
214
- label: '\\le',
215
- latex: 'le',
216
- description: 'Less Than or Equal To',
217
- cmd: 'cmd',
218
- };
219
- export const MINUS = {
220
- label: '-',
221
- latex: '-',
222
- description: 'Subtraction',
223
- cmd: 'cmd',
224
- };
225
-
226
- export const NEQ = {
227
- label: '\\neq',
228
- latex: '\\neq',
229
- description: 'Not Equal',
230
- cmd: 'write',
231
- };
232
-
233
- export const OVERLINE = {
234
- label: '\\overline\u3000',
235
- latex: '\\overline',
236
- description: 'Overline',
237
- cmd: 'cmd',
238
- };
239
- export const PARENS = {
240
- label: '(x)',
241
- latex: '(',
242
- description: 'Parentheses',
243
- cmd: 'cmd',
244
- };
245
- export const PERP = {
246
- label: '\\perp',
247
- latex: '\\perp',
248
- description: 'Perpendicular Lines',
249
- cmd: 'write',
250
- };
251
- export const PHI = {
252
- label: '\\phi',
253
- latex: '\\phi',
254
- description: 'Phi',
255
- cmd: 'write',
256
- };
257
- export const PI = {
258
- label: '\\pi',
259
- latex: '\\pi',
260
- description: 'Pi',
261
- cmd: 'write',
262
- };
263
- export const PLUS = {
264
- label: '+',
265
- latex: '+',
266
- description: 'Addition',
267
- cmd: 'cmd',
268
- };
269
- export const PM = {
270
- label: '\\pm',
271
- latex: '\\pm',
272
- description: 'Plus-Minus',
273
- cmd: 'cmd',
274
- };
275
- export const POWER = {
276
- label: 'x^{y}',
277
- latex: '^',
278
- description: 'Power',
279
- cmd: 'cmd',
280
- };
281
- export const SIMEQ = {
282
- label: '\\simeq',
283
- latex: '\\simeq',
284
- description: 'Approximately Equal',
285
- cmd: 'write',
286
- };
287
- export const SIM = {
288
- label: '\\sim',
289
- latex: '\\sim',
290
- description: 'Similarity',
291
- cmd: 'write',
292
- };
293
- export const SIN = {
294
- label: '\\sin',
295
- latex: '\\sin',
296
- description: 'Sin',
297
- cmd: 'write',
298
- };
299
- export const SMALLE = {
300
- label: '\u212F',
301
- latex: '\u212F',
302
- description: 'Script Small E',
303
- cmd: 'write',
304
- };
305
- export const SQR = {
306
- label: 'x^{2}',
307
- latex: '^{2}',
308
- description: 'Square',
309
- cmd: 'write',
310
- };
311
- export const SQRT2 = {
312
- label: '\\sqrt[x]{y}',
313
- latex: '\\sqrt[x]{y}',
314
- description: 'Square Root Alt',
315
- cmd: 'write',
316
- };
317
- export const SQRT = {
318
- label: '\\sqrt x',
319
- latex: '\\sqrt',
320
- description: 'Square Root',
321
- cmd: 'cmd',
322
- };
323
- export const SUBSCRIPT = {
324
- label: 'x_{2}',
325
- latex: '_{2}',
326
- description: 'Subscript',
327
- cmd: 'write',
328
- };
329
- export const SUBSET = {
330
- label: '\\sub',
331
- latex: '\\sub',
332
- description: 'Subset',
333
- cmd: 'write',
334
- };
335
- export const SUBSETEQ = {
336
- label: '\\sube',
337
- latex: '\\sube',
338
- description: 'Subset or Equal',
339
- cmd: 'write',
340
- };
341
- export const SUM = {
342
- label: '\\sum',
343
- latex: '\\sum',
344
- description: 'Summation',
345
- cmd: 'cmd',
346
- };
347
- export const SUPERSET = {
348
- label: '\\supset',
349
- latex: '\\supset',
350
- description: 'Superset',
351
- cmd: 'write',
352
- };
353
- export const SUPERSETEQ = {
354
- label: '\\supe',
355
- latex: '\\supe',
356
- description: 'Superset or Equal',
357
- cmd: 'write',
358
- };
359
- export const TAN = {
360
- label: '\\tan',
361
- latex: '\\tan',
362
- description: 'Tan',
363
- cmd: 'write',
364
- };
365
- export const THETA = {
366
- label: '\\theta',
367
- latex: '\\theta',
368
- description: 'Theta',
369
- cmd: 'write',
370
- };
371
- export const TIMES = {
372
- label: '\\times',
373
- latex: '\\times',
374
- description: 'Multiplication',
375
- cmd: 'cmd',
376
- };
377
- export const TRIANGLE = {
378
- label: '\\bigtriangleup',
379
- latex: '\\bigtriangleup',
380
- description: 'Triangle',
381
- cmd: 'write',
382
- };
383
- export const UNDERLINE = {
384
- label: '\\underline\u3000',
385
- latex: '\\underline',
386
- description: 'Underline',
387
- cmd: 'cmd',
388
- };
389
- export const UNION = {
390
- label: '\\cup',
391
- latex: '\\cup',
392
- description: 'Union',
393
- cmd: 'write',
394
- };
395
- export const VDASH = {
396
- label: '\\vdash',
397
- latex: '\\vdash',
398
- description: 'Vertical and Dash Line',
399
- cmd: 'write',
400
- };
401
- export const VERT = {
402
- label: '\\vert',
403
- latex: '\\vert',
404
- description: 'Vertical Line',
405
- cmd: 'write',
406
- };
407
- export const OPERATORS = {
408
- title: 'Operators',
409
- symbols: [
410
- PLUS,
411
- MINUS,
412
- TIMES,
413
- DOTM,
414
- DIVIDE,
415
- EQUAL,
416
- APPROX,
417
- SIM,
418
- SIMEQ,
419
- CONG,
420
- NEQ,
421
- PM,
422
- LT,
423
- GT,
424
- LTE,
425
- GTE,
426
- UNION,
427
- INTERSECT,
428
- SUBSET,
429
- SUBSETEQ,
430
- SUPERSET,
431
- SUPERSETEQ,
432
- VERT,
433
- CTIMES,
434
- ],
435
- };
436
-
437
- export const STRUCTURE = {
438
- title: 'Structure',
439
- symbols: [
440
- SUM,
441
- FRAC,
442
- PARENS,
443
- BRACKETS,
444
- SQR,
445
- SUBSCRIPT,
446
- ABSOLUTE,
447
- INTXY,
448
- OVERLINE,
449
- UNDERLINE,
450
- POWER,
451
- INT,
452
- SQRT,
453
- SQRT2,
454
- LOG_E,
455
- ],
456
- };
457
-
458
- export const SYMBOLS = {
459
- title: 'Symbols',
460
- symbols: [
461
- SMALLE,
462
- ANGLE,
463
- PI,
464
- IMAGINARY,
465
- DEGREES,
466
- THETA,
467
- PHI,
468
- TRIANGLE,
469
- INFINITY,
470
- DOLLAR,
471
- CENT,
472
- VDASH,
473
- PERP,
474
- ARROWLL,
475
- ARROWRL,
476
- ARROWLLR,
477
- ],
478
- };
479
-
480
- export const TRIG = {
481
- title: 'Trigonometry',
482
- symbols: [SIN, COS, TAN, ARCSIN, ARCCOS, ARCTAN],
483
- };
1
+ // @flow
2
+
3
+ export type MathQuillEditorSymbol = {
4
+ label: string,
5
+ latex: string,
6
+ description: string,
7
+ cmd: string,
8
+ };
9
+
10
+ export type SymbolDefination = {
11
+ // The label shown at the command button.
12
+ label: string,
13
+ // The latex to use
14
+ latex: string,
15
+ // The mathquill command to perform.
16
+ // http://docs.mathquill.com/en/latest/Api_Methods/#writelatex_string
17
+ // "write": Write the given LaTeX at the current cursor position. If the
18
+ // cursor does not have focus, writes to last position the cursor occupied
19
+ // in the editable field.
20
+ // "cmd": Enter a LaTeX command at the current cursor position or with the
21
+ // current selection. If the cursor does not have focus, it writes it to
22
+ // last position the cursor occupied in the editable field.
23
+ cmd: 'cmd' | 'write',
24
+ // the description of the command.
25
+ description: string,
26
+ };
27
+
28
+ // It's hard to find a full list of latex symbols that we could use.
29
+ // Here's are some references that might be helpful.
30
+ // https://github.com/mathquill/mathquill/blob/23a0e88c80c79514ffc30ead490bd880306bce2a/src/commands/math/basicSymbols.js
31
+ // http://math.chapman.edu/~jipsen/mathquill/test/MathQuillsymbolsMathJax.html
32
+ // https://inspera.atlassian.net/wiki/spaces/KB/pages/62062830/MathQuill+symbols
33
+ // https://www.rapidtables.com/math/symbols/Basic_Math_Symbols.html
34
+ // https://www.math.uci.edu/~xiangwen/pdf/LaTeX-Math-Symbols.pdf
35
+
36
+ export const ABSOLUTE = {
37
+ label: '|x|',
38
+ latex: '|',
39
+ description: 'Absolute Value',
40
+ cmd: 'cmd',
41
+ };
42
+ export const ANGLE = {
43
+ label: '\\angle',
44
+ latex: '\\angle',
45
+ description: 'Angle',
46
+ cmd: 'write',
47
+ };
48
+ export const APPROX = {
49
+ label: '\\approx',
50
+ latex: '\\approx',
51
+ description: 'Approximation',
52
+ cmd: 'cmd',
53
+ };
54
+ export const ARCCOS = {
55
+ label: '\\arccos',
56
+ latex: '\\arccos',
57
+ description: 'Arc Cos',
58
+ cmd: 'write',
59
+ };
60
+ export const ARCSIN = {
61
+ label: '\\arcsin',
62
+ latex: '\\arcsin',
63
+ description: 'Arc Sin',
64
+ cmd: 'write',
65
+ };
66
+ export const ARCTAN = {
67
+ label: '\\arctan',
68
+ latex: '\\arctan',
69
+ description: 'Arc Tan',
70
+ cmd: 'write',
71
+ };
72
+ export const ARROWLL = {
73
+ label: '\\Longleftarrow',
74
+ latex: '\\Longleftarrow',
75
+ description: 'Long Left Arrow',
76
+ cmd: 'write',
77
+ };
78
+ export const ARROWRL = {
79
+ label: '\\Longrightarrow',
80
+ latex: '\\Longrightarrow',
81
+ description: 'Long Right Arrow',
82
+ cmd: 'write',
83
+ };
84
+ export const ARROWLLR = {
85
+ label: '\\Longleftrightarrow',
86
+ latex: '\\Longleftrightarrow',
87
+ description: 'Long Left Right Arrow',
88
+ cmd: 'write',
89
+ };
90
+ export const BRACKETS = {
91
+ label: '[x]',
92
+ latex: '[',
93
+ description: 'Brackets',
94
+ cmd: 'cmd',
95
+ };
96
+ export const CENT = {
97
+ label: '¢',
98
+ latex: '¢',
99
+ description: 'Cent',
100
+ cmd: 'write',
101
+ };
102
+ export const COS = {
103
+ label: '\\cos',
104
+ latex: '\\cos',
105
+ description: 'Cos',
106
+ cmd: 'write',
107
+ };
108
+ export const CONG = {
109
+ label: '\\cong',
110
+ latex: '\\cong',
111
+ description: 'Congruent To',
112
+ cmd: 'write',
113
+ };
114
+ export const CTIMES = {
115
+ label: '\\otimes',
116
+ latex: '\\otimes',
117
+ description: 'Tensor Product',
118
+ cmd: 'write',
119
+ };
120
+
121
+ export const DEGREES = {
122
+ label: '\\deg',
123
+ latex: '\\deg',
124
+ description: 'Degrees',
125
+ cmd: 'write',
126
+ };
127
+ export const DIVIDE = {
128
+ label: '\u00F7',
129
+ latex: '\\divide',
130
+ description: 'Division',
131
+ cmd: 'cmd',
132
+ };
133
+ export const DOLLAR = {
134
+ label: '$',
135
+ latex: '$',
136
+ description: 'Dollar',
137
+ cmd: 'write',
138
+ };
139
+
140
+ export const DOTM = {
141
+ label: '\\cdot',
142
+ latex: '\\cdot',
143
+ description: 'Dot for Multiplication',
144
+ cmd: 'write',
145
+ };
146
+
147
+ export const EQUAL = {
148
+ label: '=',
149
+ latex: '=',
150
+ description: 'Equal',
151
+ cmd: 'cmd',
152
+ };
153
+ export const FRAC = {
154
+ label: '\\frac {x}{y}',
155
+ latex: '\\frac',
156
+ description: 'Fraction',
157
+ cmd: 'cmd',
158
+ };
159
+ export const GT = {
160
+ label: '>',
161
+ latex: '>',
162
+ description: 'Greater Than',
163
+ cmd: 'cmd',
164
+ };
165
+ export const GTE = {
166
+ label: '\\ge',
167
+ latex: '\\ge',
168
+ description: 'Greater Than or Equal To',
169
+ cmd: 'cmd',
170
+ };
171
+ export const IMAGINARY = {
172
+ label: 'i',
173
+ latex: 'i',
174
+ description: 'Imaginary Number',
175
+ cmd: 'write',
176
+ };
177
+ export const INFINITY = {
178
+ label: '\\infty',
179
+ latex: '\\infty',
180
+ description: 'Infinity',
181
+ cmd: 'write',
182
+ };
183
+ export const INT = {
184
+ label: '\\int',
185
+ latex: '\\int',
186
+ description: 'Integral',
187
+ cmd: 'cmd',
188
+ };
189
+ export const INTERSECT = {
190
+ label: '\\cap',
191
+ latex: '\\cap',
192
+ description: 'Intersection',
193
+ cmd: 'write',
194
+ };
195
+ export const INTXY = {
196
+ label: '\\int_{x}^{y}',
197
+ latex: '\\int_{x}^{y}',
198
+ description: 'Integral',
199
+ cmd: 'write',
200
+ };
201
+ export const LOG_E = {
202
+ label: '\\log',
203
+ latex: '\\log',
204
+ description: 'Log',
205
+ cmd: 'cmd',
206
+ };
207
+ export const LT = {
208
+ label: '<',
209
+ latex: '<',
210
+ description: 'Less Than',
211
+ cmd: 'cmd',
212
+ };
213
+ export const LTE = {
214
+ label: '\\le',
215
+ latex: 'le',
216
+ description: 'Less Than or Equal To',
217
+ cmd: 'cmd',
218
+ };
219
+ export const MINUS = {
220
+ label: '-',
221
+ latex: '-',
222
+ description: 'Subtraction',
223
+ cmd: 'cmd',
224
+ };
225
+
226
+ export const NEQ = {
227
+ label: '\\neq',
228
+ latex: '\\neq',
229
+ description: 'Not Equal',
230
+ cmd: 'write',
231
+ };
232
+
233
+ export const OVERLINE = {
234
+ label: '\\overline\u3000',
235
+ latex: '\\overline',
236
+ description: 'Overline',
237
+ cmd: 'cmd',
238
+ };
239
+ export const PARENS = {
240
+ label: '(x)',
241
+ latex: '(',
242
+ description: 'Parentheses',
243
+ cmd: 'cmd',
244
+ };
245
+ export const PERP = {
246
+ label: '\\perp',
247
+ latex: '\\perp',
248
+ description: 'Perpendicular Lines',
249
+ cmd: 'write',
250
+ };
251
+ export const PHI = {
252
+ label: '\\phi',
253
+ latex: '\\phi',
254
+ description: 'Phi',
255
+ cmd: 'write',
256
+ };
257
+ export const PI = {
258
+ label: '\\pi',
259
+ latex: '\\pi',
260
+ description: 'Pi',
261
+ cmd: 'write',
262
+ };
263
+ export const PLUS = {
264
+ label: '+',
265
+ latex: '+',
266
+ description: 'Addition',
267
+ cmd: 'cmd',
268
+ };
269
+ export const PM = {
270
+ label: '\\pm',
271
+ latex: '\\pm',
272
+ description: 'Plus-Minus',
273
+ cmd: 'cmd',
274
+ };
275
+ export const POWER = {
276
+ label: 'x^{y}',
277
+ latex: '^',
278
+ description: 'Power',
279
+ cmd: 'cmd',
280
+ };
281
+ export const SIMEQ = {
282
+ label: '\\simeq',
283
+ latex: '\\simeq',
284
+ description: 'Approximately Equal',
285
+ cmd: 'write',
286
+ };
287
+ export const SIM = {
288
+ label: '\\sim',
289
+ latex: '\\sim',
290
+ description: 'Similarity',
291
+ cmd: 'write',
292
+ };
293
+ export const SIN = {
294
+ label: '\\sin',
295
+ latex: '\\sin',
296
+ description: 'Sin',
297
+ cmd: 'write',
298
+ };
299
+ export const SMALLE = {
300
+ label: '\u212F',
301
+ latex: '\u212F',
302
+ description: 'Script Small E',
303
+ cmd: 'write',
304
+ };
305
+ export const SQR = {
306
+ label: 'x^{2}',
307
+ latex: '^{2}',
308
+ description: 'Square',
309
+ cmd: 'write',
310
+ };
311
+ export const SQRT2 = {
312
+ label: '\\sqrt[x]{y}',
313
+ latex: '\\sqrt[x]{y}',
314
+ description: 'Square Root Alt',
315
+ cmd: 'write',
316
+ };
317
+ export const SQRT = {
318
+ label: '\\sqrt x',
319
+ latex: '\\sqrt',
320
+ description: 'Square Root',
321
+ cmd: 'cmd',
322
+ };
323
+ export const SUBSCRIPT = {
324
+ label: 'x_{2}',
325
+ latex: '_{2}',
326
+ description: 'Subscript',
327
+ cmd: 'write',
328
+ };
329
+ export const SUBSET = {
330
+ label: '\\sub',
331
+ latex: '\\sub',
332
+ description: 'Subset',
333
+ cmd: 'write',
334
+ };
335
+ export const SUBSETEQ = {
336
+ label: '\\sube',
337
+ latex: '\\sube',
338
+ description: 'Subset or Equal',
339
+ cmd: 'write',
340
+ };
341
+ export const SUM = {
342
+ label: '\\sum',
343
+ latex: '\\sum',
344
+ description: 'Summation',
345
+ cmd: 'cmd',
346
+ };
347
+ export const SUPERSET = {
348
+ label: '\\supset',
349
+ latex: '\\supset',
350
+ description: 'Superset',
351
+ cmd: 'write',
352
+ };
353
+ export const SUPERSETEQ = {
354
+ label: '\\supe',
355
+ latex: '\\supe',
356
+ description: 'Superset or Equal',
357
+ cmd: 'write',
358
+ };
359
+ export const TAN = {
360
+ label: '\\tan',
361
+ latex: '\\tan',
362
+ description: 'Tan',
363
+ cmd: 'write',
364
+ };
365
+ export const THETA = {
366
+ label: '\\theta',
367
+ latex: '\\theta',
368
+ description: 'Theta',
369
+ cmd: 'write',
370
+ };
371
+ export const TIMES = {
372
+ label: '\\times',
373
+ latex: '\\times',
374
+ description: 'Multiplication',
375
+ cmd: 'cmd',
376
+ };
377
+ export const TRIANGLE = {
378
+ label: '\\bigtriangleup',
379
+ latex: '\\bigtriangleup',
380
+ description: 'Triangle',
381
+ cmd: 'write',
382
+ };
383
+ export const UNDERLINE = {
384
+ label: '\\underline\u3000',
385
+ latex: '\\underline',
386
+ description: 'Underline',
387
+ cmd: 'cmd',
388
+ };
389
+ export const UNION = {
390
+ label: '\\cup',
391
+ latex: '\\cup',
392
+ description: 'Union',
393
+ cmd: 'write',
394
+ };
395
+ export const VDASH = {
396
+ label: '\\vdash',
397
+ latex: '\\vdash',
398
+ description: 'Vertical and Dash Line',
399
+ cmd: 'write',
400
+ };
401
+ export const VERT = {
402
+ label: '\\vert',
403
+ latex: '\\vert',
404
+ description: 'Vertical Line',
405
+ cmd: 'write',
406
+ };
407
+ export const OPERATORS = {
408
+ title: 'Operators',
409
+ symbols: [
410
+ PLUS,
411
+ MINUS,
412
+ TIMES,
413
+ DOTM,
414
+ DIVIDE,
415
+ EQUAL,
416
+ APPROX,
417
+ SIM,
418
+ SIMEQ,
419
+ CONG,
420
+ NEQ,
421
+ PM,
422
+ LT,
423
+ GT,
424
+ LTE,
425
+ GTE,
426
+ UNION,
427
+ INTERSECT,
428
+ SUBSET,
429
+ SUBSETEQ,
430
+ SUPERSET,
431
+ SUPERSETEQ,
432
+ VERT,
433
+ CTIMES,
434
+ ],
435
+ };
436
+
437
+ export const STRUCTURE = {
438
+ title: 'Structure',
439
+ symbols: [
440
+ SUM,
441
+ FRAC,
442
+ PARENS,
443
+ BRACKETS,
444
+ SQR,
445
+ SUBSCRIPT,
446
+ ABSOLUTE,
447
+ INTXY,
448
+ OVERLINE,
449
+ UNDERLINE,
450
+ POWER,
451
+ INT,
452
+ SQRT,
453
+ SQRT2,
454
+ LOG_E,
455
+ ],
456
+ };
457
+
458
+ export const SYMBOLS = {
459
+ title: 'Symbols',
460
+ symbols: [
461
+ SMALLE,
462
+ ANGLE,
463
+ PI,
464
+ IMAGINARY,
465
+ DEGREES,
466
+ THETA,
467
+ PHI,
468
+ TRIANGLE,
469
+ INFINITY,
470
+ DOLLAR,
471
+ CENT,
472
+ VDASH,
473
+ PERP,
474
+ ARROWLL,
475
+ ARROWRL,
476
+ ARROWLLR,
477
+ ],
478
+ };
479
+
480
+ export const TRIG = {
481
+ title: 'Trigonometry',
482
+ symbols: [SIN, COS, TAN, ARCSIN, ARCCOS, ARCTAN],
483
+ };