@bendyline/squisq 2.13.2 → 2.13.4
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/{Doc-CYTLtFEu.d.ts → Doc-DnRFE0EI.d.ts} +40 -2
- package/dist/{ImageEditDoc-DZ4k_O10.d.ts → ImageEditDoc-CadNz387.d.ts} +1 -1
- package/dist/{chunk-HE3HQZWU.js → chunk-6NWVLLMI.js} +104 -1
- package/dist/{chunk-56TW6HE6.js → chunk-BITSNRJH.js} +15 -10
- package/dist/{chunk-3A6YM375.js → chunk-D3JQMZUT.js} +8 -8
- package/dist/chunk-DOOUVVOM.js +78 -0
- package/dist/{chunk-FUQYQWQR.js → chunk-DRHJD6U4.js} +5 -5
- package/dist/{chunk-2GN67Q2T.js → chunk-FIPRGGXD.js} +1 -1
- package/dist/{chunk-YY3OQ3MI.js → chunk-J2NFT7GH.js} +475 -342
- package/dist/{chunk-7ZXCS3UU.js → chunk-JFJZ4NS6.js} +2 -2
- package/dist/{chunk-HGCIIXHP.js → chunk-POZCKPCO.js} +235 -4
- package/dist/doc/index.d.ts +134 -14
- package/dist/doc/index.js +17 -7
- package/dist/fence/index.d.ts +1 -1
- package/dist/generate/index.d.ts +1 -1
- package/dist/imageEdit/index.d.ts +3 -3
- package/dist/index.d.ts +5 -5
- package/dist/index.js +27 -17
- package/dist/jsonForm/index.d.ts +1 -1
- package/dist/markdown/index.js +11 -12
- package/dist/{materializePageSection-CDps_xUd.d.ts → materializePageSection-D84uA6Vk.d.ts} +1 -1
- package/dist/mediaEdit/index.d.ts +2 -2
- package/dist/narration/index.d.ts +1 -1
- package/dist/narration/index.js +5 -5
- package/dist/recommend/index.js +3 -2
- package/dist/schemas/index.d.ts +4 -4
- package/dist/{themeLibrary-CMm_jh3a.d.ts → themeLibrary-in0fafp4.d.ts} +1 -1
- package/dist/timing/index.d.ts +1 -1
- package/dist/transform/index.d.ts +2 -2
- package/dist/transform/index.js +6 -6
- package/package.json +1 -1
- package/dist/chunk-Y25EJEZN.js +0 -178
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
parseMarkdown,
|
|
4
4
|
remarkWikiLinks,
|
|
5
5
|
toMdast
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D3JQMZUT.js";
|
|
7
7
|
import {
|
|
8
8
|
formatFrontmatterYaml,
|
|
9
9
|
getChildren,
|
|
10
10
|
splitFrontmatterBlock,
|
|
11
11
|
stringifyHtmlNodes,
|
|
12
12
|
walkMarkdownTree
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6NWVLLMI.js";
|
|
14
14
|
|
|
15
15
|
// src/markdown/stringify.ts
|
|
16
16
|
import { unified } from "unified";
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
mediaEditValuesFromAttributes,
|
|
3
|
+
mediaEditValuesFromParams,
|
|
4
|
+
parseMediaEdits
|
|
5
|
+
} from "./chunk-L7QZORLB.js";
|
|
1
6
|
import {
|
|
2
7
|
extractPlainText,
|
|
3
8
|
findBlockVideoEmbed,
|
|
4
9
|
findNodesByType,
|
|
5
10
|
isSvgIslandLang,
|
|
6
11
|
isVideoEmbedUrl,
|
|
12
|
+
matchTrailingTemplateAnnotation,
|
|
7
13
|
mediaKindForUrl,
|
|
8
14
|
parseTimeSeconds,
|
|
9
15
|
sanitizeUrl,
|
|
16
|
+
splitKeyValueToken,
|
|
17
|
+
tokenizeAttrTokens,
|
|
10
18
|
walkMarkdownTree
|
|
11
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6NWVLLMI.js";
|
|
12
20
|
|
|
13
21
|
// src/doc/asciiDiagram/chars.ts
|
|
14
22
|
function toCells(s) {
|
|
@@ -2864,8 +2872,199 @@ function matchNumberHighlight(text) {
|
|
|
2864
2872
|
};
|
|
2865
2873
|
}
|
|
2866
2874
|
|
|
2875
|
+
// src/doc/standaloneAnnotation.ts
|
|
2876
|
+
function parseAnnotationInner(inner) {
|
|
2877
|
+
const tokens = tokenizeAttrTokens(inner.trim());
|
|
2878
|
+
const firstIsParam = tokens.length > 0 && tokens[0].indexOf("=") > 0;
|
|
2879
|
+
const template = firstIsParam || tokens.length === 0 ? void 0 : tokens[0];
|
|
2880
|
+
const startIdx = firstIsParam ? 0 : 1;
|
|
2881
|
+
const params = {};
|
|
2882
|
+
for (let i = startIdx; i < tokens.length; i++) {
|
|
2883
|
+
const kv = splitKeyValueToken(tokens[i]);
|
|
2884
|
+
if (kv) params[kv.key] = kv.value;
|
|
2885
|
+
}
|
|
2886
|
+
return { template, params };
|
|
2887
|
+
}
|
|
2888
|
+
function parseStandaloneAnnotation(node) {
|
|
2889
|
+
if (node.type !== "paragraph") return null;
|
|
2890
|
+
const children = node.children ?? [];
|
|
2891
|
+
if (children.length !== 1 || children[0].type !== "text") return null;
|
|
2892
|
+
const text = children[0].value.trim();
|
|
2893
|
+
const match = matchTrailingTemplateAnnotation(text);
|
|
2894
|
+
if (!match || match.index !== 0) return null;
|
|
2895
|
+
return parseAnnotationInner(match.inner);
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
// src/doc/mediaAnnotations.ts
|
|
2899
|
+
var MEDIA_TEMPLATES = /* @__PURE__ */ new Set(["audio", "video", "media"]);
|
|
2900
|
+
function isMediaAnnotationName(name) {
|
|
2901
|
+
return name != null && MEDIA_TEMPLATES.has(name);
|
|
2902
|
+
}
|
|
2903
|
+
function time(raw) {
|
|
2904
|
+
if (raw == null) return null;
|
|
2905
|
+
return parseTimeSeconds(raw);
|
|
2906
|
+
}
|
|
2907
|
+
function videoPlacement(params) {
|
|
2908
|
+
const explicit = params.placement ?? params.presentation;
|
|
2909
|
+
if (explicit === "content") return "content";
|
|
2910
|
+
if (explicit === "pip" || explicit === "picture-in-picture") return "picture-in-picture";
|
|
2911
|
+
if (explicit === "overlay" || explicit === "full-frame") return "overlay";
|
|
2912
|
+
if (params.pip === "" || params.pip === "true") return "picture-in-picture";
|
|
2913
|
+
if (params.overlay === "" || params.overlay === "true") return "overlay";
|
|
2914
|
+
return void 0;
|
|
2915
|
+
}
|
|
2916
|
+
function lockToBlock(raw) {
|
|
2917
|
+
return raw !== "false" && raw !== "0";
|
|
2918
|
+
}
|
|
2919
|
+
function videoPipSize(raw) {
|
|
2920
|
+
return raw === "small" || raw === "large" ? raw : void 0;
|
|
2921
|
+
}
|
|
2922
|
+
function videoPipShape(raw) {
|
|
2923
|
+
return raw === "square" || raw === "wide" ? raw : void 0;
|
|
2924
|
+
}
|
|
2925
|
+
function videoPipPosition(raw) {
|
|
2926
|
+
return raw === "top-left" || raw === "top-right" || raw === "bottom-left" || raw === "bottom-right" ? raw : void 0;
|
|
2927
|
+
}
|
|
2928
|
+
function toMediaClip(parsed, id) {
|
|
2929
|
+
const { template, params } = parsed;
|
|
2930
|
+
if (!template || !MEDIA_TEMPLATES.has(template)) return null;
|
|
2931
|
+
const src = params.src;
|
|
2932
|
+
if (!src) return null;
|
|
2933
|
+
const kind = template === "video" ? "video" : "audio";
|
|
2934
|
+
const anchor = params.anchor === "document" || params.span === "document" ? "document" : "block";
|
|
2935
|
+
const clip = {
|
|
2936
|
+
id,
|
|
2937
|
+
src,
|
|
2938
|
+
kind,
|
|
2939
|
+
startAt: time(params.startAt ?? params.startTime) ?? 0,
|
|
2940
|
+
anchor
|
|
2941
|
+
};
|
|
2942
|
+
const placement = kind === "video" ? videoPlacement(params) : void 0;
|
|
2943
|
+
if (placement && placement !== "content") clip.placement = placement;
|
|
2944
|
+
const pipSize = videoPipSize(params.pipSize);
|
|
2945
|
+
const pipShape = videoPipShape(params.pipShape);
|
|
2946
|
+
const pipPosition = videoPipPosition(params.pipPosition);
|
|
2947
|
+
if (pipSize) clip.pipSize = pipSize;
|
|
2948
|
+
if (pipShape) clip.pipShape = pipShape;
|
|
2949
|
+
if (pipPosition) clip.pipPosition = pipPosition;
|
|
2950
|
+
if (kind === "video" && placement && placement !== "content" && params.lockToBlock != null) {
|
|
2951
|
+
const locked = lockToBlock(params.lockToBlock);
|
|
2952
|
+
clip.lockToBlock = locked;
|
|
2953
|
+
clip.anchor = locked ? "block" : "document";
|
|
2954
|
+
if (locked) clip.startAt = 0;
|
|
2955
|
+
}
|
|
2956
|
+
const clipStart = time(params.clipStart);
|
|
2957
|
+
const clipEnd = time(params.clipEnd);
|
|
2958
|
+
if (clipStart != null) clip.clipStart = clipStart;
|
|
2959
|
+
if (clipEnd != null) clip.clipEnd = clipEnd;
|
|
2960
|
+
if (clip.lockToBlock === true) delete clip.clipEnd;
|
|
2961
|
+
if (params.spillover === "true" || params.spillover === "") clip.spillover = true;
|
|
2962
|
+
const edits = parseMediaEdits(mediaEditValuesFromParams(params));
|
|
2963
|
+
if (edits) clip.edits = edits;
|
|
2964
|
+
return clip;
|
|
2965
|
+
}
|
|
2966
|
+
function firstVideoElement(children) {
|
|
2967
|
+
const visit = (nodes) => {
|
|
2968
|
+
for (const child of nodes) {
|
|
2969
|
+
if (child.type !== "htmlElement") continue;
|
|
2970
|
+
if (child.tagName === "video") return child;
|
|
2971
|
+
const nested = visit(child.children);
|
|
2972
|
+
if (nested) return nested;
|
|
2973
|
+
}
|
|
2974
|
+
return null;
|
|
2975
|
+
};
|
|
2976
|
+
return visit(children);
|
|
2977
|
+
}
|
|
2978
|
+
function standaloneHtmlVideo(node) {
|
|
2979
|
+
if (node.type === "htmlBlock") {
|
|
2980
|
+
if (!/^\s*<video\b/i.test(node.rawHtml)) return null;
|
|
2981
|
+
const element = firstVideoElement(node.htmlChildren);
|
|
2982
|
+
return element ? { element, raw: node.rawHtml.trim() } : null;
|
|
2983
|
+
}
|
|
2984
|
+
if (node.type !== "paragraph" || !node.children.every((child) => child.type === "htmlInline")) {
|
|
2985
|
+
return null;
|
|
2986
|
+
}
|
|
2987
|
+
const raw = node.children.map((child) => child.type === "htmlInline" ? child.rawHtml : "").join("");
|
|
2988
|
+
if (!/^\s*<video\b[\s\S]*<\/video>\s*$/i.test(raw)) return null;
|
|
2989
|
+
for (const child of node.children) {
|
|
2990
|
+
if (child.type !== "htmlInline") continue;
|
|
2991
|
+
const element = firstVideoElement(child.htmlChildren);
|
|
2992
|
+
if (element) return { element, raw: raw.trim() };
|
|
2993
|
+
}
|
|
2994
|
+
return null;
|
|
2995
|
+
}
|
|
2996
|
+
function isStandaloneHtmlVideo(node) {
|
|
2997
|
+
return standaloneHtmlVideo(node) !== null;
|
|
2998
|
+
}
|
|
2999
|
+
function htmlVideoClip(node, id) {
|
|
3000
|
+
const authored = standaloneHtmlVideo(node);
|
|
3001
|
+
if (!authored) return null;
|
|
3002
|
+
const { element } = authored;
|
|
3003
|
+
const placement = videoPlacement({
|
|
3004
|
+
placement: element.attributes["data-squisq-video-placement"] ?? ""
|
|
3005
|
+
});
|
|
3006
|
+
if (!placement || placement === "content") return null;
|
|
3007
|
+
const src = element.attributes.src;
|
|
3008
|
+
if (!src) return null;
|
|
3009
|
+
const locked = lockToBlock(element.attributes["data-squisq-video-lock-to-block"]);
|
|
3010
|
+
const clip = {
|
|
3011
|
+
id,
|
|
3012
|
+
src,
|
|
3013
|
+
kind: "video",
|
|
3014
|
+
placement,
|
|
3015
|
+
lockToBlock: locked,
|
|
3016
|
+
startAt: locked ? 0 : time(element.attributes["data-squisq-video-start-at"]) ?? 0,
|
|
3017
|
+
anchor: locked ? "block" : "document"
|
|
3018
|
+
};
|
|
3019
|
+
const pipSize = videoPipSize(element.attributes["data-squisq-video-pip-size"]);
|
|
3020
|
+
const pipShape = videoPipShape(element.attributes["data-squisq-video-pip-shape"]);
|
|
3021
|
+
const pipPosition = videoPipPosition(element.attributes["data-squisq-video-pip-position"]);
|
|
3022
|
+
if (pipSize) clip.pipSize = pipSize;
|
|
3023
|
+
if (pipShape) clip.pipShape = pipShape;
|
|
3024
|
+
if (pipPosition) clip.pipPosition = pipPosition;
|
|
3025
|
+
const clipStart = time(element.attributes["data-squisq-video-clip-start"]);
|
|
3026
|
+
const clipEnd = time(element.attributes["data-squisq-video-clip-end"]);
|
|
3027
|
+
if (clipStart != null) clip.clipStart = clipStart;
|
|
3028
|
+
if (!locked && clipEnd != null) clip.clipEnd = clipEnd;
|
|
3029
|
+
const edits = parseMediaEdits(mediaEditValuesFromAttributes("video", element.attributes));
|
|
3030
|
+
if (edits) clip.edits = edits;
|
|
3031
|
+
return clip;
|
|
3032
|
+
}
|
|
3033
|
+
function extractMediaFromContents(contents, makeId, blockId) {
|
|
3034
|
+
const media = [];
|
|
3035
|
+
const documentMedia = [];
|
|
3036
|
+
const remaining = [];
|
|
3037
|
+
let index = 0;
|
|
3038
|
+
let originalIndex = 0;
|
|
3039
|
+
for (const node of contents ?? []) {
|
|
3040
|
+
const parsed = parseStandaloneAnnotation(node);
|
|
3041
|
+
const clip = parsed ? toMediaClip(parsed, "") : htmlVideoClip(node, "");
|
|
3042
|
+
if (clip) {
|
|
3043
|
+
clip.id = makeId(clip.src, index++);
|
|
3044
|
+
const line = node.position?.start.line;
|
|
3045
|
+
if (line != null) clip.sourceLine = line;
|
|
3046
|
+
if (blockId !== void 0) {
|
|
3047
|
+
const authoredHtml = standaloneHtmlVideo(node);
|
|
3048
|
+
const rawText = node.type === "paragraph" && node.children?.[0]?.type === "text" ? node.children[0].value.trim() : authoredHtml?.raw;
|
|
3049
|
+
clip.origin = {
|
|
3050
|
+
blockId,
|
|
3051
|
+
index: originalIndex,
|
|
3052
|
+
...rawText !== void 0 ? { raw: rawText } : {},
|
|
3053
|
+
...authoredHtml ? { format: "html" } : {}
|
|
3054
|
+
};
|
|
3055
|
+
}
|
|
3056
|
+
(clip.anchor === "document" ? documentMedia : media).push(clip);
|
|
3057
|
+
} else {
|
|
3058
|
+
remaining.push(node);
|
|
3059
|
+
}
|
|
3060
|
+
originalIndex++;
|
|
3061
|
+
}
|
|
3062
|
+
return { media, documentMedia, remaining };
|
|
3063
|
+
}
|
|
3064
|
+
|
|
2867
3065
|
// src/doc/templateInputs.ts
|
|
2868
3066
|
var VIDEO_FILE_RE = /\.(?:webm|mp4|mov|m4v|ogv)(?:[?#].*)?$/i;
|
|
3067
|
+
var INLINE_MEDIA_TAG_RE = /^<\/?(?:video|audio|source|track)\b/i;
|
|
2869
3068
|
function extractHostedVideos(contents, limit = Infinity) {
|
|
2870
3069
|
const found = [];
|
|
2871
3070
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -2888,7 +3087,26 @@ function isPictureFence(node) {
|
|
|
2888
3087
|
}
|
|
2889
3088
|
function isMaterializedMediaNode(node) {
|
|
2890
3089
|
if (node.type === "code") return isPictureFence(node);
|
|
2891
|
-
return findBlockVideoEmbed(node) !== null;
|
|
3090
|
+
return findBlockVideoEmbed(node) !== null || isStandaloneHtmlVideo(node);
|
|
3091
|
+
}
|
|
3092
|
+
function isPictureParagraph(node) {
|
|
3093
|
+
if (node.type !== "paragraph") return false;
|
|
3094
|
+
let pictures = 0;
|
|
3095
|
+
for (const child of node.children) {
|
|
3096
|
+
if (child.type === "image") {
|
|
3097
|
+
if (!VIDEO_FILE_RE.test(child.url) && mediaKindForUrl(child.url)) return false;
|
|
3098
|
+
pictures += 1;
|
|
3099
|
+
} else if (child.type === "htmlInline") {
|
|
3100
|
+
const elements = child.htmlChildren.filter(
|
|
3101
|
+
(html) => html.type === "htmlElement"
|
|
3102
|
+
);
|
|
3103
|
+
if (!elements.length || !elements.every((html) => html.tagName === "img")) return false;
|
|
3104
|
+
pictures += elements.length;
|
|
3105
|
+
} else if (child.type !== "break" && !(child.type === "text" && !child.value.trim())) {
|
|
3106
|
+
return false;
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
return pictures > 0;
|
|
2892
3110
|
}
|
|
2893
3111
|
function extractBodyPlainText(contents) {
|
|
2894
3112
|
if (!contents || contents.length === 0) return "";
|
|
@@ -2942,7 +3160,7 @@ function renderInlineHtml(nodes) {
|
|
|
2942
3160
|
case "inlineIcon":
|
|
2943
3161
|
return `<i class="fa-${node.family} fa-${node.name}" aria-hidden="true"></i>`;
|
|
2944
3162
|
case "htmlInline":
|
|
2945
|
-
return escapeInlineHtml(node.rawHtml);
|
|
3163
|
+
return INLINE_MEDIA_TAG_RE.test(node.rawHtml.trim()) ? "" : escapeInlineHtml(node.rawHtml);
|
|
2946
3164
|
}
|
|
2947
3165
|
}).join("");
|
|
2948
3166
|
}
|
|
@@ -3659,7 +3877,9 @@ function profileBlockContents(nodes) {
|
|
|
3659
3877
|
}
|
|
3660
3878
|
var UNIVERSAL_DEFAULTS = ["title", "sectionHeader", "content", "factCard", "twoColumn"];
|
|
3661
3879
|
function recommendedNamesForProfile(profile) {
|
|
3662
|
-
if (profile.hasCompoundBody)
|
|
3880
|
+
if (profile.hasCompoundBody) {
|
|
3881
|
+
return profile.hasImage || profile.hasVideo ? ["content", "topFeature", "bottomFeature"] : ["content"];
|
|
3882
|
+
}
|
|
3663
3883
|
const names = /* @__PURE__ */ new Set();
|
|
3664
3884
|
let anyContentSignal = false;
|
|
3665
3885
|
if (profile.hasAsciiDiagram) {
|
|
@@ -3679,11 +3899,17 @@ function recommendedNamesForProfile(profile) {
|
|
|
3679
3899
|
names.add("imageWithCaption");
|
|
3680
3900
|
names.add("leftFeature");
|
|
3681
3901
|
names.add("rightFeature");
|
|
3902
|
+
names.add("topFeature");
|
|
3903
|
+
names.add("bottomFeature");
|
|
3904
|
+
names.add("mediaOnly");
|
|
3682
3905
|
if (profile.imageCount >= 2) names.add("photoGrid");
|
|
3683
3906
|
}
|
|
3684
3907
|
if (profile.hasVideo) {
|
|
3685
3908
|
anyContentSignal = true;
|
|
3686
3909
|
names.add("videoWithCaption");
|
|
3910
|
+
names.add("topFeature");
|
|
3911
|
+
names.add("bottomFeature");
|
|
3912
|
+
names.add("mediaOnly");
|
|
3687
3913
|
if (profile.hasBlockquote) names.add("videoPullQuote");
|
|
3688
3914
|
}
|
|
3689
3915
|
if (profile.hasBlockquote) {
|
|
@@ -3748,6 +3974,10 @@ function recommendTemplatesForBlock(profile, allNames) {
|
|
|
3748
3974
|
}
|
|
3749
3975
|
|
|
3750
3976
|
export {
|
|
3977
|
+
parseAnnotationInner,
|
|
3978
|
+
parseStandaloneAnnotation,
|
|
3979
|
+
isMediaAnnotationName,
|
|
3980
|
+
extractMediaFromContents,
|
|
3751
3981
|
toCells,
|
|
3752
3982
|
cellWidth,
|
|
3753
3983
|
isHoriz,
|
|
@@ -3799,6 +4029,7 @@ export {
|
|
|
3799
4029
|
extractHostedVideos,
|
|
3800
4030
|
isPictureFence,
|
|
3801
4031
|
isMaterializedMediaNode,
|
|
4032
|
+
isPictureParagraph,
|
|
3802
4033
|
extractBodyPlainText,
|
|
3803
4034
|
extractListItems,
|
|
3804
4035
|
renderMarkdownBlocksHtml,
|
package/dist/doc/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { a7 as Layer, k as Block, R as Doc, bt as TemplateBlock, bu as TemplateContext, z as CustomTemplateDefinition, bw as TemplateRegistry, bC as Theme, c7 as ViewportConfig, b0 as PersistentLayerConfig, av as MotionSpec, S as DocBlock, c8 as ViewportOrientation, a$ as PersistentLayer, bP as TitleBlockInput, bh as SectionHeaderInput, j as BigTextInput, v as ContentBlockInput, bn as StatHighlightInput, bb as QuoteBlockInput, Z as FactCardInput, bY as TwoColumnInput, K as DateEventInput, a5 as ImageWithCaptionInput, aa as LeftFeatureInput, be as RightFeatureInput, n as BottomFeatureInput, ao as MediaOnlyInput, bR as TopFeatureInput, af as MapBlockInput, bm as StartBlockConfig, a0 as FullBleedQuoteInput, ad as ListBlockInput, b4 as PhotoGridInput, M as DefinitionCardInput, u as ComparisonBarInput, ba as PullQuoteInput, c6 as VideoWithCaptionInput, c5 as VideoPullQuoteInput, J as DataTableInput, N as DiagramBlockInput, bT as TreeBlockInput, bL as TimelineBlockInput, V as DrawingBlockInput, aj as MarkerStyle, A as AccentImage, a4 as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, aw as MotionState, at as MotionProfile, bE as ThemeColorScheme, x as CountUpSpec, bG as ThemeRegistry, aT as PageEmphasis, bF as ThemePageStyle, T as DocDiagnostic, Q as DiagramTemplateNode, P as DiagramTemplateEdge, bO as TimelineTemplateTrack, bN as TimelineTemplateLink } from '../Doc-DnRFE0EI.js';
|
|
2
|
+
export { W as FRONTMATTER_CUSTOM_TEMPLATES_KEY, X as FRONTMATTER_CUSTOM_THEMES_KEY, a9 as LayoutHints, bd as RenderStyle, bD as ThemeColorPalette, bJ as ThemeStyle, bK as ThemeTypography, bZ as VIEWPORT_PRESETS, c9 as ViewportPreset, ce as createTemplateContext, cl as getLayoutHints, co as getTwoColumnPositions, cp as getViewport, cq as getViewportOrientation, cu as isTemplateBlock, cA as scaledFontSize } from '../Doc-DnRFE0EI.js';
|
|
3
3
|
import { g as BuildStep, M as MarkdownBlockNode, S as MarkdownListItem, f as BuildSpec, e as BuildCursor, h as BuildTiming, V as MarkdownNode, ae as TransitionType, ad as TransitionDirection, z as MarkdownHeading, v as MarkdownDocument, a2 as MarkdownTable, q as MarkdownCodeBlock, R as MarkdownList } from '../types-Zk8qYuaT.js';
|
|
4
4
|
import { C as CoercedBlockMeta } from '../annotationCoercion-hTvELpIN.js';
|
|
5
|
-
import { c as PageSection } from '../materializePageSection-
|
|
6
|
-
export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from '../materializePageSection-
|
|
5
|
+
import { c as PageSection } from '../materializePageSection-D84uA6Vk.js';
|
|
6
|
+
export { M as MaterializePageSectionOptions, a as MaterializePageSectionsOptions, P as PageMedia, b as PageRichText, d as PageSectionDiagnostic, e as PageSectionItem, f as PageSectionMaterialization, g as PageSectionSource, h as PageSpatialKind, i as PageTransformHints, m as materializePageSection, j as materializePageSections, r as resolvePageStyle } from '../materializePageSection-D84uA6Vk.js';
|
|
7
7
|
import { C as ContentContainer } from '../ContentContainer-B2w9sUoL.js';
|
|
8
8
|
import { V as ViewIssue } from '../viewState-lTZS-hP_.js';
|
|
9
|
-
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-
|
|
9
|
+
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-in0fafp4.js';
|
|
10
10
|
|
|
11
11
|
/** Pure build planning and evaluation, shared by interactive slides and frame export. */
|
|
12
12
|
|
|
@@ -256,6 +256,24 @@ declare const TEMPLATE_AUTHORING_METADATA: {
|
|
|
256
256
|
readonly safeForContentFirst: false;
|
|
257
257
|
readonly placement: "heading";
|
|
258
258
|
};
|
|
259
|
+
readonly topFeature: {
|
|
260
|
+
readonly role: "media";
|
|
261
|
+
readonly bodyPolicy: "complete";
|
|
262
|
+
readonly safeForContentFirst: false;
|
|
263
|
+
readonly placement: "heading";
|
|
264
|
+
};
|
|
265
|
+
readonly bottomFeature: {
|
|
266
|
+
readonly role: "media";
|
|
267
|
+
readonly bodyPolicy: "complete";
|
|
268
|
+
readonly safeForContentFirst: false;
|
|
269
|
+
readonly placement: "heading";
|
|
270
|
+
};
|
|
271
|
+
readonly mediaOnly: {
|
|
272
|
+
readonly role: "media";
|
|
273
|
+
readonly bodyPolicy: "ignored";
|
|
274
|
+
readonly safeForContentFirst: false;
|
|
275
|
+
readonly placement: "heading";
|
|
276
|
+
};
|
|
259
277
|
readonly map: {
|
|
260
278
|
readonly role: "spatial";
|
|
261
279
|
readonly bodyPolicy: "structured";
|
|
@@ -410,10 +428,15 @@ type SupplementalMediaLayoutVariant = 'title-stack' | 'split' | 'text-stack' | '
|
|
|
410
428
|
type SupplementalMediaVariantMatrix = Record<ViewportOrientation, Record<SupplementalMediaShape, SupplementalMediaLayoutVariant>>;
|
|
411
429
|
/** What the template does before supplemental rich media is considered. */
|
|
412
430
|
type NoMediaLayout = 'template-default' | 'template-without-optional-media' | 'unsupported' | 'intrinsic-visual';
|
|
413
|
-
/**
|
|
414
|
-
|
|
431
|
+
/**
|
|
432
|
+
* Which part of the system owns the template's primary media geometry.
|
|
433
|
+
* `native-slot`: the template declares where media goes (a band, the whole
|
|
434
|
+
* slide) but never draws any itself — the body's media fills that slot
|
|
435
|
+
* through the shared rich-media pass.
|
|
436
|
+
*/
|
|
437
|
+
type TemplateMediaOwnership = 'supplemental' | 'optional-native' | 'required-native' | 'native-slot' | 'intrinsic-visual';
|
|
415
438
|
/** Geometry already implemented by templates that own their primary media. */
|
|
416
|
-
type NativeMediaLayout = 'full-bleed-image' | 'full-bleed-video' | 'background-image' | 'accent-strip-or-inset' | 'feature-left' | 'feature-right' | 'map-canvas' | 'photo-grid' | 'spatial-canvas' | 'freeform-canvas';
|
|
439
|
+
type NativeMediaLayout = 'full-bleed-image' | 'full-bleed-video' | 'background-image' | 'accent-strip-or-inset' | 'feature-left' | 'feature-right' | 'feature-top' | 'feature-bottom' | 'full-frame' | 'map-canvas' | 'photo-grid' | 'spatial-canvas' | 'freeform-canvas';
|
|
417
440
|
/** How unconsumed body media behaves after the template renders. */
|
|
418
441
|
type UnconsumedMediaBehavior = 'reserved-slot' | 'reserve-when-no-native-media' | 'retain-native-layout';
|
|
419
442
|
interface BlockMediaLayoutPolicy {
|
|
@@ -545,6 +568,30 @@ declare const BLOCK_MEDIA_LAYOUT_POLICIES: {
|
|
|
545
568
|
readonly additionalMediaLayout: "overlay-inset";
|
|
546
569
|
readonly unconsumedMedia: "retain-native-layout";
|
|
547
570
|
};
|
|
571
|
+
readonly topFeature: {
|
|
572
|
+
readonly summary: "Body media spans the full width across the top; the heading and complete body take a band below sized to the text. Without media it is a content slide.";
|
|
573
|
+
readonly noMedia: "template-default";
|
|
574
|
+
readonly ownership: "native-slot";
|
|
575
|
+
readonly nativeLayout: "feature-top";
|
|
576
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
577
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
578
|
+
};
|
|
579
|
+
readonly bottomFeature: {
|
|
580
|
+
readonly summary: "The heading and complete body take a band across the top sized to the text; body media spans the full width below. Without media it is a content slide.";
|
|
581
|
+
readonly noMedia: "template-default";
|
|
582
|
+
readonly ownership: "native-slot";
|
|
583
|
+
readonly nativeLayout: "feature-bottom";
|
|
584
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
585
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
586
|
+
};
|
|
587
|
+
readonly mediaOnly: {
|
|
588
|
+
readonly summary: "Body media fills the whole slide with no text; without media the heading and body render as a content slide.";
|
|
589
|
+
readonly noMedia: "template-default";
|
|
590
|
+
readonly ownership: "native-slot";
|
|
591
|
+
readonly nativeLayout: "full-frame";
|
|
592
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
593
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
594
|
+
};
|
|
548
595
|
readonly map: {
|
|
549
596
|
readonly summary: "The map canvas is the primary visual; other media must not reflow its geography.";
|
|
550
597
|
readonly noMedia: "intrinsic-visual";
|
|
@@ -820,6 +867,12 @@ declare function sectionHeader(input: SectionHeaderInput, context: TemplateConte
|
|
|
820
867
|
* cover's scrim follows. Built for YouTube covers and social thumbnails,
|
|
821
868
|
* but works as an ordinary block template too.
|
|
822
869
|
*
|
|
870
|
+
* `backdrop: 'frosted'` swaps the bloom for the frosted-glass plate of the
|
|
871
|
+
* frosted cover (frostedPlate.ts): the photo stays clear and the title sits
|
|
872
|
+
* on glass that hugs it, centred in its placement band, sized as large as
|
|
873
|
+
* the glass allows within 90% of the frame width. Only with an image; the
|
|
874
|
+
* plate never fades (a fading ancestor would switch its blur off).
|
|
875
|
+
*
|
|
823
876
|
* This is shared code used by both site and efb-app doc renderers.
|
|
824
877
|
*/
|
|
825
878
|
|
|
@@ -829,6 +882,40 @@ declare function sectionHeader(input: SectionHeaderInput, context: TemplateConte
|
|
|
829
882
|
* then binary-searched against the wrapped block's height.
|
|
830
883
|
*/
|
|
831
884
|
declare function fitBigTextSize(title: string, viewport: ViewportConfig, heightFraction?: number): number;
|
|
885
|
+
/** Geometry of a frosted big-text card, in px of the viewport (exported for tests and tools). */
|
|
886
|
+
interface FrostedBigTextLayout {
|
|
887
|
+
/** Title font size, px. */
|
|
888
|
+
fontSize: number;
|
|
889
|
+
/** The title as drawn, one entry per line. */
|
|
890
|
+
lines: string[];
|
|
891
|
+
/** The plate: top-left corner, size and corner radius. */
|
|
892
|
+
plate: {
|
|
893
|
+
x: number;
|
|
894
|
+
y: number;
|
|
895
|
+
width: number;
|
|
896
|
+
height: number;
|
|
897
|
+
radius: number;
|
|
898
|
+
};
|
|
899
|
+
/** The title's box, centred on the plate with room for the font's full ascent and descent. */
|
|
900
|
+
title: {
|
|
901
|
+
cx: number;
|
|
902
|
+
cy: number;
|
|
903
|
+
width: number;
|
|
904
|
+
height: number;
|
|
905
|
+
};
|
|
906
|
+
/** Optical centring of the title's ink (see `opticalCentreShiftEm`). */
|
|
907
|
+
baselineShift: number;
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* Lay out a frosted big-text card: the largest size whose balanced lines, padded by
|
|
911
|
+
* the plate, fit {@link BIG_TEXT_FROSTED_WIDTH_FRACTION} of the frame width and the
|
|
912
|
+
* placement band's height (at most {@link BIG_TEXT_FROSTED_HEIGHT_SHARE} of the shorter
|
|
913
|
+
* side). The plate is centred on the band.
|
|
914
|
+
*/
|
|
915
|
+
declare function frostedBigTextLayout(displayTitle: string, viewport: ViewportConfig, band?: {
|
|
916
|
+
y: number;
|
|
917
|
+
height: number;
|
|
918
|
+
}): FrostedBigTextLayout;
|
|
832
919
|
declare function bigText(input: BigTextInput, context: TemplateContext): Layer[];
|
|
833
920
|
|
|
834
921
|
/**
|
|
@@ -840,7 +927,15 @@ declare function bigText(input: BigTextInput, context: TemplateContext): Layer[]
|
|
|
840
927
|
* more visual template after validation and preview.
|
|
841
928
|
*/
|
|
842
929
|
|
|
843
|
-
|
|
930
|
+
interface ContentBlockOptions {
|
|
931
|
+
/**
|
|
932
|
+
* Leave picture-only paragraphs out of the body — for media-led templates,
|
|
933
|
+
* which show those pictures in their media band. `content` itself keeps
|
|
934
|
+
* their alt text, the loss-averse default.
|
|
935
|
+
*/
|
|
936
|
+
omitPictures?: boolean;
|
|
937
|
+
}
|
|
938
|
+
declare function contentBlock(input: ContentBlockInput, context: TemplateContext, options?: ContentBlockOptions): Layer[];
|
|
844
939
|
|
|
845
940
|
/**
|
|
846
941
|
* Stat Highlight Template
|
|
@@ -1004,6 +1099,24 @@ declare function imageWithCaption(input: ImageWithCaptionInput, context: Templat
|
|
|
1004
1099
|
declare function leftFeature(input: LeftFeatureInput, context: TemplateContext): Layer[];
|
|
1005
1100
|
declare function rightFeature(input: RightFeatureInput, context: TemplateContext): Layer[];
|
|
1006
1101
|
|
|
1102
|
+
/**
|
|
1103
|
+
* Media-led Templates — `topFeature`, `bottomFeature` and `mediaOnly`
|
|
1104
|
+
*
|
|
1105
|
+
* The block's own media — images, video clips, hosted players, diagrams —
|
|
1106
|
+
* leads the slide. These templates render their text exactly as `content`
|
|
1107
|
+
* does (the heading and the complete body, lists and builds intact) and leave
|
|
1108
|
+
* the media to the shared rich-media pass. Their layout policy
|
|
1109
|
+
* (`mediaLayoutPolicy.ts`, resolved in `richMediaLayout.ts`) gives the media
|
|
1110
|
+
* the full width of the slide, edge to edge — a band across the top or bottom
|
|
1111
|
+
* with the text re-fitted into the rest, or the whole slide — instead of the
|
|
1112
|
+
* half a side-by-side feature leaves it. Without media each one is a plain
|
|
1113
|
+
* content slide, so choosing it never loses the body.
|
|
1114
|
+
*/
|
|
1115
|
+
|
|
1116
|
+
declare function topFeature(input: TopFeatureInput, context: TemplateContext): Layer[];
|
|
1117
|
+
declare function bottomFeature(input: BottomFeatureInput, context: TemplateContext): Layer[];
|
|
1118
|
+
declare function mediaOnly(input: MediaOnlyInput, context: TemplateContext): Layer[];
|
|
1119
|
+
|
|
1007
1120
|
/**
|
|
1008
1121
|
* Map Block Template
|
|
1009
1122
|
*
|
|
@@ -2176,12 +2289,19 @@ declare function extractHostedVideos(contents: readonly MarkdownBlockNode[] | un
|
|
|
2176
2289
|
declare function isPictureFence(node: MarkdownNode): boolean;
|
|
2177
2290
|
/**
|
|
2178
2291
|
* Body nodes that render as their own visual layer rather than as prose: a
|
|
2179
|
-
* picture fence ({@link isPictureFence})
|
|
2180
|
-
*
|
|
2181
|
-
* print the diagram source
|
|
2182
|
-
* became.
|
|
2292
|
+
* picture fence ({@link isPictureFence}), a hosted-video paragraph and a
|
|
2293
|
+
* standalone `<video>` (players, via `appendRichContentLayers`). Repeating
|
|
2294
|
+
* them as body text would print the diagram source, the video's link or its
|
|
2295
|
+
* raw tag under the very thing they became.
|
|
2183
2296
|
*/
|
|
2184
2297
|
declare function isMaterializedMediaNode(node: MarkdownBlockNode): boolean;
|
|
2298
|
+
/**
|
|
2299
|
+
* A paragraph that is only pictures: markdown images (a video file in image
|
|
2300
|
+
* syntax included) or resized `<img>` tags. A media-led template shows them
|
|
2301
|
+
* in its media band, so their alt text repeated as body copy would caption
|
|
2302
|
+
* the picture twice.
|
|
2303
|
+
*/
|
|
2304
|
+
declare function isPictureParagraph(node: MarkdownBlockNode): boolean;
|
|
2185
2305
|
/** Plain text of a block's body contents (excluding the heading). */
|
|
2186
2306
|
declare function extractBodyPlainText(contents?: MarkdownBlockNode[]): string;
|
|
2187
2307
|
/** Extract list items as plain text. */
|
|
@@ -4347,4 +4467,4 @@ declare function treeFromMarkdownList(list: MarkdownList): Tree;
|
|
|
4347
4467
|
/** Find the first top-level markdown list in a block's body, if any. */
|
|
4348
4468
|
declare function findFirstList(contents: MarkdownBlockNode[] | undefined): MarkdownList | undefined;
|
|
4349
4469
|
|
|
4350
|
-
export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, type ArrangeAsciiDiagramOptions, type AsciiDiagram, type AsciiDiagramDetection, type AsciiDiagramEdge, type AsciiDiagramNode, type AsciiTimeline, type AsciiTimelineDetection, type AsciiTimelineEvent, type AsciiTimelineLink, type AsciiTimelineMarker, type AsciiTimelineSide, type AsciiTimelineStats, type AsciiTimelineStyle, type AsciiTimelineTrack, type AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, BUILTIN_DASHBOARD_LAYOUTS, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuildPreviewDocOptions, type BuildTimeline, type BuiltInTemplateName, CONTAINER_TEMPLATES, COVER_SLIDE_FRONTMATTER_KEYS, COVER_SLIDE_TEMPLATE_OPTIONS, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type ContentBuildPlan, type CoverBlockInput, type CoverSlidePlayback, type CoverSlideSettings, type CoverSlideTemplate, type CoverSlideTemplateOption, DASHBOARD_AUTO_LAYOUT_ID, DASHBOARD_FRONTMATTER_KEYS, DASHBOARD_STYLES, DASHBOARD_STYLE_IDS, DASHBOARD_ZOOM_LEVELS, DATA_FILE_EXTENSIONS, DEFAULT_COVER_SLIDE_SETTINGS, DEFAULT_DASHBOARD_SETTINGS, DEFAULT_DASHBOARD_STYLE, DEFAULT_LAYOUT, DEFAULT_WORD_STAGGER, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DashboardCell, type DashboardCellChrome, type DashboardCellDefinition, type DashboardCellFrame, type DashboardDiagnostic, type DashboardLayoutDefinition, type DashboardLayoutSummary, type DashboardLayoutValidationError, type DashboardLayoutValidationResult, type DashboardMaterialization, type DashboardRectPct, type DashboardSettings, type DashboardSettingsOverrides, type DashboardStyleId, type DashboardStyleSummary, type DashboardTitle, type DashboardTitleSlotDefinition, type DashboardZoomCandidate, type DashboardZoomLevel, type DashboardZoomMode, type DataFenceParseResult, type DataSourceReadOptions, type DataSourceReader, type DataSourceStats, type DataSourceTable, type DeriveTemplateInputsOptions, type DetectAsciiTimelineOptions, type DiagramEdge, type DiagramLabelFit, type DiagramLayout, type DiagramLayoutOptions, type DiagramNodePosition, DocBlock, type DrawingConnector, type DrawingLayout, type DrawingLayoutOptions, type DrawingShape, type DrawingShapeKind, type EmbeddedVideo, type ExpandDocBlocksOptions, type ExtractedTableData, FRONTMATTER_DASHBOARD_LAYOUTS_KEY, type FirstImage, type Flashcard, type FlashcardChoice, type FlashcardDeck, type FlashcardDiagnostic, type FlashcardDiagnosticCode, type FlashcardFace, type FlashcardKind, type FlashcardSourceMode, GEOMETRY_BOUND_TEMPLATES, type HostedVideo, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, MAX_COVER_SLIDE_DURATION_SECONDS, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type MaterializeDashboardOptions, type MaterializeFlashcardsOptions, type NarrationResolution, type NativeMediaLayout, type NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, type ParsedStat, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolveDataReferencesOptions, type ResolvedDashboardCell, type ResolvedDataReferences, type ResolvedPageBlock, type RichListItem, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, type SupplementalMediaLayoutVariant, type SupplementalMediaShape, type SupplementalMediaVariantMatrix, TABLE_FED_TEMPLATES, TEMPLATE_AUTHORING_METADATA, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, type TemplateAuthoringMetadata, type TemplateAuthoringRole, TemplateBlock, type TemplateBodyPolicy, TemplateContext, type TemplateInputDescriptor, type TemplateMediaOwnership, type TemplateMetadata, type TemplateParamFinding, Theme, ThemeColorScheme, type Tree, type TreeDetection, type TreeItem, type TreeNode, type UnconsumedMediaBehavior, type ValidateOptions, ViewportConfig, ViewportOrientation, accentForViewport, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, arrangeAsciiDiagram, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, bigText, blockBuildSteps, buildCursorAtTime, buildDashboardCellChrome, buildPageCss, buildPageCssVars, buildPreviewDoc, buildRegistry, buildSourceText, buildTargetState, canvasToAsciiCell, chooseDashboardLayout, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, composeDashboardLayers, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, contentBlock, countBlocks, countUpSpecFor, coverBlock, createAccentLayers, cssFilterForTreatment, dashboardCanvasFill, dashboardCellAccent, dataSidecarPrefix, dataTable, dateEvent, definitionCard, deriveTemplateInputs, desiredCellZoom, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, documentTitleFromFileName, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractHostedVideos, extractImages, extractListItems, extractRichListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitBigTextSize, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, formatCountUp, formatCountValue, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDashboardLayoutSummaries, getDefaultAnimation, getDefaultAnimationDuration, getMotionProfile, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasBlockBuilds, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isDataFilePath, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isGeometryBoundTemplate, isMaterializedMediaNode, isPictureFence, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, layoutCapacity, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, listDashboardLayouts, mapBlock, markdownBlockSeparatorLines, markdownToDoc, markerPath, materializeBlockLayers, materializeDashboard, materializeFlashcards, motionDelay, motionEntrance, motionStateTransform, nearestSnapPoint, normalizeDashboardZoom, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseStatNumber, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, planContentBuilds, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, readDashboardLayoutsFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderMarkdownBlocksHtml, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveBuildTimeline, resolveColorScheme, resolveCoverSlideSettings, resolveDashboardLayoutDefinition, resolveDashboardSettings, resolveDashboardStyleId, resolveDashboardZooms, resolveDataReferences, resolveDocBuildTiming, resolveFlashcardMarker, resolveLayoutCells, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, stripBlockBackdropLayer, stripsBlockBackdrop, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, transformOriginFor, transposeCells, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateDashboardLayoutDefinition, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wordRevealDelay, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter, writeDashboardLayoutsToFrontmatter };
|
|
4470
|
+
export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, type ArrangeAsciiDiagramOptions, type AsciiDiagram, type AsciiDiagramDetection, type AsciiDiagramEdge, type AsciiDiagramNode, type AsciiTimeline, type AsciiTimelineDetection, type AsciiTimelineEvent, type AsciiTimelineLink, type AsciiTimelineMarker, type AsciiTimelineSide, type AsciiTimelineStats, type AsciiTimelineStyle, type AsciiTimelineTrack, type AudioSegmentTiming, BASE_INPUT_DESCRIPTORS, BLOCK_MEDIA_LAYOUT_POLICIES, BUILTIN_DASHBOARD_LAYOUTS, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuildPreviewDocOptions, type BuildTimeline, type BuiltInTemplateName, CONTAINER_TEMPLATES, COVER_SLIDE_FRONTMATTER_KEYS, COVER_SLIDE_TEMPLATE_OPTIONS, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type ContentBuildPlan, type CoverBlockInput, type CoverSlidePlayback, type CoverSlideSettings, type CoverSlideTemplate, type CoverSlideTemplateOption, DASHBOARD_AUTO_LAYOUT_ID, DASHBOARD_FRONTMATTER_KEYS, DASHBOARD_STYLES, DASHBOARD_STYLE_IDS, DASHBOARD_ZOOM_LEVELS, DATA_FILE_EXTENSIONS, DEFAULT_COVER_SLIDE_SETTINGS, DEFAULT_DASHBOARD_SETTINGS, DEFAULT_DASHBOARD_STYLE, DEFAULT_LAYOUT, DEFAULT_WORD_STAGGER, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DashboardCell, type DashboardCellChrome, type DashboardCellDefinition, type DashboardCellFrame, type DashboardDiagnostic, type DashboardLayoutDefinition, type DashboardLayoutSummary, type DashboardLayoutValidationError, type DashboardLayoutValidationResult, type DashboardMaterialization, type DashboardRectPct, type DashboardSettings, type DashboardSettingsOverrides, type DashboardStyleId, type DashboardStyleSummary, type DashboardTitle, type DashboardTitleSlotDefinition, type DashboardZoomCandidate, type DashboardZoomLevel, type DashboardZoomMode, type DataFenceParseResult, type DataSourceReadOptions, type DataSourceReader, type DataSourceStats, type DataSourceTable, type DeriveTemplateInputsOptions, type DetectAsciiTimelineOptions, type DiagramEdge, type DiagramLabelFit, type DiagramLayout, type DiagramLayoutOptions, type DiagramNodePosition, DocBlock, type DrawingConnector, type DrawingLayout, type DrawingLayoutOptions, type DrawingShape, type DrawingShapeKind, type EmbeddedVideo, type ExpandDocBlocksOptions, type ExtractedTableData, FRONTMATTER_DASHBOARD_LAYOUTS_KEY, type FirstImage, type Flashcard, type FlashcardChoice, type FlashcardDeck, type FlashcardDiagnostic, type FlashcardDiagnosticCode, type FlashcardFace, type FlashcardKind, type FlashcardSourceMode, type FrostedBigTextLayout, GEOMETRY_BOUND_TEMPLATES, type HostedVideo, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, MAX_COVER_SLIDE_DURATION_SECONDS, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type MaterializeDashboardOptions, type MaterializeFlashcardsOptions, type NarrationResolution, type NativeMediaLayout, type NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, type ParsedStat, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolveDataReferencesOptions, type ResolvedDashboardCell, type ResolvedDataReferences, type ResolvedPageBlock, type RichListItem, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, type SupplementalMediaLayoutVariant, type SupplementalMediaShape, type SupplementalMediaVariantMatrix, TABLE_FED_TEMPLATES, TEMPLATE_AUTHORING_METADATA, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, type TemplateAuthoringMetadata, type TemplateAuthoringRole, TemplateBlock, type TemplateBodyPolicy, TemplateContext, type TemplateInputDescriptor, type TemplateMediaOwnership, type TemplateMetadata, type TemplateParamFinding, Theme, ThemeColorScheme, type Tree, type TreeDetection, type TreeItem, type TreeNode, type UnconsumedMediaBehavior, type ValidateOptions, ViewportConfig, ViewportOrientation, accentForViewport, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, arrangeAsciiDiagram, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, bigText, blockBuildSteps, bottomFeature, buildCursorAtTime, buildDashboardCellChrome, buildPageCss, buildPageCssVars, buildPreviewDoc, buildRegistry, buildSourceText, buildTargetState, canvasToAsciiCell, chooseDashboardLayout, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, composeDashboardLayers, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, contentBlock, countBlocks, countUpSpecFor, coverBlock, createAccentLayers, cssFilterForTreatment, dashboardCanvasFill, dashboardCellAccent, dataSidecarPrefix, dataTable, dateEvent, definitionCard, deriveTemplateInputs, desiredCellZoom, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, documentTitleFromFileName, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractHostedVideos, extractImages, extractListItems, extractRichListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitBigTextSize, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, formatCountUp, formatCountValue, frostedBigTextLayout, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDashboardLayoutSummaries, getDefaultAnimation, getDefaultAnimationDuration, getMotionProfile, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasBlockBuilds, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isDataFilePath, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isGeometryBoundTemplate, isMaterializedMediaNode, isPictureFence, isPictureParagraph, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, layoutCapacity, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, listDashboardLayouts, mapBlock, markdownBlockSeparatorLines, markdownToDoc, markerPath, materializeBlockLayers, materializeDashboard, materializeFlashcards, mediaOnly, motionDelay, motionEntrance, motionStateTransform, nearestSnapPoint, normalizeDashboardZoom, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseStatNumber, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, planContentBuilds, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, readDashboardLayoutsFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderMarkdownBlocksHtml, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveBuildTimeline, resolveColorScheme, resolveCoverSlideSettings, resolveDashboardLayoutDefinition, resolveDashboardSettings, resolveDashboardStyleId, resolveDashboardZooms, resolveDataReferences, resolveDocBuildTiming, resolveFlashcardMarker, resolveLayoutCells, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, stripBlockBackdropLayer, stripsBlockBackdrop, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, topFeature, transformOriginFor, transposeCells, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateDashboardLayoutDefinition, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wordRevealDelay, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter, writeDashboardLayoutsToFrontmatter };
|