bookish-press 0.4.231 → 0.5.0
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 → package/components}/Auth.svelte +11 -13
- package/{components → package/components}/Auth.svelte.d.ts +0 -0
- package/{components → package/components}/Authentication.d.ts +0 -0
- package/{components → package/components}/Authentication.js +0 -0
- package/{components → package/components}/BookPreview.svelte +13 -17
- package/{components → package/components}/BookPreview.svelte.d.ts +0 -0
- package/{components → package/components}/Link.svelte +2 -1
- package/{components → package/components}/Link.svelte.d.ts +1 -0
- package/{components → package/components}/app/BookList.svelte +0 -0
- package/{components → package/components}/app/BookList.svelte.d.ts +0 -0
- package/{components → package/components}/app/Button.svelte +5 -2
- package/{components → package/components}/app/Button.svelte.d.ts +0 -0
- package/{components → package/components}/app/Feedback.svelte +4 -9
- package/{components → package/components}/app/Feedback.svelte.d.ts +0 -0
- package/{components → package/components}/app/Head.svelte +4 -1
- package/{components → package/components}/app/Head.svelte.d.ts +6 -15
- package/{components → package/components}/app/Large.svelte +0 -0
- package/{components → package/components}/app/Large.svelte.d.ts +0 -0
- package/{components → package/components}/app/Lead.svelte +0 -0
- package/{components → package/components}/app/Lead.svelte.d.ts +0 -0
- package/package/components/app/Link.svelte +36 -0
- package/{components → package/components}/app/Link.svelte.d.ts +1 -0
- package/{components → package/components}/app/Options.svelte +0 -0
- package/{components → package/components}/app/Options.svelte.d.ts +0 -0
- package/{components → package/components}/app/Paragraph.svelte +1 -0
- package/{components → package/components}/app/Paragraph.svelte.d.ts +0 -0
- package/{components/app/Writing.svelte → package/components/app/Section.svelte} +0 -1
- package/package/components/app/Section.svelte.d.ts +27 -0
- package/{components → package/components}/app/Table.svelte +0 -0
- package/{components → package/components}/app/Table.svelte.d.ts +0 -0
- package/{components → package/components}/app/TextInput.svelte +2 -0
- package/{components → package/components}/app/TextInput.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Atom.svelte +1 -8
- package/{components → package/components}/chapter/Atom.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Block.svelte +3 -1
- package/{components → package/components}/chapter/Block.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Callout.svelte +0 -0
- package/{components → package/components}/chapter/Callout.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/CaptionedCode.svelte +2 -2
- package/{components → package/components}/chapter/CaptionedCode.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/ChapterBody.svelte +9 -16
- package/{components → package/components}/chapter/ChapterBody.svelte.d.ts +1 -0
- package/{components → package/components}/chapter/Citations.svelte +13 -11
- package/{components → package/components}/chapter/Citations.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Code.svelte +3 -2
- package/{components → package/components}/chapter/Code.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Comment.svelte +7 -13
- package/{components → package/components}/chapter/Comment.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Definition.svelte +8 -3
- package/{components → package/components}/chapter/Definition.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Embed.svelte +6 -5
- package/{components → package/components}/chapter/Embed.svelte.d.ts +1 -0
- package/{components → package/components}/chapter/ErrorMessage.svelte +0 -0
- package/{components → package/components}/chapter/ErrorMessage.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/ExtendedPrism.d.ts +0 -0
- package/{components → package/components}/chapter/ExtendedPrism.js +0 -0
- package/{components → package/components}/chapter/Figure.svelte +8 -8
- package/{components → package/components}/chapter/Figure.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Footnote.svelte +13 -24
- package/{components → package/components}/chapter/Footnote.svelte.d.ts +0 -2
- package/{components → package/components}/chapter/Format.svelte +5 -4
- package/{components → package/components}/chapter/Format.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/InlineCode.svelte +2 -2
- package/{components → package/components}/chapter/InlineCode.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Label.svelte +5 -7
- package/{components → package/components}/chapter/Label.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Link.svelte +8 -6
- package/{components → package/components}/chapter/Link.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/List.svelte +5 -0
- package/{components → package/components}/chapter/List.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Marginal.svelte +30 -12
- package/{components → package/components}/chapter/Marginal.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Paragraph.svelte +23 -10
- package/{components → package/components}/chapter/Paragraph.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Positioned.svelte +0 -0
- package/{components → package/components}/chapter/Positioned.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Problem.svelte +0 -0
- package/{components → package/components}/chapter/Problem.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Python.svelte +0 -0
- package/{components → package/components}/chapter/Python.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Quote.svelte +20 -10
- package/{components → package/components}/chapter/Quote.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Rule.svelte +0 -0
- package/{components → package/components}/chapter/Rule.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Table.svelte +2 -2
- package/{components → package/components}/chapter/Table.svelte.d.ts +0 -0
- package/{components → package/components}/chapter/Text.svelte +2 -2
- package/{components → package/components}/chapter/Text.svelte.d.ts +0 -0
- package/package/components/controls/DarkToggle.svelte +38 -0
- package/package/components/controls/DarkToggle.svelte.d.ts +17 -0
- package/{components → package/components}/editor/BookishEditor.svelte +57 -32
- package/{components → package/components}/editor/BookishEditor.svelte.d.ts +4 -1
- package/{components → package/components}/editor/CalloutEditor.svelte +0 -0
- package/{components → package/components}/editor/CalloutEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/CaptionedCodeEditor.svelte +0 -0
- package/{components → package/components}/editor/CaptionedCodeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/CaretContext.d.ts +0 -0
- package/{components → package/components}/editor/CaretContext.js +0 -0
- package/{components → package/components}/editor/CaretState.d.ts +0 -0
- package/{components → package/components}/editor/CaretState.js +0 -0
- package/{components → package/components}/editor/CaretUtilities.d.ts +0 -0
- package/{components → package/components}/editor/CaretUtilities.js +0 -0
- package/{components → package/components}/editor/CaretView.svelte +4 -2
- package/{components → package/components}/editor/CaretView.svelte.d.ts +1 -0
- package/{components → package/components}/editor/CitationsEditor.svelte +0 -0
- package/{components → package/components}/editor/CitationsEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Clipboard.d.ts +0 -0
- package/{components → package/components}/editor/Clipboard.js +0 -0
- package/{components → package/components}/editor/Command.d.ts +0 -0
- package/{components → package/components}/editor/Command.js +0 -0
- package/{components → package/components}/editor/Commands.d.ts +0 -0
- package/{components → package/components}/editor/Commands.js +0 -0
- package/package/components/editor/ConfirmButton.svelte +23 -0
- package/{components → package/components}/editor/ConfirmButton.svelte.d.ts +4 -3
- package/{components → package/components}/editor/DefinitionEditor.svelte +0 -0
- package/{components → package/components}/editor/DefinitionEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/EmbedEditor.svelte +1 -1
- package/{components → package/components}/editor/EmbedEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Icon.svelte +0 -0
- package/{components → package/components}/editor/Icon.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ImageChooser.svelte +0 -0
- package/{components → package/components}/editor/ImageChooser.svelte.d.ts +0 -0
- package/{components → package/components}/editor/InlineCodeEditor.svelte +0 -0
- package/{components → package/components}/editor/InlineCodeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LabelEditor.svelte +0 -0
- package/{components → package/components}/editor/LabelEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LanguageEditor.svelte +0 -0
- package/{components → package/components}/editor/LanguageEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/LinkEditor.svelte +4 -3
- package/{components → package/components}/editor/LinkEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Note.svelte +1 -0
- package/{components → package/components}/editor/Note.svelte.d.ts +0 -0
- package/package/components/editor/Permissions.svelte +93 -0
- package/package/components/editor/Permissions.svelte.d.ts +20 -0
- package/{components → package/components}/editor/PositionEditor.svelte +0 -0
- package/{components → package/components}/editor/PositionEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/QuoteEditor.svelte +0 -0
- package/{components → package/components}/editor/QuoteEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Switch.svelte +0 -0
- package/{components → package/components}/editor/Switch.svelte.d.ts +0 -0
- package/{components → package/components}/editor/TableEditor.svelte +0 -0
- package/{components → package/components}/editor/TableEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/TextEditor.svelte +2 -3
- package/{components → package/components}/editor/TextEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Toggle.svelte +0 -0
- package/{components → package/components}/editor/Toggle.svelte.d.ts +0 -0
- package/{components → package/components}/editor/Toolbar.svelte +8 -3
- package/{components → package/components}/editor/Toolbar.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ToolbarGroup.svelte +0 -1
- package/{components → package/components}/editor/ToolbarGroup.svelte.d.ts +0 -0
- package/{components → package/components}/editor/ToolbarSpacer.svelte +0 -0
- package/{components → package/components}/editor/ToolbarSpacer.svelte.d.ts +0 -0
- package/{components → package/components}/editor/URLEditor.svelte +2 -0
- package/{components → package/components}/editor/URLEditor.svelte.d.ts +0 -0
- package/{components → package/components}/editor/UndoState.d.ts +0 -0
- package/{components → package/components}/editor/UndoState.js +0 -0
- package/{components → package/components}/editor/icons/annotate.svg +0 -0
- package/{components → package/components}/editor/icons/block.svg +0 -0
- package/{components → package/components}/editor/icons/bold.svg +0 -0
- package/{components → package/components}/editor/icons/bullets.svg +0 -0
- package/{components → package/components}/editor/icons/callout.svg +0 -0
- package/{components → package/components}/editor/icons/citation.svg +0 -0
- package/{components → package/components}/editor/icons/clear.svg +0 -0
- package/{components → package/components}/editor/icons/clipboard.svg +0 -0
- package/{components → package/components}/editor/icons/code.svg +0 -0
- package/{components → package/components}/editor/icons/columnafter.svg +0 -0
- package/{components → package/components}/editor/icons/columnbefore.svg +0 -0
- package/{components → package/components}/editor/icons/comment.svg +0 -0
- package/{components → package/components}/editor/icons/copy.svg +0 -0
- package/{components → package/components}/editor/icons/cut.svg +0 -0
- package/{components → package/components}/editor/icons/define.svg +0 -0
- package/{components → package/components}/editor/icons/deletecolumn.svg +0 -0
- package/{components → package/components}/editor/icons/deleterow.svg +0 -0
- package/{components → package/components}/editor/icons/footnote.svg +0 -0
- package/{components → package/components}/editor/icons/header1.svg +0 -0
- package/{components → package/components}/editor/icons/header2.svg +0 -0
- package/{components → package/components}/editor/icons/header3.svg +0 -0
- package/{components → package/components}/editor/icons/home.svg +0 -0
- package/{components → package/components}/editor/icons/indent.svg +0 -0
- package/{components → package/components}/editor/icons/italic.svg +0 -0
- package/{components → package/components}/editor/icons/label.svg +0 -0
- package/{components → package/components}/editor/icons/left.svg +0 -0
- package/{components → package/components}/editor/icons/level.svg +0 -0
- package/{components → package/components}/editor/icons/link.svg +0 -0
- package/{components → package/components}/editor/icons/list.svg +0 -0
- package/{components → package/components}/editor/icons/media.svg +0 -0
- package/{components → package/components}/editor/icons/middle.svg +0 -0
- package/{components → package/components}/editor/icons/numbers.svg +0 -0
- package/{components → package/components}/editor/icons/paragraph.svg +0 -0
- package/{components → package/components}/editor/icons/paste.svg +0 -0
- package/{components → package/components}/editor/icons/quote.svg +0 -0
- package/{components → package/components}/editor/icons/redo.svg +0 -0
- package/{components → package/components}/editor/icons/right.svg +0 -0
- package/{components → package/components}/editor/icons/rowabove.svg +0 -0
- package/{components → package/components}/editor/icons/rowbelow.svg +0 -0
- package/{components → package/components}/editor/icons/rule.svg +0 -0
- package/{components → package/components}/editor/icons/sub.svg +0 -0
- package/{components → package/components}/editor/icons/super.svg +0 -0
- package/{components → package/components}/editor/icons/table.svg +0 -0
- package/{components → package/components}/editor/icons/text.svg +0 -0
- package/{components → package/components}/editor/icons/time.svg +0 -0
- package/{components → package/components}/editor/icons/undo.svg +0 -0
- package/{components → package/components}/editor/icons/unindent.svg +0 -0
- package/{components → package/components}/editor/icons/unlink.svg +0 -0
- package/{components → package/components}/page/Acknowledgements.svelte +13 -11
- package/{components → package/components}/page/Acknowledgements.svelte.d.ts +0 -0
- package/package/components/page/Authors.svelte +86 -0
- package/{components → package/components}/page/Authors.svelte.d.ts +1 -0
- package/package/components/page/BookLoader.svelte +59 -0
- package/package/components/page/BookLoader.svelte.d.ts +16 -0
- package/{components → package/components}/page/BulkReferenceEditor.svelte +8 -8
- package/{components → package/components}/page/BulkReferenceEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/Chapter.svelte +69 -30
- package/{components → package/components}/page/Chapter.svelte.d.ts +0 -0
- package/{components → package/components}/page/ChapterContext.d.ts +0 -0
- package/{components → package/components}/page/ChapterContext.js +0 -0
- package/{components → package/components}/page/ChapterNumber.svelte +0 -0
- package/{components → package/components}/page/ChapterNumber.svelte.d.ts +0 -0
- package/{components → package/components}/page/ChapterTitle.svelte +0 -0
- package/{components → package/components}/page/ChapterTitle.svelte.d.ts +0 -0
- package/{components → package/components}/page/Contexts.d.ts +21 -5
- package/package/components/page/Contexts.js +144 -0
- package/{components → package/components}/page/DefinitionView.svelte +23 -14
- package/{components → package/components}/page/DefinitionView.svelte.d.ts +0 -0
- package/{components → package/components}/page/Description.svelte +12 -9
- package/{components → package/components}/page/Description.svelte.d.ts +0 -0
- package/{components → package/components}/page/Edition.svelte +13 -23
- package/{components → package/components}/page/Edition.svelte.d.ts +1 -2
- package/package/components/page/EditionLoader.svelte +99 -0
- package/package/components/page/EditionLoader.svelte.d.ts +18 -0
- package/package/components/page/Editions.svelte +109 -0
- package/{components → package/components}/page/Editions.svelte.d.ts +3 -1
- package/{components → package/components}/page/Glossary.svelte +13 -6
- package/{components → package/components}/page/Glossary.svelte.d.ts +0 -0
- package/{components → package/components}/page/Header.svelte +26 -21
- package/{components → package/components}/page/Header.svelte.d.ts +2 -0
- package/{components → package/components}/page/Index.svelte +14 -8
- package/{components → package/components}/page/Index.svelte.d.ts +0 -0
- package/{components → package/components}/page/Instructions.svelte +1 -2
- package/{components → package/components}/page/Instructions.svelte.d.ts +3 -1
- package/package/components/page/License.svelte +45 -0
- package/{components → package/components}/page/License.svelte.d.ts +0 -0
- package/{components → package/components}/page/Loading.svelte +0 -0
- package/{components → package/components}/page/Loading.svelte.d.ts +0 -0
- package/{components → package/components}/page/Media.svelte +40 -36
- package/{components → package/components}/page/Media.svelte.d.ts +0 -0
- package/package/components/page/MediaPreview.svelte +55 -0
- package/{components → package/components}/page/MediaPreview.svelte.d.ts +0 -0
- package/{components → package/components}/page/Muted.svelte +0 -0
- package/{components → package/components}/page/Muted.svelte.d.ts +0 -0
- package/{components → package/components}/page/Outline.svelte +69 -96
- package/{components → package/components}/page/Outline.svelte.d.ts +0 -0
- package/{components → package/components}/page/Page.svelte +4 -4
- package/{components → package/components}/page/Page.svelte.d.ts +0 -0
- package/{components → package/components}/page/PageHeader.svelte +5 -0
- package/{components → package/components}/page/PageHeader.svelte.d.ts +0 -0
- package/{components → package/components}/page/PageParagraph.svelte +0 -0
- package/{components → package/components}/page/PageParagraph.svelte.d.ts +0 -0
- package/{components → package/components}/page/PossibleChapter.svelte +0 -0
- package/{components → package/components}/page/PossibleChapter.svelte.d.ts +0 -0
- package/{components → package/components}/page/PossibleReference.svelte +2 -1
- package/{components → package/components}/page/PossibleReference.svelte.d.ts +1 -0
- package/{components → package/components}/page/Print.svelte +0 -0
- package/{components → package/components}/page/Print.svelte.d.ts +0 -0
- package/package/components/page/Publish.svelte +135 -0
- package/package/components/page/Publish.svelte.d.ts +14 -0
- package/{components → package/components}/page/Reference.svelte +54 -51
- package/{components → package/components}/page/Reference.svelte.d.ts +1 -0
- package/{components → package/components}/page/References.svelte +9 -4
- package/{components → package/components}/page/References.svelte.d.ts +0 -0
- package/{components → package/components}/page/Rows.svelte +0 -0
- package/{components → package/components}/page/Rows.svelte.d.ts +0 -0
- package/{components → package/components}/page/Search.svelte +27 -10
- package/{components → package/components}/page/Search.svelte.d.ts +0 -0
- package/package/components/page/Status.svelte +58 -0
- package/{components → package/components}/page/Status.svelte.d.ts +0 -0
- package/{components → package/components}/page/SubdomainEditor.svelte +5 -3
- package/{components → package/components}/page/SubdomainEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/TableOfContents.svelte +83 -37
- package/{components → package/components}/page/TableOfContents.svelte.d.ts +0 -0
- package/package/components/page/TableOfContentsImage.svelte +27 -0
- package/{components → package/components}/page/TableOfContentsImage.svelte.d.ts +1 -0
- package/{components → package/components}/page/TableOfContentsRow.svelte +11 -12
- package/{components → package/components}/page/TableOfContentsRow.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeEditor.svelte +12 -10
- package/{components → package/components}/page/ThemeEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeEditorPreview.svelte +0 -0
- package/{components → package/components}/page/ThemeEditorPreview.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeSetEditor.svelte +0 -0
- package/{components → package/components}/page/ThemeSetEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/ThemeVariableEditor.svelte +0 -0
- package/{components → package/components}/page/ThemeVariableEditor.svelte.d.ts +0 -0
- package/{components → package/components}/page/Title.svelte +0 -0
- package/{components → package/components}/page/Title.svelte.d.ts +0 -0
- package/{components → package/components}/page/Unknown.svelte +5 -2
- package/{components → package/components}/page/Unknown.svelte.d.ts +0 -0
- package/{components → package/components}/page/margins.d.ts +0 -0
- package/{components → package/components}/page/margins.js +0 -0
- package/{index.d.ts → package/index.d.ts} +3 -1
- package/{index.js → package/index.js} +3 -1
- package/package/models/CRUD.d.ts +28 -0
- package/package/models/CRUD.js +263 -0
- package/{models → package/models}/Firebase.d.ts +0 -0
- package/package/models/Firebase.js +36 -0
- package/{models → package/models}/book/Book.d.ts +23 -18
- package/package/models/book/Book.js +135 -0
- package/{models → package/models}/book/BookMedia.d.ts +1 -1
- package/{models → package/models}/book/BookMedia.js +9 -10
- package/{models → package/models}/book/BookSaveStatus.d.ts +0 -0
- package/{models → package/models}/book/BookSaveStatus.js +0 -0
- package/{models → package/models}/book/Chapter.d.ts +5 -1
- package/{models → package/models}/book/Chapter.js +24 -15
- package/{models → package/models}/book/ChapterID.d.ts +0 -0
- package/{models → package/models}/book/ChapterID.js +0 -0
- package/{models → package/models}/book/Definition.d.ts +0 -0
- package/{models → package/models}/book/Definition.js +0 -0
- package/{models → package/models}/book/Edition.d.ts +33 -7
- package/{models → package/models}/book/Edition.js +104 -32
- package/{models → package/models}/book/Reference.d.ts +0 -0
- package/{models → package/models}/book/Reference.js +0 -0
- package/{models → package/models}/book/Schema.d.ts +20 -15
- package/{models → package/models}/book/Schema.js +17 -16
- package/{models → package/models}/book/Theme.d.ts +0 -0
- package/{models → package/models}/book/Theme.js +7 -6
- package/{models → package/models}/book/ThemeColors.d.ts +0 -0
- package/{models → package/models}/book/ThemeColors.js +0 -0
- package/{models → package/models}/book/Words.d.ts +0 -0
- package/{models → package/models}/book/Words.js +0 -0
- package/{models → package/models}/chapter/AtomNode.d.ts +0 -0
- package/{models → package/models}/chapter/AtomNode.js +0 -0
- package/{models → package/models}/chapter/BlockNode.d.ts +0 -0
- package/{models → package/models}/chapter/BlockNode.js +0 -0
- package/{models → package/models}/chapter/BlocksNode.d.ts +0 -0
- package/{models → package/models}/chapter/BlocksNode.js +0 -0
- package/{models → package/models}/chapter/BlocksNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/BlocksNode.test.js +0 -0
- package/{models → package/models}/chapter/Bookkeeping.d.ts +0 -0
- package/{models → package/models}/chapter/Bookkeeping.js +0 -0
- package/{models → package/models}/chapter/CalloutNode.d.ts +0 -0
- package/{models → package/models}/chapter/CalloutNode.js +0 -0
- package/{models → package/models}/chapter/Caret.d.ts +0 -0
- package/{models → package/models}/chapter/Caret.js +0 -0
- package/{models → package/models}/chapter/ChapterNode.d.ts +0 -0
- package/{models → package/models}/chapter/ChapterNode.js +0 -0
- package/{models → package/models}/chapter/CitationsNode.d.ts +0 -0
- package/{models → package/models}/chapter/CitationsNode.js +0 -0
- package/{models → package/models}/chapter/CodeNode.d.ts +0 -0
- package/{models → package/models}/chapter/CodeNode.js +0 -0
- package/{models → package/models}/chapter/CommentNode.d.ts +0 -0
- package/{models → package/models}/chapter/CommentNode.js +13 -3
- package/{models → package/models}/chapter/DefinitionNode.d.ts +0 -0
- package/{models → package/models}/chapter/DefinitionNode.js +0 -0
- package/{models → package/models}/chapter/Edit.d.ts +0 -0
- package/{models → package/models}/chapter/Edit.js +0 -0
- package/{models → package/models}/chapter/EmbedNode.d.ts +1 -0
- package/{models → package/models}/chapter/EmbedNode.js +6 -0
- package/{models → package/models}/chapter/ErrorNode.d.ts +0 -0
- package/{models → package/models}/chapter/ErrorNode.js +0 -0
- package/{models → package/models}/chapter/FootnoteNode.d.ts +0 -0
- package/{models → package/models}/chapter/FootnoteNode.js +0 -0
- package/{models → package/models}/chapter/FormatNode.d.ts +0 -0
- package/{models → package/models}/chapter/FormatNode.js +1 -6
- package/{models → package/models}/chapter/FormatNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/FormatNode.test.js +0 -0
- package/{models → package/models}/chapter/InlineCodeNode.d.ts +0 -0
- package/{models → package/models}/chapter/InlineCodeNode.js +0 -0
- package/{models → package/models}/chapter/LabelNode.d.ts +0 -0
- package/{models → package/models}/chapter/LabelNode.js +0 -0
- package/{models → package/models}/chapter/LinkNode.d.ts +0 -0
- package/{models → package/models}/chapter/LinkNode.js +0 -0
- package/{models → package/models}/chapter/ListNode.d.ts +0 -0
- package/{models → package/models}/chapter/ListNode.js +0 -0
- package/{models → package/models}/chapter/ListNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/ListNode.test.js +0 -0
- package/{models → package/models}/chapter/MetadataNode.d.ts +0 -0
- package/{models → package/models}/chapter/MetadataNode.js +0 -0
- package/{models → package/models}/chapter/Node.d.ts +0 -0
- package/{models → package/models}/chapter/Node.js +0 -0
- package/{models → package/models}/chapter/Node.test.d.ts +0 -0
- package/{models → package/models}/chapter/Node.test.js +0 -0
- package/{models → package/models}/chapter/ParagraphNode.d.ts +0 -0
- package/{models → package/models}/chapter/ParagraphNode.js +0 -0
- package/{models → package/models}/chapter/ParagraphNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/ParagraphNode.test.js +0 -0
- package/{models → package/models}/chapter/Parser.d.ts +2 -2
- package/{models → package/models}/chapter/Parser.js +26 -24
- package/{models → package/models}/chapter/Parser.test.d.ts +0 -0
- package/{models → package/models}/chapter/Parser.test.js +0 -0
- package/{models → package/models}/chapter/Position.d.ts +0 -0
- package/{models → package/models}/chapter/Position.js +0 -0
- package/{models → package/models}/chapter/QuoteNode.d.ts +0 -0
- package/{models → package/models}/chapter/QuoteNode.js +0 -0
- package/{models → package/models}/chapter/RootNode.d.ts +0 -0
- package/{models → package/models}/chapter/RootNode.js +0 -0
- package/{models → package/models}/chapter/RuleNode.d.ts +0 -0
- package/{models → package/models}/chapter/RuleNode.js +0 -0
- package/{models → package/models}/chapter/TableNode.d.ts +0 -0
- package/{models → package/models}/chapter/TableNode.js +0 -0
- package/{models → package/models}/chapter/TableNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/TableNode.test.js +0 -0
- package/{models → package/models}/chapter/TextNode.d.ts +0 -0
- package/{models → package/models}/chapter/TextNode.js +0 -0
- package/{models → package/models}/chapter/TextNode.test.d.ts +0 -0
- package/{models → package/models}/chapter/TextNode.test.js +0 -0
- package/package/util/dark.d.ts +2 -0
- package/package/util/dark.js +16 -0
- package/{util → package/util}/getSubdomain.d.ts +0 -0
- package/{util → package/util}/getSubdomain.js +0 -0
- package/{util → package/util}/isMobile.d.ts +0 -0
- package/{util → package/util}/isMobile.js +0 -0
- package/{util → package/util}/mineReference.d.ts +0 -0
- package/{util → package/util}/mineReference.js +0 -0
- package/{util → package/util}/scrollToEyeLevel.d.ts +0 -0
- package/{util → package/util}/scrollToEyeLevel.js +0 -0
- package/package.json +955 -267
- package/components/External.svelte +0 -4
- package/components/External.svelte.d.ts +0 -18
- package/components/app/Link.svelte +0 -24
- package/components/app/Writing.svelte.d.ts +0 -27
- package/components/editor/ConfirmButton.svelte +0 -49
- package/components/page/Authors.svelte +0 -82
- package/components/page/Contexts.js +0 -51
- package/components/page/Editions.svelte +0 -158
- package/components/page/License.svelte +0 -37
- package/components/page/MediaPreview.svelte +0 -29
- package/components/page/Status.svelte +0 -57
- package/components/page/TableOfContentsImage.svelte +0 -15
- package/models/CRUD.d.ts +0 -17
- package/models/CRUD.js +0 -207
- package/models/Firebase.js +0 -32
- package/models/book/Book.js +0 -142
- package/models/loadEdition.d.ts +0 -5
- package/models/loadEdition.js +0 -20
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<script>import { createUser } from '../../models/CRUD';
|
|
2
|
+
import Button from '../app/Button.svelte';
|
|
3
|
+
import TextInput from '../app/TextInput.svelte';
|
|
4
|
+
import { getEditors } from '../page/Contexts';
|
|
5
|
+
import Note from './Note.svelte';
|
|
6
|
+
export let uids;
|
|
7
|
+
export let inheriteduids;
|
|
8
|
+
export let writable;
|
|
9
|
+
export let atleastone;
|
|
10
|
+
export let change;
|
|
11
|
+
let emails = getEditors();
|
|
12
|
+
let newEditor = '';
|
|
13
|
+
let newEditorError = null;
|
|
14
|
+
let loading = undefined;
|
|
15
|
+
async function addEditor() {
|
|
16
|
+
const email = newEditor;
|
|
17
|
+
newEditor = '';
|
|
18
|
+
loading = email;
|
|
19
|
+
try {
|
|
20
|
+
const uid = await createUser(email);
|
|
21
|
+
if (uid === null)
|
|
22
|
+
newEditorError = "couldn't add editor";
|
|
23
|
+
else
|
|
24
|
+
change([...uids, uid]);
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
loading = undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function hasEditor(email) {
|
|
31
|
+
const match = Array.from($emails.entries()).find(([, e]) => e === email);
|
|
32
|
+
if (match === undefined)
|
|
33
|
+
return false;
|
|
34
|
+
const uid = match[0];
|
|
35
|
+
return uids.includes(uid) || inheriteduids.includes(uid);
|
|
36
|
+
}
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
{#if emails === null}
|
|
40
|
+
Loading editors...
|
|
41
|
+
{:else}
|
|
42
|
+
<section class="emails">
|
|
43
|
+
{#if writable}
|
|
44
|
+
<form on:submit|preventDefault={addEditor}>
|
|
45
|
+
<TextInput
|
|
46
|
+
type="email"
|
|
47
|
+
placeholder="email"
|
|
48
|
+
bind:text={newEditor}
|
|
49
|
+
disabled={false}
|
|
50
|
+
/>
|
|
51
|
+
<Button
|
|
52
|
+
tooltip="give {newEditor} editing rights"
|
|
53
|
+
disabled={newEditor.length === 0 || hasEditor(newEditor)}
|
|
54
|
+
command={addEditor}>+ editor</Button
|
|
55
|
+
>
|
|
56
|
+
{#if hasEditor(newEditor)}<Note>already added</Note>{/if}
|
|
57
|
+
{#if newEditorError !== null}{newEditorError}{/if}
|
|
58
|
+
</form>
|
|
59
|
+
{/if}
|
|
60
|
+
|
|
61
|
+
{#each uids as uid, index (uid)}
|
|
62
|
+
{@const email = $emails.get(uid)}
|
|
63
|
+
<p>
|
|
64
|
+
{#if email}{email}{:else}<em>missing email</em>{/if}
|
|
65
|
+
{#if writable}
|
|
66
|
+
<Button
|
|
67
|
+
tooltip="remove {email} editing rights"
|
|
68
|
+
command={() =>
|
|
69
|
+
change([
|
|
70
|
+
...uids.slice(0, index),
|
|
71
|
+
...uids.slice(index + 1),
|
|
72
|
+
])}
|
|
73
|
+
disabled={atleastone && uids.length <= 1}>⨉</Button
|
|
74
|
+
>
|
|
75
|
+
{/if}
|
|
76
|
+
</p>
|
|
77
|
+
{/each}
|
|
78
|
+
{#each inheriteduids as uid}
|
|
79
|
+
<p><em>{$emails.get(uid)}</em> <Note>book editor</Note></p>
|
|
80
|
+
{/each}
|
|
81
|
+
{#if loading}
|
|
82
|
+
<p>
|
|
83
|
+
adding {loading}
|
|
84
|
+
</p>
|
|
85
|
+
{/if}
|
|
86
|
+
</section>
|
|
87
|
+
{/if}
|
|
88
|
+
|
|
89
|
+
<style>
|
|
90
|
+
p {
|
|
91
|
+
font-family: var(--app-font);
|
|
92
|
+
}
|
|
93
|
+
</style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
uids: string[];
|
|
5
|
+
inheriteduids: string[];
|
|
6
|
+
writable: boolean;
|
|
7
|
+
atleastone: boolean;
|
|
8
|
+
change: (uids: string[]) => void;
|
|
9
|
+
};
|
|
10
|
+
events: {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
};
|
|
13
|
+
slots: {};
|
|
14
|
+
};
|
|
15
|
+
export type PermissionsProps = typeof __propDef.props;
|
|
16
|
+
export type PermissionsEvents = typeof __propDef.events;
|
|
17
|
+
export type PermissionsSlots = typeof __propDef.slots;
|
|
18
|
+
export default class Permissions extends SvelteComponentTyped<PermissionsProps, PermissionsEvents, PermissionsSlots> {
|
|
19
|
+
}
|
|
20
|
+
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
|
|
@@ -25,7 +25,7 @@ $: {
|
|
|
25
25
|
const sizedText = showPlaceholder()
|
|
26
26
|
? placeholder
|
|
27
27
|
: text.replace(/\s/g, '\u00a0');
|
|
28
|
-
// Clip the text to prevent this editor from getting too long when editing
|
|
28
|
+
// Clip the text to prevent this editor from getting too long when editing. If it goes past one line,
|
|
29
29
|
// the measurements and layout are way off.
|
|
30
30
|
const trimmedText = width !== undefined &&
|
|
31
31
|
(clip === true || status === Status.Editing)
|
|
@@ -220,12 +220,11 @@ function handleKeyPress(event) {
|
|
|
220
220
|
margin-left: -0.5em;
|
|
221
221
|
padding: 0.5em 0.5em;
|
|
222
222
|
font-family: var(--app-font);
|
|
223
|
-
font-size:
|
|
223
|
+
font-size: small;
|
|
224
224
|
font-weight: normal;
|
|
225
225
|
font-style: normal;
|
|
226
226
|
color: var(--app-error-color);
|
|
227
227
|
border-radius: var(--app-chrome-roundedness);
|
|
228
228
|
background: var(--app-chrome-background);
|
|
229
|
-
animation: failure 100ms 10;
|
|
230
229
|
}
|
|
231
230
|
</style>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -225,7 +225,7 @@ function handleKeyPress(event) {
|
|
|
225
225
|
{:else if quoteNode}<ToolbarGroup icon={QuoteIcon}
|
|
226
226
|
><QuoteEditor quote={quoteNode} /></ToolbarGroup
|
|
227
227
|
>
|
|
228
|
-
{:else if embedNode}<ToolbarGroup icon={MediaIcon}
|
|
228
|
+
{:else if embedNode}<span class="break" /><ToolbarGroup icon={MediaIcon}
|
|
229
229
|
><EmbedEditor embed={embedNode} /></ToolbarGroup
|
|
230
230
|
>
|
|
231
231
|
{/if}
|
|
@@ -238,10 +238,15 @@ function handleKeyPress(event) {
|
|
|
238
238
|
flex-direction: row;
|
|
239
239
|
flex-wrap: wrap;
|
|
240
240
|
align-items: baseline;
|
|
241
|
-
background: var(--bookish-background-color);
|
|
242
|
-
padding: var(--app-chrome-padding);
|
|
243
241
|
font-family: var(--app-font);
|
|
244
242
|
font-size: var(--app-chrome-font-size);
|
|
243
|
+
row-gap: var(--app-chrome-padding);
|
|
244
|
+
justify-content: left;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.break {
|
|
248
|
+
flex-basis: 100%;
|
|
249
|
+
height: 0;
|
|
245
250
|
}
|
|
246
251
|
|
|
247
252
|
.bookish-editor-toolbar:focus {
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,37 +2,39 @@
|
|
|
2
2
|
import ChapterBody from '../chapter/ChapterBody.svelte';
|
|
3
3
|
import BookishEditor from '../editor/BookishEditor.svelte';
|
|
4
4
|
import Instructions from './Instructions.svelte';
|
|
5
|
-
import { getEdition,
|
|
5
|
+
import { getUser, getEdition, getLeasee, isEditionEditable, lease, } from './Contexts';
|
|
6
6
|
import PageHeader from './PageHeader.svelte';
|
|
7
|
+
let auth = getUser();
|
|
7
8
|
let edition = getEdition();
|
|
8
|
-
let editable =
|
|
9
|
+
let editable = isEditionEditable();
|
|
9
10
|
$: acknowledgements = $edition?.getAcknowledgements();
|
|
10
|
-
$: acksNode = acknowledgements
|
|
11
|
-
? Parser.parseChapter($edition, acknowledgements)
|
|
12
|
-
: undefined;
|
|
13
11
|
</script>
|
|
14
12
|
|
|
15
|
-
<Instructions>
|
|
16
|
-
|
|
13
|
+
<Instructions {editable}>
|
|
14
|
+
Do you have people, communities, or institutions to thank? Do it here. This
|
|
15
|
+
section is not shown if empty.
|
|
17
16
|
</Instructions>
|
|
18
17
|
|
|
19
18
|
<!-- If editable, show acknowledgements even if they're empty, otherwise hide -->
|
|
20
|
-
{#if $edition && acknowledgements
|
|
19
|
+
{#if $edition && acknowledgements}
|
|
21
20
|
{#if editable}
|
|
22
21
|
<BookishEditor
|
|
23
|
-
|
|
22
|
+
text={acknowledgements}
|
|
23
|
+
parser={(text) => Parser.parseChapter($edition, text)}
|
|
24
24
|
chapter={false}
|
|
25
25
|
component={ChapterBody}
|
|
26
26
|
placeholder="Who would you like to thank?"
|
|
27
27
|
save={(node) =>
|
|
28
28
|
$edition
|
|
29
29
|
? edition.set(
|
|
30
|
-
$edition.
|
|
30
|
+
$edition.withAcknowledgements(node.toBookdown())
|
|
31
31
|
)
|
|
32
32
|
: undefined}
|
|
33
|
+
leasee={getLeasee(auth, edition, `acks`)}
|
|
34
|
+
lease={(lock) => lease(auth, edition, `acks`, lock)}
|
|
33
35
|
/>
|
|
34
36
|
{:else if acknowledgements.length > 0}
|
|
35
37
|
<PageHeader id="acknowledgements">Acknowledgements</PageHeader>
|
|
36
|
-
<ChapterBody node={
|
|
38
|
+
<ChapterBody node={Parser.parseChapter($edition, acknowledgements)} />
|
|
37
39
|
{/if}
|
|
38
40
|
{/if}
|
|
File without changes
|
|
@@ -0,0 +1,86 @@
|
|
|
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 } from './Contexts';
|
|
6
|
+
import Note from '../editor/Note.svelte';
|
|
7
|
+
import Button from '../app/Button.svelte';
|
|
8
|
+
import { tick } from 'svelte';
|
|
9
|
+
export let editable;
|
|
10
|
+
export let authors;
|
|
11
|
+
export let inheritedAuthors = undefined;
|
|
12
|
+
export let add;
|
|
13
|
+
export let edit;
|
|
14
|
+
export let remove;
|
|
15
|
+
let edition = getEdition();
|
|
16
|
+
let authorList = null;
|
|
17
|
+
$: showInherited = authors.length === 0 && inheritedAuthors !== undefined;
|
|
18
|
+
$: authorsToShow = showInherited ? inheritedAuthors : authors;
|
|
19
|
+
async function addAuthor() {
|
|
20
|
+
add();
|
|
21
|
+
await tick();
|
|
22
|
+
if (authors.length > 0 && authorList) {
|
|
23
|
+
const editors = authorList.querySelectorAll('input');
|
|
24
|
+
if (editors.length > 0) {
|
|
25
|
+
const lastAuthor = editors[editors.length - 1];
|
|
26
|
+
if (lastAuthor instanceof HTMLElement)
|
|
27
|
+
lastAuthor.focus();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// When there's a new author, focus on it.
|
|
32
|
+
afterUpdate(() => { });
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<p class="bookish-authors" bind:this={authorList}>
|
|
36
|
+
<!-- Editing and inherited authors? Say they're -->
|
|
37
|
+
{#if authorsToShow === undefined}
|
|
38
|
+
No authors
|
|
39
|
+
{:else}
|
|
40
|
+
<em>by </em>
|
|
41
|
+
{#each authorsToShow as author, index}
|
|
42
|
+
{#if editable && !showInherited}
|
|
43
|
+
<span class="author-editor">
|
|
44
|
+
<TextEditor
|
|
45
|
+
text={author}
|
|
46
|
+
label={'Author name editor'}
|
|
47
|
+
placeholder="author"
|
|
48
|
+
valid={() => undefined}
|
|
49
|
+
save={(text) =>
|
|
50
|
+
/* If text is already empty, remove */ author.length >
|
|
51
|
+
0 && text === ''
|
|
52
|
+
? remove(index)
|
|
53
|
+
: edit(index, text)}
|
|
54
|
+
/>
|
|
55
|
+
<Button
|
|
56
|
+
tooltip="remove this author"
|
|
57
|
+
command={() => remove(index)}>⨉</Button
|
|
58
|
+
>
|
|
59
|
+
</span>
|
|
60
|
+
{:else}
|
|
61
|
+
<span
|
|
62
|
+
><Format
|
|
63
|
+
node={Parser.parseFormat($edition, author)}
|
|
64
|
+
/></span
|
|
65
|
+
>{/if}{#if index < authorsToShow.length - 1}, {/if}
|
|
66
|
+
{/each}
|
|
67
|
+
{/if}
|
|
68
|
+
{#if editable}
|
|
69
|
+
<Button tooltip="add author" command={addAuthor}>+ author</Button>
|
|
70
|
+
{#if inheritedAuthors !== undefined && authors.length === 0}<Note
|
|
71
|
+
>(showing book authors) </Note
|
|
72
|
+
>{/if}
|
|
73
|
+
{/if}
|
|
74
|
+
</p>
|
|
75
|
+
|
|
76
|
+
<style>
|
|
77
|
+
.bookish-authors {
|
|
78
|
+
font-family: var(--bookish-header-font-family);
|
|
79
|
+
font-style: italic;
|
|
80
|
+
margin: 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.author-editor {
|
|
84
|
+
display: inline-block;
|
|
85
|
+
}
|
|
86
|
+
</style>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script>import Loading from './Loading.svelte';
|
|
2
|
+
import Feedback from '../app/Feedback.svelte';
|
|
3
|
+
import { onDestroy } from 'svelte';
|
|
4
|
+
import { page } from '$app/stores';
|
|
5
|
+
import { getBook, getUser } from './Contexts';
|
|
6
|
+
import { listenToBookWithID as listenToBooksWithID, listenToBooksByName as listenToBooksWithName, } from '../../models/CRUD';
|
|
7
|
+
let auth = getUser();
|
|
8
|
+
let book = getBook();
|
|
9
|
+
// Keep track of the query updates
|
|
10
|
+
let booksByName = undefined;
|
|
11
|
+
let bookByID = undefined;
|
|
12
|
+
// Mege them together here
|
|
13
|
+
$: currentBook =
|
|
14
|
+
// Neither loaded? Current book isn't loaded.
|
|
15
|
+
booksByName === undefined && bookByID === undefined
|
|
16
|
+
? undefined
|
|
17
|
+
: booksByName !== undefined && booksByName.length > 0
|
|
18
|
+
? booksByName[0]
|
|
19
|
+
: bookByID ?? null;
|
|
20
|
+
// Whenever the merge changes, update the book store (updating the whole UI)
|
|
21
|
+
$: book.set(currentBook ?? undefined);
|
|
22
|
+
// Keep track of listeners to unsubscribe to on page changes.
|
|
23
|
+
let nameUnsub = undefined;
|
|
24
|
+
let idUnsub = undefined;
|
|
25
|
+
function unsub() {
|
|
26
|
+
if (nameUnsub)
|
|
27
|
+
nameUnsub();
|
|
28
|
+
if (idUnsub)
|
|
29
|
+
idUnsub();
|
|
30
|
+
}
|
|
31
|
+
// Keep track of any errors.
|
|
32
|
+
let error;
|
|
33
|
+
function listen() {
|
|
34
|
+
unsub();
|
|
35
|
+
try {
|
|
36
|
+
nameUnsub = listenToBooksWithName($page.params.bookid, (books) => (booksByName = books));
|
|
37
|
+
idUnsub = listenToBooksWithID($page.params.bookid, (book) => (bookByID = book));
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
error = '' + err;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// When page or auth changes and there's a user, update the listener.
|
|
44
|
+
$: if ($page && $auth && $auth.user !== null)
|
|
45
|
+
listen();
|
|
46
|
+
// When this is unmounted, unset them.
|
|
47
|
+
onDestroy(() => {
|
|
48
|
+
book.set(undefined);
|
|
49
|
+
unsub();
|
|
50
|
+
});
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
{#if error || currentBook === null}
|
|
54
|
+
<Feedback error>Unable to load book.</Feedback>
|
|
55
|
+
{:else if currentBook === undefined}
|
|
56
|
+
<Loading />
|
|
57
|
+
{:else}
|
|
58
|
+
<slot />
|
|
59
|
+
{/if}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
default: {};
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export type BookLoaderProps = typeof __propDef.props;
|
|
12
|
+
export type BookLoaderEvents = typeof __propDef.events;
|
|
13
|
+
export type BookLoaderSlots = typeof __propDef.slots;
|
|
14
|
+
export default class BookLoader extends SvelteComponentTyped<BookLoaderProps, BookLoaderEvents, BookLoaderSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script>import Instructions from './Instructions.svelte';
|
|
2
2
|
import { getUniqueReferenceID, mineReference, } from '../../util/mineReference';
|
|
3
3
|
import Reference from '../../models/book/Reference';
|
|
4
|
-
import { getEdition } from './Contexts';
|
|
4
|
+
import { getEdition, isEditionEditable, isEditionPartiallyEditable, } from './Contexts';
|
|
5
5
|
import Button from '../app/Button.svelte';
|
|
6
6
|
let edition = getEdition();
|
|
7
7
|
let text = '';
|
|
8
|
+
let editable = isEditionEditable() || isEditionPartiallyEditable();
|
|
8
9
|
function handleBulkAdd() {
|
|
9
10
|
// Split by lines, skipping empty lines.
|
|
10
11
|
const references = text
|
|
@@ -24,17 +25,16 @@ function handleEmptyAdd() {
|
|
|
24
25
|
}
|
|
25
26
|
</script>
|
|
26
27
|
|
|
27
|
-
<Instructions>
|
|
28
|
-
To
|
|
29
|
-
or try pasting them in bulk, and
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
wrong!
|
|
28
|
+
<Instructions {editable}>
|
|
29
|
+
To add references to a chapter, add them here first. You can add one at a
|
|
30
|
+
time, or try pasting them in bulk, and this page will try to pull out author
|
|
31
|
+
lists, years, sources, and URLs. Be sure to verify it though — it's
|
|
32
|
+
likely to get some things wrong.
|
|
33
33
|
</Instructions>
|
|
34
34
|
|
|
35
35
|
<textarea rows={5} bind:value={text} style="width: 100%" />
|
|
36
36
|
<Button
|
|
37
|
-
tooltip="convert
|
|
37
|
+
tooltip="convert to references"
|
|
38
38
|
disabled={text.length === 0}
|
|
39
39
|
command={handleBulkAdd}>+ bulk references</Button
|
|
40
40
|
>
|
|
File without changes
|