@json-to-office/core-pptx 6.8.0 → 7.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"createPresentationGenerator.d.ts","sourceRoot":"","sources":["../../src/plugin/createPresentationGenerator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIV,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAEV,4BAA4B,EAK5B,2BAA2B,EAE5B,MAAM,SAAS,CAAC;AAKjB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,4BACf,SAAQ,4BAA4B;IACpC,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACjC,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,oFAAoF;IACpF,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,qEAAqE;IACrE,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAqcD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,4BAAiC,GACzC,4BAA4B,CAAC,SAAS,EAAE,CAAC,CAmB3C"}
1
+ {"version":3,"file":"createPresentationGenerator.d.ts","sourceRoot":"","sources":["../../src/plugin/createPresentationGenerator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIV,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAEV,4BAA4B,EAK5B,2BAA2B,EAG5B,MAAM,SAAS,CAAC;AAMjB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,4BACf,SAAQ,4BAA4B;IACpC,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACjC,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,oFAAoF;IACpF,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,qEAAqE;IACrE,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAkiBD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,4BAAiC,GACzC,4BAA4B,CAAC,SAAS,EAAE,CAAC,CAmB3C"}
@@ -25,7 +25,7 @@
25
25
  */
26
26
  export { createComponent, createVersion, type CustomComponent, type ComponentVersion, type ComponentVersionMap, type RenderFunction, type RenderContext, } from '@json-to-office/shared/plugin';
27
27
  export { createPresentationGenerator, type PresentationGeneratorOptions, } from './createPresentationGenerator';
28
- export { type PresentationGenerator, type PresentationGeneratorBuilder, type BufferGenerationResult, type FileGenerationResult, type GenerateFileOptions, type GenerateOptions, type GenerationValidationOptions, type ValidationResult, type ExtractCustomComponentType, type CustomComponentUnion, type ExtendedPptxComponentInput, type ExtendedPresentationComponent, type InferBuilderComponents, type InferDocumentType, type InferComponentDefinition, } from './types';
28
+ export { type PresentationGenerator, type PresentationGeneratorBuilder, type BufferGenerationResult, type FileGenerationResult, type GenerateFileOptions, type GenerateOptions, type GenerationValidationOptions, type QualityPreparationResult, type ValidationResult, type ExtractCustomComponentType, type CustomComponentUnion, type ExtendedPptxComponentInput, type ExtendedPresentationComponent, type InferBuilderComponents, type InferDocumentType, type InferComponentDefinition, } from './types';
29
29
  export { validateComponentProps, validatePresentation, cleanComponentProps, ComponentValidationError, DuplicateComponentError, type ValidationError, type ComponentValidationResult, } from './validation';
30
30
  export { generatePluginPresentationSchema, exportPluginSchema } from './schema';
31
31
  export { resolveComponentVersion } from '@json-to-office/shared/plugin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -6,8 +6,10 @@
6
6
  import type { Static, TSchema } from '@sinclair/typebox';
7
7
  import type { CustomComponent } from '@json-to-office/shared/plugin';
8
8
  import type { PptxComponentInput, PresentationComponentDefinition, SlideComponentDefinition, PipelineWarning } from '../types';
9
+ import type { PreparedDocument } from '@json-to-office/quality';
9
10
  import type { PptxRendererId } from '../renderers/types';
10
11
  import type { PresentationPackagingOptions } from '../core/finalizePackage';
12
+ import type { PptxQualityFact, PptxQualityModel } from '../quality/facts';
11
13
  type InferVersionMap<T> = T extends CustomComponent<any, infer V, any> ? V : never;
12
14
  type InferName<T> = T extends CustomComponent<any, any, infer N> ? N : never;
13
15
  /**
@@ -103,15 +105,37 @@ export interface GenerateOptions extends PresentationPackagingOptions {
103
105
  * constructor `renderer`; defaults to `pptxgenjs`.
104
106
  */
105
107
  renderer?: PptxRendererId;
108
+ /**
109
+ * The model `prepareQuality` built from *this* presentation. Rendering
110
+ * then reuses that one expansion instead of running the registered
111
+ * plugins a second time, so a plugin whose output depends on the clock,
112
+ * on randomness or on a service cannot draw a slide the quality gate
113
+ * never inspected.
114
+ */
115
+ prepared?: PreparedDocument<PptxQualityModel, PptxQualityFact>;
106
116
  }
107
117
  export type GenerateFileOptions = GenerateOptions;
108
118
  /**
109
119
  * Presentation generator with custom components and full type safety
110
120
  */
