pptx-kit 0.6.1 → 0.6.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # pptx-kit
2
2
 
3
+ ## 0.6.2
4
+
5
+ ### Patch Changes
6
+
7
+ - c41d8f9: Fix jammed bullet lists and unreadable chart categories
8
+
9
+ - **Bulleted text boxes now indent correctly.** `setShapeBullets` /
10
+ `setParagraphBullet` added the bullet glyph but no hanging indent, so a bullet
11
+ authored on a text box (which inherits the master's `otherStyle`, marL=0, not
12
+ the body style) rendered with the glyph jammed against the text. They now
13
+ write PowerPoint's per-level default `marL` / `indent` (unless the caller set
14
+ their own), matching PowerPoint and PptxGenJS.
15
+ - **Charts with multi-level category references now read back.** The chart
16
+ reader handled `<c:strRef>` / `<c:strLit>` categories but not
17
+ `<c:multiLvlStrRef>`, which is what PowerPoint and PptxGenJS emit — so
18
+ `getShapeChartCategories` (and the full `getShapeChartSpec`) returned an empty
19
+ category list for those charts. It now reads the level's points.
20
+
3
21
  ## 0.6.1
4
22
 
5
23
  ### Patch Changes
package/dist/index.js CHANGED
@@ -1506,6 +1506,17 @@ var applyAlignmentToAllParagraphs = (txBody, align) => {
1506
1506
  pPr.attrs.push(attr(ATTR_ALGN, token));
1507
1507
  }
1508
1508
  };
