bookish-press 0.7.4 → 0.8.2
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/README.md +8 -0
- package/dist/components/Auth.svelte +29 -39
- package/dist/components/Auth.svelte.d.ts +5 -17
- package/dist/components/BookPreview.svelte +14 -20
- package/dist/components/BookPreview.svelte.d.ts +6 -18
- package/dist/components/Link.svelte +19 -30
- package/dist/components/Link.svelte.d.ts +7 -20
- package/dist/components/app/BookList.svelte +2 -3
- package/dist/components/app/BookList.svelte.d.ts +6 -18
- package/dist/components/app/Button.svelte +12 -8
- package/dist/components/app/Button.svelte.d.ts +10 -23
- package/dist/components/app/Feedback.svelte +4 -4
- package/dist/components/app/Feedback.svelte.d.ts +6 -19
- package/dist/components/app/Head.svelte +2 -2
- package/dist/components/app/Head.svelte.d.ts +6 -19
- package/dist/components/app/Large.svelte +4 -1
- package/dist/components/app/Large.svelte.d.ts +5 -28
- package/dist/components/app/Lead.svelte +4 -1
- package/dist/components/app/Lead.svelte.d.ts +5 -28
- package/dist/components/app/Link.svelte +12 -9
- package/dist/components/app/Link.svelte.d.ts +9 -22
- package/dist/components/app/Options.svelte +8 -6
- package/dist/components/app/Options.svelte.d.ts +8 -20
- package/dist/components/app/Paragraph.svelte +2 -2
- package/dist/components/app/Paragraph.svelte.d.ts +6 -19
- package/dist/components/app/Section.svelte +4 -1
- package/dist/components/app/Section.svelte.d.ts +5 -28
- package/dist/components/app/Table.svelte +4 -1
- package/dist/components/app/Table.svelte.d.ts +5 -28
- package/dist/components/app/TextInput.svelte +10 -8
- package/dist/components/app/TextInput.svelte.d.ts +12 -23
- package/dist/components/chapter/Atom.svelte +4 -7
- package/dist/components/chapter/Atom.svelte.d.ts +6 -19
- package/dist/components/chapter/Block.svelte +21 -23
- package/dist/components/chapter/Block.svelte.d.ts +5 -17
- package/dist/components/chapter/Callout.svelte +3 -5
- package/dist/components/chapter/Callout.svelte.d.ts +5 -17
- package/dist/components/chapter/CaptionedCode.svelte +12 -14
- package/dist/components/chapter/CaptionedCode.svelte.d.ts +5 -17
- package/dist/components/chapter/ChapterBody.svelte +14 -17
- package/dist/components/chapter/ChapterBody.svelte.d.ts +7 -19
- package/dist/components/chapter/ChapterBody.test.d.ts +1 -0
- package/dist/components/chapter/ChapterBody.test.js +85 -0
- package/dist/components/chapter/Citations.svelte +39 -45
- package/dist/components/chapter/Citations.svelte.d.ts +5 -17
- package/dist/components/chapter/Code.svelte +158 -155
- package/dist/components/chapter/Code.svelte.d.ts +10 -23
- package/dist/components/chapter/Comment.svelte +30 -23
- package/dist/components/chapter/Comment.svelte.d.ts +5 -17
- package/dist/components/chapter/Definition.svelte +36 -34
- package/dist/components/chapter/Definition.svelte.d.ts +5 -17
- package/dist/components/chapter/Embed.svelte +78 -72
- package/dist/components/chapter/Embed.svelte.d.ts +8 -20
- package/dist/components/chapter/ErrorMessage.svelte +2 -4
- package/dist/components/chapter/ErrorMessage.svelte.d.ts +5 -17
- package/dist/components/chapter/Figure.svelte +22 -29
- package/dist/components/chapter/Figure.svelte.d.ts +9 -22
- package/dist/components/chapter/Footnote.svelte +40 -32
- package/dist/components/chapter/Footnote.svelte.d.ts +5 -17
- package/dist/components/chapter/Format.svelte +26 -41
- package/dist/components/chapter/Format.svelte.d.ts +7 -18
- package/dist/components/chapter/InlineCode.svelte +7 -8
- package/dist/components/chapter/InlineCode.svelte.d.ts +5 -17
- package/dist/components/chapter/Label.svelte +5 -11
- package/dist/components/chapter/Label.svelte.d.ts +5 -17
- package/dist/components/chapter/LineBreak.svelte +1 -3
- package/dist/components/chapter/LineBreak.svelte.d.ts +5 -17
- package/dist/components/chapter/Link.svelte +17 -23
- package/dist/components/chapter/Link.svelte.d.ts +5 -17
- package/dist/components/chapter/List.svelte +9 -9
- package/dist/components/chapter/List.svelte.d.ts +6 -17
- package/dist/components/chapter/Marginal.svelte +59 -60
- package/dist/components/chapter/Marginal.svelte.d.ts +10 -22
- package/dist/components/chapter/Paragraph.svelte +8 -23
- package/dist/components/chapter/Paragraph.svelte.d.ts +6 -18
- package/dist/components/chapter/Positioned.svelte +2 -4
- package/dist/components/chapter/Positioned.svelte.d.ts +6 -19
- package/dist/components/chapter/Problem.svelte +3 -2
- package/dist/components/chapter/Problem.svelte.d.ts +5 -28
- package/dist/components/chapter/Python.svelte +45 -58
- package/dist/components/chapter/Python.svelte.d.ts +6 -18
- package/dist/components/chapter/Quote.svelte +5 -7
- package/dist/components/chapter/Quote.svelte.d.ts +5 -17
- package/dist/components/chapter/Rule.svelte +1 -3
- package/dist/components/chapter/Rule.svelte.d.ts +5 -17
- package/dist/components/chapter/Table.svelte +6 -8
- package/dist/components/chapter/Table.svelte.d.ts +5 -17
- package/dist/components/chapter/Text.svelte +54 -69
- package/dist/components/chapter/Text.svelte.d.ts +6 -18
- package/dist/components/controls/DarkToggle.svelte +7 -8
- package/dist/components/controls/DarkToggle.svelte.d.ts +6 -18
- package/dist/components/editor/BookishEditor.svelte +583 -761
- package/dist/components/editor/BookishEditor.svelte.d.ts +14 -26
- package/dist/components/editor/CalloutEditor.svelte +3 -3
- package/dist/components/editor/CalloutEditor.svelte.d.ts +5 -17
- package/dist/components/editor/CaptionedCodeEditor.svelte +5 -5
- package/dist/components/editor/CaptionedCodeEditor.svelte.d.ts +5 -17
- package/dist/components/editor/CaretView.svelte +23 -25
- package/dist/components/editor/CaretView.svelte.d.ts +15 -27
- package/dist/components/editor/CitationsEditor.svelte +25 -28
- package/dist/components/editor/CitationsEditor.svelte.d.ts +5 -17
- package/dist/components/editor/ConfirmButton.svelte +9 -6
- package/dist/components/editor/ConfirmButton.svelte.d.ts +8 -21
- package/dist/components/editor/DefinitionEditor.svelte +11 -15
- package/dist/components/editor/DefinitionEditor.svelte.d.ts +5 -17
- package/dist/components/editor/EmbedEditor.svelte +43 -44
- package/dist/components/editor/EmbedEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Icon.svelte +1 -1
- package/dist/components/editor/Icon.svelte.d.ts +5 -17
- package/dist/components/editor/ImageChooser.svelte +15 -18
- package/dist/components/editor/ImageChooser.svelte.d.ts +6 -18
- package/dist/components/editor/ImageThumbnail.svelte +29 -24
- package/dist/components/editor/ImageThumbnail.svelte.d.ts +7 -19
- package/dist/components/editor/InlineCodeEditor.svelte +3 -3
- package/dist/components/editor/InlineCodeEditor.svelte.d.ts +5 -17
- package/dist/components/editor/LabelEditor.svelte +5 -6
- package/dist/components/editor/LabelEditor.svelte.d.ts +5 -17
- package/dist/components/editor/LanguageEditor.svelte +4 -5
- package/dist/components/editor/LanguageEditor.svelte.d.ts +6 -18
- package/dist/components/editor/LinkEditor.svelte +52 -68
- package/dist/components/editor/LinkEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Note.svelte +4 -1
- package/dist/components/editor/Note.svelte.d.ts +5 -28
- package/dist/components/editor/Permissions.svelte +36 -34
- package/dist/components/editor/Permissions.svelte.d.ts +9 -21
- package/dist/components/editor/PositionEditor.svelte +6 -7
- package/dist/components/editor/PositionEditor.svelte.d.ts +6 -18
- package/dist/components/editor/QuoteEditor.svelte +3 -3
- package/dist/components/editor/QuoteEditor.svelte.d.ts +5 -17
- package/dist/components/editor/Switch.svelte +16 -11
- package/dist/components/editor/Switch.svelte.d.ts +9 -21
- package/dist/components/editor/TableEditor.svelte +3 -3
- package/dist/components/editor/TableEditor.svelte.d.ts +5 -17
- package/dist/components/editor/TextEditor.svelte +74 -87
- package/dist/components/editor/TextEditor.svelte.d.ts +13 -25
- package/dist/components/editor/Toggle.svelte +18 -21
- package/dist/components/editor/Toggle.svelte.d.ts +7 -20
- package/dist/components/editor/Toolbar.svelte +140 -145
- package/dist/components/editor/Toolbar.svelte.d.ts +5 -17
- package/dist/components/editor/ToolbarGroup.svelte +4 -4
- package/dist/components/editor/ToolbarGroup.svelte.d.ts +6 -19
- package/dist/components/editor/ToolbarSpacer.svelte +1 -1
- package/dist/components/editor/ToolbarSpacer.svelte.d.ts +22 -21
- package/dist/components/editor/URLEditor.svelte +3 -5
- package/dist/components/editor/URLEditor.svelte.d.ts +7 -19
- package/dist/components/page/Acknowledgements.svelte +14 -8
- package/dist/components/page/Acknowledgements.svelte.d.ts +3 -16
- package/dist/components/page/Analytics.svelte +2 -3
- package/dist/components/page/Analytics.svelte.d.ts +6 -17
- package/dist/components/page/Authors.svelte +29 -29
- package/dist/components/page/Authors.svelte.d.ts +11 -23
- package/dist/components/page/BookLoader.svelte +47 -43
- package/dist/components/page/BookLoader.svelte.d.ts +5 -17
- package/dist/components/page/BulkReferenceEditor.svelte +43 -26
- package/dist/components/page/BulkReferenceEditor.svelte.d.ts +3 -16
- package/dist/components/page/Chapter.svelte +224 -249
- package/dist/components/page/Chapter.svelte.d.ts +6 -18
- package/dist/components/page/ChapterContext.d.ts +3 -1
- package/dist/components/page/ChapterNumber.svelte +4 -1
- package/dist/components/page/ChapterNumber.svelte.d.ts +5 -28
- package/dist/components/page/ChapterTitle.svelte +4 -4
- package/dist/components/page/ChapterTitle.svelte.d.ts +6 -19
- package/dist/components/page/Contexts.js +2 -2
- package/dist/components/page/DefinitionView.svelte +51 -44
- package/dist/components/page/DefinitionView.svelte.d.ts +6 -18
- package/dist/components/page/Description.svelte +10 -4
- package/dist/components/page/Description.svelte.d.ts +16 -14
- package/dist/components/page/EditableHeader.svelte +4 -6
- package/dist/components/page/EditableHeader.svelte.d.ts +7 -18
- package/dist/components/page/Edition.svelte +57 -71
- package/dist/components/page/Edition.svelte.d.ts +7 -20
- package/dist/components/page/EditionLoader.svelte +119 -82
- package/dist/components/page/EditionLoader.svelte.d.ts +6 -19
- package/dist/components/page/Editions.svelte +26 -31
- package/dist/components/page/Editions.svelte.d.ts +5 -17
- package/dist/components/page/Glossary.svelte +31 -35
- package/dist/components/page/Glossary.svelte.d.ts +3 -16
- package/dist/components/page/Header.svelte +43 -49
- package/dist/components/page/Header.svelte.d.ts +19 -30
- package/dist/components/page/Index.svelte +46 -46
- package/dist/components/page/Index.svelte.d.ts +3 -16
- package/dist/components/page/Instructions.svelte +2 -2
- package/dist/components/page/Instructions.svelte.d.ts +6 -19
- package/dist/components/page/License.svelte +13 -7
- package/dist/components/page/License.svelte.d.ts +16 -14
- package/dist/components/page/Loading.svelte +9 -9
- package/dist/components/page/Loading.svelte.d.ts +22 -21
- package/dist/components/page/Media.svelte +36 -27
- package/dist/components/page/Media.svelte.d.ts +3 -16
- package/dist/components/page/MediaPreview.svelte +22 -19
- package/dist/components/page/MediaPreview.svelte.d.ts +8 -21
- package/dist/components/page/Muted.svelte +4 -1
- package/dist/components/page/Muted.svelte.d.ts +5 -28
- package/dist/components/page/Outline.svelte +75 -97
- package/dist/components/page/Outline.svelte.d.ts +8 -20
- package/dist/components/page/Page.svelte +23 -33
- package/dist/components/page/Page.svelte.d.ts +7 -20
- package/dist/components/page/PageHeader.svelte +2 -2
- package/dist/components/page/PageHeader.svelte.d.ts +6 -19
- package/dist/components/page/PageParagraph.svelte +4 -1
- package/dist/components/page/PageParagraph.svelte.d.ts +5 -28
- package/dist/components/page/PossibleChapter.svelte +7 -7
- package/dist/components/page/PossibleChapter.svelte.d.ts +3 -16
- package/dist/components/page/PossibleReference.svelte +4 -5
- package/dist/components/page/PossibleReference.svelte.d.ts +6 -18
- package/dist/components/page/Print.svelte +11 -12
- package/dist/components/page/Print.svelte.d.ts +3 -16
- package/dist/components/page/Publish.svelte +47 -47
- package/dist/components/page/Publish.svelte.d.ts +3 -16
- package/dist/components/page/Reference.svelte +24 -35
- package/dist/components/page/Reference.svelte.d.ts +6 -18
- package/dist/components/page/References.svelte +21 -22
- package/dist/components/page/References.svelte.d.ts +3 -16
- package/dist/components/page/Rows.svelte +4 -1
- package/dist/components/page/Rows.svelte.d.ts +5 -28
- package/dist/components/page/Search.svelte +58 -60
- package/dist/components/page/Search.svelte.d.ts +3 -16
- package/dist/components/page/Status.svelte +2 -2
- package/dist/components/page/Status.svelte.d.ts +16 -14
- package/dist/components/page/SubdomainEditor.svelte +11 -11
- package/dist/components/page/SubdomainEditor.svelte.d.ts +16 -14
- package/dist/components/page/TableOfContents.svelte +143 -125
- package/dist/components/page/TableOfContents.svelte.d.ts +3 -16
- package/dist/components/page/TableOfContentsImage.svelte +6 -7
- package/dist/components/page/TableOfContentsImage.svelte.d.ts +6 -18
- package/dist/components/page/TableOfContentsRow.svelte +32 -32
- package/dist/components/page/TableOfContentsRow.svelte.d.ts +10 -22
- package/dist/components/page/ThemeEditor.svelte +35 -28
- package/dist/components/page/ThemeEditor.svelte.d.ts +3 -16
- package/dist/components/page/ThemeEditorPreview.svelte +11 -13
- package/dist/components/page/ThemeEditorPreview.svelte.d.ts +5 -17
- package/dist/components/page/ThemeSetEditor.svelte +4 -6
- package/dist/components/page/ThemeSetEditor.svelte.d.ts +7 -19
- package/dist/components/page/ThemeVariableEditor.svelte +9 -11
- package/dist/components/page/ThemeVariableEditor.svelte.d.ts +7 -19
- package/dist/components/page/Title.svelte +4 -1
- package/dist/components/page/Title.svelte.d.ts +5 -28
- package/dist/components/page/Unknown.svelte +11 -8
- package/dist/components/page/Unknown.svelte.d.ts +5 -17
- package/dist/models/Firebase.js +18 -4
- package/dist/models/book/Book.js +2 -1
- package/dist/models/book/BookMedia.js +1 -2
- package/dist/models/book/Chapter.js +3 -2
- package/dist/models/book/Edition.d.ts +1 -1
- package/dist/models/book/Edition.js +5 -1
- package/dist/models/chapter/BlocksNode.js +3 -1
- package/dist/models/chapter/BlocksNode.test.js +5 -1
- package/dist/models/chapter/Node.test.js +2 -2
- package/package.json +34 -22
|
@@ -1,28 +1,16 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type RootNode from '../../models/chapter/RootNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
inline?: boolean;
|
|
15
|
-
};
|
|
16
|
-
events: {
|
|
17
|
-
[evt: string]: CustomEvent<any>;
|
|
18
|
-
};
|
|
19
|
-
slots: {};
|
|
20
|
-
exports?: {} | undefined;
|
|
21
|
-
bindings?: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
export type BookishEditorProps = typeof __propDef.props;
|
|
24
|
-
export type BookishEditorEvents = typeof __propDef.events;
|
|
25
|
-
export type BookishEditorSlots = typeof __propDef.slots;
|
|
26
|
-
export default class BookishEditor extends SvelteComponent<BookishEditorProps, BookishEditorEvents, BookishEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
text: string;
|
|
4
|
+
parser: (text: string) => RootNode;
|
|
5
|
+
save: (node: RootNode) => Promise<void> | void;
|
|
6
|
+
chapter: boolean;
|
|
7
|
+
autofocus?: boolean;
|
|
8
|
+
component: import('svelte').Component<any>;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
leasee: string | boolean;
|
|
11
|
+
lease: (lock: boolean) => Promise<boolean> | boolean;
|
|
12
|
+
inline?: boolean;
|
|
27
13
|
}
|
|
28
|
-
|
|
14
|
+
declare const BookishEditor: import("svelte").Component<Props, {}, "">;
|
|
15
|
+
type BookishEditor = ReturnType<typeof BookishEditor>;
|
|
16
|
+
export default BookishEditor;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<script>import PositionEditor from
|
|
2
|
-
import { getCaret } from
|
|
3
|
-
|
|
1
|
+
<script lang="ts">import PositionEditor from "./PositionEditor.svelte";
|
|
2
|
+
import { getCaret } from "../page/Contexts";
|
|
3
|
+
let { callout } = $props();
|
|
4
4
|
let caret = getCaret();
|
|
5
5
|
</script>
|
|
6
6
|
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type CalloutNode from '../../models/chapter/CalloutNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
callout: CalloutNode;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type CalloutEditorProps = typeof __propDef.props;
|
|
15
|
-
export type CalloutEditorEvents = typeof __propDef.events;
|
|
16
|
-
export type CalloutEditorSlots = typeof __propDef.slots;
|
|
17
|
-
export default class CalloutEditor extends SvelteComponent<CalloutEditorProps, CalloutEditorEvents, CalloutEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
callout: CalloutNode;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const CalloutEditor: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type CalloutEditor = ReturnType<typeof CalloutEditor>;
|
|
7
|
+
export default CalloutEditor;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<script>import LanguageEditor from
|
|
2
|
-
import PositionEditor from
|
|
3
|
-
import Switch from
|
|
4
|
-
import { getCaret } from
|
|
5
|
-
|
|
1
|
+
<script lang="ts">import LanguageEditor from "./LanguageEditor.svelte";
|
|
2
|
+
import PositionEditor from "./PositionEditor.svelte";
|
|
3
|
+
import Switch from "./Switch.svelte";
|
|
4
|
+
import { getCaret } from "../page/Contexts";
|
|
5
|
+
let { code } = $props();
|
|
6
6
|
let caret = getCaret();
|
|
7
7
|
</script>
|
|
8
8
|
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type CodeNode from '../../models/chapter/CodeNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
code: CodeNode;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type CaptionedCodeEditorProps = typeof __propDef.props;
|
|
15
|
-
export type CaptionedCodeEditorEvents = typeof __propDef.events;
|
|
16
|
-
export type CaptionedCodeEditorSlots = typeof __propDef.slots;
|
|
17
|
-
export default class CaptionedCodeEditor extends SvelteComponent<CaptionedCodeEditorProps, CaptionedCodeEditorEvents, CaptionedCodeEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
code: CodeNode;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const CaptionedCodeEditor: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type CaptionedCodeEditor = ReturnType<typeof CaptionedCodeEditor>;
|
|
7
|
+
export default CaptionedCodeEditor;
|
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
document.querySelector('.bookish-app > .header')
|
|
25
|
-
?.offsetHeight ?? 0;
|
|
1
|
+
<script lang="ts">import { tick } from "svelte";
|
|
2
|
+
let {
|
|
3
|
+
left,
|
|
4
|
+
top,
|
|
5
|
+
height,
|
|
6
|
+
linked,
|
|
7
|
+
italic,
|
|
8
|
+
bold,
|
|
9
|
+
disabled,
|
|
10
|
+
ignored,
|
|
11
|
+
blink,
|
|
12
|
+
locked,
|
|
13
|
+
accent
|
|
14
|
+
} = $props();
|
|
15
|
+
let element = $state();
|
|
16
|
+
let headerHeight = $state(0);
|
|
17
|
+
$effect(() => {
|
|
18
|
+
void left;
|
|
19
|
+
void top;
|
|
20
|
+
tick().then(
|
|
21
|
+
() => element ? element.scrollIntoView({ block: "nearest" }) : void 0
|
|
22
|
+
);
|
|
23
|
+
headerHeight = document.querySelector(".bookish-app > .header")?.offsetHeight ?? 0;
|
|
26
24
|
});
|
|
27
25
|
</script>
|
|
28
26
|
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { Accent } from './CaretContext';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
accent: Accent | undefined;
|
|
16
|
-
};
|
|
17
|
-
events: {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots: {};
|
|
21
|
-
exports?: {} | undefined;
|
|
22
|
-
bindings?: string | undefined;
|
|
23
|
-
};
|
|
24
|
-
export type CaretViewProps = typeof __propDef.props;
|
|
25
|
-
export type CaretViewEvents = typeof __propDef.events;
|
|
26
|
-
export type CaretViewSlots = typeof __propDef.slots;
|
|
27
|
-
export default class CaretView extends SvelteComponent<CaretViewProps, CaretViewEvents, CaretViewSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
left: number;
|
|
4
|
+
top: number;
|
|
5
|
+
height: number;
|
|
6
|
+
linked: boolean;
|
|
7
|
+
italic: boolean;
|
|
8
|
+
bold: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
ignored: boolean;
|
|
11
|
+
blink: boolean;
|
|
12
|
+
locked: boolean;
|
|
13
|
+
accent: Accent | undefined;
|
|
28
14
|
}
|
|
29
|
-
|
|
15
|
+
declare const CaretView: import("svelte").Component<Props, {}, "">;
|
|
16
|
+
type CaretView = ReturnType<typeof CaretView>;
|
|
17
|
+
export default CaretView;
|
|
@@ -1,39 +1,36 @@
|
|
|
1
|
-
<script>import Note from
|
|
2
|
-
import Options from
|
|
3
|
-
import Button from
|
|
4
|
-
import { getCaret, getEdition } from
|
|
5
|
-
|
|
1
|
+
<script lang="ts">import Note from "./Note.svelte";
|
|
2
|
+
import Options from "../app/Options.svelte";
|
|
3
|
+
import Button from "../app/Button.svelte";
|
|
4
|
+
import { getCaret, getEdition } from "../page/Contexts";
|
|
5
|
+
let { citations } = $props();
|
|
6
6
|
let caret = getCaret();
|
|
7
7
|
let edition = getEdition();
|
|
8
|
-
let value =
|
|
8
|
+
let value = $state("");
|
|
9
9
|
function handleSelection(selection) {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
if (selection.length > 0)
|
|
11
|
+
update(/* @__PURE__ */ new Set([...citations.getMeta(), selection]));
|
|
12
12
|
}
|
|
13
13
|
function removeSelection(citationID) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
let ids = new Set(citations.getMeta());
|
|
15
|
+
ids.delete(citationID);
|
|
16
|
+
update(ids);
|
|
17
17
|
}
|
|
18
18
|
function update(set) {
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
$: uncited =
|
|
22
|
-
$edition === undefined
|
|
23
|
-
? []
|
|
24
|
-
: Object.keys($edition.getReferences())
|
|
25
|
-
.filter((citationID) => !citations.getMeta().includes(citationID))
|
|
26
|
-
.sort();
|
|
27
|
-
let options = [];
|
|
28
|
-
$: {
|
|
29
|
-
options = [];
|
|
30
|
-
options.push([
|
|
31
|
-
uncited.length > 0 ? 'Choose references' : 'No uncited references',
|
|
32
|
-
'',
|
|
33
|
-
]);
|
|
34
|
-
for (const citationID of uncited)
|
|
35
|
-
options.push([citationID, citationID]);
|
|
19
|
+
$caret?.edit(citations, citations.withMeta(Array.from(set)));
|
|
36
20
|
}
|
|
21
|
+
let uncited = $derived($edition === void 0 ? [] : Object.keys($edition.getReferences()).filter(
|
|
22
|
+
(citationID) => !citations.getMeta().includes(citationID)
|
|
23
|
+
).sort());
|
|
24
|
+
let options = $derived.by(() => {
|
|
25
|
+
const list = [
|
|
26
|
+
[
|
|
27
|
+
uncited.length > 0 ? "Choose references" : "No uncited references",
|
|
28
|
+
""
|
|
29
|
+
]
|
|
30
|
+
];
|
|
31
|
+
for (const citationID of uncited) list.push([citationID, citationID]);
|
|
32
|
+
return list;
|
|
33
|
+
});
|
|
37
34
|
</script>
|
|
38
35
|
|
|
39
36
|
<Options
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type CitationsNode from '../../models/chapter/CitationsNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
citations: CitationsNode;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type CitationsEditorProps = typeof __propDef.props;
|
|
15
|
-
export type CitationsEditorEvents = typeof __propDef.events;
|
|
16
|
-
export type CitationsEditorSlots = typeof __propDef.slots;
|
|
17
|
-
export default class CitationsEditor extends SvelteComponent<CitationsEditorProps, CitationsEditorEvents, CitationsEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
citations: CitationsNode;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const CitationsEditor: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type CitationsEditor = ReturnType<typeof CitationsEditor>;
|
|
7
|
+
export default CitationsEditor;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
<script>import Button from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<script lang="ts">import Button from "../app/Button.svelte";
|
|
2
|
+
let {
|
|
3
|
+
tooltip,
|
|
4
|
+
confirm,
|
|
5
|
+
command,
|
|
6
|
+
children
|
|
7
|
+
} = $props();
|
|
8
|
+
let confirming = $state(false);
|
|
6
9
|
</script>
|
|
7
10
|
|
|
8
11
|
<div class="confirm">
|
|
9
12
|
{#if !confirming}
|
|
10
|
-
<Button {tooltip} command={() => (confirming = true)}
|
|
13
|
+
<Button {tooltip} command={() => (confirming = true)}>{@render children?.()}</Button>
|
|
11
14
|
{:else}
|
|
12
15
|
<Button tooltip="no" command={() => (confirming = false)}>cancel</Button
|
|
13
16
|
> <Button
|
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
command: () => Promise<void> | void;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
[evt: string]: CustomEvent<any>;
|
|
10
|
-
};
|
|
11
|
-
slots: {
|
|
12
|
-
default: {};
|
|
13
|
-
};
|
|
14
|
-
exports?: {} | undefined;
|
|
15
|
-
bindings?: string | undefined;
|
|
16
|
-
};
|
|
17
|
-
export type ConfirmButtonProps = typeof __propDef.props;
|
|
18
|
-
export type ConfirmButtonEvents = typeof __propDef.events;
|
|
19
|
-
export type ConfirmButtonSlots = typeof __propDef.slots;
|
|
20
|
-
export default class ConfirmButton extends SvelteComponent<ConfirmButtonProps, ConfirmButtonEvents, ConfirmButtonSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
tooltip: string;
|
|
3
|
+
confirm: string;
|
|
4
|
+
command: () => Promise<void> | void;
|
|
5
|
+
children?: import('svelte').Snippet;
|
|
21
6
|
}
|
|
22
|
-
|
|
7
|
+
declare const ConfirmButton: import("svelte").Component<Props, {}, "">;
|
|
8
|
+
type ConfirmButton = ReturnType<typeof ConfirmButton>;
|
|
9
|
+
export default ConfirmButton;
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
<script>import Options from
|
|
2
|
-
import Note from
|
|
3
|
-
import { getCaret, getEdition } from
|
|
4
|
-
|
|
1
|
+
<script lang="ts">import Options from "../app/Options.svelte";
|
|
2
|
+
import Note from "./Note.svelte";
|
|
3
|
+
import { getCaret, getEdition } from "../page/Contexts";
|
|
4
|
+
let { definition } = $props();
|
|
5
5
|
let caret = getCaret();
|
|
6
6
|
let edition = getEdition();
|
|
7
|
-
|
|
7
|
+
let glossary = $derived($edition?.getGlossary());
|
|
8
8
|
function handleChange(glossaryID) {
|
|
9
|
-
|
|
9
|
+
$caret?.edit(definition, definition.withMeta(glossaryID));
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.map(([key, value]) => {
|
|
17
|
-
return { glossaryID: key, phrase: value.phrase };
|
|
18
|
-
})
|
|
19
|
-
.sort((a, b) => a && b ? a.phrase.localeCompare(b.phrase) : 0);
|
|
11
|
+
let entries = $derived(glossary === void 0 ? void 0 : Object.entries(glossary).map(([key, value]) => {
|
|
12
|
+
return { glossaryID: key, phrase: value.phrase };
|
|
13
|
+
}).sort(
|
|
14
|
+
(a, b) => a && b ? a.phrase.localeCompare(b.phrase) : 0
|
|
15
|
+
));
|
|
20
16
|
</script>
|
|
21
17
|
|
|
22
18
|
{#if entries !== undefined && glossary !== undefined}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type DefinitionNode from '../../models/chapter/DefinitionNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
definition: DefinitionNode;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type DefinitionEditorProps = typeof __propDef.props;
|
|
15
|
-
export type DefinitionEditorEvents = typeof __propDef.events;
|
|
16
|
-
export type DefinitionEditorSlots = typeof __propDef.slots;
|
|
17
|
-
export default class DefinitionEditor extends SvelteComponent<DefinitionEditorProps, DefinitionEditorEvents, DefinitionEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
definition: DefinitionNode;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const DefinitionEditor: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type DefinitionEditor = ReturnType<typeof DefinitionEditor>;
|
|
7
|
+
export default DefinitionEditor;
|
|
@@ -1,53 +1,52 @@
|
|
|
1
|
-
<script>import PositionEditor from
|
|
2
|
-
import EmbedNode from
|
|
3
|
-
import TextEditor from
|
|
4
|
-
import { storage } from
|
|
5
|
-
import ToolbarSpacer from
|
|
6
|
-
import ImageChooser from
|
|
7
|
-
import URLEditor from
|
|
8
|
-
import Note from
|
|
9
|
-
import { getBook, getCaret } from
|
|
10
|
-
|
|
1
|
+
<script lang="ts">import PositionEditor from "./PositionEditor.svelte";
|
|
2
|
+
import EmbedNode from "../../models/chapter/EmbedNode";
|
|
3
|
+
import TextEditor from "./TextEditor.svelte";
|
|
4
|
+
import { storage } from "../../models/Firebase";
|
|
5
|
+
import ToolbarSpacer from "./ToolbarSpacer.svelte";
|
|
6
|
+
import ImageChooser from "./ImageChooser.svelte";
|
|
7
|
+
import URLEditor from "./URLEditor.svelte";
|
|
8
|
+
import Note from "./Note.svelte";
|
|
9
|
+
import { getBook, getCaret } from "../page/Contexts";
|
|
10
|
+
let { embed } = $props();
|
|
11
11
|
let caret = getCaret();
|
|
12
|
-
let upload =
|
|
13
|
-
|
|
12
|
+
let upload = $state(void 0);
|
|
13
|
+
let description = $derived(embed.getDescription());
|
|
14
14
|
let book = getBook();
|
|
15
15
|
function isValidURL(url) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
catch (_) { }
|
|
23
|
-
return "URL doesn't seem valid";
|
|
16
|
+
try {
|
|
17
|
+
let test = new URL(url);
|
|
18
|
+
if (test.protocol === "http:" || test.protocol === "https:") return;
|
|
19
|
+
} catch (_) {
|
|
20
|
+
}
|
|
21
|
+
return "URL doesn't seem valid";
|
|
24
22
|
}
|
|
25
23
|
function handleImageChange(event) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
upload = undefined;
|
|
44
|
-
});
|
|
24
|
+
if ($book === void 0) return;
|
|
25
|
+
if ($caret === void 0) return;
|
|
26
|
+
const target = event.target;
|
|
27
|
+
const file = target.files === null ? void 0 : target.files[0];
|
|
28
|
+
const media = $book.getMedia();
|
|
29
|
+
if (file === void 0) return;
|
|
30
|
+
if (storage === void 0) return;
|
|
31
|
+
if (media === void 0) return;
|
|
32
|
+
media.upload(
|
|
33
|
+
file,
|
|
34
|
+
(progress) => upload = `${progress}% done`,
|
|
35
|
+
(error) => upload = error,
|
|
36
|
+
(url, thumbnail) => {
|
|
37
|
+
$caret?.edit(embed, embed.withURLs(url, thumbnail));
|
|
38
|
+
upload = void 0;
|
|
39
|
+
}
|
|
40
|
+
);
|
|
45
41
|
}
|
|
46
42
|
function handleImageSelection(image) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
$caret?.edit(
|
|
44
|
+
embed,
|
|
45
|
+
embed.getURL() === image.url ? (
|
|
46
|
+
// Toggle the embed if choosing the same image
|
|
47
|
+
embed.withURL("").withDescription("")
|
|
48
|
+
) : embed.withURLs(image.url, image.thumb)
|
|
49
|
+
);
|
|
51
50
|
}
|
|
52
51
|
</script>
|
|
53
52
|
|
|
@@ -62,7 +61,7 @@ function handleImageSelection(image) {
|
|
|
62
61
|
<label class="file-upload" tabIndex="0">
|
|
63
62
|
<input
|
|
64
63
|
type="file"
|
|
65
|
-
|
|
64
|
+
oninput={handleImageChange}
|
|
66
65
|
accept=".jpg,.jpeg,.png,.gif,image/jpeg,image/png,image/gif"
|
|
67
66
|
/>
|
|
68
67
|
Upload
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import EmbedNode from '../../models/chapter/EmbedNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
embed: EmbedNode;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type EmbedEditorProps = typeof __propDef.props;
|
|
15
|
-
export type EmbedEditorEvents = typeof __propDef.events;
|
|
16
|
-
export type EmbedEditorSlots = typeof __propDef.slots;
|
|
17
|
-
export default class EmbedEditor extends SvelteComponent<EmbedEditorProps, EmbedEditorEvents, EmbedEditorSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
embed: EmbedNode;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const EmbedEditor: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type EmbedEditor = ReturnType<typeof EmbedEditor>;
|
|
7
|
+
export default EmbedEditor;
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
props: {
|
|
4
|
-
icon: string;
|
|
5
|
-
};
|
|
6
|
-
events: {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
};
|
|
9
|
-
slots: {};
|
|
10
|
-
exports?: {} | undefined;
|
|
11
|
-
bindings?: string | undefined;
|
|
12
|
-
};
|
|
13
|
-
export type IconProps = typeof __propDef.props;
|
|
14
|
-
export type IconEvents = typeof __propDef.events;
|
|
15
|
-
export type IconSlots = typeof __propDef.slots;
|
|
16
|
-
export default class Icon extends SvelteComponent<IconProps, IconEvents, IconSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
icon: string;
|
|
17
3
|
}
|
|
18
|
-
|
|
4
|
+
declare const Icon: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type Icon = ReturnType<typeof Icon>;
|
|
6
|
+
export default Icon;
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
<script>import { onMount } from
|
|
2
|
-
import { getBook } from
|
|
3
|
-
import ImageThumbnail from
|
|
4
|
-
|
|
5
|
-
export let selection;
|
|
1
|
+
<script lang="ts">import { onMount } from "svelte";
|
|
2
|
+
import { getBook } from "../page/Contexts";
|
|
3
|
+
import ImageThumbnail from "./ImageThumbnail.svelte";
|
|
4
|
+
let { select, selection } = $props();
|
|
6
5
|
let book = getBook();
|
|
7
|
-
let images =
|
|
8
|
-
let expanded = false;
|
|
6
|
+
let images = $state(void 0);
|
|
7
|
+
let expanded = $state(false);
|
|
9
8
|
function updateImages(newImages) {
|
|
10
|
-
|
|
9
|
+
images = newImages;
|
|
11
10
|
}
|
|
12
|
-
// Load the latest images in the book, and keep them updated as they change.
|
|
13
11
|
onMount(() => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return () => media.stopNotifying(updateImages);
|
|
12
|
+
if ($book === void 0) return;
|
|
13
|
+
const media = $book.getMedia();
|
|
14
|
+
media.notify(updateImages);
|
|
15
|
+
return () => media.stopNotifying(updateImages);
|
|
19
16
|
});
|
|
20
17
|
</script>
|
|
21
18
|
|
|
@@ -23,13 +20,13 @@ onMount(() => {
|
|
|
23
20
|
class={`bookish-image-chooser ${expanded ? 'expanded' : ''}`}
|
|
24
21
|
tabindex="0"
|
|
25
22
|
role="button"
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
onclick={() => (expanded = !expanded)}
|
|
24
|
+
onkeydown={(event) =>
|
|
28
25
|
event.key === 'Enter' || event.key === ' '
|
|
29
26
|
? (expanded = !expanded)
|
|
30
27
|
: undefined}
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
onmouseenter={() => (expanded = true)}
|
|
29
|
+
onmouseleave={() => (expanded = false)}
|
|
33
30
|
>
|
|
34
31
|
{#if images === undefined}
|
|
35
32
|
Loading images
|