121
+ /**
122
+ * Result of `prepareQuality` — the quality model of the expanded
123
+ * presentation, ready for `analyzePptxQuality(document, { prepared })`.
124
+ */
125
+ export interface QualityPreparationResult {
126
+ prepared: PreparedDocument<PptxQualityModel, PptxQualityFact>;
127
+ warnings: PipelineWarning[];
128
+ }
111
129
  export interface PresentationGenerator<TCustomComponents extends readonly CustomComponent<any, any, any>[] = readonly []> {
112
130
  generate: (document: ExtendedPresentationComponent<TCustomComponents>, options?: GenerateOptions) => Promise<BufferGenerationResult>;
113
131
  generateBuffer: (document: ExtendedPresentationComponent<TCustomComponents>, options?: GenerateOptions) => Promise<BufferGenerationResult>;
114
132
  generateFile: (document: ExtendedPresentationComponent<TCustomComponents>, outputPath: string, options?: GenerateFileOptions) => Promise<FileGenerationResult>;
133
+ /**
134
+ * Prepare the presentation's quality model with registered components
135
+ * expanded as generation expands them: plugin output is analyzed, and its
136
+ * findings point at the invocation that emitted it. Nothing renders.
137
+ */
138
+ prepareQuality: (document: ExtendedPresentationComponent<TCustomComponents>, options?: GenerateOptions) => Promise<QualityPreparationResult>;
115
139
  getComponentNames: () => string[];
116
140
  validate: (document: ExtendedPresentationComponent<TCustomComponents>) => ValidationResult;
117
141
  generateSchema: () => TSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ChartInfoDesign, type PlaceholderKind, type PreparedDocument, type QualityFact, type TableColumnInfoDesign, type TableInfoDesign } from '@json-to-office/quality';
2
- import type { FontRuntimeOpts, ServicesConfig } from '@json-to-office/shared';
2
+ import type { ExpandedBlocks, FontRuntimeOpts, ServicesConfig } from '@json-to-office/shared';
3
3
  import type { PipelineWarning, PptxThemeConfig, PresentationComponentDefinition, ProcessedPresentation } from '../types';
4
+ import { type GenerationThemeContext } from '../core/generationContext';
4
5
  import { type BlockSourceMap } from '../blocks';
5
6
  import type { BlockSlotRole } from '@json-to-office/shared';
