pptx-ts 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +147 -114
  2. package/dist/{autopage-odPz7zZO.js → autopage-D4kyVp11.js} +5 -5
  3. package/dist/{autopage-odPz7zZO.js.map → autopage-D4kyVp11.js.map} +1 -1
  4. package/dist/{body-insets-Dw_BeWD_.js → body-insets-kVHmjGc6.js} +2 -2
  5. package/dist/{body-insets-Dw_BeWD_.js.map → body-insets-kVHmjGc6.js.map} +1 -1
  6. package/dist/browser.d.ts +7 -7
  7. package/dist/browser.js +5 -5
  8. package/dist/{clip-Bl01BPcN.d.ts → clip-DHDlnHUq.d.ts} +2 -2
  9. package/dist/{clip-Bl01BPcN.d.ts.map → clip-DHDlnHUq.d.ts.map} +1 -1
  10. package/dist/{diagnostics-D8ot4Ei7.d.ts → diagnostics-DiMmBU8P.d.ts} +6 -6
  11. package/dist/{diagnostics-D8ot4Ei7.d.ts.map → diagnostics-DiMmBU8P.d.ts.map} +1 -1
  12. package/dist/{embedded-fonts-DarT9aoa.d.ts → embedded-fonts-CI_YGW2d.d.ts} +2 -2
  13. package/dist/{embedded-fonts-DarT9aoa.d.ts.map → embedded-fonts-CI_YGW2d.d.ts.map} +1 -1
  14. package/dist/{entry-compose-DCnvBZz2.d.ts → entry-compose-6hF9aTmT.d.ts} +19 -17
  15. package/dist/{entry-compose-DCnvBZz2.d.ts.map → entry-compose-6hF9aTmT.d.ts.map} +1 -1
  16. package/dist/{enums-BUKTUB6V.d.ts → enums-DQRpVOLh.d.ts} +3 -3
  17. package/dist/{enums-BUKTUB6V.d.ts.map → enums-DQRpVOLh.d.ts.map} +1 -1
  18. package/dist/{errors-C4oENPcu.js → errors-Da2nXCJm.js} +6 -6
  19. package/dist/{errors-C4oENPcu.js.map → errors-Da2nXCJm.js.map} +1 -1
  20. package/dist/families.d.ts +6 -6
  21. package/dist/families.js +2 -2
  22. package/dist/{fit-Cb7naFj6.js → fit-CcXbg__l.js} +10 -10
  23. package/dist/{fit-Cb7naFj6.js.map → fit-CcXbg__l.js.map} +1 -1
  24. package/dist/{font-metrics-v5fn7s7e.d.ts → font-metrics-CBGmhLo0.d.ts} +6 -6
  25. package/dist/{font-metrics-v5fn7s7e.d.ts.map → font-metrics-CBGmhLo0.d.ts.map} +1 -1
  26. package/dist/{grid-DikTjFey.js → grid-9B2w5EaY.js} +2 -2
  27. package/dist/{grid-DikTjFey.js.map → grid-9B2w5EaY.js.map} +1 -1
  28. package/dist/{html-dom-Iuog2wdK.js → html-dom-DvJmuHt2.js} +10 -10
  29. package/dist/html-dom-DvJmuHt2.js.map +1 -0
  30. package/dist/html.d.ts +3 -3
  31. package/dist/html.js +2 -2
  32. package/dist/{image-size-CvN2iCA4.js → image-size-DwDbakcl.js} +64 -5
  33. package/dist/image-size-DwDbakcl.js.map +1 -0
  34. package/dist/index.d.ts +7 -7
  35. package/dist/index.js +3 -3
  36. package/dist/inspect.d.ts +4 -4
  37. package/dist/inspect.js +4 -4
  38. package/dist/inspect.js.map +1 -1
  39. package/dist/math.d.ts +1 -1
  40. package/dist/math.js +1 -1
  41. package/dist/measure.d.ts +3 -3
  42. package/dist/measure.js +2 -2
  43. package/dist/node.d.ts +7 -7
  44. package/dist/node.js +3 -3
  45. package/dist/{notes-Dh12JAbn.js → notes-BcT571R4.js} +19 -18
  46. package/dist/notes-BcT571R4.js.map +1 -0
  47. package/dist/options-internal-WqgMf720.js.map +1 -1
  48. package/dist/{package-J49Ck6S2.d.ts → package-KoEgVwII.d.ts} +6 -2
  49. package/dist/{package-J49Ck6S2.d.ts.map → package-KoEgVwII.d.ts.map} +1 -1
  50. package/dist/{pres-C6qgOFAa.d.ts → pres-BA9_lJbY.d.ts} +32 -12
  51. package/dist/pres-BA9_lJbY.d.ts.map +1 -0
  52. package/dist/{presentation-DGYlAWhl.js → presentation-Cyl74rq2.js} +70 -35
  53. package/dist/presentation-Cyl74rq2.js.map +1 -0
  54. package/dist/{presentation-types-8jLQHI4M.d.ts → presentation-types-B3VQH4Bz.d.ts} +19 -15
  55. package/dist/presentation-types-B3VQH4Bz.d.ts.map +1 -0
  56. package/dist/read.d.ts +6 -6
  57. package/dist/read.js +3 -3
  58. package/dist/script.d.ts +2 -2
  59. package/dist/script.d.ts.map +1 -1
  60. package/dist/script.js +11 -11
  61. package/dist/script.js.map +1 -1
  62. package/dist/{shapes-re0KyQk_.js → shapes-BcyFdZpp.js} +14 -10
  63. package/dist/shapes-BcyFdZpp.js.map +1 -0
  64. package/dist/{slide-Dx2ZeVZ6.d.ts → slide-BqPtyKmb.d.ts} +12 -7
  65. package/dist/slide-BqPtyKmb.d.ts.map +1 -0
  66. package/dist/{table-cell-margins-EVg0EwxT.js → table-cell-margins-PDshga8T.js} +4 -4
  67. package/dist/{table-cell-margins-EVg0EwxT.js.map → table-cell-margins-PDshga8T.js.map} +1 -1
  68. package/dist/{table-dom-BTDP3lEP.js → table-dom-CVbvUfgh.js} +3 -3
  69. package/dist/{table-dom-BTDP3lEP.js.map → table-dom-CVbvUfgh.js.map} +1 -1
  70. package/dist/{text-sN64Otf_.js → text-BvFFMMFQ.js} +38 -36
  71. package/dist/{text-sN64Otf_.js.map → text-BvFFMMFQ.js.map} +1 -1
  72. package/dist/{text-anchor-CrYXAfUu.js → text-anchor-BgLPbwbL.js} +2 -2
  73. package/dist/{text-anchor-CrYXAfUu.js.map → text-anchor-BgLPbwbL.js.map} +1 -1
  74. package/dist/{units-internal-XJlf-hOl.js → units-internal-DFcUYjh3.js} +11 -6
  75. package/dist/units-internal-DFcUYjh3.js.map +1 -0
  76. package/dist/{zip-C0leZZMj.d.ts → zip-CTll_dr0.d.ts} +2 -2
  77. package/dist/{zip-C0leZZMj.d.ts.map → zip-CTll_dr0.d.ts.map} +1 -1
  78. package/dist/{zip-CKd8ihcf.js → zip-CYZ0F6BV.js} +2 -2
  79. package/dist/{zip-CKd8ihcf.js.map → zip-CYZ0F6BV.js.map} +1 -1
  80. package/dist/zip.d.ts +2 -2
  81. package/dist/zip.js +2 -2
  82. package/dist/{zoom-DPUHh85d.js → zoom-BoNyOlPm.js} +65 -51
  83. package/dist/zoom-BoNyOlPm.js.map +1 -0
  84. package/package.json +39 -31
  85. package/skills/ts-pptx-upstream/SKILL.md +18 -18
  86. package/dist/html-dom-Iuog2wdK.js.map +0 -1
  87. package/dist/image-size-CvN2iCA4.js.map +0 -1
  88. package/dist/notes-Dh12JAbn.js.map +0 -1
  89. package/dist/pres-C6qgOFAa.d.ts.map +0 -1
  90. package/dist/presentation-DGYlAWhl.js.map +0 -1
  91. package/dist/presentation-types-8jLQHI4M.d.ts.map +0 -1
  92. package/dist/shapes-re0KyQk_.js.map +0 -1
  93. package/dist/slide-Dx2ZeVZ6.d.ts.map +0 -1
  94. package/dist/units-internal-XJlf-hOl.js.map +0 -1
  95. package/dist/zoom-DPUHh85d.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import { l as warn, n as InvalidOptionError, o as UnsupportedFeatureError, t as InternalError, u as warnOnce } from "./errors-C4oENPcu.js";
