bookish-press 0.4.47 → 0.4.49
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/components/Auth.svelte +55 -0
- package/components/Auth.svelte.d.ts +16 -0
- package/{src/lib/components/Authentication.ts → components/Authentication.d.ts} +0 -2
- package/components/Authentication.js +1 -0
- package/{src/lib/components → components}/BookPreview.svelte +22 -27
- package/components/BookPreview.svelte.d.ts +18 -0
- package/{src/lib/components → components}/External.svelte +1 -2
- package/components/External.svelte.d.ts +18 -0
- package/components/Link.svelte +51 -0
- package/components/Link.svelte.d.ts +18 -0
- package/{src/lib/components → components}/app/BookList.svelte +3 -6
- package/components/app/BookList.svelte.d.ts +18 -0
- package/{src/lib/components → components}/app/Button.svelte +4 -5
- package/components/app/Button.svelte.d.ts +22 -0
- package/{src/lib/components → components}/app/Feedback.svelte +7 -11
- package/components/app/Feedback.svelte.d.ts +18 -0
- package/{src/lib/components → components}/app/Head.svelte +1 -2
- package/components/app/Head.svelte.d.ts +18 -0
- package/{src/lib/components → components}/app/Large.svelte +0 -0
- package/components/app/Large.svelte.d.ts +27 -0
- package/{src/lib/components → components}/app/Lead.svelte +0 -0
- package/components/app/Lead.svelte.d.ts +27 -0
- package/{src/lib/components → components}/app/Link.svelte +3 -4
- package/components/app/Link.svelte.d.ts +20 -0
- package/{src/lib/components → components}/app/Options.svelte +4 -5
- package/components/app/Options.svelte.d.ts +19 -0
- package/{src/lib/components → components}/app/Paragraph.svelte +1 -2
- package/components/app/Paragraph.svelte.d.ts +18 -0
- package/{src/lib/components → components}/app/Section.svelte +0 -0
- package/components/app/Section.svelte.d.ts +27 -0
- package/{src/lib/components → components}/app/Table.svelte +0 -0
- package/components/app/Table.svelte.d.ts +27 -0
- package/{src/lib/components → components}/app/TextInput.svelte +9 -12
- package/components/app/TextInput.svelte.d.ts +22 -0
- package/{src/lib/components → components}/chapter/Atom.svelte +12 -18
- package/components/chapter/Atom.svelte.d.ts +19 -0
- package/components/chapter/Block.svelte +37 -0
- package/components/chapter/Block.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Callout.svelte +3 -6
- package/components/chapter/Callout.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/CaptionedCode.svelte +13 -21
- package/components/chapter/CaptionedCode.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/ChapterBody.svelte +9 -13
- package/components/chapter/ChapterBody.svelte.d.ts +19 -0
- package/{src/lib/components → components}/chapter/Citations.svelte +33 -34
- package/components/chapter/Citations.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Code.svelte +60 -64
- package/components/chapter/Code.svelte.d.ts +22 -0
- package/{src/lib/components → components}/chapter/Comment.svelte +18 -30
- package/components/chapter/Comment.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Definition.svelte +17 -23
- package/components/chapter/Definition.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Embed.svelte +77 -97
- package/components/chapter/Embed.svelte.d.ts +20 -0
- package/components/chapter/ErrorMessage.svelte +9 -0
- package/components/chapter/ErrorMessage.svelte.d.ts +17 -0
- package/components/chapter/ExtendedPrism.d.ts +2 -0
- package/{src/lib/components → components}/chapter/ExtendedPrism.js +0 -0
- package/{src/lib/components → components}/chapter/Figure.svelte +26 -34
- package/components/chapter/Figure.svelte.d.ts +24 -0
- package/{src/lib/components → components}/chapter/Footnote.svelte +20 -32
- package/components/chapter/Footnote.svelte.d.ts +19 -0
- package/{src/lib/components → components}/chapter/Format.svelte +34 -39
- package/components/chapter/Format.svelte.d.ts +19 -0
- package/{src/lib/components → components}/chapter/InlineCode.svelte +5 -9
- package/components/chapter/InlineCode.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Label.svelte +14 -23
- package/components/chapter/Label.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Link.svelte +21 -27
- package/components/chapter/Link.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/List.svelte +3 -5
- package/components/chapter/List.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Marginal.svelte +41 -54
- package/components/chapter/Marginal.svelte.d.ts +22 -0
- package/{src/lib/components → components}/chapter/Paragraph.svelte +20 -25
- package/components/chapter/Paragraph.svelte.d.ts +18 -0
- package/{src/lib/components → components}/chapter/Positioned.svelte +1 -4
- package/components/chapter/Positioned.svelte.d.ts +19 -0
- package/{src/lib/components → components}/chapter/Problem.svelte +0 -0
- package/components/chapter/Problem.svelte.d.ts +27 -0
- package/components/chapter/Python.svelte +128 -0
- package/components/chapter/Python.svelte.d.ts +18 -0
- package/{src/lib/components → components}/chapter/Quote.svelte +19 -13
- package/components/chapter/Quote.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Rule.svelte +1 -4
- package/components/chapter/Rule.svelte.d.ts +17 -0
- package/{src/lib/components → components}/chapter/Table.svelte +7 -11
- package/components/chapter/Table.svelte.d.ts +17 -0
- package/components/chapter/Text.svelte +87 -0
- package/components/chapter/Text.svelte.d.ts +18 -0
- package/components/editor/BookishEditor.svelte +884 -0
- package/components/editor/BookishEditor.svelte.d.ts +25 -0
- package/components/editor/CalloutEditor.svelte +10 -0
- package/components/editor/CalloutEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/CaptionedCodeEditor.svelte +6 -10
- package/components/editor/CaptionedCodeEditor.svelte.d.ts +17 -0
- package/components/editor/CaretContext.d.ts +50 -0
- package/components/editor/CaretContext.js +1 -0
- package/{src/lib/components/editor/CaretState.ts → components/editor/CaretState.d.ts} +7 -6
- package/components/editor/CaretState.js +1 -0
- package/{src/lib/components/editor/CaretUtilities.ts → components/editor/CaretUtilities.d.ts} +0 -1
- package/components/editor/CaretUtilities.js +1 -0
- package/{src/lib/components → components}/editor/CaretView.svelte +20 -25
- package/components/editor/CaretView.svelte.d.ts +25 -0
- package/components/editor/CitationsEditor.svelte +53 -0
- package/components/editor/CitationsEditor.svelte.d.ts +17 -0
- package/{src/lib/components/editor/Clipboard.ts → components/editor/Clipboard.d.ts} +1 -2
- package/components/editor/Clipboard.js +1 -0
- package/{src/lib/components/editor/Command.ts → components/editor/Command.d.ts} +2 -8
- package/components/editor/Command.js +1 -0
- package/components/editor/Commands.d.ts +3 -0
- package/{src/lib/components/editor/Commands.ts → components/editor/Commands.js} +315 -730
- package/components/editor/ConfirmButton.svelte +49 -0
- package/components/editor/ConfirmButton.svelte.d.ts +19 -0
- package/components/editor/DefinitionEditor.svelte +36 -0
- package/components/editor/DefinitionEditor.svelte.d.ts +17 -0
- package/components/editor/EmbedEditor.svelte +137 -0
- package/components/editor/EmbedEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/Icon.svelte +1 -2
- package/components/editor/Icon.svelte.d.ts +16 -0
- package/{src/lib/components → components}/editor/ImageChooser.svelte +19 -24
- package/components/editor/ImageChooser.svelte.d.ts +18 -0
- package/components/editor/InlineCodeEditor.svelte +12 -0
- package/components/editor/InlineCodeEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/LabelEditor.svelte +9 -14
- package/components/editor/LabelEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/LanguageEditor.svelte +5 -8
- package/components/editor/LanguageEditor.svelte.d.ts +17 -0
- package/components/editor/LinkEditor.svelte +100 -0
- package/components/editor/LinkEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/Note.svelte +0 -0
- package/components/editor/Note.svelte.d.ts +27 -0
- package/{src/lib/components → components}/editor/Permissions.svelte +36 -43
- package/components/editor/Permissions.svelte.d.ts +20 -0
- package/components/editor/PositionEditor.svelte +17 -0
- package/components/editor/PositionEditor.svelte.d.ts +18 -0
- package/components/editor/QuoteEditor.svelte +10 -0
- package/components/editor/QuoteEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/Switch.svelte +11 -14
- package/components/editor/Switch.svelte.d.ts +20 -0
- package/components/editor/TableEditor.svelte +10 -0
- package/components/editor/TableEditor.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/TextEditor.svelte +89 -101
- package/components/editor/TextEditor.svelte.d.ts +24 -0
- package/components/editor/Toggle.svelte +41 -0
- package/components/editor/Toggle.svelte.d.ts +19 -0
- package/components/editor/Toolbar.svelte +249 -0
- package/components/editor/Toolbar.svelte.d.ts +17 -0
- package/{src/lib/components → components}/editor/ToolbarGroup.svelte +3 -5
- package/components/editor/ToolbarGroup.svelte.d.ts +18 -0
- package/{src/lib/components → components}/editor/ToolbarSpacer.svelte +0 -0
- package/components/editor/ToolbarSpacer.svelte.d.ts +23 -0
- package/components/editor/URLEditor.svelte +13 -0
- package/components/editor/URLEditor.svelte.d.ts +18 -0
- package/{src/lib/components/editor/UndoState.ts → components/editor/UndoState.d.ts} +2 -3
- package/components/editor/UndoState.js +1 -0
- package/{src/lib/components → components}/editor/icons/annotate.svg +0 -0
- package/{src/lib/components → components}/editor/icons/block.svg +0 -0
- package/{src/lib/components → components}/editor/icons/bold.svg +0 -0
- package/{src/lib/components → components}/editor/icons/bullets.svg +0 -0
- package/{src/lib/components → components}/editor/icons/callout.svg +0 -0
- package/{src/lib/components → components}/editor/icons/citation.svg +0 -0
- package/{src/lib/components → components}/editor/icons/clear.svg +0 -0
- package/{src/lib/components → components}/editor/icons/clipboard.svg +0 -0
- package/{src/lib/components → components}/editor/icons/code.svg +0 -0
- package/{src/lib/components → components}/editor/icons/columnafter.svg +0 -0
- package/{src/lib/components → components}/editor/icons/columnbefore.svg +0 -0
- package/{src/lib/components → components}/editor/icons/comment.svg +0 -0
- package/{src/lib/components → components}/editor/icons/copy.svg +0 -0
- package/{src/lib/components → components}/editor/icons/cut.svg +0 -0
- package/{src/lib/components → components}/editor/icons/define.svg +0 -0
- package/{src/lib/components → components}/editor/icons/deletecolumn.svg +0 -0
- package/{src/lib/components → components}/editor/icons/deleterow.svg +0 -0
- package/{src/lib/components → components}/editor/icons/footnote.svg +0 -0
- package/{src/lib/components → components}/editor/icons/header1.svg +0 -0
- package/{src/lib/components → components}/editor/icons/header2.svg +0 -0
- package/{src/lib/components → components}/editor/icons/header3.svg +0 -0
- package/{src/lib/components → components}/editor/icons/home.svg +0 -0
- package/{src/lib/components → components}/editor/icons/indent.svg +0 -0
- package/{src/lib/components → components}/editor/icons/italic.svg +0 -0
- package/{src/lib/components → components}/editor/icons/label.svg +0 -0
- package/{src/lib/components → components}/editor/icons/left.svg +0 -0
- package/{src/lib/components → components}/editor/icons/level.svg +0 -0
- package/{src/lib/components → components}/editor/icons/link.svg +0 -0
- package/{src/lib/components → components}/editor/icons/list.svg +0 -0
- package/{src/lib/components → components}/editor/icons/media.svg +0 -0
- package/{src/lib/components → components}/editor/icons/middle.svg +0 -0
- package/{src/lib/components → components}/editor/icons/numbers.svg +0 -0
- package/{src/lib/components → components}/editor/icons/paragraph.svg +0 -0
- package/{src/lib/components → components}/editor/icons/paste.svg +0 -0
- package/{src/lib/components → components}/editor/icons/quote.svg +0 -0
- package/{src/lib/components → components}/editor/icons/redo.svg +0 -0
- package/{src/lib/components → components}/editor/icons/right.svg +0 -0
- package/{src/lib/components → components}/editor/icons/rowabove.svg +0 -0
- package/{src/lib/components → components}/editor/icons/rowbelow.svg +0 -0
- package/{src/lib/components → components}/editor/icons/rule.svg +0 -0
- package/{src/lib/components → components}/editor/icons/sub.svg +0 -0
- package/{src/lib/components → components}/editor/icons/super.svg +0 -0
- package/{src/lib/components → components}/editor/icons/table.svg +0 -0
- package/{src/lib/components → components}/editor/icons/text.svg +0 -0
- package/{src/lib/components → components}/editor/icons/time.svg +0 -0
- package/{src/lib/components → components}/editor/icons/undo.svg +0 -0
- package/{src/lib/components → components}/editor/icons/unindent.svg +0 -0
- package/{src/lib/components → components}/editor/icons/unlink.svg +0 -0
- package/{src/lib/components → components}/page/Acknowledgements.svelte +10 -19
- package/components/page/Acknowledgements.svelte.d.ts +14 -0
- package/components/page/Authors.svelte +85 -0
- package/components/page/Authors.svelte.d.ts +21 -0
- package/components/page/BookLoader.svelte +59 -0
- package/components/page/BookLoader.svelte.d.ts +16 -0
- package/components/page/BulkReferenceEditor.svelte +63 -0
- package/components/page/BulkReferenceEditor.svelte.d.ts +14 -0
- package/components/page/Chapter.svelte +393 -0
- package/components/page/Chapter.svelte.d.ts +18 -0
- package/components/page/ChapterContext.d.ts +10 -0
- package/components/page/ChapterContext.js +1 -0
- package/{src/lib/components → components}/page/ChapterNumber.svelte +0 -0
- package/components/page/ChapterNumber.svelte.d.ts +27 -0
- package/{src/lib/components → components}/page/ChapterTitle.svelte +2 -4
- package/components/page/ChapterTitle.svelte.d.ts +18 -0
- package/components/page/Contexts.d.ts +47 -0
- package/components/page/Contexts.js +133 -0
- package/{src/lib/components → components}/page/DefinitionView.svelte +38 -53
- package/components/page/DefinitionView.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/Description.svelte +7 -15
- package/components/page/Description.svelte.d.ts +14 -0
- package/components/page/Edition.svelte +161 -0
- package/components/page/Edition.svelte.d.ts +20 -0
- package/components/page/EditionLoader.svelte +99 -0
- package/components/page/EditionLoader.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/Editions.svelte +18 -22
- package/components/page/Editions.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Glossary.svelte +28 -33
- package/components/page/Glossary.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Header.svelte +52 -59
- package/components/page/Header.svelte.d.ts +29 -0
- package/{src/lib/components → components}/page/Index.svelte +47 -50
- package/components/page/Index.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Instructions.svelte +1 -2
- package/components/page/Instructions.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/License.svelte +9 -17
- package/components/page/License.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Loading.svelte +0 -0
- package/components/page/Loading.svelte.d.ts +23 -0
- package/{src/lib/components → components}/page/Media.svelte +27 -44
- package/components/page/Media.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/MediaPreview.svelte +2 -3
- package/components/page/MediaPreview.svelte.d.ts +19 -0
- package/{src/lib/components → components}/page/Muted.svelte +0 -0
- package/components/page/Muted.svelte.d.ts +27 -0
- package/{src/lib/components → components}/page/Outline.svelte +110 -140
- package/components/page/Outline.svelte.d.ts +19 -0
- package/components/page/Page.svelte +84 -0
- package/components/page/Page.svelte.d.ts +19 -0
- package/{src/lib/components → components}/page/PageHeader.svelte +1 -2
- package/components/page/PageHeader.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/PageParagraph.svelte +0 -0
- package/components/page/PageParagraph.svelte.d.ts +27 -0
- package/components/page/PossibleChapter.svelte +14 -0
- package/components/page/PossibleChapter.svelte.d.ts +14 -0
- package/components/page/PossibleReference.svelte +11 -0
- package/components/page/PossibleReference.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/Print.svelte +3 -5
- package/components/page/Print.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Publish.svelte +52 -59
- package/components/page/Publish.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Reference.svelte +30 -39
- package/components/page/Reference.svelte.d.ts +17 -0
- package/{src/lib/components → components}/page/References.svelte +14 -18
- package/components/page/References.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Rows.svelte +0 -0
- package/components/page/Rows.svelte.d.ts +27 -0
- package/components/page/Search.svelte +133 -0
- package/components/page/Search.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/Status.svelte +3 -5
- package/components/page/Status.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/SubdomainEditor.svelte +13 -16
- package/components/page/SubdomainEditor.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/TableOfContents.svelte +68 -79
- package/components/page/TableOfContents.svelte.d.ts +14 -0
- package/components/page/TableOfContentsImage.svelte +18 -0
- package/components/page/TableOfContentsImage.svelte.d.ts +16 -0
- package/{src/lib/components → components}/page/TableOfContentsRow.svelte +24 -34
- package/components/page/TableOfContentsRow.svelte.d.ts +24 -0
- package/{src/lib/components → components}/page/ThemeEditor.svelte +33 -44
- package/components/page/ThemeEditor.svelte.d.ts +14 -0
- package/{src/lib/components → components}/page/ThemeEditorPreview.svelte +12 -21
- package/components/page/ThemeEditorPreview.svelte.d.ts +17 -0
- package/components/page/ThemeSetEditor.svelte +19 -0
- package/components/page/ThemeSetEditor.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/ThemeVariableEditor.svelte +14 -18
- package/components/page/ThemeVariableEditor.svelte.d.ts +18 -0
- package/{src/lib/components → components}/page/Title.svelte +0 -0
- package/components/page/Title.svelte.d.ts +27 -0
- package/{src/lib/components → components}/page/Unknown.svelte +8 -10
- package/components/page/Unknown.svelte.d.ts +16 -0
- package/components/page/margins.d.ts +2 -0
- package/{src/lib/components/page/margins.ts → components/page/margins.js} +46 -79
- package/index.d.ts +15 -0
- package/{src/lib/index.js → index.js} +0 -0
- package/models/CRUD.d.ts +27 -0
- package/models/CRUD.js +262 -0
- package/models/Firebase.d.ts +5 -0
- package/{src/lib/models/Firebase.ts → models/Firebase.js} +16 -26
- package/models/book/Book.d.ts +61 -0
- package/models/book/Book.js +135 -0
- package/models/book/BookMedia.d.ts +23 -0
- package/models/book/BookMedia.js +108 -0
- package/models/book/BookSaveStatus.d.ts +7 -0
- package/models/book/BookSaveStatus.js +8 -0
- package/models/book/Chapter.d.ts +81 -0
- package/models/book/Chapter.js +212 -0
- package/models/book/ChapterID.d.ts +10 -0
- package/{src/lib/models/book/ChapterID.ts → models/book/ChapterID.js} +0 -1
- package/models/book/Definition.d.ts +6 -0
- package/models/book/Definition.js +1 -0
- package/models/book/Edition.d.ts +139 -0
- package/models/book/Edition.js +620 -0
- package/models/book/Reference.d.ts +24 -0
- package/models/book/Reference.js +78 -0
- package/models/book/Schema.d.ts +174 -0
- package/{src/lib/models/book/Schema.ts → models/book/Schema.js} +0 -1
- package/models/book/Theme.d.ts +113 -0
- package/{src/lib/models/book/Theme.ts → models/book/Theme.js} +6 -110
- package/{src/lib/models/book/ThemeColors.ts → models/book/ThemeColors.d.ts} +0 -6
- package/models/book/ThemeColors.js +1 -0
- package/models/book/Words.d.ts +2 -0
- package/{src/lib/models/book/Words.ts → models/book/Words.js} +0 -1
- package/models/chapter/AtomNode.d.ts +18 -0
- package/{src/lib/models/chapter/AtomNode.ts → models/chapter/AtomNode.js} +10 -30
- package/models/chapter/BlockNode.d.ts +20 -0
- package/{src/lib/models/chapter/BlockNode.ts → models/chapter/BlockNode.js} +47 -80
- package/models/chapter/BlocksNode.d.ts +50 -0
- package/{src/lib/models/chapter/BlocksNode.ts → models/chapter/BlocksNode.js} +359 -571
- package/models/chapter/BlocksNode.test.d.ts +1 -0
- package/models/chapter/BlocksNode.test.js +568 -0
- package/{src/lib/models/chapter/Bookkeeping.ts → models/chapter/Bookkeeping.d.ts} +0 -0
- package/models/chapter/Bookkeeping.js +1 -0
- package/models/chapter/CalloutNode.d.ts +17 -0
- package/models/chapter/CalloutNode.js +58 -0
- package/models/chapter/Caret.d.ts +23 -0
- package/{src/lib/models/chapter/Caret.ts → models/chapter/Caret.js} +26 -50
- package/models/chapter/ChapterNode.d.ts +34 -0
- package/models/chapter/ChapterNode.js +117 -0
- package/models/chapter/CitationsNode.d.ts +16 -0
- package/{src/lib/models/chapter/CitationsNode.ts → models/chapter/CitationsNode.js} +10 -17
- package/models/chapter/CodeNode.d.ts +35 -0
- package/{src/lib/models/chapter/CodeNode.ts → models/chapter/CodeNode.js} +62 -125
- package/models/chapter/CommentNode.d.ts +18 -0
- package/models/chapter/CommentNode.js +48 -0
- package/models/chapter/DefinitionNode.d.ts +12 -0
- package/{src/lib/models/chapter/DefinitionNode.ts → models/chapter/DefinitionNode.js} +8 -14
- package/models/chapter/Edit.d.ts +7 -0
- package/models/chapter/Edit.js +1 -0
- package/models/chapter/EmbedNode.d.ts +45 -0
- package/models/chapter/EmbedNode.js +168 -0
- package/models/chapter/ErrorNode.d.ts +17 -0
- package/{src/lib/models/chapter/ErrorNode.ts → models/chapter/ErrorNode.js} +8 -15
- package/models/chapter/FootnoteNode.d.ts +18 -0
- package/models/chapter/FootnoteNode.js +47 -0
- package/models/chapter/FormatNode.d.ts +60 -0
- package/{src/lib/models/chapter/FormatNode.ts → models/chapter/FormatNode.js} +262 -443
- package/models/chapter/FormatNode.test.d.ts +1 -0
- package/models/chapter/FormatNode.test.js +96 -0
- package/models/chapter/InlineCodeNode.d.ts +12 -0
- package/{src/lib/models/chapter/InlineCodeNode.ts → models/chapter/InlineCodeNode.js} +9 -17
- package/models/chapter/LabelNode.d.ts +17 -0
- package/{src/lib/models/chapter/LabelNode.ts → models/chapter/LabelNode.js} +10 -26
- package/models/chapter/LinkNode.d.ts +12 -0
- package/{src/lib/models/chapter/LinkNode.ts → models/chapter/LinkNode.js} +7 -12
- package/models/chapter/ListNode.d.ts +51 -0
- package/{src/lib/models/chapter/ListNode.ts → models/chapter/ListNode.js} +200 -277
- package/models/chapter/ListNode.test.d.ts +1 -0
- package/{src/lib/models/chapter/ListNode.test.ts → models/chapter/ListNode.test.js} +20 -57
- package/models/chapter/MetadataNode.d.ts +17 -0
- package/models/chapter/MetadataNode.js +32 -0
- package/models/chapter/Node.d.ts +38 -0
- package/{src/lib/models/chapter/Node.ts → models/chapter/Node.js} +71 -155
- package/models/chapter/Node.test.d.ts +1 -0
- package/{src/lib/models → models}/chapter/Node.test.js +0 -0
- package/models/chapter/ParagraphNode.d.ts +33 -0
- package/{src/lib/models/chapter/ParagraphNode.ts → models/chapter/ParagraphNode.js} +58 -95
- package/models/chapter/ParagraphNode.test.d.ts +1 -0
- package/models/chapter/ParagraphNode.test.js +30 -0
- package/models/chapter/Parser.d.ts +75 -0
- package/{src/lib/models/chapter/Parser.ts → models/chapter/Parser.js} +184 -369
- package/models/chapter/Parser.test.d.ts +1 -0
- package/{src/lib/models/chapter/Parser.test.ts → models/chapter/Parser.test.js} +0 -7
- package/{src/lib/models/chapter/Position.ts → models/chapter/Position.d.ts} +0 -0
- package/models/chapter/Position.js +1 -0
- package/models/chapter/QuoteNode.d.ts +25 -0
- package/models/chapter/QuoteNode.js +99 -0
- package/{src/lib/models/chapter/RootNode.ts → models/chapter/RootNode.d.ts} +0 -2
- package/models/chapter/RootNode.js +1 -0
- package/models/chapter/RuleNode.d.ts +15 -0
- package/{src/lib/models/chapter/RuleNode.ts → models/chapter/RuleNode.js} +6 -9
- package/models/chapter/TableNode.d.ts +37 -0
- package/{src/lib/models/chapter/TableNode.ts → models/chapter/TableNode.js} +82 -141
- package/models/chapter/TableNode.test.d.ts +1 -0
- package/{src/lib/models/chapter/TableNode.test.ts → models/chapter/TableNode.test.js} +10 -27
- package/models/chapter/TextNode.d.ts +36 -0
- package/{src/lib/models/chapter/TextNode.ts → models/chapter/TextNode.js} +65 -117
- package/models/chapter/TextNode.test.d.ts +1 -0
- package/{src/lib/models/chapter/TextNode.test.ts → models/chapter/TextNode.test.js} +0 -2
- package/package.json +270 -53
- package/util/getSubdomain.d.ts +3 -0
- package/{src/lib/util/getSubdomain.ts → util/getSubdomain.js} +8 -14
- package/util/isMobile.d.ts +2 -0
- package/{src/lib/util/isMobile.ts → util/isMobile.js} +0 -1
- package/util/mineReference.d.ts +4 -0
- package/{src/lib/util/mineReference.ts → util/mineReference.js} +25 -45
- package/util/scrollToEyeLevel.d.ts +2 -0
- package/{src/lib/util/scrollToEyeLevel.ts → util/scrollToEyeLevel.js} +2 -4
- package/.env.example +0 -8
- package/.firebaserc +0 -8
- package/.prettierignore +0 -8
- package/.prettierrc.json +0 -5
- package/_update-notifier-last-checked +0 -0
- package/firebase.json +0 -46
- package/firestore.indexes.json +0 -4
- package/firestore.rules +0 -59
- package/functions/.eslintrc.js +0 -28
- package/functions/package-lock.json +0 -12595
- package/functions/package.json +0 -43
- package/functions/src/index.ts +0 -345
- package/functions/tsconfig.dev.json +0 -3
- package/functions/tsconfig.json +0 -15
- package/scripts/claims.cjs +0 -99
- package/src/app.d.ts +0 -9
- package/src/app.html +0 -24
- package/src/lib/components/Auth.svelte +0 -65
- package/src/lib/components/Link.svelte +0 -58
- package/src/lib/components/chapter/Block.svelte +0 -42
- package/src/lib/components/chapter/ErrorMessage.svelte +0 -12
- package/src/lib/components/chapter/Python.svelte +0 -144
- package/src/lib/components/chapter/Text.svelte +0 -109
- package/src/lib/components/editor/BookishEditor.svelte +0 -1101
- package/src/lib/components/editor/CalloutEditor.svelte +0 -14
- package/src/lib/components/editor/CaretContext.ts +0 -55
- package/src/lib/components/editor/CitationsEditor.svelte +0 -64
- package/src/lib/components/editor/ConfirmButton.svelte +0 -51
- package/src/lib/components/editor/DefinitionEditor.svelte +0 -44
- package/src/lib/components/editor/EmbedEditor.svelte +0 -152
- package/src/lib/components/editor/InlineCodeEditor.svelte +0 -16
- package/src/lib/components/editor/LinkEditor.svelte +0 -110
- package/src/lib/components/editor/PositionEditor.svelte +0 -21
- package/src/lib/components/editor/QuoteEditor.svelte +0 -14
- package/src/lib/components/editor/TableEditor.svelte +0 -14
- package/src/lib/components/editor/Toggle.svelte +0 -47
- package/src/lib/components/editor/Toolbar.svelte +0 -297
- package/src/lib/components/editor/URLEditor.svelte +0 -15
- package/src/lib/components/page/Authors.svelte +0 -92
- package/src/lib/components/page/BookLoader.svelte +0 -77
- package/src/lib/components/page/BulkReferenceEditor.svelte +0 -86
- package/src/lib/components/page/Chapter.svelte +0 -449
- package/src/lib/components/page/ChapterContext.ts +0 -13
- package/src/lib/components/page/Contexts.ts +0 -176
- package/src/lib/components/page/Edition.svelte +0 -189
- package/src/lib/components/page/EditionLoader.svelte +0 -123
- package/src/lib/components/page/Page.svelte +0 -94
- package/src/lib/components/page/PossibleChapter.svelte +0 -16
- package/src/lib/components/page/PossibleReference.svelte +0 -14
- package/src/lib/components/page/Search.svelte +0 -153
- package/src/lib/components/page/TableOfContentsImage.svelte +0 -22
- package/src/lib/components/page/ThemeSetEditor.svelte +0 -21
- package/src/lib/models/CRUD.ts +0 -469
- package/src/lib/models/book/Book.ts +0 -283
- package/src/lib/models/book/BookMedia.ts +0 -182
- package/src/lib/models/book/BookSaveStatus.ts +0 -8
- package/src/lib/models/book/Chapter.ts +0 -462
- package/src/lib/models/book/Definition.ts +0 -2
- package/src/lib/models/book/Edition.ts +0 -1216
- package/src/lib/models/book/Reference.ts +0 -171
- package/src/lib/models/chapter/BlocksNode.test.ts +0 -867
- package/src/lib/models/chapter/CalloutNode.ts +0 -79
- package/src/lib/models/chapter/ChapterNode.ts +0 -169
- package/src/lib/models/chapter/CommentNode.ts +0 -61
- package/src/lib/models/chapter/Edit.ts +0 -6
- package/src/lib/models/chapter/EmbedNode.ts +0 -257
- package/src/lib/models/chapter/FootnoteNode.ts +0 -59
- package/src/lib/models/chapter/FormatNode.test.ts +0 -137
- package/src/lib/models/chapter/MetadataNode.ts +0 -44
- package/src/lib/models/chapter/ParagraphNode.test.ts +0 -54
- package/src/lib/models/chapter/QuoteNode.ts +0 -135
- package/src/params/edition.ts +0 -3
- package/src/routes/+error.svelte +0 -12
- package/src/routes/+layout.svelte +0 -241
- package/src/routes/+page.svelte +0 -43
- package/src/routes/Footer.svelte +0 -0
- package/src/routes/Header.svelte +0 -112
- package/src/routes/[bookid]/+layout.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/+error.svelte +0 -14
- package/src/routes/[bookid]/[[editionid=edition]]/+layout.svelte +0 -7
- package/src/routes/[bookid]/[[editionid=edition]]/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/glossary/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/media/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/print/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/references/+page.svelte +0 -5
- package/src/routes/[bookid]/[[editionid=edition]]/search/+page.svelte +0 -5
- package/src/routes/[bookid]/editions/+page.svelte +0 -20
- package/src/routes/about/+page.svelte +0 -102
- package/src/routes/confirm/+page.svelte +0 -62
- package/src/routes/email/+page.svelte +0 -99
- package/src/routes/login/+page.svelte +0 -66
- package/src/routes/read/+page.svelte +0 -38
- package/src/routes/write/+error.svelte +0 -10
- package/src/routes/write/+layout.svelte +0 -11
- package/src/routes/write/+page.svelte +0 -114
- package/src/routes/write/[bookid]/+layout.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/+layout.svelte +0 -7
- package/src/routes/write/[bookid]/[[editionid=edition]]/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/[chapterid]/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/glossary/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/index/[[letter]]/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/media/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/print/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/references/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/search/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/theme/+page.svelte +0 -5
- package/src/routes/write/[bookid]/[[editionid=edition]]/unknown/+page.svelte +0 -5
- package/src/routes/write/[bookid]/editions/+page.svelte +0 -20
- package/src/vite-env.d.ts +0 -1
- package/static/icons/favicon.png +0 -0
- package/static/icons/icon.png +0 -0
- package/static/icons/ios-icon.png +0 -0
- package/storage.rules +0 -9
- package/svelte.config.js +0 -19
- package/tsconfig.json +0 -18
- package/tsconfig.node.json +0 -9
- package/vite.config.ts +0 -8
- package/vite.reader.config.ts +0 -32
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
<script>import commands from './Commands';
|
|
2
|
+
import TextNode from '../../models/chapter/TextNode';
|
|
3
|
+
import AtomNode from '../../models/chapter/AtomNode';
|
|
4
|
+
import LinkNode from '../../models/chapter/LinkNode';
|
|
5
|
+
import LabelNode from '../../models/chapter/LabelNode';
|
|
6
|
+
import InlineCodeNode from '../../models/chapter/InlineCodeNode';
|
|
7
|
+
import CitationsNode from '../../models/chapter/CitationsNode';
|
|
8
|
+
import DefinitionNode from '../../models/chapter/DefinitionNode';
|
|
9
|
+
import CodeNode from '../../models/chapter/CodeNode';
|
|
10
|
+
import CalloutNode from '../../models/chapter/CalloutNode';
|
|
11
|
+
import EmbedNode from '../../models/chapter/EmbedNode';
|
|
12
|
+
import QuoteNode from '../../models/chapter/QuoteNode';
|
|
13
|
+
import LabelEditor from './LabelEditor.svelte';
|
|
14
|
+
import InlineCodeEditor from './InlineCodeEditor.svelte';
|
|
15
|
+
import CitationsEditor from './CitationsEditor.svelte';
|
|
16
|
+
import LinkEditor from './LinkEditor.svelte';
|
|
17
|
+
import DefinitionEditor from './DefinitionEditor.svelte';
|
|
18
|
+
import CaptionedCodeEditor from './CaptionedCodeEditor.svelte';
|
|
19
|
+
import CalloutEditor from './CalloutEditor.svelte';
|
|
20
|
+
import QuoteEditor from './QuoteEditor.svelte';
|
|
21
|
+
import EmbedEditor from './EmbedEditor.svelte';
|
|
22
|
+
import TableEditor from './TableEditor.svelte';
|
|
23
|
+
import ToolbarGroup from './ToolbarGroup.svelte';
|
|
24
|
+
import Icon from './Icon.svelte';
|
|
25
|
+
import Button from '../app/Button.svelte';
|
|
26
|
+
import AnnotateIcon from './icons/annotate.svg?raw';
|
|
27
|
+
import BlockIcon from './icons/block.svg?raw';
|
|
28
|
+
import ClipboardIcon from './icons/clipboard.svg?raw';
|
|
29
|
+
import LevelIcon from './icons/level.svg?raw';
|
|
30
|
+
import ListIcon from './icons/list.svg?raw';
|
|
31
|
+
import TextIcon from './icons/text.svg?raw';
|
|
32
|
+
import TimeIcon from './icons/time.svg?raw';
|
|
33
|
+
import TableIcon from './icons/table.svg?raw';
|
|
34
|
+
import LinkIcon from './icons/link.svg?raw';
|
|
35
|
+
import LabelIcon from './icons/label.svg?raw';
|
|
36
|
+
import CitationIcon from './icons/citation.svg?raw';
|
|
37
|
+
import DefineIcon from './icons/define.svg?raw';
|
|
38
|
+
import CodeIcon from './icons/code.svg?raw';
|
|
39
|
+
import CalloutIcon from './icons/callout.svg?raw';
|
|
40
|
+
import QuoteIcon from './icons/quote.svg?raw';
|
|
41
|
+
import MediaIcon from './icons/media.svg?raw';
|
|
42
|
+
import TableNode from '../../models/chapter/TableNode';
|
|
43
|
+
import { slide } from 'svelte/transition';
|
|
44
|
+
const keyLabels = {
|
|
45
|
+
Digit0: '0',
|
|
46
|
+
Digit1: '1',
|
|
47
|
+
Digit2: '2',
|
|
48
|
+
Digit3: '3',
|
|
49
|
+
ArrowDown: '↓',
|
|
50
|
+
ArrowUp: '↑',
|
|
51
|
+
ArrowLeft: '←',
|
|
52
|
+
ArrowRight: '→',
|
|
53
|
+
Backspace: '\u232B',
|
|
54
|
+
};
|
|
55
|
+
const categoryOrder = {
|
|
56
|
+
navigation: 1,
|
|
57
|
+
selection: 2,
|
|
58
|
+
text: 3,
|
|
59
|
+
clipboard: 4,
|
|
60
|
+
annotation: 5,
|
|
61
|
+
paragraph: 6,
|
|
62
|
+
level: 7,
|
|
63
|
+
list: 8,
|
|
64
|
+
table: 9,
|
|
65
|
+
block: 10,
|
|
66
|
+
};
|
|
67
|
+
const categoryIcons = {
|
|
68
|
+
text: TextIcon,
|
|
69
|
+
clipboard: ClipboardIcon,
|
|
70
|
+
annotation: AnnotateIcon,
|
|
71
|
+
level: LevelIcon,
|
|
72
|
+
block: BlockIcon,
|
|
73
|
+
list: ListIcon,
|
|
74
|
+
table: TableIcon,
|
|
75
|
+
history: TimeIcon,
|
|
76
|
+
};
|
|
77
|
+
export let caret;
|
|
78
|
+
$: context = caret.context;
|
|
79
|
+
$: chapter = context?.root;
|
|
80
|
+
let element = null;
|
|
81
|
+
let categories = undefined;
|
|
82
|
+
let commandsByCategory = {};
|
|
83
|
+
let metaNode = undefined;
|
|
84
|
+
let calloutNode = undefined;
|
|
85
|
+
let quoteNode = undefined;
|
|
86
|
+
let embedNode = undefined;
|
|
87
|
+
let tableNode = undefined;
|
|
88
|
+
function getShortcutDescription(command) {
|
|
89
|
+
const macOS = navigator.userAgent.indexOf('Mac') >= 0;
|
|
90
|
+
const controlSymbol = macOS ? '\u2318' : 'Ctrl+';
|
|
91
|
+
const altSymbol = macOS ? '\u2325' : 'Alt+';
|
|
92
|
+
const key = command.key
|
|
93
|
+
? Array.isArray(command.key)
|
|
94
|
+
? command.key.join('/')
|
|
95
|
+
: command.key
|
|
96
|
+
: command.code
|
|
97
|
+
? command.code
|
|
98
|
+
: 'any';
|
|
99
|
+
const keyLabel = (typeof key === 'string'
|
|
100
|
+
? key in keyLabels
|
|
101
|
+
? keyLabels[key]
|
|
102
|
+
: key
|
|
103
|
+
: '—').toLocaleUpperCase();
|
|
104
|
+
return `${command.control ? controlSymbol : ''}${command.alt ? altSymbol : ''}${command.shift ? '\u21E7' : ''}${keyLabel}`;
|
|
105
|
+
}
|
|
106
|
+
// Update the above when the dependencies below change.
|
|
107
|
+
$: {
|
|
108
|
+
if (context !== undefined && chapter) {
|
|
109
|
+
// Filter the commands by those interactive with a mouse and active.
|
|
110
|
+
const visible = commands.filter((command) => command.visible === true ||
|
|
111
|
+
(context &&
|
|
112
|
+
command.visible instanceof Function &&
|
|
113
|
+
command.visible(context)));
|
|
114
|
+
// Extract the active categories and sort them
|
|
115
|
+
categories = Array.from(new Set(commands.map((command) => command.category))).sort((a, b) => a in categoryOrder && b in categoryOrder
|
|
116
|
+
? categoryOrder[a] - categoryOrder[b]
|
|
117
|
+
: 0);
|
|
118
|
+
// Make a list for each category of commands
|
|
119
|
+
commandsByCategory = {};
|
|
120
|
+
categories.forEach((cat) => {
|
|
121
|
+
if (commandsByCategory)
|
|
122
|
+
commandsByCategory[cat] = visible.filter((command) => command.category === cat);
|
|
123
|
+
});
|
|
124
|
+
const caretNode = context.start.node;
|
|
125
|
+
metaNode =
|
|
126
|
+
caretNode instanceof AtomNode
|
|
127
|
+
? caretNode
|
|
128
|
+
: caretNode instanceof TextNode
|
|
129
|
+
? caretNode.getParent(chapter)
|
|
130
|
+
: undefined;
|
|
131
|
+
calloutNode = caretNode.getClosestParentMatching(chapter, (p) => p instanceof CalloutNode);
|
|
132
|
+
quoteNode = caretNode.getClosestParentMatching(chapter, (p) => p instanceof QuoteNode);
|
|
133
|
+
embedNode =
|
|
134
|
+
caretNode instanceof EmbedNode
|
|
135
|
+
? caretNode
|
|
136
|
+
: caretNode.getClosestParentMatching(chapter, (p) => p instanceof EmbedNode);
|
|
137
|
+
tableNode = caretNode.getClosestParentMatching(chapter, (p) => p instanceof TableNode);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function handleKeyPress(event) {
|
|
141
|
+
// Return focus to the editor if someone presses an unhandled enter
|
|
142
|
+
if ((event.key === 'Escape' || event.key === 'Enter') && element) {
|
|
143
|
+
const editor = element.closest('.bookish-editor');
|
|
144
|
+
if (editor instanceof HTMLElement) {
|
|
145
|
+
event.stopPropagation();
|
|
146
|
+
editor.focus();
|
|
147
|
+
}
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
</script>
|
|
152
|
+
|
|
153
|
+
{#if chapter}
|
|
154
|
+
<section
|
|
155
|
+
class="bookish-editor-toolbar"
|
|
156
|
+
bind:this={element}
|
|
157
|
+
on:keypress={handleKeyPress}
|
|
158
|
+
on:keydown={handleKeyPress}
|
|
159
|
+
on:mousedown|stopPropagation={() => element?.focus()}
|
|
160
|
+
tabIndex="0"
|
|
161
|
+
transition:slide={{ duration: 200 }}
|
|
162
|
+
>
|
|
163
|
+
{#if context && categories}
|
|
164
|
+
{#each categories as cat}
|
|
165
|
+
{#if commandsByCategory[cat].length > 0}
|
|
166
|
+
<ToolbarGroup
|
|
167
|
+
icon={cat in categoryIcons
|
|
168
|
+
? categoryIcons[cat]
|
|
169
|
+
: cat.charAt(0).toUpperCase() + cat.slice(1)}
|
|
170
|
+
>
|
|
171
|
+
{#each commandsByCategory[cat] as command}
|
|
172
|
+
<Button
|
|
173
|
+
disabled={command.active === false ||
|
|
174
|
+
(command.active instanceof Function &&
|
|
175
|
+
command.active.call(
|
|
176
|
+
undefined,
|
|
177
|
+
context
|
|
178
|
+
) === false)}
|
|
179
|
+
tooltip={command.description +
|
|
180
|
+
' ' +
|
|
181
|
+
getShortcutDescription(command)}
|
|
182
|
+
tabIndex="0"
|
|
183
|
+
command={() =>
|
|
184
|
+
caret?.executor.call(
|
|
185
|
+
undefined,
|
|
186
|
+
command,
|
|
187
|
+
''
|
|
188
|
+
)}
|
|
189
|
+
>
|
|
190
|
+
<Icon icon={command.icon} />
|
|
191
|
+
</Button>
|
|
192
|
+
{/each}
|
|
193
|
+
{#if cat === 'table' && tableNode}
|
|
194
|
+
<TableEditor table={tableNode} />
|
|
195
|
+
{/if}
|
|
196
|
+
</ToolbarGroup>
|
|
197
|
+
{/if}
|
|
198
|
+
{/each}
|
|
199
|
+
{/if}
|
|
200
|
+
{#if metaNode instanceof LinkNode}<ToolbarGroup icon={LinkIcon}
|
|
201
|
+
><LinkEditor link={metaNode} /></ToolbarGroup
|
|
202
|
+
>
|
|
203
|
+
{:else if metaNode instanceof LabelNode}<ToolbarGroup icon={LabelIcon}
|
|
204
|
+
><LabelEditor label={metaNode} /></ToolbarGroup
|
|
205
|
+
>
|
|
206
|
+
{:else if metaNode instanceof InlineCodeNode}<ToolbarGroup
|
|
207
|
+
icon={CodeIcon}
|
|
208
|
+
><InlineCodeEditor code={metaNode} /></ToolbarGroup
|
|
209
|
+
>
|
|
210
|
+
{:else if metaNode instanceof CitationsNode}<ToolbarGroup
|
|
211
|
+
icon={CitationIcon}
|
|
212
|
+
><CitationsEditor citations={metaNode} /></ToolbarGroup
|
|
213
|
+
>
|
|
214
|
+
{:else if metaNode instanceof DefinitionNode}<ToolbarGroup
|
|
215
|
+
icon={DefineIcon}
|
|
216
|
+
><DefinitionEditor definition={metaNode} /></ToolbarGroup
|
|
217
|
+
>
|
|
218
|
+
{:else if metaNode instanceof CodeNode && context}<ToolbarGroup
|
|
219
|
+
icon={CodeIcon}
|
|
220
|
+
><CaptionedCodeEditor code={metaNode} /></ToolbarGroup
|
|
221
|
+
>
|
|
222
|
+
{:else if calloutNode}<ToolbarGroup icon={CalloutIcon}
|
|
223
|
+
><CalloutEditor callout={calloutNode} /></ToolbarGroup
|
|
224
|
+
>
|
|
225
|
+
{:else if quoteNode}<ToolbarGroup icon={QuoteIcon}
|
|
226
|
+
><QuoteEditor quote={quoteNode} /></ToolbarGroup
|
|
227
|
+
>
|
|
228
|
+
{:else if embedNode}<ToolbarGroup icon={MediaIcon}
|
|
229
|
+
><EmbedEditor embed={embedNode} /></ToolbarGroup
|
|
230
|
+
>
|
|
231
|
+
{/if}
|
|
232
|
+
</section>
|
|
233
|
+
{/if}
|
|
234
|
+
|
|
235
|
+
<style>
|
|
236
|
+
.bookish-editor-toolbar {
|
|
237
|
+
display: flex;
|
|
238
|
+
flex-direction: row;
|
|
239
|
+
flex-wrap: wrap;
|
|
240
|
+
align-items: baseline;
|
|
241
|
+
background: var(--bookish-background-color);
|
|
242
|
+
font-family: var(--app-font);
|
|
243
|
+
font-size: var(--app-chrome-font-size);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.bookish-editor-toolbar:focus {
|
|
247
|
+
outline: 2px solid var(--app-interactive-color);
|
|
248
|
+
}
|
|
249
|
+
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type CaretState from './CaretState';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
caret: CaretState;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type ToolbarProps = typeof __propDef.props;
|
|
13
|
+
export type ToolbarEvents = typeof __propDef.events;
|
|
14
|
+
export type ToolbarSlots = typeof __propDef.slots;
|
|
15
|
+
export default class Toolbar extends SvelteComponentTyped<ToolbarProps, ToolbarEvents, ToolbarSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export let icon: string;
|
|
1
|
+
<script>import ToolbarIcon from './Icon.svelte';
|
|
2
|
+
import ToolbarSpacer from './ToolbarSpacer.svelte';
|
|
3
|
+
export let icon;
|
|
6
4
|
</script>
|
|
7
5
|
|
|
8
6
|
<div class="toolbar-group">
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
icon: string;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {
|
|
10
|
+
default: {};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type ToolbarGroupProps = typeof __propDef.props;
|
|
14
|
+
export type ToolbarGroupEvents = typeof __propDef.events;
|
|
15
|
+
export type ToolbarGroupSlots = typeof __propDef.slots;
|
|
16
|
+
export default class ToolbarGroup extends SvelteComponentTyped<ToolbarGroupProps, ToolbarGroupEvents, ToolbarGroupSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} ToolbarSpacerProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} ToolbarSpacerEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} ToolbarSpacerSlots */
|
|
4
|
+
export default class ToolbarSpacer extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {}> {
|
|
9
|
+
}
|
|
10
|
+
export type ToolbarSpacerProps = typeof __propDef.props;
|
|
11
|
+
export type ToolbarSpacerEvents = typeof __propDef.events;
|
|
12
|
+
export type ToolbarSpacerSlots = typeof __propDef.slots;
|
|
13
|
+
import { SvelteComponentTyped } from "svelte";
|
|
14
|
+
declare const __propDef: {
|
|
15
|
+
props: {
|
|
16
|
+
[x: string]: never;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<script>import TextEditor from './TextEditor.svelte';
|
|
2
|
+
export let url;
|
|
3
|
+
export let validator;
|
|
4
|
+
export let edit;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<TextEditor
|
|
8
|
+
placeholder="url"
|
|
9
|
+
text={url}
|
|
10
|
+
label="URL editor"
|
|
11
|
+
valid={(url) => validator(url)}
|
|
12
|
+
save={(url) => edit(url)}
|
|
13
|
+
/>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
url: string;
|
|
5
|
+
validator: (text: string) => undefined | string;
|
|
6
|
+
edit: (newURL: string) => string | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type UrlEditorProps = typeof __propDef.props;
|
|
14
|
+
export type UrlEditorEvents = typeof __propDef.events;
|
|
15
|
+
export type UrlEditorSlots = typeof __propDef.slots;
|
|
16
|
+
export default class UrlEditor extends SvelteComponentTyped<UrlEditorProps, UrlEditorEvents, UrlEditorSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { IndexRange } from '
|
|
2
|
-
import type Command from '
|
|
3
|
-
|
|
1
|
+
import type { IndexRange } from '../../models/chapter/Caret';
|
|
2
|
+
import type Command from './Command';
|
|
4
3
|
type UndoState = {
|
|
5
4
|
command: Command | undefined;
|
|
6
5
|
bookdown: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
lease,
|
|
12
|
-
} from './Contexts';
|
|
13
|
-
import PageHeader from './PageHeader.svelte';
|
|
14
|
-
|
|
15
|
-
let auth = getUser();
|
|
16
|
-
let edition = getEdition();
|
|
17
|
-
let editable = isEditionEditable();
|
|
18
|
-
|
|
19
|
-
$: acknowledgements = $edition?.getAcknowledgements();
|
|
1
|
+
<script>import Parser from '../../models/chapter/Parser';
|
|
2
|
+
import ChapterBody from '../chapter/ChapterBody.svelte';
|
|
3
|
+
import BookishEditor from '../editor/BookishEditor.svelte';
|
|
4
|
+
import Instructions from './Instructions.svelte';
|
|
5
|
+
import { getUser, getEdition, getLeasee, isEditionEditable, lease, } from './Contexts';
|
|
6
|
+
import PageHeader from './PageHeader.svelte';
|
|
7
|
+
let auth = getUser();
|
|
8
|
+
let edition = getEdition();
|
|
9
|
+
let editable = isEditionEditable();
|
|
10
|
+
$: acknowledgements = $edition?.getAcknowledgements();
|
|
20
11
|
</script>
|
|
21
12
|
|
|
22
13
|
<Instructions {editable}>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
};
|
|
7
|
+
slots: {};
|
|
8
|
+
};
|
|
9
|
+
export type AcknowledgementsProps = typeof __propDef.props;
|
|
10
|
+
export type AcknowledgementsEvents = typeof __propDef.events;
|
|
11
|
+
export type AcknowledgementsSlots = typeof __propDef.slots;
|
|
12
|
+
export default class Acknowledgements extends SvelteComponentTyped<AcknowledgementsProps, AcknowledgementsEvents, AcknowledgementsSlots> {
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<script>import Parser from '../../models/chapter/Parser';
|
|
2
|
+
import TextEditor from '../editor/TextEditor.svelte';
|
|
3
|
+
import Format from '../chapter/Format.svelte';
|
|
4
|
+
import { afterUpdate } from 'svelte';
|
|
5
|
+
import { getEdition, isBookEditable, isEditionEditable } from './Contexts';
|
|
6
|
+
import Note from '../editor/Note.svelte';
|
|
7
|
+
import Button from '../app/Button.svelte';
|
|
8
|
+
export let editable;
|
|
9
|
+
export let authors;
|
|
10
|
+
export let inheritedAuthors = undefined;
|
|
11
|
+
export let add;
|
|
12
|
+
export let edit;
|
|
13
|
+
export let remove;
|
|
14
|
+
let edition = getEdition();
|
|
15
|
+
let authorList = null;
|
|
16
|
+
let newAuthor = false;
|
|
17
|
+
$: authorsToShow =
|
|
18
|
+
authors.length > 0
|
|
19
|
+
? authors
|
|
20
|
+
: inheritedAuthors !== undefined && inheritedAuthors.length > 0
|
|
21
|
+
? inheritedAuthors
|
|
22
|
+
: undefined;
|
|
23
|
+
function addAuthor() {
|
|
24
|
+
add();
|
|
25
|
+
newAuthor = true;
|
|
26
|
+
}
|
|
27
|
+
// When there's a new author, focus on it.
|
|
28
|
+
afterUpdate(() => {
|
|
29
|
+
if (authors.length > 0 && authorList && newAuthor) {
|
|
30
|
+
const editors = authorList.querySelectorAll('input');
|
|
31
|
+
if (editors.length > 0) {
|
|
32
|
+
const lastAuthor = editors[editors.length - 1];
|
|
33
|
+
if (lastAuthor instanceof HTMLElement) {
|
|
34
|
+
lastAuthor.focus();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
newAuthor = false;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<p class="bookish-authors" bind:this={authorList}>
|
|
43
|
+
<!-- Editing and inherited authors? Say they're -->
|
|
44
|
+
{#if authorsToShow === undefined}
|
|
45
|
+
No authors
|
|
46
|
+
{:else}
|
|
47
|
+
<em>by </em>
|
|
48
|
+
{#each authorsToShow as author, index}
|
|
49
|
+
{#if editable}
|
|
50
|
+
<TextEditor
|
|
51
|
+
text={author}
|
|
52
|
+
label={'Author name editor'}
|
|
53
|
+
placeholder="author"
|
|
54
|
+
valid={() => undefined}
|
|
55
|
+
save={(text) =>
|
|
56
|
+
/* If text is already empty, remove */ author.length >
|
|
57
|
+
0 && text === ''
|
|
58
|
+
? remove(index)
|
|
59
|
+
: edit(index, text)}
|
|
60
|
+
/>
|
|
61
|
+
{:else}
|
|
62
|
+
<span
|
|
63
|
+
><Format
|
|
64
|
+
node={Parser.parseFormat($edition, author)}
|
|
65
|
+
/></span
|
|
66
|
+
>
|
|
67
|
+
{/if}
|
|
68
|
+
{#if index < authors.length - 1}, {/if}
|
|
69
|
+
{/each}
|
|
70
|
+
{/if}
|
|
71
|
+
{#if editable}
|
|
72
|
+
<Note>(edition authors) </Note>
|
|
73
|
+
{/if}
|
|
74
|
+
{#if editable}
|
|
75
|
+
<Button tooltip="add author" command={addAuthor}>+ author</Button>
|
|
76
|
+
{/if}
|
|
77
|
+
</p>
|
|
78
|
+
|
|
79
|
+
<style>
|
|
80
|
+
.bookish-authors {
|
|
81
|
+
font-family: var(--bookish-header-font-family);
|
|
82
|
+
font-style: italic;
|
|
83
|
+
margin: 0;
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
editable: boolean;
|
|
5
|
+
authors: string[];
|
|
6
|
+
inheritedAuthors?: string[] | undefined;
|
|
7
|
+
add: () => Promise<void> | void;
|
|
8
|
+
edit: (index: number, text: string) => Promise<void> | void;
|
|
9
|
+
remove: (index: number) => Promise<void> | void;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export type AuthorsProps = typeof __propDef.props;
|
|
17
|
+
export type AuthorsEvents = typeof __propDef.events;
|
|
18
|
+
export type AuthorsSlots = typeof __propDef.slots;
|
|
19
|
+
export default class Authors extends SvelteComponentTyped<AuthorsProps, AuthorsEvents, AuthorsSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|