@bendyline/squisq 2.2.0 → 2.3.0
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/NOTICE.md +3 -3
- package/README.md +8 -8
- package/dist/{Doc-BubIpWsp.d.ts → Doc-COe-rPQB.d.ts} +6 -4
- package/dist/{ImageEditDoc-CGxk5CHc.d.ts → ImageEditDoc-dtKahVyD.d.ts} +1 -1
- package/dist/{chunk-DYPMOPIW.js → chunk-EK446BUE.js} +1 -1
- package/dist/{chunk-7ARJZYQY.js → chunk-GIIOY6XR.js} +2048 -1200
- package/dist/{chunk-I2O6W7DX.js → chunk-QNTQIEIV.js} +16 -5
- package/dist/{chunk-FDYDYL77.js → chunk-QWCFK5FN.js} +1 -0
- package/dist/{chunk-CB45YGAM.js → chunk-SPTY4C6F.js} +134 -2
- package/dist/doc/index.d.ts +289 -6
- package/dist/doc/index.js +13 -4
- package/dist/generate/index.d.ts +1 -1
- package/dist/generate/index.js +0 -1
- package/dist/icons/index.js +0 -1
- package/dist/imageEdit/index.d.ts +3 -3
- package/dist/index.d.ts +6 -6
- package/dist/index.js +17 -10
- package/dist/jsonForm/index.d.ts +1 -1
- package/dist/jsonForm/index.js +1 -1
- package/dist/{materializePageSection-wSLA2A1g.d.ts → materializePageSection-BSMOocve.d.ts} +1 -1
- package/dist/narration/index.d.ts +1 -1
- package/dist/narration/index.js +3 -4
- package/dist/random/index.js +0 -1
- package/dist/recommend/index.js +1 -2
- package/dist/schemas/index.d.ts +17 -5
- package/dist/schemas/index.js +3 -1
- package/dist/{themeLibrary-DU9mUmVl.d.ts → themeLibrary-BUTWjufL.d.ts} +1 -1
- package/dist/timing/index.js +0 -1
- package/dist/transform/index.d.ts +2 -2
- package/package.json +5 -2
- package/dist/chunk-2L55443L.js +0 -0
- package/dist/chunk-QKPXHDLR.js +0 -0
- package/dist/chunk-WV5ARNDA.js +0 -0
- package/dist/chunk-XWNNA3KE.js +0 -0
- package/dist/chunk-YZNGMV3G.js +0 -0
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
templateRegistry,
|
|
25
25
|
writeCustomTemplatesToFrontmatter,
|
|
26
26
|
writeCustomThemesToFrontmatter
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-GIIOY6XR.js";
|
|
28
28
|
import {
|
|
29
29
|
ASCII_TREE_VOCAB,
|
|
30
30
|
ASCII_VOCAB,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
toCells,
|
|
41
41
|
toGrid,
|
|
42
42
|
traceBoxes
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-QWCFK5FN.js";
|
|
44
44
|
import {
|
|
45
45
|
defaultPageStyle,
|
|
46
46
|
resolveMediaSchedule
|
|
@@ -537,8 +537,12 @@ function resolvePageBlock(block) {
|
|
|
537
537
|
};
|
|
538
538
|
const coercedParams = coerceTemplateParams(rawName, rawParams).input;
|
|
539
539
|
let base;
|
|
540
|
+
let derivedInputs = null;
|
|
540
541
|
if (annotation) {
|
|
541
542
|
const headingText = extractPlainText(block.sourceHeading);
|
|
543
|
+
derivedInputs = deriveTemplateInputs(rawName, headingText, block.contents, {
|
|
544
|
+
placeholders: true
|
|
545
|
+
});
|
|
542
546
|
base = {
|
|
543
547
|
id: block.id,
|
|
544
548
|
template: rawName,
|
|
@@ -548,9 +552,7 @@ function resolvePageBlock(block) {
|
|
|
548
552
|
title: headingText,
|
|
549
553
|
contents: block.contents,
|
|
550
554
|
children: block.children,
|
|
551
|
-
...
|
|
552
|
-
placeholders: true
|
|
553
|
-
}) ?? {}
|
|
555
|
+
...derivedInputs ?? {}
|
|
554
556
|
};
|
|
555
557
|
} else {
|
|
556
558
|
base = {
|
|
@@ -566,6 +568,14 @@ function resolvePageBlock(block) {
|
|
|
566
568
|
...block.templateData ?? {},
|
|
567
569
|
...coercedParams
|
|
568
570
|
};
|
|
571
|
+
const explicitQuote = Object.prototype.hasOwnProperty.call(coercedParams, "quote") ? coercedParams.quote : block.templateData?.quote;
|
|
572
|
+
if (templateName === "quote" && derivedInputs && !Object.prototype.hasOwnProperty.call(derivedInputs, "title") && !(typeof explicitQuote === "string" && explicitQuote.trim())) {
|
|
573
|
+
const quoteInput = templateBlock;
|
|
574
|
+
quoteInput.quote = derivedInputs.quote;
|
|
575
|
+
if (!Object.prototype.hasOwnProperty.call(block.templateData ?? {}, "title") && !Object.prototype.hasOwnProperty.call(coercedParams, "title")) {
|
|
576
|
+
delete quoteInput.title;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
569
579
|
return { templated: true, templateName, templateBlock };
|
|
570
580
|
}
|
|
571
581
|
|
|
@@ -642,6 +652,7 @@ var quote = (input) => {
|
|
|
642
652
|
kind: "quote-band",
|
|
643
653
|
variant: "plain",
|
|
644
654
|
slots: {
|
|
655
|
+
title: q.title,
|
|
645
656
|
body: { text: q.quote ?? "" },
|
|
646
657
|
attribution: q.attribution,
|
|
647
658
|
media: accentImageMedia(q.accentImage)
|
|
@@ -2457,6 +2457,7 @@ function pickAutoTemplate(profile, blockIndex = 0) {
|
|
|
2457
2457
|
if (profile.hasTimeline) return "timeline";
|
|
2458
2458
|
if (profile.hasTree) return "tree";
|
|
2459
2459
|
if (profile.hasTable) return "dataTable";
|
|
2460
|
+
if (profile.hasVideo) return "videoWithCaption";
|
|
2460
2461
|
if (profile.imageCount >= 2) return "photoGrid";
|
|
2461
2462
|
if (profile.hasImage) return blockIndex % 2 === 0 ? "leftFeature" : "rightFeature";
|
|
2462
2463
|
if (profile.hasBlockquote) return "quote";
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
defaultPageStyle
|
|
3
3
|
} from "./chunk-2ZWIXGAC.js";
|
|
4
4
|
import {
|
|
5
|
+
FONT_FALLBACKS,
|
|
5
6
|
THEME_SCHEMA_VERSION,
|
|
6
7
|
assertTheme,
|
|
7
8
|
createTheme,
|
|
@@ -11,7 +12,8 @@ import {
|
|
|
11
12
|
oklchLighten,
|
|
12
13
|
oklchSetChroma,
|
|
13
14
|
pickContrastingText,
|
|
14
|
-
relativeLuminance
|
|
15
|
+
relativeLuminance,
|
|
16
|
+
resolveFontFamily
|
|
15
17
|
} from "./chunk-C33GTPUZ.js";
|
|
16
18
|
|
|
17
19
|
// src/schemas/Doc.ts
|
|
@@ -172,6 +174,135 @@ function serializeTheme(theme) {
|
|
|
172
174
|
return JSON.stringify(theme, null, 2);
|
|
173
175
|
}
|
|
174
176
|
|
|
177
|
+
// src/schemas/mermaidTheme.ts
|
|
178
|
+
var MERMAID_CHART_COLOR_COUNT = 12;
|
|
179
|
+
function uniqueColors(colors) {
|
|
180
|
+
return colors.filter((color, index) => color && colors.indexOf(color) === index);
|
|
181
|
+
}
|
|
182
|
+
function chartPalette(theme) {
|
|
183
|
+
const schemes = Object.values(theme.colorSchemes);
|
|
184
|
+
const seeds = uniqueColors([
|
|
185
|
+
theme.colors.primary,
|
|
186
|
+
theme.colors.secondary,
|
|
187
|
+
theme.colors.highlight,
|
|
188
|
+
...schemes.map((scheme) => scheme.accent),
|
|
189
|
+
theme.colors.warning,
|
|
190
|
+
...schemes.map((scheme) => scheme.bg),
|
|
191
|
+
theme.colors.textMuted,
|
|
192
|
+
theme.colors.backgroundLight
|
|
193
|
+
]);
|
|
194
|
+
const fallback = theme.colors.primary;
|
|
195
|
+
return Array.from(
|
|
196
|
+
{ length: MERMAID_CHART_COLOR_COUNT },
|
|
197
|
+
(_, index) => seeds[index % Math.max(1, seeds.length)] ?? fallback
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
function textOn(theme, background) {
|
|
201
|
+
return pickContrastingText(background, theme.colors.text, theme.colors.background);
|
|
202
|
+
}
|
|
203
|
+
function buildMermaidThemeVariables(theme) {
|
|
204
|
+
const { colors } = theme;
|
|
205
|
+
const primaryText = textOn(theme, colors.primary);
|
|
206
|
+
const secondaryText = textOn(theme, colors.secondary);
|
|
207
|
+
const highlightText = textOn(theme, colors.highlight);
|
|
208
|
+
const palette = chartPalette(theme);
|
|
209
|
+
const variables = {
|
|
210
|
+
darkMode: relativeLuminance(colors.background) < 0.5,
|
|
211
|
+
background: colors.background,
|
|
212
|
+
fontFamily: resolveFontFamily(theme.typography.bodyFont, FONT_FALLBACKS.sans),
|
|
213
|
+
primaryColor: colors.primary,
|
|
214
|
+
primaryTextColor: primaryText,
|
|
215
|
+
primaryBorderColor: colors.highlight,
|
|
216
|
+
secondaryColor: colors.secondary,
|
|
217
|
+
secondaryTextColor: secondaryText,
|
|
218
|
+
secondaryBorderColor: colors.primary,
|
|
219
|
+
tertiaryColor: colors.backgroundLight,
|
|
220
|
+
tertiaryTextColor: colors.text,
|
|
221
|
+
tertiaryBorderColor: colors.textMuted,
|
|
222
|
+
textColor: colors.text,
|
|
223
|
+
titleColor: colors.text,
|
|
224
|
+
lineColor: colors.textMuted,
|
|
225
|
+
arrowheadColor: colors.textMuted,
|
|
226
|
+
defaultLinkColor: colors.textMuted,
|
|
227
|
+
mainBkg: colors.primary,
|
|
228
|
+
nodeBkg: colors.primary,
|
|
229
|
+
nodeTextColor: primaryText,
|
|
230
|
+
nodeBorder: colors.highlight,
|
|
231
|
+
clusterBkg: colors.backgroundLight,
|
|
232
|
+
clusterBorder: colors.secondary,
|
|
233
|
+
edgeLabelBackground: colors.background,
|
|
234
|
+
actorBkg: colors.backgroundLight,
|
|
235
|
+
actorBorder: colors.primary,
|
|
236
|
+
actorTextColor: colors.text,
|
|
237
|
+
actorLineColor: colors.textMuted,
|
|
238
|
+
signalColor: colors.textMuted,
|
|
239
|
+
signalTextColor: colors.text,
|
|
240
|
+
labelBoxBkgColor: colors.backgroundLight,
|
|
241
|
+
labelBoxBorderColor: colors.secondary,
|
|
242
|
+
labelTextColor: colors.text,
|
|
243
|
+
loopTextColor: colors.text,
|
|
244
|
+
activationBkgColor: colors.secondary,
|
|
245
|
+
activationBorderColor: colors.primary,
|
|
246
|
+
sequenceNumberColor: primaryText,
|
|
247
|
+
noteBkgColor: colors.highlight,
|
|
248
|
+
noteBorderColor: colors.primary,
|
|
249
|
+
noteTextColor: highlightText,
|
|
250
|
+
sectionBkgColor: colors.backgroundLight,
|
|
251
|
+
altSectionBkgColor: colors.background,
|
|
252
|
+
sectionBkgColor2: colors.primary,
|
|
253
|
+
taskBkgColor: colors.primary,
|
|
254
|
+
taskBorderColor: colors.highlight,
|
|
255
|
+
taskTextColor: primaryText,
|
|
256
|
+
taskTextLightColor: colors.text,
|
|
257
|
+
taskTextDarkColor: colors.text,
|
|
258
|
+
taskTextOutsideColor: colors.text,
|
|
259
|
+
taskTextClickableColor: colors.highlight,
|
|
260
|
+
activeTaskBkgColor: colors.secondary,
|
|
261
|
+
activeTaskBorderColor: colors.highlight,
|
|
262
|
+
doneTaskBkgColor: colors.backgroundLight,
|
|
263
|
+
doneTaskBorderColor: colors.textMuted,
|
|
264
|
+
critBkgColor: colors.warning,
|
|
265
|
+
critBorderColor: colors.highlight,
|
|
266
|
+
todayLineColor: colors.warning,
|
|
267
|
+
gridColor: colors.textMuted,
|
|
268
|
+
pieTitleTextColor: colors.text,
|
|
269
|
+
pieSectionTextColor: colors.text,
|
|
270
|
+
pieLegendTextColor: colors.text,
|
|
271
|
+
pieStrokeColor: colors.background,
|
|
272
|
+
pieOuterStrokeColor: colors.textMuted,
|
|
273
|
+
quadrantPointFill: colors.highlight,
|
|
274
|
+
quadrantPointTextFill: highlightText,
|
|
275
|
+
quadrantXAxisTextFill: colors.text,
|
|
276
|
+
quadrantYAxisTextFill: colors.text,
|
|
277
|
+
quadrantTitleFill: colors.text,
|
|
278
|
+
requirementBackground: colors.backgroundLight,
|
|
279
|
+
requirementBorderColor: colors.primary,
|
|
280
|
+
requirementTextColor: colors.text,
|
|
281
|
+
relationColor: colors.textMuted,
|
|
282
|
+
relationLabelBackground: colors.background,
|
|
283
|
+
relationLabelColor: colors.text,
|
|
284
|
+
commitLabelColor: colors.text,
|
|
285
|
+
commitLabelBackground: colors.backgroundLight,
|
|
286
|
+
tagLabelColor: primaryText,
|
|
287
|
+
tagLabelBackground: colors.primary,
|
|
288
|
+
tagLabelBorder: colors.highlight
|
|
289
|
+
};
|
|
290
|
+
palette.forEach((color, index) => {
|
|
291
|
+
const label = textOn(theme, color);
|
|
292
|
+
variables[`cScale${index}`] = color;
|
|
293
|
+
variables[`cScaleInv${index}`] = label;
|
|
294
|
+
variables[`cScaleLabel${index}`] = label;
|
|
295
|
+
variables[`cScalePeer${index}`] = label;
|
|
296
|
+
variables[`pie${index + 1}`] = color;
|
|
297
|
+
if (index < 8) {
|
|
298
|
+
variables[`git${index}`] = color;
|
|
299
|
+
variables[`gitInv${index}`] = label;
|
|
300
|
+
variables[`gitBranchLabel${index}`] = label;
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
return variables;
|
|
304
|
+
}
|
|
305
|
+
|
|
175
306
|
export {
|
|
176
307
|
calculateDuration,
|
|
177
308
|
getSegmentAtTime,
|
|
@@ -182,5 +313,6 @@ export {
|
|
|
182
313
|
accentToColorScheme,
|
|
183
314
|
compileTheme,
|
|
184
315
|
parseTheme,
|
|
185
|
-
serializeTheme
|
|
316
|
+
serializeTheme,
|
|
317
|
+
buildMermaidThemeVariables
|
|
186
318
|
};
|
package/dist/doc/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { aX as TemplateBlock, aY as TemplateContext, V as Layer, p as CustomTemplateDefinition, a_ as TemplateRegistry, b1 as Theme, bq as ViewportConfig, az as PersistentLayerConfig, G as DocBlock, ay as PersistentLayer, be as TitleBlockInput, aM as SectionHeaderInput, aS as StatHighlightInput, aH as QuoteBlockInput, L as FactCardInput, bl as TwoColumnInput, u as DateEventInput, T as ImageWithCaptionInput, Y as LeftFeatureInput, aK as RightFeatureInput, $ as MapBlockInput, aR as StartBlockConfig, O as FullBleedQuoteInput, _ as ListBlockInput, aD as PhotoGridInput, w as DefinitionCardInput, n as ComparisonBarInput, aG as PullQuoteInput, bp as VideoWithCaptionInput, bo as VideoPullQuoteInput, t as DataTableInput, x as DiagramBlockInput, bg as TreeBlockInput, ba as TimelineBlockInput, B as Block, I as DrawingBlockInput, a3 as MarkerStyle, A as AccentImage, S as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, b3 as ThemeColorScheme, F as Doc, b5 as ThemeRegistry, ar as PageEmphasis, b4 as ThemePageStyle, H as DocDiagnostic, E as DiagramTemplateNode, z as DiagramTemplateEdge, bd as TimelineTemplateTrack, bc as TimelineTemplateLink } from '../Doc-
|
|
2
|
-
export { J as FRONTMATTER_CUSTOM_TEMPLATES_KEY, K as FRONTMATTER_CUSTOM_THEMES_KEY, X as LayoutHints, aJ as RenderStyle, b2 as ThemeColorPalette, b8 as ThemeStyle, b9 as ThemeTypography, bm as VIEWPORT_PRESETS,
|
|
1
|
+
import { aX as TemplateBlock, aY as TemplateContext, V as Layer, p as CustomTemplateDefinition, a_ as TemplateRegistry, b1 as Theme, bq as ViewportConfig, az as PersistentLayerConfig, G as DocBlock, br as ViewportOrientation, ay as PersistentLayer, be as TitleBlockInput, aM as SectionHeaderInput, aS as StatHighlightInput, aH as QuoteBlockInput, L as FactCardInput, bl as TwoColumnInput, u as DateEventInput, T as ImageWithCaptionInput, Y as LeftFeatureInput, aK as RightFeatureInput, $ as MapBlockInput, aR as StartBlockConfig, O as FullBleedQuoteInput, _ as ListBlockInput, aD as PhotoGridInput, w as DefinitionCardInput, n as ComparisonBarInput, aG as PullQuoteInput, bp as VideoWithCaptionInput, bo as VideoPullQuoteInput, t as DataTableInput, x as DiagramBlockInput, bg as TreeBlockInput, ba as TimelineBlockInput, B as Block, I as DrawingBlockInput, a3 as MarkerStyle, A as AccentImage, S as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, b3 as ThemeColorScheme, F as Doc, b5 as ThemeRegistry, ar as PageEmphasis, b4 as ThemePageStyle, H as DocDiagnostic, E as DiagramTemplateNode, z as DiagramTemplateEdge, bd as TimelineTemplateTrack, bc as TimelineTemplateLink } from '../Doc-COe-rPQB.js';
|
|
2
|
+
export { J as FRONTMATTER_CUSTOM_TEMPLATES_KEY, K as FRONTMATTER_CUSTOM_THEMES_KEY, X as LayoutHints, aJ as RenderStyle, b2 as ThemeColorPalette, b8 as ThemeStyle, b9 as ThemeTypography, bm as VIEWPORT_PRESETS, bs as ViewportPreset, bx as createTemplateContext, bE as getLayoutHints, bH as getTwoColumnPositions, bI as getViewport, bJ as getViewportOrientation, bL as isTemplateBlock, bO as scaledFontSize } from '../Doc-COe-rPQB.js';
|
|
3
3
|
import { K as MarkdownNode, a2 as TransitionType, a1 as TransitionDirection, M as MarkdownBlockNode, r as MarkdownHeading, n as MarkdownDocument, S as MarkdownTable, i as MarkdownCodeBlock, F as MarkdownList } from '../types-CUNc9biN.js';
|
|
4
4
|
import { C as CoercedBlockMeta } from '../annotationCoercion-PtRQhk5V.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-BSMOocve.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-BSMOocve.js';
|
|
7
7
|
import { C as ContentContainer } from '../ContentContainer-B2w9sUoL.js';
|
|
8
|
-
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-
|
|
8
|
+
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-BUTWjufL.js';
|
|
9
9
|
|
|
10
10
|
/** Runtime registry composition for built-in and document-scoped templates. */
|
|
11
11
|
|
|
@@ -107,6 +107,259 @@ interface TemplateMetadata {
|
|
|
107
107
|
}
|
|
108
108
|
declare const TEMPLATE_METADATA: Record<string, TemplateMetadata>;
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Exhaustive media-layout policy for every built-in block template.
|
|
112
|
+
*
|
|
113
|
+
* A template has two independent concerns:
|
|
114
|
+
* 1. what it renders when no external image/video/diagram is present, and
|
|
115
|
+
* 2. what happens when rich body media was not already consumed by it.
|
|
116
|
+
*
|
|
117
|
+
* Keeping that declaration here prevents misleading template names (for
|
|
118
|
+
* example, `fullBleedQuote` is text-only) from becoming layout behavior.
|
|
119
|
+
* `mediaLayoutPolicy.test.ts` keeps this map exactly 1:1 with the registry.
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
type BuiltInTemplateName = TemplateBlock['template'];
|
|
123
|
+
/** Shape of the supplemental media set after extraction. */
|
|
124
|
+
type SupplementalMediaShape = 'wide' | 'tall' | 'square' | 'multiple';
|
|
125
|
+
/** Designed compositions understood by the framework-free layout resolver. */
|
|
126
|
+
type SupplementalMediaLayoutVariant = 'title-stack' | 'split' | 'text-stack' | 'dense-stack';
|
|
127
|
+
type SupplementalMediaVariantMatrix = Record<ViewportOrientation, Record<SupplementalMediaShape, SupplementalMediaLayoutVariant>>;
|
|
128
|
+
/** What the template does before supplemental rich media is considered. */
|
|
129
|
+
type NoMediaLayout = 'template-default' | 'template-without-optional-media' | 'unsupported' | 'intrinsic-visual';
|
|
130
|
+
/** Which part of the system owns the template's primary media geometry. */
|
|
131
|
+
type TemplateMediaOwnership = 'supplemental' | 'optional-native' | 'required-native' | 'intrinsic-visual';
|
|
132
|
+
/** Geometry already implemented by templates that own their primary media. */
|
|
133
|
+
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';
|
|
134
|
+
/** How unconsumed body media behaves after the template renders. */
|
|
135
|
+
type UnconsumedMediaBehavior = 'reserved-slot' | 'reserve-when-no-native-media' | 'retain-native-layout';
|
|
136
|
+
interface BlockMediaLayoutPolicy {
|
|
137
|
+
/** Concise human-readable contract for reviewers and future template work. */
|
|
138
|
+
summary: string;
|
|
139
|
+
/** The composition used when the block has no external rich media. */
|
|
140
|
+
noMedia: NoMediaLayout;
|
|
141
|
+
/** Whether primary media is placed by this resolver or by the template. */
|
|
142
|
+
ownership: TemplateMediaOwnership;
|
|
143
|
+
/** Existing template-owned media geometry, when applicable. */
|
|
144
|
+
nativeLayout?: NativeMediaLayout;
|
|
145
|
+
/** Explicit geometry for extra media when the native composition must remain intact. */
|
|
146
|
+
additionalMediaLayout?: 'overlay-inset';
|
|
147
|
+
/** Placement policy for rich body media left over after template execution. */
|
|
148
|
+
unconsumedMedia: UnconsumedMediaBehavior;
|
|
149
|
+
/** Required whenever unconsumed media may receive a reserved rectangle. */
|
|
150
|
+
variants?: SupplementalMediaVariantMatrix;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Canonical media contract for all 25 built-in templates. Entries are kept
|
|
154
|
+
* in registry/gallery order to make policy reviews easy to scan.
|
|
155
|
+
*/
|
|
156
|
+
declare const BLOCK_MEDIA_LAYOUT_POLICIES: {
|
|
157
|
+
readonly title: {
|
|
158
|
+
readonly summary: "Text-only by default; supplemental media gets a title band plus a reserved field.";
|
|
159
|
+
readonly noMedia: "template-default";
|
|
160
|
+
readonly ownership: "supplemental";
|
|
161
|
+
readonly unconsumedMedia: "reserved-slot";
|
|
162
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
163
|
+
};
|
|
164
|
+
readonly sectionHeader: {
|
|
165
|
+
readonly summary: "Uses its authored background image when present; otherwise supplemental media receives a title composition.";
|
|
166
|
+
readonly noMedia: "template-without-optional-media";
|
|
167
|
+
readonly ownership: "optional-native";
|
|
168
|
+
readonly nativeLayout: "background-image";
|
|
169
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
170
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
171
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
172
|
+
};
|
|
173
|
+
readonly statHighlight: {
|
|
174
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media occupies a companion field.";
|
|
175
|
+
readonly noMedia: "template-without-optional-media";
|
|
176
|
+
readonly ownership: "optional-native";
|
|
177
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
178
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
179
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
180
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
181
|
+
};
|
|
182
|
+
readonly quote: {
|
|
183
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media is paired with the quote.";
|
|
184
|
+
readonly noMedia: "template-without-optional-media";
|
|
185
|
+
readonly ownership: "optional-native";
|
|
186
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
187
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
188
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
189
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
190
|
+
};
|
|
191
|
+
readonly factCard: {
|
|
192
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media is paired with the fact card.";
|
|
193
|
+
readonly noMedia: "template-without-optional-media";
|
|
194
|
+
readonly ownership: "optional-native";
|
|
195
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
196
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
197
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
198
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
199
|
+
};
|
|
200
|
+
readonly twoColumn: {
|
|
201
|
+
readonly summary: "Text comparison by default; supplemental media stacks below the dense two-column panel.";
|
|
202
|
+
readonly noMedia: "template-default";
|
|
203
|
+
readonly ownership: "supplemental";
|
|
204
|
+
readonly unconsumedMedia: "reserved-slot";
|
|
205
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
206
|
+
};
|
|
207
|
+
readonly dateEvent: {
|
|
208
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media is paired with the event.";
|
|
209
|
+
readonly noMedia: "template-without-optional-media";
|
|
210
|
+
readonly ownership: "optional-native";
|
|
211
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
212
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
213
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
214
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
215
|
+
};
|
|
216
|
+
readonly imageWithCaption: {
|
|
217
|
+
readonly summary: "Requires one primary image and owns its full-bleed image/caption geometry.";
|
|
218
|
+
readonly noMedia: "unsupported";
|
|
219
|
+
readonly ownership: "required-native";
|
|
220
|
+
readonly nativeLayout: "full-bleed-image";
|
|
221
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
222
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
223
|
+
};
|
|
224
|
+
readonly leftFeature: {
|
|
225
|
+
readonly summary: "Requires a primary image in the left feature cell; text occupies the right cell.";
|
|
226
|
+
readonly noMedia: "unsupported";
|
|
227
|
+
readonly ownership: "required-native";
|
|
228
|
+
readonly nativeLayout: "feature-left";
|
|
229
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
230
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
231
|
+
};
|
|
232
|
+
readonly rightFeature: {
|
|
233
|
+
readonly summary: "Requires a primary image in the right feature cell; text occupies the left cell.";
|
|
234
|
+
readonly noMedia: "unsupported";
|
|
235
|
+
readonly ownership: "required-native";
|
|
236
|
+
readonly nativeLayout: "feature-right";
|
|
237
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
238
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
239
|
+
};
|
|
240
|
+
readonly map: {
|
|
241
|
+
readonly summary: "The map canvas is the primary visual; other media must not reflow its geography.";
|
|
242
|
+
readonly noMedia: "intrinsic-visual";
|
|
243
|
+
readonly ownership: "intrinsic-visual";
|
|
244
|
+
readonly nativeLayout: "map-canvas";
|
|
245
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
246
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
247
|
+
};
|
|
248
|
+
readonly fullBleedQuote: {
|
|
249
|
+
readonly summary: "Despite its name this is text-only; supplemental media receives the same dramatic title treatment.";
|
|
250
|
+
readonly noMedia: "template-default";
|
|
251
|
+
readonly ownership: "supplemental";
|
|
252
|
+
readonly unconsumedMedia: "reserved-slot";
|
|
253
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
254
|
+
};
|
|
255
|
+
readonly list: {
|
|
256
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media is paired with the list.";
|
|
257
|
+
readonly noMedia: "template-without-optional-media";
|
|
258
|
+
readonly ownership: "optional-native";
|
|
259
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
260
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
261
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
262
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
263
|
+
};
|
|
264
|
+
readonly photoGrid: {
|
|
265
|
+
readonly summary: "Requires a primary image collection and owns the complete tiled media field.";
|
|
266
|
+
readonly noMedia: "unsupported";
|
|
267
|
+
readonly ownership: "required-native";
|
|
268
|
+
readonly nativeLayout: "photo-grid";
|
|
269
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
270
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
271
|
+
};
|
|
272
|
+
readonly definitionCard: {
|
|
273
|
+
readonly summary: "Uses its optional accent image natively; otherwise supplemental media is paired with the definition.";
|
|
274
|
+
readonly noMedia: "template-without-optional-media";
|
|
275
|
+
readonly ownership: "optional-native";
|
|
276
|
+
readonly nativeLayout: "accent-strip-or-inset";
|
|
277
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
278
|
+
readonly unconsumedMedia: "reserve-when-no-native-media";
|
|
279
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
280
|
+
};
|
|
281
|
+
readonly comparisonBar: {
|
|
282
|
+
readonly summary: "Data bars are primary; supplemental media stacks below to preserve horizontal scale.";
|
|
283
|
+
readonly noMedia: "template-default";
|
|
284
|
+
readonly ownership: "supplemental";
|
|
285
|
+
readonly unconsumedMedia: "reserved-slot";
|
|
286
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
287
|
+
};
|
|
288
|
+
readonly pullQuote: {
|
|
289
|
+
readonly summary: "Requires and owns a full-bleed background image behind the quote lockup.";
|
|
290
|
+
readonly noMedia: "unsupported";
|
|
291
|
+
readonly ownership: "required-native";
|
|
292
|
+
readonly nativeLayout: "full-bleed-image";
|
|
293
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
294
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
295
|
+
};
|
|
296
|
+
readonly videoWithCaption: {
|
|
297
|
+
readonly summary: "Requires one primary video and owns its full-bleed video/caption geometry.";
|
|
298
|
+
readonly noMedia: "unsupported";
|
|
299
|
+
readonly ownership: "required-native";
|
|
300
|
+
readonly nativeLayout: "full-bleed-video";
|
|
301
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
302
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
303
|
+
};
|
|
304
|
+
readonly videoPullQuote: {
|
|
305
|
+
readonly summary: "Requires and owns a full-bleed video behind the quote lockup.";
|
|
306
|
+
readonly noMedia: "unsupported";
|
|
307
|
+
readonly ownership: "required-native";
|
|
308
|
+
readonly nativeLayout: "full-bleed-video";
|
|
309
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
310
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
311
|
+
};
|
|
312
|
+
readonly dataTable: {
|
|
313
|
+
readonly summary: "The table remains wide; supplemental media stacks below the dense data region.";
|
|
314
|
+
readonly noMedia: "template-default";
|
|
315
|
+
readonly ownership: "supplemental";
|
|
316
|
+
readonly unconsumedMedia: "reserved-slot";
|
|
317
|
+
readonly variants: SupplementalMediaVariantMatrix;
|
|
318
|
+
};
|
|
319
|
+
readonly diagram: {
|
|
320
|
+
readonly summary: "The node-and-edge canvas is intrinsic media and retains its spatial coordinate system.";
|
|
321
|
+
readonly noMedia: "intrinsic-visual";
|
|
322
|
+
readonly ownership: "intrinsic-visual";
|
|
323
|
+
readonly nativeLayout: "spatial-canvas";
|
|
324
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
325
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
326
|
+
};
|
|
327
|
+
readonly tree: {
|
|
328
|
+
readonly summary: "The interactive tree canvas is intrinsic media and retains its full layout region.";
|
|
329
|
+
readonly noMedia: "intrinsic-visual";
|
|
330
|
+
readonly ownership: "intrinsic-visual";
|
|
331
|
+
readonly nativeLayout: "spatial-canvas";
|
|
332
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
333
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
334
|
+
};
|
|
335
|
+
readonly timeline: {
|
|
336
|
+
readonly summary: "The track canvas is intrinsic media and retains its shared horizontal time scale.";
|
|
337
|
+
readonly noMedia: "intrinsic-visual";
|
|
338
|
+
readonly ownership: "intrinsic-visual";
|
|
339
|
+
readonly nativeLayout: "spatial-canvas";
|
|
340
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
341
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
342
|
+
};
|
|
343
|
+
readonly layout: {
|
|
344
|
+
readonly summary: "The authored layer canvas is intrinsic media and must preserve absolute placement.";
|
|
345
|
+
readonly noMedia: "intrinsic-visual";
|
|
346
|
+
readonly ownership: "intrinsic-visual";
|
|
347
|
+
readonly nativeLayout: "freeform-canvas";
|
|
348
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
349
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
350
|
+
};
|
|
351
|
+
readonly drawing: {
|
|
352
|
+
readonly summary: "The drawing canvas is intrinsic media and must preserve authored geometry.";
|
|
353
|
+
readonly noMedia: "intrinsic-visual";
|
|
354
|
+
readonly ownership: "intrinsic-visual";
|
|
355
|
+
readonly nativeLayout: "freeform-canvas";
|
|
356
|
+
readonly additionalMediaLayout: "overlay-inset";
|
|
357
|
+
readonly unconsumedMedia: "retain-native-layout";
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
/** Safe runtime lookup for built-ins; custom template ids return undefined. */
|
|
361
|
+
declare function getBlockMediaLayoutPolicy(template: string | undefined): BlockMediaLayoutPolicy | undefined;
|
|
362
|
+
|
|
110
363
|
/** Resolve a historical template id to its canonical registry key. */
|
|
111
364
|
declare function resolveTemplateName(name: string): string;
|
|
112
365
|
/** Templates that consume their child headings rather than rendering them. */
|
|
@@ -1203,6 +1456,12 @@ interface FirstImage {
|
|
|
1203
1456
|
width?: number;
|
|
1204
1457
|
height?: number;
|
|
1205
1458
|
}
|
|
1459
|
+
/** First-class video reference discovered in a block body. */
|
|
1460
|
+
interface EmbeddedVideo {
|
|
1461
|
+
src: string;
|
|
1462
|
+
posterSrc?: string;
|
|
1463
|
+
alt: string;
|
|
1464
|
+
}
|
|
1206
1465
|
/** Plain text of a block's body contents (excluding the heading). */
|
|
1207
1466
|
declare function extractBodyPlainText(contents?: MarkdownBlockNode[]): string;
|
|
1208
1467
|
/** Extract list items as plain text. */
|
|
@@ -1219,6 +1478,17 @@ declare function extractListItems(contents?: MarkdownBlockNode[]): string[];
|
|
|
1219
1478
|
declare function extractImages(contents: MarkdownBlockNode[] | undefined, limit?: number): FirstImage[];
|
|
1220
1479
|
/** First image in a block's body, or null. */
|
|
1221
1480
|
declare function extractFirstImage(contents: MarkdownBlockNode[] | undefined): FirstImage | null;
|
|
1481
|
+
/**
|
|
1482
|
+
* Find playable video references in block contents.
|
|
1483
|
+
*
|
|
1484
|
+
* Recorder output is raw HTML (`<video src="...">`), sometimes with a
|
|
1485
|
+
* nested `<source>`. Direct markdown links/images to video files are also
|
|
1486
|
+
* accepted. Hosted watch-page/iframe URLs are deliberately excluded: an
|
|
1487
|
+
* HTML5 VideoLayer cannot play those URLs directly.
|
|
1488
|
+
*/
|
|
1489
|
+
declare function extractEmbeddedVideos(contents: MarkdownBlockNode[] | undefined, limit?: number): EmbeddedVideo[];
|
|
1490
|
+
/** First directly playable video in a block body, or null. */
|
|
1491
|
+
declare function extractFirstEmbeddedVideo(contents: MarkdownBlockNode[] | undefined): EmbeddedVideo | null;
|
|
1222
1492
|
/** Extract table data (headers, rows, alignment) from block contents. */
|
|
1223
1493
|
declare function extractTableFromContents(contents?: MarkdownBlockNode[]): {
|
|
1224
1494
|
headers: string[];
|
|
@@ -1233,7 +1503,20 @@ interface DeriveTemplateInputsOptions {
|
|
|
1233
1503
|
* input can't be derived (preview surfaces). Default false (strict).
|
|
1234
1504
|
*/
|
|
1235
1505
|
placeholders?: boolean;
|
|
1506
|
+
/**
|
|
1507
|
+
* Keep the source heading visible when a template normally promotes only
|
|
1508
|
+
* body content. Used by automatic templates; explicit annotations retain
|
|
1509
|
+
* their historical input derivation.
|
|
1510
|
+
*/
|
|
1511
|
+
preserveSourceHeading?: boolean;
|
|
1236
1512
|
}
|
|
1513
|
+
/**
|
|
1514
|
+
* Whether an automatically selected template can represent every authored
|
|
1515
|
+
* node in the block. Auto-selection must be conservative: the source remains
|
|
1516
|
+
* round-trippable either way, but a successful render may not hide sibling
|
|
1517
|
+
* content that the chosen template has no slot for.
|
|
1518
|
+
*/
|
|
1519
|
+
declare function autoTemplatePreservesContent(templateName: string, contents: MarkdownBlockNode[] | undefined): boolean;
|
|
1237
1520
|
/**
|
|
1238
1521
|
* Derive a template's inputs from a block's heading text and body nodes.
|
|
1239
1522
|
* Returns the input fields to merge onto the block, or `null` in strict
|
|
@@ -2485,4 +2768,4 @@ declare function treeFromMarkdownList(list: MarkdownList): Tree;
|
|
|
2485
2768
|
/** Find the first top-level markdown list in a block's body, if any. */
|
|
2486
2769
|
declare function findFirstList(contents: MarkdownBlockNode[] | undefined): MarkdownList | undefined;
|
|
2487
2770
|
|
|
2488
|
-
export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, 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, type BlockLayerMaterialization, CONTAINER_TEMPLATES, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DataFenceParseResult, 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 ExpandDocBlocksOptions, type ExtractedTableData, type FirstImage, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type NarrationResolution, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolvedPageBlock, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, TemplateBlock, TemplateContext, type TemplateInputDescriptor, type TemplateMetadata, type TemplateParamFinding, Theme, ThemeColorScheme, type Tree, type TreeDetection, type TreeItem, type TreeNode, type ValidateOptions, ViewportConfig, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter };
|
|
2771
|
+
export { ASCII_CHAR_H, ASCII_CHAR_W, ASCII_DIAGRAM_FENCE_LANGS, ASCII_TIMELINE_FENCE_LANGS, type AccentLayout, 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, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuiltInTemplateName, CONTAINER_TEMPLATES, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, type CoverBlockInput, DEFAULT_LAYOUT, DIAGRAM_LABEL_HORIZONTAL_PADDING, DIAGRAM_LABEL_LINE_HEIGHT, DIAGRAM_LABEL_MIN_FONT_SIZE, DIAGRAM_LABEL_VERTICAL_PADDING, type DataFenceParseResult, 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, type FirstImage, type InputCoercion, type LayerMaterializationDiagnostic, type LayerMaterializationFailureMode, type LayerMaterializationSource, type LayoutLayerDefaults, type LayoutLayersResult, type MarkdownToDocOptions, type MarkdownValidationResult, type MaterializeBlockLayersOptions, type NarrationResolution, type NativeMediaLayout, type NoMediaLayout, PAGE_BASE_CSS, PATH_SHAPE_KINDS, PageSection, type PageSectionContext, type PageSectionDraft, PersistentLayerConfig, type RenderAsciiDiagramOptions, type RenderAsciiTimelineOptions, type RenderTreeOptions, type RepairResult, type ResolvedPageBlock, type RuntimeTemplateRegistry, SHAPE_NAMES, type SectionExtractor, type SupplementalMediaLayoutVariant, type SupplementalMediaShape, type SupplementalMediaVariantMatrix, TEMPLATE_INPUT_DESCRIPTORS, TEMPLATE_METADATA, TREE_FENCE_LANGS, TemplateBlock, 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, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, buildPageCss, buildPageCssVars, buildRegistry, canvasToAsciiCell, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, definitionCard, deriveTemplateInputs, detectAsciiDiagram, detectAsciiTimeline, detectTree, diagramBlock, docToMarkdown, drawingBlock, expandCoverBlock, expandDocBlocks, expandPersistentLayers, extractBlockquoteText, extractBodyPlainText, extractEmbeddedVideos, extractFirstEmbeddedVideo, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, mapBlock, markdownToDoc, markerPath, materializeBlockLayers, nearestSnapPoint, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolvePageBlock, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionExtractors, sectionHeader, shapePath, shouldUseShadow, snapEndpoints, snapPoints, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, timelineBlock, titleBlock, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter };
|