pptx-kit 0.6.1 → 0.6.3
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 +35 -0
- package/dist/index.js +51 -3
- package/dist/index.js.map +1 -1
- package/dist/node.js +51 -3
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# pptx-kit
|
|
2
2
|
|
|
3
|
+
## 0.6.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 099d77b: Emit PowerPoint's default cell insets on table cells
|
|
8
|
+
|
|
9
|
+
`addSlideTable` cells now carry the explicit default insets PowerPoint and
|
|
10
|
+
PptxGenJS both write — `<a:tcPr marL="91440" marR="91440" marT="45720"
|
|
11
|
+
marB="45720">` — plus a `<a:pPr marL="0" indent="0"><a:buNone/></a:pPr>` that
|
|
12
|
+
suppresses any inherited list bullet on the cell paragraph. The table renders
|
|
13
|
+
identically (these match the values PowerPoint applies when they're absent),
|
|
14
|
+
but the cell is now self-describing, so the output matches a PowerPoint- or
|
|
15
|
+
PptxGenJS-authored table byte-for-byte at the cell level.
|
|
16
|
+
|
|
17
|
+
Note: `getTableCellMargins` now returns the explicit `91440 / 45720` defaults
|
|
18
|
+
for a freshly-authored cell instead of `null`.
|
|
19
|
+
|
|
20
|
+
## 0.6.2
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- c41d8f9: Fix jammed bullet lists and unreadable chart categories
|
|
25
|
+
|
|
26
|
+
- **Bulleted text boxes now indent correctly.** `setShapeBullets` /
|
|
27
|
+
`setParagraphBullet` added the bullet glyph but no hanging indent, so a bullet
|
|
28
|
+
authored on a text box (which inherits the master's `otherStyle`, marL=0, not
|
|
29
|
+
the body style) rendered with the glyph jammed against the text. They now
|
|
30
|
+
write PowerPoint's per-level default `marL` / `indent` (unless the caller set
|
|
31
|
+
their own), matching PowerPoint and PptxGenJS.
|
|
32
|
+
- **Charts with multi-level category references now read back.** The chart
|
|
33
|
+
reader handled `<c:strRef>` / `<c:strLit>` categories but not
|
|
34
|
+
`<c:multiLvlStrRef>`, which is what PowerPoint and PptxGenJS emit — so
|
|
35
|
+
`getShapeChartCategories` (and the full `getShapeChartSpec`) returned an empty
|
|
36
|
+
category list for those charts. It now reads the level's points.
|
|
37
|
+
|
|
3
38
|
## 0.6.1
|
|
4
39
|
|
|
5
40
|
### 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) => {
|
|
@@ -2958,7 +2978,14 @@ var NAME_RPR6 = qname("a", "rPr", NS.dml);
|
|
|
2958
2978
|
var NAME_SOLID_FILL5 = qname("a", "solidFill", NS.dml);
|
|
2959
2979
|
var NAME_SRGB_CLR3 = qname("a", "srgbClr", NS.dml);
|
|
2960
2980
|
var NAME_T5 = qname("a", "t", NS.dml);
|
|
2981
|
+
var NAME_PPR2 = qname("a", "pPr", NS.dml);
|
|
2982
|
+
var NAME_BU_NONE2 = qname("a", "buNone", NS.dml);
|
|
2961
2983
|
var ATTR_VAL5 = qname("", "val", "");
|
|
2984
|
+
var ATTR_MAR_L2 = qname("", "marL", "");
|
|
2985
|
+
var ATTR_MAR_R = qname("", "marR", "");
|
|
2986
|
+
var ATTR_MAR_T = qname("", "marT", "");
|
|
2987
|
+
var ATTR_MAR_B = qname("", "marB", "");
|
|
2988
|
+
var ATTR_INDENT2 = qname("", "indent", "");
|
|
2962
2989
|
var ATTR_ID9 = qname("", "id", "");
|
|
2963
2990
|
var ATTR_NAME9 = qname("", "name", "");
|
|
2964
2991
|
var ATTR_NO_GRP2 = qname("", "noGrp", "");
|
|
@@ -2991,11 +3018,23 @@ var buildTextCellBody = (value, textColorHex) => {
|
|
|
2991
3018
|
const r2 = elem(NAME_R7, {
|
|
2992
3019
|
children: [buildCellRunProps(textColorHex), t]
|
|
2993
3020
|
});
|
|
2994
|
-
const
|
|
3021
|
+
const pPr = elem(NAME_PPR2, {
|
|
3022
|
+
attrs: [attr(ATTR_MAR_L2, "0"), attr(ATTR_INDENT2, "0")],
|
|
3023
|
+
children: [elem(NAME_BU_NONE2)]
|
|
3024
|
+
});
|
|
3025
|
+
const p = elem(NAME_P6, { children: [pPr, r2] });
|
|
2995
3026
|
return elem(NAME_TX_BODY5, { children: [elem(NAME_BODY_PR4), elem(NAME_LST_STYLE4), p] });
|
|
2996
3027
|
};
|
|
3028
|
+
var buildCellProps = () => elem(NAME_TC_PR, {
|
|
3029
|
+
attrs: [
|
|
3030
|
+
attr(ATTR_MAR_L2, "91440"),
|
|
3031
|
+
attr(ATTR_MAR_R, "91440"),
|
|
3032
|
+
attr(ATTR_MAR_T, "45720"),
|
|
3033
|
+
attr(ATTR_MAR_B, "45720")
|
|
3034
|
+
]
|
|
3035
|
+
});
|
|
2997
3036
|
var buildTableCell = (value, textColorHex) => {
|
|
2998
|
-
return elem(NAME_TC, { children: [buildTextCellBody(value, textColorHex),
|
|
3037
|
+
return elem(NAME_TC, { children: [buildTextCellBody(value, textColorHex), buildCellProps()] });
|
|
2999
3038
|
};
|
|
3000
3039
|
var buildTableRow = (cells, h, textColorHex) => elem(NAME_TR, {
|
|
3001
3040
|
attrs: [attr(ATTR_H2, String(Math.round(h)))],
|
|
@@ -4929,6 +4968,9 @@ var NAME_STR_CACHE = qname("c", "strCache", NS_C2);
|
|
|
4929
4968
|
var NAME_NUM_CACHE = qname("c", "numCache", NS_C2);
|
|
4930
4969
|
var NAME_STR_LIT = qname("c", "strLit", NS_C2);
|
|
4931
4970
|
var NAME_NUM_LIT = qname("c", "numLit", NS_C2);
|
|
4971
|
+
var NAME_MULTI_LVL_STR_REF = qname("c", "multiLvlStrRef", NS_C2);
|
|
4972
|
+
var NAME_MULTI_LVL_STR_CACHE = qname("c", "multiLvlStrCache", NS_C2);
|
|
4973
|
+
var NAME_LVL = qname("c", "lvl", NS_C2);
|
|
4932
4974
|
var NAME_PT = qname("c", "pt", NS_C2);
|
|
4933
4975
|
var NAME_V = qname("c", "v", NS_C2);
|
|
4934
4976
|
var NAME_TITLE = qname("c", "title", NS_C2);
|
|
@@ -5003,6 +5045,12 @@ var readStringChannel = (parent) => {
|
|
|
5003
5045
|
}
|
|
5004
5046
|
const lit = firstChildElement(parent, NAME_STR_LIT);
|
|
5005
5047
|
if (lit) return readPtArray(lit);
|
|
5048
|
+
const multi = firstChildElement(parent, NAME_MULTI_LVL_STR_REF);
|
|
5049
|
+
if (multi) {
|
|
5050
|
+
const cache = firstChildElement(multi, NAME_MULTI_LVL_STR_CACHE);
|
|
5051
|
+
const lvl = cache ? firstChildElement(cache, NAME_LVL) : null;
|
|
5052
|
+
if (lvl) return readPtArray(lvl);
|
|
5053
|
+
}
|
|
5006
5054
|
return null;
|
|
5007
5055
|
};
|
|
5008
5056
|
var readStringRef = (parent) => readStringChannel(parent);
|
|
@@ -13670,7 +13718,7 @@ var mergePresentations = (targetPres, sourcePres, targetLayout) => {
|
|
|
13670
13718
|
};
|
|
13671
13719
|
|
|
13672
13720
|
// src/api/index.ts
|
|
13673
|
-
var VERSION = "0.6.
|
|
13721
|
+
var VERSION = "0.6.3" ;
|
|
13674
13722
|
|
|
13675
13723
|
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
13724
|
//# sourceMappingURL=index.js.map
|