2
- import { A as DEF_CELL_BORDER, B as DEF_TEXT_SHADOW, C as usableTableWidthEmu, D as AXIS_ID_VALUE_PRIMARY, E as AXIS_ID_SERIES_PRIMARY, H as LETTERS, K as PIECHART_COLORS, L as DEF_SHAPE_SHADOW, M as DEF_CHART_GRIDLINE, N as DEF_FONT_COLOR, O as AXIS_ID_VALUE_SECONDARY, S as transparencyToAlpha, T as AXIS_ID_CATEGORY_SECONDARY, _ as resolveCellMarginsInches, b as resolveTableColWidthsEmu, c as inch2Emu, d as marginToEmu, g as ptsToEmuLenient, j as DEF_CHART_BORDER, k as BARCHART_COLORS, l as lineWidthToEmu, n as clampRangedInput, o as fractionToFixedPercent, p as percentToFixedPercent, r as convertAngleUnits, s as getSmartParseNumber, u as mapStated, v as resolveInsetsEmu, w as AXIS_ID_CATEGORY_PRIMARY, x as resolveTableRowHeightEmu, y as resolveSlideMarginsInches } from "./units-internal-XJlf-hOl.js";
3
- import { E as coordToEmu, F as EMU_PER_INCH, I as EMU_PER_POINT, M as pixelsToEmu, _ as isChartType, a as ChartType, b as FIXED_PCT_PER_PERCENT, g as isChartExType, h as connectorPresetFor, m as asChartType, s as PlaceholderType, v as ANGLE_UNITS_PER_DEGREE, w as PERCENT_SCALE } from "./table-cell-margins-EVg0EwxT.js";
4
- import { $ as TICK_MARKS, $t as THEME_REL, A as GROUPINGS, At as NOTES_MASTER_CONTENT_TYPE, B as RADAR_STYLE_ALIAS_NAMES, C as CROSS_BETWEEN, D as ERROR_BAR_DIRECTIONS, Ft as OFFICE_DOCUMENT_REL, G as TEXT_HORZ_OVERFLOW, Ht as RELATIONSHIPS_CONTENT_TYPE, It as OFFICE_REL, K as TEXT_SHAPE_TYPES, L as PRESET_MATERIALS, Lt as PACKAGE_REL, M as LIGHT_RIGS, Mt as NOTES_SLIDE_CONTENT_TYPE, N as LIGHT_RIG_DIRECTIONS, O as ERROR_BAR_TYPES, P as LINE_DATA_SYMBOLS, Pt as OD_CONTENT, Q as TICK_LABEL_POSITIONS, Qt as THEME_CONTENT_TYPE, R as RADAR_STYLES, T as DISPLAY_BLANKS_AS, Tt as MODEL3D_REL, X as TEXT_VERTICAL, _ as BAR_3D_SHAPES, _t as CORE_PROPS_REL, an as PML_ROOT_NS, b as BEVEL_PRESETS, bt as EXTENDED_PROPS_CONTENT_TYPE, ct as CHART_CONTENT_TYPE, d as xsdBool, dt as CHART_STYLE_REL, et as TIME_UNITS, f as xsdBoolIfTrue, ft as COMMENTS_CONTENT_TYPE, g as AXIS_ORIENTATIONS, gt as CORE_PROPS_CONTENT_TYPE, in as OOXML_NS, it as CHARTEX_CONTENT_TYPE, j as LEGEND_POSITIONS, k as ERROR_BAR_VALUE_TYPES, l as checkEnumOrWarn, ln as hasBase64Header, mt as COMMENT_AUTHORS_CONTENT_TYPE, n as getImageSizeFromBase64, on as TABLE_GRAPHIC_DATA_URI, ot as CHART_COLOR_STYLE_CONTENT_TYPE, rn as XLSX_CONTENT_TYPE, st as CHART_COLOR_STYLE_REL, t as fitSrcRectPercents, un as svgMarkupToDataUri, ut as CHART_STYLE_CONTENT_TYPE, v as BAR_DIRECTIONS, x as BUILT_IN_UNITS, xt as EXTENDED_PROPS_REL, y as BAR_GROUPINGS, z as RADAR_STYLE_ALIASES } from "./image-size-CvN2iCA4.js";
5
- import { c as imageExtensionForSource, s as imageContentType, t as TEXT_ANCHOR_BY_VALIGN } from "./text-anchor-CrYXAfUu.js";
6
- import { $ as noStrokeLine, A as graphicFrameEl, B as genXmlParagraphProperties, D as cNvPrEl, E as FALLBACK_PICTURE_LOCKS, F as assertKnownPreset, Ft as nextMediaTarget, H as renderTextParagraphsXml, I as genXmlCustGeom, It as preencodedPath, J as createHyperlinkRels, L as genXmlPresetGeom, Lt as validateObjectName, M as previewPicBody, Mt as getUuid, O as cNvPrHyperlink, Ot as XML_DECL, P as xfrmEl, Q as createLineCap, R as prstGeomRect, St as voidEl, U as clampFontSizeSz, V as groupRunsIntoLines, X as validateHyperlink, Y as registerHyperlinkRel, Z as borderLine, _t as namedColorOr, a as makeXmlNotesSlideRel, b as relsPath, bt as elOrVoid, ct as rejectEmptyFill, d as relationshipsEl, dt as genXmlImageCropRect, et as resolveBorderDash, ft as createShadowEffectLst, g as commentPath, gt as isColorValue, ht as createColorElement, i as makeXmlNotesSlide, it as withLineDefaults, j as grpXfrmEl, jt as getNewRelId, k as genXmlShapeLine, kt as bracedGuid, lt as resolveFillKind, mt as alphaEl, n as makeXmlNotesMaster, nt as strokeDash, ot as genXmlColorSelection, p as NOTES_MASTER_PATH, pt as normalizeShadowOptions, r as makeXmlNotesMasterRel, rt as strokePaint, st as genXmlPatternFill, t as buildNotesSlideRels, tt as resolveDash, u as relationshipEl, ut as STRETCH_FILL_RECT, v as notesSlidePath, vt as rejectEmptyColor, xt as raw, y as overrideName, yt as el, z as genXmlNormAutofit } from "./notes-Dh12JAbn.js";
1
+ import { l as warn, n as InvalidOptionError, o as UnsupportedFeatureError, t as InternalError, u as warnOnce } from "./errors-Da2nXCJm.js";
2
+ import { A as DEF_CELL_BORDER, B as DEF_TEXT_SHADOW, C as usableTableWidthEmu, D as AXIS_ID_VALUE_PRIMARY, E as AXIS_ID_SERIES_PRIMARY, H as LETTERS, K as PIECHART_COLORS, L as DEF_SHAPE_SHADOW, M as DEF_CHART_GRIDLINE, N as DEF_FONT_COLOR, O as AXIS_ID_VALUE_SECONDARY, S as transparencyToAlpha, T as AXIS_ID_CATEGORY_SECONDARY, Z as ST_GUID, _ as resolveCellMarginsInches, b as resolveTableColWidthsEmu, c as inch2Emu, d as marginToEmu, g as ptsToEmuLenient, j as DEF_CHART_BORDER, k as BARCHART_COLORS, l as lineWidthToEmu, n as clampRangedInput, o as fractionToFixedPercent, p as percentToFixedPercent, r as convertAngleUnits, s as getSmartParseNumber, u as mapStated, v as resolveInsetsEmu, w as AXIS_ID_CATEGORY_PRIMARY, x as resolveTableRowHeightEmu, y as resolveSlideMarginsInches } from "./units-internal-DFcUYjh3.js";
3
+ import { E as coordToEmu, F as EMU_PER_INCH, I as EMU_PER_POINT, M as pixelsToEmu, _ as isChartType, a as ChartType, b as FIXED_PCT_PER_PERCENT, g as isChartExType, h as connectorPresetFor, m as asChartType, s as PlaceholderType, v as ANGLE_UNITS_PER_DEGREE, w as PERCENT_SCALE } from "./table-cell-margins-PDshga8T.js";
4
+ import { $ as TICK_LABEL_POSITIONS, $t as THEME_CONTENT_TYPE, A as GROUPINGS, B as RADAR_STYLE_ALIASES, C as CROSS_BETWEEN, D as ERROR_BAR_DIRECTIONS, Et as MODEL3D_REL, Ft as OD_CONTENT, It as OFFICE_DOCUMENT_REL, K as TEXT_HORZ_OVERFLOW, Lt as OFFICE_REL, M as LIGHT_RIGS, N as LIGHT_RIG_DIRECTIONS, Nt as NOTES_SLIDE_CONTENT_TYPE, O as ERROR_BAR_TYPES, P as LINE_DATA_SYMBOLS, R as PRESET_MATERIALS, Rt as PACKAGE_REL, St as EXTENDED_PROPS_REL, T as DISPLAY_BLANKS_AS, Ut as RELATIONSHIPS_CONTENT_TYPE, V as RADAR_STYLE_ALIAS_NAMES, Z as TEXT_VERTICAL, _ as BAR_3D_SHAPES, _t as CORE_PROPS_CONTENT_TYPE, an as OOXML_NS, at as CHARTEX_CONTENT_TYPE, b as BEVEL_PRESETS, ct as CHART_COLOR_STYLE_REL, d as xsdBool, dn as svgMarkupToDataUri, dt as CHART_STYLE_CONTENT_TYPE, en as THEME_REL, et as TICK_MARKS, f as xsdBoolIfTrue, ft as CHART_STYLE_REL, g as AXIS_ORIENTATIONS, ht as COMMENT_AUTHORS_CONTENT_TYPE, in as XLSX_CONTENT_TYPE, j as LEGEND_POSITIONS, jt as NOTES_MASTER_CONTENT_TYPE, k as ERROR_BAR_VALUE_TYPES, l as checkEnumOrWarn, lt as CHART_CONTENT_TYPE, n as getImageSizeFromBase64, on as PML_ROOT_NS, pt as COMMENTS_CONTENT_TYPE, q as TEXT_SHAPE_TYPES, sn as TABLE_GRAPHIC_DATA_URI, st as CHART_COLOR_STYLE_CONTENT_TYPE, t as fitSrcRectPercents, tt as TIME_UNITS, un as hasBase64Header, v as BAR_DIRECTIONS, vt as CORE_PROPS_REL, x as BUILT_IN_UNITS, xt as EXTENDED_PROPS_CONTENT_TYPE, y as BAR_GROUPINGS, z as RADAR_STYLES } from "./image-size-DwDbakcl.js";
5
+ import { c as imageExtensionForSource, s as imageContentType, t as TEXT_ANCHOR_BY_VALIGN } from "./text-anchor-BgLPbwbL.js";
6
+ import { $ as noStrokeLine, A as graphicFrameEl, B as genXmlParagraphProperties, D as cNvPrEl, E as FALLBACK_PICTURE_LOCKS, F as assertKnownPreset, Ft as nextMediaTarget, H as renderTextParagraphsXml, I as genXmlCustGeom, It as preencodedPath, J as createHyperlinkRels, L as genXmlPresetGeom, Lt as validateObjectName, M as previewPicBody, Mt as getUuid, O as cNvPrHyperlink, Ot as XML_DECL, P as xfrmEl, Q as createLineCap, R as prstGeomRect, St as voidEl, U as clampFontSizeSz, V as groupRunsIntoLines, X as validateHyperlink, Y as registerHyperlinkRel, Z as borderLine, _t as namedColorOr, a as makeXmlNotesSlideRel, b as relsPath, bt as elOrVoid, ct as rejectEmptyFill, d as relationshipsEl, dt as genXmlImageCropRect, et as resolveBorderDash, ft as createShadowEffectLst, g as commentPath, gt as isColorValue, ht as createColorElement, i as makeXmlNotesSlide, it as withLineDefaults, j as grpXfrmEl, jt as getNewRelId, k as genXmlShapeLine, kt as bracedGuid, lt as resolveFillKind, mt as alphaEl, n as makeXmlNotesMaster, nt as strokeDash, ot as genXmlColorSelection, p as NOTES_MASTER_PATH, pt as normalizeShadowOptions, r as makeXmlNotesMasterRel, rt as strokePaint, st as genXmlPatternFill, t as buildNotesSlideRels, tt as resolveDash, u as relationshipEl, ut as STRETCH_FILL_RECT, v as notesSlidePath, vt as rejectEmptyColor, xt as raw, y as overrideName, yt as el, z as genXmlNormAutofit } from "./notes-BcT571R4.js";
7
7
  import { n as setOrClear, t as pickDefined } from "./options-internal-WqgMf720.js";
