pptx-kit 0.5.0 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # pptx-kit
2
2
 
3
+ ## 0.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 333b19f: fix: line-chart series colors now paint the line. The color was written only
8
+ as a bare `<a:solidFill>`, which doesn't color a line series' stroke, so
9
+ PowerPoint ignored it and fell back to its automatic palette (a 4-series line
10
+ chart authored as accent1–4 rendered blue/red/green/purple instead of the
11
+ requested colors). The color is now also emitted on `<a:ln>`.
12
+ - 665d4c2: Fix unstyled, broken-looking tables from `addSlideTable`
13
+
14
+ `addSlideTable` set the `firstRow` / `bandRow` flags but never wrote a
15
+ `<a:tableStyleId>`, and `createPresentation` shipped no `tableStyles.xml` part.
16
+ With no style to resolve against, PowerPoint painted the table as a borderless,
17
+ unstyled block — a "broken" grid with no rules.
18
+
19
+ - **Tables now reference PowerPoint's "No Style, Table Grid" built-in**
20
+ (`{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}`) via `<a:tableStyleId>`, the same
21
+ default PptxGenJS and PowerPoint itself emit, so a table resolves to a clean
22
+ ruled grid. Callers can override with the internal `styleId` option (or the
23
+ existing `setTableStyleId`).
24
+ - **`createPresentation` now ships `/ppt/tableStyles.xml`** (referenced from
25
+ `presentation.xml.rels`), matching every PowerPoint-authored deck, so the
26
+ `tableStyleId` always has a backing part.
27
+
28
+ ## 0.6.0
29
+
30
+ ### Minor Changes
31
+
32
+ - 0f7c538: Preview: take the default text color from the deck's body style, not the `tx1` token
33
+
34
+ The preview used `scheme:tx1` as the fallback color for runs without an authored color. On a template with an inverted color map (`tx1 → lt1`) that resolves to the light slot, so body text was painted white on the white background — the whole slide looked blank. PowerPoint instead takes the fallback from the master `bodyStyle` (e.g. `schemeClr bg1`). The preview now does the same via the newly exported `resolveDeckBodyTextColor(slide)`, so default-colored text and table-cell text resolve to the color PowerPoint actually paints.
35
+
36
+ - New export **`resolveDeckBodyTextColor(slide)`** — the deck's resolved body-text color (master `bodyStyle`, run through the effective color map + theme). This is the color `addSlideTable` / `addSlideChart` bake in, now reusable by renderers.
37
+
38
+ ### Patch Changes
39
+
40
+ - 0f7c538: Fix corrupt files from fractional EMU and sideways-spreading stacked bar charts
41
+
42
+ - **Whole-EMU coordinates.** `inches` / `cm` / `mm` / `pt` / `emu` now round to integer EMU, and every shape / table / text-box / connector / chart offset is rounded on serialization. Floating-point drift from unit math (e.g. `3090672.0000000005`) previously reached `<a:off>` / `<a:ext>`, which is invalid `ST_Coordinate` (xsd:long) — PowerPoint flagged the file as corrupt and "repaired" it by zeroing the offending offsets, collapsing shapes to the slide origin.
43
+ - **Stacked bar/column charts** now emit `<c:overlap val="100"/>` by default (and for `percentStacked`). Without it PowerPoint draws each series in its own sub-slot so the "stack" spreads sideways across the category. An explicit `overlapPct` still wins; clustered charts are unchanged.
44
+
3
45
  ## 0.5.0
4
46
 
