@openpresentation/opf 0.22.2 → 0.23.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/browser.js +16 -16
- package/dist/{chunk-MAJHCGOW.js → chunk-3FWUA763.js} +4 -4
- package/dist/{chunk-SPCONMIY.js → chunk-4I3XPRAO.js} +1 -1
- package/dist/{chunk-7XNAMCGT.js → chunk-B2XALDGS.js} +6 -6
- package/dist/{chunk-AHKRJSCF.js → chunk-BOWBPSFF.js} +6 -6
- package/dist/{chunk-YUIEWE5B.js → chunk-CNOLYQ4C.js} +2 -2
- package/dist/{chunk-2SENTA2R.js → chunk-F55S5HDP.js} +1 -1
- package/dist/{chunk-23MOKE4B.js → chunk-L67MPTPZ.js} +43 -9
- package/dist/{chunk-VKNFZEMG.js → chunk-N3ZPLGK5.js} +137 -16
- package/dist/{chunk-KUNXFN7B.js → chunk-NIA2WEXN.js} +1 -1
- package/dist/{chunk-MG34DCDB.js → chunk-PLV7P236.js} +2 -2
- package/dist/{chunk-3T7MNRBY.js → chunk-TILQBXPZ.js} +1 -1
- package/dist/{chunk-BULGAKBY.js → chunk-TMOQ532D.js} +2 -2
- package/dist/{chunk-MLMTXXM4.js → chunk-VHNG75IH.js} +5 -5
- package/dist/{chunk-YSJRBRHB.js → chunk-VIOSRKMA.js} +1 -1
- package/dist/{chunk-SBWIZSPB.js → chunk-XKUEEDDN.js} +5 -5
- package/dist/{chunk-X3PQMMAY.js → chunk-YMBA3V2O.js} +1 -1
- package/dist/{chunk-3UAVON3O.js → chunk-ZIRSAFRC.js} +99 -0
- package/dist/{composition-CkHn6JrM.d.ts → composition-qX-igJe5.d.ts} +147 -15
- package/dist/composition.d.ts +1 -1
- package/dist/composition.js +1 -1
- package/dist/conversion-CY34E5WI.js +19 -0
- package/dist/{conversion-C_MOkYGH.d.ts → conversion-t-YYHWL-.d.ts} +5 -5
- package/dist/convert.d.ts +2 -2
- package/dist/convert.js +7 -7
- package/dist/data.d.ts +1 -1
- package/dist/data.js +2 -2
- package/dist/{deck-report-vnWmXBjq.d.ts → deck-report-CJ6gd_6-.d.ts} +2 -2
- package/dist/deck.d.ts +5 -5
- package/dist/deck.js +10 -10
- package/dist/diff.js +5 -5
- package/dist/docs.js +5 -5
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +213 -0
- package/dist/format.js +2 -2
- package/dist/index.d.ts +11 -11
- package/dist/index.js +20 -20
- package/dist/markdown.d.ts +3 -3
- package/dist/markdown.js +7 -7
- package/dist/node-engine.d.ts +7 -7
- package/dist/node-engine.js +20 -20
- package/dist/{pagination-C4jzAtFy.d.ts → pagination-LiWxhbsz.d.ts} +3 -1
- package/dist/pagination.d.ts +2 -2
- package/dist/pagination.js +4 -4
- package/dist/patch.js +4 -4
- package/dist/{presentation-fN6tORPZ.d.ts → presentation-Dn-fm0iY.d.ts} +35 -0
- package/dist/schemas.d.ts +2 -0
- package/dist/schemas.js +1 -1
- package/dist/spec/schemas/opf.schema.json +40 -0
- package/dist/types.d.ts +1 -1
- package/dist/{validation-types-B21fZfb2.d.ts → validation-types-CzPKoKWo.d.ts} +1 -1
- package/dist/{validator-Cflv4F9e.d.ts → validator-BuAV_HUo.d.ts} +2 -2
- package/dist/validator.d.ts +4 -4
- package/dist/validator.js +3 -3
- package/dist/yaml.d.ts +3 -3
- package/dist/yaml.js +7 -7
- package/package.json +3 -3
- package/dist/conversion-LBQMY7LX.js +0 -19
package/dist/browser.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { OPFApiError } from './chunk-
|
|
2
|
-
export { OPFApiError, OPFExportError, OPFImportError, OPFMoveToCustomError, copySlides, edit, embed, fill, fillRecords, localAssetSources, moveToCustom, parseSlideSelection, sameRecord, stats, updateFromCatalog } from './chunk-
|
|
1
|
+
import { OPFApiError } from './chunk-3FWUA763.js';
|
|
2
|
+
export { OPFApiError, OPFExportError, OPFImportError, OPFMoveToCustomError, copySlides, edit, embed, fill, fillRecords, localAssetSources, moveToCustom, parseSlideSelection, sameRecord, stats, updateFromCatalog } from './chunk-3FWUA763.js';
|
|
3
3
|
export { specFileEntries, specFileKinds, specFilePaths } from './chunk-UJSAR6GF.js';
|
|
4
|
-
export { OPFDataImportError, ingest, parseTabularData } from './chunk-
|
|
5
|
-
export { DECK_FORMATS, deckFormatOf, parse, stringify } from './chunk-
|
|
6
|
-
export { fromMarkdown, toMarkdown } from './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
export { OPFMarkdownError } from './chunk-
|
|
9
|
-
export { diff, merge } from './chunk-
|
|
10
|
-
export { OPFPatchError, OPFPatchValidationError, applyPatch } from './chunk-
|
|
11
|
-
export { OPFFormatError, format } from './chunk-
|
|
12
|
-
export { OPFPaginationError, paginate, paginateSlide } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
export { CATALOG_SCHEMA, DEFAULT_VALIDATION_THRESHOLDS, OPFValidationError, assertValid, assertValidCatalogRecord, catalogDisplayKinds, catalogSchemaNames, findValidationRule, resolveSlideContext, validate, validateCatalogRecord, validationCategories, validationRules } from './chunk-
|
|
16
|
-
export { CATALOG_GROUP_PATTERN, CATALOG_REFERENCE_PATTERN, CHART_TYPES, DEFAULT_VARIABLE_DATE_FORMAT, ENGINE_DEFAULT_CHART_TYPES, ENGINE_DEFAULT_COLOR_SCHEME, ENGINE_DEFAULT_FONT_SCHEME, ENGINE_DEFAULT_THEME, LANGUAGES, LOGO_SHAPES, OPFCatalogsOptionError, OPFUnresolvedReferenceError, OPFVariableError, SLIDE_SCOPED_BUILTINS, SOCIAL_PLATFORMS, VARIABLE_KINDS, catalogGroupSource, catalogKinds, catalogRecords, catalogReferenceSites, chartNumber, coerceVariableValue, datasetDiagnostics, formatDataNumber, formatVariableNumber, fromExcelNumberFormat, hasContentVariables, inlineChartData, inlineDatasets, inlineTableData, isDatasetRef, isTemplate, isXYChartType, listBuiltinVariables, listVariables, normalizeLanguageFamily, numberFormatError, parseReference, resolveChartData, resolveDesignRecords, resolveFontScheme, resolveReference, resolveSlideVariables, resolveTableData, resolveVariables, suggestChartNumberFix, tableCellDisplayValue, toExcelNumberFormat, unresolvedReference, unusedDatasets, variableDeclarations } from './chunk-
|
|
17
|
-
export { audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './chunk-
|
|
4
|
+
export { OPFDataImportError, ingest, parseTabularData } from './chunk-4I3XPRAO.js';
|
|
5
|
+
export { DECK_FORMATS, deckFormatOf, parse, stringify } from './chunk-VHNG75IH.js';
|
|
6
|
+
export { fromMarkdown, toMarkdown } from './chunk-XKUEEDDN.js';
|
|
7
|
+
import './chunk-B2XALDGS.js';
|
|
8
|
+
export { OPFMarkdownError } from './chunk-TILQBXPZ.js';
|
|
9
|
+
export { diff, merge } from './chunk-TMOQ532D.js';
|
|
10
|
+
export { OPFPatchError, OPFPatchValidationError, applyPatch } from './chunk-VIOSRKMA.js';
|
|
11
|
+
export { OPFFormatError, format } from './chunk-YMBA3V2O.js';
|
|
12
|
+
export { OPFPaginationError, paginate, paginateSlide } from './chunk-CNOLYQ4C.js';
|
|
13
|
+
import './chunk-NIA2WEXN.js';
|
|
14
|
+
import './chunk-F55S5HDP.js';
|
|
15
|
+
export { CATALOG_SCHEMA, DEFAULT_VALIDATION_THRESHOLDS, OPFValidationError, assertValid, assertValidCatalogRecord, catalogDisplayKinds, catalogSchemaNames, findValidationRule, resolveSlideContext, validate, validateCatalogRecord, validationCategories, validationRules } from './chunk-L67MPTPZ.js';
|
|
16
|
+
export { CATALOG_GROUP_PATTERN, CATALOG_REFERENCE_PATTERN, CHART_TYPES, DEFAULT_VARIABLE_DATE_FORMAT, ENGINE_DEFAULT_CHART_TYPES, ENGINE_DEFAULT_COLOR_SCHEME, ENGINE_DEFAULT_FONT_SCHEME, ENGINE_DEFAULT_THEME, LANGUAGES, LOGO_SHAPES, OPFCatalogsOptionError, OPFUnresolvedReferenceError, OPFVariableError, SLIDE_SCOPED_BUILTINS, SOCIAL_PLATFORMS, VARIABLE_KINDS, catalogGroupSource, catalogKinds, catalogRecords, catalogReferenceSites, chartNumber, coerceVariableValue, datasetDiagnostics, formatDataNumber, formatVariableNumber, fromExcelNumberFormat, hasContentVariables, inlineChartData, inlineDatasets, inlineTableData, isDatasetRef, isTemplate, isXYChartType, listBuiltinVariables, listVariables, normalizeLanguageFamily, numberFormatError, parseReference, resolveChartData, resolveDesignRecords, resolveFontScheme, resolveReference, resolveSlideVariables, resolveTableData, resolveVariables, suggestChartNumberFix, tableCellDisplayValue, toExcelNumberFormat, unresolvedReference, unusedDatasets, variableDeclarations } from './chunk-N3ZPLGK5.js';
|
|
17
|
+
export { audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './chunk-ZIRSAFRC.js';
|
|
18
18
|
export { FONT_POLICY, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './chunk-F7PLNWHQ.js';
|
|
19
19
|
|
|
20
20
|
// src/browser.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { OPFDataImportError, parseTabularData } from './chunk-
|
|
2
|
-
import { applyPatchWithInverse } from './chunk-
|
|
3
|
-
import { validate, OPFValidationError } from './chunk-
|
|
4
|
-
import { embeddedCopy, checkCatalogsOption, catalogReferenceSites, parseReference, catalogGroupDeclared, resolveReference, dottedPath, unresolvedReference, recordReferenceSites, catalogGroupSource, registeredCatalog, catalogKinds, CATALOG_GROUP_PATTERN, isRecord, visitContentPayloads, annotationText, listVariables, resolveVariables, LOGO_SHAPES, resolveDesignRecords, resolveFontFamilies, resolveCanvasDimensions, imageBackground } from './chunk-
|
|
1
|
+
import { OPFDataImportError, parseTabularData } from './chunk-4I3XPRAO.js';
|
|
2
|
+
import { applyPatchWithInverse } from './chunk-VIOSRKMA.js';
|
|
3
|
+
import { validate, OPFValidationError } from './chunk-L67MPTPZ.js';
|
|
4
|
+
import { embeddedCopy, checkCatalogsOption, catalogReferenceSites, parseReference, catalogGroupDeclared, resolveReference, dottedPath, unresolvedReference, recordReferenceSites, catalogGroupSource, registeredCatalog, catalogKinds, CATALOG_GROUP_PATTERN, isRecord, visitContentPayloads, annotationText, listVariables, resolveVariables, LOGO_SHAPES, resolveDesignRecords, resolveFontFamilies, resolveCanvasDimensions, imageBackground } from './chunk-N3ZPLGK5.js';
|
|
5
5
|
|
|
6
6
|
// src/api-errors.ts
|
|
7
7
|
var OPFApiError = class extends Error {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { NOT_CHECKED, Ctx } from './chunk-
|
|
2
|
-
import { sortPresentationKeys } from './chunk-
|
|
3
|
-
import { same } from './chunk-
|
|
4
|
-
import { validate } from './chunk-
|
|
5
|
-
import { checkCatalogsOption } from './chunk-
|
|
6
|
-
import { presentation } from './chunk-
|
|
1
|
+
import { NOT_CHECKED, Ctx } from './chunk-TILQBXPZ.js';
|
|
2
|
+
import { sortPresentationKeys } from './chunk-YMBA3V2O.js';
|
|
3
|
+
import { same } from './chunk-F55S5HDP.js';
|
|
4
|
+
import { validate } from './chunk-L67MPTPZ.js';
|
|
5
|
+
import { checkCatalogsOption } from './chunk-N3ZPLGK5.js';
|
|
6
|
+
import { presentation } from './chunk-ZIRSAFRC.js';
|
|
7
7
|
import { Parser, parseDocument, isMap, Document, visit, isScalar, isAlias, isSeq } from 'yaml';
|
|
8
8
|
|
|
9
9
|
var MAX_ALIAS_COUNT = 100;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defaultCatalogs } from './chunk-
|
|
2
|
-
import { localAssetSources, OPFApiError, parseSlideSelection, OPFExportError, asApiError, OPFImportError } from './chunk-
|
|
3
|
-
import { deckFormatOf, readDeckReport, stringify } from './chunk-
|
|
4
|
-
import { paginate } from './chunk-
|
|
5
|
-
import { validate, OPFValidationError } from './chunk-
|
|
1
|
+
import { defaultCatalogs } from './chunk-PLV7P236.js';
|
|
2
|
+
import { localAssetSources, OPFApiError, parseSlideSelection, OPFExportError, asApiError, OPFImportError } from './chunk-3FWUA763.js';
|
|
3
|
+
import { deckFormatOf, readDeckReport, stringify } from './chunk-VHNG75IH.js';
|
|
4
|
+
import { paginate } from './chunk-CNOLYQ4C.js';
|
|
5
|
+
import { validate, OPFValidationError } from './chunk-L67MPTPZ.js';
|
|
6
6
|
import { link, stat, readdir, lstat, readFile, open, unlink, mkdir, rename } from 'fs/promises';
|
|
7
7
|
import path6 from 'path';
|
|
8
8
|
import { readFileSync, statSync, realpathSync } from 'fs';
|
|
@@ -117,7 +117,7 @@ function localAssetProblems(deck, root) {
|
|
|
117
117
|
}
|
|
118
118
|
var RENDER_PACKAGE = "@openpresentation/opf-render";
|
|
119
119
|
var PPTX_PACKAGE = "@openpresentation/opf-pptx";
|
|
120
|
-
var PEER_RANGES = { [RENDER_PACKAGE]: "^0.
|
|
120
|
+
var PEER_RANGES = { [RENDER_PACKAGE]: "^0.23.0", [PPTX_PACKAGE]: "^0.23.0" };
|
|
121
121
|
var PPTX_TEXT_OPTIONS_FROM = "0.22.0";
|
|
122
122
|
var numbers = (version) => version.replace(/[-+].*$/, "").split(".").map((part) => Number.parseInt(part, 10) || 0);
|
|
123
123
|
function atLeast(version, minimum) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertValid, resolveSlideScriptMeasurement, resolveSlideContext } from './chunk-
|
|
2
|
-
import { resolveSlideVariables, checkCatalogsOption, usesSlideBuiltin, composeSlide, codeHighlightSlice, tableRowBoundaries, visitContentPayloads, regionAccepts, slideTokenSpans, sliceNumberedItems } from './chunk-
|
|
1
|
+
import { assertValid, resolveSlideScriptMeasurement, resolveSlideContext } from './chunk-L67MPTPZ.js';
|
|
2
|
+
import { resolveSlideVariables, checkCatalogsOption, usesSlideBuiltin, composeSlide, codeHighlightSlice, tableRowBoundaries, visitContentPayloads, regionAccepts, slideTokenSpans, sliceNumberedItems } from './chunk-N3ZPLGK5.js';
|
|
3
3
|
|
|
4
4
|
// src/pagination.ts
|
|
5
5
|
var OPFPaginationError = class extends Error {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { promotedRegionKeys, VARIABLE_KINDS, resolveChartData, chartPaletteForFill, chartSeriesPalette, normalizeHexColor, resolveChartColors, colorContrast, imageBackground, tableGrid, timelineTextColor, LOGO_SHAPES, visitContentPayloads, readingRows, visualReadingOrder, intrinsicImageSize, resolveReference, textWidthMeasurer, resolveColorRef, resolveDesignRecords, resolveFontFamilies, checkCatalogsOption, provenanceOf, unresolvedReference, OPFUnresolvedReferenceError, resolveColorRoles, resolveCanvasDimensions, resolveSlideVariables,
|
|
2
|
-
import { schemas, schemaEntries } from './chunk-
|
|
1
|
+
import { promotedRegionKeys, VARIABLE_KINDS, resolveChartData, chartPaletteForFill, chartSeriesPalette, normalizeHexColor, resolveChartColors, colorContrast, imageBackground, tableGrid, timelineTextColor, LOGO_SHAPES, visitContentPayloads, readingRows, visualReadingOrder, intrinsicImageSize, resolveReference, textWidthMeasurer, resolveColorRef, resolveDesignRecords, resolveFontFamilies, checkCatalogsOption, provenanceOf, unresolvedReference, OPFUnresolvedReferenceError, resolveColorRoles, resolveCanvasDimensions, resolveSlideVariables, normalizeColorVariant, isRecord, hasContentVariables, isTemplate, instantiateForValidation, layoutTemplateIssues, resolveScriptFonts, defaultSlideBackground, catalogReferenceSites, parseReference, catalogGroupDeclared, pointerPath, unusedDatasets, MAX_COMPOSITION_DEPTH, datasetDiagnostics, pathFor, catalogRecords, collectCitations, numberingFindings, walkCitationRuns, resolveTableData, resolveChartOptions, chartOptionTarget, codeHighlightLines, chartNumberFixesByCell, catalogKinds, catalogGroupSource, registeredCatalog, OPFCompositionError, composeSlide } from './chunk-N3ZPLGK5.js';
|
|
2
|
+
import { schemas, schemaEntries } from './chunk-ZIRSAFRC.js';
|
|
3
3
|
import Ajv2020 from 'ajv/dist/2020.js';
|
|
4
4
|
import addFormats from 'ajv-formats';
|
|
5
5
|
import { parseTree, printParseErrorCode, getNodePath } from 'jsonc-parser';
|
|
@@ -1230,9 +1230,9 @@ function simulateVision(hex, model) {
|
|
|
1230
1230
|
}
|
|
1231
1231
|
var PAGE = "#FFFFFF";
|
|
1232
1232
|
var colorFrom = (scheme, slot, fallback) => typeof slot === "string" ? slot.startsWith("#") ? normalizeHexColor(slot) ?? fallback : normalizeHexColor(scheme[slot]) ?? fallback : fallback;
|
|
1233
|
-
function backdropOf(definition, scheme, text, variables) {
|
|
1233
|
+
function backdropOf(definition, scheme, text, variables, canvasColor) {
|
|
1234
1234
|
const resolve2 = (value, fallback) => backgroundColorRef(value, scheme, variables, fallback);
|
|
1235
|
-
const canvas = defaultSlideBackground(scheme);
|
|
1235
|
+
const canvas = canvasColor ?? defaultSlideBackground(scheme);
|
|
1236
1236
|
if (!definition) return { kind: "solid", color: canvas };
|
|
1237
1237
|
if (imageBackground(definition)) return { kind: "image", opacity: imageBackground(definition)?.opacity ?? 1, base: PAGE };
|
|
1238
1238
|
if (typeof definition === "string") return { kind: "solid", color: colorFrom(scheme, definition, canvas) };
|
|
@@ -1299,6 +1299,34 @@ function decisionColor(definition, scheme, variables = {}) {
|
|
|
1299
1299
|
return void 0;
|
|
1300
1300
|
}
|
|
1301
1301
|
}
|
|
1302
|
+
var THEME_SLOTS = /* @__PURE__ */ new Set(["light1", "light2", "dark1", "dark2"]);
|
|
1303
|
+
function colorChoice(levels, scheme, variables = {}) {
|
|
1304
|
+
let variantOnly = false;
|
|
1305
|
+
let picture;
|
|
1306
|
+
for (const level of levels) {
|
|
1307
|
+
const definition = level.background;
|
|
1308
|
+
const slot = typeof definition === "string" ? definition : rec(definition).type === "theme" ? rec(definition).slot : void 0;
|
|
1309
|
+
const themeSlot = THEME_SLOTS.has(slot) ? slot : void 0;
|
|
1310
|
+
const isPicture = imageBackground(definition) !== void 0 || rec(definition).type === "gradient";
|
|
1311
|
+
const variant = normalizeColorVariant(level.variant);
|
|
1312
|
+
if (variant) {
|
|
1313
|
+
const fill = definition !== void 0 && !variantOnly && !themeSlot && !isPicture ? decisionColor(definition, scheme, variables) : void 0;
|
|
1314
|
+
const own2 = definition !== void 0 && !variantOnly && !themeSlot;
|
|
1315
|
+
return { variant, ...fill ? { background: fill } : {}, drawn: variantOnly ? picture : { definition: own2 ? definition : void 0 } };
|
|
1316
|
+
}
|
|
1317
|
+
if (variantOnly || definition === void 0 || definition === null || definition === false) continue;
|
|
1318
|
+
if (themeSlot) return { variant: { background: themeSlot } };
|
|
1319
|
+
if (isPicture) {
|
|
1320
|
+
const tone = rec(definition).tone;
|
|
1321
|
+
if (tone === "dark" || tone === "light") return { variant: { background: tone === "dark" ? "dark1" : "light1" } };
|
|
1322
|
+
variantOnly = true;
|
|
1323
|
+
picture = { definition };
|
|
1324
|
+
continue;
|
|
1325
|
+
}
|
|
1326
|
+
return { background: decisionColor(definition, scheme, variables) };
|
|
1327
|
+
}
|
|
1328
|
+
return {};
|
|
1329
|
+
}
|
|
1302
1330
|
function resolveDesign(document, index, context) {
|
|
1303
1331
|
const deck = rec(document.design), own2 = rec(rec(rec(document.slides)[index]).design);
|
|
1304
1332
|
const { options, diagnostics, resolved } = context;
|
|
@@ -1307,11 +1335,12 @@ function resolveDesign(document, index, context) {
|
|
|
1307
1335
|
const fontDiagnostic = diagnostics.find((diagnostic) => diagnostic.kind === "fontSchemes");
|
|
1308
1336
|
const dimensions = { width: options.width, height: options.height };
|
|
1309
1337
|
const variables = rec(document.variables);
|
|
1310
|
-
const
|
|
1338
|
+
const choice = colorChoice([own2, deck, theme], colorScheme, variables);
|
|
1339
|
+
const roles = resolveColorRoles(colorScheme, { background: choice.background, variant: choice.variant });
|
|
1311
1340
|
const dark = roles.dark;
|
|
1312
1341
|
const text = roles.text;
|
|
1313
|
-
const backdrop = backdropOf(own2.background ?? deck.background ?? theme.background, colorScheme, text, variables);
|
|
1314
|
-
const picture = imageBackground(own2.background ?? deck.background ?? theme.background);
|
|
1342
|
+
const backdrop = backdropOf(choice.drawn ? choice.drawn.definition : own2.background ?? deck.background ?? theme.background, colorScheme, text, variables, roles.map.bg1 === "light1" ? void 0 : roles.background);
|
|
1343
|
+
const picture = imageBackground(choice.drawn ? choice.drawn.definition : own2.background ?? deck.background ?? theme.background);
|
|
1315
1344
|
const backgroundImage = picture && own2.background !== void 0 ? { source: picture.src, fit: picture.fit, path: `/slides/${index}/design/background` } : picture && deck.background !== void 0 ? { source: picture.src, fit: picture.fit, path: "/design/background" } : void 0;
|
|
1316
1345
|
return {
|
|
1317
1346
|
theme,
|
|
@@ -1321,6 +1350,10 @@ function resolveDesign(document, index, context) {
|
|
|
1321
1350
|
dimensions,
|
|
1322
1351
|
backdrop,
|
|
1323
1352
|
dark,
|
|
1353
|
+
variant: roles.variant,
|
|
1354
|
+
map: roles.map,
|
|
1355
|
+
accents: roles.accents,
|
|
1356
|
+
neutrals: roles.neutrals,
|
|
1324
1357
|
colors: {
|
|
1325
1358
|
background: roles.background,
|
|
1326
1359
|
surface: roles.surface,
|
|
@@ -3629,6 +3662,7 @@ function resolveSlideContext(presentation, index, options = {}) {
|
|
|
3629
3662
|
} else diagnostics.push(unresolvedReference(presentation, "layouts", slide.layout, `slides.${index}.layout`, catalogs));
|
|
3630
3663
|
}
|
|
3631
3664
|
if (options.strictReferences && diagnostics.length) throw new OPFUnresolvedReferenceError(diagnostics);
|
|
3665
|
+
const roles = resolveColorRoles(colorScheme, colorChoice([rec2(slide.design), rec2(deck.design), theme], colorScheme, rec2(deck.variables)));
|
|
3632
3666
|
const composeOptions = {
|
|
3633
3667
|
...resolveCanvasDimensions(design.dimensions ?? theme.dimensions),
|
|
3634
3668
|
...layout ? { layout } : {},
|
|
@@ -3637,7 +3671,7 @@ function resolveSlideContext(presentation, index, options = {}) {
|
|
|
3637
3671
|
slideNumber: options.slideNumber ?? index + 1,
|
|
3638
3672
|
slideCount: options.slideCount ?? slides.length,
|
|
3639
3673
|
fontFamilies: resolveFontFamilies(fontScheme),
|
|
3640
|
-
darkBackground:
|
|
3674
|
+
darkBackground: roles.dark,
|
|
3641
3675
|
...theme.background !== void 0 ? { themeBackground: theme.background } : {},
|
|
3642
3676
|
// OPF 0.19: a theme may carry the shared design keys (between the deck's design and the layout record's).
|
|
3643
3677
|
...theme.design !== void 0 && rec2(theme.design) === theme.design ? { themeDesign: theme.design } : {},
|
|
@@ -3645,7 +3679,7 @@ function resolveSlideContext(presentation, index, options = {}) {
|
|
|
3645
3679
|
...options.date !== void 0 ? { date: options.date } : {}
|
|
3646
3680
|
};
|
|
3647
3681
|
const resolvedSlide = resolveSlideVariables(slide, { slideNumber: composeOptions.slideNumber, slideCount: composeOptions.slideCount, presentation, darkBackground: composeOptions.darkBackground === true });
|
|
3648
|
-
return { slide: resolvedSlide, options: composeOptions, diagnostics, resolved: { theme, colorScheme, fontScheme, fontSchemePath: records.fontSchemePath, ...layout ? { layout } : {}, provenance: { ...layoutProvenance ? { layout: layoutProvenance } : {}, ...records.provenance } } };
|
|
3682
|
+
return { slide: resolvedSlide, options: composeOptions, diagnostics, resolved: { theme, colorScheme, roles, fontScheme, fontSchemePath: records.fontSchemePath, ...layout ? { layout } : {}, provenance: { ...layoutProvenance ? { layout: layoutProvenance } : {}, ...records.provenance } } };
|
|
3649
3683
|
}
|
|
3650
3684
|
|
|
3651
3685
|
// src/rule-slides.ts
|
|
@@ -3451,27 +3451,141 @@ function readableLink(link, background, text2) {
|
|
|
3451
3451
|
const contrast2 = linkHex && backgroundHex ? colorContrast(linkHex, backgroundHex) : void 0;
|
|
3452
3452
|
return contrast2 !== void 0 && contrast2 < MIN_LINK_CONTRAST ? text2 : link;
|
|
3453
3453
|
}
|
|
3454
|
+
var ACCENT_SLOTS = ["accent1", "accent2", "accent3", "accent4", "accent5", "accent6"];
|
|
3455
|
+
var MAPS = {
|
|
3456
|
+
light1: { bg1: "light1", tx1: "dark1", bg2: "light2", tx2: "dark2" },
|
|
3457
|
+
light2: { bg1: "light2", tx1: "dark1", bg2: "light2", tx2: "dark2" },
|
|
3458
|
+
dark1: { bg1: "dark1", tx1: "light1", bg2: "dark2", tx2: "light2" },
|
|
3459
|
+
dark2: { bg1: "dark2", tx1: "light1", bg2: "dark2", tx2: "light2" }
|
|
3460
|
+
};
|
|
3461
|
+
function normalizeColorVariant(value) {
|
|
3462
|
+
if (typeof value === "string") return Object.hasOwn(MAPS, value) ? { background: value } : void 0;
|
|
3463
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return void 0;
|
|
3464
|
+
const { background, accents } = value;
|
|
3465
|
+
if (typeof background !== "string" || !Object.hasOwn(MAPS, background)) return void 0;
|
|
3466
|
+
if (accents === void 0) return { background };
|
|
3467
|
+
return Array.isArray(accents) && accents.length === 6 && ACCENT_SLOTS.every((slot) => accents.includes(slot)) ? { background, accents: [...accents] } : void 0;
|
|
3468
|
+
}
|
|
3469
|
+
function isColorVariant(value) {
|
|
3470
|
+
return normalizeColorVariant(value) !== void 0;
|
|
3471
|
+
}
|
|
3472
|
+
function colorMapFor(variant) {
|
|
3473
|
+
const normalized = normalizeColorVariant(variant);
|
|
3474
|
+
const base = MAPS[normalized?.background ?? "light1"];
|
|
3475
|
+
return { ...base, accents: normalized?.accents ? [...normalized.accents] : ACCENT_SLOTS };
|
|
3476
|
+
}
|
|
3477
|
+
var OOXML_SLOT = { light1: "lt1", light2: "lt2", dark1: "dk1", dark2: "dk2" };
|
|
3478
|
+
function clrMapAttributes(map) {
|
|
3479
|
+
return {
|
|
3480
|
+
bg1: OOXML_SLOT[map.bg1],
|
|
3481
|
+
tx1: OOXML_SLOT[map.tx1],
|
|
3482
|
+
bg2: OOXML_SLOT[map.bg2],
|
|
3483
|
+
tx2: OOXML_SLOT[map.tx2],
|
|
3484
|
+
accent1: map.accents[0],
|
|
3485
|
+
accent2: map.accents[1],
|
|
3486
|
+
accent3: map.accents[2],
|
|
3487
|
+
accent4: map.accents[3],
|
|
3488
|
+
accent5: map.accents[4],
|
|
3489
|
+
accent6: map.accents[5],
|
|
3490
|
+
hlink: "hlink",
|
|
3491
|
+
folHlink: "folHlink"
|
|
3492
|
+
};
|
|
3493
|
+
}
|
|
3494
|
+
function rgbToHsl([r, g, b]) {
|
|
3495
|
+
const red = r / 255, green = g / 255, blue = b / 255, max = Math.max(red, green, blue), min = Math.min(red, green, blue), l = (max + min) / 2;
|
|
3496
|
+
if (max === min) return [0, 0, l];
|
|
3497
|
+
const d = max - min, s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
3498
|
+
const h = max === red ? (green - blue) / d + (green < blue ? 6 : 0) : max === green ? (blue - red) / d + 2 : (red - green) / d + 4;
|
|
3499
|
+
return [h / 6, s, l];
|
|
3500
|
+
}
|
|
3501
|
+
function hslToRgb([h, s, l]) {
|
|
3502
|
+
if (s === 0) return [l * 255, l * 255, l * 255];
|
|
3503
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s, p = 2 * l - q;
|
|
3504
|
+
const channel = (t) => {
|
|
3505
|
+
const u = t < 0 ? t + 1 : t > 1 ? t - 1 : t;
|
|
3506
|
+
return 255 * (u < 1 / 6 ? p + (q - p) * 6 * u : u < 0.5 ? q : u < 2 / 3 ? p + (q - p) * (2 / 3 - u) * 6 : p);
|
|
3507
|
+
};
|
|
3508
|
+
return [channel(h + 1 / 3), channel(h), channel(h - 1 / 3)];
|
|
3509
|
+
}
|
|
3510
|
+
function applyLuminance(hex, lumMod = 1e5, lumOff = 0) {
|
|
3511
|
+
const channels2 = opaqueChannels(hex);
|
|
3512
|
+
if (!channels2) return hex;
|
|
3513
|
+
const [h, s, l] = rgbToHsl(channels2);
|
|
3514
|
+
return hexOfChannels(hslToRgb([h, s, Math.min(1, Math.max(0, l * lumMod / 1e5 + lumOff / 1e5))]));
|
|
3515
|
+
}
|
|
3516
|
+
function mixTowardsBackground(slot, slotHex, backgroundHex, share) {
|
|
3517
|
+
const from = opaqueChannels(slotHex), to = opaqueChannels(backgroundHex);
|
|
3518
|
+
if (!from || !to) return { slot, hex: slotHex };
|
|
3519
|
+
const own3 = rgbToHsl(from)[2], target = rgbToHsl(to)[2] + share * (own3 - rgbToHsl(to)[2]);
|
|
3520
|
+
let lumMod = 1e5, lumOff = 0;
|
|
3521
|
+
if (target >= own3) {
|
|
3522
|
+
const k = own3 >= 1 ? 0 : (target - own3) / (1 - own3);
|
|
3523
|
+
lumMod = Math.round((1 - k) * 1e5);
|
|
3524
|
+
lumOff = Math.round(k * 1e5);
|
|
3525
|
+
} else lumMod = Math.round(target / own3 * 1e5);
|
|
3526
|
+
return { slot, hex: applyLuminance(slotHex, lumMod, lumOff), ...lumMod !== 1e5 ? { lumMod } : {}, ...lumOff !== 0 ? { lumOff } : {} };
|
|
3527
|
+
}
|
|
3528
|
+
var NEUTRAL_SHARES = { border: 0.2, gridline: 0.15, axisLine: 0.25, chartText: 0.65, codeComment: 0.65 };
|
|
3454
3529
|
function resolveColorRoles(colorScheme, options = {}) {
|
|
3455
3530
|
const slot = (name, fallback) => slotKeepingAlpha(colorScheme, name, fallback);
|
|
3456
|
-
const
|
|
3457
|
-
const
|
|
3458
|
-
const
|
|
3459
|
-
const
|
|
3531
|
+
const FALLBACK2 = { light1: "#FFFFFF", light2: "#F8FAFC", dark1: "#111827", dark2: "#1E293B" };
|
|
3532
|
+
const explicit = normalizeColorVariant(options.variant);
|
|
3533
|
+
const explicitBackground = keepAlpha(options.background);
|
|
3534
|
+
const dark = explicit ? explicit.background.startsWith("dark") : options.tone ? options.tone === "dark" : isDarkColor(explicitBackground ?? defaultSlideBackground(colorScheme));
|
|
3535
|
+
const variant = explicit ?? { background: dark ? "dark1" : "light1" };
|
|
3536
|
+
const map = colorMapFor(variant);
|
|
3537
|
+
const slotColor = (name) => slot(name, FALLBACK2[name]);
|
|
3538
|
+
const bg1 = map.bg1 === "light1" ? defaultSlideBackground(colorScheme) : slotColor(map.bg1);
|
|
3539
|
+
const background = explicitBackground ?? bg1;
|
|
3540
|
+
const tx1 = slotColor(map.tx1), bg2 = slotColor(map.bg2), tx2 = slotColor(map.tx2);
|
|
3541
|
+
const text2 = dark ? tx1 : keepAlpha(colorScheme.text) ?? tx1;
|
|
3542
|
+
const surface = keepAlpha(colorScheme.surface) ?? bg2;
|
|
3543
|
+
const accents = map.accents.map((name) => slot(name, "#000000"));
|
|
3544
|
+
const neutrals = schemeNeutrals({ bg1: explicitBackground ?? bg1, tx1, bg2, tx2, dark });
|
|
3460
3545
|
return {
|
|
3461
|
-
primary: keepAlpha(colorScheme.primary) ??
|
|
3462
|
-
secondary: keepAlpha(colorScheme.secondary) ??
|
|
3463
|
-
accent: keepAlpha(colorScheme.accent) ??
|
|
3546
|
+
primary: keepAlpha(colorScheme.primary) ?? accents[0],
|
|
3547
|
+
secondary: keepAlpha(colorScheme.secondary) ?? accents[1],
|
|
3548
|
+
accent: keepAlpha(colorScheme.accent) ?? accents[2],
|
|
3464
3549
|
background,
|
|
3465
3550
|
surface,
|
|
3466
3551
|
surfaceAlt: surfaceAltColor(surface, text2),
|
|
3467
|
-
border:
|
|
3552
|
+
border: neutrals.border.hex,
|
|
3468
3553
|
text: text2,
|
|
3469
|
-
textSecondary: keepAlpha(colorScheme.textSecondary) ??
|
|
3554
|
+
textSecondary: keepAlpha(colorScheme.textSecondary) ?? tx2,
|
|
3470
3555
|
hyperlink: readableLink(slot("hyperlink", DEFAULT_HYPERLINK), background, text2),
|
|
3471
3556
|
followedHyperlink: slot("followedHyperlink", DEFAULT_FOLLOWED_HYPERLINK),
|
|
3472
|
-
dark
|
|
3557
|
+
dark,
|
|
3558
|
+
variant,
|
|
3559
|
+
map,
|
|
3560
|
+
accents,
|
|
3561
|
+
neutrals
|
|
3473
3562
|
};
|
|
3474
3563
|
}
|
|
3564
|
+
function schemeNeutrals(colors) {
|
|
3565
|
+
const { bg1, tx1, bg2, tx2, dark } = colors;
|
|
3566
|
+
const opaque = (value) => normalizeHexColor(value) ?? value;
|
|
3567
|
+
const [back, front, second, secondText] = [opaque(bg1), opaque(tx1), opaque(bg2), opaque(tx2)];
|
|
3568
|
+
const share = (amount) => mixTowardsBackground("tx1", front, back, amount);
|
|
3569
|
+
const panel = dark ? { slot: "bg2", hex: second } : { slot: "tx1", hex: front };
|
|
3570
|
+
const textOnPanel = (colorContrast(back, panel.hex) ?? 0) >= (colorContrast(front, panel.hex) ?? 0) ? { slot: "bg1", hex: back } : { slot: "tx1", hex: front };
|
|
3571
|
+
const comment = mixTowardsBackground(textOnPanel.slot, textOnPanel.hex, panel.hex, NEUTRAL_SHARES.codeComment);
|
|
3572
|
+
return {
|
|
3573
|
+
border: share(NEUTRAL_SHARES.border),
|
|
3574
|
+
gridline: share(NEUTRAL_SHARES.gridline),
|
|
3575
|
+
axisLine: share(NEUTRAL_SHARES.axisLine),
|
|
3576
|
+
chartText: share(NEUTRAL_SHARES.chartText),
|
|
3577
|
+
outline: { slot: "bg1", hex: back },
|
|
3578
|
+
trendNeutral: { slot: "tx2", hex: secondText },
|
|
3579
|
+
codePanel: panel,
|
|
3580
|
+
codeText: textOnPanel,
|
|
3581
|
+
codeComment: comment
|
|
3582
|
+
};
|
|
3583
|
+
}
|
|
3584
|
+
function readableSchemeColor(fill, roles) {
|
|
3585
|
+
const light = { slot: "bg1", hex: normalizeHexColor(roles.background) ?? roles.background };
|
|
3586
|
+
const ink = { slot: "tx1", hex: normalizeHexColor(roles.text) ?? roles.text };
|
|
3587
|
+
return (colorContrast(light.hex, fill) ?? 0) >= (colorContrast(ink.hex, fill) ?? 0) ? light : ink;
|
|
3588
|
+
}
|
|
3475
3589
|
function luminance(value) {
|
|
3476
3590
|
if (typeof value !== "string") return void 0;
|
|
3477
3591
|
let hex = value.trim();
|
|
@@ -3609,8 +3723,8 @@ function chartPaletteForFill(fill, palette) {
|
|
|
3609
3723
|
}
|
|
3610
3724
|
var CHART_SERIES_TINT_MIX = 0.4;
|
|
3611
3725
|
function chartSeriesPalette(colorScheme = {}, colors, context = {}) {
|
|
3612
|
-
const
|
|
3613
|
-
|
|
3726
|
+
const order = context.accents && context.accents.length === 6 && ACCENT_SLOTS.every((slot) => context.accents.includes(slot)) ? context.accents : ACCENT_SLOTS;
|
|
3727
|
+
const accents = order.map((slot) => {
|
|
3614
3728
|
return normalizeHexColor(colorScheme?.[slot]) ?? normalizeHexColor(ENGINE_DEFAULT_COLOR_SCHEME[slot]) ?? "#000000";
|
|
3615
3729
|
});
|
|
3616
3730
|
const palette = [...accents, ...accents.map((accent) => mixChannels(opaqueChannels(accent), [255, 255, 255], CHART_SERIES_TINT_MIX))];
|
|
@@ -4397,6 +4511,13 @@ function codeSyntaxPaletteForScheme(scheme, options = {}) {
|
|
|
4397
4511
|
const pick = (role, slot, fallback) => normalize(record9[role]) ?? normalize(record9[slot]) ?? fallback;
|
|
4398
4512
|
return codeSyntaxPalette({ primary: pick("primary", "accent1", "#2563EB"), secondary: pick("secondary", "accent2", "#0F766E"), accent: pick("accent", "accent3", "#F59E0B") }, options);
|
|
4399
4513
|
}
|
|
4514
|
+
function codeSyntaxPaletteForRoles(roles, options = {}) {
|
|
4515
|
+
const { neutrals } = roles;
|
|
4516
|
+
return codeSyntaxPalette(
|
|
4517
|
+
{ primary: roles.primary, secondary: roles.secondary, accent: roles.accent, mutedText: neutrals.codeComment.hex },
|
|
4518
|
+
{ background: neutrals.codePanel.hex, foreground: neutrals.codeText.hex, ...options }
|
|
4519
|
+
);
|
|
4520
|
+
}
|
|
4400
4521
|
|
|
4401
4522
|
// src/metric-trend.ts
|
|
4402
4523
|
var METRIC_DEFAULT_SENTIMENT = Object.freeze({ up: "positive", down: "negative", flat: "neutral" });
|
|
@@ -4545,16 +4666,16 @@ var blend = (from, to, amount) => {
|
|
|
4545
4666
|
const a = channels(from), b = channels(to);
|
|
4546
4667
|
return toHex(a.map((value, index) => value + (b[index] - value) * amount));
|
|
4547
4668
|
};
|
|
4548
|
-
function codeHighlightColors(scheme, palette = codeSyntaxPaletteForScheme(scheme)) {
|
|
4669
|
+
function codeHighlightColors(scheme, palette = codeSyntaxPaletteForScheme(scheme), panel = CODE_PANEL_BACKGROUND) {
|
|
4549
4670
|
const record9 = scheme && typeof scheme === "object" ? scheme : {};
|
|
4550
4671
|
const primary = normalize(record9.primary) ?? normalize(record9.accent1) ?? "#2563EB";
|
|
4551
4672
|
const [hue, saturation] = toHsl(primary);
|
|
4552
4673
|
const tint = fromHsl(hue, Math.min(saturation, 0.7), 0.45);
|
|
4553
|
-
const band = blend(
|
|
4674
|
+
const band = blend(panel, tint, CODE_HIGHLIGHT_BAND_TINT);
|
|
4554
4675
|
const lit = {}, dim = {};
|
|
4555
4676
|
for (const key of Object.keys(palette)) {
|
|
4556
4677
|
lit[key] = legible(palette[key], band, CODE_SYNTAX_MIN_CONTRAST);
|
|
4557
|
-
dim[key] = legible(blend(palette[key],
|
|
4678
|
+
dim[key] = legible(blend(palette[key], panel, CODE_HIGHLIGHT_DIM), panel, CODE_SYNTAX_MIN_CONTRAST);
|
|
4558
4679
|
}
|
|
4559
4680
|
return { band, lit, dim };
|
|
4560
4681
|
}
|
|
@@ -7279,4 +7400,4 @@ function resolveCanvasDimensions(input) {
|
|
|
7279
7400
|
return { width, height };
|
|
7280
7401
|
}
|
|
7281
7402
|
|
|
7282
|
-
export { AUTO_LAYOUT, CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CATALOG_GROUP_PATTERN, CATALOG_REFERENCE_PATTERN, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, CHART_HIGHLIGHT_MUTED_MIX, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CHART_SERIES_TIER_SIZE, CHART_SERIES_TINT_MIX, CHART_TEXT_PX, CHART_TYPES, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, CODE_HIGHLIGHT_LANGUAGES, CODE_HIGHLIGHT_MAX_LENGTH, CODE_PANEL_BACKGROUND, CODE_PANEL_FOREGROUND, CODE_SYNTAX_MIN_CONTRAST, DARK_BACKGROUND_LUMINANCE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_VARIABLE_DATE_FORMAT, DESIGN_HINT_KEYS, ENGINE_DEFAULT_CHART_TYPES, ENGINE_DEFAULT_COLOR_SCHEME, ENGINE_DEFAULT_FONT_SCHEME, ENGINE_DEFAULT_THEME, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, FURNITURE_GAP, FURNITURE_IMAGE_SHARE, FURNITURE_ZONE_GUTTER, HEADING_AREAS, LANGUAGES, LAYOUT_BODY_KINDS, LOGO_SHAPES, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_REGION_BLOCKS, MAX_ROMAN_VALUE, MAX_TEMPLATE_TRACKS, METRIC_TREND_MIN_CONTRAST, METRIC_TREND_SHAPES, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCatalogsOptionError, OPFCompositionError, OPFLayoutTemplateError, OPFUnresolvedReferenceError, OPFVariableError, PATTERN_PRESETS, PATTERN_PRESET_ALIASES, PATTERN_TILE_SIZE, PICTURE_BULLET_SCALE, PROMOTED_REGION_KEY, REGION_ANCHORS, REGION_FLOWS, REGION_KINDS, REGION_ROLES, RESERVED_REGION_NAMES, SLIDE_SCOPED_BUILTINS, SOCIAL_PLATFORMS, SURFACE_ALT_MIN_CONTRAST, SURFACE_ALT_MIX, THEME_DESIGN_KEYS, TIMELINE_OUTLINE_MIN_CONTRAST, TIMELINE_STATUSES, TIMELINE_TEXT_MIN_CONTRAST, VARIABLE_KINDS, allocateRows, annotationText, bindRegions, blockKind, captionSettings, catalogGroupDeclared, catalogGroupSource, catalogKinds, catalogRecords, catalogReferenceSites, chartColorForFill, chartHighlightColors, chartHighlightMarks, chartLabelText, chartNumber, chartNumberFixesByCell, chartOptionSupport, chartOptionTarget, chartPaletteForFill, chartSeriesPalette, chartTextSize, chartValueAxis, checkCatalogsOption, citationMarkerText, codeHighlightBands, codeHighlightColors, codeHighlightLines, codeHighlightSlice, codeLineNumbers, codeLineRuns, codeSyntaxPalette, codeSyntaxPaletteForScheme, coerceVariableValue, collectCitations, colorContrast, composeLayoutAreas, composeSlide, datasetDiagnostics, defaultSlideBackground, dottedPath, embeddedCopy, fitImage, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatDataNumber, formatFurnitureDate, formatListNumber, formatVariableNumber, fromExcelNumberFormat, gridFlowShape, hasContentVariables, imageBackground, imageShape, inlineChartData, inlineDatasets, inlineTableData, instantiateForValidation, intrinsicImageAspect, intrinsicImageSize, isDarkColor, isDatasetRef, isLayoutTemplate, isRecord, isTemplate, isXYChartType, layoutCaption, layoutCode, layoutContent, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutRegion, layoutStructure, layoutTable, layoutTemplate, layoutTemplateIssues, layoutTimeline, layoutWatermark, listBuiltinVariables, listColumnBreaks, listNumbers, listVariables, maxIntervalsFor, measureText, measureTextOutline, metricTrendColor, metricTrendMark, metricTrendPoints, niceScale, normalizeHexColor, normalizeLanguageFamily, numberFormatError, numberingAtLevel, numberingFindings, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, parseReference, pathFor, patternBitmap, patternRuns, physicalAlignment, placeTextLines, placedImageBlocks, pointerPath, promotedRegionKeys, provenanceOf, readingRows, recordReferenceSites, referencesSlide, regionAccepts, regionRoleRank, registeredCatalog, resolveCanvasDimensions, resolveChartColors, resolveChartData, resolveChartOptions, resolveCodeLanguage, resolveColorRef, resolveColorRoles, resolveDesignHints, resolveDesignRecords, resolveFontFamilies, resolveFontScheme, resolveLogo, resolveNumbering, resolvePatternPreset, resolveReference, resolveScriptFonts, resolveSlideDirection, resolveSlideVariables, resolveSocialProfile, resolveTableData, resolveTextStyle, resolveVariables, rootNodes, scriptFontRole, sliceNumberedItems, slideCitations, slideTokenSpans, snapFontSizeDown, snapFontSizeUp, stackCategoryValues, suggestChartNumberFix, surfaceAltColor, tableCellDisplayValue, tableGrid, tableRowBoundaries, textColorForFill, textWidthMeasurer, timelineMarkerShapes, timelineTextColor, toExcelNumberFormat, tokenizeCode, unresolvedReference, unusedDatasets, usesSlideBuiltin, variableDeclarations, visitContentPayloads, visualReadingOrder, walkCitationRuns, wrapText };
|
|
7403
|
+
export { AUTO_LAYOUT, CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CATALOG_GROUP_PATTERN, CATALOG_REFERENCE_PATTERN, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, CHART_HIGHLIGHT_MUTED_MIX, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CHART_SERIES_TIER_SIZE, CHART_SERIES_TINT_MIX, CHART_TEXT_PX, CHART_TYPES, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, CODE_HIGHLIGHT_LANGUAGES, CODE_HIGHLIGHT_MAX_LENGTH, CODE_PANEL_BACKGROUND, CODE_PANEL_FOREGROUND, CODE_SYNTAX_MIN_CONTRAST, DARK_BACKGROUND_LUMINANCE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_VARIABLE_DATE_FORMAT, DESIGN_HINT_KEYS, ENGINE_DEFAULT_CHART_TYPES, ENGINE_DEFAULT_COLOR_SCHEME, ENGINE_DEFAULT_FONT_SCHEME, ENGINE_DEFAULT_THEME, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, FURNITURE_GAP, FURNITURE_IMAGE_SHARE, FURNITURE_ZONE_GUTTER, HEADING_AREAS, LANGUAGES, LAYOUT_BODY_KINDS, LOGO_SHAPES, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_REGION_BLOCKS, MAX_ROMAN_VALUE, MAX_TEMPLATE_TRACKS, METRIC_TREND_MIN_CONTRAST, METRIC_TREND_SHAPES, NEUTRAL_SHARES, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCatalogsOptionError, OPFCompositionError, OPFLayoutTemplateError, OPFUnresolvedReferenceError, OPFVariableError, PATTERN_PRESETS, PATTERN_PRESET_ALIASES, PATTERN_TILE_SIZE, PICTURE_BULLET_SCALE, PROMOTED_REGION_KEY, REGION_ANCHORS, REGION_FLOWS, REGION_KINDS, REGION_ROLES, RESERVED_REGION_NAMES, SLIDE_SCOPED_BUILTINS, SOCIAL_PLATFORMS, SURFACE_ALT_MIN_CONTRAST, SURFACE_ALT_MIX, THEME_DESIGN_KEYS, TIMELINE_OUTLINE_MIN_CONTRAST, TIMELINE_STATUSES, TIMELINE_TEXT_MIN_CONTRAST, VARIABLE_KINDS, allocateRows, annotationText, applyLuminance, bindRegions, blockKind, captionSettings, catalogGroupDeclared, catalogGroupSource, catalogKinds, catalogRecords, catalogReferenceSites, chartColorForFill, chartHighlightColors, chartHighlightMarks, chartLabelText, chartNumber, chartNumberFixesByCell, chartOptionSupport, chartOptionTarget, chartPaletteForFill, chartSeriesPalette, chartTextSize, chartValueAxis, checkCatalogsOption, citationMarkerText, clrMapAttributes, codeHighlightBands, codeHighlightColors, codeHighlightLines, codeHighlightSlice, codeLineNumbers, codeLineRuns, codeSyntaxPalette, codeSyntaxPaletteForRoles, codeSyntaxPaletteForScheme, coerceVariableValue, collectCitations, colorContrast, colorMapFor, composeLayoutAreas, composeSlide, datasetDiagnostics, defaultSlideBackground, dottedPath, embeddedCopy, fitImage, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatDataNumber, formatFurnitureDate, formatListNumber, formatVariableNumber, fromExcelNumberFormat, gridFlowShape, hasContentVariables, imageBackground, imageShape, inlineChartData, inlineDatasets, inlineTableData, instantiateForValidation, intrinsicImageAspect, intrinsicImageSize, isColorVariant, isDarkColor, isDatasetRef, isLayoutTemplate, isRecord, isTemplate, isXYChartType, layoutCaption, layoutCode, layoutContent, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutRegion, layoutStructure, layoutTable, layoutTemplate, layoutTemplateIssues, layoutTimeline, layoutWatermark, listBuiltinVariables, listColumnBreaks, listNumbers, listVariables, maxIntervalsFor, measureText, measureTextOutline, metricTrendColor, metricTrendMark, metricTrendPoints, niceScale, normalizeColorVariant, normalizeHexColor, normalizeLanguageFamily, numberFormatError, numberingAtLevel, numberingFindings, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, parseReference, pathFor, patternBitmap, patternRuns, physicalAlignment, placeTextLines, placedImageBlocks, pointerPath, promotedRegionKeys, provenanceOf, readableSchemeColor, readingRows, recordReferenceSites, referencesSlide, regionAccepts, regionRoleRank, registeredCatalog, resolveCanvasDimensions, resolveChartColors, resolveChartData, resolveChartOptions, resolveCodeLanguage, resolveColorRef, resolveColorRoles, resolveDesignHints, resolveDesignRecords, resolveFontFamilies, resolveFontScheme, resolveLogo, resolveNumbering, resolvePatternPreset, resolveReference, resolveScriptFonts, resolveSlideDirection, resolveSlideVariables, resolveSocialProfile, resolveTableData, resolveTextStyle, resolveVariables, rootNodes, scriptFontRole, sliceNumberedItems, slideCitations, slideTokenSpans, snapFontSizeDown, snapFontSizeUp, stackCategoryValues, suggestChartNumberFix, surfaceAltColor, tableCellDisplayValue, tableGrid, tableRowBoundaries, textColorForFill, textWidthMeasurer, timelineMarkerShapes, timelineTextColor, toExcelNumberFormat, tokenizeCode, unresolvedReference, unusedDatasets, usesSlideBuiltin, variableDeclarations, visitContentPayloads, visualReadingOrder, walkCitationRuns, wrapText };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { OPFApiError } from './chunk-
|
|
2
|
-
import { CATALOG_SCHEMA } from './chunk-
|
|
1
|
+
import { OPFApiError } from './chunk-3FWUA763.js';
|
|
2
|
+
import { CATALOG_SCHEMA } from './chunk-L67MPTPZ.js';
|
|
3
3
|
import { CATALOG_SCHEMA as CATALOG_SCHEMA$1, gallery } from '@openpresentation/gallery';
|
|
4
4
|
|
|
5
5
|
function galleryMismatch(declared, reads = CATALOG_SCHEMA) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsonEqual, formatPointer } from './chunk-
|
|
2
|
-
import { annotationText } from './chunk-
|
|
1
|
+
import { jsonEqual, formatPointer } from './chunk-VIOSRKMA.js';
|
|
2
|
+
import { annotationText } from './chunk-N3ZPLGK5.js';
|
|
3
3
|
|
|
4
4
|
// src/diff-match.ts
|
|
5
5
|
var DEFAULT_MATCH_THRESHOLD = 0.5;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { fromMarkdown, toMarkdown } from './chunk-
|
|
2
|
-
import { fromYaml, toYaml } from './chunk-
|
|
3
|
-
import { NOT_CHECKED } from './chunk-
|
|
4
|
-
import { parseSource, validate, OPFValidationError } from './chunk-
|
|
5
|
-
import { checkCatalogsOption } from './chunk-
|
|
1
|
+
import { fromMarkdown, toMarkdown } from './chunk-XKUEEDDN.js';
|
|
2
|
+
import { fromYaml, toYaml } from './chunk-B2XALDGS.js';
|
|
3
|
+
import { NOT_CHECKED } from './chunk-TILQBXPZ.js';
|
|
4
|
+
import { parseSource, validate, OPFValidationError } from './chunk-L67MPTPZ.js';
|
|
5
|
+
import { checkCatalogsOption } from './chunk-N3ZPLGK5.js';
|
|
6
6
|
|
|
7
7
|
// src/deck-report.ts
|
|
8
8
|
var DECK_FORMATS = ["json", "yaml", "markdown"];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Ctx, splitLines, lineRange, readYamlMapping, NOT_CHECKED, OPFMarkdownError, writeYaml, readCsv, DECIMAL, csvField, scalarText } from './chunk-
|
|
2
|
-
import { parseQuoteLines, levelsFromIndents, parseCodeFence, splitWhen, fenceCode } from './chunk-
|
|
3
|
-
import { same, isRecord, runText, isPlainRun, FORMATTING } from './chunk-
|
|
4
|
-
import { validate } from './chunk-
|
|
5
|
-
import { checkCatalogsOption, PROMOTED_REGION_KEY } from './chunk-
|
|
1
|
+
import { Ctx, splitLines, lineRange, readYamlMapping, NOT_CHECKED, OPFMarkdownError, writeYaml, readCsv, DECIMAL, csvField, scalarText } from './chunk-TILQBXPZ.js';
|
|
2
|
+
import { parseQuoteLines, levelsFromIndents, parseCodeFence, splitWhen, fenceCode } from './chunk-NIA2WEXN.js';
|
|
3
|
+
import { same, isRecord, runText, isPlainRun, FORMATTING } from './chunk-F55S5HDP.js';
|
|
4
|
+
import { validate } from './chunk-L67MPTPZ.js';
|
|
5
|
+
import { checkCatalogsOption, PROMOTED_REGION_KEY } from './chunk-N3ZPLGK5.js';
|
|
6
6
|
|
|
7
7
|
// src/markdown/canon.ts
|
|
8
8
|
var FORMAT_KEYS = FORMATTING;
|