pptx-viewer-core 1.6.7 → 1.6.9
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 +4 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +674 -151
- package/dist/cli/index.mjs +674 -151
- package/dist/converter/index.d.ts +1 -1
- package/dist/{index-jDlq3aEH.d.ts → index-D-vruZpb.d.ts} +25 -9
- package/dist/index-D-vruZpb.d.ts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +683 -160
- package/dist/index.mjs +683 -160
- package/dist/{text-operations-DnyNBsGN.d.ts → text-operations-D9-qyodj.d.ts} +109 -3
- package/dist/{text-operations-DnyNBsGN.d.ts.map → text-operations-D9-qyodj.d.ts.map} +1 -1
- package/package.json +1 -1
- package/dist/index-jDlq3aEH.d.ts.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -7083,26 +7083,49 @@ function applyScene3dStyle(shapeProps, style) {
|
|
|
7083
7083
|
const camera = scene3dNode["a:camera"];
|
|
7084
7084
|
const lightRig = scene3dNode["a:lightRig"];
|
|
7085
7085
|
const cameraRot = camera?.["a:rot"];
|
|
7086
|
+
const lightRigRot = lightRig?.["a:rot"];
|
|
7086
7087
|
style.scene3d = {
|
|
7087
7088
|
cameraPreset: String(camera?.["@_prst"] || "").trim() || void 0,
|
|
7088
|
-
|
|
7089
|
-
|
|
7090
|
-
|
|
7089
|
+
cameraFieldOfView: intAttr(camera?.["@_fov"]),
|
|
7090
|
+
cameraZoom: floatAttr(camera?.["@_zoom"]),
|
|
7091
|
+
cameraRotX: intAttr(cameraRot?.["@_lat"]),
|
|
7092
|
+
cameraRotY: intAttr(cameraRot?.["@_lon"]),
|
|
7093
|
+
cameraRotZ: intAttr(cameraRot?.["@_rev"]),
|
|
7091
7094
|
lightRigType: String(lightRig?.["@_rig"] || "").trim() || void 0,
|
|
7092
|
-
lightRigDirection: String(lightRig?.["@_dir"] || "").trim() || void 0
|
|
7095
|
+
lightRigDirection: String(lightRig?.["@_dir"] || "").trim() || void 0,
|
|
7096
|
+
lightRigRotX: intAttr(lightRigRot?.["@_lat"]),
|
|
7097
|
+
lightRigRotY: intAttr(lightRigRot?.["@_lon"]),
|
|
7098
|
+
lightRigRotZ: intAttr(lightRigRot?.["@_rev"])
|
|
7093
7099
|
};
|
|
7094
7100
|
const backdrop = scene3dNode["a:backdrop"];
|
|
7095
7101
|
if (backdrop) {
|
|
7096
7102
|
style.scene3d.hasBackdrop = true;
|
|
7097
7103
|
const anchor = backdrop["a:anchor"];
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
style.scene3d.
|
|
7101
|
-
style.scene3d.
|
|
7102
|
-
|
|
7104
|
+
if (anchor) {
|
|
7105
|
+
style.scene3d.backdropAnchorX = intAttr(anchor["@_x"]) ?? 0;
|
|
7106
|
+
style.scene3d.backdropAnchorY = intAttr(anchor["@_y"]) ?? 0;
|
|
7107
|
+
style.scene3d.backdropAnchorZ = intAttr(anchor["@_z"]) ?? 0;
|
|
7108
|
+
}
|
|
7109
|
+
const norm = backdrop["a:norm"];
|
|
7110
|
+
if (norm) {
|
|
7111
|
+
style.scene3d.backdropNormalX = intAttr(norm["@_dx"]) ?? 0;
|
|
7112
|
+
style.scene3d.backdropNormalY = intAttr(norm["@_dy"]) ?? 0;
|
|
7113
|
+
style.scene3d.backdropNormalZ = intAttr(norm["@_dz"]) ?? 0;
|
|
7114
|
+
}
|
|
7115
|
+
const up = backdrop["a:up"];
|
|
7116
|
+
if (up) {
|
|
7117
|
+
style.scene3d.backdropUpX = intAttr(up["@_dx"]) ?? 0;
|
|
7118
|
+
style.scene3d.backdropUpY = intAttr(up["@_dy"]) ?? 0;
|
|
7119
|
+
style.scene3d.backdropUpZ = intAttr(up["@_dz"]) ?? 0;
|
|
7103
7120
|
}
|
|
7104
7121
|
}
|
|
7105
7122
|
}
|
|
7123
|
+
function intAttr(value) {
|
|
7124
|
+
return value !== void 0 ? parseInt(String(value), 10) : void 0;
|
|
7125
|
+
}
|
|
7126
|
+
function floatAttr(value) {
|
|
7127
|
+
return value !== void 0 ? parseFloat(String(value)) : void 0;
|
|
7128
|
+
}
|
|
7106
7129
|
function applyShape3dStyle(shapeProps, style, context) {
|
|
7107
7130
|
const shape3dNode = shapeProps["a:sp3d"];
|
|
7108
7131
|
if (!shape3dNode) {
|
|
@@ -7984,7 +8007,7 @@ var MEDIA_REFERENCE_NAMES = [
|
|
|
7984
8007
|
"videoFile",
|
|
7985
8008
|
"quickTimeFile"
|
|
7986
8009
|
];
|
|
7987
|
-
function parseDrawingMediaReference(container) {
|
|
8010
|
+
function parseDrawingMediaReference(container, externalRelIds) {
|
|
7988
8011
|
if (!container) {
|
|
7989
8012
|
return void 0;
|
|
7990
8013
|
}
|
|
@@ -7993,11 +8016,17 @@ function parseDrawingMediaReference(container) {
|
|
|
7993
8016
|
if (!node) {
|
|
7994
8017
|
continue;
|
|
7995
8018
|
}
|
|
8019
|
+
const linkId = String(attribute2(node, "link") ?? "").trim() || void 0;
|
|
8020
|
+
const embedId = String(attribute2(node, "embed") ?? "").trim() || void 0;
|
|
7996
8021
|
return {
|
|
7997
8022
|
kind,
|
|
7998
8023
|
mediaType: kind === "videoFile" || kind === "quickTimeFile" ? "video" : "audio",
|
|
7999
|
-
relationshipId:
|
|
8000
|
-
|
|
8024
|
+
relationshipId: linkId ?? embedId,
|
|
8025
|
+
// Embedded media legitimately uses r:link pointing at an INTERNAL
|
|
8026
|
+
// media part, so link presence alone does not imply a linked clip.
|
|
8027
|
+
// It is only truly linked when the referenced relationship is
|
|
8028
|
+
// external (TargetMode="External"), mirroring the OLE parser.
|
|
8029
|
+
isLinked: linkId !== void 0 && externalRelIds?.has(linkId) === true,
|
|
8001
8030
|
name: kind === "wavAudioFile" ? String(attribute2(node, "name") ?? "") || void 0 : void 0,
|
|
8002
8031
|
contentType: kind === "audioFile" ? String(attribute2(node, "contentType") ?? "") || void 0 : void 0,
|
|
8003
8032
|
audioCdStart: kind === "audioCd" ? parseAudioCdPosition(child2(node, "st")) : void 0,
|
|
@@ -8128,7 +8157,10 @@ var PptxMediaDataParser = class {
|
|
|
8128
8157
|
parseMediaData(graphicData, slidePath) {
|
|
8129
8158
|
const result = {};
|
|
8130
8159
|
try {
|
|
8131
|
-
const reference = parseDrawingMediaReference(
|
|
8160
|
+
const reference = parseDrawingMediaReference(
|
|
8161
|
+
graphicData,
|
|
8162
|
+
this.context.externalRelsMap.get(slidePath)
|
|
8163
|
+
);
|
|
8132
8164
|
if (reference) {
|
|
8133
8165
|
result.mediaType = reference.mediaType;
|
|
8134
8166
|
result.mediaReferenceKind = reference.kind;
|
|
@@ -13085,6 +13117,7 @@ var PptxNativeAnimationService = class {
|
|
|
13085
13117
|
const nodeType = String(cTn["@_nodeType"] || "");
|
|
13086
13118
|
const presetClass = cTn["@_presetClass"];
|
|
13087
13119
|
const presetId = cTn["@_presetID"] ? Number.parseInt(String(cTn["@_presetID"]), 10) : void 0;
|
|
13120
|
+
const presetSubtype = cTn["@_presetSubtype"] !== void 0 ? Number.parseInt(String(cTn["@_presetSubtype"]), 10) : void 0;
|
|
13088
13121
|
const durationMs = cTn["@_dur"] ? Number.parseInt(String(cTn["@_dur"]), 10) : void 0;
|
|
13089
13122
|
const delayMs = cTn["@_delay"] ? Number.parseInt(String(cTn["@_delay"]), 10) : void 0;
|
|
13090
13123
|
let trigger = currentTrigger;
|
|
@@ -13136,6 +13169,7 @@ var PptxNativeAnimationService = class {
|
|
|
13136
13169
|
trigger,
|
|
13137
13170
|
presetClass: validPresetClass,
|
|
13138
13171
|
presetId,
|
|
13172
|
+
presetSubtype,
|
|
13139
13173
|
durationMs,
|
|
13140
13174
|
delayMs,
|
|
13141
13175
|
triggerDelayMs: trigger === "afterDelay" ? delayMs : void 0,
|
|
@@ -13446,6 +13480,74 @@ function buildP14ExtLst(transitionType, direction, orient, pattern, rawExtLst, x
|
|
|
13446
13480
|
return { "p:ext": transitionExt };
|
|
13447
13481
|
}
|
|
13448
13482
|
|
|
13483
|
+
// src/core/services/p15-transition-parser.ts
|
|
13484
|
+
var P15_TRANSITION_PRESETS = /* @__PURE__ */ new Set([
|
|
13485
|
+
"fallOver",
|
|
13486
|
+
"drape",
|
|
13487
|
+
"curtains",
|
|
13488
|
+
"wind",
|
|
13489
|
+
"prestige",
|
|
13490
|
+
"fracture",
|
|
13491
|
+
"crush",
|
|
13492
|
+
"peelOff",
|
|
13493
|
+
"pageCurlDouble",
|
|
13494
|
+
"pageCurlSingle",
|
|
13495
|
+
"airplane",
|
|
13496
|
+
"origami"
|
|
13497
|
+
]);
|
|
13498
|
+
var PRSTTRANS_EXT_URI = "{D42A27DB-BD31-4B8C-83A1-F6EECF244321}";
|
|
13499
|
+
function optionalBoolean(value) {
|
|
13500
|
+
const valueToken = value === void 0 || value === null ? "" : String(value).trim().toLowerCase();
|
|
13501
|
+
if (valueToken === "1" || valueToken === "true") {
|
|
13502
|
+
return true;
|
|
13503
|
+
}
|
|
13504
|
+
if (valueToken === "0" || valueToken === "false") {
|
|
13505
|
+
return false;
|
|
13506
|
+
}
|
|
13507
|
+
return void 0;
|
|
13508
|
+
}
|
|
13509
|
+
function parseP15FromExtLst(extLstNode, xmlLookupService, getXmlLocalName) {
|
|
13510
|
+
const extEntries = xmlLookupService.getChildrenArrayByLocalName(extLstNode, "ext");
|
|
13511
|
+
for (const ext of extEntries) {
|
|
13512
|
+
if (!ext) {
|
|
13513
|
+
continue;
|
|
13514
|
+
}
|
|
13515
|
+
for (const [key, value] of Object.entries(ext)) {
|
|
13516
|
+
if (key.startsWith("@_")) {
|
|
13517
|
+
continue;
|
|
13518
|
+
}
|
|
13519
|
+
if (getXmlLocalName(key) !== "prstTrans") {
|
|
13520
|
+
continue;
|
|
13521
|
+
}
|
|
13522
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
13523
|
+
continue;
|
|
13524
|
+
}
|
|
13525
|
+
const detail = value;
|
|
13526
|
+
const prst = String(detail["@_prst"] || "").trim();
|
|
13527
|
+
if (!P15_TRANSITION_PRESETS.has(prst)) {
|
|
13528
|
+
continue;
|
|
13529
|
+
}
|
|
13530
|
+
return {
|
|
13531
|
+
type: prst,
|
|
13532
|
+
invX: optionalBoolean(detail["@_invX"]),
|
|
13533
|
+
invY: optionalBoolean(detail["@_invY"])
|
|
13534
|
+
};
|
|
13535
|
+
}
|
|
13536
|
+
}
|
|
13537
|
+
return void 0;
|
|
13538
|
+
}
|
|
13539
|
+
function buildP15ExtLst(transitionType, invX, invY) {
|
|
13540
|
+
const prstTrans = {
|
|
13541
|
+
"@_xmlns:p15": "http://schemas.microsoft.com/office/powerpoint/2012/main",
|
|
13542
|
+
"@_prst": transitionType
|
|
13543
|
+
};
|
|
13544
|
+
const ext = {
|
|
13545
|
+
"@_uri": PRSTTRANS_EXT_URI,
|
|
13546
|
+
"p15:prstTrans": prstTrans
|
|
13547
|
+
};
|
|
13548
|
+
return { "p:ext": ext };
|
|
13549
|
+
}
|
|
13550
|
+
|
|
13449
13551
|
// src/core/services/slide-transition-xml.ts
|
|
13450
13552
|
var STANDARD_TRANSITION_TYPES = /* @__PURE__ */ new Set([
|
|
13451
13553
|
"fade",
|
|
@@ -13511,7 +13613,7 @@ function parseTransitionDetails(node, localName22) {
|
|
|
13511
13613
|
if (pattern) {
|
|
13512
13614
|
result.pattern = pattern;
|
|
13513
13615
|
}
|
|
13514
|
-
const thruBlk =
|
|
13616
|
+
const thruBlk = optionalBoolean2(detail["@_thruBlk"]);
|
|
13515
13617
|
if (thruBlk !== void 0) {
|
|
13516
13618
|
result.thruBlk = thruBlk;
|
|
13517
13619
|
}
|
|
@@ -13522,7 +13624,7 @@ function parseTransitionAttributes(node) {
|
|
|
13522
13624
|
const speedToken = token(node["@_spd"]);
|
|
13523
13625
|
const speed = SPEEDS.has(speedToken) ? speedToken : void 0;
|
|
13524
13626
|
const durationMs = unsignedInteger2(node["@_dur"] ?? node["@_p14:dur"], 1);
|
|
13525
|
-
const advanceOnClick =
|
|
13627
|
+
const advanceOnClick = optionalBoolean2(node["@_advClick"]);
|
|
13526
13628
|
const advanceAfterMs = unsignedInteger2(node["@_advTm"]);
|
|
13527
13629
|
return { speed, durationMs, advanceOnClick, advanceAfterMs };
|
|
13528
13630
|
}
|
|
@@ -13536,7 +13638,7 @@ function parseTransitionSound(raw, lookup, localName22) {
|
|
|
13536
13638
|
return {
|
|
13537
13639
|
soundRId: sound ? attributeByLocalName(sound, "embed", localName22) : void 0,
|
|
13538
13640
|
soundName: sound ? attributeByLocalName(sound, "name", localName22) : void 0,
|
|
13539
|
-
soundLoop:
|
|
13641
|
+
soundLoop: optionalBoolean2(start["@_loop"])
|
|
13540
13642
|
};
|
|
13541
13643
|
}
|
|
13542
13644
|
const stopSound = Object.keys(raw).some(
|
|
@@ -13645,7 +13747,7 @@ function attributeByLocalName(node, name, localName22) {
|
|
|
13645
13747
|
function token(value) {
|
|
13646
13748
|
return value === void 0 || value === null ? "" : String(value).trim();
|
|
13647
13749
|
}
|
|
13648
|
-
function
|
|
13750
|
+
function optionalBoolean2(value) {
|
|
13649
13751
|
const valueToken = token(value).toLowerCase();
|
|
13650
13752
|
if (!valueToken) {
|
|
13651
13753
|
return void 0;
|
|
@@ -13691,6 +13793,7 @@ var PptxSlideTransitionService = class {
|
|
|
13691
13793
|
const { spokes, thruBlk, rawSoundAction, rawExtLst } = details;
|
|
13692
13794
|
if (rawExtLst && transitionType === "cut") {
|
|
13693
13795
|
const p14Result = parseP14FromExtLst(rawExtLst, this.xmlLookupService, this.getXmlLocalName);
|
|
13796
|
+
const p15Result = p14Result ? void 0 : parseP15FromExtLst(rawExtLst, this.xmlLookupService, this.getXmlLocalName);
|
|
13694
13797
|
if (p14Result) {
|
|
13695
13798
|
transitionType = p14Result.type;
|
|
13696
13799
|
if (p14Result.direction) {
|
|
@@ -13702,6 +13805,8 @@ var PptxSlideTransitionService = class {
|
|
|
13702
13805
|
if (p14Result.pattern) {
|
|
13703
13806
|
pattern = p14Result.pattern;
|
|
13704
13807
|
}
|
|
13808
|
+
} else if (p15Result) {
|
|
13809
|
+
transitionType = p15Result.type;
|
|
13705
13810
|
} else if (this.parseMorphFromExtLst(rawExtLst)) {
|
|
13706
13811
|
transitionType = "morph";
|
|
13707
13812
|
}
|
|
@@ -13783,6 +13888,7 @@ var PptxSlideTransitionService = class {
|
|
|
13783
13888
|
}
|
|
13784
13889
|
const transitionType = transition.type || "cut";
|
|
13785
13890
|
const isP14Type = P14_TRANSITION_TYPES.has(transitionType);
|
|
13891
|
+
const isP15Type = P15_TRANSITION_PRESETS.has(transitionType);
|
|
13786
13892
|
const isMorphType = transitionType === "morph";
|
|
13787
13893
|
const node = createPreservedTransitionNode(transition.rawTransition, this.getXmlLocalName);
|
|
13788
13894
|
if (isP14Type) {
|
|
@@ -13795,6 +13901,8 @@ var PptxSlideTransitionService = class {
|
|
|
13795
13901
|
this.xmlLookupService,
|
|
13796
13902
|
this.getXmlLocalName
|
|
13797
13903
|
);
|
|
13904
|
+
} else if (isP15Type) {
|
|
13905
|
+
node["p:extLst"] = transition.rawExtLst ?? buildP15ExtLst(transitionType);
|
|
13798
13906
|
} else if (isMorphType) {
|
|
13799
13907
|
node["p:extLst"] = this.buildMorphExtLst(transition.rawExtLst);
|
|
13800
13908
|
} else {
|
|
@@ -13805,7 +13913,7 @@ var PptxSlideTransitionService = class {
|
|
|
13805
13913
|
if (soundAction) {
|
|
13806
13914
|
node["p:sndAc"] = soundAction;
|
|
13807
13915
|
}
|
|
13808
|
-
if (transition.rawExtLst && !isP14Type && !isMorphType) {
|
|
13916
|
+
if (transition.rawExtLst && !isP14Type && !isP15Type && !isMorphType) {
|
|
13809
13917
|
node["p:extLst"] = transition.rawExtLst;
|
|
13810
13918
|
}
|
|
13811
13919
|
return node;
|
|
@@ -23168,15 +23276,15 @@ function getConnectorPathGeometry(element) {
|
|
|
23168
23276
|
// src/core/geometry/transform-utils.ts
|
|
23169
23277
|
function getElementTransform(element) {
|
|
23170
23278
|
const transforms = [];
|
|
23279
|
+
if (element.rotation) {
|
|
23280
|
+
transforms.push(`rotate(${element.rotation}deg)`);
|
|
23281
|
+
}
|
|
23171
23282
|
if (element.flipHorizontal) {
|
|
23172
23283
|
transforms.push("scaleX(-1)");
|
|
23173
23284
|
}
|
|
23174
23285
|
if (element.flipVertical) {
|
|
23175
23286
|
transforms.push("scaleY(-1)");
|
|
23176
23287
|
}
|
|
23177
|
-
if (element.rotation) {
|
|
23178
|
-
transforms.push(`rotate(${element.rotation}deg)`);
|
|
23179
|
-
}
|
|
23180
23288
|
return transforms.length > 0 ? transforms.join(" ") : void 0;
|
|
23181
23289
|
}
|
|
23182
23290
|
function getTextCompensationTransform(element) {
|
|
@@ -29815,36 +29923,200 @@ async function fetchUrlToBytes(url, options = {}) {
|
|
|
29815
29923
|
}
|
|
29816
29924
|
}
|
|
29817
29925
|
|
|
29926
|
+
// src/core/utils/inkml-trace-decode.ts
|
|
29927
|
+
function resolveChannelOrder(root) {
|
|
29928
|
+
const traceFormat = findFirstByLocalName(root, "traceFormat");
|
|
29929
|
+
if (!traceFormat) {
|
|
29930
|
+
return ["X", "Y"];
|
|
29931
|
+
}
|
|
29932
|
+
const channels = ensureArray5(nsGet(traceFormat, "channel"));
|
|
29933
|
+
const names = channels.map(
|
|
29934
|
+
(channel) => String(nsAttr(channel, "name") ?? "").trim().toUpperCase()
|
|
29935
|
+
).filter((name) => name.length > 0);
|
|
29936
|
+
return names.length > 0 ? names : ["X", "Y"];
|
|
29937
|
+
}
|
|
29938
|
+
function decodeTracePoints(text2, channelOrder) {
|
|
29939
|
+
const points3 = [];
|
|
29940
|
+
const modes = channelOrder.map(() => "explicit");
|
|
29941
|
+
const lastValue = channelOrder.map(() => 0);
|
|
29942
|
+
const lastVelocity = channelOrder.map(() => 0);
|
|
29943
|
+
for (const rawPoint of text2.split(",")) {
|
|
29944
|
+
const tokens = rawPoint.trim().split(/\s+/u).filter((token2) => token2.length > 0);
|
|
29945
|
+
if (tokens.length === 0) {
|
|
29946
|
+
continue;
|
|
29947
|
+
}
|
|
29948
|
+
const decoded = [];
|
|
29949
|
+
for (let i = 0; i < tokens.length && i < channelOrder.length; i++) {
|
|
29950
|
+
const parsed = parseValueToken(tokens[i], modes[i]);
|
|
29951
|
+
if (parsed === void 0) {
|
|
29952
|
+
decoded.push(lastValue[i]);
|
|
29953
|
+
continue;
|
|
29954
|
+
}
|
|
29955
|
+
modes[i] = parsed.mode;
|
|
29956
|
+
const value = applyDiffMode(parsed, i, lastValue, lastVelocity);
|
|
29957
|
+
decoded.push(value);
|
|
29958
|
+
}
|
|
29959
|
+
if (decoded.length >= 2) {
|
|
29960
|
+
points3.push(decoded);
|
|
29961
|
+
}
|
|
29962
|
+
}
|
|
29963
|
+
return points3;
|
|
29964
|
+
}
|
|
29965
|
+
function parseValueToken(token2, currentMode) {
|
|
29966
|
+
let mode = currentMode;
|
|
29967
|
+
let body = token2;
|
|
29968
|
+
const prefix = token2[0];
|
|
29969
|
+
if (prefix === "!") {
|
|
29970
|
+
mode = "explicit";
|
|
29971
|
+
body = token2.slice(1);
|
|
29972
|
+
} else if (prefix === "'") {
|
|
29973
|
+
mode = "single";
|
|
29974
|
+
body = token2.slice(1);
|
|
29975
|
+
} else if (prefix === '"') {
|
|
29976
|
+
mode = "double";
|
|
29977
|
+
body = token2.slice(1);
|
|
29978
|
+
}
|
|
29979
|
+
if (body.length === 0) {
|
|
29980
|
+
return void 0;
|
|
29981
|
+
}
|
|
29982
|
+
const value = Number(body);
|
|
29983
|
+
return Number.isFinite(value) ? { value, mode } : void 0;
|
|
29984
|
+
}
|
|
29985
|
+
function applyDiffMode(parsed, index, lastValue, lastVelocity) {
|
|
29986
|
+
if (parsed.mode === "single") {
|
|
29987
|
+
lastVelocity[index] = parsed.value;
|
|
29988
|
+
lastValue[index] += parsed.value;
|
|
29989
|
+
} else if (parsed.mode === "double") {
|
|
29990
|
+
lastVelocity[index] += parsed.value;
|
|
29991
|
+
lastValue[index] += lastVelocity[index];
|
|
29992
|
+
} else {
|
|
29993
|
+
lastValue[index] = parsed.value;
|
|
29994
|
+
lastVelocity[index] = 0;
|
|
29995
|
+
}
|
|
29996
|
+
return lastValue[index];
|
|
29997
|
+
}
|
|
29998
|
+
function pointsToSvgPath(points3, channelOrder) {
|
|
29999
|
+
const xi = channelOrder.indexOf("X");
|
|
30000
|
+
const yi = channelOrder.indexOf("Y");
|
|
30001
|
+
const xIndex = xi >= 0 ? xi : 0;
|
|
30002
|
+
const yIndex = yi >= 0 ? yi : 1;
|
|
30003
|
+
const segments = [];
|
|
30004
|
+
for (const point of points3) {
|
|
30005
|
+
const x = point[xIndex];
|
|
30006
|
+
const y = point[yIndex];
|
|
30007
|
+
if (!Number.isFinite(x) || !Number.isFinite(y)) {
|
|
30008
|
+
continue;
|
|
30009
|
+
}
|
|
30010
|
+
segments.push(`${segments.length === 0 ? "M" : "L"} ${x} ${y}`);
|
|
30011
|
+
}
|
|
30012
|
+
return segments.join(" ");
|
|
30013
|
+
}
|
|
30014
|
+
function pointsToPressures(points3, channelOrder) {
|
|
30015
|
+
const fIndex = channelOrder.indexOf("F");
|
|
30016
|
+
if (fIndex < 0) {
|
|
30017
|
+
return [];
|
|
30018
|
+
}
|
|
30019
|
+
const pressures = [];
|
|
30020
|
+
for (const point of points3) {
|
|
30021
|
+
const raw = point[fIndex];
|
|
30022
|
+
if (Number.isFinite(raw)) {
|
|
30023
|
+
const normalised = raw > 1 ? raw / 32767 : raw;
|
|
30024
|
+
pressures.push(Math.max(0, Math.min(1, normalised)));
|
|
30025
|
+
}
|
|
30026
|
+
}
|
|
30027
|
+
return pressures;
|
|
30028
|
+
}
|
|
30029
|
+
function nsGet(obj, localName22) {
|
|
30030
|
+
if (localName22 in obj) {
|
|
30031
|
+
return obj[localName22];
|
|
30032
|
+
}
|
|
30033
|
+
for (const key of Object.keys(obj)) {
|
|
30034
|
+
if (localNameOf(key) === localName22 && !key.startsWith("@_")) {
|
|
30035
|
+
return obj[key];
|
|
30036
|
+
}
|
|
30037
|
+
}
|
|
30038
|
+
return void 0;
|
|
30039
|
+
}
|
|
30040
|
+
function nsAttr(obj, localName22) {
|
|
30041
|
+
const direct = obj[`@_${localName22}`];
|
|
30042
|
+
if (direct !== void 0) {
|
|
30043
|
+
return direct;
|
|
30044
|
+
}
|
|
30045
|
+
for (const key of Object.keys(obj)) {
|
|
30046
|
+
if (key.startsWith("@_") && localNameOf(key.slice(2)) === localName22) {
|
|
30047
|
+
return obj[key];
|
|
30048
|
+
}
|
|
30049
|
+
}
|
|
30050
|
+
return void 0;
|
|
30051
|
+
}
|
|
30052
|
+
function localNameOf(key) {
|
|
30053
|
+
const colon = key.indexOf(":");
|
|
30054
|
+
return colon >= 0 ? key.slice(colon + 1) : key;
|
|
30055
|
+
}
|
|
30056
|
+
function findFirstByLocalName(node, localName22) {
|
|
30057
|
+
const direct = nsGet(node, localName22);
|
|
30058
|
+
if (direct && typeof direct === "object") {
|
|
30059
|
+
return Array.isArray(direct) ? direct[0] : direct;
|
|
30060
|
+
}
|
|
30061
|
+
for (const key of Object.keys(node)) {
|
|
30062
|
+
if (key.startsWith("@_") || key === "#text") {
|
|
30063
|
+
continue;
|
|
30064
|
+
}
|
|
30065
|
+
for (const child20 of ensureArray5(node[key])) {
|
|
30066
|
+
if (typeof child20 !== "object") {
|
|
30067
|
+
continue;
|
|
30068
|
+
}
|
|
30069
|
+
const found = findFirstByLocalName(child20, localName22);
|
|
30070
|
+
if (found) {
|
|
30071
|
+
return found;
|
|
30072
|
+
}
|
|
30073
|
+
}
|
|
30074
|
+
}
|
|
30075
|
+
return void 0;
|
|
30076
|
+
}
|
|
30077
|
+
function ensureArray5(value) {
|
|
30078
|
+
if (value === void 0 || value === null) {
|
|
30079
|
+
return [];
|
|
30080
|
+
}
|
|
30081
|
+
return Array.isArray(value) ? value : [value];
|
|
30082
|
+
}
|
|
30083
|
+
|
|
29818
30084
|
// src/core/utils/inkml-content-part.ts
|
|
29819
30085
|
var INKML_NAMESPACE = "http://www.w3.org/2003/InkML";
|
|
29820
30086
|
var METADATA_NAMESPACE = "https://pptx-viewer.dev/inkml/metadata";
|
|
29821
30087
|
function parseInkMlContent(data) {
|
|
29822
|
-
const root = data
|
|
30088
|
+
const root = nsGet(data, "ink") ?? data["ink"];
|
|
29823
30089
|
if (!root) {
|
|
29824
30090
|
return { strokes: [], rawXml: data };
|
|
29825
30091
|
}
|
|
29826
30092
|
const brushes = /* @__PURE__ */ new Map();
|
|
29827
|
-
for (const brush of ensureArray5(root
|
|
29828
|
-
const properties = ensureArray5(brush
|
|
30093
|
+
for (const brush of ensureArray5(nsGet(root, "brush"))) {
|
|
30094
|
+
const properties = ensureArray5(nsGet(brush, "brushProperty"));
|
|
29829
30095
|
const valueByName = new Map(
|
|
29830
|
-
properties.map((property) => [
|
|
30096
|
+
properties.map((property) => [
|
|
30097
|
+
String(nsAttr(property, "name") ?? ""),
|
|
30098
|
+
nsAttr(property, "value")
|
|
30099
|
+
])
|
|
29831
30100
|
);
|
|
29832
|
-
brushes.set(String(brush
|
|
30101
|
+
brushes.set(String(nsAttr(brush, "id") ?? ""), {
|
|
29833
30102
|
color: String(valueByName.get("color") ?? "#000000"),
|
|
29834
30103
|
width: finiteNumber(valueByName.get("width"), 1),
|
|
29835
30104
|
opacity: finiteNumber(valueByName.get("opacity"), 1)
|
|
29836
30105
|
});
|
|
29837
30106
|
}
|
|
30107
|
+
const channelOrder = resolveChannelOrder(root);
|
|
29838
30108
|
const strokes = [];
|
|
29839
|
-
for (const trace of ensureArray5(root
|
|
30109
|
+
for (const trace of ensureArray5(nsGet(root, "trace"))) {
|
|
29840
30110
|
const text2 = typeof trace === "string" ? trace : String(trace["#text"] ?? "").trim();
|
|
29841
|
-
const
|
|
30111
|
+
const authored = typeof trace === "string" ? "" : String(nsAttr(trace, "path") ?? "").trim();
|
|
30112
|
+
const points3 = authored ? [] : decodeTracePoints(text2, channelOrder);
|
|
30113
|
+
const path = authored || pointsToSvgPath(points3, channelOrder);
|
|
29842
30114
|
if (!path) {
|
|
29843
30115
|
continue;
|
|
29844
30116
|
}
|
|
29845
|
-
const brushRef = typeof trace === "string" ? "" : String(trace
|
|
30117
|
+
const brushRef = typeof trace === "string" ? "" : String(nsAttr(trace, "brushRef") ?? "").replace("#", "");
|
|
29846
30118
|
const brush = brushes.get(brushRef) ?? { color: "#000000", width: 1, opacity: 1 };
|
|
29847
|
-
const pressures = tracePressures(text2);
|
|
30119
|
+
const pressures = authored ? tracePressures(text2) : pointsToPressures(points3, channelOrder);
|
|
29848
30120
|
strokes.push({ ...brush, path, ...pressures.length > 0 ? { pressures } : {} });
|
|
29849
30121
|
}
|
|
29850
30122
|
return { strokes, rawXml: data };
|
|
@@ -29903,12 +30175,6 @@ function finiteNumber(value, fallback) {
|
|
|
29903
30175
|
const parsed = Number(value);
|
|
29904
30176
|
return Number.isFinite(parsed) ? parsed : fallback;
|
|
29905
30177
|
}
|
|
29906
|
-
function ensureArray5(value) {
|
|
29907
|
-
if (value === void 0 || value === null) {
|
|
29908
|
-
return [];
|
|
29909
|
-
}
|
|
29910
|
-
return Array.isArray(value) ? value : [value];
|
|
29911
|
-
}
|
|
29912
30178
|
|
|
29913
30179
|
// src/core/utils/smartart-helpers.ts
|
|
29914
30180
|
var DEFAULT_ACCENT_COLORS = [
|
|
@@ -47330,6 +47596,93 @@ var PptxHandlerRuntime = class {
|
|
|
47330
47596
|
}
|
|
47331
47597
|
};
|
|
47332
47598
|
|
|
47599
|
+
// src/core/core/runtime/table-style-border-parse.ts
|
|
47600
|
+
var EMU_PER_PIXEL = 9525;
|
|
47601
|
+
var BORDER_SIDES = [
|
|
47602
|
+
"left",
|
|
47603
|
+
"right",
|
|
47604
|
+
"top",
|
|
47605
|
+
"bottom",
|
|
47606
|
+
"insideH",
|
|
47607
|
+
"insideV",
|
|
47608
|
+
"tl2br",
|
|
47609
|
+
"bl2tr"
|
|
47610
|
+
];
|
|
47611
|
+
function parseSolidFillStyle(solidFill2) {
|
|
47612
|
+
if (!solidFill2) {
|
|
47613
|
+
return void 0;
|
|
47614
|
+
}
|
|
47615
|
+
const schemeClr = solidFill2["a:schemeClr"];
|
|
47616
|
+
if (!schemeClr) {
|
|
47617
|
+
return void 0;
|
|
47618
|
+
}
|
|
47619
|
+
const schemeColor = String(schemeClr["@_val"] || "").trim() || void 0;
|
|
47620
|
+
if (!schemeColor) {
|
|
47621
|
+
return void 0;
|
|
47622
|
+
}
|
|
47623
|
+
const tintRaw = schemeClr["a:tint"];
|
|
47624
|
+
const tint = tintRaw ? parseInt(String(tintRaw["@_val"] || "0"), 10) || void 0 : void 0;
|
|
47625
|
+
const shadeRaw = schemeClr["a:shade"];
|
|
47626
|
+
const shade = shadeRaw ? parseInt(String(shadeRaw["@_val"] || "0"), 10) || void 0 : void 0;
|
|
47627
|
+
return { schemeColor, tint, shade };
|
|
47628
|
+
}
|
|
47629
|
+
function parseBorderSide(side) {
|
|
47630
|
+
if (!side) {
|
|
47631
|
+
return void 0;
|
|
47632
|
+
}
|
|
47633
|
+
const ln = side["a:ln"];
|
|
47634
|
+
if (!ln) {
|
|
47635
|
+
return void 0;
|
|
47636
|
+
}
|
|
47637
|
+
const border = {};
|
|
47638
|
+
let has = false;
|
|
47639
|
+
if (ln["a:noFill"] !== void 0) {
|
|
47640
|
+
border.noFill = true;
|
|
47641
|
+
has = true;
|
|
47642
|
+
}
|
|
47643
|
+
const widthEmu = parseInt(String(ln["@_w"] || "0"), 10);
|
|
47644
|
+
if (widthEmu > 0) {
|
|
47645
|
+
border.width = Math.max(1, Math.round(widthEmu / EMU_PER_PIXEL));
|
|
47646
|
+
has = true;
|
|
47647
|
+
}
|
|
47648
|
+
const prstDash = ln["a:prstDash"];
|
|
47649
|
+
const dashVal = prstDash ? String(prstDash["@_val"] || "").trim() : "";
|
|
47650
|
+
if (dashVal) {
|
|
47651
|
+
border.dash = dashVal;
|
|
47652
|
+
has = true;
|
|
47653
|
+
}
|
|
47654
|
+
const solidFill2 = ln["a:solidFill"];
|
|
47655
|
+
const fill = parseSolidFillStyle(solidFill2);
|
|
47656
|
+
if (fill) {
|
|
47657
|
+
border.fill = fill;
|
|
47658
|
+
has = true;
|
|
47659
|
+
} else {
|
|
47660
|
+
const srgb = solidFill2?.["a:srgbClr"];
|
|
47661
|
+
const hex10 = srgb ? String(srgb["@_val"] || "").trim() : "";
|
|
47662
|
+
if (hex10) {
|
|
47663
|
+
border.color = hex10.startsWith("#") ? hex10 : `#${hex10}`;
|
|
47664
|
+
has = true;
|
|
47665
|
+
}
|
|
47666
|
+
}
|
|
47667
|
+
return has ? border : void 0;
|
|
47668
|
+
}
|
|
47669
|
+
function parseTableStyleBorders(tcStyle) {
|
|
47670
|
+
const tcBdr = tcStyle?.["a:tcBdr"];
|
|
47671
|
+
if (!tcBdr) {
|
|
47672
|
+
return void 0;
|
|
47673
|
+
}
|
|
47674
|
+
const result = {};
|
|
47675
|
+
let has = false;
|
|
47676
|
+
for (const name of BORDER_SIDES) {
|
|
47677
|
+
const border = parseBorderSide(tcBdr[`a:${name}`]);
|
|
47678
|
+
if (border) {
|
|
47679
|
+
result[name] = border;
|
|
47680
|
+
has = true;
|
|
47681
|
+
}
|
|
47682
|
+
}
|
|
47683
|
+
return has ? result : void 0;
|
|
47684
|
+
}
|
|
47685
|
+
|
|
47333
47686
|
// src/core/core/runtime/PptxHandlerRuntimeTableStyles.ts
|
|
47334
47687
|
var PptxHandlerRuntime2 = class extends PptxHandlerRuntime {
|
|
47335
47688
|
/**
|
|
@@ -47414,30 +47767,15 @@ var PptxHandlerRuntime2 = class extends PptxHandlerRuntime {
|
|
|
47414
47767
|
return void 0;
|
|
47415
47768
|
}
|
|
47416
47769
|
const tcStyle = section["a:tcStyle"];
|
|
47417
|
-
|
|
47418
|
-
|
|
47419
|
-
|
|
47420
|
-
|
|
47421
|
-
|
|
47422
|
-
|
|
47423
|
-
|
|
47424
|
-
|
|
47425
|
-
|
|
47426
|
-
return void 0;
|
|
47427
|
-
}
|
|
47428
|
-
const schemeClr = solidFill2["a:schemeClr"];
|
|
47429
|
-
if (!schemeClr) {
|
|
47430
|
-
return void 0;
|
|
47431
|
-
}
|
|
47432
|
-
const schemeColor = String(schemeClr["@_val"] || "").trim() || void 0;
|
|
47433
|
-
if (!schemeColor) {
|
|
47434
|
-
return void 0;
|
|
47435
|
-
}
|
|
47436
|
-
const tintRaw = schemeClr["a:tint"];
|
|
47437
|
-
const tint = tintRaw ? parseInt(String(tintRaw["@_val"] || "0"), 10) || void 0 : void 0;
|
|
47438
|
-
const shadeRaw = schemeClr["a:shade"];
|
|
47439
|
-
const shade = shadeRaw ? parseInt(String(shadeRaw["@_val"] || "0"), 10) || void 0 : void 0;
|
|
47440
|
-
return { schemeColor, tint, shade };
|
|
47770
|
+
const fill = tcStyle?.["a:fill"];
|
|
47771
|
+
return parseSolidFillStyle(fill?.["a:solidFill"]);
|
|
47772
|
+
}
|
|
47773
|
+
/**
|
|
47774
|
+
* Extract border styling from a table style section's
|
|
47775
|
+
* `a:tcStyle/a:tcBdr` (per-side line width, dash, and colour).
|
|
47776
|
+
*/
|
|
47777
|
+
extractTableStyleSectionBorders(section) {
|
|
47778
|
+
return parseTableStyleBorders(section?.["a:tcStyle"]);
|
|
47441
47779
|
}
|
|
47442
47780
|
/**
|
|
47443
47781
|
* Extract text properties from a:tcTxStyle in a table style section.
|
|
@@ -47584,6 +47922,15 @@ var PptxHandlerRuntime2 = class extends PptxHandlerRuntime {
|
|
|
47584
47922
|
textProps[`${name}Text`] = text2;
|
|
47585
47923
|
}
|
|
47586
47924
|
}
|
|
47925
|
+
const borderProps = {};
|
|
47926
|
+
for (const name of sectionNames) {
|
|
47927
|
+
const borders = this.extractTableStyleSectionBorders(
|
|
47928
|
+
style[`a:${name}`]
|
|
47929
|
+
);
|
|
47930
|
+
if (borders) {
|
|
47931
|
+
borderProps[`${name}Borders`] = borders;
|
|
47932
|
+
}
|
|
47933
|
+
}
|
|
47587
47934
|
const entry = {
|
|
47588
47935
|
styleId,
|
|
47589
47936
|
styleName,
|
|
@@ -47602,7 +47949,8 @@ var PptxHandlerRuntime2 = class extends PptxHandlerRuntime {
|
|
|
47602
47949
|
...swCellFill ? { swCellFill } : {},
|
|
47603
47950
|
...neCellFill ? { neCellFill } : {},
|
|
47604
47951
|
...nwCellFill ? { nwCellFill } : {},
|
|
47605
|
-
...textProps
|
|
47952
|
+
...textProps,
|
|
47953
|
+
...borderProps
|
|
47606
47954
|
};
|
|
47607
47955
|
map[styleId] = entry;
|
|
47608
47956
|
}
|
|
@@ -49413,6 +49761,15 @@ var PptxHandlerRuntime11 = class extends PptxHandlerRuntime10 {
|
|
|
49413
49761
|
if (align === "justify") {
|
|
49414
49762
|
return "just";
|
|
49415
49763
|
}
|
|
49764
|
+
if (align === "justLow") {
|
|
49765
|
+
return "justLow";
|
|
49766
|
+
}
|
|
49767
|
+
if (align === "dist") {
|
|
49768
|
+
return "dist";
|
|
49769
|
+
}
|
|
49770
|
+
if (align === "thaiDist") {
|
|
49771
|
+
return "thaiDist";
|
|
49772
|
+
}
|
|
49416
49773
|
return void 0;
|
|
49417
49774
|
}
|
|
49418
49775
|
pixelsToPoints(px2) {
|
|
@@ -50467,6 +50824,16 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
50467
50824
|
const chOffY = 0;
|
|
50468
50825
|
const chExtCx = extCx;
|
|
50469
50826
|
const chExtCy = extCy;
|
|
50827
|
+
const xfrmAttrs = {};
|
|
50828
|
+
if (typeof group.rotation === "number" && group.rotation !== 0) {
|
|
50829
|
+
xfrmAttrs["@_rot"] = String(Math.round(group.rotation * 6e4));
|
|
50830
|
+
}
|
|
50831
|
+
if (group.flipHorizontal) {
|
|
50832
|
+
xfrmAttrs["@_flipH"] = "1";
|
|
50833
|
+
}
|
|
50834
|
+
if (group.flipVertical) {
|
|
50835
|
+
xfrmAttrs["@_flipV"] = "1";
|
|
50836
|
+
}
|
|
50470
50837
|
const grpXml = {
|
|
50471
50838
|
"p:nvGrpSpPr": {
|
|
50472
50839
|
"p:cNvPr": { "@_id": "0", "@_name": group.id },
|
|
@@ -50475,6 +50842,7 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
50475
50842
|
},
|
|
50476
50843
|
"p:grpSpPr": {
|
|
50477
50844
|
"a:xfrm": {
|
|
50845
|
+
...xfrmAttrs,
|
|
50478
50846
|
"a:off": {
|
|
50479
50847
|
"@_x": String(offX),
|
|
50480
50848
|
"@_y": String(offY)
|
|
@@ -56663,45 +57031,18 @@ var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
|
|
|
56663
57031
|
const s3d = shapeStyle.scene3d;
|
|
56664
57032
|
const hasData = s3d.cameraPreset || s3d.lightRigType;
|
|
56665
57033
|
if (hasData) {
|
|
56666
|
-
const
|
|
56667
|
-
|
|
56668
|
-
|
|
56669
|
-
|
|
56670
|
-
if (
|
|
56671
|
-
|
|
56672
|
-
|
|
56673
|
-
|
|
56674
|
-
|
|
56675
|
-
|
|
56676
|
-
|
|
56677
|
-
|
|
56678
|
-
if (s3d.cameraRotZ !== void 0) {
|
|
56679
|
-
rot["@_rev"] = String(s3d.cameraRotZ);
|
|
56680
|
-
}
|
|
56681
|
-
cameraObj["a:rot"] = rot;
|
|
56682
|
-
}
|
|
56683
|
-
const lightRigObj = {};
|
|
56684
|
-
if (s3d.lightRigType) {
|
|
56685
|
-
lightRigObj["@_rig"] = s3d.lightRigType;
|
|
56686
|
-
}
|
|
56687
|
-
if (s3d.lightRigDirection) {
|
|
56688
|
-
lightRigObj["@_dir"] = s3d.lightRigDirection;
|
|
56689
|
-
}
|
|
56690
|
-
const scene3dXml = {};
|
|
56691
|
-
scene3dXml["a:camera"] = cameraObj;
|
|
56692
|
-
if (Object.keys(lightRigObj).length > 0) {
|
|
56693
|
-
scene3dXml["a:lightRig"] = lightRigObj;
|
|
56694
|
-
}
|
|
56695
|
-
if (s3d.hasBackdrop) {
|
|
56696
|
-
const backdropObj = {};
|
|
56697
|
-
if (s3d.backdropAnchorX !== void 0 || s3d.backdropAnchorY !== void 0 || s3d.backdropAnchorZ !== void 0) {
|
|
56698
|
-
backdropObj["a:anchor"] = {
|
|
56699
|
-
"@_x": String(s3d.backdropAnchorX ?? 0),
|
|
56700
|
-
"@_y": String(s3d.backdropAnchorY ?? 0),
|
|
56701
|
-
"@_z": String(s3d.backdropAnchorZ ?? 0)
|
|
56702
|
-
};
|
|
56703
|
-
}
|
|
56704
|
-
scene3dXml["a:backdrop"] = backdropObj;
|
|
57034
|
+
const source = spPr["a:scene3d"] ?? {};
|
|
57035
|
+
const scene3dXml = { ...source };
|
|
57036
|
+
scene3dXml["a:camera"] = buildScene3dCamera(s3d, source);
|
|
57037
|
+
const lightRig = buildScene3dLightRig(s3d, source);
|
|
57038
|
+
if (lightRig) {
|
|
57039
|
+
scene3dXml["a:lightRig"] = lightRig;
|
|
57040
|
+
}
|
|
57041
|
+
const backdrop = buildScene3dBackdrop(s3d);
|
|
57042
|
+
if (backdrop) {
|
|
57043
|
+
scene3dXml["a:backdrop"] = backdrop;
|
|
57044
|
+
} else {
|
|
57045
|
+
delete scene3dXml["a:backdrop"];
|
|
56705
57046
|
}
|
|
56706
57047
|
spPr["a:scene3d"] = scene3dXml;
|
|
56707
57048
|
} else {
|
|
@@ -56746,12 +57087,12 @@ var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
|
|
|
56746
57087
|
}
|
|
56747
57088
|
if (sh3d.extrusionColor) {
|
|
56748
57089
|
sp3dXml["a:extrusionClr"] = {
|
|
56749
|
-
"a:srgbClr": { "@_val": sh3d.extrusionColor }
|
|
57090
|
+
"a:srgbClr": { "@_val": sh3d.extrusionColor.replace("#", "") }
|
|
56750
57091
|
};
|
|
56751
57092
|
}
|
|
56752
57093
|
if (sh3d.contourColor) {
|
|
56753
57094
|
sp3dXml["a:contourClr"] = {
|
|
56754
|
-
"a:srgbClr": { "@_val": sh3d.contourColor }
|
|
57095
|
+
"a:srgbClr": { "@_val": sh3d.contourColor.replace("#", "") }
|
|
56755
57096
|
};
|
|
56756
57097
|
}
|
|
56757
57098
|
spPr["a:sp3d"] = sp3dXml;
|
|
@@ -56763,6 +57104,77 @@ var PptxHandlerRuntime29 = class extends PptxHandlerRuntime28 {
|
|
|
56763
57104
|
}
|
|
56764
57105
|
}
|
|
56765
57106
|
};
|
|
57107
|
+
function buildSphereRot(lat, lon, rev) {
|
|
57108
|
+
if (lat === void 0 && lon === void 0 && rev === void 0) {
|
|
57109
|
+
return void 0;
|
|
57110
|
+
}
|
|
57111
|
+
const rot = {};
|
|
57112
|
+
if (lat !== void 0) {
|
|
57113
|
+
rot["@_lat"] = String(lat);
|
|
57114
|
+
}
|
|
57115
|
+
if (lon !== void 0) {
|
|
57116
|
+
rot["@_lon"] = String(lon);
|
|
57117
|
+
}
|
|
57118
|
+
if (rev !== void 0) {
|
|
57119
|
+
rot["@_rev"] = String(rev);
|
|
57120
|
+
}
|
|
57121
|
+
return rot;
|
|
57122
|
+
}
|
|
57123
|
+
function buildScene3dCamera(s3d, source) {
|
|
57124
|
+
const camera = { ...source["a:camera"] ?? {} };
|
|
57125
|
+
if (s3d.cameraPreset) {
|
|
57126
|
+
camera["@_prst"] = s3d.cameraPreset;
|
|
57127
|
+
}
|
|
57128
|
+
if (s3d.cameraFieldOfView !== void 0) {
|
|
57129
|
+
camera["@_fov"] = String(s3d.cameraFieldOfView);
|
|
57130
|
+
}
|
|
57131
|
+
if (s3d.cameraZoom !== void 0) {
|
|
57132
|
+
camera["@_zoom"] = String(s3d.cameraZoom);
|
|
57133
|
+
}
|
|
57134
|
+
const rot = buildSphereRot(s3d.cameraRotX, s3d.cameraRotY, s3d.cameraRotZ);
|
|
57135
|
+
if (rot) {
|
|
57136
|
+
camera["a:rot"] = rot;
|
|
57137
|
+
}
|
|
57138
|
+
return camera;
|
|
57139
|
+
}
|
|
57140
|
+
function buildScene3dLightRig(s3d, source) {
|
|
57141
|
+
const lightRig = { ...source["a:lightRig"] ?? {} };
|
|
57142
|
+
if (s3d.lightRigType) {
|
|
57143
|
+
lightRig["@_rig"] = s3d.lightRigType;
|
|
57144
|
+
}
|
|
57145
|
+
if (s3d.lightRigDirection) {
|
|
57146
|
+
lightRig["@_dir"] = s3d.lightRigDirection;
|
|
57147
|
+
}
|
|
57148
|
+
const rot = buildSphereRot(s3d.lightRigRotX, s3d.lightRigRotY, s3d.lightRigRotZ);
|
|
57149
|
+
if (rot) {
|
|
57150
|
+
lightRig["a:rot"] = rot;
|
|
57151
|
+
}
|
|
57152
|
+
return Object.keys(lightRig).length > 0 ? lightRig : void 0;
|
|
57153
|
+
}
|
|
57154
|
+
function buildScene3dBackdrop(s3d) {
|
|
57155
|
+
const hasNorm = s3d.backdropNormalX !== void 0 || s3d.backdropNormalY !== void 0 || s3d.backdropNormalZ !== void 0;
|
|
57156
|
+
const hasUp = s3d.backdropUpX !== void 0 || s3d.backdropUpY !== void 0 || s3d.backdropUpZ !== void 0;
|
|
57157
|
+
if (!s3d.hasBackdrop || !hasNorm || !hasUp) {
|
|
57158
|
+
return void 0;
|
|
57159
|
+
}
|
|
57160
|
+
return {
|
|
57161
|
+
"a:anchor": {
|
|
57162
|
+
"@_x": String(s3d.backdropAnchorX ?? 0),
|
|
57163
|
+
"@_y": String(s3d.backdropAnchorY ?? 0),
|
|
57164
|
+
"@_z": String(s3d.backdropAnchorZ ?? 0)
|
|
57165
|
+
},
|
|
57166
|
+
"a:norm": {
|
|
57167
|
+
"@_dx": String(s3d.backdropNormalX ?? 0),
|
|
57168
|
+
"@_dy": String(s3d.backdropNormalY ?? 0),
|
|
57169
|
+
"@_dz": String(s3d.backdropNormalZ ?? 0)
|
|
57170
|
+
},
|
|
57171
|
+
"a:up": {
|
|
57172
|
+
"@_dx": String(s3d.backdropUpX ?? 0),
|
|
57173
|
+
"@_dy": String(s3d.backdropUpY ?? 0),
|
|
57174
|
+
"@_dz": String(s3d.backdropUpZ ?? 0)
|
|
57175
|
+
}
|
|
57176
|
+
};
|
|
57177
|
+
}
|
|
56766
57178
|
|
|
56767
57179
|
// src/core/core/runtime/PptxHandlerRuntimeSaveTextWriter.ts
|
|
56768
57180
|
var PptxHandlerRuntime30 = class _PptxHandlerRuntime extends PptxHandlerRuntime29 {
|
|
@@ -61770,7 +62182,7 @@ var PptxHandlerRuntime59 = class extends PptxHandlerRuntime58 {
|
|
|
61770
62182
|
pointsToPixels(points3) {
|
|
61771
62183
|
return points3 * (96 / 72);
|
|
61772
62184
|
}
|
|
61773
|
-
parseParagraphSpacingPx(spacingNode) {
|
|
62185
|
+
parseParagraphSpacingPx(spacingNode, basisFontSizePx) {
|
|
61774
62186
|
if (!spacingNode) {
|
|
61775
62187
|
return void 0;
|
|
61776
62188
|
}
|
|
@@ -61781,6 +62193,13 @@ var PptxHandlerRuntime59 = class extends PptxHandlerRuntime58 {
|
|
|
61781
62193
|
if (Number.isFinite(spacingPointsRaw)) {
|
|
61782
62194
|
return this.pointsToPixels(spacingPointsRaw / 100);
|
|
61783
62195
|
}
|
|
62196
|
+
const spacingPercentRaw = Number.parseInt(
|
|
62197
|
+
String(spacingNode["a:spcPct"]?.["@_val"] || ""),
|
|
62198
|
+
10
|
|
62199
|
+
);
|
|
62200
|
+
if (Number.isFinite(spacingPercentRaw) && typeof basisFontSizePx === "number" && basisFontSizePx > 0) {
|
|
62201
|
+
return spacingPercentRaw / 1e5 * basisFontSizePx;
|
|
62202
|
+
}
|
|
61784
62203
|
return void 0;
|
|
61785
62204
|
}
|
|
61786
62205
|
parseLineSpacingMultiplier(lineSpacingNode) {
|
|
@@ -61860,7 +62279,7 @@ var PptxHandlerRuntime59 = class extends PptxHandlerRuntime58 {
|
|
|
61860
62279
|
|
|
61861
62280
|
// src/core/core/runtime/PptxHandlerRuntimeBulletParsing.ts
|
|
61862
62281
|
var PptxHandlerRuntime60 = class extends PptxHandlerRuntime59 {
|
|
61863
|
-
resolveParagraphBulletInfo(paragraph, paragraphIndex, txBody, inheritedTxBody, isBodyPlaceholder = false, slidePath) {
|
|
62282
|
+
resolveParagraphBulletInfo(paragraph, paragraphIndex, txBody, inheritedTxBody, isBodyPlaceholder = false, slidePath, effectiveLevelStyles) {
|
|
61864
62283
|
if (!paragraph) {
|
|
61865
62284
|
return null;
|
|
61866
62285
|
}
|
|
@@ -61896,11 +62315,8 @@ var PptxHandlerRuntime60 = class extends PptxHandlerRuntime59 {
|
|
|
61896
62315
|
}
|
|
61897
62316
|
}
|
|
61898
62317
|
if (!resolvedBulletProps) {
|
|
61899
|
-
|
|
61900
|
-
|
|
61901
|
-
return this.createBulletInfoFromLevelStyle(presentationLevelStyle, paragraphIndex);
|
|
61902
|
-
}
|
|
61903
|
-
return null;
|
|
62318
|
+
const fallbackLevelStyle = effectiveLevelStyles?.[normalizedLevel - 1] ?? effectiveLevelStyles?.[-1] ?? (isBodyPlaceholder ? this.presentationDefaultTextStyle?.levelStyles?.[normalizedLevel - 1] ?? this.presentationDefaultTextStyle?.levelStyles?.[-1] : void 0);
|
|
62319
|
+
return this.createBulletInfoFromLevelStyle(fallbackLevelStyle, paragraphIndex);
|
|
61904
62320
|
}
|
|
61905
62321
|
const buFont = resolvedBulletProps["a:buFont"];
|
|
61906
62322
|
const fontFamily = buFont?.["@_typeface"] ? String(buFont["@_typeface"]) : void 0;
|
|
@@ -62390,16 +62806,21 @@ var PptxHandlerRuntime62 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
62390
62806
|
textStyle.align = paraAlign;
|
|
62391
62807
|
}
|
|
62392
62808
|
}
|
|
62809
|
+
const spacingBasisPx = typeof textStyle.fontSize === "number" ? textStyle.fontSize : void 0;
|
|
62393
62810
|
if (textStyle.paragraphSpacingBefore === void 0) {
|
|
62394
62811
|
const spacingBefore = this.parseParagraphSpacingPx(
|
|
62395
|
-
pPr?.["a:spcBef"]
|
|
62812
|
+
pPr?.["a:spcBef"],
|
|
62813
|
+
spacingBasisPx
|
|
62396
62814
|
);
|
|
62397
62815
|
if (spacingBefore !== void 0) {
|
|
62398
62816
|
textStyle.paragraphSpacingBefore = spacingBefore;
|
|
62399
62817
|
}
|
|
62400
62818
|
}
|
|
62401
62819
|
if (textStyle.paragraphSpacingAfter === void 0) {
|
|
62402
|
-
const spacingAfter = this.parseParagraphSpacingPx(
|
|
62820
|
+
const spacingAfter = this.parseParagraphSpacingPx(
|
|
62821
|
+
pPr?.["a:spcAft"],
|
|
62822
|
+
spacingBasisPx
|
|
62823
|
+
);
|
|
62403
62824
|
if (spacingAfter !== void 0) {
|
|
62404
62825
|
textStyle.paragraphSpacingAfter = spacingAfter;
|
|
62405
62826
|
}
|
|
@@ -62573,7 +62994,8 @@ var PptxHandlerRuntime63 = class extends PptxHandlerRuntime62 {
|
|
|
62573
62994
|
ctx.txBody,
|
|
62574
62995
|
ctx.inheritedTxBody,
|
|
62575
62996
|
isBodyPlaceholder,
|
|
62576
|
-
ctx.slidePath
|
|
62997
|
+
ctx.slidePath,
|
|
62998
|
+
ctx.effectiveLevelStyles
|
|
62577
62999
|
);
|
|
62578
63000
|
if (paragraphBulletInfo && !paragraphBulletInfo.none) {
|
|
62579
63001
|
let bulletText;
|
|
@@ -63182,7 +63604,7 @@ var PptxHandlerRuntime65 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
63182
63604
|
const skewY = xfrm["@_skewY"] ? parseEmuInt(xfrm["@_skewY"]) / 6e4 : void 0;
|
|
63183
63605
|
const { flipHorizontal, flipVertical } = this.readFlipState(xfrm);
|
|
63184
63606
|
const nvPr = pic?.["p:nvPicPr"]?.["p:nvPr"];
|
|
63185
|
-
const mediaReference = parseDrawingMediaReference(nvPr);
|
|
63607
|
+
const mediaReference = parseDrawingMediaReference(nvPr, this.externalRelsMap.get(slidePath));
|
|
63186
63608
|
if (mediaReference) {
|
|
63187
63609
|
this.compatibilityService.inspectMediaReferenceCompatibility(
|
|
63188
63610
|
mediaReference.kind,
|
|
@@ -63950,6 +64372,9 @@ var PptxHandlerRuntime67 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
63950
64372
|
const grpSpPr = group["p:grpSpPr"];
|
|
63951
64373
|
const xfrm = grpSpPr?.["a:xfrm"];
|
|
63952
64374
|
let parentX = 0, parentY = 0, parentW = 0, parentH = 0;
|
|
64375
|
+
let groupRotation;
|
|
64376
|
+
let flipHorizontal = false;
|
|
64377
|
+
let flipVertical = false;
|
|
63953
64378
|
if (xfrm) {
|
|
63954
64379
|
const off = xfrm["a:off"];
|
|
63955
64380
|
if (off) {
|
|
@@ -63961,6 +64386,12 @@ var PptxHandlerRuntime67 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
63961
64386
|
parentW = Math.round(parseEmuInt2(ext["@_cx"]) / _PptxHandlerRuntime.EMU_PER_PX);
|
|
63962
64387
|
parentH = Math.round(parseEmuInt2(ext["@_cy"]) / _PptxHandlerRuntime.EMU_PER_PX);
|
|
63963
64388
|
}
|
|
64389
|
+
if (xfrm["@_rot"] !== void 0 && xfrm["@_rot"] !== null) {
|
|
64390
|
+
const rot = parseInt(String(xfrm["@_rot"]), 10) / 6e4;
|
|
64391
|
+
groupRotation = Number.isFinite(rot) && rot !== 0 ? rot : void 0;
|
|
64392
|
+
}
|
|
64393
|
+
flipHorizontal = this.parseBooleanAttr(xfrm["@_flipH"]);
|
|
64394
|
+
flipVertical = this.parseBooleanAttr(xfrm["@_flipV"]);
|
|
63964
64395
|
}
|
|
63965
64396
|
const grpFillStyle = grpSpPr ? this.extractShapeStyle(grpSpPr) : void 0;
|
|
63966
64397
|
const hasGroupFill = grpFillStyle && grpFillStyle.fillMode && grpFillStyle.fillMode !== "none";
|
|
@@ -64006,6 +64437,9 @@ var PptxHandlerRuntime67 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
64006
64437
|
y: parentY,
|
|
64007
64438
|
width: parentW || Math.max(...children10.map((c) => c.x + c.width)),
|
|
64008
64439
|
height: parentH || Math.max(...children10.map((c) => c.y + c.height)),
|
|
64440
|
+
rotation: groupRotation,
|
|
64441
|
+
flipHorizontal: flipHorizontal || void 0,
|
|
64442
|
+
flipVertical: flipVertical || void 0,
|
|
64009
64443
|
children: children10,
|
|
64010
64444
|
rawXml: group,
|
|
64011
64445
|
actionClick: grpActionClick,
|
|
@@ -64176,6 +64610,7 @@ var PptxHandlerRuntime69 = class extends PptxHandlerRuntime68 {
|
|
|
64176
64610
|
if (!normalized) {
|
|
64177
64611
|
return void 0;
|
|
64178
64612
|
}
|
|
64613
|
+
const canon = (key) => key.toLowerCase() === "folhlink" ? "folHlink" : key;
|
|
64179
64614
|
if (normalized === "phclr") {
|
|
64180
64615
|
const injected = this.themeColorMap["phclr"];
|
|
64181
64616
|
if (injected) {
|
|
@@ -64185,17 +64620,18 @@ var PptxHandlerRuntime69 = class extends PptxHandlerRuntime68 {
|
|
|
64185
64620
|
}
|
|
64186
64621
|
const overrideMap = this.currentSlideClrMapOverride ?? this.currentMasterClrMap;
|
|
64187
64622
|
if (overrideMap) {
|
|
64188
|
-
const remapped = overrideMap[normalized];
|
|
64623
|
+
const remapped = overrideMap[canon(normalized)];
|
|
64189
64624
|
if (remapped) {
|
|
64190
|
-
|
|
64625
|
+
const target = canon(remapped);
|
|
64626
|
+
return this.themeColorMap[target] || this.getDefaultSchemeColorMap()[target];
|
|
64191
64627
|
}
|
|
64192
64628
|
} else {
|
|
64193
64629
|
const defaultAliasTarget = DEFAULT_CLR_MAP_ALIAS[normalized];
|
|
64194
64630
|
if (defaultAliasTarget) {
|
|
64195
|
-
return this.themeColorMap[defaultAliasTarget] || this.themeColorMap[normalized] || this.getDefaultSchemeColorMap()[normalized];
|
|
64631
|
+
return this.themeColorMap[defaultAliasTarget] || this.themeColorMap[canon(normalized)] || this.getDefaultSchemeColorMap()[canon(normalized)];
|
|
64196
64632
|
}
|
|
64197
64633
|
}
|
|
64198
|
-
return this.themeColorMap[normalized] || this.getDefaultSchemeColorMap()[normalized];
|
|
64634
|
+
return this.themeColorMap[canon(normalized)] || this.getDefaultSchemeColorMap()[canon(normalized)];
|
|
64199
64635
|
}
|
|
64200
64636
|
normalizeStrokeDashType(value) {
|
|
64201
64637
|
const normalized = String(value ?? "").trim();
|
|
@@ -64978,11 +65414,24 @@ var PptxHandlerRuntime72 = class _PptxHandlerRuntime extends PptxHandlerRuntime7
|
|
|
64978
65414
|
}
|
|
64979
65415
|
}
|
|
64980
65416
|
}
|
|
64981
|
-
const
|
|
65417
|
+
const defRPrSzRaw = Number.parseInt(
|
|
65418
|
+
String(
|
|
65419
|
+
levelProps["a:defRPr"]?.["@_sz"] || ""
|
|
65420
|
+
),
|
|
65421
|
+
10
|
|
65422
|
+
);
|
|
65423
|
+
const basisFontSizePx = Number.isFinite(defRPrSzRaw) ? this.pointsToPixels(defRPrSzRaw / 100) : void 0;
|
|
65424
|
+
const spcBef = this.parseParagraphSpacingPx(
|
|
65425
|
+
levelProps["a:spcBef"],
|
|
65426
|
+
basisFontSizePx
|
|
65427
|
+
);
|
|
64982
65428
|
if (spcBef !== void 0) {
|
|
64983
65429
|
style.spaceBefore = spcBef;
|
|
64984
65430
|
}
|
|
64985
|
-
const spcAft = this.parseParagraphSpacingPx(
|
|
65431
|
+
const spcAft = this.parseParagraphSpacingPx(
|
|
65432
|
+
levelProps["a:spcAft"],
|
|
65433
|
+
basisFontSizePx
|
|
65434
|
+
);
|
|
64986
65435
|
if (spcAft !== void 0) {
|
|
64987
65436
|
style.spaceAfter = spcAft;
|
|
64988
65437
|
}
|
|
@@ -65007,9 +65456,9 @@ var PptxHandlerRuntime72 = class _PptxHandlerRuntime extends PptxHandlerRuntime7
|
|
|
65007
65456
|
}
|
|
65008
65457
|
const buClr = levelProps["a:buClr"];
|
|
65009
65458
|
if (buClr) {
|
|
65010
|
-
const
|
|
65011
|
-
if (
|
|
65012
|
-
style.bulletColor =
|
|
65459
|
+
const bulletColor = this.parseColor(buClr);
|
|
65460
|
+
if (bulletColor) {
|
|
65461
|
+
style.bulletColor = bulletColor;
|
|
65013
65462
|
}
|
|
65014
65463
|
}
|
|
65015
65464
|
const buSzPts = levelProps["a:buSzPts"];
|
|
@@ -67511,6 +67960,89 @@ var PptxHandlerRuntime83 = class extends PptxHandlerRuntime82 {
|
|
|
67511
67960
|
}
|
|
67512
67961
|
};
|
|
67513
67962
|
|
|
67963
|
+
// src/core/core/runtime/smartart-drawing-shape-style.ts
|
|
67964
|
+
function extractDrawingShapeFill(spPr, deps) {
|
|
67965
|
+
const result = {};
|
|
67966
|
+
const solidFill2 = deps.getChild(spPr, "solidFill");
|
|
67967
|
+
if (solidFill2) {
|
|
67968
|
+
result.fillColor = deps.parseColor(solidFill2) ?? void 0;
|
|
67969
|
+
}
|
|
67970
|
+
const gradFill = !solidFill2 ? deps.getChild(spPr, "gradFill") : void 0;
|
|
67971
|
+
if (gradFill) {
|
|
67972
|
+
const stops = deps.extractGradientStops(gradFill).map((stop) => ({
|
|
67973
|
+
color: stop.color,
|
|
67974
|
+
position: stop.position,
|
|
67975
|
+
...stop.opacity !== void 0 ? { opacity: stop.opacity } : {}
|
|
67976
|
+
}));
|
|
67977
|
+
if (stops.length > 0) {
|
|
67978
|
+
result.fillGradientStops = stops;
|
|
67979
|
+
result.fillGradientType = deps.extractGradientType(gradFill);
|
|
67980
|
+
result.fillGradientAngle = deps.extractGradientAngle(gradFill);
|
|
67981
|
+
result.fillColor ??= stops[Math.floor(stops.length / 2)]?.color;
|
|
67982
|
+
}
|
|
67983
|
+
}
|
|
67984
|
+
const pattFill = !solidFill2 && !gradFill ? deps.getChild(spPr, "pattFill") : void 0;
|
|
67985
|
+
if (pattFill) {
|
|
67986
|
+
const preset = String(pattFill["@_prst"] || "").trim();
|
|
67987
|
+
if (preset) {
|
|
67988
|
+
result.fillPatternPreset = preset;
|
|
67989
|
+
}
|
|
67990
|
+
const fg = deps.parseColor(deps.getChild(pattFill, "fgClr"));
|
|
67991
|
+
const bg = deps.parseColor(deps.getChild(pattFill, "bgClr"));
|
|
67992
|
+
if (fg) {
|
|
67993
|
+
result.fillPatternForegroundColor = fg;
|
|
67994
|
+
}
|
|
67995
|
+
if (bg) {
|
|
67996
|
+
result.fillPatternBackgroundColor = bg;
|
|
67997
|
+
}
|
|
67998
|
+
result.fillColor ??= fg ?? bg;
|
|
67999
|
+
}
|
|
68000
|
+
const blipFill = !solidFill2 && !gradFill && !pattFill ? deps.getChild(spPr, "blipFill") : void 0;
|
|
68001
|
+
if (blipFill) {
|
|
68002
|
+
const blip = deps.getChild(blipFill, "blip");
|
|
68003
|
+
const embed = String(
|
|
68004
|
+
blip?.["@_r:embed"] || blip?.["@_embed"] || blip?.["@_r:link"] || ""
|
|
68005
|
+
).trim();
|
|
68006
|
+
if (embed) {
|
|
68007
|
+
result.fillBlipEmbedId = embed;
|
|
68008
|
+
}
|
|
68009
|
+
}
|
|
68010
|
+
const shadowColor = deps.extractShadowColor(spPr);
|
|
68011
|
+
if (shadowColor) {
|
|
68012
|
+
result.hasShadow = true;
|
|
68013
|
+
result.shadowColor = shadowColor;
|
|
68014
|
+
}
|
|
68015
|
+
return result;
|
|
68016
|
+
}
|
|
68017
|
+
function extractDrawingShapeTextStyle(txBody, deps) {
|
|
68018
|
+
let fontSize;
|
|
68019
|
+
let fontColor;
|
|
68020
|
+
if (!txBody) {
|
|
68021
|
+
return { fontSize, fontColor };
|
|
68022
|
+
}
|
|
68023
|
+
const paragraphs = deps.getChildren(txBody, "p");
|
|
68024
|
+
for (const p of paragraphs) {
|
|
68025
|
+
const runs = deps.getChildren(p, "r");
|
|
68026
|
+
for (const r of runs) {
|
|
68027
|
+
const rPr = deps.getChild(r, "rPr");
|
|
68028
|
+
if (rPr && !fontSize) {
|
|
68029
|
+
const szRaw = parseInt(String(rPr["@_sz"] || ""), 10);
|
|
68030
|
+
if (Number.isFinite(szRaw) && szRaw > 0) {
|
|
68031
|
+
fontSize = szRaw / 100;
|
|
68032
|
+
}
|
|
68033
|
+
fontColor = deps.parseColor(deps.getChild(rPr, "solidFill")) ?? void 0;
|
|
68034
|
+
}
|
|
68035
|
+
if (fontSize) {
|
|
68036
|
+
break;
|
|
68037
|
+
}
|
|
68038
|
+
}
|
|
68039
|
+
if (fontSize) {
|
|
68040
|
+
break;
|
|
68041
|
+
}
|
|
68042
|
+
}
|
|
68043
|
+
return { fontSize, fontColor };
|
|
68044
|
+
}
|
|
68045
|
+
|
|
67514
68046
|
// src/core/core/runtime/smartart-text-style-resolution.ts
|
|
67515
68047
|
function resolveSmartArtTextStyles(paragraphs, resolve) {
|
|
67516
68048
|
for (const paragraph of paragraphs ?? []) {
|
|
@@ -67686,8 +68218,7 @@ var PptxHandlerRuntime84 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
67686
68218
|
};
|
|
67687
68219
|
}
|
|
67688
68220
|
}
|
|
67689
|
-
const
|
|
67690
|
-
const fillColor = this.parseColor(solidFill2);
|
|
68221
|
+
const fill = extractDrawingShapeFill(spPr, this.drawingShapeStyleDeps());
|
|
67691
68222
|
const lnNode = this.xmlLookupService.getChildByLocalName(spPr, "ln");
|
|
67692
68223
|
const lnFill = lnNode ? this.xmlLookupService.getChildByLocalName(lnNode, "solidFill") : void 0;
|
|
67693
68224
|
const strokeColor = this.parseColor(lnFill);
|
|
@@ -67699,7 +68230,10 @@ var PptxHandlerRuntime84 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
67699
68230
|
this.collectLocalTextValues(txBody, "t", textValues2);
|
|
67700
68231
|
}
|
|
67701
68232
|
const text2 = textValues2.join("").trim() || void 0;
|
|
67702
|
-
const { fontSize, fontColor } =
|
|
68233
|
+
const { fontSize, fontColor } = extractDrawingShapeTextStyle(
|
|
68234
|
+
txBody,
|
|
68235
|
+
this.drawingShapeStyleDeps()
|
|
68236
|
+
);
|
|
67703
68237
|
const paragraphs = txBody ? resolveSmartArtTextStyles(
|
|
67704
68238
|
parseSmartArtTextParagraphs({ "dgm:t": txBody }),
|
|
67705
68239
|
(rPr) => this.extractTextRunStyle(rPr, void 0, void 0, false)
|
|
@@ -67725,7 +68259,8 @@ var PptxHandlerRuntime84 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
67725
68259
|
rotation,
|
|
67726
68260
|
skewX,
|
|
67727
68261
|
skewY,
|
|
67728
|
-
|
|
68262
|
+
...fill,
|
|
68263
|
+
fillColor: fill.fillColor ?? void 0,
|
|
67729
68264
|
strokeColor: strokeColor ?? void 0,
|
|
67730
68265
|
strokeWidth,
|
|
67731
68266
|
text: structuredText,
|
|
@@ -67735,34 +68270,21 @@ var PptxHandlerRuntime84 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
67735
68270
|
...customGeometry
|
|
67736
68271
|
};
|
|
67737
68272
|
}
|
|
67738
|
-
|
|
67739
|
-
|
|
67740
|
-
|
|
67741
|
-
|
|
67742
|
-
|
|
67743
|
-
|
|
67744
|
-
|
|
67745
|
-
|
|
67746
|
-
|
|
67747
|
-
|
|
67748
|
-
|
|
67749
|
-
|
|
67750
|
-
|
|
67751
|
-
|
|
67752
|
-
|
|
67753
|
-
}
|
|
67754
|
-
const rprFill = this.xmlLookupService.getChildByLocalName(rPr, "solidFill");
|
|
67755
|
-
fontColor = this.parseColor(rprFill) ?? void 0;
|
|
67756
|
-
}
|
|
67757
|
-
if (fontSize) {
|
|
67758
|
-
break;
|
|
67759
|
-
}
|
|
67760
|
-
}
|
|
67761
|
-
if (fontSize) {
|
|
67762
|
-
break;
|
|
67763
|
-
}
|
|
67764
|
-
}
|
|
67765
|
-
return { fontSize, fontColor };
|
|
68273
|
+
/**
|
|
68274
|
+
* Build the injected accessor bundle used by the pure drawing-shape style
|
|
68275
|
+
* helpers, binding the shared XML-lookup / colour / gradient / shadow codec
|
|
68276
|
+
* methods so no new colour logic is duplicated here.
|
|
68277
|
+
*/
|
|
68278
|
+
drawingShapeStyleDeps() {
|
|
68279
|
+
return {
|
|
68280
|
+
getChild: (node, local) => this.xmlLookupService.getChildByLocalName(node, local),
|
|
68281
|
+
getChildren: (node, local) => this.xmlLookupService.getChildrenArrayByLocalName(node, local),
|
|
68282
|
+
parseColor: (node) => this.parseColor(node),
|
|
68283
|
+
extractGradientStops: (gradFill) => this.extractGradientStops(gradFill),
|
|
68284
|
+
extractGradientType: (gradFill) => this.extractGradientType(gradFill),
|
|
68285
|
+
extractGradientAngle: (gradFill) => this.extractGradientAngle(gradFill),
|
|
68286
|
+
extractShadowColor: (spPr) => this.extractShadowStyle(spPr).shadowColor
|
|
68287
|
+
};
|
|
67766
68288
|
}
|
|
67767
68289
|
};
|
|
67768
68290
|
|
|
@@ -70236,6 +70758,7 @@ var PptxHandlerRuntime95 = class _PptxHandlerRuntime extends PptxHandlerRuntime9
|
|
|
70236
70758
|
});
|
|
70237
70759
|
this.mediaDataParser = new PptxMediaDataParser({
|
|
70238
70760
|
slideRelsMap: this.slideRelsMap,
|
|
70761
|
+
externalRelsMap: this.externalRelsMap,
|
|
70239
70762
|
resolvePath: (base, relative) => this.resolvePath(base, relative),
|
|
70240
70763
|
getPathExtension: (pathValue) => this.getPathExtension(pathValue)
|
|
70241
70764
|
});
|
|
@@ -72926,9 +73449,9 @@ function removeEmptyDataPoint(series, pointIndex) {
|
|
|
72926
73449
|
}
|
|
72927
73450
|
}
|
|
72928
73451
|
}
|
|
72929
|
-
var
|
|
73452
|
+
var EMU_PER_PIXEL2 = 9525;
|
|
72930
73453
|
function pxToEmu(px2) {
|
|
72931
|
-
return Math.round(px2 *
|
|
73454
|
+
return Math.round(px2 * EMU_PER_PIXEL2);
|
|
72932
73455
|
}
|
|
72933
73456
|
function placeholderSpXml(ph, shapeId) {
|
|
72934
73457
|
const name = ph.name ?? `${ph.type.charAt(0).toUpperCase() + ph.type.slice(1)} Placeholder ${shapeId - 1}`;
|
|
@@ -74682,7 +75205,7 @@ var GroupBuilder = class _GroupBuilder {
|
|
|
74682
75205
|
// src/core/builders/sdk/units.ts
|
|
74683
75206
|
var PPI = 96;
|
|
74684
75207
|
var POINTS_PER_INCH = 72;
|
|
74685
|
-
var
|
|
75208
|
+
var EMU_PER_PIXEL3 = 9525;
|
|
74686
75209
|
var EMU_PER_INCH = 914400;
|
|
74687
75210
|
var EMU_PER_POINT = 12700;
|
|
74688
75211
|
function inches(value) {
|
|
@@ -74698,10 +75221,10 @@ function pt(value) {
|
|
|
74698
75221
|
return Math.round(value / POINTS_PER_INCH * PPI);
|
|
74699
75222
|
}
|
|
74700
75223
|
function emuToPixels(emu) {
|
|
74701
|
-
return Math.round(emu /
|
|
75224
|
+
return Math.round(emu / EMU_PER_PIXEL3);
|
|
74702
75225
|
}
|
|
74703
75226
|
function pixelsToEmu(px2) {
|
|
74704
|
-
return Math.round(px2 *
|
|
75227
|
+
return Math.round(px2 * EMU_PER_PIXEL3);
|
|
74705
75228
|
}
|
|
74706
75229
|
function inchesToEmu(value) {
|
|
74707
75230
|
return Math.round(value * EMU_PER_INCH);
|
|
@@ -85009,4 +85532,4 @@ var SvgExporter = class _SvgExporter {
|
|
|
85009
85532
|
* `<p:extLst>` (optional)
|
|
85010
85533
|
*/
|
|
85011
85534
|
|
|
85012
|
-
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, ELEMENT_FIELD_KIND, 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, OPENXML_COVERAGE, OPENXML_SCHEMA_CONSTRUCT_IDS, OPENXML_STRICT_SCHEMA_CONSTRUCT_IDS, OPENXML_TRANSITIONAL_SCHEMA_CONSTRUCT_IDS, 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, PptxHandlerRuntime96 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, SLIDE_FIELD_KIND, SMART_ART_DEFINITION_PARTS, 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, applyBubbleChartOptions, applyChartLayouts, applyChartManualLayout, applyChartUpDownBars, applyCustomShows, applyDiagramRelationshipIds, applyDrawingColorTransforms, applyDrawingLineDash, applyDrawingMediaReference, applyKinsokuToXml, applySections, applySmartArtConstraintRules, applySmartArtLayoutDefinition, applyTableCellTextAndStyle, applyTemplate, applyThemeOverrideToSlide, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildInkMlContent, 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, extractGraphicBuilds, extractGuidFromPartName, extractModel3DTransform, extractStyleReferenceColorXml, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findOpenXmlCoverage, 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, isAlternateContentChoiceSupported, isAlternateContentChoiceXmlSupported, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, listUnassessedOpenXmlCoverage, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, oleBytesToDataUrl, ooxmlArcToSvg, ooxmlToPresetName, orderedXmlKey, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseBubbleChartOptions, parseChart3DSurfaces, parseChartAxes, parseChartLayouts, parseChartManualLayout, parseChartUpDownBars, parseCondition, parseConditionList, parseCustomShows, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDiagramRelationshipIds, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingLineDash, parseDrawingMediaReference, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseInkMlContent, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSmartArtColorStyleLabels, parseSmartArtConstraintRules, parseSmartArtDefinitionHeaderList, parseSmartArtDefinitionMetadata, parseSmartArtLayoutDefinition, parseSmartArtQuickStyleLabels, parseStructuredCustomGeometry, parseSvgPath, parseTimeTargetElement, 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, serializeGraphicBuild, serializeSmartArtDefinitionHeaderList, serializeSvgPath, serializeTimeTargetElement, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, setElementLocked, setSmartArtNodeStyle, shouldRenderFallbackLabel, shouldReturnToZoomSlide, stripParentDirSegments, stripXmlOrderSuffix, subtractPolygons, subtractShapes, subtractSvgPaths, summarizeOpenXmlCoverage, summarizeOpenXmlCoverageByVocabulary, svgPathToPolygons, switchSmartArtLayout, themeColorSchemesEqual, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, validateSmartArtColorStyleLabels, validateSmartArtConstraintRules, validateSmartArtDefinitionHeaderList, validateSmartArtDefinitionMetadata, validateSmartArtLayoutDefinition, verifyModifyPassword, verifyPassword, verifySignatureDigests, withThemePlaceholderColor, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|
|
85535
|
+
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, ELEMENT_FIELD_KIND, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL3 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, OPENXML_COVERAGE, OPENXML_SCHEMA_CONSTRUCT_IDS, OPENXML_STRICT_SCHEMA_CONSTRUCT_IDS, OPENXML_TRANSITIONAL_SCHEMA_CONSTRUCT_IDS, 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, PptxHandlerRuntime96 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, SLIDE_FIELD_KIND, SMART_ART_DEFINITION_PARTS, 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, applyBubbleChartOptions, applyChartLayouts, applyChartManualLayout, applyChartUpDownBars, applyCustomShows, applyDiagramRelationshipIds, applyDrawingColorTransforms, applyDrawingLineDash, applyDrawingMediaReference, applyKinsokuToXml, applySections, applySmartArtConstraintRules, applySmartArtLayoutDefinition, applyTableCellTextAndStyle, applyTemplate, applyThemeOverrideToSlide, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildInkMlContent, 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, extractGraphicBuilds, extractGuidFromPartName, extractModel3DTransform, extractStyleReferenceColorXml, extractTagAttribute, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findOpenXmlCoverage, 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, isAlternateContentChoiceSupported, isAlternateContentChoiceXmlSupported, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isValidBase64, isXmlNode, isZoomElement, isZoomElement2 as isZoomElementUtil, layoutEngineShapesToDrawingShapes, listUnassessedOpenXmlCoverage, lookupPresetShape, mailMerge, mergePresentation, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizePartPath, normalizePath, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, oleBytesToDataUrl, ooxmlArcToSvg, ooxmlToPresetName, orderedXmlKey, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseBubbleChartOptions, parseChart3DSurfaces, parseChartAxes, parseChartLayouts, parseChartManualLayout, parseChartUpDownBars, parseCondition, parseConditionList, parseCustomShows, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDiagramRelationshipIds, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingLineDash, parseDrawingMediaReference, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseInkMlContent, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSmartArtColorStyleLabels, parseSmartArtConstraintRules, parseSmartArtDefinitionHeaderList, parseSmartArtDefinitionMetadata, parseSmartArtLayoutDefinition, parseSmartArtQuickStyleLabels, parseStructuredCustomGeometry, parseSvgPath, parseTimeTargetElement, 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, serializeGraphicBuild, serializeSmartArtDefinitionHeaderList, serializeSvgPath, serializeTimeTargetElement, setChartAxis, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategories, setChartDataLabels, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartGrouping, setChartLegend, setChartSeriesChartType, setChartSeriesColor, setChartSeriesErrorBars, setChartSeriesMarker, setChartSeriesTrendline, setChartTitle, setChartType, setElementLocked, setSmartArtNodeStyle, shouldRenderFallbackLabel, shouldReturnToZoomSlide, stripParentDirSegments, stripXmlOrderSuffix, subtractPolygons, subtractShapes, subtractSvgPaths, summarizeOpenXmlCoverage, summarizeOpenXmlCoverageByVocabulary, svgPathToPolygons, switchSmartArtLayout, themeColorSchemesEqual, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateChartDataPoint, updateChartSeriesValues, updateMergeAttrsInRawXml, updateSmartArtNodeText, validatePptx, validateSmartArtColorStyleLabels, validateSmartArtConstraintRules, validateSmartArtDefinitionHeaderList, validateSmartArtDefinitionMetadata, validateSmartArtLayoutDefinition, verifyModifyPassword, verifyPassword, verifySignatureDigests, withThemePlaceholderColor, writeBodyPrBooleanAttrs, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlPath, xmlText };
|