@json-to-office/core-pptx 0.36.0 → 1.2.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/dist/core/expandHighcharts.d.ts +35 -0
- package/dist/core/expandHighcharts.d.ts.map +1 -0
- package/dist/core/finalizePackage.d.ts +39 -0
- package/dist/core/finalizePackage.d.ts.map +1 -0
- package/dist/core/generateFromIr.d.ts +71 -0
- package/dist/core/generateFromIr.d.ts.map +1 -0
- package/dist/core/generationContext.d.ts +2 -10
- package/dist/core/generationContext.d.ts.map +1 -1
- package/dist/core/generationOptions.d.ts +73 -0
- package/dist/core/generationOptions.d.ts.map +1 -0
- package/dist/core/generator.d.ts +18 -78
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/resolveImageLayout.d.ts +23 -0
- package/dist/core/resolveImageLayout.d.ts.map +1 -0
- package/dist/core/structure.d.ts.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4299 -2208
- package/dist/index.js.map +1 -1
- package/dist/ir/compiler.d.ts +41 -0
- package/dist/ir/compiler.d.ts.map +1 -0
- package/dist/ir/debug.d.ts +18 -0
- package/dist/ir/debug.d.ts.map +1 -0
- package/dist/ir/features.d.ts +18 -0
- package/dist/ir/features.d.ts.map +1 -0
- package/dist/ir/index.d.ts +19 -0
- package/dist/ir/index.d.ts.map +1 -0
- package/dist/ir/resources.d.ts +55 -0
- package/dist/ir/resources.d.ts.map +1 -0
- package/dist/ir/types.d.ts +623 -0
- package/dist/ir/types.d.ts.map +1 -0
- package/dist/ir/units.d.ts +66 -0
- package/dist/ir/units.d.ts.map +1 -0
- package/dist/ir/validation.d.ts +19 -0
- package/dist/ir/validation.d.ts.map +1 -0
- package/dist/plugin/createPresentationGenerator.d.ts +7 -1
- package/dist/plugin/createPresentationGenerator.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +7 -1
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/renderers/office-open/emit.d.ts +42 -0
- package/dist/renderers/office-open/emit.d.ts.map +1 -0
- package/dist/renderers/office-open/index.d.ts +25 -0
- package/dist/renderers/office-open/index.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/chart.d.ts +11 -0
- package/dist/renderers/pptxgenjs/chart.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/emit.d.ts +60 -0
- package/dist/renderers/pptxgenjs/emit.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/fills.d.ts +38 -0
- package/dist/renderers/pptxgenjs/fills.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/index.d.ts +22 -0
- package/dist/renderers/pptxgenjs/index.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/packaging.d.ts +51 -0
- package/dist/renderers/pptxgenjs/packaging.d.ts.map +1 -0
- package/dist/{core → renderers/pptxgenjs}/svgRasterFallback.d.ts +1 -1
- package/dist/renderers/pptxgenjs/svgRasterFallback.d.ts.map +1 -0
- package/dist/renderers/pptxgenjs/table.d.ts +19 -0
- package/dist/renderers/pptxgenjs/table.d.ts.map +1 -0
- package/dist/renderers/registry.d.ts +15 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/types.d.ts +36 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +23 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -3
- package/dist/components/chart.d.ts +0 -89
- package/dist/components/chart.d.ts.map +0 -1
- package/dist/components/highcharts.d.ts +0 -9
- package/dist/components/highcharts.d.ts.map +0 -1
- package/dist/components/image.d.ts +0 -35
- package/dist/components/image.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -13
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/shape.d.ts +0 -61
- package/dist/components/shape.d.ts.map +0 -1
- package/dist/components/table.d.ts +0 -48
- package/dist/components/table.d.ts.map +0 -1
- package/dist/components/text.d.ts +0 -76
- package/dist/components/text.d.ts.map +0 -1
- package/dist/core/packagePresentation.d.ts +0 -29
- package/dist/core/packagePresentation.d.ts.map +0 -1
- package/dist/core/render.d.ts +0 -8
- package/dist/core/render.d.ts.map +0 -1
- package/dist/core/svgRasterFallback.d.ts.map +0 -1
- package/dist/core/template.d.ts +0 -10
- package/dist/core/template.d.ts.map +0 -1
- package/dist/utils/fillXml.d.ts +0 -19
- package/dist/utils/fillXml.d.ts.map +0 -1
|
@@ -0,0 +1,623 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PptxIR — the renderer-neutral description of a finished presentation.
|
|
3
|
+
*
|
|
4
|
+
* Everything here is plain data: no PptxGenJS objects, no functions, no raw
|
|
5
|
+
* OOXML, no backend-specific shapes. A renderer adapter is the only thing that
|
|
6
|
+
* turns these nodes into a library call.
|
|
7
|
+
*
|
|
8
|
+
* By the time a document reaches this form, all of the following have already
|
|
9
|
+
* happened upstream (see `docs/architecture/office-renderer-ir.md`):
|
|
10
|
+
*
|
|
11
|
+
* - schema validation and structural conflict checks
|
|
12
|
+
* - custom-component expansion
|
|
13
|
+
* - theme resolution — every colour here is an explicit 6-digit hex
|
|
14
|
+
* - component defaults
|
|
15
|
+
* - font resolution/substitution, including synthesized weight aliases
|
|
16
|
+
* - grid and placeholder layout resolution — every position here is EMU
|
|
17
|
+
* - text parsing
|
|
18
|
+
*
|
|
19
|
+
* Units: EMU for geometry, points for font sizes, degrees for angles,
|
|
20
|
+
* percent (0-100) for transparency, ISO 8601 strings for timestamps.
|
|
21
|
+
*/
|
|
22
|
+
/** English Metric Units per inch. */
|
|
23
|
+
export declare const EMU_PER_INCH = 914400;
|
|
24
|
+
/** English Metric Units per point (72 points per inch). */
|
|
25
|
+
export declare const EMU_PER_POINT: number;
|
|
26
|
+
export declare const PPTX_IR_SCHEMA_VERSION = 1;
|
|
27
|
+
export interface PptxIR {
|
|
28
|
+
schemaVersion: typeof PPTX_IR_SCHEMA_VERSION;
|
|
29
|
+
metadata: PptxIrMetadata;
|
|
30
|
+
size: PptxIrSlideSize;
|
|
31
|
+
theme: PptxIrTheme;
|
|
32
|
+
/** Right-to-left reading order for the whole deck. */
|
|
33
|
+
rtl: boolean;
|
|
34
|
+
/** Deck-wide default proofing language (BCP-47). */
|
|
35
|
+
language?: string;
|
|
36
|
+
/** Deduplicated binary/external assets, in first-use order. */
|
|
37
|
+
resources: PptxIrResource[];
|
|
38
|
+
/** Reusable slide masters compiled from authored templates. */
|
|
39
|
+
masters: PptxIrMaster[];
|
|
40
|
+
slides: PptxIrSlide[];
|
|
41
|
+
}
|
|
42
|
+
export interface PptxIrMetadata {
|
|
43
|
+
title?: string;
|
|
44
|
+
author?: string;
|
|
45
|
+
subject?: string;
|
|
46
|
+
company?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface PptxIrSlideSize {
|
|
49
|
+
widthEmu: number;
|
|
50
|
+
heightEmu: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What survives theme resolution.
|
|
54
|
+
*
|
|
55
|
+
* Colours are already resolved into the elements that use them; the two font
|
|
56
|
+
* families remain because they are set on the presentation itself (the OOXML
|
|
57
|
+
* `<a:fontScheme>` major/minor faces), not per element. `palette` is the
|
|
58
|
+
* resolved colour scheme, kept so an adapter able to emit a real `<a:clrScheme>`
|
|
59
|
+
* can do so.
|
|
60
|
+
*/
|
|
61
|
+
export interface PptxIrTheme {
|
|
62
|
+
name: string;
|
|
63
|
+
headingFont: string;
|
|
64
|
+
bodyFont: string;
|
|
65
|
+
/** Resolved scheme colours, bare uppercase hex, keyed by project-owned slot. */
|
|
66
|
+
palette: Readonly<Record<string, string>>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* An asset referenced by one or more slide elements.
|
|
70
|
+
*
|
|
71
|
+
* `origin` records how the bytes are obtained. Inline sources (base64, raw SVG)
|
|
72
|
+
* are decoded at compile time and carry `bytes` plus a content hash, which is
|
|
73
|
+
* what deduplication and debug snapshots key on. File and remote sources keep
|
|
74
|
+
* their location so the adapter can stream them, exactly as the pipeline did
|
|
75
|
+
* before the IR existed; their identity is the normalised location.
|
|
76
|
+
*/
|
|
77
|
+
export interface PptxIrResource {
|
|
78
|
+
/** Deterministic: `res${n}` in first-use order. */
|
|
79
|
+
id: string;
|
|
80
|
+
kind: 'image';
|
|
81
|
+
origin: PptxIrResourceOrigin;
|
|
82
|
+
/** IANA media type when known, e.g. `image/png`. */
|
|
83
|
+
mediaType?: string;
|
|
84
|
+
/** Intrinsic pixel size, when the compiler probed it. */
|
|
85
|
+
intrinsic?: PptxIrPixelSize;
|
|
86
|
+
}
|
|
87
|
+
export type PptxIrResourceOrigin = PptxIrInlineOrigin | PptxIrFileOrigin | PptxIrRemoteOrigin;
|
|
88
|
+
/** Bytes the compiler already holds (authored base64 or raw SVG markup). */
|
|
89
|
+
export interface PptxIrInlineOrigin {
|
|
90
|
+
kind: 'inline';
|
|
91
|
+
bytes: Uint8Array;
|
|
92
|
+
byteLength: number;
|
|
93
|
+
/** Lowercase hex SHA-256 of `bytes`; the dedup and snapshot identity. */
|
|
94
|
+
sha256: string;
|
|
95
|
+
}
|
|
96
|
+
/** An absolute local path already checked against the allowed roots. */
|
|
97
|
+
export interface PptxIrFileOrigin {
|
|
98
|
+
kind: 'file';
|
|
99
|
+
path: string;
|
|
100
|
+
}
|
|
101
|
+
/** An `http(s)` URL the adapter fetches. */
|
|
102
|
+
export interface PptxIrRemoteOrigin {
|
|
103
|
+
kind: 'remote';
|
|
104
|
+
url: string;
|
|
105
|
+
}
|
|
106
|
+
export interface PptxIrPixelSize {
|
|
107
|
+
widthPx: number;
|
|
108
|
+
heightPx: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Absolute placement on a slide, in EMU, with optional rotation and flips.
|
|
112
|
+
*
|
|
113
|
+
* `autoWidth` / `autoHeight` mark an axis the author did not constrain. The
|
|
114
|
+
* EMU value is still present as a fallback, but a renderer able to size that
|
|
115
|
+
* axis itself — an OOXML table sizes from its columns — should. "Unstated" is
|
|
116
|
+
* information; inventing a number and forgetting that it was invented is how a
|
|
117
|
+
* layout silently stops adapting.
|
|
118
|
+
*/
|
|
119
|
+
export interface PptxIrTransform {
|
|
120
|
+
xEmu: number;
|
|
121
|
+
yEmu: number;
|
|
122
|
+
widthEmu: number;
|
|
123
|
+
heightEmu: number;
|
|
124
|
+
autoWidth?: boolean;
|
|
125
|
+
autoHeight?: boolean;
|
|
126
|
+
/** Clockwise degrees. Omitted means 0. */
|
|
127
|
+
rotationDegrees?: number;
|
|
128
|
+
flipHorizontal?: boolean;
|
|
129
|
+
flipVertical?: boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* A resolved colour: bare uppercase 6-digit hex, never a theme token.
|
|
133
|
+
*
|
|
134
|
+
* `transparency` is 0-100 where 0 is opaque, matching the authoring surface.
|
|
135
|
+
*/
|
|
136
|
+
export interface PptxIrColor {
|
|
137
|
+
hex: string;
|
|
138
|
+
transparency?: number;
|
|
139
|
+
}
|
|
140
|
+
export type PptxIrFill = PptxIrNoFill | PptxIrSolidFill | PptxIrGradientFill | PptxIrPatternFill | PptxIrImageFill;
|
|
141
|
+
export interface PptxIrNoFill {
|
|
142
|
+
kind: 'none';
|
|
143
|
+
}
|
|
144
|
+
export interface PptxIrSolidFill {
|
|
145
|
+
kind: 'solid';
|
|
146
|
+
color: PptxIrColor;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* A gradient described semantically. Each adapter decides how to realise it —
|
|
150
|
+
* PptxGenJS cannot express one directly and splices XML during packaging;
|
|
151
|
+
* another backend may have a first-class API. Neither concern belongs here.
|
|
152
|
+
*/
|
|
153
|
+
export interface PptxIrGradientFill {
|
|
154
|
+
kind: 'gradient';
|
|
155
|
+
gradient: PptxIrGradient;
|
|
156
|
+
}
|
|
157
|
+
export type PptxIrGradient = PptxIrLinearGradient | PptxIrRadialGradient;
|
|
158
|
+
export interface PptxIrLinearGradient {
|
|
159
|
+
type: 'linear';
|
|
160
|
+
/** Degrees, normalised to [0, 360). */
|
|
161
|
+
angleDegrees: number;
|
|
162
|
+
stops: PptxIrGradientStop[];
|
|
163
|
+
}
|
|
164
|
+
export interface PptxIrRadialGradient {
|
|
165
|
+
type: 'radial';
|
|
166
|
+
focus: PptxIrRadialFocus;
|
|
167
|
+
stops: PptxIrGradientStop[];
|
|
168
|
+
}
|
|
169
|
+
export type PptxIrRadialFocus = 'center' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
|
|
170
|
+
export interface PptxIrGradientStop {
|
|
171
|
+
/** Percent along the gradient, 0-100. */
|
|
172
|
+
position: number;
|
|
173
|
+
color: PptxIrColor;
|
|
174
|
+
}
|
|
175
|
+
export interface PptxIrPatternFill {
|
|
176
|
+
kind: 'pattern';
|
|
177
|
+
/** OOXML `prst` preset name, validated at compile time. */
|
|
178
|
+
preset: string;
|
|
179
|
+
foreground: PptxIrColor;
|
|
180
|
+
background: PptxIrColor;
|
|
181
|
+
}
|
|
182
|
+
export interface PptxIrImageFill {
|
|
183
|
+
kind: 'image';
|
|
184
|
+
resourceId: string;
|
|
185
|
+
}
|
|
186
|
+
export interface PptxIrLine {
|
|
187
|
+
color?: PptxIrColor;
|
|
188
|
+
/** Stroke width in points. */
|
|
189
|
+
widthPoints?: number;
|
|
190
|
+
dash?: PptxIrLineDash;
|
|
191
|
+
}
|
|
192
|
+
export type PptxIrLineDash = 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDashDot' | 'sysDashDotDot' | 'sysDot' | 'dot';
|
|
193
|
+
export interface PptxIrShadow {
|
|
194
|
+
type: 'outer' | 'inner' | 'none';
|
|
195
|
+
color: PptxIrColor;
|
|
196
|
+
/** Blur radius in points. */
|
|
197
|
+
blurPoints: number;
|
|
198
|
+
/** Offset distance in points. */
|
|
199
|
+
offsetPoints: number;
|
|
200
|
+
angleDegrees: number;
|
|
201
|
+
/** 0-1, as the authoring surface expresses it. */
|
|
202
|
+
opacity: number;
|
|
203
|
+
}
|
|
204
|
+
export type PptxIrHyperlink = PptxIrExternalHyperlink | PptxIrSlideHyperlink;
|
|
205
|
+
export interface PptxIrExternalHyperlink {
|
|
206
|
+
kind: 'external';
|
|
207
|
+
url: string;
|
|
208
|
+
tooltip?: string;
|
|
209
|
+
}
|
|
210
|
+
/** A jump to another slide, already rebased onto generated slide numbering. */
|
|
211
|
+
export interface PptxIrSlideHyperlink {
|
|
212
|
+
kind: 'slide';
|
|
213
|
+
/** 1-based index into `PptxIR.slides`. */
|
|
214
|
+
slideIndex: number;
|
|
215
|
+
tooltip?: string;
|
|
216
|
+
}
|
|
217
|
+
export type PptxIrHorizontalAlign = 'left' | 'center' | 'right' | 'justify';
|
|
218
|
+
export type PptxIrVerticalAlign = 'top' | 'middle' | 'bottom';
|
|
219
|
+
/**
|
|
220
|
+
* One run of uniformly-formatted text.
|
|
221
|
+
*
|
|
222
|
+
* Every inherited value has already been cascaded down (component props →
|
|
223
|
+
* named style → theme defaults), so a run states its own formatting outright
|
|
224
|
+
* rather than relying on a parent. `fontFamily` is post-substitution and may be
|
|
225
|
+
* a synthesized weight alias such as `Inter Light`.
|
|
226
|
+
*/
|
|
227
|
+
export interface PptxIrTextRun {
|
|
228
|
+
text: string;
|
|
229
|
+
fontFamily: string;
|
|
230
|
+
/** Points. */
|
|
231
|
+
fontSize: number;
|
|
232
|
+
color: PptxIrColor;
|
|
233
|
+
bold?: boolean;
|
|
234
|
+
italic?: boolean;
|
|
235
|
+
strike?: boolean;
|
|
236
|
+
underline?: PptxIrUnderline;
|
|
237
|
+
superscript?: boolean;
|
|
238
|
+
subscript?: boolean;
|
|
239
|
+
/** Points; positive tracks wider. */
|
|
240
|
+
characterSpacing?: number;
|
|
241
|
+
/** BCP-47 proofing language. */
|
|
242
|
+
language?: string;
|
|
243
|
+
/** End this run with a hard line break. */
|
|
244
|
+
breakAfter?: boolean;
|
|
245
|
+
/** Points of space before the paragraph this run starts. */
|
|
246
|
+
spaceBeforePoints?: number;
|
|
247
|
+
/** Points of space after the paragraph this run ends. */
|
|
248
|
+
spaceAfterPoints?: number;
|
|
249
|
+
hyperlink?: PptxIrHyperlink;
|
|
250
|
+
}
|
|
251
|
+
export interface PptxIrUnderline {
|
|
252
|
+
style: string;
|
|
253
|
+
color?: PptxIrColor;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Formatting a text body applies by default.
|
|
257
|
+
*
|
|
258
|
+
* OOXML keeps body-level defaults (`lstStyle`, `endParaRPr`) separate from run
|
|
259
|
+
* properties, and so does this: `PptxIrTextRun` states its own formatting
|
|
260
|
+
* outright — a backend with no body-default concept can render from runs alone
|
|
261
|
+
* — while `defaults` is what an empty paragraph, or a backend that does have
|
|
262
|
+
* the concept, should use.
|
|
263
|
+
*/
|
|
264
|
+
export interface PptxIrRunFormatting {
|
|
265
|
+
fontFamily: string;
|
|
266
|
+
/** Points. */
|
|
267
|
+
fontSize: number;
|
|
268
|
+
color: PptxIrColor;
|
|
269
|
+
bold?: boolean;
|
|
270
|
+
italic?: boolean;
|
|
271
|
+
/** BCP-47 proofing language. */
|
|
272
|
+
language?: string;
|
|
273
|
+
}
|
|
274
|
+
/** Paragraph-level settings shared by every run in a text body. */
|
|
275
|
+
export interface PptxIrTextBodyStyle {
|
|
276
|
+
align?: PptxIrHorizontalAlign;
|
|
277
|
+
verticalAlign: PptxIrVerticalAlign;
|
|
278
|
+
/** Exact line height in points. Mutually exclusive with `lineSpacingMultiple`. */
|
|
279
|
+
lineSpacingPoints?: number;
|
|
280
|
+
/** Line height as a multiple of the font size. */
|
|
281
|
+
lineSpacingMultiple?: number;
|
|
282
|
+
spaceBeforePoints?: number;
|
|
283
|
+
spaceAfterPoints?: number;
|
|
284
|
+
bullet?: PptxIrBullet;
|
|
285
|
+
/**
|
|
286
|
+
* Inset in points: a single value or [top, right, bottom, left].
|
|
287
|
+
*
|
|
288
|
+
* The four-value order is CSS's, which is what the authoring schema states
|
|
289
|
+
* and what the default backend already reads — an adapter that rotates it
|
|
290
|
+
* moves content to the wrong side of the box.
|
|
291
|
+
*
|
|
292
|
+
* Absent means "no inset stated" — the format's own default applies. That is
|
|
293
|
+
* a real distinction: a text box states `0` so it aligns exactly to its
|
|
294
|
+
* position, while a shape leaves it unstated and keeps OOXML's default
|
|
295
|
+
* padding.
|
|
296
|
+
*/
|
|
297
|
+
insetPoints?: number | [number, number, number, number];
|
|
298
|
+
/** Let the shape grow to fit its text instead of clipping. */
|
|
299
|
+
autoFit?: boolean;
|
|
300
|
+
/** Body-level run defaults. */
|
|
301
|
+
defaults: PptxIrRunFormatting;
|
|
302
|
+
}
|
|
303
|
+
export interface PptxIrBullet {
|
|
304
|
+
/**
|
|
305
|
+
* `bullet` for a glyph, `number` for an ordered list, `none` for a paragraph
|
|
306
|
+
* that states it has no bullet.
|
|
307
|
+
*
|
|
308
|
+
* `none` is not the same as leaving `bullet` unset. Unset inherits whatever
|
|
309
|
+
* the list style or the backend's default provides; `none` is the author
|
|
310
|
+
* saying so, and lowers to `<a:buNone/>` — which is what overriding an
|
|
311
|
+
* inherited bullet takes.
|
|
312
|
+
*/
|
|
313
|
+
type: 'bullet' | 'number' | 'none';
|
|
314
|
+
/** Glyph character or numbering style, as OOXML names it. */
|
|
315
|
+
style?: string;
|
|
316
|
+
startAt?: number;
|
|
317
|
+
}
|
|
318
|
+
export type PptxIrElement = PptxIrTextBoxElement | PptxIrShapeElement | PptxIrImageElement | PptxIrTableElement | PptxIrChartElement | PptxIrGroupElement;
|
|
319
|
+
/** Fields every element carries. */
|
|
320
|
+
interface PptxIrElementBase {
|
|
321
|
+
/** Deterministic, path-derived: e.g. `s1.e3`, `s1.e3.g0`. */
|
|
322
|
+
id: string;
|
|
323
|
+
/** IR path for diagnostics: e.g. `slides[0].elements[3]`. */
|
|
324
|
+
path: string;
|
|
325
|
+
transform: PptxIrTransform;
|
|
326
|
+
/** Accessibility description. */
|
|
327
|
+
altText?: string;
|
|
328
|
+
}
|
|
329
|
+
export interface PptxIrTextBoxElement extends PptxIrElementBase {
|
|
330
|
+
kind: 'textBox';
|
|
331
|
+
runs: PptxIrTextRun[];
|
|
332
|
+
style: PptxIrTextBodyStyle;
|
|
333
|
+
fill?: PptxIrFill;
|
|
334
|
+
line?: PptxIrLine;
|
|
335
|
+
shadow?: PptxIrShadow;
|
|
336
|
+
hyperlink?: PptxIrHyperlink;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* A preset-geometry shape, optionally carrying text.
|
|
340
|
+
*
|
|
341
|
+
* `geometry` is a project-owned name (see `PPTX_IR_GEOMETRY`), not a PptxGenJS
|
|
342
|
+
* enum member; adapters map it to whatever their backend calls it.
|
|
343
|
+
*/
|
|
344
|
+
export interface PptxIrShapeElement extends PptxIrElementBase {
|
|
345
|
+
kind: 'shape';
|
|
346
|
+
geometry: PptxIrGeometry;
|
|
347
|
+
fill?: PptxIrFill;
|
|
348
|
+
line?: PptxIrLine;
|
|
349
|
+
shadow?: PptxIrShadow;
|
|
350
|
+
/** Corner radius in inches. `roundRect` and friends only. */
|
|
351
|
+
cornerRadius?: number;
|
|
352
|
+
/** Start/end angle in degrees for arc-like geometries. */
|
|
353
|
+
angleRangeDegrees?: [number, number];
|
|
354
|
+
runs?: PptxIrTextRun[];
|
|
355
|
+
style?: PptxIrTextBodyStyle;
|
|
356
|
+
hyperlink?: PptxIrHyperlink;
|
|
357
|
+
}
|
|
358
|
+
export declare const PPTX_IR_GEOMETRY: readonly ["rect", "roundRect", "ellipse", "triangle", "diamond", "pentagon", "hexagon", "star5", "star6", "line", "rightArrow", "chevron", "cloud", "heart", "lightningBolt"];
|
|
359
|
+
export type PptxIrKnownGeometry = (typeof PPTX_IR_GEOMETRY)[number];
|
|
360
|
+
/**
|
|
361
|
+
* A geometry name. Known names are checked at compile time; anything else is
|
|
362
|
+
* carried through as `{ custom }` so an adapter that supports a wider preset
|
|
363
|
+
* set can use it and one that does not can fail with a precise diagnostic.
|
|
364
|
+
*/
|
|
365
|
+
export type PptxIrGeometry = PptxIrKnownGeometry | {
|
|
366
|
+
custom: string;
|
|
367
|
+
};
|
|
368
|
+
export interface PptxIrImageElement extends PptxIrElementBase {
|
|
369
|
+
kind: 'image';
|
|
370
|
+
resourceId: string;
|
|
371
|
+
/** Cropping/scaling already resolved by the compiler where it could be. */
|
|
372
|
+
sizing?: PptxIrImageSizing;
|
|
373
|
+
rounding?: boolean;
|
|
374
|
+
shadow?: PptxIrShadow;
|
|
375
|
+
hyperlink?: PptxIrHyperlink;
|
|
376
|
+
}
|
|
377
|
+
export interface PptxIrImageSizing {
|
|
378
|
+
/**
|
|
379
|
+
* `contain` survives only when the fit could not be computed — the compiler
|
|
380
|
+
* normally resolves it into the transform and drops the sizing.
|
|
381
|
+
*/
|
|
382
|
+
type: 'contain' | 'cover' | 'crop';
|
|
383
|
+
widthEmu: number;
|
|
384
|
+
heightEmu: number;
|
|
385
|
+
/** Crop origin in EMU, `crop` only. */
|
|
386
|
+
xEmu?: number;
|
|
387
|
+
yEmu?: number;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* A table.
|
|
391
|
+
*
|
|
392
|
+
* The authoring surface gives each cell a single string plus its own
|
|
393
|
+
* formatting, so that is what the IR models — not a rich-text body per cell.
|
|
394
|
+
* `defaults` holds the table-level formatting cells inherit; a cell states only
|
|
395
|
+
* what it overrides, which mirrors how OOXML layers `tblPr` under `tcPr`.
|
|
396
|
+
*/
|
|
397
|
+
export interface PptxIrTableElement extends PptxIrElementBase {
|
|
398
|
+
kind: 'table';
|
|
399
|
+
rows: PptxIrTableRow[];
|
|
400
|
+
/** Column widths in EMU. Empty lets the renderer distribute them. */
|
|
401
|
+
columnWidthsEmu: number[];
|
|
402
|
+
/** Row heights in EMU, positionally. Empty lets the renderer auto-size. */
|
|
403
|
+
rowHeightsEmu: number[];
|
|
404
|
+
defaults: PptxIrTableFormatting;
|
|
405
|
+
/** Uniform border applied to the whole table. */
|
|
406
|
+
border?: PptxIrTableBorder;
|
|
407
|
+
/** Table-level background fill. */
|
|
408
|
+
fill?: PptxIrColor;
|
|
409
|
+
/**
|
|
410
|
+
* Corner radius in inches.
|
|
411
|
+
*
|
|
412
|
+
* A semantic request for rounded table corners. OOXML tables have no such
|
|
413
|
+
* property, so each adapter decides how to honour it; the IR does not
|
|
414
|
+
* describe the technique.
|
|
415
|
+
*/
|
|
416
|
+
cornerRadiusInches?: number;
|
|
417
|
+
/** Let the table flow onto further slides when it overruns. */
|
|
418
|
+
autoPage?: boolean;
|
|
419
|
+
/** Repeat the first row as a header on each continuation slide. */
|
|
420
|
+
autoPageRepeatHeader?: boolean;
|
|
421
|
+
}
|
|
422
|
+
/** Formatting a table applies to every cell that does not override it. */
|
|
423
|
+
export interface PptxIrTableFormatting {
|
|
424
|
+
fontFamily: string;
|
|
425
|
+
/** Points. */
|
|
426
|
+
fontSize: number;
|
|
427
|
+
color?: PptxIrColor;
|
|
428
|
+
bold?: boolean;
|
|
429
|
+
align?: PptxIrHorizontalAlign;
|
|
430
|
+
verticalAlign: PptxIrVerticalAlign;
|
|
431
|
+
/** Inset in points: one value or [top, right, bottom, left]. */
|
|
432
|
+
insetPoints?: number | [number, number, number, number];
|
|
433
|
+
}
|
|
434
|
+
export interface PptxIrTableRow {
|
|
435
|
+
cells: PptxIrTableCell[];
|
|
436
|
+
}
|
|
437
|
+
export interface PptxIrTableCell {
|
|
438
|
+
text: string;
|
|
439
|
+
/** Only what this cell overrides; everything else comes from `defaults`. */
|
|
440
|
+
formatting?: PptxIrTableCellFormatting;
|
|
441
|
+
fill?: PptxIrColor;
|
|
442
|
+
/** Per-side borders, in [top, right, bottom, left] order. */
|
|
443
|
+
borders?: [
|
|
444
|
+
PptxIrTableBorder,
|
|
445
|
+
PptxIrTableBorder,
|
|
446
|
+
PptxIrTableBorder,
|
|
447
|
+
PptxIrTableBorder
|
|
448
|
+
];
|
|
449
|
+
colSpan?: number;
|
|
450
|
+
rowSpan?: number;
|
|
451
|
+
}
|
|
452
|
+
export interface PptxIrTableCellFormatting {
|
|
453
|
+
fontFamily?: string;
|
|
454
|
+
/** Points. */
|
|
455
|
+
fontSize?: number;
|
|
456
|
+
color?: PptxIrColor;
|
|
457
|
+
bold?: boolean;
|
|
458
|
+
italic?: boolean;
|
|
459
|
+
align?: PptxIrHorizontalAlign;
|
|
460
|
+
verticalAlign?: PptxIrVerticalAlign;
|
|
461
|
+
insetPoints?: number | [number, number, number, number];
|
|
462
|
+
}
|
|
463
|
+
export interface PptxIrTableBorder {
|
|
464
|
+
type: 'none' | 'solid' | 'dash' | 'dot';
|
|
465
|
+
color?: PptxIrColor;
|
|
466
|
+
/** Points. */
|
|
467
|
+
widthPoints?: number;
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* A native OOXML chart.
|
|
471
|
+
*
|
|
472
|
+
* Series data is normalised and every colour, font family and label style is
|
|
473
|
+
* already resolved, so no theme lookup or charting library is involved at
|
|
474
|
+
* render time. The option names follow the project's authoring schema, which
|
|
475
|
+
* is itself aligned with PowerPoint's chart vocabulary — they are project-owned
|
|
476
|
+
* names that happen to read like the format's.
|
|
477
|
+
*/
|
|
478
|
+
export interface PptxIrChartElement extends PptxIrElementBase {
|
|
479
|
+
kind: 'chart';
|
|
480
|
+
chartType: PptxIrChartType;
|
|
481
|
+
series: PptxIrChartSeries[];
|
|
482
|
+
options: PptxIrChartOptions;
|
|
483
|
+
}
|
|
484
|
+
export type PptxIrChartType = 'area' | 'bar' | 'bar3D' | 'bubble' | 'doughnut' | 'line' | 'pie' | 'radar' | 'scatter';
|
|
485
|
+
export interface PptxIrChartSeries {
|
|
486
|
+
name?: string;
|
|
487
|
+
labels?: string[];
|
|
488
|
+
values?: number[];
|
|
489
|
+
/** Bubble sizes, `bubble` charts only. */
|
|
490
|
+
sizes?: number[];
|
|
491
|
+
}
|
|
492
|
+
/** A resolved label font: family after weight aliasing, plus the bold toggle. */
|
|
493
|
+
export interface PptxIrChartLabelFont {
|
|
494
|
+
fontFamily?: string;
|
|
495
|
+
bold?: boolean;
|
|
496
|
+
/** Points. */
|
|
497
|
+
fontSize?: number;
|
|
498
|
+
color?: PptxIrColor;
|
|
499
|
+
}
|
|
500
|
+
export interface PptxIrChartGridLine {
|
|
501
|
+
style?: string;
|
|
502
|
+
size?: number;
|
|
503
|
+
color?: PptxIrColor;
|
|
504
|
+
}
|
|
505
|
+
export interface PptxIrChartOptions {
|
|
506
|
+
/** Resolved series palette, in series order. Empty means "use the backend's". */
|
|
507
|
+
colors: string[];
|
|
508
|
+
showLegend?: boolean;
|
|
509
|
+
showTitle?: boolean;
|
|
510
|
+
showValue?: boolean;
|
|
511
|
+
showPercent?: boolean;
|
|
512
|
+
showLabel?: boolean;
|
|
513
|
+
showSeriesName?: boolean;
|
|
514
|
+
title?: string;
|
|
515
|
+
titleFont: PptxIrChartLabelFont;
|
|
516
|
+
legendPosition?: string;
|
|
517
|
+
legendFont: PptxIrChartLabelFont;
|
|
518
|
+
categoryAxis: PptxIrChartAxis;
|
|
519
|
+
valueAxis: PptxIrChartValueAxis;
|
|
520
|
+
dataBorder?: {
|
|
521
|
+
widthPoints: number;
|
|
522
|
+
color: PptxIrColor;
|
|
523
|
+
};
|
|
524
|
+
dataLabelFont: PptxIrChartLabelFont;
|
|
525
|
+
dataLabelPosition?: string;
|
|
526
|
+
barDirection?: string;
|
|
527
|
+
barGrouping?: string;
|
|
528
|
+
barGapWidthPercent?: number;
|
|
529
|
+
barOverlapPercent?: number;
|
|
530
|
+
lineSmooth?: boolean;
|
|
531
|
+
lineDataSymbol?: string;
|
|
532
|
+
lineSize?: number;
|
|
533
|
+
lineDataSymbolSize?: number;
|
|
534
|
+
firstSliceAngle?: number;
|
|
535
|
+
holeSize?: number;
|
|
536
|
+
radarStyle?: string;
|
|
537
|
+
}
|
|
538
|
+
export interface PptxIrChartAxis {
|
|
539
|
+
title?: string;
|
|
540
|
+
hidden?: boolean;
|
|
541
|
+
labelRotate?: number;
|
|
542
|
+
labelFont: PptxIrChartLabelFont;
|
|
543
|
+
gridLine?: PptxIrChartGridLine;
|
|
544
|
+
showLine?: boolean;
|
|
545
|
+
}
|
|
546
|
+
export interface PptxIrChartValueAxis extends PptxIrChartAxis {
|
|
547
|
+
minValue?: number;
|
|
548
|
+
maxValue?: number;
|
|
549
|
+
majorUnit?: number;
|
|
550
|
+
labelFormatCode?: string;
|
|
551
|
+
}
|
|
552
|
+
/** A group of elements sharing a transform. */
|
|
553
|
+
export interface PptxIrGroupElement extends PptxIrElementBase {
|
|
554
|
+
kind: 'group';
|
|
555
|
+
children: PptxIrElement[];
|
|
556
|
+
}
|
|
557
|
+
export interface PptxIrSlide {
|
|
558
|
+
/** Deterministic: `slide${n}`, 1-based in generated order. */
|
|
559
|
+
id: string;
|
|
560
|
+
path: string;
|
|
561
|
+
/** Name of a master in `PptxIR.masters`, when the slide uses one. */
|
|
562
|
+
masterName?: string;
|
|
563
|
+
background?: PptxIrBackground;
|
|
564
|
+
elements: PptxIrElement[];
|
|
565
|
+
notes?: string;
|
|
566
|
+
hidden: boolean;
|
|
567
|
+
transition?: PptxIrTransition;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* A slide background.
|
|
571
|
+
*
|
|
572
|
+
* Only solid and image backgrounds are backgrounds in the OOXML sense. A
|
|
573
|
+
* gradient background compiles to a full-bleed shape at the back of the slide
|
|
574
|
+
* instead, because that is what it means semantically once resolved — see the
|
|
575
|
+
* compiler.
|
|
576
|
+
*/
|
|
577
|
+
export type PptxIrBackground = {
|
|
578
|
+
kind: 'solid';
|
|
579
|
+
color: PptxIrColor;
|
|
580
|
+
} | {
|
|
581
|
+
kind: 'image';
|
|
582
|
+
resourceId: string;
|
|
583
|
+
};
|
|
584
|
+
export interface PptxIrTransition {
|
|
585
|
+
type: string;
|
|
586
|
+
speed?: 'slow' | 'medium' | 'fast';
|
|
587
|
+
}
|
|
588
|
+
export interface PptxIrMaster {
|
|
589
|
+
name: string;
|
|
590
|
+
background?: PptxIrBackground;
|
|
591
|
+
/**
|
|
592
|
+
* Content margin, in inches: a single value or [top, right, bottom, left].
|
|
593
|
+
*
|
|
594
|
+
* Not decoration — a format sizes an unconstrained table against the master's
|
|
595
|
+
* margins, so dropping this silently resizes tables.
|
|
596
|
+
*/
|
|
597
|
+
margin?: number | [number, number, number, number];
|
|
598
|
+
/** Fixed decoration drawn on every slide using this master. */
|
|
599
|
+
elements: PptxIrElement[];
|
|
600
|
+
/** Slide-number field placement, when the template defines one. */
|
|
601
|
+
slideNumber?: PptxIrSlideNumber;
|
|
602
|
+
/** Named regions a slide can fill; positions already resolved. */
|
|
603
|
+
placeholders: PptxIrPlaceholder[];
|
|
604
|
+
}
|
|
605
|
+
export interface PptxIrSlideNumber {
|
|
606
|
+
transform: PptxIrTransform;
|
|
607
|
+
color?: PptxIrColor;
|
|
608
|
+
/** Points. */
|
|
609
|
+
fontSize?: number;
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* A placeholder as the *master* declares it.
|
|
613
|
+
*
|
|
614
|
+
* Slide-side placeholder content is not a placeholder in the IR — it has
|
|
615
|
+
* already been merged with the declaration and emitted as a normal element on
|
|
616
|
+
* the slide. This entry exists so a master can still declare the region.
|
|
617
|
+
*/
|
|
618
|
+
export interface PptxIrPlaceholder {
|
|
619
|
+
name: string;
|
|
620
|
+
transform?: PptxIrTransform;
|
|
621
|
+
}
|
|
622
|
+
export {};
|
|
623
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"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"}
|