bookish-press 0.4.232 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{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 +9 -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 -3
- package/{index.js → package/index.js} +3 -3
- 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 +131 -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
|
@@ -9,13 +9,13 @@ $: credit = node.getCredit();
|
|
|
9
9
|
|
|
10
10
|
<Positioned position={node.getPosition()}>
|
|
11
11
|
<figure>
|
|
12
|
-
<blockquote class=
|
|
12
|
+
<blockquote class="quote" data-nodeid={node.nodeID}>
|
|
13
13
|
{#each node.getBlocks() as element (element.nodeID)}
|
|
14
14
|
<Block node={element} />
|
|
15
15
|
{/each}
|
|
16
16
|
</blockquote>
|
|
17
17
|
{#if credit}
|
|
18
|
-
<figcaption class="
|
|
18
|
+
<figcaption class="caption {credit.isEmptyText() ? 'empty' : ''}"
|
|
19
19
|
><Format node={credit} placeholder="credit" /></figcaption
|
|
20
20
|
>
|
|
21
21
|
{/if}
|
|
@@ -23,7 +23,15 @@ $: credit = node.getCredit();
|
|
|
23
23
|
</Positioned>
|
|
24
24
|
|
|
25
25
|
<style>
|
|
26
|
-
|
|
26
|
+
figure {
|
|
27
|
+
margin: 0;
|
|
28
|
+
margin-block-start: 0;
|
|
29
|
+
margin-block-end: 0;
|
|
30
|
+
margin-inline-start: 0;
|
|
31
|
+
margin-inline-end: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.quote {
|
|
27
35
|
clear: both;
|
|
28
36
|
border: none;
|
|
29
37
|
font-family: var(--bookish-header-font-family);
|
|
@@ -37,12 +45,12 @@ $: credit = node.getCredit();
|
|
|
37
45
|
position: relative;
|
|
38
46
|
}
|
|
39
47
|
|
|
40
|
-
.
|
|
48
|
+
.quote > :global(p) {
|
|
41
49
|
margin: 0;
|
|
42
50
|
padding: 0;
|
|
43
51
|
}
|
|
44
52
|
|
|
45
|
-
.
|
|
53
|
+
.caption {
|
|
46
54
|
margin-top: 0.5em;
|
|
47
55
|
text-align: right;
|
|
48
56
|
font-family: var(--bookish-header-font-family);
|
|
@@ -50,19 +58,21 @@ $: credit = node.getCredit();
|
|
|
50
58
|
color: var(--bookish-muted-color);
|
|
51
59
|
}
|
|
52
60
|
|
|
53
|
-
.
|
|
61
|
+
.quote:before {
|
|
54
62
|
content: '\201C';
|
|
55
63
|
position: relative;
|
|
56
|
-
top:
|
|
57
|
-
left: -
|
|
58
|
-
|
|
64
|
+
top: 0;
|
|
65
|
+
left: -0.5em;
|
|
66
|
+
height: 0.3em;
|
|
67
|
+
font-family: var(--bookish-header-font-family);
|
|
59
68
|
font-size: 120pt;
|
|
60
69
|
font-weight: bold;
|
|
61
70
|
color: var(--bookish-highlight-color);
|
|
62
71
|
z-index: -1;
|
|
72
|
+
display: block;
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
.
|
|
75
|
+
.caption:not(.empty):before {
|
|
66
76
|
content: '--';
|
|
67
77
|
margin-right: 0.25em;
|
|
68
78
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<script>import Figure from './Figure.svelte';
|
|
4
4
|
import Format from './Format.svelte';
|
|
5
5
|
import Rows from '../page/Rows.svelte';
|
|
6
|
-
import {
|
|
6
|
+
import { isChapterEditable } from '../page/Contexts';
|
|
7
7
|
export let node;
|
|
8
|
-
let editable =
|
|
8
|
+
let editable = isChapterEditable();
|
|
9
9
|
$: rows = node.getRows();
|
|
10
10
|
</script>
|
|
11
11
|
|
|
File without changes
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<svelte:options immutable={true} />
|
|
2
2
|
|
|
3
|
-
<script>import { getChapter,
|
|
3
|
+
<script>import { getChapter, isChapterEditable } from '../page/Contexts';
|
|
4
4
|
export let node;
|
|
5
5
|
export let placeholder = undefined;
|
|
6
6
|
$: text = node.getText();
|
|
7
7
|
let context = getChapter();
|
|
8
|
-
let editable =
|
|
8
|
+
let editable = isChapterEditable();
|
|
9
9
|
function replaceMultipleSpacesWithNonBreakingSpaces(original) {
|
|
10
10
|
let revisedText = '';
|
|
11
11
|
for (let i = 0; i < original.length; i++) {
|
|
File without changes
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script>export let dark;
|
|
2
|
+
export let toggle;
|
|
3
|
+
const lightLabel = '\u263C';
|
|
4
|
+
const darkLabel = '\u263E';
|
|
5
|
+
function change() {
|
|
6
|
+
dark = !dark;
|
|
7
|
+
toggle();
|
|
8
|
+
}
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<!-- Dark mode toggle -->
|
|
12
|
+
<div
|
|
13
|
+
class="dark-toggle"
|
|
14
|
+
role="button"
|
|
15
|
+
aria-label={dark === true ? 'Switch to light mode' : 'Switch to dark mode'}
|
|
16
|
+
tabIndex="0"
|
|
17
|
+
on:click={change}
|
|
18
|
+
on:keydown={(event) => {
|
|
19
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
20
|
+
change();
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
}
|
|
23
|
+
}}
|
|
24
|
+
>
|
|
25
|
+
{dark ? darkLabel : lightLabel}
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<style>
|
|
29
|
+
.dark-toggle {
|
|
30
|
+
transition: transform 0.2s ease-in;
|
|
31
|
+
user-select: none;
|
|
32
|
+
}
|
|
33
|
+
.dark-toggle:hover {
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
transform: scale(1.25, 1.25);
|
|
36
|
+
color: var(--bookish-paragraph-color);
|
|
37
|
+
}
|
|
38
|
+
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
dark: Boolean;
|
|
5
|
+
toggle: () => void;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type DarkToggleProps = typeof __propDef.props;
|
|
13
|
+
export type DarkToggleEvents = typeof __propDef.events;
|
|
14
|
+
export type DarkToggleSlots = typeof __propDef.slots;
|
|
15
|
+
export default class DarkToggle extends SvelteComponentTyped<DarkToggleProps, DarkToggleEvents, DarkToggleSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script>import BookishNode from '../../models/chapter/Node';
|
|
2
2
|
import ChapterNode from '../../models/chapter/ChapterNode';
|
|
3
|
-
import Parser from '../../models/chapter/Parser';
|
|
4
3
|
import LinkNode from '../../models/chapter/LinkNode';
|
|
5
4
|
import ParagraphNode from '../../models/chapter/ParagraphNode';
|
|
6
5
|
import TextNode from '../../models/chapter/TextNode';
|
|
@@ -16,17 +15,20 @@ import EmbedNode from '../../models/chapter/EmbedNode';
|
|
|
16
15
|
import ErrorNode from '../../models/chapter/ErrorNode';
|
|
17
16
|
import { caretRangeToIndexRange, indexRangeToCaretRange, } from '../../models/chapter/Caret';
|
|
18
17
|
import commands from './Commands';
|
|
19
|
-
import { getEdition } from '../page/Contexts';
|
|
20
18
|
import { afterUpdate, onMount, setContext } from 'svelte';
|
|
21
|
-
import { getCaret } from '../page/Contexts';
|
|
19
|
+
import { getCaret, getRoot } from '../page/Contexts';
|
|
22
20
|
import CaretView from './CaretView.svelte';
|
|
21
|
+
import { writable } from 'svelte/store';
|
|
23
22
|
const IDLE_TIME = 500;
|
|
24
|
-
export let
|
|
23
|
+
export let text;
|
|
24
|
+
export let parser;
|
|
25
25
|
export let save;
|
|
26
26
|
export let chapter;
|
|
27
27
|
export let autofocus = false;
|
|
28
28
|
export let component;
|
|
29
29
|
export let placeholder;
|
|
30
|
+
export let leasee;
|
|
31
|
+
export let lease;
|
|
30
32
|
let element = null;
|
|
31
33
|
let caretRange = undefined;
|
|
32
34
|
let caretCoordinate = undefined;
|
|
@@ -36,10 +38,19 @@ let editorFocused = false;
|
|
|
36
38
|
let undoStack = [];
|
|
37
39
|
let undoPosition = -1;
|
|
38
40
|
let clipboard = undefined;
|
|
39
|
-
let editedNode = ast;
|
|
40
41
|
let ignoredInput = false;
|
|
41
|
-
let edition = getEdition();
|
|
42
42
|
let activeEditor = getCaret();
|
|
43
|
+
let editedNode;
|
|
44
|
+
$: {
|
|
45
|
+
// Note: when the text changes externally, the caret will be lost. We either have
|
|
46
|
+
// to implement fancy operational transform revision control for collaborative editing
|
|
47
|
+
// or a basic chapter locking strategy to avoid data loss. I went with locking for maintenance simplicity,
|
|
48
|
+
// but it would be nice to implement operational transform in the future.
|
|
49
|
+
if (editedNode === undefined || editedNode.toBookdown() !== text) {
|
|
50
|
+
editedNode = parser(text);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
$: locked = typeof leasee === 'string';
|
|
43
54
|
onMount(() => {
|
|
44
55
|
const caret = editedNode.getFirstCaret();
|
|
45
56
|
if (caret)
|
|
@@ -149,17 +160,24 @@ afterUpdate(() => {
|
|
|
149
160
|
? parseInt(lineHeightString.substring(0, lineHeightString.length - 2))
|
|
150
161
|
: undefined;
|
|
151
162
|
// Is the caret in relatively positioned ancestors above the editor? Undo their offsets.
|
|
152
|
-
let caretAncestor = startNode.
|
|
163
|
+
let caretAncestor = startNode.parentElement;
|
|
153
164
|
let relativeX = 0;
|
|
154
165
|
let relativeY = 0;
|
|
166
|
+
let fixedX = undefined;
|
|
167
|
+
let fixedY = undefined;
|
|
155
168
|
while (caretAncestor != null) {
|
|
156
|
-
|
|
157
|
-
|
|
169
|
+
const style = window.getComputedStyle(caretAncestor);
|
|
170
|
+
if (style.position === 'relative') {
|
|
158
171
|
relativeX += caretAncestor.offsetLeft;
|
|
159
172
|
relativeY += caretAncestor.offsetTop;
|
|
160
173
|
}
|
|
174
|
+
else if (style.position === 'fixed') {
|
|
175
|
+
fixedX = caretAncestor.offsetLeft;
|
|
176
|
+
fixedY = caretAncestor.offsetTop;
|
|
177
|
+
}
|
|
161
178
|
caretAncestor = caretAncestor.parentElement;
|
|
162
179
|
}
|
|
180
|
+
// Is the caret in a fixed position marginal? Get it's position.
|
|
163
181
|
// If we're after a new line, calculate the correct position, since selections don't actually render to the next line.
|
|
164
182
|
const left = afterNewLine
|
|
165
183
|
? textRect.left
|
|
@@ -357,17 +375,11 @@ function undo() {
|
|
|
357
375
|
// Grab the next state
|
|
358
376
|
let undoState = undoStack[undoPosition + 1];
|
|
359
377
|
// Restore the content of the chapter.
|
|
360
|
-
let node =
|
|
361
|
-
? Parser.parseChapter($edition, undoState.bookdown)
|
|
362
|
-
: ast instanceof FormatNode
|
|
363
|
-
? Parser.parseFormat($edition, undoState.bookdown)
|
|
364
|
-
: ast instanceof EmbedNode
|
|
365
|
-
? Parser.parseEmbed($edition, undoState.bookdown)
|
|
366
|
-
: undefined;
|
|
378
|
+
let node = parser(undoState.bookdown);
|
|
367
379
|
if (node === undefined || node instanceof ErrorNode)
|
|
368
380
|
return;
|
|
369
381
|
// Restore the view
|
|
370
|
-
|
|
382
|
+
updateRoot(node);
|
|
371
383
|
// Save the undo.
|
|
372
384
|
save(node);
|
|
373
385
|
// Move the undo state down a position.
|
|
@@ -383,16 +395,10 @@ function redo() {
|
|
|
383
395
|
// Grab the next state
|
|
384
396
|
let undoState = undoStack[undoPosition - 1];
|
|
385
397
|
// Restore the content of the chapter.
|
|
386
|
-
let node =
|
|
387
|
-
? Parser.parseChapter($edition, undoState.bookdown)
|
|
388
|
-
: ast instanceof FormatNode
|
|
389
|
-
? Parser.parseFormat($edition, undoState.bookdown)
|
|
390
|
-
: ast instanceof EmbedNode
|
|
391
|
-
? Parser.parseEmbed($edition, undoState.bookdown)
|
|
392
|
-
: undefined;
|
|
398
|
+
let node = parser(undoState.bookdown);
|
|
393
399
|
if (node === undefined)
|
|
394
400
|
return;
|
|
395
|
-
|
|
401
|
+
updateRoot(node);
|
|
396
402
|
// Move the undo state down a position.
|
|
397
403
|
if (undoPosition > 0)
|
|
398
404
|
undoPosition = undoPosition - 1;
|
|
@@ -588,6 +594,9 @@ function executeCommand(command, key) {
|
|
|
588
594
|
return false;
|
|
589
595
|
}
|
|
590
596
|
async function saveEdit(newRoot, newRange, command) {
|
|
597
|
+
// Don't save edits if locked.
|
|
598
|
+
if (locked)
|
|
599
|
+
return;
|
|
591
600
|
// Call the save callback.
|
|
592
601
|
save(newRoot);
|
|
593
602
|
// Initialize a new history if we don't have one.
|
|
@@ -605,7 +614,7 @@ async function saveEdit(newRoot, newRange, command) {
|
|
|
605
614
|
];
|
|
606
615
|
}
|
|
607
616
|
// Change the chapter's AST.
|
|
608
|
-
|
|
617
|
+
updateRoot(newRoot);
|
|
609
618
|
// Set the new undo stack, pre-pending the new command to the front.
|
|
610
619
|
const newTextRange = caretRangeToIndexRange(newRoot, newRange);
|
|
611
620
|
if (newTextRange !== undefined)
|
|
@@ -626,6 +635,10 @@ async function saveEdit(newRoot, newRange, command) {
|
|
|
626
635
|
// Update the caret
|
|
627
636
|
claimActiveEditor();
|
|
628
637
|
}
|
|
638
|
+
function updateRoot(newRoot) {
|
|
639
|
+
editedNode = newRoot;
|
|
640
|
+
text = editedNode.toBookdown();
|
|
641
|
+
}
|
|
629
642
|
function editNode(previous, edited) {
|
|
630
643
|
if (caretRange) {
|
|
631
644
|
const newRoot = editedNode.withNodeReplaced(previous, edited);
|
|
@@ -663,8 +676,13 @@ function isFocused() {
|
|
|
663
676
|
(element !== null && element?.contains(document.activeElement)) ||
|
|
664
677
|
toolbarIsFocused());
|
|
665
678
|
}
|
|
666
|
-
function
|
|
679
|
+
function handleFocus() {
|
|
680
|
+
editorFocused = isFocused();
|
|
681
|
+
lease(true);
|
|
682
|
+
}
|
|
683
|
+
function handleBlur() {
|
|
667
684
|
editorFocused = isFocused();
|
|
685
|
+
lease(false);
|
|
668
686
|
}
|
|
669
687
|
function handleCopy(node) {
|
|
670
688
|
// Set the editor's clipboard.
|
|
@@ -793,15 +811,17 @@ setContext('claimeditor', claimActiveEditor);
|
|
|
793
811
|
|
|
794
812
|
<div
|
|
795
813
|
class={`bookish-editor ${inAtom ? 'bookish-editor-atom-focused' : ''}`}
|
|
814
|
+
class:locked
|
|
815
|
+
aria-disabled={locked}
|
|
796
816
|
bind:this={element}
|
|
797
817
|
on:keydown={handleKey}
|
|
798
818
|
on:keypress={handlePress}
|
|
799
819
|
on:mousedown|stopPropagation={handleMouseDown}
|
|
800
|
-
on:focus={
|
|
801
|
-
on:blur={
|
|
820
|
+
on:focus={handleFocus}
|
|
821
|
+
on:blur={handleBlur}
|
|
802
822
|
tabIndex="0"
|
|
803
823
|
>
|
|
804
|
-
<!--
|
|
824
|
+
<!-- A view of the root -->
|
|
805
825
|
<svelte:component this={component} node={editedNode} {placeholder} />
|
|
806
826
|
<!-- The caret. We render our own since this view isn't contentEditable and we can't show a caret.
|
|
807
827
|
Customize the rendering based on the formatting applied to the text node. -->
|
|
@@ -815,14 +835,19 @@ setContext('claimeditor', claimActiveEditor);
|
|
|
815
835
|
linked={isLink}
|
|
816
836
|
bold={isBold}
|
|
817
837
|
italic={isItalic}
|
|
818
|
-
disabled={!editorFocused}
|
|
838
|
+
disabled={!editorFocused || locked}
|
|
839
|
+
{locked}
|
|
819
840
|
/>
|
|
820
841
|
{/if}
|
|
821
842
|
</div>
|
|
822
843
|
|
|
823
844
|
<style>
|
|
824
845
|
.bookish-editor {
|
|
825
|
-
min-height:
|
|
846
|
+
min-height: 1em;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
.locked :global(.bookish-text) {
|
|
850
|
+
color: var(--app-muted-color);
|
|
826
851
|
}
|
|
827
852
|
|
|
828
853
|
.bookish-editor:focus {
|
|
@@ -2,12 +2,15 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
import type RootNode from '../../models/chapter/RootNode';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
-
|
|
5
|
+
text: string;
|
|
6
|
+
parser: (text: string) => RootNode;
|
|
6
7
|
save: (node: RootNode) => Promise<void> | void;
|
|
7
8
|
chapter: boolean;
|
|
8
9
|
autofocus?: boolean | undefined;
|
|
9
10
|
component: ConstructorOfATypedSvelteComponent;
|
|
10
11
|
placeholder: string;
|
|
12
|
+
leasee: string | boolean;
|
|
13
|
+
lease: (lock: boolean) => Promise<boolean> | boolean;
|
|
11
14
|
};
|
|
12
15
|
events: {
|
|
13
16
|
[evt: string]: CustomEvent<any>;
|
|
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
|
|
@@ -8,6 +8,7 @@ export let bold;
|
|
|
8
8
|
export let disabled;
|
|
9
9
|
export let ignored;
|
|
10
10
|
export let blink;
|
|
11
|
+
export let locked;
|
|
11
12
|
let element;
|
|
12
13
|
let headerHeight = 0;
|
|
13
14
|
// When the caret updates, make sure it's in view.
|
|
@@ -32,7 +33,8 @@ afterUpdate(() => {
|
|
|
32
33
|
style:height="{height}px"
|
|
33
34
|
style:scroll-margin-top="{headerHeight}px"
|
|
34
35
|
bind:this={element}
|
|
35
|
-
|
|
36
|
+
>{#if locked}🔒{/if}</div
|
|
37
|
+
>
|
|
36
38
|
|
|
37
39
|
<style>
|
|
38
40
|
.caret {
|
|
@@ -44,7 +46,7 @@ afterUpdate(() => {
|
|
|
44
46
|
display: inline-block;
|
|
45
47
|
box-sizing: border-box;
|
|
46
48
|
position: absolute;
|
|
47
|
-
z-index:
|
|
49
|
+
z-index: 2;
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
@keyframes caret-blink {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script>import Button from '../app/Button.svelte';
|
|
2
|
+
export let tooltip;
|
|
3
|
+
export let confirm;
|
|
4
|
+
export let command;
|
|
5
|
+
let confirming = false;
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<div class="confirm">
|
|
9
|
+
{#if !confirming}
|
|
10
|
+
<Button {tooltip} command={() => (confirming = true)}><slot /></Button>
|
|
11
|
+
{:else}
|
|
12
|
+
<Button tooltip="no" command={() => (confirming = false)}>no</Button
|
|
13
|
+
> <Button tooltip="yes" {command}>{confirm}</Button>
|
|
14
|
+
{/if}
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.confirm {
|
|
19
|
+
font-family: var(--app-font);
|
|
20
|
+
font-size: var(--app-chrome-font-size);
|
|
21
|
+
display: inline-block;
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
-
commandLabel: string;
|
|
5
4
|
tooltip: string;
|
|
6
|
-
|
|
5
|
+
confirm: string;
|
|
7
6
|
command: () => Promise<void> | void;
|
|
8
7
|
};
|
|
9
8
|
events: {
|
|
10
9
|
[evt: string]: CustomEvent<any>;
|
|
11
10
|
};
|
|
12
|
-
slots: {
|
|
11
|
+
slots: {
|
|
12
|
+
default: {};
|
|
13
|
+
};
|
|
13
14
|
};
|
|
14
15
|
export type ConfirmButtonProps = typeof __propDef.props;
|
|
15
16
|
export type ConfirmButtonEvents = typeof __propDef.events;
|
|
File without changes
|
|
File without changes
|
|
@@ -37,7 +37,7 @@ function handleImageChange(event) {
|
|
|
37
37
|
if (media === undefined)
|
|
38
38
|
return;
|
|
39
39
|
media.upload(file, (progress) => (upload = `${progress}% done`), (error) => (upload = error), (url, thumbnail) => {
|
|
40
|
-
// Upload completed successfully,
|
|
40
|
+
// Upload completed successfully, update the front end.
|
|
41
41
|
$caret?.edit(embed, embed.withURLs(url, thumbnail).withDescription(''));
|
|
42
42
|
upload = undefined;
|
|
43
43
|
});
|
|
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,5 +1,5 @@
|
|
|
1
1
|
<script>import URLEditor from './URLEditor.svelte';
|
|
2
|
-
import { getChapter, getEdition } from '../page/Contexts';
|
|
2
|
+
import { getChapter, getEdition, getRoot } from '../page/Contexts';
|
|
3
3
|
import Icon from './Icon.svelte';
|
|
4
4
|
import Button from '../app/Button.svelte';
|
|
5
5
|
import UnlinkIcon from './icons/unlink.svg?raw';
|
|
@@ -9,6 +9,7 @@ export let link;
|
|
|
9
9
|
let caret = getCaret();
|
|
10
10
|
let edition = getEdition();
|
|
11
11
|
let chapter = getChapter();
|
|
12
|
+
let root = getRoot();
|
|
12
13
|
$: url = link.getMeta();
|
|
13
14
|
function saveEdit(value) {
|
|
14
15
|
$caret?.edit(link, link.withMeta(value));
|
|
@@ -38,8 +39,8 @@ function validate(urlOrChapter) {
|
|
|
38
39
|
if (chapterID === undefined || labelID === undefined)
|
|
39
40
|
return;
|
|
40
41
|
// The chapter ID is optional; if it's missing, it refers to this chapter.
|
|
41
|
-
const correspondingChapter = chapterID === ''
|
|
42
|
-
? $
|
|
42
|
+
const correspondingChapter = chapterID === ''
|
|
43
|
+
? $root
|
|
43
44
|
: $edition?.getChapter(chapterID)?.getAST($edition);
|
|
44
45
|
if (correspondingChapter === undefined)
|
|
45
46
|
return 'Not a valid URL or chapter.';
|
|
File without changes
|
|
File without changes
|