pptx-kit-preview 0.2.0 → 0.3.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/dist/node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Resvg } from '@resvg/resvg-js';
2
- import { getSlideSize, getPresentationTheme, getSlideBackground, getSlideLayout, getSlideLayoutBackground, getSlideMasterBackground, getSlideBackgroundGradientFill, getSlideLayoutBackgroundGradientFill, getSlideMasterBackgroundGradientFill, getSlideBackgroundPatternFill, getSlideLayoutBackgroundPatternFill, getSlideMasterBackgroundPatternFill, getSlideBackgroundImageBytes, getSlideLayoutBackgroundImageBytes, getSlideMasterBackgroundImageBytes, getSlideMasterShapes, getSlideLayoutShapes, getSlideShapes, getShapeBoundsResolved, getShapeKind, getShapeFillEffective, getShapeStrokeEffective, getShapeRotation, getShapeFlip, getShapePlaceholderType, getShapeImageFormat, getShapeImageBytes, getShapeImageFillBytes, getShapePreset, getGroupTransform, getGroupChildren, isChartShape, isTableShape, getTableDimensions, getShapeCustomGeometry, getShapeXmlString, getShapeAdjustValues, getShapeHyperlink, getShapeHyperlinkTooltip, getShapeName, getShapeAltTitle, getShapeDescription, getShapeClickAction, getSlideIndex, getShapeParagraphCount, getPresentationFonts, getShapeBodyPrEffective, getShapeTextMargins, getShapeTextDirection, getShapeTextAnchor, isShapePlaceholder, isShapeTextBox, getParagraphPropertiesEffective, getParagraphLevel, getParagraphAlignment, getParagraphBullet, getParagraphBulletStyle, isParagraphBulletPicture, getParagraphBulletImageBytes, getParagraphSpacing, getParagraphIndent, getShapeParagraphElements, getShapeRunFormatEffective, getShapeRunFormat, getShapeRunHyperlink, getShapeRunClickAction, getShapeRunHyperlinkTooltip, getShapeTextAutoFitParams, getShapeTextColumns, getShapeTextBodyRotationDeg, getShapeImagePartName, getShapeImageCrop, getShapeImageBrightness, getShapeImageContrast, getShapeImageOpacity, isShapeImageGrayscale, getShapeImageBiLevelThreshold, getShapeImageDuotone, getShapeImageLinkUrl, getShapeFillColorResolved, getShapeGradientFillEffective, getShapeGradientFill, getShapePatternFill, getShapeStrokeColorResolved, getShapeStrokeDash, getShapeStrokeCap, getShapeStrokeJoin, getShapeStrokeCompound, getShapeStrokeArrow, getShapeChartSpec, getTableColumnWidths, getTableRowHeights, getTableCells, getTableStyleFlags, getTableCellSpan, getTableCellFill, getTableCellBorders, getTableCellParagraphs, getTableCellAnchor, getTableCellMargins, getShapeEffectsEffective } from 'pptx-kit';
2
+ import { getSlideSize, getPresentationTheme, getEffectiveColorMap, resolveDeckBodyTextColor, getSlideBackground, getSlideLayout, getSlideLayoutBackground, getSlideMasterBackground, getSlideBackgroundGradientFill, getSlideLayoutBackgroundGradientFill, getSlideMasterBackgroundGradientFill, getSlideBackgroundPatternFill, getSlideLayoutBackgroundPatternFill, getSlideMasterBackgroundPatternFill, getSlideBackgroundImageBytes, getSlideLayoutBackgroundImageBytes, getSlideMasterBackgroundImageBytes, getSlideMasterShapes, getSlideLayoutShapes, getSlideShapes, getShapeBoundsResolved, getShapeKind, getShapeFillEffective, getShapeStrokeEffective, getShapeRotation, getShapeFlip, getShapePlaceholderType, getShapeImageFormat, getShapeImageBytes, getShapeImageFillBytes, getShapePreset, getGroupTransform, getGroupChildren, isChartShape, isTableShape, getTableDimensions, getShapeCustomGeometry, getShapeXmlString, getShapeAdjustValues, getShapeHyperlink, getShapeHyperlinkTooltip, getShapeName, getShapeAltTitle, getShapeDescription, getShapeClickAction, getSlideIndex, getShapeParagraphCount, getPresentationFonts, getShapeBodyPrEffective, getShapeTextMargins, getShapeTextDirection, getShapeTextAnchor, isShapePlaceholder, isShapeTextBox, getParagraphPropertiesEffective, getParagraphLevel, getParagraphAlignment, getParagraphBullet, getParagraphBulletStyle, isParagraphBulletPicture, getParagraphBulletImageBytes, getParagraphSpacing, getParagraphIndent, getShapeParagraphElements, getShapeRunFormatEffective, getShapeRunFormat, getShapeRunHyperlink, getShapeRunClickAction, getShapeRunHyperlinkTooltip, getShapeTextAutoFitParams, getShapeTextColumns, getShapeTextBodyRotationDeg, getShapeImagePartName, getShapeImageCrop, getShapeImageBrightness, getShapeImageContrast, getShapeImageOpacity, isShapeImageGrayscale, getShapeImageBiLevelThreshold, getShapeImageDuotone, getShapeImageLinkUrl, getShapeFillColorResolved, getShapeGradientFillEffective, getShapeGradientFill, getShapePatternFill, getShapeStrokeColorResolved, getShapeStrokeDash, getShapeStrokeCap, getShapeStrokeJoin, getShapeStrokeCompound, getShapeStrokeArrow, getShapeChartSpec, getTableColumnWidths, getTableRowHeights, getTableCells, getTableStyleFlags, getTableCellSpan, getTableCellFill, getTableCellBorders, getTableCellParagraphs, getTableCellAnchor, getTableCellMargins, getShapeEffectsEffective } from 'pptx-kit';
3
3
  import * as fontkit from 'fontkit';
