@erudit-js/prose 3.0.0-dev.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/appElement.d.ts +19 -0
- package/dist/app/appElement.js +12 -0
- package/dist/app/component.d.ts +6 -0
- package/dist/app/component.js +6 -0
- package/dist/app/composables/anchor.d.ts +16 -0
- package/dist/app/composables/anchor.js +89 -0
- package/dist/app/composables/appElement.d.ts +4 -0
- package/dist/app/composables/appElement.js +16 -0
- package/dist/app/composables/context.d.ts +22 -0
- package/dist/app/composables/context.js +5 -0
- package/dist/app/composables/elementIcon.d.ts +3 -0
- package/dist/app/composables/elementIcon.js +5 -0
- package/dist/app/composables/formatText.d.ts +1 -0
- package/dist/app/composables/formatText.js +5 -0
- package/dist/app/composables/language.d.ts +8 -0
- package/dist/app/composables/language.js +13 -0
- package/dist/app/composables/storage.d.ts +5 -0
- package/dist/app/composables/storage.js +23 -0
- package/dist/app/default/Inliners.vue +11 -0
- package/dist/app/default/Mix.vue +11 -0
- package/dist/app/default/Text.vue +21 -0
- package/dist/app/icon.d.ts +5 -0
- package/dist/app/icon.js +7 -0
- package/dist/app/index.d.ts +18 -0
- package/dist/app/index.js +18 -0
- package/dist/app/language/element.d.ts +10 -0
- package/dist/app/language/element.js +12 -0
- package/dist/app/language/list/en.d.ts +3 -0
- package/dist/app/language/list/en.js +5 -0
- package/dist/app/language/list/ru.d.ts +3 -0
- package/dist/app/language/list/ru.js +5 -0
- package/dist/app/language/prose.d.ts +9 -0
- package/dist/app/language/prose.js +4 -0
- package/dist/app/shared/Prose.vue +36 -0
- package/dist/app/shared/Render.vue +51 -0
- package/dist/app/shared/assets/block.svg +3 -0
- package/dist/app/shared/assets/check.svg +3 -0
- package/dist/app/shared/assets/inliner.svg +3 -0
- package/dist/app/shared/assets/plus.svg +3 -0
- package/dist/app/shared/assets/share.svg +3 -0
- package/dist/app/shared/block/AsideMenu.vue +44 -0
- package/dist/app/shared/block/AsideMenuButton.vue +53 -0
- package/dist/app/shared/block/AsideMenuCopyLink.vue +40 -0
- package/dist/app/shared/block/AsideMenuSeparator.vue +3 -0
- package/dist/app/shared/block/Block.vue +270 -0
- package/dist/app/shared/inliner/Inliner.vue +11 -0
- package/dist/app/shared/invert.d.ts +2 -0
- package/dist/app/shared/invert.js +2 -0
- package/dist/app/shared/photoswipe/composable.d.ts +9 -0
- package/dist/app/shared/photoswipe/composable.js +68 -0
- package/dist/app/shared/photoswipe/style.css +26 -0
- package/dist/context.d.ts +4 -0
- package/dist/context.js +1 -0
- package/dist/coreElement.d.ts +10 -0
- package/dist/coreElement.js +6 -0
- package/dist/elements/accent/Accent.vue +92 -0
- package/dist/elements/accent/AccentColumnSection.vue +61 -0
- package/dist/elements/accent/AccentRowSections.vue +65 -0
- package/dist/elements/accent/app.d.ts +21 -0
- package/dist/elements/accent/app.js +16 -0
- package/dist/elements/accent/core.d.ts +340 -0
- package/dist/elements/accent/core.js +175 -0
- package/dist/elements/callout/Callout.vue +88 -0
- package/dist/elements/callout/_global.d.ts +15 -0
- package/dist/elements/callout/app.d.ts +9 -0
- package/dist/elements/callout/app.js +11 -0
- package/dist/elements/callout/core.d.ts +80 -0
- package/dist/elements/callout/core.js +37 -0
- package/dist/elements/callout/icon.svg +3 -0
- package/dist/elements/callout/languages/en.d.ts +4 -0
- package/dist/elements/callout/languages/en.js +2 -0
- package/dist/elements/callout/languages/ru.d.ts +4 -0
- package/dist/elements/callout/languages/ru.js +2 -0
- package/dist/elements/callout/storage.d.ts +2 -0
- package/dist/elements/callout/storage.js +5 -0
- package/dist/elements/caption/Caption.vue +47 -0
- package/dist/elements/caption/_global.d.ts +26 -0
- package/dist/elements/caption/app.d.ts +9 -0
- package/dist/elements/caption/app.js +6 -0
- package/dist/elements/caption/core.d.ts +114 -0
- package/dist/elements/caption/core.js +61 -0
- package/dist/elements/details/Details.vue +51 -0
- package/dist/elements/details/_global.d.ts +27 -0
- package/dist/elements/details/app.d.ts +9 -0
- package/dist/elements/details/app.js +11 -0
- package/dist/elements/details/core.d.ts +68 -0
- package/dist/elements/details/core.js +30 -0
- package/dist/elements/details/icon.svg +3 -0
- package/dist/elements/details/languages/en.d.ts +4 -0
- package/dist/elements/details/languages/en.js +2 -0
- package/dist/elements/details/languages/ru.d.ts +4 -0
- package/dist/elements/details/languages/ru.js +2 -0
- package/dist/elements/diagram/Diagram.vue +364 -0
- package/dist/elements/diagram/_global.d.ts +19 -0
- package/dist/elements/diagram/app.d.ts +30 -0
- package/dist/elements/diagram/app.js +11 -0
- package/dist/elements/diagram/core.d.ts +194 -0
- package/dist/elements/diagram/core.js +36 -0
- package/dist/elements/diagram/icon.svg +3 -0
- package/dist/elements/diagram/languages/en.d.ts +4 -0
- package/dist/elements/diagram/languages/en.js +2 -0
- package/dist/elements/diagram/languages/ru.d.ts +4 -0
- package/dist/elements/diagram/languages/ru.js +2 -0
- package/dist/elements/emphasis/Emphasis.vue +25 -0
- package/dist/elements/emphasis/_global.d.ts +18 -0
- package/dist/elements/emphasis/app.d.ts +9 -0
- package/dist/elements/emphasis/app.js +6 -0
- package/dist/elements/emphasis/core.d.ts +90 -0
- package/dist/elements/emphasis/core.js +32 -0
- package/dist/elements/flex/Flex.vue +32 -0
- package/dist/elements/flex/_global.d.ts +23 -0
- package/dist/elements/flex/app.d.ts +9 -0
- package/dist/elements/flex/app.js +11 -0
- package/dist/elements/flex/core.d.ts +67 -0
- package/dist/elements/flex/core.js +28 -0
- package/dist/elements/flex/icon.svg +3 -0
- package/dist/elements/flex/languages/en.d.ts +4 -0
- package/dist/elements/flex/languages/en.js +2 -0
- package/dist/elements/flex/languages/ru.d.ts +4 -0
- package/dist/elements/flex/languages/ru.js +2 -0
- package/dist/elements/gallery/Gallery.vue +56 -0
- package/dist/elements/gallery/_global.d.ts +18 -0
- package/dist/elements/gallery/app.d.ts +23 -0
- package/dist/elements/gallery/app.js +11 -0
- package/dist/elements/gallery/core.d.ts +138 -0
- package/dist/elements/gallery/core.js +21 -0
- package/dist/elements/gallery/icon.svg +3 -0
- package/dist/elements/gallery/languages/en.d.ts +4 -0
- package/dist/elements/gallery/languages/en.js +2 -0
- package/dist/elements/gallery/languages/ru.d.ts +4 -0
- package/dist/elements/gallery/languages/ru.js +2 -0
- package/dist/elements/heading/Heading.vue +44 -0
- package/dist/elements/heading/_global.d.ts +45 -0
- package/dist/elements/heading/app.d.ts +9 -0
- package/dist/elements/heading/app.js +11 -0
- package/dist/elements/heading/core.d.ts +108 -0
- package/dist/elements/heading/core.js +52 -0
- package/dist/elements/heading/icon.svg +3 -0
- package/dist/elements/heading/languages/en.d.ts +4 -0
- package/dist/elements/heading/languages/en.js +2 -0
- package/dist/elements/heading/languages/ru.d.ts +4 -0
- package/dist/elements/heading/languages/ru.js +2 -0
- package/dist/elements/horizontalLine/HorizontalLine.vue +6 -0
- package/dist/elements/horizontalLine/_global.d.ts +17 -0
- package/dist/elements/horizontalLine/app.d.ts +9 -0
- package/dist/elements/horizontalLine/app.js +6 -0
- package/dist/elements/horizontalLine/core.d.ts +54 -0
- package/dist/elements/horizontalLine/core.js +19 -0
- package/dist/elements/image/Image.vue +15 -0
- package/dist/elements/image/ImageElement.vue +80 -0
- package/dist/elements/image/_global.d.ts +18 -0
- package/dist/elements/image/app.d.ts +16 -0
- package/dist/elements/image/app.js +11 -0
- package/dist/elements/image/core.d.ts +136 -0
- package/dist/elements/image/core.js +44 -0
- package/dist/elements/image/icon.svg +3 -0
- package/dist/elements/image/languages/en.d.ts +4 -0
- package/dist/elements/image/languages/en.js +2 -0
- package/dist/elements/image/languages/ru.d.ts +4 -0
- package/dist/elements/image/languages/ru.js +2 -0
- package/dist/elements/image/storage.d.ts +6 -0
- package/dist/elements/image/storage.js +23 -0
- package/dist/elements/lineBreak/LineBreak.vue +3 -0
- package/dist/elements/lineBreak/_global.d.ts +18 -0
- package/dist/elements/lineBreak/app.d.ts +9 -0
- package/dist/elements/lineBreak/app.js +6 -0
- package/dist/elements/lineBreak/core.d.ts +54 -0
- package/dist/elements/lineBreak/core.js +19 -0
- package/dist/elements/link/BlockLink.vue +111 -0
- package/dist/elements/link/Link.vue +93 -0
- package/dist/elements/link/core.d.ts +13 -0
- package/dist/elements/link/core.js +12 -0
- package/dist/elements/link/dependency/_global.d.ts +47 -0
- package/dist/elements/link/dependency/app.d.ts +16 -0
- package/dist/elements/link/dependency/app.js +14 -0
- package/dist/elements/link/dependency/core.d.ts +125 -0
- package/dist/elements/link/dependency/core.js +51 -0
- package/dist/elements/link/dependency/languages/en.d.ts +4 -0
- package/dist/elements/link/dependency/languages/en.js +2 -0
- package/dist/elements/link/dependency/languages/ru.d.ts +4 -0
- package/dist/elements/link/dependency/languages/ru.js +2 -0
- package/dist/elements/link/icon.svg +3 -0
- package/dist/elements/link/reference/_global.d.ts +49 -0
- package/dist/elements/link/reference/app.d.ts +16 -0
- package/dist/elements/link/reference/app.js +14 -0
- package/dist/elements/link/reference/core.d.ts +120 -0
- package/dist/elements/link/reference/core.js +35 -0
- package/dist/elements/link/reference/languages/en.d.ts +4 -0
- package/dist/elements/link/reference/languages/en.js +2 -0
- package/dist/elements/link/reference/languages/ru.d.ts +4 -0
- package/dist/elements/link/reference/languages/ru.js +2 -0
- package/dist/elements/link/storage.d.ts +34 -0
- package/dist/elements/link/storage.js +20 -0
- package/dist/elements/list/List.vue +63 -0
- package/dist/elements/list/_global.d.ts +50 -0
- package/dist/elements/list/app.d.ts +16 -0
- package/dist/elements/list/app.js +11 -0
- package/dist/elements/list/core.d.ts +169 -0
- package/dist/elements/list/core.js +49 -0
- package/dist/elements/list/icon.svg +3 -0
- package/dist/elements/list/languages/en.d.ts +4 -0
- package/dist/elements/list/languages/en.js +2 -0
- package/dist/elements/list/languages/ru.d.ts +4 -0
- package/dist/elements/list/languages/ru.js +2 -0
- package/dist/elements/math/_global.d.ts +72 -0
- package/dist/elements/math/_global.ts +3 -0
- package/dist/elements/math/app.d.ts +16 -0
- package/dist/elements/math/app.js +20 -0
- package/dist/elements/math/block.d.ts +75 -0
- package/dist/elements/math/block.js +115 -0
- package/dist/elements/math/components/BlockMath.vue +30 -0
- package/dist/elements/math/components/InlinerMath.vue +65 -0
- package/dist/elements/math/components/Katex.vue +89 -0
- package/dist/elements/math/components/MathGroup.vue +39 -0
- package/dist/elements/math/core.d.ts +66 -0
- package/dist/elements/math/core.js +11 -0
- package/dist/elements/math/icon.svg +3 -0
- package/dist/elements/math/inliner.d.ts +64 -0
- package/dist/elements/math/inliner.js +85 -0
- package/dist/elements/math/katex.d.ts +8 -0
- package/dist/elements/math/katex.js +18 -0
- package/dist/elements/math/languages/en.d.ts +4 -0
- package/dist/elements/math/languages/en.js +2 -0
- package/dist/elements/math/languages/ru.d.ts +4 -0
- package/dist/elements/math/languages/ru.js +2 -0
- package/dist/elements/math/macros.d.ts +13 -0
- package/dist/elements/math/macros.js +12 -0
- package/dist/elements/paragraph/Paragraph.vue +27 -0
- package/dist/elements/paragraph/_global.d.ts +27 -0
- package/dist/elements/paragraph/app.d.ts +9 -0
- package/dist/elements/paragraph/app.js +11 -0
- package/dist/elements/paragraph/core.d.ts +67 -0
- package/dist/elements/paragraph/core.js +29 -0
- package/dist/elements/paragraph/icon.svg +4 -0
- package/dist/elements/paragraph/languages/en.d.ts +4 -0
- package/dist/elements/paragraph/languages/en.js +2 -0
- package/dist/elements/paragraph/languages/ru.d.ts +4 -0
- package/dist/elements/paragraph/languages/ru.js +2 -0
- package/dist/elements/problem/_global.d.ts +112 -0
- package/dist/elements/problem/app.d.ts +30 -0
- package/dist/elements/problem/app.js +27 -0
- package/dist/elements/problem/assets/actions/answer.svg +3 -0
- package/dist/elements/problem/assets/actions/check.svg +3 -0
- package/dist/elements/problem/assets/actions/generate.svg +3 -0
- package/dist/elements/problem/assets/actions/hint.svg +3 -0
- package/dist/elements/problem/assets/actions/note.svg +3 -0
- package/dist/elements/problem/assets/actions/solution.svg +3 -0
- package/dist/elements/problem/assets/attributes/applied.svg +3 -0
- package/dist/elements/problem/assets/attributes/inter.svg +3 -0
- package/dist/elements/problem/assets/attributes/method.svg +3 -0
- package/dist/elements/problem/assets/attributes/pretty.svg +1 -0
- package/dist/elements/problem/assets/icon.svg +3 -0
- package/dist/elements/problem/components/Problem.vue +22 -0
- package/dist/elements/problem/components/ProblemButton.vue +21 -0
- package/dist/elements/problem/components/ProblemContainer.vue +9 -0
- package/dist/elements/problem/components/ProblemContent.vue +371 -0
- package/dist/elements/problem/components/ProblemExpander.vue +7 -0
- package/dist/elements/problem/components/ProblemExpanderSection.vue +58 -0
- package/dist/elements/problem/components/ProblemHeader.vue +106 -0
- package/dist/elements/problem/components/Problems.vue +87 -0
- package/dist/elements/problem/components/SubProblem.vue +14 -0
- package/dist/elements/problem/components/expanders/Check.vue +151 -0
- package/dist/elements/problem/components/expanders/Checks.vue +83 -0
- package/dist/elements/problem/components/expanders/DefaultPlusSections.vue +38 -0
- package/dist/elements/problem/components/expanders/Hint.vue +26 -0
- package/dist/elements/problem/composables/phrase.d.ts +2 -0
- package/dist/elements/problem/composables/phrase.js +7 -0
- package/dist/elements/problem/composables/problemScript.d.ts +3 -0
- package/dist/elements/problem/composables/problemScript.js +11 -0
- package/dist/elements/problem/core.d.ts +248 -0
- package/dist/elements/problem/core.js +17 -0
- package/dist/elements/problem/languages/en.d.ts +3 -0
- package/dist/elements/problem/languages/en.js +24 -0
- package/dist/elements/problem/languages/ru.d.ts +3 -0
- package/dist/elements/problem/languages/ru.js +24 -0
- package/dist/elements/problem/phrases.d.ts +16 -0
- package/dist/elements/problem/phrases.js +1 -0
- package/dist/elements/problem/problem.d.ts +106 -0
- package/dist/elements/problem/problem.js +37 -0
- package/dist/elements/problem/problemContent.d.ts +439 -0
- package/dist/elements/problem/problemContent.js +236 -0
- package/dist/elements/problem/problemScript.d.ts +26 -0
- package/dist/elements/problem/problemScript.js +79 -0
- package/dist/elements/problem/problems.d.ts +212 -0
- package/dist/elements/problem/problems.js +74 -0
- package/dist/elements/problem/rng.d.ts +18 -0
- package/dist/elements/problem/rng.js +76 -0
- package/dist/elements/problem/shared.d.ts +28 -0
- package/dist/elements/problem/shared.js +42 -0
- package/dist/elements/problem/step.d.ts +5 -0
- package/dist/elements/problem/step.js +13 -0
- package/dist/elements/problem/storage.d.ts +5 -0
- package/dist/elements/problem/storage.js +8 -0
- package/dist/elements/table/Table.vue +104 -0
- package/dist/elements/table/_global.d.ts +36 -0
- package/dist/elements/table/app.d.ts +30 -0
- package/dist/elements/table/app.js +11 -0
- package/dist/elements/table/core.d.ts +324 -0
- package/dist/elements/table/core.js +65 -0
- package/dist/elements/table/icon.svg +3 -0
- package/dist/elements/table/languages/en.d.ts +4 -0
- package/dist/elements/table/languages/en.js +2 -0
- package/dist/elements/table/languages/ru.d.ts +4 -0
- package/dist/elements/table/languages/ru.js +2 -0
- package/dist/elements/video/Video.vue +109 -0
- package/dist/elements/video/_global.d.ts +18 -0
- package/dist/elements/video/app.d.ts +16 -0
- package/dist/elements/video/app.js +11 -0
- package/dist/elements/video/core.d.ts +128 -0
- package/dist/elements/video/core.js +43 -0
- package/dist/elements/video/icon.svg +3 -0
- package/dist/elements/video/languages/en.d.ts +4 -0
- package/dist/elements/video/languages/en.js +2 -0
- package/dist/elements/video/languages/ru.d.ts +4 -0
- package/dist/elements/video/languages/ru.js +2 -0
- package/dist/elements/video/storage.d.ts +2 -0
- package/dist/elements/video/storage.js +5 -0
- package/dist/include.d.ts +6 -0
- package/dist/include.js +42 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +15 -0
- package/dist/rawElement.d.ts +6 -0
- package/dist/rawElement.js +3 -0
- package/dist/resolve.d.ts +20 -0
- package/dist/resolve.js +99 -0
- package/dist/resolveStep.d.ts +9 -0
- package/dist/resolveStep.js +3 -0
- package/dist/shared/filePath.d.ts +5 -0
- package/dist/shared/filePath.js +11 -0
- package/dist/shared/invert.d.ts +1 -0
- package/dist/shared/invert.js +1 -0
- package/dist/shared/paragraphWrap.d.ts +3 -0
- package/dist/shared/paragraphWrap.js +15 -0
- package/dist/shared/photoswipe.d.ts +10 -0
- package/dist/shared/photoswipe.js +10 -0
- package/dist/slugify/index.d.ts +1 -0
- package/dist/slugify/index.js +12 -0
- package/dist/slugify/languages/en.d.ts +2 -0
- package/dist/slugify/languages/en.js +3 -0
- package/dist/slugify/languages/ru.d.ts +2 -0
- package/dist/slugify/languages/ru.js +38 -0
- package/dist/snippet.d.ts +66 -0
- package/dist/snippet.js +57 -0
- package/dist/tag.d.ts +22 -0
- package/dist/tag.js +20 -0
- package/dist/title.d.ts +8 -0
- package/dist/title.js +6 -0
- package/dist/toc.d.ts +34 -0
- package/dist/toc.js +52 -0
- package/dist/utils/case.d.ts +4 -0
- package/dist/utils/case.js +8 -0
- package/dist/utils/docs.d.ts +1 -0
- package/dist/utils/docs.js +22 -0
- package/package.json +48 -0
- package/types.d.ts +4 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineRegistryItem, defineSchema, ensureTagChildren, ensureTagInlinerChildren } from "@jsprose/core";
|
|
2
|
+
import { defineEruditTag } from "../../tag.js";
|
|
3
|
+
import { captionSchema } from "../caption/core.js";
|
|
4
|
+
import { defineEruditProseCoreElements } from "../../coreElement.js";
|
|
5
|
+
//
|
|
6
|
+
// Table Data
|
|
7
|
+
//
|
|
8
|
+
export const tableDataSchema = defineSchema({
|
|
9
|
+
name: "tableData",
|
|
10
|
+
type: "inliner",
|
|
11
|
+
linkable: false
|
|
12
|
+
})();
|
|
13
|
+
export const Td = defineEruditTag({
|
|
14
|
+
tagName: "Td",
|
|
15
|
+
schema: tableDataSchema
|
|
16
|
+
})(({ element, children, tagName, registry }) => {
|
|
17
|
+
ensureTagInlinerChildren(tagName, children, registry);
|
|
18
|
+
element.children = children;
|
|
19
|
+
});
|
|
20
|
+
export const tableDataRegistryItem = defineRegistryItem({
|
|
21
|
+
schema: tableDataSchema,
|
|
22
|
+
tags: [Td]
|
|
23
|
+
});
|
|
24
|
+
//
|
|
25
|
+
// Table Row
|
|
26
|
+
//
|
|
27
|
+
export const tableRowSchema = defineSchema({
|
|
28
|
+
name: "tableRow",
|
|
29
|
+
type: "inliner",
|
|
30
|
+
linkable: false
|
|
31
|
+
})();
|
|
32
|
+
export const Tr = defineEruditTag({
|
|
33
|
+
tagName: "Tr",
|
|
34
|
+
schema: tableRowSchema
|
|
35
|
+
})(({ element, children, tagName }) => {
|
|
36
|
+
ensureTagChildren(tagName, children, tableDataSchema);
|
|
37
|
+
element.children = children;
|
|
38
|
+
});
|
|
39
|
+
export const tableRowRegistryItem = defineRegistryItem({
|
|
40
|
+
schema: tableRowSchema,
|
|
41
|
+
tags: [Tr]
|
|
42
|
+
});
|
|
43
|
+
//
|
|
44
|
+
// Table
|
|
45
|
+
//
|
|
46
|
+
export const tableSchema = defineSchema({
|
|
47
|
+
name: "table",
|
|
48
|
+
type: "block",
|
|
49
|
+
linkable: true
|
|
50
|
+
})();
|
|
51
|
+
export const Table = defineEruditTag({
|
|
52
|
+
tagName: "Table",
|
|
53
|
+
schema: tableSchema
|
|
54
|
+
})(({ element, children, tagName }) => {
|
|
55
|
+
ensureTagChildren(tagName, children, [tableRowSchema, captionSchema]);
|
|
56
|
+
element.children = children;
|
|
57
|
+
});
|
|
58
|
+
export const tableRegistryItem = defineRegistryItem({
|
|
59
|
+
schema: tableSchema,
|
|
60
|
+
tags: [Table]
|
|
61
|
+
});
|
|
62
|
+
//
|
|
63
|
+
// Erudit Core Elements
|
|
64
|
+
//
|
|
65
|
+
export default defineEruditProseCoreElements({ registryItem: tableDataRegistryItem }, { registryItem: tableRowRegistryItem }, { registryItem: tableRegistryItem });
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
2
|
+
<path d="M2.8,23.9c-.7,0-1.3-.3-1.9-.8-.5-.5-.8-1.1-.8-1.9V2.8C.1,2,.4,1.4.9.9,1.4.4,2,.1,2.8.1h18.5c.7,0,1.3.3,1.9.8s.8,1.1.8,1.9v18.5c0,.7-.3,1.3-.8,1.9-.5.5-1.1.8-1.9.8H2.8ZM10.7,16H2.8v5.3h7.9v-5.3ZM13.3,16v5.3h7.9v-5.3h-7.9ZM10.7,13.3v-5.3H2.8v5.3h7.9ZM13.3,13.3h7.9v-5.3h-7.9v5.3ZM2.8,5.4h18.5v-2.6H2.8v2.6Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { onMounted, onUnmounted, ref, useTemplateRef } from 'vue';
|
|
3
|
+
import type { ProseElement } from '@jsprose/core';
|
|
4
|
+
|
|
5
|
+
import type { videoSchema } from './core.js';
|
|
6
|
+
import { useElementStorage } from '../../app/composables/storage.js';
|
|
7
|
+
import { lightInvert, darkInvert } from '../../app/shared/invert.js';
|
|
8
|
+
import Block from '../../app/shared/block/Block.vue';
|
|
9
|
+
import Caption from '../caption/Caption.vue';
|
|
10
|
+
|
|
11
|
+
const { element } = defineProps<{
|
|
12
|
+
element: ProseElement<typeof videoSchema>;
|
|
13
|
+
}>();
|
|
14
|
+
const videoStorage = await useElementStorage<typeof videoSchema>(element);
|
|
15
|
+
|
|
16
|
+
const videoElement = useTemplateRef('video');
|
|
17
|
+
const observer = ref<IntersectionObserver | null>(null);
|
|
18
|
+
|
|
19
|
+
const wasInViewport = ref(false);
|
|
20
|
+
const manuallyPaused = ref(false);
|
|
21
|
+
|
|
22
|
+
if (!element.data.autoplay) {
|
|
23
|
+
wasInViewport.value = true;
|
|
24
|
+
manuallyPaused.value = true;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
onMounted(() => {
|
|
28
|
+
if (!videoElement.value) return;
|
|
29
|
+
|
|
30
|
+
const video = videoElement.value;
|
|
31
|
+
|
|
32
|
+
const options: IntersectionObserverInit = {
|
|
33
|
+
rootMargin: '0px 0px 75px 0px',
|
|
34
|
+
threshold: 0,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
observer.value = new IntersectionObserver((entries) => {
|
|
38
|
+
const entry = entries[0]!;
|
|
39
|
+
try {
|
|
40
|
+
if (entry.isIntersecting) {
|
|
41
|
+
wasInViewport.value = true;
|
|
42
|
+
if (!manuallyPaused.value) video.play();
|
|
43
|
+
} else {
|
|
44
|
+
// When the video is not in the viewport:
|
|
45
|
+
if (wasInViewport.value) {
|
|
46
|
+
// Video was in viewport before.
|
|
47
|
+
// If it is now leaving already paused then of course it was the user, who manually paused it.
|
|
48
|
+
manuallyPaused.value = video.paused;
|
|
49
|
+
} else {
|
|
50
|
+
// Video was never in viewport before and user had no chance to pause it.
|
|
51
|
+
manuallyPaused.value = false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
video.pause();
|
|
55
|
+
}
|
|
56
|
+
} catch {}
|
|
57
|
+
}, options);
|
|
58
|
+
|
|
59
|
+
observer.value.observe(video);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
onUnmounted(() => {
|
|
63
|
+
if (observer.value) {
|
|
64
|
+
observer.value.disconnect();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<Block :element>
|
|
71
|
+
<video
|
|
72
|
+
ref="video"
|
|
73
|
+
:src="videoStorage.resolvedSrc"
|
|
74
|
+
preload="metadata"
|
|
75
|
+
loop
|
|
76
|
+
muted
|
|
77
|
+
controls
|
|
78
|
+
:class="[
|
|
79
|
+
'm-auto rounded-xl',
|
|
80
|
+
{
|
|
81
|
+
[lightInvert + ' ' + $style.invertLight]:
|
|
82
|
+
element.data.invert === 'light',
|
|
83
|
+
[darkInvert + ' ' + $style.invertDark]:
|
|
84
|
+
element.data.invert === 'dark',
|
|
85
|
+
},
|
|
86
|
+
]"
|
|
87
|
+
v-bind="
|
|
88
|
+
element.data.width
|
|
89
|
+
? {
|
|
90
|
+
style: {
|
|
91
|
+
width: element.data.width,
|
|
92
|
+
maxWidth: `min(${element.data.width}, 100%)`,
|
|
93
|
+
},
|
|
94
|
+
}
|
|
95
|
+
: {}
|
|
96
|
+
"
|
|
97
|
+
></video>
|
|
98
|
+
<Caption v-if="element.children" :caption="element.children[0]" />
|
|
99
|
+
</Block>
|
|
100
|
+
</template>
|
|
101
|
+
|
|
102
|
+
<style module>
|
|
103
|
+
:root[data-theme='light'] .invertLight,
|
|
104
|
+
:root[data-theme='dark'] .invertDark {
|
|
105
|
+
&::-webkit-media-controls-panel {
|
|
106
|
+
filter: invert(1) hue-rotate(180deg);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Caution:** images should be placed locally somewhere within current Erudit project folder
|
|
3
|
+
* (preferable somewhere near the document using them).
|
|
4
|
+
*
|
|
5
|
+
* @title Video
|
|
6
|
+
* @layout block
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* // import vectorProjection from './assets/vector-projection.mp4';
|
|
10
|
+
* <Video src={vectorProjection} width="400px" invert="dark" />
|
|
11
|
+
*
|
|
12
|
+
* // import complexDiagram from './assets/complex-diagram.mp4';
|
|
13
|
+
* <Video src={complexDiagram} autoplay>
|
|
14
|
+
* <Caption>Complex diagram example</Caption>
|
|
15
|
+
* </Video>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export const Video = '_tag_';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import("../../app/appElement.js").AppElement<{
|
|
2
|
+
name: "video";
|
|
3
|
+
type: "block";
|
|
4
|
+
linkable: true;
|
|
5
|
+
Data: import("./core.js").VideoData;
|
|
6
|
+
Storage: import("./core.js").VideoStorage;
|
|
7
|
+
Children: [{
|
|
8
|
+
name: "caption";
|
|
9
|
+
type: "inliner";
|
|
10
|
+
linkable: false;
|
|
11
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
12
|
+
Storage: undefined;
|
|
13
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
14
|
+
}] | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { defineEruditProseAppElement } from "../../app/appElement.js";
|
|
2
|
+
import { videoSchema } from "./core.js";
|
|
3
|
+
export default defineEruditProseAppElement({
|
|
4
|
+
schema: videoSchema,
|
|
5
|
+
component: () => import("./Video.vue"),
|
|
6
|
+
languages: {
|
|
7
|
+
en: () => import("./languages/en.js"),
|
|
8
|
+
ru: () => import("./languages/ru.js")
|
|
9
|
+
},
|
|
10
|
+
icon: () => import("./icon.svg?raw")
|
|
11
|
+
});
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { Invert } from '../../shared/invert.js';
|
|
2
|
+
export interface VideoData {
|
|
3
|
+
src: string;
|
|
4
|
+
autoplay?: boolean;
|
|
5
|
+
invert?: Invert;
|
|
6
|
+
width?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface VideoStorage {
|
|
9
|
+
resolvedSrc: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const videoSchema: {
|
|
12
|
+
name: "video";
|
|
13
|
+
type: "block";
|
|
14
|
+
linkable: true;
|
|
15
|
+
Data: VideoData;
|
|
16
|
+
Storage: VideoStorage;
|
|
17
|
+
Children: [{
|
|
18
|
+
name: "caption";
|
|
19
|
+
type: "inliner";
|
|
20
|
+
linkable: false;
|
|
21
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
22
|
+
Storage: undefined;
|
|
23
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
24
|
+
}] | undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare const Video: import("@jsprose/core").Tag<"Video", {
|
|
27
|
+
name: "video";
|
|
28
|
+
type: "block";
|
|
29
|
+
linkable: true;
|
|
30
|
+
Data: VideoData;
|
|
31
|
+
Storage: VideoStorage;
|
|
32
|
+
Children: [{
|
|
33
|
+
name: "caption";
|
|
34
|
+
type: "inliner";
|
|
35
|
+
linkable: false;
|
|
36
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
37
|
+
Storage: undefined;
|
|
38
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
39
|
+
}] | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
src: string;
|
|
42
|
+
autoplay?: boolean;
|
|
43
|
+
invert?: Invert;
|
|
44
|
+
width?: string;
|
|
45
|
+
children?: {};
|
|
46
|
+
} & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
|
|
47
|
+
export declare const videoRegistryItem: import("@jsprose/core").RegistryItem<{
|
|
48
|
+
name: "video";
|
|
49
|
+
type: "block";
|
|
50
|
+
linkable: true;
|
|
51
|
+
Data: VideoData;
|
|
52
|
+
Storage: VideoStorage;
|
|
53
|
+
Children: [{
|
|
54
|
+
name: "caption";
|
|
55
|
+
type: "inliner";
|
|
56
|
+
linkable: false;
|
|
57
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
58
|
+
Storage: undefined;
|
|
59
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
60
|
+
}] | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
Video: import("@jsprose/core").Tag<"Video", {
|
|
63
|
+
name: "video";
|
|
64
|
+
type: "block";
|
|
65
|
+
linkable: true;
|
|
66
|
+
Data: VideoData;
|
|
67
|
+
Storage: VideoStorage;
|
|
68
|
+
Children: [{
|
|
69
|
+
name: "caption";
|
|
70
|
+
type: "inliner";
|
|
71
|
+
linkable: false;
|
|
72
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
73
|
+
Storage: undefined;
|
|
74
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
75
|
+
}] | undefined;
|
|
76
|
+
}, {
|
|
77
|
+
src: string;
|
|
78
|
+
autoplay?: boolean;
|
|
79
|
+
invert?: Invert;
|
|
80
|
+
width?: string;
|
|
81
|
+
children?: {};
|
|
82
|
+
} & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
|
|
83
|
+
}, undefined>;
|
|
84
|
+
declare const _default: {
|
|
85
|
+
registryItem: import("@jsprose/core").RegistryItem<{
|
|
86
|
+
name: "video";
|
|
87
|
+
type: "block";
|
|
88
|
+
linkable: true;
|
|
89
|
+
Data: VideoData;
|
|
90
|
+
Storage: VideoStorage;
|
|
91
|
+
Children: [{
|
|
92
|
+
name: "caption";
|
|
93
|
+
type: "inliner";
|
|
94
|
+
linkable: false;
|
|
95
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
96
|
+
Storage: undefined;
|
|
97
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
98
|
+
}] | undefined;
|
|
99
|
+
}, {
|
|
100
|
+
Video: import("@jsprose/core").Tag<"Video", {
|
|
101
|
+
name: "video";
|
|
102
|
+
type: "block";
|
|
103
|
+
linkable: true;
|
|
104
|
+
Data: VideoData;
|
|
105
|
+
Storage: VideoStorage;
|
|
106
|
+
Children: [{
|
|
107
|
+
name: "caption";
|
|
108
|
+
type: "inliner";
|
|
109
|
+
linkable: false;
|
|
110
|
+
Data: import("../caption/core.js").CaptionData | undefined;
|
|
111
|
+
Storage: undefined;
|
|
112
|
+
Children: import("@jsprose/core").InlinerSchema[];
|
|
113
|
+
}] | undefined;
|
|
114
|
+
}, {
|
|
115
|
+
src: string;
|
|
116
|
+
autoplay?: boolean;
|
|
117
|
+
invert?: Invert;
|
|
118
|
+
width?: string;
|
|
119
|
+
children?: {};
|
|
120
|
+
} & import("../../toc.js").ObjPropToc & import("../../snippet.js").ObjPropSnippet & import("../../snippet.js").ObjPropSearch & import("../../snippet.js").ObjPropQuick & import("../../snippet.js").ObjPropSeo>;
|
|
121
|
+
}, undefined>;
|
|
122
|
+
};
|
|
123
|
+
export default _default;
|
|
124
|
+
export declare const videoSrcStep: ({ rawElement }: {
|
|
125
|
+
context: import("../../context.js").EruditProseContext;
|
|
126
|
+
rawElement: import("../../rawElement.js").EruditRawElement<import("@jsprose/core").AnySchema>;
|
|
127
|
+
proseElement: import("@jsprose/core").ProseElement<import("@jsprose/core").AnySchema>;
|
|
128
|
+
}) => string | undefined;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineRegistryItem, defineSchema, ensureTagChild, isRawElement } from "@jsprose/core";
|
|
2
|
+
import { captionSchema } from "../caption/core.js";
|
|
3
|
+
import { defineEruditTag } from "../../tag.js";
|
|
4
|
+
import { defineEruditProseCoreElement } from "../../coreElement.js";
|
|
5
|
+
import { defineResolveStep } from "../../resolveStep.js";
|
|
6
|
+
export const videoSchema = defineSchema({
|
|
7
|
+
name: "video",
|
|
8
|
+
type: "block",
|
|
9
|
+
linkable: true
|
|
10
|
+
})();
|
|
11
|
+
export const Video = defineEruditTag({
|
|
12
|
+
tagName: "Video",
|
|
13
|
+
schema: videoSchema
|
|
14
|
+
})(({ element, tagName, props, children }) => {
|
|
15
|
+
if (children) {
|
|
16
|
+
ensureTagChild(tagName, children, captionSchema);
|
|
17
|
+
element.children = children;
|
|
18
|
+
}
|
|
19
|
+
element.data = { src: props.src };
|
|
20
|
+
element.storageKey = props.src;
|
|
21
|
+
if (props.autoplay !== undefined) {
|
|
22
|
+
element.data.autoplay = props.autoplay;
|
|
23
|
+
}
|
|
24
|
+
if (props.width) {
|
|
25
|
+
element.data.width = props.width;
|
|
26
|
+
}
|
|
27
|
+
if (props.invert) {
|
|
28
|
+
element.data.invert = props.invert;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
export const videoRegistryItem = defineRegistryItem({
|
|
32
|
+
schema: videoSchema,
|
|
33
|
+
tags: [Video]
|
|
34
|
+
});
|
|
35
|
+
export default defineEruditProseCoreElement({ registryItem: videoRegistryItem });
|
|
36
|
+
//
|
|
37
|
+
// Resolve
|
|
38
|
+
//
|
|
39
|
+
export const videoSrcStep = defineResolveStep(({ rawElement }) => {
|
|
40
|
+
if (isRawElement(rawElement, videoSchema)) {
|
|
41
|
+
return rawElement.data.src;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
2
|
+
<path d="M10.4,16.4l5.8-3.7c.3-.2.4-.4.4-.7s-.1-.6-.4-.7l-5.8-3.7c-.3-.2-.6-.2-.9,0s-.5.4-.5.8v7.4c0,.4.2.6.5.8s.6.2.9,0ZM12,23.8c-1.6,0-3.2-.3-4.6-.9s-2.7-1.5-3.8-2.5-1.9-2.3-2.5-3.8S.2,13.6.2,12s.3-3.2.9-4.6,1.5-2.7,2.5-3.8,2.3-1.9,3.8-2.5S10.4.2,12,.2s3.2.3,4.6.9,2.7,1.5,3.8,2.5,1.9,2.3,2.5,3.8.9,3,.9,4.6-.3,3.2-.9,4.6-1.5,2.7-2.5,3.8-2.3,1.9-3.8,2.5-3,.9-4.6.9ZM12,21.5c2.6,0,4.9-.9,6.7-2.8s2.8-4.1,2.8-6.7-.9-4.9-2.8-6.7-4.1-2.8-6.7-2.8-4.9.9-6.7,2.8-2.8,4.1-2.8,6.7.9,4.9,2.8,6.7,4.1,2.8,6.7,2.8Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { projectRelFilePath } from "../../shared/filePath.js";
|
|
2
|
+
export function createVideoStorage(projectAbsPath, projectBaseUrl, videoAbsoluteSrc) {
|
|
3
|
+
const resolvedSrc = projectBaseUrl + "file/" + projectRelFilePath(projectAbsPath, videoAbsoluteSrc);
|
|
4
|
+
return { resolvedSrc };
|
|
5
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type AnySchema, type AnyUnique, type RawElement } from '@jsprose/core';
|
|
2
|
+
export declare function Include(props: {
|
|
3
|
+
children: AnyUnique | RawElement<AnySchema>;
|
|
4
|
+
toc?: true | string;
|
|
5
|
+
}): RawElement<AnySchema>;
|
|
6
|
+
export declare function isIncludedRawElement(rawElement: RawElement<AnySchema>): boolean;
|
package/dist/include.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isUnique } from "@jsprose/core";
|
|
2
|
+
import { finalizeToc } from "./toc.js";
|
|
3
|
+
const includedKey = "__ERUDIT_included";
|
|
4
|
+
export function Include(props) {
|
|
5
|
+
const rawElement = isUnique(props.children) ? props.children.rawElement : props.children;
|
|
6
|
+
function augmentRawElement(element) {
|
|
7
|
+
const isRoot = element === rawElement;
|
|
8
|
+
if (isRoot) {
|
|
9
|
+
if (props.toc) {
|
|
10
|
+
if (props.toc === true) {
|
|
11
|
+
element.toc = finalizeToc({
|
|
12
|
+
props: { toc: props.toc },
|
|
13
|
+
element
|
|
14
|
+
});
|
|
15
|
+
} else {
|
|
16
|
+
element.toc = {
|
|
17
|
+
add: true,
|
|
18
|
+
title: props.toc
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
} else {
|
|
22
|
+
delete element.toc;
|
|
23
|
+
}
|
|
24
|
+
} else {
|
|
25
|
+
delete element.toc;
|
|
26
|
+
}
|
|
27
|
+
delete element.snippet;
|
|
28
|
+
delete element.snippetFlags;
|
|
29
|
+
delete element.uniqueName;
|
|
30
|
+
element[includedKey] = true;
|
|
31
|
+
if (element.children) {
|
|
32
|
+
for (const child of element.children) {
|
|
33
|
+
augmentRawElement(child);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
augmentRawElement(rawElement);
|
|
38
|
+
return rawElement;
|
|
39
|
+
}
|
|
40
|
+
export function isIncludedRawElement(rawElement) {
|
|
41
|
+
return rawElement[includedKey] === true;
|
|
42
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './coreElement.js';
|
|
2
|
+
export * from './rawElement.js';
|
|
3
|
+
export * from './resolve.js';
|
|
4
|
+
export * from './tag.js';
|
|
5
|
+
export * from './snippet.js';
|
|
6
|
+
export * from './toc.js';
|
|
7
|
+
export * from './title.js';
|
|
8
|
+
export * from './resolveStep.js';
|
|
9
|
+
export * from './include.js';
|
|
10
|
+
export * from './slugify/index.js';
|
|
11
|
+
export * from './utils/docs.js';
|
|
12
|
+
export * from './utils/case.js';
|
|
13
|
+
export * from './shared/filePath.js';
|
|
14
|
+
export * from './shared/invert.js';
|
|
15
|
+
export * from './shared/photoswipe.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./coreElement.js";
|
|
2
|
+
export * from "./rawElement.js";
|
|
3
|
+
export * from "./resolve.js";
|
|
4
|
+
export * from "./tag.js";
|
|
5
|
+
export * from "./snippet.js";
|
|
6
|
+
export * from "./toc.js";
|
|
7
|
+
export * from "./title.js";
|
|
8
|
+
export * from "./resolveStep.js";
|
|
9
|
+
export * from "./include.js";
|
|
10
|
+
export * from "./slugify/index.js";
|
|
11
|
+
export * from "./utils/docs.js";
|
|
12
|
+
export * from "./utils/case.js";
|
|
13
|
+
export * from "./shared/filePath.js";
|
|
14
|
+
export * from "./shared/invert.js";
|
|
15
|
+
export * from "./shared/photoswipe.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AnySchema, RawElement, schemaKind } from '@jsprose/core';
|
|
2
|
+
import type { ObjRawElementSnippet } from './snippet.js';
|
|
3
|
+
import type { ObjRawElementToc } from './toc.js';
|
|
4
|
+
import type { ObjRawElementTitle } from './title.js';
|
|
5
|
+
export type EruditRawElement<TSchema extends AnySchema, TTagName extends string = string> = RawElement<TSchema, TTagName> & ObjRawElementSnippet & ObjRawElementToc & ObjRawElementTitle;
|
|
6
|
+
export declare function asEruditRaw<TSchema extends AnySchema, TRawElement extends RawElement<TSchema>>(rawElement: TRawElement): EruditRawElement<TRawElement[typeof schemaKind], TRawElement['tagName']>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { resolveRawElement, type AnySchema, type ProseElement } from '@jsprose/core';
|
|
2
|
+
import type { EruditRawElement } from './rawElement.js';
|
|
3
|
+
import type { EruditProseContext } from './context.js';
|
|
4
|
+
import { type ResolvedSnippet } from './snippet.js';
|
|
5
|
+
import { type ResolvedTocItem } from './toc.js';
|
|
6
|
+
import type { ResolveStep } from './resolveStep.js';
|
|
7
|
+
export declare function resolveEruditRawElement(args: {
|
|
8
|
+
context: EruditProseContext;
|
|
9
|
+
rawElement: EruditRawElement<AnySchema>;
|
|
10
|
+
step?: ResolveStep;
|
|
11
|
+
}): Promise<Awaited<ReturnType<typeof resolveRawElement>> & ResolvedEruditRawElement>;
|
|
12
|
+
export interface ResolvedEruditRawElement {
|
|
13
|
+
proseElement: ProseElement<AnySchema>;
|
|
14
|
+
snippets: ResolvedSnippet[];
|
|
15
|
+
tocItems: ResolvedTocItem[];
|
|
16
|
+
dependencies: Set<string>;
|
|
17
|
+
files: Set<string>;
|
|
18
|
+
problemScripts: Set<string>;
|
|
19
|
+
uniqueTitles: Record<string, string>;
|
|
20
|
+
}
|