@liustack/pptfast 0.4.0 → 0.7.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/README.md +28 -6
- package/README.zh-CN.md +28 -6
- package/dist/browser.js +319 -0
- package/dist/{chunk-7N4HGSMW.js → chunk-7B3Y4FZZ.js} +14598 -12806
- package/dist/chunk-7B3Y4FZZ.js.map +1 -0
- package/dist/{chunk-4W2YZPJJ.js → chunk-PGSVXCDR.js} +19 -6
- package/dist/chunk-PGSVXCDR.js.map +1 -0
- package/dist/cli.js +34 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +107 -1376
- package/dist/index.js +2 -2
- package/dist/{pixel-audit-4DXKLFBV.js → pixel-audit-YHV3VMUW.js} +60 -18
- package/dist/pixel-audit-YHV3VMUW.js.map +1 -0
- package/dist/validate.d.ts +1423 -0
- package/dist/validate.js +68 -0
- package/package.json +16 -3
- package/dist/chunk-4W2YZPJJ.js.map +0 -1
- package/dist/chunk-7N4HGSMW.js.map +0 -1
- package/dist/pixel-audit-4DXKLFBV.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,1365 +1,29 @@
|
|
|
1
|
+
import { PptxIR, BackgroundSpec, BrandConfig, Slide, Component } from './validate.js';
|
|
2
|
+
export { Assets, BUILTIN_THEME_IDS, BrandConfigSchema, COMPONENT_TYPES, Meta, PptfastError, PptxIRSchema, StyleOverride, StyleOverrideSchema, ThemeInfo, ThemeSchema, VERSION, ValidateResult, ValidationIssue, formatIssues, irJsonSchema, listThemes, styleJsonSchema, validateIr } from './validate.js';
|
|
1
3
|
import { z } from 'zod';
|
|
2
4
|
export { P as PptfastPlatform, R as RasterizedImage, i as installPlatform } from './registry-V079Jkry.js';
|
|
3
5
|
|
|
4
|
-
declare const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
declare
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
declare const BUILTIN_THEME_IDS: readonly ["consulting", "enterprise", "academic", "insight", "campaign", "bloom", "classroom", "ink", "tech", "runway", "journal", "luxe", "heritage"];
|
|
11
|
-
declare const BackgroundSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
12
|
-
kind: z.ZodLiteral<"color">;
|
|
13
|
-
value: z.ZodString;
|
|
14
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
15
|
-
kind: z.ZodLiteral<"gradient">;
|
|
16
|
-
from: z.ZodString;
|
|
17
|
-
to: z.ZodString;
|
|
18
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
19
|
-
tb: "tb";
|
|
20
|
-
lr: "lr";
|
|
21
|
-
diagonal: "diagonal";
|
|
22
|
-
}>>;
|
|
23
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
24
|
-
kind: z.ZodLiteral<"asset">;
|
|
25
|
-
asset_id: z.ZodString;
|
|
26
|
-
overlay: z.ZodOptional<z.ZodObject<{
|
|
27
|
-
color: z.ZodString;
|
|
28
|
-
opacity: z.ZodNumber;
|
|
29
|
-
}, z.core.$strict>>;
|
|
30
|
-
fit: z.ZodOptional<z.ZodEnum<{
|
|
31
|
-
cover: "cover";
|
|
32
|
-
contain: "contain";
|
|
33
|
-
}>>;
|
|
34
|
-
}, z.core.$strict>], "kind">;
|
|
35
|
-
/**
|
|
36
|
-
* Style-token override (theme.style): deep-partial palette/fonts/shape
|
|
37
|
-
* merged over the built-in theme (see themes/index.ts resolveStyle). Scope is
|
|
38
|
-
* deliberately palette-level (spec §11): no defaultBackgrounds or manifest
|
|
39
|
-
* overrides. gapScale range mirrors the documented sane range in
|
|
40
|
-
* themes/tokens.ts StyleShape.
|
|
41
|
-
*/
|
|
42
|
-
declare const StyleOverrideSchema: z.ZodObject<{
|
|
43
|
-
colors: z.ZodOptional<z.ZodObject<{
|
|
44
|
-
bg: z.ZodOptional<z.ZodString>;
|
|
45
|
-
surface: z.ZodOptional<z.ZodString>;
|
|
46
|
-
panel: z.ZodOptional<z.ZodString>;
|
|
47
|
-
primary: z.ZodOptional<z.ZodString>;
|
|
48
|
-
accent: z.ZodOptional<z.ZodString>;
|
|
49
|
-
text: z.ZodOptional<z.ZodString>;
|
|
50
|
-
muted: z.ZodOptional<z.ZodString>;
|
|
51
|
-
border: z.ZodOptional<z.ZodString>;
|
|
52
|
-
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
53
|
-
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
54
|
-
cardStroke: z.ZodOptional<z.ZodString>;
|
|
55
|
-
}, z.core.$strict>>;
|
|
56
|
-
fonts: z.ZodOptional<z.ZodObject<{
|
|
57
|
-
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
58
|
-
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
59
|
-
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
60
|
-
}, z.core.$strict>>;
|
|
61
|
-
shape: z.ZodOptional<z.ZodObject<{
|
|
62
|
-
radius: z.ZodOptional<z.ZodNumber>;
|
|
63
|
-
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
64
|
-
}, z.core.$strict>>;
|
|
65
|
-
}, z.core.$strict>;
|
|
66
|
-
type StyleOverride = z.infer<typeof StyleOverrideSchema>;
|
|
67
|
-
/**
|
|
68
|
-
* Brand (logical slide-master) config: brand-chrome behavior owned by a theme.
|
|
69
|
-
* W1 scope = exactly the two flags migrated from the old manifest.chrome.
|
|
70
|
-
* Single source of truth — the TS type is inferred, never hand-written.
|
|
71
|
-
*/
|
|
72
|
-
declare const BrandConfigSchema: z.ZodObject<{
|
|
73
|
-
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
74
|
-
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
75
|
-
}, z.core.$strict>;
|
|
76
|
-
type BrandConfig = z.infer<typeof BrandConfigSchema>;
|
|
77
|
-
declare const ThemeSchema: z.ZodObject<{
|
|
78
|
-
id: z.ZodDefault<z.ZodString>;
|
|
79
|
-
style: z.ZodOptional<z.ZodObject<{
|
|
80
|
-
colors: z.ZodOptional<z.ZodObject<{
|
|
81
|
-
bg: z.ZodOptional<z.ZodString>;
|
|
82
|
-
surface: z.ZodOptional<z.ZodString>;
|
|
83
|
-
panel: z.ZodOptional<z.ZodString>;
|
|
84
|
-
primary: z.ZodOptional<z.ZodString>;
|
|
85
|
-
accent: z.ZodOptional<z.ZodString>;
|
|
86
|
-
text: z.ZodOptional<z.ZodString>;
|
|
87
|
-
muted: z.ZodOptional<z.ZodString>;
|
|
88
|
-
border: z.ZodOptional<z.ZodString>;
|
|
89
|
-
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
90
|
-
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
91
|
-
cardStroke: z.ZodOptional<z.ZodString>;
|
|
92
|
-
}, z.core.$strict>>;
|
|
93
|
-
fonts: z.ZodOptional<z.ZodObject<{
|
|
94
|
-
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
95
|
-
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
96
|
-
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
97
|
-
}, z.core.$strict>>;
|
|
98
|
-
shape: z.ZodOptional<z.ZodObject<{
|
|
99
|
-
radius: z.ZodOptional<z.ZodNumber>;
|
|
100
|
-
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
101
|
-
}, z.core.$strict>>;
|
|
102
|
-
}, z.core.$strict>>;
|
|
103
|
-
brand: z.ZodOptional<z.ZodObject<{
|
|
104
|
-
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
-
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
-
}, z.core.$strict>>;
|
|
107
|
-
}, z.core.$strict>;
|
|
108
|
-
declare const MetaSchema: z.ZodObject<{
|
|
109
|
-
organization: z.ZodOptional<z.ZodString>;
|
|
110
|
-
authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
111
|
-
name: z.ZodString;
|
|
112
|
-
role: z.ZodOptional<z.ZodString>;
|
|
113
|
-
org: z.ZodOptional<z.ZodString>;
|
|
114
|
-
}, z.core.$strict>>>;
|
|
115
|
-
date: z.ZodOptional<z.ZodString>;
|
|
116
|
-
version: z.ZodOptional<z.ZodString>;
|
|
117
|
-
confidentiality: z.ZodOptional<z.ZodEnum<{
|
|
118
|
-
public: "public";
|
|
119
|
-
internal: "internal";
|
|
120
|
-
confidential: "confidential";
|
|
121
|
-
restricted: "restricted";
|
|
122
|
-
}>>;
|
|
123
|
-
contact: z.ZodOptional<z.ZodObject<{
|
|
124
|
-
name: z.ZodOptional<z.ZodString>;
|
|
125
|
-
email: z.ZodOptional<z.ZodString>;
|
|
126
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
127
|
-
website: z.ZodOptional<z.ZodString>;
|
|
128
|
-
}, z.core.$strict>>;
|
|
129
|
-
copyright: z.ZodOptional<z.ZodString>;
|
|
130
|
-
animation: z.ZodOptional<z.ZodObject<{
|
|
131
|
-
transition: z.ZodOptional<z.ZodEnum<{
|
|
132
|
-
fade: "fade";
|
|
133
|
-
push: "push";
|
|
134
|
-
wipe: "wipe";
|
|
135
|
-
none: "none";
|
|
136
|
-
}>>;
|
|
137
|
-
elements: z.ZodOptional<z.ZodEnum<{
|
|
138
|
-
none: "none";
|
|
139
|
-
auto: "auto";
|
|
140
|
-
}>>;
|
|
141
|
-
}, z.core.$strict>>;
|
|
142
|
-
}, z.core.$strict>;
|
|
143
|
-
declare const AssetsSchema: z.ZodObject<{
|
|
144
|
-
images: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
145
|
-
src: z.ZodString;
|
|
146
|
-
alt: z.ZodOptional<z.ZodString>;
|
|
147
|
-
error: z.ZodOptional<z.ZodString>;
|
|
148
|
-
}, z.core.$strict>>>;
|
|
149
|
-
}, z.core.$strict>;
|
|
150
|
-
declare const ComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
151
|
-
type: z.ZodLiteral<"bullets">;
|
|
152
|
-
items: z.ZodArray<z.ZodString>;
|
|
153
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
154
|
-
default: "default";
|
|
155
|
-
checklist: "checklist";
|
|
156
|
-
numbered: "numbered";
|
|
157
|
-
plain: "plain";
|
|
158
|
-
divided: "divided";
|
|
159
|
-
}>>;
|
|
160
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
161
|
-
type: z.ZodLiteral<"paragraph">;
|
|
162
|
-
text: z.ZodString;
|
|
163
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
164
|
-
type: z.ZodLiteral<"quote">;
|
|
165
|
-
text: z.ZodString;
|
|
166
|
-
attribution: z.ZodOptional<z.ZodString>;
|
|
167
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
168
|
-
type: z.ZodLiteral<"callout">;
|
|
169
|
-
variant: z.ZodEnum<{
|
|
170
|
-
info: "info";
|
|
171
|
-
warn: "warn";
|
|
172
|
-
tip: "tip";
|
|
173
|
-
}>;
|
|
174
|
-
text: z.ZodString;
|
|
175
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
176
|
-
[x: string]: string;
|
|
177
|
-
}>>;
|
|
178
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
179
|
-
type: z.ZodLiteral<"code">;
|
|
180
|
-
language: z.ZodString;
|
|
181
|
-
code: z.ZodString;
|
|
182
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
183
|
-
type: z.ZodLiteral<"kpi_cards">;
|
|
184
|
-
items: z.ZodArray<z.ZodObject<{
|
|
185
|
-
value: z.ZodString;
|
|
186
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
187
|
-
label: z.ZodString;
|
|
188
|
-
delta: z.ZodOptional<z.ZodEnum<{
|
|
189
|
-
up: "up";
|
|
190
|
-
down: "down";
|
|
191
|
-
flat: "flat";
|
|
192
|
-
}>>;
|
|
193
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
194
|
-
[x: string]: string;
|
|
195
|
-
}>>;
|
|
196
|
-
source: z.ZodOptional<z.ZodString>;
|
|
197
|
-
}, z.core.$strict>>;
|
|
198
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
199
|
-
type: z.ZodLiteral<"chart">;
|
|
200
|
-
chart_type: z.ZodEnum<{
|
|
201
|
-
line: "line";
|
|
202
|
-
dumbbell: "dumbbell";
|
|
203
|
-
funnel: "funnel";
|
|
204
|
-
bar: "bar";
|
|
205
|
-
pie: "pie";
|
|
206
|
-
}>;
|
|
207
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
208
|
-
horizontal: "horizontal";
|
|
209
|
-
vertical: "vertical";
|
|
210
|
-
}>>;
|
|
211
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
212
|
-
donut: "donut";
|
|
213
|
-
}>>;
|
|
214
|
-
axes: z.ZodOptional<z.ZodObject<{
|
|
215
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
216
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
217
|
-
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
218
|
-
}, z.core.$strict>>;
|
|
219
|
-
series: z.ZodArray<z.ZodObject<{
|
|
220
|
-
name: z.ZodString;
|
|
221
|
-
data: z.ZodArray<z.ZodObject<{
|
|
222
|
-
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
223
|
-
y: z.ZodNumber;
|
|
224
|
-
}, z.core.$strict>>;
|
|
225
|
-
}, z.core.$strict>>;
|
|
226
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
227
|
-
type: z.ZodLiteral<"flowchart">;
|
|
228
|
-
nodes: z.ZodArray<z.ZodObject<{
|
|
229
|
-
id: z.ZodString;
|
|
230
|
-
label: z.ZodString;
|
|
231
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
232
|
-
rect: "rect";
|
|
233
|
-
diamond: "diamond";
|
|
234
|
-
round: "round";
|
|
235
|
-
}>>;
|
|
236
|
-
}, z.core.$strict>>;
|
|
237
|
-
edges: z.ZodArray<z.ZodObject<{
|
|
238
|
-
from: z.ZodString;
|
|
239
|
-
to: z.ZodString;
|
|
240
|
-
label: z.ZodOptional<z.ZodString>;
|
|
241
|
-
}, z.core.$strict>>;
|
|
242
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
243
|
-
TB: "TB";
|
|
244
|
-
TD: "TD";
|
|
245
|
-
BT: "BT";
|
|
246
|
-
LR: "LR";
|
|
247
|
-
RL: "RL";
|
|
248
|
-
}>>;
|
|
249
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
250
|
-
type: z.ZodLiteral<"architecture">;
|
|
251
|
-
layers: z.ZodArray<z.ZodObject<{
|
|
252
|
-
title: z.ZodString;
|
|
253
|
-
items: z.ZodArray<z.ZodString>;
|
|
254
|
-
}, z.core.$strict>>;
|
|
255
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
256
|
-
type: z.ZodLiteral<"timeline">;
|
|
257
|
-
layout: z.ZodOptional<z.ZodEnum<{
|
|
258
|
-
horizontal: "horizontal";
|
|
259
|
-
vertical: "vertical";
|
|
260
|
-
}>>;
|
|
261
|
-
milestones: z.ZodArray<z.ZodObject<{
|
|
262
|
-
date: z.ZodString;
|
|
263
|
-
title: z.ZodString;
|
|
264
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
265
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
266
|
-
}, z.core.$strict>>;
|
|
267
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
268
|
-
type: z.ZodLiteral<"comparison">;
|
|
269
|
-
columns: z.ZodArray<z.ZodString>;
|
|
270
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
271
|
-
label: z.ZodString;
|
|
272
|
-
cells: z.ZodArray<z.ZodString>;
|
|
273
|
-
}, z.core.$strict>>;
|
|
274
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
275
|
-
type: z.ZodLiteral<"icon_cards">;
|
|
276
|
-
items: z.ZodArray<z.ZodObject<{
|
|
277
|
-
icon: z.ZodEnum<{
|
|
278
|
-
[x: string]: string;
|
|
279
|
-
}>;
|
|
280
|
-
title: z.ZodString;
|
|
281
|
-
text: z.ZodString;
|
|
282
|
-
}, z.core.$strict>>;
|
|
283
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
284
|
-
type: z.ZodLiteral<"row_cards">;
|
|
285
|
-
items: z.ZodArray<z.ZodObject<{
|
|
286
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
287
|
-
[x: string]: string;
|
|
288
|
-
}>>;
|
|
289
|
-
title: z.ZodString;
|
|
290
|
-
text: z.ZodOptional<z.ZodString>;
|
|
291
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
292
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
293
|
-
}, z.core.$strict>>;
|
|
294
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
295
|
-
type: z.ZodLiteral<"steps">;
|
|
296
|
-
items: z.ZodArray<z.ZodObject<{
|
|
297
|
-
title: z.ZodString;
|
|
298
|
-
text: z.ZodString;
|
|
299
|
-
}, z.core.$strict>>;
|
|
300
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
301
|
-
type: z.ZodLiteral<"rings">;
|
|
302
|
-
items: z.ZodArray<z.ZodObject<{
|
|
303
|
-
label: z.ZodString;
|
|
304
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
305
|
-
}, z.core.$strict>>;
|
|
306
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
307
|
-
type: z.ZodLiteral<"numbered_cards">;
|
|
308
|
-
items: z.ZodArray<z.ZodObject<{
|
|
309
|
-
title: z.ZodString;
|
|
310
|
-
text: z.ZodOptional<z.ZodString>;
|
|
311
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
312
|
-
}, z.core.$strict>>;
|
|
313
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
314
|
-
type: z.ZodLiteral<"roadmap">;
|
|
315
|
-
items: z.ZodArray<z.ZodObject<{
|
|
316
|
-
title: z.ZodString;
|
|
317
|
-
period: z.ZodOptional<z.ZodString>;
|
|
318
|
-
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
319
|
-
label: z.ZodString;
|
|
320
|
-
value: z.ZodString;
|
|
321
|
-
}, z.core.$strict>>>;
|
|
322
|
-
}, z.core.$strict>>;
|
|
323
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
324
|
-
type: z.ZodLiteral<"matrix">;
|
|
325
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
326
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
327
|
-
cols: z.ZodNumber;
|
|
328
|
-
items: z.ZodArray<z.ZodObject<{
|
|
329
|
-
title: z.ZodString;
|
|
330
|
-
tag: z.ZodOptional<z.ZodString>;
|
|
331
|
-
tone: z.ZodOptional<z.ZodEnum<{
|
|
332
|
-
info: "info";
|
|
333
|
-
accent: "accent";
|
|
334
|
-
neutral: "neutral";
|
|
335
|
-
}>>;
|
|
336
|
-
}, z.core.$strict>>;
|
|
337
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
338
|
-
type: z.ZodLiteral<"insight_panel">;
|
|
339
|
-
title: z.ZodString;
|
|
340
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
341
|
-
label: z.ZodString;
|
|
342
|
-
text: z.ZodString;
|
|
343
|
-
}, z.core.$strict>>;
|
|
344
|
-
footnote: z.ZodOptional<z.ZodString>;
|
|
345
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
346
|
-
type: z.ZodLiteral<"verdict_banner">;
|
|
347
|
-
text: z.ZodString;
|
|
348
|
-
tone: z.ZodEnum<{
|
|
349
|
-
neutral: "neutral";
|
|
350
|
-
positive: "positive";
|
|
351
|
-
warning: "warning";
|
|
352
|
-
}>;
|
|
353
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
354
|
-
[x: string]: string;
|
|
355
|
-
}>>;
|
|
356
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
357
|
-
type: z.ZodLiteral<"citation">;
|
|
358
|
-
sources: z.ZodArray<z.ZodObject<{
|
|
359
|
-
label: z.ZodString;
|
|
360
|
-
url: z.ZodOptional<z.ZodString>;
|
|
361
|
-
ref: z.ZodOptional<z.ZodString>;
|
|
362
|
-
}, z.core.$strict>>;
|
|
363
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
364
|
-
type: z.ZodLiteral<"image">;
|
|
365
|
-
asset_id: z.ZodString;
|
|
366
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
367
|
-
fit: z.ZodDefault<z.ZodEnum<{
|
|
368
|
-
cover: "cover";
|
|
369
|
-
contain: "contain";
|
|
370
|
-
}>>;
|
|
371
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
372
|
-
type: z.ZodLiteral<"image_grid">;
|
|
373
|
-
items: z.ZodArray<z.ZodObject<{
|
|
374
|
-
asset_id: z.ZodString;
|
|
375
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
376
|
-
}, z.core.$strict>>;
|
|
377
|
-
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
378
|
-
none: "none";
|
|
379
|
-
first: "first";
|
|
380
|
-
}>>;
|
|
381
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
382
|
-
type: z.ZodLiteral<"image_compare">;
|
|
383
|
-
left: z.ZodObject<{
|
|
384
|
-
asset_id: z.ZodString;
|
|
385
|
-
label: z.ZodString;
|
|
386
|
-
}, z.core.$strict>;
|
|
387
|
-
right: z.ZodObject<{
|
|
388
|
-
asset_id: z.ZodString;
|
|
389
|
-
label: z.ZodString;
|
|
390
|
-
}, z.core.$strict>;
|
|
391
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
392
|
-
vs: "vs";
|
|
393
|
-
before_after: "before_after";
|
|
394
|
-
}>>;
|
|
395
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
396
|
-
type: z.ZodLiteral<"swot">;
|
|
397
|
-
strengths: z.ZodArray<z.ZodString>;
|
|
398
|
-
weaknesses: z.ZodArray<z.ZodString>;
|
|
399
|
-
opportunities: z.ZodArray<z.ZodString>;
|
|
400
|
-
threats: z.ZodArray<z.ZodString>;
|
|
401
|
-
labels: z.ZodOptional<z.ZodObject<{
|
|
402
|
-
strengths: z.ZodOptional<z.ZodString>;
|
|
403
|
-
weaknesses: z.ZodOptional<z.ZodString>;
|
|
404
|
-
opportunities: z.ZodOptional<z.ZodString>;
|
|
405
|
-
threats: z.ZodOptional<z.ZodString>;
|
|
406
|
-
}, z.core.$strict>>;
|
|
407
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
408
|
-
type: z.ZodLiteral<"bmc">;
|
|
409
|
-
key_partners: z.ZodArray<z.ZodString>;
|
|
410
|
-
key_activities: z.ZodArray<z.ZodString>;
|
|
411
|
-
key_resources: z.ZodArray<z.ZodString>;
|
|
412
|
-
value_propositions: z.ZodArray<z.ZodString>;
|
|
413
|
-
customer_relationships: z.ZodArray<z.ZodString>;
|
|
414
|
-
channels: z.ZodArray<z.ZodString>;
|
|
415
|
-
customer_segments: z.ZodArray<z.ZodString>;
|
|
416
|
-
cost_structure: z.ZodArray<z.ZodString>;
|
|
417
|
-
revenue_streams: z.ZodArray<z.ZodString>;
|
|
418
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
419
|
-
type: z.ZodLiteral<"waterfall">;
|
|
420
|
-
items: z.ZodArray<z.ZodObject<{
|
|
421
|
-
label: z.ZodString;
|
|
422
|
-
value: z.ZodNumber;
|
|
423
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
424
|
-
delta: "delta";
|
|
425
|
-
total: "total";
|
|
426
|
-
}>>;
|
|
427
|
-
}, z.core.$strict>>;
|
|
428
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
429
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
430
|
-
type: z.ZodLiteral<"gantt">;
|
|
431
|
-
items: z.ZodArray<z.ZodObject<{
|
|
432
|
-
label: z.ZodString;
|
|
433
|
-
start: z.ZodNumber;
|
|
434
|
-
end: z.ZodNumber;
|
|
435
|
-
}, z.core.$strict>>;
|
|
436
|
-
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
437
|
-
}, z.core.$strict>], "type">;
|
|
438
|
-
/**
|
|
439
|
-
* All 28 component `type` discriminant values, derived from `ComponentSchema`
|
|
440
|
-
* itself (never hand-copied) so this list can't drift from the union above.
|
|
441
|
-
* Typed as plain `readonly string[]` rather than `Component["type"][]` —
|
|
442
|
-
* every consumer of this list (W5's plan `focus` vocabulary gate,
|
|
443
|
-
* `src/plan/index.ts`) tests membership of an arbitrary author-supplied
|
|
444
|
-
* string, and TS's `Array.includes` is invariant in its element type, so a
|
|
445
|
-
* narrower literal-union type would reject that call at the caller.
|
|
446
|
-
*/
|
|
447
|
-
declare const COMPONENT_TYPES: readonly string[];
|
|
448
|
-
declare const SlideSchema: z.ZodObject<{
|
|
449
|
-
type: z.ZodDefault<z.ZodEnum<{
|
|
450
|
-
cover: "cover";
|
|
451
|
-
chapter: "chapter";
|
|
452
|
-
content: "content";
|
|
453
|
-
ending: "ending";
|
|
454
|
-
}>>;
|
|
455
|
-
id: z.ZodOptional<z.ZodString>;
|
|
456
|
-
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
457
|
-
layout: z.ZodOptional<z.ZodString>;
|
|
458
|
-
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
459
|
-
code: "code";
|
|
460
|
-
quote: "quote";
|
|
461
|
-
single: "single";
|
|
462
|
-
two_column: "two_column";
|
|
463
|
-
kpi_focus: "kpi_focus";
|
|
464
|
-
image_focus: "image_focus";
|
|
465
|
-
big_number: "big_number";
|
|
466
|
-
assertion_evidence: "assertion_evidence";
|
|
467
|
-
aside: "aside";
|
|
468
|
-
}>>;
|
|
469
|
-
heading: z.ZodOptional<z.ZodString>;
|
|
470
|
-
subheading: z.ZodOptional<z.ZodString>;
|
|
471
|
-
components: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
472
|
-
type: z.ZodLiteral<"bullets">;
|
|
473
|
-
items: z.ZodArray<z.ZodString>;
|
|
474
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
475
|
-
default: "default";
|
|
476
|
-
checklist: "checklist";
|
|
477
|
-
numbered: "numbered";
|
|
478
|
-
plain: "plain";
|
|
479
|
-
divided: "divided";
|
|
480
|
-
}>>;
|
|
481
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
482
|
-
type: z.ZodLiteral<"paragraph">;
|
|
483
|
-
text: z.ZodString;
|
|
484
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
485
|
-
type: z.ZodLiteral<"quote">;
|
|
486
|
-
text: z.ZodString;
|
|
487
|
-
attribution: z.ZodOptional<z.ZodString>;
|
|
488
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
489
|
-
type: z.ZodLiteral<"callout">;
|
|
490
|
-
variant: z.ZodEnum<{
|
|
491
|
-
info: "info";
|
|
492
|
-
warn: "warn";
|
|
493
|
-
tip: "tip";
|
|
494
|
-
}>;
|
|
495
|
-
text: z.ZodString;
|
|
496
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
497
|
-
[x: string]: string;
|
|
498
|
-
}>>;
|
|
499
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
500
|
-
type: z.ZodLiteral<"code">;
|
|
501
|
-
language: z.ZodString;
|
|
502
|
-
code: z.ZodString;
|
|
503
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
504
|
-
type: z.ZodLiteral<"kpi_cards">;
|
|
505
|
-
items: z.ZodArray<z.ZodObject<{
|
|
506
|
-
value: z.ZodString;
|
|
507
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
508
|
-
label: z.ZodString;
|
|
509
|
-
delta: z.ZodOptional<z.ZodEnum<{
|
|
510
|
-
up: "up";
|
|
511
|
-
down: "down";
|
|
512
|
-
flat: "flat";
|
|
513
|
-
}>>;
|
|
514
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
515
|
-
[x: string]: string;
|
|
516
|
-
}>>;
|
|
517
|
-
source: z.ZodOptional<z.ZodString>;
|
|
518
|
-
}, z.core.$strict>>;
|
|
519
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
520
|
-
type: z.ZodLiteral<"chart">;
|
|
521
|
-
chart_type: z.ZodEnum<{
|
|
522
|
-
line: "line";
|
|
523
|
-
dumbbell: "dumbbell";
|
|
524
|
-
funnel: "funnel";
|
|
525
|
-
bar: "bar";
|
|
526
|
-
pie: "pie";
|
|
527
|
-
}>;
|
|
528
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
529
|
-
horizontal: "horizontal";
|
|
530
|
-
vertical: "vertical";
|
|
531
|
-
}>>;
|
|
532
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
533
|
-
donut: "donut";
|
|
534
|
-
}>>;
|
|
535
|
-
axes: z.ZodOptional<z.ZodObject<{
|
|
536
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
537
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
538
|
-
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
539
|
-
}, z.core.$strict>>;
|
|
540
|
-
series: z.ZodArray<z.ZodObject<{
|
|
541
|
-
name: z.ZodString;
|
|
542
|
-
data: z.ZodArray<z.ZodObject<{
|
|
543
|
-
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
544
|
-
y: z.ZodNumber;
|
|
545
|
-
}, z.core.$strict>>;
|
|
546
|
-
}, z.core.$strict>>;
|
|
547
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
548
|
-
type: z.ZodLiteral<"flowchart">;
|
|
549
|
-
nodes: z.ZodArray<z.ZodObject<{
|
|
550
|
-
id: z.ZodString;
|
|
551
|
-
label: z.ZodString;
|
|
552
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
553
|
-
rect: "rect";
|
|
554
|
-
diamond: "diamond";
|
|
555
|
-
round: "round";
|
|
556
|
-
}>>;
|
|
557
|
-
}, z.core.$strict>>;
|
|
558
|
-
edges: z.ZodArray<z.ZodObject<{
|
|
559
|
-
from: z.ZodString;
|
|
560
|
-
to: z.ZodString;
|
|
561
|
-
label: z.ZodOptional<z.ZodString>;
|
|
562
|
-
}, z.core.$strict>>;
|
|
563
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
564
|
-
TB: "TB";
|
|
565
|
-
TD: "TD";
|
|
566
|
-
BT: "BT";
|
|
567
|
-
LR: "LR";
|
|
568
|
-
RL: "RL";
|
|
569
|
-
}>>;
|
|
570
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
571
|
-
type: z.ZodLiteral<"architecture">;
|
|
572
|
-
layers: z.ZodArray<z.ZodObject<{
|
|
573
|
-
title: z.ZodString;
|
|
574
|
-
items: z.ZodArray<z.ZodString>;
|
|
575
|
-
}, z.core.$strict>>;
|
|
576
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
577
|
-
type: z.ZodLiteral<"timeline">;
|
|
578
|
-
layout: z.ZodOptional<z.ZodEnum<{
|
|
579
|
-
horizontal: "horizontal";
|
|
580
|
-
vertical: "vertical";
|
|
581
|
-
}>>;
|
|
582
|
-
milestones: z.ZodArray<z.ZodObject<{
|
|
583
|
-
date: z.ZodString;
|
|
584
|
-
title: z.ZodString;
|
|
585
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
586
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
587
|
-
}, z.core.$strict>>;
|
|
588
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
589
|
-
type: z.ZodLiteral<"comparison">;
|
|
590
|
-
columns: z.ZodArray<z.ZodString>;
|
|
591
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
592
|
-
label: z.ZodString;
|
|
593
|
-
cells: z.ZodArray<z.ZodString>;
|
|
594
|
-
}, z.core.$strict>>;
|
|
595
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
596
|
-
type: z.ZodLiteral<"icon_cards">;
|
|
597
|
-
items: z.ZodArray<z.ZodObject<{
|
|
598
|
-
icon: z.ZodEnum<{
|
|
599
|
-
[x: string]: string;
|
|
600
|
-
}>;
|
|
601
|
-
title: z.ZodString;
|
|
602
|
-
text: z.ZodString;
|
|
603
|
-
}, z.core.$strict>>;
|
|
604
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
605
|
-
type: z.ZodLiteral<"row_cards">;
|
|
606
|
-
items: z.ZodArray<z.ZodObject<{
|
|
607
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
608
|
-
[x: string]: string;
|
|
609
|
-
}>>;
|
|
610
|
-
title: z.ZodString;
|
|
611
|
-
text: z.ZodOptional<z.ZodString>;
|
|
612
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
613
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
614
|
-
}, z.core.$strict>>;
|
|
615
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
616
|
-
type: z.ZodLiteral<"steps">;
|
|
617
|
-
items: z.ZodArray<z.ZodObject<{
|
|
618
|
-
title: z.ZodString;
|
|
619
|
-
text: z.ZodString;
|
|
620
|
-
}, z.core.$strict>>;
|
|
621
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
622
|
-
type: z.ZodLiteral<"rings">;
|
|
623
|
-
items: z.ZodArray<z.ZodObject<{
|
|
624
|
-
label: z.ZodString;
|
|
625
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
626
|
-
}, z.core.$strict>>;
|
|
627
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
628
|
-
type: z.ZodLiteral<"numbered_cards">;
|
|
629
|
-
items: z.ZodArray<z.ZodObject<{
|
|
630
|
-
title: z.ZodString;
|
|
631
|
-
text: z.ZodOptional<z.ZodString>;
|
|
632
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
633
|
-
}, z.core.$strict>>;
|
|
634
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
635
|
-
type: z.ZodLiteral<"roadmap">;
|
|
636
|
-
items: z.ZodArray<z.ZodObject<{
|
|
637
|
-
title: z.ZodString;
|
|
638
|
-
period: z.ZodOptional<z.ZodString>;
|
|
639
|
-
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
640
|
-
label: z.ZodString;
|
|
641
|
-
value: z.ZodString;
|
|
642
|
-
}, z.core.$strict>>>;
|
|
643
|
-
}, z.core.$strict>>;
|
|
644
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
645
|
-
type: z.ZodLiteral<"matrix">;
|
|
646
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
647
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
648
|
-
cols: z.ZodNumber;
|
|
649
|
-
items: z.ZodArray<z.ZodObject<{
|
|
650
|
-
title: z.ZodString;
|
|
651
|
-
tag: z.ZodOptional<z.ZodString>;
|
|
652
|
-
tone: z.ZodOptional<z.ZodEnum<{
|
|
653
|
-
info: "info";
|
|
654
|
-
accent: "accent";
|
|
655
|
-
neutral: "neutral";
|
|
656
|
-
}>>;
|
|
657
|
-
}, z.core.$strict>>;
|
|
658
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
659
|
-
type: z.ZodLiteral<"insight_panel">;
|
|
660
|
-
title: z.ZodString;
|
|
661
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
662
|
-
label: z.ZodString;
|
|
663
|
-
text: z.ZodString;
|
|
664
|
-
}, z.core.$strict>>;
|
|
665
|
-
footnote: z.ZodOptional<z.ZodString>;
|
|
666
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
667
|
-
type: z.ZodLiteral<"verdict_banner">;
|
|
668
|
-
text: z.ZodString;
|
|
669
|
-
tone: z.ZodEnum<{
|
|
670
|
-
neutral: "neutral";
|
|
671
|
-
positive: "positive";
|
|
672
|
-
warning: "warning";
|
|
673
|
-
}>;
|
|
674
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
675
|
-
[x: string]: string;
|
|
676
|
-
}>>;
|
|
677
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
678
|
-
type: z.ZodLiteral<"citation">;
|
|
679
|
-
sources: z.ZodArray<z.ZodObject<{
|
|
680
|
-
label: z.ZodString;
|
|
681
|
-
url: z.ZodOptional<z.ZodString>;
|
|
682
|
-
ref: z.ZodOptional<z.ZodString>;
|
|
683
|
-
}, z.core.$strict>>;
|
|
684
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
685
|
-
type: z.ZodLiteral<"image">;
|
|
686
|
-
asset_id: z.ZodString;
|
|
687
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
688
|
-
fit: z.ZodDefault<z.ZodEnum<{
|
|
689
|
-
cover: "cover";
|
|
690
|
-
contain: "contain";
|
|
691
|
-
}>>;
|
|
692
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
693
|
-
type: z.ZodLiteral<"image_grid">;
|
|
694
|
-
items: z.ZodArray<z.ZodObject<{
|
|
695
|
-
asset_id: z.ZodString;
|
|
696
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
697
|
-
}, z.core.$strict>>;
|
|
698
|
-
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
699
|
-
none: "none";
|
|
700
|
-
first: "first";
|
|
701
|
-
}>>;
|
|
702
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
703
|
-
type: z.ZodLiteral<"image_compare">;
|
|
704
|
-
left: z.ZodObject<{
|
|
705
|
-
asset_id: z.ZodString;
|
|
706
|
-
label: z.ZodString;
|
|
707
|
-
}, z.core.$strict>;
|
|
708
|
-
right: z.ZodObject<{
|
|
709
|
-
asset_id: z.ZodString;
|
|
710
|
-
label: z.ZodString;
|
|
711
|
-
}, z.core.$strict>;
|
|
712
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
713
|
-
vs: "vs";
|
|
714
|
-
before_after: "before_after";
|
|
715
|
-
}>>;
|
|
716
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
717
|
-
type: z.ZodLiteral<"swot">;
|
|
718
|
-
strengths: z.ZodArray<z.ZodString>;
|
|
719
|
-
weaknesses: z.ZodArray<z.ZodString>;
|
|
720
|
-
opportunities: z.ZodArray<z.ZodString>;
|
|
721
|
-
threats: z.ZodArray<z.ZodString>;
|
|
722
|
-
labels: z.ZodOptional<z.ZodObject<{
|
|
723
|
-
strengths: z.ZodOptional<z.ZodString>;
|
|
724
|
-
weaknesses: z.ZodOptional<z.ZodString>;
|
|
725
|
-
opportunities: z.ZodOptional<z.ZodString>;
|
|
726
|
-
threats: z.ZodOptional<z.ZodString>;
|
|
727
|
-
}, z.core.$strict>>;
|
|
728
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
729
|
-
type: z.ZodLiteral<"bmc">;
|
|
730
|
-
key_partners: z.ZodArray<z.ZodString>;
|
|
731
|
-
key_activities: z.ZodArray<z.ZodString>;
|
|
732
|
-
key_resources: z.ZodArray<z.ZodString>;
|
|
733
|
-
value_propositions: z.ZodArray<z.ZodString>;
|
|
734
|
-
customer_relationships: z.ZodArray<z.ZodString>;
|
|
735
|
-
channels: z.ZodArray<z.ZodString>;
|
|
736
|
-
customer_segments: z.ZodArray<z.ZodString>;
|
|
737
|
-
cost_structure: z.ZodArray<z.ZodString>;
|
|
738
|
-
revenue_streams: z.ZodArray<z.ZodString>;
|
|
739
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
740
|
-
type: z.ZodLiteral<"waterfall">;
|
|
741
|
-
items: z.ZodArray<z.ZodObject<{
|
|
742
|
-
label: z.ZodString;
|
|
743
|
-
value: z.ZodNumber;
|
|
744
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
745
|
-
delta: "delta";
|
|
746
|
-
total: "total";
|
|
747
|
-
}>>;
|
|
748
|
-
}, z.core.$strict>>;
|
|
749
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
750
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
751
|
-
type: z.ZodLiteral<"gantt">;
|
|
752
|
-
items: z.ZodArray<z.ZodObject<{
|
|
753
|
-
label: z.ZodString;
|
|
754
|
-
start: z.ZodNumber;
|
|
755
|
-
end: z.ZodNumber;
|
|
756
|
-
}, z.core.$strict>>;
|
|
757
|
-
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
758
|
-
}, z.core.$strict>], "type">>>;
|
|
759
|
-
background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
760
|
-
kind: z.ZodLiteral<"color">;
|
|
761
|
-
value: z.ZodString;
|
|
762
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
763
|
-
kind: z.ZodLiteral<"gradient">;
|
|
764
|
-
from: z.ZodString;
|
|
765
|
-
to: z.ZodString;
|
|
766
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
767
|
-
tb: "tb";
|
|
768
|
-
lr: "lr";
|
|
769
|
-
diagonal: "diagonal";
|
|
770
|
-
}>>;
|
|
771
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
772
|
-
kind: z.ZodLiteral<"asset">;
|
|
773
|
-
asset_id: z.ZodString;
|
|
774
|
-
overlay: z.ZodOptional<z.ZodObject<{
|
|
775
|
-
color: z.ZodString;
|
|
776
|
-
opacity: z.ZodNumber;
|
|
777
|
-
}, z.core.$strict>>;
|
|
778
|
-
fit: z.ZodOptional<z.ZodEnum<{
|
|
779
|
-
cover: "cover";
|
|
780
|
-
contain: "contain";
|
|
781
|
-
}>>;
|
|
782
|
-
}, z.core.$strict>], "kind">>;
|
|
783
|
-
decor: z.ZodOptional<z.ZodObject<{
|
|
784
|
-
kind: z.ZodEnum<{
|
|
785
|
-
big_number: "big_number";
|
|
786
|
-
corner_tag: "corner_tag";
|
|
787
|
-
rule_line: "rule_line";
|
|
788
|
-
quote_marks: "quote_marks";
|
|
789
|
-
geo_dots: "geo_dots";
|
|
790
|
-
}>;
|
|
791
|
-
intensity: z.ZodOptional<z.ZodEnum<{
|
|
792
|
-
subtle: "subtle";
|
|
793
|
-
normal: "normal";
|
|
794
|
-
}>>;
|
|
795
|
-
text: z.ZodOptional<z.ZodString>;
|
|
796
|
-
}, z.core.$strict>>;
|
|
797
|
-
image_side: z.ZodOptional<z.ZodEnum<{
|
|
798
|
-
left: "left";
|
|
799
|
-
right: "right";
|
|
800
|
-
}>>;
|
|
801
|
-
footnote: z.ZodOptional<z.ZodString>;
|
|
802
|
-
notes: z.ZodOptional<z.ZodString>;
|
|
803
|
-
}, z.core.$strict>;
|
|
804
|
-
declare const PptxIRSchema: z.ZodObject<{
|
|
805
|
-
version: z.ZodDefault<z.ZodLiteral<"4">>;
|
|
806
|
-
filename: z.ZodDefault<z.ZodString>;
|
|
807
|
-
narrative: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
|
|
808
|
-
theme: z.ZodDefault<z.ZodObject<{
|
|
809
|
-
id: z.ZodDefault<z.ZodString>;
|
|
810
|
-
style: z.ZodOptional<z.ZodObject<{
|
|
811
|
-
colors: z.ZodOptional<z.ZodObject<{
|
|
812
|
-
bg: z.ZodOptional<z.ZodString>;
|
|
813
|
-
surface: z.ZodOptional<z.ZodString>;
|
|
814
|
-
panel: z.ZodOptional<z.ZodString>;
|
|
815
|
-
primary: z.ZodOptional<z.ZodString>;
|
|
816
|
-
accent: z.ZodOptional<z.ZodString>;
|
|
817
|
-
text: z.ZodOptional<z.ZodString>;
|
|
818
|
-
muted: z.ZodOptional<z.ZodString>;
|
|
819
|
-
border: z.ZodOptional<z.ZodString>;
|
|
820
|
-
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
821
|
-
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
822
|
-
cardStroke: z.ZodOptional<z.ZodString>;
|
|
823
|
-
}, z.core.$strict>>;
|
|
824
|
-
fonts: z.ZodOptional<z.ZodObject<{
|
|
825
|
-
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
826
|
-
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
827
|
-
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
828
|
-
}, z.core.$strict>>;
|
|
829
|
-
shape: z.ZodOptional<z.ZodObject<{
|
|
830
|
-
radius: z.ZodOptional<z.ZodNumber>;
|
|
831
|
-
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
832
|
-
}, z.core.$strict>>;
|
|
833
|
-
}, z.core.$strict>>;
|
|
834
|
-
brand: z.ZodOptional<z.ZodObject<{
|
|
835
|
-
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
836
|
-
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
837
|
-
}, z.core.$strict>>;
|
|
838
|
-
}, z.core.$strict>>;
|
|
839
|
-
meta: z.ZodDefault<z.ZodObject<{
|
|
840
|
-
organization: z.ZodOptional<z.ZodString>;
|
|
841
|
-
authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
842
|
-
name: z.ZodString;
|
|
843
|
-
role: z.ZodOptional<z.ZodString>;
|
|
844
|
-
org: z.ZodOptional<z.ZodString>;
|
|
845
|
-
}, z.core.$strict>>>;
|
|
846
|
-
date: z.ZodOptional<z.ZodString>;
|
|
847
|
-
version: z.ZodOptional<z.ZodString>;
|
|
848
|
-
confidentiality: z.ZodOptional<z.ZodEnum<{
|
|
849
|
-
public: "public";
|
|
850
|
-
internal: "internal";
|
|
851
|
-
confidential: "confidential";
|
|
852
|
-
restricted: "restricted";
|
|
853
|
-
}>>;
|
|
854
|
-
contact: z.ZodOptional<z.ZodObject<{
|
|
855
|
-
name: z.ZodOptional<z.ZodString>;
|
|
856
|
-
email: z.ZodOptional<z.ZodString>;
|
|
857
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
858
|
-
website: z.ZodOptional<z.ZodString>;
|
|
859
|
-
}, z.core.$strict>>;
|
|
860
|
-
copyright: z.ZodOptional<z.ZodString>;
|
|
861
|
-
animation: z.ZodOptional<z.ZodObject<{
|
|
862
|
-
transition: z.ZodOptional<z.ZodEnum<{
|
|
863
|
-
fade: "fade";
|
|
864
|
-
push: "push";
|
|
865
|
-
wipe: "wipe";
|
|
866
|
-
none: "none";
|
|
867
|
-
}>>;
|
|
868
|
-
elements: z.ZodOptional<z.ZodEnum<{
|
|
869
|
-
none: "none";
|
|
870
|
-
auto: "auto";
|
|
871
|
-
}>>;
|
|
872
|
-
}, z.core.$strict>>;
|
|
873
|
-
}, z.core.$strict>>;
|
|
874
|
-
assets: z.ZodDefault<z.ZodObject<{
|
|
875
|
-
images: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
876
|
-
src: z.ZodString;
|
|
877
|
-
alt: z.ZodOptional<z.ZodString>;
|
|
878
|
-
error: z.ZodOptional<z.ZodString>;
|
|
879
|
-
}, z.core.$strict>>>;
|
|
880
|
-
}, z.core.$strict>>;
|
|
881
|
-
brand: z.ZodOptional<z.ZodObject<{
|
|
882
|
-
logo_asset_id: z.ZodOptional<z.ZodString>;
|
|
883
|
-
position: z.ZodOptional<z.ZodEnum<{
|
|
884
|
-
tl: "tl";
|
|
885
|
-
tr: "tr";
|
|
886
|
-
bl: "bl";
|
|
887
|
-
br: "br";
|
|
888
|
-
}>>;
|
|
889
|
-
}, z.core.$strict>>;
|
|
890
|
-
seed: z.ZodOptional<z.ZodNumber>;
|
|
891
|
-
slides: z.ZodArray<z.ZodObject<{
|
|
892
|
-
type: z.ZodDefault<z.ZodEnum<{
|
|
893
|
-
cover: "cover";
|
|
894
|
-
chapter: "chapter";
|
|
895
|
-
content: "content";
|
|
896
|
-
ending: "ending";
|
|
897
|
-
}>>;
|
|
898
|
-
id: z.ZodOptional<z.ZodString>;
|
|
899
|
-
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
900
|
-
layout: z.ZodOptional<z.ZodString>;
|
|
901
|
-
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
902
|
-
code: "code";
|
|
903
|
-
quote: "quote";
|
|
904
|
-
single: "single";
|
|
905
|
-
two_column: "two_column";
|
|
906
|
-
kpi_focus: "kpi_focus";
|
|
907
|
-
image_focus: "image_focus";
|
|
908
|
-
big_number: "big_number";
|
|
909
|
-
assertion_evidence: "assertion_evidence";
|
|
910
|
-
aside: "aside";
|
|
911
|
-
}>>;
|
|
912
|
-
heading: z.ZodOptional<z.ZodString>;
|
|
913
|
-
subheading: z.ZodOptional<z.ZodString>;
|
|
914
|
-
components: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
915
|
-
type: z.ZodLiteral<"bullets">;
|
|
916
|
-
items: z.ZodArray<z.ZodString>;
|
|
917
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
918
|
-
default: "default";
|
|
919
|
-
checklist: "checklist";
|
|
920
|
-
numbered: "numbered";
|
|
921
|
-
plain: "plain";
|
|
922
|
-
divided: "divided";
|
|
923
|
-
}>>;
|
|
924
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
925
|
-
type: z.ZodLiteral<"paragraph">;
|
|
926
|
-
text: z.ZodString;
|
|
927
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
928
|
-
type: z.ZodLiteral<"quote">;
|
|
929
|
-
text: z.ZodString;
|
|
930
|
-
attribution: z.ZodOptional<z.ZodString>;
|
|
931
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
932
|
-
type: z.ZodLiteral<"callout">;
|
|
933
|
-
variant: z.ZodEnum<{
|
|
934
|
-
info: "info";
|
|
935
|
-
warn: "warn";
|
|
936
|
-
tip: "tip";
|
|
937
|
-
}>;
|
|
938
|
-
text: z.ZodString;
|
|
939
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
940
|
-
[x: string]: string;
|
|
941
|
-
}>>;
|
|
942
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
943
|
-
type: z.ZodLiteral<"code">;
|
|
944
|
-
language: z.ZodString;
|
|
945
|
-
code: z.ZodString;
|
|
946
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
947
|
-
type: z.ZodLiteral<"kpi_cards">;
|
|
948
|
-
items: z.ZodArray<z.ZodObject<{
|
|
949
|
-
value: z.ZodString;
|
|
950
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
951
|
-
label: z.ZodString;
|
|
952
|
-
delta: z.ZodOptional<z.ZodEnum<{
|
|
953
|
-
up: "up";
|
|
954
|
-
down: "down";
|
|
955
|
-
flat: "flat";
|
|
956
|
-
}>>;
|
|
957
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
958
|
-
[x: string]: string;
|
|
959
|
-
}>>;
|
|
960
|
-
source: z.ZodOptional<z.ZodString>;
|
|
961
|
-
}, z.core.$strict>>;
|
|
962
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
963
|
-
type: z.ZodLiteral<"chart">;
|
|
964
|
-
chart_type: z.ZodEnum<{
|
|
965
|
-
line: "line";
|
|
966
|
-
dumbbell: "dumbbell";
|
|
967
|
-
funnel: "funnel";
|
|
968
|
-
bar: "bar";
|
|
969
|
-
pie: "pie";
|
|
970
|
-
}>;
|
|
971
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
972
|
-
horizontal: "horizontal";
|
|
973
|
-
vertical: "vertical";
|
|
974
|
-
}>>;
|
|
975
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
976
|
-
donut: "donut";
|
|
977
|
-
}>>;
|
|
978
|
-
axes: z.ZodOptional<z.ZodObject<{
|
|
979
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
980
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
981
|
-
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
982
|
-
}, z.core.$strict>>;
|
|
983
|
-
series: z.ZodArray<z.ZodObject<{
|
|
984
|
-
name: z.ZodString;
|
|
985
|
-
data: z.ZodArray<z.ZodObject<{
|
|
986
|
-
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
987
|
-
y: z.ZodNumber;
|
|
988
|
-
}, z.core.$strict>>;
|
|
989
|
-
}, z.core.$strict>>;
|
|
990
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
991
|
-
type: z.ZodLiteral<"flowchart">;
|
|
992
|
-
nodes: z.ZodArray<z.ZodObject<{
|
|
993
|
-
id: z.ZodString;
|
|
994
|
-
label: z.ZodString;
|
|
995
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
996
|
-
rect: "rect";
|
|
997
|
-
diamond: "diamond";
|
|
998
|
-
round: "round";
|
|
999
|
-
}>>;
|
|
1000
|
-
}, z.core.$strict>>;
|
|
1001
|
-
edges: z.ZodArray<z.ZodObject<{
|
|
1002
|
-
from: z.ZodString;
|
|
1003
|
-
to: z.ZodString;
|
|
1004
|
-
label: z.ZodOptional<z.ZodString>;
|
|
1005
|
-
}, z.core.$strict>>;
|
|
1006
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
1007
|
-
TB: "TB";
|
|
1008
|
-
TD: "TD";
|
|
1009
|
-
BT: "BT";
|
|
1010
|
-
LR: "LR";
|
|
1011
|
-
RL: "RL";
|
|
1012
|
-
}>>;
|
|
1013
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1014
|
-
type: z.ZodLiteral<"architecture">;
|
|
1015
|
-
layers: z.ZodArray<z.ZodObject<{
|
|
1016
|
-
title: z.ZodString;
|
|
1017
|
-
items: z.ZodArray<z.ZodString>;
|
|
1018
|
-
}, z.core.$strict>>;
|
|
1019
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1020
|
-
type: z.ZodLiteral<"timeline">;
|
|
1021
|
-
layout: z.ZodOptional<z.ZodEnum<{
|
|
1022
|
-
horizontal: "horizontal";
|
|
1023
|
-
vertical: "vertical";
|
|
1024
|
-
}>>;
|
|
1025
|
-
milestones: z.ZodArray<z.ZodObject<{
|
|
1026
|
-
date: z.ZodString;
|
|
1027
|
-
title: z.ZodString;
|
|
1028
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
1029
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
1030
|
-
}, z.core.$strict>>;
|
|
1031
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1032
|
-
type: z.ZodLiteral<"comparison">;
|
|
1033
|
-
columns: z.ZodArray<z.ZodString>;
|
|
1034
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
1035
|
-
label: z.ZodString;
|
|
1036
|
-
cells: z.ZodArray<z.ZodString>;
|
|
1037
|
-
}, z.core.$strict>>;
|
|
1038
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1039
|
-
type: z.ZodLiteral<"icon_cards">;
|
|
1040
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1041
|
-
icon: z.ZodEnum<{
|
|
1042
|
-
[x: string]: string;
|
|
1043
|
-
}>;
|
|
1044
|
-
title: z.ZodString;
|
|
1045
|
-
text: z.ZodString;
|
|
1046
|
-
}, z.core.$strict>>;
|
|
1047
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1048
|
-
type: z.ZodLiteral<"row_cards">;
|
|
1049
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1050
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
1051
|
-
[x: string]: string;
|
|
1052
|
-
}>>;
|
|
1053
|
-
title: z.ZodString;
|
|
1054
|
-
text: z.ZodOptional<z.ZodString>;
|
|
1055
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
1056
|
-
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
1057
|
-
}, z.core.$strict>>;
|
|
1058
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1059
|
-
type: z.ZodLiteral<"steps">;
|
|
1060
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1061
|
-
title: z.ZodString;
|
|
1062
|
-
text: z.ZodString;
|
|
1063
|
-
}, z.core.$strict>>;
|
|
1064
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1065
|
-
type: z.ZodLiteral<"rings">;
|
|
1066
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1067
|
-
label: z.ZodString;
|
|
1068
|
-
desc: z.ZodOptional<z.ZodString>;
|
|
1069
|
-
}, z.core.$strict>>;
|
|
1070
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1071
|
-
type: z.ZodLiteral<"numbered_cards">;
|
|
1072
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1073
|
-
title: z.ZodString;
|
|
1074
|
-
text: z.ZodOptional<z.ZodString>;
|
|
1075
|
-
sub: z.ZodOptional<z.ZodString>;
|
|
1076
|
-
}, z.core.$strict>>;
|
|
1077
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1078
|
-
type: z.ZodLiteral<"roadmap">;
|
|
1079
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1080
|
-
title: z.ZodString;
|
|
1081
|
-
period: z.ZodOptional<z.ZodString>;
|
|
1082
|
-
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1083
|
-
label: z.ZodString;
|
|
1084
|
-
value: z.ZodString;
|
|
1085
|
-
}, z.core.$strict>>>;
|
|
1086
|
-
}, z.core.$strict>>;
|
|
1087
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1088
|
-
type: z.ZodLiteral<"matrix">;
|
|
1089
|
-
x_title: z.ZodOptional<z.ZodString>;
|
|
1090
|
-
y_title: z.ZodOptional<z.ZodString>;
|
|
1091
|
-
cols: z.ZodNumber;
|
|
1092
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1093
|
-
title: z.ZodString;
|
|
1094
|
-
tag: z.ZodOptional<z.ZodString>;
|
|
1095
|
-
tone: z.ZodOptional<z.ZodEnum<{
|
|
1096
|
-
info: "info";
|
|
1097
|
-
accent: "accent";
|
|
1098
|
-
neutral: "neutral";
|
|
1099
|
-
}>>;
|
|
1100
|
-
}, z.core.$strict>>;
|
|
1101
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1102
|
-
type: z.ZodLiteral<"insight_panel">;
|
|
1103
|
-
title: z.ZodString;
|
|
1104
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
1105
|
-
label: z.ZodString;
|
|
1106
|
-
text: z.ZodString;
|
|
1107
|
-
}, z.core.$strict>>;
|
|
1108
|
-
footnote: z.ZodOptional<z.ZodString>;
|
|
1109
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1110
|
-
type: z.ZodLiteral<"verdict_banner">;
|
|
1111
|
-
text: z.ZodString;
|
|
1112
|
-
tone: z.ZodEnum<{
|
|
1113
|
-
neutral: "neutral";
|
|
1114
|
-
positive: "positive";
|
|
1115
|
-
warning: "warning";
|
|
1116
|
-
}>;
|
|
1117
|
-
icon: z.ZodOptional<z.ZodEnum<{
|
|
1118
|
-
[x: string]: string;
|
|
1119
|
-
}>>;
|
|
1120
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1121
|
-
type: z.ZodLiteral<"citation">;
|
|
1122
|
-
sources: z.ZodArray<z.ZodObject<{
|
|
1123
|
-
label: z.ZodString;
|
|
1124
|
-
url: z.ZodOptional<z.ZodString>;
|
|
1125
|
-
ref: z.ZodOptional<z.ZodString>;
|
|
1126
|
-
}, z.core.$strict>>;
|
|
1127
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1128
|
-
type: z.ZodLiteral<"image">;
|
|
1129
|
-
asset_id: z.ZodString;
|
|
1130
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
1131
|
-
fit: z.ZodDefault<z.ZodEnum<{
|
|
1132
|
-
cover: "cover";
|
|
1133
|
-
contain: "contain";
|
|
1134
|
-
}>>;
|
|
1135
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1136
|
-
type: z.ZodLiteral<"image_grid">;
|
|
1137
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1138
|
-
asset_id: z.ZodString;
|
|
1139
|
-
caption: z.ZodOptional<z.ZodString>;
|
|
1140
|
-
}, z.core.$strict>>;
|
|
1141
|
-
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
1142
|
-
none: "none";
|
|
1143
|
-
first: "first";
|
|
1144
|
-
}>>;
|
|
1145
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1146
|
-
type: z.ZodLiteral<"image_compare">;
|
|
1147
|
-
left: z.ZodObject<{
|
|
1148
|
-
asset_id: z.ZodString;
|
|
1149
|
-
label: z.ZodString;
|
|
1150
|
-
}, z.core.$strict>;
|
|
1151
|
-
right: z.ZodObject<{
|
|
1152
|
-
asset_id: z.ZodString;
|
|
1153
|
-
label: z.ZodString;
|
|
1154
|
-
}, z.core.$strict>;
|
|
1155
|
-
style: z.ZodOptional<z.ZodEnum<{
|
|
1156
|
-
vs: "vs";
|
|
1157
|
-
before_after: "before_after";
|
|
1158
|
-
}>>;
|
|
1159
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1160
|
-
type: z.ZodLiteral<"swot">;
|
|
1161
|
-
strengths: z.ZodArray<z.ZodString>;
|
|
1162
|
-
weaknesses: z.ZodArray<z.ZodString>;
|
|
1163
|
-
opportunities: z.ZodArray<z.ZodString>;
|
|
1164
|
-
threats: z.ZodArray<z.ZodString>;
|
|
1165
|
-
labels: z.ZodOptional<z.ZodObject<{
|
|
1166
|
-
strengths: z.ZodOptional<z.ZodString>;
|
|
1167
|
-
weaknesses: z.ZodOptional<z.ZodString>;
|
|
1168
|
-
opportunities: z.ZodOptional<z.ZodString>;
|
|
1169
|
-
threats: z.ZodOptional<z.ZodString>;
|
|
1170
|
-
}, z.core.$strict>>;
|
|
1171
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1172
|
-
type: z.ZodLiteral<"bmc">;
|
|
1173
|
-
key_partners: z.ZodArray<z.ZodString>;
|
|
1174
|
-
key_activities: z.ZodArray<z.ZodString>;
|
|
1175
|
-
key_resources: z.ZodArray<z.ZodString>;
|
|
1176
|
-
value_propositions: z.ZodArray<z.ZodString>;
|
|
1177
|
-
customer_relationships: z.ZodArray<z.ZodString>;
|
|
1178
|
-
channels: z.ZodArray<z.ZodString>;
|
|
1179
|
-
customer_segments: z.ZodArray<z.ZodString>;
|
|
1180
|
-
cost_structure: z.ZodArray<z.ZodString>;
|
|
1181
|
-
revenue_streams: z.ZodArray<z.ZodString>;
|
|
1182
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1183
|
-
type: z.ZodLiteral<"waterfall">;
|
|
1184
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1185
|
-
label: z.ZodString;
|
|
1186
|
-
value: z.ZodNumber;
|
|
1187
|
-
kind: z.ZodOptional<z.ZodEnum<{
|
|
1188
|
-
delta: "delta";
|
|
1189
|
-
total: "total";
|
|
1190
|
-
}>>;
|
|
1191
|
-
}, z.core.$strict>>;
|
|
1192
|
-
unit: z.ZodOptional<z.ZodString>;
|
|
1193
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1194
|
-
type: z.ZodLiteral<"gantt">;
|
|
1195
|
-
items: z.ZodArray<z.ZodObject<{
|
|
1196
|
-
label: z.ZodString;
|
|
1197
|
-
start: z.ZodNumber;
|
|
1198
|
-
end: z.ZodNumber;
|
|
1199
|
-
}, z.core.$strict>>;
|
|
1200
|
-
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1201
|
-
}, z.core.$strict>], "type">>>;
|
|
1202
|
-
background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1203
|
-
kind: z.ZodLiteral<"color">;
|
|
1204
|
-
value: z.ZodString;
|
|
1205
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1206
|
-
kind: z.ZodLiteral<"gradient">;
|
|
1207
|
-
from: z.ZodString;
|
|
1208
|
-
to: z.ZodString;
|
|
1209
|
-
direction: z.ZodOptional<z.ZodEnum<{
|
|
1210
|
-
tb: "tb";
|
|
1211
|
-
lr: "lr";
|
|
1212
|
-
diagonal: "diagonal";
|
|
1213
|
-
}>>;
|
|
1214
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1215
|
-
kind: z.ZodLiteral<"asset">;
|
|
1216
|
-
asset_id: z.ZodString;
|
|
1217
|
-
overlay: z.ZodOptional<z.ZodObject<{
|
|
1218
|
-
color: z.ZodString;
|
|
1219
|
-
opacity: z.ZodNumber;
|
|
1220
|
-
}, z.core.$strict>>;
|
|
1221
|
-
fit: z.ZodOptional<z.ZodEnum<{
|
|
1222
|
-
cover: "cover";
|
|
1223
|
-
contain: "contain";
|
|
1224
|
-
}>>;
|
|
1225
|
-
}, z.core.$strict>], "kind">>;
|
|
1226
|
-
decor: z.ZodOptional<z.ZodObject<{
|
|
1227
|
-
kind: z.ZodEnum<{
|
|
1228
|
-
big_number: "big_number";
|
|
1229
|
-
corner_tag: "corner_tag";
|
|
1230
|
-
rule_line: "rule_line";
|
|
1231
|
-
quote_marks: "quote_marks";
|
|
1232
|
-
geo_dots: "geo_dots";
|
|
1233
|
-
}>;
|
|
1234
|
-
intensity: z.ZodOptional<z.ZodEnum<{
|
|
1235
|
-
subtle: "subtle";
|
|
1236
|
-
normal: "normal";
|
|
1237
|
-
}>>;
|
|
1238
|
-
text: z.ZodOptional<z.ZodString>;
|
|
1239
|
-
}, z.core.$strict>>;
|
|
1240
|
-
image_side: z.ZodOptional<z.ZodEnum<{
|
|
1241
|
-
left: "left";
|
|
1242
|
-
right: "right";
|
|
1243
|
-
}>>;
|
|
1244
|
-
footnote: z.ZodOptional<z.ZodString>;
|
|
1245
|
-
notes: z.ZodOptional<z.ZodString>;
|
|
1246
|
-
}, z.core.$strict>>;
|
|
1247
|
-
}, z.core.$strict>;
|
|
1248
|
-
type PptxIR = z.infer<typeof PptxIRSchema>;
|
|
1249
|
-
type Component = z.infer<typeof ComponentSchema>;
|
|
1250
|
-
type BackgroundSpec = z.infer<typeof BackgroundSpecSchema>;
|
|
1251
|
-
type Slide = z.infer<typeof SlideSchema>;
|
|
1252
|
-
type Assets = z.infer<typeof AssetsSchema>;
|
|
1253
|
-
type Meta = z.infer<typeof MetaSchema>;
|
|
6
|
+
declare const STRATEGY_VALUES: readonly ["pyramid", "storytelling", "instructional", "showcase", "briefing"];
|
|
7
|
+
declare const PACING_VALUES: readonly ["dense", "balanced", "spacious"];
|
|
8
|
+
declare const AUDIENCE_VALUES: readonly ["executive", "technical", "customer", "public"];
|
|
9
|
+
declare const BEAT_VALUES: readonly ["anchor", "dense", "breathing"];
|
|
1254
10
|
|
|
1255
|
-
interface ValidationIssue {
|
|
1256
|
-
path: string;
|
|
1257
|
-
message: string;
|
|
1258
|
-
/** 1-based slide number when the issue is scoped to a slide. */
|
|
1259
|
-
page?: number;
|
|
1260
|
-
/**
|
|
1261
|
-
* The offending slide's own `id` (`Slide.id`, `ir/index.ts`) — W5
|
|
1262
|
-
* whole-branch review finding 2: the README already claimed "validation
|
|
1263
|
-
* error messages reference [a slide] by [its] id"; this is what makes
|
|
1264
|
-
* that true. Set by every page-scoped issue producer
|
|
1265
|
-
* ({@link checkLayoutApplicability}, {@link checkBoundaryPageContent},
|
|
1266
|
-
* the content-quality-gate translation in {@link validateIr},
|
|
1267
|
-
* {@link checkDuplicateSlideIds})
|
|
1268
|
-
* when the slide in question has an `id` — absent when the slide has
|
|
1269
|
-
* none (bare, pre-W5 IR) or the issue is deck-level, not scoped to any
|
|
1270
|
-
* single slide. {@link formatIssues} appends it in parens after the page
|
|
1271
|
-
* number.
|
|
1272
|
-
*/
|
|
1273
|
-
slideId?: string;
|
|
1274
|
-
}
|
|
1275
|
-
interface ValidateResult {
|
|
1276
|
-
ok: boolean;
|
|
1277
|
-
ir?: PptxIR;
|
|
1278
|
-
errors: ValidationIssue[];
|
|
1279
|
-
/**
|
|
1280
|
-
* Human-readable "`path`: `alias` → `canonical`" entries for every
|
|
1281
|
-
* deterministic field-alias rewrite `validateIr` applied before parsing
|
|
1282
|
-
* (W5 task 4, `ir/field-aliases.ts`'s `normalizeComponentAliases`) — e.g. a
|
|
1283
|
-
* kpi item's `title` silently adopted as `label`. Present only when at
|
|
1284
|
-
* least one rewrite happened; informational, never gates `ok` on its own.
|
|
1285
|
-
*/
|
|
1286
|
-
normalized?: string[];
|
|
1287
|
-
}
|
|
1288
|
-
/**
|
|
1289
|
-
* Validate raw JSON against the IR schema, then — once it parses — resolve
|
|
1290
|
-
* `narrative` (`resolveNarrative`, spec §5: an unrecognized preset name is a
|
|
1291
|
-
* `narrative`-path error, page-less) and run the content-quality gate
|
|
1292
|
-
* (`checkIrQuality`, passed the resolved axes) against the parsed IR. All
|
|
1293
|
-
* stages must pass for `ok: true`. Quality findings are reported the same
|
|
1294
|
-
* way as schema errors (page-scoped, 1-based). `checkIrQuality` itself tags
|
|
1295
|
-
* findings "warn" vs "error", but that split was designed for its original
|
|
1296
|
-
* consumer (surfacing informational warnings in a UI after generation, per
|
|
1297
|
-
* its own docstring) — here it is the pre-generation hard gate, so any
|
|
1298
|
-
* finding blocks (`ok: false`), not only "error"-severity ones. Treating
|
|
1299
|
-
* "warn" findings (e.g. a cover with no heading) as advisory-only would
|
|
1300
|
-
* defeat the point of wiring this in: the spec's core principle is a hard
|
|
1301
|
-
* protocol gate, not hoped-for prompt compliance.
|
|
1302
|
-
*
|
|
1303
|
-
* Before any of that, one deterministic alias pass runs
|
|
1304
|
-
* ({@link normalizeComponentAliases}, W5 task 4) for the component
|
|
1305
|
-
* field-name synonym rescue only (kpi `title`→`label`, quote
|
|
1306
|
-
* `content`→`text`, …) — a weak-model rescue for schema-internal synonym
|
|
1307
|
-
* drift, scoped to `slides[]`. It only rewrites where the canonical key is
|
|
1308
|
-
* absent, so the schema parse below never sees an alias as an "unrecognized
|
|
1309
|
-
* key" in the first place. Purely informational: every rewrite is recorded
|
|
1310
|
-
* as a human-readable `path: alias → canonical` string and threaded onto
|
|
1311
|
-
* `ValidateResult.normalized` on *every* return path below via
|
|
1312
|
-
* `withNormalized`, success or failure alike — it never itself gates `ok`.
|
|
1313
|
-
*
|
|
1314
|
-
* There is deliberately no root/narrative-level alias pass (spec §16,
|
|
1315
|
-
* reversing the now-superseded §15.4): a v4 document that still spells its
|
|
1316
|
-
* pre-rename vocabulary — `scenario` instead of `narrative`, `mode`/
|
|
1317
|
-
* `delivery` instead of `strategy`/`pacing`, or the old enum values
|
|
1318
|
-
* `"text"`/`"presentation"`/`"narrative"` — is not old-vocabulary
|
|
1319
|
-
* *compatibility*, it is exactly the vocabulary this rename retired, so it
|
|
1320
|
-
* hard-errors like any other unknown key or value: `scenario` fails the
|
|
1321
|
-
* schema's `.strict()` parse below as an unrecognized key, and an old enum
|
|
1322
|
-
* value (or the axis-key names `mode`/`delivery` inside `narrative`, which
|
|
1323
|
-
* the schema itself leaves open) fails `resolveNarrative`'s own runtime
|
|
1324
|
-
* check, listing the current values. `pptfast migrate` (`ir/migrate.ts`)
|
|
1325
|
-
* remains the sanctioned bridge for a genuine v3 document — see the v3 hard
|
|
1326
|
-
* reject below, which points there.
|
|
1327
|
-
*
|
|
1328
|
-
* The component-alias pass only ever runs for a document already headed for
|
|
1329
|
-
* the v4 schema — an explicit `version: "2"` or `version: "3"` is
|
|
1330
|
-
* hard-rejected first, below, before the alias pass or any schema parse
|
|
1331
|
-
* (spec §9.3: a v2/v3 document is never silently reinterpreted as v4).
|
|
1332
|
-
*/
|
|
1333
|
-
declare function validateIr(input: unknown): ValidateResult;
|
|
1334
11
|
/**
|
|
1335
|
-
*
|
|
1336
|
-
*
|
|
1337
|
-
*
|
|
1338
|
-
*
|
|
1339
|
-
*
|
|
1340
|
-
* `
|
|
1341
|
-
*
|
|
1342
|
-
* `slideId` (an id-less slide), or neither — is byte-identical to before
|
|
1343
|
-
* this task.
|
|
12
|
+
* Public API surface: validateIr's own logic lives in `./validate-core`
|
|
13
|
+
* (P2 browser-distribution wave, task 1 — see that file's own doc comment
|
|
14
|
+
* for why) and is re-exported below unchanged, so every existing consumer
|
|
15
|
+
* of this module keeps working exactly as before. `renderSlideSvg` and
|
|
16
|
+
* `generatePptx` stay defined here — this is the one file allowed to reach
|
|
17
|
+
* into `./svg/render-slide` and `./pptx/generate` (react-dom/server, jszip,
|
|
18
|
+
* pptxgenjs, dagre).
|
|
1344
19
|
*/
|
|
1345
|
-
|
|
20
|
+
|
|
1346
21
|
/** Render a single slide to standalone SVG markup (preview / self-check). */
|
|
1347
22
|
declare function renderSlideSvg(ir: PptxIR, slideIndex: number): string;
|
|
1348
23
|
/** Full pipeline: validate → SVG → DrawingML → animation patches → pptx bytes. */
|
|
1349
24
|
declare function generatePptx(input: unknown, opts?: {
|
|
1350
25
|
draft?: boolean;
|
|
1351
26
|
}): Promise<Uint8Array>;
|
|
1352
|
-
interface ThemeInfo {
|
|
1353
|
-
id: string;
|
|
1354
|
-
label: string;
|
|
1355
|
-
colors: Record<string, unknown>;
|
|
1356
|
-
}
|
|
1357
|
-
/** Built-in theme catalog with labels and style color tokens. */
|
|
1358
|
-
declare function listThemes(): ThemeInfo[];
|
|
1359
|
-
/** JSON Schema for the IR — feed this to a model before it writes IR. */
|
|
1360
|
-
declare function irJsonSchema(): Record<string, unknown>;
|
|
1361
|
-
/** JSON Schema for style-token overrides (IR theme.style, --style files, config "style"). */
|
|
1362
|
-
declare function styleJsonSchema(): Record<string, unknown>;
|
|
1363
27
|
|
|
1364
28
|
/**
|
|
1365
29
|
* The frozen IR v3 top-level shape (vocabulary-v4 rename, task 1 — spec
|
|
@@ -1440,8 +104,8 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1440
104
|
copyright: z.ZodOptional<z.ZodString>;
|
|
1441
105
|
animation: z.ZodOptional<z.ZodObject<{
|
|
1442
106
|
transition: z.ZodOptional<z.ZodEnum<{
|
|
1443
|
-
fade: "fade";
|
|
1444
107
|
push: "push";
|
|
108
|
+
fade: "fade";
|
|
1445
109
|
wipe: "wipe";
|
|
1446
110
|
none: "none";
|
|
1447
111
|
}>>;
|
|
@@ -1478,6 +142,11 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1478
142
|
id: z.ZodOptional<z.ZodString>;
|
|
1479
143
|
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1480
144
|
layout: z.ZodOptional<z.ZodString>;
|
|
145
|
+
beat: z.ZodOptional<z.ZodEnum<{
|
|
146
|
+
anchor: "anchor";
|
|
147
|
+
dense: "dense";
|
|
148
|
+
breathing: "breathing";
|
|
149
|
+
}>>;
|
|
1481
150
|
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
1482
151
|
code: "code";
|
|
1483
152
|
quote: "quote";
|
|
@@ -1530,9 +199,9 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1530
199
|
unit: z.ZodOptional<z.ZodString>;
|
|
1531
200
|
label: z.ZodString;
|
|
1532
201
|
delta: z.ZodOptional<z.ZodEnum<{
|
|
202
|
+
flat: "flat";
|
|
1533
203
|
up: "up";
|
|
1534
204
|
down: "down";
|
|
1535
|
-
flat: "flat";
|
|
1536
205
|
}>>;
|
|
1537
206
|
icon: z.ZodOptional<z.ZodEnum<{
|
|
1538
207
|
[x: string]: string;
|
|
@@ -1995,10 +664,6 @@ declare function getInstalledThemeIds(): readonly string[];
|
|
|
1995
664
|
*/
|
|
1996
665
|
declare function getThemeDefinition(id: string): ThemeDefinition;
|
|
1997
666
|
|
|
1998
|
-
declare const STRATEGY_VALUES: readonly ["pyramid", "storytelling", "instructional", "showcase", "briefing"];
|
|
1999
|
-
declare const PACING_VALUES: readonly ["dense", "balanced", "spacious"];
|
|
2000
|
-
declare const AUDIENCE_VALUES: readonly ["executive", "technical", "customer", "public"];
|
|
2001
|
-
|
|
2002
667
|
/**
|
|
2003
668
|
* Narrative argument style (spec §5's five-way strategy classification,
|
|
2004
669
|
* renamed from "mode" — spec §8.1). Each strategy carries a
|
|
@@ -2057,17 +722,68 @@ interface StrategyDefinition {
|
|
|
2057
722
|
* spec `focus` vocabulary gate, so narrowing its meaning here would be a
|
|
2058
723
|
* breaking change to an existing consumer. This field holds only
|
|
2059
724
|
* `LAYOUT_REGISTRY` content-archetype ids (`svg/layouts/registry.ts`'s
|
|
2060
|
-
* `CONTENT_LAYOUTS` keys) — cover/chapter/ending ids never appear in
|
|
2061
|
-
*
|
|
2062
|
-
*
|
|
2063
|
-
*
|
|
2064
|
-
*
|
|
2065
|
-
*
|
|
2066
|
-
*
|
|
2067
|
-
*
|
|
2068
|
-
*
|
|
725
|
+
* `CONTENT_LAYOUTS` keys) — cover/chapter/ending ids never appear in this
|
|
726
|
+
* field's list, `resolveArchetypeId` reads {@link identityTendencies}
|
|
727
|
+
* below for those three slide types instead, so the two fields' id
|
|
728
|
+
* namespaces stay disjoint by construction rather than by convention.
|
|
729
|
+
* `tone-adaptive-content` appears in no strategy's list here (spec's "万金
|
|
730
|
+
* 油" call-out: it is the one content archetype meant to read as
|
|
731
|
+
* strategy-neutral, so it always gets the ×1 floor).
|
|
732
|
+
*
|
|
733
|
+
* **Historical note (corrected P1 variety wave, task 3):** this field's
|
|
734
|
+
* doc comment used to claim cover/chapter/ending stayed uniformly sampled
|
|
735
|
+
* because "身份页个性来自 theme 不来自 strategy" — that claim was already
|
|
736
|
+
* false when written (`theme.layouts` only curates the candidate *pool*,
|
|
737
|
+
* spec §6 step 3 — the 13 built-in themes' pools are all the full registry
|
|
738
|
+
* set for every slide type, so `theme.id` contributes zero shaping either —
|
|
739
|
+
* see `.issues/.../dr/c-diversity.md`'s §1.1 measurement). Identity pages
|
|
740
|
+
* now get their own strategy-driven soft weighting via
|
|
741
|
+
* {@link identityTendencies} — theme's role stays exactly what step 3
|
|
742
|
+
* always said it was — pool curation, not per-archetype preference — for
|
|
743
|
+
* both content and identity slides alike.
|
|
2069
744
|
*/
|
|
2070
745
|
layoutTendencies: readonly string[];
|
|
746
|
+
/**
|
|
747
|
+
* Cover/chapter/ending soft-weight sets (P1 variety wave, task 3 — "身份页
|
|
748
|
+
* strategy 软加权"), one per identity slide type. Same ×3/×1 mechanics as
|
|
749
|
+
* {@link layoutTendencies} (`TENDENCY_WEIGHT`/`BASE_WEIGHT`,
|
|
750
|
+
* `svg/effective-layout.ts`) and the same consumer (`resolveArchetypeId`),
|
|
751
|
+
* just scoped to a disjoint id namespace: this field holds only
|
|
752
|
+
* `LAYOUT_REGISTRY` cover/chapter/ending archetype ids
|
|
753
|
+
* (`svg/layouts/registry.ts`'s `COVER_LAYOUTS`/`CHAPTER_LAYOUTS`/
|
|
754
|
+
* `ENDING_LAYOUTS` keys), never a content id — `resolveArchetypeId` picks
|
|
755
|
+
* this field or {@link layoutTendencies} based on the slide type being
|
|
756
|
+
* resolved, never both for the same candidate.
|
|
757
|
+
*
|
|
758
|
+
* Deliberately small (2-3 members per page type, out of a 7-8-id pool) —
|
|
759
|
+
* spec: "映射表提案是内容决策...权重不是排除", so every non-member archetype
|
|
760
|
+
* still stays reachable at the `BASE_WEIGHT` floor, just less often. Each
|
|
761
|
+
* member's rationale is documented next to its own strategy entry below,
|
|
762
|
+
* grounded in that archetype's own body comment in
|
|
763
|
+
* `svg/layouts/registry.ts` (`COVER_LAYOUTS`/`CHAPTER_LAYOUTS`/
|
|
764
|
+
* `ENDING_LAYOUTS`), not its name alone.
|
|
765
|
+
*
|
|
766
|
+
* `tone-adaptive-header`/`tone-adaptive-chapter`/`tone-adaptive-ending`
|
|
767
|
+
* never appear in any strategy's set here, mirroring
|
|
768
|
+
* `tone-adaptive-content`'s absence from every {@link layoutTendencies}
|
|
769
|
+
* list: each is its page type's "万金油" (registry.ts's own convention),
|
|
770
|
+
* the one archetype each identity slide type is meant to keep reading as
|
|
771
|
+
* strategy-neutral.
|
|
772
|
+
*
|
|
773
|
+
* Supersedes the old design note this field replaces (formerly recorded
|
|
774
|
+
* on {@link layoutTendencies} below, now corrected there): identity pages
|
|
775
|
+
* were never actually reading `theme.id` for their character either
|
|
776
|
+
* (`theme.layouts` only curates the *pool*, spec §6 step 3 — it was never
|
|
777
|
+
* a per-archetype weighting signal, for content or identity slides alike)
|
|
778
|
+
* — this field is what now gives cover/chapter/ending a strategy-driven
|
|
779
|
+
* personality, the same soft-weight mechanism content pages have had since
|
|
780
|
+
* W4.
|
|
781
|
+
*/
|
|
782
|
+
identityTendencies: {
|
|
783
|
+
readonly cover: readonly string[];
|
|
784
|
+
readonly chapter: readonly string[];
|
|
785
|
+
readonly ending: readonly string[];
|
|
786
|
+
};
|
|
2071
787
|
/**
|
|
2072
788
|
* Beat template descriptor (spec §5's per-strategy beat-default column,
|
|
2073
789
|
* renamed from "rhythm" — spec §2.3), parameterized by strategy for W5's
|
|
@@ -2221,7 +937,6 @@ declare function resolveNarrative(input: string | Partial<NarrativeProfile> | un
|
|
|
2221
937
|
* silent mismatch.
|
|
2222
938
|
*/
|
|
2223
939
|
declare const PAGE_TYPES: readonly ["cover", "chapter", "content", "ending"];
|
|
2224
|
-
declare const BEAT_VALUES: readonly ["anchor", "dense", "breathing"];
|
|
2225
940
|
type PageSpecType = (typeof PAGE_TYPES)[number];
|
|
2226
941
|
type PageBeat = (typeof BEAT_VALUES)[number];
|
|
2227
942
|
/**
|
|
@@ -2298,8 +1013,8 @@ declare const DeckSpecSchema: z.ZodObject<{
|
|
|
2298
1013
|
copyright: z.ZodOptional<z.ZodString>;
|
|
2299
1014
|
animation: z.ZodOptional<z.ZodObject<{
|
|
2300
1015
|
transition: z.ZodOptional<z.ZodEnum<{
|
|
2301
|
-
fade: "fade";
|
|
2302
1016
|
push: "push";
|
|
1017
|
+
fade: "fade";
|
|
2303
1018
|
wipe: "wipe";
|
|
2304
1019
|
none: "none";
|
|
2305
1020
|
}>>;
|
|
@@ -2474,13 +1189,25 @@ interface AssembleResult {
|
|
|
2474
1189
|
* declared `summary` becomes the placeholder's `subheading` (the one spot
|
|
2475
1190
|
* `summary` — otherwise a spec-only anchor, see step 5 — does reach the
|
|
2476
1191
|
* IR) so a `--draft` preview of an unfilled deck still reads as more than
|
|
2477
|
-
* a bare "Untitled".
|
|
1192
|
+
* a bare "Untitled". A declared `beat` carries straight into the
|
|
1193
|
+
* placeholder's own `Slide.beat` too (P1 variety wave, task 1 — see step
|
|
1194
|
+
* 5's note below). A placeholder page still participates in this
|
|
1195
|
+
* function's own layout materialization below, so its beat still needs
|
|
1196
|
+
* to reach the IR for that weighting to see it once the page is filled
|
|
1197
|
+
* in later without re-materializing.
|
|
2478
1198
|
* 5. Present pages become a full slide: `id`/`type`/`heading` from the page
|
|
2479
1199
|
* spec (never the content record — see step 2), plus whichever of
|
|
2480
1200
|
* {@link PageContent}'s seven fields the content record actually set.
|
|
2481
|
-
* `beat
|
|
2482
|
-
*
|
|
2483
|
-
*
|
|
1201
|
+
* `beat` now carries straight into the IR's own `Slide.beat` field too —
|
|
1202
|
+
* reached from `PageSpec`, not `PageContent` (same source as `id`/`type`/
|
|
1203
|
+
* `heading`, since `beat` is spec-owned, not per-page content) — as of
|
|
1204
|
+
* the P1 variety wave's task 1. Previously dropped here as a spec-only
|
|
1205
|
+
* authoring anchor, `SlideSchema.beat`'s own doc comment
|
|
1206
|
+
* (`../ir/index.ts`) has the full accounting of what it now does
|
|
1207
|
+
* downstream. `focus`/`summary` still never reach the IR for a present
|
|
1208
|
+
* page — they remain spec-only authoring anchors (focus steers a future
|
|
1209
|
+
* fill/select step, summary is "for the fill step's own reading only"),
|
|
1210
|
+
* not slide content.
|
|
2484
1211
|
* 6. Top-level: `version` is always the literal `"4"` (IR's own version,
|
|
2485
1212
|
* unrelated to the deck spec's own `version: "1"`) — the deck spec's own
|
|
2486
1213
|
* `narrative` field (renamed this task from `scenario`, spec §8.1's
|
|
@@ -2519,10 +1246,14 @@ declare function assembleDeck(spec: unknown, pages: Record<string, PageContent>)
|
|
|
2519
1246
|
* written *to* the IR in the first place, so there is nothing here to read
|
|
2520
1247
|
* back:
|
|
2521
1248
|
*
|
|
2522
|
-
* - `
|
|
2523
|
-
*
|
|
2524
|
-
*
|
|
2525
|
-
*
|
|
1249
|
+
* - `focus` never appears on any produced {@link PageSpec} — it is a
|
|
1250
|
+
* spec-only authoring anchor with no corresponding `Slide` field at all
|
|
1251
|
+
* (see {@link assembleDeck} step 5's doc comment). Nothing here could
|
|
1252
|
+
* recover a value that was never written anywhere. `beat` used to share
|
|
1253
|
+
* this fate but no longer does (P1 variety wave, task 1): it is now a
|
|
1254
|
+
* plain passthrough on both sides, exactly like `layout`/`heading` below —
|
|
1255
|
+
* `assembleDeck` step 5/6 reads `pageSpec.beat` into `slide.beat`, this
|
|
1256
|
+
* function reads `slide.beat` straight back below.
|
|
2526
1257
|
* - `summary` is recovered *only* for a placeholder slide, by reversing
|
|
2527
1258
|
* step 4's `summary` → `subheading` injection (`slide.subheading` back to
|
|
2528
1259
|
* `pageSpec.summary`). A non-placeholder slide's own `subheading` — a
|
|
@@ -2727,4 +1458,4 @@ declare function auditDeck(ir: PptxIR, opts: {
|
|
|
2727
1458
|
pixels: true;
|
|
2728
1459
|
}): Promise<AuditReport>;
|
|
2729
1460
|
|
|
2730
|
-
export { AUDIENCE_VALUES, type AssembleResult, type
|
|
1461
|
+
export { AUDIENCE_VALUES, type AssembleResult, type Audience, type AuditChecks, type AuditDeckOptions, type AuditFinding, type AuditReport, BackgroundSpec, BrandConfig, Component, DEFAULT_NARRATIVE, type DeckSpec, DeckSpecSchema, NARRATIVE_PRESETS, type NarrativePreset, type NarrativeProfile, PACING_BUDGETS, PACING_VALUES, type Pacing, type PacingBudget, type PageBeat, type PageContent, type PageSpec, PageSpecSchema, type PageSpecType, PptxIR, type PptxIRV3, PptxIRV3Schema, SPEC_PAGE_COUNT_RANGE, STRATEGY_DEFINITIONS, STRATEGY_VALUES, Slide, type SpecValidateResult, type SpecValidationIssue, type Strategy, type StrategyDefinition, type ThemeDefinition, type ThemeRegistration, assembleDeck, auditDeck, disassembleDeck, formatSpecIssues, generatePptx, getInstalledThemeIds, getThemeDefinition, migrateDeckPlanToSpec, migrateIrV3ToV4, registerTheme, renderSlideSvg, resolveNarrative, resolveSpecThemeId, specJsonSchema, validateSpec };
|