8
- import { a as CELL_INHERITED_KEYS, i as computeTableLayout, n as measureText, r as requireBoxHeight } from "./fit-Cb7naFj6.js";
9
- import { r as PPTX_CONTENT_TYPE, t as ZipWriter } from "./zip-CKd8ihcf.js";
10
- import { a as resolveSpan, n as tableColCount, o as tableHasHyperlink, r as walkTableGrid, s as withCheckedSpans } from "./grid-DikTjFey.js";
11
- import { t as getSlidesForTableRows } from "./autopage-odPz7zZO.js";
8
+ import { a as CELL_INHERITED_KEYS, i as computeTableLayout, n as measureText, r as requireBoxHeight } from "./fit-CcXbg__l.js";
9
+ import { r as PPTX_CONTENT_TYPE, t as ZipWriter } from "./zip-CYZ0F6BV.js";
10
+ import { a as resolveSpan, n as tableColCount, o as tableHasHyperlink, r as walkTableGrid, s as withCheckedSpans } from "./grid-9B2w5EaY.js";
11
+ import { t as getSlidesForTableRows } from "./autopage-D4kyVp11.js";
12
12
  //#region src/gen/define/image-rel.ts
13
13
  /**
14
14
  * Resolve a caller's `{ path, data }` to the source an image media rel is registered from, or say
@@ -575,7 +575,7 @@ function shapeIdCount(obj) {
575
575
  * This **mirrors** the allocation in `slideObjectToXml`, which hands out ids as it walks the tree.
576
576
  * A reference that must name an id *before* the walk reaches it — a connector's `<a:stCxn>`, an
577
577
  * animation's `<p:spTgt spid>` — cannot wait for that, so it resolves through this map instead.
578
- * The two must stay in step: `test/regression/shape/group-shapes.test.js` parses the emitted `cNvPr` ids
578
+ * The two must stay in step: `test/regression/shape/group-shapes.test.ts` parses the emitted `cNvPr` ids
579
579
  * back out and asserts each reference points at the shape it names, so drift fails there.
580
580
  * @param slideObjects - the slide's top-level objects
581
581
  * @returns each object's `<p:cNvPr>` id, keyed by object identity, in id order
@@ -626,7 +626,7 @@ function resolveObjectNameToId(shapeIds, objectName) {
626
626
  //#endregion
627
627
  //#region src/gen/drawingml/text-body.ts
628
628
  /**
629
- * ts-pptx: DrawingML text body
629
+ * pptx-ts: DrawingML text body
630
630
  *
631
631
  * The container layer over `text-run.ts`: body properties (`<a:bodyPr>`), the
632
632
  * full `<p:txBody>`/`<a:txBody>` builder (`genXmlTextBody`), the native-equation
@@ -790,7 +790,7 @@ function genXmlPlaceholder(placeholderObj) {
790
790
  //#endregion
791
791
  //#region src/gen/define/frame.ts
792
792
  /**
793
- * ts-pptx: an authored object's frame
793
+ * pptx-ts: an authored object's frame
794
794
  *
795
795
  * Every definer used to spell its own default for an omitted `x`/`y`/`w`/`h`, and they disagreed
796
796
  * on what "omitted" meant. A shape tested `x || (x === 0 ? 0 : 1)`, media `|| 2`, an image `|| 1`
@@ -1049,7 +1049,7 @@ function addImageDefinition(target, opt) {
1049
1049
  //#endregion
1050
1050
  //#region src/gen/define/text.ts
1051
1051
  /**
1052
- * ts-pptx: Text Definition
1052
+ * pptx-ts: Text Definition
1053
1053
  *
1054
1054
  * `addTextDefinition` cleans shape / run options (color, bullets, placeholder inheritance, body
1055
1055
  * properties, columns, align / valign), registers hyperlink + picture-bullet + image-fill rels,
@@ -1555,7 +1555,7 @@ function resolveImageExtent(obj, slide, frame) {
1555
1555
  //#endregion
1556
1556
  //#region src/gen/oxml/fmt-scheme.ts
1557
1557
  /**
1558
- * ts-pptx: the `<a:fmtScheme>` block, shared by the two themes this library writes.
1558
+ * pptx-ts: the `<a:fmtScheme>` block, shared by the two themes this library writes.
1559
1559
  *
1560
1560
  * The fill/line/effect/background style matrices that shape style indices (`<p:style>`) point
1561
1561
  * at. Fixed Office boilerplate: no caller data reaches it, so — unlike the `<a:clrScheme>` and
@@ -1591,7 +1591,7 @@ function chartPartNames(globalId, isChartEx) {
1591
1591
  //#endregion
1592
1592
  //#region src/gen/opc/core.ts
1593
1593
  /**
1594
- * ts-pptx: `docProps/core.xml`
1594
+ * pptx-ts: `docProps/core.xml`
1595
1595
  *
1596
1596
  * Emit the core-properties part (title/subject/creator/revision and the
1597
1597
  * created/modified timestamps).
@@ -1657,7 +1657,7 @@ function makeXmlCore(title, subject, author, revision) {
1657
1657
  //#endregion
1658
1658
  //#region src/families/group.ts
1659
1659
  /**
1660
- * ts-pptx: the group construct family
1660
+ * pptx-ts: the group construct family
1661
1661
  *
1662
1662
  * Both ways to make a `<p:grpSp>`: from child descriptors (`addGroup`) and from objects already on
1663
1663
  * the slide (`groupObjects`). The group *renderer* is not here -- it recurses back into the shape
@@ -1677,7 +1677,7 @@ const groupFamily = {
1677
1677
  //#endregion
1678
1678
  //#region src/gen/drawingml/image.ts
1679
1679
  /**
1680
- * ts-pptx: DrawingML image sizing & cropping
1680
+ * pptx-ts: DrawingML image sizing & cropping
1681
1681
  *
1682
1682
  * Build the `<a:srcRect>` (+ `<a:stretch>`) blipFill children for the image
1683
1683
  * sizing modes (`cover` / `contain` / `crop` / `stretch`), for the implicit
@@ -1761,7 +1761,7 @@ function genXmlImageCrop(crop, objectName) {
1761
1761
  //#endregion
1762
1762
  //#region src/gen/slide/objects/image.ts
1763
1763
  /**
1764
- * ts-pptx: image slide-object serialization
1764
+ * pptx-ts: image slide-object serialization
1765
1765
  *
1766
1766
  * Emits an `image` slide object as a `<p:pic>`: the blip and its image effects (transparency,
1767
1767
  * duotone, colour change, grayscale, bi-level), the crop or `sizing` source rectangle, the
@@ -1929,7 +1929,7 @@ function addNotesDefinition(target, notes) {
1929
1929
  //#endregion
1930
1930
  //#region src/families/notes.ts
1931
1931
  /**
1932
- * ts-pptx: the speaker-notes construct family
1932
+ * pptx-ts: the speaker-notes construct family
1933
1933
  *
1934
1934
  * `addNotes` and the notes-slide parts it puts in the package. Cheap, and a deck without speaker
1935
1935
  * notes is a poor default, so every tier carries it -- which is a reason to compose it, not a
@@ -2163,7 +2163,7 @@ const STOCK_STYLE_SPEC = {
2163
2163
  //#endregion
2164
2164
  //#region src/gen/chart/data-refs.ts
2165
2165
  /**
2166
- * ts-pptx: Chart Series-Data ↔ Worksheet-Cell Mapping
2166
+ * pptx-ts: Chart Series-Data ↔ Worksheet-Cell Mapping
2167
2167
  *
2168
2168
  * The tiny pure helpers that both chart package parts share: the empty-array-safe
2169
2169
  * accessors over the normalized (internal) chart-series arrays, and the builders that
@@ -2331,7 +2331,7 @@ const categoryRange = (sheet, count) => sheetRangeRef(sheet.labelCols, 2, sheet.
2331
2331
  //#endregion
2332
2332
  //#region src/gen/chart/chart-stroke.ts
2333
2333
  /**
2334
- * ts-pptx: folding a chart's older stroke spellings onto {@link StrokeProps}.
2334
+ * pptx-ts: folding a chart's older stroke spellings onto {@link StrokeProps}.
2335
2335
  *
2336
2336
  * A stroke is one concept, and the chart option bag used to spell it three ways that the rest
2337
2337
  * of the library did not: `size` for the width, `style` for the dash, and a separate
@@ -2628,7 +2628,7 @@ function dataLabelDefRPr(opts, over) {
2628
2628
  * This replaces two copies of a loop that wrote `opts[opt] = undefined` back onto the options
2629
2629
  * bag from inside an XML builder. Nothing downstream was corrupted (`ChartOptsInternal` is a
2630
2630
  * copy `gen/define/chart.ts` already made, guarded by
2631
- * `test/regression/chart/chart-input-immutability.test.js`), but it meant calling the same axis
2631
+ * `test/regression/chart/chart-input-immutability.test.ts`), but it meant calling the same axis
2632
2632
  * builder twice gave a different answer the second time, and it put validation somewhere nobody
2633
2633
  * would look for it.
2634
2634
  *
@@ -3264,7 +3264,7 @@ function makeSeriesDataPointsXml(chartType, obj, opts, varyColors) {
3264
3264
  let xml = "";
3265
3265
  dataValues(obj).forEach((value, index) => {
3266
3266
  const ptStyle = pointStyles?.[index];
3267
- const arrColors = varyColors ? value < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : varyColors : null;
3267
+ const arrColors = varyColors ? value !== null && value < 0 ? opts.invertedColors || opts.chartColors || BARCHART_COLORS : varyColors : null;
3268
3268
  const fillColor = ptStyle?.fill || (arrColors ? paletteColor(arrColors, index) : null);
3269
3269
  const pattern = ptStyle?.pattern;
3270
3270
  const border = ptStyle?.border;
@@ -3441,7 +3441,7 @@ function numRefBlock(tag, ref, formatCode, values, ptCount = values.length) {
3441
3441
  //#endregion
3442
3442
  //#region src/gen/chart/chart-axes.ts
3443
3443
  /**
3444
- * ts-pptx: Chart Axis Assembly
3444
+ * pptx-ts: Chart Axis Assembly
3445
3445
  *
3446
3446
  * Builds the `<c:catAx>` / `<c:valAx>` / `<c:serAx>` elements. The three share a
3447
3447
  * structure -- scaling, delete flag, tick marks, label position, text properties,
@@ -3718,7 +3718,7 @@ function makeSerAxis(opts, axisId, valAxisId) {
3718
3718
  //#endregion
3719
3719
  //#region src/gen/chart/plot-cat-axis.ts
3720
3720
  /**
3721
- * ts-pptx: Category-Axis Plot Assembly
3721
+ * pptx-ts: Category-Axis Plot Assembly
3722
3722
  *
3723
3723
  * Emits the `<c:areaChart>` / `<c:barChart>` / `<c:bar3DChart>` / `<c:lineChart>` /
3724
3724
  * `<c:radarChart>` plot elements. These five chart types share one builder because they
@@ -3812,7 +3812,7 @@ const makeCatAxisPlot = (chartType, data, opts, valAxisId, catAxisId, valFmtCode
3812
3812
  //#endregion
3813
3813
  //#region src/gen/chart/plot-scatter.ts
3814
3814
  /**
3815
- * ts-pptx: Scatter Plot Assembly
3815
+ * pptx-ts: Scatter Plot Assembly
3816
3816
  *
3817
3817
  * Emits the `<c:scatterChart>` plot element. Scatter is the one family whose first data
3818
3818
  * row supplies X *values* rather than categories, so each `<c:ser>` carries an
@@ -4159,7 +4159,7 @@ function makePiePlot(chartType, data, opts, valFmtCode, sheet) {
4159
4159
  //#endregion
4160
4160
  //#region src/gen/chart/plot-stock.ts
4161
4161
  /**
4162
- * ts-pptx: Stock (High-Low-Close) Plot Assembly
4162
+ * pptx-ts: Stock (High-Low-Close) Plot Assembly
4163
4163
  *
4164
4164
  * Emits the classic `<c:stockChart>` element (plus, for the volume styles, a leading
4165
4165
  * `<c:barChart>` volume series on a secondary axis pair). A stock chart is a fixed-order
@@ -4263,7 +4263,7 @@ const makeStockPlot = (chartType, data, opts, valAxisId, catAxisId, valFmtCode,
4263
4263
  //#endregion
4264
4264
  //#region src/gen/chart/plot-surface.ts
4265
4265
  /**
4266
- * ts-pptx: Surface Plot Assembly
4266
+ * pptx-ts: Surface Plot Assembly
4267
4267
  *
4268
4268
  * Emits the classic `<c:surface3DChart>` (a 3-D surface) or `<c:surfaceChart>` (a 2-D
4269
4269
  * contour / top view), selected by the `surface3D` option; `wireframe` toggles the
@@ -4336,7 +4336,7 @@ function makeSurfaceScene(opts) {
4336
4336
  //#endregion
4337
4337
  //#region src/gen/chart/chart-xml.ts
4338
4338
  /**
4339
- * ts-pptx: Chart DrawingML Assembly
4339
+ * pptx-ts: Chart DrawingML Assembly
4340
4340
  *
4341
4341
  * Builds a chart's `ppt/charts/chartN.xml` -- the `<c:chartSpace>` DrawingML that
4342
4342
  * PowerPoint renders. `makeXmlCharts` assembles the top-level envelope (header, plot
@@ -4762,7 +4762,7 @@ function makeXmlCharts(rel) {
4762
4762
  ]);
4763
4763
  }
4764
4764
  /**
4765
- * Stable ts-pptx vendor GUID identifying the chart-metadata extension on `c:chartSpace/c:extLst`.
4765
+ * Stable pptx-ts vendor GUID identifying the chart-metadata extension on `c:chartSpace/c:extLst`.
4766
4766
  * Custom data rides under this URI in a foreign namespace so PowerPoint preserves it (the extLst
4767
4767
  * mechanism) instead of stripping/repairing it as it would an unrecognised sibling element.
4768
4768
  */
