pptx-viewer-core 1.2.4 → 1.2.6
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 +8 -0
- package/dist/{SvgExporter-CYyO9c5A.d.mts → SvgExporter-BKbDaGaC.d.mts} +1 -1
- package/dist/{SvgExporter-DdjrIx33.d.ts → SvgExporter-CG73UVb9.d.ts} +1 -1
- package/dist/cli/index.d.mts +2 -2
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +0 -0
- package/dist/cli/index.mjs +0 -0
- package/dist/converter/index.d.mts +3 -3
- package/dist/converter/index.d.ts +3 -3
- package/dist/converter/index.js +0 -0
- package/dist/converter/index.mjs +0 -0
- package/dist/index.d.mts +126 -7
- package/dist/index.d.ts +126 -7
- package/dist/index.js +403 -56
- package/dist/index.mjs +402 -57
- package/dist/{presentation-BRAUjTRt.d.mts → presentation-CLc4eS3z.d.mts} +10 -0
- package/dist/{presentation-BRAUjTRt.d.ts → presentation-CLc4eS3z.d.ts} +10 -0
- package/dist/signature-node/index.d.mts +17 -7
- package/dist/signature-node/index.d.ts +17 -7
- package/dist/signature-node/index.js +297 -209
- package/dist/signature-node/index.mjs +295 -207
- package/dist/{text-operations-CkW4BO91.d.mts → text-operations-CCKEVX_5.d.mts} +1 -1
- package/dist/{text-operations-BJUOhA1w.d.ts → text-operations-oN04X1yi.d.ts} +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -7170,6 +7170,32 @@ function findAinkInkPayload(graphicData) {
|
|
|
7170
7170
|
}
|
|
7171
7171
|
return void 0;
|
|
7172
7172
|
}
|
|
7173
|
+
function findOleObjPayload(graphicData) {
|
|
7174
|
+
if (!graphicData) {
|
|
7175
|
+
return void 0;
|
|
7176
|
+
}
|
|
7177
|
+
const direct = graphicData["p:oleObj"];
|
|
7178
|
+
if (direct) {
|
|
7179
|
+
return direct;
|
|
7180
|
+
}
|
|
7181
|
+
const altContent = graphicData["mc:AlternateContent"];
|
|
7182
|
+
if (!altContent) {
|
|
7183
|
+
return void 0;
|
|
7184
|
+
}
|
|
7185
|
+
const fallback = altContent["mc:Fallback"];
|
|
7186
|
+
const fallbackOleObj = fallback?.["p:oleObj"];
|
|
7187
|
+
if (fallbackOleObj) {
|
|
7188
|
+
return fallbackOleObj;
|
|
7189
|
+
}
|
|
7190
|
+
const choices = ensureArrayLike(altContent["mc:Choice"]);
|
|
7191
|
+
for (const choice of choices) {
|
|
7192
|
+
const node = choice?.["p:oleObj"];
|
|
7193
|
+
if (node) {
|
|
7194
|
+
return node;
|
|
7195
|
+
}
|
|
7196
|
+
}
|
|
7197
|
+
return void 0;
|
|
7198
|
+
}
|
|
7173
7199
|
function decodeAinkInk(inkRoot) {
|
|
7174
7200
|
const inkPaths = [];
|
|
7175
7201
|
const inkColors = [];
|
|
@@ -7282,7 +7308,7 @@ var PptxGraphicFrameParser = class {
|
|
|
7282
7308
|
};
|
|
7283
7309
|
}
|
|
7284
7310
|
if (type === "ole" && graphicData) {
|
|
7285
|
-
const oleObject = graphicData
|
|
7311
|
+
const oleObject = findOleObjPayload(graphicData);
|
|
7286
7312
|
const oleProgId = String(oleObject?.["@_progId"] || "").trim() || void 0;
|
|
7287
7313
|
const oleName = String(oleObject?.["@_name"] || "").trim() || void 0;
|
|
7288
7314
|
const oleClsId = String(oleObject?.["@_classid"] || "").trim() || void 0;
|
|
@@ -7373,7 +7399,7 @@ var PptxGraphicFrameParser = class {
|
|
|
7373
7399
|
if (graphicData["dgm:relIds"] || uri.includes("/drawingml/2006/diagram")) {
|
|
7374
7400
|
return "smartArt";
|
|
7375
7401
|
}
|
|
7376
|
-
if (
|
|
7402
|
+
if (uri.includes("/presentationml/2006/ole") || uri.includes("/drawingml/2006/ole") || findOleObjPayload(graphicData)) {
|
|
7377
7403
|
return "ole";
|
|
7378
7404
|
}
|
|
7379
7405
|
if (graphicData["a:videoFile"] || graphicData["a:audioFile"] || uri.includes("/drawingml/2006/media")) {
|
|
@@ -8674,6 +8700,87 @@ function parseGuideNode(node) {
|
|
|
8674
8700
|
return { id, orientation, positionEmu, color };
|
|
8675
8701
|
}
|
|
8676
8702
|
|
|
8703
|
+
// src/core/services/animation-target-reconcile.ts
|
|
8704
|
+
var NV_CONTAINERS = [
|
|
8705
|
+
"p:nvSpPr",
|
|
8706
|
+
"p:nvPicPr",
|
|
8707
|
+
"p:nvCxnSpPr",
|
|
8708
|
+
"p:nvGraphicFramePr",
|
|
8709
|
+
"p:nvGrpSpPr"
|
|
8710
|
+
];
|
|
8711
|
+
function readCnvPrId(rawXml) {
|
|
8712
|
+
if (!rawXml) {
|
|
8713
|
+
return void 0;
|
|
8714
|
+
}
|
|
8715
|
+
for (const nvKey of NV_CONTAINERS) {
|
|
8716
|
+
const nv = rawXml[nvKey];
|
|
8717
|
+
const cNvPr = nv?.["p:cNvPr"];
|
|
8718
|
+
const id = cNvPr?.["@_id"];
|
|
8719
|
+
if (id !== void 0 && id !== null && String(id).length > 0) {
|
|
8720
|
+
return String(id);
|
|
8721
|
+
}
|
|
8722
|
+
}
|
|
8723
|
+
return void 0;
|
|
8724
|
+
}
|
|
8725
|
+
function isTemplateElementId(elementId) {
|
|
8726
|
+
return elementId.startsWith("layout-") || elementId.startsWith("master-");
|
|
8727
|
+
}
|
|
8728
|
+
function collectShapeIdMap(elements) {
|
|
8729
|
+
const map = /* @__PURE__ */ new Map();
|
|
8730
|
+
const walk = (els) => {
|
|
8731
|
+
for (const el of els) {
|
|
8732
|
+
const cnvId = readCnvPrId(el.rawXml);
|
|
8733
|
+
if (cnvId) {
|
|
8734
|
+
el.shapeId = cnvId;
|
|
8735
|
+
if (!isTemplateElementId(el.id)) {
|
|
8736
|
+
map.set(cnvId, el.id);
|
|
8737
|
+
}
|
|
8738
|
+
}
|
|
8739
|
+
if (el.type === "group" && Array.isArray(el.children)) {
|
|
8740
|
+
walk(el.children);
|
|
8741
|
+
}
|
|
8742
|
+
}
|
|
8743
|
+
};
|
|
8744
|
+
walk(elements);
|
|
8745
|
+
return map;
|
|
8746
|
+
}
|
|
8747
|
+
function reconcileAnimationTargets(elements, nativeAnimations, editorAnimations) {
|
|
8748
|
+
const map = collectShapeIdMap(elements);
|
|
8749
|
+
if (map.size === 0) {
|
|
8750
|
+
return;
|
|
8751
|
+
}
|
|
8752
|
+
if (nativeAnimations) {
|
|
8753
|
+
for (const anim of nativeAnimations) {
|
|
8754
|
+
if (anim.targetId !== void 0) {
|
|
8755
|
+
const resolved = map.get(anim.targetId);
|
|
8756
|
+
if (resolved) {
|
|
8757
|
+
anim.targetId = resolved;
|
|
8758
|
+
}
|
|
8759
|
+
}
|
|
8760
|
+
if (anim.triggerShapeId !== void 0) {
|
|
8761
|
+
const resolved = map.get(anim.triggerShapeId);
|
|
8762
|
+
if (resolved) {
|
|
8763
|
+
anim.triggerShapeId = resolved;
|
|
8764
|
+
}
|
|
8765
|
+
}
|
|
8766
|
+
}
|
|
8767
|
+
}
|
|
8768
|
+
if (editorAnimations) {
|
|
8769
|
+
for (const anim of editorAnimations) {
|
|
8770
|
+
const resolvedElement = map.get(anim.elementId);
|
|
8771
|
+
if (resolvedElement) {
|
|
8772
|
+
anim.elementId = resolvedElement;
|
|
8773
|
+
}
|
|
8774
|
+
if (anim.triggerShapeId !== void 0) {
|
|
8775
|
+
const resolvedTrigger = map.get(anim.triggerShapeId);
|
|
8776
|
+
if (resolvedTrigger) {
|
|
8777
|
+
anim.triggerShapeId = resolvedTrigger;
|
|
8778
|
+
}
|
|
8779
|
+
}
|
|
8780
|
+
}
|
|
8781
|
+
}
|
|
8782
|
+
}
|
|
8783
|
+
|
|
8677
8784
|
// src/core/services/PptxSlideLoaderService.ts
|
|
8678
8785
|
var PptxSlideLoaderService = class {
|
|
8679
8786
|
/**
|
|
@@ -8814,6 +8921,7 @@ var PptxSlideLoaderService = class {
|
|
|
8814
8921
|
const transition = params.parseSlideTransition(slideXmlObj, path);
|
|
8815
8922
|
const animations = params.parseEditorAnimations(slideXmlObj);
|
|
8816
8923
|
const nativeAnimations = params.parseNativeAnimations(slideXmlObj);
|
|
8924
|
+
reconcileAnimationTargets(elements, nativeAnimations, animations);
|
|
8817
8925
|
const rawTiming = slideXmlObj["p:sld"]?.["p:timing"];
|
|
8818
8926
|
const drawingGuides = parseSlideDrawingGuides(slideXmlObj);
|
|
8819
8927
|
const customerData = await params.parseSlideCustomerData(slideXmlObj, path);
|
|
@@ -9313,6 +9421,60 @@ var PptxEditorAnimationService = class {
|
|
|
9313
9421
|
}
|
|
9314
9422
|
};
|
|
9315
9423
|
|
|
9424
|
+
// src/core/services/animation-shape-id-assign.ts
|
|
9425
|
+
function flattenElements(elements, out) {
|
|
9426
|
+
for (const el of elements) {
|
|
9427
|
+
out.push(el);
|
|
9428
|
+
if (el.type === "group" && Array.isArray(el.children)) {
|
|
9429
|
+
flattenElements(el.children, out);
|
|
9430
|
+
}
|
|
9431
|
+
}
|
|
9432
|
+
}
|
|
9433
|
+
function maxShapeId(elements) {
|
|
9434
|
+
let max = 0;
|
|
9435
|
+
for (const el of elements) {
|
|
9436
|
+
if (el.shapeId !== void 0) {
|
|
9437
|
+
const n = Number.parseInt(el.shapeId, 10);
|
|
9438
|
+
if (Number.isFinite(n) && n > max) {
|
|
9439
|
+
max = n;
|
|
9440
|
+
}
|
|
9441
|
+
}
|
|
9442
|
+
}
|
|
9443
|
+
return max;
|
|
9444
|
+
}
|
|
9445
|
+
function remapEditorAnimationsToShapeIds(elements, animations, reservedMaxId = 0) {
|
|
9446
|
+
const flat = [];
|
|
9447
|
+
flattenElements(elements, flat);
|
|
9448
|
+
const byId = /* @__PURE__ */ new Map();
|
|
9449
|
+
for (const el of flat) {
|
|
9450
|
+
byId.set(el.id, el);
|
|
9451
|
+
}
|
|
9452
|
+
let nextId2 = Math.max(maxShapeId(flat), reservedMaxId) + 1;
|
|
9453
|
+
const resolve = (elementId) => {
|
|
9454
|
+
const el = byId.get(elementId);
|
|
9455
|
+
if (!el) {
|
|
9456
|
+
return void 0;
|
|
9457
|
+
}
|
|
9458
|
+
if (el.shapeId === void 0) {
|
|
9459
|
+
el.shapeId = String(nextId2);
|
|
9460
|
+
nextId2 += 1;
|
|
9461
|
+
}
|
|
9462
|
+
return el.shapeId;
|
|
9463
|
+
};
|
|
9464
|
+
return animations.map((anim) => {
|
|
9465
|
+
const resolvedElement = resolve(anim.elementId);
|
|
9466
|
+
const resolvedTrigger = anim.triggerShapeId !== void 0 ? resolve(anim.triggerShapeId) : void 0;
|
|
9467
|
+
if (resolvedElement === void 0 && resolvedTrigger === void 0) {
|
|
9468
|
+
return anim;
|
|
9469
|
+
}
|
|
9470
|
+
return {
|
|
9471
|
+
...anim,
|
|
9472
|
+
elementId: resolvedElement ?? anim.elementId,
|
|
9473
|
+
triggerShapeId: resolvedTrigger ?? anim.triggerShapeId
|
|
9474
|
+
};
|
|
9475
|
+
});
|
|
9476
|
+
}
|
|
9477
|
+
|
|
9316
9478
|
// src/core/services/native-animation-helpers.ts
|
|
9317
9479
|
function extractSoundAction(cTn) {
|
|
9318
9480
|
const stSnd = cTn["p:stSnd"];
|
|
@@ -10535,7 +10697,7 @@ var PptxSlideTransitionService = class {
|
|
|
10535
10697
|
}
|
|
10536
10698
|
parseSlideTransition(slideXml2) {
|
|
10537
10699
|
const slideRoot = this.xmlLookupService.getChildByLocalName(slideXml2, "sld");
|
|
10538
|
-
const transitionNode = this.xmlLookupService.getChildByLocalName(slideRoot, "transition");
|
|
10700
|
+
const transitionNode = this.xmlLookupService.getChildByLocalName(slideRoot, "transition") || this.findTransitionInAlternateContent(slideRoot);
|
|
10539
10701
|
if (!transitionNode) {
|
|
10540
10702
|
return void 0;
|
|
10541
10703
|
}
|
|
@@ -10607,7 +10769,8 @@ var PptxSlideTransitionService = class {
|
|
|
10607
10769
|
transitionType = "morph";
|
|
10608
10770
|
}
|
|
10609
10771
|
}
|
|
10610
|
-
const
|
|
10772
|
+
const rawDuration = transitionNode["@_dur"] ?? transitionNode["@_p14:dur"];
|
|
10773
|
+
const parsedDuration = Number.parseInt(String(rawDuration || ""), 10);
|
|
10611
10774
|
const durationMs = Number.isFinite(parsedDuration) && parsedDuration > 0 ? parsedDuration : void 0;
|
|
10612
10775
|
const advanceOnClickToken = String(transitionNode["@_advClick"] || "").trim();
|
|
10613
10776
|
const advanceOnClick = advanceOnClickToken.length > 0 ? !["0", "false", "off"].includes(advanceOnClickToken.toLowerCase()) : void 0;
|
|
@@ -10656,6 +10819,35 @@ var PptxSlideTransitionService = class {
|
|
|
10656
10819
|
rawExtLst
|
|
10657
10820
|
};
|
|
10658
10821
|
}
|
|
10822
|
+
/**
|
|
10823
|
+
* Locate a `<p:transition>` wrapped in a slide-root `mc:AlternateContent`
|
|
10824
|
+
* envelope.
|
|
10825
|
+
*
|
|
10826
|
+
* Real PowerPoint (verified via COM-authored fixtures) wraps the
|
|
10827
|
+
* transition in `mc:AlternateContent` whenever it carries an Office
|
|
10828
|
+
* 2010+ attribute such as `p14:dur` (sub-second transition duration):
|
|
10829
|
+
* an `mc:Choice Requires="p14"` branch carries the richer transition,
|
|
10830
|
+
* and `mc:Fallback` carries a plain one for older readers. Without this
|
|
10831
|
+
* unwrap, `p:sld`'s direct-child lookup for `transition` finds nothing
|
|
10832
|
+
* and the whole transition (including plain ones falling back with no
|
|
10833
|
+
* p14 data) is silently dropped, even though `mc:Choice` is otherwise a
|
|
10834
|
+
* complete, directly usable `p:transition` node.
|
|
10835
|
+
*/
|
|
10836
|
+
findTransitionInAlternateContent(slideRoot) {
|
|
10837
|
+
const altContent = this.xmlLookupService.getChildByLocalName(slideRoot, "AlternateContent");
|
|
10838
|
+
if (!altContent) {
|
|
10839
|
+
return void 0;
|
|
10840
|
+
}
|
|
10841
|
+
const choices = this.xmlLookupService.getChildrenArrayByLocalName(altContent, "Choice");
|
|
10842
|
+
for (const choice of choices) {
|
|
10843
|
+
const transitionNode = this.xmlLookupService.getChildByLocalName(choice, "transition");
|
|
10844
|
+
if (transitionNode) {
|
|
10845
|
+
return transitionNode;
|
|
10846
|
+
}
|
|
10847
|
+
}
|
|
10848
|
+
const fallback = this.xmlLookupService.getChildByLocalName(altContent, "Fallback");
|
|
10849
|
+
return this.xmlLookupService.getChildByLocalName(fallback, "transition");
|
|
10850
|
+
}
|
|
10659
10851
|
/**
|
|
10660
10852
|
* Detects the PowerPoint 2016+ `morph` transition stored as a p159 extension
|
|
10661
10853
|
* inside the transition's extLst.
|
|
@@ -36610,6 +36802,22 @@ var PptxHandlerRuntime32 = class _PptxHandlerRuntime extends PptxHandlerRuntime3
|
|
|
36610
36802
|
|
|
36611
36803
|
// src/core/core/runtime/PptxHandlerRuntimeSaveElementWriter.ts
|
|
36612
36804
|
var PptxHandlerRuntime33 = class _PptxHandlerRuntime extends PptxHandlerRuntime32 {
|
|
36805
|
+
/**
|
|
36806
|
+
* Whether a shape XML represents a `<p:pic>` (picture-shaped) node.
|
|
36807
|
+
*
|
|
36808
|
+
* Real PowerPoint (verified via COM-authored fixtures) represents video
|
|
36809
|
+
* *and* audio media as `<p:pic>` (poster-frame blip + `p:nvPr/a:videoFile`
|
|
36810
|
+
* or `a:audioFile` + a `p14:media` extension) rather than the older
|
|
36811
|
+
* `<p:graphicFrame>` form. A `media`-typed element's `rawXml` is
|
|
36812
|
+
* therefore frequently `p:pic`-shaped, not a graphic frame; without this
|
|
36813
|
+
* check it falls into the generic `shapes` bucket, which the slide
|
|
36814
|
+
* writer serializes under `<p:sp>` -- corrupting the picture markup
|
|
36815
|
+
* (`p:nvPicPr`/`p:blipFill`) into an invalid shape and permanently
|
|
36816
|
+
* losing the media relationship on save.
|
|
36817
|
+
*/
|
|
36818
|
+
isPictureShape(shape) {
|
|
36819
|
+
return Boolean(shape["p:nvPicPr"]);
|
|
36820
|
+
}
|
|
36613
36821
|
/** Whether a shape XML represents a graphic frame. */
|
|
36614
36822
|
isGraphicFrameShape(shape) {
|
|
36615
36823
|
return Boolean(shape["p:nvGraphicFramePr"] || shape["a:graphic"] && shape["p:xfrm"]);
|
|
@@ -36725,6 +36933,34 @@ var PptxHandlerRuntime33 = class _PptxHandlerRuntime extends PptxHandlerRuntime3
|
|
|
36725
36933
|
isTemplateElementId(elementId) {
|
|
36726
36934
|
return elementId.startsWith("layout-") || elementId.startsWith("master-");
|
|
36727
36935
|
}
|
|
36936
|
+
/** Non-visual property containers that hold a `p:cNvPr`. */
|
|
36937
|
+
static NV_CONTAINERS = [
|
|
36938
|
+
"p:nvSpPr",
|
|
36939
|
+
"p:nvPicPr",
|
|
36940
|
+
"p:nvCxnSpPr",
|
|
36941
|
+
"p:nvGraphicFramePr",
|
|
36942
|
+
"p:nvGrpSpPr"
|
|
36943
|
+
];
|
|
36944
|
+
/**
|
|
36945
|
+
* Write an element's native shape id (`element.shapeId`) into the serialized
|
|
36946
|
+
* shape's `p:cNvPr/@id`. Animation targets (`p:spTgt/@spid`) reference this
|
|
36947
|
+
* id, so the two must agree for PowerPoint to bind an animation to its shape.
|
|
36948
|
+
* A no-op when the element carries no `shapeId` (nothing to reconcile) or the
|
|
36949
|
+
* shape XML has no cNvPr container.
|
|
36950
|
+
*/
|
|
36951
|
+
applyShapeIdToCnvPr(shape, el) {
|
|
36952
|
+
if (el.shapeId === void 0) {
|
|
36953
|
+
return;
|
|
36954
|
+
}
|
|
36955
|
+
for (const nvKey of _PptxHandlerRuntime.NV_CONTAINERS) {
|
|
36956
|
+
const nv = shape[nvKey];
|
|
36957
|
+
const cNvPr = nv?.["p:cNvPr"];
|
|
36958
|
+
if (cNvPr) {
|
|
36959
|
+
cNvPr["@_id"] = el.shapeId;
|
|
36960
|
+
return;
|
|
36961
|
+
}
|
|
36962
|
+
}
|
|
36963
|
+
}
|
|
36728
36964
|
/**
|
|
36729
36965
|
* Process a single slide element during save. Handles embedding,
|
|
36730
36966
|
* transforms, geometry, styles, text, and sorts into collectors.
|
|
@@ -36834,12 +37070,15 @@ var PptxHandlerRuntime33 = class _PptxHandlerRuntime extends PptxHandlerRuntime3
|
|
|
36834
37070
|
}
|
|
36835
37071
|
return;
|
|
36836
37072
|
}
|
|
37073
|
+
this.applyShapeIdToCnvPr(shape, el);
|
|
36837
37074
|
if (el.type === "picture" || el.type === "image") {
|
|
36838
37075
|
collectors.pics.push(shape);
|
|
36839
37076
|
} else if (el.type === "connector") {
|
|
36840
37077
|
collectors.connectors.push(shape);
|
|
36841
37078
|
} else if (el.type === "model3d") {
|
|
36842
37079
|
collectors.model3ds.push(shape);
|
|
37080
|
+
} else if (el.type === "media" && this.isPictureShape(shape)) {
|
|
37081
|
+
collectors.pics.push(shape);
|
|
36843
37082
|
} else if (this.isGraphicFrameShape(shape)) {
|
|
36844
37083
|
collectors.graphicFrames.push(shape);
|
|
36845
37084
|
} else {
|
|
@@ -36878,12 +37117,17 @@ var PptxHandlerRuntime34 = class extends PptxHandlerRuntime33 {
|
|
|
36878
37117
|
delete slideNode["p:transition"];
|
|
36879
37118
|
}
|
|
36880
37119
|
}
|
|
36881
|
-
|
|
36882
|
-
|
|
37120
|
+
const shapeIdAnimations = slide.animations !== void 0 ? remapEditorAnimationsToShapeIds(
|
|
37121
|
+
slide.elements,
|
|
37122
|
+
slide.animations,
|
|
37123
|
+
this.maxCnvPrId(this.ensureSlideTree(xmlObj))
|
|
37124
|
+
) : void 0;
|
|
37125
|
+
if (shapeIdAnimations !== void 0) {
|
|
37126
|
+
this.applyEditorAnimations(slideNode, shapeIdAnimations);
|
|
36883
37127
|
}
|
|
36884
|
-
if (
|
|
37128
|
+
if (shapeIdAnimations && shapeIdAnimations.length > 0) {
|
|
36885
37129
|
const generatedTiming = this.animationWriteService.buildTimingXml(
|
|
36886
|
-
|
|
37130
|
+
shapeIdAnimations,
|
|
36887
37131
|
slide.rawTiming
|
|
36888
37132
|
);
|
|
36889
37133
|
if (generatedTiming) {
|
|
@@ -37036,6 +37280,40 @@ var PptxHandlerRuntime34 = class extends PptxHandlerRuntime33 {
|
|
|
37036
37280
|
}
|
|
37037
37281
|
this.zip.file(slide.id, this.builder.build(xmlObj));
|
|
37038
37282
|
}
|
|
37283
|
+
/**
|
|
37284
|
+
* Largest `p:cNvPr/@id` already present anywhere in a shape tree, including
|
|
37285
|
+
* the implicit `<p:spTree>` group's own reserved id. Used to seed minting of
|
|
37286
|
+
* fresh animation-target shape ids so they never collide with a reserved id.
|
|
37287
|
+
*/
|
|
37288
|
+
maxCnvPrId(spTree) {
|
|
37289
|
+
let max = 0;
|
|
37290
|
+
const nvContainers = [
|
|
37291
|
+
"p:nvSpPr",
|
|
37292
|
+
"p:nvPicPr",
|
|
37293
|
+
"p:nvCxnSpPr",
|
|
37294
|
+
"p:nvGraphicFramePr",
|
|
37295
|
+
"p:nvGrpSpPr"
|
|
37296
|
+
];
|
|
37297
|
+
const visit = (node) => {
|
|
37298
|
+
for (const nvKey of nvContainers) {
|
|
37299
|
+
const nv = node[nvKey];
|
|
37300
|
+
const cNvPr = nv?.["p:cNvPr"];
|
|
37301
|
+
if (cNvPr?.["@_id"] !== void 0) {
|
|
37302
|
+
const n = Number.parseInt(String(cNvPr["@_id"]), 10);
|
|
37303
|
+
if (Number.isFinite(n) && n > max) {
|
|
37304
|
+
max = n;
|
|
37305
|
+
}
|
|
37306
|
+
}
|
|
37307
|
+
}
|
|
37308
|
+
for (const listKey of ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp"]) {
|
|
37309
|
+
for (const child of this.ensureArray(node[listKey])) {
|
|
37310
|
+
visit(child);
|
|
37311
|
+
}
|
|
37312
|
+
}
|
|
37313
|
+
};
|
|
37314
|
+
visit(spTree);
|
|
37315
|
+
return max;
|
|
37316
|
+
}
|
|
37039
37317
|
/**
|
|
37040
37318
|
* Re-wrap selected children with their original `<mc:AlternateContent>`
|
|
37041
37319
|
* envelope (CC-4).
|
|
@@ -41795,7 +42073,7 @@ var PptxHandlerRuntime57 = class extends PptxHandlerRuntime56 {
|
|
|
41795
42073
|
for (const [, target] of layoutRels.entries()) {
|
|
41796
42074
|
if (target.includes("slideMaster")) {
|
|
41797
42075
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
41798
|
-
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
42076
|
+
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41799
42077
|
try {
|
|
41800
42078
|
const masterXmlStr = await this.zip.file(masterPath)?.async("string");
|
|
41801
42079
|
if (masterXmlStr) {
|
|
@@ -41819,7 +42097,7 @@ var PptxHandlerRuntime57 = class extends PptxHandlerRuntime56 {
|
|
|
41819
42097
|
for (const [, target] of slideRels.entries()) {
|
|
41820
42098
|
if (target.includes("slideLayout")) {
|
|
41821
42099
|
const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
|
|
41822
|
-
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(
|
|
42100
|
+
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41823
42101
|
try {
|
|
41824
42102
|
const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
|
|
41825
42103
|
if (layoutXmlStr) {
|
|
@@ -41847,7 +42125,7 @@ var PptxHandlerRuntime57 = class extends PptxHandlerRuntime56 {
|
|
|
41847
42125
|
for (const [, target] of slideRels.entries()) {
|
|
41848
42126
|
if (target.includes("slideLayout")) {
|
|
41849
42127
|
const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
|
|
41850
|
-
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(
|
|
42128
|
+
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41851
42129
|
try {
|
|
41852
42130
|
const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
|
|
41853
42131
|
if (layoutXmlStr) {
|
|
@@ -41876,7 +42154,7 @@ var PptxHandlerRuntime57 = class extends PptxHandlerRuntime56 {
|
|
|
41876
42154
|
for (const [, target] of layoutRels.entries()) {
|
|
41877
42155
|
if (target.includes("slideMaster")) {
|
|
41878
42156
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
41879
|
-
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
42157
|
+
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41880
42158
|
try {
|
|
41881
42159
|
const masterXmlStr = await this.zip.file(masterPath)?.async("string");
|
|
41882
42160
|
if (masterXmlStr) {
|
|
@@ -41905,7 +42183,7 @@ var PptxHandlerRuntime58 = class extends PptxHandlerRuntime57 {
|
|
|
41905
42183
|
for (const [, target] of slideRels.entries()) {
|
|
41906
42184
|
if (target.includes("slideLayout")) {
|
|
41907
42185
|
const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
|
|
41908
|
-
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(
|
|
42186
|
+
const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41909
42187
|
try {
|
|
41910
42188
|
const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
|
|
41911
42189
|
if (layoutXmlStr) {
|
|
@@ -41934,7 +42212,7 @@ var PptxHandlerRuntime58 = class extends PptxHandlerRuntime57 {
|
|
|
41934
42212
|
for (const [, target] of layoutRels.entries()) {
|
|
41935
42213
|
if (target.includes("slideMaster")) {
|
|
41936
42214
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
41937
|
-
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
42215
|
+
const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41938
42216
|
try {
|
|
41939
42217
|
const masterXmlStr = await this.zip.file(masterPath)?.async("string");
|
|
41940
42218
|
if (masterXmlStr) {
|
|
@@ -41959,7 +42237,7 @@ var PptxHandlerRuntime58 = class extends PptxHandlerRuntime57 {
|
|
|
41959
42237
|
for (const [, target] of slideRels.entries()) {
|
|
41960
42238
|
if (target.includes("slideLayout")) {
|
|
41961
42239
|
const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
|
|
41962
|
-
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(
|
|
42240
|
+
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41963
42241
|
}
|
|
41964
42242
|
}
|
|
41965
42243
|
return void 0;
|
|
@@ -41975,7 +42253,7 @@ var PptxHandlerRuntime58 = class extends PptxHandlerRuntime57 {
|
|
|
41975
42253
|
for (const [, target] of layoutRels.entries()) {
|
|
41976
42254
|
if (target.includes("slideMaster")) {
|
|
41977
42255
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
41978
|
-
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
42256
|
+
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
41979
42257
|
}
|
|
41980
42258
|
}
|
|
41981
42259
|
return void 0;
|
|
@@ -42619,7 +42897,7 @@ var PptxHandlerRuntime61 = class extends PptxHandlerRuntime60 {
|
|
|
42619
42897
|
for (const [, target] of layoutRels.entries()) {
|
|
42620
42898
|
if (target.includes("slideMaster")) {
|
|
42621
42899
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
42622
|
-
masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
42900
|
+
masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
42623
42901
|
break;
|
|
42624
42902
|
}
|
|
42625
42903
|
}
|
|
@@ -42753,7 +43031,7 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
|
|
|
42753
43031
|
for (const [, target] of slideRels.entries()) {
|
|
42754
43032
|
if (target.includes("slideLayout")) {
|
|
42755
43033
|
const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
|
|
42756
|
-
layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(
|
|
43034
|
+
layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
42757
43035
|
break;
|
|
42758
43036
|
}
|
|
42759
43037
|
}
|
|
@@ -46505,7 +46783,7 @@ var PptxHandlerRuntime78 = class extends PptxHandlerRuntime77 {
|
|
|
46505
46783
|
}
|
|
46506
46784
|
return stack.join("/");
|
|
46507
46785
|
}
|
|
46508
|
-
return `ppt/${target.replace(
|
|
46786
|
+
return `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
46509
46787
|
}
|
|
46510
46788
|
}
|
|
46511
46789
|
return void 0;
|
|
@@ -46754,7 +47032,22 @@ var PptxHandlerRuntime79 = class _PptxHandlerRuntime extends PptxHandlerRuntime7
|
|
|
46754
47032
|
await this.enrichOleElementsWithEmbeddedData(el.children, slidePath, depth + 1);
|
|
46755
47033
|
continue;
|
|
46756
47034
|
}
|
|
46757
|
-
if (el.type !== "ole"
|
|
47035
|
+
if (el.type !== "ole") {
|
|
47036
|
+
continue;
|
|
47037
|
+
}
|
|
47038
|
+
if (el.previewImage && !el.previewImageData) {
|
|
47039
|
+
try {
|
|
47040
|
+
const previewPath = this.resolveImagePath(slidePath, el.previewImage);
|
|
47041
|
+
if (previewPath) {
|
|
47042
|
+
const previewData = await this.getImageData(previewPath);
|
|
47043
|
+
if (previewData) {
|
|
47044
|
+
el.previewImageData = previewData;
|
|
47045
|
+
}
|
|
47046
|
+
}
|
|
47047
|
+
} catch {
|
|
47048
|
+
}
|
|
47049
|
+
}
|
|
47050
|
+
if (el.isLinked || !el.oleTarget) {
|
|
46758
47051
|
continue;
|
|
46759
47052
|
}
|
|
46760
47053
|
try {
|
|
@@ -47050,7 +47343,7 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
|
|
|
47050
47343
|
for (const [, target] of layoutRels.entries()) {
|
|
47051
47344
|
if (target.includes("slideMaster")) {
|
|
47052
47345
|
const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
|
|
47053
|
-
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(
|
|
47346
|
+
return target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
47054
47347
|
}
|
|
47055
47348
|
}
|
|
47056
47349
|
return void 0;
|
|
@@ -47119,7 +47412,7 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
|
|
|
47119
47412
|
for (const [, target] of masterRels.entries()) {
|
|
47120
47413
|
if (target.includes("slideLayout")) {
|
|
47121
47414
|
const masterDir = masterPath.substring(0, masterPath.lastIndexOf("/") + 1);
|
|
47122
|
-
const resolved = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(masterDir, target) : `ppt/${target.replace(
|
|
47415
|
+
const resolved = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(masterDir, target) : `ppt/${target.replace(/\.\.\//g, "")}`;
|
|
47123
47416
|
masterLayoutPaths.add(resolved);
|
|
47124
47417
|
}
|
|
47125
47418
|
}
|
|
@@ -56006,7 +56299,7 @@ function getShapeClipPathFromPreset(shapeType, width, height, adjustments) {
|
|
|
56006
56299
|
if (!result || result.svgPath === "") {
|
|
56007
56300
|
return void 0;
|
|
56008
56301
|
}
|
|
56009
|
-
const escaped = result.svgPath.replace(/'/g, "\\'");
|
|
56302
|
+
const escaped = result.svgPath.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
|
|
56010
56303
|
return `path('${escaped}')`;
|
|
56011
56304
|
}
|
|
56012
56305
|
function getRoundRectRadiusPx(element) {
|
|
@@ -57937,7 +58230,7 @@ function moveSlidesToSection(data, slideIndices, targetSectionId) {
|
|
|
57937
58230
|
}
|
|
57938
58231
|
|
|
57939
58232
|
// src/core/builders/sdk/template-engine-helpers.ts
|
|
57940
|
-
var PLACEHOLDER_RE = /\{\{([^}]+)\}\}/g;
|
|
58233
|
+
var PLACEHOLDER_RE = /\{\{([^{}]+)\}\}/g;
|
|
57941
58234
|
var EACH_OPEN_RE = /^\s*#each\s+([\w.]+)\s*$/;
|
|
57942
58235
|
var EACH_CLOSE_RE = /^\s*\/each\s*$/;
|
|
57943
58236
|
var IF_OPEN_RE = /^\s*#if\s+(!?[\w.]+)\s*$/;
|
|
@@ -58001,7 +58294,7 @@ function processInlineConditionals(text, data) {
|
|
|
58001
58294
|
let safety = 0;
|
|
58002
58295
|
const MAX_ITERATIONS = 100;
|
|
58003
58296
|
while (safety++ < MAX_ITERATIONS) {
|
|
58004
|
-
const ifOpenPattern = /\{\{\s*#if\s+([
|
|
58297
|
+
const ifOpenPattern = /\{\{\s*#if\s+(!?[\w.]+)\s*\}\}((?:(?!\{\{\s*#if\s)(?!\{\{\s*\/if\s*\}\}).)*?)\{\{\s*\/if\s*\}\}/s;
|
|
58005
58298
|
const match = ifOpenPattern.exec(result);
|
|
58006
58299
|
if (!match) {
|
|
58007
58300
|
break;
|
|
@@ -58013,6 +58306,8 @@ function processInlineConditionals(text, data) {
|
|
|
58013
58306
|
}
|
|
58014
58307
|
return result;
|
|
58015
58308
|
}
|
|
58309
|
+
|
|
58310
|
+
// src/core/builders/sdk/template-engine-segments.ts
|
|
58016
58311
|
function replaceTokensAcrossSegments(segments, data) {
|
|
58017
58312
|
if (segments.length === 0) {
|
|
58018
58313
|
return;
|
|
@@ -58033,7 +58328,7 @@ function replaceTokensAcrossSegments(segments, data) {
|
|
|
58033
58328
|
const fullText = textParts.join("");
|
|
58034
58329
|
const afterConditionals = processInlineConditionals(fullText, data);
|
|
58035
58330
|
if (afterConditionals !== fullText) {
|
|
58036
|
-
redistributeText(segments,
|
|
58331
|
+
redistributeText(segments, fullText, afterConditionals);
|
|
58037
58332
|
replaceTokensAcrossSegments(segments, data);
|
|
58038
58333
|
return;
|
|
58039
58334
|
}
|
|
@@ -58091,7 +58386,7 @@ function replaceTokensAcrossSegments(segments, data) {
|
|
|
58091
58386
|
}
|
|
58092
58387
|
}
|
|
58093
58388
|
}
|
|
58094
|
-
function redistributeText(segments,
|
|
58389
|
+
function redistributeText(segments, _originalFull, newFull) {
|
|
58095
58390
|
let placed = false;
|
|
58096
58391
|
for (const seg of segments) {
|
|
58097
58392
|
if (seg.isParagraphBreak) {
|
|
@@ -58333,15 +58628,81 @@ async function mailMerge(handler, data, records) {
|
|
|
58333
58628
|
}
|
|
58334
58629
|
|
|
58335
58630
|
// src/core/builders/sdk/text-operations.ts
|
|
58336
|
-
function
|
|
58631
|
+
function toSearchRegex(search) {
|
|
58337
58632
|
if (typeof search === "string") {
|
|
58338
58633
|
const escaped = search.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
58339
58634
|
return new RegExp(escaped, "g");
|
|
58340
58635
|
}
|
|
58341
|
-
|
|
58342
|
-
|
|
58636
|
+
return search;
|
|
58637
|
+
}
|
|
58638
|
+
function execAll(regex, text) {
|
|
58639
|
+
const results = [];
|
|
58640
|
+
if (regex.global || regex.sticky) {
|
|
58641
|
+
regex.lastIndex = 0;
|
|
58642
|
+
let match;
|
|
58643
|
+
while ((match = regex.exec(text)) !== null) {
|
|
58644
|
+
results.push(match);
|
|
58645
|
+
if (match[0].length === 0) {
|
|
58646
|
+
regex.lastIndex += 1;
|
|
58647
|
+
}
|
|
58648
|
+
}
|
|
58649
|
+
return results;
|
|
58343
58650
|
}
|
|
58344
|
-
|
|
58651
|
+
let offset = 0;
|
|
58652
|
+
let remaining = text;
|
|
58653
|
+
while (remaining.length > 0) {
|
|
58654
|
+
const match = regex.exec(remaining);
|
|
58655
|
+
if (!match) {
|
|
58656
|
+
break;
|
|
58657
|
+
}
|
|
58658
|
+
const adjusted = [...match];
|
|
58659
|
+
adjusted.index = offset + match.index;
|
|
58660
|
+
adjusted.input = text;
|
|
58661
|
+
adjusted.groups = match.groups;
|
|
58662
|
+
results.push(adjusted);
|
|
58663
|
+
const advance = match.index + (match[0].length || 1);
|
|
58664
|
+
offset += advance;
|
|
58665
|
+
remaining = remaining.slice(advance);
|
|
58666
|
+
}
|
|
58667
|
+
return results;
|
|
58668
|
+
}
|
|
58669
|
+
function expandReplacement(replacement, match, fullText) {
|
|
58670
|
+
return replacement.replace(
|
|
58671
|
+
/\$(\$|&|`|'|<([^>]+)>|\d{1,2})/g,
|
|
58672
|
+
(whole, token, groupName) => {
|
|
58673
|
+
if (token === "$") {
|
|
58674
|
+
return "$";
|
|
58675
|
+
}
|
|
58676
|
+
if (token === "&") {
|
|
58677
|
+
return match[0];
|
|
58678
|
+
}
|
|
58679
|
+
if (token === "`") {
|
|
58680
|
+
return fullText.slice(0, match.index);
|
|
58681
|
+
}
|
|
58682
|
+
if (token === "'") {
|
|
58683
|
+
return fullText.slice(match.index + match[0].length);
|
|
58684
|
+
}
|
|
58685
|
+
if (groupName !== void 0) {
|
|
58686
|
+
return match.groups?.[groupName] ?? "";
|
|
58687
|
+
}
|
|
58688
|
+
const groupIndex = Number(token);
|
|
58689
|
+
return groupIndex >= 1 && groupIndex < match.length ? match[groupIndex] ?? "" : whole;
|
|
58690
|
+
}
|
|
58691
|
+
);
|
|
58692
|
+
}
|
|
58693
|
+
function applyReplacements(text, matches, replacement) {
|
|
58694
|
+
if (matches.length === 0) {
|
|
58695
|
+
return text;
|
|
58696
|
+
}
|
|
58697
|
+
let result = "";
|
|
58698
|
+
let cursor = 0;
|
|
58699
|
+
for (const match of matches) {
|
|
58700
|
+
result += text.slice(cursor, match.index);
|
|
58701
|
+
result += expandReplacement(replacement, match, text);
|
|
58702
|
+
cursor = match.index + match[0].length;
|
|
58703
|
+
}
|
|
58704
|
+
result += text.slice(cursor);
|
|
58705
|
+
return result;
|
|
58345
58706
|
}
|
|
58346
58707
|
function collectElements(elements) {
|
|
58347
58708
|
const result = [];
|
|
@@ -58357,7 +58718,7 @@ function findText(slides, search) {
|
|
|
58357
58718
|
if (typeof search === "string" && search === "") {
|
|
58358
58719
|
return [];
|
|
58359
58720
|
}
|
|
58360
|
-
const regex =
|
|
58721
|
+
const regex = toSearchRegex(search);
|
|
58361
58722
|
const results = [];
|
|
58362
58723
|
slides.forEach((slide, slideIndex) => {
|
|
58363
58724
|
const allElements = collectElements(slide.elements ?? []);
|
|
@@ -58368,9 +58729,7 @@ function findText(slides, search) {
|
|
|
58368
58729
|
const segments = element.textSegments ?? [];
|
|
58369
58730
|
segments.forEach((seg, segIndex) => {
|
|
58370
58731
|
const text = seg.text ?? "";
|
|
58371
|
-
regex
|
|
58372
|
-
let match;
|
|
58373
|
-
while ((match = regex.exec(text)) !== null) {
|
|
58732
|
+
for (const match of execAll(regex, text)) {
|
|
58374
58733
|
results.push({
|
|
58375
58734
|
slideIndex,
|
|
58376
58735
|
elementId: element.id,
|
|
@@ -58378,9 +58737,6 @@ function findText(slides, search) {
|
|
|
58378
58737
|
text: match[0],
|
|
58379
58738
|
matchIndex: match.index
|
|
58380
58739
|
});
|
|
58381
|
-
if (match[0].length === 0) {
|
|
58382
|
-
regex.lastIndex += 1;
|
|
58383
|
-
}
|
|
58384
58740
|
}
|
|
58385
58741
|
});
|
|
58386
58742
|
}
|
|
@@ -58391,7 +58747,7 @@ function replaceTextInSlide(slide, search, replacement) {
|
|
|
58391
58747
|
if (typeof search === "string" && search === "") {
|
|
58392
58748
|
return 0;
|
|
58393
58749
|
}
|
|
58394
|
-
const regex =
|
|
58750
|
+
const regex = toSearchRegex(search);
|
|
58395
58751
|
let totalReplacements = 0;
|
|
58396
58752
|
function processElements2(elements) {
|
|
58397
58753
|
for (const element of elements) {
|
|
@@ -58403,23 +58759,12 @@ function replaceTextInSlide(slide, search, replacement) {
|
|
|
58403
58759
|
}
|
|
58404
58760
|
const segments = element.textSegments ?? [];
|
|
58405
58761
|
let elementTextChanged = false;
|
|
58406
|
-
for (
|
|
58407
|
-
const seg = segments[segIdx];
|
|
58762
|
+
for (const seg of segments) {
|
|
58408
58763
|
const originalText = seg.text ?? "";
|
|
58409
|
-
|
|
58410
|
-
|
|
58411
|
-
|
|
58412
|
-
|
|
58413
|
-
while ((m = countRegex.exec(originalText)) !== null) {
|
|
58414
|
-
matchCount++;
|
|
58415
|
-
if (m[0].length === 0) {
|
|
58416
|
-
countRegex.lastIndex += 1;
|
|
58417
|
-
}
|
|
58418
|
-
}
|
|
58419
|
-
if (matchCount > 0) {
|
|
58420
|
-
const newText = originalText.replace(toGlobalRegex(search), replacement);
|
|
58421
|
-
seg.text = newText;
|
|
58422
|
-
totalReplacements += matchCount;
|
|
58764
|
+
const matches = execAll(regex, originalText);
|
|
58765
|
+
if (matches.length > 0) {
|
|
58766
|
+
seg.text = applyReplacements(originalText, matches, replacement);
|
|
58767
|
+
totalReplacements += matches.length;
|
|
58423
58768
|
elementTextChanged = true;
|
|
58424
58769
|
}
|
|
58425
58770
|
}
|
|
@@ -62383,7 +62728,7 @@ ${htmlRows.join("\n")}
|
|
|
62383
62728
|
return parts.join("").trim();
|
|
62384
62729
|
}
|
|
62385
62730
|
escapeMarkdownTableCell(text) {
|
|
62386
|
-
return text.replace(/\|/g, "\\|").replace(/\n+/g, " ").trim();
|
|
62731
|
+
return text.replace(/\\/g, "\\\\").replace(/\|/g, "\\|").replace(/\n+/g, " ").trim();
|
|
62387
62732
|
}
|
|
62388
62733
|
};
|
|
62389
62734
|
|
|
@@ -65013,4 +65358,4 @@ var SvgExporter = class _SvgExporter {
|
|
|
65013
65358
|
* `<p:extLst>` (optional)
|
|
65014
65359
|
*/
|
|
65015
65360
|
|
|
65016
|
-
export { ALL_ANIMATION_PRESETS, BLIP_FILL_ORDER, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, ChartBuilder, ConnectorBuilder, ConnectorXmlFactory, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, DataIntegrityError, DocumentConverter, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL2 as EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTRANCE_PRESETS, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, GroupBuilder, ImageBuilder, IncorrectPasswordError, MAX_TABLE_DIMENSION, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, MediaBuilder, MediaContext, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, OPC_RELATIONSHIP_TRANSFORM, Ole2ParseError, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PPTX_VIEWER_MANIFEST_NS, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime82 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMarkdownConverter, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SUPPORTED_XML_CANON_TRANSFORMS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, ShapeBuilder, SlideBuilder, SlideProcessor, SlideSizes, SvgExporter, TC_PR_BORDERS_ORDER, THEME_COLOR_SCHEME_KEYS, THEME_PRESETS, TRANSITION_VALID_DIRECTIONS, TableBuilder, TextBuilder, TextShapeXmlFactory, ThemePresets, VML_SHAPE_TAGS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, ZipBombError, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTableCellTextAndStyle, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, computeVerificationStatus, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, dataUrlToMediaBytes, decodeOle10Native, decodeXmlEntities, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveOutputPath, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, escapeXmlAttr, escapeXmlText, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, extractAllTagText, extractColorChoiceXml, extractFirstTagText, extractGuidFromPartName, extractModel3DTransform, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, findText, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, generateMediaFilename, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getDirectory, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, oleBytesToDataUrl, ooxmlArcToSvg, ooxmlToPresetName, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, rebuildTableStructureInRawXml, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceText, replaceTextInSlide, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveLayoutDisplayName, resolveModel3DMimeType, resolveReferenceUriToPart, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, setElementLocked, setSmartArtNodeStyle, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|
|
65361
|
+
export { ALL_ANIMATION_PRESETS, BLIP_FILL_ORDER, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, ChartBuilder, ConnectorBuilder, ConnectorXmlFactory, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, DataIntegrityError, DocumentConverter, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL2 as EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTRANCE_PRESETS, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, GroupBuilder, ImageBuilder, IncorrectPasswordError, MAX_TABLE_DIMENSION, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, MediaBuilder, MediaContext, MediaGraphicFrameXmlFactory, OOXML_TO_PRESET_EMPH, OOXML_TO_PRESET_ENTR, OOXML_TO_PRESET_EXIT, OPC_RELATIONSHIP_TRANSFORM, Ole2ParseError, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PPTX_VIEWER_MANIFEST_NS, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRESET_TO_OOXML, PictureXmlFactory, PptxAnimationWriteService, PptxColorStyleCodec, PptxCommentAuthorsXmlFactory, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxConnectorParser, PptxContentTypesBuilder, PptxDocumentPropertiesUpdater, PptxEditorAnimationService, PptxElementTransformUpdater, PptxElementXmlBuilder, PptxGraphicFrameParser, PptxHandler, PptxHandlerRuntime82 as PptxHandlerRuntime, PptxHandlerRuntimeFactory, PptxLoadDataBuilder, PptxMarkdownConverter, PptxMediaDataParser, PptxNativeAnimationService, PptxPresentationSaveBuilder, PptxPresentationSlidesReconciler, PptxRuntimeDependencyFactory, PptxSaveConstantsFactory, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxShapeIdValidator, PptxShapeStyleExtractor, PptxSlideBackgroundBuilder, PptxSlideBuilder, PptxSlideCommentPartWriter, PptxSlideCommentsXmlFactory, PptxSlideElementsBuilder, PptxSlideLoaderService, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, PptxSlideRelationshipRegistry, PptxSlideTransitionService, PptxTableDataParser, PptxTemplateBackgroundService, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SUPPORTED_XML_CANON_TRANSFORMS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, ShapeBuilder, SlideBuilder, SlideProcessor, SlideSizes, SvgExporter, TC_PR_BORDERS_ORDER, THEME_COLOR_SCHEME_KEYS, THEME_PRESETS, TRANSITION_VALID_DIRECTIONS, TableBuilder, TextBuilder, TextShapeXmlFactory, ThemePresets, VML_SHAPE_TAGS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, ZipBombError, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTableCellTextAndStyle, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, computeVerificationStatus, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableCellXml, createTableElement, createTableGraphicFrameRawXml, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, dataUrlToMediaBytes, decodeOle10Native, decodeXmlEntities, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveOutputPath, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, escapeXmlAttr, escapeXmlText, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, extractAllTagText, extractColorChoiceXml, extractFirstTagText, extractGuidFromPartName, extractModel3DTransform, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, findText, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, generateMediaFilename, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getDirectory, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, oleBytesToDataUrl, ooxmlArcToSvg, ooxmlToPresetName, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, rebuildTableStructureInRawXml, reconcileAnimationTargets, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, remapEditorAnimationsToShapeIds, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceText, replaceTextInSlide, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveLayoutDisplayName, resolveModel3DMimeType, resolveReferenceUriToPart, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, setElementLocked, setSmartArtNodeStyle, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|