4
4
  import { existsSync, readFileSync } from 'fs';
5
5
  import { fileURLToPath } from 'url';
@@ -549,7 +549,8 @@ var resolveColor = (c, theme, fallback = "#1F2937") => {
549
549
  else if (SCHEME_TO_THEME[c]) token = c;
550
550
  if (token !== null) {
551
551
  if (theme) {
552
- const key = SCHEME_TO_THEME[token];
552
+ const mapped = activeColorMap?.[token] ?? token;
553
+ const key = SCHEME_TO_THEME[mapped] ?? SCHEME_TO_THEME[token];
553
554
  if (key) return normalizeHex(theme[key]);
554
555
  }
555
556
  if (token === "tx1" || token === "dk1") return "#000000";
@@ -562,6 +563,8 @@ var resolveColor = (c, theme, fallback = "#1F2937") => {
562
563
  };
563
564
  var nextDefId = 0;
564
565
  var mintId = () => `pkdef-${(nextDefId++).toString(36)}`;
566
+ var activeColorMap = null;
567
+ var activeDeckTextColor = "#000000";
565
568
  var gradientDef = (grad, theme) => {
566
569
  const id = mintId();
567
570
  const stops = grad.stops.map(
@@ -2323,7 +2326,7 @@ var renderTextBody = (pres, shape, bounds, theme, phType, ctx) => {
2323
2326
  );
2324
2327
  }
2325
2328
  const justify = ANCHOR_TO_CSS[anchor] ?? "flex-start";
2326
- const defaultColor = resolveColor("scheme:tx1", theme, "#000000");
2329
+ const defaultColor = activeDeckTextColor;
2327
2330
  if (ctx.mode === "svg") {
2328
2331
  const svgScale = authoredAutofit?.fontScale ?? 1;
2329
2332
  const svgLineScale = 1 - (authoredAutofit?.lnSpcReduction ?? 0);
@@ -3881,7 +3884,7 @@ var renderTable = (shape, pres, x, y, w, h, transform, theme, ctx) => {
3881
3884
  const accent = theme ? normalizeHex(theme.accent1) : "#4472C4";
3882
3885
  const headerFill = accent;
3883
3886
  const bandFill = mixHex(accent, "#FFFFFF", 0.92);
3884
- const textColor = resolveColor("scheme:tx1", theme, "#000000");
3887
+ const textColor = activeDeckTextColor;
3885
3888
  const tableThemeFace = getPresentationFonts(pres)?.minorLatin ?? null;
3886
3889
  const out = [];
3887
3890
  out.push(`<g${transform}>`);
@@ -4460,6 +4463,8 @@ var renderSlideSvg = (pres, slide, opts = {}) => {
4460
4463
  const W = size.width;
4461
4464
  const H = size.height;
4462
4465
  const theme = getPresentationTheme(pres);
4466
+ activeColorMap = getEffectiveColorMap(slide);
4467
+ activeDeckTextColor = resolveDeckBodyTextColor(slide) ?? "#000000";
4463
4468
  const ctx = {
4464
4469
  mode: opts.textLayout ?? "foreignObject",
4465
4470
  measure: opts.measureText ?? defaultMeasurer