@bendyline/squisq 2.11.9 → 2.11.11
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-DmElSKmg.d.ts → Doc-BWtfp7dT.d.ts} +207 -3
- package/dist/{ImageEditDoc-Dm_BETxC.d.ts → ImageEditDoc-CYRQK8so.d.ts} +1 -1
- package/dist/{chunk-YNO6JV36.js → chunk-2SRF5III.js} +4 -4
- package/dist/{chunk-QOVINAB2.js → chunk-42IU2SJY.js} +383 -114
- package/dist/{chunk-DTM4FG7S.js → chunk-7WN7DDMI.js} +1 -1
- package/dist/{chunk-2PGC4JDT.js → chunk-BR7ZMDWW.js} +1 -1
- package/dist/{chunk-CCRBHFNO.js → chunk-EWO2VLOS.js} +2 -2
- package/dist/{chunk-B5STNW6C.js → chunk-HVJ6VFDX.js} +2 -2
- package/dist/{chunk-PCCQLD3G.js → chunk-PFH3WV6J.js} +143 -3
- package/dist/{chunk-VRTXPGP7.js → chunk-S4427XKY.js} +98 -4
- package/dist/{chunk-QDA7NXDO.js → chunk-X2TDC4E5.js} +2 -2
- package/dist/doc/index.d.ts +103 -6
- package/dist/doc/index.js +31 -5
- 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 +47 -9
- package/dist/jsonForm/index.d.ts +1 -1
- package/dist/jsonForm/index.js +4 -4
- package/dist/{materializePageSection-BfttC9Zj.d.ts → materializePageSection-Db7pABI0.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 +4 -4
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/index.js +15 -3
- package/dist/{themeLibrary-ChnTImby.d.ts → themeLibrary-Bphz1CRp.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 +3 -3
- package/package.json +1 -1
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
} from "./chunk-SVN7T6BK.js";
|
|
6
6
|
import {
|
|
7
7
|
markdownToDoc
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-42IU2SJY.js";
|
|
9
9
|
import {
|
|
10
10
|
cloneAndFreezeData,
|
|
11
11
|
isTemplateBlock
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PFH3WV6J.js";
|
|
13
13
|
import {
|
|
14
14
|
parseMarkdown
|
|
15
15
|
} from "./chunk-HUXK7EOT.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defaultPageStyle
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2SRF5III.js";
|
|
4
4
|
import {
|
|
5
5
|
FONT_FALLBACKS,
|
|
6
6
|
THEME_SCHEMA_VERSION,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
relativeLuminance,
|
|
16
16
|
resolveFontFamily,
|
|
17
17
|
withAlpha
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PFH3WV6J.js";
|
|
19
19
|
|
|
20
20
|
// src/schemas/Doc.ts
|
|
21
21
|
function calculateDuration(audio) {
|
|
@@ -2,6 +2,97 @@ import {
|
|
|
2
2
|
isTransitionType
|
|
3
3
|
} from "./chunk-4VOD55SX.js";
|
|
4
4
|
|
|
5
|
+
// src/schemas/Motion.ts
|
|
6
|
+
var MOTION_PROFILE_NAMES = ["calm", "documentary", "vibrant"];
|
|
7
|
+
var FRONTMATTER_MOTION_KEY = "squisq-motion";
|
|
8
|
+
var OVERSHOOT_EASING = "cubic-bezier(0.34, 1.4, 0.64, 1)";
|
|
9
|
+
var SETTLE_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
10
|
+
var MOTION_PROFILES = Object.freeze({
|
|
11
|
+
calm: Object.freeze({
|
|
12
|
+
name: "calm",
|
|
13
|
+
textEntrance: Object.freeze({ type: "fadeIn", duration: 1, delayScale: 1 }),
|
|
14
|
+
chartGrowth: false,
|
|
15
|
+
chartGrowthDuration: 1,
|
|
16
|
+
countUp: false,
|
|
17
|
+
countUpDuration: 1.5,
|
|
18
|
+
diagramBuild: false,
|
|
19
|
+
photoGridStagger: 0,
|
|
20
|
+
coverWordReveal: false
|
|
21
|
+
}),
|
|
22
|
+
documentary: Object.freeze({
|
|
23
|
+
name: "documentary",
|
|
24
|
+
textEntrance: Object.freeze({
|
|
25
|
+
type: "fadeInUp",
|
|
26
|
+
duration: 0.8,
|
|
27
|
+
easing: SETTLE_EASING,
|
|
28
|
+
delayScale: 1
|
|
29
|
+
}),
|
|
30
|
+
chartGrowth: true,
|
|
31
|
+
chartGrowthDuration: 1.1,
|
|
32
|
+
countUp: true,
|
|
33
|
+
countUpDuration: 1.6,
|
|
34
|
+
diagramBuild: true,
|
|
35
|
+
photoGridStagger: 0.22,
|
|
36
|
+
coverWordReveal: false
|
|
37
|
+
}),
|
|
38
|
+
vibrant: Object.freeze({
|
|
39
|
+
name: "vibrant",
|
|
40
|
+
textEntrance: Object.freeze({
|
|
41
|
+
type: "fadeInUp",
|
|
42
|
+
duration: 0.55,
|
|
43
|
+
easing: OVERSHOOT_EASING,
|
|
44
|
+
delayScale: 0.8
|
|
45
|
+
}),
|
|
46
|
+
chartGrowth: true,
|
|
47
|
+
chartGrowthDuration: 0.9,
|
|
48
|
+
countUp: true,
|
|
49
|
+
countUpDuration: 1.2,
|
|
50
|
+
diagramBuild: true,
|
|
51
|
+
photoGridStagger: 0.16,
|
|
52
|
+
coverWordReveal: false
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
function isMotionProfileName(value) {
|
|
56
|
+
return typeof value === "string" && MOTION_PROFILE_NAMES.includes(value);
|
|
57
|
+
}
|
|
58
|
+
function resolveMotionProfile(spec, fallback = "calm") {
|
|
59
|
+
if (spec == null) return MOTION_PROFILES[fallback];
|
|
60
|
+
if (typeof spec === "string") {
|
|
61
|
+
return MOTION_PROFILES[isMotionProfileName(spec) ? spec : fallback];
|
|
62
|
+
}
|
|
63
|
+
if (typeof spec !== "object") return MOTION_PROFILES[fallback];
|
|
64
|
+
const named = spec;
|
|
65
|
+
const baseName = isMotionProfileName(named.profile) ? named.profile : isMotionProfileName(named.name) ? named.name : fallback;
|
|
66
|
+
const base = MOTION_PROFILES[baseName];
|
|
67
|
+
const { profile: _profile, name: _name, ...overrides } = spec;
|
|
68
|
+
const merged = { ...base };
|
|
69
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
70
|
+
if (value === void 0) continue;
|
|
71
|
+
if (key === "textEntrance" && typeof value === "object" && value !== null) {
|
|
72
|
+
merged.textEntrance = { ...base.textEntrance, ...value };
|
|
73
|
+
} else if (key in base && typeof value === typeof base[key]) {
|
|
74
|
+
merged[key] = value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return merged;
|
|
78
|
+
}
|
|
79
|
+
function readFrontmatterMotion(frontmatter) {
|
|
80
|
+
if (!frontmatter) return void 0;
|
|
81
|
+
const raw = frontmatter[FRONTMATTER_MOTION_KEY] ?? frontmatter.motion;
|
|
82
|
+
if (typeof raw === "string") {
|
|
83
|
+
const trimmed = raw.trim();
|
|
84
|
+
return isMotionProfileName(trimmed) ? trimmed : void 0;
|
|
85
|
+
}
|
|
86
|
+
if (raw && typeof raw === "object" && !Array.isArray(raw)) return raw;
|
|
87
|
+
return void 0;
|
|
88
|
+
}
|
|
89
|
+
function resolveMotionForDoc(doc, theme, explicit) {
|
|
90
|
+
const themeName = theme?.renderStyle.motionProfile;
|
|
91
|
+
const themeDefault = isMotionProfileName(themeName) ? themeName : "calm";
|
|
92
|
+
const spec = explicit ?? doc?.motion ?? readFrontmatterMotion(doc?.frontmatter);
|
|
93
|
+
return resolveMotionProfile(spec, themeDefault);
|
|
94
|
+
}
|
|
95
|
+
|
|
5
96
|
// src/schemas/Viewport.ts
|
|
6
97
|
var VIEWPORT_PRESETS = {
|
|
7
98
|
/** 16:9 landscape (default, 1080p) */
|
|
@@ -130,7 +221,7 @@ var DEFAULT_TITLE_FONT = 'Georgia, "Times New Roman", serif';
|
|
|
130
221
|
function isTemplateBlock(block) {
|
|
131
222
|
return "template" in block && typeof block.template === "string";
|
|
132
223
|
}
|
|
133
|
-
function createTemplateContext(theme, blockIndex, totalBlocks, viewport = VIEWPORT_PRESETS.landscape) {
|
|
224
|
+
function createTemplateContext(theme, blockIndex, totalBlocks, viewport = VIEWPORT_PRESETS.landscape, options = {}) {
|
|
134
225
|
const orientation = getViewportOrientation(viewport);
|
|
135
226
|
const overrides = theme.renderStyle.layoutOverrides;
|
|
136
227
|
const baseLayout = getLayoutHints(orientation);
|
|
@@ -141,7 +232,8 @@ function createTemplateContext(theme, blockIndex, totalBlocks, viewport = VIEWPO
|
|
|
141
232
|
viewport,
|
|
142
233
|
fontScale: calculateFontScale(viewport),
|
|
143
234
|
orientation,
|
|
144
|
-
layout: overrides ? { ...baseLayout, ...overrides } : baseLayout
|
|
235
|
+
layout: overrides ? { ...baseLayout, ...overrides } : baseLayout,
|
|
236
|
+
motion: resolveMotionForDoc(null, theme, options.motion)
|
|
145
237
|
};
|
|
146
238
|
}
|
|
147
239
|
function scaledFontSize2(basePx, context, isTitle = false) {
|
|
@@ -172,8 +264,18 @@ var ANIMATION_TYPES = /* @__PURE__ */ new Set([
|
|
|
172
264
|
"zoomOut",
|
|
173
265
|
"panLeft",
|
|
174
266
|
"panRight",
|
|
175
|
-
"typewriter"
|
|
267
|
+
"typewriter",
|
|
268
|
+
"fadeInUp",
|
|
269
|
+
"slideIn",
|
|
270
|
+
"wordReveal",
|
|
271
|
+
"countUp",
|
|
272
|
+
"drawOn",
|
|
273
|
+
"grow",
|
|
274
|
+
"reveal",
|
|
275
|
+
"drift",
|
|
276
|
+
"tween"
|
|
176
277
|
]);
|
|
278
|
+
var MOTION_ORIGINS = ["center", "left", "right", "top", "bottom"];
|
|
177
279
|
var TemplateValidator = class {
|
|
178
280
|
constructor() {
|
|
179
281
|
this.errors = [];
|
|
@@ -256,6 +358,30 @@ function validateAnimation(v, value, path) {
|
|
|
256
358
|
optionalString(v, value, "easing", path);
|
|
257
359
|
optionalEnum(v, value, "direction", path, ["in", "out"]);
|
|
258
360
|
optionalEnum(v, value, "panDirection", path, ["left", "right", "up", "down"]);
|
|
361
|
+
optionalEnum(v, value, "origin", path, MOTION_ORIGINS);
|
|
362
|
+
optionalEnum(v, value, "shape", path, ["wipe", "iris"]);
|
|
363
|
+
optionalNumber(v, value, "stagger", path);
|
|
364
|
+
if (value.wordTimes !== void 0) {
|
|
365
|
+
if (!Array.isArray(value.wordTimes) || value.wordTimes.some((t) => typeof t !== "number")) {
|
|
366
|
+
v.error(`${path}.wordTimes`, "expected array of numbers");
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
const count = value.count;
|
|
370
|
+
if (count !== void 0 && v.object(count, `${path}.count`)) {
|
|
371
|
+
if (typeof count.to !== "number") v.error(`${path}.count.to`, "expected number");
|
|
372
|
+
optionalNumber(v, count, "from", `${path}.count`);
|
|
373
|
+
optionalNumber(v, count, "decimals", `${path}.count`);
|
|
374
|
+
optionalString(v, count, "prefix", `${path}.count`);
|
|
375
|
+
optionalString(v, count, "suffix", `${path}.count`);
|
|
376
|
+
}
|
|
377
|
+
for (const key of ["fromState", "toState"]) {
|
|
378
|
+
const state = value[key];
|
|
379
|
+
if (state !== void 0 && v.object(state, `${path}.${key}`)) {
|
|
380
|
+
for (const field of ["scale", "x", "y", "opacity", "rotate"]) {
|
|
381
|
+
optionalNumber(v, state, field, `${path}.${key}`);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
259
385
|
}
|
|
260
386
|
function validateRepeat(v, value, path) {
|
|
261
387
|
if (!v.object(value, path)) return;
|
|
@@ -993,6 +1119,9 @@ var V = class {
|
|
|
993
1119
|
if (v.ambientMotion !== void 0 && !this.isBoolean(v.ambientMotion)) {
|
|
994
1120
|
this.err(`${path}.ambientMotion`, "expected boolean");
|
|
995
1121
|
}
|
|
1122
|
+
if (v.motionProfile !== void 0 && !isMotionProfileName(v.motionProfile)) {
|
|
1123
|
+
this.err(`${path}.motionProfile`, "expected calm | documentary | vibrant");
|
|
1124
|
+
}
|
|
996
1125
|
for (const k of ["defaultTextAnimation", "defaultImageAnimation"]) {
|
|
997
1126
|
if (v[k] !== void 0 && !this.isString(v[k])) {
|
|
998
1127
|
this.err(`${path}.${k}`, "expected animation type string");
|
|
@@ -1704,6 +1833,7 @@ var documentary_default = {
|
|
|
1704
1833
|
defaultTextAnimation: "fadeIn",
|
|
1705
1834
|
defaultImageAnimation: "slowZoom",
|
|
1706
1835
|
ambientMotion: true,
|
|
1836
|
+
motionProfile: "documentary",
|
|
1707
1837
|
defaultTransition: {
|
|
1708
1838
|
type: "fade",
|
|
1709
1839
|
duration: 0.8
|
|
@@ -1902,6 +2032,7 @@ var bold_default = {
|
|
|
1902
2032
|
defaultTextAnimation: "zoomIn",
|
|
1903
2033
|
defaultImageAnimation: "slowZoom",
|
|
1904
2034
|
ambientMotion: true,
|
|
2035
|
+
motionProfile: "vibrant",
|
|
1905
2036
|
defaultTransition: { type: "dissolve", duration: 0.5 },
|
|
1906
2037
|
templateHints: {
|
|
1907
2038
|
statHighlight: { entrance: "dramatic" },
|
|
@@ -2111,6 +2242,7 @@ var tech_dark_default = {
|
|
|
2111
2242
|
defaultTextAnimation: "typewriter",
|
|
2112
2243
|
defaultImageAnimation: "slowZoom",
|
|
2113
2244
|
ambientMotion: true,
|
|
2245
|
+
motionProfile: "vibrant",
|
|
2114
2246
|
defaultTransition: {
|
|
2115
2247
|
type: "dissolve",
|
|
2116
2248
|
duration: 0.4
|
|
@@ -2380,6 +2512,7 @@ var cinematic_default = {
|
|
|
2380
2512
|
defaultTextAnimation: "fadeIn",
|
|
2381
2513
|
defaultImageAnimation: "slowZoom",
|
|
2382
2514
|
ambientMotion: true,
|
|
2515
|
+
motionProfile: "documentary",
|
|
2383
2516
|
defaultTransition: {
|
|
2384
2517
|
type: "dissolve",
|
|
2385
2518
|
duration: 1.2
|
|
@@ -2516,6 +2649,7 @@ var warm_earth_default = {
|
|
|
2516
2649
|
defaultTextAnimation: "fadeIn",
|
|
2517
2650
|
defaultImageAnimation: "panLeft",
|
|
2518
2651
|
ambientMotion: true,
|
|
2652
|
+
motionProfile: "documentary",
|
|
2519
2653
|
defaultTransition: { type: "fade", duration: 0.9 }
|
|
2520
2654
|
},
|
|
2521
2655
|
colorSchemes: {
|
|
@@ -2965,6 +3099,12 @@ function matchFontFamily(name) {
|
|
|
2965
3099
|
}
|
|
2966
3100
|
|
|
2967
3101
|
export {
|
|
3102
|
+
FRONTMATTER_MOTION_KEY,
|
|
3103
|
+
MOTION_PROFILES,
|
|
3104
|
+
isMotionProfileName,
|
|
3105
|
+
resolveMotionProfile,
|
|
3106
|
+
readFrontmatterMotion,
|
|
3107
|
+
resolveMotionForDoc,
|
|
2968
3108
|
VIEWPORT_PRESETS,
|
|
2969
3109
|
getViewport,
|
|
2970
3110
|
calculateFontScale,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildNarrationScript,
|
|
3
3
|
parseNarrationTimingJson
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BR7ZMDWW.js";
|
|
5
5
|
import {
|
|
6
6
|
SHAPE_NAMES,
|
|
7
7
|
buildChartData,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
templateRegistry,
|
|
33
33
|
writeCustomTemplatesToFrontmatter,
|
|
34
34
|
writeCustomThemesToFrontmatter
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-42IU2SJY.js";
|
|
36
36
|
import {
|
|
37
37
|
ASCII_TREE_VOCAB,
|
|
38
38
|
ASCII_VOCAB,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
import {
|
|
57
57
|
defaultPageStyle,
|
|
58
58
|
resolveMediaSchedule
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-2SRF5III.js";
|
|
60
60
|
import {
|
|
61
61
|
DEFAULT_THEME,
|
|
62
62
|
FRONTMATTER_CUSTOM_TEMPLATES_KEY,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
resolveFontFamily,
|
|
74
74
|
resolveTheme,
|
|
75
75
|
withAlpha
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-PFH3WV6J.js";
|
|
77
77
|
import {
|
|
78
78
|
createMediaTimeMap
|
|
79
79
|
} from "./chunk-JSGIWW35.js";
|
|
@@ -133,10 +133,63 @@ function getAnimationClassName(animation) {
|
|
|
133
133
|
return "anim-panRight";
|
|
134
134
|
case "typewriter":
|
|
135
135
|
return "anim-typewriter";
|
|
136
|
+
case "fadeInUp":
|
|
137
|
+
return "anim-fadeInUp";
|
|
138
|
+
case "slideIn":
|
|
139
|
+
return `anim-slideIn-${animation.origin && animation.origin !== "center" ? animation.origin : "left"}`;
|
|
140
|
+
case "wordReveal":
|
|
141
|
+
return "anim-wordReveal";
|
|
142
|
+
case "countUp":
|
|
143
|
+
return "anim-countUp";
|
|
144
|
+
case "drawOn":
|
|
145
|
+
return "anim-drawOn";
|
|
146
|
+
case "grow":
|
|
147
|
+
return growClassName(animation.origin);
|
|
148
|
+
case "reveal":
|
|
149
|
+
if (animation.shape === "iris") return "anim-reveal-iris";
|
|
150
|
+
return `anim-reveal-${animation.origin && animation.origin !== "center" ? animation.origin : "left"}`;
|
|
151
|
+
case "drift":
|
|
152
|
+
return "anim-drift";
|
|
153
|
+
case "tween":
|
|
154
|
+
return "anim-tween";
|
|
136
155
|
default:
|
|
137
156
|
return "";
|
|
138
157
|
}
|
|
139
158
|
}
|
|
159
|
+
function growClassName(origin) {
|
|
160
|
+
switch (origin) {
|
|
161
|
+
case "left":
|
|
162
|
+
case "right":
|
|
163
|
+
return "anim-grow-x";
|
|
164
|
+
case "top":
|
|
165
|
+
case "bottom":
|
|
166
|
+
return "anim-grow-y";
|
|
167
|
+
default:
|
|
168
|
+
return "anim-grow";
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function transformOriginFor(origin) {
|
|
172
|
+
switch (origin) {
|
|
173
|
+
case "left":
|
|
174
|
+
return "left center";
|
|
175
|
+
case "right":
|
|
176
|
+
return "right center";
|
|
177
|
+
case "top":
|
|
178
|
+
return "center top";
|
|
179
|
+
case "bottom":
|
|
180
|
+
return "center bottom";
|
|
181
|
+
default:
|
|
182
|
+
return "center center";
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function motionStateTransform(state) {
|
|
186
|
+
if (!state) return "none";
|
|
187
|
+
const parts = [];
|
|
188
|
+
if (state.x || state.y) parts.push(`translate(${state.x ?? 0}px, ${state.y ?? 0}px)`);
|
|
189
|
+
if (state.rotate) parts.push(`rotate(${state.rotate}deg)`);
|
|
190
|
+
if (state.scale != null && state.scale !== 1) parts.push(`scale(${state.scale})`);
|
|
191
|
+
return parts.length > 0 ? parts.join(" ") : "none";
|
|
192
|
+
}
|
|
140
193
|
function getAnimationCSSVars(animation) {
|
|
141
194
|
const vars = {};
|
|
142
195
|
if (animation.duration !== void 0) {
|
|
@@ -148,8 +201,32 @@ function getAnimationCSSVars(animation) {
|
|
|
148
201
|
if (animation.easing) {
|
|
149
202
|
vars["--anim-easing"] = animation.easing;
|
|
150
203
|
}
|
|
204
|
+
if (animation.type === "grow" || animation.type === "reveal") {
|
|
205
|
+
vars["--anim-origin"] = transformOriginFor(animation.origin);
|
|
206
|
+
}
|
|
207
|
+
if (animation.type === "wordReveal") {
|
|
208
|
+
vars["--anim-stagger"] = `${animation.stagger ?? DEFAULT_WORD_STAGGER}s`;
|
|
209
|
+
}
|
|
210
|
+
if (animation.type === "tween") {
|
|
211
|
+
vars["--tween-from-transform"] = motionStateTransform(animation.fromState);
|
|
212
|
+
vars["--tween-to-transform"] = motionStateTransform(animation.toState);
|
|
213
|
+
vars["--tween-from-opacity"] = `${animation.fromState?.opacity ?? 1}`;
|
|
214
|
+
vars["--tween-to-opacity"] = `${animation.toState?.opacity ?? 1}`;
|
|
215
|
+
}
|
|
151
216
|
return vars;
|
|
152
217
|
}
|
|
218
|
+
var DEFAULT_WORD_STAGGER = 0.08;
|
|
219
|
+
function wordRevealDelay(animation, index) {
|
|
220
|
+
const base = animation.delay ?? 0;
|
|
221
|
+
const times = animation.wordTimes;
|
|
222
|
+
if (times && times.length > 0) {
|
|
223
|
+
if (index < times.length) return times[index];
|
|
224
|
+
const last = times[times.length - 1];
|
|
225
|
+
const step = times.length > 1 ? Math.max(0.02, last - times[times.length - 2]) : animation.stagger ?? DEFAULT_WORD_STAGGER;
|
|
226
|
+
return last + step * (index - times.length + 1);
|
|
227
|
+
}
|
|
228
|
+
return base + (animation.stagger ?? DEFAULT_WORD_STAGGER) * index;
|
|
229
|
+
}
|
|
153
230
|
function getDefaultAnimationDuration(type) {
|
|
154
231
|
switch (type) {
|
|
155
232
|
case "slowZoom":
|
|
@@ -165,6 +242,19 @@ function getDefaultAnimationDuration(type) {
|
|
|
165
242
|
case "zoomIn":
|
|
166
243
|
case "zoomOut":
|
|
167
244
|
return 0.5;
|
|
245
|
+
case "fadeInUp":
|
|
246
|
+
case "slideIn":
|
|
247
|
+
case "reveal":
|
|
248
|
+
return 0.7;
|
|
249
|
+
case "grow":
|
|
250
|
+
case "drawOn":
|
|
251
|
+
return 1;
|
|
252
|
+
case "countUp":
|
|
253
|
+
return 1.5;
|
|
254
|
+
case "wordReveal":
|
|
255
|
+
return 0.4;
|
|
256
|
+
case "drift":
|
|
257
|
+
return 12;
|
|
168
258
|
default:
|
|
169
259
|
return 1;
|
|
170
260
|
}
|
|
@@ -6251,6 +6341,10 @@ function renderTree(tree2, options = {}) {
|
|
|
6251
6341
|
|
|
6252
6342
|
export {
|
|
6253
6343
|
getAnimationStyle,
|
|
6344
|
+
transformOriginFor,
|
|
6345
|
+
motionStateTransform,
|
|
6346
|
+
DEFAULT_WORD_STAGGER,
|
|
6347
|
+
wordRevealDelay,
|
|
6254
6348
|
getDefaultAnimationDuration,
|
|
6255
6349
|
getTransitionClass,
|
|
6256
6350
|
getAnimationProgress,
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
buildNarrationScript,
|
|
8
8
|
expectedSyllablesAt,
|
|
9
9
|
wordPosAtExpectedSyllables
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BR7ZMDWW.js";
|
|
11
11
|
import {
|
|
12
12
|
flattenRenderableBlocks
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-42IU2SJY.js";
|
|
14
14
|
|
|
15
15
|
// src/narration/types.ts
|
|
16
16
|
var DEFAULT_FEATURE_CONFIG = Object.freeze({
|
package/dist/doc/index.d.ts
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { bq as TemplateBlock, br as TemplateContext, a6 as Layer, y as CustomTemplateDefinition, bt as TemplateRegistry, bw as Theme, b$ as ViewportConfig, a_ as PersistentLayerConfig, at as MotionSpec, R as DocBlock, c0 as ViewportOrientation, aZ as PersistentLayer, bJ as TitleBlockInput, bf as SectionHeaderInput, j as BigTextInput, u as ContentBlockInput, bl as StatHighlightInput, b9 as QuoteBlockInput, Y as FactCardInput, bR as TwoColumnInput, J as DateEventInput, a4 as ImageWithCaptionInput, a9 as LeftFeatureInput, bc as RightFeatureInput, ae as MapBlockInput, bk as StartBlockConfig, $ as FullBleedQuoteInput, ac as ListBlockInput, b2 as PhotoGridInput, L as DefinitionCardInput, t as ComparisonBarInput, b8 as PullQuoteInput, b_ as VideoWithCaptionInput, bZ as VideoPullQuoteInput, I as DataTableInput, M as DiagramBlockInput, bM as TreeBlockInput, bF as TimelineBlockInput, k as Block, U as DrawingBlockInput, ai as MarkerStyle, A as AccentImage, a3 as ImageTreatment, a as AccentPosition, c as Animation, d as AnimationType, au as MotionState, ar as MotionProfile, by as ThemeColorScheme, w as CountUpSpec, Q as Doc, bA as ThemeRegistry, aR as PageEmphasis, bz as ThemePageStyle, S as DocDiagnostic, P as DiagramTemplateNode, O as DiagramTemplateEdge, bI as TimelineTemplateTrack, bH as TimelineTemplateLink } from '../Doc-BWtfp7dT.js';
|
|
2
|
+
export { V as FRONTMATTER_CUSTOM_TEMPLATES_KEY, W as FRONTMATTER_CUSTOM_THEMES_KEY, a8 as LayoutHints, bb as RenderStyle, bx as ThemeColorPalette, bD as ThemeStyle, bE as ThemeTypography, bS as VIEWPORT_PRESETS, c1 as ViewportPreset, c6 as createTemplateContext, cd as getLayoutHints, cg as getTwoColumnPositions, ch as getViewport, ci as getViewportOrientation, cm as isTemplateBlock, cs as scaledFontSize } from '../Doc-BWtfp7dT.js';
|
|
3
3
|
import { L as MarkdownNode, a5 as TransitionType, a4 as TransitionDirection, M as MarkdownBlockNode, r as MarkdownHeading, n as MarkdownDocument, V as MarkdownTable, i as MarkdownCodeBlock, G as MarkdownList } from '../types-Be6sBUBx.js';
|
|
4
4
|
import { C as CoercedBlockMeta } from '../annotationCoercion-Ckqpu33y.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-Db7pABI0.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-Db7pABI0.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-Bphz1CRp.js';
|
|
10
10
|
|
|
11
11
|
/** Runtime registry composition for built-in and document-scoped templates. */
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Templates whose text is bound to drawn geometry — axis ticks, legend
|
|
15
|
+
* entries, timeline callouts, diagram labels, comparison-bar values. Their
|
|
16
|
+
* layers are positioned in pixels against marks that do not scale, so the
|
|
17
|
+
* slideshow's grow-text-to-fit pass (which enlarges every text layer in a
|
|
18
|
+
* block until the tightest one meets its box) would detach the labels from
|
|
19
|
+
* what they label. Renderers skip that pass for these templates.
|
|
20
|
+
*/
|
|
21
|
+
declare const GEOMETRY_BOUND_TEMPLATES: ReadonlySet<string>;
|
|
22
|
+
/** Whether a template's text must keep its authored size (see {@link GEOMETRY_BOUND_TEMPLATES}). */
|
|
23
|
+
declare function isGeometryBoundTemplate(template: string | undefined): boolean;
|
|
13
24
|
/** Built-in templates keyed by the ids used in document annotations. */
|
|
14
25
|
declare const templateRegistry: TemplateRegistry;
|
|
15
26
|
/** Broad runtime view used after a template name has selected its function. */
|
|
@@ -76,6 +87,8 @@ interface MaterializeBlockLayersOptions {
|
|
|
76
87
|
customTemplates?: readonly CustomTemplateDefinition[];
|
|
77
88
|
/** Failed templates render a visible fallback by default. */
|
|
78
89
|
failureMode?: LayerMaterializationFailureMode;
|
|
90
|
+
/** Motion profile for template output; omitted → theme default, else `calm`. */
|
|
91
|
+
motion?: MotionSpec | null;
|
|
79
92
|
}
|
|
80
93
|
/**
|
|
81
94
|
* Turn any doc block into an owned, render-ready layer graph.
|
|
@@ -1733,6 +1746,13 @@ interface ExpandDocBlocksOptions {
|
|
|
1733
1746
|
failureMode?: LayerMaterializationFailureMode;
|
|
1734
1747
|
/** Receives structured template failures without hidden console output. */
|
|
1735
1748
|
onDiagnostic?: (diagnostic: LayerMaterializationDiagnostic, block: DocBlock, blockIndex: number) => void;
|
|
1749
|
+
/**
|
|
1750
|
+
* Motion profile for template output (`calm` | `documentary` | `vibrant`
|
|
1751
|
+
* or a spec with overrides). Omitted → the theme's `renderStyle.motionProfile`,
|
|
1752
|
+
* else `calm`. Callers that render a `Doc` resolve it first with
|
|
1753
|
+
* `resolveMotionForDoc()` so `Doc.motion` and frontmatter take part.
|
|
1754
|
+
*/
|
|
1755
|
+
motion?: MotionSpec | null;
|
|
1736
1756
|
}
|
|
1737
1757
|
declare function expandDocBlocks(blocks: DocBlock[], options?: ExpandDocBlocksOptions): Block[];
|
|
1738
1758
|
/**
|
|
@@ -1766,6 +1786,18 @@ interface AnimationResult {
|
|
|
1766
1786
|
* Get CSS class and styles for an animation.
|
|
1767
1787
|
*/
|
|
1768
1788
|
declare function getAnimationStyle(animation: Animation | undefined, _currentTime?: number): AnimationResult;
|
|
1789
|
+
/** CSS `transform-origin` for a motion origin. */
|
|
1790
|
+
declare function transformOriginFor(origin: Animation['origin']): string;
|
|
1791
|
+
/** CSS transform for a tween state (rest state → `none`). */
|
|
1792
|
+
declare function motionStateTransform(state: MotionState | undefined): string;
|
|
1793
|
+
/** Seconds between words in a `wordReveal` when the animation names none. */
|
|
1794
|
+
declare const DEFAULT_WORD_STAGGER = 0.08;
|
|
1795
|
+
/**
|
|
1796
|
+
* Start offset (seconds from block start) of word `index` in a `wordReveal`.
|
|
1797
|
+
* Explicit `wordTimes` win; later words continue at the last interval, or at
|
|
1798
|
+
* the stagger when the list is empty.
|
|
1799
|
+
*/
|
|
1800
|
+
declare function wordRevealDelay(animation: Animation, index: number): number;
|
|
1769
1801
|
/**
|
|
1770
1802
|
* Get default duration for an animation type.
|
|
1771
1803
|
*/
|
|
@@ -1836,6 +1868,28 @@ declare function getDefaultAnimation(context: TemplateContext, layerType: 'text'
|
|
|
1836
1868
|
* `applyRenderStyleToLayers` post-pass, not an entrance.
|
|
1837
1869
|
*/
|
|
1838
1870
|
declare function themedEntrance(context: TemplateContext, layerType: 'text' | 'image', fallback: Animation): Animation;
|
|
1871
|
+
/**
|
|
1872
|
+
* The motion profile in force for this block. Contexts built without one
|
|
1873
|
+
* (older callers, tests) behave as `calm`, which is the pre-profile output.
|
|
1874
|
+
*/
|
|
1875
|
+
declare function getMotionProfile(context: TemplateContext): MotionProfile;
|
|
1876
|
+
/**
|
|
1877
|
+
* Profile-aware entrance for a text or caption layer.
|
|
1878
|
+
*
|
|
1879
|
+
* Under `calm` the template's fallback is returned untouched (same object),
|
|
1880
|
+
* so calm output is byte-identical to pre-profile output. Other profiles
|
|
1881
|
+
* swap in their entrance type, duration and easing while keeping the
|
|
1882
|
+
* template's authored delay (scaled by the profile's `delayScale`), so
|
|
1883
|
+
* staggers survive. The theme's `defaultTextAnimation` still applies first
|
|
1884
|
+
* through `themedEntrance`, and a `typewriter` theme keeps its typewriter.
|
|
1885
|
+
*
|
|
1886
|
+
* ```ts
|
|
1887
|
+
* animation: motionEntrance(context, { type: 'fadeIn', duration: 1, delay: 0.3 })
|
|
1888
|
+
* ```
|
|
1889
|
+
*/
|
|
1890
|
+
declare function motionEntrance(context: TemplateContext, fallback: Animation, layerType?: 'text' | 'image'): Animation;
|
|
1891
|
+
/** A template-authored delay scaled by the profile (identity under `calm`). */
|
|
1892
|
+
declare function motionDelay(context: TemplateContext, delay: number): number;
|
|
1839
1893
|
/**
|
|
1840
1894
|
* Whether the theme defaults to text shadows.
|
|
1841
1895
|
* Templates should consult this when choosing `shadow: true/false`.
|
|
@@ -1882,6 +1936,49 @@ declare function themedScrim(context: TemplateContext, alpha?: number): string;
|
|
|
1882
1936
|
*/
|
|
1883
1937
|
declare function getTemplateHint<T extends string | number | boolean>(context: TemplateContext, templateName: string, key: string, fallback: T): T;
|
|
1884
1938
|
|
|
1939
|
+
/**
|
|
1940
|
+
* Count-up formatting
|
|
1941
|
+
*
|
|
1942
|
+
* Pure helpers behind the `countUp` animation: parse the number out of a
|
|
1943
|
+
* statistic such as `"$1.2M"`, `"73%"` or `"12,000 km"`, then format the
|
|
1944
|
+
* value the layer should show at a given block time. Both the player and the
|
|
1945
|
+
* offline renderer call `formatCountUp(text, animation, blockTime)`, so the
|
|
1946
|
+
* digits on screen are a pure function of time — no interval, no state.
|
|
1947
|
+
*
|
|
1948
|
+
* Related files:
|
|
1949
|
+
* - `schemas/Doc.ts` — `Animation.count`
|
|
1950
|
+
* - `react/src/layers/TextLayer.tsx` — renders the formatted text
|
|
1951
|
+
* - `doc/templates/statHighlight.ts`, `comparisonBar.ts` — opt in
|
|
1952
|
+
*/
|
|
1953
|
+
|
|
1954
|
+
/** A statistic split into the parts that stay fixed and the number that animates. */
|
|
1955
|
+
interface ParsedStat {
|
|
1956
|
+
prefix: string;
|
|
1957
|
+
value: number;
|
|
1958
|
+
/** Decimal places written in the source text. */
|
|
1959
|
+
decimals: number;
|
|
1960
|
+
/** Whether the source used thousands separators. */
|
|
1961
|
+
grouping: boolean;
|
|
1962
|
+
suffix: string;
|
|
1963
|
+
}
|
|
1964
|
+
/**
|
|
1965
|
+
* Parse the first number in a statistic. Returns `null` for text without a
|
|
1966
|
+
* number (`"Unknown"`) or with a number a count-up would misrepresent
|
|
1967
|
+
* (years such as `1889` are left alone: counting to a date is nonsense).
|
|
1968
|
+
*/
|
|
1969
|
+
declare function parseStatNumber(text: string): ParsedStat | null;
|
|
1970
|
+
/** Build the `count` spec for a statistic, or `null` when it cannot count up. */
|
|
1971
|
+
declare function countUpSpecFor(text: string): CountUpSpec | null;
|
|
1972
|
+
/** Format a number with fixed decimals and optional thousands separators. */
|
|
1973
|
+
declare function formatCountValue(value: number, decimals: number, grouping: boolean): string;
|
|
1974
|
+
/**
|
|
1975
|
+
* The text a `countUp` layer shows at `blockTime` seconds into its block.
|
|
1976
|
+
* Before the animation's delay the layer shows the starting value; after
|
|
1977
|
+
* `delay + duration` it shows the authored text verbatim, so the final frame
|
|
1978
|
+
* is always exactly what the author wrote.
|
|
1979
|
+
*/
|
|
1980
|
+
declare function formatCountUp(text: string, animation: Animation, blockTime: number): string;
|
|
1981
|
+
|
|
1885
1982
|
/**
|
|
1886
1983
|
* Render-style post-pass — applies a theme's mechanical motion defaults to
|
|
1887
1984
|
* template-generated layers.
|
|
@@ -4140,4 +4237,4 @@ declare function treeFromMarkdownList(list: MarkdownList): Tree;
|
|
|
4140
4237
|
/** Find the first top-level markdown list in a block's body, if any. */
|
|
4141
4238
|
declare function findFirstList(contents: MarkdownBlockNode[] | undefined): MarkdownList | undefined;
|
|
4142
4239
|
|
|
4143
|
-
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, BUILTIN_DASHBOARD_LAYOUTS, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuildPreviewDocOptions, type BuiltInTemplateName, CONTAINER_TEMPLATES, COVER_SLIDE_FRONTMATTER_KEYS, COVER_SLIDE_TEMPLATE_OPTIONS, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, 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, 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 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, 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, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, bigText, buildDashboardCellChrome, buildPageCss, buildPageCssVars, buildPreviewDoc, buildRegistry, canvasToAsciiCell, chooseDashboardLayout, clipEndpoints, clipPoint, coerceTemplateParams, comparisonBar, composeDashboardLayers, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, contentBlock, countBlocks, 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, extractImages, extractListItems, extractRichListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstList, findFirstTable, fitBigTextSize, fitDiagramLabel, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockBodyText, getBlockDepth, getBlockMediaLayoutPolicy, getDashboardLayoutSummaries, getDefaultAnimation, getDefaultAnimationDuration, getOverlayOpacity, getPersistentLayersFromTheme, getPinnedBlockMeta, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isDataFilePath, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isRepairableDiagram, isShapeName, isTemplatedPageBlock, isTreeFence, isWrappedFlowTimelineSource, layoutBlock, layoutCapacity, leftFeature, lineStyleDasharray, lintTemplateParams, listBlock, listDashboardLayouts, mapBlock, markdownBlockSeparatorLines, markdownToDoc, markerPath, materializeBlockLayers, materializeDashboard, materializeFlashcards, nearestSnapPoint, normalizeDashboardZoom, normalizeShapeKind, pageStyleDataAttributes, parseAsciiDiagram, parseAsciiTimeline, parseAsciiTimelineWithStats, parseDataFence, parseTree, parseWrappedFlowTimeline, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, readDashboardLayoutsFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderMarkdownBlocksHtml, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolveCoverSlideSettings, resolveDashboardLayoutDefinition, resolveDashboardSettings, resolveDashboardStyleId, resolveDashboardZooms, resolveDataReferences, 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, transposeCells, treeBlock, treeFromMarkdownList, treeFromTemplateData, treeToTemplateData, twoColumn, validateDashboardLayoutDefinition, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter, writeDashboardLayoutsToFrontmatter };
|
|
4240
|
+
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, BUILTIN_DASHBOARD_LAYOUTS, type BlockLayerMaterialization, type BlockMediaLayoutPolicy, type BuildPreviewDocOptions, type BuiltInTemplateName, CONTAINER_TEMPLATES, COVER_SLIDE_FRONTMATTER_KEYS, COVER_SLIDE_TEMPLATE_OPTIONS, type ClipBox, type ConnectorAnchor, type ConnectorPort, type ConnectorRouting, type ConnectorSnapPoint, 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 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, adjustY, anchorPoint, applyNarrationTiming, applyRenderStyleToLayers, asciiCellToCanvas, asciiDiagramFromBlocks, asciiDiagramFromTemplateData, asciiDiagramToTemplateData, asciiTimelineToTemplateData, autoTemplatePreservesContent, bigText, buildDashboardCellChrome, buildPageCss, buildPageCssVars, buildPreviewDoc, buildRegistry, 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, 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, hasTemplate, imageWithCaption, isAsciiDiagramFence, isAsciiTimelineFence, isContainerTemplate, isDataFence, isDataFilePath, isEligibleAsciiFenceLang, isEligibleAsciiTimelineFenceLang, isEligibleTreeFenceLang, isExplicitDiagramLang, isExplicitTimelineLang, isExplicitTreeLang, isGeometryBoundTemplate, 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, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, readDashboardLayoutsFromFrontmatter, renderAsciiDiagram, renderAsciiTimeline, renderMarkdownBlocksHtml, renderTree, repairAsciiDiagram, replaceDataFence, resolveAudioMapping, resolveColorScheme, resolveCoverSlideSettings, resolveDashboardLayoutDefinition, resolveDashboardSettings, resolveDashboardStyleId, resolveDashboardZooms, resolveDataReferences, 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 };
|