@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
|
@@ -0,0 +1,1423 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const VERSION = "0.7.0";
|
|
4
|
+
|
|
5
|
+
/** Error class thrown by pptfast's public API surface (validation, rendering, export). */
|
|
6
|
+
declare class PptfastError extends Error {
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare const BUILTIN_THEME_IDS: readonly ["consulting", "enterprise", "academic", "insight", "campaign", "bloom", "classroom", "ink", "tech", "runway", "journal", "luxe", "heritage"];
|
|
10
|
+
declare const BackgroundSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"color">;
|
|
12
|
+
value: z.ZodString;
|
|
13
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14
|
+
kind: z.ZodLiteral<"gradient">;
|
|
15
|
+
from: z.ZodString;
|
|
16
|
+
to: z.ZodString;
|
|
17
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
18
|
+
tb: "tb";
|
|
19
|
+
lr: "lr";
|
|
20
|
+
diagonal: "diagonal";
|
|
21
|
+
}>>;
|
|
22
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
23
|
+
kind: z.ZodLiteral<"asset">;
|
|
24
|
+
asset_id: z.ZodString;
|
|
25
|
+
overlay: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
color: z.ZodString;
|
|
27
|
+
opacity: z.ZodNumber;
|
|
28
|
+
}, z.core.$strict>>;
|
|
29
|
+
fit: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
cover: "cover";
|
|
31
|
+
contain: "contain";
|
|
32
|
+
}>>;
|
|
33
|
+
}, z.core.$strict>], "kind">;
|
|
34
|
+
/**
|
|
35
|
+
* Style-token override (theme.style): deep-partial palette/fonts/shape
|
|
36
|
+
* merged over the built-in theme (see themes/index.ts resolveStyle). Scope is
|
|
37
|
+
* deliberately palette-level (spec §11): no defaultBackgrounds or manifest
|
|
38
|
+
* overrides. gapScale range mirrors the documented sane range in
|
|
39
|
+
* themes/tokens.ts StyleShape.
|
|
40
|
+
*/
|
|
41
|
+
declare const StyleOverrideSchema: z.ZodObject<{
|
|
42
|
+
colors: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
bg: z.ZodOptional<z.ZodString>;
|
|
44
|
+
surface: z.ZodOptional<z.ZodString>;
|
|
45
|
+
panel: z.ZodOptional<z.ZodString>;
|
|
46
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
47
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
48
|
+
text: z.ZodOptional<z.ZodString>;
|
|
49
|
+
muted: z.ZodOptional<z.ZodString>;
|
|
50
|
+
border: z.ZodOptional<z.ZodString>;
|
|
51
|
+
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
52
|
+
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
53
|
+
cardStroke: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strict>>;
|
|
55
|
+
fonts: z.ZodOptional<z.ZodObject<{
|
|
56
|
+
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
57
|
+
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
58
|
+
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
59
|
+
}, z.core.$strict>>;
|
|
60
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
61
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
63
|
+
}, z.core.$strict>>;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
type StyleOverride = z.infer<typeof StyleOverrideSchema>;
|
|
66
|
+
/**
|
|
67
|
+
* Brand (logical slide-master) config: brand-chrome behavior owned by a theme.
|
|
68
|
+
* W1 scope = exactly the two flags migrated from the old manifest.chrome.
|
|
69
|
+
* Single source of truth — the TS type is inferred, never hand-written.
|
|
70
|
+
*/
|
|
71
|
+
declare const BrandConfigSchema: z.ZodObject<{
|
|
72
|
+
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
73
|
+
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
74
|
+
}, z.core.$strict>;
|
|
75
|
+
type BrandConfig = z.infer<typeof BrandConfigSchema>;
|
|
76
|
+
declare const ThemeSchema: z.ZodObject<{
|
|
77
|
+
id: z.ZodDefault<z.ZodString>;
|
|
78
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
79
|
+
colors: z.ZodOptional<z.ZodObject<{
|
|
80
|
+
bg: z.ZodOptional<z.ZodString>;
|
|
81
|
+
surface: z.ZodOptional<z.ZodString>;
|
|
82
|
+
panel: z.ZodOptional<z.ZodString>;
|
|
83
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
84
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
85
|
+
text: z.ZodOptional<z.ZodString>;
|
|
86
|
+
muted: z.ZodOptional<z.ZodString>;
|
|
87
|
+
border: z.ZodOptional<z.ZodString>;
|
|
88
|
+
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
89
|
+
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
90
|
+
cardStroke: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, z.core.$strict>>;
|
|
92
|
+
fonts: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
94
|
+
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
95
|
+
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
96
|
+
}, z.core.$strict>>;
|
|
97
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
98
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
}, z.core.$strict>>;
|
|
101
|
+
}, z.core.$strict>>;
|
|
102
|
+
brand: z.ZodOptional<z.ZodObject<{
|
|
103
|
+
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
104
|
+
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
+
}, z.core.$strict>>;
|
|
106
|
+
}, z.core.$strict>;
|
|
107
|
+
declare const MetaSchema: z.ZodObject<{
|
|
108
|
+
organization: z.ZodOptional<z.ZodString>;
|
|
109
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
110
|
+
name: z.ZodString;
|
|
111
|
+
role: z.ZodOptional<z.ZodString>;
|
|
112
|
+
org: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, z.core.$strict>>>;
|
|
114
|
+
date: z.ZodOptional<z.ZodString>;
|
|
115
|
+
version: z.ZodOptional<z.ZodString>;
|
|
116
|
+
confidentiality: z.ZodOptional<z.ZodEnum<{
|
|
117
|
+
public: "public";
|
|
118
|
+
internal: "internal";
|
|
119
|
+
confidential: "confidential";
|
|
120
|
+
restricted: "restricted";
|
|
121
|
+
}>>;
|
|
122
|
+
contact: z.ZodOptional<z.ZodObject<{
|
|
123
|
+
name: z.ZodOptional<z.ZodString>;
|
|
124
|
+
email: z.ZodOptional<z.ZodString>;
|
|
125
|
+
phone: z.ZodOptional<z.ZodString>;
|
|
126
|
+
website: z.ZodOptional<z.ZodString>;
|
|
127
|
+
}, z.core.$strict>>;
|
|
128
|
+
copyright: z.ZodOptional<z.ZodString>;
|
|
129
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
130
|
+
transition: z.ZodOptional<z.ZodEnum<{
|
|
131
|
+
push: "push";
|
|
132
|
+
fade: "fade";
|
|
133
|
+
wipe: "wipe";
|
|
134
|
+
none: "none";
|
|
135
|
+
}>>;
|
|
136
|
+
elements: z.ZodOptional<z.ZodEnum<{
|
|
137
|
+
none: "none";
|
|
138
|
+
auto: "auto";
|
|
139
|
+
}>>;
|
|
140
|
+
}, z.core.$strict>>;
|
|
141
|
+
}, z.core.$strict>;
|
|
142
|
+
declare const AssetsSchema: z.ZodObject<{
|
|
143
|
+
images: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
144
|
+
src: z.ZodString;
|
|
145
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
146
|
+
error: z.ZodOptional<z.ZodString>;
|
|
147
|
+
}, z.core.$strict>>>;
|
|
148
|
+
}, z.core.$strict>;
|
|
149
|
+
declare const ComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
150
|
+
type: z.ZodLiteral<"bullets">;
|
|
151
|
+
items: z.ZodArray<z.ZodString>;
|
|
152
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
153
|
+
default: "default";
|
|
154
|
+
checklist: "checklist";
|
|
155
|
+
numbered: "numbered";
|
|
156
|
+
plain: "plain";
|
|
157
|
+
divided: "divided";
|
|
158
|
+
}>>;
|
|
159
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
160
|
+
type: z.ZodLiteral<"paragraph">;
|
|
161
|
+
text: z.ZodString;
|
|
162
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
163
|
+
type: z.ZodLiteral<"quote">;
|
|
164
|
+
text: z.ZodString;
|
|
165
|
+
attribution: z.ZodOptional<z.ZodString>;
|
|
166
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
167
|
+
type: z.ZodLiteral<"callout">;
|
|
168
|
+
variant: z.ZodEnum<{
|
|
169
|
+
info: "info";
|
|
170
|
+
warn: "warn";
|
|
171
|
+
tip: "tip";
|
|
172
|
+
}>;
|
|
173
|
+
text: z.ZodString;
|
|
174
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
175
|
+
[x: string]: string;
|
|
176
|
+
}>>;
|
|
177
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
178
|
+
type: z.ZodLiteral<"code">;
|
|
179
|
+
language: z.ZodString;
|
|
180
|
+
code: z.ZodString;
|
|
181
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
182
|
+
type: z.ZodLiteral<"kpi_cards">;
|
|
183
|
+
items: z.ZodArray<z.ZodObject<{
|
|
184
|
+
value: z.ZodString;
|
|
185
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
186
|
+
label: z.ZodString;
|
|
187
|
+
delta: z.ZodOptional<z.ZodEnum<{
|
|
188
|
+
flat: "flat";
|
|
189
|
+
up: "up";
|
|
190
|
+
down: "down";
|
|
191
|
+
}>>;
|
|
192
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
193
|
+
[x: string]: string;
|
|
194
|
+
}>>;
|
|
195
|
+
source: z.ZodOptional<z.ZodString>;
|
|
196
|
+
}, z.core.$strict>>;
|
|
197
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
198
|
+
type: z.ZodLiteral<"chart">;
|
|
199
|
+
chart_type: z.ZodEnum<{
|
|
200
|
+
line: "line";
|
|
201
|
+
dumbbell: "dumbbell";
|
|
202
|
+
funnel: "funnel";
|
|
203
|
+
bar: "bar";
|
|
204
|
+
pie: "pie";
|
|
205
|
+
}>;
|
|
206
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
207
|
+
horizontal: "horizontal";
|
|
208
|
+
vertical: "vertical";
|
|
209
|
+
}>>;
|
|
210
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
211
|
+
donut: "donut";
|
|
212
|
+
}>>;
|
|
213
|
+
axes: z.ZodOptional<z.ZodObject<{
|
|
214
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
215
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
216
|
+
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
217
|
+
}, z.core.$strict>>;
|
|
218
|
+
series: z.ZodArray<z.ZodObject<{
|
|
219
|
+
name: z.ZodString;
|
|
220
|
+
data: z.ZodArray<z.ZodObject<{
|
|
221
|
+
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
222
|
+
y: z.ZodNumber;
|
|
223
|
+
}, z.core.$strict>>;
|
|
224
|
+
}, z.core.$strict>>;
|
|
225
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
226
|
+
type: z.ZodLiteral<"flowchart">;
|
|
227
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
228
|
+
id: z.ZodString;
|
|
229
|
+
label: z.ZodString;
|
|
230
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
231
|
+
rect: "rect";
|
|
232
|
+
diamond: "diamond";
|
|
233
|
+
round: "round";
|
|
234
|
+
}>>;
|
|
235
|
+
}, z.core.$strict>>;
|
|
236
|
+
edges: z.ZodArray<z.ZodObject<{
|
|
237
|
+
from: z.ZodString;
|
|
238
|
+
to: z.ZodString;
|
|
239
|
+
label: z.ZodOptional<z.ZodString>;
|
|
240
|
+
}, z.core.$strict>>;
|
|
241
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
242
|
+
TB: "TB";
|
|
243
|
+
TD: "TD";
|
|
244
|
+
BT: "BT";
|
|
245
|
+
LR: "LR";
|
|
246
|
+
RL: "RL";
|
|
247
|
+
}>>;
|
|
248
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
249
|
+
type: z.ZodLiteral<"architecture">;
|
|
250
|
+
layers: z.ZodArray<z.ZodObject<{
|
|
251
|
+
title: z.ZodString;
|
|
252
|
+
items: z.ZodArray<z.ZodString>;
|
|
253
|
+
}, z.core.$strict>>;
|
|
254
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
255
|
+
type: z.ZodLiteral<"timeline">;
|
|
256
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
257
|
+
horizontal: "horizontal";
|
|
258
|
+
vertical: "vertical";
|
|
259
|
+
}>>;
|
|
260
|
+
milestones: z.ZodArray<z.ZodObject<{
|
|
261
|
+
date: z.ZodString;
|
|
262
|
+
title: z.ZodString;
|
|
263
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
264
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
265
|
+
}, z.core.$strict>>;
|
|
266
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
267
|
+
type: z.ZodLiteral<"comparison">;
|
|
268
|
+
columns: z.ZodArray<z.ZodString>;
|
|
269
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
270
|
+
label: z.ZodString;
|
|
271
|
+
cells: z.ZodArray<z.ZodString>;
|
|
272
|
+
}, z.core.$strict>>;
|
|
273
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
274
|
+
type: z.ZodLiteral<"icon_cards">;
|
|
275
|
+
items: z.ZodArray<z.ZodObject<{
|
|
276
|
+
icon: z.ZodEnum<{
|
|
277
|
+
[x: string]: string;
|
|
278
|
+
}>;
|
|
279
|
+
title: z.ZodString;
|
|
280
|
+
text: z.ZodString;
|
|
281
|
+
}, z.core.$strict>>;
|
|
282
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
283
|
+
type: z.ZodLiteral<"row_cards">;
|
|
284
|
+
items: z.ZodArray<z.ZodObject<{
|
|
285
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
286
|
+
[x: string]: string;
|
|
287
|
+
}>>;
|
|
288
|
+
title: z.ZodString;
|
|
289
|
+
text: z.ZodOptional<z.ZodString>;
|
|
290
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
291
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
292
|
+
}, z.core.$strict>>;
|
|
293
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
294
|
+
type: z.ZodLiteral<"steps">;
|
|
295
|
+
items: z.ZodArray<z.ZodObject<{
|
|
296
|
+
title: z.ZodString;
|
|
297
|
+
text: z.ZodString;
|
|
298
|
+
}, z.core.$strict>>;
|
|
299
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
300
|
+
type: z.ZodLiteral<"rings">;
|
|
301
|
+
items: z.ZodArray<z.ZodObject<{
|
|
302
|
+
label: z.ZodString;
|
|
303
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
304
|
+
}, z.core.$strict>>;
|
|
305
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
306
|
+
type: z.ZodLiteral<"numbered_cards">;
|
|
307
|
+
items: z.ZodArray<z.ZodObject<{
|
|
308
|
+
title: z.ZodString;
|
|
309
|
+
text: z.ZodOptional<z.ZodString>;
|
|
310
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
311
|
+
}, z.core.$strict>>;
|
|
312
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
313
|
+
type: z.ZodLiteral<"roadmap">;
|
|
314
|
+
items: z.ZodArray<z.ZodObject<{
|
|
315
|
+
title: z.ZodString;
|
|
316
|
+
period: z.ZodOptional<z.ZodString>;
|
|
317
|
+
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
318
|
+
label: z.ZodString;
|
|
319
|
+
value: z.ZodString;
|
|
320
|
+
}, z.core.$strict>>>;
|
|
321
|
+
}, z.core.$strict>>;
|
|
322
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
323
|
+
type: z.ZodLiteral<"matrix">;
|
|
324
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
325
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
326
|
+
cols: z.ZodNumber;
|
|
327
|
+
items: z.ZodArray<z.ZodObject<{
|
|
328
|
+
title: z.ZodString;
|
|
329
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
330
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
331
|
+
info: "info";
|
|
332
|
+
accent: "accent";
|
|
333
|
+
neutral: "neutral";
|
|
334
|
+
}>>;
|
|
335
|
+
}, z.core.$strict>>;
|
|
336
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
337
|
+
type: z.ZodLiteral<"insight_panel">;
|
|
338
|
+
title: z.ZodString;
|
|
339
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
340
|
+
label: z.ZodString;
|
|
341
|
+
text: z.ZodString;
|
|
342
|
+
}, z.core.$strict>>;
|
|
343
|
+
footnote: z.ZodOptional<z.ZodString>;
|
|
344
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
345
|
+
type: z.ZodLiteral<"verdict_banner">;
|
|
346
|
+
text: z.ZodString;
|
|
347
|
+
tone: z.ZodEnum<{
|
|
348
|
+
neutral: "neutral";
|
|
349
|
+
positive: "positive";
|
|
350
|
+
warning: "warning";
|
|
351
|
+
}>;
|
|
352
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
353
|
+
[x: string]: string;
|
|
354
|
+
}>>;
|
|
355
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
356
|
+
type: z.ZodLiteral<"citation">;
|
|
357
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
358
|
+
label: z.ZodString;
|
|
359
|
+
url: z.ZodOptional<z.ZodString>;
|
|
360
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
361
|
+
}, z.core.$strict>>;
|
|
362
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
363
|
+
type: z.ZodLiteral<"image">;
|
|
364
|
+
asset_id: z.ZodString;
|
|
365
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
366
|
+
fit: z.ZodDefault<z.ZodEnum<{
|
|
367
|
+
cover: "cover";
|
|
368
|
+
contain: "contain";
|
|
369
|
+
}>>;
|
|
370
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
371
|
+
type: z.ZodLiteral<"image_grid">;
|
|
372
|
+
items: z.ZodArray<z.ZodObject<{
|
|
373
|
+
asset_id: z.ZodString;
|
|
374
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
375
|
+
}, z.core.$strict>>;
|
|
376
|
+
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
377
|
+
none: "none";
|
|
378
|
+
first: "first";
|
|
379
|
+
}>>;
|
|
380
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
381
|
+
type: z.ZodLiteral<"image_compare">;
|
|
382
|
+
left: z.ZodObject<{
|
|
383
|
+
asset_id: z.ZodString;
|
|
384
|
+
label: z.ZodString;
|
|
385
|
+
}, z.core.$strict>;
|
|
386
|
+
right: z.ZodObject<{
|
|
387
|
+
asset_id: z.ZodString;
|
|
388
|
+
label: z.ZodString;
|
|
389
|
+
}, z.core.$strict>;
|
|
390
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
391
|
+
vs: "vs";
|
|
392
|
+
before_after: "before_after";
|
|
393
|
+
}>>;
|
|
394
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
395
|
+
type: z.ZodLiteral<"swot">;
|
|
396
|
+
strengths: z.ZodArray<z.ZodString>;
|
|
397
|
+
weaknesses: z.ZodArray<z.ZodString>;
|
|
398
|
+
opportunities: z.ZodArray<z.ZodString>;
|
|
399
|
+
threats: z.ZodArray<z.ZodString>;
|
|
400
|
+
labels: z.ZodOptional<z.ZodObject<{
|
|
401
|
+
strengths: z.ZodOptional<z.ZodString>;
|
|
402
|
+
weaknesses: z.ZodOptional<z.ZodString>;
|
|
403
|
+
opportunities: z.ZodOptional<z.ZodString>;
|
|
404
|
+
threats: z.ZodOptional<z.ZodString>;
|
|
405
|
+
}, z.core.$strict>>;
|
|
406
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
407
|
+
type: z.ZodLiteral<"bmc">;
|
|
408
|
+
key_partners: z.ZodArray<z.ZodString>;
|
|
409
|
+
key_activities: z.ZodArray<z.ZodString>;
|
|
410
|
+
key_resources: z.ZodArray<z.ZodString>;
|
|
411
|
+
value_propositions: z.ZodArray<z.ZodString>;
|
|
412
|
+
customer_relationships: z.ZodArray<z.ZodString>;
|
|
413
|
+
channels: z.ZodArray<z.ZodString>;
|
|
414
|
+
customer_segments: z.ZodArray<z.ZodString>;
|
|
415
|
+
cost_structure: z.ZodArray<z.ZodString>;
|
|
416
|
+
revenue_streams: z.ZodArray<z.ZodString>;
|
|
417
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
418
|
+
type: z.ZodLiteral<"waterfall">;
|
|
419
|
+
items: z.ZodArray<z.ZodObject<{
|
|
420
|
+
label: z.ZodString;
|
|
421
|
+
value: z.ZodNumber;
|
|
422
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
423
|
+
delta: "delta";
|
|
424
|
+
total: "total";
|
|
425
|
+
}>>;
|
|
426
|
+
}, z.core.$strict>>;
|
|
427
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
428
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
429
|
+
type: z.ZodLiteral<"gantt">;
|
|
430
|
+
items: z.ZodArray<z.ZodObject<{
|
|
431
|
+
label: z.ZodString;
|
|
432
|
+
start: z.ZodNumber;
|
|
433
|
+
end: z.ZodNumber;
|
|
434
|
+
}, z.core.$strict>>;
|
|
435
|
+
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
436
|
+
}, z.core.$strict>], "type">;
|
|
437
|
+
/**
|
|
438
|
+
* All 28 component `type` discriminant values, derived from `ComponentSchema`
|
|
439
|
+
* itself (never hand-copied) so this list can't drift from the union above.
|
|
440
|
+
* Typed as plain `readonly string[]` rather than `Component["type"][]` —
|
|
441
|
+
* every consumer of this list (W5's plan `focus` vocabulary gate,
|
|
442
|
+
* `src/plan/index.ts`) tests membership of an arbitrary author-supplied
|
|
443
|
+
* string, and TS's `Array.includes` is invariant in its element type, so a
|
|
444
|
+
* narrower literal-union type would reject that call at the caller.
|
|
445
|
+
*/
|
|
446
|
+
declare const COMPONENT_TYPES: readonly string[];
|
|
447
|
+
declare const SlideSchema: z.ZodObject<{
|
|
448
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
449
|
+
cover: "cover";
|
|
450
|
+
chapter: "chapter";
|
|
451
|
+
content: "content";
|
|
452
|
+
ending: "ending";
|
|
453
|
+
}>>;
|
|
454
|
+
id: z.ZodOptional<z.ZodString>;
|
|
455
|
+
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
456
|
+
layout: z.ZodOptional<z.ZodString>;
|
|
457
|
+
beat: z.ZodOptional<z.ZodEnum<{
|
|
458
|
+
anchor: "anchor";
|
|
459
|
+
dense: "dense";
|
|
460
|
+
breathing: "breathing";
|
|
461
|
+
}>>;
|
|
462
|
+
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
463
|
+
code: "code";
|
|
464
|
+
quote: "quote";
|
|
465
|
+
single: "single";
|
|
466
|
+
two_column: "two_column";
|
|
467
|
+
kpi_focus: "kpi_focus";
|
|
468
|
+
image_focus: "image_focus";
|
|
469
|
+
big_number: "big_number";
|
|
470
|
+
assertion_evidence: "assertion_evidence";
|
|
471
|
+
aside: "aside";
|
|
472
|
+
}>>;
|
|
473
|
+
heading: z.ZodOptional<z.ZodString>;
|
|
474
|
+
subheading: z.ZodOptional<z.ZodString>;
|
|
475
|
+
components: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
476
|
+
type: z.ZodLiteral<"bullets">;
|
|
477
|
+
items: z.ZodArray<z.ZodString>;
|
|
478
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
479
|
+
default: "default";
|
|
480
|
+
checklist: "checklist";
|
|
481
|
+
numbered: "numbered";
|
|
482
|
+
plain: "plain";
|
|
483
|
+
divided: "divided";
|
|
484
|
+
}>>;
|
|
485
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
486
|
+
type: z.ZodLiteral<"paragraph">;
|
|
487
|
+
text: z.ZodString;
|
|
488
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
489
|
+
type: z.ZodLiteral<"quote">;
|
|
490
|
+
text: z.ZodString;
|
|
491
|
+
attribution: z.ZodOptional<z.ZodString>;
|
|
492
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
493
|
+
type: z.ZodLiteral<"callout">;
|
|
494
|
+
variant: z.ZodEnum<{
|
|
495
|
+
info: "info";
|
|
496
|
+
warn: "warn";
|
|
497
|
+
tip: "tip";
|
|
498
|
+
}>;
|
|
499
|
+
text: z.ZodString;
|
|
500
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
501
|
+
[x: string]: string;
|
|
502
|
+
}>>;
|
|
503
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
504
|
+
type: z.ZodLiteral<"code">;
|
|
505
|
+
language: z.ZodString;
|
|
506
|
+
code: z.ZodString;
|
|
507
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
508
|
+
type: z.ZodLiteral<"kpi_cards">;
|
|
509
|
+
items: z.ZodArray<z.ZodObject<{
|
|
510
|
+
value: z.ZodString;
|
|
511
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
512
|
+
label: z.ZodString;
|
|
513
|
+
delta: z.ZodOptional<z.ZodEnum<{
|
|
514
|
+
flat: "flat";
|
|
515
|
+
up: "up";
|
|
516
|
+
down: "down";
|
|
517
|
+
}>>;
|
|
518
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
519
|
+
[x: string]: string;
|
|
520
|
+
}>>;
|
|
521
|
+
source: z.ZodOptional<z.ZodString>;
|
|
522
|
+
}, z.core.$strict>>;
|
|
523
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
524
|
+
type: z.ZodLiteral<"chart">;
|
|
525
|
+
chart_type: z.ZodEnum<{
|
|
526
|
+
line: "line";
|
|
527
|
+
dumbbell: "dumbbell";
|
|
528
|
+
funnel: "funnel";
|
|
529
|
+
bar: "bar";
|
|
530
|
+
pie: "pie";
|
|
531
|
+
}>;
|
|
532
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
533
|
+
horizontal: "horizontal";
|
|
534
|
+
vertical: "vertical";
|
|
535
|
+
}>>;
|
|
536
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
537
|
+
donut: "donut";
|
|
538
|
+
}>>;
|
|
539
|
+
axes: z.ZodOptional<z.ZodObject<{
|
|
540
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
541
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
542
|
+
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
543
|
+
}, z.core.$strict>>;
|
|
544
|
+
series: z.ZodArray<z.ZodObject<{
|
|
545
|
+
name: z.ZodString;
|
|
546
|
+
data: z.ZodArray<z.ZodObject<{
|
|
547
|
+
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
548
|
+
y: z.ZodNumber;
|
|
549
|
+
}, z.core.$strict>>;
|
|
550
|
+
}, z.core.$strict>>;
|
|
551
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
552
|
+
type: z.ZodLiteral<"flowchart">;
|
|
553
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
554
|
+
id: z.ZodString;
|
|
555
|
+
label: z.ZodString;
|
|
556
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
557
|
+
rect: "rect";
|
|
558
|
+
diamond: "diamond";
|
|
559
|
+
round: "round";
|
|
560
|
+
}>>;
|
|
561
|
+
}, z.core.$strict>>;
|
|
562
|
+
edges: z.ZodArray<z.ZodObject<{
|
|
563
|
+
from: z.ZodString;
|
|
564
|
+
to: z.ZodString;
|
|
565
|
+
label: z.ZodOptional<z.ZodString>;
|
|
566
|
+
}, z.core.$strict>>;
|
|
567
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
568
|
+
TB: "TB";
|
|
569
|
+
TD: "TD";
|
|
570
|
+
BT: "BT";
|
|
571
|
+
LR: "LR";
|
|
572
|
+
RL: "RL";
|
|
573
|
+
}>>;
|
|
574
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
575
|
+
type: z.ZodLiteral<"architecture">;
|
|
576
|
+
layers: z.ZodArray<z.ZodObject<{
|
|
577
|
+
title: z.ZodString;
|
|
578
|
+
items: z.ZodArray<z.ZodString>;
|
|
579
|
+
}, z.core.$strict>>;
|
|
580
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
581
|
+
type: z.ZodLiteral<"timeline">;
|
|
582
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
583
|
+
horizontal: "horizontal";
|
|
584
|
+
vertical: "vertical";
|
|
585
|
+
}>>;
|
|
586
|
+
milestones: z.ZodArray<z.ZodObject<{
|
|
587
|
+
date: z.ZodString;
|
|
588
|
+
title: z.ZodString;
|
|
589
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
590
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
591
|
+
}, z.core.$strict>>;
|
|
592
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
593
|
+
type: z.ZodLiteral<"comparison">;
|
|
594
|
+
columns: z.ZodArray<z.ZodString>;
|
|
595
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
596
|
+
label: z.ZodString;
|
|
597
|
+
cells: z.ZodArray<z.ZodString>;
|
|
598
|
+
}, z.core.$strict>>;
|
|
599
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
600
|
+
type: z.ZodLiteral<"icon_cards">;
|
|
601
|
+
items: z.ZodArray<z.ZodObject<{
|
|
602
|
+
icon: z.ZodEnum<{
|
|
603
|
+
[x: string]: string;
|
|
604
|
+
}>;
|
|
605
|
+
title: z.ZodString;
|
|
606
|
+
text: z.ZodString;
|
|
607
|
+
}, z.core.$strict>>;
|
|
608
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
609
|
+
type: z.ZodLiteral<"row_cards">;
|
|
610
|
+
items: z.ZodArray<z.ZodObject<{
|
|
611
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
612
|
+
[x: string]: string;
|
|
613
|
+
}>>;
|
|
614
|
+
title: z.ZodString;
|
|
615
|
+
text: z.ZodOptional<z.ZodString>;
|
|
616
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
617
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
618
|
+
}, z.core.$strict>>;
|
|
619
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
620
|
+
type: z.ZodLiteral<"steps">;
|
|
621
|
+
items: z.ZodArray<z.ZodObject<{
|
|
622
|
+
title: z.ZodString;
|
|
623
|
+
text: z.ZodString;
|
|
624
|
+
}, z.core.$strict>>;
|
|
625
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
626
|
+
type: z.ZodLiteral<"rings">;
|
|
627
|
+
items: z.ZodArray<z.ZodObject<{
|
|
628
|
+
label: z.ZodString;
|
|
629
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
630
|
+
}, z.core.$strict>>;
|
|
631
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
632
|
+
type: z.ZodLiteral<"numbered_cards">;
|
|
633
|
+
items: z.ZodArray<z.ZodObject<{
|
|
634
|
+
title: z.ZodString;
|
|
635
|
+
text: z.ZodOptional<z.ZodString>;
|
|
636
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
637
|
+
}, z.core.$strict>>;
|
|
638
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
639
|
+
type: z.ZodLiteral<"roadmap">;
|
|
640
|
+
items: z.ZodArray<z.ZodObject<{
|
|
641
|
+
title: z.ZodString;
|
|
642
|
+
period: z.ZodOptional<z.ZodString>;
|
|
643
|
+
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
644
|
+
label: z.ZodString;
|
|
645
|
+
value: z.ZodString;
|
|
646
|
+
}, z.core.$strict>>>;
|
|
647
|
+
}, z.core.$strict>>;
|
|
648
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
649
|
+
type: z.ZodLiteral<"matrix">;
|
|
650
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
651
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
652
|
+
cols: z.ZodNumber;
|
|
653
|
+
items: z.ZodArray<z.ZodObject<{
|
|
654
|
+
title: z.ZodString;
|
|
655
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
656
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
657
|
+
info: "info";
|
|
658
|
+
accent: "accent";
|
|
659
|
+
neutral: "neutral";
|
|
660
|
+
}>>;
|
|
661
|
+
}, z.core.$strict>>;
|
|
662
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
663
|
+
type: z.ZodLiteral<"insight_panel">;
|
|
664
|
+
title: z.ZodString;
|
|
665
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
666
|
+
label: z.ZodString;
|
|
667
|
+
text: z.ZodString;
|
|
668
|
+
}, z.core.$strict>>;
|
|
669
|
+
footnote: z.ZodOptional<z.ZodString>;
|
|
670
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
671
|
+
type: z.ZodLiteral<"verdict_banner">;
|
|
672
|
+
text: z.ZodString;
|
|
673
|
+
tone: z.ZodEnum<{
|
|
674
|
+
neutral: "neutral";
|
|
675
|
+
positive: "positive";
|
|
676
|
+
warning: "warning";
|
|
677
|
+
}>;
|
|
678
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
679
|
+
[x: string]: string;
|
|
680
|
+
}>>;
|
|
681
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
682
|
+
type: z.ZodLiteral<"citation">;
|
|
683
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
684
|
+
label: z.ZodString;
|
|
685
|
+
url: z.ZodOptional<z.ZodString>;
|
|
686
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
687
|
+
}, z.core.$strict>>;
|
|
688
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
689
|
+
type: z.ZodLiteral<"image">;
|
|
690
|
+
asset_id: z.ZodString;
|
|
691
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
692
|
+
fit: z.ZodDefault<z.ZodEnum<{
|
|
693
|
+
cover: "cover";
|
|
694
|
+
contain: "contain";
|
|
695
|
+
}>>;
|
|
696
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
697
|
+
type: z.ZodLiteral<"image_grid">;
|
|
698
|
+
items: z.ZodArray<z.ZodObject<{
|
|
699
|
+
asset_id: z.ZodString;
|
|
700
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
701
|
+
}, z.core.$strict>>;
|
|
702
|
+
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
703
|
+
none: "none";
|
|
704
|
+
first: "first";
|
|
705
|
+
}>>;
|
|
706
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
707
|
+
type: z.ZodLiteral<"image_compare">;
|
|
708
|
+
left: z.ZodObject<{
|
|
709
|
+
asset_id: z.ZodString;
|
|
710
|
+
label: z.ZodString;
|
|
711
|
+
}, z.core.$strict>;
|
|
712
|
+
right: z.ZodObject<{
|
|
713
|
+
asset_id: z.ZodString;
|
|
714
|
+
label: z.ZodString;
|
|
715
|
+
}, z.core.$strict>;
|
|
716
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
717
|
+
vs: "vs";
|
|
718
|
+
before_after: "before_after";
|
|
719
|
+
}>>;
|
|
720
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
721
|
+
type: z.ZodLiteral<"swot">;
|
|
722
|
+
strengths: z.ZodArray<z.ZodString>;
|
|
723
|
+
weaknesses: z.ZodArray<z.ZodString>;
|
|
724
|
+
opportunities: z.ZodArray<z.ZodString>;
|
|
725
|
+
threats: z.ZodArray<z.ZodString>;
|
|
726
|
+
labels: z.ZodOptional<z.ZodObject<{
|
|
727
|
+
strengths: z.ZodOptional<z.ZodString>;
|
|
728
|
+
weaknesses: z.ZodOptional<z.ZodString>;
|
|
729
|
+
opportunities: z.ZodOptional<z.ZodString>;
|
|
730
|
+
threats: z.ZodOptional<z.ZodString>;
|
|
731
|
+
}, z.core.$strict>>;
|
|
732
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
733
|
+
type: z.ZodLiteral<"bmc">;
|
|
734
|
+
key_partners: z.ZodArray<z.ZodString>;
|
|
735
|
+
key_activities: z.ZodArray<z.ZodString>;
|
|
736
|
+
key_resources: z.ZodArray<z.ZodString>;
|
|
737
|
+
value_propositions: z.ZodArray<z.ZodString>;
|
|
738
|
+
customer_relationships: z.ZodArray<z.ZodString>;
|
|
739
|
+
channels: z.ZodArray<z.ZodString>;
|
|
740
|
+
customer_segments: z.ZodArray<z.ZodString>;
|
|
741
|
+
cost_structure: z.ZodArray<z.ZodString>;
|
|
742
|
+
revenue_streams: z.ZodArray<z.ZodString>;
|
|
743
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
744
|
+
type: z.ZodLiteral<"waterfall">;
|
|
745
|
+
items: z.ZodArray<z.ZodObject<{
|
|
746
|
+
label: z.ZodString;
|
|
747
|
+
value: z.ZodNumber;
|
|
748
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
749
|
+
delta: "delta";
|
|
750
|
+
total: "total";
|
|
751
|
+
}>>;
|
|
752
|
+
}, z.core.$strict>>;
|
|
753
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
754
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
755
|
+
type: z.ZodLiteral<"gantt">;
|
|
756
|
+
items: z.ZodArray<z.ZodObject<{
|
|
757
|
+
label: z.ZodString;
|
|
758
|
+
start: z.ZodNumber;
|
|
759
|
+
end: z.ZodNumber;
|
|
760
|
+
}, z.core.$strict>>;
|
|
761
|
+
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
762
|
+
}, z.core.$strict>], "type">>>;
|
|
763
|
+
background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
764
|
+
kind: z.ZodLiteral<"color">;
|
|
765
|
+
value: z.ZodString;
|
|
766
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
767
|
+
kind: z.ZodLiteral<"gradient">;
|
|
768
|
+
from: z.ZodString;
|
|
769
|
+
to: z.ZodString;
|
|
770
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
771
|
+
tb: "tb";
|
|
772
|
+
lr: "lr";
|
|
773
|
+
diagonal: "diagonal";
|
|
774
|
+
}>>;
|
|
775
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
776
|
+
kind: z.ZodLiteral<"asset">;
|
|
777
|
+
asset_id: z.ZodString;
|
|
778
|
+
overlay: z.ZodOptional<z.ZodObject<{
|
|
779
|
+
color: z.ZodString;
|
|
780
|
+
opacity: z.ZodNumber;
|
|
781
|
+
}, z.core.$strict>>;
|
|
782
|
+
fit: z.ZodOptional<z.ZodEnum<{
|
|
783
|
+
cover: "cover";
|
|
784
|
+
contain: "contain";
|
|
785
|
+
}>>;
|
|
786
|
+
}, z.core.$strict>], "kind">>;
|
|
787
|
+
decor: z.ZodOptional<z.ZodObject<{
|
|
788
|
+
kind: z.ZodEnum<{
|
|
789
|
+
big_number: "big_number";
|
|
790
|
+
corner_tag: "corner_tag";
|
|
791
|
+
rule_line: "rule_line";
|
|
792
|
+
quote_marks: "quote_marks";
|
|
793
|
+
geo_dots: "geo_dots";
|
|
794
|
+
}>;
|
|
795
|
+
intensity: z.ZodOptional<z.ZodEnum<{
|
|
796
|
+
subtle: "subtle";
|
|
797
|
+
normal: "normal";
|
|
798
|
+
}>>;
|
|
799
|
+
text: z.ZodOptional<z.ZodString>;
|
|
800
|
+
}, z.core.$strict>>;
|
|
801
|
+
image_side: z.ZodOptional<z.ZodEnum<{
|
|
802
|
+
left: "left";
|
|
803
|
+
right: "right";
|
|
804
|
+
}>>;
|
|
805
|
+
footnote: z.ZodOptional<z.ZodString>;
|
|
806
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
807
|
+
}, z.core.$strict>;
|
|
808
|
+
declare const PptxIRSchema: z.ZodObject<{
|
|
809
|
+
version: z.ZodDefault<z.ZodLiteral<"4">>;
|
|
810
|
+
filename: z.ZodDefault<z.ZodString>;
|
|
811
|
+
narrative: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
|
|
812
|
+
theme: z.ZodDefault<z.ZodObject<{
|
|
813
|
+
id: z.ZodDefault<z.ZodString>;
|
|
814
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
815
|
+
colors: z.ZodOptional<z.ZodObject<{
|
|
816
|
+
bg: z.ZodOptional<z.ZodString>;
|
|
817
|
+
surface: z.ZodOptional<z.ZodString>;
|
|
818
|
+
panel: z.ZodOptional<z.ZodString>;
|
|
819
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
820
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
821
|
+
text: z.ZodOptional<z.ZodString>;
|
|
822
|
+
muted: z.ZodOptional<z.ZodString>;
|
|
823
|
+
border: z.ZodOptional<z.ZodString>;
|
|
824
|
+
chartPalette: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
825
|
+
accentPool: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
826
|
+
cardStroke: z.ZodOptional<z.ZodString>;
|
|
827
|
+
}, z.core.$strict>>;
|
|
828
|
+
fonts: z.ZodOptional<z.ZodObject<{
|
|
829
|
+
heading: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
830
|
+
body: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
831
|
+
mono: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
832
|
+
}, z.core.$strict>>;
|
|
833
|
+
shape: z.ZodOptional<z.ZodObject<{
|
|
834
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
835
|
+
gapScale: z.ZodOptional<z.ZodNumber>;
|
|
836
|
+
}, z.core.$strict>>;
|
|
837
|
+
}, z.core.$strict>>;
|
|
838
|
+
brand: z.ZodOptional<z.ZodObject<{
|
|
839
|
+
suppressFooterOnCardContent: z.ZodOptional<z.ZodBoolean>;
|
|
840
|
+
suppressFooterRule: z.ZodOptional<z.ZodBoolean>;
|
|
841
|
+
}, z.core.$strict>>;
|
|
842
|
+
}, z.core.$strict>>;
|
|
843
|
+
meta: z.ZodDefault<z.ZodObject<{
|
|
844
|
+
organization: z.ZodOptional<z.ZodString>;
|
|
845
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
846
|
+
name: z.ZodString;
|
|
847
|
+
role: z.ZodOptional<z.ZodString>;
|
|
848
|
+
org: z.ZodOptional<z.ZodString>;
|
|
849
|
+
}, z.core.$strict>>>;
|
|
850
|
+
date: z.ZodOptional<z.ZodString>;
|
|
851
|
+
version: z.ZodOptional<z.ZodString>;
|
|
852
|
+
confidentiality: z.ZodOptional<z.ZodEnum<{
|
|
853
|
+
public: "public";
|
|
854
|
+
internal: "internal";
|
|
855
|
+
confidential: "confidential";
|
|
856
|
+
restricted: "restricted";
|
|
857
|
+
}>>;
|
|
858
|
+
contact: z.ZodOptional<z.ZodObject<{
|
|
859
|
+
name: z.ZodOptional<z.ZodString>;
|
|
860
|
+
email: z.ZodOptional<z.ZodString>;
|
|
861
|
+
phone: z.ZodOptional<z.ZodString>;
|
|
862
|
+
website: z.ZodOptional<z.ZodString>;
|
|
863
|
+
}, z.core.$strict>>;
|
|
864
|
+
copyright: z.ZodOptional<z.ZodString>;
|
|
865
|
+
animation: z.ZodOptional<z.ZodObject<{
|
|
866
|
+
transition: z.ZodOptional<z.ZodEnum<{
|
|
867
|
+
push: "push";
|
|
868
|
+
fade: "fade";
|
|
869
|
+
wipe: "wipe";
|
|
870
|
+
none: "none";
|
|
871
|
+
}>>;
|
|
872
|
+
elements: z.ZodOptional<z.ZodEnum<{
|
|
873
|
+
none: "none";
|
|
874
|
+
auto: "auto";
|
|
875
|
+
}>>;
|
|
876
|
+
}, z.core.$strict>>;
|
|
877
|
+
}, z.core.$strict>>;
|
|
878
|
+
assets: z.ZodDefault<z.ZodObject<{
|
|
879
|
+
images: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
880
|
+
src: z.ZodString;
|
|
881
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
882
|
+
error: z.ZodOptional<z.ZodString>;
|
|
883
|
+
}, z.core.$strict>>>;
|
|
884
|
+
}, z.core.$strict>>;
|
|
885
|
+
brand: z.ZodOptional<z.ZodObject<{
|
|
886
|
+
logo_asset_id: z.ZodOptional<z.ZodString>;
|
|
887
|
+
position: z.ZodOptional<z.ZodEnum<{
|
|
888
|
+
tl: "tl";
|
|
889
|
+
tr: "tr";
|
|
890
|
+
bl: "bl";
|
|
891
|
+
br: "br";
|
|
892
|
+
}>>;
|
|
893
|
+
}, z.core.$strict>>;
|
|
894
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
895
|
+
slides: z.ZodArray<z.ZodObject<{
|
|
896
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
897
|
+
cover: "cover";
|
|
898
|
+
chapter: "chapter";
|
|
899
|
+
content: "content";
|
|
900
|
+
ending: "ending";
|
|
901
|
+
}>>;
|
|
902
|
+
id: z.ZodOptional<z.ZodString>;
|
|
903
|
+
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
904
|
+
layout: z.ZodOptional<z.ZodString>;
|
|
905
|
+
beat: z.ZodOptional<z.ZodEnum<{
|
|
906
|
+
anchor: "anchor";
|
|
907
|
+
dense: "dense";
|
|
908
|
+
breathing: "breathing";
|
|
909
|
+
}>>;
|
|
910
|
+
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
911
|
+
code: "code";
|
|
912
|
+
quote: "quote";
|
|
913
|
+
single: "single";
|
|
914
|
+
two_column: "two_column";
|
|
915
|
+
kpi_focus: "kpi_focus";
|
|
916
|
+
image_focus: "image_focus";
|
|
917
|
+
big_number: "big_number";
|
|
918
|
+
assertion_evidence: "assertion_evidence";
|
|
919
|
+
aside: "aside";
|
|
920
|
+
}>>;
|
|
921
|
+
heading: z.ZodOptional<z.ZodString>;
|
|
922
|
+
subheading: z.ZodOptional<z.ZodString>;
|
|
923
|
+
components: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
924
|
+
type: z.ZodLiteral<"bullets">;
|
|
925
|
+
items: z.ZodArray<z.ZodString>;
|
|
926
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
927
|
+
default: "default";
|
|
928
|
+
checklist: "checklist";
|
|
929
|
+
numbered: "numbered";
|
|
930
|
+
plain: "plain";
|
|
931
|
+
divided: "divided";
|
|
932
|
+
}>>;
|
|
933
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
934
|
+
type: z.ZodLiteral<"paragraph">;
|
|
935
|
+
text: z.ZodString;
|
|
936
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
937
|
+
type: z.ZodLiteral<"quote">;
|
|
938
|
+
text: z.ZodString;
|
|
939
|
+
attribution: z.ZodOptional<z.ZodString>;
|
|
940
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
941
|
+
type: z.ZodLiteral<"callout">;
|
|
942
|
+
variant: z.ZodEnum<{
|
|
943
|
+
info: "info";
|
|
944
|
+
warn: "warn";
|
|
945
|
+
tip: "tip";
|
|
946
|
+
}>;
|
|
947
|
+
text: z.ZodString;
|
|
948
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
949
|
+
[x: string]: string;
|
|
950
|
+
}>>;
|
|
951
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
952
|
+
type: z.ZodLiteral<"code">;
|
|
953
|
+
language: z.ZodString;
|
|
954
|
+
code: z.ZodString;
|
|
955
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
956
|
+
type: z.ZodLiteral<"kpi_cards">;
|
|
957
|
+
items: z.ZodArray<z.ZodObject<{
|
|
958
|
+
value: z.ZodString;
|
|
959
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
960
|
+
label: z.ZodString;
|
|
961
|
+
delta: z.ZodOptional<z.ZodEnum<{
|
|
962
|
+
flat: "flat";
|
|
963
|
+
up: "up";
|
|
964
|
+
down: "down";
|
|
965
|
+
}>>;
|
|
966
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
967
|
+
[x: string]: string;
|
|
968
|
+
}>>;
|
|
969
|
+
source: z.ZodOptional<z.ZodString>;
|
|
970
|
+
}, z.core.$strict>>;
|
|
971
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
972
|
+
type: z.ZodLiteral<"chart">;
|
|
973
|
+
chart_type: z.ZodEnum<{
|
|
974
|
+
line: "line";
|
|
975
|
+
dumbbell: "dumbbell";
|
|
976
|
+
funnel: "funnel";
|
|
977
|
+
bar: "bar";
|
|
978
|
+
pie: "pie";
|
|
979
|
+
}>;
|
|
980
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
981
|
+
horizontal: "horizontal";
|
|
982
|
+
vertical: "vertical";
|
|
983
|
+
}>>;
|
|
984
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
985
|
+
donut: "donut";
|
|
986
|
+
}>>;
|
|
987
|
+
axes: z.ZodOptional<z.ZodObject<{
|
|
988
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
989
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
990
|
+
show_grid: z.ZodOptional<z.ZodBoolean>;
|
|
991
|
+
}, z.core.$strict>>;
|
|
992
|
+
series: z.ZodArray<z.ZodObject<{
|
|
993
|
+
name: z.ZodString;
|
|
994
|
+
data: z.ZodArray<z.ZodObject<{
|
|
995
|
+
x: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
996
|
+
y: z.ZodNumber;
|
|
997
|
+
}, z.core.$strict>>;
|
|
998
|
+
}, z.core.$strict>>;
|
|
999
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1000
|
+
type: z.ZodLiteral<"flowchart">;
|
|
1001
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
1002
|
+
id: z.ZodString;
|
|
1003
|
+
label: z.ZodString;
|
|
1004
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
1005
|
+
rect: "rect";
|
|
1006
|
+
diamond: "diamond";
|
|
1007
|
+
round: "round";
|
|
1008
|
+
}>>;
|
|
1009
|
+
}, z.core.$strict>>;
|
|
1010
|
+
edges: z.ZodArray<z.ZodObject<{
|
|
1011
|
+
from: z.ZodString;
|
|
1012
|
+
to: z.ZodString;
|
|
1013
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1014
|
+
}, z.core.$strict>>;
|
|
1015
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
1016
|
+
TB: "TB";
|
|
1017
|
+
TD: "TD";
|
|
1018
|
+
BT: "BT";
|
|
1019
|
+
LR: "LR";
|
|
1020
|
+
RL: "RL";
|
|
1021
|
+
}>>;
|
|
1022
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1023
|
+
type: z.ZodLiteral<"architecture">;
|
|
1024
|
+
layers: z.ZodArray<z.ZodObject<{
|
|
1025
|
+
title: z.ZodString;
|
|
1026
|
+
items: z.ZodArray<z.ZodString>;
|
|
1027
|
+
}, z.core.$strict>>;
|
|
1028
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1029
|
+
type: z.ZodLiteral<"timeline">;
|
|
1030
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
1031
|
+
horizontal: "horizontal";
|
|
1032
|
+
vertical: "vertical";
|
|
1033
|
+
}>>;
|
|
1034
|
+
milestones: z.ZodArray<z.ZodObject<{
|
|
1035
|
+
date: z.ZodString;
|
|
1036
|
+
title: z.ZodString;
|
|
1037
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
1038
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
1039
|
+
}, z.core.$strict>>;
|
|
1040
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1041
|
+
type: z.ZodLiteral<"comparison">;
|
|
1042
|
+
columns: z.ZodArray<z.ZodString>;
|
|
1043
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
1044
|
+
label: z.ZodString;
|
|
1045
|
+
cells: z.ZodArray<z.ZodString>;
|
|
1046
|
+
}, z.core.$strict>>;
|
|
1047
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1048
|
+
type: z.ZodLiteral<"icon_cards">;
|
|
1049
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1050
|
+
icon: z.ZodEnum<{
|
|
1051
|
+
[x: string]: string;
|
|
1052
|
+
}>;
|
|
1053
|
+
title: z.ZodString;
|
|
1054
|
+
text: z.ZodString;
|
|
1055
|
+
}, z.core.$strict>>;
|
|
1056
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1057
|
+
type: z.ZodLiteral<"row_cards">;
|
|
1058
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1059
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
1060
|
+
[x: string]: string;
|
|
1061
|
+
}>>;
|
|
1062
|
+
title: z.ZodString;
|
|
1063
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1064
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
1065
|
+
highlight: z.ZodOptional<z.ZodBoolean>;
|
|
1066
|
+
}, z.core.$strict>>;
|
|
1067
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1068
|
+
type: z.ZodLiteral<"steps">;
|
|
1069
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1070
|
+
title: z.ZodString;
|
|
1071
|
+
text: z.ZodString;
|
|
1072
|
+
}, z.core.$strict>>;
|
|
1073
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1074
|
+
type: z.ZodLiteral<"rings">;
|
|
1075
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1076
|
+
label: z.ZodString;
|
|
1077
|
+
desc: z.ZodOptional<z.ZodString>;
|
|
1078
|
+
}, z.core.$strict>>;
|
|
1079
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1080
|
+
type: z.ZodLiteral<"numbered_cards">;
|
|
1081
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1082
|
+
title: z.ZodString;
|
|
1083
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1084
|
+
sub: z.ZodOptional<z.ZodString>;
|
|
1085
|
+
}, z.core.$strict>>;
|
|
1086
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1087
|
+
type: z.ZodLiteral<"roadmap">;
|
|
1088
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1089
|
+
title: z.ZodString;
|
|
1090
|
+
period: z.ZodOptional<z.ZodString>;
|
|
1091
|
+
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1092
|
+
label: z.ZodString;
|
|
1093
|
+
value: z.ZodString;
|
|
1094
|
+
}, z.core.$strict>>>;
|
|
1095
|
+
}, z.core.$strict>>;
|
|
1096
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1097
|
+
type: z.ZodLiteral<"matrix">;
|
|
1098
|
+
x_title: z.ZodOptional<z.ZodString>;
|
|
1099
|
+
y_title: z.ZodOptional<z.ZodString>;
|
|
1100
|
+
cols: z.ZodNumber;
|
|
1101
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1102
|
+
title: z.ZodString;
|
|
1103
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
1104
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
1105
|
+
info: "info";
|
|
1106
|
+
accent: "accent";
|
|
1107
|
+
neutral: "neutral";
|
|
1108
|
+
}>>;
|
|
1109
|
+
}, z.core.$strict>>;
|
|
1110
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1111
|
+
type: z.ZodLiteral<"insight_panel">;
|
|
1112
|
+
title: z.ZodString;
|
|
1113
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
1114
|
+
label: z.ZodString;
|
|
1115
|
+
text: z.ZodString;
|
|
1116
|
+
}, z.core.$strict>>;
|
|
1117
|
+
footnote: z.ZodOptional<z.ZodString>;
|
|
1118
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1119
|
+
type: z.ZodLiteral<"verdict_banner">;
|
|
1120
|
+
text: z.ZodString;
|
|
1121
|
+
tone: z.ZodEnum<{
|
|
1122
|
+
neutral: "neutral";
|
|
1123
|
+
positive: "positive";
|
|
1124
|
+
warning: "warning";
|
|
1125
|
+
}>;
|
|
1126
|
+
icon: z.ZodOptional<z.ZodEnum<{
|
|
1127
|
+
[x: string]: string;
|
|
1128
|
+
}>>;
|
|
1129
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1130
|
+
type: z.ZodLiteral<"citation">;
|
|
1131
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
1132
|
+
label: z.ZodString;
|
|
1133
|
+
url: z.ZodOptional<z.ZodString>;
|
|
1134
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
1135
|
+
}, z.core.$strict>>;
|
|
1136
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1137
|
+
type: z.ZodLiteral<"image">;
|
|
1138
|
+
asset_id: z.ZodString;
|
|
1139
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
1140
|
+
fit: z.ZodDefault<z.ZodEnum<{
|
|
1141
|
+
cover: "cover";
|
|
1142
|
+
contain: "contain";
|
|
1143
|
+
}>>;
|
|
1144
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1145
|
+
type: z.ZodLiteral<"image_grid">;
|
|
1146
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1147
|
+
asset_id: z.ZodString;
|
|
1148
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
1149
|
+
}, z.core.$strict>>;
|
|
1150
|
+
emphasis: z.ZodOptional<z.ZodEnum<{
|
|
1151
|
+
none: "none";
|
|
1152
|
+
first: "first";
|
|
1153
|
+
}>>;
|
|
1154
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1155
|
+
type: z.ZodLiteral<"image_compare">;
|
|
1156
|
+
left: z.ZodObject<{
|
|
1157
|
+
asset_id: z.ZodString;
|
|
1158
|
+
label: z.ZodString;
|
|
1159
|
+
}, z.core.$strict>;
|
|
1160
|
+
right: z.ZodObject<{
|
|
1161
|
+
asset_id: z.ZodString;
|
|
1162
|
+
label: z.ZodString;
|
|
1163
|
+
}, z.core.$strict>;
|
|
1164
|
+
style: z.ZodOptional<z.ZodEnum<{
|
|
1165
|
+
vs: "vs";
|
|
1166
|
+
before_after: "before_after";
|
|
1167
|
+
}>>;
|
|
1168
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1169
|
+
type: z.ZodLiteral<"swot">;
|
|
1170
|
+
strengths: z.ZodArray<z.ZodString>;
|
|
1171
|
+
weaknesses: z.ZodArray<z.ZodString>;
|
|
1172
|
+
opportunities: z.ZodArray<z.ZodString>;
|
|
1173
|
+
threats: z.ZodArray<z.ZodString>;
|
|
1174
|
+
labels: z.ZodOptional<z.ZodObject<{
|
|
1175
|
+
strengths: z.ZodOptional<z.ZodString>;
|
|
1176
|
+
weaknesses: z.ZodOptional<z.ZodString>;
|
|
1177
|
+
opportunities: z.ZodOptional<z.ZodString>;
|
|
1178
|
+
threats: z.ZodOptional<z.ZodString>;
|
|
1179
|
+
}, z.core.$strict>>;
|
|
1180
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1181
|
+
type: z.ZodLiteral<"bmc">;
|
|
1182
|
+
key_partners: z.ZodArray<z.ZodString>;
|
|
1183
|
+
key_activities: z.ZodArray<z.ZodString>;
|
|
1184
|
+
key_resources: z.ZodArray<z.ZodString>;
|
|
1185
|
+
value_propositions: z.ZodArray<z.ZodString>;
|
|
1186
|
+
customer_relationships: z.ZodArray<z.ZodString>;
|
|
1187
|
+
channels: z.ZodArray<z.ZodString>;
|
|
1188
|
+
customer_segments: z.ZodArray<z.ZodString>;
|
|
1189
|
+
cost_structure: z.ZodArray<z.ZodString>;
|
|
1190
|
+
revenue_streams: z.ZodArray<z.ZodString>;
|
|
1191
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1192
|
+
type: z.ZodLiteral<"waterfall">;
|
|
1193
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1194
|
+
label: z.ZodString;
|
|
1195
|
+
value: z.ZodNumber;
|
|
1196
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
1197
|
+
delta: "delta";
|
|
1198
|
+
total: "total";
|
|
1199
|
+
}>>;
|
|
1200
|
+
}, z.core.$strict>>;
|
|
1201
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
1202
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1203
|
+
type: z.ZodLiteral<"gantt">;
|
|
1204
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1205
|
+
label: z.ZodString;
|
|
1206
|
+
start: z.ZodNumber;
|
|
1207
|
+
end: z.ZodNumber;
|
|
1208
|
+
}, z.core.$strict>>;
|
|
1209
|
+
axis_labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1210
|
+
}, z.core.$strict>], "type">>>;
|
|
1211
|
+
background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1212
|
+
kind: z.ZodLiteral<"color">;
|
|
1213
|
+
value: z.ZodString;
|
|
1214
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1215
|
+
kind: z.ZodLiteral<"gradient">;
|
|
1216
|
+
from: z.ZodString;
|
|
1217
|
+
to: z.ZodString;
|
|
1218
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
1219
|
+
tb: "tb";
|
|
1220
|
+
lr: "lr";
|
|
1221
|
+
diagonal: "diagonal";
|
|
1222
|
+
}>>;
|
|
1223
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1224
|
+
kind: z.ZodLiteral<"asset">;
|
|
1225
|
+
asset_id: z.ZodString;
|
|
1226
|
+
overlay: z.ZodOptional<z.ZodObject<{
|
|
1227
|
+
color: z.ZodString;
|
|
1228
|
+
opacity: z.ZodNumber;
|
|
1229
|
+
}, z.core.$strict>>;
|
|
1230
|
+
fit: z.ZodOptional<z.ZodEnum<{
|
|
1231
|
+
cover: "cover";
|
|
1232
|
+
contain: "contain";
|
|
1233
|
+
}>>;
|
|
1234
|
+
}, z.core.$strict>], "kind">>;
|
|
1235
|
+
decor: z.ZodOptional<z.ZodObject<{
|
|
1236
|
+
kind: z.ZodEnum<{
|
|
1237
|
+
big_number: "big_number";
|
|
1238
|
+
corner_tag: "corner_tag";
|
|
1239
|
+
rule_line: "rule_line";
|
|
1240
|
+
quote_marks: "quote_marks";
|
|
1241
|
+
geo_dots: "geo_dots";
|
|
1242
|
+
}>;
|
|
1243
|
+
intensity: z.ZodOptional<z.ZodEnum<{
|
|
1244
|
+
subtle: "subtle";
|
|
1245
|
+
normal: "normal";
|
|
1246
|
+
}>>;
|
|
1247
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1248
|
+
}, z.core.$strict>>;
|
|
1249
|
+
image_side: z.ZodOptional<z.ZodEnum<{
|
|
1250
|
+
left: "left";
|
|
1251
|
+
right: "right";
|
|
1252
|
+
}>>;
|
|
1253
|
+
footnote: z.ZodOptional<z.ZodString>;
|
|
1254
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
1255
|
+
}, z.core.$strict>>;
|
|
1256
|
+
}, z.core.$strict>;
|
|
1257
|
+
type PptxIR = z.infer<typeof PptxIRSchema>;
|
|
1258
|
+
type Component = z.infer<typeof ComponentSchema>;
|
|
1259
|
+
type BackgroundSpec = z.infer<typeof BackgroundSpecSchema>;
|
|
1260
|
+
type Slide = z.infer<typeof SlideSchema>;
|
|
1261
|
+
type Assets = z.infer<typeof AssetsSchema>;
|
|
1262
|
+
type Meta = z.infer<typeof MetaSchema>;
|
|
1263
|
+
|
|
1264
|
+
interface ValidationIssue {
|
|
1265
|
+
path: string;
|
|
1266
|
+
message: string;
|
|
1267
|
+
/** 1-based slide number when the issue is scoped to a slide. */
|
|
1268
|
+
page?: number;
|
|
1269
|
+
/**
|
|
1270
|
+
* The offending slide's own `id` (`Slide.id`, `ir/index.ts`) — W5
|
|
1271
|
+
* whole-branch review finding 2: the README already claimed "validation
|
|
1272
|
+
* error messages reference [a slide] by [its] id"; this is what makes
|
|
1273
|
+
* that true. Set by every page-scoped issue producer
|
|
1274
|
+
* ({@link checkLayoutApplicability}, {@link checkBoundaryPageContent},
|
|
1275
|
+
* the content-quality-gate translation in {@link validateIr},
|
|
1276
|
+
* {@link checkDuplicateSlideIds})
|
|
1277
|
+
* when the slide in question has an `id` — absent when the slide has
|
|
1278
|
+
* none (bare, pre-W5 IR) or the issue is deck-level, not scoped to any
|
|
1279
|
+
* single slide. {@link formatIssues} appends it in parens after the page
|
|
1280
|
+
* number.
|
|
1281
|
+
*/
|
|
1282
|
+
slideId?: string;
|
|
1283
|
+
}
|
|
1284
|
+
interface ValidateResult {
|
|
1285
|
+
ok: boolean;
|
|
1286
|
+
ir?: PptxIR;
|
|
1287
|
+
errors: ValidationIssue[];
|
|
1288
|
+
/**
|
|
1289
|
+
* Human-readable "`path`: `alias` → `canonical`" entries for every
|
|
1290
|
+
* deterministic field-alias rewrite `validateIr` applied before parsing
|
|
1291
|
+
* (W5 task 4, `ir/field-aliases.ts`'s `normalizeComponentAliases`) — e.g. a
|
|
1292
|
+
* kpi item's `title` silently adopted as `label`. Present only when at
|
|
1293
|
+
* least one rewrite happened; informational, never gates `ok` on its own.
|
|
1294
|
+
*/
|
|
1295
|
+
normalized?: string[];
|
|
1296
|
+
/**
|
|
1297
|
+
* Backward-compatible addition (borrow wave, Task 2 — dual-threshold
|
|
1298
|
+
* severity recalibration): warn-severity {@link checkIrQuality} findings
|
|
1299
|
+
* (editorial-budget codes — `missing_heading`/`long_heading`/`density`/
|
|
1300
|
+
* `bullets_overflow`/`bullet_item_long`/`big_number_no_kpi`) plus
|
|
1301
|
+
* {@link checkAssetReferences}'s dangling-`asset_id` findings (borrow wave,
|
|
1302
|
+
* Task 2, B5 — a reference to an `assets.images` key that doesn't exist),
|
|
1303
|
+
* formatted the same shape {@link formatIssues} already prints for `errors`
|
|
1304
|
+
* (page/id/path all included). Present only when at least one warn-severity
|
|
1305
|
+
* finding exists, and never gates `ok` on its own — that is exactly what
|
|
1306
|
+
* moved these findings off `errors` and onto here. Can be present alongside
|
|
1307
|
+
* a failing (`ok:false`) result too, whenever `checkIrQuality`/
|
|
1308
|
+
* `checkAssetReferences` themselves ran (an *earlier* hard gate — schema,
|
|
1309
|
+
* theme id, layout applicability, full-body exclusivity, boundary-page
|
|
1310
|
+
* content, duplicate ids, asset bytes, narrative — short-circuits before
|
|
1311
|
+
* either runs at all, so a deck rejected by one of those never reaches
|
|
1312
|
+
* this field either way, see `validateIr`'s own body for the exact gate
|
|
1313
|
+
* order). {@link formatWarnings} renders this array as CLI-ready
|
|
1314
|
+
* `"warning: ..."` lines.
|
|
1315
|
+
*/
|
|
1316
|
+
warnings?: ValidationIssue[];
|
|
1317
|
+
}
|
|
1318
|
+
/**
|
|
1319
|
+
* Validate raw JSON against the IR schema, then — once it parses — resolve
|
|
1320
|
+
* `narrative` (`resolveNarrative`, spec §5: an unrecognized preset name is a
|
|
1321
|
+
* `narrative`-path error, page-less) and run the content-quality gate
|
|
1322
|
+
* (`checkIrQuality`, passed the resolved axes) against the parsed IR. Every
|
|
1323
|
+
* hard-gate stage (schema, theme id, layout applicability, full-body
|
|
1324
|
+
* exclusivity, boundary-page content, duplicate ids, asset bytes, narrative)
|
|
1325
|
+
* must pass for `ok: true`, same as before. Quality findings are reported
|
|
1326
|
+
* the same way as schema errors (page-scoped, 1-based).
|
|
1327
|
+
*
|
|
1328
|
+
* Dual-threshold severity (borrow wave, Task 2 — recalibrated from the prior
|
|
1329
|
+
* "any finding blocks" design): `checkIrQuality`'s own "warn" vs "error" tag
|
|
1330
|
+
* is now respected, not flattened. Only "error"-severity findings
|
|
1331
|
+
* (`empty_deck`, `bullet_item_overflow` — content genuinely lost: an empty
|
|
1332
|
+
* deck, or a bullet item long enough to hit `bullets.tsx`'s MIN_FONT floor
|
|
1333
|
+
* and actually get truncated) gate `ok`. "warn"-severity findings — the
|
|
1334
|
+
* editorial-budget codes (`missing_heading`/`long_heading`/`density`/
|
|
1335
|
+
* `bullets_overflow`/`bullet_item_long`/`big_number_no_kpi`) — surface on
|
|
1336
|
+
* {@link ValidateResult.warnings} instead: visible to every caller (the SDK,
|
|
1337
|
+
* the CLI's `validate`/`render` pre-flight), never blocking. This reverses
|
|
1338
|
+
* the prior posture (this comment used to read "any finding blocks... not
|
|
1339
|
+
* only 'error'-severity ones") because the evidence behind it did not hold:
|
|
1340
|
+
* a boundary scan (borrow-wave fact-report, Q3) found the editorial bullets
|
|
1341
|
+
* threshold blocking content roughly 3.5x below where `bullets.tsx`'s own
|
|
1342
|
+
* render safety net (2-line wrap, shrink to a 14px floor) actually starts
|
|
1343
|
+
* losing characters — so the hard gate was rejecting deck content that
|
|
1344
|
+
* would have rendered with zero visible defect, and a tight hard gate on an
|
|
1345
|
+
* editorial (not geometric) threshold taught truncate-content-to-pass
|
|
1346
|
+
* workarounds rather than catching real loss. `generatePptx`'s default path
|
|
1347
|
+
* inherits this unchanged (`if (!v.ok) throw`) — it already only ever
|
|
1348
|
+
* blocked on `ok`, never inspected `errors`/`warnings` directly.
|
|
1349
|
+
*
|
|
1350
|
+
* Before any of that, one deterministic alias pass runs
|
|
1351
|
+
* ({@link normalizeComponentAliases}, W5 task 4) for the component
|
|
1352
|
+
* field-name synonym rescue only (kpi `title`→`label`, quote
|
|
1353
|
+
* `content`→`text`, …) — a weak-model rescue for schema-internal synonym
|
|
1354
|
+
* drift, scoped to `slides[]`. It only rewrites where the canonical key is
|
|
1355
|
+
* absent, so the schema parse below never sees an alias as an "unrecognized
|
|
1356
|
+
* key" in the first place. Purely informational: every rewrite is recorded
|
|
1357
|
+
* as a human-readable `path: alias → canonical` string and threaded onto
|
|
1358
|
+
* `ValidateResult.normalized` on *every* return path below via
|
|
1359
|
+
* `withNormalized`, success or failure alike — it never itself gates `ok`.
|
|
1360
|
+
*
|
|
1361
|
+
* There is deliberately no root/narrative-level alias pass (spec §16,
|
|
1362
|
+
* reversing the now-superseded §15.4): a v4 document that still spells its
|
|
1363
|
+
* pre-rename vocabulary — `scenario` instead of `narrative`, `mode`/
|
|
1364
|
+
* `delivery` instead of `strategy`/`pacing`, or the old enum values
|
|
1365
|
+
* `"text"`/`"presentation"`/`"narrative"` — is not old-vocabulary
|
|
1366
|
+
* *compatibility*, it is exactly the vocabulary this rename retired, so it
|
|
1367
|
+
* hard-errors like any other unknown key or value: `scenario` fails the
|
|
1368
|
+
* schema's `.strict()` parse below as an unrecognized key, and an old enum
|
|
1369
|
+
* value (or the axis-key names `mode`/`delivery` inside `narrative`, which
|
|
1370
|
+
* the schema itself leaves open) fails `resolveNarrative`'s own runtime
|
|
1371
|
+
* check, listing the current values. `pptfast migrate` (`ir/migrate.ts`)
|
|
1372
|
+
* remains the sanctioned bridge for a genuine v3 document — see the v3 hard
|
|
1373
|
+
* reject below, which points there. Hard-erroring is not the same as
|
|
1374
|
+
* leaving the error message unhelpful, though: the schema-parse branch below
|
|
1375
|
+
* appends a rename hint to `scenario` and the rest of the documented v2/v3
|
|
1376
|
+
* rename map (`blocks`/`variant`/`theme.override` — `./ir/rename-hints.ts`,
|
|
1377
|
+
* borrow-wave task 3) whenever the offending key matches one, and a generic
|
|
1378
|
+
* "belongs inside components[]" hint for any other slide-level unrecognized
|
|
1379
|
+
* key — message-layer annotation only, never a second, silent rewrite path
|
|
1380
|
+
* alongside {@link normalizeComponentAliases}.
|
|
1381
|
+
*
|
|
1382
|
+
* The component-alias pass only ever runs for a document already headed for
|
|
1383
|
+
* the v4 schema — an explicit `version: "2"` or `version: "3"` is
|
|
1384
|
+
* hard-rejected first, below, before the alias pass or any schema parse
|
|
1385
|
+
* (spec §9.3: a v2/v3 document is never silently reinterpreted as v4).
|
|
1386
|
+
*/
|
|
1387
|
+
declare function validateIr(input: unknown): ValidateResult;
|
|
1388
|
+
/**
|
|
1389
|
+
* `"page 2 (p-kpi) — path: message"` when the issue carries both a `page`
|
|
1390
|
+
* and a `slideId` (W5 whole-branch review finding 2 — the README's own
|
|
1391
|
+
* claim that a validation error "references [a slide] by [its] id", made
|
|
1392
|
+
* true) — the parenthesized id is appended only alongside a `page` number,
|
|
1393
|
+
* never on its own: a deck-level issue that happens to set a representative
|
|
1394
|
+
* `slideId` with no `page` ({@link checkDuplicateSlideIds} above) keeps its
|
|
1395
|
+
* pre-existing, unchanged format. Every other combination — `page` with no
|
|
1396
|
+
* `slideId` (an id-less slide), or neither — is byte-identical to before
|
|
1397
|
+
* this task.
|
|
1398
|
+
*/
|
|
1399
|
+
declare function formatIssues(errors: ValidationIssue[]): string;
|
|
1400
|
+
/**
|
|
1401
|
+
* `"warning: page 2 (p-kpi) — path: message"` per {@link ValidateResult.warnings}
|
|
1402
|
+
* entry (borrow wave, Task 2) — the CLI warn-line convention: `pptfast
|
|
1403
|
+
* validate`/`render` print one of these per warn-severity finding, exit 0
|
|
1404
|
+
* regardless (only `errors` drives the exit code — see `cli/commands.ts`'s
|
|
1405
|
+
* `runValidate`/`runRender`). Formats each issue alone through
|
|
1406
|
+
* {@link formatIssues} and prefixes the result rather than duplicating its
|
|
1407
|
+
* page/id/path shape — a warning line is byte-identical to an error line
|
|
1408
|
+
* past the leading label.
|
|
1409
|
+
*/
|
|
1410
|
+
declare function formatWarnings(warnings: ValidationIssue[]): string;
|
|
1411
|
+
interface ThemeInfo {
|
|
1412
|
+
id: string;
|
|
1413
|
+
label: string;
|
|
1414
|
+
colors: Record<string, unknown>;
|
|
1415
|
+
}
|
|
1416
|
+
/** Built-in theme catalog with labels and style color tokens. */
|
|
1417
|
+
declare function listThemes(): ThemeInfo[];
|
|
1418
|
+
/** JSON Schema for the IR — feed this to a model before it writes IR. */
|
|
1419
|
+
declare function irJsonSchema(): Record<string, unknown>;
|
|
1420
|
+
/** JSON Schema for style-token overrides (IR theme.style, --style files, config "style"). */
|
|
1421
|
+
declare function styleJsonSchema(): Record<string, unknown>;
|
|
1422
|
+
|
|
1423
|
+
export { type Assets, BUILTIN_THEME_IDS, type BackgroundSpec, type BrandConfig, BrandConfigSchema, COMPONENT_TYPES, type Component, type Meta, PptfastError, type PptxIR, PptxIRSchema, type Slide, type StyleOverride, StyleOverrideSchema, type ThemeInfo, ThemeSchema, VERSION, type ValidateResult, type ValidationIssue, formatIssues, formatWarnings, irJsonSchema, listThemes, styleJsonSchema, validateIr };
|