@@ -4913,7 +4913,7 @@ function chartExSeriesNameRef(sheet) {
4913
4913
  //#endregion
4914
4914
  //#region src/gen/chart/chartex-xml.ts
4915
4915
  /**
4916
- * ts-pptx: chartEx (`cx:`) Chart Assembly
4916
+ * pptx-ts: chartEx (`cx:`) Chart Assembly
4917
4917
  *
4918
4918
  * Builds a chartEx chart part `ppt/charts/chartEx{N}.xml` — the `<cx:chartSpace>` for the
4919
4919
  * Office-2016 chart family (currently `waterfall`, `funnel`, `treemap`, `sunburst`, `histogram`,
@@ -5189,7 +5189,7 @@ function makeXmlChartEx(rel) {
5189
5189
  //#endregion
5190
5190
  //#region src/gen/chart/chartex-style.ts
5191
5191
  /**
5192
- * ts-pptx: chartEx (cx:) Style + Color Parts
5192
+ * pptx-ts: chartEx (cx:) Style + Color Parts
5193
5193
  *
5194
5194
  * Every chartEx chart part (`chartEx{N}.xml`) MUST be accompanied by a chart-style part
5195
5195
  * (`style{N}.xml`, `cs:chartStyle`) and a chart-color-style part (`colors{N}.xml`,
@@ -5224,7 +5224,7 @@ function makeChartExStyleXml() {
5224
5224
  //#endregion
5225
5225
  //#region src/gen/chart/embed-xlsx.ts
5226
5226
  /**
5227
- * ts-pptx: Chart Embedded-Workbook Generation
5227
+ * pptx-ts: Chart Embedded-Workbook Generation
5228
5228
  *
5229
5229
  * Builds the embedded `.xlsx` workbook that backs a chart's cached data — the data
5230
5230
  * source PowerPoint opens when a user edits the chart. `createExcelWorksheet` writes
@@ -5679,7 +5679,7 @@ const chartContributor = {
5679
5679
  //#endregion
5680
5680
  //#region src/gen/slide/objects/chart.ts
5681
5681
  /**
5682
- * ts-pptx: chart slide-object serialization
5682
+ * pptx-ts: chart slide-object serialization
5683
5683
  *
5684
5684
  * Emits a `chart` slide object as the `<p:graphicFrame>` that references the chart part.
5685
5685
  * Classic charts emit that frame bare; chartEx charts wrap it in `<mc:AlternateContent>` with a
@@ -5803,7 +5803,7 @@ function renderChartExFallback(shapeId, itemOpts, x, y, cx, cy) {
5803
5803
  //#endregion
5804
5804
  //#region src/gen/define/chart.ts
5805
5805
  /**
5806
- * ts-pptx: Chart Definition
5806
+ * pptx-ts: Chart Definition
5807
5807
  *
5808
5808
  * `addChartDefinition` normalizes `addChart()` options onto the slide model and registers the
5809
5809
  * chart part rel; the `normalize*` / `clamp*` helpers apply the schema-valid defaults and range
@@ -6624,7 +6624,7 @@ function addChartDefinition(target, type, data, opt) {
6624
6624
  //#endregion
6625
6625
  //#region src/families/chart.ts
6626
6626
  /**
6627
- * ts-pptx: the chart construct family
6627
+ * pptx-ts: the chart construct family
6628
6628
  *
6629
6629
  * The expensive one: `addChart` reaches every plot module, axis and sidecar builder under
6630
6630
  * `gen/chart/`, which is what a program that never draws a chart is paying for when a slide method
@@ -6663,7 +6663,7 @@ const chartFamily = {
6663
6663
  //#endregion
6664
6664
  //#region src/gen/slide/comments.ts
6665
6665
  /**
6666
- * ts-pptx: comment parts
6666
+ * pptx-ts: comment parts
6667
6667
  *
6668
6668
  * Resolve every slide's comments into a deck-wide author registry with per-author
6669
6669
  * numbering, then emit the presentation-level `commentAuthors.xml` and each
@@ -6780,7 +6780,7 @@ const commentsContributor = {
6780
6780
  //#endregion
6781
6781
  //#region src/gen/define/comment.ts
6782
6782
  /**
6783
- * ts-pptx: Comment Definition
6783
+ * pptx-ts: Comment Definition
6784
6784
  *
6785
6785
  * Validates `addComment()` author / text / position and stashes a review comment on the slide
6786
6786
  * (`_comments`); the `<p:cm>` XML is emitted later by `gen/slide/comments.ts`.
@@ -6838,7 +6838,7 @@ function addCommentDefinition(target, opts) {
6838
6838
  //#endregion
6839
6839
  //#region src/families/comments.ts
6840
6840
  /**
6841
- * ts-pptx: the comments construct family
6841
+ * pptx-ts: the comments construct family
6842
6842
  *
6843
6843
  * Legacy PowerPoint review comments: the marker on the slide, the per-slide comment part, and the
6844
6844
  * deck-wide author list.
@@ -6853,7 +6853,7 @@ const commentsFamily = {
6853
6853
  //#endregion
6854
6854
  //#region src/gen/slide/objects/connector.ts
6855
6855
  /**
6856
- * ts-pptx: connector slide-object serialization
6856
+ * pptx-ts: connector slide-object serialization
6857
6857
  *
6858
6858
  * Emits a `connector` slide object as a `<p:cxnSp>`. The start/end shape bindings resolve a
6859
6859
  * caller-supplied `objectName` to the target's slide-wide `<p:cNvPr>` id; an unresolved name
@@ -6904,7 +6904,7 @@ function renderConnectorObject(ctx) {
6904
6904
  //#endregion
6905
6905
  //#region src/gen/define/connector.ts
6906
6906
  /**
6907
- * ts-pptx: Connector Definition
6907
+ * pptx-ts: Connector Definition
6908
6908
  *
6909
6909
  * `addConnectorDefinition` converts two endpoints to a flip-oriented bounding box, resolves the
6910
6910
  * connector preset + adjust guides, and optionally binds start / end shapes. Emitted later as
@@ -7006,7 +7006,7 @@ const connectorFamily = {
7006
7006
  //#endregion
7007
7007
  //#region src/families/measure.ts
7008
7008
  /**
7009
- * ts-pptx: the measurement construct family
7009
+ * pptx-ts: the measurement construct family
7010
7010
  *
7011
7011
  * The three presentation methods that measure without authoring anything: `measureText`,
7012
7012
  * `overflowsBox` and `tableLayout`. They measure through `measure/fit.ts` and
@@ -7042,7 +7042,7 @@ const measureFamily = {
7042
7042
  //#endregion
7043
7043
  //#region src/gen/slide/objects/media.ts
7044
7044
  /**
7045
- * ts-pptx: media (audio / video / online video) slide-object serialization
7045
+ * pptx-ts: media (audio / video / online video) slide-object serialization
7046
7046
  *
7047
7047
  * Emits a `media` slide object as a `<p:pic>` carrying the required preview image. The online
7048
7048
  * and embedded forms differ in exactly two tokens — the EG_Media choice element and whether the
@@ -7112,7 +7112,7 @@ const AM3D_NS = "http://schemas.microsoft.com/office/drawing/2017/model3d";
7112
7112
  const RATIO_DEN = 1e6;
7113
7113
  /**
7114
7114
  * `am3d:raster@rName`/`@rVer` — the renderer that produced the cached preview. PowerPoint stamps
7115
- * its own renderer here; ts-pptx did not rasterize anything, but the attributes are what PowerPoint
7115
+ * its own renderer here; pptx-ts did not rasterize anything, but the attributes are what PowerPoint
7116
7116
  * writes and the element is where the preview blip lives, so they are reproduced verbatim.
7117
7117
  */
7118
7118
  const RASTER = {
@@ -7304,7 +7304,7 @@ function renderModel3dObject(ctx) {
7304
7304
  //#endregion
7305
7305
  //#region src/gen/define/preview-image.ts
7306
7306
  /**
7307
- * ts-pptx: preview/cover image registration.
7307
+ * pptx-ts: preview/cover image registration.
7308
7308
  *
7309
7309
  * Several objects are drawn from a cached raster the library cannot render itself — a Zoom tile's
7310
7310
  * thumbnail of its target slide, an OLE object's picture of the embedded document, a 3D model's
@@ -7456,7 +7456,7 @@ const model3dFamily = {
7456
7456
  //#endregion
7457
7457
  //#region src/gen/slide/objects/ole.ts
7458
7458
  /**
7459
- * ts-pptx: OLE-object slide-object serialization
7459
+ * pptx-ts: OLE-object slide-object serialization
7460
7460
  */
7461
7461
  /** VML namespace — declared by an OLE object's `mc:Choice Requires="v"` (no VML content is emitted). */
7462
7462
  const VML_NS = "urn:schemas-microsoft-com:vml";
@@ -8094,7 +8094,7 @@ function renderTableObject(ctx) {
8094
8094
  //#endregion
8095
8095
  //#region src/gen/define/table.ts
8096
8096
  /**
8097
- * ts-pptx: Table Definition
8097
+ * pptx-ts: Table Definition
8098
8098
  *
8099
8099
  * `addTableDefinition` applies the `headerRow` / `columns` sugar, normalizes rows into
8100
8100
  * fully-resolved `TableCellInternal`s (incl. 4-side borders), computes width, and — when `autoPage` is
@@ -8192,6 +8192,19 @@ function applyTableHeaderColumnSugar(tableRows, opt) {
8192
8192
  return srcRows;
8193
8193
  }
8194
8194
  /**
8195
+ * A text shadow normalized the way `addText` normalizes one, on a bag this module already owns.
8196
+ * The run emitter reads `_alpha`, which only {@link normalizeShadowOptions} derives from
8197
+ * `transparency` or an RGBA colour; skipped, a cell's shadow painted at the default alpha
8198
+ * whatever the caller asked for.
8199
+ */
8200
+ function withRunShadow(bag) {
8201
+ if (bag.shadow === void 0) return bag;
8202
+ const shadow = normalizeShadowOptions(bag.shadow);
8203
+ if (shadow) bag.shadow = shadow;
8204
+ else delete bag.shadow;
8205
+ return bag;
8206
+ }
8207
+ /**
8195
8208
  * Transform loosely-typed table rows (strings / numbers / TableCellInternal) into a grid of
8196
8209
  * well-formed TableCellInternal objects with fully-resolved 4-side cell borders.
8197
8210
  *
@@ -8203,7 +8216,7 @@ function normalizeTableRows(srcRows, opt) {
8203
8216
  srcRows.forEach((row) => {
8204
8217
  const newRow = [];
8205
8218
  if (Array.isArray(row)) row.forEach((cell) => {
8206
- const newCellOptions = typeof cell === "object" && cell.options ? { ...cell.options } : {};
8219
+ const newCellOptions = withRunShadow(typeof cell === "object" && cell.options ? { ...cell.options } : {});
8207
8220
  const newCell = {
8208
8221
  _type: "tablecell",
8209
8222
  text: "",
@@ -8214,7 +8227,7 @@ function normalizeTableRows(srcRows, opt) {
8214
8227
  if (typeof cell.text === "string" || typeof cell.text === "number") newCell.text = cell.text.toString();
8215
8228
  else if (Array.isArray(cell.text)) newCell.text = cell.text.map((run) => run.options ? {
8216
8229
  ...run,
8217
- options: { ...run.options }
8230
+ options: withRunShadow({ ...run.options })
8218
8231
  } : { ...run });
8219
8232
  else if (cell.text) newCell.text = cell.text;
8220
8233
  }
@@ -8357,6 +8370,7 @@ function addTableDefinition(target, tableRows, options) {
8357
8370
  if (idx === 0 || Array.isArray(row)) return;
8358
8371
  throw new InvalidOptionError("table/rows-not-nested", `addTable: 'rows' should be an array of cells! Row ${idx} is ${JSON.stringify(row)}`);
8359
8372
  });
8373
+ if (opt.tableStyle !== void 0 && !ST_GUID.test(opt.tableStyle)) throw new InvalidOptionError("table/invalid-style-id", `addTable: \`tableStyle\` ${JSON.stringify(opt.tableStyle)} is not a style GUID. Use a \`TableStyle\` member, or a GUID in braces such as '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'.`);
8360
8374
  const srcRows = applyTableHeaderColumnSugar(withCheckedSpans(tableRows), opt);
8361
8375
  if (opt.border != null && typeof opt.border !== "object") {
8362
8376
  warn("table/invalid-border", "addTable `border` option must be an object. Ex: `{border: {type:'none'}}`");
@@ -8862,4 +8876,4 @@ const zoomFamily = {
8862
8876
  //#endregion
8863
8877
  export { renderedSlideObjects as A, pushMediaRel as B, msMediaRid as C, findLayoutPlaceholder as D, placeholderOptionsForSlide as E, warnUnauthoredChild as F, SLIDE_METHOD_FAMILIES as I, composeFamilies as L, shapeIdCount as M, addChildDefinition as N, resolveTextAnchor as O, isGroupableObject as P, familyMethodUnavailable as R, alternateContentEl as S, addTextDefinition as T, resolveImageSource as V, chartPartNames as _, mediaFamily as a, GROUP_SHAPE_LOCK_ATTRS as b, commentsFamily as c, textFamily as d, shapeFamily as f, makeXmlCore as g, groupFamily as h, model3dFamily as i, resolveObjectNameToId as j, collectSlideShapeIds as k, chartFamily as l, imageFamily as m, tableFamily as n, measureFamily as o, notesFamily as p, oleFamily as r, connectorFamily as s, zoomFamily as t, animationsFamily as u, FMT_SCHEME_XML as v, previewRid as w, genXmlObjectLock as x, resolveImageExtent as y, requirePresentationAuthor as z };
8864
8878
 
8865
- //# sourceMappingURL=zoom-DPUHh85d.js.map
8879
+ //# sourceMappingURL=zoom-BoNyOlPm.js.map