@stego-labs/engine 1.0.1 → 1.0.3
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 +75 -63
- package/dist/stego-engine/src/collections/index.d.ts +2 -2
- package/dist/stego-engine/src/collections/index.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/index.js +1 -1
- package/dist/stego-engine/src/collections/index.js.map +1 -1
- package/dist/stego-engine/src/collections/internal/grouping.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/internal/grouping.js +1 -17
- package/dist/stego-engine/src/collections/internal/grouping.js.map +1 -1
- package/dist/stego-engine/src/collections/internal/sorting.d.ts +2 -1
- package/dist/stego-engine/src/collections/internal/sorting.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/public/types.d.ts +1 -10
- package/dist/stego-engine/src/collections/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/compile/internal/load-content.d.ts +7 -0
- package/dist/stego-engine/src/compile/internal/load-content.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-content.js +151 -0
- package/dist/stego-engine/src/compile/internal/load-content.js.map +1 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.d.ts.map +1 -1
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js +5 -12
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js.map +1 -1
- package/dist/stego-engine/src/compile/public/compileProject.js +2 -2
- package/dist/stego-engine/src/compile/public/compileProject.js.map +1 -1
- package/dist/stego-engine/src/compile/public/types.d.ts +4 -4
- package/dist/stego-engine/src/compile/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/index.d.ts +5 -3
- package/dist/stego-engine/src/index.d.ts.map +1 -1
- package/dist/stego-engine/src/index.js +2 -1
- package/dist/stego-engine/src/index.js.map +1 -1
- package/dist/stego-engine/src/ir/index.d.ts +3 -0
- package/dist/stego-engine/src/ir/index.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/index.js +3 -0
- package/dist/stego-engine/src/ir/index.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/heading.d.ts +2 -2
- package/dist/stego-engine/src/ir/nodes/heading.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/heading.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/keep-together.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.js +7 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/link.d.ts +6 -0
- package/dist/stego-engine/src/ir/nodes/link.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/link.js +10 -0
- package/dist/stego-engine/src/ir/nodes/link.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts +7 -1
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/markdown.js +3 -2
- package/dist/stego-engine/src/ir/nodes/markdown.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts +2 -2
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/paragraph.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/plain-text.d.ts +9 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.js +8 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.js.map +1 -0
- package/dist/stego-engine/src/ir/types.d.ts +28 -4
- package/dist/stego-engine/src/ir/types.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts +2 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js +9 -3
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts +6 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js +198 -19
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js.map +1 -1
- package/dist/stego-engine/src/render/public/renderDocument.js +1 -1
- package/dist/stego-engine/src/render/public/renderDocument.js.map +1 -1
- package/dist/stego-engine/src/render/public/types.d.ts +8 -0
- package/dist/stego-engine/src/render/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/template/index.d.ts +4 -2
- package/dist/stego-engine/src/template/index.d.ts.map +1 -1
- package/dist/stego-engine/src/template/index.js +1 -1
- package/dist/stego-engine/src/template/index.js.map +1 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts +8 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.js +158 -2
- package/dist/stego-engine/src/template/internal/evaluate-template.js.map +1 -1
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts +2 -2
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/jsx-runtime.js.map +1 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts +2 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.js +9 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.js.map +1 -1
- package/dist/stego-engine/src/template/public/authoring.d.ts +3 -1
- package/dist/stego-engine/src/template/public/authoring.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/components.d.ts +136 -17
- package/dist/stego-engine/src/template/public/components.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/components.js +46 -6
- package/dist/stego-engine/src/template/public/components.js.map +1 -1
- package/dist/stego-engine/src/template/public/context.d.ts +1 -1
- package/dist/stego-engine/src/template/public/context.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts +6 -3
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/defineTemplate.js +27 -2
- package/dist/stego-engine/src/template/public/defineTemplate.js.map +1 -1
- package/dist/stego-engine/src/template/public/types.d.ts +38 -29
- package/dist/stego-engine/src/template/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/test/index.d.ts +2 -0
- package/dist/stego-engine/src/test/index.d.ts.map +1 -0
- package/dist/stego-engine/src/test/index.js +2 -0
- package/dist/stego-engine/src/test/index.js.map +1 -0
- package/dist/stego-engine/src/test/template-generic-types.test.d.ts +2 -0
- package/dist/stego-engine/src/test/template-generic-types.test.d.ts.map +1 -0
- package/dist/stego-engine/src/test/template-generic-types.test.js +77 -0
- package/dist/stego-engine/src/test/template-generic-types.test.js.map +1 -0
- package/package.json +6 -2
- package/dist/stego-engine/src/collections/public/createCollection.d.ts +0 -3
- package/dist/stego-engine/src/collections/public/createCollection.d.ts.map +0 -1
- package/dist/stego-engine/src/collections/public/createCollection.js +0 -31
- package/dist/stego-engine/src/collections/public/createCollection.js.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts +0 -3
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js +0 -70
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts +0 -7
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-spine.js +0 -92
- package/dist/stego-engine/src/compile/internal/load-spine.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,yBAAiB,GAAG,CAAC;IACnB,KAAY,OAAO,GACf,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,CAAC;IAClB,KAAY,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IAClD,UAAiB,wBAAwB;QACvC,QAAQ,EAAE,OAAO,CAAC;KACnB;IACD,UAAiB,iBAAiB;KAAG;IACrC,UAAiB,mBAAmB;QAClC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB;CACF;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACnD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACpD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER"}
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,yBAAiB,GAAG,CAAC;IACnB,KAAY,OAAO,GACf,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,GACb,aAAa,CAAC;IAClB,KAAY,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IAClD,UAAiB,wBAAwB;QACvC,QAAQ,EAAE,OAAO,CAAC;KACnB;IACD,UAAiB,iBAAiB;KAAG;IACrC,UAAiB,mBAAmB;QAClC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB;CACF;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACnD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACpD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,CAAC;AA4BpB,MAAM,UAAU,GAAG,CACjB,IAA8B,EAC9B,KAAY;IAEZ,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAA8B,EAC9B,KAAY;IAEZ,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CACpB,IAA8B,EAC9B,KAAY;IAEZ,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type StegoNode } from "../../ir/index.ts";
|
|
1
|
+
import { type StegoInlineNode, type StegoNode } from "../../ir/index.ts";
|
|
2
2
|
export declare function normalizeChildren(input: unknown): StegoNode[];
|
|
3
|
+
export declare function normalizeInlineChildren(input: unknown): StegoInlineNode[];
|
|
3
4
|
//# sourceMappingURL=normalizeChildren.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeChildren.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"normalizeChildren.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAI7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAQzE"}
|
|
@@ -4,6 +4,15 @@ export function normalizeChildren(input) {
|
|
|
4
4
|
appendChildren(nodes, input);
|
|
5
5
|
return nodes;
|
|
6
6
|
}
|
|
7
|
+
export function normalizeInlineChildren(input) {
|
|
8
|
+
const nodes = normalizeChildren(input);
|
|
9
|
+
for (const node of nodes) {
|
|
10
|
+
if (node.kind !== "text" && node.kind !== "link") {
|
|
11
|
+
throw new Error(`Only inline children are supported here in V1. Received '${node.kind}'.`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return nodes;
|
|
15
|
+
}
|
|
7
16
|
function appendChildren(nodes, input) {
|
|
8
17
|
if (input == null || typeof input === "boolean") {
|
|
9
18
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeChildren.js","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"normalizeChildren.js","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwC,MAAM,mBAAmB,CAAC;AAEzF,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,KAA0B,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB,EAAE,KAAc;IACxD,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,MAAM,IAAI,KAAK;WACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { defineTemplate } from "./defineTemplate.ts";
|
|
2
2
|
export { Stego } from "./components.ts";
|
|
3
|
-
export type {
|
|
3
|
+
export type { ProjectMetadata, LeafMetadata, BranchMetadata, ProjectRecord, LeafRecord, BranchRecord, TemplateContext, StegoTemplate, TemplateDefinitionOptions } from "./types.ts";
|
|
4
|
+
export type { StegoApi } from "./components.ts";
|
|
5
|
+
export type { ExportTarget, PresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
4
6
|
//# sourceMappingURL=authoring.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/authoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { type AlignValue, type IndentValue, type InsetValue, type PageRegionSpec, type PageSpec, type SizeValue, type SpacingValue, type StegoDocumentNode, type StegoFragmentNode, type StegoHeadingNode, type StegoImageNode, type StegoMarkdownNode, type StegoPageBreakNode, type StegoPageNumberNode, type StegoPageTemplateNode, type StegoParagraphNode, type StegoSectionNode } from "../../ir/index.ts";
|
|
2
|
-
|
|
1
|
+
import { type AlignValue, type IndentValue, type InsetValue, type PageRegionSpec, type PageSpec, type SizeValue, type SpacingValue, type StegoDocumentNode, type StegoFragmentNode, type StegoHeadingNode, type StegoImageNode, type StegoLinkNode, type StegoKeepTogetherNode, type StegoMarkdownNode, type StegoPageBreakNode, type StegoPageNumberNode, type StegoPageTemplateNode, type StegoPlainTextNode, type StegoParagraphNode, type StegoSectionNode } from "../../ir/index.ts";
|
|
2
|
+
import { type Group, type GroupSelector, type SplitGroup } from "../../collections/index.ts";
|
|
3
|
+
import type { LeafMetadata, LeafRecord } from "./types.ts";
|
|
4
|
+
import type { PresentationTarget, TemplateCapability } from "@stego-labs/shared/domain/templates";
|
|
5
|
+
import { TARGET_CAPABILITIES } from "@stego-labs/shared/domain/templates";
|
|
6
|
+
export type DocumentProps = {
|
|
3
7
|
page?: PageSpec;
|
|
4
8
|
children?: unknown;
|
|
5
|
-
}
|
|
6
|
-
export
|
|
7
|
-
children?: unknown;
|
|
8
|
-
}): StegoFragmentNode;
|
|
9
|
-
export declare function Section(props: {
|
|
9
|
+
};
|
|
10
|
+
export type SectionProps = {
|
|
10
11
|
role?: StegoSectionNode["role"];
|
|
11
12
|
id?: string;
|
|
12
13
|
spaceBefore?: SpacingValue;
|
|
@@ -16,8 +17,8 @@ export declare function Section(props: {
|
|
|
16
17
|
firstLineIndent?: IndentValue;
|
|
17
18
|
align?: AlignValue;
|
|
18
19
|
children?: unknown;
|
|
19
|
-
}
|
|
20
|
-
export
|
|
20
|
+
};
|
|
21
|
+
export type HeadingProps = {
|
|
21
22
|
level: StegoHeadingNode["level"];
|
|
22
23
|
spaceBefore?: SpacingValue;
|
|
23
24
|
spaceAfter?: SpacingValue;
|
|
@@ -25,8 +26,8 @@ export declare function Heading(props: {
|
|
|
25
26
|
insetRight?: InsetValue;
|
|
26
27
|
align?: AlignValue;
|
|
27
28
|
children?: unknown;
|
|
28
|
-
}
|
|
29
|
-
export
|
|
29
|
+
};
|
|
30
|
+
export type ParagraphProps = {
|
|
30
31
|
spaceBefore?: SpacingValue;
|
|
31
32
|
spaceAfter?: SpacingValue;
|
|
32
33
|
insetLeft?: InsetValue;
|
|
@@ -34,11 +35,8 @@ export declare function Paragraph(props: {
|
|
|
34
35
|
firstLineIndent?: IndentValue;
|
|
35
36
|
align?: AlignValue;
|
|
36
37
|
children?: unknown;
|
|
37
|
-
}
|
|
38
|
-
export
|
|
39
|
-
source: string;
|
|
40
|
-
}): StegoMarkdownNode;
|
|
41
|
-
export declare function Image(props: {
|
|
38
|
+
};
|
|
39
|
+
export type ImageProps = {
|
|
42
40
|
src: string;
|
|
43
41
|
alt?: string;
|
|
44
42
|
width?: SizeValue;
|
|
@@ -46,23 +44,144 @@ export declare function Image(props: {
|
|
|
46
44
|
layout?: "block" | "inline";
|
|
47
45
|
align?: AlignValue;
|
|
48
46
|
caption?: string;
|
|
49
|
-
}
|
|
47
|
+
};
|
|
48
|
+
type CapabilityMap = typeof TARGET_CAPABILITIES;
|
|
49
|
+
type AllTargetsSupport<TTargets extends PresentationTarget, TCapability extends TemplateCapability> = false extends (TTargets extends any ? CapabilityMap[TTargets][TCapability] : never) ? false : true;
|
|
50
|
+
type GatedProps<TTargets extends PresentationTarget, TCapability extends TemplateCapability, TProps extends object> = AllTargetsSupport<TTargets, TCapability> extends true ? TProps : {
|
|
51
|
+
[TKey in keyof TProps]?: never;
|
|
52
|
+
};
|
|
53
|
+
type NarrowDocumentProps<TTargets extends PresentationTarget> = {
|
|
54
|
+
children?: unknown;
|
|
55
|
+
} & GatedProps<TTargets, "pageLayout", {
|
|
56
|
+
page?: PageSpec;
|
|
57
|
+
}>;
|
|
58
|
+
type NarrowSectionProps<TTargets extends PresentationTarget> = {
|
|
59
|
+
role?: StegoSectionNode["role"];
|
|
60
|
+
id?: string;
|
|
61
|
+
children?: unknown;
|
|
62
|
+
} & GatedProps<TTargets, "spacing", {
|
|
63
|
+
spaceBefore?: SpacingValue;
|
|
64
|
+
spaceAfter?: SpacingValue;
|
|
65
|
+
}> & GatedProps<TTargets, "inset", {
|
|
66
|
+
insetLeft?: InsetValue;
|
|
67
|
+
insetRight?: InsetValue;
|
|
68
|
+
}> & GatedProps<TTargets, "indent", {
|
|
69
|
+
firstLineIndent?: IndentValue;
|
|
70
|
+
}> & GatedProps<TTargets, "align", {
|
|
71
|
+
align?: AlignValue;
|
|
72
|
+
}>;
|
|
73
|
+
type NarrowHeadingProps<TTargets extends PresentationTarget> = {
|
|
74
|
+
level: StegoHeadingNode["level"];
|
|
75
|
+
children?: unknown;
|
|
76
|
+
} & GatedProps<TTargets, "spacing", {
|
|
77
|
+
spaceBefore?: SpacingValue;
|
|
78
|
+
spaceAfter?: SpacingValue;
|
|
79
|
+
}> & GatedProps<TTargets, "inset", {
|
|
80
|
+
insetLeft?: InsetValue;
|
|
81
|
+
insetRight?: InsetValue;
|
|
82
|
+
}> & GatedProps<TTargets, "align", {
|
|
83
|
+
align?: AlignValue;
|
|
84
|
+
}>;
|
|
85
|
+
type NarrowParagraphProps<TTargets extends PresentationTarget> = {
|
|
86
|
+
children?: unknown;
|
|
87
|
+
} & GatedProps<TTargets, "spacing", {
|
|
88
|
+
spaceBefore?: SpacingValue;
|
|
89
|
+
spaceAfter?: SpacingValue;
|
|
90
|
+
}> & GatedProps<TTargets, "inset", {
|
|
91
|
+
insetLeft?: InsetValue;
|
|
92
|
+
insetRight?: InsetValue;
|
|
93
|
+
}> & GatedProps<TTargets, "indent", {
|
|
94
|
+
firstLineIndent?: IndentValue;
|
|
95
|
+
}> & GatedProps<TTargets, "align", {
|
|
96
|
+
align?: AlignValue;
|
|
97
|
+
}>;
|
|
98
|
+
type NarrowImageProps<TTargets extends PresentationTarget> = {
|
|
99
|
+
src: string;
|
|
100
|
+
alt?: string;
|
|
101
|
+
width?: SizeValue;
|
|
102
|
+
height?: SizeValue;
|
|
103
|
+
caption?: string;
|
|
104
|
+
} & GatedProps<TTargets, "imageLayout", {
|
|
105
|
+
layout?: "block" | "inline";
|
|
106
|
+
}> & GatedProps<TTargets, "imageAlign", {
|
|
107
|
+
align?: AlignValue;
|
|
108
|
+
}>;
|
|
109
|
+
type NarrowDocumentComponent<TTargets extends PresentationTarget> = (props: NarrowDocumentProps<TTargets>) => StegoDocumentNode;
|
|
110
|
+
type NarrowSectionComponent<TTargets extends PresentationTarget> = (props: NarrowSectionProps<TTargets>) => StegoSectionNode;
|
|
111
|
+
type NarrowHeadingComponent<TTargets extends PresentationTarget> = (props: NarrowHeadingProps<TTargets>) => StegoHeadingNode;
|
|
112
|
+
type NarrowParagraphComponent<TTargets extends PresentationTarget> = (props: NarrowParagraphProps<TTargets>) => StegoParagraphNode;
|
|
113
|
+
type NarrowImageComponent<TTargets extends PresentationTarget> = (props: NarrowImageProps<TTargets>) => StegoImageNode;
|
|
114
|
+
type MaybeComponent<TKey extends string, TTargets extends PresentationTarget, TCapability extends TemplateCapability, TValue> = AllTargetsSupport<TTargets, TCapability> extends true ? {
|
|
115
|
+
[TProp in TKey]: TValue;
|
|
116
|
+
} : {};
|
|
117
|
+
export type StegoApi<TTargets extends PresentationTarget> = {
|
|
118
|
+
Document: NarrowDocumentComponent<TTargets>;
|
|
119
|
+
Fragment: typeof Fragment;
|
|
120
|
+
Section: NarrowSectionComponent<TTargets>;
|
|
121
|
+
Heading: NarrowHeadingComponent<TTargets>;
|
|
122
|
+
Paragraph: NarrowParagraphComponent<TTargets>;
|
|
123
|
+
Markdown: typeof Markdown;
|
|
124
|
+
PlainText: typeof PlainText;
|
|
125
|
+
Link: typeof Link;
|
|
126
|
+
Image: NarrowImageComponent<TTargets>;
|
|
127
|
+
groupBy: typeof groupBy;
|
|
128
|
+
splitBy: typeof splitBy;
|
|
129
|
+
} & MaybeComponent<"KeepTogether", TTargets, "keepTogether", typeof KeepTogether> & MaybeComponent<"PageBreak", TTargets, "pageBreak", typeof PageBreak> & MaybeComponent<"PageTemplate", TTargets, "pageTemplate", typeof PageTemplate> & MaybeComponent<"PageNumber", TTargets, "pageNumber", typeof PageNumber>;
|
|
130
|
+
export declare function Document(props: DocumentProps): StegoDocumentNode;
|
|
131
|
+
export declare function Fragment(props: {
|
|
132
|
+
children?: unknown;
|
|
133
|
+
}): StegoFragmentNode;
|
|
134
|
+
export declare function KeepTogether(props: {
|
|
135
|
+
children?: unknown;
|
|
136
|
+
}): StegoKeepTogetherNode;
|
|
137
|
+
export declare function Section(props: SectionProps): StegoSectionNode;
|
|
138
|
+
export declare function Heading(props: HeadingProps): StegoHeadingNode;
|
|
139
|
+
export declare function Paragraph(props: ParagraphProps): StegoParagraphNode;
|
|
140
|
+
export declare function Markdown<TMetadata extends LeafMetadata>(props: {
|
|
141
|
+
source: string;
|
|
142
|
+
leaf?: never;
|
|
143
|
+
} | {
|
|
144
|
+
leaf: LeafRecord<TMetadata>;
|
|
145
|
+
source?: never;
|
|
146
|
+
}): StegoMarkdownNode;
|
|
147
|
+
export declare function PlainText<TMetadata extends LeafMetadata>(props: {
|
|
148
|
+
source: string;
|
|
149
|
+
leaf?: never;
|
|
150
|
+
} | {
|
|
151
|
+
leaf: LeafRecord<TMetadata>;
|
|
152
|
+
source?: never;
|
|
153
|
+
}): StegoPlainTextNode;
|
|
154
|
+
export declare function Link(props: {
|
|
155
|
+
leaf: string;
|
|
156
|
+
heading?: string;
|
|
157
|
+
anchor?: string;
|
|
158
|
+
children?: unknown;
|
|
159
|
+
}): StegoLinkNode;
|
|
160
|
+
export declare function Image(props: ImageProps): StegoImageNode;
|
|
50
161
|
export declare function PageBreak(): StegoPageBreakNode;
|
|
51
162
|
export declare function PageTemplate(props: {
|
|
52
163
|
header?: PageRegionSpec;
|
|
53
164
|
footer?: PageRegionSpec;
|
|
54
165
|
}): StegoPageTemplateNode;
|
|
55
166
|
export declare function PageNumber(): StegoPageNumberNode;
|
|
167
|
+
export declare function groupBy<T>(items: T[], selector: GroupSelector<T>): Group<T>[];
|
|
168
|
+
export declare function splitBy<T>(items: T[], selector: GroupSelector<T>): SplitGroup<T>[];
|
|
56
169
|
export declare const Stego: {
|
|
57
170
|
readonly Document: typeof Document;
|
|
58
171
|
readonly Fragment: typeof Fragment;
|
|
172
|
+
readonly KeepTogether: typeof KeepTogether;
|
|
59
173
|
readonly Section: typeof Section;
|
|
60
174
|
readonly Heading: typeof Heading;
|
|
61
175
|
readonly Paragraph: typeof Paragraph;
|
|
62
176
|
readonly Markdown: typeof Markdown;
|
|
177
|
+
readonly PlainText: typeof PlainText;
|
|
178
|
+
readonly Link: typeof Link;
|
|
63
179
|
readonly Image: typeof Image;
|
|
64
180
|
readonly PageBreak: typeof PageBreak;
|
|
65
181
|
readonly PageTemplate: typeof PageTemplate;
|
|
66
182
|
readonly PageNumber: typeof PageNumber;
|
|
183
|
+
readonly groupBy: typeof groupBy;
|
|
184
|
+
readonly splitBy: typeof splitBy;
|
|
67
185
|
};
|
|
186
|
+
export {};
|
|
68
187
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/components.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,51 @@
|
|
|
1
|
-
import { createDocumentNode, createFragmentNode, createHeadingNode, createImageNode, createMarkdownNode, createPageBreakNode, createPageNumberNode, createPageTemplateNode, createParagraphNode, createSectionNode } from "../../ir/index.js";
|
|
2
|
-
import {
|
|
1
|
+
import { createDocumentNode, createFragmentNode, createKeepTogetherNode, createHeadingNode, createImageNode, createMarkdownNode, createLinkNode, createPageBreakNode, createPageNumberNode, createPageTemplateNode, createPlainTextNode, createParagraphNode, createSectionNode } from "../../ir/index.js";
|
|
2
|
+
import { groupCollectionItems, splitCollectionItems } from "../../collections/index.js";
|
|
3
|
+
import { normalizeChildren, normalizeInlineChildren } from "../internal/normalizeChildren.js";
|
|
3
4
|
export function Document(props) {
|
|
4
5
|
return createDocumentNode(props.page, normalizeChildren(props.children));
|
|
5
6
|
}
|
|
6
7
|
export function Fragment(props) {
|
|
7
8
|
return createFragmentNode(normalizeChildren(props.children));
|
|
8
9
|
}
|
|
10
|
+
export function KeepTogether(props) {
|
|
11
|
+
return createKeepTogetherNode(normalizeChildren(props.children));
|
|
12
|
+
}
|
|
9
13
|
export function Section(props) {
|
|
10
14
|
return createSectionNode(props, normalizeChildren(props.children));
|
|
11
15
|
}
|
|
12
16
|
export function Heading(props) {
|
|
13
|
-
return createHeadingNode(props.level, props,
|
|
17
|
+
return createHeadingNode(props.level, props, normalizeInlineChildren(props.children));
|
|
14
18
|
}
|
|
15
19
|
export function Paragraph(props) {
|
|
16
|
-
return createParagraphNode(props,
|
|
20
|
+
return createParagraphNode(props, normalizeInlineChildren(props.children));
|
|
17
21
|
}
|
|
18
22
|
export function Markdown(props) {
|
|
19
|
-
|
|
23
|
+
if ("leaf" in props && props.leaf) {
|
|
24
|
+
return createMarkdownNode({
|
|
25
|
+
leaf: {
|
|
26
|
+
id: props.leaf.id,
|
|
27
|
+
body: props.leaf.body
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return createMarkdownNode({ source: props.source });
|
|
32
|
+
}
|
|
33
|
+
export function PlainText(props) {
|
|
34
|
+
if ("leaf" in props && props.leaf) {
|
|
35
|
+
return createPlainTextNode({
|
|
36
|
+
leaf: {
|
|
37
|
+
id: props.leaf.id,
|
|
38
|
+
body: props.leaf.body
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return createPlainTextNode({ source: props.source });
|
|
43
|
+
}
|
|
44
|
+
export function Link(props) {
|
|
45
|
+
if (props.heading && props.anchor) {
|
|
46
|
+
throw new Error("<Stego.Link /> accepts either heading or anchor, not both.");
|
|
47
|
+
}
|
|
48
|
+
return createLinkNode(props.leaf, props, normalizeInlineChildren(props.children));
|
|
20
49
|
}
|
|
21
50
|
export function Image(props) {
|
|
22
51
|
return createImageNode(props);
|
|
@@ -30,16 +59,27 @@ export function PageTemplate(props) {
|
|
|
30
59
|
export function PageNumber() {
|
|
31
60
|
return createPageNumberNode();
|
|
32
61
|
}
|
|
62
|
+
export function groupBy(items, selector) {
|
|
63
|
+
return groupCollectionItems(items, selector);
|
|
64
|
+
}
|
|
65
|
+
export function splitBy(items, selector) {
|
|
66
|
+
return splitCollectionItems(items, selector);
|
|
67
|
+
}
|
|
33
68
|
export const Stego = {
|
|
34
69
|
Document,
|
|
35
70
|
Fragment,
|
|
71
|
+
KeepTogether,
|
|
36
72
|
Section,
|
|
37
73
|
Heading,
|
|
38
74
|
Paragraph,
|
|
39
75
|
Markdown,
|
|
76
|
+
PlainText,
|
|
77
|
+
Link,
|
|
40
78
|
Image,
|
|
41
79
|
PageBreak,
|
|
42
80
|
PageTemplate,
|
|
43
|
-
PageNumber
|
|
81
|
+
PageNumber,
|
|
82
|
+
groupBy,
|
|
83
|
+
splitBy
|
|
44
84
|
};
|
|
45
85
|
//# sourceMappingURL=components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../../src/template/public/components.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../../src/template/public/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type {
|
|
1
|
+
export type { ProjectMetadata, LeafMetadata, BranchMetadata, ProjectRecord, LeafRecord, BranchRecord, TemplateContext, StegoTemplate, TemplateDefinitionOptions } from "./types.ts";
|
|
2
2
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/context.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/context.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,yBAAyB,EAC1B,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import type { StegoNode } from "../../ir/index.ts";
|
|
2
|
+
import { type PresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
3
|
+
import type { StegoApi } from "./components.ts";
|
|
4
|
+
import type { BranchMetadata, LeafMetadata, ProjectMetadata, StegoTemplate, TemplateContext, TemplateDefinitionOptions } from "./types.ts";
|
|
5
|
+
export declare function defineTemplate<TProjectMetadata extends ProjectMetadata = ProjectMetadata, TLeafMetadata extends LeafMetadata = LeafMetadata, TBranchMetadata extends BranchMetadata = BranchMetadata>(render: (context: TemplateContext<TProjectMetadata, TLeafMetadata, TBranchMetadata>) => StegoNode): StegoTemplate<TProjectMetadata, TLeafMetadata, TBranchMetadata>;
|
|
6
|
+
export declare function defineTemplate<TProjectMetadata extends ProjectMetadata, TLeafMetadata extends LeafMetadata, TBranchMetadata extends BranchMetadata, const TTargets extends readonly PresentationTarget[]>(options: TemplateDefinitionOptions<TTargets>, render: (context: TemplateContext<TProjectMetadata, TLeafMetadata, TBranchMetadata>, stego: StegoApi<TTargets[number]>) => StegoNode): StegoTemplate<TProjectMetadata, TLeafMetadata, TBranchMetadata, TTargets[number]>;
|
|
4
7
|
//# sourceMappingURL=defineTemplate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/defineTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"defineTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/defineTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,cAAc,CAC5B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,aAAa,SAAS,YAAY,GAAG,YAAY,EACjD,eAAe,SAAS,cAAc,GAAG,cAAc,EAEvD,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,KAAK,SAAS,GAChG,aAAa,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AAEnE,wBAAgB,cAAc,CAC5B,gBAAgB,SAAS,eAAe,EACxC,aAAa,SAAS,YAAY,EAClC,eAAe,SAAS,cAAc,EACtC,KAAK,CAAC,QAAQ,SAAS,SAAS,kBAAkB,EAAE,EAEpD,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC5C,MAAM,EAAE,CACN,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,EAC1E,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAC9B,SAAS,GACb,aAAa,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import { isPresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
2
|
+
import { Stego } from "./components.js";
|
|
3
|
+
export function defineTemplate(optionsOrRender, maybeRender) {
|
|
4
|
+
if (typeof optionsOrRender === "function") {
|
|
5
|
+
return {
|
|
6
|
+
kind: "stego-template",
|
|
7
|
+
targets: null,
|
|
8
|
+
render: optionsOrRender
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
if (typeof maybeRender !== "function") {
|
|
12
|
+
throw new Error("Target-aware templates must call defineTemplate({ targets }, render).");
|
|
13
|
+
}
|
|
14
|
+
const rawTargets = [...optionsOrRender.targets];
|
|
15
|
+
if (rawTargets.length === 0) {
|
|
16
|
+
throw new Error("Target-aware templates must declare one or more presentation targets.");
|
|
17
|
+
}
|
|
18
|
+
const invalidTargets = rawTargets.filter((target) => !isPresentationTarget(target));
|
|
19
|
+
if (invalidTargets.length > 0) {
|
|
20
|
+
throw new Error("Target-aware templates may only declare docx, pdf, or epub.");
|
|
21
|
+
}
|
|
22
|
+
if (new Set(rawTargets).size !== rawTargets.length) {
|
|
23
|
+
throw new Error("Target-aware templates may not declare duplicate presentation targets.");
|
|
24
|
+
}
|
|
25
|
+
const targets = rawTargets;
|
|
2
26
|
return {
|
|
3
27
|
kind: "stego-template",
|
|
4
|
-
|
|
28
|
+
targets,
|
|
29
|
+
render: (context) => maybeRender(context, Stego)
|
|
5
30
|
};
|
|
6
31
|
}
|
|
7
32
|
//# sourceMappingURL=defineTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineTemplate.js","sourceRoot":"","sources":["../../../../../src/template/public/defineTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defineTemplate.js","sourceRoot":"","sources":["../../../../../src/template/public/defineTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA2B,MAAM,qCAAqC,CAAC;AAEpG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AA+BxC,MAAM,UAAU,cAAc,CAM5B,eAE+F,EAC/F,WAGc;IAEd,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,eAAe;SACqD,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,OAAO,GAAG,UAAiC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAsC,CAAC;KAClF,CAAC;AACJ,CAAC"}
|
|
@@ -1,46 +1,55 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { StegoNode } from "../../ir/index.ts";
|
|
2
|
+
import type { LeafFormat, LeafHeadingTarget } from "@stego-labs/shared/domain/content";
|
|
3
|
+
import type { PresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
4
|
+
export type ProjectMetadata = Record<string, unknown>;
|
|
5
|
+
export type LeafMetadata = Record<string, unknown> & {
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
export type BranchMetadata = {
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
export type LeafRecord<TMetadata extends LeafMetadata = LeafMetadata> = {
|
|
12
|
+
kind: "leaf";
|
|
13
|
+
id: string;
|
|
14
|
+
format: LeafFormat;
|
|
5
15
|
path: string;
|
|
6
16
|
relativePath: string;
|
|
7
|
-
slug: string;
|
|
8
17
|
titleFromFilename: string;
|
|
9
|
-
metadata:
|
|
18
|
+
metadata: TMetadata;
|
|
10
19
|
body: string;
|
|
11
20
|
order: number | null;
|
|
21
|
+
headings: LeafHeadingTarget[];
|
|
12
22
|
};
|
|
13
|
-
export type
|
|
14
|
-
kind: "
|
|
15
|
-
path: string;
|
|
16
|
-
relativePath: string;
|
|
17
|
-
category: string;
|
|
18
|
-
key: string;
|
|
19
|
-
label: string;
|
|
20
|
-
metadata: Record<string, unknown>;
|
|
21
|
-
body: string;
|
|
22
|
-
};
|
|
23
|
-
export type SpineCategoryRecord = {
|
|
24
|
-
kind: "spine-category";
|
|
23
|
+
export type BranchRecord<TMetadata extends BranchMetadata = BranchMetadata> = {
|
|
24
|
+
kind: "branch";
|
|
25
25
|
key: string;
|
|
26
|
+
name: string;
|
|
26
27
|
label: string;
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
parentKey?: string;
|
|
29
|
+
depth: number;
|
|
30
|
+
relativeDir: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
relativePath?: string;
|
|
33
|
+
metadata: TMetadata;
|
|
34
|
+
body?: string;
|
|
29
35
|
};
|
|
30
|
-
export type
|
|
36
|
+
export type ProjectRecord<TMetadata extends ProjectMetadata = ProjectMetadata> = {
|
|
31
37
|
project: {
|
|
32
38
|
id: string;
|
|
33
39
|
root: string;
|
|
34
|
-
metadata:
|
|
35
|
-
};
|
|
36
|
-
collections: {
|
|
37
|
-
manuscripts: Collection<ManuscriptRecord>;
|
|
38
|
-
spineEntries: Collection<SpineEntryRecord>;
|
|
39
|
-
spineCategories: Collection<SpineCategoryRecord>;
|
|
40
|
+
metadata: TMetadata;
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
|
-
export type
|
|
43
|
+
export type TemplateContext<TProjectMetadata extends ProjectMetadata = ProjectMetadata, TLeafMetadata extends LeafMetadata = LeafMetadata, TBranchMetadata extends BranchMetadata = BranchMetadata> = ProjectRecord<TProjectMetadata> & {
|
|
44
|
+
content: LeafRecord<TLeafMetadata>[];
|
|
45
|
+
branches: BranchRecord<TBranchMetadata>[];
|
|
46
|
+
};
|
|
47
|
+
export type StegoTemplate<TProjectMetadata extends ProjectMetadata = ProjectMetadata, TLeafMetadata extends LeafMetadata = LeafMetadata, TBranchMetadata extends BranchMetadata = BranchMetadata, TTargets extends PresentationTarget = never> = {
|
|
43
48
|
kind: "stego-template";
|
|
44
|
-
|
|
49
|
+
targets: readonly TTargets[] | null;
|
|
50
|
+
render: (context: TemplateContext<TProjectMetadata, TLeafMetadata, TBranchMetadata>) => StegoNode;
|
|
51
|
+
};
|
|
52
|
+
export type TemplateDefinitionOptions<TTargets extends readonly PresentationTarget[]> = {
|
|
53
|
+
targets: TTargets;
|
|
45
54
|
};
|
|
46
55
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/template/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,IAAI;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,IAAI;IAC5E,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,eAAe,GAAG,eAAe,IAAI;IAC/E,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,SAAS,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,CACzB,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,aAAa,SAAS,YAAY,GAAG,YAAY,EACjD,eAAe,SAAS,cAAc,GAAG,cAAc,IACrD,aAAa,CAAC,gBAAgB,CAAC,GAAG;IACpC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,aAAa,SAAS,YAAY,GAAG,YAAY,EACjD,eAAe,SAAS,cAAc,GAAG,cAAc,EACvD,QAAQ,SAAS,kBAAkB,GAAG,KAAK,IACzC;IACF,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,KAAK,SAAS,CAAC;CACnG,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,QAAQ,SAAS,SAAS,kBAAkB,EAAE,IAAI;IACtF,OAAO,EAAE,QAAQ,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-generic-types.test.d.ts","sourceRoot":"","sources":["../../../../src/test/template-generic-types.test.tsx"],"names":[],"mappings":"AAoJA,OAAO,EAAE,CAAC"}
|