ooxml-core 1.19.0 → 1.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PptxHandler-5GBBVJCR.mjs → PptxHandler-2V4PQL6O.mjs} +2 -2
- package/dist/{PptxHandler-ZHPGBSAF.cjs → PptxHandler-6TNIQ7S5.cjs} +2 -2
- package/dist/{PptxHandler-H43MAMTO.mjs → PptxHandler-HSPKEP5E.mjs} +1 -1
- package/dist/{PresentationBuilder-7ZSUKCX5.mjs → PresentationBuilder-G7MPEGXJ.mjs} +1 -1
- package/dist/{PresentationBuilder-IJW42L3R.mjs → PresentationBuilder-HQ6C7L4V.mjs} +2 -2
- package/dist/{PresentationBuilder-O4H4MMWB.cjs → PresentationBuilder-RM52LCVN.cjs} +4 -4
- package/dist/automation/node.cjs +2 -1
- package/dist/automation/node.d.ts.map +1 -1
- package/dist/automation/node.mjs +2 -1
- package/dist/{chunk-D4GBMBG6.mjs → chunk-365VXA3X.mjs} +1 -1
- package/dist/{chunk-3XFPCZKB.mjs → chunk-4FTUAD2B.mjs} +20 -5
- package/dist/{chunk-PLWRGPRH.mjs → chunk-4YDPRQRH.mjs} +145 -96
- package/dist/{chunk-QXDWDDLN.mjs → chunk-6UV3JVB3.mjs} +1 -1
- package/dist/{chunk-3ATTMOYZ.mjs → chunk-7FPQ7LGN.mjs} +1 -1
- package/dist/{chunk-7WCCQKV2.mjs → chunk-7I7CMDUZ.mjs} +1 -1
- package/dist/{chunk-KZ6UTEES.mjs → chunk-E6WNB3JX.mjs} +1 -1
- package/dist/{chunk-SPG7WICG.mjs → chunk-EDRS3OSM.mjs} +1 -1
- package/dist/{chunk-VXLBSKZ6.mjs → chunk-GKLDCQLY.mjs} +1 -1
- package/dist/{chunk-ITQNJLJW.mjs → chunk-ILG6NKXV.mjs} +1 -1
- package/dist/{chunk-OXZUJR7O.mjs → chunk-J3PD5JWS.mjs} +1 -1
- package/dist/{chunk-QBJRB6WW.mjs → chunk-JUABSM7C.mjs} +1 -1
- package/dist/{chunk-5GBNB7VU.mjs → chunk-LMDNFNZJ.mjs} +1 -1
- package/dist/{chunk-BIVNVDAH.mjs → chunk-M6GDBVQ7.mjs} +1 -1
- package/dist/{chunk-4SMQRUUE.mjs → chunk-MZP6H7QY.mjs} +1 -1
- package/dist/{chunk-KCALUCYU.mjs → chunk-NIGOXRUP.mjs} +1 -1
- package/dist/{chunk-VB7NKWZH.mjs → chunk-P37EWZBC.mjs} +1 -1
- package/dist/{chunk-VD3XNFJH.mjs → chunk-PIOG7ZFF.mjs} +1 -1
- package/dist/{chunk-MHMVD23Y.cjs → chunk-R5FIHHGB.cjs} +33 -13
- package/dist/{chunk-4EUHK4OA.mjs → chunk-RRQFRNPQ.mjs} +1 -1
- package/dist/{chunk-AXDQEOYK.mjs → chunk-S3E6XBOU.mjs} +1 -1
- package/dist/{chunk-RUZEMWDI.mjs → chunk-SLNQNVQM.mjs} +1 -1
- package/dist/{chunk-75GLSRZE.mjs → chunk-TJPUAUWL.mjs} +4 -4
- package/dist/{chunk-53GW7NSV.mjs → chunk-UFZZESXL.mjs} +1 -1
- package/dist/{chunk-4JGKTRLH.mjs → chunk-X45XTEMI.mjs} +1 -1
- package/dist/{chunk-DUSAQQTU.mjs → chunk-YIXIC3TR.mjs} +1 -1
- package/dist/{chunk-YSKKMXDL.mjs → chunk-ZDD2RZGB.mjs} +1 -1
- package/dist/{chunk-H6TNNXJK.mjs → chunk-ZJ2OKIJN.mjs} +33 -13
- package/dist/pptx/automation/index.cjs +35 -14
- package/dist/pptx/automation/index.d.ts +2 -2
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/automation/schemas/chart-formatting-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/chart-formatting-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/chart-formatting-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/chart-formatting-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/chart-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/chart-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/chart-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/chart-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/chart-user-shape-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/chart-user-shape-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/chart-user-shape-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/chart-user-shape-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/element-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/element-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/element-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/element-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/export-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/export-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/export-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/export-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/geometry-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/geometry-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/geometry-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/geometry-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/hyperlink-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/hyperlink-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/hyperlink-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/hyperlink-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/index.cjs +145 -96
- package/dist/pptx/automation/schemas/index.mjs +21 -21
- package/dist/pptx/automation/schemas/json-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/json-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/json-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/json-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/layout-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/layout-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/layout-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/layout-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/lock-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/lock-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/lock-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/lock-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/metadata-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/metadata-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/metadata-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/metadata-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/ole-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/ole-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/ole-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/ole-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/presentation-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/presentation-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/presentation-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/presentation-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/section-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/section-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/section-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/section-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/slide-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/slide-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/slide-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/slide-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/smartart-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/smartart-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/smartart-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/smartart-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/table-style-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/table-style-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/table-style-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/table-style-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/template-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/template-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/template-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/template-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/theme-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/theme-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/theme-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/theme-schemas.mjs +2 -2
- package/dist/pptx/automation/schemas/validation-schemas.cjs +145 -96
- package/dist/pptx/automation/schemas/validation-schemas.d.ts +1 -1
- package/dist/pptx/automation/schemas/validation-schemas.d.ts.map +1 -1
- package/dist/pptx/automation/schemas/validation-schemas.mjs +2 -2
- package/dist/pptx/chunks/{index-CiyTR6mm.d.ts → index-B9x557hr.d.ts} +3 -2
- package/dist/pptx/chunks/{index-CiyTR6mm.d.ts.map → index-B9x557hr.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-BWHNCVNC.d.ts → index-Bqm-jFG-.d.ts} +3 -4
- package/dist/pptx/chunks/{index-BWHNCVNC.d.ts.map → index-Bqm-jFG-.d.ts.map} +1 -1
- package/dist/pptx/chunks/schemas-CWr181Wx.d.ts +2186 -0
- package/dist/pptx/chunks/schemas-CWr181Wx.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +35 -14
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/loader/table-style-image-paths.d.ts +1 -0
- package/dist/pptx/editor/render/collaboration-text-native-edit.d.ts +1 -0
- package/dist/pptx/editor/render/collaboration-text-session-paragraph.d.ts +1 -0
- package/dist/pptx/editor/render/collaboration-text-snapshot-positions.d.ts.map +1 -1
- package/dist/pptx/editor/render/find-replace.d.ts +1 -1
- package/dist/pptx/editor/render/slide-operations.cjs +1 -1
- package/dist/pptx/editor/render/slide-operations.mjs +1 -1
- package/dist/pptx/index.cjs +30 -6
- package/dist/pptx/index.d.ts +2 -2
- package/dist/pptx/index.mjs +5 -5
- package/dist/pptx/ui/index.d.ts +1 -0
- package/package.json +9 -9
- package/dist/pptx/chunks/external-DQ3B4V-o.d.ts +0 -4275
- package/dist/pptx/chunks/external-DQ3B4V-o.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-
|
|
1
|
+
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-SLNQNVQM.mjs';
|
|
2
2
|
|
|
3
3
|
// pptx/converter/media-context.ts
|
|
4
4
|
var MIME_TO_EXT = {
|
|
@@ -894,6 +894,11 @@ function relationshipsPartFor(partName) {
|
|
|
894
894
|
const slash = partName.lastIndexOf("/");
|
|
895
895
|
return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
|
|
896
896
|
}
|
|
897
|
+
function nextRelationshipId(used) {
|
|
898
|
+
let index = 1;
|
|
899
|
+
while (used.has(`rId${index}`)) index++;
|
|
900
|
+
return `rId${index}`;
|
|
901
|
+
}
|
|
897
902
|
|
|
898
903
|
// opc/content-types.ts
|
|
899
904
|
function parseContentTypes(xml) {
|
|
@@ -3493,7 +3498,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3493
3498
|
}
|
|
3494
3499
|
staticRelationships.push(relationship);
|
|
3495
3500
|
}
|
|
3496
|
-
const
|
|
3501
|
+
const nextRelationshipId5 = () => {
|
|
3497
3502
|
let index = 1;
|
|
3498
3503
|
while (usedRIds.has(`rId${index}`)) {
|
|
3499
3504
|
index += 1;
|
|
@@ -3537,7 +3542,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3537
3542
|
const existingSlideXml = input.slideMap.get(slide.id);
|
|
3538
3543
|
if (existingSlideXml) {
|
|
3539
3544
|
if (!slide.rId || slide.rId.length === 0 || !slideTargetByRid.has(slide.rId)) {
|
|
3540
|
-
slide.rId =
|
|
3545
|
+
slide.rId = nextRelationshipId5();
|
|
3541
3546
|
} else {
|
|
3542
3547
|
usedRIds.add(slide.rId);
|
|
3543
3548
|
}
|
|
@@ -3556,7 +3561,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3556
3561
|
sourceSlidePath,
|
|
3557
3562
|
usedRIds,
|
|
3558
3563
|
slideTargetByRid,
|
|
3559
|
-
nextRelationshipId:
|
|
3564
|
+
nextRelationshipId: nextRelationshipId5
|
|
3560
3565
|
});
|
|
3561
3566
|
attachedPaths.set(originalId, slide.id);
|
|
3562
3567
|
}
|
|
@@ -43486,7 +43491,7 @@ function saveModernSlideComments(init) {
|
|
|
43486
43491
|
rawXml: init.slide.modernCommentPart?.rawXml
|
|
43487
43492
|
};
|
|
43488
43493
|
}
|
|
43489
|
-
var
|
|
43494
|
+
var nextRelationshipId2 = (relationships2) => {
|
|
43490
43495
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] || "")));
|
|
43491
43496
|
let index = 1;
|
|
43492
43497
|
while (used.has(`rId${index}`)) {
|
|
@@ -43529,7 +43534,7 @@ async function persistModernCommentPackage(init) {
|
|
|
43529
43534
|
authorPath,
|
|
43530
43535
|
init.xmlBuilder.build(buildModernAuthorPart(init.authors, init.authorRoot))
|
|
43531
43536
|
);
|
|
43532
|
-
relationshipId = init.authorRelationshipId || String(existing?.["@_Id"] || "") ||
|
|
43537
|
+
relationshipId = init.authorRelationshipId || String(existing?.["@_Id"] || "") || nextRelationshipId2(retained);
|
|
43533
43538
|
retained.push({
|
|
43534
43539
|
...existing || {},
|
|
43535
43540
|
"@_Id": relationshipId,
|
|
@@ -50819,7 +50824,7 @@ function upsertRelationship(relationships2, entry2, target) {
|
|
|
50819
50824
|
(item) => String(item["@_Id"] ?? "") === entry2.relId && isCustomXmlRelationship(item["@_Type"])
|
|
50820
50825
|
);
|
|
50821
50826
|
if (!relationship) {
|
|
50822
|
-
entry2.relId =
|
|
50827
|
+
entry2.relId = nextRelationshipId3(relationships2);
|
|
50823
50828
|
relationship = {};
|
|
50824
50829
|
relationships2.push(relationship);
|
|
50825
50830
|
}
|
|
@@ -50887,7 +50892,7 @@ function relativeTarget2(source, target) {
|
|
|
50887
50892
|
}
|
|
50888
50893
|
return [...from.map(() => ".."), ...to].join("/");
|
|
50889
50894
|
}
|
|
50890
|
-
function
|
|
50895
|
+
function nextRelationshipId3(relationships2) {
|
|
50891
50896
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
50892
50897
|
let index = 1;
|
|
50893
50898
|
while (used.has(`rId${index}`)) {
|
|
@@ -51133,7 +51138,7 @@ async function upsertTagRelationship(zip, codec, collection) {
|
|
|
51133
51138
|
(entry2) => String(entry2["@_Id"] ?? "") === collection.relationshipId && String(entry2["@_Type"] ?? "") === TAG_RELATIONSHIP_TYPE
|
|
51134
51139
|
);
|
|
51135
51140
|
if (!relationship) {
|
|
51136
|
-
collection.relationshipId =
|
|
51141
|
+
collection.relationshipId = nextRelationshipId4(relationships2);
|
|
51137
51142
|
relationship = {};
|
|
51138
51143
|
relationships2.push(relationship);
|
|
51139
51144
|
}
|
|
@@ -51192,7 +51197,7 @@ function relativeTarget3(source, target) {
|
|
|
51192
51197
|
}
|
|
51193
51198
|
return [...from.map(() => ".."), ...to].join("/");
|
|
51194
51199
|
}
|
|
51195
|
-
function
|
|
51200
|
+
function nextRelationshipId4(relationships2) {
|
|
51196
51201
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
51197
51202
|
let index = 1;
|
|
51198
51203
|
while (used.has(`rId${index}`)) {
|
|
@@ -73102,8 +73107,11 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73102
73107
|
);
|
|
73103
73108
|
} else if (!keepSourceAuthors) {
|
|
73104
73109
|
this.zip.remove("ppt/commentAuthors.xml");
|
|
73105
|
-
await this.stripPresentationCommentAuthorsRelationship();
|
|
73106
73110
|
}
|
|
73111
|
+
await this.updatePresentationCommentAuthorsRelationship(
|
|
73112
|
+
hasCommentAuthors,
|
|
73113
|
+
slideRelationshipType.replace(/\/slide$/, "/commentAuthors")
|
|
73114
|
+
);
|
|
73107
73115
|
const contentTypesXmlAfterComments = await this.zip.file("[Content_Types].xml")?.async("string");
|
|
73108
73116
|
if (contentTypesXmlAfterComments) {
|
|
73109
73117
|
const contentTypesData = this.parser.parse(contentTypesXmlAfterComments);
|
|
@@ -73289,10 +73297,9 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73289
73297
|
}
|
|
73290
73298
|
}
|
|
73291
73299
|
/**
|
|
73292
|
-
*
|
|
73293
|
-
* the Transitional or Strict commentAuthors relationship URI.
|
|
73300
|
+
* Keep the authors part linked, or remove its relationship with the part.
|
|
73294
73301
|
*/
|
|
73295
|
-
async
|
|
73302
|
+
async updatePresentationCommentAuthorsRelationship(hasAuthors, relationshipType) {
|
|
73296
73303
|
const relsPath2 = "ppt/_rels/presentation.xml.rels";
|
|
73297
73304
|
const relsXml = await this.zip.file(relsPath2)?.async("string");
|
|
73298
73305
|
if (!relsXml) {
|
|
@@ -73308,6 +73315,19 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73308
73315
|
const type = String(relationship?.["@_Type"] ?? "");
|
|
73309
73316
|
return type !== "http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors" && type !== "http://purl.oclc.org/ooxml/officeDocument/relationships/commentAuthors";
|
|
73310
73317
|
});
|
|
73318
|
+
if (hasAuthors) {
|
|
73319
|
+
if (filtered.length === relationships2.length) {
|
|
73320
|
+
const usedIds = new Set(relationships2.map((rel) => String(rel["@_Id"] ?? "")));
|
|
73321
|
+
relationships2.push({
|
|
73322
|
+
"@_Id": nextRelationshipId(usedIds),
|
|
73323
|
+
"@_Type": relationshipType,
|
|
73324
|
+
"@_Target": "commentAuthors.xml"
|
|
73325
|
+
});
|
|
73326
|
+
root["Relationship"] = relationships2;
|
|
73327
|
+
this.zip.file(relsPath2, this.builder.build(relsData));
|
|
73328
|
+
}
|
|
73329
|
+
return;
|
|
73330
|
+
}
|
|
73311
73331
|
if (filtered.length === relationships2.length) {
|
|
73312
73332
|
return;
|
|
73313
73333
|
}
|
|
@@ -21818,7 +21818,7 @@ function findTextBearingElementById(elements3, elementId) {
|
|
|
21818
21818
|
}
|
|
21819
21819
|
async function loadNestedDeck(pptxBytes) {
|
|
21820
21820
|
try {
|
|
21821
|
-
const { PptxHandler } = await import('./PptxHandler-
|
|
21821
|
+
const { PptxHandler } = await import('./PptxHandler-2V4PQL6O.mjs');
|
|
21822
21822
|
const handler = new PptxHandler();
|
|
21823
21823
|
const data = await handler.load(pptxBytes.buffer.slice(0));
|
|
21824
21824
|
return { handler, slides: data.slides };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-
|
|
2
|
-
import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, isLineDrawnChartType, chartFormatTargetKey, applyChartGroupOptionsInput, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, relationshipsPartFor, parseRelationships, resolvePartPath, clonePartGraph, buildRelationshipsXml, buildBlankPresentationArchive, nextRelationshipId, relativePartTarget, PptxXmlBuilder } from './chunk-
|
|
3
|
-
import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, parseXml, first, elements, buildXml, bytesToBase64, base64ToBytes, hasTextProperties } from './chunk-
|
|
1
|
+
import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-JUABSM7C.mjs';
|
|
2
|
+
import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, isLineDrawnChartType, chartFormatTargetKey, applyChartGroupOptionsInput, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, relationshipsPartFor, parseRelationships, resolvePartPath, clonePartGraph, buildRelationshipsXml, buildBlankPresentationArchive, nextRelationshipId, relativePartTarget, PptxXmlBuilder } from './chunk-4FTUAD2B.mjs';
|
|
3
|
+
import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, parseXml, first, elements, buildXml, bytesToBase64, base64ToBytes, hasTextProperties } from './chunk-SLNQNVQM.mjs';
|
|
4
4
|
import { openPptxZip } from './chunk-M4XLF4R7.mjs';
|
|
5
5
|
import { cloneSlide, cloneElement } from './chunk-54S5A5PZ.mjs';
|
|
6
6
|
|
|
@@ -14957,7 +14957,7 @@ async function setPresentationRunText(bytes, slideIndex, elementId, runIndex, te
|
|
|
14957
14957
|
async function createPresentationFromOutline(slides, options = {}) {
|
|
14958
14958
|
if (!(slides instanceof Array) || !slides.length || slides.length > 200)
|
|
14959
14959
|
throw new Error("A presentation outline has 1 to 200 slides");
|
|
14960
|
-
const { PresentationBuilder: PresentationBuilder2 } = await import('./PresentationBuilder-
|
|
14960
|
+
const { PresentationBuilder: PresentationBuilder2 } = await import('./PresentationBuilder-HQ6C7L4V.mjs');
|
|
14961
14961
|
const { handler, data, createSlide } = await PresentationBuilder2.create({
|
|
14962
14962
|
...options.title ? { title: options.title } : {}
|
|
14963
14963
|
});
|
|
@@ -888,6 +888,11 @@ function relationshipsPartFor(partName) {
|
|
|
888
888
|
const slash = partName.lastIndexOf("/");
|
|
889
889
|
return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
|
|
890
890
|
}
|
|
891
|
+
function nextRelationshipId(used) {
|
|
892
|
+
let index = 1;
|
|
893
|
+
while (used.has(`rId${index}`)) index++;
|
|
894
|
+
return `rId${index}`;
|
|
895
|
+
}
|
|
891
896
|
|
|
892
897
|
// opc/content-types.ts
|
|
893
898
|
function parseContentTypes(xml) {
|
|
@@ -3487,7 +3492,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3487
3492
|
}
|
|
3488
3493
|
staticRelationships.push(relationship);
|
|
3489
3494
|
}
|
|
3490
|
-
const
|
|
3495
|
+
const nextRelationshipId5 = () => {
|
|
3491
3496
|
let index = 1;
|
|
3492
3497
|
while (usedRIds.has(`rId${index}`)) {
|
|
3493
3498
|
index += 1;
|
|
@@ -3531,7 +3536,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3531
3536
|
const existingSlideXml = input.slideMap.get(slide.id);
|
|
3532
3537
|
if (existingSlideXml) {
|
|
3533
3538
|
if (!slide.rId || slide.rId.length === 0 || !slideTargetByRid.has(slide.rId)) {
|
|
3534
|
-
slide.rId =
|
|
3539
|
+
slide.rId = nextRelationshipId5();
|
|
3535
3540
|
} else {
|
|
3536
3541
|
usedRIds.add(slide.rId);
|
|
3537
3542
|
}
|
|
@@ -3550,7 +3555,7 @@ var PptxPresentationSlidesReconciler = class {
|
|
|
3550
3555
|
sourceSlidePath,
|
|
3551
3556
|
usedRIds,
|
|
3552
3557
|
slideTargetByRid,
|
|
3553
|
-
nextRelationshipId:
|
|
3558
|
+
nextRelationshipId: nextRelationshipId5
|
|
3554
3559
|
});
|
|
3555
3560
|
attachedPaths.set(originalId, slide.id);
|
|
3556
3561
|
}
|
|
@@ -43480,7 +43485,7 @@ function saveModernSlideComments(init) {
|
|
|
43480
43485
|
rawXml: init.slide.modernCommentPart?.rawXml
|
|
43481
43486
|
};
|
|
43482
43487
|
}
|
|
43483
|
-
var
|
|
43488
|
+
var nextRelationshipId2 = (relationships2) => {
|
|
43484
43489
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] || "")));
|
|
43485
43490
|
let index = 1;
|
|
43486
43491
|
while (used.has(`rId${index}`)) {
|
|
@@ -43523,7 +43528,7 @@ async function persistModernCommentPackage(init) {
|
|
|
43523
43528
|
authorPath,
|
|
43524
43529
|
init.xmlBuilder.build(buildModernAuthorPart(init.authors, init.authorRoot))
|
|
43525
43530
|
);
|
|
43526
|
-
relationshipId = init.authorRelationshipId || String(existing?.["@_Id"] || "") ||
|
|
43531
|
+
relationshipId = init.authorRelationshipId || String(existing?.["@_Id"] || "") || nextRelationshipId2(retained);
|
|
43527
43532
|
retained.push({
|
|
43528
43533
|
...existing || {},
|
|
43529
43534
|
"@_Id": relationshipId,
|
|
@@ -50813,7 +50818,7 @@ function upsertRelationship(relationships2, entry2, target) {
|
|
|
50813
50818
|
(item) => String(item["@_Id"] ?? "") === entry2.relId && isCustomXmlRelationship(item["@_Type"])
|
|
50814
50819
|
);
|
|
50815
50820
|
if (!relationship) {
|
|
50816
|
-
entry2.relId =
|
|
50821
|
+
entry2.relId = nextRelationshipId3(relationships2);
|
|
50817
50822
|
relationship = {};
|
|
50818
50823
|
relationships2.push(relationship);
|
|
50819
50824
|
}
|
|
@@ -50881,7 +50886,7 @@ function relativeTarget2(source, target) {
|
|
|
50881
50886
|
}
|
|
50882
50887
|
return [...from.map(() => ".."), ...to].join("/");
|
|
50883
50888
|
}
|
|
50884
|
-
function
|
|
50889
|
+
function nextRelationshipId3(relationships2) {
|
|
50885
50890
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
50886
50891
|
let index = 1;
|
|
50887
50892
|
while (used.has(`rId${index}`)) {
|
|
@@ -51127,7 +51132,7 @@ async function upsertTagRelationship(zip, codec, collection) {
|
|
|
51127
51132
|
(entry2) => String(entry2["@_Id"] ?? "") === collection.relationshipId && String(entry2["@_Type"] ?? "") === TAG_RELATIONSHIP_TYPE
|
|
51128
51133
|
);
|
|
51129
51134
|
if (!relationship) {
|
|
51130
|
-
collection.relationshipId =
|
|
51135
|
+
collection.relationshipId = nextRelationshipId4(relationships2);
|
|
51131
51136
|
relationship = {};
|
|
51132
51137
|
relationships2.push(relationship);
|
|
51133
51138
|
}
|
|
@@ -51186,7 +51191,7 @@ function relativeTarget3(source, target) {
|
|
|
51186
51191
|
}
|
|
51187
51192
|
return [...from.map(() => ".."), ...to].join("/");
|
|
51188
51193
|
}
|
|
51189
|
-
function
|
|
51194
|
+
function nextRelationshipId4(relationships2) {
|
|
51190
51195
|
const used = new Set(relationships2.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
51191
51196
|
let index = 1;
|
|
51192
51197
|
while (used.has(`rId${index}`)) {
|
|
@@ -73096,8 +73101,11 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73096
73101
|
);
|
|
73097
73102
|
} else if (!keepSourceAuthors) {
|
|
73098
73103
|
this.zip.remove("ppt/commentAuthors.xml");
|
|
73099
|
-
await this.stripPresentationCommentAuthorsRelationship();
|
|
73100
73104
|
}
|
|
73105
|
+
await this.updatePresentationCommentAuthorsRelationship(
|
|
73106
|
+
hasCommentAuthors,
|
|
73107
|
+
slideRelationshipType.replace(/\/slide$/, "/commentAuthors")
|
|
73108
|
+
);
|
|
73101
73109
|
const contentTypesXmlAfterComments = await this.zip.file("[Content_Types].xml")?.async("string");
|
|
73102
73110
|
if (contentTypesXmlAfterComments) {
|
|
73103
73111
|
const contentTypesData = this.parser.parse(contentTypesXmlAfterComments);
|
|
@@ -73283,10 +73291,9 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73283
73291
|
}
|
|
73284
73292
|
}
|
|
73285
73293
|
/**
|
|
73286
|
-
*
|
|
73287
|
-
* the Transitional or Strict commentAuthors relationship URI.
|
|
73294
|
+
* Keep the authors part linked, or remove its relationship with the part.
|
|
73288
73295
|
*/
|
|
73289
|
-
async
|
|
73296
|
+
async updatePresentationCommentAuthorsRelationship(hasAuthors, relationshipType) {
|
|
73290
73297
|
const relsPath2 = "ppt/_rels/presentation.xml.rels";
|
|
73291
73298
|
const relsXml = await this.zip.file(relsPath2)?.async("string");
|
|
73292
73299
|
if (!relsXml) {
|
|
@@ -73302,6 +73309,19 @@ var PptxHandlerRuntime54 = class _PptxHandlerRuntime extends PptxHandlerRuntime5
|
|
|
73302
73309
|
const type = String(relationship?.["@_Type"] ?? "");
|
|
73303
73310
|
return type !== "http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors" && type !== "http://purl.oclc.org/ooxml/officeDocument/relationships/commentAuthors";
|
|
73304
73311
|
});
|
|
73312
|
+
if (hasAuthors) {
|
|
73313
|
+
if (filtered.length === relationships2.length) {
|
|
73314
|
+
const usedIds = new Set(relationships2.map((rel) => String(rel["@_Id"] ?? "")));
|
|
73315
|
+
relationships2.push({
|
|
73316
|
+
"@_Id": nextRelationshipId(usedIds),
|
|
73317
|
+
"@_Type": relationshipType,
|
|
73318
|
+
"@_Target": "commentAuthors.xml"
|
|
73319
|
+
});
|
|
73320
|
+
root["Relationship"] = relationships2;
|
|
73321
|
+
this.zip.file(relsPath2, this.builder.build(relsData));
|
|
73322
|
+
}
|
|
73323
|
+
return;
|
|
73324
|
+
}
|
|
73305
73325
|
if (filtered.length === relationships2.length) {
|
|
73306
73326
|
return;
|
|
73307
73327
|
}
|
|
@@ -39511,6 +39511,11 @@ function relationshipsPartFor(partName) {
|
|
|
39511
39511
|
const slash = partName.lastIndexOf("/");
|
|
39512
39512
|
return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
|
|
39513
39513
|
}
|
|
39514
|
+
function nextRelationshipId(used) {
|
|
39515
|
+
let index = 1;
|
|
39516
|
+
while (used.has(`rId${index}`)) index++;
|
|
39517
|
+
return `rId${index}`;
|
|
39518
|
+
}
|
|
39514
39519
|
var escapeAttr;
|
|
39515
39520
|
var init_relationships = __esm({
|
|
39516
39521
|
"opc/relationships.ts"() {
|
|
@@ -60775,7 +60780,7 @@ var init_PptxPresentationSlidesReconciler = __esm({
|
|
|
60775
60780
|
}
|
|
60776
60781
|
staticRelationships.push(relationship);
|
|
60777
60782
|
}
|
|
60778
|
-
const
|
|
60783
|
+
const nextRelationshipId5 = () => {
|
|
60779
60784
|
let index = 1;
|
|
60780
60785
|
while (usedRIds.has(`rId${index}`)) {
|
|
60781
60786
|
index += 1;
|
|
@@ -60819,7 +60824,7 @@ var init_PptxPresentationSlidesReconciler = __esm({
|
|
|
60819
60824
|
const existingSlideXml = input.slideMap.get(slide.id);
|
|
60820
60825
|
if (existingSlideXml) {
|
|
60821
60826
|
if (!slide.rId || slide.rId.length === 0 || !slideTargetByRid.has(slide.rId)) {
|
|
60822
|
-
slide.rId =
|
|
60827
|
+
slide.rId = nextRelationshipId5();
|
|
60823
60828
|
} else {
|
|
60824
60829
|
usedRIds.add(slide.rId);
|
|
60825
60830
|
}
|
|
@@ -60838,7 +60843,7 @@ var init_PptxPresentationSlidesReconciler = __esm({
|
|
|
60838
60843
|
sourceSlidePath,
|
|
60839
60844
|
usedRIds,
|
|
60840
60845
|
slideTargetByRid,
|
|
60841
|
-
nextRelationshipId:
|
|
60846
|
+
nextRelationshipId: nextRelationshipId5
|
|
60842
60847
|
});
|
|
60843
60848
|
attachedPaths.set(originalId, slide.id);
|
|
60844
60849
|
}
|
|
@@ -102698,7 +102703,7 @@ async function persistModernCommentPackage(init) {
|
|
|
102698
102703
|
authorPath,
|
|
102699
102704
|
init.xmlBuilder.build(buildModernAuthorPart(init.authors, init.authorRoot))
|
|
102700
102705
|
);
|
|
102701
|
-
relationshipId2 = init.authorRelationshipId || String(existing?.["@_Id"] || "") ||
|
|
102706
|
+
relationshipId2 = init.authorRelationshipId || String(existing?.["@_Id"] || "") || nextRelationshipId2(retained);
|
|
102702
102707
|
retained.push({
|
|
102703
102708
|
...existing || {},
|
|
102704
102709
|
"@_Id": relationshipId2,
|
|
@@ -102729,7 +102734,7 @@ async function persistModernCommentPackage(init) {
|
|
|
102729
102734
|
}
|
|
102730
102735
|
return hasComments ? { authorPartPath: authorPath, authorRelationshipId: relationshipId2 } : {};
|
|
102731
102736
|
}
|
|
102732
|
-
var RELATIONSHIPS_NS, ensureArray13, resolvePartPath3, relationshipTarget, modernComments,
|
|
102737
|
+
var RELATIONSHIPS_NS, ensureArray13, resolvePartPath3, relationshipTarget, modernComments, nextRelationshipId2, updateOverride;
|
|
102733
102738
|
var init_modern_comment_package = __esm({
|
|
102734
102739
|
"pptx/core/utils/modern-comment-package.ts"() {
|
|
102735
102740
|
init_comment_thread_format();
|
|
@@ -102762,7 +102767,7 @@ var init_modern_comment_package = __esm({
|
|
|
102762
102767
|
return `${"../".repeat(source.length)}${target.join("/")}`;
|
|
102763
102768
|
};
|
|
102764
102769
|
modernComments = (slide) => (slide.comments || []).filter(usesModernCommentFormat).map(promoteCommentToModern);
|
|
102765
|
-
|
|
102770
|
+
nextRelationshipId2 = (relationships3) => {
|
|
102766
102771
|
const used = new Set(relationships3.map((entry2) => String(entry2["@_Id"] || "")));
|
|
102767
102772
|
let index = 1;
|
|
102768
102773
|
while (used.has(`rId${index}`)) {
|
|
@@ -110529,7 +110534,7 @@ function upsertRelationship(relationships3, entry2, target) {
|
|
|
110529
110534
|
(item) => String(item["@_Id"] ?? "") === entry2.relId && isCustomXmlRelationship(item["@_Type"])
|
|
110530
110535
|
);
|
|
110531
110536
|
if (!relationship) {
|
|
110532
|
-
entry2.relId =
|
|
110537
|
+
entry2.relId = nextRelationshipId3(relationships3);
|
|
110533
110538
|
relationship = {};
|
|
110534
110539
|
relationships3.push(relationship);
|
|
110535
110540
|
}
|
|
@@ -110597,7 +110602,7 @@ function relativeTarget2(source, target) {
|
|
|
110597
110602
|
}
|
|
110598
110603
|
return [...from.map(() => ".."), ...to].join("/");
|
|
110599
110604
|
}
|
|
110600
|
-
function
|
|
110605
|
+
function nextRelationshipId3(relationships3) {
|
|
110601
110606
|
const used = new Set(relationships3.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
110602
110607
|
let index = 1;
|
|
110603
110608
|
while (used.has(`rId${index}`)) {
|
|
@@ -110854,7 +110859,7 @@ async function upsertTagRelationship(zip, codec, collection) {
|
|
|
110854
110859
|
(entry2) => String(entry2["@_Id"] ?? "") === collection.relationshipId && String(entry2["@_Type"] ?? "") === TAG_RELATIONSHIP_TYPE
|
|
110855
110860
|
);
|
|
110856
110861
|
if (!relationship) {
|
|
110857
|
-
collection.relationshipId =
|
|
110862
|
+
collection.relationshipId = nextRelationshipId4(relationships3);
|
|
110858
110863
|
relationship = {};
|
|
110859
110864
|
relationships3.push(relationship);
|
|
110860
110865
|
}
|
|
@@ -110913,7 +110918,7 @@ function relativeTarget3(source, target) {
|
|
|
110913
110918
|
}
|
|
110914
110919
|
return [...from.map(() => ".."), ...to].join("/");
|
|
110915
110920
|
}
|
|
110916
|
-
function
|
|
110921
|
+
function nextRelationshipId4(relationships3) {
|
|
110917
110922
|
const used = new Set(relationships3.map((entry2) => String(entry2["@_Id"] ?? "")));
|
|
110918
110923
|
let index = 1;
|
|
110919
110924
|
while (used.has(`rId${index}`)) {
|
|
@@ -134189,6 +134194,7 @@ var init_PptxHandlerRuntimeSaveStructuralIds = __esm({
|
|
|
134189
134194
|
var PptxHandlerRuntime54;
|
|
134190
134195
|
var init_PptxHandlerRuntimeSavePipeline = __esm({
|
|
134191
134196
|
"pptx/core/core/runtime/PptxHandlerRuntimeSavePipeline.ts"() {
|
|
134197
|
+
init_relationships();
|
|
134192
134198
|
init_modern_comment_package();
|
|
134193
134199
|
init_builders();
|
|
134194
134200
|
init_factories();
|
|
@@ -134287,8 +134293,11 @@ var init_PptxHandlerRuntimeSavePipeline = __esm({
|
|
|
134287
134293
|
);
|
|
134288
134294
|
} else if (!keepSourceAuthors) {
|
|
134289
134295
|
this.zip.remove("ppt/commentAuthors.xml");
|
|
134290
|
-
await this.stripPresentationCommentAuthorsRelationship();
|
|
134291
134296
|
}
|
|
134297
|
+
await this.updatePresentationCommentAuthorsRelationship(
|
|
134298
|
+
hasCommentAuthors,
|
|
134299
|
+
slideRelationshipType.replace(/\/slide$/, "/commentAuthors")
|
|
134300
|
+
);
|
|
134292
134301
|
const contentTypesXmlAfterComments = await this.zip.file("[Content_Types].xml")?.async("string");
|
|
134293
134302
|
if (contentTypesXmlAfterComments) {
|
|
134294
134303
|
const contentTypesData = this.parser.parse(contentTypesXmlAfterComments);
|
|
@@ -134474,10 +134483,9 @@ var init_PptxHandlerRuntimeSavePipeline = __esm({
|
|
|
134474
134483
|
}
|
|
134475
134484
|
}
|
|
134476
134485
|
/**
|
|
134477
|
-
*
|
|
134478
|
-
* the Transitional or Strict commentAuthors relationship URI.
|
|
134486
|
+
* Keep the authors part linked, or remove its relationship with the part.
|
|
134479
134487
|
*/
|
|
134480
|
-
async
|
|
134488
|
+
async updatePresentationCommentAuthorsRelationship(hasAuthors, relationshipType) {
|
|
134481
134489
|
const relsPath2 = "ppt/_rels/presentation.xml.rels";
|
|
134482
134490
|
const relsXml = await this.zip.file(relsPath2)?.async("string");
|
|
134483
134491
|
if (!relsXml) {
|
|
@@ -134493,6 +134501,19 @@ var init_PptxHandlerRuntimeSavePipeline = __esm({
|
|
|
134493
134501
|
const type = String(relationship?.["@_Type"] ?? "");
|
|
134494
134502
|
return type !== "http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors" && type !== "http://purl.oclc.org/ooxml/officeDocument/relationships/commentAuthors";
|
|
134495
134503
|
});
|
|
134504
|
+
if (hasAuthors) {
|
|
134505
|
+
if (filtered.length === relationships3.length) {
|
|
134506
|
+
const usedIds = new Set(relationships3.map((rel) => String(rel["@_Id"] ?? "")));
|
|
134507
|
+
relationships3.push({
|
|
134508
|
+
"@_Id": nextRelationshipId(usedIds),
|
|
134509
|
+
"@_Type": relationshipType,
|
|
134510
|
+
"@_Target": "commentAuthors.xml"
|
|
134511
|
+
});
|
|
134512
|
+
root["Relationship"] = relationships3;
|
|
134513
|
+
this.zip.file(relsPath2, this.builder.build(relsData));
|
|
134514
|
+
}
|
|
134515
|
+
return;
|
|
134516
|
+
}
|
|
134496
134517
|
if (filtered.length === relationships3.length) {
|
|
134497
134518
|
return;
|
|
134498
134519
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as TextSegment } from "../chunks/text-D49FKllA.js";
|
|
2
2
|
import { t as PptxThemeColorRef } from "../chunks/color-ref-DT599vEx.js";
|
|
3
3
|
import { $ as ParsedTableStyleFill, Jt as PptxChartMarkerSymbol, Lt as PptxChartErrBars, Z as ParsedTableStyleBorders, _ as PptxElementWithText, at as ParsedTableStyleText, ir as ShapeStyle, m as PptxElement, pn as PptxChartUserShape, st as PptxTableCell3D, t as ChartPptxElement } from "../chunks/elements-iUzpAeqR.js";
|
|
4
|
-
import { $i as TableStylePartName, Gd as OleNestedDeckSlideDetail, cf as OlePayloadEditorKind, if as OleSheetGrid } from "../chunks/index-
|
|
4
|
+
import { $i as TableStylePartName, Gd as OleNestedDeckSlideDetail, cf as OlePayloadEditorKind, if as OleSheetGrid } from "../chunks/index-B9x557hr.js";
|
|
5
5
|
import { C as PptxSlide, Ct as PptxCustomProperty, St as PptxCoreProperties, ct as PptxThemeColorScheme, d as PptxData, ft as PptxThemeFontScheme, vt as PptxAppProperties, x as PptxPresentationProperties } from "../chunks/text-operations-CfLVZ7DK.js";
|
|
6
|
-
import { C as PptxJsonAssetStats, da as ChartAxisEdit, yt as PresentationDiff } from "../chunks/index-
|
|
6
|
+
import { C as PptxJsonAssetStats, da as ChartAxisEdit, yt as PresentationDiff } from "../chunks/index-Bqm-jFG-.js";
|
|
7
7
|
import { Doc, Text } from "yjs";
|
|
8
8
|
declare namespace types_d_exports {
|
|
9
9
|
export { CollaborationProvider, ExecutionContext, FileSystemProvider, PptxData, PptxElement, PptxSlide, TableStyleSaveOptions, ToolContext, ToolResult, ViewerProvider };
|