@liustack/pptfast 0.6.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 +23 -1
- package/README.zh-CN.md +23 -1
- package/dist/browser.js +319 -0
- package/dist/{chunk-7V73LHUQ.js → chunk-7B3Y4FZZ.js} +15525 -14254
- package/dist/chunk-7B3Y4FZZ.js.map +1 -0
- package/dist/{chunk-2ZOMS6G3.js → chunk-PGSVXCDR.js} +19 -6
- package/dist/chunk-PGSVXCDR.js.map +1 -0
- package/dist/cli.js +24 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +107 -1411
- package/dist/index.js +2 -2
- package/dist/{pixel-audit-ZRFTV4V7.js → pixel-audit-YHV3VMUW.js} +2 -2
- package/dist/validate.d.ts +1423 -0
- package/dist/validate.js +68 -0
- package/package.json +10 -2
- package/dist/chunk-2ZOMS6G3.js.map +0 -1
- package/dist/chunk-7V73LHUQ.js.map +0 -1
- /package/dist/{pixel-audit-ZRFTV4V7.js.map → pixel-audit-YHV3VMUW.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,1400 +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
|
-
* Backward-compatible addition (borrow wave, Task 2 — dual-threshold
|
|
1289
|
-
* severity recalibration): warn-severity {@link checkIrQuality} findings
|
|
1290
|
-
* (editorial-budget codes — `missing_heading`/`long_heading`/`density`/
|
|
1291
|
-
* `bullets_overflow`/`bullet_item_long`/`big_number_no_kpi`), formatted the
|
|
1292
|
-
* same shape {@link formatIssues} already prints for `errors` (page/id/path
|
|
1293
|
-
* all included). Present only when at least one warn-severity finding
|
|
1294
|
-
* exists, and never gates `ok` on its own — that is exactly what moved
|
|
1295
|
-
* these findings off `errors` and onto here. Can be present alongside a
|
|
1296
|
-
* failing (`ok:false`) result too, whenever `checkIrQuality` itself ran
|
|
1297
|
-
* (an *earlier* hard gate — schema, theme id, layout applicability,
|
|
1298
|
-
* full-body exclusivity, boundary-page content, duplicate ids, narrative —
|
|
1299
|
-
* short-circuits before `checkIrQuality` runs at all, so a deck rejected
|
|
1300
|
-
* by one of those never reaches this field either way, see `validateIr`'s
|
|
1301
|
-
* own body for the exact gate order). {@link formatWarnings} renders this
|
|
1302
|
-
* array as CLI-ready `"warning: ..."` lines.
|
|
1303
|
-
*/
|
|
1304
|
-
warnings?: ValidationIssue[];
|
|
1305
|
-
}
|
|
1306
11
|
/**
|
|
1307
|
-
*
|
|
1308
|
-
*
|
|
1309
|
-
*
|
|
1310
|
-
*
|
|
1311
|
-
*
|
|
1312
|
-
*
|
|
1313
|
-
*
|
|
1314
|
-
* schema errors (page-scoped, 1-based).
|
|
1315
|
-
*
|
|
1316
|
-
* Dual-threshold severity (borrow wave, Task 2 — recalibrated from the prior
|
|
1317
|
-
* "any finding blocks" design): `checkIrQuality`'s own "warn" vs "error" tag
|
|
1318
|
-
* is now respected, not flattened. Only "error"-severity findings
|
|
1319
|
-
* (`empty_deck`, `bullet_item_overflow` — content genuinely lost: an empty
|
|
1320
|
-
* deck, or a bullet item long enough to hit `bullets.tsx`'s MIN_FONT floor
|
|
1321
|
-
* and actually get truncated) gate `ok`. "warn"-severity findings — the
|
|
1322
|
-
* editorial-budget codes (`missing_heading`/`long_heading`/`density`/
|
|
1323
|
-
* `bullets_overflow`/`bullet_item_long`/`big_number_no_kpi`) — surface on
|
|
1324
|
-
* {@link ValidateResult.warnings} instead: visible to every caller (the SDK,
|
|
1325
|
-
* the CLI's `validate`/`render` pre-flight), never blocking. This reverses
|
|
1326
|
-
* the prior posture (this comment used to read "any finding blocks... not
|
|
1327
|
-
* only 'error'-severity ones") because the evidence behind it did not hold:
|
|
1328
|
-
* a boundary scan (borrow-wave fact-report, Q3) found the editorial bullets
|
|
1329
|
-
* threshold blocking content roughly 3.5x below where `bullets.tsx`'s own
|
|
1330
|
-
* render safety net (2-line wrap, shrink to a 14px floor) actually starts
|
|
1331
|
-
* losing characters — so the hard gate was rejecting deck content that
|
|
1332
|
-
* would have rendered with zero visible defect, and a tight hard gate on an
|
|
1333
|
-
* editorial (not geometric) threshold taught truncate-content-to-pass
|
|
1334
|
-
* workarounds rather than catching real loss. `generatePptx`'s default path
|
|
1335
|
-
* inherits this unchanged (`if (!v.ok) throw`) — it already only ever
|
|
1336
|
-
* blocked on `ok`, never inspected `errors`/`warnings` directly.
|
|
1337
|
-
*
|
|
1338
|
-
* Before any of that, one deterministic alias pass runs
|
|
1339
|
-
* ({@link normalizeComponentAliases}, W5 task 4) for the component
|
|
1340
|
-
* field-name synonym rescue only (kpi `title`→`label`, quote
|
|
1341
|
-
* `content`→`text`, …) — a weak-model rescue for schema-internal synonym
|
|
1342
|
-
* drift, scoped to `slides[]`. It only rewrites where the canonical key is
|
|
1343
|
-
* absent, so the schema parse below never sees an alias as an "unrecognized
|
|
1344
|
-
* key" in the first place. Purely informational: every rewrite is recorded
|
|
1345
|
-
* as a human-readable `path: alias → canonical` string and threaded onto
|
|
1346
|
-
* `ValidateResult.normalized` on *every* return path below via
|
|
1347
|
-
* `withNormalized`, success or failure alike — it never itself gates `ok`.
|
|
1348
|
-
*
|
|
1349
|
-
* There is deliberately no root/narrative-level alias pass (spec §16,
|
|
1350
|
-
* reversing the now-superseded §15.4): a v4 document that still spells its
|
|
1351
|
-
* pre-rename vocabulary — `scenario` instead of `narrative`, `mode`/
|
|
1352
|
-
* `delivery` instead of `strategy`/`pacing`, or the old enum values
|
|
1353
|
-
* `"text"`/`"presentation"`/`"narrative"` — is not old-vocabulary
|
|
1354
|
-
* *compatibility*, it is exactly the vocabulary this rename retired, so it
|
|
1355
|
-
* hard-errors like any other unknown key or value: `scenario` fails the
|
|
1356
|
-
* schema's `.strict()` parse below as an unrecognized key, and an old enum
|
|
1357
|
-
* value (or the axis-key names `mode`/`delivery` inside `narrative`, which
|
|
1358
|
-
* the schema itself leaves open) fails `resolveNarrative`'s own runtime
|
|
1359
|
-
* check, listing the current values. `pptfast migrate` (`ir/migrate.ts`)
|
|
1360
|
-
* remains the sanctioned bridge for a genuine v3 document — see the v3 hard
|
|
1361
|
-
* reject below, which points there.
|
|
1362
|
-
*
|
|
1363
|
-
* The component-alias pass only ever runs for a document already headed for
|
|
1364
|
-
* the v4 schema — an explicit `version: "2"` or `version: "3"` is
|
|
1365
|
-
* hard-rejected first, below, before the alias pass or any schema parse
|
|
1366
|
-
* (spec §9.3: a v2/v3 document is never silently reinterpreted as v4).
|
|
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).
|
|
1367
19
|
*/
|
|
1368
|
-
|
|
1369
|
-
/**
|
|
1370
|
-
* `"page 2 (p-kpi) — path: message"` when the issue carries both a `page`
|
|
1371
|
-
* and a `slideId` (W5 whole-branch review finding 2 — the README's own
|
|
1372
|
-
* claim that a validation error "references [a slide] by [its] id", made
|
|
1373
|
-
* true) — the parenthesized id is appended only alongside a `page` number,
|
|
1374
|
-
* never on its own: a deck-level issue that happens to set a representative
|
|
1375
|
-
* `slideId` with no `page` ({@link checkDuplicateSlideIds} above) keeps its
|
|
1376
|
-
* pre-existing, unchanged format. Every other combination — `page` with no
|
|
1377
|
-
* `slideId` (an id-less slide), or neither — is byte-identical to before
|
|
1378
|
-
* this task.
|
|
1379
|
-
*/
|
|
1380
|
-
declare function formatIssues(errors: ValidationIssue[]): string;
|
|
20
|
+
|
|
1381
21
|
/** Render a single slide to standalone SVG markup (preview / self-check). */
|
|
1382
22
|
declare function renderSlideSvg(ir: PptxIR, slideIndex: number): string;
|
|
1383
23
|
/** Full pipeline: validate → SVG → DrawingML → animation patches → pptx bytes. */
|
|
1384
24
|
declare function generatePptx(input: unknown, opts?: {
|
|
1385
25
|
draft?: boolean;
|
|
1386
26
|
}): Promise<Uint8Array>;
|
|
1387
|
-
interface ThemeInfo {
|
|
1388
|
-
id: string;
|
|
1389
|
-
label: string;
|
|
1390
|
-
colors: Record<string, unknown>;
|
|
1391
|
-
}
|
|
1392
|
-
/** Built-in theme catalog with labels and style color tokens. */
|
|
1393
|
-
declare function listThemes(): ThemeInfo[];
|
|
1394
|
-
/** JSON Schema for the IR — feed this to a model before it writes IR. */
|
|
1395
|
-
declare function irJsonSchema(): Record<string, unknown>;
|
|
1396
|
-
/** JSON Schema for style-token overrides (IR theme.style, --style files, config "style"). */
|
|
1397
|
-
declare function styleJsonSchema(): Record<string, unknown>;
|
|
1398
27
|
|
|
1399
28
|
/**
|
|
1400
29
|
* The frozen IR v3 top-level shape (vocabulary-v4 rename, task 1 — spec
|
|
@@ -1475,8 +104,8 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1475
104
|
copyright: z.ZodOptional<z.ZodString>;
|
|
1476
105
|
animation: z.ZodOptional<z.ZodObject<{
|
|
1477
106
|
transition: z.ZodOptional<z.ZodEnum<{
|
|
1478
|
-
fade: "fade";
|
|
1479
107
|
push: "push";
|
|
108
|
+
fade: "fade";
|
|
1480
109
|
wipe: "wipe";
|
|
1481
110
|
none: "none";
|
|
1482
111
|
}>>;
|
|
@@ -1513,6 +142,11 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1513
142
|
id: z.ZodOptional<z.ZodString>;
|
|
1514
143
|
placeholder: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1515
144
|
layout: z.ZodOptional<z.ZodString>;
|
|
145
|
+
beat: z.ZodOptional<z.ZodEnum<{
|
|
146
|
+
anchor: "anchor";
|
|
147
|
+
dense: "dense";
|
|
148
|
+
breathing: "breathing";
|
|
149
|
+
}>>;
|
|
1516
150
|
arrangement: z.ZodOptional<z.ZodEnum<{
|
|
1517
151
|
code: "code";
|
|
1518
152
|
quote: "quote";
|
|
@@ -1565,9 +199,9 @@ declare const PptxIRV3Schema: z.ZodObject<{
|
|
|
1565
199
|
unit: z.ZodOptional<z.ZodString>;
|
|
1566
200
|
label: z.ZodString;
|
|
1567
201
|
delta: z.ZodOptional<z.ZodEnum<{
|
|
202
|
+
flat: "flat";
|
|
1568
203
|
up: "up";
|
|
1569
204
|
down: "down";
|
|
1570
|
-
flat: "flat";
|
|
1571
205
|
}>>;
|
|
1572
206
|
icon: z.ZodOptional<z.ZodEnum<{
|
|
1573
207
|
[x: string]: string;
|
|
@@ -2030,10 +664,6 @@ declare function getInstalledThemeIds(): readonly string[];
|
|
|
2030
664
|
*/
|
|
2031
665
|
declare function getThemeDefinition(id: string): ThemeDefinition;
|
|
2032
666
|
|
|
2033
|
-
declare const STRATEGY_VALUES: readonly ["pyramid", "storytelling", "instructional", "showcase", "briefing"];
|
|
2034
|
-
declare const PACING_VALUES: readonly ["dense", "balanced", "spacious"];
|
|
2035
|
-
declare const AUDIENCE_VALUES: readonly ["executive", "technical", "customer", "public"];
|
|
2036
|
-
|
|
2037
667
|
/**
|
|
2038
668
|
* Narrative argument style (spec §5's five-way strategy classification,
|
|
2039
669
|
* renamed from "mode" — spec §8.1). Each strategy carries a
|
|
@@ -2092,17 +722,68 @@ interface StrategyDefinition {
|
|
|
2092
722
|
* spec `focus` vocabulary gate, so narrowing its meaning here would be a
|
|
2093
723
|
* breaking change to an existing consumer. This field holds only
|
|
2094
724
|
* `LAYOUT_REGISTRY` content-archetype ids (`svg/layouts/registry.ts`'s
|
|
2095
|
-
* `CONTENT_LAYOUTS` keys) — cover/chapter/ending ids never appear in
|
|
2096
|
-
*
|
|
2097
|
-
*
|
|
2098
|
-
*
|
|
2099
|
-
*
|
|
2100
|
-
*
|
|
2101
|
-
*
|
|
2102
|
-
*
|
|
2103
|
-
*
|
|
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.
|
|
2104
744
|
*/
|
|
2105
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
|
+
};
|
|
2106
787
|
/**
|
|
2107
788
|
* Beat template descriptor (spec §5's per-strategy beat-default column,
|
|
2108
789
|
* renamed from "rhythm" — spec §2.3), parameterized by strategy for W5's
|
|
@@ -2256,7 +937,6 @@ declare function resolveNarrative(input: string | Partial<NarrativeProfile> | un
|
|
|
2256
937
|
* silent mismatch.
|
|
2257
938
|
*/
|
|
2258
939
|
declare const PAGE_TYPES: readonly ["cover", "chapter", "content", "ending"];
|
|
2259
|
-
declare const BEAT_VALUES: readonly ["anchor", "dense", "breathing"];
|
|
2260
940
|
type PageSpecType = (typeof PAGE_TYPES)[number];
|
|
2261
941
|
type PageBeat = (typeof BEAT_VALUES)[number];
|
|
2262
942
|
/**
|
|
@@ -2333,8 +1013,8 @@ declare const DeckSpecSchema: z.ZodObject<{
|
|
|
2333
1013
|
copyright: z.ZodOptional<z.ZodString>;
|
|
2334
1014
|
animation: z.ZodOptional<z.ZodObject<{
|
|
2335
1015
|
transition: z.ZodOptional<z.ZodEnum<{
|
|
2336
|
-
fade: "fade";
|
|
2337
1016
|
push: "push";
|
|
1017
|
+
fade: "fade";
|
|
2338
1018
|
wipe: "wipe";
|
|
2339
1019
|
none: "none";
|
|
2340
1020
|
}>>;
|
|
@@ -2509,13 +1189,25 @@ interface AssembleResult {
|
|
|
2509
1189
|
* declared `summary` becomes the placeholder's `subheading` (the one spot
|
|
2510
1190
|
* `summary` — otherwise a spec-only anchor, see step 5 — does reach the
|
|
2511
1191
|
* IR) so a `--draft` preview of an unfilled deck still reads as more than
|
|
2512
|
-
* 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.
|
|
2513
1198
|
* 5. Present pages become a full slide: `id`/`type`/`heading` from the page
|
|
2514
1199
|
* spec (never the content record — see step 2), plus whichever of
|
|
2515
1200
|
* {@link PageContent}'s seven fields the content record actually set.
|
|
2516
|
-
* `beat
|
|
2517
|
-
*
|
|
2518
|
-
*
|
|
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.
|
|
2519
1211
|
* 6. Top-level: `version` is always the literal `"4"` (IR's own version,
|
|
2520
1212
|
* unrelated to the deck spec's own `version: "1"`) — the deck spec's own
|
|
2521
1213
|
* `narrative` field (renamed this task from `scenario`, spec §8.1's
|
|
@@ -2554,10 +1246,14 @@ declare function assembleDeck(spec: unknown, pages: Record<string, PageContent>)
|
|
|
2554
1246
|
* written *to* the IR in the first place, so there is nothing here to read
|
|
2555
1247
|
* back:
|
|
2556
1248
|
*
|
|
2557
|
-
* - `
|
|
2558
|
-
*
|
|
2559
|
-
*
|
|
2560
|
-
*
|
|
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.
|
|
2561
1257
|
* - `summary` is recovered *only* for a placeholder slide, by reversing
|
|
2562
1258
|
* step 4's `summary` → `subheading` injection (`slide.subheading` back to
|
|
2563
1259
|
* `pageSpec.summary`). A non-placeholder slide's own `subheading` — a
|
|
@@ -2762,4 +1458,4 @@ declare function auditDeck(ir: PptxIR, opts: {
|
|
|
2762
1458
|
pixels: true;
|
|
2763
1459
|
}): Promise<AuditReport>;
|
|
2764
1460
|
|
|
2765
|
-
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 };
|