@modusoperandi/licit 0.1.7 → 0.1.8
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.
- package/.babelrc +54 -54
- package/.dockerignore +4 -4
- package/.eslintignore +3 -3
- package/.eslintrc.js +80 -80
- package/.flowconfig +37 -37
- package/.github/workflows/build.yml +35 -30
- package/.github/workflows/lint.yml +30 -30
- package/.prettierignore +5 -5
- package/.prettierrc +4 -4
- package/.stylelintignore +1 -1
- package/.stylelintrc.json +13 -13
- package/.travis.yml +18 -18
- package/CODEOWNERS +40 -40
- package/LICENSE +22 -22
- package/README.md +286 -285
- package/build_collab_server.py +7 -7
- package/build_customstyle_server.py +7 -7
- package/build_image_server.py +7 -7
- package/dist/BlockquoteInsertNewLineCommand.js.flow +55 -55
- package/dist/BlockquoteNodeSpec.js.flow +30 -30
- package/dist/BlockquoteToggleCommand.js.flow +34 -34
- package/dist/BookmarkNodeSpec.js.flow +39 -39
- package/dist/BulletListNodeSpec.js.flow +61 -61
- package/dist/CZIProseMirror.js.flow +90 -90
- package/dist/CodeBlockCommand.js.flow +43 -43
- package/dist/CodeBlockNodeSpec.js.flow +24 -24
- package/dist/CodeMarkSpec.js.flow +14 -14
- package/dist/ContentPlaceholderPlugin.js.flow +187 -187
- package/dist/CursorPlaceholderPlugin.js.flow +115 -115
- package/dist/DocLayoutCommand.js.flow +94 -94
- package/dist/DocNodeSpec.js.flow +64 -64
- package/dist/EMMarkSpec.js.flow +14 -14
- package/dist/EditorCommands.js.flow +128 -128
- package/dist/EditorKeyMap.js.flow +187 -187
- package/dist/EditorMarks.js.flow +71 -71
- package/dist/EditorNodes.js.flow +60 -60
- package/dist/EditorPageLayoutPlugin.js.flow +67 -67
- package/dist/EditorPlugins.js.flow +8 -8
- package/dist/EditorSchema.js.flow +12 -12
- package/dist/EditorState.js.flow +7 -7
- package/dist/FontSizeCommand.js.flow +57 -57
- package/dist/FontSizeMarkSpec.js.flow +49 -49
- package/dist/FontTypeCommand.js.flow +100 -100
- package/dist/FontTypeMarkSpec.js.flow +80 -80
- package/dist/HTMLMutator.js.flow +59 -59
- package/dist/HardBreakNodeSpec.js.flow +15 -15
- package/dist/HeadingCommand.js.flow +51 -51
- package/dist/HeadingNodeSpec.js.flow +54 -54
- package/dist/HistoryRedoCommand.js.flow +20 -20
- package/dist/HistoryUndoCommand.js.flow +20 -20
- package/dist/HorizontalRuleCommand.js.flow +49 -49
- package/dist/HorizontalRuleNodeSpec.js.flow +39 -39
- package/dist/ImageFromURLCommand.js.flow +14 -14
- package/dist/ImageNodeSpec.js.flow +90 -90
- package/dist/ImageSourceCommand.js.flow +117 -117
- package/dist/ImageUploadCommand.js.flow +36 -36
- package/dist/ImageUploadPlaceholderPlugin.js.flow +192 -192
- package/dist/IndentCommand.js.flow +41 -41
- package/dist/LinkMarkSpec.js.flow +32 -32
- package/dist/LinkSetURLCommand.js.flow +103 -103
- package/dist/LinkTooltipPlugin.js.flow +203 -203
- package/dist/ListItemInsertNewLineCommand.js.flow +55 -55
- package/dist/ListItemMergeCommand.js.flow +177 -177
- package/dist/ListItemNodeSpec.js.flow +51 -51
- package/dist/ListSplitCommand.js.flow +32 -32
- package/dist/ListToggleCommand.js.flow +77 -77
- package/dist/MarkNames.js.flow +18 -18
- package/dist/MarkToggleCommand.js.flow +66 -66
- package/dist/MarksClearCommand.js.flow +42 -42
- package/dist/MathEditCommand.js.flow +110 -110
- package/dist/MathNodeSpec.js.flow +46 -46
- package/dist/NodeNames.js.flow +23 -23
- package/dist/OrderedListNodeSpec.js.flow +132 -132
- package/dist/ParagraphNodeSpec.js.flow +160 -160
- package/dist/ParagraphSpacingCommand.js.flow +121 -121
- package/dist/PrintCommand.js.flow +31 -31
- package/dist/SelectionPlaceholderPlugin.js.flow +131 -131
- package/dist/SpacerMarkSpec.js.flow +47 -47
- package/dist/StrikeMarkSpec.js.flow +21 -21
- package/dist/StrongMarkSpec.js.flow +25 -25
- package/dist/StyleView.js.flow +19 -19
- package/dist/TableBackgroundColorCommand.js.flow +75 -75
- package/dist/TableBorderColorCommand.js.flow +75 -75
- package/dist/TableCellColorCommand.js.flow +71 -71
- package/dist/TableCellMenuPlugin.js.flow +125 -125
- package/dist/TableInsertCommand.js.flow +112 -112
- package/dist/TableMergeCellsCommand.js.flow +90 -90
- package/dist/TableNodesSpecs.js.flow +78 -78
- package/dist/TablePlugins.js.flow +14 -14
- package/dist/TableResizePlugin.js.flow +631 -631
- package/dist/TextAlignCommand.js.flow +122 -122
- package/dist/TextColorCommand.js.flow +87 -87
- package/dist/TextColorMarkSpec.js.flow +35 -35
- package/dist/TextHighlightCommand.js.flow +91 -91
- package/dist/TextHighlightMarkSpec.js.flow +38 -38
- package/dist/TextInsertTabSpaceCommand.js.flow +83 -83
- package/dist/TextLineSpacingCommand.js.flow +157 -157
- package/dist/TextNoWrapMarkSpec.js.flow +14 -14
- package/dist/TextNodeSpec.js.flow +7 -7
- package/dist/TextSelectionMarkSpec.js.flow +24 -24
- package/dist/TextSubMarkSpec.js.flow +20 -20
- package/dist/TextSuperMarkSpec.js.flow +20 -20
- package/dist/TextUnderlineMarkSpec.js.flow +27 -27
- package/dist/Types.js.flow +75 -75
- package/dist/WebFontLoader.js.flow +22 -22
- package/dist/applyMark.js.flow +61 -61
- package/dist/blockQuoteInputRule.js.flow +36 -36
- package/dist/bom.xml +72 -72
- package/dist/browser.js.flow +7 -7
- package/dist/buildEditorPlugins.js.flow +51 -51
- package/dist/buildInputRules.js.flow +81 -81
- package/dist/clearMarks.js.flow +128 -128
- package/dist/client/CollabConnector.js +2 -2
- package/dist/client/CollabConnector.js.flow +71 -70
- package/dist/client/EditorConnection.js.flow +307 -307
- package/dist/client/Licit.js +145 -72
- package/dist/client/Licit.js.flow +562 -491
- package/dist/client/Licit.test.js +2 -2
- package/dist/client/Licit.test.js.flow +65 -65
- package/dist/client/Reporter.js.flow +37 -37
- package/dist/client/SimpleConnector.js.flow +53 -53
- package/dist/client/http.js.flow +66 -66
- package/dist/client/licit.css +12 -12
- package/dist/client/throttle.js.flow +27 -27
- package/dist/compareNumber.js.flow +11 -11
- package/dist/consolidateListNodes.js +27 -27
- package/dist/consolidateListNodes.js.flow +281 -281
- package/dist/convertFromDOMElement.js.flow +36 -36
- package/dist/convertFromHTML.js.flow +19 -19
- package/dist/convertFromJSON.js.flow +78 -78
- package/dist/convertToCSSPTValue.js.flow +22 -22
- package/dist/convertToJSON.js.flow +7 -7
- package/dist/createCommand.js.flow +40 -40
- package/dist/createEditorKeyMap.js.flow +94 -94
- package/dist/createEmptyEditorState.js.flow +41 -41
- package/dist/createTableResizingPlugin.js.flow +86 -86
- package/dist/findActionableCell.js.flow +74 -74
- package/dist/findActiveMark.js.flow +32 -32
- package/dist/findNodesWithSameMark.js.flow +89 -89
- package/dist/hyphenize.js.flow +17 -17
- package/dist/index.js.flow +10 -10
- package/dist/insertTable.js.flow +56 -56
- package/dist/isBulletListNode.js.flow +9 -9
- package/dist/isEditorStateEmpty.js.flow +32 -32
- package/dist/isInsideListItem.js.flow +13 -13
- package/dist/isListNode.js.flow +13 -13
- package/dist/isNodeSelectionForNodeType.js.flow +15 -15
- package/dist/isOrderedListNode.js.flow +9 -9
- package/dist/isTableNode.js.flow +15 -15
- package/dist/isTextStyleMarkCommandEnabled.js.flow +49 -49
- package/dist/joinDown.js.flow +27 -27
- package/dist/joinListNode.js.flow +55 -55
- package/dist/joinUp.js.flow +39 -39
- package/dist/keymaps.js.flow +185 -185
- package/dist/lookUpElement.js.flow +14 -14
- package/dist/nodeAt.js.flow +12 -12
- package/dist/noop.js.flow +5 -5
- package/dist/normalizeHTML.js.flow +78 -78
- package/dist/patchAnchorElements.js.flow +38 -38
- package/dist/patchBreakElements.js.flow +22 -22
- package/dist/patchElementInlineStyles.js.flow +92 -92
- package/dist/patchListElements.js.flow +276 -276
- package/dist/patchMathElements.js.flow +60 -60
- package/dist/patchParagraphElements.js.flow +20 -20
- package/dist/patchStyleElements.js.flow +194 -194
- package/dist/patchTableElements.js.flow +89 -89
- package/dist/rebaseDocWithSteps.js.flow +42 -42
- package/dist/sanitizeURL.js.flow +13 -13
- package/dist/splitListItem.js.flow +191 -191
- package/dist/styles.css +19 -19
- package/dist/styles0.css +29 -29
- package/dist/toClosestFontPtSize.js.flow +22 -22
- package/dist/toSafeHTMLDocument.js.flow +9 -9
- package/dist/toggleBlockquote.js.flow +91 -91
- package/dist/toggleCodeBlock.js.flow +102 -102
- package/dist/toggleHeading.js.flow +113 -113
- package/dist/toggleList.js.flow +450 -450
- package/dist/transformAndPreserveTextSelection.js.flow +151 -151
- package/dist/ui/AlertInfo.js +1 -1
- package/dist/ui/AlertInfo.js.flow +64 -64
- package/dist/ui/BookmarkNodeView.js.flow +66 -66
- package/dist/ui/ColorEditor.js.flow +101 -101
- package/dist/ui/CommandButton.js.flow +68 -68
- package/dist/ui/CommandMenu.js.flow +75 -75
- package/dist/ui/CommandMenuButton.js.flow +131 -131
- package/dist/ui/CustomButton.js.flow +33 -33
- package/dist/ui/CustomEditorView.js.flow +28 -28
- package/dist/ui/CustomMenu.js.flow +17 -17
- package/dist/ui/CustomMenuItem.js.flow +36 -36
- package/dist/ui/CustomNodeView.js.flow +200 -200
- package/dist/ui/CustomRadioButton.js.flow +65 -65
- package/dist/ui/DocLayoutEditor.js.flow +146 -146
- package/dist/ui/Editor.js.flow +291 -291
- package/dist/ui/EditorFrameset.js.flow +81 -81
- package/dist/ui/EditorToolbar.js.flow +211 -211
- package/dist/ui/EditorToolbarConfig.js.flow +172 -172
- package/dist/ui/FontSizeCommandMenuButton.js.flow +66 -66
- package/dist/ui/FontTypeCommandMenuButton.js.flow +49 -49
- package/dist/ui/Frag.js.flow +13 -13
- package/dist/ui/Icon.js.flow +89 -89
- package/dist/ui/ImageAlignEditor.js.flow +60 -60
- package/dist/ui/ImageInlineEditor.js.flow +67 -67
- package/dist/ui/ImageNodeView.js +1 -11
- package/dist/ui/ImageNodeView.js.flow +404 -416
- package/dist/ui/ImageResizeBox.js.flow +219 -219
- package/dist/ui/ImageURLEditor.js.flow +119 -119
- package/dist/ui/ImageUploadEditor.js.flow +117 -117
- package/dist/ui/KeyCodes.js.flow +12 -12
- package/dist/ui/LinkTooltip.js.flow +85 -85
- package/dist/ui/LinkURLEditor.js.flow +111 -111
- package/dist/ui/ListItemNodeView.js.flow +98 -98
- package/dist/ui/ListTypeButton.js.flow +131 -131
- package/dist/ui/ListTypeCommandButton.js.flow +85 -85
- package/dist/ui/ListTypeMenu.js.flow +70 -70
- package/dist/ui/LoadingIndicator.js.flow +20 -20
- package/dist/ui/MathEditor.js.flow +78 -78
- package/dist/ui/MathInlineEditor.js.flow +102 -102
- package/dist/ui/MathNodeView.js.flow +175 -175
- package/dist/ui/PasteMenu.js.flow +57 -57
- package/dist/ui/PointerSurface.js.flow +141 -141
- package/dist/ui/PopUp.js.flow +77 -77
- package/dist/ui/PopUpManager.js.flow +213 -213
- package/dist/ui/PopUpPosition.js +0 -0
- package/dist/ui/PopUpPosition.js.flow +104 -104
- package/dist/ui/ResizeObserver.js.flow +106 -106
- package/dist/ui/RichTextEditor.js.flow +133 -133
- package/dist/ui/SelectionObserver.js.flow +134 -134
- package/dist/ui/TableCellMenu.js.flow +38 -38
- package/dist/ui/TableGridSizeEditor.js.flow +184 -184
- package/dist/ui/TableNodeView.js.flow +22 -22
- package/dist/ui/TooltipSurface.js.flow +76 -76
- package/dist/ui/bindScrollHandler.js.flow +46 -46
- package/dist/ui/canUseCSSFont.js.flow +43 -43
- package/dist/ui/clamp.js.flow +11 -11
- package/dist/ui/createPopUp.js.flow +205 -205
- package/dist/ui/czi-animations.css +15 -15
- package/dist/ui/czi-body-layout-editor.css +16 -16
- package/dist/ui/czi-bookmark-view.css +10 -10
- package/dist/ui/czi-color-editor.css +56 -56
- package/dist/ui/czi-cursor-placeholder.css +36 -36
- package/dist/ui/czi-custom-button.css +93 -93
- package/dist/ui/czi-custom-menu-button.css +18 -18
- package/dist/ui/czi-custom-menu-item.css +30 -30
- package/dist/ui/czi-custom-menu.css +8 -8
- package/dist/ui/czi-custom-radio-button.css +80 -80
- package/dist/ui/czi-custom-scrollbar.css +21 -21
- package/dist/ui/czi-editor-frameset.css +81 -81
- package/dist/ui/czi-editor-toolbar.css +122 -122
- package/dist/ui/czi-editor.css +220 -220
- package/dist/ui/czi-form.css +104 -104
- package/dist/ui/czi-frag.css +3 -3
- package/dist/ui/czi-heading.css +40 -40
- package/dist/ui/czi-icon.css +72 -72
- package/dist/ui/czi-image-resize-box.css +165 -165
- package/dist/ui/czi-image-upload-editor.css +57 -57
- package/dist/ui/czi-image-upload-placeholder.css +50 -50
- package/dist/ui/czi-image-url-editor.css +38 -38
- package/dist/ui/czi-image-view.css +125 -125
- package/dist/ui/czi-indent.css +137 -137
- package/dist/ui/czi-inline-editor.css +20 -20
- package/dist/ui/czi-link-tooltip.css +71 -71
- package/dist/ui/czi-list.css +410 -410
- package/dist/ui/czi-loading-indicator.css +111 -111
- package/dist/ui/czi-math-view.css +62 -62
- package/dist/ui/czi-pop-up.css +32 -32
- package/dist/ui/czi-selection-placeholder.css +24 -24
- package/dist/ui/czi-table-cell-menu.css +14 -14
- package/dist/ui/czi-table-grid-size-editor.css +37 -37
- package/dist/ui/czi-table.css +86 -86
- package/dist/ui/czi-tooltip-surface.css +45 -45
- package/dist/ui/czi-vars.css +46 -46
- package/dist/ui/findActiveFontSize.js.flow +58 -58
- package/dist/ui/findActiveFontType.js.flow +38 -38
- package/dist/ui/fonts.css +471 -471
- package/dist/ui/handleEditorDrop.js.flow +28 -28
- package/dist/ui/handleEditorKeyDown.js.flow +39 -39
- package/dist/ui/handleEditorPaste.js.flow +33 -33
- package/dist/ui/htmlElementToRect.js.flow +18 -18
- package/dist/ui/icon-font.css +10 -10
- package/dist/ui/injectStyleSheet.js.flow +42 -42
- package/dist/ui/isElementFullyVisible.js.flow +23 -23
- package/dist/ui/isOffline.js.flow +8 -8
- package/dist/ui/isReactClass.js.flow +12 -12
- package/dist/ui/listType.css +21 -21
- package/dist/ui/mathquill-editor/MathQuillEditor.js.flow +159 -159
- package/dist/ui/mathquill-editor/MathQuillEditorSymbols.js.flow +483 -483
- package/dist/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js.flow +48 -48
- package/dist/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
- package/dist/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
- package/dist/ui/mathquill-editor/mathquill-import-kludge.js.flow +24 -24
- package/dist/ui/preventEventDefault.js.flow +5 -5
- package/dist/ui/rects.js.flow +47 -47
- package/dist/ui/renderLaTeXAsHTML.js.flow +46 -46
- package/dist/ui/resolveImage.js.flow +123 -123
- package/dist/ui/toCSSColor.js.flow +51 -51
- package/dist/ui/toCSSLineSpacing.js.flow +82 -82
- package/dist/ui/toHexColor.js.flow +26 -26
- package/dist/ui/uuid.js.flow +9 -9
- package/dist/updateIndentLevel.js.flow +211 -211
- package/dist/uuid.js.flow +9 -9
- package/flow-typed/@modusoperandilicit-customstyles.js +5 -5
- package/flow-typed/@modusoperandilicit-doc-attrs-step.js +5 -5
- package/flow-typed/@molicit-citation.js +5 -5
- package/flow-typed/create-emotion.js +5 -5
- package/flow-typed/docs-editor.js +3 -3
- package/flow-typed/draft-convert.js +3 -3
- package/flow-typed/draft-js.js +3 -3
- package/flow-typed/flatted.js +5 -5
- package/flow-typed/jquery.js +5 -5
- package/flow-typed/katex.js +6 -6
- package/flow-typed/mathquill.js +5 -5
- package/flow-typed/prosemirror-collab.js +5 -5
- package/flow-typed/prosemirror-commands.js +5 -5
- package/flow-typed/prosemirror-dev-tools.js +5 -5
- package/flow-typed/prosemirror-dropcursor.js +5 -5
- package/flow-typed/prosemirror-gapcursor.js +5 -5
- package/flow-typed/prosemirror-history.js +5 -5
- package/flow-typed/prosemirror-inputrules.js +5 -5
- package/flow-typed/prosemirror-keymap.js +5 -5
- package/flow-typed/prosemirror-model.js +5 -5
- package/flow-typed/prosemirror-state.js +5 -5
- package/flow-typed/prosemirror-tables.js +5 -5
- package/flow-typed/prosemirror-transform.js +5 -5
- package/flow-typed/prosemirror-utils.js +5 -5
- package/flow-typed/prosemirror-view.js +5 -5
- package/flow-typed/resize-observer-polyfill.js +5 -5
- package/flow-typed/uuid.js +5 -5
- package/jest.setup.js +5 -5
- package/licit/client/CustomLicitRuntime.js +95 -95
- package/licit/client/CustomStyleRuntime.js +136 -136
- package/licit/client/index.js +366 -366
- package/licit/index.html +11 -11
- package/licit/server/collab/instance.js +221 -221
- package/licit/server/collab/route.js +69 -69
- package/licit/server/collab/server.js +297 -297
- package/licit/server/collab/start.js +13 -13
- package/licit/server/customstyles/start.js +184 -184
- package/licit/server/image/start.js +58 -58
- package/lint.sh +4 -4
- package/package.json +165 -165
- package/run_collab_server.py +21 -21
- package/run_customstyle_server.py +20 -20
- package/run_image_server.py +20 -20
- package/run_web_server.py +25 -25
- package/scripts/build_bin.js +10 -10
- package/scripts/build_bin.py +103 -103
- package/scripts/ci_check_dist.sh +13 -13
- package/scripts/env.js +6 -6
- package/scripts/webserver.js +35 -35
- package/sonar-project.properties +11 -11
- package/src/BlockquoteInsertNewLineCommand.js +55 -55
- package/src/BlockquoteNodeSpec.js +30 -30
- package/src/BlockquoteToggleCommand.js +34 -34
- package/src/BookmarkNodeSpec.js +39 -39
- package/src/BulletListNodeSpec.js +61 -61
- package/src/CZIProseMirror.js +90 -90
- package/src/CodeBlockCommand.js +43 -43
- package/src/CodeBlockNodeSpec.js +24 -24
- package/src/CodeMarkSpec.js +14 -14
- package/src/ContentPlaceholderPlugin.js +187 -187
- package/src/CursorPlaceholderPlugin.js +115 -115
- package/src/DocLayoutCommand.js +94 -94
- package/src/DocNodeSpec.js +64 -64
- package/src/EMMarkSpec.js +14 -14
- package/src/EditorCommands.js +128 -128
- package/src/EditorKeyMap.js +187 -187
- package/src/EditorMarks.js +71 -71
- package/src/EditorNodes.js +60 -60
- package/src/EditorPageLayoutPlugin.js +67 -67
- package/src/EditorPlugins.js +8 -8
- package/src/EditorSchema.js +12 -12
- package/src/EditorState.js +7 -7
- package/src/FontSizeCommand.js +57 -57
- package/src/FontSizeMarkSpec.js +49 -49
- package/src/FontTypeCommand.js +100 -100
- package/src/FontTypeMarkSpec.js +80 -80
- package/src/HTMLMutator.js +59 -59
- package/src/HardBreakNodeSpec.js +15 -15
- package/src/HeadingCommand.js +51 -51
- package/src/HeadingNodeSpec.js +54 -54
- package/src/HistoryRedoCommand.js +20 -20
- package/src/HistoryUndoCommand.js +20 -20
- package/src/HorizontalRuleCommand.js +49 -49
- package/src/HorizontalRuleNodeSpec.js +39 -39
- package/src/ImageFromURLCommand.js +14 -14
- package/src/ImageNodeSpec.js +90 -90
- package/src/ImageSourceCommand.js +117 -117
- package/src/ImageUploadCommand.js +36 -36
- package/src/ImageUploadPlaceholderPlugin.js +192 -192
- package/src/IndentCommand.js +41 -41
- package/src/LinkMarkSpec.js +32 -32
- package/src/LinkSetURLCommand.js +103 -103
- package/src/LinkTooltipPlugin.js +203 -203
- package/src/ListItemInsertNewLineCommand.js +55 -55
- package/src/ListItemMergeCommand.js +177 -177
- package/src/ListItemNodeSpec.js +51 -51
- package/src/ListSplitCommand.js +32 -32
- package/src/ListToggleCommand.js +77 -77
- package/src/MarkNames.js +18 -18
- package/src/MarkToggleCommand.js +66 -66
- package/src/MarksClearCommand.js +42 -42
- package/src/MathEditCommand.js +110 -110
- package/src/MathNodeSpec.js +46 -46
- package/src/NodeNames.js +23 -23
- package/src/OrderedListNodeSpec.js +132 -132
- package/src/ParagraphNodeSpec.js +160 -160
- package/src/ParagraphSpacingCommand.js +121 -121
- package/src/PrintCommand.js +31 -31
- package/src/SelectionPlaceholderPlugin.js +131 -131
- package/src/SpacerMarkSpec.js +47 -47
- package/src/StrikeMarkSpec.js +21 -21
- package/src/StrongMarkSpec.js +25 -25
- package/src/StyleView.js +19 -19
- package/src/TableBackgroundColorCommand.js +75 -75
- package/src/TableBorderColorCommand.js +75 -75
- package/src/TableCellColorCommand.js +71 -71
- package/src/TableCellMenuPlugin.js +125 -125
- package/src/TableInsertCommand.js +112 -112
- package/src/TableMergeCellsCommand.js +90 -90
- package/src/TableNodesSpecs.js +78 -78
- package/src/TablePlugins.js +14 -14
- package/src/TableResizePlugin.js +631 -631
- package/src/TextAlignCommand.js +122 -122
- package/src/TextColorCommand.js +87 -87
- package/src/TextColorMarkSpec.js +35 -35
- package/src/TextHighlightCommand.js +91 -91
- package/src/TextHighlightMarkSpec.js +38 -38
- package/src/TextInsertTabSpaceCommand.js +83 -83
- package/src/TextLineSpacingCommand.js +157 -157
- package/src/TextNoWrapMarkSpec.js +14 -14
- package/src/TextNodeSpec.js +7 -7
- package/src/TextSelectionMarkSpec.js +24 -24
- package/src/TextSubMarkSpec.js +20 -20
- package/src/TextSuperMarkSpec.js +20 -20
- package/src/TextUnderlineMarkSpec.js +27 -27
- package/src/Types.js +75 -75
- package/src/WebFontLoader.js +22 -22
- package/src/applyMark.js +61 -61
- package/src/blockQuoteInputRule.js +36 -36
- package/src/browser.js +7 -7
- package/src/buildEditorPlugins.js +51 -51
- package/src/buildInputRules.js +81 -81
- package/src/clearMarks.js +128 -128
- package/src/client/CollabConnector.js +71 -70
- package/src/client/EditorConnection.js +307 -307
- package/src/client/Licit.js +562 -491
- package/src/client/Licit.test.js +65 -65
- package/src/client/Reporter.js +37 -37
- package/src/client/SimpleConnector.js +53 -53
- package/src/client/http.js +66 -66
- package/src/client/licit.css +12 -12
- package/src/client/throttle.js +27 -27
- package/src/compareNumber.js +11 -11
- package/src/consolidateListNodes.js +281 -281
- package/src/convertFromDOMElement.js +36 -36
- package/src/convertFromHTML.js +19 -19
- package/src/convertFromJSON.js +78 -78
- package/src/convertToCSSPTValue.js +22 -22
- package/src/convertToJSON.js +7 -7
- package/src/createCommand.js +40 -40
- package/src/createEditorKeyMap.js +94 -94
- package/src/createEmptyEditorState.js +41 -41
- package/src/createTableResizingPlugin.js +86 -86
- package/src/findActionableCell.js +74 -74
- package/src/findActiveMark.js +32 -32
- package/src/findNodesWithSameMark.js +89 -89
- package/src/hyphenize.js +17 -17
- package/src/index.js +10 -10
- package/src/insertTable.js +56 -56
- package/src/isBulletListNode.js +9 -9
- package/src/isEditorStateEmpty.js +32 -32
- package/src/isInsideListItem.js +13 -13
- package/src/isListNode.js +13 -13
- package/src/isNodeSelectionForNodeType.js +15 -15
- package/src/isOrderedListNode.js +9 -9
- package/src/isTableNode.js +15 -15
- package/src/isTextStyleMarkCommandEnabled.js +49 -49
- package/src/joinDown.js +27 -27
- package/src/joinListNode.js +55 -55
- package/src/joinUp.js +39 -39
- package/src/keymaps.js +185 -185
- package/src/lookUpElement.js +14 -14
- package/src/nodeAt.js +12 -12
- package/src/noop.js +5 -5
- package/src/normalizeHTML.js +78 -78
- package/src/patchAnchorElements.js +38 -38
- package/src/patchBreakElements.js +22 -22
- package/src/patchElementInlineStyles.js +92 -92
- package/src/patchListElements.js +276 -276
- package/src/patchMathElements.js +60 -60
- package/src/patchParagraphElements.js +20 -20
- package/src/patchStyleElements.js +194 -194
- package/src/patchTableElements.js +89 -89
- package/src/rebaseDocWithSteps.js +42 -42
- package/src/sanitizeURL.js +13 -13
- package/src/splitListItem.js +191 -191
- package/src/styles.css +19 -19
- package/src/styles0.css +29 -29
- package/src/toClosestFontPtSize.js +22 -22
- package/src/toSafeHTMLDocument.js +9 -9
- package/src/toggleBlockquote.js +91 -91
- package/src/toggleCodeBlock.js +102 -102
- package/src/toggleHeading.js +113 -113
- package/src/toggleList.js +450 -450
- package/src/transformAndPreserveTextSelection.js +151 -151
- package/src/ui/AlertInfo.js +64 -64
- package/src/ui/BookmarkNodeView.js +66 -66
- package/src/ui/ColorEditor.js +101 -101
- package/src/ui/CommandButton.js +68 -68
- package/src/ui/CommandMenu.js +75 -75
- package/src/ui/CommandMenuButton.js +131 -131
- package/src/ui/CustomButton.js +33 -33
- package/src/ui/CustomEditorView.js +28 -28
- package/src/ui/CustomMenu.js +17 -17
- package/src/ui/CustomMenuItem.js +36 -36
- package/src/ui/CustomNodeView.js +200 -200
- package/src/ui/CustomRadioButton.js +65 -65
- package/src/ui/DocLayoutEditor.js +146 -146
- package/src/ui/Editor.js +291 -291
- package/src/ui/EditorFrameset.js +81 -81
- package/src/ui/EditorToolbar.js +211 -211
- package/src/ui/EditorToolbarConfig.js +172 -172
- package/src/ui/FontSizeCommandMenuButton.js +66 -66
- package/src/ui/FontTypeCommandMenuButton.js +49 -49
- package/src/ui/Frag.js +13 -13
- package/src/ui/Icon.js +89 -89
- package/src/ui/ImageAlignEditor.js +60 -60
- package/src/ui/ImageInlineEditor.js +67 -67
- package/src/ui/ImageNodeView.js +404 -416
- package/src/ui/ImageResizeBox.js +219 -219
- package/src/ui/ImageURLEditor.js +119 -119
- package/src/ui/ImageUploadEditor.js +117 -117
- package/src/ui/KeyCodes.js +12 -12
- package/src/ui/LinkTooltip.js +85 -85
- package/src/ui/LinkURLEditor.js +111 -111
- package/src/ui/ListItemNodeView.js +98 -98
- package/src/ui/ListTypeButton.js +131 -131
- package/src/ui/ListTypeCommandButton.js +85 -85
- package/src/ui/ListTypeMenu.js +70 -70
- package/src/ui/LoadingIndicator.js +20 -20
- package/src/ui/MathEditor.js +78 -78
- package/src/ui/MathInlineEditor.js +102 -102
- package/src/ui/MathNodeView.js +175 -175
- package/src/ui/PasteMenu.js +57 -57
- package/src/ui/PointerSurface.js +141 -141
- package/src/ui/PopUp.js +77 -77
- package/src/ui/PopUpManager.js +213 -213
- package/src/ui/PopUpPosition.js +104 -104
- package/src/ui/ResizeObserver.js +106 -106
- package/src/ui/RichTextEditor.js +133 -133
- package/src/ui/SelectionObserver.js +134 -134
- package/src/ui/TableCellMenu.js +38 -38
- package/src/ui/TableGridSizeEditor.js +184 -184
- package/src/ui/TableNodeView.js +22 -22
- package/src/ui/TooltipSurface.js +76 -76
- package/src/ui/bindScrollHandler.js +46 -46
- package/src/ui/canUseCSSFont.js +43 -43
- package/src/ui/clamp.js +11 -11
- package/src/ui/createPopUp.js +205 -205
- package/src/ui/czi-animations.css +15 -15
- package/src/ui/czi-body-layout-editor.css +16 -16
- package/src/ui/czi-bookmark-view.css +10 -10
- package/src/ui/czi-color-editor.css +56 -56
- package/src/ui/czi-cursor-placeholder.css +36 -36
- package/src/ui/czi-custom-button.css +93 -93
- package/src/ui/czi-custom-menu-button.css +18 -18
- package/src/ui/czi-custom-menu-item.css +30 -30
- package/src/ui/czi-custom-menu.css +8 -8
- package/src/ui/czi-custom-radio-button.css +80 -80
- package/src/ui/czi-custom-scrollbar.css +21 -21
- package/src/ui/czi-editor-frameset.css +81 -81
- package/src/ui/czi-editor-toolbar.css +122 -122
- package/src/ui/czi-editor.css +220 -220
- package/src/ui/czi-form.css +104 -104
- package/src/ui/czi-frag.css +3 -3
- package/src/ui/czi-heading.css +40 -40
- package/src/ui/czi-icon.css +72 -72
- package/src/ui/czi-image-resize-box.css +165 -165
- package/src/ui/czi-image-upload-editor.css +57 -57
- package/src/ui/czi-image-upload-placeholder.css +50 -50
- package/src/ui/czi-image-url-editor.css +38 -38
- package/src/ui/czi-image-view.css +125 -125
- package/src/ui/czi-indent.css +137 -137
- package/src/ui/czi-inline-editor.css +20 -20
- package/src/ui/czi-link-tooltip.css +71 -71
- package/src/ui/czi-list.css +410 -410
- package/src/ui/czi-loading-indicator.css +111 -111
- package/src/ui/czi-math-view.css +62 -62
- package/src/ui/czi-pop-up.css +32 -32
- package/src/ui/czi-selection-placeholder.css +24 -24
- package/src/ui/czi-table-cell-menu.css +14 -14
- package/src/ui/czi-table-grid-size-editor.css +37 -37
- package/src/ui/czi-table.css +86 -86
- package/src/ui/czi-tooltip-surface.css +45 -45
- package/src/ui/czi-vars.css +46 -46
- package/src/ui/findActiveFontSize.js +58 -58
- package/src/ui/findActiveFontType.js +38 -38
- package/src/ui/fonts.css +471 -471
- package/src/ui/handleEditorDrop.js +28 -28
- package/src/ui/handleEditorKeyDown.js +39 -39
- package/src/ui/handleEditorPaste.js +33 -33
- package/src/ui/htmlElementToRect.js +18 -18
- package/src/ui/icon-font.css +10 -10
- package/src/ui/injectStyleSheet.js +42 -42
- package/src/ui/isElementFullyVisible.js +23 -23
- package/src/ui/isOffline.js +8 -8
- package/src/ui/isReactClass.js +12 -12
- package/src/ui/listType.css +21 -21
- package/src/ui/mathquill-editor/MathQuillEditor.js +159 -159
- package/src/ui/mathquill-editor/MathQuillEditorSymbols.js +483 -483
- package/src/ui/mathquill-editor/MathQuillEditorSymbolsPanel.js +48 -48
- package/src/ui/mathquill-editor/czi-mathquill-editor-symbols-panel.css +39 -39
- package/src/ui/mathquill-editor/czi-mathquill-editor.css +50 -50
- package/src/ui/mathquill-editor/mathquill-import-kludge.js +24 -24
- package/src/ui/preventEventDefault.js +5 -5
- package/src/ui/rects.js +47 -47
- package/src/ui/renderLaTeXAsHTML.js +46 -46
- package/src/ui/resolveImage.js +123 -123
- package/src/ui/toCSSColor.js +51 -51
- package/src/ui/toCSSLineSpacing.js +82 -82
- package/src/ui/toHexColor.js +26 -26
- package/src/ui/uuid.js +9 -9
- package/src/updateIndentLevel.js +211 -211
- package/src/uuid.js +9 -9
- package/style-service.Dockerfile +26 -26
- package/utils/build_bin.js +9 -9
- package/utils/build_customstyle_server.js +71 -71
- package/utils/build_image_server.js +71 -71
- package/utils/build_licit_collab_server.js +75 -75
- package/utils/build_web_server.js +40 -40
- package/utils/env.js +6 -6
- package/webpack.config.js +126 -126
package/dist/EditorMarks.js.flow
CHANGED
|
@@ -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;
|
package/dist/EditorNodes.js.flow
CHANGED
|
@@ -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;
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { EditorState, Plugin, PluginKey } from 'prosemirror-state';
|
|
4
|
-
|
|
5
|
-
import { ATTRIBUTE_LAYOUT, LAYOUT } from './DocNodeSpec';
|
|
6
|
-
|
|
7
|
-
const SPEC = {
|
|
8
|
-
// [FS] IRAD-1005 2020-07-07
|
|
9
|
-
// Upgrade outdated packages.
|
|
10
|
-
key: new PluginKey('EditorPageLayoutPlugin'),
|
|
11
|
-
props: {
|
|
12
|
-
attributes: renderAttributes,
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
function renderAttributes(editorState: EditorState): Object {
|
|
17
|
-
const { doc } = editorState;
|
|
18
|
-
const attrs: Object = {
|
|
19
|
-
class: 'czi-prosemirror-editor',
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const { width, padding, layout } = doc.attrs;
|
|
23
|
-
|
|
24
|
-
let style = '';
|
|
25
|
-
let computedLayout;
|
|
26
|
-
if (width) {
|
|
27
|
-
const inWidth = width / 72;
|
|
28
|
-
const cmWidth = inWidth * 2.54;
|
|
29
|
-
if (!computedLayout && inWidth >= 10.9 && inWidth <= 11.1) {
|
|
30
|
-
// Round up to letter size.
|
|
31
|
-
computedLayout = LAYOUT.US_LETTER_LANDSCAPE;
|
|
32
|
-
} else if (!computedLayout && inWidth >= 8.4 && inWidth <= 8.6) {
|
|
33
|
-
// Round up to letter size.
|
|
34
|
-
computedLayout = LAYOUT.US_LETTER_PORTRAIT;
|
|
35
|
-
} else if (!computedLayout && cmWidth >= 29.5 && cmWidth <= 30.1) {
|
|
36
|
-
// Round up to letter size.
|
|
37
|
-
computedLayout = LAYOUT.A4_LANDSCAPE;
|
|
38
|
-
} else if (!computedLayout && cmWidth >= 20.5 && cmWidth <= 21.5) {
|
|
39
|
-
// Round up to letter size.
|
|
40
|
-
computedLayout = LAYOUT.A4_PORTRAIT;
|
|
41
|
-
} else {
|
|
42
|
-
// Use custom width (e.g. imported from google doc).
|
|
43
|
-
style += `width: ${width}pt;`;
|
|
44
|
-
}
|
|
45
|
-
if (padding) {
|
|
46
|
-
style += `padding-left: ${padding}pt;`;
|
|
47
|
-
style += `padding-right: ${padding}pt;`;
|
|
48
|
-
}
|
|
49
|
-
attrs.style = style;
|
|
50
|
-
} else {
|
|
51
|
-
computedLayout = layout;
|
|
52
|
-
}
|
|
53
|
-
if (computedLayout) {
|
|
54
|
-
attrs[ATTRIBUTE_LAYOUT] = computedLayout;
|
|
55
|
-
}
|
|
56
|
-
return attrs;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Unfortunately the root node `doc` does not supoort `toDOM`, thus
|
|
60
|
-
// we'd have to assign its `attributes` manually.
|
|
61
|
-
class EditorPageLayoutPlugin extends Plugin {
|
|
62
|
-
constructor() {
|
|
63
|
-
super(SPEC);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export default EditorPageLayoutPlugin;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import { EditorState, Plugin, PluginKey } from 'prosemirror-state';
|
|
4
|
+
|
|
5
|
+
import { ATTRIBUTE_LAYOUT, LAYOUT } from './DocNodeSpec';
|
|
6
|
+
|
|
7
|
+
const SPEC = {
|
|
8
|
+
// [FS] IRAD-1005 2020-07-07
|
|
9
|
+
// Upgrade outdated packages.
|
|
10
|
+
key: new PluginKey('EditorPageLayoutPlugin'),
|
|
11
|
+
props: {
|
|
12
|
+
attributes: renderAttributes,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
function renderAttributes(editorState: EditorState): Object {
|
|
17
|
+
const { doc } = editorState;
|
|
18
|
+
const attrs: Object = {
|
|
19
|
+
class: 'czi-prosemirror-editor',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const { width, padding, layout } = doc.attrs;
|
|
23
|
+
|
|
24
|
+
let style = '';
|
|
25
|
+
let computedLayout;
|
|
26
|
+
if (width) {
|
|
27
|
+
const inWidth = width / 72;
|
|
28
|
+
const cmWidth = inWidth * 2.54;
|
|
29
|
+
if (!computedLayout && inWidth >= 10.9 && inWidth <= 11.1) {
|
|
30
|
+
// Round up to letter size.
|
|
31
|
+
computedLayout = LAYOUT.US_LETTER_LANDSCAPE;
|
|
32
|
+
} else if (!computedLayout && inWidth >= 8.4 && inWidth <= 8.6) {
|
|
33
|
+
// Round up to letter size.
|
|
34
|
+
computedLayout = LAYOUT.US_LETTER_PORTRAIT;
|
|
35
|
+
} else if (!computedLayout && cmWidth >= 29.5 && cmWidth <= 30.1) {
|
|
36
|
+
// Round up to letter size.
|
|
37
|
+
computedLayout = LAYOUT.A4_LANDSCAPE;
|
|
38
|
+
} else if (!computedLayout && cmWidth >= 20.5 && cmWidth <= 21.5) {
|
|
39
|
+
// Round up to letter size.
|
|
40
|
+
computedLayout = LAYOUT.A4_PORTRAIT;
|
|
41
|
+
} else {
|
|
42
|
+
// Use custom width (e.g. imported from google doc).
|
|
43
|
+
style += `width: ${width}pt;`;
|
|
44
|
+
}
|
|
45
|
+
if (padding) {
|
|
46
|
+
style += `padding-left: ${padding}pt;`;
|
|
47
|
+
style += `padding-right: ${padding}pt;`;
|
|
48
|
+
}
|
|
49
|
+
attrs.style = style;
|
|
50
|
+
} else {
|
|
51
|
+
computedLayout = layout;
|
|
52
|
+
}
|
|
53
|
+
if (computedLayout) {
|
|
54
|
+
attrs[ATTRIBUTE_LAYOUT] = computedLayout;
|
|
55
|
+
}
|
|
56
|
+
return attrs;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Unfortunately the root node `doc` does not supoort `toDOM`, thus
|
|
60
|
+
// we'd have to assign its `attributes` manually.
|
|
61
|
+
class EditorPageLayoutPlugin extends Plugin {
|
|
62
|
+
constructor() {
|
|
63
|
+
super(SPEC);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default EditorPageLayoutPlugin;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import EditorSchema from './EditorSchema';
|
|
4
|
-
import DefaultEditorPlugins from './buildEditorPlugins';
|
|
5
|
-
|
|
6
|
-
// Plugin
|
|
7
|
-
const EditorPlugins = new DefaultEditorPlugins(EditorSchema);
|
|
8
|
-
export default EditorPlugins;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import EditorSchema from './EditorSchema';
|
|
4
|
+
import DefaultEditorPlugins from './buildEditorPlugins';
|
|
5
|
+
|
|
6
|
+
// Plugin
|
|
7
|
+
const EditorPlugins = new DefaultEditorPlugins(EditorSchema);
|
|
8
|
+
export default EditorPlugins;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { Schema } from 'prosemirror-model';
|
|
4
|
-
|
|
5
|
-
import EditorMarks from './EditorMarks';
|
|
6
|
-
import EditorNodes from './EditorNodes';
|
|
7
|
-
|
|
8
|
-
const EditorSchema = new Schema({
|
|
9
|
-
nodes: EditorNodes,
|
|
10
|
-
marks: EditorMarks,
|
|
11
|
-
});
|
|
12
|
-
export default EditorSchema;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import { Schema } from 'prosemirror-model';
|
|
4
|
+
|
|
5
|
+
import EditorMarks from './EditorMarks';
|
|
6
|
+
import EditorNodes from './EditorNodes';
|
|
7
|
+
|
|
8
|
+
const EditorSchema = new Schema({
|
|
9
|
+
nodes: EditorNodes,
|
|
10
|
+
marks: EditorMarks,
|
|
11
|
+
});
|
|
12
|
+
export default EditorSchema;
|
package/dist/EditorState.js.flow
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { EditorState } from 'prosemirror-state';
|
|
4
|
-
|
|
5
|
-
const ProseMirrorEditorState = EditorState;
|
|
6
|
-
|
|
7
|
-
export default ProseMirrorEditorState;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import { EditorState } from 'prosemirror-state';
|
|
4
|
+
|
|
5
|
+
const ProseMirrorEditorState = EditorState;
|
|
6
|
+
|
|
7
|
+
export default ProseMirrorEditorState;
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
|
|
4
|
-
import applyMark from './applyMark';
|
|
5
|
-
import isTextStyleMarkCommandEnabled from './isTextStyleMarkCommandEnabled';
|
|
6
|
-
import { EditorState } from 'prosemirror-state';
|
|
7
|
-
import { EditorView } from 'prosemirror-view';
|
|
8
|
-
import { MARK_FONT_SIZE } from './MarkNames';
|
|
9
|
-
import { Schema } from 'prosemirror-model';
|
|
10
|
-
import { Transform } from 'prosemirror-transform';
|
|
11
|
-
|
|
12
|
-
function setFontSize(tr: Transform, schema: Schema, pt: number): Transform {
|
|
13
|
-
const markType = schema.marks[MARK_FONT_SIZE];
|
|
14
|
-
if (!markType) {
|
|
15
|
-
return tr;
|
|
16
|
-
}
|
|
17
|
-
const attrs = pt ? { pt } : null;
|
|
18
|
-
tr = applyMark(tr, schema, markType, attrs);
|
|
19
|
-
return tr;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
class FontSizeCommand extends UICommand {
|
|
23
|
-
_popUp = null;
|
|
24
|
-
_pt = 0;
|
|
25
|
-
|
|
26
|
-
constructor(pt: number) {
|
|
27
|
-
super();
|
|
28
|
-
this._pt = pt;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
isEnabled = (state: EditorState): boolean => {
|
|
32
|
-
return isTextStyleMarkCommandEnabled(state, MARK_FONT_SIZE);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
execute = (
|
|
36
|
-
state: EditorState,
|
|
37
|
-
dispatch: ?(tr: Transform) => void,
|
|
38
|
-
view: ?EditorView
|
|
39
|
-
): boolean => {
|
|
40
|
-
const { schema } = state;
|
|
41
|
-
// commnted selection because selection removes the storedMarks;
|
|
42
|
-
// {selection}
|
|
43
|
-
// const tr = setFontSize(state.tr.setSelection(selection), schema, this._pt);
|
|
44
|
-
const tr = setFontSize(state.tr, schema, this._pt);
|
|
45
|
-
if (tr.docChanged || tr.storedMarksSet) {
|
|
46
|
-
// If selection is empty, the color is added to `storedMarks`, which
|
|
47
|
-
// works like `toggleMark`
|
|
48
|
-
// (see https://prosemirror.net/docs/ref/#commands.toggleMark).
|
|
49
|
-
dispatch && dispatch(tr);
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
return false;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export default FontSizeCommand;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import { UICommand } from '@modusoperandi/licit-doc-attrs-step';
|
|
4
|
+
import applyMark from './applyMark';
|
|
5
|
+
import isTextStyleMarkCommandEnabled from './isTextStyleMarkCommandEnabled';
|
|
6
|
+
import { EditorState } from 'prosemirror-state';
|
|
7
|
+
import { EditorView } from 'prosemirror-view';
|
|
8
|
+
import { MARK_FONT_SIZE } from './MarkNames';
|
|
9
|
+
import { Schema } from 'prosemirror-model';
|
|
10
|
+
import { Transform } from 'prosemirror-transform';
|
|
11
|
+
|
|
12
|
+
function setFontSize(tr: Transform, schema: Schema, pt: number): Transform {
|
|
13
|
+
const markType = schema.marks[MARK_FONT_SIZE];
|
|
14
|
+
if (!markType) {
|
|
15
|
+
return tr;
|
|
16
|
+
}
|
|
17
|
+
const attrs = pt ? { pt } : null;
|
|
18
|
+
tr = applyMark(tr, schema, markType, attrs);
|
|
19
|
+
return tr;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
class FontSizeCommand extends UICommand {
|
|
23
|
+
_popUp = null;
|
|
24
|
+
_pt = 0;
|
|
25
|
+
|
|
26
|
+
constructor(pt: number) {
|
|
27
|
+
super();
|
|
28
|
+
this._pt = pt;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
isEnabled = (state: EditorState): boolean => {
|
|
32
|
+
return isTextStyleMarkCommandEnabled(state, MARK_FONT_SIZE);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
execute = (
|
|
36
|
+
state: EditorState,
|
|
37
|
+
dispatch: ?(tr: Transform) => void,
|
|
38
|
+
view: ?EditorView
|
|
39
|
+
): boolean => {
|
|
40
|
+
const { schema } = state;
|
|
41
|
+
// commnted selection because selection removes the storedMarks;
|
|
42
|
+
// {selection}
|
|
43
|
+
// const tr = setFontSize(state.tr.setSelection(selection), schema, this._pt);
|
|
44
|
+
const tr = setFontSize(state.tr, schema, this._pt);
|
|
45
|
+
if (tr.docChanged || tr.storedMarksSet) {
|
|
46
|
+
// If selection is empty, the color is added to `storedMarks`, which
|
|
47
|
+
// works like `toggleMark`
|
|
48
|
+
// (see https://prosemirror.net/docs/ref/#commands.toggleMark).
|
|
49
|
+
dispatch && dispatch(tr);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export default FontSizeCommand;
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { Node } from 'prosemirror-model';
|
|
4
|
-
|
|
5
|
-
import { toClosestFontPtSize } from './toClosestFontPtSize';
|
|
6
|
-
|
|
7
|
-
import type { MarkSpec } from './Types';
|
|
8
|
-
|
|
9
|
-
const FontSizeMarkSpec: MarkSpec = {
|
|
10
|
-
attrs: {
|
|
11
|
-
pt: { default: null },
|
|
12
|
-
},
|
|
13
|
-
inline: true,
|
|
14
|
-
group: 'inline',
|
|
15
|
-
parseDOM: [
|
|
16
|
-
{
|
|
17
|
-
style: 'font-size',
|
|
18
|
-
getAttrs: getAttrs,
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
toDOM(node: Node) {
|
|
22
|
-
const { pt } = node.attrs;
|
|
23
|
-
const domAttrs = pt
|
|
24
|
-
? {
|
|
25
|
-
style: `font-size: ${pt}pt;`,
|
|
26
|
-
class: 'czi-font-size-mark',
|
|
27
|
-
}
|
|
28
|
-
: null;
|
|
29
|
-
|
|
30
|
-
return ['span', domAttrs, 0];
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
function getAttrs(fontSize: string): Object {
|
|
35
|
-
const attrs = {};
|
|
36
|
-
if (!fontSize) {
|
|
37
|
-
return attrs;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const ptValue = toClosestFontPtSize(fontSize);
|
|
41
|
-
if (!ptValue) {
|
|
42
|
-
return attrs;
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
pt: ptValue,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export default FontSizeMarkSpec;
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import { Node } from 'prosemirror-model';
|
|
4
|
+
|
|
5
|
+
import { toClosestFontPtSize } from './toClosestFontPtSize';
|
|
6
|
+
|
|
7
|
+
import type { MarkSpec } from './Types';
|
|
8
|
+
|
|
9
|
+
const FontSizeMarkSpec: MarkSpec = {
|
|
10
|
+
attrs: {
|
|
11
|
+
pt: { default: null },
|
|
12
|
+
},
|
|
13
|
+
inline: true,
|
|
14
|
+
group: 'inline',
|
|
15
|
+
parseDOM: [
|
|
16
|
+
{
|
|
17
|
+
style: 'font-size',
|
|
18
|
+
getAttrs: getAttrs,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
toDOM(node: Node) {
|
|
22
|
+
const { pt } = node.attrs;
|
|
23
|
+
const domAttrs = pt
|
|
24
|
+
? {
|
|
25
|
+
style: `font-size: ${pt}pt;`,
|
|
26
|
+
class: 'czi-font-size-mark',
|
|
27
|
+
}
|
|
28
|
+
: null;
|
|
29
|
+
|
|
30
|
+
return ['span', domAttrs, 0];
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function getAttrs(fontSize: string): Object {
|
|
35
|
+
const attrs = {};
|
|
36
|
+
if (!fontSize) {
|
|
37
|
+
return attrs;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const ptValue = toClosestFontPtSize(fontSize);
|
|
41
|
+
if (!ptValue) {
|
|
42
|
+
return attrs;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
pt: ptValue,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default FontSizeMarkSpec;
|