6
7
  export interface PptxCanvasFact extends QualityFact {
@@ -27,6 +28,11 @@ export interface PptxTextFact extends QualityFact {
27
28
  nodePath: string;
28
29
  text: string;
29
30
  fontSizePt: number;
31
+ /**
32
+ * The size the text was set at when a bounded `fit` stepped it down to
33
+ * `fontSizePt`; absent when the fit pass left the size alone.
34
+ */
35
+ fitFromPt?: number;
30
36
  lineSpacingPt: number;
31
37
  paraSpaceBeforePt: number;
32
38
  paraSpaceAfterPt: number;
@@ -35,6 +41,8 @@ export interface PptxTextFact extends QualityFact {
35
41
  boxYPt?: number;
36
42
  boxWidthPt?: number;
37
43
  boxHeightPt?: number;
44
+ /** The inset the text is laid out in, `[top, right, bottom, left]` points. */
45
+ insetsPt: readonly [number, number, number, number];
38
46
  verticalAlign: 'top' | 'middle' | 'bottom';
39
47
  /** Horizontal alignment: the prop, else the named style's, else left. */
40
48
  align: 'left' | 'center' | 'right' | 'justify';
@@ -53,6 +61,13 @@ export interface PptxTextFact extends QualityFact {
53
61
  * rather than a size they can patch.
54
62
  */
55
63
  generated: boolean;
64
+ /**
65
+ * The component at `path` is one whose props the author wrote: the node
66
+ * itself, or a component placed in a block slot. False where `path` is an
67
+ * invocation — a definition's literal text, a plugin's output — whose props
68
+ * are the block's or the plugin's, not the text's.
69
+ */
70
+ ownsProps: boolean;
56
71
  /** Resolved run colour, bare hex, when the document states one. */
57
72
  colorHex?: string;
58
73
  /**
@@ -117,6 +132,11 @@ export interface PptxImageFact extends QualityFact {
117
132
  bleed: boolean;
118
133
  drawnRatio?: number;
119
134
  naturalRatio?: number;
135
+ /** `w` and `h` as the author wrote them, in inches, when both are numbers. */
136
+ authoredSizeIn?: {
137
+ w: number;
138
+ h: number;
139
+ };
120
140
  }
121
141
  /** A box drawn on a slide, in draw order — the input to the overlap rule. */
122
142
  export interface PptxBoxFact extends QualityFact {
@@ -133,6 +153,15 @@ export interface PptxBoxFact extends QualityFact {
133
153
  yPt: number;
134
154
  widthPt: number;
135
155
  heightPt: number;
156
+ /**
157
+ * The box's own `x` and `y` in inches, where the author placed it directly
158
+ * on the slide with plain numbers: what a repair can move. A box inside a
159
+ * group sits in the group's frame, and a block's box in its definition's.
160
+ */
161
+ authoredPositionIn?: {
162
+ x: number;
163
+ y: number;
164
+ };
136
165
  }
137
166
  /** The resolved theme, as the brand rules see it. */
138
167
  export interface PptxThemeFact extends QualityFact {
@@ -224,7 +253,25 @@ export interface PptxChromeSlotFact extends QualityFact {
224
253
  estimatedLines?: number;
225
254
  fontSizePt?: number;
226
255
  }
227
- export type PptxQualityFact = PptxCanvasFact | PptxBlockSlotFact | PptxChromeSlotFact | PptxTextFact | PptxRichTextFact | PptxSlideFact | PptxPlaceholderFact | PptxBoxFact | PptxThemeFact | PptxBulletsFact | PptxImageFact | PptxColorFact | PptxFontFact | PptxChartFact | PptxTableFact;
256
+ /**
257
+ * The running chrome one slide carries: whether a block builds it, and
258
+ * whether it shows a page number or a footer line. A profile reads it to
259
+ * require a page number on every slide after the cover.
260
+ */
261
+ export interface PptxSlideChromeFact extends QualityFact {
262
+ kind: 'pptx/slide-chrome';
263
+ /** The slide's place in the deck, 0-based, disabled slides left out. */
264
+ index: number;
265
+ /** A hidden slide is never shown, so nothing is asked of it. */
266
+ hidden?: boolean;
267
+ /** Block invocations placed directly on the slide or in its groups. */
268
+ blocks: number;
269
+ /** A text on the slide carries the `{PAGE_NUMBER}` field. */
270
+ pageNumber: boolean;
271
+ /** A text in the theme's footer type, or a filled `footer` slot. */
272
+ footer: boolean;
273
+ }
274
+ export type PptxQualityFact = PptxCanvasFact | PptxBlockSlotFact | PptxChromeSlotFact | PptxSlideChromeFact | PptxTextFact | PptxRichTextFact | PptxSlideFact | PptxPlaceholderFact | PptxBoxFact | PptxThemeFact | PptxBulletsFact | PptxImageFact | PptxColorFact | PptxFontFact | PptxChartFact | PptxTableFact;
228
275
  export interface PptxQualityModel {
229
276
  authored: PresentationComponentDefinition;
230
277
  /** The document after the export-mode pre-pass and block expansion. */
@@ -247,6 +294,16 @@ export interface PreparePptxQualityOptions {
247
294
  services?: ServicesConfig;
248
295
  warnings?: PipelineWarning[];
249
296
  renderer?: string;
297
+ /** The theme context a plugin host already resolved for `expanded`. */
298
+ context?: GenerationThemeContext;
299
+ /**
300
+ * The expansion a plugin host already ran over `context.document`: blocks
301
+ * and registered code components lowered together, with the source map
302
+ * back to what the author wrote. Given, preparation reads it instead of
303
+ * expanding blocks alone, so a fact about a plugin's output reports at the
304
+ * invocation that emitted it.
305
+ */
306
+ expanded?: ExpandedBlocks<PresentationComponentDefinition>;
250
307
  }
251
308
  export declare function preparePptxQualityDocument(document: PresentationComponentDefinition, options?: PreparePptxQualityOptions): PreparedDocument<PptxQualityModel, PptxQualityFact>;
252
309
  //# sourceMappingURL=facts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/quality/facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/quality/facts.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,15 @@ export declare const pptxSlotBudgetRule: QualityRule<PptxQualityModel, PptxQuali
46
46
  * styles a source line, selecting the consulting profile requires one.
47
47
  */
48
48
  export declare const pptxRequiredChromeRule: QualityRule<PptxQualityModel, PptxQualityFact>;
49
+ /**
50
+ * A deck's running chrome where the profile expects it: every slide from
51
+ * `fromSlide` on that a block builds must carry the parts in `required` — a
52
+ * page number, a footer line. The first slide is exempt by default, so a
53
+ * cover stays clean; a slide drawn by coordinates is not judged, its chrome
54
+ * is its author's to place; a hidden slide is never shown. Off by default:
55
+ * the theme only paints a footer, the archetype asks for one.
56
+ */
57
+ export declare const pptxSlideFooterRule: QualityRule<PptxQualityModel, PptxQualityFact>;
49
58
  /**
50
59
  * An action title that wraps past the lines a profile allows, measured in
51
60
  * the box its definition drew and with the width model the fit pass uses.
@@ -79,14 +88,25 @@ export declare const pptxSizeCountRule: QualityRule<PptxQualityModel, PptxQualit
79
88
  * repaired to it. A style that is consistently overridden is not drift. Off
80
89
  * until a profile turns it on, for the same reason as `pptx/type-scale`,
81
90
  * which yields to this rule on any pointer it reports.
91
+ *
92
+ * Text with no `style` has no role here, unlike DOCX's `normal`. Measured
93
+ * (#452): as the deck default it reports nothing on the verification decks
94
+ * the house blocks build, and nearly every hand-sized figure and label on
95
+ * the stock decks (115) and the 2.0.0 baselines (about 1,980) — a size
96
+ * choice per box, which type-scale and size-count already judge.
82
97
  */
83
98
  export declare const pptxRoleDriftRule: QualityRule<PptxQualityModel, PptxQualityFact>;
84
99
  /**
85
- * Titles of one kind that do not start where the deck's other titles of that
86
- * kind start. A theme says nothing about where a title sits a block
87
- * definition or the author places it so the prevailing edge among the
88
- * deck's own titles is the expected value, and the profile is what asks them
89
- * to agree. Off until one turns it on.
100
+ * Titles of one kind that do not land where the deck's other titles of that
101
+ * kind land. Judged on the laid-out title its estimated first baseline and
102
+ * the edge its alignment holds, at the size the fit pass left it, inside its
103
+ * insets, under its vertical anchor so two boxes drawn differently that set
104
+ * their text on one line agree, and two identical boxes whose titles anchor
105
+ * to the foot at different lengths do not. Titles compare across blocks and
106
+ * with titles placed by hand; a title a couple of lines or more away is a
107
+ * placement of its own. A theme says nothing about where a title sits, so
108
+ * the deck's prevailing placement is the expected value, and the profile is
109
+ * what asks titles to agree. Off until one turns it on.
90
110
  */
91
111
  export declare const pptxTitleDriftRule: QualityRule<PptxQualityModel, PptxQualityFact>;
92
112
  /**
@@ -155,13 +175,18 @@ export declare const PPTX_QUALITY_PROFILES: {
155
175
  readonly 'consulting-deck': {
156
176
  readonly id: "consulting-deck";
157
177
  readonly formats: readonly ["pptx"];
158
- readonly description: "Consulting readout: every content slide leads with a two-line action title, every chart carries a takeaway and a source, content stays inside the theme’s safe area, a box holds at most five bullets of at most twelve words, every figure carries alt text, every size is on the theme scale with at most nine in the deck and six on a slide, and titles of one kind hold one line.";
178
+ readonly description: "Consulting readout: every content slide leads with a two-line action title, every chart carries a takeaway and a source, every slide a block builds after the cover carries its page number, content stays inside the theme’s safe area, a box holds at most five bullets of at most twelve words, every figure carries alt text, every size is on the theme scale with at most nine in the deck and six on a slide, and titles of one kind hold one line.";
159
179
  readonly rules: {
160
180
  readonly 'pptx/required-chrome': {
161
181
  readonly parameters: {
162
182
  readonly required: readonly ["takeaway", "source"];
163
183
  };
164
184
  };
185
+ readonly 'pptx/slide-footer': {
186
+ readonly parameters: {
187
+ readonly required: readonly ["pageNumber"];
188
+ };
189
+ };
165
190
  readonly 'pptx/action-title': {
166
191
  readonly parameters: {
167
192
  readonly maxLines: 2;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/quality/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/quality/rules.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,18 @@
2
2
  * PPTX Theme Defaults
3
3
  */
4
4
  import type { PptxThemeConfig } from '../types';
5
+ /**
6
+ * The theme a deck gets when it names none: the house style (#331). The
7
+ * stock Office look that used to answer to `default` is gone — it is the look
8
+ * the design program replaces — so the name no longer resolves to a theme: a deck that
9
+ * names it, like one that names anything unregistered, renders on
10
+ * `consulting`.
11
+ */
5
12
  export declare const DEFAULT_PPTX_THEME: PptxThemeConfig;
6
13
  export declare function getPptxTheme(name: string): PptxThemeConfig;
7
14
  /**
8
15
  * Whether `name` is a known built-in theme. `getPptxTheme` never misses (it
9
- * falls back to the default theme), so callers that need to distinguish "a
16
+ * falls back to the house theme), so callers that need to distinguish "a
10
17
  * real built-in" from "an unknown name" must check here first.
11
18
  */
12
19
  export declare function hasPptxTheme(name: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/themes/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,UAAU,CAAC;AAoCtE,eAAO,MAAM,kBAAkB,EAAE,eA6BhC,CAAC;AAqEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAc,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/themes/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,UAAU,CAAC;AAoCtE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAuC,CAAC;AAoEzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAc,CAAC"}