1509
+ var BULLET_INDENT_BY_LEVEL = [
1510
+ { marL: 342900, indent: -342900 },
1511
+ { marL: 742950, indent: -285750 },
1512
+ { marL: 1143e3, indent: -228600 },
1513
+ { marL: 1600200, indent: -228600 },
1514
+ { marL: 2057400, indent: -228600 }
1515
+ ];
1516
+ var bulletIndentForLevel = (lvl) => BULLET_INDENT_BY_LEVEL[Math.min(lvl, BULLET_INDENT_BY_LEVEL.length - 1)];
1517
+ var ATTR_MAR_L = qname("", "marL", "");
1518
+ var ATTR_INDENT = qname("", "indent", "");
1519
+ var hasAttr = (el, local) => el.attrs.some((a2) => a2.name.namespaceURI === "" && a2.name.localName === local);
1509
1520
  var applyBulletToParagraph = (paragraph, style) => {
1510
1521
  let pPr = firstChildElement(paragraph, NAME_PPR_FOR_BULLET);
1511
1522
  if (pPr === null) {
@@ -1515,6 +1526,15 @@ var applyBulletToParagraph = (paragraph, style) => {
1515
1526
  pPr.children = pPr.children.filter(
1516
1527
  (c2) => !(c2.kind === "element" && c2.name.namespaceURI === NS.dml && (c2.name.localName === "buChar" || c2.name.localName === "buAutoNum" || c2.name.localName === "buNone"))
1517
1528
  );
1529
+ if (style !== "none") {
1530
+ const lvl = Number.parseInt(
1531
+ pPr.attrs.find((a2) => a2.name.localName === "lvl")?.value ?? "0",
1532
+ 10
1533
+ );
1534
+ const { marL, indent } = bulletIndentForLevel(Number.isFinite(lvl) ? lvl : 0);
1535
+ if (!hasAttr(pPr, "marL")) pPr.attrs.push(attr(ATTR_MAR_L, String(marL)));
1536
+ if (!hasAttr(pPr, "indent")) pPr.attrs.push(attr(ATTR_INDENT, String(indent)));
1537
+ }
1518
1538
  pPr.children.push(buildBulletElement(style));
1519
1539
  };
1520
1540
  var applyBulletToAllParagraphs = (txBody, style) => {
@@ -4929,6 +4949,9 @@ var NAME_STR_CACHE = qname("c", "strCache", NS_C2);
4929
4949
  var NAME_NUM_CACHE = qname("c", "numCache", NS_C2);
4930
4950
  var NAME_STR_LIT = qname("c", "strLit", NS_C2);
4931
4951
  var NAME_NUM_LIT = qname("c", "numLit", NS_C2);
4952
+ var NAME_MULTI_LVL_STR_REF = qname("c", "multiLvlStrRef", NS_C2);
4953
+ var NAME_MULTI_LVL_STR_CACHE = qname("c", "multiLvlStrCache", NS_C2);
4954
+ var NAME_LVL = qname("c", "lvl", NS_C2);
4932
4955
  var NAME_PT = qname("c", "pt", NS_C2);
4933
4956
  var NAME_V = qname("c", "v", NS_C2);
4934
4957
  var NAME_TITLE = qname("c", "title", NS_C2);
@@ -5003,6 +5026,12 @@ var readStringChannel = (parent) => {
5003
5026
  }
5004
5027
  const lit = firstChildElement(parent, NAME_STR_LIT);
5005
5028
  if (lit) return readPtArray(lit);
5029
+ const multi = firstChildElement(parent, NAME_MULTI_LVL_STR_REF);
5030
+ if (multi) {
5031
+ const cache = firstChildElement(multi, NAME_MULTI_LVL_STR_CACHE);
5032
+ const lvl = cache ? firstChildElement(cache, NAME_LVL) : null;
5033
+ if (lvl) return readPtArray(lvl);
5034
+ }
5006
5035
  return null;
5007
5036
  };
5008
5037
  var readStringRef = (parent) => readStringChannel(parent);
@@ -13670,7 +13699,7 @@ var mergePresentations = (targetPres, sourcePres, targetLayout) => {
13670
13699
  };
13671
13700
 
13672
13701
  // src/api/index.ts
13673
- var VERSION = "0.6.1" ;
13702
+ var VERSION = "0.6.2" ;
13674
13703
 
13675
13704
  export { SLIDE_SIZE_16_10, SLIDE_SIZE_16_9, SLIDE_SIZE_4_3, VERSION, _internalPackageOf, addBlankSlide, addContentSlide, addSectionHeaderSlide, addSlide, addSlideAt, addSlideChart, addSlideComment, addSlideImage, addSlideLine, addSlideShape, addSlideTable, addSlideTextBox, addTitleSlide, appendShapeText, appendSlideNotes, bringShapeForward, bringShapeToFront, centerShapeOnSlide, clearAllHyperlinks, clearAllSlideComments, clearAllSlideNotes, clearShapeEffects, clearShapeFill, clearShapeStroke, clearSlideAnimations, clearSlideBackground, clearSlideComments, clearSlideHyperlinks, clearSlideShapes, clearSlideTransition, clearTableCellFill, cm, compactPackage, copyShape, createPresentation, duplicateSlide, duplicateSlideAt, emu, findChartByKind, findChartsBySeriesName, findChartsWithDataLabels, findChartsWithTrendlines, findCommentAuthorByName, findCommentsAfter, findCommentsBefore, findCommentsByAuthor, findCommentsByText, findEmptyPlaceholders, findFlippedShapes, findLayoutsWithPlaceholderType, findOverlappingShapePairs, findShapeById, findShapeByName, findShapeByText, findShapeInPresentation, findShapesAtPoint, findShapesByEffect, findShapesByHyperlink, findShapesByKind, findShapesByName, findShapesByPreset, findShapesByText, findShapesInRect, findShapesOutsideCanvas, findShapesWithAnimation, findShapesWithHyperlinks, findSlideByPartName, findSlideByText, findSlideByTitle, findSlideLayout, findSlideLayoutByPartName, findSlideLayoutByType, findSlidePlaceholder, findSlidePlaceholderByIdx, findSlidePlaceholders, findSlidesByHyperlink, findSlidesByLayoutName, findSlidesByLayoutPartName, findSlidesByLayoutType, findSlidesByNotes, findSlidesByText, findSlidesWithChartKind, findSlidesWithChartTrendlines, findSlidesWithCommentsByAuthor, getAllCharts, getAllComments, getAllHyperlinks, getAllImages, getAllNotes, getAllShapes, getAllTables, getCommentAuthor, getCommentAuthors, getCommentDate, getCommentPosition, getCommentSlide, getCommentText, getCommentsSortedByDate, getCoreProperties, getDistinctHyperlinkUrls, getEffectiveColorMap, getEmptySlides, getExtendedProperties, getGroupChildren, getGroupTransform, getHiddenSlides, getMaxShapeId, getMaxShapeIdInPresentation, getMediaParts, getOrphanMediaPartNames, getOutlineText, getPackageSize, getParagraphAlignment, getParagraphBullet, getParagraphBulletImageBytes, getParagraphBulletStyle, getParagraphIndent, getParagraphLevel, getParagraphLineSpacing, getParagraphPropertiesEffective, getParagraphSpacing, getPresentationChartCountsBySlide, getPresentationChartKindCounts, getPresentationCommentCountsByAuthor, getPresentationCommentCountsBySlide, getPresentationCommenters, getPresentationCreated, getPresentationFonts, getPresentationHyperlinkCountsBySlide, getPresentationImageCountsBySlide, getPresentationModified, getPresentationNotesLength, getPresentationNotesLengthsBySlide, getPresentationNotesText, getPresentationShapeCountsBySlide, getPresentationSummary, getPresentationTableCountsBySlide, getPresentationText, getPresentationTextLength, getPresentationTextLengthsBySlide, getPresentationTheme, getShapeAdjustValues, getShapeAltTitle, getShapeAnimation, getShapeAt, getShapeBodyPrEffective, getShapeBounds, getShapeBoundsResolved, getShapeCenter, getShapeChartCategories, getShapeChartKind, getShapeChartSeriesNames, getShapeChartSeriesValues, getShapeChartSpec, getShapeClickAction, getShapeCustomGeometry, getShapeDescription, getShapeEffect, getShapeEffects, getShapeEffectsEffective, getShapeFill, getShapeFillColor, getShapeFillColorResolved, getShapeFillEffective, getShapeFlip, getShapeGradientFill, getShapeGradientFillEffective, getShapeHyperlink, getShapeHyperlinkTooltip, getShapeId, getShapeImageBiLevelThreshold, getShapeImageBrightness, getShapeImageBytes, getShapeImageContrast, getShapeImageCrop, getShapeImageDuotone, getShapeImageFillBytes, getShapeImageFormat, getShapeImageLinkUrl, getShapeImageOpacity, getShapeImagePartName, getShapeIndex, getShapeKind, getShapeName, getShapeParagraphCount, getShapeParagraphElements, getShapePatternFill, getShapePlaceholderIdx, getShapePlaceholderType, getShapePosition, getShapePreset, getShapeRotation, getShapeRunClickAction, getShapeRunCount, getShapeRunFormat, getShapeRunFormatEffective, getShapeRunHyperlink, getShapeRunHyperlinkTooltip, getShapeRunText, getShapeSize, getShapeSlide, getShapeStroke, getShapeStrokeArrow, getShapeStrokeCap, getShapeStrokeColor, getShapeStrokeColorResolved, getShapeStrokeCompound, getShapeStrokeDash, getShapeStrokeEffective, getShapeStrokeJoin, getShapeStrokeWidth, getShapeText, getShapeTextAnchor, getShapeTextAutoFit, getShapeTextAutoFitParams, getShapeTextBodyRotationDeg, getShapeTextColumns, getShapeTextDirection, getShapeTextMargins, getShapeTextWrap, getShapeXmlString, getShapeZIndex, getShapesBounds, getSlideAt, getSlideBackground, getSlideBackgroundGradientFill, getSlideBackgroundImageBytes, getSlideBackgroundPatternFill, getSlideBody, getSlideCharts, getSlideColorMapOverride, getSlideCommentAuthors, getSlideComments, getSlideCount, getSlideIndex, getSlideInfo, getSlideLayout, getSlideLayoutBackground, getSlideLayoutBackgroundGradientFill, getSlideLayoutBackgroundImageBytes, getSlideLayoutBackgroundPatternFill, getSlideLayoutBackgroundShapes, getSlideLayoutCount, getSlideLayoutName, getSlideLayoutPartName, getSlideLayoutPlaceholders, getSlideLayoutShapes, getSlideLayoutType, getSlideLayoutUsageCounts, getSlideLayoutUsageCountsByType, getSlideLayouts, getSlideMasterBackground, getSlideMasterBackgroundGradientFill, getSlideMasterBackgroundImageBytes, getSlideMasterBackgroundPatternFill, getSlideMasterCount, getSlideMasterPartName, getSlideMasterPartNames, getSlideMasterShapes, getSlideMasterUsageCounts, getSlideMediaPartNames, getSlideNotes, getSlideNotesLength, getSlideOutline, getSlidePartName, getSlideSections, getSlideShapes, getSlideSize, getSlideTables, getSlideText, getSlideTextLength, getSlideTitle, getSlideTransition, getSlideXmlString, getSlides, getSlidesByLayout, getSlidesWithCharts, getSlidesWithComments, getSlidesWithEmptyPlaceholders, getSlidesWithHyperlinks, getSlidesWithImages, getSlidesWithNotes, getSlidesWithOverlap, getSlidesWithTables, getTableCell, getTableCellAlignment, getTableCellAnchor, getTableCellBorders, getTableCellFill, getTableCellMargins, getTableCellParagraphs, getTableCellPosition, getTableCellSpan, getTableCellText, getTableCellTextDirection, getTableCells, getTableColumnWidths, getTableDimensions, getTableRowHeights, getTableSize, getTableStyleFlags, getTableStyleId, getThumbnail, getUnusedSlideLayouts, getUnusedSlideMasters, getVisibleSlides, hasShapeImage, hasShapeText, hasSlideNotes, importSlide, inches, incrementRevision, insertTableColumn, insertTableRow, isChartShape, isParagraphBulletPicture, isShapeHidden, isShapeImageGrayscale, isShapePlaceholder, isShapeTextBox, isSlideHidden, isTableShape, listPackageParts, loadPresentation, mergePresentations, mergeTableCells, mm, moveSlide, pointInShape, pt, readPackagePart, removeShape, removeSlide, removeSlideComment, removeSlideNotes, removeTableColumn, removeTableRow, removeThumbnail, renameShape, replaceHyperlink, replaceTextInNotes, replaceTextInPresentation, replaceTextInSlide, replaceTextInSlideNotes, replaceTokensInPresentation, replaceTokensInSlide, resolveDeckBodyTextColor, resolveDrawingColor, reverseSlides, savePresentation, searchSlides, sendShapeBackward, sendShapeToBack, setChartSpec, setCoreProperties, setExtendedProperties, setMediaPartBytes, setParagraphAlignment, setParagraphBullet, setParagraphLevel, setParagraphSpacing, setShapeAlignment, setShapeAltTitle, setShapeAnimation, setShapeBounds, setShapeBullets, setShapeClickAction, setShapeDescription, setShapeFill, setShapeFlip, setShapeGlow, setShapeGradientFill, setShapeHidden, setShapeHyperlink, setShapeImage, setShapeImageBrightness, setShapeImageContrast, setShapeImageCrop, setShapeImageFill, setShapeImageOpacity, setShapeNoFill, setShapeNoStroke, setShapePatternFill, setShapePosition, setShapeRotation, setShapeRunFormat, setShapeRunHyperlink, setShapeRunText, setShapeShadow, setShapeSize, setShapeStroke, setShapeStrokeArrow, setShapeStrokeCap, setShapeStrokeCompound, setShapeStrokeDash, setShapeStrokeJoin, setShapeText, setShapeTextAnchor, setShapeTextAutoFit, setShapeTextBodyRotationDeg, setShapeTextColumns, setShapeTextDirection, setShapeTextFormat, setShapeTextMargins, setShapeTextWrap, setShapeZIndex, setSlideBackground, setSlideBackgroundImage, setSlideBody, setSlideHidden, setSlideLayout, setSlideNotes, setSlidePlaceholders, setSlideSections, setSlideSize, setSlideTitle, setSlideTransition, setTableCellAlignment, setTableCellAnchor, setTableCellBorders, setTableCellFill, setTableCellMargins, setTableCellText, setTableCellTextDirection, setTableCellTextFormat, setTableColumnWidth, setTableRowHeight, setTableStyleFlags, setTableStyleId, setThumbnail, shapesOverlap, slideHasAnimations, slidesUsingMediaPart, sortSlides, swapSlides, touchModified, translateShapes, validatePresentation };
13676
13705
  //# sourceMappingURL=index.js.map