@openpresentation/opf 0.16.0 → 0.18.1
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 +16 -2
- package/dist/browser.js +38 -0
- package/dist/{catalog-refs-_anZs-Qz.d.ts → catalog-refs-BSfGELpt.d.ts} +1 -1
- package/dist/{catalog-schemas-BZCjgAxu.d.ts → catalog-schemas-CinPh5WA.d.ts} +1 -1
- package/dist/catalog.d.ts +2 -2
- package/dist/catalog.js +3 -23712
- package/dist/{chunk-BSYQDWT4.js → chunk-64YSJZDH.js} +28 -15
- package/dist/{chunk-WEDGVC5W.js → chunk-6WW2EDUW.js} +108 -108
- package/dist/{chunk-5UEUAW57.js → chunk-CJPDTLGD.js} +1 -1
- package/dist/{chunk-FQSIIADJ.js → chunk-DBYZI75U.js} +30 -5
- package/dist/{chunk-PX5AWL7Y.js → chunk-JT3QXA22.js} +99 -29
- package/dist/{chunk-6OR326EA.js → chunk-JXVS7BJK.js} +1 -1
- package/dist/chunk-KXBZ6ZSB.js +991 -0
- package/dist/{chunk-5PDN7BN6.js → chunk-MBU42S5Y.js} +427 -167
- package/dist/{chunk-K4DQQIT4.js → chunk-NS3VYB57.js} +5 -5
- package/dist/chunk-QLFWWHRF.js +919 -0
- package/dist/{chunk-5TO6I3GB.js → chunk-RAKEVM52.js} +1 -1
- package/dist/{chunk-NAWQR7MN.js → chunk-VCGRMNY2.js} +1 -1
- package/dist/chunk-WCG3THTD.js +23712 -0
- package/dist/{chunk-UM24JFUE.js → chunk-YWXB4XAT.js} +2 -2
- package/dist/{chunk-3XDRQYWZ.js → chunk-YZXTXX2D.js} +1 -1
- package/dist/{chunk-SMLMI6IZ.js → chunk-ZCFSDSUX.js} +3 -3
- package/dist/{chunk-KINQFU6X.js → chunk-ZOHFLP3O.js} +19 -12
- package/dist/{composition-D4ADF5c-.d.ts → composition-C-OoqvAr.d.ts} +227 -167
- package/dist/composition.d.ts +2 -2
- package/dist/composition.js +1 -1
- package/dist/conversion-C5foedh6.d.ts +502 -0
- package/dist/conversion-KGDVJM75.js +21 -0
- package/dist/convert.d.ts +3 -3
- package/dist/convert.js +7 -7
- package/dist/data.d.ts +6 -6
- package/dist/data.js +2 -2
- package/dist/deck-report-wszX7uo8.d.ts +40 -0
- package/dist/deck.d.ts +21 -51
- package/dist/deck.js +10 -10
- package/dist/diff.js +5 -5
- package/dist/docs.js +33 -27
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +418 -451
- package/dist/format.js +2 -2
- package/dist/index.d.ts +179 -16
- package/dist/index.js +51 -796
- package/dist/markdown.d.ts +10 -6
- package/dist/markdown.js +7 -7
- package/dist/node-engine.d.ts +114 -0
- package/dist/node-engine.js +44 -0
- package/dist/{pagination-DzZPFheM.d.ts → pagination-BaUjDrTz.d.ts} +25 -8
- package/dist/pagination.d.ts +3 -3
- package/dist/pagination.js +4 -4
- package/dist/patch.js +4 -4
- package/dist/{presentation-COrFuj2g.d.ts → presentation-HondgJ3l.d.ts} +278 -454
- package/dist/repo-readme.js +1 -1
- package/dist/schemas.d.ts +4 -2
- package/dist/schemas.js +1 -1
- package/dist/spec/catalogs/manifest.json +1 -1
- package/dist/spec/schemas/opf.schema.json +74 -100
- package/dist/types.d.ts +2 -2
- package/dist/{validation-types-HxIgJfKx.d.ts → validation-types-PbGDrNUr.d.ts} +23 -7
- package/dist/validator.d.ts +6 -6
- package/dist/validator.js +3 -3
- package/dist/yaml.d.ts +4 -4
- package/dist/yaml.js +7 -7
- package/package.json +37 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsonEqual, formatPointer } from './chunk-
|
|
2
|
-
import { annotationText } from './chunk-
|
|
1
|
+
import { jsonEqual, formatPointer } from './chunk-YZXTXX2D.js';
|
|
2
|
+
import { annotationText } from './chunk-MBU42S5Y.js';
|
|
3
3
|
|
|
4
4
|
// src/diff-match.ts
|
|
5
5
|
var DEFAULT_MATCH_THRESHOLD = 0.5;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { chartNumber } from './chunk-
|
|
1
|
+
import { chartNumber } from './chunk-MBU42S5Y.js';
|
|
2
2
|
|
|
3
3
|
// src/data.ts
|
|
4
4
|
var OPFDataImportError = class extends Error {
|
|
@@ -114,7 +114,7 @@ function measure(value, location) {
|
|
|
114
114
|
if (number !== null) return number;
|
|
115
115
|
return fail(`${location}: expected a numeric chart value; found ${JSON.stringify(value)}. Clean the value or select another series.`);
|
|
116
116
|
}
|
|
117
|
-
function
|
|
117
|
+
function ingest(input, options) {
|
|
118
118
|
const data = parseTabularData(input, options);
|
|
119
119
|
if (options.as === "table") return { table: data };
|
|
120
120
|
if (options.as !== "chart") return fail("Choose table or chart.");
|
|
@@ -144,4 +144,4 @@ function importData(input, options) {
|
|
|
144
144
|
} } };
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
export { OPFDataImportError,
|
|
147
|
+
export { OPFDataImportError, ingest, parseTabularData };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { fromMarkdown, toMarkdown } from './chunk-
|
|
2
|
-
import { fromYaml, toYaml } from './chunk-
|
|
3
|
-
import { NOT_CHECKED } from './chunk-
|
|
4
|
-
import { parseSource, validate } from './chunk-
|
|
1
|
+
import { fromMarkdown, toMarkdown } from './chunk-DBYZI75U.js';
|
|
2
|
+
import { fromYaml, toYaml } from './chunk-NS3VYB57.js';
|
|
3
|
+
import { NOT_CHECKED } from './chunk-CJPDTLGD.js';
|
|
4
|
+
import { parseSource, validate, OPFValidationError } from './chunk-JT3QXA22.js';
|
|
5
5
|
import { checkCatalogsOption } from './chunk-SPFV27O5.js';
|
|
6
6
|
|
|
7
|
-
// src/deck.ts
|
|
7
|
+
// src/deck-report.ts
|
|
8
8
|
var DECK_FORMATS = ["json", "yaml", "markdown"];
|
|
9
9
|
function deckFormatOf(filename) {
|
|
10
10
|
if (filename === void 0) return "json";
|
|
@@ -17,10 +17,10 @@ function resolveFormat(caller, options) {
|
|
|
17
17
|
if (!DECK_FORMATS.includes(options.format)) throw new TypeError(`${caller}: unknown format ${JSON.stringify(options.format)}. Formats: ${DECK_FORMATS.join(", ")}.`);
|
|
18
18
|
return options.format;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
if (typeof text !== "string") throw new TypeError(
|
|
22
|
-
checkCatalogsOption(options.catalogs,
|
|
23
|
-
const format = resolveFormat(
|
|
20
|
+
function readDeckReport(text, options = {}, caller = "parse") {
|
|
21
|
+
if (typeof text !== "string") throw new TypeError(`${caller} expects a string.`);
|
|
22
|
+
checkCatalogsOption(options.catalogs, caller);
|
|
23
|
+
const format = resolveFormat(caller, options);
|
|
24
24
|
const { catalogs } = options;
|
|
25
25
|
const check = options.validate ?? true;
|
|
26
26
|
const validateOptions = typeof check === "object" ? { ...catalogs && check.catalogs === void 0 ? { catalogs } : {}, ...check } : { only: ["format", "references"], ...catalogs ? { catalogs } : {} };
|
|
@@ -40,12 +40,19 @@ function report(findings) {
|
|
|
40
40
|
for (const found of findings) counts[found.severity]++;
|
|
41
41
|
return { valid: counts.error === 0, schemaValid: null, findings, counts, checks: NOT_CHECKED };
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
|
|
44
|
+
// src/deck.ts
|
|
45
|
+
function parse(text, options = {}) {
|
|
46
|
+
const { presentation, format: _format, ...result } = readDeckReport(text, { ...options, validate: true }, "parse");
|
|
47
|
+
if (!result.valid) throw new OPFValidationError(result);
|
|
48
|
+
return presentation;
|
|
49
|
+
}
|
|
50
|
+
function stringify(presentation, options = {}) {
|
|
51
|
+
const format = resolveFormat("stringify", options);
|
|
45
52
|
if (format === "yaml") return toYaml(presentation, { schemaComment: options.schemaComment === true }).yaml;
|
|
46
53
|
if (format === "markdown") return toMarkdown(presentation).markdown;
|
|
47
54
|
return `${JSON.stringify(presentation, null, 2)}
|
|
48
55
|
`;
|
|
49
56
|
}
|
|
50
57
|
|
|
51
|
-
export { DECK_FORMATS, deckFormatOf,
|
|
58
|
+
export { DECK_FORMATS, deckFormatOf, parse, readDeckReport, stringify };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as CatalogOptions } from './catalog-refs-
|
|
1
|
+
import { b as CatalogOptions } from './catalog-refs-BSfGELpt.js';
|
|
2
2
|
import './chart-data-BnNqgnC-.js';
|
|
3
3
|
|
|
4
4
|
/** Canonical table grid. No renderer, fonts, DOM or network dependencies. */
|
|
@@ -232,6 +232,141 @@ declare function physicalAlignment(alignment: PhysicalAlignment | undefined, dir
|
|
|
232
232
|
*/
|
|
233
233
|
declare function paragraphDirectionAt(text: string, deckDirection: TextDirection | string | undefined): (offset: number) => TextDirection;
|
|
234
234
|
|
|
235
|
+
/**
|
|
236
|
+
* Language/script font model (font-fidelity-everywhere FF-18).
|
|
237
|
+
*
|
|
238
|
+
* Resolves, for a presentation's language and effective font scheme, the font
|
|
239
|
+
* family for each OOXML script slot (`a:latin`, `a:ea`, `a:cs`) of the major
|
|
240
|
+
* (heading) and minor (body) theme fonts, plus the language tags and base
|
|
241
|
+
* direction. Pure: no DOM, fonts, network or mutation. Font-scheme references
|
|
242
|
+
* resolve like every content reference (the document's catalogs groups, then the
|
|
243
|
+
* registered catalogs); nothing is fetched.
|
|
244
|
+
*
|
|
245
|
+
* The language is an engine vocabulary: tags the vocabulary knows resolve
|
|
246
|
+
* deterministically from vendored tables. Only a tag outside it may consult the
|
|
247
|
+
* runtime's ICU likely subtags (`Intl.Locale#maximize`) to find its script.
|
|
248
|
+
*
|
|
249
|
+
* Design: docs/programs/font-fidelity-everywhere/script-font-model.md.
|
|
250
|
+
*/
|
|
251
|
+
/** OOXML script slot a writing system uses: `a:latin`, `a:ea` or `a:cs`. */
|
|
252
|
+
type ScriptRole = "latin" | "eastAsian" | "complexScript";
|
|
253
|
+
/** FontScheme.languageFamily as written: the short OOXML names and the long slot names are one value. */
|
|
254
|
+
type LanguageFamilyName = "latin" | "ea" | "cs" | "eastAsian" | "complexScript";
|
|
255
|
+
/**
|
|
256
|
+
* Read a FontScheme `languageFamily` as one of three values. `eastAsian` is `ea` and `complexScript` is
|
|
257
|
+
* `cs`; anything that is not one of the five names returns undefined.
|
|
258
|
+
*/
|
|
259
|
+
declare function normalizeLanguageFamily(value: unknown): "latin" | "ea" | "cs" | undefined;
|
|
260
|
+
/** Target application whose language font-scheme defaults apply. */
|
|
261
|
+
type ScriptFontApp = "powerpoint" | "google-slides";
|
|
262
|
+
/** Font family per OOXML script slot for one theme font (major or minor). */
|
|
263
|
+
interface ScriptFontSlots {
|
|
264
|
+
latin: string;
|
|
265
|
+
eastAsian: string;
|
|
266
|
+
complexScript: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Where a resolved eastAsian/complexScript family came from:
|
|
270
|
+
* - `fontScheme`: an explicit `eastAsian`/`complexScript` slot on the effective design font scheme.
|
|
271
|
+
* - `schemeFamily`: the design font scheme's own major/minor, because its `languageFamily` names this
|
|
272
|
+
* slot and its `languages` list is empty or names the presentation language.
|
|
273
|
+
* - `language`: the presentation language's font scheme (`fontScheme`, or `googleFontScheme` for Google Slides).
|
|
274
|
+
* - `latin`: no script-specific choice exists, so the slot repeats the latin family.
|
|
275
|
+
*/
|
|
276
|
+
type ScriptFontSource = "fontScheme" | "schemeFamily" | "language" | "latin";
|
|
277
|
+
/** A per-script supplemental theme font, as in OOXML `<a:font script="Jpan" typeface="..."/>`. */
|
|
278
|
+
interface ScriptFontSupplement {
|
|
279
|
+
/** OOXML theme script tag (ISO 15924, except Korean uses `Hang`). */
|
|
280
|
+
script: string;
|
|
281
|
+
heading: string;
|
|
282
|
+
body: string;
|
|
283
|
+
}
|
|
284
|
+
interface ResolveScriptFontsOptions extends CatalogOptions {
|
|
285
|
+
/** Which language font default applies. Defaults to `powerpoint` (`language.fontScheme`, else the vocabulary default); `google-slides` prefers `language.googleFontScheme`. */
|
|
286
|
+
app?: ScriptFontApp;
|
|
287
|
+
/** Merge `slides[slideIndex].design` over the deck design, per field, before resolving the font scheme. */
|
|
288
|
+
slideIndex?: number;
|
|
289
|
+
/** Language to resolve instead of the document's `language` (a BCP-47 tag or a Language object). */
|
|
290
|
+
language?: unknown;
|
|
291
|
+
/** Language tag used when neither the document nor `options.language` names a resolvable language. Defaults to `en-US`. */
|
|
292
|
+
defaultLanguage?: string;
|
|
293
|
+
}
|
|
294
|
+
interface ResolvedScriptFonts extends ScriptFontSlots {
|
|
295
|
+
/**
|
|
296
|
+
* Tag for OOXML `a:rPr/@lang` (and `a:endParaRPr/@lang`): an authored tag that carries a region,
|
|
297
|
+
* else the curated `ooxmlLang` of the language vocabulary, else the canonical BCP-47 tag.
|
|
298
|
+
*/
|
|
299
|
+
lang: string;
|
|
300
|
+
/** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag. */
|
|
301
|
+
bcp47: string;
|
|
302
|
+
/** `default` when the tag came from `defaultLanguage` because no language resolved. */
|
|
303
|
+
languageSource: "document" | "option" | "default";
|
|
304
|
+
/** ISO 15924 script (`Zzzz` when it cannot be determined). */
|
|
305
|
+
script: string;
|
|
306
|
+
/** Script slot the language's own text uses. */
|
|
307
|
+
scriptRole: ScriptRole;
|
|
308
|
+
direction: "ltr" | "rtl";
|
|
309
|
+
rtl: boolean;
|
|
310
|
+
/** Major (heading) theme font slots. */
|
|
311
|
+
heading: ScriptFontSlots;
|
|
312
|
+
/** Minor (body) theme font slots. The top-level latin/eastAsian/complexScript repeat these. */
|
|
313
|
+
body: ScriptFontSlots;
|
|
314
|
+
/**
|
|
315
|
+
* Supplemental theme font for the language's script. Present only when an explicit slot, the
|
|
316
|
+
* design scheme's own script family or the language's font scheme supplies one; absent for
|
|
317
|
+
* Latin, Cyrillic, Greek and for scripts with no script font. For Armenian, Georgian and
|
|
318
|
+
* Ethiopic (latin slot) an explicit `complexScript` slot or a design `cs` scheme that serves the
|
|
319
|
+
* language replaces the language's own font scheme.
|
|
320
|
+
*/
|
|
321
|
+
supplement?: ScriptFontSupplement;
|
|
322
|
+
sources: {
|
|
323
|
+
eastAsian: ScriptFontSource;
|
|
324
|
+
complexScript: ScriptFontSource;
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* One slide's script profile, as a host's script planner reads it (`TextMeasurement.forScripts`): the heading and
|
|
329
|
+
* body families per script slot, where a slot whose `resolveScriptFonts` source is `latin` or `schemeFamily` names
|
|
330
|
+
* the slide's latin role family, and the language fields of `resolveScriptFonts`. Without a resolvable language
|
|
331
|
+
* only the slots (all latin), `script: "Zzzz"`, `rtl` and `serif` are present.
|
|
332
|
+
*/
|
|
333
|
+
interface ScriptMeasurementProfile {
|
|
334
|
+
heading: ScriptFontSlots;
|
|
335
|
+
body: ScriptFontSlots;
|
|
336
|
+
supplement?: ScriptFontSupplement;
|
|
337
|
+
script: string;
|
|
338
|
+
scriptRole?: ScriptRole;
|
|
339
|
+
bcp47?: string;
|
|
340
|
+
lang?: string;
|
|
341
|
+
languageSource?: ResolvedScriptFonts["languageSource"];
|
|
342
|
+
direction?: "ltr" | "rtl";
|
|
343
|
+
rtl: boolean;
|
|
344
|
+
/** The slide's font scheme is a serif scheme (`type: "serif"`): script runs prefer serif replacements. */
|
|
345
|
+
serif: boolean;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/** The OOXML script slot for an ISO 15924 script code. Unknown scripts use the latin slot. */
|
|
349
|
+
declare function scriptFontRole(script: string): ScriptRole;
|
|
350
|
+
/**
|
|
351
|
+
* Resolve the per-script theme fonts, language tags and direction for a
|
|
352
|
+
* presentation (or a `{ design, language, catalogs }` subset of one).
|
|
353
|
+
*
|
|
354
|
+
* The latin slot follows the effective design font scheme exactly as
|
|
355
|
+
* `resolveFontFamilies` does; when nothing names a font scheme it falls back to
|
|
356
|
+
* the engine default font scheme. Each of the eastAsian and complexScript slots
|
|
357
|
+
* takes, in order: the design font scheme's explicit slot; the scheme's own
|
|
358
|
+
* families when its `languageFamily` names the slot and its `languages` list
|
|
359
|
+
* is empty or names the language; the language's font scheme when the
|
|
360
|
+
* language's script uses the slot; otherwise the latin family.
|
|
361
|
+
*/
|
|
362
|
+
declare function resolveScriptFonts(input: unknown, options?: ResolveScriptFontsOptions): ResolvedScriptFonts;
|
|
363
|
+
/**
|
|
364
|
+
* The deck base direction composition lays a slide out in: the direction of the presentation language's script
|
|
365
|
+
* (`rtl` for Arabic, Hebrew and the other right-to-left scripts), `ltr` when the document names no language or
|
|
366
|
+
* the language does not resolve. Layout, preview and export all read this one value (RR-05).
|
|
367
|
+
*/
|
|
368
|
+
declare function resolveSlideDirection(presentation: unknown, slideIndex?: number): "ltr" | "rtl";
|
|
369
|
+
|
|
235
370
|
/**
|
|
236
371
|
* Engine defaults and engine vocabularies (OPF 0.15, FA-20/21). Small tables of values every engine must know to
|
|
237
372
|
* draw, compiled from spec/reference/engine-defaults.json and spec/reference/engine-vocabularies.json. None of
|
|
@@ -381,20 +516,67 @@ interface FurnitureField {
|
|
|
381
516
|
}
|
|
382
517
|
/** PowerPoint's first Insert > Date and Time choice for en-US (`datetime1`). */
|
|
383
518
|
declare const DEFAULT_FURNITURE_DATE_FORMAT = "M/d/yyyy";
|
|
384
|
-
declare const DEFAULT_SLIDE_NUMBER_FORMAT = "{current}";
|
|
385
519
|
/** Format an ISO calendar date with an LDML-style pattern. Returns an error message when either input is unsupported. */
|
|
386
520
|
declare function formatFurnitureDate(iso: string, pattern: string): {
|
|
387
521
|
text: string;
|
|
388
522
|
} | {
|
|
389
523
|
error: string;
|
|
390
524
|
};
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Organization logos (RR-71, OPF 0.18): every logo lives on an organization, in up to four shapes, each optionally
|
|
528
|
+
* split by the background it is drawn on. One resolution rule for every consumer: the cover and section logo, picture
|
|
529
|
+
* bullets, and the slide-scoped built-in references `var:organization.logo[.<shape>]` and
|
|
530
|
+
* `var:organization.<id>.logo[.<shape>]` in any image field (zone `image`, image blocks, slide `image`).
|
|
531
|
+
* Pure: no I/O; colors are never inspected (the host's dark-background test picks `onDark`).
|
|
532
|
+
* See docs/templates-and-variables.md and docs/design-resolution.md.
|
|
533
|
+
*/
|
|
534
|
+
/** The logo shapes an organization can provide, in picker order. */
|
|
535
|
+
declare const LOGO_SHAPES: readonly ["full", "stacked", "icon", "wordmark"];
|
|
536
|
+
type LogoShape = (typeof LOGO_SHAPES)[number];
|
|
537
|
+
/** Which value of a shape was drawn: `onLight` or `onDark` from a split shape, `default` for a single asset. */
|
|
538
|
+
type LogoVariant = "onLight" | "onDark" | "default";
|
|
539
|
+
/** A logo asset chosen by resolveLogo. */
|
|
540
|
+
interface ResolvedLogo {
|
|
541
|
+
/** The asset as authored (a string or an Asset object). */
|
|
542
|
+
source: unknown;
|
|
543
|
+
/** OPF path of the chosen value: `organization.logo`, `organization.1.logo.icon`, `organization.logo.full.onDark`. */
|
|
544
|
+
path: string;
|
|
545
|
+
/** The shape that was asked for (after a `design.logo` override); `path` shows the shape that supplied it. */
|
|
546
|
+
shape: LogoShape;
|
|
547
|
+
variant: LogoVariant;
|
|
548
|
+
/** The canonical slide-scoped reference for this logo: `var:organization.logo`, `var:organization.beta.logo.icon`. */
|
|
549
|
+
reference: string;
|
|
550
|
+
/** The `design.logo` override that chose the organization or shape (`design.logo`, `slides.3.design.logo`), when one did. */
|
|
551
|
+
designPath?: string;
|
|
552
|
+
}
|
|
553
|
+
interface ResolveLogoOptions {
|
|
554
|
+
/** The shape the consumer draws when no override names one; defaults to `full` (covers). Picture bullets ask for `icon`. */
|
|
555
|
+
shape?: LogoShape;
|
|
556
|
+
/** True on a dark background (host luminance test): `onDark` values first, then `onLight`. */
|
|
557
|
+
onDark?: boolean;
|
|
558
|
+
/** Index used in the `slides.N.design.logo` path of a slide-level override; defaults to 0. */
|
|
559
|
+
slideIndex?: number;
|
|
560
|
+
/** Resolve this reference (`var:organization.beta.logo.icon`, with or without `var:`) instead of the design.logo chain. */
|
|
561
|
+
reference?: string;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Resolve the logo a slide should draw, the same way in every engine (OPF 0.18, RR-71). Logos live on the
|
|
565
|
+
* organization (`Organization.logo`: one asset, or `{ full, stacked, icon, wordmark }`, each an asset or
|
|
566
|
+
* `{ onLight, onDark }`). Which one:
|
|
567
|
+
*
|
|
568
|
+
* 1. `options.reference`, when given (`var:organization.beta.logo.icon`);
|
|
569
|
+
* 2. else the slide's `design.logo`, then the deck's: `false` draws no logo, and a logo reference
|
|
570
|
+
* (`var:organization.beta.logo`, `var:organization.logo.wordmark`) picks the organization and, when it names one,
|
|
571
|
+
* the shape (a named shape wins over `options.shape`);
|
|
572
|
+
* 3. else the primary organization (`role: 'primary'`, else the first).
|
|
573
|
+
*
|
|
574
|
+
* The shape is `options.shape` (default `full`) unless the reference names one; a missing shape falls back to `full`,
|
|
575
|
+
* and `full` to the first defined of `wordmark`, `stacked`, `icon`. Within a shape, `onDark` is preferred on a dark
|
|
576
|
+
* background and `onLight` otherwise, and a missing one uses the other. Returns null when no logo resolves (including
|
|
577
|
+
* an override that names an organization without a logo: the override never falls back to another organization).
|
|
578
|
+
*/
|
|
579
|
+
declare function resolveLogo(presentation: unknown, slide: unknown, options?: ResolveLogoOptions): ResolvedLogo | null;
|
|
398
580
|
|
|
399
581
|
/** Normalize a literal hex color to uppercase #RRGGBB. */
|
|
400
582
|
declare function normalizeHexColor(value: unknown): string | undefined;
|
|
@@ -537,121 +719,6 @@ declare const SURFACE_ALT_MIN_CONTRAST = 1.1;
|
|
|
537
719
|
*/
|
|
538
720
|
declare function surfaceAltColor(surface: string, text: string): string;
|
|
539
721
|
|
|
540
|
-
/**
|
|
541
|
-
* Language/script font model (font-fidelity-everywhere FF-18).
|
|
542
|
-
*
|
|
543
|
-
* Resolves, for a presentation's language and effective font scheme, the font
|
|
544
|
-
* family for each OOXML script slot (`a:latin`, `a:ea`, `a:cs`) of the major
|
|
545
|
-
* (heading) and minor (body) theme fonts, plus the language tags and base
|
|
546
|
-
* direction. Pure: no DOM, fonts, network or mutation. Font-scheme references
|
|
547
|
-
* resolve like every content reference (the document's catalogs groups, then the
|
|
548
|
-
* registered catalogs); nothing is fetched.
|
|
549
|
-
*
|
|
550
|
-
* The language is an engine vocabulary: tags the vocabulary knows resolve
|
|
551
|
-
* deterministically from vendored tables. Only a tag outside it may consult the
|
|
552
|
-
* runtime's ICU likely subtags (`Intl.Locale#maximize`) to find its script.
|
|
553
|
-
*
|
|
554
|
-
* Design: docs/programs/font-fidelity-everywhere/script-font-model.md.
|
|
555
|
-
*/
|
|
556
|
-
/** OOXML script slot a writing system uses: `a:latin`, `a:ea` or `a:cs`. */
|
|
557
|
-
type ScriptRole = "latin" | "eastAsian" | "complexScript";
|
|
558
|
-
/** FontScheme.languageFamily as written: the short OOXML names and the long slot names are one value. */
|
|
559
|
-
type LanguageFamilyName = "latin" | "ea" | "cs" | "eastAsian" | "complexScript";
|
|
560
|
-
/**
|
|
561
|
-
* Read a FontScheme `languageFamily` as one of three values. `eastAsian` is `ea` and `complexScript` is
|
|
562
|
-
* `cs`; anything that is not one of the five names returns undefined.
|
|
563
|
-
*/
|
|
564
|
-
declare function normalizeLanguageFamily(value: unknown): "latin" | "ea" | "cs" | undefined;
|
|
565
|
-
/** Target application whose language font-scheme defaults apply. */
|
|
566
|
-
type ScriptFontApp = "powerpoint" | "google-slides";
|
|
567
|
-
/** Font family per OOXML script slot for one theme font (major or minor). */
|
|
568
|
-
interface ScriptFontSlots {
|
|
569
|
-
latin: string;
|
|
570
|
-
eastAsian: string;
|
|
571
|
-
complexScript: string;
|
|
572
|
-
}
|
|
573
|
-
/**
|
|
574
|
-
* Where a resolved eastAsian/complexScript family came from:
|
|
575
|
-
* - `fontScheme`: an explicit `eastAsian`/`complexScript` slot on the effective design font scheme.
|
|
576
|
-
* - `schemeFamily`: the design font scheme's own major/minor, because its `languageFamily` names this
|
|
577
|
-
* slot and its `languages` list is empty or names the presentation language.
|
|
578
|
-
* - `language`: the presentation language's font scheme (`fontScheme`, or `googleFontScheme` for Google Slides).
|
|
579
|
-
* - `latin`: no script-specific choice exists, so the slot repeats the latin family.
|
|
580
|
-
*/
|
|
581
|
-
type ScriptFontSource = "fontScheme" | "schemeFamily" | "language" | "latin";
|
|
582
|
-
/** A per-script supplemental theme font, as in OOXML `<a:font script="Jpan" typeface="..."/>`. */
|
|
583
|
-
interface ScriptFontSupplement {
|
|
584
|
-
/** OOXML theme script tag (ISO 15924, except Korean uses `Hang`). */
|
|
585
|
-
script: string;
|
|
586
|
-
heading: string;
|
|
587
|
-
body: string;
|
|
588
|
-
}
|
|
589
|
-
interface ResolveScriptFontsOptions extends CatalogOptions {
|
|
590
|
-
/** Which language font default applies. Defaults to `powerpoint` (`language.fontScheme`, else the vocabulary default); `google-slides` prefers `language.googleFontScheme`. */
|
|
591
|
-
app?: ScriptFontApp;
|
|
592
|
-
/** Merge `slides[slideIndex].design` over the deck design, per field, before resolving the font scheme. */
|
|
593
|
-
slideIndex?: number;
|
|
594
|
-
/** Language to resolve instead of the document's `language` (a BCP-47 tag or a Language object). */
|
|
595
|
-
language?: unknown;
|
|
596
|
-
/** Language tag used when neither the document nor `options.language` names a resolvable language. Defaults to `en-US`. */
|
|
597
|
-
defaultLanguage?: string;
|
|
598
|
-
}
|
|
599
|
-
interface ResolvedScriptFonts extends ScriptFontSlots {
|
|
600
|
-
/**
|
|
601
|
-
* Tag for OOXML `a:rPr/@lang` (and `a:endParaRPr/@lang`): an authored tag that carries a region,
|
|
602
|
-
* else the curated `ooxmlLang` of the language vocabulary, else the canonical BCP-47 tag.
|
|
603
|
-
*/
|
|
604
|
-
lang: string;
|
|
605
|
-
/** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag. */
|
|
606
|
-
bcp47: string;
|
|
607
|
-
/** `default` when the tag came from `defaultLanguage` because no language resolved. */
|
|
608
|
-
languageSource: "document" | "option" | "default";
|
|
609
|
-
/** ISO 15924 script (`Zzzz` when it cannot be determined). */
|
|
610
|
-
script: string;
|
|
611
|
-
/** Script slot the language's own text uses. */
|
|
612
|
-
scriptRole: ScriptRole;
|
|
613
|
-
direction: "ltr" | "rtl";
|
|
614
|
-
rtl: boolean;
|
|
615
|
-
/** Major (heading) theme font slots. */
|
|
616
|
-
heading: ScriptFontSlots;
|
|
617
|
-
/** Minor (body) theme font slots. The top-level latin/eastAsian/complexScript repeat these. */
|
|
618
|
-
body: ScriptFontSlots;
|
|
619
|
-
/**
|
|
620
|
-
* Supplemental theme font for the language's script. Present only when an explicit slot, the
|
|
621
|
-
* design scheme's own script family or the language's font scheme supplies one; absent for
|
|
622
|
-
* Latin, Cyrillic, Greek and for scripts with no script font. For Armenian, Georgian and
|
|
623
|
-
* Ethiopic (latin slot) an explicit `complexScript` slot or a design `cs` scheme that serves the
|
|
624
|
-
* language replaces the language's own font scheme.
|
|
625
|
-
*/
|
|
626
|
-
supplement?: ScriptFontSupplement;
|
|
627
|
-
sources: {
|
|
628
|
-
eastAsian: ScriptFontSource;
|
|
629
|
-
complexScript: ScriptFontSource;
|
|
630
|
-
};
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
/** The OOXML script slot for an ISO 15924 script code. Unknown scripts use the latin slot. */
|
|
634
|
-
declare function scriptFontRole(script: string): ScriptRole;
|
|
635
|
-
/**
|
|
636
|
-
* Resolve the per-script theme fonts, language tags and direction for a
|
|
637
|
-
* presentation (or a `{ design, language, catalogs }` subset of one).
|
|
638
|
-
*
|
|
639
|
-
* The latin slot follows the effective design font scheme exactly as
|
|
640
|
-
* `resolveFontFamilies` does; when nothing names a font scheme it falls back to
|
|
641
|
-
* the engine default font scheme. Each of the eastAsian and complexScript slots
|
|
642
|
-
* takes, in order: the design font scheme's explicit slot; the scheme's own
|
|
643
|
-
* families when its `languageFamily` names the slot and its `languages` list
|
|
644
|
-
* is empty or names the language; the language's font scheme when the
|
|
645
|
-
* language's script uses the slot; otherwise the latin family.
|
|
646
|
-
*/
|
|
647
|
-
declare function resolveScriptFonts(input: unknown, options?: ResolveScriptFontsOptions): ResolvedScriptFonts;
|
|
648
|
-
/**
|
|
649
|
-
* The deck base direction composition lays a slide out in: the direction of the presentation language's script
|
|
650
|
-
* (`rtl` for Arabic, Hebrew and the other right-to-left scripts), `ltr` when the document names no language or
|
|
651
|
-
* the language does not resolve. Layout, preview and export all read this one value (RR-05).
|
|
652
|
-
*/
|
|
653
|
-
declare function resolveSlideDirection(presentation: unknown, slideIndex?: number): "ltr" | "rtl";
|
|
654
|
-
|
|
655
722
|
/**
|
|
656
723
|
* Deterministic syntax highlighting shared by the SVG preview and the PPTX export (RR-07).
|
|
657
724
|
*
|
|
@@ -1380,6 +1447,13 @@ interface TextMeasurement {
|
|
|
1380
1447
|
/** Shaped vector ink relative to the left baseline origin (positive y down).
|
|
1381
1448
|
* Null means no outline. These are not hinted/antialiased raster bounds. */
|
|
1382
1449
|
outlineBounds?: (text: string, fontSize: number, style: TextStyle) => LayoutBox | null;
|
|
1450
|
+
/**
|
|
1451
|
+
* Script planning: a measurement that measures each script run of a string with the face of its script slot in
|
|
1452
|
+
* `profile` (and the host's glyph fallback), as the host's engines draw it. The renderer's `loadFonts()` measurement
|
|
1453
|
+
* provides it with its script planner. `validate` and `paginate` call it with each slide's profile, and with a run language's own
|
|
1454
|
+
* profile for a run that names one, so they measure script text the way preview and export do.
|
|
1455
|
+
*/
|
|
1456
|
+
forScripts?: (profile: ScriptMeasurementProfile) => TextMeasurement;
|
|
1383
1457
|
}
|
|
1384
1458
|
/**
|
|
1385
1459
|
* The fonts handle every deck-level verb takes as `{ fonts }`. Core reads only `textMeasurement`: how wide the
|
|
@@ -1598,26 +1672,19 @@ interface ComposedBackgroundImage {
|
|
|
1598
1672
|
/** Present when core reads the picture's aspect ratio and the fit is not tile; otherwise call `fitImage` with the host's. */
|
|
1599
1673
|
picture?: ImageFitPlacement;
|
|
1600
1674
|
}
|
|
1601
|
-
/** Which logo variant family a consumer asks for: the full lockup, a square mark, or a stacked lockup. */
|
|
1602
|
-
type LogoSlot = 'lockup' | 'icon' | 'stacked';
|
|
1603
|
-
/** A logo asset chosen by resolveLogo, with its source value, OPF path, LogoSet variant key and the slot it serves. */
|
|
1604
|
-
interface ResolvedLogo {
|
|
1605
|
-
source: unknown;
|
|
1606
|
-
path: string;
|
|
1607
|
-
variant: string;
|
|
1608
|
-
slot: LogoSlot;
|
|
1609
|
-
}
|
|
1610
1675
|
/**
|
|
1611
1676
|
* The deck logo drawn on a cover or section slide, at the top-left of the free area and above the
|
|
1612
|
-
* centered heading group
|
|
1613
|
-
* anchored left and vertically centered; content slides never carry one.
|
|
1677
|
+
* centered heading group: the primary organization's full logo, or the `design.logo` override. Consumers fit the
|
|
1678
|
+
* image inside `box` preserving its aspect ratio, anchored left and vertically centered; content slides never carry one.
|
|
1679
|
+
* `shape`, `variant` and `reference` are those of `resolveLogo`.
|
|
1614
1680
|
*/
|
|
1615
1681
|
interface ComposedLogo {
|
|
1616
1682
|
box: LayoutBox;
|
|
1617
|
-
|
|
1683
|
+
shape: LogoShape;
|
|
1618
1684
|
path: string;
|
|
1619
1685
|
source: unknown;
|
|
1620
|
-
variant:
|
|
1686
|
+
variant: LogoVariant;
|
|
1687
|
+
reference: string;
|
|
1621
1688
|
anchor: 'left' | 'right';
|
|
1622
1689
|
}
|
|
1623
1690
|
/** Picture bullet source for list markers: the deck's icon logo and the OPF path it was read from. */
|
|
@@ -1766,8 +1833,8 @@ interface ComposeSlideOptions {
|
|
|
1766
1833
|
datasets?: unknown;
|
|
1767
1834
|
};
|
|
1768
1835
|
/**
|
|
1769
|
-
* Whether the slide background is dark, by the host's own luminance test. Selects
|
|
1770
|
-
*
|
|
1836
|
+
* Whether the slide background is dark, by the host's own luminance test. Selects each logo's
|
|
1837
|
+
* `onDark` value (cover logo, `var:organization.logo.*` in zone images, picture bullets). Core never inspects colors.
|
|
1771
1838
|
*/
|
|
1772
1839
|
darkBackground?: boolean;
|
|
1773
1840
|
/**
|
|
@@ -1776,9 +1843,9 @@ interface ComposeSlideOptions {
|
|
|
1776
1843
|
* `resolveSlideContext` passes it.
|
|
1777
1844
|
*/
|
|
1778
1845
|
themeBackground?: unknown;
|
|
1779
|
-
/** One-based displayed number; source paths still use slideIndex. */
|
|
1846
|
+
/** One-based displayed number for `{{slide.number}}` in header/footer text; source paths still use slideIndex. */
|
|
1780
1847
|
slideNumber?: number;
|
|
1781
|
-
/** Displayed slide count for `{
|
|
1848
|
+
/** Displayed slide count for `{{deck.slideCount}}` in header/footer text. Defaults to `presentation.slides.length`. */
|
|
1782
1849
|
slideCount?: number;
|
|
1783
1850
|
/**
|
|
1784
1851
|
* Host-supplied current calendar date (ISO YYYY-MM-DD) for `date: true` furniture. Core never
|
|
@@ -1837,35 +1904,20 @@ declare function imageBackground(value: unknown): {
|
|
|
1837
1904
|
recolor?: unknown;
|
|
1838
1905
|
overlay?: unknown;
|
|
1839
1906
|
} | undefined;
|
|
1840
|
-
interface ResolveLogoOptions {
|
|
1841
|
-
/** Variant family to prefer; defaults to the full lockup. */
|
|
1842
|
-
slot?: LogoSlot;
|
|
1843
|
-
/** True on a dark background (host luminance test): light variants are preferred, dark ones come last. */
|
|
1844
|
-
onDark?: boolean;
|
|
1845
|
-
/** Index used in the `slides.N.design.logo` path of a slide-level logo; defaults to 0. */
|
|
1846
|
-
slideIndex?: number;
|
|
1847
|
-
}
|
|
1848
|
-
/**
|
|
1849
|
-
* Resolve the logo a slide should draw, the same way in every engine. Source precedence:
|
|
1850
|
-
* `slides[i].design.logo`, then `design.logo`, then the primary organization's `logo` (`role: 'primary'`,
|
|
1851
|
-
* else the first organization; `organization` may be an object or an array). Absence inherits; a source
|
|
1852
|
-
* that yields no usable asset falls through to the next. A string or Asset object is the `default`
|
|
1853
|
-
* variant. A LogoSet picks by slot and tone: `icon` tries iconLight/iconDark (tone), then icon, then the
|
|
1854
|
-
* lockup chain; `stacked` tries stackedLight/stackedDark (tone), then stacked, then the lockup chain; the
|
|
1855
|
-
* lockup chain prefers same-tone variants, then neutral ones, then the opposite tone. `path` is the OPF
|
|
1856
|
-
* path of the chosen value (`design.logo`, `design.logo.light`, `organization.2.logo`,
|
|
1857
|
-
* `slides.3.design.logo.icon`) and `variant` the LogoSet key or `default`. Returns null without a logo.
|
|
1858
|
-
*/
|
|
1859
|
-
declare function resolveLogo(presentation: unknown, slide: unknown, options?: ResolveLogoOptions): ResolvedLogo | null;
|
|
1860
1907
|
interface FurniturePartBase {
|
|
1861
1908
|
kind: 'header' | 'footer';
|
|
1862
1909
|
zone: 'left' | 'center' | 'right';
|
|
1863
|
-
field: 'text' | 'image' | '
|
|
1910
|
+
field: 'text' | 'image' | 'socials' | 'date';
|
|
1864
1911
|
/** Literal field or controlling flag, with the actual inherited/local path. */
|
|
1865
1912
|
path: string;
|
|
1866
|
-
/** String/asset source, when different from a generated field's flag. */
|
|
1913
|
+
/** String/asset source, when different from a generated field's flag; for a logo reference, the organization logo value drawn. */
|
|
1867
1914
|
sourcePath?: string;
|
|
1868
1915
|
generated: boolean;
|
|
1916
|
+
/**
|
|
1917
|
+
* The part's own box. A zone lays its parts out in one row, in the order image, text, socials, date (mirrored in a
|
|
1918
|
+
* right-to-left deck), aligned to the zone's edge with FURNITURE_GAP between parts and each part vertically centered
|
|
1919
|
+
* in the row. A zone with one part keeps the full zone width for text.
|
|
1920
|
+
*/
|
|
1869
1921
|
box: LayoutBox;
|
|
1870
1922
|
alignment: 'left' | 'center' | 'right';
|
|
1871
1923
|
}
|
|
@@ -1877,9 +1929,10 @@ interface FurnitureTextPart extends FurniturePartBase {
|
|
|
1877
1929
|
minFontSize: number;
|
|
1878
1930
|
fit: SourceTextFit;
|
|
1879
1931
|
/**
|
|
1880
|
-
* Live values inside `text`: every `{
|
|
1881
|
-
* (`date: true`) date
|
|
1882
|
-
*
|
|
1932
|
+
* Live values inside `text`: every substituted `{{slide.number}}` of a `text` part (type
|
|
1933
|
+
* `slideNumber`), and a whole current (`date: true`) date (type `date`), as half-open UTF-16
|
|
1934
|
+
* offsets into `text`. Hosts such as PPTX may emit them as native fields; all other text,
|
|
1935
|
+
* including `{{deck.slideCount}}`, `{{slide.section}}` and formatted fixed dates, is fixed.
|
|
1883
1936
|
*/
|
|
1884
1937
|
fields?: FurnitureField[];
|
|
1885
1938
|
/**
|
|
@@ -1916,7 +1969,10 @@ interface FurnitureSocialLink extends SocialProfile {
|
|
|
1916
1969
|
declare function resolveSocialProfile(platform: string, value: string, owner?: 'organization' | 'speaker'): SocialProfile;
|
|
1917
1970
|
interface FurnitureImagePart extends FurniturePartBase {
|
|
1918
1971
|
type: 'image';
|
|
1972
|
+
/** The asset to draw: the zone `image` as written, or the organization logo a logo reference resolved to for this slide. */
|
|
1919
1973
|
image: unknown;
|
|
1974
|
+
/** The slide-scoped logo reference the zone wrote (`var:organization.logo.icon`), when `image` came from one. */
|
|
1975
|
+
reference?: string;
|
|
1920
1976
|
}
|
|
1921
1977
|
type FurniturePart = FurnitureTextPart | FurnitureImagePart;
|
|
1922
1978
|
interface FurnitureLayout {
|
|
@@ -1932,6 +1988,10 @@ interface FurnitureLayout {
|
|
|
1932
1988
|
diagnostics: LayoutDiagnostic[];
|
|
1933
1989
|
overflow: boolean;
|
|
1934
1990
|
}
|
|
1991
|
+
/** Gap between the parts of one header/footer zone row, in reference pixels (scaled with the canvas's short edge). */
|
|
1992
|
+
declare const FURNITURE_GAP = 12;
|
|
1993
|
+
/** In a zone with other parts, an image is at most this share of the zone's width, so a wide logo cannot starve the text. */
|
|
1994
|
+
declare const FURNITURE_IMAGE_SHARE = 0.4;
|
|
1935
1995
|
/** Resolve and measure repeated fields without mutating metadata or consulting a clock. */
|
|
1936
1996
|
declare function layoutFurniture(input: unknown, options?: ComposeSlideOptions): FurnitureLayout;
|
|
1937
1997
|
/** Deterministic estimate, not a font shaping engine. Preserves explicit line breaks. */
|
|
@@ -2442,4 +2502,4 @@ declare function resolveCanvasDimensions(input: unknown): {
|
|
|
2442
2502
|
height: number;
|
|
2443
2503
|
};
|
|
2444
2504
|
|
|
2445
|
-
export { type
|
|
2505
|
+
export { type ChartOptionTarget as $, type AnnotatedRun as A, type BackgroundImageFit as B, type ComposeSlideOptions as C, CODE_HIGHLIGHT_LANGUAGES as D, ENGINE_DEFAULT_CHART_TYPES as E, type Fonts as F, CODE_HIGHLIGHT_MAX_LENGTH as G, CODE_PANEL_BACKGROUND as H, CODE_PANEL_FOREGROUND as I, CODE_SYNTAX_MIN_CONTRAST as J, type Caption as K, type LayoutDiagnostic as L, type MeasureTextWidth as M, type CaptionAlignment as N, type CaptionObject as O, type CaptionPosition as P, type CaptionSettings as Q, type ResolveLogoOptions as R, SOCIAL_PLATFORMS as S, type TextMeasurement as T, type ChartHighlightMarks as U, type ChartLabelContent as V, type ChartLabelPosition as W, type ChartLegendPosition as X, type ChartOptionDiagnostic as Y, type ChartOptionKind as Z, type ChartOptionSupport as _, CHART_TYPES as a, type ImageFitPlacement as a$, type CitationMarker as a0, type CitationNote as a1, type CodeContent as a2, type CodeHighlightBand as a3, type CodeHighlightColors as a4, type CodeHighlightEntry as a5, type CodeHighlightIssue as a6, type CodeHighlightLines as a7, type CodeLayout as a8, type CodeLayoutDiagnostic as a9, type CompositionExplanation as aA, type CompositionPenalties as aB, type CompositionTrack as aC, DARK_BACKGROUND_LUMINANCE as aD, DEFAULT_CHART_LABEL_SEPARATOR as aE, DEFAULT_FURNITURE_DATE_FORMAT as aF, DESIGN_HINT_KEYS as aG, type DeckCitations as aH, type DesignHintKey as aI, type DesignHintSource as aJ, type DesignHints as aK, FONT_SIZE_GRID_PER_PX as aL, FOOTNOTE_MAX_RATIO as aM, FURNITURE_GAP as aN, FURNITURE_IMAGE_SHARE as aO, type FontFaceSelection as aP, type FootnoteLayoutOptions as aQ, type FurnitureField as aR, type FurnitureImagePart as aS, type FurnitureLayout as aT, type FurniturePart as aU, type FurniturePartBase as aV, type FurnitureSocialLink as aW, type FurnitureTextExtras as aX, type FurnitureTextPart as aY, type ImageEdge as aZ, type ImageFit as a_, type CodeLayoutOptions as aa, type CodeLineSegment as ab, type CodeLineSource as ac, type CodeRun as ad, type CodeSyntaxPalette as ae, type CodeSyntaxPaletteOptions as af, type CodeSyntaxPaletteTheme as ag, type CodeTextFit as ah, type CodeTextPart as ai, type CodeToken as aj, type CodeTokenKind as ak, type ComposedBackgroundImage as al, type ComposedCaption as am, type ComposedFlow as an, type ComposedFootnoteEntry as ao, type ComposedFootnotes as ap, type ComposedGroup as aq, type ComposedImage as ar, type ComposedItem as as, type ComposedLogo as at, type ComposedOverlay as au, type ComposedPlacement as av, type ComposedSlot as aw, type Composition as ax, type CompositionCandidate as ay, type CompositionDecision as az, ENGINE_DEFAULT_COLOR_SCHEME as b, type ResolvedDesignHints as b$, type ImageFocus as b0, type ImageShape as b1, LAYOUT_BODY_KINDS as b2, type LayoutBodyKind as b3, type LayoutBox as b4, type LayoutContent as b5, type LayoutLeaf as b6, type LayoutSlot as b7, type ListBulletImage as b8, type ListEntryLayout as b9, type NumberingStyleName as bA, type NumberingSuffix as bB, OPFCompositionError as bC, PATTERN_PRESETS as bD, PATTERN_PRESET_ALIASES as bE, PATTERN_TILE_SIZE as bF, PICTURE_BULLET_SCALE as bG, type PhysicalAlignment as bH, type QuoteContent as bI, type QuoteLayout as bJ, type QuoteLayoutDiagnostic as bK, type QuoteLayoutOptions as bL, type QuotePhoto as bM, type QuoteTextPart as bN, type QuoteTextSource as bO, type ReadingBox as bP, type Reference as bQ, type ReferencesSlideOptions as bR, type ResolveColorRefOptions as bS, type ResolveColorRefRoles as bT, type ResolveColorRolesOptions as bU, type ResolveDesignHintsOptions as bV, type ResolveScriptFontsOptions as bW, type ResolvedChartDataLabels as bX, type ResolvedChartHighlight as bY, type ResolvedChartOptions as bZ, type ResolvedColorRoles as b_, type ListFit as ba, type ListFitOptions as bb, type ListNumber as bc, type ListText as bd, type ListValue as be, MAX_COMPOSITION_DEPTH as bf, MAX_NUMBERING_LEVELS as bg, MAX_NUMBERING_VALUE as bh, MAX_PLACEHOLDER_GROUP_DEPTH as bi, MAX_ROMAN_VALUE as bj, METRIC_TREND_MIN_CONTRAST as bk, METRIC_TREND_SHAPES as bl, type MetricContent as bm, type MetricLayout as bn, type MetricLayoutDiagnostic as bo, type MetricLayoutOptions as bp, type MetricSentiment as bq, type MetricTextPart as br, type MetricTextSource as bs, type MetricTrend as bt, type MetricTrendColorOptions as bu, type MetricTrendMark as bv, NUMBERING_STYLES as bw, NUMBERING_SUFFIXES as bx, type Numbering as by, type NumberingInput as bz, ENGINE_DEFAULT_FONT_SCHEME as c, codeHighlightLines as c$, type ResolvedNumbering as c0, type ResolvedScriptFonts as c1, type RichText as c2, type RichTextFit as c3, type RichTextFragment as c4, type RichTextLine as c5, type RichTextOptions as c6, type RichTextRun as c7, SURFACE_ALT_MIN_CONTRAST as c8, SURFACE_ALT_MIX as c9, type TextLineSource as cA, type TextPlacement as cB, type TextPlacementLine as cC, type TimelineContent as cD, type TimelineEvent as cE, type TimelineLayout as cF, type TimelineLayoutDiagnostic as cG, type TimelineLayoutOptions as cH, type TimelineMarkerShape as cI, type TimelineStatus as cJ, type TimelineStatusColors as cK, type TimelineTextPart as cL, type WatermarkTextLayout as cM, type WatermarkTextOptions as cN, annotationText as cO, captionSettings as cP, chartColorForFill as cQ, chartHighlightColors as cR, chartHighlightMarks as cS, chartLabelText as cT, chartOptionSupport as cU, chartOptionTarget as cV, chartPaletteForFill as cW, chartPrimaryLayout as cX, citationMarkerText as cY, codeHighlightBands as cZ, codeHighlightColors as c_, type ScriptFontApp as ca, type ScriptFontSlots as cb, type ScriptFontSource as cc, type ScriptFontSupplement as cd, type ScriptMeasurementProfile as ce, type ScriptRole as cf, type SlideCitations as cg, type SlideComposition as ch, type SocialProfile as ci, type SourceTextFit as cj, TIMELINE_OUTLINE_MIN_CONTRAST as ck, TIMELINE_STATUSES as cl, TIMELINE_TEXT_MIN_CONTRAST as cm, type TableBorder as cn, type TableCellLayout as co, type TableCellStyle as cp, type TableGrid as cq, type TableGridCell as cr, type TableGridIssue as cs, type TableLayout as ct, type TableLayoutOptions as cu, type TableRowLayout as cv, type TextDirection as cw, type TextFit as cx, type TextLineInk as cy, type TextLineSegment as cz, ENGINE_DEFAULT_THEME as d, resolveScriptFonts as d$, codeLineNumbers as d0, codeLineRuns as d1, codeSyntaxPalette as d2, codeSyntaxPaletteForScheme as d3, collectCitations as d4, colorContrast as d5, composeSlide as d6, defaultSlideBackground as d7, fitImage as d8, fitList as d9, layoutWatermark as dA, listNumbers as dB, measureText as dC, measureTextOutline as dD, metricTrendColor as dE, metricTrendMark as dF, metricTrendPoints as dG, normalizeHexColor as dH, numberingAtLevel as dI, numberingStyleDraws as dJ, paragraphDirection as dK, paragraphDirectionAt as dL, patternBitmap as dM, patternRuns as dN, physicalAlignment as dO, placeTextLines as dP, referencesSlide as dQ, resolveCanvasDimensions as dR, resolveChartOptions as dS, resolveCodeLanguage as dT, resolveColorRef as dU, resolveColorRoles as dV, resolveDesignHints as dW, resolveFontFamilies as dX, resolveLogo as dY, resolveNumbering as dZ, resolvePatternPreset as d_, fitRichText as da, fitText as db, formatChartLabelNumber as dc, formatChartLabelPercent as dd, formatFurnitureDate as de, formatListNumber as df, hasPlaceholderGroups as dg, imageBackground as dh, imageShape as di, intrinsicImageAspect as dj, intrinsicImageSize as dk, isDarkColor as dl, isPlaceholderGroup as dm, layoutCaption as dn, layoutCode as dp, layoutContent as dq, layoutFootnotes as dr, layoutFurniture as ds, layoutLeaves as dt, layoutMetric as du, layoutQuote as dv, layoutSlots as dw, layoutStructure as dx, layoutTable as dy, layoutTimeline as dz, type FontFamilies as e, resolveSlideDirection as e0, resolveSocialProfile as e1, resolveTextStyle as e2, scriptFontRole as e3, sliceNumberedItems as e4, slideCitations as e5, snapFontSizeDown as e6, snapFontSizeUp as e7, surfaceAltColor as e8, tableGrid as e9, tableRowBoundaries as ea, textColorForFill as eb, textWidthMeasurer as ec, timelineMarkerShapes as ed, timelineTextColor as ee, tokenizeCode as ef, visualReadingOrder as eg, walkCitationRuns as eh, wrapText as ei, LANGUAGES as f, LOGO_SHAPES as g, type LanguageFamilyName as h, type LanguageVocabulary as i, type LogoShape as j, type LogoVariant as k, type ResolvedLogo as l, type SocialPlatformVocabulary as m, type TextStyle as n, normalizeLanguageFamily as o, type AnnotationFitter as p, type AnnotationLayoutOptions as q, CAPTIONABLE_FIELDS as r, CAPTION_FONT_RATIO as s, CAPTION_MAX_RATIO as t, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST as u, CHART_HIGHLIGHT_MUTED_MIX as v, CHART_SERIES_MIN_DIFFERENCE as w, CHART_SERIES_MIN_LIGHTNESS_STEP as x, CITATION_MARKER_RAISE as y, CITATION_MARKER_SCALE as z };
|