@manuscripts/body-editor 3.12.67 → 3.13.1
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/dist/cjs/components/toolbar/type-selector/styles.js +2 -1
- package/dist/cjs/versions.js +1 -1
- package/dist/es/components/toolbar/type-selector/styles.js +2 -1
- package/dist/es/versions.js +1 -1
- package/dist/types/components/toolbar/type-selector/styles.d.ts +2 -2
- package/dist/types/lib/footnotes.d.ts +4 -2
- package/dist/types/lib/utils.d.ts +5 -4
- package/dist/types/versions.d.ts +1 -1
- package/package.json +37 -36
- package/{dist/es/lib/statistics.js → src/__mocks__/styleMock.ts} +2 -14
- package/src/assets.ts +20 -0
- package/src/classes/collabProvider.ts +38 -0
- package/src/clipboard.ts +54 -0
- package/src/commands.ts +2109 -0
- package/src/components/ChangeHandlingForm.tsx +54 -0
- package/src/components/LanguageDropdown/index.tsx +343 -0
- package/src/components/affiliations/AffiliationForm.tsx +238 -0
- package/src/components/affiliations/AffiliationItem.tsx +151 -0
- package/src/components/affiliations/AffiliationList.tsx +71 -0
- package/src/components/affiliations/AffiliationsModal.tsx +676 -0
- package/src/components/affiliations/AffiliationsPanel.tsx +76 -0
- package/src/components/affiliations/CreateAffiliationModal.tsx +135 -0
- package/src/components/authors/AuthorDetailsForm.tsx +438 -0
- package/src/components/authors/AuthorList.tsx +81 -0
- package/src/components/authors/AuthorsModal.tsx +642 -0
- package/src/components/authors/AuthorsPanel.tsx +69 -0
- package/src/components/authors/CreateAuthorModal.tsx +172 -0
- package/src/components/authors/CreditDrawer.tsx +71 -0
- package/src/components/authors/DraggableAuthor.tsx +228 -0
- package/src/components/authors/useManageAffiliations.tsx +77 -0
- package/src/components/authors/useManageCredit.tsx +63 -0
- package/src/components/authors-affiliations/AuthorsAndAffiliationsModals.tsx +170 -0
- package/src/components/authors-affiliations/GenericPanel.tsx +164 -0
- package/src/components/authors-affiliations/ModalTabs.tsx +100 -0
- package/src/components/awards/AwardForm.tsx +338 -0
- package/src/components/awards/AwardModal.tsx +120 -0
- package/src/components/awards/DeleteAwardDiaolog.tsx +52 -0
- package/src/components/dialog/ConfirmationDialog.tsx +131 -0
- package/src/components/form/CreateModalStyles.tsx +37 -0
- package/src/components/form/FormFooter.tsx +54 -0
- package/src/components/form/FormPlaceholder.tsx +71 -0
- package/src/components/form/ModalFormActions.tsx +88 -0
- package/src/components/form/UnsavedLabel.tsx +49 -0
- package/src/components/hooks/use-debounce.ts +56 -0
- package/src/components/hooks/useAffiliationShowsErrorIndicator.ts +51 -0
- package/src/components/hooks/useAuthorShowsErrorIndicator.ts +73 -0
- package/src/components/keyboard-shortcuts-modal/FormattedShortcut.tsx +56 -0
- package/src/components/keyboard-shortcuts-modal/KeyboardShortcutsModal.tsx +283 -0
- package/src/components/keyboard-shortcuts-modal/keyboard-shortcuts.ts +304 -0
- package/src/components/keywords/AddKeywordInline.tsx +284 -0
- package/src/components/keywords/DeleteKeywordDialog.tsx +52 -0
- package/src/components/modal-drawer/GenericDrawer.tsx +65 -0
- package/src/components/modal-drawer/GenericDrawerGroup.tsx +125 -0
- package/src/components/outline/DraggableTree.tsx +438 -0
- package/src/components/outline/ManuscriptOutline.tsx +127 -0
- package/src/components/outline/Outline.tsx +141 -0
- package/src/components/references/BibliographyItemSource.ts +80 -0
- package/src/components/references/CitationEditor.tsx +301 -0
- package/src/components/references/CitationViewer.tsx +62 -0
- package/src/components/references/ImportBibliographyForm.tsx +232 -0
- package/src/components/references/ImportBibliographyModal.tsx +159 -0
- package/src/components/references/ReferenceForm/PersonDropDown.tsx +93 -0
- package/src/components/references/ReferenceForm/ReferenceForm.tsx +701 -0
- package/src/components/references/ReferenceForm/config.ts +133 -0
- package/src/components/references/ReferenceForm/styled-components.ts +156 -0
- package/src/components/references/ReferenceLine.tsx +43 -0
- package/src/components/references/ReferenceSearch.tsx +163 -0
- package/src/components/references/ReferenceSearchResults.tsx +113 -0
- package/src/components/references/ReferenceSearchResultsPlaceholder.tsx +71 -0
- package/src/components/references/ReferenceSearchSection.tsx +124 -0
- package/src/components/references/ReferencesEditor.tsx +61 -0
- package/src/components/references/ReferencesModal.tsx +352 -0
- package/src/components/references/SearchInput.tsx +98 -0
- package/src/components/toolbar/InsertEmbedDialog.tsx +222 -0
- package/src/components/toolbar/InsertTableDialog.tsx +208 -0
- package/src/components/toolbar/ListMenuItem.tsx +203 -0
- package/src/components/toolbar/helpers.ts +547 -0
- package/src/components/toolbar/type-selector/OptionComponent.tsx +89 -0
- package/src/components/toolbar/type-selector/TypeSelector.tsx +157 -0
- package/src/components/toolbar/type-selector/styles.ts +79 -0
- package/src/components/views/CrossReferenceItems.tsx +199 -0
- package/src/components/views/DeleteEmbedDialog.tsx +83 -0
- package/src/components/views/DeleteFootnoteDialog.tsx +54 -0
- package/src/components/views/FigureDropdown.tsx +423 -0
- package/src/components/views/FootnotesSelector.tsx +255 -0
- package/src/components/views/InsertSpecialCharacter.tsx +245 -0
- package/src/components/views/LinkForm.tsx +220 -0
- package/src/components/views/TableCellContextMenu.tsx +241 -0
- package/src/configs/ManuscriptsEditor.ts +140 -0
- package/src/configs/editor-plugins.ts +119 -0
- package/src/configs/editor-views.ts +139 -0
- package/src/icons.ts +62 -0
- package/src/index.ts +65 -0
- package/src/keys/highlight.ts +65 -0
- package/src/keys/index.ts +33 -0
- package/src/keys/keyword.ts +69 -0
- package/src/keys/list.ts +156 -0
- package/src/keys/misc.ts +112 -0
- package/src/keys/title.ts +221 -0
- package/src/lib/__tests__/__fixtures__/doc.json +388 -0
- package/src/lib/__tests__/__snapshots__/paste.test.ts.snap +24 -0
- package/src/lib/__tests__/authors.test.ts +202 -0
- package/src/lib/__tests__/helpers.test.ts +46 -0
- package/src/lib/__tests__/paste.test.ts +57 -0
- package/src/lib/__tests__/plugins.test.ts +176 -0
- package/src/lib/__tests__/url.test.ts +31 -0
- package/src/lib/array-reducer.ts +68 -0
- package/src/lib/authors-and-affiliations.ts +81 -0
- package/src/lib/authors.ts +67 -0
- package/src/lib/capabilities.ts +55 -0
- package/src/lib/codemirror.ts +37 -0
- package/src/lib/comments.ts +123 -0
- package/src/lib/context-menu.ts +745 -0
- package/src/lib/copy.ts +30 -0
- package/src/lib/crossref.ts +90 -0
- package/src/lib/dnd.ts +29 -0
- package/src/lib/doc.ts +167 -0
- package/src/lib/dompurify.ts +28 -0
- package/src/lib/files.ts +180 -0
- package/src/lib/footnotes.ts +83 -0
- package/src/lib/get-media-type.ts +105 -0
- package/src/lib/helpers.ts +199 -0
- package/src/lib/hierarchy.ts +117 -0
- package/src/lib/languages.ts +37 -0
- package/src/lib/lists.ts +56 -0
- package/src/lib/math.ts +111 -0
- package/src/lib/media.ts +334 -0
- package/src/lib/navigation-utils.ts +235 -0
- package/src/lib/normalize.ts +70 -0
- package/src/lib/paste.ts +304 -0
- package/src/lib/placeholder.ts +32 -0
- package/src/lib/platform.ts +18 -0
- package/src/lib/plugins.ts +22 -0
- package/src/lib/popper.ts +180 -0
- package/src/lib/position-menu.ts +184 -0
- package/src/lib/references.ts +94 -0
- package/src/lib/template.ts +29 -0
- package/src/lib/track-changes-utils.ts +34 -0
- package/{dist/types/lib/statistics.d.ts → src/lib/url.ts} +11 -8
- package/src/lib/use-do-with-debounce.ts +39 -0
- package/src/lib/utils.ts +323 -0
- package/src/lib/view.ts +100 -0
- package/src/menus.tsx +684 -0
- package/src/node-type-icons.tsx +83 -0
- package/src/plugins/__tests__/__fixtures__/deleted-footnote.json +140 -0
- package/src/plugins/__tests__/__fixtures__/inserted-footnote.json +153 -0
- package/src/plugins/__tests__/footnotes.test.ts +67 -0
- package/src/plugins/accessibility_element.ts +219 -0
- package/src/plugins/add-subtitle.ts +102 -0
- package/src/plugins/affiliations.ts +136 -0
- package/src/plugins/alt-titles.ts +219 -0
- package/src/plugins/bibliography.ts +235 -0
- package/src/plugins/comments.ts +328 -0
- package/src/plugins/cross-references.ts +70 -0
- package/src/plugins/detect-inconsistency/detect-inconsistency-utils.ts +102 -0
- package/src/plugins/detect-inconsistency/index.ts +55 -0
- package/src/plugins/detect-inconsistency/validators.ts +283 -0
- package/src/plugins/doi.ts +66 -0
- package/src/plugins/editor-props.ts +39 -0
- package/src/plugins/elements.ts +60 -0
- package/src/plugins/footnotes.ts +298 -0
- package/src/plugins/link.ts +53 -0
- package/src/plugins/lock-body.ts +136 -0
- package/src/plugins/move-node.ts +55 -0
- package/src/plugins/objects.ts +125 -0
- package/src/plugins/paragraphs.ts +90 -0
- package/src/plugins/persist.ts +64 -0
- package/src/plugins/persistent-cursor.ts +66 -0
- package/src/plugins/placeholder.ts +219 -0
- package/src/plugins/prevent-empty.ts +50 -0
- package/src/plugins/search-replace/index.ts +157 -0
- package/src/plugins/search-replace/lib.ts +95 -0
- package/src/plugins/section_category.ts +212 -0
- package/src/plugins/section_title/autocompletion.ts +87 -0
- package/src/plugins/section_title/index.ts +105 -0
- package/src/plugins/selected-suggestion.ts +243 -0
- package/src/plugins/tables-cursor-fix.ts +143 -0
- package/src/plugins/translations.ts +263 -0
- package/src/rules.ts +60 -0
- package/src/selection.ts +112 -0
- package/src/testing/default-capabilities.ts +48 -0
- package/src/testing/default-editor-data.ts +73 -0
- package/src/testing/empty-editor-doc.json +62 -0
- package/src/testing/polyfill-dom.ts +43 -0
- package/src/testing/section-categories.json +161 -0
- package/src/testing/setup-editor.ts +55 -0
- package/src/tests.ts +42 -0
- package/src/toolbar.tsx +259 -0
- package/src/types/@citation-js/core.d.ts +16 -0
- package/src/types/@citation-js/index.d.ts +16 -0
- package/src/types/@citation-js/plugin-bibtex.d.ts +16 -0
- package/src/types/@citation-js/plugin-csl.d.ts +16 -0
- package/src/types/@citation-js/plugin-doi.d.ts +16 -0
- package/src/types/@citation-js/plugin-enw.d.ts +16 -0
- package/src/types/@citation-js/plugin-pubmed.d.ts +16 -0
- package/src/types/@citation-js/plugin-ris.d.ts +16 -0
- package/src/types/citeproc.d.ts +124 -0
- package/src/types/css.d.ts +16 -0
- package/src/types/json.d.ts +17 -0
- package/src/types/prosemirror-dev-tools.d.ts +16 -0
- package/src/types/prosemirror-dropcursor.d.ts +16 -0
- package/src/types/styled-components.d.ts +23 -0
- package/src/types.ts +49 -0
- package/src/useEditor.ts +244 -0
- package/src/versions.ts +3 -0
- package/src/views/ReactSubView.tsx +145 -0
- package/src/views/abstracts.ts +46 -0
- package/src/views/accessibility_element.ts +86 -0
- package/src/views/affiliations.ts +254 -0
- package/src/views/alt_title.ts +85 -0
- package/src/views/alt_titles_section.ts +97 -0
- package/src/views/attachment.ts +160 -0
- package/src/views/attachments.ts +72 -0
- package/src/views/author_notes.ts +96 -0
- package/src/views/award.ts +194 -0
- package/src/views/awards.ts +59 -0
- package/src/views/base_node_view.ts +85 -0
- package/src/views/bibliography_element.ts +313 -0
- package/src/views/block_view.ts +100 -0
- package/src/views/blockquote_element.ts +26 -0
- package/src/views/blockquote_element_editable.ts +24 -0
- package/src/views/box_element.ts +33 -0
- package/src/views/caption.ts +37 -0
- package/src/views/caption_title.ts +33 -0
- package/src/views/citation.ts +67 -0
- package/src/views/citation_editable.ts +312 -0
- package/src/views/contributors.ts +341 -0
- package/src/views/creators.ts +82 -0
- package/src/views/cross_reference.ts +74 -0
- package/src/views/cross_reference_editable.ts +113 -0
- package/src/views/editable_block.ts +141 -0
- package/src/views/embed.ts +345 -0
- package/src/views/empty.ts +26 -0
- package/src/views/equation.ts +47 -0
- package/src/views/equation_editable.ts +84 -0
- package/src/views/equation_element.ts +29 -0
- package/src/views/equation_element_editable.ts +21 -0
- package/src/views/figure.ts +84 -0
- package/src/views/figure_editable.ts +361 -0
- package/src/views/figure_element.ts +197 -0
- package/src/views/figure_element_editable.ts +21 -0
- package/src/views/footnote.ts +236 -0
- package/src/views/footnotes_element.ts +54 -0
- package/src/views/general_table_footnote.ts +140 -0
- package/src/views/hero_image.ts +76 -0
- package/src/views/hero_image_editable.ts +21 -0
- package/src/views/image_element.ts +373 -0
- package/src/views/image_element_editable.ts +21 -0
- package/src/views/inline_equation.ts +47 -0
- package/src/views/inline_equation_editable.ts +70 -0
- package/src/views/inline_footnote.ts +264 -0
- package/src/views/inline_footnote_editable.ts +20 -0
- package/src/views/keyword.ts +127 -0
- package/src/views/keyword_group.ts +109 -0
- package/src/views/link.ts +27 -0
- package/src/views/link_editable.ts +169 -0
- package/src/views/list.ts +46 -0
- package/src/views/list_item.ts +26 -0
- package/src/views/paragraph.ts +26 -0
- package/src/views/paragraph_editable.ts +21 -0
- package/src/views/placeholder.ts +35 -0
- package/src/views/placeholder_element.ts +38 -0
- package/src/views/placeholder_element_editable.ts +21 -0
- package/src/views/pullquote_element.ts +106 -0
- package/src/views/pullquote_element_editable.ts +24 -0
- package/src/views/quote_image_editable.ts +84 -0
- package/src/views/section.ts +64 -0
- package/src/views/section_label.ts +20 -0
- package/src/views/section_title.ts +87 -0
- package/src/views/section_title_editable.ts +21 -0
- package/src/views/subtitle.ts +42 -0
- package/src/views/subtitle_editable.ts +20 -0
- package/src/views/subtitles.ts +34 -0
- package/src/views/subtitles_editable.ts +21 -0
- package/src/views/supplement.ts +236 -0
- package/src/views/supplement_editable.ts +20 -0
- package/src/views/supplements.ts +65 -0
- package/src/views/supplements_editable.ts +21 -0
- package/src/views/table_cell.ts +150 -0
- package/src/views/table_element.ts +33 -0
- package/src/views/table_element_editable.ts +21 -0
- package/src/views/table_element_footer.ts +41 -0
- package/src/views/title.ts +46 -0
- package/src/views/title_editable.ts +20 -0
- package/src/views/trans_graphical_abstract.ts +55 -0
- package/src/views/trans_graphical_abstract_editable.ts +21 -0
- package/src/views/translated_abstract.ts +53 -0
- package/src/views/translated_abstract_editable.ts +21 -0
- package/dist/cjs/lib/statistics.js +0 -38
package/src/toolbar.tsx
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2019 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
AddCommentIcon,
|
|
19
|
+
FileImageIcon,
|
|
20
|
+
LinkIcon,
|
|
21
|
+
OutlineBlockQuoteIcon,
|
|
22
|
+
OutlineEmbedIcon,
|
|
23
|
+
OutlinePullQuoteIcon,
|
|
24
|
+
ToolbarBoldIcon,
|
|
25
|
+
ToolbarBoxedTextIcon,
|
|
26
|
+
ToolbarCitationIcon,
|
|
27
|
+
ToolbarEquationIcon,
|
|
28
|
+
ToolbarFigureIcon,
|
|
29
|
+
ToolbarIndentIcon,
|
|
30
|
+
ToolbarItalicIcon,
|
|
31
|
+
ToolbarOrderedListIcon,
|
|
32
|
+
ToolbarSpecialCharactersIcon,
|
|
33
|
+
ToolbarSubscriptIcon,
|
|
34
|
+
ToolbarSuperscriptIcon,
|
|
35
|
+
ToolbarTableIcon,
|
|
36
|
+
ToolbarUnderlineIcon,
|
|
37
|
+
ToolbarUnindentIcon,
|
|
38
|
+
ToolbarUnorderedListIcon,
|
|
39
|
+
} from '@manuscripts/style-guide'
|
|
40
|
+
import { schema } from '@manuscripts/transform'
|
|
41
|
+
import { toggleMark } from 'prosemirror-commands'
|
|
42
|
+
import { EditorState } from 'prosemirror-state'
|
|
43
|
+
import { EditorView } from 'prosemirror-view'
|
|
44
|
+
import React, { ReactNode } from 'react'
|
|
45
|
+
|
|
46
|
+
import {
|
|
47
|
+
addInlineComment,
|
|
48
|
+
blockActive,
|
|
49
|
+
canInsert,
|
|
50
|
+
Dispatch,
|
|
51
|
+
insertBlock,
|
|
52
|
+
insertBoxElement,
|
|
53
|
+
insertEmbed,
|
|
54
|
+
insertInlineCitation,
|
|
55
|
+
insertLink,
|
|
56
|
+
insertList,
|
|
57
|
+
markActive,
|
|
58
|
+
} from './commands'
|
|
59
|
+
import {
|
|
60
|
+
changeIndentation,
|
|
61
|
+
isIndentationAllowed,
|
|
62
|
+
} from './components/toolbar/helpers'
|
|
63
|
+
import { openInsertTableDialog } from './components/toolbar/InsertTableDialog'
|
|
64
|
+
import { openInsertSpecialCharacterDialog } from './components/views/InsertSpecialCharacter'
|
|
65
|
+
import { isEditAllowed } from './lib/utils'
|
|
66
|
+
|
|
67
|
+
export interface ToolbarButtonConfig {
|
|
68
|
+
title: string
|
|
69
|
+
content: ReactNode
|
|
70
|
+
isActive?: (state: EditorState) => boolean
|
|
71
|
+
run: (state: EditorState, dispatch: Dispatch, view?: EditorView) => void
|
|
72
|
+
isEnabled: (state: EditorState) => boolean
|
|
73
|
+
options?: {
|
|
74
|
+
[key: string]: (
|
|
75
|
+
state: EditorState,
|
|
76
|
+
dispatch: Dispatch,
|
|
77
|
+
view?: EditorView
|
|
78
|
+
) => void
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const isEnabled =
|
|
83
|
+
(isCommandEnabled: (state: EditorState) => boolean) =>
|
|
84
|
+
(state: EditorState) => {
|
|
85
|
+
return isEditAllowed(state) && isCommandEnabled(state)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface ToolbarConfig {
|
|
89
|
+
[key: string]: {
|
|
90
|
+
[key: string]: ToolbarButtonConfig
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export const toolbar: ToolbarConfig = {
|
|
95
|
+
indentation: {
|
|
96
|
+
indent: {
|
|
97
|
+
title: 'Indent',
|
|
98
|
+
content: <ToolbarIndentIcon />,
|
|
99
|
+
isEnabled: isEnabled(isIndentationAllowed('indent')),
|
|
100
|
+
run: changeIndentation('indent'),
|
|
101
|
+
},
|
|
102
|
+
unindent: {
|
|
103
|
+
title: 'Unindent',
|
|
104
|
+
content: <ToolbarUnindentIcon />,
|
|
105
|
+
isEnabled: isEnabled(isIndentationAllowed('unindent')),
|
|
106
|
+
run: changeIndentation('unindent'),
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
style: {
|
|
110
|
+
bold: {
|
|
111
|
+
title: 'Toggle bold',
|
|
112
|
+
content: <ToolbarBoldIcon />,
|
|
113
|
+
isActive: markActive(schema.marks.bold),
|
|
114
|
+
isEnabled: isEnabled(toggleMark(schema.marks.bold)),
|
|
115
|
+
run: toggleMark(schema.marks.bold),
|
|
116
|
+
},
|
|
117
|
+
italic: {
|
|
118
|
+
title: 'Toggle italic',
|
|
119
|
+
content: <ToolbarItalicIcon />,
|
|
120
|
+
isActive: markActive(schema.marks.italic),
|
|
121
|
+
isEnabled: isEnabled(toggleMark(schema.marks.italic)),
|
|
122
|
+
run: toggleMark(schema.marks.italic),
|
|
123
|
+
},
|
|
124
|
+
underline: {
|
|
125
|
+
title: 'Toggle underline',
|
|
126
|
+
content: <ToolbarUnderlineIcon />,
|
|
127
|
+
isActive: markActive(schema.marks.underline),
|
|
128
|
+
isEnabled: isEnabled(toggleMark(schema.marks.underline)),
|
|
129
|
+
run: toggleMark(schema.marks.underline),
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
vertical: {
|
|
133
|
+
subscript: {
|
|
134
|
+
title: 'Toggle subscript',
|
|
135
|
+
content: <ToolbarSubscriptIcon />,
|
|
136
|
+
isActive: markActive(schema.marks.subscript),
|
|
137
|
+
isEnabled: isEnabled(toggleMark(schema.marks.subscript)),
|
|
138
|
+
run: toggleMark(schema.marks.subscript),
|
|
139
|
+
},
|
|
140
|
+
superscript: {
|
|
141
|
+
title: 'Toggle superscript',
|
|
142
|
+
content: <ToolbarSuperscriptIcon />,
|
|
143
|
+
isActive: markActive(schema.marks.superscript),
|
|
144
|
+
isEnabled: isEnabled(toggleMark(schema.marks.superscript)),
|
|
145
|
+
run: toggleMark(schema.marks.superscript),
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
list: {
|
|
149
|
+
bullet_list: {
|
|
150
|
+
title: 'Bulleted list',
|
|
151
|
+
content: <ToolbarUnorderedListIcon />,
|
|
152
|
+
isActive: blockActive(schema.nodes.list),
|
|
153
|
+
isEnabled: isEnabled(insertList(schema.nodes.list, 'bullet')),
|
|
154
|
+
run: insertList(schema.nodes.list, 'bullet'),
|
|
155
|
+
options: {
|
|
156
|
+
bullet: insertList(schema.nodes.list, 'bullet'),
|
|
157
|
+
simple: insertList(schema.nodes.list, 'simple'),
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
ordered_list: {
|
|
161
|
+
title: 'Ordered list',
|
|
162
|
+
content: <ToolbarOrderedListIcon />,
|
|
163
|
+
isActive: blockActive(schema.nodes.list),
|
|
164
|
+
isEnabled: isEnabled(insertList(schema.nodes.list, 'order')),
|
|
165
|
+
run: insertList(schema.nodes.list, 'order'),
|
|
166
|
+
options: {
|
|
167
|
+
order: insertList(schema.nodes.list, 'order'),
|
|
168
|
+
'alpha-upper': insertList(schema.nodes.list, 'alpha-upper'),
|
|
169
|
+
'alpha-lower': insertList(schema.nodes.list, 'alpha-lower'),
|
|
170
|
+
'roman-upper': insertList(schema.nodes.list, 'roman-upper'),
|
|
171
|
+
'roman-lower': insertList(schema.nodes.list, 'roman-lower'),
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
inline: {
|
|
176
|
+
comment: {
|
|
177
|
+
title: 'Insert comment',
|
|
178
|
+
content: <AddCommentIcon />,
|
|
179
|
+
isEnabled: isEnabled(canInsert(schema.nodes.highlight_marker)), // TODO: check both ends of selection
|
|
180
|
+
run: addInlineComment,
|
|
181
|
+
},
|
|
182
|
+
citation: {
|
|
183
|
+
title: 'Insert citation',
|
|
184
|
+
content: <ToolbarCitationIcon />,
|
|
185
|
+
isEnabled: isEnabled(canInsert(schema.nodes.citation)),
|
|
186
|
+
run: insertInlineCitation,
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
quote: {
|
|
190
|
+
blockquote_element: {
|
|
191
|
+
title: 'Insert blockquote',
|
|
192
|
+
content: <OutlineBlockQuoteIcon />,
|
|
193
|
+
isEnabled: isEnabled(canInsert(schema.nodes.blockquote_element)),
|
|
194
|
+
run: insertBlock(schema.nodes.blockquote_element),
|
|
195
|
+
},
|
|
196
|
+
pullquote_element: {
|
|
197
|
+
title: 'Insert pullquote',
|
|
198
|
+
content: <OutlinePullQuoteIcon />,
|
|
199
|
+
isEnabled: isEnabled(canInsert(schema.nodes.pullquote_element)),
|
|
200
|
+
run: insertBlock(schema.nodes.pullquote_element),
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
element: {
|
|
204
|
+
figure_element: {
|
|
205
|
+
title: 'Insert figure',
|
|
206
|
+
content: <ToolbarFigureIcon />,
|
|
207
|
+
isEnabled: isEnabled(canInsert(schema.nodes.figure_element)),
|
|
208
|
+
run: insertBlock(schema.nodes.figure_element),
|
|
209
|
+
},
|
|
210
|
+
image_element: {
|
|
211
|
+
title: 'Insert image',
|
|
212
|
+
content: <FileImageIcon width="19" height="16" />,
|
|
213
|
+
isEnabled: isEnabled(canInsert(schema.nodes.image_element)),
|
|
214
|
+
run: insertBlock(schema.nodes.image_element),
|
|
215
|
+
},
|
|
216
|
+
table_element: {
|
|
217
|
+
title: 'Insert table',
|
|
218
|
+
content: <ToolbarTableIcon />,
|
|
219
|
+
isEnabled: isEnabled(canInsert(schema.nodes.table_element)),
|
|
220
|
+
run: openInsertTableDialog,
|
|
221
|
+
},
|
|
222
|
+
box_element: {
|
|
223
|
+
title: 'Insert boxed text',
|
|
224
|
+
content: <ToolbarBoxedTextIcon />,
|
|
225
|
+
isEnabled: isEnabled(canInsert(schema.nodes.box_element)),
|
|
226
|
+
run: insertBoxElement,
|
|
227
|
+
},
|
|
228
|
+
equation_element: {
|
|
229
|
+
title: 'Insert equation',
|
|
230
|
+
content: <ToolbarEquationIcon />,
|
|
231
|
+
isEnabled: isEnabled(canInsert(schema.nodes.equation_element)),
|
|
232
|
+
run: insertBlock(schema.nodes.equation_element),
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
media: {
|
|
236
|
+
embed: {
|
|
237
|
+
title: 'Insert media',
|
|
238
|
+
content: <OutlineEmbedIcon />,
|
|
239
|
+
isEnabled: isEnabled(canInsert(schema.nodes.embed)),
|
|
240
|
+
run: insertEmbed,
|
|
241
|
+
},
|
|
242
|
+
link: {
|
|
243
|
+
title: 'Insert link',
|
|
244
|
+
content: <LinkIcon />,
|
|
245
|
+
isEnabled: isEnabled(canInsert(schema.nodes.link)),
|
|
246
|
+
run: insertLink,
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
special: {
|
|
250
|
+
special_characters: {
|
|
251
|
+
title: 'Insert special characters',
|
|
252
|
+
content: <ToolbarSpecialCharactersIcon />,
|
|
253
|
+
isEnabled: isEnabled(canInsert(schema.nodes.text)),
|
|
254
|
+
run: (state: EditorState, dispatch: Dispatch, view?: EditorView) => {
|
|
255
|
+
openInsertSpecialCharacterDialog(view)
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
},
|
|
259
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/core'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-bibtex'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-csl'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-doi'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-enw'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-pubmed'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2025 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '@citation-js/plugin-ris'
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2019 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// https://citeproc-js.readthedocs.io/en/latest/running.html#introduction
|
|
18
|
+
// https://github.com/citation-style-language/schema
|
|
19
|
+
// https://github.com/Zettlr/Zettlr/blob/dd2cbda72d9499edae6a1d95fb977794bde1ed4e/source/citeproc.d.ts
|
|
20
|
+
|
|
21
|
+
declare module 'citeproc' {
|
|
22
|
+
interface Citation {
|
|
23
|
+
citationItems: Array<{ id: string; prefix?: string; suffix?: string }>
|
|
24
|
+
properties?: {
|
|
25
|
+
mode?: string
|
|
26
|
+
noteIndex?: number
|
|
27
|
+
infix?: string
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface SystemOptions {
|
|
32
|
+
retrieveLocale: (id: string) => string | Document | Locale
|
|
33
|
+
retrieveItem: (id: string) => CSL.Data
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface BibliographyMetadata {
|
|
37
|
+
maxoffset: number
|
|
38
|
+
entryspacing: number
|
|
39
|
+
linespacing: number
|
|
40
|
+
hangingindent: boolean
|
|
41
|
+
['second-field-align']: boolean
|
|
42
|
+
bibstart: string
|
|
43
|
+
bibend: string
|
|
44
|
+
bibliography_errors: string[]
|
|
45
|
+
entry_ids: string[]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
type Bibliography = string[]
|
|
49
|
+
|
|
50
|
+
export class Engine {
|
|
51
|
+
constructor(
|
|
52
|
+
sys: SystemOptions,
|
|
53
|
+
style: string | Style,
|
|
54
|
+
lang?: string,
|
|
55
|
+
forceLang?: boolean
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
public updateItems(idList: Array<string | number>): void
|
|
59
|
+
|
|
60
|
+
public updateUncitedItems(idList: Array<string | number>): void
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Rebuilds the processor from scratch, based on a cached list of
|
|
64
|
+
* citation objects. In a dynamic application, once the internal state of
|
|
65
|
+
* processor is established, citations should edited with individual
|
|
66
|
+
* invocations of ``processCitationCluster()``.
|
|
67
|
+
*
|
|
68
|
+
* Returns an array of ``[citationID,noteIndex,string]`` triples in
|
|
69
|
+
* document order, where ``string`` is the fully disambiguated citation
|
|
70
|
+
* cluster for the given document position.
|
|
71
|
+
*
|
|
72
|
+
* @param citations An array of citation input objects in document order. Each
|
|
73
|
+
* citation object must be in the following form, with correct
|
|
74
|
+
* values for ``citationID``, for each ``id``, and for ``noteIndex``.
|
|
75
|
+
* Set ``noteIndex`` to ``0`` for in-text citations.
|
|
76
|
+
* Default is to return an empty document update array.
|
|
77
|
+
* ```json
|
|
78
|
+
* {
|
|
79
|
+
* "citationID": "CITATION-1",
|
|
80
|
+
* "citationItems": [
|
|
81
|
+
* {
|
|
82
|
+
* "id": "ITEM-1"
|
|
83
|
+
* }
|
|
84
|
+
* ],
|
|
85
|
+
* "properties": {
|
|
86
|
+
* "noteIndex": 1
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
* @param mode One of ``text``, ``html`` or ``rtf``. The default is ``html``.
|
|
91
|
+
After invocation, the processor is returned to its previous output mode setting.
|
|
92
|
+
* @param uncitedItemIDs An array of item IDs for uncited items to be included in
|
|
93
|
+
the document bibliography, if any.
|
|
94
|
+
*/
|
|
95
|
+
public rebuildProcessorState(
|
|
96
|
+
citations: Citation[],
|
|
97
|
+
mode?: 'text' | 'html' | 'rtf',
|
|
98
|
+
uncitedItemIDs?: string[]
|
|
99
|
+
): Array<[string, number, string]> // id, noteIndex, output
|
|
100
|
+
|
|
101
|
+
public makeBibliography(): [BibliographyMetadata, Bibliography]
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function getLocaleNames(
|
|
105
|
+
style: string | Record<string, unknown>,
|
|
106
|
+
preferredLocale: string
|
|
107
|
+
): string[]
|
|
108
|
+
|
|
109
|
+
type Locale = Record<string, unknown>
|
|
110
|
+
|
|
111
|
+
type Node = {
|
|
112
|
+
name: string
|
|
113
|
+
attrs: Record<string, unknown>
|
|
114
|
+
children: Node[]
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export class XmlJSON {
|
|
118
|
+
constructor(dataObj: string | Record<string, unknown>)
|
|
119
|
+
dataObj: Record<string, unknown>
|
|
120
|
+
getNodesByName: (data: unknown, name: string) => Node[]
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function setupXml(style: string | Record<string, unknown>): XmlJSON
|
|
124
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2020 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module '*.css'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2019 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
declare module '*.json'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2020 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module 'prosemirror-dev-tools'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2020 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
declare module 'prosemirror-dropcursor'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2020 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import 'styled-components'
|
|
18
|
+
|
|
19
|
+
import { Theme } from '@manuscripts/style-guide'
|
|
20
|
+
|
|
21
|
+
declare module 'styled-components' {
|
|
22
|
+
export type DefaultTheme = Theme
|
|
23
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © 2019 Atypon Systems LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { TrackedAttrs } from '@manuscripts/track-changes-plugin'
|
|
18
|
+
import {
|
|
19
|
+
ManuscriptEditorState,
|
|
20
|
+
ManuscriptEditorView,
|
|
21
|
+
ManuscriptNode,
|
|
22
|
+
ManuscriptNodeView,
|
|
23
|
+
ManuscriptTransaction,
|
|
24
|
+
} from '@manuscripts/transform'
|
|
25
|
+
import { Decoration } from 'prosemirror-view'
|
|
26
|
+
|
|
27
|
+
export type EditorAction = (
|
|
28
|
+
state: ManuscriptEditorState,
|
|
29
|
+
dispatch?: (tr: ManuscriptTransaction) => void,
|
|
30
|
+
view?: ManuscriptEditorView
|
|
31
|
+
) => boolean
|
|
32
|
+
|
|
33
|
+
export type NodeViewCreator<T extends ManuscriptNodeView> = (
|
|
34
|
+
node: ManuscriptNode,
|
|
35
|
+
view: ManuscriptEditorView,
|
|
36
|
+
getPos: () => number | undefined,
|
|
37
|
+
decorations: readonly Decoration[]
|
|
38
|
+
) => T
|
|
39
|
+
|
|
40
|
+
export type TrackableAttributes<T extends ManuscriptNode> = T['attrs'] & {
|
|
41
|
+
dataTracked?: TrackedAttrs[]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type Trackable<T extends ManuscriptNode> = Omit<T, 'attrs'> & {
|
|
45
|
+
attrs: TrackableAttributes<T>
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type PartialExcept<T, K extends keyof T> = Partial<Omit<T, K>> &
|
|
49
|
+
Pick<T, K>
|