5
47
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -2438,6 +2438,13 @@ interface ChartSpec {
2438
2438
  * charts and side-by-side line charts.
2439
2439
  */
2440
2440
  readonly hiLowLines?: boolean;
2441
+ /**
2442
+ * Whether a line chart draws point markers (`<c:lineChart><c:marker
2443
+ * val="1"/>`). `true` is PowerPoint's "Line with Markers" subtype;
2444
+ * absent / `false` is the plain "Line" subtype (no markers). Only
2445
+ * meaningful for `kind: 'line'`.
2446
+ */
2447
+ readonly lineMarkers?: boolean;
2441
2448
  /**
2442
2449
  * Gap between adjacent bar groups in `<c:gapWidth val="N"/>` units
2443
2450
  * (0..500, percent of bar width). Default 150 (= 1.5×) in PowerPoint.
@@ -4845,6 +4852,18 @@ declare const clearSlideBackground: (slide: SlideData) => void;
4845
4852
  * inverted map (`bg1="dk1" tx1="lt1"`).
4846
4853
  */
4847
4854
  declare const getEffectiveColorMap: (slide: SlideData) => Record<string, string>;
4855
+ /**
4856
+ * The concrete `#RRGGBB` color the deck paints body text in, resolved through
4857
+ * the effective color map + theme. Read from the master's `bodyStyle` level-1
4858
+ * default run properties; falls back to the `tx1` token resolved through the
4859
+ * map. Returns `null` only when the deck carries no theme.
4860
+ *
4861
+ * Tables and charts authored by this library inherit no master text style, so
4862
+ * their text otherwise falls back to `tx1` — which an inverted color map paints
4863
+ * the SAME as the background, making the text invisible. Baking the body color
4864
+ * in keeps generated tables / charts readable on whatever surface the deck uses.
4865
+ */
4866
+ declare const resolveDeckBodyTextColor: (slide: SlideData) => string | null;
4848
4867
 
4849
4868
  /**
4850
4869
  * Reads back the slide's current transition (or `null` if no
@@ -5170,4 +5189,4 @@ declare const SLIDE_SIZE_16_10: SlideSize;
5170
5189
 
5171
5190
  declare const VERSION: string;
5172
5191
 
5173
- export { type AllShapesEntry, type AnimationEffect, type AnimationOptions, type ArrowOptions, type BulletStyle, type ChartAxisScaling, type ChartDataLabelPosition, type ChartDataLabels, type ChartGrouping, type ChartKind, type ChartSeries, type ChartSpec, type ChartTextStyle, type ChartTrendline, type CommentAuthor, type CommentPosition, type CoreProperties, type CustomGeometry, type Emu, type ExtendedProperties, type GeomCommand, type GeomPath, type GeomPoint, type GlowOptions, type GradientFillOptions, type GradientStop, type ImageCrop, type ImageFit, type ImageFormat, type IssueSeverity, type LineDash, type LineEndSize, type LineEndType, type MediaPart, type PackagePartInfo, type ParagraphAlignment, type ParagraphProperties, type PathFillMode, type PatternFillOptions, type PatternPreset, type PresentationChartEntry, type PresentationCommentEntry, type PresentationData, type PresentationFonts, type PresentationHyperlinkEntry, type PresentationImageEntry, type PresentationInput, type PresentationNotesEntry, type PresentationSize, type PresentationSummary, type PresentationTableEntry, type PresentationTheme, type PresentationThumbnail, type PresetShape, SLIDE_SIZE_16_10, SLIDE_SIZE_16_9, SLIDE_SIZE_4_3, type ShadowOptions, type ShapeBounds, type ShapeClickAction, type ShapeEffect, type ShapeEffectAny, type ShapeFill, type ShapeParagraphElement, type ShapeStroke, type SlideBackground, type SlideChartData, type SlideComment, type SlideCommentData, type SlideData, type SlideInfo, type SlideLayoutBackgroundShape, type SlideLayoutData, type SlideLayoutPlaceholder, type SlideOutlineEntry, type SlideSection, type SlideShapeData, type SlideSize, type TableCellBorder, type TableCellBorders, type TableCellData, type TableCellParagraph, type TextAnchor, type TextAutoFit, type TextFormat, type TextWrap, type TransitionEffect, type TransitionOptions, VERSION, type ValidationIssue, _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, 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 };
5192
+ export { type AllShapesEntry, type AnimationEffect, type AnimationOptions, type ArrowOptions, type BulletStyle, type ChartAxisScaling, type ChartDataLabelPosition, type ChartDataLabels, type ChartGrouping, type ChartKind, type ChartSeries, type ChartSpec, type ChartTextStyle, type ChartTrendline, type CommentAuthor, type CommentPosition, type CoreProperties, type CustomGeometry, type Emu, type ExtendedProperties, type GeomCommand, type GeomPath, type GeomPoint, type GlowOptions, type GradientFillOptions, type GradientStop, type ImageCrop, type ImageFit, type ImageFormat, type IssueSeverity, type LineDash, type LineEndSize, type LineEndType, type MediaPart, type PackagePartInfo, type ParagraphAlignment, type ParagraphProperties, type PathFillMode, type PatternFillOptions, type PatternPreset, type PresentationChartEntry, type PresentationCommentEntry, type PresentationData, type PresentationFonts, type PresentationHyperlinkEntry, type PresentationImageEntry, type PresentationInput, type PresentationNotesEntry, type PresentationSize, type PresentationSummary, type PresentationTableEntry, type PresentationTheme, type PresentationThumbnail, type PresetShape, SLIDE_SIZE_16_10, SLIDE_SIZE_16_9, SLIDE_SIZE_4_3, type ShadowOptions, type ShapeBounds, type ShapeClickAction, type ShapeEffect, type ShapeEffectAny, type ShapeFill, type ShapeParagraphElement, type ShapeStroke, type SlideBackground, type SlideChartData, type SlideComment, type SlideCommentData, type SlideData, type SlideInfo, type SlideLayoutBackgroundShape, type SlideLayoutData, type SlideLayoutPlaceholder, type SlideOutlineEntry, type SlideSection, type SlideShapeData, type SlideSize, type TableCellBorder, type TableCellBorders, type TableCellData, type TableCellParagraph, type TextAnchor, type TextAutoFit, type TextFormat, type TextWrap, type TransitionEffect, type TransitionOptions, VERSION, type ValidationIssue, _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 };
package/dist/index.js CHANGED
@@ -4,11 +4,11 @@ import { unzipSync, zipSync } from 'fflate';
4
4
  var EMU_PER_INCH = 914400;
5
5
  var EMU_PER_CM = 36e4;
6
6
  var EMU_PER_PT = 12700;
7
- var inches = (n) => n * EMU_PER_INCH;
8
- var cm = (n) => n * EMU_PER_CM;
9
- var mm = (n) => n * EMU_PER_CM / 10;
10
- var pt = (n) => n * EMU_PER_PT;
11
- var emu = (n) => n;
7
+ var inches = (n) => Math.round(n * EMU_PER_INCH);
8
+ var cm = (n) => Math.round(n * EMU_PER_CM);
9
+ var mm = (n) => Math.round(n * EMU_PER_CM / 10);
10
+ var pt = (n) => Math.round(n * EMU_PER_PT);
11
+ var emu = (n) => Math.round(n);
12
12
  var STORE_BY_EXTENSION = /* @__PURE__ */ new Set([
13
13
  // images — already compressed
14
14
  "png",
@@ -1124,6 +1124,7 @@ var VIEW_PROPS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.pre
1124
1124
  var SLIDE_MASTER_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml";
1125
1125
  var SLIDE_LAYOUT_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml";
1126
1126
  var THEME_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.theme+xml";
1127
+ var TABLE_STYLES_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml";
1127
1128
  var CORE_PROPS_CONTENT_TYPE = "application/vnd.openxmlformats-package.core-properties+xml";
1128
1129
  var EXTENDED_PROPS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.extended-properties+xml";
1129
1130
  var XML_DECL = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n';
@@ -1137,10 +1138,11 @@ var LAYOUT_OBJ_XML = `${XML_DECL}<p:sldLayout xmlns:a="http://schemas.openxmlfor
1137
1138
  var buildPresentationXml = (size) => `${XML_DECL}<p:presentation xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" saveSubsetFonts="1"><p:sldMasterIdLst><p:sldMasterId id="2147483648" r:id="rId1"/></p:sldMasterIdLst><p:sldSz cx="${size.cx}" cy="${size.cy}" type="${size.type}"/><p:notesSz cx="6858000" cy="9144000"/></p:presentation>`;
1138
1139
  var PRES_PROPS_XML = `${XML_DECL}<p:presentationPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"/>`;
1139
1140
  var VIEW_PROPS_XML = `${XML_DECL}<p:viewPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"/>`;
1141
+ var TABLE_STYLES_XML = `${XML_DECL}<a:tblStyleLst xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"/>`;
1140
1142
  var CORE_PROPS_XML = `${XML_DECL}<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title></dc:title><dc:creator>pptx-kit</dc:creator><cp:lastModifiedBy>pptx-kit</cp:lastModifiedBy></cp:coreProperties>`;
1141
1143
  var EXTENDED_PROPS_XML = `${XML_DECL}<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>pptx-kit</Application></Properties>`;
1142
1144
  var ROOT_RELS_XML = `${XML_DECL}<Relationships xmlns="${RT_PACKAGE}"><Relationship Id="rId1" Type="${RT}/officeDocument" Target="ppt/presentation.xml"/><Relationship Id="rId2" Type="${RT_PACKAGE}/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="${RT}/extended-properties" Target="docProps/app.xml"/></Relationships>`;
1143
- var PRES_RELS_XML = `${XML_DECL}<Relationships xmlns="${RT_PACKAGE}"><Relationship Id="rId1" Type="${RT}/slideMaster" Target="slideMasters/slideMaster1.xml"/><Relationship Id="rId2" Type="${RT}/theme" Target="theme/theme1.xml"/><Relationship Id="rId3" Type="${RT}/presProps" Target="presProps.xml"/><Relationship Id="rId4" Type="${RT}/viewProps" Target="viewProps.xml"/></Relationships>`;
1145
+ var PRES_RELS_XML = `${XML_DECL}<Relationships xmlns="${RT_PACKAGE}"><Relationship Id="rId1" Type="${RT}/slideMaster" Target="slideMasters/slideMaster1.xml"/><Relationship Id="rId2" Type="${RT}/theme" Target="theme/theme1.xml"/><Relationship Id="rId3" Type="${RT}/presProps" Target="presProps.xml"/><Relationship Id="rId4" Type="${RT}/viewProps" Target="viewProps.xml"/><Relationship Id="rId5" Type="${RT}/tableStyles" Target="tableStyles.xml"/></Relationships>`;
1144
1146
  var MASTER_RELS_XML = `${XML_DECL}<Relationships xmlns="${RT_PACKAGE}"><Relationship Id="rId1" Type="${RT}/slideLayout" Target="../slideLayouts/slideLayout1.xml"/><Relationship Id="rId2" Type="${RT}/slideLayout" Target="../slideLayouts/slideLayout2.xml"/><Relationship Id="rId3" Type="${RT}/slideLayout" Target="../slideLayouts/slideLayout3.xml"/><Relationship Id="rId4" Type="${RT}/theme" Target="../theme/theme1.xml"/></Relationships>`;
1145
1147
  var LAYOUT_RELS_XML = `${XML_DECL}<Relationships xmlns="${RT_PACKAGE}"><Relationship Id="rId1" Type="${RT}/slideMaster" Target="../slideMasters/slideMaster1.xml"/></Relationships>`;
1146
1148
  var TEXT_ENCODER2 = new TextEncoder();
@@ -1158,6 +1160,7 @@ var buildBlankDeck = (aspect) => {
1158
1160
  add("/ppt/presProps.xml", PRES_PROPS_CONTENT_TYPE, PRES_PROPS_XML);
1159
1161
  add("/ppt/viewProps.xml", VIEW_PROPS_CONTENT_TYPE, VIEW_PROPS_XML);
1160
1162
  add("/ppt/theme/theme1.xml", THEME_CONTENT_TYPE, THEME_XML);
1163
+ add("/ppt/tableStyles.xml", TABLE_STYLES_CONTENT_TYPE, TABLE_STYLES_XML);
1161
1164
  add("/ppt/slideMasters/slideMaster1.xml", SLIDE_MASTER_CONTENT_TYPE, SLIDE_MASTER_XML);
1162
1165
  add("/ppt/slideLayouts/slideLayout1.xml", SLIDE_LAYOUT_CONTENT_TYPE, LAYOUT_BLANK_XML);
1163
1166
  add("/ppt/slideLayouts/slideLayout2.xml", SLIDE_LAYOUT_CONTENT_TYPE, LAYOUT_TITLE_XML);
@@ -2686,10 +2689,10 @@ var buildTextBox = (opts) => {
2686
2689
  const nvPr = elem(NAME_NV_PR3);
2687
2690
  const nvSpPr = elem(NAME_NV_SP_PR3, { children: [cNvPr, cNvSpPr, nvPr] });
2688
2691
  const off = elem(NAME_OFF3, {
2689
- attrs: [attr(ATTR_X4, String(opts.x)), attr(ATTR_Y4, String(opts.y))]
2692
+ attrs: [attr(ATTR_X4, String(Math.round(opts.x))), attr(ATTR_Y4, String(Math.round(opts.y)))]
2690
2693
  });
2691
2694
  const ext = elem(NAME_EXT3, {
2692
- attrs: [attr(ATTR_CX4, String(opts.w)), attr(ATTR_CY4, String(opts.h))]
2695
+ attrs: [attr(ATTR_CX4, String(Math.round(opts.w))), attr(ATTR_CY4, String(Math.round(opts.h)))]
2693
2696
  });
2694
2697
  const xfrm = elem(NAME_A_XFRM3, { children: [off, ext] });
2695
2698
  const prstGeom = elem(NAME_PRST_GEOM, {
@@ -2781,10 +2784,10 @@ var buildShape = (opts) => {
2781
2784
  children: [cNvPr, cNvSpPr, elem(NAME_NV_PR4)]
2782
2785
  });
2783
2786
  const off = elem(NAME_OFF4, {
2784
- attrs: [attr(ATTR_X5, String(opts.x)), attr(ATTR_Y5, String(opts.y))]
2787
+ attrs: [attr(ATTR_X5, String(Math.round(opts.x))), attr(ATTR_Y5, String(Math.round(opts.y)))]
2785
2788
  });
2786
2789
  const ext = elem(NAME_EXT4, {
2787
- attrs: [attr(ATTR_CX5, String(opts.w)), attr(ATTR_CY5, String(opts.h))]
2790
+ attrs: [attr(ATTR_CX5, String(Math.round(opts.w))), attr(ATTR_CY5, String(Math.round(opts.h)))]
2788
2791
  });
2789
2792
  const xfrm = elem(NAME_A_XFRM4, { children: [off, ext] });
2790
2793
  const prstGeom = elem(NAME_PRST_GEOM2, {
@@ -2843,8 +2846,13 @@ var buildConnector = (opts) => {
2843
2846
  const xfrm = elem(NAME_A_XFRM5, {
2844
2847
  attrs: xfrmAttrs,
2845
2848
  children: [
2846
- elem(NAME_OFF5, { attrs: [attr(ATTR_X6, String(x)), attr(ATTR_Y6, String(y))] }),
2847
- elem(NAME_EXT5, { attrs: [attr(ATTR_CX6, String(cx)), attr(ATTR_CY6, String(cy))] })
2849
+ // Round to whole EMU; fractional ST_Coordinate values corrupt the file.
2850
+ elem(NAME_OFF5, {
2851
+ attrs: [attr(ATTR_X6, String(Math.round(x))), attr(ATTR_Y6, String(Math.round(y)))]
2852
+ }),
2853
+ elem(NAME_EXT5, {
2854
+ attrs: [attr(ATTR_CX6, String(Math.round(cx))), attr(ATTR_CY6, String(Math.round(cy)))]
2855
+ })
2848
2856
  ]
2849
2857
  });
2850
2858
  const prstGeom = elem(NAME_PRST_GEOM3, {
@@ -2905,10 +2913,10 @@ var buildPicture = (opts) => {
2905
2913
  const stretch = elem(NAME_STRETCH, { children: [elem(NAME_FILL_RECT)] });
2906
2914
  const blipFill = elem(NAME_BLIP_FILL2, { children: [blip, stretch] });
2907
2915
  const off = elem(NAME_OFF6, {
2908
- attrs: [attr(ATTR_X7, String(opts.x)), attr(ATTR_Y7, String(opts.y))]
2916
+ attrs: [attr(ATTR_X7, String(Math.round(opts.x))), attr(ATTR_Y7, String(Math.round(opts.y)))]
2909
2917
  });
2910
2918
  const ext = elem(NAME_EXT6, {
2911
- attrs: [attr(ATTR_CX7, String(opts.w)), attr(ATTR_CY7, String(opts.h))]
2919
+ attrs: [attr(ATTR_CX7, String(Math.round(opts.w))), attr(ATTR_CY7, String(Math.round(opts.h)))]
2912
2920
  });
2913
2921
  const xfrm = elem(NAME_A_XFRM6, { children: [off, ext] });
2914
2922
  const prstGeom = elem(NAME_PRST_GEOM4, {
@@ -2921,6 +2929,7 @@ var buildPicture = (opts) => {
2921
2929
 
2922
2930
  // src/internal/presentationml/table-builder.ts
2923
2931
  var TABLE_URI = "http://schemas.openxmlformats.org/drawingml/2006/table";
2932
+ var DEFAULT_TABLE_STYLE_ID = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}";
2924
2933
  var NAME_GRAPHIC_FRAME = qname("p", "graphicFrame", NS.pml);
2925
2934
  var NAME_NV_GRAPHIC_FRAME_PR2 = qname("p", "nvGraphicFramePr", NS.pml);
2926
2935
  var NAME_C_NV_PR7 = qname("p", "cNvPr", NS.pml);
@@ -2934,6 +2943,7 @@ var NAME_GRAPHIC = qname("a", "graphic", NS.dml);
2934
2943
  var NAME_GRAPHIC_DATA = qname("a", "graphicData", NS.dml);
2935
2944
  var NAME_TBL = qname("a", "tbl", NS.dml);
2936
2945
  var NAME_TBL_PR = qname("a", "tblPr", NS.dml);
2946
+ var NAME_TABLE_STYLE_ID = qname("a", "tableStyleId", NS.dml);
2937
2947
  var NAME_TBL_GRID = qname("a", "tblGrid", NS.dml);
2938
2948
  var NAME_GRID_COL = qname("a", "gridCol", NS.dml);
2939
2949
  var NAME_TR = qname("a", "tr", NS.dml);
@@ -3036,17 +3046,21 @@ var buildTable = (opts) => {
3036
3046
  children: [cNvPr, cNvGraphicFramePr, nvPr]
3037
3047
  });
3038
3048
  const off = elem(NAME_OFF7, {
3039
- attrs: [attr(ATTR_X8, String(opts.x)), attr(ATTR_Y8, String(opts.y))]
3049
+ attrs: [attr(ATTR_X8, String(Math.round(opts.x))), attr(ATTR_Y8, String(Math.round(opts.y)))]
3040
3050
  });
3041
3051
  const ext = elem(NAME_EXT7, {
3042
- attrs: [attr(ATTR_CX8, String(opts.w)), attr(ATTR_CY8, String(opts.h))]
3052
+ attrs: [attr(ATTR_CX8, String(Math.round(opts.w))), attr(ATTR_CY8, String(Math.round(opts.h)))]
3043
3053
  });
3044
3054
  const xfrm = elem(NAME_P_XFRM3, { children: [off, ext] });
3055
+ const tableStyleId = elem(NAME_TABLE_STYLE_ID, {
3056
+ children: [text(opts.styleId ?? DEFAULT_TABLE_STYLE_ID)]
3057
+ });
3045
3058
  const tblPr = elem(NAME_TBL_PR, {
3046
3059
  attrs: [
3047
3060
  attr(ATTR_FIRST_ROW, opts.firstRow ?? true ? "1" : "0"),
3048
3061
  attr(ATTR_BAND_ROW, opts.bandRow ?? true ? "1" : "0")
3049
- ]
3062
+ ],
3063
+ children: [tableStyleId]
3050
3064
  });
3051
3065
  const tblGrid = elem(NAME_TBL_GRID, {
3052
3066
  children: colWidths.map(
@@ -4442,7 +4456,7 @@ var seriesElement = (spec, seriesIdx, sheet) => {
4442
4456
  valNode(c("order"), seriesIdx),
4443
4457
  elem(c("tx"), { children: [strRef(headerCellFormula, [series.name])] })
4444
4458
  ];
4445
- if (series.lineWidthEmu !== void 0 || series.lineDash !== void 0) {
4459
+ if (spec.kind === "line" || series.lineWidthEmu !== void 0 || series.lineDash !== void 0) {
4446
4460
  children.push(seriesSpPr(color, series.lineWidthEmu, series.lineDash));
4447
4461
  } else {
4448
4462
  children.push(solidFillSpPr(color));
@@ -4668,7 +4682,8 @@ var buildBarChart = (spec, sheet, direction) => {
4668
4682
  ...dl ? [dl] : []
4669
4683
  ];
4670
4684
  if (spec.gapWidthPct !== void 0) children.push(valNode(c("gapWidth"), spec.gapWidthPct));
4671
- if (spec.overlapPct !== void 0) children.push(valNode(c("overlap"), spec.overlapPct));
4685
+ const overlapPct = spec.overlapPct ?? (grouping === "stacked" || grouping === "percentStacked" ? 100 : void 0);
4686
+ if (overlapPct !== void 0) children.push(valNode(c("overlap"), overlapPct));
4672
4687
  children.push(valNode(c("axId"), CAT_AX_ID), valNode(c("axId"), VAL_AX_ID));
4673
4688
  return elem(c(direction === "col" ? "barChart" : "barChart"), { children });
4674
4689
  };
@@ -4684,7 +4699,7 @@ var buildLineChart = (spec, sheet) => {
4684
4699
  if (spec.dropLines) children.push(elem(c("dropLines")));
4685
4700
  if (spec.hiLowLines) children.push(elem(c("hiLowLines")));
4686
4701
  children.push(
4687
- valNode(c("marker"), "1"),
4702
+ valNode(c("marker"), spec.lineMarkers === false ? "0" : "1"),
4688
4703
  valNode(c("axId"), CAT_AX_ID),
4689
4704
  valNode(c("axId"), VAL_AX_ID)
4690
4705
  );
@@ -5568,6 +5583,16 @@ var readChartSpec = (root) => {
5568
5583
  const hiLowLinesEl = firstChildElement(plotted, qname("c", "hiLowLines", NS_C2));
5569
5584
  const dropLines = dropLinesEl !== null ? true : void 0;
5570
5585
  const hiLowLines = hiLowLinesEl !== null ? true : void 0;
5586
+ let lineMarkers;
5587
+ if (kind === "line") {
5588
+ const markerEl = firstChildElement(plotted, qname("c", "marker", NS_C2));
5589
+ if (markerEl === null) {
5590
+ lineMarkers = false;
5591
+ } else {
5592
+ const v = getAttrValue(markerEl, ATTR_VAL8);
5593
+ lineMarkers = v === null ? true : v === "1" || v === "true";
5594
+ }
5595
+ }
5571
5596
  let gapWidthPct;
5572
5597
  let overlapPct;
5573
5598
  if (kind === "column" || kind === "bar") {
@@ -5980,6 +6005,7 @@ var readChartSpec = (root) => {
5980
6005
  ...grouping !== void 0 ? { grouping } : {},
5981
6006
  ...dropLines !== void 0 ? { dropLines } : {},
5982
6007
  ...hiLowLines !== void 0 ? { hiLowLines } : {},
6008
+ ...lineMarkers !== void 0 ? { lineMarkers } : {},
5983
6009
  ...gapWidthPct !== void 0 ? { gapWidthPct } : {},
5984
6010
  ...overlapPct !== void 0 ? { overlapPct } : {},
5985
6011
  ...legend !== void 0 ? { legend } : {},
@@ -6852,10 +6878,16 @@ var buildChartGraphicFrame = (opts) => {
6852
6878
  children: [cNvPr, elem(NAME_C_NV_GRAPHIC_FRAME_PR2), elem(NAME_NV_PR9)]
6853
6879
  });
6854
6880
  const off = elem(NAME_OFF8, {
6855
- attrs: [attr(qname("", "x", ""), String(opts.x)), attr(qname("", "y", ""), String(opts.y))]
6881
+ attrs: [
6882
+ attr(qname("", "x", ""), String(Math.round(opts.x))),
6883
+ attr(qname("", "y", ""), String(Math.round(opts.y)))
6884
+ ]
6856
6885
  });
6857
6886
  const ext = elem(NAME_EXT8, {
6858
- attrs: [attr(qname("", "cx", ""), String(opts.w)), attr(qname("", "cy", ""), String(opts.h))]
6887
+ attrs: [
6888
+ attr(qname("", "cx", ""), String(Math.round(opts.w))),
6889
+ attr(qname("", "cy", ""), String(Math.round(opts.h)))
6890
+ ]
6859
6891
  });
6860
6892
  const xfrm = elem(NAME_XFRM, { children: [off, ext] });
6861
6893
  const chartRef = elem(NAME_C_CHART, {
@@ -13638,8 +13670,8 @@ var mergePresentations = (targetPres, sourcePres, targetLayout) => {
13638
13670
  };
13639
13671
 
13640
13672
  // src/api/index.ts
13641
- var VERSION = "0.5.0" ;
13673
+ var VERSION = "0.6.1" ;
13642
13674
 
13643
- 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, 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 };
13675
+ 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 };
13644
13676
  //# sourceMappingURL=index.js.map
13645
13677
  //# sourceMappingURL=index.js.map