ooxml-core 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PptxHandler-5YP75BPO.cjs → PptxHandler-OGLITB3F.cjs} +2 -2
- package/dist/{PptxHandler-KNBFECUE.mjs → PptxHandler-R5BVKEBW.mjs} +2 -2
- package/dist/{PptxHandler-GT5Q66TG.mjs → PptxHandler-UKAA5T5U.mjs} +1 -1
- package/dist/{PresentationBuilder-II7C4A3R.cjs → PresentationBuilder-4AF3PZHG.cjs} +4 -4
- package/dist/{PresentationBuilder-CVM6LJ7L.mjs → PresentationBuilder-54QGEZ2F.mjs} +1 -1
- package/dist/{PresentationBuilder-5DCCFHWJ.mjs → PresentationBuilder-W67DIJBV.mjs} +2 -2
- package/dist/automation/index.cjs +372 -669
- package/dist/automation/index.mjs +372 -669
- package/dist/{chunk-ORH32TO3.mjs → chunk-7ZIZFJXT.mjs} +1509 -754
- package/dist/{chunk-XGXIS4PN.mjs → chunk-EMZIHAOH.mjs} +1508 -739
- package/dist/{chunk-4WZLFUUA.mjs → chunk-HU36GIYM.mjs} +642 -200
- package/dist/{chunk-54ASP65T.mjs → chunk-JFMIPOPV.mjs} +1 -1
- package/dist/{chunk-2D4IFQ5M.mjs → chunk-NWAQEXBK.mjs} +1 -1
- package/dist/{chunk-TNNXOW2O.mjs → chunk-OPBZBSJF.mjs} +1 -1
- package/dist/{chunk-TQE7FFNT.cjs → chunk-ZWI7MTLF.cjs} +1509 -754
- package/dist/geometry/index.cjs +259 -0
- package/dist/geometry/index.d.ts +1 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +255 -1
- package/dist/geometry/shape-gallery-catalog.d.ts +32 -0
- package/dist/geometry/shape-gallery-catalog.d.ts.map +1 -0
- package/dist/index.cjs +371 -112
- package/dist/index.mjs +371 -112
- package/dist/pptx/automation/index.cjs +2203 -1415
- package/dist/pptx/automation/index.d.ts +4 -4
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/chunks/{elements-tK7xnWeS.d.ts → elements-Cadkqht8.d.ts} +143 -2
- package/dist/pptx/chunks/elements-Cadkqht8.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts → index-CJI2EugA.d.ts} +5 -3
- package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts.map → index-CJI2EugA.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-BSpNQuvz.d.ts → index-CozqpSPL.d.ts} +112 -5
- package/dist/pptx/chunks/index-CozqpSPL.d.ts.map +1 -0
- package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts → text-operations-C3L9xrqx.d.ts} +2 -2
- package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts.map → text-operations-C3L9xrqx.d.ts.map} +1 -1
- package/dist/pptx/cli/index.cjs +2151 -1363
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.cjs +7 -0
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/render/find-replace.d.ts +2 -2
- package/dist/pptx/editor/render/slide-operations.cjs +1 -1
- package/dist/pptx/editor/render/slide-operations.mjs +1 -1
- package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
- package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
- package/dist/pptx/index.cjs +2990 -1726
- package/dist/pptx/index.d.ts +5 -5
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/ics.d.ts.map +1 -1
- package/dist/teams/index.cjs +527 -622
- package/dist/teams/index.d.ts +1 -0
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.mjs +512 -623
- package/dist/teams/meetings.d.ts +11 -1
- package/dist/teams/meetings.d.ts.map +1 -1
- package/dist/teams/recurrence-calendar.d.ts +41 -0
- package/dist/teams/recurrence-calendar.d.ts.map +1 -0
- package/dist/teams/recurrence.d.ts +1 -1
- package/dist/teams/recurrence.d.ts.map +1 -1
- package/dist/teams/server-session.d.ts +19 -0
- package/dist/teams/server-session.d.ts.map +1 -1
- package/dist/xlsx/edit/pivots.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +386 -676
- package/dist/xlsx/index.mjs +385 -677
- package/dist/xlsx/load/index.cjs +328 -633
- package/dist/xlsx/load/index.mjs +328 -633
- package/dist/xlsx/model-pivots.d.ts +17 -4
- package/dist/xlsx/model-pivots.d.ts.map +1 -1
- package/dist/xlsx/pivot/aggregate.d.ts +6 -3
- package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
- package/dist/xlsx/pivot/axes.d.ts +5 -0
- package/dist/xlsx/pivot/axes.d.ts.map +1 -1
- package/dist/xlsx/pivot/columns.d.ts +9 -3
- package/dist/xlsx/pivot/columns.d.ts.map +1 -1
- package/dist/xlsx/pivot/data.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-axes.d.ts +1 -1
- package/dist/xlsx/pivot/date-axes.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-groups.d.ts +8 -3
- package/dist/xlsx/pivot/date-groups.d.ts.map +1 -1
- package/dist/xlsx/pivot/index.d.ts +2 -1
- package/dist/xlsx/pivot/index.d.ts.map +1 -1
- package/dist/xlsx/pivot/measures.d.ts +0 -7
- package/dist/xlsx/pivot/measures.d.ts.map +1 -1
- package/dist/xlsx/pivot/nested.d.ts +4 -2
- package/dist/xlsx/pivot/nested.d.ts.map +1 -1
- package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
- package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
- package/dist/xlsx/pivot/read.d.ts.map +1 -1
- package/dist/xlsx/pivot/subtotals.d.ts +6 -1
- package/dist/xlsx/pivot/subtotals.d.ts.map +1 -1
- package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
- package/dist/xlsx/pivot/values-axis.d.ts +7 -4
- package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +271 -584
- package/dist/xlsx/ui/index.mjs +271 -584
- package/package.json +1 -1
- package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +0 -1
- package/dist/pptx/chunks/index-BSpNQuvz.d.ts.map +0 -1
- package/dist/xlsx/pivot/hierarchy-first.d.ts +0 -21
- package/dist/xlsx/pivot/hierarchy-first.d.ts.map +0 -1
- package/dist/xlsx/pivot/hierarchy.d.ts +0 -8
- package/dist/xlsx/pivot/hierarchy.d.ts.map +0 -1
|
@@ -1039,9 +1039,9 @@ function scan(xml) {
|
|
|
1039
1039
|
};
|
|
1040
1040
|
return { root, children: [] };
|
|
1041
1041
|
}
|
|
1042
|
-
const
|
|
1042
|
+
const children6 = [];
|
|
1043
1043
|
let depth = 0;
|
|
1044
|
-
let
|
|
1044
|
+
let child16;
|
|
1045
1045
|
i = openEnd;
|
|
1046
1046
|
for (; ; ) {
|
|
1047
1047
|
const lt = xml.indexOf("<", i);
|
|
@@ -1056,16 +1056,16 @@ function scan(xml) {
|
|
|
1056
1056
|
if (xml[lt + 1] === "/") {
|
|
1057
1057
|
if (depth === 0) {
|
|
1058
1058
|
const root = { start: rootStart, openEnd, closeStart: lt, end, selfClosing: false };
|
|
1059
|
-
return { root, children:
|
|
1059
|
+
return { root, children: children6 };
|
|
1060
1060
|
}
|
|
1061
1061
|
depth--;
|
|
1062
|
-
if (depth === 0 &&
|
|
1063
|
-
|
|
1062
|
+
if (depth === 0 && child16)
|
|
1063
|
+
children6.push({ ...child16, closeStart: lt, end, selfClosing: false });
|
|
1064
1064
|
} else if (xml[end - 2] === "/") {
|
|
1065
1065
|
if (depth === 0)
|
|
1066
|
-
|
|
1066
|
+
children6.push({ start: lt, openEnd: end, closeStart: end, end, selfClosing: true });
|
|
1067
1067
|
} else {
|
|
1068
|
-
if (depth === 0)
|
|
1068
|
+
if (depth === 0) child16 = { start: lt, openEnd: end };
|
|
1069
1069
|
depth++;
|
|
1070
1070
|
}
|
|
1071
1071
|
}
|
|
@@ -1075,10 +1075,10 @@ var qualifiedName = (xml, span) => /^<([^\s/>]+)/.exec(xml.slice(span.start, spa
|
|
|
1075
1075
|
var PartPatch = class {
|
|
1076
1076
|
constructor(xml, rootElement) {
|
|
1077
1077
|
this.xml = xml;
|
|
1078
|
-
const { root, children:
|
|
1078
|
+
const { root, children: children6 } = scan(xml);
|
|
1079
1079
|
const kids = chunkX7MGZQ6C_cjs.elements(rootElement);
|
|
1080
|
-
if (kids.length !==
|
|
1081
|
-
kids.forEach((kid, index) => this.spans.set(kid,
|
|
1080
|
+
if (kids.length !== children6.length) throw new Error("Property part markup is not supported");
|
|
1081
|
+
kids.forEach((kid, index) => this.spans.set(kid, children6[index]));
|
|
1082
1082
|
this.root = root;
|
|
1083
1083
|
for (const attribute3 of Array.from(rootElement.attributes)) {
|
|
1084
1084
|
if (attribute3.name === "xmlns") this.defaultNs = attribute3.value;
|
|
@@ -1520,9 +1520,9 @@ function booleanAttribute(element, name) {
|
|
|
1520
1520
|
|
|
1521
1521
|
// diagram/data-model.ts
|
|
1522
1522
|
var TRANSITION_TYPES = /* @__PURE__ */ new Set(["parTrans", "sibTrans"]);
|
|
1523
|
-
function collectTransitionText(
|
|
1523
|
+
function collectTransitionText(points5, describe, text) {
|
|
1524
1524
|
const byId = /* @__PURE__ */ new Map();
|
|
1525
|
-
for (const point of
|
|
1525
|
+
for (const point of points5) {
|
|
1526
1526
|
const { type, modelId } = describe(point);
|
|
1527
1527
|
if (!TRANSITION_TYPES.has((type ?? "").trim())) continue;
|
|
1528
1528
|
const id = (modelId ?? "").trim();
|
|
@@ -1568,9 +1568,9 @@ function parseDrawingColor(element) {
|
|
|
1568
1568
|
const color2 = {
|
|
1569
1569
|
kind,
|
|
1570
1570
|
value: colorValue(kind, element),
|
|
1571
|
-
transforms: chunkX7MGZQ6C_cjs.elements(element).map((
|
|
1572
|
-
name:
|
|
1573
|
-
value:
|
|
1571
|
+
transforms: chunkX7MGZQ6C_cjs.elements(element).map((child16) => ({
|
|
1572
|
+
name: child16.localName,
|
|
1573
|
+
value: child16.getAttribute("val") ?? ""
|
|
1574
1574
|
}))
|
|
1575
1575
|
};
|
|
1576
1576
|
const fallback = kind === "system" ? element.getAttribute("lastClr") : null;
|
|
@@ -1707,9 +1707,9 @@ function parseRun(run) {
|
|
|
1707
1707
|
}
|
|
1708
1708
|
function parseParagraph(paragraph) {
|
|
1709
1709
|
const runs = [];
|
|
1710
|
-
for (const
|
|
1711
|
-
if (
|
|
1712
|
-
runs.push(parseRun(
|
|
1710
|
+
for (const child16 of chunkX7MGZQ6C_cjs.elements(paragraph))
|
|
1711
|
+
if (child16.namespaceURI === chunkX7MGZQ6C_cjs.NS.a && ["r", "fld", "br"].includes(child16.localName))
|
|
1712
|
+
runs.push(parseRun(child16));
|
|
1713
1713
|
const properties = chunkX7MGZQ6C_cjs.first(paragraph, "pPr", chunkX7MGZQ6C_cjs.NS.a);
|
|
1714
1714
|
const align = properties?.getAttribute("algn");
|
|
1715
1715
|
const defaults = parseProperties(chunkX7MGZQ6C_cjs.first(properties, "defRPr", chunkX7MGZQ6C_cjs.NS.a));
|
|
@@ -1847,10 +1847,10 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
|
|
|
1847
1847
|
}
|
|
1848
1848
|
const record2 = item;
|
|
1849
1849
|
if (key2 === "a:moveTo") {
|
|
1850
|
-
const
|
|
1851
|
-
if (
|
|
1852
|
-
const x = resolveX(
|
|
1853
|
-
const y = resolveY(
|
|
1850
|
+
const pt2 = record2["a:pt"];
|
|
1851
|
+
if (pt2) {
|
|
1852
|
+
const x = resolveX(pt2["@_x"]);
|
|
1853
|
+
const y = resolveY(pt2["@_y"]);
|
|
1854
1854
|
commands.push(`M ${x} ${y}`);
|
|
1855
1855
|
penX = x;
|
|
1856
1856
|
penY = y;
|
|
@@ -1858,10 +1858,10 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
|
|
|
1858
1858
|
moveY = y;
|
|
1859
1859
|
}
|
|
1860
1860
|
} else if (key2 === "a:lnTo") {
|
|
1861
|
-
const
|
|
1862
|
-
if (
|
|
1863
|
-
const x = resolveX(
|
|
1864
|
-
const y = resolveY(
|
|
1861
|
+
const pt2 = record2["a:pt"];
|
|
1862
|
+
if (pt2) {
|
|
1863
|
+
const x = resolveX(pt2["@_x"]);
|
|
1864
|
+
const y = resolveY(pt2["@_y"]);
|
|
1865
1865
|
commands.push(`L ${x} ${y}`);
|
|
1866
1866
|
penX = x;
|
|
1867
1867
|
penY = y;
|
|
@@ -1869,9 +1869,9 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
|
|
|
1869
1869
|
} else if (key2 === "a:cubicBezTo") {
|
|
1870
1870
|
const pts = ensureArray12(record2["a:pt"]);
|
|
1871
1871
|
if (pts.length === 3) {
|
|
1872
|
-
const coords = pts.map((
|
|
1873
|
-
x: resolveX(
|
|
1874
|
-
y: resolveY(
|
|
1872
|
+
const coords = pts.map((pt2) => ({
|
|
1873
|
+
x: resolveX(pt2["@_x"]),
|
|
1874
|
+
y: resolveY(pt2["@_y"])
|
|
1875
1875
|
}));
|
|
1876
1876
|
commands.push(
|
|
1877
1877
|
`C ${coords[0].x} ${coords[0].y} ${coords[1].x} ${coords[1].y} ${coords[2].x} ${coords[2].y}`
|
|
@@ -1882,9 +1882,9 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
|
|
|
1882
1882
|
} else if (key2 === "a:quadBezTo") {
|
|
1883
1883
|
const pts = ensureArray12(record2["a:pt"]);
|
|
1884
1884
|
if (pts.length === 2) {
|
|
1885
|
-
const coords = pts.map((
|
|
1886
|
-
x: resolveX(
|
|
1887
|
-
y: resolveY(
|
|
1885
|
+
const coords = pts.map((pt2) => ({
|
|
1886
|
+
x: resolveX(pt2["@_x"]),
|
|
1887
|
+
y: resolveY(pt2["@_y"])
|
|
1888
1888
|
}));
|
|
1889
1889
|
commands.push(`Q ${coords[0].x} ${coords[0].y} ${coords[1].x} ${coords[1].y}`);
|
|
1890
1890
|
penX = coords[1].x;
|
|
@@ -1957,11 +1957,11 @@ function parseSegments(path2, variables, ensureArray12) {
|
|
|
1957
1957
|
segments.push({ type: key2 === "a:moveTo" ? "moveTo" : "lineTo", pt: point });
|
|
1958
1958
|
}
|
|
1959
1959
|
} else if (key2 === "a:cubicBezTo" || key2 === "a:quadBezTo") {
|
|
1960
|
-
const
|
|
1960
|
+
const points5 = ensureArray12(command?.["a:pt"]).map((point) => parsePoint(point, variables)).filter((point) => point !== void 0);
|
|
1961
1961
|
const expected = key2 === "a:cubicBezTo" ? 3 : 2;
|
|
1962
|
-
if (
|
|
1962
|
+
if (points5.length === expected) {
|
|
1963
1963
|
segments.push(
|
|
1964
|
-
key2 === "a:cubicBezTo" ? { type: "cubicBezTo", pts: [
|
|
1964
|
+
key2 === "a:cubicBezTo" ? { type: "cubicBezTo", pts: [points5[0], points5[1], points5[2]] } : { type: "quadBezTo", pts: [points5[0], points5[1]] }
|
|
1965
1965
|
);
|
|
1966
1966
|
}
|
|
1967
1967
|
} else if (key2 === "a:arcTo" && command) {
|
|
@@ -3437,13 +3437,13 @@ var SHARED_RELATIONSHIPS = /* @__PURE__ */ new Set([
|
|
|
3437
3437
|
var RAW_XML_KEYS = /* @__PURE__ */ new Set(["rawXml", "rawTiming", "inkPartRawXml", "rawMediaReferenceXml"]);
|
|
3438
3438
|
function remapPartPaths(value, copies) {
|
|
3439
3439
|
if (!value || typeof value !== "object") return;
|
|
3440
|
-
for (const [key2,
|
|
3440
|
+
for (const [key2, child16] of Object.entries(value)) {
|
|
3441
3441
|
if (RAW_XML_KEYS.has(key2)) continue;
|
|
3442
|
-
if (typeof
|
|
3443
|
-
const destination = copies.get(
|
|
3442
|
+
if (typeof child16 === "string" && /path$/iu.test(key2)) {
|
|
3443
|
+
const destination = copies.get(child16);
|
|
3444
3444
|
if (destination) value[key2] = destination;
|
|
3445
3445
|
} else {
|
|
3446
|
-
remapPartPaths(
|
|
3446
|
+
remapPartPaths(child16, copies);
|
|
3447
3447
|
}
|
|
3448
3448
|
}
|
|
3449
3449
|
}
|
|
@@ -4138,8 +4138,8 @@ function invertOffsetAxisEmu(relativeEmu, chOffEmu, chExtEmu, extEmu) {
|
|
|
4138
4138
|
}
|
|
4139
4139
|
return chOffEmu + Math.round(relativeEmu * chExtEmu / extEmu);
|
|
4140
4140
|
}
|
|
4141
|
-
function resolveRotatedChildResizeOffset(
|
|
4142
|
-
if (!
|
|
4141
|
+
function resolveRotatedChildResizeOffset(child16, owner, emuPerPx) {
|
|
4142
|
+
if (!child16.rotation || child16.xEmu === void 0 || child16.yEmu === void 0 || child16.widthEmu === void 0 || child16.heightEmu === void 0) {
|
|
4143
4143
|
return void 0;
|
|
4144
4144
|
}
|
|
4145
4145
|
const extCx = owner.widthEmu ?? 0;
|
|
@@ -4148,16 +4148,16 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
|
|
|
4148
4148
|
const chOffYEmu = owner.chOffYEmu;
|
|
4149
4149
|
const chExtWidthEmu = owner.chExtWidthEmu;
|
|
4150
4150
|
const chExtHeightEmu = owner.chExtHeightEmu;
|
|
4151
|
-
const oldRenderXEmu = forwardOffsetAxis(
|
|
4152
|
-
const oldRenderYEmu = forwardOffsetAxis(
|
|
4153
|
-
const oldRenderWidthEmu = forwardExtentAxis(
|
|
4154
|
-
const oldRenderHeightEmu = forwardExtentAxis(
|
|
4155
|
-
const naiveRenderXEmu = Math.round(
|
|
4156
|
-
const naiveRenderYEmu = Math.round(
|
|
4157
|
-
const newRenderWidthEmu = Math.round(
|
|
4158
|
-
const newRenderHeightEmu = Math.round(
|
|
4151
|
+
const oldRenderXEmu = forwardOffsetAxis(child16.xEmu, chOffXEmu, chExtWidthEmu, extCx);
|
|
4152
|
+
const oldRenderYEmu = forwardOffsetAxis(child16.yEmu, chOffYEmu, chExtHeightEmu, extCy);
|
|
4153
|
+
const oldRenderWidthEmu = forwardExtentAxis(child16.widthEmu, chExtWidthEmu, extCx);
|
|
4154
|
+
const oldRenderHeightEmu = forwardExtentAxis(child16.heightEmu, chExtHeightEmu, extCy);
|
|
4155
|
+
const naiveRenderXEmu = Math.round(child16.x * emuPerPx);
|
|
4156
|
+
const naiveRenderYEmu = Math.round(child16.y * emuPerPx);
|
|
4157
|
+
const newRenderWidthEmu = Math.round(child16.width * emuPerPx);
|
|
4158
|
+
const newRenderHeightEmu = Math.round(child16.height * emuPerPx);
|
|
4159
4159
|
const rotatedResize = resolveRotatedResizeOffset({
|
|
4160
|
-
rotationDeg:
|
|
4160
|
+
rotationDeg: child16.rotation,
|
|
4161
4161
|
oldOffXEmu: oldRenderXEmu,
|
|
4162
4162
|
oldOffYEmu: oldRenderYEmu,
|
|
4163
4163
|
oldExtWidthEmu: oldRenderWidthEmu,
|
|
@@ -4180,7 +4180,7 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
|
|
|
4180
4180
|
function hasCapturedChildSpace(group) {
|
|
4181
4181
|
return group.chOffXEmu !== void 0 && group.chOffYEmu !== void 0 && group.chExtWidthEmu !== void 0 && group.chExtHeightEmu !== void 0 && group.chExtWidthEmu > 0 && group.chExtHeightEmu > 0;
|
|
4182
4182
|
}
|
|
4183
|
-
function isGroupChildUnchanged(
|
|
4183
|
+
function isGroupChildUnchanged(child16, owner, emuPerPx) {
|
|
4184
4184
|
if (!hasCapturedChildSpace(owner)) {
|
|
4185
4185
|
return false;
|
|
4186
4186
|
}
|
|
@@ -4195,11 +4195,11 @@ function isGroupChildUnchanged(child14, owner, emuPerPx) {
|
|
|
4195
4195
|
if (!Number.isFinite(scaleX) || !Number.isFinite(scaleY) || scaleX <= 0 || scaleY <= 0) {
|
|
4196
4196
|
return false;
|
|
4197
4197
|
}
|
|
4198
|
-
const childSpaceX = chX +
|
|
4199
|
-
const childSpaceY = chY +
|
|
4200
|
-
const childSpaceWidth =
|
|
4201
|
-
const childSpaceHeight =
|
|
4202
|
-
return isXfrmEmuUnchanged(childSpaceX,
|
|
4198
|
+
const childSpaceX = chX + child16.x / scaleX;
|
|
4199
|
+
const childSpaceY = chY + child16.y / scaleY;
|
|
4200
|
+
const childSpaceWidth = child16.width / scaleX;
|
|
4201
|
+
const childSpaceHeight = child16.height / scaleY;
|
|
4202
|
+
return isXfrmEmuUnchanged(childSpaceX, child16.xEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceY, child16.yEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceWidth, child16.widthEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceHeight, child16.heightEmu, emuPerPx);
|
|
4203
4203
|
}
|
|
4204
4204
|
function invertOffsetAxis(relativePx, chOffEmu, chExtEmu, extEmu, emuPerPx) {
|
|
4205
4205
|
const relativeEmu = Math.round(relativePx * emuPerPx);
|
|
@@ -4215,42 +4215,42 @@ function invertExtentAxis(px, chExtEmu, extEmu, emuPerPx) {
|
|
|
4215
4215
|
}
|
|
4216
4216
|
return Math.round(emu2 * chExtEmu / extEmu);
|
|
4217
4217
|
}
|
|
4218
|
-
function invertChildIntoGroupSpace(
|
|
4218
|
+
function invertChildIntoGroupSpace(child16, owner, emuPerPx) {
|
|
4219
4219
|
if (!hasCapturedChildSpace(owner)) {
|
|
4220
4220
|
return void 0;
|
|
4221
4221
|
}
|
|
4222
|
-
if (
|
|
4222
|
+
if (child16.xEmu !== void 0 && child16.yEmu !== void 0 && child16.widthEmu !== void 0 && child16.heightEmu !== void 0 && isGroupChildUnchanged(child16, owner, emuPerPx)) {
|
|
4223
4223
|
return {
|
|
4224
|
-
xEmu:
|
|
4225
|
-
yEmu:
|
|
4226
|
-
widthEmu:
|
|
4227
|
-
heightEmu:
|
|
4224
|
+
xEmu: child16.xEmu,
|
|
4225
|
+
yEmu: child16.yEmu,
|
|
4226
|
+
widthEmu: child16.widthEmu,
|
|
4227
|
+
heightEmu: child16.heightEmu
|
|
4228
4228
|
};
|
|
4229
4229
|
}
|
|
4230
4230
|
const extCx = owner.widthEmu ?? 0;
|
|
4231
4231
|
const extCy = owner.heightEmu ?? 0;
|
|
4232
|
-
const widthEmu = invertExtentAxis(
|
|
4233
|
-
const heightEmu = invertExtentAxis(
|
|
4234
|
-
const rotatedResize = resolveRotatedChildResizeOffset(
|
|
4232
|
+
const widthEmu = invertExtentAxis(child16.width, owner.chExtWidthEmu, extCx, emuPerPx);
|
|
4233
|
+
const heightEmu = invertExtentAxis(child16.height, owner.chExtHeightEmu, extCy, emuPerPx);
|
|
4234
|
+
const rotatedResize = resolveRotatedChildResizeOffset(child16, owner, emuPerPx);
|
|
4235
4235
|
return {
|
|
4236
|
-
xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(
|
|
4237
|
-
yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(
|
|
4236
|
+
xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(child16.x, owner.chOffXEmu, owner.chExtWidthEmu, extCx, emuPerPx),
|
|
4237
|
+
yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(child16.y, owner.chOffYEmu, owner.chExtHeightEmu, extCy, emuPerPx),
|
|
4238
4238
|
widthEmu,
|
|
4239
4239
|
heightEmu
|
|
4240
4240
|
};
|
|
4241
4241
|
}
|
|
4242
4242
|
|
|
4243
4243
|
// pptx/core/core/runtime/group-tight-rewrap.ts
|
|
4244
|
-
function computeTightChildBox(
|
|
4244
|
+
function computeTightChildBox(children6) {
|
|
4245
4245
|
let minX = Infinity;
|
|
4246
4246
|
let minY = Infinity;
|
|
4247
4247
|
let maxX = -Infinity;
|
|
4248
4248
|
let maxY = -Infinity;
|
|
4249
|
-
for (const
|
|
4250
|
-
minX = Math.min(minX,
|
|
4251
|
-
minY = Math.min(minY,
|
|
4252
|
-
maxX = Math.max(maxX,
|
|
4253
|
-
maxY = Math.max(maxY,
|
|
4249
|
+
for (const child16 of children6) {
|
|
4250
|
+
minX = Math.min(minX, child16.xEmu);
|
|
4251
|
+
minY = Math.min(minY, child16.yEmu);
|
|
4252
|
+
maxX = Math.max(maxX, child16.xEmu + child16.widthEmu);
|
|
4253
|
+
maxY = Math.max(maxY, child16.yEmu + child16.heightEmu);
|
|
4254
4254
|
}
|
|
4255
4255
|
return {
|
|
4256
4256
|
chOffXEmu: minX,
|
|
@@ -4259,9 +4259,9 @@ function computeTightChildBox(children5) {
|
|
|
4259
4259
|
chExtHeightEmu: maxY - minY
|
|
4260
4260
|
};
|
|
4261
4261
|
}
|
|
4262
|
-
function resolveGroupChildBoxEmu(
|
|
4263
|
-
if (
|
|
4264
|
-
const nestedRewrap = resolveGroupTightRewrap(
|
|
4262
|
+
function resolveGroupChildBoxEmu(child16, owner, emuPerPx) {
|
|
4263
|
+
if (child16.type === "group") {
|
|
4264
|
+
const nestedRewrap = resolveGroupTightRewrap(child16, emuPerPx);
|
|
4265
4265
|
if (nestedRewrap) {
|
|
4266
4266
|
return {
|
|
4267
4267
|
xEmu: nestedRewrap.offXEmu,
|
|
@@ -4271,7 +4271,7 @@ function resolveGroupChildBoxEmu(child14, owner, emuPerPx) {
|
|
|
4271
4271
|
};
|
|
4272
4272
|
}
|
|
4273
4273
|
}
|
|
4274
|
-
return invertChildIntoGroupSpace(
|
|
4274
|
+
return invertChildIntoGroupSpace(child16, owner, emuPerPx);
|
|
4275
4275
|
}
|
|
4276
4276
|
function resolveGroupTightRewrap(group, emuPerPx) {
|
|
4277
4277
|
if (!hasCapturedChildSpace(group)) {
|
|
@@ -4279,9 +4279,9 @@ function resolveGroupTightRewrap(group, emuPerPx) {
|
|
|
4279
4279
|
}
|
|
4280
4280
|
const childResults = [];
|
|
4281
4281
|
let anyChanged = false;
|
|
4282
|
-
for (const
|
|
4283
|
-
const nestedRewrap =
|
|
4284
|
-
if (nestedRewrap !== void 0 || !isGroupChildUnchanged(
|
|
4282
|
+
for (const child16 of group.children) {
|
|
4283
|
+
const nestedRewrap = child16.type === "group" ? resolveGroupTightRewrap(child16, emuPerPx) : void 0;
|
|
4284
|
+
if (nestedRewrap !== void 0 || !isGroupChildUnchanged(child16, group, emuPerPx)) {
|
|
4285
4285
|
anyChanged = true;
|
|
4286
4286
|
}
|
|
4287
4287
|
const emu2 = nestedRewrap ? {
|
|
@@ -4289,7 +4289,7 @@ function resolveGroupTightRewrap(group, emuPerPx) {
|
|
|
4289
4289
|
yEmu: nestedRewrap.offYEmu,
|
|
4290
4290
|
widthEmu: nestedRewrap.extWidthEmu,
|
|
4291
4291
|
heightEmu: nestedRewrap.extHeightEmu
|
|
4292
|
-
} : invertChildIntoGroupSpace(
|
|
4292
|
+
} : invertChildIntoGroupSpace(child16, group, emuPerPx);
|
|
4293
4293
|
if (emu2) {
|
|
4294
4294
|
childResults.push(emu2);
|
|
4295
4295
|
}
|
|
@@ -4919,9 +4919,9 @@ function drawingChild(node, requestedName) {
|
|
|
4919
4919
|
if (key2.split(":").at(-1) !== requestedName) {
|
|
4920
4920
|
continue;
|
|
4921
4921
|
}
|
|
4922
|
-
const
|
|
4923
|
-
if (
|
|
4924
|
-
return
|
|
4922
|
+
const child16 = Array.isArray(value) ? value[0] : value;
|
|
4923
|
+
if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
|
|
4924
|
+
return child16;
|
|
4925
4925
|
}
|
|
4926
4926
|
}
|
|
4927
4927
|
return void 0;
|
|
@@ -4951,11 +4951,11 @@ function hasEmptyDrawingChild(node, requestedName) {
|
|
|
4951
4951
|
if (key2.split(":").at(-1) !== requestedName) {
|
|
4952
4952
|
continue;
|
|
4953
4953
|
}
|
|
4954
|
-
const
|
|
4955
|
-
if (
|
|
4954
|
+
const child16 = Array.isArray(value) ? value[0] : value;
|
|
4955
|
+
if (child16 === "" || child16 === void 0) {
|
|
4956
4956
|
return true;
|
|
4957
4957
|
}
|
|
4958
|
-
return typeof
|
|
4958
|
+
return typeof child16 === "object" && !Array.isArray(child16) && Object.keys(child16).every((childKey2) => childKey2.startsWith(ATTRIBUTE_PREFIX));
|
|
4959
4959
|
}
|
|
4960
4960
|
return false;
|
|
4961
4961
|
}
|
|
@@ -4969,7 +4969,7 @@ function drawingChildren(node, requestedName) {
|
|
|
4969
4969
|
}
|
|
4970
4970
|
const values = Array.isArray(value) ? value : [value];
|
|
4971
4971
|
return values.filter(
|
|
4972
|
-
(
|
|
4972
|
+
(child16) => Boolean(child16) && typeof child16 === "object" && !Array.isArray(child16)
|
|
4973
4973
|
);
|
|
4974
4974
|
}
|
|
4975
4975
|
return [];
|
|
@@ -4979,12 +4979,12 @@ function qualifiedLocalName(key2) {
|
|
|
4979
4979
|
}
|
|
4980
4980
|
function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2) {
|
|
4981
4981
|
const attributes = [];
|
|
4982
|
-
const
|
|
4982
|
+
const children6 = /* @__PURE__ */ new Map();
|
|
4983
4983
|
for (const [key2, value] of Object.entries(original ?? {})) {
|
|
4984
4984
|
if (key2.startsWith(ATTRIBUTE_PREFIX)) {
|
|
4985
4985
|
attributes.push([key2, value]);
|
|
4986
4986
|
} else if (!modeledChildren.includes(qualifiedLocalName(key2))) {
|
|
4987
|
-
|
|
4987
|
+
children6.set(key2, value);
|
|
4988
4988
|
}
|
|
4989
4989
|
}
|
|
4990
4990
|
for (const [key2, value] of Object.entries(generated)) {
|
|
@@ -4995,7 +4995,7 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
|
|
|
4995
4995
|
}
|
|
4996
4996
|
attributes.push([key2, value]);
|
|
4997
4997
|
} else {
|
|
4998
|
-
|
|
4998
|
+
children6.set(key2, value);
|
|
4999
4999
|
}
|
|
5000
5000
|
}
|
|
5001
5001
|
const result = {};
|
|
@@ -5003,14 +5003,14 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
|
|
|
5003
5003
|
result[key2] = value;
|
|
5004
5004
|
}
|
|
5005
5005
|
for (const name of childOrder2) {
|
|
5006
|
-
for (const [key2, value] of
|
|
5006
|
+
for (const [key2, value] of children6) {
|
|
5007
5007
|
if (qualifiedLocalName(key2) === name) {
|
|
5008
5008
|
result[key2] = value;
|
|
5009
|
-
|
|
5009
|
+
children6.delete(key2);
|
|
5010
5010
|
}
|
|
5011
5011
|
}
|
|
5012
5012
|
}
|
|
5013
|
-
for (const [key2, value] of
|
|
5013
|
+
for (const [key2, value] of children6) {
|
|
5014
5014
|
result[key2] = value;
|
|
5015
5015
|
}
|
|
5016
5016
|
return result;
|
|
@@ -7072,9 +7072,9 @@ var PptxShapeStyleExtractor = class {
|
|
|
7072
7072
|
"a:prstClr"
|
|
7073
7073
|
];
|
|
7074
7074
|
for (const key2 of keys) {
|
|
7075
|
-
const
|
|
7076
|
-
if (
|
|
7077
|
-
return { [key2]:
|
|
7075
|
+
const child16 = refNode[key2];
|
|
7076
|
+
if (child16 !== void 0) {
|
|
7077
|
+
return { [key2]: child16 };
|
|
7078
7078
|
}
|
|
7079
7079
|
}
|
|
7080
7080
|
return void 0;
|
|
@@ -7217,36 +7217,36 @@ function parseBorderSide(side) {
|
|
|
7217
7217
|
}
|
|
7218
7218
|
const ln = typeof side["a:ln"] === "object" ? side["a:ln"] : {};
|
|
7219
7219
|
const border = {};
|
|
7220
|
-
let
|
|
7220
|
+
let has2 = false;
|
|
7221
7221
|
if (ln["a:noFill"] !== void 0) {
|
|
7222
7222
|
border.noFill = true;
|
|
7223
|
-
|
|
7223
|
+
has2 = true;
|
|
7224
7224
|
}
|
|
7225
7225
|
const widthEmu = parseInt(String(ln["@_w"] || "0"), 10);
|
|
7226
7226
|
if (widthEmu > 0) {
|
|
7227
7227
|
border.width = Math.max(1, Math.round(widthEmu / EMU_PER_PIXEL2));
|
|
7228
|
-
|
|
7228
|
+
has2 = true;
|
|
7229
7229
|
}
|
|
7230
7230
|
const prstDash = ln["a:prstDash"];
|
|
7231
7231
|
const dashVal = prstDash ? String(prstDash["@_val"] || "").trim() : "";
|
|
7232
7232
|
if (dashVal) {
|
|
7233
7233
|
border.dash = dashVal;
|
|
7234
|
-
|
|
7234
|
+
has2 = true;
|
|
7235
7235
|
}
|
|
7236
7236
|
const solidFill2 = ln["a:solidFill"];
|
|
7237
7237
|
const fill = parseSolidFillStyle(solidFill2);
|
|
7238
7238
|
if (fill) {
|
|
7239
7239
|
border.fill = fill;
|
|
7240
|
-
|
|
7240
|
+
has2 = true;
|
|
7241
7241
|
} else {
|
|
7242
7242
|
const srgb = solidFill2?.["a:srgbClr"];
|
|
7243
7243
|
const hex3 = srgb ? String(srgb["@_val"] || "").trim() : "";
|
|
7244
7244
|
if (hex3) {
|
|
7245
7245
|
border.color = hex3.startsWith("#") ? hex3 : `#${hex3}`;
|
|
7246
|
-
|
|
7246
|
+
has2 = true;
|
|
7247
7247
|
}
|
|
7248
7248
|
}
|
|
7249
|
-
return
|
|
7249
|
+
return has2 ? border : void 0;
|
|
7250
7250
|
}
|
|
7251
7251
|
function parseTableStyleBorders(tcStyle) {
|
|
7252
7252
|
const tcBdr = tcStyle?.["a:tcBdr"];
|
|
@@ -7254,16 +7254,16 @@ function parseTableStyleBorders(tcStyle) {
|
|
|
7254
7254
|
return void 0;
|
|
7255
7255
|
}
|
|
7256
7256
|
const result = {};
|
|
7257
|
-
let
|
|
7257
|
+
let has2 = false;
|
|
7258
7258
|
for (const name of BORDER_SIDES) {
|
|
7259
7259
|
const node = tcBdr[`a:${name}`] ?? (name === "tr2bl" ? tcBdr["a:bl2tr"] : void 0);
|
|
7260
7260
|
const border = parseBorderSide(node);
|
|
7261
7261
|
if (border) {
|
|
7262
7262
|
result[name] = border;
|
|
7263
|
-
|
|
7263
|
+
has2 = true;
|
|
7264
7264
|
}
|
|
7265
7265
|
}
|
|
7266
|
-
return
|
|
7266
|
+
return has2 ? result : void 0;
|
|
7267
7267
|
}
|
|
7268
7268
|
function parseTableStyleSectionCell3D(tcStyle) {
|
|
7269
7269
|
const cell3DNode = tcStyle?.["a:cell3D"];
|
|
@@ -7890,7 +7890,7 @@ function nextTag(xml, from) {
|
|
|
7890
7890
|
return null;
|
|
7891
7891
|
}
|
|
7892
7892
|
function scanDirectChildren(inner) {
|
|
7893
|
-
const
|
|
7893
|
+
const children6 = [];
|
|
7894
7894
|
let depth = 0;
|
|
7895
7895
|
let open = null;
|
|
7896
7896
|
let cursor = 0;
|
|
@@ -7899,12 +7899,12 @@ function scanDirectChildren(inner) {
|
|
|
7899
7899
|
if (tag.closing) {
|
|
7900
7900
|
depth = Math.max(0, depth - 1);
|
|
7901
7901
|
if (depth === 0 && open) {
|
|
7902
|
-
|
|
7902
|
+
children6.push({ tag: open.tag, inner: inner.slice(open.innerStart, tag.start) });
|
|
7903
7903
|
open = null;
|
|
7904
7904
|
}
|
|
7905
7905
|
} else if (tag.selfClosing) {
|
|
7906
7906
|
if (depth === 0) {
|
|
7907
|
-
|
|
7907
|
+
children6.push({ tag: tag.name, inner: "" });
|
|
7908
7908
|
}
|
|
7909
7909
|
} else {
|
|
7910
7910
|
if (depth === 0) {
|
|
@@ -7915,7 +7915,7 @@ function scanDirectChildren(inner) {
|
|
|
7915
7915
|
cursor = tag.end;
|
|
7916
7916
|
tag = nextTag(inner, cursor);
|
|
7917
7917
|
}
|
|
7918
|
-
return
|
|
7918
|
+
return children6;
|
|
7919
7919
|
}
|
|
7920
7920
|
function extractElementInnerXml(xml, wanted) {
|
|
7921
7921
|
const fragments = [];
|
|
@@ -8027,7 +8027,7 @@ function annotateParagraphSiblingOrder(xml, parsed) {
|
|
|
8027
8027
|
if (!MIXED_CONTENT_MARKERS.some((marker) => xml.includes(marker))) {
|
|
8028
8028
|
return;
|
|
8029
8029
|
}
|
|
8030
|
-
const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((
|
|
8030
|
+
const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((child16) => child16.tag)).filter((order) => order.length > 0);
|
|
8031
8031
|
if (orders.length === 0) {
|
|
8032
8032
|
return;
|
|
8033
8033
|
}
|
|
@@ -8447,9 +8447,9 @@ var PptxTableDataParser = class {
|
|
|
8447
8447
|
return parsed;
|
|
8448
8448
|
}
|
|
8449
8449
|
}
|
|
8450
|
-
const
|
|
8451
|
-
if (
|
|
8452
|
-
const childVal = parseInt(String(
|
|
8450
|
+
const child16 = tableProperties[`a:${key2}`];
|
|
8451
|
+
if (child16) {
|
|
8452
|
+
const childVal = parseInt(String(child16["@_val"] ?? ""), 10);
|
|
8453
8453
|
if (Number.isFinite(childVal) && childVal > 0) {
|
|
8454
8454
|
return childVal;
|
|
8455
8455
|
}
|
|
@@ -8659,8 +8659,8 @@ function scanForVmlImageDataRelationshipId(node, depth) {
|
|
|
8659
8659
|
if (typeof value !== "object") {
|
|
8660
8660
|
continue;
|
|
8661
8661
|
}
|
|
8662
|
-
for (const
|
|
8663
|
-
const relId = scanForVmlImageDataRelationshipId(
|
|
8662
|
+
for (const child16 of ensureArrayLike2(value)) {
|
|
8663
|
+
const relId = scanForVmlImageDataRelationshipId(child16, depth + 1);
|
|
8664
8664
|
if (relId) {
|
|
8665
8665
|
return relId;
|
|
8666
8666
|
}
|
|
@@ -10313,9 +10313,9 @@ function collectCnvPrNodes(node, results, ensureArray12) {
|
|
|
10313
10313
|
}
|
|
10314
10314
|
const shapeLists = ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp", "p:contentPart"];
|
|
10315
10315
|
for (const listKey of shapeLists) {
|
|
10316
|
-
const
|
|
10317
|
-
for (const
|
|
10318
|
-
collectCnvPrNodes(
|
|
10316
|
+
const children6 = ensureArray12(node[listKey]);
|
|
10317
|
+
for (const child16 of children6) {
|
|
10318
|
+
collectCnvPrNodes(child16, results, ensureArray12);
|
|
10319
10319
|
}
|
|
10320
10320
|
}
|
|
10321
10321
|
for (const alternate of ensureArray12(node["mc:AlternateContent"])) {
|
|
@@ -13790,10 +13790,10 @@ function assertAfterAnimationClearSupported(effectCTn) {
|
|
|
13790
13790
|
if (!isXmlObject3(sub)) return;
|
|
13791
13791
|
const countAfterFlags = (value) => {
|
|
13792
13792
|
if (Array.isArray(value))
|
|
13793
|
-
return value.reduce((count,
|
|
13793
|
+
return value.reduce((count, child16) => count + countAfterFlags(child16), 0);
|
|
13794
13794
|
if (!isXmlObject3(value)) return 0;
|
|
13795
13795
|
return Object.entries(value).reduce(
|
|
13796
|
-
(count, [key2,
|
|
13796
|
+
(count, [key2, child16]) => count + (key2 === "@_afterEffect" && ["1", "true"].includes(String(child16)) ? 1 : countAfterFlags(child16)),
|
|
13797
13797
|
0
|
|
13798
13798
|
);
|
|
13799
13799
|
};
|
|
@@ -14205,8 +14205,8 @@ function preservedP14ChildKey(node, transitionType, getXmlLocalName) {
|
|
|
14205
14205
|
if (localName15 !== "prism") {
|
|
14206
14206
|
continue;
|
|
14207
14207
|
}
|
|
14208
|
-
const
|
|
14209
|
-
if (chunkX7MGZQ6C_cjs.prismFamilyTypeOfNode(
|
|
14208
|
+
const child16 = value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
14209
|
+
if (chunkX7MGZQ6C_cjs.prismFamilyTypeOfNode(child16) === chunkX7MGZQ6C_cjs.prismFamilyTypeForFlags(prismFlags)) {
|
|
14210
14210
|
return key2;
|
|
14211
14211
|
}
|
|
14212
14212
|
continue;
|
|
@@ -15276,17 +15276,17 @@ function collectMediaNodes(node, animations) {
|
|
|
15276
15276
|
const childTnList = cTn?.["p:childTnLst"];
|
|
15277
15277
|
if (childTnList) {
|
|
15278
15278
|
for (const container of ["p:par", "p:seq", "p:excl"]) {
|
|
15279
|
-
const
|
|
15280
|
-
for (const
|
|
15281
|
-
collectMediaNodes(
|
|
15279
|
+
const children6 = ensureArray4(childTnList[container]);
|
|
15280
|
+
for (const child16 of children6) {
|
|
15281
|
+
collectMediaNodes(child16, animations);
|
|
15282
15282
|
}
|
|
15283
15283
|
}
|
|
15284
15284
|
collectMediaNodes(childTnList, animations);
|
|
15285
15285
|
}
|
|
15286
15286
|
for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
|
|
15287
|
-
const
|
|
15288
|
-
for (const
|
|
15289
|
-
collectMediaNodes(
|
|
15287
|
+
const children6 = ensureArray4(node[container]);
|
|
15288
|
+
for (const child16 of children6) {
|
|
15289
|
+
collectMediaNodes(child16, animations);
|
|
15290
15290
|
}
|
|
15291
15291
|
}
|
|
15292
15292
|
}
|
|
@@ -15572,9 +15572,9 @@ var neutralTiming = (node) => [
|
|
|
15572
15572
|
].every((key2) => node[key2] === void 0) && (node["@_repeatCount"] === void 0 || String(node["@_repeatCount"]) === "1000") && (node["@_autoRev"] === void 0 || ["0", "false"].includes(String(node["@_autoRev"]))) && (node["@_spd"] === void 0 || String(node["@_spd"]) === "100000") && (node["@_accel"] === void 0 || String(node["@_accel"]) === "0") && (node["@_decel"] === void 0 || String(node["@_decel"]) === "0");
|
|
15573
15573
|
function hasNativeVisibilitySet(node) {
|
|
15574
15574
|
if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0") return false;
|
|
15575
|
-
const
|
|
15576
|
-
if (!isXmlObject3(
|
|
15577
|
-
return ensureArray4(
|
|
15575
|
+
const children6 = node["p:childTnLst"];
|
|
15576
|
+
if (!isXmlObject3(children6)) return false;
|
|
15577
|
+
return ensureArray4(children6["p:set"]).some((set) => {
|
|
15578
15578
|
const common = set["p:cBhvr"];
|
|
15579
15579
|
const list = isXmlObject3(common) ? common["p:attrNameLst"] : void 0;
|
|
15580
15580
|
const names = isXmlObject3(list) ? list["p:attrName"] : void 0;
|
|
@@ -15602,10 +15602,10 @@ function unsupportedVisibilityContainerTiming(node) {
|
|
|
15602
15602
|
function extractVisibilitySetTiming(node) {
|
|
15603
15603
|
if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0" || String(node["@_presetSubtype"] ?? "0") !== "0" || node["@_dur"] !== void 0 || node["@_fill"] !== "hold" || !neutralTiming(node) || !simpleStarts(node))
|
|
15604
15604
|
return void 0;
|
|
15605
|
-
const
|
|
15606
|
-
if (!isXmlObject3(
|
|
15605
|
+
const children6 = node["p:childTnLst"];
|
|
15606
|
+
if (!isXmlObject3(children6) || Object.keys(children6).length !== 1 || !children6["p:set"])
|
|
15607
15607
|
return void 0;
|
|
15608
|
-
const sets = ensureArray4(
|
|
15608
|
+
const sets = ensureArray4(children6["p:set"]);
|
|
15609
15609
|
if (sets.length !== 1) return void 0;
|
|
15610
15610
|
if (Object.keys(sets[0]).some((key2) => !["p:cBhvr", "p:to"].includes(key2))) return void 0;
|
|
15611
15611
|
const to = sets[0]["p:to"];
|
|
@@ -15619,10 +15619,10 @@ function extractVisibilitySetTiming(node) {
|
|
|
15619
15619
|
const target = common["p:tgtEl"];
|
|
15620
15620
|
if (!isXmlObject3(target) || Object.keys(target).length !== 1 || !isXmlObject3(target["p:spTgt"]) || Object.keys(target["p:spTgt"]).some((key2) => key2 !== "@_spid") || !/^\d+$/u.test(String(target["p:spTgt"]["@_spid"])))
|
|
15621
15621
|
return void 0;
|
|
15622
|
-
const
|
|
15623
|
-
if (!isXmlObject3(
|
|
15622
|
+
const child16 = common["p:cTn"];
|
|
15623
|
+
if (!isXmlObject3(child16) || !neutralTiming(child16) || !simpleStarts(child16) || String(child16["@_dur"]) !== "1" || child16["@_fill"] !== "hold")
|
|
15624
15624
|
return void 0;
|
|
15625
|
-
const behavior = extractBehaviors(
|
|
15625
|
+
const behavior = extractBehaviors(children6)?.[0];
|
|
15626
15626
|
if (!behavior || behavior.kind !== "set" || behavior.value !== "visible" || behavior.attrNames.length !== 1 || behavior.attrNames[0] !== "style.visibility" || behavior.timing.unsupportedSetTiming)
|
|
15627
15627
|
return void 0;
|
|
15628
15628
|
try {
|
|
@@ -16304,27 +16304,27 @@ function rawTransitionHasExplicitCutChild(raw, localName15) {
|
|
|
16304
16304
|
return Object.keys(raw).some((key2) => !key2.startsWith("@_") && localName15(key2) === "cut");
|
|
16305
16305
|
}
|
|
16306
16306
|
function buildStandardTransitionChild(transition) {
|
|
16307
|
-
const
|
|
16307
|
+
const child16 = {};
|
|
16308
16308
|
if (DIR_IS_ORIENTATION_TYPE.has(transition.type) && transition.orient) {
|
|
16309
|
-
|
|
16309
|
+
child16["@_dir"] = transition.orient;
|
|
16310
16310
|
} else {
|
|
16311
16311
|
if (transition.direction) {
|
|
16312
|
-
|
|
16312
|
+
child16["@_dir"] = transition.direction;
|
|
16313
16313
|
}
|
|
16314
16314
|
if (transition.orient) {
|
|
16315
|
-
|
|
16315
|
+
child16["@_orient"] = transition.orient;
|
|
16316
16316
|
}
|
|
16317
16317
|
}
|
|
16318
16318
|
if (validUnsignedInteger(transition.spokes, 1)) {
|
|
16319
|
-
|
|
16319
|
+
child16["@_spokes"] = String(transition.spokes);
|
|
16320
16320
|
}
|
|
16321
16321
|
if (transition.pattern) {
|
|
16322
|
-
|
|
16322
|
+
child16["@_pattern"] = transition.pattern;
|
|
16323
16323
|
}
|
|
16324
16324
|
if (typeof transition.thruBlk === "boolean") {
|
|
16325
|
-
|
|
16325
|
+
child16["@_thruBlk"] = transition.thruBlk ? "1" : "0";
|
|
16326
16326
|
}
|
|
16327
|
-
return
|
|
16327
|
+
return child16;
|
|
16328
16328
|
}
|
|
16329
16329
|
function applyTransitionAttributes(node, transition) {
|
|
16330
16330
|
if (transition.speed && SPEEDS.has(transition.speed)) {
|
|
@@ -16673,7 +16673,7 @@ var PptxSlideTransitionService = class {
|
|
|
16673
16673
|
const isExtensionType = isP14Type || isP15Type || isMorphType;
|
|
16674
16674
|
if (isP14Type) {
|
|
16675
16675
|
if (!p14ChildKey) {
|
|
16676
|
-
const
|
|
16676
|
+
const child16 = buildP14DirectChild(
|
|
16677
16677
|
transitionType,
|
|
16678
16678
|
{
|
|
16679
16679
|
direction: transition.direction,
|
|
@@ -16683,17 +16683,17 @@ var PptxSlideTransitionService = class {
|
|
|
16683
16683
|
},
|
|
16684
16684
|
extensionContext
|
|
16685
16685
|
);
|
|
16686
|
-
node[
|
|
16686
|
+
node[child16.key] = child16.node;
|
|
16687
16687
|
}
|
|
16688
16688
|
} else if (isP15Type) {
|
|
16689
16689
|
if (!p15ChildKey) {
|
|
16690
|
-
const
|
|
16691
|
-
node[
|
|
16690
|
+
const child16 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
|
|
16691
|
+
node[child16.key] = child16.node;
|
|
16692
16692
|
}
|
|
16693
16693
|
} else if (isMorphType) {
|
|
16694
16694
|
if (!hasDirectMorphChild(node, this.getXmlLocalName)) {
|
|
16695
|
-
const
|
|
16696
|
-
node[
|
|
16695
|
+
const child16 = buildMorphDirectChild(transition.morphOption, extensionContext);
|
|
16696
|
+
node[child16.key] = child16.node;
|
|
16697
16697
|
}
|
|
16698
16698
|
} else if (transitionType === "cut" && transition.rawTransition && !rawTransitionHasExplicitCutChild(transition.rawTransition, this.getXmlLocalName)) ; else {
|
|
16699
16699
|
node[`p:${transitionType}`] = buildStandardTransitionChild(transition);
|
|
@@ -33501,14 +33501,14 @@ var KIND_ORDER = [
|
|
|
33501
33501
|
function isBehaviorKind(value) {
|
|
33502
33502
|
return KIND_ORDER.includes(value ?? "");
|
|
33503
33503
|
}
|
|
33504
|
-
function groupBehaviorChildren(
|
|
33504
|
+
function groupBehaviorChildren(children6) {
|
|
33505
33505
|
const groups = /* @__PURE__ */ new Map();
|
|
33506
|
-
for (const
|
|
33507
|
-
const tag =
|
|
33508
|
-
delete
|
|
33506
|
+
for (const child16 of children6) {
|
|
33507
|
+
const tag = child16["_type"];
|
|
33508
|
+
delete child16["_type"];
|
|
33509
33509
|
const kind = isBehaviorKind(tag) ? tag : "animEffect";
|
|
33510
33510
|
const list = groups.get(kind) ?? [];
|
|
33511
|
-
list.push(
|
|
33511
|
+
list.push(child16);
|
|
33512
33512
|
groups.set(kind, list);
|
|
33513
33513
|
}
|
|
33514
33514
|
const childTnLst = {};
|
|
@@ -33845,9 +33845,9 @@ function resolveOoxmlPresetMapping(token2, defaultSubtypeFor) {
|
|
|
33845
33845
|
const defaultSubtype = presetClass === "emph" ? 0 : defaultSubtypeFor?.(presetClass, presetId) ?? 0;
|
|
33846
33846
|
return { presetClass, presetId, defaultSubtype };
|
|
33847
33847
|
}
|
|
33848
|
-
function buildReverseLookup(presetClass,
|
|
33848
|
+
function buildReverseLookup(presetClass, canonical2) {
|
|
33849
33849
|
const out = {};
|
|
33850
|
-
for (const [id, name] of
|
|
33850
|
+
for (const [id, name] of canonical2) {
|
|
33851
33851
|
out[id] = name;
|
|
33852
33852
|
}
|
|
33853
33853
|
for (const [name, mapping] of Object.entries(PRESET_TO_OOXML)) {
|
|
@@ -33885,17 +33885,17 @@ function buildEntranceExitChildren(anim, presetClass, presetId, presetSubtype, d
|
|
|
33885
33885
|
allocateId
|
|
33886
33886
|
);
|
|
33887
33887
|
if (!real) {
|
|
33888
|
-
const
|
|
33888
|
+
const children6 = [];
|
|
33889
33889
|
if (presetClass === "entr") {
|
|
33890
|
-
|
|
33890
|
+
children6.push(buildVisibilitySet(shapeId, durationMs, true, allocateId));
|
|
33891
33891
|
}
|
|
33892
|
-
|
|
33892
|
+
children6.push(
|
|
33893
33893
|
buildAnimEffectNode(shapeId, durationMs, presetClass === "entr" ? "in" : "out", allocateId)
|
|
33894
33894
|
);
|
|
33895
33895
|
if (presetClass === "exit") {
|
|
33896
|
-
|
|
33896
|
+
children6.push(buildVisibilitySet(shapeId, durationMs, false, allocateId));
|
|
33897
33897
|
}
|
|
33898
|
-
return { children:
|
|
33898
|
+
return { children: children6, presetSubtype, ...curve };
|
|
33899
33899
|
}
|
|
33900
33900
|
const useDefaultCurve = anim.timingCurve === void 0;
|
|
33901
33901
|
return {
|
|
@@ -34257,7 +34257,7 @@ function wrapInInteractiveSequence(effectNodes, triggerShapeId, allocateId) {
|
|
|
34257
34257
|
}
|
|
34258
34258
|
};
|
|
34259
34259
|
}
|
|
34260
|
-
function buildMainSequenceNode(mainSeqId,
|
|
34260
|
+
function buildMainSequenceNode(mainSeqId, children6) {
|
|
34261
34261
|
const node = {
|
|
34262
34262
|
"@_concurrent": "1",
|
|
34263
34263
|
"@_nextAc": "seek",
|
|
@@ -34265,9 +34265,9 @@ function buildMainSequenceNode(mainSeqId, children5) {
|
|
|
34265
34265
|
"@_id": String(mainSeqId),
|
|
34266
34266
|
"@_dur": "indefinite",
|
|
34267
34267
|
"@_nodeType": "mainSeq",
|
|
34268
|
-
...
|
|
34268
|
+
...children6.length > 0 ? {
|
|
34269
34269
|
"p:childTnLst": {
|
|
34270
|
-
"p:par":
|
|
34270
|
+
"p:par": children6.length === 1 ? children6[0] : children6
|
|
34271
34271
|
}
|
|
34272
34272
|
} : {}
|
|
34273
34273
|
},
|
|
@@ -34628,7 +34628,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
|
|
|
34628
34628
|
return;
|
|
34629
34629
|
}
|
|
34630
34630
|
if (mapping.presetClass === "emph" && presetChanged) {
|
|
34631
|
-
const
|
|
34631
|
+
const children6 = buildEmphasisBehaviorNodes(
|
|
34632
34632
|
shapeId,
|
|
34633
34633
|
duration,
|
|
34634
34634
|
preset,
|
|
@@ -34636,7 +34636,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
|
|
|
34636
34636
|
mapping.presetId,
|
|
34637
34637
|
subtype
|
|
34638
34638
|
);
|
|
34639
|
-
cTn["p:childTnLst"] = groupBehaviorChildren(
|
|
34639
|
+
cTn["p:childTnLst"] = groupBehaviorChildren(children6);
|
|
34640
34640
|
cTn["@_presetSubtype"] = String(subtype);
|
|
34641
34641
|
} else {
|
|
34642
34642
|
cTn["@_presetSubtype"] = String(subtype);
|
|
@@ -35157,22 +35157,22 @@ function collectParsedOmathNodes(root) {
|
|
|
35157
35157
|
return result;
|
|
35158
35158
|
}
|
|
35159
35159
|
function reorderContainer(node, rawInner) {
|
|
35160
|
-
const
|
|
35161
|
-
if (
|
|
35160
|
+
const children6 = scanDirectChildren(rawInner);
|
|
35161
|
+
if (children6.length === 0) {
|
|
35162
35162
|
return;
|
|
35163
35163
|
}
|
|
35164
35164
|
const occurrence = /* @__PURE__ */ new Map();
|
|
35165
35165
|
const resolved = [];
|
|
35166
|
-
for (const
|
|
35167
|
-
const index = occurrence.get(
|
|
35168
|
-
occurrence.set(
|
|
35169
|
-
const value = ensureItems(node[
|
|
35170
|
-
resolved.push({ tag:
|
|
35171
|
-
if (isXmlObject(value) &&
|
|
35172
|
-
reorderContainer(value,
|
|
35166
|
+
for (const child16 of children6) {
|
|
35167
|
+
const index = occurrence.get(child16.tag) ?? 0;
|
|
35168
|
+
occurrence.set(child16.tag, index + 1);
|
|
35169
|
+
const value = ensureItems(node[child16.tag])[index];
|
|
35170
|
+
resolved.push({ tag: child16.tag, value });
|
|
35171
|
+
if (isXmlObject(value) && child16.inner) {
|
|
35172
|
+
reorderContainer(value, child16.inner);
|
|
35173
35173
|
}
|
|
35174
35174
|
}
|
|
35175
|
-
if (isGroupedByTag(
|
|
35175
|
+
if (isGroupedByTag(children6.map((child16) => child16.tag))) {
|
|
35176
35176
|
return;
|
|
35177
35177
|
}
|
|
35178
35178
|
for (const [tag, count] of occurrence) {
|
|
@@ -36298,6 +36298,694 @@ function applyHeaderFooterToMaster(masterRoot, headerFooter) {
|
|
|
36298
36298
|
}
|
|
36299
36299
|
}
|
|
36300
36300
|
|
|
36301
|
+
// pptx/core/utils/chart-element-format-keys.ts
|
|
36302
|
+
function parseChartFormatTargetKey(key2) {
|
|
36303
|
+
const [kind, raw] = key2.split(":");
|
|
36304
|
+
const index = raw === void 0 ? void 0 : Number(raw);
|
|
36305
|
+
if (index !== void 0 && (!Number.isInteger(index) || index < 0)) {
|
|
36306
|
+
return void 0;
|
|
36307
|
+
}
|
|
36308
|
+
switch (kind) {
|
|
36309
|
+
case "chartArea":
|
|
36310
|
+
case "plotArea":
|
|
36311
|
+
case "title":
|
|
36312
|
+
case "legend":
|
|
36313
|
+
return index === void 0 ? { kind } : void 0;
|
|
36314
|
+
case "axis":
|
|
36315
|
+
case "majorGridlines":
|
|
36316
|
+
case "minorGridlines":
|
|
36317
|
+
return index === void 0 ? void 0 : { kind, axisIndex: index };
|
|
36318
|
+
case "series":
|
|
36319
|
+
return index === void 0 ? void 0 : { kind, seriesIndex: index };
|
|
36320
|
+
case "dataLabels":
|
|
36321
|
+
return index === void 0 ? { kind } : { kind, seriesIndex: index };
|
|
36322
|
+
default:
|
|
36323
|
+
return void 0;
|
|
36324
|
+
}
|
|
36325
|
+
}
|
|
36326
|
+
|
|
36327
|
+
// pptx/core/utils/chart-element-format-xml.ts
|
|
36328
|
+
var SP_PR_ORDER2 = [
|
|
36329
|
+
"xfrm",
|
|
36330
|
+
"custGeom",
|
|
36331
|
+
"prstGeom",
|
|
36332
|
+
"noFill",
|
|
36333
|
+
"solidFill",
|
|
36334
|
+
"gradFill",
|
|
36335
|
+
"blipFill",
|
|
36336
|
+
"pattFill",
|
|
36337
|
+
"grpFill",
|
|
36338
|
+
"ln",
|
|
36339
|
+
"effectLst",
|
|
36340
|
+
"effectDag",
|
|
36341
|
+
"scene3d",
|
|
36342
|
+
"sp3d",
|
|
36343
|
+
"extLst"
|
|
36344
|
+
];
|
|
36345
|
+
var FILL_CHOICE = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
|
|
36346
|
+
var LN_ORDER = [
|
|
36347
|
+
"noFill",
|
|
36348
|
+
"solidFill",
|
|
36349
|
+
"gradFill",
|
|
36350
|
+
"pattFill",
|
|
36351
|
+
"prstDash",
|
|
36352
|
+
"custDash",
|
|
36353
|
+
"round",
|
|
36354
|
+
"bevel",
|
|
36355
|
+
"miter",
|
|
36356
|
+
"headEnd",
|
|
36357
|
+
"tailEnd",
|
|
36358
|
+
"extLst"
|
|
36359
|
+
];
|
|
36360
|
+
var LN_FILL_CHOICE = ["noFill", "solidFill", "gradFill", "pattFill"];
|
|
36361
|
+
var EFFECT_ORDER = [
|
|
36362
|
+
"blur",
|
|
36363
|
+
"fillOverlay",
|
|
36364
|
+
"glow",
|
|
36365
|
+
"innerShdw",
|
|
36366
|
+
"outerShdw",
|
|
36367
|
+
"prstShdw",
|
|
36368
|
+
"reflection",
|
|
36369
|
+
"softEdge"
|
|
36370
|
+
];
|
|
36371
|
+
var EMU_PER_POINT2 = 12700;
|
|
36372
|
+
function keyOf(node, name, localName15) {
|
|
36373
|
+
return Object.keys(node).find((key2) => !key2.startsWith("@_") && localName15(key2) === name);
|
|
36374
|
+
}
|
|
36375
|
+
function asObject(value) {
|
|
36376
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
36377
|
+
}
|
|
36378
|
+
function removeChildren(node, names, localName15) {
|
|
36379
|
+
for (const key2 of Object.keys(node)) {
|
|
36380
|
+
if (!key2.startsWith("@_") && names.includes(localName15(key2))) {
|
|
36381
|
+
delete node[key2];
|
|
36382
|
+
}
|
|
36383
|
+
}
|
|
36384
|
+
}
|
|
36385
|
+
function setOrdered(node, name, value, order, localName15) {
|
|
36386
|
+
const existing = keyOf(node, name, localName15);
|
|
36387
|
+
if (existing) {
|
|
36388
|
+
node[existing] = value;
|
|
36389
|
+
return;
|
|
36390
|
+
}
|
|
36391
|
+
const rankOf = (key2) => {
|
|
36392
|
+
if (key2.startsWith("@_")) {
|
|
36393
|
+
return -1;
|
|
36394
|
+
}
|
|
36395
|
+
const r = order.indexOf(localName15(key2));
|
|
36396
|
+
return r < 0 ? order.length : r;
|
|
36397
|
+
};
|
|
36398
|
+
const entries = [...Object.entries(node), [`a:${name}`, value]].map((entry2, index) => ({ entry: entry2, index })).sort((a, b) => rankOf(a.entry[0]) - rankOf(b.entry[0]) || a.index - b.index).map(({ entry: entry2 }) => entry2);
|
|
36399
|
+
for (const key2 of Object.keys(node)) {
|
|
36400
|
+
delete node[key2];
|
|
36401
|
+
}
|
|
36402
|
+
for (const [key2, child16] of entries) {
|
|
36403
|
+
node[key2] = child16;
|
|
36404
|
+
}
|
|
36405
|
+
}
|
|
36406
|
+
function alphaOf(transparency) {
|
|
36407
|
+
if (transparency === void 0 || transparency <= 0) {
|
|
36408
|
+
return void 0;
|
|
36409
|
+
}
|
|
36410
|
+
const clamped = Math.min(100, Math.max(0, transparency));
|
|
36411
|
+
return { "@_val": String(Math.round((100 - clamped) * 1e3)) };
|
|
36412
|
+
}
|
|
36413
|
+
function chartElementColorXml(color2, transparency) {
|
|
36414
|
+
const clr = { "@_val": chunkX7MGZQ6C_cjs.chartColorHex(color2) };
|
|
36415
|
+
const alpha = alphaOf(transparency);
|
|
36416
|
+
if (alpha) {
|
|
36417
|
+
clr["a:alpha"] = alpha;
|
|
36418
|
+
}
|
|
36419
|
+
return { "a:srgbClr": clr };
|
|
36420
|
+
}
|
|
36421
|
+
function setPaintAlpha(paint2, transparency, localName15) {
|
|
36422
|
+
const choiceKey = Object.keys(paint2).find((key2) => !key2.startsWith("@_"));
|
|
36423
|
+
const choice = choiceKey ? asObject(paint2[choiceKey]) : void 0;
|
|
36424
|
+
if (!choiceKey || !choice) {
|
|
36425
|
+
return;
|
|
36426
|
+
}
|
|
36427
|
+
const next = { ...choice };
|
|
36428
|
+
removeChildren(next, ["alpha"], localName15);
|
|
36429
|
+
const alpha = alphaOf(transparency);
|
|
36430
|
+
if (alpha) {
|
|
36431
|
+
next["a:alpha"] = alpha;
|
|
36432
|
+
}
|
|
36433
|
+
paint2[choiceKey] = next;
|
|
36434
|
+
}
|
|
36435
|
+
function applyPaint(node, paint2, choices, order, localName15) {
|
|
36436
|
+
if (paint2.kind === "automatic") {
|
|
36437
|
+
removeChildren(node, choices, localName15);
|
|
36438
|
+
return;
|
|
36439
|
+
}
|
|
36440
|
+
if (paint2.kind === "none") {
|
|
36441
|
+
removeChildren(node, choices, localName15);
|
|
36442
|
+
setOrdered(node, "noFill", {}, order, localName15);
|
|
36443
|
+
return;
|
|
36444
|
+
}
|
|
36445
|
+
if (paint2.color) {
|
|
36446
|
+
removeChildren(node, choices, localName15);
|
|
36447
|
+
setOrdered(
|
|
36448
|
+
node,
|
|
36449
|
+
"solidFill",
|
|
36450
|
+
chartElementColorXml(paint2.color, paint2.transparency),
|
|
36451
|
+
order,
|
|
36452
|
+
localName15
|
|
36453
|
+
);
|
|
36454
|
+
return;
|
|
36455
|
+
}
|
|
36456
|
+
const solidKey = keyOf(node, "solidFill", localName15);
|
|
36457
|
+
const solid = solidKey ? asObject(node[solidKey]) : void 0;
|
|
36458
|
+
if (solid && solidKey && paint2.transparency !== void 0) {
|
|
36459
|
+
const next = { ...solid };
|
|
36460
|
+
setPaintAlpha(next, paint2.transparency, localName15);
|
|
36461
|
+
node[solidKey] = next;
|
|
36462
|
+
}
|
|
36463
|
+
}
|
|
36464
|
+
function applyLine(spPr, line, localName15) {
|
|
36465
|
+
const lnKey = keyOf(spPr, "ln", localName15);
|
|
36466
|
+
const ln = { ...asObject(lnKey ? spPr[lnKey] : void 0) ?? {} };
|
|
36467
|
+
applyPaint(ln, line, LN_FILL_CHOICE, LN_ORDER, localName15);
|
|
36468
|
+
if (line.width !== void 0) {
|
|
36469
|
+
ln["@_w"] = String(Math.round(Math.max(0, line.width) * EMU_PER_POINT2));
|
|
36470
|
+
}
|
|
36471
|
+
if (line.compound !== void 0) {
|
|
36472
|
+
ln["@_cmpd"] = line.compound;
|
|
36473
|
+
}
|
|
36474
|
+
if (line.cap !== void 0) {
|
|
36475
|
+
ln["@_cap"] = line.cap;
|
|
36476
|
+
}
|
|
36477
|
+
if (line.dash !== void 0) {
|
|
36478
|
+
removeChildren(ln, ["custDash"], localName15);
|
|
36479
|
+
setOrdered(ln, "prstDash", { "@_val": line.dash }, LN_ORDER, localName15);
|
|
36480
|
+
}
|
|
36481
|
+
if (line.join !== void 0) {
|
|
36482
|
+
removeChildren(ln, ["round", "bevel", "miter"], localName15);
|
|
36483
|
+
setOrdered(
|
|
36484
|
+
ln,
|
|
36485
|
+
line.join,
|
|
36486
|
+
line.join === "miter" ? { "@_lim": "800000" } : {},
|
|
36487
|
+
LN_ORDER,
|
|
36488
|
+
localName15
|
|
36489
|
+
);
|
|
36490
|
+
}
|
|
36491
|
+
if (line.beginArrow !== void 0) {
|
|
36492
|
+
setOrdered(ln, "headEnd", { "@_type": line.beginArrow }, LN_ORDER, localName15);
|
|
36493
|
+
}
|
|
36494
|
+
if (line.endArrow !== void 0) {
|
|
36495
|
+
setOrdered(ln, "tailEnd", { "@_type": line.endArrow }, LN_ORDER, localName15);
|
|
36496
|
+
}
|
|
36497
|
+
if (Object.keys(ln).length === 0) {
|
|
36498
|
+
if (lnKey) {
|
|
36499
|
+
delete spPr[lnKey];
|
|
36500
|
+
}
|
|
36501
|
+
return;
|
|
36502
|
+
}
|
|
36503
|
+
setOrdered(spPr, "ln", ln, SP_PR_ORDER2, localName15);
|
|
36504
|
+
}
|
|
36505
|
+
var pt = (value) => String(Math.round(Math.max(0, value) * EMU_PER_POINT2));
|
|
36506
|
+
function applyEffects(spPr, effects, localName15) {
|
|
36507
|
+
const key2 = keyOf(spPr, "effectLst", localName15);
|
|
36508
|
+
const list = { ...asObject(key2 ? spPr[key2] : void 0) ?? {} };
|
|
36509
|
+
if (effects.shadow !== void 0) {
|
|
36510
|
+
removeChildren(list, ["outerShdw"], localName15);
|
|
36511
|
+
if (effects.shadow) {
|
|
36512
|
+
const s = effects.shadow;
|
|
36513
|
+
setOrdered(
|
|
36514
|
+
list,
|
|
36515
|
+
"outerShdw",
|
|
36516
|
+
{
|
|
36517
|
+
"@_blurRad": pt(s.blur),
|
|
36518
|
+
"@_dist": pt(s.distance),
|
|
36519
|
+
"@_dir": String(Math.round((s.angle % 360 + 360) % 360 * 6e4)),
|
|
36520
|
+
"@_algn": "tl",
|
|
36521
|
+
"@_rotWithShape": "0",
|
|
36522
|
+
...chartElementColorXml(s.color, s.transparency)
|
|
36523
|
+
},
|
|
36524
|
+
EFFECT_ORDER,
|
|
36525
|
+
localName15
|
|
36526
|
+
);
|
|
36527
|
+
}
|
|
36528
|
+
}
|
|
36529
|
+
if (effects.glow !== void 0) {
|
|
36530
|
+
removeChildren(list, ["glow"], localName15);
|
|
36531
|
+
if (effects.glow) {
|
|
36532
|
+
setOrdered(
|
|
36533
|
+
list,
|
|
36534
|
+
"glow",
|
|
36535
|
+
{
|
|
36536
|
+
"@_rad": pt(effects.glow.radius),
|
|
36537
|
+
...chartElementColorXml(effects.glow.color, effects.glow.transparency)
|
|
36538
|
+
},
|
|
36539
|
+
EFFECT_ORDER,
|
|
36540
|
+
localName15
|
|
36541
|
+
);
|
|
36542
|
+
}
|
|
36543
|
+
}
|
|
36544
|
+
if (effects.softEdge !== void 0) {
|
|
36545
|
+
removeChildren(list, ["softEdge"], localName15);
|
|
36546
|
+
if (effects.softEdge !== null && effects.softEdge > 0) {
|
|
36547
|
+
setOrdered(list, "softEdge", { "@_rad": pt(effects.softEdge) }, EFFECT_ORDER, localName15);
|
|
36548
|
+
}
|
|
36549
|
+
}
|
|
36550
|
+
if (Object.keys(list).length === 0) {
|
|
36551
|
+
if (key2) {
|
|
36552
|
+
delete spPr[key2];
|
|
36553
|
+
}
|
|
36554
|
+
return;
|
|
36555
|
+
}
|
|
36556
|
+
setOrdered(spPr, "effectLst", list, SP_PR_ORDER2, localName15);
|
|
36557
|
+
}
|
|
36558
|
+
function applyChartElementFormatToSpPr(existing, format, localName15) {
|
|
36559
|
+
const spPr = format.reset ? {} : { ...existing ?? {} };
|
|
36560
|
+
if (format.fill) {
|
|
36561
|
+
applyPaint(spPr, format.fill, FILL_CHOICE, SP_PR_ORDER2, localName15);
|
|
36562
|
+
}
|
|
36563
|
+
if (format.line) {
|
|
36564
|
+
applyLine(spPr, format.line, localName15);
|
|
36565
|
+
}
|
|
36566
|
+
if (format.effects) {
|
|
36567
|
+
applyEffects(spPr, format.effects, localName15);
|
|
36568
|
+
}
|
|
36569
|
+
return Object.keys(spPr).length > 0 ? spPr : void 0;
|
|
36570
|
+
}
|
|
36571
|
+
|
|
36572
|
+
// pptx/core/utils/chart-element-format-targets.ts
|
|
36573
|
+
var CHART_SPACE_AFTER_SP_PR = ["txPr", "externalData", "printSettings", "userShapes", "extLst"];
|
|
36574
|
+
var TEXT_OWNER_AFTER_SP_PR = ["txPr", "extLst"];
|
|
36575
|
+
var AXIS_AFTER_SP_PR = [
|
|
36576
|
+
"txPr",
|
|
36577
|
+
"crossAx",
|
|
36578
|
+
"crosses",
|
|
36579
|
+
"crossesAt",
|
|
36580
|
+
"crossBetween",
|
|
36581
|
+
"auto",
|
|
36582
|
+
"lblAlgn",
|
|
36583
|
+
"lblOffset",
|
|
36584
|
+
"majorUnit",
|
|
36585
|
+
"minorUnit",
|
|
36586
|
+
"dispUnits",
|
|
36587
|
+
"tickLblSkip",
|
|
36588
|
+
"tickMarkSkip",
|
|
36589
|
+
"noMultiLvlLbl",
|
|
36590
|
+
"baseTimeUnit",
|
|
36591
|
+
"majorTimeUnit",
|
|
36592
|
+
"minorTimeUnit",
|
|
36593
|
+
"extLst"
|
|
36594
|
+
];
|
|
36595
|
+
var SERIES_AFTER_SP_PR = [
|
|
36596
|
+
"invertIfNegative",
|
|
36597
|
+
"pictureOptions",
|
|
36598
|
+
"marker",
|
|
36599
|
+
"dPt",
|
|
36600
|
+
"dLbls",
|
|
36601
|
+
"trendline",
|
|
36602
|
+
"errBars",
|
|
36603
|
+
"cat",
|
|
36604
|
+
"val",
|
|
36605
|
+
"xVal",
|
|
36606
|
+
"yVal",
|
|
36607
|
+
"smooth",
|
|
36608
|
+
"shape",
|
|
36609
|
+
"explosion",
|
|
36610
|
+
"bubbleSize",
|
|
36611
|
+
"bubble3D",
|
|
36612
|
+
"extLst"
|
|
36613
|
+
];
|
|
36614
|
+
var DLBLS_AFTER_SP_PR = [
|
|
36615
|
+
"txPr",
|
|
36616
|
+
"dLblPos",
|
|
36617
|
+
"showLegendKey",
|
|
36618
|
+
"showVal",
|
|
36619
|
+
"showCatName",
|
|
36620
|
+
"showSerName",
|
|
36621
|
+
"showPercent",
|
|
36622
|
+
"showBubbleSize",
|
|
36623
|
+
"separator",
|
|
36624
|
+
"showLeaderLines",
|
|
36625
|
+
"leaderLines",
|
|
36626
|
+
"extLst"
|
|
36627
|
+
];
|
|
36628
|
+
var AXIS_TAGS = ["catAx", "valAx", "dateAx", "serAx"];
|
|
36629
|
+
function keyOf2(node, name, getLocalName2) {
|
|
36630
|
+
return Object.keys(node).find((key2) => !key2.startsWith("@_") && getLocalName2(key2) === name);
|
|
36631
|
+
}
|
|
36632
|
+
function child3(node, name, getLocalName2) {
|
|
36633
|
+
if (!node) {
|
|
36634
|
+
return void 0;
|
|
36635
|
+
}
|
|
36636
|
+
const key2 = keyOf2(node, name, getLocalName2);
|
|
36637
|
+
const value = key2 ? node[key2] : void 0;
|
|
36638
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
36639
|
+
}
|
|
36640
|
+
function children3(node, name, getLocalName2) {
|
|
36641
|
+
const key2 = keyOf2(node, name, getLocalName2);
|
|
36642
|
+
const value = key2 ? node[key2] : void 0;
|
|
36643
|
+
if (Array.isArray(value)) {
|
|
36644
|
+
return value.filter((v) => Boolean(v) && typeof v === "object");
|
|
36645
|
+
}
|
|
36646
|
+
return value && typeof value === "object" ? [value] : [];
|
|
36647
|
+
}
|
|
36648
|
+
function applyFormatToOwner(owner, format, after, getLocalName2) {
|
|
36649
|
+
const spPrKey = keyOf2(owner, "spPr", getLocalName2);
|
|
36650
|
+
const existing = spPrKey ? owner[spPrKey] : void 0;
|
|
36651
|
+
const next = applyChartElementFormatToSpPr(
|
|
36652
|
+
existing && typeof existing === "object" ? existing : void 0,
|
|
36653
|
+
format,
|
|
36654
|
+
getLocalName2
|
|
36655
|
+
);
|
|
36656
|
+
if (spPrKey) {
|
|
36657
|
+
if (next) {
|
|
36658
|
+
owner[spPrKey] = next;
|
|
36659
|
+
} else {
|
|
36660
|
+
delete owner[spPrKey];
|
|
36661
|
+
}
|
|
36662
|
+
return;
|
|
36663
|
+
}
|
|
36664
|
+
if (!next) {
|
|
36665
|
+
return;
|
|
36666
|
+
}
|
|
36667
|
+
const entries = Object.entries(owner);
|
|
36668
|
+
const at = entries.findIndex(
|
|
36669
|
+
([key2]) => !key2.startsWith("@_") && after.includes(getLocalName2(key2))
|
|
36670
|
+
);
|
|
36671
|
+
entries.splice(at < 0 ? entries.length : at, 0, ["c:spPr", next]);
|
|
36672
|
+
for (const key2 of Object.keys(owner)) {
|
|
36673
|
+
delete owner[key2];
|
|
36674
|
+
}
|
|
36675
|
+
for (const [key2, value] of entries) {
|
|
36676
|
+
owner[key2] = value;
|
|
36677
|
+
}
|
|
36678
|
+
}
|
|
36679
|
+
function findChartAxisNode(plotArea, chartData, axisIndex, getLocalName2) {
|
|
36680
|
+
const axis = chartData.axes?.[axisIndex];
|
|
36681
|
+
if (!axis) {
|
|
36682
|
+
return void 0;
|
|
36683
|
+
}
|
|
36684
|
+
const nodes = AXIS_TAGS.flatMap(
|
|
36685
|
+
(tag) => children3(plotArea, tag, getLocalName2).map((node) => ({ tag, node }))
|
|
36686
|
+
);
|
|
36687
|
+
if (axis.axisId !== void 0) {
|
|
36688
|
+
const byId = nodes.find(
|
|
36689
|
+
({ node }) => child3(node, "axId", getLocalName2)?.["@_val"] === String(axis.axisId)
|
|
36690
|
+
);
|
|
36691
|
+
if (byId) {
|
|
36692
|
+
return byId.node;
|
|
36693
|
+
}
|
|
36694
|
+
}
|
|
36695
|
+
const sameType = (chartData.axes ?? []).slice(0, axisIndex).filter((a) => a.axisType === axis.axisType).length;
|
|
36696
|
+
return nodes.filter(({ tag }) => tag === axis.axisType)[sameType]?.node;
|
|
36697
|
+
}
|
|
36698
|
+
function canonical(value) {
|
|
36699
|
+
if (Array.isArray(value)) {
|
|
36700
|
+
return `[${value.map(canonical).join(",")}]`;
|
|
36701
|
+
}
|
|
36702
|
+
if (value && typeof value === "object") {
|
|
36703
|
+
const entries = Object.entries(value).filter(([, v]) => v !== void 0).sort(([a], [b]) => a < b ? -1 : 1);
|
|
36704
|
+
return `{${entries.map(([k, v]) => `${JSON.stringify(k)}:${canonical(v)}`).join(",")}}`;
|
|
36705
|
+
}
|
|
36706
|
+
return JSON.stringify(value);
|
|
36707
|
+
}
|
|
36708
|
+
function changedSections(record2, authored) {
|
|
36709
|
+
if (record2.reset) {
|
|
36710
|
+
return record2;
|
|
36711
|
+
}
|
|
36712
|
+
const out = {};
|
|
36713
|
+
for (const section of ["fill", "line", "effects"]) {
|
|
36714
|
+
if (record2[section] !== void 0 && canonical(record2[section]) !== canonical(authored?.[section])) {
|
|
36715
|
+
Object.assign(out, { [section]: record2[section] });
|
|
36716
|
+
}
|
|
36717
|
+
}
|
|
36718
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
36719
|
+
}
|
|
36720
|
+
function formatEntries(chartData, authored) {
|
|
36721
|
+
return Object.entries(chartData.elementFormats ?? {}).flatMap(([key2, record2]) => {
|
|
36722
|
+
const target = parseChartFormatTargetKey(key2);
|
|
36723
|
+
const format = target ? changedSections(record2, authored?.[key2]) : void 0;
|
|
36724
|
+
return target && format ? [{ target, format }] : [];
|
|
36725
|
+
});
|
|
36726
|
+
}
|
|
36727
|
+
function applySeriesElementFormatsToXml(seriesNodes, chartData, getLocalName2, authored) {
|
|
36728
|
+
for (const { target, format } of formatEntries(chartData, authored)) {
|
|
36729
|
+
if (target.kind !== "series" && !(target.kind === "dataLabels" && target.seriesIndex !== void 0)) {
|
|
36730
|
+
continue;
|
|
36731
|
+
}
|
|
36732
|
+
const node = seriesNodes[target.seriesIndex ?? -1];
|
|
36733
|
+
if (!node) {
|
|
36734
|
+
continue;
|
|
36735
|
+
}
|
|
36736
|
+
if (target.kind === "series") {
|
|
36737
|
+
applyFormatToOwner(node, format, SERIES_AFTER_SP_PR, getLocalName2);
|
|
36738
|
+
} else {
|
|
36739
|
+
const dLbls = child3(node, "dLbls", getLocalName2);
|
|
36740
|
+
if (dLbls) {
|
|
36741
|
+
applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
|
|
36742
|
+
}
|
|
36743
|
+
}
|
|
36744
|
+
}
|
|
36745
|
+
}
|
|
36746
|
+
function allDataLabelNodes(plotArea, getLocalName2) {
|
|
36747
|
+
const out = [];
|
|
36748
|
+
for (const key2 of Object.keys(plotArea)) {
|
|
36749
|
+
if (!getLocalName2(key2).endsWith("Chart")) {
|
|
36750
|
+
continue;
|
|
36751
|
+
}
|
|
36752
|
+
const container = plotArea[key2];
|
|
36753
|
+
if (!container || typeof container !== "object" || Array.isArray(container)) {
|
|
36754
|
+
continue;
|
|
36755
|
+
}
|
|
36756
|
+
const owners = [
|
|
36757
|
+
container,
|
|
36758
|
+
...children3(container, "ser", getLocalName2)
|
|
36759
|
+
];
|
|
36760
|
+
for (const owner of owners) {
|
|
36761
|
+
const dLbls = child3(owner, "dLbls", getLocalName2);
|
|
36762
|
+
if (dLbls) {
|
|
36763
|
+
out.push(dLbls);
|
|
36764
|
+
}
|
|
36765
|
+
}
|
|
36766
|
+
}
|
|
36767
|
+
return out;
|
|
36768
|
+
}
|
|
36769
|
+
function applyChromeElementFormatsToXml(chartSpace, chartData, getLocalName2, authored) {
|
|
36770
|
+
const chartRoot = child3(chartSpace, "chart", getLocalName2);
|
|
36771
|
+
const plotArea = child3(chartRoot, "plotArea", getLocalName2);
|
|
36772
|
+
for (const { target, format } of formatEntries(chartData, authored)) {
|
|
36773
|
+
switch (target.kind) {
|
|
36774
|
+
case "chartArea":
|
|
36775
|
+
applyFormatToOwner(chartSpace, format, CHART_SPACE_AFTER_SP_PR, getLocalName2);
|
|
36776
|
+
break;
|
|
36777
|
+
case "plotArea":
|
|
36778
|
+
if (plotArea) {
|
|
36779
|
+
applyFormatToOwner(plotArea, format, ["extLst"], getLocalName2);
|
|
36780
|
+
}
|
|
36781
|
+
break;
|
|
36782
|
+
case "title":
|
|
36783
|
+
case "legend": {
|
|
36784
|
+
const owner = child3(chartRoot, target.kind, getLocalName2);
|
|
36785
|
+
if (owner) {
|
|
36786
|
+
applyFormatToOwner(owner, format, TEXT_OWNER_AFTER_SP_PR, getLocalName2);
|
|
36787
|
+
}
|
|
36788
|
+
break;
|
|
36789
|
+
}
|
|
36790
|
+
case "axis":
|
|
36791
|
+
case "majorGridlines":
|
|
36792
|
+
case "minorGridlines": {
|
|
36793
|
+
const axis = plotArea ? findChartAxisNode(plotArea, chartData, target.axisIndex, getLocalName2) : void 0;
|
|
36794
|
+
if (!axis) {
|
|
36795
|
+
break;
|
|
36796
|
+
}
|
|
36797
|
+
if (target.kind === "axis") {
|
|
36798
|
+
applyFormatToOwner(axis, format, AXIS_AFTER_SP_PR, getLocalName2);
|
|
36799
|
+
} else {
|
|
36800
|
+
const lines = child3(axis, target.kind, getLocalName2);
|
|
36801
|
+
if (lines) {
|
|
36802
|
+
applyFormatToOwner(lines, format, ["extLst"], getLocalName2);
|
|
36803
|
+
}
|
|
36804
|
+
}
|
|
36805
|
+
break;
|
|
36806
|
+
}
|
|
36807
|
+
case "dataLabels":
|
|
36808
|
+
if (plotArea && target.seriesIndex === void 0) {
|
|
36809
|
+
for (const dLbls of allDataLabelNodes(plotArea, getLocalName2)) {
|
|
36810
|
+
applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
|
|
36811
|
+
}
|
|
36812
|
+
}
|
|
36813
|
+
break;
|
|
36814
|
+
}
|
|
36815
|
+
}
|
|
36816
|
+
}
|
|
36817
|
+
|
|
36818
|
+
// pptx/core/utils/chart-element-format-read-xml.ts
|
|
36819
|
+
var EMU_PER_POINT3 = 12700;
|
|
36820
|
+
function child4(node, name, localName15) {
|
|
36821
|
+
if (!node) {
|
|
36822
|
+
return void 0;
|
|
36823
|
+
}
|
|
36824
|
+
const key2 = Object.keys(node).find((k) => !k.startsWith("@_") && localName15(k) === name);
|
|
36825
|
+
if (!key2) {
|
|
36826
|
+
return void 0;
|
|
36827
|
+
}
|
|
36828
|
+
const value = node[key2];
|
|
36829
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
36830
|
+
}
|
|
36831
|
+
function has(node, name, localName15) {
|
|
36832
|
+
return Boolean(
|
|
36833
|
+
node && Object.keys(node).some((k) => !k.startsWith("@_") && localName15(k) === name)
|
|
36834
|
+
);
|
|
36835
|
+
}
|
|
36836
|
+
var round = (value) => Math.round(value * 100) / 100;
|
|
36837
|
+
var points = (emu2) => {
|
|
36838
|
+
const n = Number(emu2);
|
|
36839
|
+
return Number.isFinite(n) ? round(n / EMU_PER_POINT3) : void 0;
|
|
36840
|
+
};
|
|
36841
|
+
function transparencyOf(fill, localName15) {
|
|
36842
|
+
for (const [key2, value] of Object.entries(fill)) {
|
|
36843
|
+
if (key2.startsWith("@_") || !value || typeof value !== "object") {
|
|
36844
|
+
continue;
|
|
36845
|
+
}
|
|
36846
|
+
const alpha = child4(value, "alpha", localName15)?.["@_val"];
|
|
36847
|
+
const n = Number(alpha);
|
|
36848
|
+
if (alpha !== void 0 && Number.isFinite(n)) {
|
|
36849
|
+
const transparency = round(100 - n / 1e3);
|
|
36850
|
+
return transparency > 0 ? transparency : void 0;
|
|
36851
|
+
}
|
|
36852
|
+
}
|
|
36853
|
+
return void 0;
|
|
36854
|
+
}
|
|
36855
|
+
function paint(node, localName15, resolve) {
|
|
36856
|
+
if (has(node, "noFill", localName15)) {
|
|
36857
|
+
return { kind: "none" };
|
|
36858
|
+
}
|
|
36859
|
+
const solid = child4(node, "solidFill", localName15);
|
|
36860
|
+
if (!solid) {
|
|
36861
|
+
return void 0;
|
|
36862
|
+
}
|
|
36863
|
+
const color2 = resolve(solid);
|
|
36864
|
+
const transparency = transparencyOf(solid, localName15);
|
|
36865
|
+
return {
|
|
36866
|
+
kind: "solid",
|
|
36867
|
+
...color2 ? { color: color2 } : {},
|
|
36868
|
+
...transparency !== void 0 ? { transparency } : {}
|
|
36869
|
+
};
|
|
36870
|
+
}
|
|
36871
|
+
var LINE_ENDS = /* @__PURE__ */ new Set(["triangle", "stealth", "diamond", "oval", "arrow", "none"]);
|
|
36872
|
+
function readLine(ln, localName15, resolve) {
|
|
36873
|
+
const line = paint(ln, localName15, resolve) ?? { kind: "automatic" };
|
|
36874
|
+
const width = points(ln["@_w"]);
|
|
36875
|
+
if (ln["@_w"] !== void 0 && width !== void 0) line.width = width;
|
|
36876
|
+
const cmpd = ln["@_cmpd"];
|
|
36877
|
+
if (cmpd === "sng" || cmpd === "dbl" || cmpd === "thickThin" || cmpd === "thinThick" || cmpd === "tri") {
|
|
36878
|
+
line.compound = cmpd;
|
|
36879
|
+
}
|
|
36880
|
+
const cap = ln["@_cap"];
|
|
36881
|
+
if (cap === "rnd" || cap === "sq" || cap === "flat") line.cap = cap;
|
|
36882
|
+
const dash = child4(ln, "prstDash", localName15)?.["@_val"];
|
|
36883
|
+
if (typeof dash === "string") line.dash = dash;
|
|
36884
|
+
for (const join of ["round", "bevel", "miter"]) {
|
|
36885
|
+
if (has(ln, join, localName15)) line.join = join;
|
|
36886
|
+
}
|
|
36887
|
+
const head = child4(ln, "headEnd", localName15)?.["@_type"];
|
|
36888
|
+
if (typeof head === "string" && LINE_ENDS.has(head) && head !== "none") {
|
|
36889
|
+
line.beginArrow = head;
|
|
36890
|
+
}
|
|
36891
|
+
const tail = child4(ln, "tailEnd", localName15)?.["@_type"];
|
|
36892
|
+
if (typeof tail === "string" && LINE_ENDS.has(tail) && tail !== "none") {
|
|
36893
|
+
line.endArrow = tail;
|
|
36894
|
+
}
|
|
36895
|
+
return line;
|
|
36896
|
+
}
|
|
36897
|
+
function readEffects(list, localName15, resolve) {
|
|
36898
|
+
const effects = {};
|
|
36899
|
+
const shadow = child4(list, "outerShdw", localName15);
|
|
36900
|
+
if (shadow) {
|
|
36901
|
+
const color2 = resolve(shadow) ?? "#000000";
|
|
36902
|
+
const transparency = transparencyOf(shadow, localName15);
|
|
36903
|
+
effects.shadow = {
|
|
36904
|
+
color: color2,
|
|
36905
|
+
...transparency !== void 0 ? { transparency } : {},
|
|
36906
|
+
blur: points(shadow["@_blurRad"] ?? 0) ?? 0,
|
|
36907
|
+
distance: points(shadow["@_dist"] ?? 0) ?? 0,
|
|
36908
|
+
angle: round((Number(shadow["@_dir"] ?? 0) || 0) / 6e4)
|
|
36909
|
+
};
|
|
36910
|
+
}
|
|
36911
|
+
const glow = child4(list, "glow", localName15);
|
|
36912
|
+
if (glow) {
|
|
36913
|
+
const transparency = transparencyOf(glow, localName15);
|
|
36914
|
+
effects.glow = {
|
|
36915
|
+
color: resolve(glow) ?? "#FFFFFF",
|
|
36916
|
+
...transparency !== void 0 ? { transparency } : {},
|
|
36917
|
+
radius: points(glow["@_rad"] ?? 0) ?? 0
|
|
36918
|
+
};
|
|
36919
|
+
}
|
|
36920
|
+
const soft = child4(list, "softEdge", localName15);
|
|
36921
|
+
if (soft) {
|
|
36922
|
+
effects.softEdge = points(soft["@_rad"] ?? 0) ?? 0;
|
|
36923
|
+
}
|
|
36924
|
+
return Object.keys(effects).length > 0 ? effects : void 0;
|
|
36925
|
+
}
|
|
36926
|
+
function readChartElementFormatFromSpPr(spPr, localName15, resolve) {
|
|
36927
|
+
if (!spPr) {
|
|
36928
|
+
return void 0;
|
|
36929
|
+
}
|
|
36930
|
+
const format = {};
|
|
36931
|
+
const fill = paint(spPr, localName15, resolve);
|
|
36932
|
+
if (fill) format.fill = fill;
|
|
36933
|
+
const ln = child4(spPr, "ln", localName15);
|
|
36934
|
+
if (ln) format.line = readLine(ln, localName15, resolve);
|
|
36935
|
+
const effectLst = child4(spPr, "effectLst", localName15);
|
|
36936
|
+
const effects = effectLst ? readEffects(effectLst, localName15, resolve) : void 0;
|
|
36937
|
+
if (effects) format.effects = effects;
|
|
36938
|
+
return Object.keys(format).length > 0 ? format : void 0;
|
|
36939
|
+
}
|
|
36940
|
+
function collectChartSeriesNodes(plotArea, localName15) {
|
|
36941
|
+
const out = [];
|
|
36942
|
+
for (const [key2, value] of Object.entries(plotArea ?? {})) {
|
|
36943
|
+
if (!localName15(key2).endsWith("Chart") || !value || typeof value !== "object") {
|
|
36944
|
+
continue;
|
|
36945
|
+
}
|
|
36946
|
+
for (const [childKey2, ser] of Object.entries(value)) {
|
|
36947
|
+
if (localName15(childKey2) !== "ser") continue;
|
|
36948
|
+
for (const node of Array.isArray(ser) ? ser : [ser]) {
|
|
36949
|
+
if (node && typeof node === "object") out.push(node);
|
|
36950
|
+
}
|
|
36951
|
+
}
|
|
36952
|
+
}
|
|
36953
|
+
return out;
|
|
36954
|
+
}
|
|
36955
|
+
function readChartElementFormatsFromXml(nodes, data, localName15, resolve) {
|
|
36956
|
+
const out = {};
|
|
36957
|
+
const spPrOf = (owner) => readChartElementFormatFromSpPr(child4(owner, "spPr", localName15), localName15, resolve);
|
|
36958
|
+
const put = (key2, format) => {
|
|
36959
|
+
if (format) out[key2] = format;
|
|
36960
|
+
};
|
|
36961
|
+
const chartRoot = child4(nodes.chartSpace, "chart", localName15);
|
|
36962
|
+
const plotArea = child4(chartRoot, "plotArea", localName15);
|
|
36963
|
+
put("chartArea", spPrOf(nodes.chartSpace));
|
|
36964
|
+
put("plotArea", spPrOf(plotArea));
|
|
36965
|
+
put("title", spPrOf(child4(chartRoot, "title", localName15)));
|
|
36966
|
+
put("legend", spPrOf(child4(chartRoot, "legend", localName15)));
|
|
36967
|
+
(data.axes ?? []).forEach((_, axisIndex) => {
|
|
36968
|
+
const axis = plotArea ? findChartAxisNode(plotArea, data, axisIndex, localName15) : void 0;
|
|
36969
|
+
put(`axis:${axisIndex}`, spPrOf(axis));
|
|
36970
|
+
put(`majorGridlines:${axisIndex}`, spPrOf(child4(axis, "majorGridlines", localName15)));
|
|
36971
|
+
put(`minorGridlines:${axisIndex}`, spPrOf(child4(axis, "minorGridlines", localName15)));
|
|
36972
|
+
});
|
|
36973
|
+
nodes.seriesNodes.forEach((ser, index) => put(`series:${index}`, spPrOf(ser)));
|
|
36974
|
+
for (const [key2, value] of Object.entries(plotArea ?? {})) {
|
|
36975
|
+
if (localName15(key2).endsWith("Chart") && value && typeof value === "object") {
|
|
36976
|
+
const own = spPrOf(child4(value, "dLbls", localName15));
|
|
36977
|
+
if (own) {
|
|
36978
|
+
put("dataLabels", own);
|
|
36979
|
+
break;
|
|
36980
|
+
}
|
|
36981
|
+
}
|
|
36982
|
+
}
|
|
36983
|
+
if (!out.dataLabels && nodes.seriesNodes[0]) {
|
|
36984
|
+
put("dataLabels", spPrOf(child4(nodes.seriesNodes[0], "dLbls", localName15)));
|
|
36985
|
+
}
|
|
36986
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
36987
|
+
}
|
|
36988
|
+
|
|
36301
36989
|
// pptx/core/utils/chart-xlsx-write-validation.ts
|
|
36302
36990
|
function unsupported(reason) {
|
|
36303
36991
|
throw new Error(`Chart label replacement requires direct literal workbook cells: ${reason}.`);
|
|
@@ -36549,7 +37237,7 @@ function formulaCount(value) {
|
|
|
36549
37237
|
if (!value || typeof value !== "object") return 0;
|
|
36550
37238
|
if (Array.isArray(value)) return value.reduce((total, item) => total + formulaCount(item), 0);
|
|
36551
37239
|
return Object.entries(value).reduce(
|
|
36552
|
-
(total, [key2,
|
|
37240
|
+
(total, [key2, child16]) => total + (key2 === "f" || key2.endsWith(":f") ? 1 : formulaCount(child16)),
|
|
36553
37241
|
0
|
|
36554
37242
|
);
|
|
36555
37243
|
}
|
|
@@ -36641,7 +37329,7 @@ function parseChartBandFmts(seriesContainer, xmlLookup, colorParser) {
|
|
|
36641
37329
|
return result.length > 0 ? result : void 0;
|
|
36642
37330
|
}
|
|
36643
37331
|
var findKey3 = (node, name, localName15) => Object.keys(node).find((key2) => localName15(key2) === name);
|
|
36644
|
-
function
|
|
37332
|
+
function setOrdered2(node, name, value, order, localName15) {
|
|
36645
37333
|
const key2 = findKey3(node, name, localName15);
|
|
36646
37334
|
if (key2) {
|
|
36647
37335
|
node[key2] = value;
|
|
@@ -36657,8 +37345,8 @@ function setOrdered(node, name, value, order, localName15) {
|
|
|
36657
37345
|
for (const candidate of Object.keys(node)) {
|
|
36658
37346
|
delete node[candidate];
|
|
36659
37347
|
}
|
|
36660
|
-
for (const [candidate,
|
|
36661
|
-
node[candidate] =
|
|
37348
|
+
for (const [candidate, child16] of entries) {
|
|
37349
|
+
node[candidate] = child16;
|
|
36662
37350
|
}
|
|
36663
37351
|
}
|
|
36664
37352
|
function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor2) {
|
|
@@ -36696,10 +37384,10 @@ function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor
|
|
|
36696
37384
|
localName15,
|
|
36697
37385
|
resolveColor2
|
|
36698
37386
|
);
|
|
36699
|
-
|
|
37387
|
+
setOrdered2(node, "spPr", spPr, ["idx", "spPr", "extLst"], localName15);
|
|
36700
37388
|
}
|
|
36701
37389
|
}
|
|
36702
|
-
|
|
37390
|
+
setOrdered2(
|
|
36703
37391
|
seriesContainer,
|
|
36704
37392
|
"bandFmts",
|
|
36705
37393
|
{ "c:bandFmt": updated },
|
|
@@ -36860,10 +37548,10 @@ function readCachedValues(refContainer, xmlLookup) {
|
|
|
36860
37548
|
if (!cacheNode) {
|
|
36861
37549
|
return [];
|
|
36862
37550
|
}
|
|
36863
|
-
const
|
|
37551
|
+
const points5 = xmlLookup.getChildrenArrayByLocalName(cacheNode, "pt");
|
|
36864
37552
|
const byIndex = /* @__PURE__ */ new Map();
|
|
36865
37553
|
let maxIndex = -1;
|
|
36866
|
-
for (const point of
|
|
37554
|
+
for (const point of points5) {
|
|
36867
37555
|
const idx = Number.parseInt(String(point["@_idx"] ?? ""), 10);
|
|
36868
37556
|
if (!Number.isInteger(idx) || idx < 0) {
|
|
36869
37557
|
continue;
|
|
@@ -37088,7 +37776,7 @@ function readChartAppearance(text, properties) {
|
|
|
37088
37776
|
}
|
|
37089
37777
|
|
|
37090
37778
|
// chart/read-style.ts
|
|
37091
|
-
var
|
|
37779
|
+
var child5 = (parent, name) => chunkX7MGZQ6C_cjs.first(parent, name, CHART_COLOR_STYLE_NS);
|
|
37092
37780
|
function reference(node) {
|
|
37093
37781
|
if (!node) return void 0;
|
|
37094
37782
|
const out = { index: node.getAttribute("idx") ?? "" };
|
|
@@ -37099,10 +37787,10 @@ function reference(node) {
|
|
|
37099
37787
|
function entry(node) {
|
|
37100
37788
|
const out = {
|
|
37101
37789
|
sourceXml: chunkX7MGZQ6C_cjs.buildXml(node),
|
|
37102
|
-
...readChartAppearance(
|
|
37790
|
+
...readChartAppearance(child5(node, "defRPr"), child5(node, "spPr"))
|
|
37103
37791
|
};
|
|
37104
37792
|
for (const key2 of ["fontRef", "lineRef", "fillRef", "effectRef"]) {
|
|
37105
|
-
const ref = reference(
|
|
37793
|
+
const ref = reference(child5(node, key2 === "lineRef" ? "lnRef" : key2));
|
|
37106
37794
|
if (ref) out[key2] = ref;
|
|
37107
37795
|
}
|
|
37108
37796
|
return out;
|
|
@@ -37193,11 +37881,11 @@ function cEnum(context, parent, local, allowed) {
|
|
|
37193
37881
|
return void 0;
|
|
37194
37882
|
}
|
|
37195
37883
|
function reportUnmodelled(context, element, handled) {
|
|
37196
|
-
for (const
|
|
37197
|
-
if (handled.has(
|
|
37884
|
+
for (const child16 of chunkX7MGZQ6C_cjs.elements(element)) {
|
|
37885
|
+
if (handled.has(child16.localName)) continue;
|
|
37198
37886
|
context.issues.push({
|
|
37199
37887
|
code: "CHART_ELEMENT_NOT_MODELLED",
|
|
37200
|
-
message: `${path(
|
|
37888
|
+
message: `${path(child16)} is not modelled; it is kept only in the source part.`
|
|
37201
37889
|
});
|
|
37202
37890
|
}
|
|
37203
37891
|
}
|
|
@@ -37270,11 +37958,11 @@ function assignDefined(target, values) {
|
|
|
37270
37958
|
function parseCache(node) {
|
|
37271
37959
|
const cache = {
|
|
37272
37960
|
type: node.localName === "numCache" || node.localName === "numLit" ? "number" : "string",
|
|
37273
|
-
points: chunkX7MGZQ6C_cjs.children(node, "pt", chunkX7MGZQ6C_cjs.NS.c).map((
|
|
37274
|
-
const point = { value: cChild(
|
|
37275
|
-
const index = Number(attribute(
|
|
37961
|
+
points: chunkX7MGZQ6C_cjs.children(node, "pt", chunkX7MGZQ6C_cjs.NS.c).map((pt2) => {
|
|
37962
|
+
const point = { value: cChild(pt2, "v")?.textContent ?? "" };
|
|
37963
|
+
const index = Number(attribute(pt2, "idx") ?? Number.NaN);
|
|
37276
37964
|
if (Number.isInteger(index) && index >= 0) point.index = index;
|
|
37277
|
-
const formatCode3 = attribute(
|
|
37965
|
+
const formatCode3 = attribute(pt2, "formatCode");
|
|
37278
37966
|
if (formatCode3 !== void 0) point.formatCode = formatCode3;
|
|
37279
37967
|
return point;
|
|
37280
37968
|
})
|
|
@@ -37887,15 +38575,15 @@ function parsePlotArea(context, element) {
|
|
|
37887
38575
|
return plotArea;
|
|
37888
38576
|
}
|
|
37889
38577
|
const handled = new Set(PLOT_AREA);
|
|
37890
|
-
for (const
|
|
37891
|
-
if (CHART_GROUP_ELEMENTS[
|
|
37892
|
-
plotArea.groups.push(parseGroup(context,
|
|
37893
|
-
handled.add(
|
|
38578
|
+
for (const child16 of chunkX7MGZQ6C_cjs.elements(element)) {
|
|
38579
|
+
if (CHART_GROUP_ELEMENTS[child16.localName]) {
|
|
38580
|
+
plotArea.groups.push(parseGroup(context, child16));
|
|
38581
|
+
handled.add(child16.localName);
|
|
37894
38582
|
}
|
|
37895
|
-
const axis = AXIS_ELEMENTS[
|
|
38583
|
+
const axis = AXIS_ELEMENTS[child16.localName];
|
|
37896
38584
|
if (axis) {
|
|
37897
|
-
plotArea.axes.push(parseAxis(context,
|
|
37898
|
-
handled.add(
|
|
38585
|
+
plotArea.axes.push(parseAxis(context, child16, axis));
|
|
38586
|
+
handled.add(child16.localName);
|
|
37899
38587
|
}
|
|
37900
38588
|
}
|
|
37901
38589
|
reportUnmodelled(context, element, handled);
|
|
@@ -38186,9 +38874,9 @@ function take(pool, index) {
|
|
|
38186
38874
|
const at = pool.findIndex((entry2) => entry2.index === index);
|
|
38187
38875
|
return at < 0 ? void 0 : pool.splice(at, 1)[0];
|
|
38188
38876
|
}
|
|
38189
|
-
function dataPointsFromNeutral(
|
|
38877
|
+
function dataPointsFromNeutral(points5, styled) {
|
|
38190
38878
|
if (!styled) return void 0;
|
|
38191
|
-
const pool = [...
|
|
38879
|
+
const pool = [...points5];
|
|
38192
38880
|
for (const point of styled) {
|
|
38193
38881
|
const neutral = take(pool, point.idx);
|
|
38194
38882
|
if (!neutral) continue;
|
|
@@ -38974,11 +39662,11 @@ var MARKER_SYMBOLS2 = /* @__PURE__ */ new Set([
|
|
|
38974
39662
|
"x",
|
|
38975
39663
|
"auto"
|
|
38976
39664
|
]);
|
|
38977
|
-
function
|
|
39665
|
+
function keyOf3(node, name, localName15) {
|
|
38978
39666
|
return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
|
|
38979
39667
|
}
|
|
38980
39668
|
function nodesOf(node, name, localName15) {
|
|
38981
|
-
const key2 =
|
|
39669
|
+
const key2 = keyOf3(node, name, localName15);
|
|
38982
39670
|
const value = key2 ? node[key2] : void 0;
|
|
38983
39671
|
const values = Array.isArray(value) ? value : value ? [value] : [];
|
|
38984
39672
|
return values.filter(
|
|
@@ -39002,7 +39690,7 @@ function literalColor(fillNode, localName15, colorParser) {
|
|
|
39002
39690
|
return resolved;
|
|
39003
39691
|
}
|
|
39004
39692
|
}
|
|
39005
|
-
const srgbKey =
|
|
39693
|
+
const srgbKey = keyOf3(fillNode, "srgbClr", localName15);
|
|
39006
39694
|
const srgb = srgbKey ? fillNode[srgbKey] : void 0;
|
|
39007
39695
|
const val = srgb?.["@_val"];
|
|
39008
39696
|
return typeof val === "string" && /^[0-9A-Fa-f]{6}$/u.test(val) ? `#${val.toUpperCase()}` : void 0;
|
|
@@ -39012,7 +39700,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
|
|
|
39012
39700
|
return void 0;
|
|
39013
39701
|
}
|
|
39014
39702
|
const result = {};
|
|
39015
|
-
const solidFillKey =
|
|
39703
|
+
const solidFillKey = keyOf3(spPrNode, "solidFill", localName15);
|
|
39016
39704
|
const fillColor = literalColor(
|
|
39017
39705
|
solidFillKey ? spPrNode[solidFillKey] : void 0,
|
|
39018
39706
|
localName15,
|
|
@@ -39021,10 +39709,10 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
|
|
|
39021
39709
|
if (fillColor) {
|
|
39022
39710
|
result.fillColor = fillColor;
|
|
39023
39711
|
}
|
|
39024
|
-
const lnKey =
|
|
39712
|
+
const lnKey = keyOf3(spPrNode, "ln", localName15);
|
|
39025
39713
|
const ln = lnKey ? spPrNode[lnKey] : void 0;
|
|
39026
39714
|
if (ln) {
|
|
39027
|
-
const lnFillKey =
|
|
39715
|
+
const lnFillKey = keyOf3(ln, "solidFill", localName15);
|
|
39028
39716
|
const strokeColor = literalColor(
|
|
39029
39717
|
lnFillKey ? ln[lnFillKey] : void 0,
|
|
39030
39718
|
localName15,
|
|
@@ -39037,7 +39725,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
|
|
|
39037
39725
|
if (w !== void 0) {
|
|
39038
39726
|
result.strokeWidth = w / 12700;
|
|
39039
39727
|
}
|
|
39040
|
-
const dashKey =
|
|
39728
|
+
const dashKey = keyOf3(ln, "prstDash", localName15);
|
|
39041
39729
|
const dash = dashKey ? ln[dashKey]?.["@_val"] : void 0;
|
|
39042
39730
|
if (dash !== void 0 && dash !== null && String(dash).length > 0) {
|
|
39043
39731
|
result.strokeDashStyle = String(dash);
|
|
@@ -39049,20 +39737,20 @@ function parseTypedMarker(markerNode, localName15, colorParser) {
|
|
|
39049
39737
|
if (!markerNode) {
|
|
39050
39738
|
return void 0;
|
|
39051
39739
|
}
|
|
39052
|
-
const symbolKey =
|
|
39740
|
+
const symbolKey = keyOf3(markerNode, "symbol", localName15);
|
|
39053
39741
|
const symbolNode = symbolKey ? markerNode[symbolKey] : void 0;
|
|
39054
39742
|
const rawSymbol = String(symbolNode?.["@_val"] ?? "").trim();
|
|
39055
39743
|
if (!MARKER_SYMBOLS2.has(rawSymbol)) {
|
|
39056
39744
|
return void 0;
|
|
39057
39745
|
}
|
|
39058
39746
|
const marker = { symbol: rawSymbol };
|
|
39059
|
-
const sizeKey =
|
|
39747
|
+
const sizeKey = keyOf3(markerNode, "size", localName15);
|
|
39060
39748
|
const sizeNode = sizeKey ? markerNode[sizeKey] : void 0;
|
|
39061
39749
|
const size = Number(sizeNode?.["@_val"]);
|
|
39062
39750
|
if (Number.isInteger(size) && size >= 2 && size <= 72) {
|
|
39063
39751
|
marker.size = size;
|
|
39064
39752
|
}
|
|
39065
|
-
const spPrKey =
|
|
39753
|
+
const spPrKey = keyOf3(markerNode, "spPr", localName15);
|
|
39066
39754
|
const spPr = parseTypedShapeProps(
|
|
39067
39755
|
spPrKey ? markerNode[spPrKey] : void 0,
|
|
39068
39756
|
localName15,
|
|
@@ -39107,7 +39795,7 @@ function parseTypedTextStyle(txPrNode, localName15, colorParser) {
|
|
|
39107
39795
|
return Object.keys(style).length > 0 ? style : void 0;
|
|
39108
39796
|
}
|
|
39109
39797
|
function resolveSpPrOverride(node, value, localName15, colorParser) {
|
|
39110
|
-
const existingKey =
|
|
39798
|
+
const existingKey = keyOf3(node, "spPr", localName15);
|
|
39111
39799
|
const existing = existingKey ? node[existingKey] : void 0;
|
|
39112
39800
|
if (value.shapeProperties && JSON.stringify(parseTypedShapeProps(existing, localName15, colorParser)) !== JSON.stringify(value.shapeProperties)) {
|
|
39113
39801
|
return chunkX7MGZQ6C_cjs.writeChartShapeProps(
|
|
@@ -39120,7 +39808,7 @@ function resolveSpPrOverride(node, value, localName15, colorParser) {
|
|
|
39120
39808
|
return value.shapePropertiesXml;
|
|
39121
39809
|
}
|
|
39122
39810
|
function resolveTxPrOverride(node, value, localName15, colorParser) {
|
|
39123
|
-
const existingKey =
|
|
39811
|
+
const existingKey = keyOf3(node, "txPr", localName15);
|
|
39124
39812
|
const existing = existingKey ? node[existingKey] : void 0;
|
|
39125
39813
|
if (value.textStyle && JSON.stringify(parseTypedTextStyle(existing, localName15, colorParser)) !== JSON.stringify(value.textStyle)) {
|
|
39126
39814
|
const authoredDefRPr = existing ? resolveDefRPr(existing, localName15) : void 0;
|
|
@@ -39133,7 +39821,7 @@ function resolveTxPrOverride(node, value, localName15, colorParser) {
|
|
|
39133
39821
|
return value.txPrXml;
|
|
39134
39822
|
}
|
|
39135
39823
|
function resolveMarkerOverride(node, value, localName15, colorParser) {
|
|
39136
|
-
const existingKey =
|
|
39824
|
+
const existingKey = keyOf3(node, "marker", localName15);
|
|
39137
39825
|
const existing = existingKey ? node[existingKey] : void 0;
|
|
39138
39826
|
if (value.marker && JSON.stringify(parseTypedMarker(existing, localName15, colorParser)) !== JSON.stringify(value.marker)) {
|
|
39139
39827
|
return chunkX7MGZQ6C_cjs.buildChartMarkerXml(
|
|
@@ -39154,12 +39842,12 @@ function prefixOf2(key2) {
|
|
|
39154
39842
|
return key2?.includes(":") ? key2.slice(0, key2.lastIndexOf(":")) : "";
|
|
39155
39843
|
}
|
|
39156
39844
|
function cloneChild(node, name, localName15) {
|
|
39157
|
-
const key2 =
|
|
39845
|
+
const key2 = keyOf3(node, name, localName15);
|
|
39158
39846
|
const value = key2 ? node[key2] : void 0;
|
|
39159
39847
|
return value && typeof value === "object" && !Array.isArray(value) ? chunkX7MGZQ6C_cjs.cloneXmlObject(value) : void 0;
|
|
39160
39848
|
}
|
|
39161
39849
|
function parseChartPivotFormats(chart, localName15, colorParser) {
|
|
39162
|
-
const rootKey =
|
|
39850
|
+
const rootKey = keyOf3(chart, "pivotFmts", localName15);
|
|
39163
39851
|
const value = rootKey ? chart?.[rootKey] : void 0;
|
|
39164
39852
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
39165
39853
|
return void 0;
|
|
@@ -39167,17 +39855,17 @@ function parseChartPivotFormats(chart, localName15, colorParser) {
|
|
|
39167
39855
|
const root = value;
|
|
39168
39856
|
const formats = [];
|
|
39169
39857
|
for (const node of nodesOf(root, "pivotFmt", localName15)) {
|
|
39170
|
-
const idxKey =
|
|
39858
|
+
const idxKey = keyOf3(node, "idx", localName15);
|
|
39171
39859
|
const idxNode = idxKey ? node[idxKey] : void 0;
|
|
39172
39860
|
const index = idxNode && typeof idxNode === "object" && !Array.isArray(idxNode) ? unsigned(idxNode["@_val"]) : void 0;
|
|
39173
39861
|
if (index === void 0) {
|
|
39174
39862
|
continue;
|
|
39175
39863
|
}
|
|
39176
|
-
const spPrKey =
|
|
39864
|
+
const spPrKey = keyOf3(node, "spPr", localName15);
|
|
39177
39865
|
const spPrNode = spPrKey ? node[spPrKey] : void 0;
|
|
39178
|
-
const txPrKey =
|
|
39866
|
+
const txPrKey = keyOf3(node, "txPr", localName15);
|
|
39179
39867
|
const txPrNode = txPrKey ? node[txPrKey] : void 0;
|
|
39180
|
-
const markerKey =
|
|
39868
|
+
const markerKey = keyOf3(node, "marker", localName15);
|
|
39181
39869
|
const markerNode = markerKey ? node[markerKey] : void 0;
|
|
39182
39870
|
const shapeProperties2 = parseTypedShapeProps(spPrNode, localName15, colorParser);
|
|
39183
39871
|
const textStyle = parseTypedTextStyle(txPrNode, localName15, colorParser);
|
|
@@ -39201,7 +39889,7 @@ function setChild(node, name, value, prefix, localName15) {
|
|
|
39201
39889
|
if (value === void 0) {
|
|
39202
39890
|
return;
|
|
39203
39891
|
}
|
|
39204
|
-
const key2 =
|
|
39892
|
+
const key2 = keyOf3(node, name, localName15);
|
|
39205
39893
|
if (value === null) {
|
|
39206
39894
|
if (key2) {
|
|
39207
39895
|
delete node[key2];
|
|
@@ -39215,7 +39903,7 @@ function buildFormat(value, prefix, localName15, colorParser) {
|
|
|
39215
39903
|
throw new RangeError(`pivotFmt.index must be an integer from 0 through ${MAX_UINT}`);
|
|
39216
39904
|
}
|
|
39217
39905
|
const node = chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
|
|
39218
|
-
const idxKey =
|
|
39906
|
+
const idxKey = keyOf3(node, "idx", localName15) ?? `${prefix}:idx`;
|
|
39219
39907
|
const idxValue = node[idxKey];
|
|
39220
39908
|
const idx = idxValue && typeof idxValue === "object" && !Array.isArray(idxValue) ? idxValue : {};
|
|
39221
39909
|
idx["@_val"] = String(value.index);
|
|
@@ -39248,21 +39936,21 @@ function buildFormat(value, prefix, localName15, colorParser) {
|
|
|
39248
39936
|
delete node[key2];
|
|
39249
39937
|
}
|
|
39250
39938
|
for (const name of CHILDREN) {
|
|
39251
|
-
for (const [key2,
|
|
39939
|
+
for (const [key2, child16] of entries) {
|
|
39252
39940
|
if (localName15(key2) === name) {
|
|
39253
|
-
node[key2] =
|
|
39941
|
+
node[key2] = child16;
|
|
39254
39942
|
}
|
|
39255
39943
|
}
|
|
39256
39944
|
}
|
|
39257
|
-
for (const [key2,
|
|
39945
|
+
for (const [key2, child16] of entries) {
|
|
39258
39946
|
if (!CHILDREN.includes(localName15(key2))) {
|
|
39259
|
-
node[key2] =
|
|
39947
|
+
node[key2] = child16;
|
|
39260
39948
|
}
|
|
39261
39949
|
}
|
|
39262
39950
|
return node;
|
|
39263
39951
|
}
|
|
39264
39952
|
function applyChartPivotFormats(chart, value, localName15, colorParser) {
|
|
39265
|
-
const rootKey =
|
|
39953
|
+
const rootKey = keyOf3(chart, "pivotFmts", localName15);
|
|
39266
39954
|
if (value === null) {
|
|
39267
39955
|
if (rootKey) {
|
|
39268
39956
|
delete chart[rootKey];
|
|
@@ -39272,9 +39960,9 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
|
|
|
39272
39960
|
if (!value.formats.length) {
|
|
39273
39961
|
throw new RangeError("pivotFormats.formats must not be empty");
|
|
39274
39962
|
}
|
|
39275
|
-
const prefix = prefixOf2(rootKey ??
|
|
39963
|
+
const prefix = prefixOf2(rootKey ?? keyOf3(chart, "plotArea", localName15)) || "c";
|
|
39276
39964
|
const root = chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
|
|
39277
|
-
const itemKey =
|
|
39965
|
+
const itemKey = keyOf3(root, "pivotFmt", localName15) ?? `${prefix}:pivotFmt`;
|
|
39278
39966
|
root[itemKey] = value.formats.map((item) => buildFormat(item, prefix, localName15, colorParser));
|
|
39279
39967
|
if (rootKey) {
|
|
39280
39968
|
chart[rootKey] = root;
|
|
@@ -39285,12 +39973,12 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
|
|
|
39285
39973
|
delete chart[key2];
|
|
39286
39974
|
}
|
|
39287
39975
|
let inserted = false;
|
|
39288
|
-
for (const [key2,
|
|
39976
|
+
for (const [key2, child16] of entries) {
|
|
39289
39977
|
if (!inserted && ROOT_FOLLOWERS.includes(localName15(key2))) {
|
|
39290
39978
|
chart[`${prefix}:pivotFmts`] = root;
|
|
39291
39979
|
inserted = true;
|
|
39292
39980
|
}
|
|
39293
|
-
chart[key2] =
|
|
39981
|
+
chart[key2] = child16;
|
|
39294
39982
|
}
|
|
39295
39983
|
if (!inserted) {
|
|
39296
39984
|
chart[`${prefix}:pivotFmts`] = root;
|
|
@@ -39307,16 +39995,16 @@ var HEADER_CHILDREN = [
|
|
|
39307
39995
|
"firstFooter"
|
|
39308
39996
|
];
|
|
39309
39997
|
var ORIENTATIONS = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
|
|
39310
|
-
function
|
|
39998
|
+
function keyOf4(node, name, localName15) {
|
|
39311
39999
|
return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
|
|
39312
40000
|
}
|
|
39313
|
-
function
|
|
39314
|
-
const key2 =
|
|
40001
|
+
function child6(node, name, localName15) {
|
|
40002
|
+
const key2 = keyOf4(node, name, localName15);
|
|
39315
40003
|
const value = key2 ? node?.[key2] : void 0;
|
|
39316
40004
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
39317
40005
|
}
|
|
39318
40006
|
function childText(node, name, localName15) {
|
|
39319
|
-
const key2 =
|
|
40007
|
+
const key2 = keyOf4(node, name, localName15);
|
|
39320
40008
|
if (!key2) {
|
|
39321
40009
|
return void 0;
|
|
39322
40010
|
}
|
|
@@ -39422,15 +40110,15 @@ function parsePageSetup(node) {
|
|
|
39422
40110
|
return result;
|
|
39423
40111
|
}
|
|
39424
40112
|
function parseChartPrintSettings(chartSpace, localName15) {
|
|
39425
|
-
const node =
|
|
40113
|
+
const node = child6(chartSpace, "printSettings", localName15);
|
|
39426
40114
|
if (!node) {
|
|
39427
40115
|
return void 0;
|
|
39428
40116
|
}
|
|
39429
|
-
const header =
|
|
39430
|
-
const margins =
|
|
40117
|
+
const header = child6(node, "headerFooter", localName15);
|
|
40118
|
+
const margins = child6(node, "pageMargins", localName15);
|
|
39431
40119
|
const parsedMargins = margins ? parseMargins(margins) : void 0;
|
|
39432
|
-
const setup =
|
|
39433
|
-
const legacy =
|
|
40120
|
+
const setup = child6(node, "pageSetup", localName15);
|
|
40121
|
+
const legacy = child6(node, "legacyDrawingHF", localName15);
|
|
39434
40122
|
const relationshipId = legacy ? Object.entries(legacy).find(([key2]) => key2.startsWith("@_") && localName15(key2) === "id")?.[1] : void 0;
|
|
39435
40123
|
return {
|
|
39436
40124
|
...header ? { headerFooter: parseHeaderFooter(header, localName15) } : {},
|
|
@@ -39452,11 +40140,11 @@ var HEADER_CHILDREN2 = [
|
|
|
39452
40140
|
];
|
|
39453
40141
|
var PRINT_CHILDREN = ["headerFooter", "pageMargins", "pageSetup", "legacyDrawingHF"];
|
|
39454
40142
|
var ORIENTATIONS2 = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
|
|
39455
|
-
function
|
|
40143
|
+
function keyOf5(node, name, localName15) {
|
|
39456
40144
|
return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
|
|
39457
40145
|
}
|
|
39458
|
-
function
|
|
39459
|
-
const key2 =
|
|
40146
|
+
function child7(node, name, localName15) {
|
|
40147
|
+
const key2 = keyOf5(node, name, localName15);
|
|
39460
40148
|
const value = key2 ? node?.[key2] : void 0;
|
|
39461
40149
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
39462
40150
|
}
|
|
@@ -39495,7 +40183,7 @@ function replaceChildrenInOrder(node, names, localName15) {
|
|
|
39495
40183
|
function applyHeaderFooter(existing, value, localName15, prefix) {
|
|
39496
40184
|
const node = chunkX7MGZQ6C_cjs.cloneXmlObject(existing) ?? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
|
|
39497
40185
|
for (const name of HEADER_CHILDREN2) {
|
|
39498
|
-
const oldKey =
|
|
40186
|
+
const oldKey = keyOf5(node, name, localName15);
|
|
39499
40187
|
if (value[name] === void 0) {
|
|
39500
40188
|
if (oldKey) {
|
|
39501
40189
|
delete node[oldKey];
|
|
@@ -39550,7 +40238,7 @@ function applyPageSetup(existing, value) {
|
|
|
39550
40238
|
return node;
|
|
39551
40239
|
}
|
|
39552
40240
|
function setChild2(node, name, value, localName15, prefix) {
|
|
39553
|
-
const oldKey =
|
|
40241
|
+
const oldKey = keyOf5(node, name, localName15);
|
|
39554
40242
|
if (value === null) {
|
|
39555
40243
|
if (oldKey) {
|
|
39556
40244
|
delete node[oldKey];
|
|
@@ -39560,7 +40248,7 @@ function setChild2(node, name, value, localName15, prefix) {
|
|
|
39560
40248
|
}
|
|
39561
40249
|
}
|
|
39562
40250
|
function applyChartPrintSettings(chartSpace, settings, localName15) {
|
|
39563
|
-
const rootKey =
|
|
40251
|
+
const rootKey = keyOf5(chartSpace, "printSettings", localName15);
|
|
39564
40252
|
if (settings === null) {
|
|
39565
40253
|
if (rootKey) {
|
|
39566
40254
|
delete chartSpace[rootKey];
|
|
@@ -39569,13 +40257,13 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
|
|
|
39569
40257
|
}
|
|
39570
40258
|
const existing = rootKey ? chartSpace[rootKey] : void 0;
|
|
39571
40259
|
const node = chunkX7MGZQ6C_cjs.cloneXmlObject(existing) ?? chunkX7MGZQ6C_cjs.cloneXmlObject(settings.rawXml) ?? {};
|
|
39572
|
-
const prefix = prefixOf3(rootKey ??
|
|
40260
|
+
const prefix = prefixOf3(rootKey ?? keyOf5(chartSpace, "chart", localName15)) || "c";
|
|
39573
40261
|
if (settings.headerFooter !== void 0) {
|
|
39574
40262
|
setChild2(
|
|
39575
40263
|
node,
|
|
39576
40264
|
"headerFooter",
|
|
39577
40265
|
settings.headerFooter === null ? null : applyHeaderFooter(
|
|
39578
|
-
|
|
40266
|
+
child7(node, "headerFooter", localName15),
|
|
39579
40267
|
settings.headerFooter,
|
|
39580
40268
|
localName15,
|
|
39581
40269
|
prefix
|
|
@@ -39588,7 +40276,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
|
|
|
39588
40276
|
setChild2(
|
|
39589
40277
|
node,
|
|
39590
40278
|
"pageMargins",
|
|
39591
|
-
settings.pageMargins === null ? null : applyMargins(
|
|
40279
|
+
settings.pageMargins === null ? null : applyMargins(child7(node, "pageMargins", localName15), settings.pageMargins),
|
|
39592
40280
|
localName15,
|
|
39593
40281
|
prefix
|
|
39594
40282
|
);
|
|
@@ -39597,7 +40285,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
|
|
|
39597
40285
|
setChild2(
|
|
39598
40286
|
node,
|
|
39599
40287
|
"pageSetup",
|
|
39600
|
-
settings.pageSetup === null ? null : applyPageSetup(
|
|
40288
|
+
settings.pageSetup === null ? null : applyPageSetup(child7(node, "pageSetup", localName15), settings.pageSetup),
|
|
39601
40289
|
localName15,
|
|
39602
40290
|
prefix
|
|
39603
40291
|
);
|
|
@@ -39606,7 +40294,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
|
|
|
39606
40294
|
if (settings.legacyDrawingHeaderFooterRelationshipId === null) {
|
|
39607
40295
|
setChild2(node, "legacyDrawingHF", null, localName15, prefix);
|
|
39608
40296
|
} else {
|
|
39609
|
-
const legacy = chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
40297
|
+
const legacy = chunkX7MGZQ6C_cjs.cloneXmlObject(child7(node, "legacyDrawingHF", localName15)) ?? {};
|
|
39610
40298
|
const idKey = Object.keys(legacy).find(
|
|
39611
40299
|
(key2) => key2.startsWith("@_") && localName15(key2) === "id"
|
|
39612
40300
|
);
|
|
@@ -39642,7 +40330,7 @@ function insertPrintSettings(chartSpace, node, prefix, localName15) {
|
|
|
39642
40330
|
// pptx/core/utils/chart-protection.ts
|
|
39643
40331
|
var CX_NAMESPACE = "http://schemas.microsoft.com/office/drawing/2014/chartex";
|
|
39644
40332
|
var FIELDS3 = ["chartObject", "data", "formatting", "selection", "userInterface"];
|
|
39645
|
-
function
|
|
40333
|
+
function keyOf6(node, name, localName15) {
|
|
39646
40334
|
return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
|
|
39647
40335
|
}
|
|
39648
40336
|
function prefixOf4(key2) {
|
|
@@ -39673,7 +40361,7 @@ function parseChartProtection(chartSpace, localName15) {
|
|
|
39673
40361
|
if (chartSpace && isCxChartSpace(chartSpace)) {
|
|
39674
40362
|
return void 0;
|
|
39675
40363
|
}
|
|
39676
|
-
const protectionKey =
|
|
40364
|
+
const protectionKey = keyOf6(chartSpace, "protection", localName15);
|
|
39677
40365
|
const value = protectionKey ? chartSpace?.[protectionKey] : void 0;
|
|
39678
40366
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
39679
40367
|
return void 0;
|
|
@@ -39681,10 +40369,10 @@ function parseChartProtection(chartSpace, localName15) {
|
|
|
39681
40369
|
const node = value;
|
|
39682
40370
|
const result = { rawXml: chunkX7MGZQ6C_cjs.cloneXmlObject(node) ?? {} };
|
|
39683
40371
|
for (const field of FIELDS3) {
|
|
39684
|
-
const childKey2 =
|
|
39685
|
-
const
|
|
39686
|
-
if (
|
|
39687
|
-
const parsed = parseBoolean3(
|
|
40372
|
+
const childKey2 = keyOf6(node, field, localName15);
|
|
40373
|
+
const child16 = childKey2 ? node[childKey2] : void 0;
|
|
40374
|
+
if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
|
|
40375
|
+
const parsed = parseBoolean3(child16);
|
|
39688
40376
|
if (parsed !== void 0) {
|
|
39689
40377
|
result[field] = parsed;
|
|
39690
40378
|
}
|
|
@@ -39698,7 +40386,7 @@ function applyField(node, field, value, prefix, localName15) {
|
|
|
39698
40386
|
if (value === void 0) {
|
|
39699
40387
|
return;
|
|
39700
40388
|
}
|
|
39701
|
-
const existingKey =
|
|
40389
|
+
const existingKey = keyOf6(node, field, localName15);
|
|
39702
40390
|
if (value === null) {
|
|
39703
40391
|
if (existingKey) {
|
|
39704
40392
|
delete node[existingKey];
|
|
@@ -39713,9 +40401,9 @@ function applyField(node, field, value, prefix, localName15) {
|
|
|
39713
40401
|
if (existing && typeof existing === "object" && !Array.isArray(existing) && parseBoolean3(existing) === value) {
|
|
39714
40402
|
return;
|
|
39715
40403
|
}
|
|
39716
|
-
const
|
|
39717
|
-
|
|
39718
|
-
node[key2] =
|
|
40404
|
+
const child16 = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
|
|
40405
|
+
child16["@_val"] = value ? "1" : "0";
|
|
40406
|
+
node[key2] = child16;
|
|
39719
40407
|
}
|
|
39720
40408
|
function reorderKnownChildren(node, localName15) {
|
|
39721
40409
|
const entries = Object.entries(node);
|
|
@@ -39735,7 +40423,7 @@ function applyChartProtection(chartSpace, value, localName15) {
|
|
|
39735
40423
|
if (isCxChartSpace(chartSpace)) {
|
|
39736
40424
|
return;
|
|
39737
40425
|
}
|
|
39738
|
-
const protectionKey =
|
|
40426
|
+
const protectionKey = keyOf6(chartSpace, "protection", localName15);
|
|
39739
40427
|
if (value === null) {
|
|
39740
40428
|
if (protectionKey) {
|
|
39741
40429
|
delete chartSpace[protectionKey];
|
|
@@ -39744,7 +40432,7 @@ function applyChartProtection(chartSpace, value, localName15) {
|
|
|
39744
40432
|
}
|
|
39745
40433
|
const existing = protectionKey ? chartSpace[protectionKey] : void 0;
|
|
39746
40434
|
const node = value.rawXml !== void 0 ? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
|
|
39747
|
-
const chartKey =
|
|
40435
|
+
const chartKey = keyOf6(chartSpace, "chart", localName15);
|
|
39748
40436
|
const prefix = prefixOf4(protectionKey ?? chartKey) || "c";
|
|
39749
40437
|
for (const field of FIELDS3) {
|
|
39750
40438
|
applyField(node, field, value[field], prefix, localName15);
|
|
@@ -39759,12 +40447,12 @@ function applyChartProtection(chartSpace, value, localName15) {
|
|
|
39759
40447
|
delete chartSpace[key2];
|
|
39760
40448
|
}
|
|
39761
40449
|
let inserted = false;
|
|
39762
|
-
for (const [key2,
|
|
40450
|
+
for (const [key2, child16] of entries) {
|
|
39763
40451
|
if (!inserted && localName15(key2) === "chart") {
|
|
39764
40452
|
chartSpace[qualified2(prefix, "protection")] = node;
|
|
39765
40453
|
inserted = true;
|
|
39766
40454
|
}
|
|
39767
|
-
chartSpace[key2] =
|
|
40455
|
+
chartSpace[key2] = child16;
|
|
39768
40456
|
}
|
|
39769
40457
|
if (!inserted) {
|
|
39770
40458
|
chartSpace[qualified2(prefix, "protection")] = node;
|
|
@@ -39847,7 +40535,7 @@ function parseChartStyleDefinition(styleRoot, xmlLookup, resolveSchemeColor, par
|
|
|
39847
40535
|
// pptx/core/utils/chart-pivot-source.ts
|
|
39848
40536
|
var MAX_UINT2 = 4294967295;
|
|
39849
40537
|
var CHILDREN2 = ["name", "fmtId", "extLst"];
|
|
39850
|
-
function
|
|
40538
|
+
function keyOf7(node, name, localName15) {
|
|
39851
40539
|
return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
|
|
39852
40540
|
}
|
|
39853
40541
|
function prefixOf5(key2) {
|
|
@@ -39871,14 +40559,14 @@ function parseUnsigned(value) {
|
|
|
39871
40559
|
return Number.isSafeInteger(parsed) && parsed <= MAX_UINT2 ? parsed : void 0;
|
|
39872
40560
|
}
|
|
39873
40561
|
function parseChartPivotSource(chartSpace, localName15) {
|
|
39874
|
-
const rootKey =
|
|
40562
|
+
const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
|
|
39875
40563
|
const value = rootKey ? chartSpace?.[rootKey] : void 0;
|
|
39876
40564
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
39877
40565
|
return void 0;
|
|
39878
40566
|
}
|
|
39879
40567
|
const node = value;
|
|
39880
|
-
const nameKey =
|
|
39881
|
-
const fmtKey =
|
|
40568
|
+
const nameKey = keyOf7(node, "name", localName15);
|
|
40569
|
+
const fmtKey = keyOf7(node, "fmtId", localName15);
|
|
39882
40570
|
const name = nameKey ? textOf(node[nameKey]) : void 0;
|
|
39883
40571
|
const fmtNode = fmtKey ? node[fmtKey] : void 0;
|
|
39884
40572
|
const formatId = fmtNode && typeof fmtNode === "object" && !Array.isArray(fmtNode) ? parseUnsigned(fmtNode["@_val"]) : void 0;
|
|
@@ -39902,7 +40590,7 @@ function reorder(node, localName15) {
|
|
|
39902
40590
|
}
|
|
39903
40591
|
}
|
|
39904
40592
|
function applyChartPivotSource(chartSpace, value, localName15) {
|
|
39905
|
-
const rootKey =
|
|
40593
|
+
const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
|
|
39906
40594
|
if (value === null) {
|
|
39907
40595
|
if (rootKey) {
|
|
39908
40596
|
delete chartSpace[rootKey];
|
|
@@ -39914,9 +40602,9 @@ function applyChartPivotSource(chartSpace, value, localName15) {
|
|
|
39914
40602
|
}
|
|
39915
40603
|
const existing = rootKey ? chartSpace[rootKey] : void 0;
|
|
39916
40604
|
const node = value.rawXml ? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
|
|
39917
|
-
const chartKey =
|
|
40605
|
+
const chartKey = keyOf7(chartSpace, "chart", localName15);
|
|
39918
40606
|
const prefix = prefixOf5(rootKey ?? chartKey) || "c";
|
|
39919
|
-
const nameKey =
|
|
40607
|
+
const nameKey = keyOf7(node, "name", localName15) ?? `${prefix}:name`;
|
|
39920
40608
|
const nameNode = node[nameKey];
|
|
39921
40609
|
if (textOf(nameNode) !== value.name) {
|
|
39922
40610
|
if (nameNode && typeof nameNode === "object" && !Array.isArray(nameNode)) {
|
|
@@ -39925,7 +40613,7 @@ function applyChartPivotSource(chartSpace, value, localName15) {
|
|
|
39925
40613
|
node[nameKey] = { "#text": value.name };
|
|
39926
40614
|
}
|
|
39927
40615
|
}
|
|
39928
|
-
const fmtKey =
|
|
40616
|
+
const fmtKey = keyOf7(node, "fmtId", localName15) ?? `${prefix}:fmtId`;
|
|
39929
40617
|
const fmtValue = node[fmtKey];
|
|
39930
40618
|
const fmtNode = fmtValue && typeof fmtValue === "object" && !Array.isArray(fmtValue) ? fmtValue : {};
|
|
39931
40619
|
if (parseUnsigned(fmtNode["@_val"]) !== value.formatId) {
|
|
@@ -39942,12 +40630,12 @@ function applyChartPivotSource(chartSpace, value, localName15) {
|
|
|
39942
40630
|
delete chartSpace[key2];
|
|
39943
40631
|
}
|
|
39944
40632
|
let inserted = false;
|
|
39945
|
-
for (const [key2,
|
|
40633
|
+
for (const [key2, child16] of entries) {
|
|
39946
40634
|
if (!inserted && ["protection", "chart"].includes(localName15(key2))) {
|
|
39947
40635
|
chartSpace[`${prefix}:pivotSource`] = node;
|
|
39948
40636
|
inserted = true;
|
|
39949
40637
|
}
|
|
39950
|
-
chartSpace[key2] =
|
|
40638
|
+
chartSpace[key2] = child16;
|
|
39951
40639
|
}
|
|
39952
40640
|
if (!inserted) {
|
|
39953
40641
|
chartSpace[`${prefix}:pivotSource`] = node;
|
|
@@ -39981,10 +40669,10 @@ function extractMultiLevelCategoryValues(categoryContainer, xmlLookup) {
|
|
|
39981
40669
|
};
|
|
39982
40670
|
}
|
|
39983
40671
|
function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
|
|
39984
|
-
const
|
|
40672
|
+
const points5 = xmlLookup.getChildrenArrayByLocalName(lvlNode, "pt");
|
|
39985
40673
|
const byIndex = /* @__PURE__ */ new Map();
|
|
39986
40674
|
let maxIndex = -1;
|
|
39987
|
-
for (const point of
|
|
40675
|
+
for (const point of points5) {
|
|
39988
40676
|
const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
|
|
39989
40677
|
if (!Number.isFinite(index) || index < 0) {
|
|
39990
40678
|
continue;
|
|
@@ -40016,19 +40704,19 @@ function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
|
|
|
40016
40704
|
}
|
|
40017
40705
|
|
|
40018
40706
|
// pptx/core/utils/smartart-merged-text-label.ts
|
|
40019
|
-
function prSetOf(
|
|
40020
|
-
const key2 = Object.keys(
|
|
40021
|
-
const value = key2 ?
|
|
40707
|
+
function prSetOf(pt2, localName15) {
|
|
40708
|
+
const key2 = Object.keys(pt2).find((candidate) => localName15(candidate) === "prSet");
|
|
40709
|
+
const value = key2 ? pt2[key2] : void 0;
|
|
40022
40710
|
return Array.isArray(value) ? value[0] : value;
|
|
40023
40711
|
}
|
|
40024
|
-
function readPresPoints(
|
|
40712
|
+
function readPresPoints(points5, localName15) {
|
|
40025
40713
|
const byId = /* @__PURE__ */ new Map();
|
|
40026
|
-
for (const
|
|
40027
|
-
if (!
|
|
40714
|
+
for (const pt2 of points5) {
|
|
40715
|
+
if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
|
|
40028
40716
|
continue;
|
|
40029
40717
|
}
|
|
40030
|
-
const id = String(
|
|
40031
|
-
const prSet = prSetOf(
|
|
40718
|
+
const id = String(pt2["@_modelId"] ?? "").trim();
|
|
40719
|
+
const prSet = prSetOf(pt2, localName15);
|
|
40032
40720
|
if (!id || !prSet) {
|
|
40033
40721
|
continue;
|
|
40034
40722
|
}
|
|
@@ -40055,10 +40743,10 @@ function algorithmByLayoutNodeName(root) {
|
|
|
40055
40743
|
}
|
|
40056
40744
|
return byName;
|
|
40057
40745
|
}
|
|
40058
|
-
function resolveSmartArtMergedTextLabels(
|
|
40746
|
+
function resolveSmartArtMergedTextLabels(points5, connections, layout, localName15) {
|
|
40059
40747
|
const result = /* @__PURE__ */ new Map();
|
|
40060
40748
|
const algorithms = algorithmByLayoutNodeName(layout?.rootNode);
|
|
40061
|
-
const presPoints = readPresPoints(
|
|
40749
|
+
const presPoints = readPresPoints(points5, localName15);
|
|
40062
40750
|
if (algorithms.size === 0 || presPoints.size === 0) {
|
|
40063
40751
|
return result;
|
|
40064
40752
|
}
|
|
@@ -40074,14 +40762,14 @@ function resolveSmartArtMergedTextLabels(points4, connections, layout, localName
|
|
|
40074
40762
|
}
|
|
40075
40763
|
}
|
|
40076
40764
|
for (const siblingIds of childrenByParent.values()) {
|
|
40077
|
-
const siblings = siblingIds.map((id) => presPoints.get(id)).filter((
|
|
40078
|
-
const texts = siblings.filter((
|
|
40765
|
+
const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt2) => Boolean(pt2?.styleLabel && presented.has(pt2.id)));
|
|
40766
|
+
const texts = siblings.filter((pt2) => algorithms.get(pt2.name) === "tx");
|
|
40079
40767
|
for (const shape of siblings) {
|
|
40080
40768
|
if (algorithms.get(shape.name) === "tx" || result.has(shape.id)) {
|
|
40081
40769
|
continue;
|
|
40082
40770
|
}
|
|
40083
40771
|
const text = texts.find(
|
|
40084
|
-
(
|
|
40772
|
+
(pt2) => pt2.assocId === shape.assocId && pt2.styleLabel !== shape.styleLabel
|
|
40085
40773
|
);
|
|
40086
40774
|
if (text) {
|
|
40087
40775
|
result.set(shape.id, {
|
|
@@ -40101,13 +40789,13 @@ function smartArtMergedTextColor(label, textFillByLabel) {
|
|
|
40101
40789
|
}
|
|
40102
40790
|
return list[label.styleIndex % list.length];
|
|
40103
40791
|
}
|
|
40104
|
-
function resolveSmartArtMergedTextColors(
|
|
40792
|
+
function resolveSmartArtMergedTextColors(points5, connections, layout, textFillByLabel, localName15) {
|
|
40105
40793
|
const colors = /* @__PURE__ */ new Map();
|
|
40106
40794
|
if (!textFillByLabel) {
|
|
40107
40795
|
return colors;
|
|
40108
40796
|
}
|
|
40109
40797
|
for (const [shapeId, label] of resolveSmartArtMergedTextLabels(
|
|
40110
|
-
|
|
40798
|
+
points5,
|
|
40111
40799
|
connections,
|
|
40112
40800
|
layout,
|
|
40113
40801
|
localName15
|
|
@@ -40121,7 +40809,7 @@ function resolveSmartArtMergedTextColors(points4, connections, layout, textFillB
|
|
|
40121
40809
|
}
|
|
40122
40810
|
|
|
40123
40811
|
// pptx/core/utils/smartart-node-pres-vars.ts
|
|
40124
|
-
function
|
|
40812
|
+
function children4(node, name, localName15) {
|
|
40125
40813
|
if (!node) {
|
|
40126
40814
|
return [];
|
|
40127
40815
|
}
|
|
@@ -40152,16 +40840,16 @@ function variablesOf(vars, localName15) {
|
|
|
40152
40840
|
}
|
|
40153
40841
|
return out;
|
|
40154
40842
|
}
|
|
40155
|
-
function resolveSmartArtNodePresVars(
|
|
40843
|
+
function resolveSmartArtNodePresVars(points5, localName15) {
|
|
40156
40844
|
const out = /* @__PURE__ */ new Map();
|
|
40157
|
-
for (const
|
|
40158
|
-
if (!
|
|
40845
|
+
for (const pt2 of points5) {
|
|
40846
|
+
if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
|
|
40159
40847
|
continue;
|
|
40160
40848
|
}
|
|
40161
|
-
const prSet =
|
|
40849
|
+
const prSet = children4(pt2, "prSet", localName15)[0];
|
|
40162
40850
|
const nodeId = String(prSet?.["@_presAssocID"] ?? "").trim();
|
|
40163
40851
|
const presName = String(prSet?.["@_presName"] ?? "").trim();
|
|
40164
|
-
const vars =
|
|
40852
|
+
const vars = children4(prSet, "presLayoutVars", localName15)[0];
|
|
40165
40853
|
if (!nodeId || !presName || !vars) {
|
|
40166
40854
|
continue;
|
|
40167
40855
|
}
|
|
@@ -40177,10 +40865,10 @@ function resolveSmartArtNodePresVars(points4, localName15) {
|
|
|
40177
40865
|
}
|
|
40178
40866
|
|
|
40179
40867
|
// pptx/core/utils/smartart-point-metadata.ts
|
|
40180
|
-
function resolveSmartArtPointMetadata(
|
|
40181
|
-
const styleRoles = chunkX7MGZQ6C_cjs.resolveSmartArtNodeStyleRoles(
|
|
40182
|
-
const coherent3DOff = chunkX7MGZQ6C_cjs.resolveSmartArtNodeCoherent3DOff(
|
|
40183
|
-
const presVars = resolveSmartArtNodePresVars(
|
|
40868
|
+
function resolveSmartArtPointMetadata(points5, connections, localName15) {
|
|
40869
|
+
const styleRoles = chunkX7MGZQ6C_cjs.resolveSmartArtNodeStyleRoles(points5, connections, localName15);
|
|
40870
|
+
const coherent3DOff = chunkX7MGZQ6C_cjs.resolveSmartArtNodeCoherent3DOff(points5, connections, localName15);
|
|
40871
|
+
const presVars = resolveSmartArtNodePresVars(points5, localName15);
|
|
40184
40872
|
return (pointId) => ({
|
|
40185
40873
|
styleRole: styleRoles.get(pointId),
|
|
40186
40874
|
coherent3DOff: coherent3DOff.has(pointId) || void 0,
|
|
@@ -40229,10 +40917,10 @@ function getLocalName(qualifiedName2) {
|
|
|
40229
40917
|
}
|
|
40230
40918
|
|
|
40231
40919
|
// pptx/core/utils/smartart-connector-labels.ts
|
|
40232
|
-
function collectSmartArtTransitionText(
|
|
40920
|
+
function collectSmartArtTransitionText(points5, collectText) {
|
|
40233
40921
|
return collectTransitionText(
|
|
40234
|
-
|
|
40235
|
-
(
|
|
40922
|
+
points5.filter((pt2) => pt2 && typeof pt2 === "object"),
|
|
40923
|
+
(pt2) => ({ type: String(pt2["@_type"] ?? ""), modelId: String(pt2["@_modelId"] ?? "") }),
|
|
40236
40924
|
collectText
|
|
40237
40925
|
);
|
|
40238
40926
|
}
|
|
@@ -40243,11 +40931,11 @@ function simpleTextBody(text) {
|
|
|
40243
40931
|
"a:p": { "a:r": { "a:rPr": { "@_lang": "en-US" }, "a:t": text } }
|
|
40244
40932
|
};
|
|
40245
40933
|
}
|
|
40246
|
-
function setPointText(
|
|
40247
|
-
const tKey = Object.keys(
|
|
40248
|
-
const body =
|
|
40934
|
+
function setPointText(pt2, text, localName15) {
|
|
40935
|
+
const tKey = Object.keys(pt2).find((key2) => localName15(key2) === "t") ?? "dgm:t";
|
|
40936
|
+
const body = pt2[tKey];
|
|
40249
40937
|
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
40250
|
-
|
|
40938
|
+
pt2[tKey] = simpleTextBody(text);
|
|
40251
40939
|
return;
|
|
40252
40940
|
}
|
|
40253
40941
|
const bodyObj = body;
|
|
@@ -40268,15 +40956,15 @@ function setPointText(pt, text, localName15) {
|
|
|
40268
40956
|
const textKey = Object.keys(runObj).find((key2) => localName15(key2) === "t");
|
|
40269
40957
|
runObj[textKey ?? "a:t"] = text;
|
|
40270
40958
|
}
|
|
40271
|
-
function applySmartArtConnectorLabels(
|
|
40959
|
+
function applySmartArtConnectorLabels(points5, connections, localName15) {
|
|
40272
40960
|
const pointsById = /* @__PURE__ */ new Map();
|
|
40273
|
-
for (const
|
|
40274
|
-
if (!
|
|
40961
|
+
for (const pt2 of points5) {
|
|
40962
|
+
if (!pt2 || typeof pt2 !== "object") {
|
|
40275
40963
|
continue;
|
|
40276
40964
|
}
|
|
40277
|
-
const id = String(
|
|
40965
|
+
const id = String(pt2["@_modelId"] ?? "").trim();
|
|
40278
40966
|
if (id) {
|
|
40279
|
-
pointsById.set(id,
|
|
40967
|
+
pointsById.set(id, pt2);
|
|
40280
40968
|
}
|
|
40281
40969
|
}
|
|
40282
40970
|
for (const connection of connections) {
|
|
@@ -40561,7 +41249,7 @@ function applyCommentMentions(node, mentions, extension, replace) {
|
|
|
40561
41249
|
|
|
40562
41250
|
// pptx/core/utils/modern-comment-text-body.ts
|
|
40563
41251
|
var localName4 = (key2) => key2.split(":").pop() || key2;
|
|
40564
|
-
var
|
|
41252
|
+
var keyOf8 = (node, name) => Object.keys(node).find((key2) => localName4(key2) === name);
|
|
40565
41253
|
var asNodes = (value) => {
|
|
40566
41254
|
if (Array.isArray(value)) {
|
|
40567
41255
|
return value;
|
|
@@ -40569,7 +41257,7 @@ var asNodes = (value) => {
|
|
|
40569
41257
|
return value && typeof value === "object" ? [value] : [];
|
|
40570
41258
|
};
|
|
40571
41259
|
var runText = (run) => {
|
|
40572
|
-
const textKey =
|
|
41260
|
+
const textKey = keyOf8(run, "t");
|
|
40573
41261
|
if (!textKey) {
|
|
40574
41262
|
return void 0;
|
|
40575
41263
|
}
|
|
@@ -40580,7 +41268,7 @@ function flattenBodyText(node) {
|
|
|
40580
41268
|
if (!node) {
|
|
40581
41269
|
return [];
|
|
40582
41270
|
}
|
|
40583
|
-
const paragraphKey =
|
|
41271
|
+
const paragraphKey = keyOf8(node, "p");
|
|
40584
41272
|
const paragraphs = paragraphKey ? asNodes(node[paragraphKey]) : [];
|
|
40585
41273
|
const collect = (value) => {
|
|
40586
41274
|
if (typeof value === "string" || typeof value === "number") {
|
|
@@ -40588,9 +41276,9 @@ function flattenBodyText(node) {
|
|
|
40588
41276
|
}
|
|
40589
41277
|
let text = "";
|
|
40590
41278
|
for (const entry2 of asNodes(value)) {
|
|
40591
|
-
for (const [key2,
|
|
41279
|
+
for (const [key2, child16] of Object.entries(entry2)) {
|
|
40592
41280
|
if (!key2.startsWith("@_")) {
|
|
40593
|
-
text += collect(
|
|
41281
|
+
text += collect(child16);
|
|
40594
41282
|
}
|
|
40595
41283
|
}
|
|
40596
41284
|
}
|
|
@@ -40614,19 +41302,19 @@ var commonSuffixLength2 = (a, b, limit) => {
|
|
|
40614
41302
|
return index;
|
|
40615
41303
|
};
|
|
40616
41304
|
var bareRun = (template, text) => {
|
|
40617
|
-
const properties = template ?
|
|
41305
|
+
const properties = template ? keyOf8(template, "rPr") : void 0;
|
|
40618
41306
|
return {
|
|
40619
41307
|
"a:rPr": properties && template ? template[properties] : {},
|
|
40620
41308
|
"a:t": text
|
|
40621
41309
|
};
|
|
40622
41310
|
};
|
|
40623
41311
|
var flattenRuns = (paragraph) => {
|
|
40624
|
-
const runKey =
|
|
41312
|
+
const runKey = keyOf8(paragraph, "r");
|
|
40625
41313
|
const runs = runKey ? asNodes(paragraph[runKey]) : [];
|
|
40626
41314
|
return runs.map((run) => runText(run) ?? "").join("");
|
|
40627
41315
|
};
|
|
40628
41316
|
function spliceParagraph(paragraph, line) {
|
|
40629
|
-
const runKey =
|
|
41317
|
+
const runKey = keyOf8(paragraph, "r");
|
|
40630
41318
|
const runs = runKey ? asNodes(paragraph[runKey]) : [];
|
|
40631
41319
|
const texts = runs.map(runText);
|
|
40632
41320
|
if (texts.some((text) => text === void 0)) {
|
|
@@ -40666,7 +41354,7 @@ function spliceParagraph(paragraph, line) {
|
|
|
40666
41354
|
if (next.length === 0) {
|
|
40667
41355
|
continue;
|
|
40668
41356
|
}
|
|
40669
|
-
const textKey =
|
|
41357
|
+
const textKey = keyOf8(runs[index], "t") ?? "a:t";
|
|
40670
41358
|
const nextRun = { ...runs[index] };
|
|
40671
41359
|
nextRun[textKey] = next;
|
|
40672
41360
|
rebuilt.push(nextRun);
|
|
@@ -40679,7 +41367,7 @@ function spliceParagraph(paragraph, line) {
|
|
|
40679
41367
|
return result;
|
|
40680
41368
|
}
|
|
40681
41369
|
var plainParagraph = (template, line) => {
|
|
40682
|
-
const runKey = template ?
|
|
41370
|
+
const runKey = template ? keyOf8(template, "r") : void 0;
|
|
40683
41371
|
const templateRun = template && runKey ? asNodes(template[runKey])[0] : void 0;
|
|
40684
41372
|
return { "a:r": bareRun(templateRun, line) };
|
|
40685
41373
|
};
|
|
@@ -40692,7 +41380,7 @@ function applyModernCommentText(original, text) {
|
|
|
40692
41380
|
if (!original) {
|
|
40693
41381
|
return plainBody(text);
|
|
40694
41382
|
}
|
|
40695
|
-
const paragraphKey =
|
|
41383
|
+
const paragraphKey = keyOf8(original, "p");
|
|
40696
41384
|
const paragraphs = paragraphKey ? asNodes(original[paragraphKey]) : [];
|
|
40697
41385
|
if (paragraphs.length === 0) {
|
|
40698
41386
|
return plainBody(text);
|
|
@@ -40719,7 +41407,7 @@ function applyModernCommentText(original, text) {
|
|
|
40719
41407
|
|
|
40720
41408
|
// pptx/core/utils/modern-comment-xml.ts
|
|
40721
41409
|
var localName5 = (key2) => key2.split(":").pop() || key2;
|
|
40722
|
-
var
|
|
41410
|
+
var child8 = (node, name) => {
|
|
40723
41411
|
if (!node) {
|
|
40724
41412
|
return void 0;
|
|
40725
41413
|
}
|
|
@@ -40727,7 +41415,7 @@ var child6 = (node, name) => {
|
|
|
40727
41415
|
const value = key2 ? node[key2] : void 0;
|
|
40728
41416
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
40729
41417
|
};
|
|
40730
|
-
var
|
|
41418
|
+
var children5 = (node, name) => {
|
|
40731
41419
|
if (!node) {
|
|
40732
41420
|
return [];
|
|
40733
41421
|
}
|
|
@@ -40755,11 +41443,11 @@ var textValues = (node) => {
|
|
|
40755
41443
|
return result;
|
|
40756
41444
|
};
|
|
40757
41445
|
var extractModernCommentText = (node) => {
|
|
40758
|
-
const body =
|
|
41446
|
+
const body = child8(node, "txBody");
|
|
40759
41447
|
if (!body) {
|
|
40760
41448
|
return "";
|
|
40761
41449
|
}
|
|
40762
|
-
const paragraphs =
|
|
41450
|
+
const paragraphs = children5(body, "p");
|
|
40763
41451
|
return (paragraphs.length > 0 ? paragraphs : [body]).map((paragraph) => textValues(paragraph).join("")).join("\n");
|
|
40764
41452
|
};
|
|
40765
41453
|
var stringList = (value) => {
|
|
@@ -40778,8 +41466,8 @@ var parseComment = (node, authorName, emuPerPx) => {
|
|
|
40778
41466
|
const authorId = String(node["@_authorId"] || "").trim();
|
|
40779
41467
|
const rawStatus = String(node["@_status"] || "").trim().toLowerCase();
|
|
40780
41468
|
const effectiveStatus = rawStatus || "active";
|
|
40781
|
-
const position2 =
|
|
40782
|
-
const replies =
|
|
41469
|
+
const position2 = child8(node, "pos");
|
|
41470
|
+
const replies = children5(child8(node, "replyLst"), "reply").map(
|
|
40783
41471
|
(reply) => parseComment(reply, authorName, emuPerPx)
|
|
40784
41472
|
);
|
|
40785
41473
|
return {
|
|
@@ -40807,17 +41495,17 @@ var parseComment = (node, authorName, emuPerPx) => {
|
|
|
40807
41495
|
};
|
|
40808
41496
|
};
|
|
40809
41497
|
function parseModernCommentPart(data, part, authorName, emuPerPx) {
|
|
40810
|
-
const root =
|
|
41498
|
+
const root = child8(data, "cmLst");
|
|
40811
41499
|
return {
|
|
40812
|
-
comments:
|
|
41500
|
+
comments: children5(root, "cm").map((node) => parseComment(node, authorName, emuPerPx)),
|
|
40813
41501
|
part: { ...part, rawXml: root }
|
|
40814
41502
|
};
|
|
40815
41503
|
}
|
|
40816
41504
|
function parseModernAuthors(data) {
|
|
40817
|
-
const root =
|
|
41505
|
+
const root = child8(data, "authorLst");
|
|
40818
41506
|
return {
|
|
40819
41507
|
root,
|
|
40820
|
-
authors:
|
|
41508
|
+
authors: children5(root, "author").map((node) => ({
|
|
40821
41509
|
id: String(node["@_id"] || "").trim(),
|
|
40822
41510
|
name: String(node["@_name"] || "").trim(),
|
|
40823
41511
|
initials: String(node["@_initials"] || "").trim() || void 0,
|
|
@@ -40906,11 +41594,11 @@ var buildComment = (comment, resolveAuthorId, emuPerPx, isReply = false) => {
|
|
|
40906
41594
|
)
|
|
40907
41595
|
};
|
|
40908
41596
|
}
|
|
40909
|
-
const originalBody =
|
|
41597
|
+
const originalBody = child8(raw, "txBody");
|
|
40910
41598
|
node["p188:txBody"] = applyModernCommentText(originalBody, comment.text);
|
|
40911
41599
|
const originalText = originalBody ? flattenBodyText(originalBody).join("\n") : comment.text;
|
|
40912
41600
|
const mentions = rebaseCommentMentions(comment.mentions, originalText, comment.text);
|
|
40913
|
-
const extension = applyCommentMentions(node, mentions,
|
|
41601
|
+
const extension = applyCommentMentions(node, mentions, child8(raw, "extLst"), ownsMentions);
|
|
40914
41602
|
if (extension) {
|
|
40915
41603
|
node["p188:extLst"] = extension;
|
|
40916
41604
|
}
|
|
@@ -41174,7 +41862,7 @@ function parseEmuInt(value) {
|
|
|
41174
41862
|
function attr2(node, name) {
|
|
41175
41863
|
return node && typeof node === "object" ? node[name] : void 0;
|
|
41176
41864
|
}
|
|
41177
|
-
function
|
|
41865
|
+
function child9(node, name) {
|
|
41178
41866
|
return node && typeof node === "object" ? node[name] : void 0;
|
|
41179
41867
|
}
|
|
41180
41868
|
function parseBooleanAttr(value) {
|
|
@@ -41190,28 +41878,28 @@ function readGroupTransform(xfrm, emuPerPx) {
|
|
|
41190
41878
|
let flipHorizontal = false;
|
|
41191
41879
|
let flipVertical = false;
|
|
41192
41880
|
if (xfrm) {
|
|
41193
|
-
const off =
|
|
41881
|
+
const off = child9(xfrm, "a:off");
|
|
41194
41882
|
if (off) {
|
|
41195
41883
|
parentXEmu = parseEmuInt(attr2(off, "@_x"));
|
|
41196
41884
|
parentYEmu = parseEmuInt(attr2(off, "@_y"));
|
|
41197
41885
|
parentX = parentXEmu / emuPerPx;
|
|
41198
41886
|
parentY = parentYEmu / emuPerPx;
|
|
41199
41887
|
}
|
|
41200
|
-
const ext =
|
|
41888
|
+
const ext = child9(xfrm, "a:ext");
|
|
41201
41889
|
if (ext) {
|
|
41202
41890
|
parentWEmu = parseEmuInt(attr2(ext, "@_cx"));
|
|
41203
41891
|
parentHEmu = parseEmuInt(attr2(ext, "@_cy"));
|
|
41204
41892
|
parentW = parentWEmu / emuPerPx;
|
|
41205
41893
|
parentH = parentHEmu / emuPerPx;
|
|
41206
41894
|
}
|
|
41207
|
-
const chOff =
|
|
41895
|
+
const chOff = child9(xfrm, "a:chOff");
|
|
41208
41896
|
if (chOff) {
|
|
41209
41897
|
chOffXEmu = parseEmuInt(attr2(chOff, "@_x"));
|
|
41210
41898
|
chOffYEmu = parseEmuInt(attr2(chOff, "@_y"));
|
|
41211
41899
|
chX = chOffXEmu / emuPerPx;
|
|
41212
41900
|
chY = chOffYEmu / emuPerPx;
|
|
41213
41901
|
}
|
|
41214
|
-
const chExt =
|
|
41902
|
+
const chExt = child9(xfrm, "a:chExt");
|
|
41215
41903
|
if (chExt) {
|
|
41216
41904
|
chExtWEmu = parseEmuInt(attr2(chExt, "@_cx"));
|
|
41217
41905
|
chExtHEmu = parseEmuInt(attr2(chExt, "@_cy"));
|
|
@@ -41315,34 +42003,34 @@ function applyRawChildGeometry(el, childNode, emuPerPx) {
|
|
|
41315
42003
|
el.heightEmu = heightEmu;
|
|
41316
42004
|
}
|
|
41317
42005
|
}
|
|
41318
|
-
function applyAncestorGroupTextTransform(
|
|
41319
|
-
for (const
|
|
41320
|
-
if (
|
|
41321
|
-
applyAncestorGroupTextTransform(
|
|
42006
|
+
function applyAncestorGroupTextTransform(children6, groupTransform) {
|
|
42007
|
+
for (const child16 of children6) {
|
|
42008
|
+
if (child16.type === "group") {
|
|
42009
|
+
applyAncestorGroupTextTransform(child16.children, groupTransform);
|
|
41322
42010
|
continue;
|
|
41323
42011
|
}
|
|
41324
|
-
if (!chunkXZPZHXV4_cjs.hasTextProperties(
|
|
42012
|
+
if (!chunkXZPZHXV4_cjs.hasTextProperties(child16)) {
|
|
41325
42013
|
continue;
|
|
41326
42014
|
}
|
|
41327
|
-
const existing =
|
|
42015
|
+
const existing = child16.textStyle?.ancestorGroupTransform;
|
|
41328
42016
|
const nestedTransform = isTextOrientationMatrix(existing) ? existing : TEXT_ORIENTATION_IDENTITY;
|
|
41329
|
-
|
|
41330
|
-
...
|
|
42017
|
+
child16.textStyle = {
|
|
42018
|
+
...child16.textStyle,
|
|
41331
42019
|
ancestorGroupTransform: multiplyTextOrientationMatrices(groupTransform, nestedTransform)
|
|
41332
42020
|
};
|
|
41333
42021
|
}
|
|
41334
42022
|
}
|
|
41335
|
-
function applyGroupFillInheritance(
|
|
41336
|
-
for (const
|
|
41337
|
-
if (
|
|
41338
|
-
if (!
|
|
41339
|
-
applyGroupFillInheritance(
|
|
42023
|
+
function applyGroupFillInheritance(children6, fill) {
|
|
42024
|
+
for (const child16 of children6) {
|
|
42025
|
+
if (child16.type === "group") {
|
|
42026
|
+
if (!child16.groupFill || child16.groupFill.fillMode === "group") {
|
|
42027
|
+
applyGroupFillInheritance(child16.children, fill);
|
|
41340
42028
|
}
|
|
41341
42029
|
continue;
|
|
41342
42030
|
}
|
|
41343
|
-
if (chunkXZPZHXV4_cjs.hasShapeProperties(
|
|
41344
|
-
|
|
41345
|
-
...
|
|
42031
|
+
if (chunkXZPZHXV4_cjs.hasShapeProperties(child16) && child16.shapeStyle?.fillMode === "group") {
|
|
42032
|
+
child16.shapeStyle = {
|
|
42033
|
+
...child16.shapeStyle,
|
|
41346
42034
|
fillMode: fill.fillMode,
|
|
41347
42035
|
fillColor: fill.fillColor,
|
|
41348
42036
|
fillOpacity: fill.fillOpacity,
|
|
@@ -41459,7 +42147,7 @@ function scanForText(node, depth) {
|
|
|
41459
42147
|
return false;
|
|
41460
42148
|
}
|
|
41461
42149
|
if (Array.isArray(node)) {
|
|
41462
|
-
return node.some((
|
|
42150
|
+
return node.some((child16) => scanForText(child16, depth + 1));
|
|
41463
42151
|
}
|
|
41464
42152
|
if (!isXmlObject4(node)) {
|
|
41465
42153
|
return false;
|
|
@@ -41825,7 +42513,7 @@ var LIGHT_DIRECTIONS = /* @__PURE__ */ new Set(["tl", "t", "tr", "l", "r", "bl",
|
|
|
41825
42513
|
// pptx/core/utils/text-body-scene3d.ts
|
|
41826
42514
|
var localName6 = (key2) => key2.replace(/^@_/, "").split(":").pop() ?? key2;
|
|
41827
42515
|
var childKey = (node, local) => Object.keys(node).find((key2) => !key2.startsWith("@_") && localName6(key2) === local);
|
|
41828
|
-
var
|
|
42516
|
+
var child10 = (node, local) => {
|
|
41829
42517
|
if (!node) {
|
|
41830
42518
|
return void 0;
|
|
41831
42519
|
}
|
|
@@ -41849,7 +42537,7 @@ var enumToken = (value, allowed) => {
|
|
|
41849
42537
|
return allowed.has(token2) ? token2 : void 0;
|
|
41850
42538
|
};
|
|
41851
42539
|
var applyRotation = (target, node, prefix) => {
|
|
41852
|
-
const rot =
|
|
42540
|
+
const rot = child10(node, "rot");
|
|
41853
42541
|
const x = finiteInt(rot?.["@_lat"]);
|
|
41854
42542
|
const y = finiteInt(rot?.["@_lon"]);
|
|
41855
42543
|
const z = finiteInt(rot?.["@_rev"]);
|
|
@@ -41876,13 +42564,13 @@ var applyPoint = (target, node, prefix, attrPrefix = "") => {
|
|
|
41876
42564
|
}
|
|
41877
42565
|
};
|
|
41878
42566
|
function parseTextBodyScene3d(bodyPr, style) {
|
|
41879
|
-
const scene =
|
|
42567
|
+
const scene = child10(bodyPr, "scene3d");
|
|
41880
42568
|
if (!scene) {
|
|
41881
42569
|
return;
|
|
41882
42570
|
}
|
|
41883
42571
|
style.textBodyScene3dXml = chunkX7MGZQ6C_cjs.cloneXmlObject(scene);
|
|
41884
|
-
const camera =
|
|
41885
|
-
const light =
|
|
42572
|
+
const camera = child10(scene, "camera");
|
|
42573
|
+
const light = child10(scene, "lightRig");
|
|
41886
42574
|
const typed = {
|
|
41887
42575
|
cameraPreset: enumToken(camera?.["@_prst"], CAMERA_PRESETS),
|
|
41888
42576
|
lightRigType: enumToken(light?.["@_rig"], LIGHT_RIGS),
|
|
@@ -41898,12 +42586,12 @@ function parseTextBodyScene3d(bodyPr, style) {
|
|
|
41898
42586
|
}
|
|
41899
42587
|
applyRotation(typed, camera, "camera");
|
|
41900
42588
|
applyRotation(typed, light, "lightRig");
|
|
41901
|
-
const backdrop =
|
|
42589
|
+
const backdrop = child10(scene, "backdrop");
|
|
41902
42590
|
if (backdrop) {
|
|
41903
42591
|
typed.hasBackdrop = true;
|
|
41904
|
-
applyPoint(typed,
|
|
41905
|
-
applyPoint(typed,
|
|
41906
|
-
applyPoint(typed,
|
|
42592
|
+
applyPoint(typed, child10(backdrop, "anchor"), "backdropAnchor");
|
|
42593
|
+
applyPoint(typed, child10(backdrop, "norm"), "backdropNormal", "d");
|
|
42594
|
+
applyPoint(typed, child10(backdrop, "up"), "backdropUp", "d");
|
|
41907
42595
|
}
|
|
41908
42596
|
style.textBodyScene3d = typed;
|
|
41909
42597
|
}
|
|
@@ -41975,7 +42663,7 @@ function applyTextBodyScene3d(bodyPr, style) {
|
|
|
41975
42663
|
return;
|
|
41976
42664
|
}
|
|
41977
42665
|
const scene = raw ?? {};
|
|
41978
|
-
const camera = chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
42666
|
+
const camera = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "camera")) ?? {};
|
|
41979
42667
|
if (cameraPreset) {
|
|
41980
42668
|
camera["@_prst"] = cameraPreset;
|
|
41981
42669
|
}
|
|
@@ -41990,7 +42678,7 @@ function applyTextBodyScene3d(bodyPr, style) {
|
|
|
41990
42678
|
setChild3(camera, "rot", cameraRot);
|
|
41991
42679
|
}
|
|
41992
42680
|
setChild3(scene, "camera", ordered(camera, ["rot"]));
|
|
41993
|
-
const light = chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
42681
|
+
const light = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "lightRig")) ?? {};
|
|
41994
42682
|
if (lightRig) {
|
|
41995
42683
|
light["@_rig"] = lightRig;
|
|
41996
42684
|
}
|
|
@@ -42003,7 +42691,7 @@ function applyTextBodyScene3d(bodyPr, style) {
|
|
|
42003
42691
|
}
|
|
42004
42692
|
setChild3(scene, "lightRig", ordered(light, ["rot"]));
|
|
42005
42693
|
if (typed.hasBackdrop) {
|
|
42006
|
-
const backdrop = chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
42694
|
+
const backdrop = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "backdrop")) ?? {};
|
|
42007
42695
|
const anchor = anchorXml(typed.backdropAnchorX, typed.backdropAnchorY, typed.backdropAnchorZ);
|
|
42008
42696
|
const norm = vectorXml(typed.backdropNormalX, typed.backdropNormalY, typed.backdropNormalZ);
|
|
42009
42697
|
const up = vectorXml(typed.backdropUpX, typed.backdropUpY, typed.backdropUpZ);
|
|
@@ -42016,7 +42704,7 @@ function applyTextBodyScene3d(bodyPr, style) {
|
|
|
42016
42704
|
if (up) {
|
|
42017
42705
|
setChild3(backdrop, "up", up);
|
|
42018
42706
|
}
|
|
42019
|
-
if (
|
|
42707
|
+
if (child10(backdrop, "anchor") && child10(backdrop, "norm") && child10(backdrop, "up")) {
|
|
42020
42708
|
setChild3(scene, "backdrop", ordered(backdrop, ["anchor", "norm", "up", "extLst"]));
|
|
42021
42709
|
}
|
|
42022
42710
|
}
|
|
@@ -42360,9 +43048,9 @@ function findChildByLocalName2(parent, name) {
|
|
|
42360
43048
|
}
|
|
42361
43049
|
function setPresentationPropertiesChild(root, name, value) {
|
|
42362
43050
|
const values = /* @__PURE__ */ new Map();
|
|
42363
|
-
for (const [key2,
|
|
43051
|
+
for (const [key2, child16] of Object.entries(root)) {
|
|
42364
43052
|
if (!key2.startsWith("@_")) {
|
|
42365
|
-
values.set(localName7(key2), [key2,
|
|
43053
|
+
values.set(localName7(key2), [key2, child16]);
|
|
42366
43054
|
}
|
|
42367
43055
|
}
|
|
42368
43056
|
if (value === null) {
|
|
@@ -42371,9 +43059,9 @@ function setPresentationPropertiesChild(root, name, value) {
|
|
|
42371
43059
|
values.set(name, [values.get(name)?.[0] ?? `p:${name}`, value]);
|
|
42372
43060
|
}
|
|
42373
43061
|
const result = {};
|
|
42374
|
-
for (const [key2,
|
|
43062
|
+
for (const [key2, child16] of Object.entries(root)) {
|
|
42375
43063
|
if (key2.startsWith("@_")) {
|
|
42376
|
-
result[key2] =
|
|
43064
|
+
result[key2] = child16;
|
|
42377
43065
|
}
|
|
42378
43066
|
}
|
|
42379
43067
|
for (const orderedName of ROOT_ORDER) {
|
|
@@ -42383,8 +43071,8 @@ function setPresentationPropertiesChild(root, name, value) {
|
|
|
42383
43071
|
}
|
|
42384
43072
|
values.delete(orderedName);
|
|
42385
43073
|
}
|
|
42386
|
-
for (const [, [key2,
|
|
42387
|
-
result[key2] =
|
|
43074
|
+
for (const [, [key2, child16]] of values) {
|
|
43075
|
+
result[key2] = child16;
|
|
42388
43076
|
}
|
|
42389
43077
|
return result;
|
|
42390
43078
|
}
|
|
@@ -42455,15 +43143,15 @@ function canonicalizePlaceholderTypes(root) {
|
|
|
42455
43143
|
}
|
|
42456
43144
|
const node = value;
|
|
42457
43145
|
if (tag === "p:ph" && node["@_type"] !== void 0) {
|
|
42458
|
-
const
|
|
42459
|
-
if (
|
|
42460
|
-
node["@_type"] =
|
|
43146
|
+
const canonical2 = canonicalPlaceholderType(node["@_type"]);
|
|
43147
|
+
if (canonical2 !== void 0 && canonical2 !== String(node["@_type"])) {
|
|
43148
|
+
node["@_type"] = canonical2;
|
|
42461
43149
|
changed += 1;
|
|
42462
43150
|
}
|
|
42463
43151
|
}
|
|
42464
|
-
for (const [key2,
|
|
43152
|
+
for (const [key2, child16] of Object.entries(node)) {
|
|
42465
43153
|
if (!key2.startsWith("@_")) {
|
|
42466
|
-
visit(
|
|
43154
|
+
visit(child16, key2);
|
|
42467
43155
|
}
|
|
42468
43156
|
}
|
|
42469
43157
|
};
|
|
@@ -43229,7 +43917,7 @@ function tableToShapeGroup(tableData, bounds) {
|
|
|
43229
43917
|
}
|
|
43230
43918
|
}
|
|
43231
43919
|
const rowHeightEmu = bounds.h / Math.max(1, tableData.rows.length);
|
|
43232
|
-
const
|
|
43920
|
+
const children6 = [];
|
|
43233
43921
|
const vMergeActive = new Array(colEmuWidths.length).fill(false);
|
|
43234
43922
|
tableData.rows.forEach((row, rowIndex) => {
|
|
43235
43923
|
const y = bounds.y + rowIndex * rowHeightEmu;
|
|
@@ -43245,7 +43933,7 @@ function tableToShapeGroup(tableData, bounds) {
|
|
|
43245
43933
|
if (!cell.hMerge) {
|
|
43246
43934
|
const x = colStartX[colIndex] ?? bounds.x;
|
|
43247
43935
|
const w = colEmuWidths.slice(colIndex, colIndex + span).reduce((s, v) => s + v, 0);
|
|
43248
|
-
|
|
43936
|
+
children6.push({
|
|
43249
43937
|
kind: "shape",
|
|
43250
43938
|
spt: 1,
|
|
43251
43939
|
isConnector: false,
|
|
@@ -43261,7 +43949,7 @@ function tableToShapeGroup(tableData, bounds) {
|
|
|
43261
43949
|
colIndex += span;
|
|
43262
43950
|
}
|
|
43263
43951
|
});
|
|
43264
|
-
return { kind: "group", anchor: bounds, children:
|
|
43952
|
+
return { kind: "group", anchor: bounds, children: children6 };
|
|
43265
43953
|
}
|
|
43266
43954
|
|
|
43267
43955
|
// pptx/core/utils/rendered-bullet-marker.ts
|
|
@@ -43493,7 +44181,7 @@ function convertGroup(element, ctx) {
|
|
|
43493
44181
|
rotationDeg: element.rotation,
|
|
43494
44182
|
flipH: element.flipHorizontal,
|
|
43495
44183
|
flipV: element.flipVertical,
|
|
43496
|
-
children: element.children.map((
|
|
44184
|
+
children: element.children.map((child16) => convertElement(withoutEmuGeometry(child16), ctx)),
|
|
43497
44185
|
hyperlink: resolveHyperlink(element.actionClick, ctx.hyperlinkCtx)
|
|
43498
44186
|
};
|
|
43499
44187
|
}
|
|
@@ -44466,8 +45154,8 @@ function buildFontEntityAtom(name, index) {
|
|
|
44466
45154
|
return record(RT.FontEntityAtom, data, index, false, 0);
|
|
44467
45155
|
}
|
|
44468
45156
|
function buildEnvironmentLeadingRecord() {
|
|
44469
|
-
const
|
|
44470
|
-
return record(4040,
|
|
45157
|
+
const child16 = record(4050, new Uint8Array([1, 0, 0, 0]), 3, false, 0);
|
|
45158
|
+
return record(4040, child16, 2, true);
|
|
44471
45159
|
}
|
|
44472
45160
|
function buildEnvironmentTrailingRecords(otherTextStyle) {
|
|
44473
45161
|
const unknown0fa4 = record(4004, new Uint8Array([128, 0, 64, 0, 0, 0, 0, 0]), 0, false, 0);
|
|
@@ -45577,8 +46265,8 @@ function buildAnyShapeContainer(shape, fonts, allocator, hyperlinks, oleEmbeds,
|
|
|
45577
46265
|
}
|
|
45578
46266
|
function buildGroupContainer(group, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, inGroup = false) {
|
|
45579
46267
|
const data = new ByteWriter().bytes(buildNestedGroupPatriarch(group, allocator, hyperlinks, inGroup));
|
|
45580
|
-
for (const
|
|
45581
|
-
data.bytes(buildAnyShapeContainer(
|
|
46268
|
+
for (const child16 of group.children) {
|
|
46269
|
+
data.bytes(buildAnyShapeContainer(child16, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, true));
|
|
45582
46270
|
}
|
|
45583
46271
|
return record(OA.SpgrContainer, data.toBytes(), 0, true);
|
|
45584
46272
|
}
|
|
@@ -45716,9 +46404,9 @@ function* iterateChildren(view, container) {
|
|
|
45716
46404
|
yield* iterateRecords(view, container.dataOffset, container.dataOffset + container.recLen);
|
|
45717
46405
|
}
|
|
45718
46406
|
function findChild2(view, container, recType, recInstance) {
|
|
45719
|
-
for (const
|
|
45720
|
-
if (
|
|
45721
|
-
return
|
|
46407
|
+
for (const child16 of iterateChildren(view, container)) {
|
|
46408
|
+
if (child16.recType === recType && (recInstance === void 0 || child16.recInstance === recInstance)) {
|
|
46409
|
+
return child16;
|
|
45722
46410
|
}
|
|
45723
46411
|
}
|
|
45724
46412
|
return void 0;
|
|
@@ -45731,12 +46419,12 @@ function findDescendant(view, container, recType, recInstance) {
|
|
|
45731
46419
|
stack.pop();
|
|
45732
46420
|
continue;
|
|
45733
46421
|
}
|
|
45734
|
-
const
|
|
45735
|
-
if (
|
|
45736
|
-
return
|
|
46422
|
+
const child16 = next.value;
|
|
46423
|
+
if (child16.recType === recType && (recInstance === void 0)) {
|
|
46424
|
+
return child16;
|
|
45737
46425
|
}
|
|
45738
|
-
if (isContainer(
|
|
45739
|
-
stack.push(iterateChildren(view,
|
|
46426
|
+
if (isContainer(child16))
|
|
46427
|
+
stack.push(iterateChildren(view, child16));
|
|
45740
46428
|
}
|
|
45741
46429
|
return void 0;
|
|
45742
46430
|
}
|
|
@@ -45780,9 +46468,9 @@ function parseColorSchemeAtom(view, rec) {
|
|
|
45780
46468
|
return colors;
|
|
45781
46469
|
}
|
|
45782
46470
|
function findSchemeColors(view, container) {
|
|
45783
|
-
for (const
|
|
45784
|
-
if (
|
|
45785
|
-
return parseColorSchemeAtom(view,
|
|
46471
|
+
for (const child16 of iterateChildren(view, container)) {
|
|
46472
|
+
if (child16.recType === RT.ColorSchemeAtom && child16.recInstance === 1) {
|
|
46473
|
+
return parseColorSchemeAtom(view, child16);
|
|
45786
46474
|
}
|
|
45787
46475
|
}
|
|
45788
46476
|
return void 0;
|
|
@@ -46217,7 +46905,7 @@ function relativiseBody(body, styles) {
|
|
|
46217
46905
|
}
|
|
46218
46906
|
function relativiseShape(shape, styles) {
|
|
46219
46907
|
if (shape.kind === "group") {
|
|
46220
|
-
return { ...shape, children: shape.children.map((
|
|
46908
|
+
return { ...shape, children: shape.children.map((child16) => relativiseShape(child16, styles)) };
|
|
46221
46909
|
}
|
|
46222
46910
|
if (shape.kind === "shape" && shape.text) {
|
|
46223
46911
|
return { ...shape, text: relativiseBody(shape.text, styles) };
|
|
@@ -47243,7 +47931,7 @@ var NS_CX = "http://schemas.microsoft.com/office/drawing/2014/chartex";
|
|
|
47243
47931
|
var NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main";
|
|
47244
47932
|
var NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
|
|
47245
47933
|
var NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart";
|
|
47246
|
-
function
|
|
47934
|
+
function points2(values) {
|
|
47247
47935
|
return values.map((value, index) => ({ "@_idx": String(index), "#text": String(value) }));
|
|
47248
47936
|
}
|
|
47249
47937
|
function indexedPoints(values, indices) {
|
|
@@ -47283,7 +47971,7 @@ function buildChartExData(chartData, series, id) {
|
|
|
47283
47971
|
"@_type": "cat",
|
|
47284
47972
|
"cx:lvl": categoryLevels.map((level) => ({
|
|
47285
47973
|
"@_ptCount": String(level.length),
|
|
47286
|
-
"cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) :
|
|
47974
|
+
"cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) : points2(level)
|
|
47287
47975
|
}))
|
|
47288
47976
|
}
|
|
47289
47977
|
];
|
|
@@ -47637,7 +48325,7 @@ var FLAGS = ["showHorzBorder", "showVertBorder", "showOutline", "showKeys"];
|
|
|
47637
48325
|
function findKey6(node, name, localName15) {
|
|
47638
48326
|
return Object.keys(node).find((key2) => localName15(key2) === name);
|
|
47639
48327
|
}
|
|
47640
|
-
function
|
|
48328
|
+
function setOrdered3(node, name, value, order, localName15) {
|
|
47641
48329
|
const existingKey = findKey6(node, name, localName15);
|
|
47642
48330
|
if (existingKey) {
|
|
47643
48331
|
node[existingKey] = value;
|
|
@@ -47653,8 +48341,8 @@ function setOrdered2(node, name, value, order, localName15) {
|
|
|
47653
48341
|
for (const key2 of Object.keys(node)) {
|
|
47654
48342
|
delete node[key2];
|
|
47655
48343
|
}
|
|
47656
|
-
for (const [key2,
|
|
47657
|
-
node[key2] =
|
|
48344
|
+
for (const [key2, child16] of entries) {
|
|
48345
|
+
node[key2] = child16;
|
|
47658
48346
|
}
|
|
47659
48347
|
}
|
|
47660
48348
|
function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
|
|
@@ -47674,7 +48362,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
|
|
|
47674
48362
|
for (const flag of FLAGS) {
|
|
47675
48363
|
const value = dataTable[flag];
|
|
47676
48364
|
if (value !== void 0) {
|
|
47677
|
-
|
|
48365
|
+
setOrdered3(table, flag, { "@_val": value ? "1" : "0" }, TABLE_ORDER, localName15);
|
|
47678
48366
|
}
|
|
47679
48367
|
}
|
|
47680
48368
|
if (dataTable.spPr) {
|
|
@@ -47685,7 +48373,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
|
|
|
47685
48373
|
localName15,
|
|
47686
48374
|
resolveColor2
|
|
47687
48375
|
);
|
|
47688
|
-
|
|
48376
|
+
setOrdered3(table, "spPr", spPr, TABLE_ORDER, localName15);
|
|
47689
48377
|
}
|
|
47690
48378
|
if (dataTable.txPr) {
|
|
47691
48379
|
const txPrKey = findKey6(table, "txPr", localName15);
|
|
@@ -47700,13 +48388,13 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
|
|
|
47700
48388
|
});
|
|
47701
48389
|
const txPr = chunkX7MGZQ6C_cjs.buildDefRPrTextProperties(dataTable.txPr, authoredDefRPr, resolveColor2);
|
|
47702
48390
|
if (txPr) {
|
|
47703
|
-
|
|
48391
|
+
setOrdered3(table, "txPr", txPr, TABLE_ORDER, localName15);
|
|
47704
48392
|
}
|
|
47705
48393
|
}
|
|
47706
48394
|
if (tableKey) {
|
|
47707
48395
|
plotArea[tableKey] = table;
|
|
47708
48396
|
} else {
|
|
47709
|
-
|
|
48397
|
+
setOrdered3(plotArea, "dTable", table, PLOT_AREA_ORDER, localName15);
|
|
47710
48398
|
}
|
|
47711
48399
|
}
|
|
47712
48400
|
|
|
@@ -47818,19 +48506,19 @@ function firstNode(value) {
|
|
|
47818
48506
|
const item = Array.isArray(value) ? value[0] : value;
|
|
47819
48507
|
return item && typeof item === "object" ? item : void 0;
|
|
47820
48508
|
}
|
|
47821
|
-
function
|
|
48509
|
+
function child11(parent, local, getLocalName2) {
|
|
47822
48510
|
const key2 = chunkX7MGZQ6C_cjs.findKey(parent, local, getLocalName2);
|
|
47823
48511
|
return key2 ? firstNode(parent[key2]) : void 0;
|
|
47824
48512
|
}
|
|
47825
48513
|
function labelRunProperties(paragraph, getLocalName2) {
|
|
47826
48514
|
for (const local of ["r", "fld"]) {
|
|
47827
|
-
const runNode =
|
|
47828
|
-
const rPr = runNode ?
|
|
48515
|
+
const runNode = child11(paragraph, local, getLocalName2);
|
|
48516
|
+
const rPr = runNode ? child11(runNode, "rPr", getLocalName2) : void 0;
|
|
47829
48517
|
if (rPr) {
|
|
47830
48518
|
return rPr;
|
|
47831
48519
|
}
|
|
47832
48520
|
}
|
|
47833
|
-
return
|
|
48521
|
+
return child11(paragraph, "endParaRPr", getLocalName2);
|
|
47834
48522
|
}
|
|
47835
48523
|
function buildDataLabelTx(existingTx, text, getLocalName2) {
|
|
47836
48524
|
const richKey = existingTx ? chunkX7MGZQ6C_cjs.findKey(existingTx, "rich", getLocalName2) : void 0;
|
|
@@ -47847,9 +48535,9 @@ function buildDataLabelTx(existingTx, text, getLocalName2) {
|
|
|
47847
48535
|
}
|
|
47848
48536
|
const pKey = chunkX7MGZQ6C_cjs.findKey(rich, "p", getLocalName2) ?? "a:p";
|
|
47849
48537
|
const paragraph = firstNode(rich[pKey]) ?? {};
|
|
47850
|
-
const pPr =
|
|
48538
|
+
const pPr = child11(paragraph, "pPr", getLocalName2);
|
|
47851
48539
|
const rPr = labelRunProperties(paragraph, getLocalName2);
|
|
47852
|
-
const endParaRPr =
|
|
48540
|
+
const endParaRPr = child11(paragraph, "endParaRPr", getLocalName2);
|
|
47853
48541
|
const run = rPr ? { "a:rPr": rPr, "a:t": text } : { "a:t": text };
|
|
47854
48542
|
const newParagraph = {};
|
|
47855
48543
|
if (pPr) {
|
|
@@ -48457,13 +49145,13 @@ function applyChartGroupOptionsToXml(container, containerLocal, chartData, getLo
|
|
|
48457
49145
|
}
|
|
48458
49146
|
|
|
48459
49147
|
// pptx/core/utils/chart-area-format.ts
|
|
48460
|
-
var
|
|
49148
|
+
var FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
|
|
48461
49149
|
var AFTER_LN = /* @__PURE__ */ new Set(["effectLst", "effectDag", "scene3d", "sp3d", "extLst"]);
|
|
48462
|
-
var
|
|
49150
|
+
var LN_FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
|
|
48463
49151
|
function findKey11(obj, local, getLocalName2) {
|
|
48464
49152
|
return Object.keys(obj).find((key2) => getLocalName2(key2) === local);
|
|
48465
49153
|
}
|
|
48466
|
-
function
|
|
49154
|
+
function asObject2(value) {
|
|
48467
49155
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
48468
49156
|
}
|
|
48469
49157
|
function parsePaint(node, getLocalName2, resolveColor2) {
|
|
@@ -48473,11 +49161,11 @@ function parsePaint(node, getLocalName2, resolveColor2) {
|
|
|
48473
49161
|
if (findKey11(node, "noFill", getLocalName2) !== void 0) {
|
|
48474
49162
|
return "none";
|
|
48475
49163
|
}
|
|
48476
|
-
const solid =
|
|
49164
|
+
const solid = asObject2(node[findKey11(node, "solidFill", getLocalName2) ?? ""]);
|
|
48477
49165
|
return solid ? resolveColor2(solid) : void 0;
|
|
48478
49166
|
}
|
|
48479
49167
|
function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient) {
|
|
48480
|
-
const spPr = owner ?
|
|
49168
|
+
const spPr = owner ? asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]) : void 0;
|
|
48481
49169
|
if (!spPr) {
|
|
48482
49170
|
return {};
|
|
48483
49171
|
}
|
|
@@ -48490,15 +49178,15 @@ function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient
|
|
|
48490
49178
|
if (gradient) {
|
|
48491
49179
|
format.gradient = gradient;
|
|
48492
49180
|
}
|
|
48493
|
-
const ln =
|
|
49181
|
+
const ln = asObject2(spPr[findKey11(spPr, "ln", getLocalName2) ?? ""]);
|
|
48494
49182
|
const border = parsePaint(ln, getLocalName2, resolveColor2);
|
|
48495
49183
|
if (border !== void 0) {
|
|
48496
49184
|
format.border = border;
|
|
48497
49185
|
}
|
|
48498
49186
|
return format;
|
|
48499
49187
|
}
|
|
48500
|
-
function paintXml(
|
|
48501
|
-
return
|
|
49188
|
+
function paintXml(paint2) {
|
|
49189
|
+
return paint2 === "none" ? { "a:noFill": {} } : { "a:solidFill": { "a:srgbClr": { "@_val": chunkX7MGZQ6C_cjs.chartColorHex(paint2) } } };
|
|
48502
49190
|
}
|
|
48503
49191
|
function buildChartAreaSpPr(format) {
|
|
48504
49192
|
const spPr = {};
|
|
@@ -48539,15 +49227,15 @@ function setPaint(node, entry2, choices, after, getLocalName2) {
|
|
|
48539
49227
|
node[key2] = value;
|
|
48540
49228
|
}
|
|
48541
49229
|
}
|
|
48542
|
-
function paintEntry(
|
|
48543
|
-
if (
|
|
49230
|
+
function paintEntry(paint2, authored, getLocalName2, resolveColor2) {
|
|
49231
|
+
if (paint2 === void 0) {
|
|
48544
49232
|
return void 0;
|
|
48545
49233
|
}
|
|
48546
|
-
if (
|
|
49234
|
+
if (paint2 === "none") {
|
|
48547
49235
|
return ["a:noFill", {}];
|
|
48548
49236
|
}
|
|
48549
|
-
const solid =
|
|
48550
|
-
return ["a:solidFill", chunkX7MGZQ6C_cjs.chartColorChoiceValue(solid,
|
|
49237
|
+
const solid = asObject2(authored[findKey11(authored, "solidFill", getLocalName2) ?? ""]);
|
|
49238
|
+
return ["a:solidFill", chunkX7MGZQ6C_cjs.chartColorChoiceValue(solid, paint2, resolveColor2)];
|
|
48551
49239
|
}
|
|
48552
49240
|
function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
|
|
48553
49241
|
const authored = parseChartAreaFormat(
|
|
@@ -48561,7 +49249,7 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
|
|
|
48561
49249
|
if (!fillChanged && !borderChanged) {
|
|
48562
49250
|
return false;
|
|
48563
49251
|
}
|
|
48564
|
-
let spPr =
|
|
49252
|
+
let spPr = asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]);
|
|
48565
49253
|
if (!spPr) {
|
|
48566
49254
|
spPr = {};
|
|
48567
49255
|
options.insertSpPr(owner, spPr);
|
|
@@ -48571,17 +49259,17 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
|
|
|
48571
49259
|
chunkX7MGZQ6C_cjs.applyChartGradientToSpPr(spPr, format.gradient, getLocalName2, options);
|
|
48572
49260
|
} else {
|
|
48573
49261
|
const entry2 = paintEntry(format.fill, spPr, getLocalName2, options.resolveColor);
|
|
48574
|
-
setPaint(spPr, entry2,
|
|
49262
|
+
setPaint(spPr, entry2, FILL_CHOICE2, /* @__PURE__ */ new Set(["ln", ...AFTER_LN]), getLocalName2);
|
|
48575
49263
|
}
|
|
48576
49264
|
}
|
|
48577
49265
|
if (borderChanged) {
|
|
48578
49266
|
const lnKey = findKey11(spPr, "ln", getLocalName2);
|
|
48579
|
-
const ln =
|
|
49267
|
+
const ln = asObject2(lnKey ? spPr[lnKey] : void 0) ?? {};
|
|
48580
49268
|
const entry2 = paintEntry(format.border, ln, getLocalName2, options.resolveColor);
|
|
48581
49269
|
setPaint(
|
|
48582
49270
|
ln,
|
|
48583
49271
|
entry2,
|
|
48584
|
-
|
|
49272
|
+
LN_FILL_CHOICE2,
|
|
48585
49273
|
/* @__PURE__ */ new Set(["prstDash", "custDash", "round", "bevel", "miter", "headEnd", "tailEnd", "extLst"]),
|
|
48586
49274
|
getLocalName2
|
|
48587
49275
|
);
|
|
@@ -48636,8 +49324,8 @@ function insertBefore(node, key2, value, after, getLocalName2) {
|
|
|
48636
49324
|
for (const candidate of Object.keys(node)) {
|
|
48637
49325
|
delete node[candidate];
|
|
48638
49326
|
}
|
|
48639
|
-
for (const [candidate,
|
|
48640
|
-
node[candidate] =
|
|
49327
|
+
for (const [candidate, child16] of entries) {
|
|
49328
|
+
node[candidate] = child16;
|
|
48641
49329
|
}
|
|
48642
49330
|
}
|
|
48643
49331
|
function chartAreaFormatOf(chartData) {
|
|
@@ -48936,7 +49624,7 @@ var CAT_AX_ID = 111111111;
|
|
|
48936
49624
|
var VAL_AX_ID = 222222222;
|
|
48937
49625
|
var SER_AX_ID = 333333333;
|
|
48938
49626
|
var SCATTER_LIKE = /* @__PURE__ */ new Set(["scatter", "bubble"]);
|
|
48939
|
-
function
|
|
49627
|
+
function points3(values) {
|
|
48940
49628
|
return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
|
|
48941
49629
|
}
|
|
48942
49630
|
function numLit2(values, formatCode2 = "General") {
|
|
@@ -48944,7 +49632,7 @@ function numLit2(values, formatCode2 = "General") {
|
|
|
48944
49632
|
"c:numLit": {
|
|
48945
49633
|
"c:formatCode": formatCode2,
|
|
48946
49634
|
"c:ptCount": { "@_val": String(values.length) },
|
|
48947
|
-
"c:pt":
|
|
49635
|
+
"c:pt": points3(values.map(String))
|
|
48948
49636
|
}
|
|
48949
49637
|
};
|
|
48950
49638
|
}
|
|
@@ -48952,7 +49640,7 @@ function strLit(values) {
|
|
|
48952
49640
|
return {
|
|
48953
49641
|
"c:strLit": {
|
|
48954
49642
|
"c:ptCount": { "@_val": String(values.length) },
|
|
48955
|
-
"c:pt":
|
|
49643
|
+
"c:pt": points3(values)
|
|
48956
49644
|
}
|
|
48957
49645
|
};
|
|
48958
49646
|
}
|
|
@@ -50078,7 +50766,7 @@ function applyChartAxisTitleStyleToXml(axisNode, style, getLocalName2, resolveCo
|
|
|
50078
50766
|
}
|
|
50079
50767
|
|
|
50080
50768
|
// pptx/core/utils/chart-color-map-override.ts
|
|
50081
|
-
function
|
|
50769
|
+
function keyOf9(node, name, localName15) {
|
|
50082
50770
|
return Object.keys(node).find((key2) => localName15(key2) === name);
|
|
50083
50771
|
}
|
|
50084
50772
|
function prefixOf6(key2) {
|
|
@@ -50092,7 +50780,7 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
|
|
|
50092
50780
|
if (value === void 0) {
|
|
50093
50781
|
return;
|
|
50094
50782
|
}
|
|
50095
|
-
const existingKey =
|
|
50783
|
+
const existingKey = keyOf9(chartSpace, "clrMapOvr", localName15);
|
|
50096
50784
|
if (value === null || Object.keys(value).length === 0) {
|
|
50097
50785
|
if (existingKey) {
|
|
50098
50786
|
delete chartSpace[existingKey];
|
|
@@ -50107,19 +50795,19 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
|
|
|
50107
50795
|
chartSpace[existingKey] = node;
|
|
50108
50796
|
return;
|
|
50109
50797
|
}
|
|
50110
|
-
const chartKey =
|
|
50798
|
+
const chartKey = keyOf9(chartSpace, "chart", localName15);
|
|
50111
50799
|
const prefix = prefixOf6(chartKey);
|
|
50112
50800
|
const entries = Object.entries(chartSpace);
|
|
50113
50801
|
for (const key2 of Object.keys(chartSpace)) {
|
|
50114
50802
|
delete chartSpace[key2];
|
|
50115
50803
|
}
|
|
50116
50804
|
let inserted = false;
|
|
50117
|
-
for (const [key2,
|
|
50805
|
+
for (const [key2, child16] of entries) {
|
|
50118
50806
|
if (!inserted && localName15(key2) === "chart") {
|
|
50119
50807
|
chartSpace[`${prefix}:clrMapOvr`] = node;
|
|
50120
50808
|
inserted = true;
|
|
50121
50809
|
}
|
|
50122
|
-
chartSpace[key2] =
|
|
50810
|
+
chartSpace[key2] = child16;
|
|
50123
50811
|
}
|
|
50124
50812
|
if (!inserted) {
|
|
50125
50813
|
chartSpace[`${prefix}:clrMapOvr`] = node;
|
|
@@ -50259,7 +50947,7 @@ function applyGroupAxisReferences(container, series, axes, getLocalName2) {
|
|
|
50259
50947
|
function findKey15(obj, local, getLocalName2) {
|
|
50260
50948
|
return Object.keys(obj).find((k) => getLocalName2(k) === local);
|
|
50261
50949
|
}
|
|
50262
|
-
function
|
|
50950
|
+
function points4(values) {
|
|
50263
50951
|
return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
|
|
50264
50952
|
}
|
|
50265
50953
|
function wrapperLocalName(containerLocalName) {
|
|
@@ -50277,7 +50965,7 @@ function buildFilteredSerNode(entry2, categories) {
|
|
|
50277
50965
|
}
|
|
50278
50966
|
if (cats.length > 0) {
|
|
50279
50967
|
node["c:cat"] = {
|
|
50280
|
-
"c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt":
|
|
50968
|
+
"c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt": points4(cats) }
|
|
50281
50969
|
};
|
|
50282
50970
|
}
|
|
50283
50971
|
if (entry2.values) {
|
|
@@ -50285,7 +50973,7 @@ function buildFilteredSerNode(entry2, categories) {
|
|
|
50285
50973
|
"c:numLit": {
|
|
50286
50974
|
"c:formatCode": "General",
|
|
50287
50975
|
"c:ptCount": { "@_val": String(entry2.values.length) },
|
|
50288
|
-
"c:pt":
|
|
50976
|
+
"c:pt": points4(entry2.values.map(String))
|
|
50289
50977
|
}
|
|
50290
50978
|
};
|
|
50291
50979
|
}
|
|
@@ -50348,7 +51036,33 @@ function applyFilteredSeriesToXml(container, filteredSeries, categories, contain
|
|
|
50348
51036
|
}
|
|
50349
51037
|
|
|
50350
51038
|
// pptx/core/utils/chart-legend-serializer.ts
|
|
50351
|
-
function
|
|
51039
|
+
function applyLegendOverlay(legendNode, overlay, getLocalName2) {
|
|
51040
|
+
if (overlay === void 0) {
|
|
51041
|
+
return;
|
|
51042
|
+
}
|
|
51043
|
+
const key2 = Object.keys(legendNode).find((k) => getLocalName2(k) === "overlay");
|
|
51044
|
+
const node = key2 ? legendNode[key2] : void 0;
|
|
51045
|
+
const val = node && typeof node === "object" ? node["@_val"] : void 0;
|
|
51046
|
+
const authored = key2 ? !(val === "0" || val === "false") : true;
|
|
51047
|
+
if (authored === overlay) {
|
|
51048
|
+
return;
|
|
51049
|
+
}
|
|
51050
|
+
const value = { "@_val": overlay ? "1" : "0" };
|
|
51051
|
+
if (key2) {
|
|
51052
|
+
legendNode[key2] = value;
|
|
51053
|
+
return;
|
|
51054
|
+
}
|
|
51055
|
+
const entries = Object.entries(legendNode);
|
|
51056
|
+
const at = entries.findIndex(([k]) => ["spPr", "txPr", "extLst"].includes(getLocalName2(k)));
|
|
51057
|
+
entries.splice(at < 0 ? entries.length : at, 0, ["c:overlay", value]);
|
|
51058
|
+
for (const k of Object.keys(legendNode)) {
|
|
51059
|
+
delete legendNode[k];
|
|
51060
|
+
}
|
|
51061
|
+
for (const [k, v] of entries) {
|
|
51062
|
+
legendNode[k] = v;
|
|
51063
|
+
}
|
|
51064
|
+
}
|
|
51065
|
+
function child12(node, name, getLocalName2) {
|
|
50352
51066
|
if (!node) {
|
|
50353
51067
|
return void 0;
|
|
50354
51068
|
}
|
|
@@ -50361,20 +51075,20 @@ function parseChartLegendEntries(legend, getLocalName2, parseColor, resolveTypef
|
|
|
50361
51075
|
const nodes = raw ? Array.isArray(raw) ? raw : [raw] : [];
|
|
50362
51076
|
return nodes.flatMap((value) => {
|
|
50363
51077
|
const node = value;
|
|
50364
|
-
const index = Number.parseInt(String(
|
|
51078
|
+
const index = Number.parseInt(String(child12(node, "idx", getLocalName2)?.["@_val"] ?? ""), 10);
|
|
50365
51079
|
if (!Number.isFinite(index) || index < 0) {
|
|
50366
51080
|
return [];
|
|
50367
51081
|
}
|
|
50368
51082
|
const entry2 = { index };
|
|
50369
|
-
const deleteNode =
|
|
51083
|
+
const deleteNode = child12(node, "delete", getLocalName2);
|
|
50370
51084
|
if (deleteNode) {
|
|
50371
51085
|
const val = deleteNode["@_val"];
|
|
50372
51086
|
entry2.deleted = val !== "0" && val !== "false";
|
|
50373
51087
|
}
|
|
50374
51088
|
const xmlLookup = {
|
|
50375
|
-
getChildByLocalName: (parent, name) =>
|
|
51089
|
+
getChildByLocalName: (parent, name) => child12(parent, name, getLocalName2)
|
|
50376
51090
|
};
|
|
50377
|
-
const defRPr = chunkX7MGZQ6C_cjs.resolveTxPrDefRPr(
|
|
51091
|
+
const defRPr = chunkX7MGZQ6C_cjs.resolveTxPrDefRPr(child12(node, "txPr", getLocalName2), xmlLookup);
|
|
50378
51092
|
const style = chunkX7MGZQ6C_cjs.parseDefRPrTextStyle(defRPr, xmlLookup, { parseColor }, resolveTypeface);
|
|
50379
51093
|
if (style) {
|
|
50380
51094
|
entry2.textStyle = style;
|
|
@@ -50399,9 +51113,9 @@ function setEntryChoice(node, key2, value, getLocalName2) {
|
|
|
50399
51113
|
}
|
|
50400
51114
|
function authoredEntryDefRPr(node, txPrKey, getLocalName2) {
|
|
50401
51115
|
const txPr = txPrKey ? node[txPrKey] : void 0;
|
|
50402
|
-
const paragraph = txPr ?
|
|
50403
|
-
const pPr = paragraph ?
|
|
50404
|
-
return pPr ?
|
|
51116
|
+
const paragraph = txPr ? child12(txPr, "p", getLocalName2) : void 0;
|
|
51117
|
+
const pPr = paragraph ? child12(paragraph, "pPr", getLocalName2) : void 0;
|
|
51118
|
+
return pPr ? child12(pPr, "defRPr", getLocalName2) : void 0;
|
|
50405
51119
|
}
|
|
50406
51120
|
function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
|
|
50407
51121
|
if (!entries) {
|
|
@@ -50411,7 +51125,7 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
|
|
|
50411
51125
|
const raw = key2 ? legend[key2] : void 0;
|
|
50412
51126
|
const existing = raw ? Array.isArray(raw) ? raw : [raw] : [];
|
|
50413
51127
|
const byIndex = new Map(
|
|
50414
|
-
existing.map((node) => [Number(
|
|
51128
|
+
existing.map((node) => [Number(child12(node, "idx", getLocalName2)?.["@_val"]), node])
|
|
50415
51129
|
);
|
|
50416
51130
|
const updated = [...existing];
|
|
50417
51131
|
for (const entry2 of entries) {
|
|
@@ -50451,13 +51165,13 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
|
|
|
50451
51165
|
legend[key2] = updated;
|
|
50452
51166
|
return;
|
|
50453
51167
|
}
|
|
50454
|
-
const
|
|
50455
|
-
const position2 =
|
|
50456
|
-
|
|
51168
|
+
const children6 = Object.entries(legend);
|
|
51169
|
+
const position2 = children6.findIndex(([candidate]) => getLocalName2(candidate) !== "legendPos");
|
|
51170
|
+
children6.splice(position2 < 0 ? children6.length : position2, 0, ["c:legendEntry", updated]);
|
|
50457
51171
|
for (const candidate of Object.keys(legend)) {
|
|
50458
51172
|
delete legend[candidate];
|
|
50459
51173
|
}
|
|
50460
|
-
for (const [candidate, value] of
|
|
51174
|
+
for (const [candidate, value] of children6) {
|
|
50461
51175
|
legend[candidate] = value;
|
|
50462
51176
|
}
|
|
50463
51177
|
}
|
|
@@ -50492,7 +51206,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
|
|
|
50492
51206
|
"c:legend",
|
|
50493
51207
|
{
|
|
50494
51208
|
"c:legendPos": { "@_val": style.legendPosition ?? "r" },
|
|
50495
|
-
"c:overlay": { "@_val": "0" }
|
|
51209
|
+
"c:overlay": { "@_val": style.legendOverlay ? "1" : "0" }
|
|
50496
51210
|
},
|
|
50497
51211
|
"plotArea",
|
|
50498
51212
|
getLocalName2
|
|
@@ -50516,6 +51230,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
|
|
|
50516
51230
|
);
|
|
50517
51231
|
}
|
|
50518
51232
|
}
|
|
51233
|
+
applyLegendOverlay(legendNode, style.legendOverlay, getLocalName2);
|
|
50519
51234
|
applyLegendEntries(legendNode, style.legendEntries, getLocalName2, resolveColor2);
|
|
50520
51235
|
}
|
|
50521
51236
|
|
|
@@ -50539,7 +51254,7 @@ var CONTAINER_ORDER = [
|
|
|
50539
51254
|
function findKey16(node, name, localName15) {
|
|
50540
51255
|
return Object.keys(node).find((key2) => localName15(key2) === name);
|
|
50541
51256
|
}
|
|
50542
|
-
function
|
|
51257
|
+
function setOrdered4(node, name, value, localName15) {
|
|
50543
51258
|
const key2 = findKey16(node, name, localName15);
|
|
50544
51259
|
if (key2) {
|
|
50545
51260
|
node[key2] = value;
|
|
@@ -50557,8 +51272,8 @@ function setOrdered3(node, name, value, localName15) {
|
|
|
50557
51272
|
for (const candidate of Object.keys(node)) {
|
|
50558
51273
|
delete node[candidate];
|
|
50559
51274
|
}
|
|
50560
|
-
for (const [candidate,
|
|
50561
|
-
node[candidate] =
|
|
51275
|
+
for (const [candidate, child16] of entries) {
|
|
51276
|
+
node[candidate] = child16;
|
|
50562
51277
|
}
|
|
50563
51278
|
}
|
|
50564
51279
|
function applyChartLineStyle(chartContainer, elementName, style, localName15, resolveColor2) {
|
|
@@ -50584,7 +51299,7 @@ function applyChartLineStyle(chartContainer, elementName, style, localName15, re
|
|
|
50584
51299
|
resolveColor2
|
|
50585
51300
|
);
|
|
50586
51301
|
}
|
|
50587
|
-
|
|
51302
|
+
setOrdered4(chartContainer, elementName, node, localName15);
|
|
50588
51303
|
}
|
|
50589
51304
|
|
|
50590
51305
|
// pptx/core/utils/chart-series-color-serializer.ts
|
|
@@ -51197,7 +51912,7 @@ function replaceChartExDataDimensions(target, fresh, getLocalName2) {
|
|
|
51197
51912
|
function findKey21(node, localName15, getLocalName2) {
|
|
51198
51913
|
return Object.keys(node).find((key2) => getLocalName2(key2) === localName15);
|
|
51199
51914
|
}
|
|
51200
|
-
function
|
|
51915
|
+
function child13(node, localName15, getLocalName2) {
|
|
51201
51916
|
if (!node) {
|
|
51202
51917
|
return void 0;
|
|
51203
51918
|
}
|
|
@@ -51239,8 +51954,8 @@ var AFTER_TX = [
|
|
|
51239
51954
|
"extLst"
|
|
51240
51955
|
];
|
|
51241
51956
|
function applySeriesName(node, name, getLocalName2) {
|
|
51242
|
-
const tx =
|
|
51243
|
-
const txData =
|
|
51957
|
+
const tx = child13(node, "tx", getLocalName2);
|
|
51958
|
+
const txData = child13(tx, "txData", getLocalName2);
|
|
51244
51959
|
if (tx && txData) {
|
|
51245
51960
|
const vKey = findKey21(txData, "v", getLocalName2) ?? "cx:v";
|
|
51246
51961
|
txData[vKey] = name;
|
|
@@ -51255,8 +51970,8 @@ function applySeriesName(node, name, getLocalName2) {
|
|
|
51255
51970
|
var FILL_KINDS = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
|
|
51256
51971
|
var AFTER_FILL = ["ln", "effectLst", "effectDag", "scene3d", "sp3d", "extLst"];
|
|
51257
51972
|
function currentSeriesColor(node, getLocalName2) {
|
|
51258
|
-
const srgb =
|
|
51259
|
-
|
|
51973
|
+
const srgb = child13(
|
|
51974
|
+
child13(child13(node, "spPr", getLocalName2), "solidFill", getLocalName2),
|
|
51260
51975
|
"srgbClr",
|
|
51261
51976
|
getLocalName2
|
|
51262
51977
|
);
|
|
@@ -51272,7 +51987,7 @@ function applySeriesColor(node, series, getLocalName2) {
|
|
|
51272
51987
|
if (wanted === currentSeriesColor(node, getLocalName2)) {
|
|
51273
51988
|
return;
|
|
51274
51989
|
}
|
|
51275
|
-
const spPr =
|
|
51990
|
+
const spPr = child13(node, "spPr", getLocalName2);
|
|
51276
51991
|
if (!spPr) {
|
|
51277
51992
|
insertBefore3(node, "cx:spPr", fill, AFTER_TX.slice(1), getLocalName2);
|
|
51278
51993
|
return;
|
|
@@ -51316,7 +52031,7 @@ function nextDataId(dataNodes) {
|
|
|
51316
52031
|
return max + 1;
|
|
51317
52032
|
}
|
|
51318
52033
|
function bindSeriesData(node, dataNodes, chartData, series, getLocalName2) {
|
|
51319
|
-
const dataIdNode =
|
|
52034
|
+
const dataIdNode = child13(node, "dataId", getLocalName2);
|
|
51320
52035
|
const dataId = dataIdNode ? String(dataIdNode["@_val"] ?? "") : void 0;
|
|
51321
52036
|
const referenced = dataId !== void 0 ? dataNodes.find((data) => String(data["@_id"]) === dataId) : void 0;
|
|
51322
52037
|
if (referenced) {
|
|
@@ -51381,8 +52096,8 @@ function applyLegend(chartRoot, chartData, getLocalName2) {
|
|
|
51381
52096
|
insertBefore3(chartRoot, "cx:legend", legend, ["extLst"], getLocalName2);
|
|
51382
52097
|
}
|
|
51383
52098
|
function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
|
|
51384
|
-
const region =
|
|
51385
|
-
|
|
52099
|
+
const region = child13(
|
|
52100
|
+
child13(child13(chartSpace, "chart", getLocalName2), "plotArea", getLocalName2),
|
|
51386
52101
|
"plotAreaRegion",
|
|
51387
52102
|
getLocalName2
|
|
51388
52103
|
);
|
|
@@ -51396,9 +52111,9 @@ function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
|
|
|
51396
52111
|
return chartExLayoutId(chartData, series).toLowerCase() !== existing;
|
|
51397
52112
|
}
|
|
51398
52113
|
function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
|
|
51399
|
-
const chartRoot =
|
|
51400
|
-
const plotArea =
|
|
51401
|
-
const region =
|
|
52114
|
+
const chartRoot = child13(chartSpace, "chart", getLocalName2);
|
|
52115
|
+
const plotArea = child13(chartRoot, "plotArea", getLocalName2);
|
|
52116
|
+
const region = child13(plotArea, "plotAreaRegion", getLocalName2);
|
|
51402
52117
|
if (!chartRoot || !region) {
|
|
51403
52118
|
return false;
|
|
51404
52119
|
}
|
|
@@ -51425,7 +52140,7 @@ function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
|
|
|
51425
52140
|
bindSeriesData(node, dataNodes, chartData, series, getLocalName2);
|
|
51426
52141
|
updated.push(node);
|
|
51427
52142
|
});
|
|
51428
|
-
const referencedId = (node) => String(
|
|
52143
|
+
const referencedId = (node) => String(child13(node, "dataId", getLocalName2)?.["@_val"]);
|
|
51429
52144
|
const liveIds = new Set(updated.map(referencedId));
|
|
51430
52145
|
const removedIds = new Set(existing.slice(chartData.series.length).map(referencedId));
|
|
51431
52146
|
const survivingData = dataNodes.filter((data) => {
|
|
@@ -51907,8 +52622,8 @@ function buildOffExt(off, ext) {
|
|
|
51907
52622
|
"a:ext": { "@_cx": String(Math.round(ext.cx)), "@_cy": String(Math.round(ext.cy)) }
|
|
51908
52623
|
};
|
|
51909
52624
|
}
|
|
51910
|
-
function buildChildXfrm(
|
|
51911
|
-
return buildOffExt(
|
|
52625
|
+
function buildChildXfrm(child16) {
|
|
52626
|
+
return buildOffExt(child16.off, child16.ext);
|
|
51912
52627
|
}
|
|
51913
52628
|
function buildGroupTransformXfrm(transform2) {
|
|
51914
52629
|
const xfrm = {
|
|
@@ -51933,29 +52648,29 @@ function buildGroupTransformXfrm(transform2) {
|
|
|
51933
52648
|
}
|
|
51934
52649
|
return xfrm;
|
|
51935
52650
|
}
|
|
51936
|
-
function buildGroupChildNode(
|
|
51937
|
-
if (
|
|
51938
|
-
if (
|
|
51939
|
-
return { key: "grpSp", node: chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
52651
|
+
function buildGroupChildNode(child16, id, idState) {
|
|
52652
|
+
if (child16.kind === "grpSp") {
|
|
52653
|
+
if (child16.rawXml) {
|
|
52654
|
+
return { key: "grpSp", node: chunkX7MGZQ6C_cjs.cloneXmlObject(child16.rawXml) ?? {} };
|
|
51940
52655
|
}
|
|
51941
|
-
return { key: "grpSp", node: buildGroupNode(
|
|
52656
|
+
return { key: "grpSp", node: buildGroupNode(child16, id, idState) };
|
|
51942
52657
|
}
|
|
51943
|
-
const rawShapeKey = (
|
|
52658
|
+
const rawShapeKey = (child16.kind === "pic" || child16.kind === "graphicFrame") && child16.rawXml ? child16.kind : void 0;
|
|
51944
52659
|
if (rawShapeKey) {
|
|
51945
|
-
const rawNode = chunkX7MGZQ6C_cjs.cloneXmlObject(
|
|
51946
|
-
applyChildXfrmToRawNode(rawNode,
|
|
51947
|
-
applyRotationFlipToRawNode(rawNode,
|
|
52660
|
+
const rawNode = chunkX7MGZQ6C_cjs.cloneXmlObject(child16.rawXml) ?? {};
|
|
52661
|
+
applyChildXfrmToRawNode(rawNode, child16.off, child16.ext);
|
|
52662
|
+
applyRotationFlipToRawNode(rawNode, child16.rotation, child16.flipH, child16.flipV);
|
|
51948
52663
|
if (rawShapeKey === "pic") {
|
|
51949
|
-
applyPicAltText(rawNode,
|
|
52664
|
+
applyPicAltText(rawNode, child16.altText);
|
|
51950
52665
|
}
|
|
51951
52666
|
return { key: rawShapeKey, node: rawNode };
|
|
51952
52667
|
}
|
|
51953
|
-
if (
|
|
51954
|
-
return { key: "cxnSp", node: buildCxnSpNode(
|
|
52668
|
+
if (child16.kind === "cxnSp") {
|
|
52669
|
+
return { key: "cxnSp", node: buildCxnSpNode(child16, id, buildChildXfrm(child16)) };
|
|
51955
52670
|
}
|
|
51956
|
-
return { key: "sp", node: buildSpNode(
|
|
52671
|
+
return { key: "sp", node: buildSpNode(child16, id, buildChildXfrm(child16)) };
|
|
51957
52672
|
}
|
|
51958
|
-
function appendGroupChildren(node,
|
|
52673
|
+
function appendGroupChildren(node, children6, idState) {
|
|
51959
52674
|
const buckets = {
|
|
51960
52675
|
sp: [],
|
|
51961
52676
|
cxnSp: [],
|
|
@@ -51963,9 +52678,9 @@ function appendGroupChildren(node, children5, idState) {
|
|
|
51963
52678
|
grpSp: [],
|
|
51964
52679
|
graphicFrame: []
|
|
51965
52680
|
};
|
|
51966
|
-
for (const
|
|
52681
|
+
for (const child16 of children6) {
|
|
51967
52682
|
const id = idState.next++;
|
|
51968
|
-
const { key: key2, node: childNode } = buildGroupChildNode(
|
|
52683
|
+
const { key: key2, node: childNode } = buildGroupChildNode(child16, id, idState);
|
|
51969
52684
|
buckets[key2].push(childNode);
|
|
51970
52685
|
}
|
|
51971
52686
|
for (const key2 of ["sp", "cxnSp", "pic", "grpSp", "graphicFrame"]) {
|
|
@@ -52501,14 +53216,14 @@ function a14ArtisticElementName(effect) {
|
|
|
52501
53216
|
}
|
|
52502
53217
|
return GALLERY_TO_A14[trimmed2];
|
|
52503
53218
|
}
|
|
52504
|
-
var
|
|
53219
|
+
var round2 = (value) => String(Math.round(value));
|
|
52505
53220
|
function buildArtisticNode(effects, elementName) {
|
|
52506
53221
|
const node = {};
|
|
52507
53222
|
const params = effects.artisticParams;
|
|
52508
53223
|
if (params && Object.keys(params).length > 0) {
|
|
52509
53224
|
for (const [name, value] of Object.entries(params)) {
|
|
52510
53225
|
if (Number.isFinite(value)) {
|
|
52511
|
-
node[`@_${name}`] =
|
|
53226
|
+
node[`@_${name}`] = round2(value);
|
|
52512
53227
|
}
|
|
52513
53228
|
}
|
|
52514
53229
|
return node;
|
|
@@ -52516,16 +53231,16 @@ function buildArtisticNode(effects, elementName) {
|
|
|
52516
53231
|
const radius = effects.artisticRadius;
|
|
52517
53232
|
const primary = ARTISTIC_PRIMARY_ATTRIBUTE[elementName];
|
|
52518
53233
|
if (primary !== void 0 && typeof radius === "number" && Number.isFinite(radius)) {
|
|
52519
|
-
node[`@_${primary}`] = primary === "radius" ?
|
|
53234
|
+
node[`@_${primary}`] = primary === "radius" ? round2(radius) : round2(radius * 1e3);
|
|
52520
53235
|
}
|
|
52521
53236
|
return node;
|
|
52522
53237
|
}
|
|
52523
53238
|
function buildMarks(marks) {
|
|
52524
53239
|
return (marks ?? []).map((mark) => ({
|
|
52525
|
-
"@_x1":
|
|
52526
|
-
"@_y1":
|
|
52527
|
-
"@_x2":
|
|
52528
|
-
"@_y2":
|
|
53240
|
+
"@_x1": round2(mark.x1 * 1e5),
|
|
53241
|
+
"@_y1": round2(mark.y1 * 1e5),
|
|
53242
|
+
"@_x2": round2(mark.x2 * 1e5),
|
|
53243
|
+
"@_y2": round2(mark.y2 * 1e5)
|
|
52529
53244
|
}));
|
|
52530
53245
|
}
|
|
52531
53246
|
function buildBackgroundRemovalNode(removal) {
|
|
@@ -52533,10 +53248,10 @@ function buildBackgroundRemovalNode(removal) {
|
|
|
52533
53248
|
return removal.rawXml;
|
|
52534
53249
|
}
|
|
52535
53250
|
const node = {
|
|
52536
|
-
"@_t":
|
|
52537
|
-
"@_b":
|
|
52538
|
-
"@_l":
|
|
52539
|
-
"@_r":
|
|
53251
|
+
"@_t": round2(removal.top * 1e5),
|
|
53252
|
+
"@_b": round2(removal.bottom * 1e5),
|
|
53253
|
+
"@_l": round2(removal.left * 1e5),
|
|
53254
|
+
"@_r": round2(removal.right * 1e5)
|
|
52540
53255
|
};
|
|
52541
53256
|
const foreground = buildMarks(removal.foregroundMarks);
|
|
52542
53257
|
if (foreground.length > 0) {
|
|
@@ -52555,26 +53270,26 @@ function buildImgEffects(effects) {
|
|
|
52555
53270
|
out.push({ "a14:backgroundRemoval": buildBackgroundRemovalNode(effects.backgroundRemoval) });
|
|
52556
53271
|
}
|
|
52557
53272
|
if (finite2(effects.sharpenSoften?.amount)) {
|
|
52558
|
-
out.push({ "a14:sharpenSoften": { "@_amount":
|
|
53273
|
+
out.push({ "a14:sharpenSoften": { "@_amount": round2(effects.sharpenSoften.amount) } });
|
|
52559
53274
|
}
|
|
52560
53275
|
const bc = effects.brightnessContrast;
|
|
52561
53276
|
if (bc && (finite2(bc.bright) || finite2(bc.contrast))) {
|
|
52562
53277
|
const node = {};
|
|
52563
53278
|
if (finite2(bc.bright)) {
|
|
52564
|
-
node["@_bright"] =
|
|
53279
|
+
node["@_bright"] = round2(bc.bright);
|
|
52565
53280
|
}
|
|
52566
53281
|
if (finite2(bc.contrast)) {
|
|
52567
|
-
node["@_contrast"] =
|
|
53282
|
+
node["@_contrast"] = round2(bc.contrast);
|
|
52568
53283
|
}
|
|
52569
53284
|
out.push({ "a14:brightnessContrast": node });
|
|
52570
53285
|
}
|
|
52571
53286
|
if (finite2(effects.colorTemperature?.colorTemp)) {
|
|
52572
53287
|
out.push({
|
|
52573
|
-
"a14:colorTemperature": { "@_colorTemp":
|
|
53288
|
+
"a14:colorTemperature": { "@_colorTemp": round2(effects.colorTemperature.colorTemp) }
|
|
52574
53289
|
});
|
|
52575
53290
|
}
|
|
52576
53291
|
if (finite2(effects.colorSaturation?.sat)) {
|
|
52577
|
-
out.push({ "a14:saturation": { "@_sat":
|
|
53292
|
+
out.push({ "a14:saturation": { "@_sat": round2(effects.colorSaturation.sat) } });
|
|
52578
53293
|
}
|
|
52579
53294
|
const artistic = a14ArtisticElementName(effects.artisticEffect);
|
|
52580
53295
|
if (artistic !== void 0) {
|
|
@@ -52626,7 +53341,7 @@ function applyA14ImageExtension(blip, effects) {
|
|
|
52626
53341
|
|
|
52627
53342
|
// pptx/core/core/runtime/image-alpha-effects.ts
|
|
52628
53343
|
var localName12 = (key2) => key2.split(":").at(-1) ?? key2;
|
|
52629
|
-
function
|
|
53344
|
+
function child14(parent, name) {
|
|
52630
53345
|
if (!parent) {
|
|
52631
53346
|
return void 0;
|
|
52632
53347
|
}
|
|
@@ -52687,30 +53402,30 @@ function percentXml(raw, attr4, value, fixed, defaultValue) {
|
|
|
52687
53402
|
}
|
|
52688
53403
|
function parseImageAlphaEffects(blip, parseColor) {
|
|
52689
53404
|
const effects = {};
|
|
52690
|
-
const modFix =
|
|
53405
|
+
const modFix = child14(blip, "alphaModFix");
|
|
52691
53406
|
if (modFix) {
|
|
52692
53407
|
effects.alphaModFix = parsePercent(modFix["@_amt"], false) ?? 100;
|
|
52693
53408
|
effects.alphaModFixRawXml = modFix;
|
|
52694
53409
|
}
|
|
52695
|
-
const inverse =
|
|
53410
|
+
const inverse = child14(blip, "alphaInv");
|
|
52696
53411
|
if (inverse) {
|
|
52697
53412
|
const color2 = parseColor(canonicalColor(inverse));
|
|
52698
53413
|
effects.alphaInv = { ...color2 ? { color: color2 } : {}, rawXml: inverse };
|
|
52699
53414
|
}
|
|
52700
|
-
const ceiling =
|
|
53415
|
+
const ceiling = child14(blip, "alphaCeiling");
|
|
52701
53416
|
if (ceiling) {
|
|
52702
53417
|
effects.alphaCeiling = true;
|
|
52703
53418
|
effects.alphaCeilingRawXml = ceiling;
|
|
52704
53419
|
}
|
|
52705
|
-
const floor =
|
|
53420
|
+
const floor = child14(blip, "alphaFloor");
|
|
52706
53421
|
if (floor) {
|
|
52707
53422
|
effects.alphaFloor = true;
|
|
52708
53423
|
effects.alphaFloorRawXml = floor;
|
|
52709
53424
|
}
|
|
52710
|
-
const modulate =
|
|
53425
|
+
const modulate = child14(blip, "alphaMod");
|
|
52711
53426
|
if (modulate) {
|
|
52712
|
-
const cont =
|
|
52713
|
-
const nestedFix =
|
|
53427
|
+
const cont = child14(modulate, "cont");
|
|
53428
|
+
const nestedFix = child14(cont, "alphaModFix");
|
|
52714
53429
|
const amt = nestedFix ? parsePercent(nestedFix["@_amt"], false) : void 0;
|
|
52715
53430
|
effects.alphaMod = {
|
|
52716
53431
|
...cont ? { contRawXml: cont } : {},
|
|
@@ -52718,7 +53433,7 @@ function parseImageAlphaEffects(blip, parseColor) {
|
|
|
52718
53433
|
rawXml: modulate
|
|
52719
53434
|
};
|
|
52720
53435
|
}
|
|
52721
|
-
const replace =
|
|
53436
|
+
const replace = child14(blip, "alphaRepl");
|
|
52722
53437
|
if (replace) {
|
|
52723
53438
|
const alpha = parsePercent(replace["@_a"], true);
|
|
52724
53439
|
if (alpha !== void 0) {
|
|
@@ -52726,7 +53441,7 @@ function parseImageAlphaEffects(blip, parseColor) {
|
|
|
52726
53441
|
effects.alphaReplRawXml = replace;
|
|
52727
53442
|
}
|
|
52728
53443
|
}
|
|
52729
|
-
const biLevel =
|
|
53444
|
+
const biLevel = child14(blip, "alphaBiLevel");
|
|
52730
53445
|
if (biLevel) {
|
|
52731
53446
|
const threshold = parsePercent(biLevel["@_thresh"], true);
|
|
52732
53447
|
if (threshold !== void 0) {
|
|
@@ -52771,7 +53486,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
|
|
|
52771
53486
|
if (effects.alphaMod.contRawXml) {
|
|
52772
53487
|
setChild4(node, "cont", effects.alphaMod.contRawXml);
|
|
52773
53488
|
}
|
|
52774
|
-
if (
|
|
53489
|
+
if (child14(node, "cont") || effects.alphaMod.rawXml) {
|
|
52775
53490
|
setChild4(blip, "alphaMod", node);
|
|
52776
53491
|
} else {
|
|
52777
53492
|
setChild4(blip, "alphaMod", void 0);
|
|
@@ -52795,7 +53510,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
|
|
|
52795
53510
|
|
|
52796
53511
|
// pptx/core/core/runtime/image-color-effects.ts
|
|
52797
53512
|
var localName13 = (key2) => key2.split(":").at(-1) ?? key2;
|
|
52798
|
-
function
|
|
53513
|
+
function child15(parent, name) {
|
|
52799
53514
|
if (!parent) {
|
|
52800
53515
|
return void 0;
|
|
52801
53516
|
}
|
|
@@ -52846,12 +53561,12 @@ function opacity(parent, extractOpacity) {
|
|
|
52846
53561
|
}
|
|
52847
53562
|
function parseImageColorEffects(blip, parseColor, extractOpacity) {
|
|
52848
53563
|
const result = {};
|
|
52849
|
-
const grayscale =
|
|
53564
|
+
const grayscale = child15(blip, "grayscl");
|
|
52850
53565
|
if (grayscale) {
|
|
52851
53566
|
result.grayscale = true;
|
|
52852
53567
|
result.grayscaleRawXml = grayscale;
|
|
52853
53568
|
}
|
|
52854
|
-
const biLevel =
|
|
53569
|
+
const biLevel = child15(blip, "biLevel");
|
|
52855
53570
|
if (biLevel) {
|
|
52856
53571
|
const threshold = Number(biLevel["@_thresh"]);
|
|
52857
53572
|
if (Number.isFinite(threshold)) {
|
|
@@ -52859,9 +53574,9 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
|
|
|
52859
53574
|
}
|
|
52860
53575
|
result.biLevelRawXml = biLevel;
|
|
52861
53576
|
}
|
|
52862
|
-
const change =
|
|
52863
|
-
const from =
|
|
52864
|
-
const to =
|
|
53577
|
+
const change = child15(blip, "clrChange");
|
|
53578
|
+
const from = child15(change, "clrFrom");
|
|
53579
|
+
const to = child15(change, "clrTo");
|
|
52865
53580
|
if (change && from && to) {
|
|
52866
53581
|
result.clrChange = {
|
|
52867
53582
|
clrFrom: resolveColor(from, parseColor) ?? "#000000",
|
|
@@ -52870,12 +53585,12 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
|
|
|
52870
53585
|
rawXml: change
|
|
52871
53586
|
};
|
|
52872
53587
|
}
|
|
52873
|
-
const replace =
|
|
53588
|
+
const replace = child15(blip, "clrRepl");
|
|
52874
53589
|
const replacement = resolveColor(replace, parseColor);
|
|
52875
53590
|
if (replace && replacement) {
|
|
52876
53591
|
result.clrRepl = { color: replacement, rawXml: replace };
|
|
52877
53592
|
}
|
|
52878
|
-
const duotone =
|
|
53593
|
+
const duotone = child15(blip, "duotone");
|
|
52879
53594
|
if (duotone) {
|
|
52880
53595
|
const colors = colorChoices(duotone).map((color2) => resolveColor(color2, parseColor));
|
|
52881
53596
|
if (colors[0] && colors[1]) {
|
|
@@ -52938,8 +53653,8 @@ function applyImageColorEffects(blip, effects, parseColor, extractOpacity) {
|
|
|
52938
53653
|
setChild5(blip, "biLevel", biLevel);
|
|
52939
53654
|
const change = effects.clrChange;
|
|
52940
53655
|
if (change) {
|
|
52941
|
-
const rawFrom =
|
|
52942
|
-
const rawTo =
|
|
53656
|
+
const rawFrom = child15(change.rawXml, "clrFrom");
|
|
53657
|
+
const rawTo = child15(change.rawXml, "clrTo");
|
|
52943
53658
|
const rawTransparent = rawTo ? (opacity(rawTo, extractOpacity) ?? 1) <= 0 : void 0;
|
|
52944
53659
|
const unchanged2 = sameRawColor(rawFrom, change.clrFrom, parseColor) && sameRawColor(rawTo, change.clrTo, parseColor) && (rawTransparent === void 0 || change.clrToTransparent === rawTransparent);
|
|
52945
53660
|
if (unchanged2 && change.rawXml) {
|
|
@@ -53112,7 +53827,7 @@ function updateEndParagraphProperties(existing, style, serialize) {
|
|
|
53112
53827
|
const baseline = serialize({ ...style, ...style.inheritedRunStyle, ...style.authoredRunStyle });
|
|
53113
53828
|
const current = serialize(style);
|
|
53114
53829
|
const attributes = {};
|
|
53115
|
-
const
|
|
53830
|
+
const children6 = /* @__PURE__ */ new Map();
|
|
53116
53831
|
for (const key2 of /* @__PURE__ */ new Set([...Object.keys(baseline), ...Object.keys(current)])) {
|
|
53117
53832
|
if (JSON.stringify(baseline[key2]) === JSON.stringify(current[key2])) {
|
|
53118
53833
|
continue;
|
|
@@ -53120,10 +53835,10 @@ function updateEndParagraphProperties(existing, style, serialize) {
|
|
|
53120
53835
|
if (key2.startsWith("@_")) {
|
|
53121
53836
|
attributes[key2.slice(2)] = current[key2] === void 0 ? null : String(current[key2]);
|
|
53122
53837
|
} else {
|
|
53123
|
-
|
|
53838
|
+
children6.set(key2, current[key2] ?? null);
|
|
53124
53839
|
}
|
|
53125
53840
|
}
|
|
53126
|
-
if (Object.keys(attributes).length === 0 &&
|
|
53841
|
+
if (Object.keys(attributes).length === 0 && children6.size === 0) {
|
|
53127
53842
|
return existing;
|
|
53128
53843
|
}
|
|
53129
53844
|
const fillKeys = [
|
|
@@ -53134,15 +53849,15 @@ function updateEndParagraphProperties(existing, style, serialize) {
|
|
|
53134
53849
|
"a:pattFill",
|
|
53135
53850
|
"a:grpFill"
|
|
53136
53851
|
];
|
|
53137
|
-
const changedFill = fillKeys.find((key2) =>
|
|
53852
|
+
const changedFill = fillKeys.find((key2) => children6.get(key2));
|
|
53138
53853
|
if (changedFill) {
|
|
53139
53854
|
for (const key2 of fillKeys) {
|
|
53140
53855
|
if (key2 !== changedFill) {
|
|
53141
|
-
|
|
53856
|
+
children6.set(key2, null);
|
|
53142
53857
|
}
|
|
53143
53858
|
}
|
|
53144
53859
|
}
|
|
53145
|
-
return mergeOrderedXml(existing, attributes,
|
|
53860
|
+
return mergeOrderedXml(existing, attributes, children6, DEF_RPR_CHILD_ORDER);
|
|
53146
53861
|
}
|
|
53147
53862
|
|
|
53148
53863
|
// pptx/core/core/runtime/paragraph-child-assembly.ts
|
|
@@ -53179,10 +53894,10 @@ function classifyParagraphChild(run) {
|
|
|
53179
53894
|
}
|
|
53180
53895
|
return { tag: "m:oMath", value: eqXml };
|
|
53181
53896
|
}
|
|
53182
|
-
function isGroupedByTag2(
|
|
53897
|
+
function isGroupedByTag2(children6) {
|
|
53183
53898
|
const seen = /* @__PURE__ */ new Set();
|
|
53184
53899
|
let previous = "";
|
|
53185
|
-
for (const { tag } of
|
|
53900
|
+
for (const { tag } of children6) {
|
|
53186
53901
|
if (tag !== previous && seen.has(tag)) {
|
|
53187
53902
|
return false;
|
|
53188
53903
|
}
|
|
@@ -53191,10 +53906,10 @@ function isGroupedByTag2(children5) {
|
|
|
53191
53906
|
}
|
|
53192
53907
|
return true;
|
|
53193
53908
|
}
|
|
53194
|
-
function writeParagraphChildren(paragraph,
|
|
53195
|
-
if (isGroupedByTag2(
|
|
53909
|
+
function writeParagraphChildren(paragraph, children6) {
|
|
53910
|
+
if (isGroupedByTag2(children6)) {
|
|
53196
53911
|
const grouped = /* @__PURE__ */ new Map();
|
|
53197
|
-
for (const { tag, value } of
|
|
53912
|
+
for (const { tag, value } of children6) {
|
|
53198
53913
|
const bucket = grouped.get(tag);
|
|
53199
53914
|
if (bucket) {
|
|
53200
53915
|
bucket.push(value);
|
|
@@ -53208,10 +53923,10 @@ function writeParagraphChildren(paragraph, children5) {
|
|
|
53208
53923
|
return;
|
|
53209
53924
|
}
|
|
53210
53925
|
const totals = /* @__PURE__ */ new Map();
|
|
53211
|
-
for (const { tag } of
|
|
53926
|
+
for (const { tag } of children6) {
|
|
53212
53927
|
totals.set(tag, (totals.get(tag) ?? 0) + 1);
|
|
53213
53928
|
}
|
|
53214
|
-
for (const [position2, { tag, value }] of
|
|
53929
|
+
for (const [position2, { tag, value }] of children6.entries()) {
|
|
53215
53930
|
paragraph[(totals.get(tag) ?? 0) > 1 ? chunkX7MGZQ6C_cjs.orderedXmlKey(tag, position2) : tag] = value;
|
|
53216
53931
|
}
|
|
53217
53932
|
}
|
|
@@ -53417,9 +54132,9 @@ function assembleParagraphXml(runs, paragraphProps, endParaRunProperties, markup
|
|
|
53417
54132
|
if (Object.keys(paragraphProps).length > 0 || markup?.emptyParagraphPropertiesAuthored) {
|
|
53418
54133
|
paragraph["a:pPr"] = paragraphProps;
|
|
53419
54134
|
}
|
|
53420
|
-
const
|
|
53421
|
-
if (
|
|
53422
|
-
writeParagraphChildren(paragraph,
|
|
54135
|
+
const children6 = runs.map((run) => classifyParagraphChild(run)).filter((child16) => child16 !== void 0);
|
|
54136
|
+
if (children6.length > 0) {
|
|
54137
|
+
writeParagraphChildren(paragraph, children6);
|
|
53423
54138
|
} else {
|
|
53424
54139
|
paragraph["a:r"] = runs.length > 1 ? runs : runs[0];
|
|
53425
54140
|
}
|
|
@@ -54020,13 +54735,13 @@ function renderFunnelChartSvg(element, x, y, width, height) {
|
|
|
54020
54735
|
const bottom = top + Math.max(stageHeight - 1, 0.5);
|
|
54021
54736
|
const pointColor = series.dataPoints?.find((point) => point.idx === index)?.spPr?.fillColor;
|
|
54022
54737
|
const fill = pointColor ?? series.color ?? DEFAULT_COLORS[index % DEFAULT_COLORS.length];
|
|
54023
|
-
const
|
|
54738
|
+
const points5 = [
|
|
54024
54739
|
`${center - topWidth / 2},${top}`,
|
|
54025
54740
|
`${center + topWidth / 2},${top}`,
|
|
54026
54741
|
`${center + bottomWidth / 2},${bottom}`,
|
|
54027
54742
|
`${center - bottomWidth / 2},${bottom}`
|
|
54028
54743
|
].join(" ");
|
|
54029
|
-
return `<polygon data-chart-mark="funnel" data-chart-point="${index}" points="${
|
|
54744
|
+
return `<polygon data-chart-mark="funnel" data-chart-point="${index}" points="${points5}" fill="${esc2(fill)}" />`;
|
|
54030
54745
|
}).join("");
|
|
54031
54746
|
}
|
|
54032
54747
|
|
|
@@ -54074,8 +54789,8 @@ function renderLines(element, x, y, w, h) {
|
|
|
54074
54789
|
const span = max - min || 1;
|
|
54075
54790
|
return data.series.map((series, seriesIndex) => {
|
|
54076
54791
|
const denominator = Math.max(series.values.length - 1, 1);
|
|
54077
|
-
const
|
|
54078
|
-
return `<polyline data-chart-mark="line" points="${
|
|
54792
|
+
const points5 = series.values.map((value, index) => `${x + index / denominator * w},${y + (max - value) / span * h}`).join(" ");
|
|
54793
|
+
return `<polyline data-chart-mark="line" points="${points5}" fill="none" stroke="${esc3(color(series, seriesIndex))}" stroke-width="2" />`;
|
|
54079
54794
|
}).join("");
|
|
54080
54795
|
}
|
|
54081
54796
|
function polar(cx, cy, radius, angle) {
|
|
@@ -54494,8 +55209,8 @@ function renderGroup(el, defaults, ctx) {
|
|
|
54494
55209
|
return "";
|
|
54495
55210
|
}
|
|
54496
55211
|
const parts = [];
|
|
54497
|
-
for (const
|
|
54498
|
-
parts.push(renderElement(
|
|
55212
|
+
for (const child16 of el.children) {
|
|
55213
|
+
parts.push(renderElement(child16, defaults, ctx));
|
|
54499
55214
|
}
|
|
54500
55215
|
return parts.join("");
|
|
54501
55216
|
}
|
|
@@ -56251,18 +56966,18 @@ var PptxHandlerRuntime6 = class extends PptxHandlerRuntime5 {
|
|
|
56251
56966
|
const childTnLst = cTn["p:childTnLst"];
|
|
56252
56967
|
if (childTnLst) {
|
|
56253
56968
|
for (const container of ["p:par", "p:seq", "p:excl"]) {
|
|
56254
|
-
const
|
|
56255
|
-
for (const
|
|
56256
|
-
this.walkMediaTimingTree(
|
|
56969
|
+
const children6 = this.ensureArray(childTnLst[container]);
|
|
56970
|
+
for (const child16 of children6) {
|
|
56971
|
+
this.walkMediaTimingTree(child16, result, slidePath);
|
|
56257
56972
|
}
|
|
56258
56973
|
}
|
|
56259
56974
|
this.walkMediaTimingTree(childTnLst, result, slidePath);
|
|
56260
56975
|
}
|
|
56261
56976
|
}
|
|
56262
56977
|
for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
|
|
56263
|
-
const
|
|
56264
|
-
for (const
|
|
56265
|
-
this.walkMediaTimingTree(
|
|
56978
|
+
const children6 = this.ensureArray(node[container]);
|
|
56979
|
+
for (const child16 of children6) {
|
|
56980
|
+
this.walkMediaTimingTree(child16, result, slidePath);
|
|
56266
56981
|
}
|
|
56267
56982
|
}
|
|
56268
56983
|
}
|
|
@@ -58601,14 +59316,14 @@ function setOwnXmlProperty(node, key2, value) {
|
|
|
58601
59316
|
configurable: true
|
|
58602
59317
|
});
|
|
58603
59318
|
}
|
|
58604
|
-
function assignOrderedXmlChildren(target,
|
|
59319
|
+
function assignOrderedXmlChildren(target, children6) {
|
|
58605
59320
|
const runs = [];
|
|
58606
|
-
for (const
|
|
59321
|
+
for (const child16 of children6) {
|
|
58607
59322
|
const last = runs.at(-1);
|
|
58608
|
-
if (last && last.tag ===
|
|
58609
|
-
last.nodes.push(
|
|
59323
|
+
if (last && last.tag === child16.tag) {
|
|
59324
|
+
last.nodes.push(child16.node);
|
|
58610
59325
|
} else {
|
|
58611
|
-
runs.push({ tag:
|
|
59326
|
+
runs.push({ tag: child16.tag, nodes: [child16.node] });
|
|
58612
59327
|
}
|
|
58613
59328
|
}
|
|
58614
59329
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -58675,7 +59390,7 @@ function buildGroupTransformXml(group, emuPerPx, ownEmuOverride, rewrap) {
|
|
|
58675
59390
|
}
|
|
58676
59391
|
return xfrm;
|
|
58677
59392
|
}
|
|
58678
|
-
function applyGroupChildTransform(xml,
|
|
59393
|
+
function applyGroupChildTransform(xml, child16, emuPerPx, owner, precomputed) {
|
|
58679
59394
|
const spPr = xml["p:spPr"];
|
|
58680
59395
|
const grpSpPr = xml["p:grpSpPr"];
|
|
58681
59396
|
const childXfrm = spPr?.["a:xfrm"] ?? xml["p:xfrm"] ?? grpSpPr?.["a:xfrm"];
|
|
@@ -58684,18 +59399,18 @@ function applyGroupChildTransform(xml, child14, emuPerPx, owner, precomputed) {
|
|
|
58684
59399
|
}
|
|
58685
59400
|
childXfrm["a:off"] ??= {};
|
|
58686
59401
|
childXfrm["a:ext"] ??= {};
|
|
58687
|
-
const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(
|
|
59402
|
+
const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(child16, owner, emuPerPx) : void 0);
|
|
58688
59403
|
childXfrm["a:off"]["@_x"] = String(
|
|
58689
|
-
inverted ? inverted.xEmu : resolveXfrmEmu(
|
|
59404
|
+
inverted ? inverted.xEmu : resolveXfrmEmu(child16.x, child16.xEmu, emuPerPx)
|
|
58690
59405
|
);
|
|
58691
59406
|
childXfrm["a:off"]["@_y"] = String(
|
|
58692
|
-
inverted ? inverted.yEmu : resolveXfrmEmu(
|
|
59407
|
+
inverted ? inverted.yEmu : resolveXfrmEmu(child16.y, child16.yEmu, emuPerPx)
|
|
58693
59408
|
);
|
|
58694
59409
|
childXfrm["a:ext"]["@_cx"] = String(
|
|
58695
|
-
inverted ? inverted.widthEmu : resolveXfrmEmu(
|
|
59410
|
+
inverted ? inverted.widthEmu : resolveXfrmEmu(child16.width, child16.widthEmu, emuPerPx)
|
|
58696
59411
|
);
|
|
58697
59412
|
childXfrm["a:ext"]["@_cy"] = String(
|
|
58698
|
-
inverted ? inverted.heightEmu : resolveXfrmEmu(
|
|
59413
|
+
inverted ? inverted.heightEmu : resolveXfrmEmu(child16.height, child16.heightEmu, emuPerPx)
|
|
58699
59414
|
);
|
|
58700
59415
|
}
|
|
58701
59416
|
|
|
@@ -58961,14 +59676,14 @@ function buildInkShapeXml(el, emuPerPx) {
|
|
|
58961
59676
|
if (!Number.isFinite(x) || !Number.isFinite(y)) {
|
|
58962
59677
|
continue;
|
|
58963
59678
|
}
|
|
58964
|
-
const
|
|
59679
|
+
const pt2 = {
|
|
58965
59680
|
"@_x": String(Math.round(x * emuPerPx)),
|
|
58966
59681
|
"@_y": String(Math.round(y * emuPerPx))
|
|
58967
59682
|
};
|
|
58968
59683
|
if (token2.groups?.cmd?.toUpperCase() === "M") {
|
|
58969
|
-
moveToList.push({ "a:pt":
|
|
59684
|
+
moveToList.push({ "a:pt": pt2 });
|
|
58970
59685
|
} else {
|
|
58971
|
-
lnToList.push({ "a:pt":
|
|
59686
|
+
lnToList.push({ "a:pt": pt2 });
|
|
58972
59687
|
}
|
|
58973
59688
|
}
|
|
58974
59689
|
const pathXml = {
|
|
@@ -59270,8 +59985,8 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
59270
59985
|
preserveGroupChildSpace: childSpace
|
|
59271
59986
|
} : void 0;
|
|
59272
59987
|
const entries = [];
|
|
59273
|
-
for (const
|
|
59274
|
-
const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(
|
|
59988
|
+
for (const child16 of group.children) {
|
|
59989
|
+
const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(child16, childCtx) : this.serializeGroupChildFromRawXml(child16, childSpace);
|
|
59275
59990
|
if (entry2) {
|
|
59276
59991
|
entries.push(entry2);
|
|
59277
59992
|
}
|
|
@@ -59288,18 +60003,18 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
59288
60003
|
* Nested groups are recursed here rather than handed to the element writer,
|
|
59289
60004
|
* so the save context survives to every nesting depth.
|
|
59290
60005
|
*/
|
|
59291
|
-
serializeGroupChildViaElementWriter(
|
|
59292
|
-
if (
|
|
59293
|
-
const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(
|
|
59294
|
-
const xml = this.buildGroupShapeXml(
|
|
60006
|
+
serializeGroupChildViaElementWriter(child16, ctx) {
|
|
60007
|
+
if (child16.type === "group") {
|
|
60008
|
+
const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(child16, ctx.preserveGroupChildSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
|
|
60009
|
+
const xml = this.buildGroupShapeXml(child16, ctx, ownEmuOverride);
|
|
59295
60010
|
if (!xml) {
|
|
59296
60011
|
return null;
|
|
59297
60012
|
}
|
|
59298
|
-
this.serializeShapeLocks(xml,
|
|
60013
|
+
this.serializeShapeLocks(xml, child16);
|
|
59299
60014
|
return { tag: "p:grpSp", xml };
|
|
59300
60015
|
}
|
|
59301
60016
|
const collectors = createGroupChildCollectors();
|
|
59302
|
-
this.processSlideElement(
|
|
60017
|
+
this.processSlideElement(child16, collectors, ctx);
|
|
59303
60018
|
return pickGroupChildFromCollectors(collectors);
|
|
59304
60019
|
}
|
|
59305
60020
|
/**
|
|
@@ -59307,46 +60022,46 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
59307
60022
|
* markup through and patch only its transform. Preserves everything, but
|
|
59308
60023
|
* cannot pick up model-level edits.
|
|
59309
60024
|
*/
|
|
59310
|
-
serializeGroupChildFromRawXml(
|
|
59311
|
-
const emu2 = childSpace ? resolveGroupChildBoxEmu(
|
|
59312
|
-
const ownEmuOverride =
|
|
59313
|
-
const xml = this.buildGroupChildXml(
|
|
60025
|
+
serializeGroupChildFromRawXml(child16, childSpace) {
|
|
60026
|
+
const emu2 = childSpace ? resolveGroupChildBoxEmu(child16, childSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
|
|
60027
|
+
const ownEmuOverride = child16.type === "group" ? emu2 : void 0;
|
|
60028
|
+
const xml = this.buildGroupChildXml(child16, ownEmuOverride);
|
|
59314
60029
|
if (!xml) {
|
|
59315
60030
|
return null;
|
|
59316
60031
|
}
|
|
59317
|
-
applyGroupChildTransform(xml,
|
|
59318
|
-
const tag = classifyGroupChildTag(
|
|
60032
|
+
applyGroupChildTransform(xml, child16, _PptxHandlerRuntime.EMU_PER_PX, childSpace, emu2);
|
|
60033
|
+
const tag = classifyGroupChildTag(child16.type, xml);
|
|
59319
60034
|
if (!tag) {
|
|
59320
60035
|
this.compatibilityService.reportWarning({
|
|
59321
60036
|
code: "SAVE_GROUP_CHILD_SKIPPED",
|
|
59322
|
-
message: `Group child '${
|
|
60037
|
+
message: `Group child '${child16.id}' (${child16.type}) has no valid CT_GroupShape slot and was skipped during save.`,
|
|
59323
60038
|
scope: "save",
|
|
59324
|
-
elementId:
|
|
60039
|
+
elementId: child16.id
|
|
59325
60040
|
});
|
|
59326
60041
|
return null;
|
|
59327
60042
|
}
|
|
59328
60043
|
return { tag, xml };
|
|
59329
60044
|
}
|
|
59330
60045
|
/** Resolve (or fabricate) the XML node for a single group child. */
|
|
59331
|
-
buildGroupChildXml(
|
|
59332
|
-
if (
|
|
59333
|
-
return this.buildGroupShapeXml(
|
|
60046
|
+
buildGroupChildXml(child16, ownEmuOverride) {
|
|
60047
|
+
if (child16.type === "group") {
|
|
60048
|
+
return this.buildGroupShapeXml(child16, void 0, ownEmuOverride) ?? void 0;
|
|
59334
60049
|
}
|
|
59335
|
-
const xml =
|
|
60050
|
+
const xml = child16.rawXml;
|
|
59336
60051
|
if (xml) {
|
|
59337
60052
|
return xml;
|
|
59338
60053
|
}
|
|
59339
|
-
if (
|
|
59340
|
-
return this.createElementXml(
|
|
60054
|
+
if (child16.type === "text" || child16.type === "shape") {
|
|
60055
|
+
return this.createElementXml(child16);
|
|
59341
60056
|
}
|
|
59342
|
-
if (
|
|
59343
|
-
return this.createConnectorXml(
|
|
60057
|
+
if (child16.type === "connector") {
|
|
60058
|
+
return this.createConnectorXml(child16);
|
|
59344
60059
|
}
|
|
59345
|
-
if (
|
|
59346
|
-
return this.createInkShapeXml(
|
|
60060
|
+
if (child16.type === "ink") {
|
|
60061
|
+
return this.createInkShapeXml(child16);
|
|
59347
60062
|
}
|
|
59348
|
-
if (
|
|
59349
|
-
return this.createTableGraphicFrameXml(
|
|
60063
|
+
if (child16.type === "table") {
|
|
60064
|
+
return this.createTableGraphicFrameXml(child16);
|
|
59350
60065
|
}
|
|
59351
60066
|
return void 0;
|
|
59352
60067
|
}
|
|
@@ -60192,8 +60907,8 @@ var PptxHandlerRuntime19 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
|
|
|
60192
60907
|
return style;
|
|
60193
60908
|
}
|
|
60194
60909
|
if (runProperties["@_sz"]) {
|
|
60195
|
-
const
|
|
60196
|
-
style.fontSize =
|
|
60910
|
+
const points5 = parseInt(runProperties["@_sz"]) / 100;
|
|
60911
|
+
style.fontSize = points5 * (96 / 72);
|
|
60197
60912
|
}
|
|
60198
60913
|
const bold = this.parseOptionalBooleanAttr(runProperties["@_b"]);
|
|
60199
60914
|
if (bold !== void 0) {
|
|
@@ -62372,6 +63087,22 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
62372
63087
|
* Record `chartData` as parsed, straight off `enrichChartData`, as this
|
|
62373
63088
|
* chart's load-time baseline. See {@link chartDataBaselines}.
|
|
62374
63089
|
*/
|
|
63090
|
+
/** The element formats the original chart part authors (see `chart-element-format-read-xml`). */
|
|
63091
|
+
readAuthoredChartElementFormats(chartXmlStr, chartData) {
|
|
63092
|
+
const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
|
|
63093
|
+
const original = this.parser.parse(chartXmlStr);
|
|
63094
|
+
const chartSpace = this.xmlLookupService.getChildByLocalName(original, "chartSpace");
|
|
63095
|
+
const plotArea = this.xmlLookupService.getChildByLocalName(
|
|
63096
|
+
this.xmlLookupService.getChildByLocalName(chartSpace, "chart"),
|
|
63097
|
+
"plotArea"
|
|
63098
|
+
);
|
|
63099
|
+
return readChartElementFormatsFromXml(
|
|
63100
|
+
{ chartSpace, seriesNodes: collectChartSeriesNodes(plotArea, localName15) },
|
|
63101
|
+
chartData,
|
|
63102
|
+
localName15,
|
|
63103
|
+
(node) => this.parseColor(node)
|
|
63104
|
+
);
|
|
63105
|
+
}
|
|
62375
63106
|
rememberChartDataBaseline(chartData) {
|
|
62376
63107
|
if (!chartData.chartPartPath) {
|
|
62377
63108
|
return;
|
|
@@ -62444,6 +63175,7 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
62444
63175
|
try {
|
|
62445
63176
|
const chartXmlStr = await chartFile.async("string");
|
|
62446
63177
|
const chartXmlData = this.parser.parse(chartXmlStr);
|
|
63178
|
+
const authoredFormats = chartData.elementFormats ? this.readAuthoredChartElementFormats(chartXmlStr, chartData) : void 0;
|
|
62447
63179
|
const workbookWrites = [];
|
|
62448
63180
|
const chartSpace = this.xmlLookupService.getChildByLocalName(chartXmlData, "chartSpace");
|
|
62449
63181
|
if (!chartSpace) {
|
|
@@ -62693,6 +63425,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
62693
63425
|
(key2) => this.compatibilityService.getXmlLocalName(key2)
|
|
62694
63426
|
);
|
|
62695
63427
|
}
|
|
63428
|
+
if (chartData.elementFormats) {
|
|
63429
|
+
applySeriesElementFormatsToXml(
|
|
63430
|
+
this.xmlLookupService.getChildrenArrayByLocalName(chartTypeContainer, "ser"),
|
|
63431
|
+
chartData,
|
|
63432
|
+
(key2) => this.compatibilityService.getXmlLocalName(key2),
|
|
63433
|
+
authoredFormats
|
|
63434
|
+
);
|
|
63435
|
+
}
|
|
62696
63436
|
if (chartData.series.some((s) => s.seriesChartType !== void 0)) {
|
|
62697
63437
|
applyComboSeriesTypesToXml(
|
|
62698
63438
|
plotArea,
|
|
@@ -63016,6 +63756,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
63016
63756
|
}
|
|
63017
63757
|
);
|
|
63018
63758
|
}
|
|
63759
|
+
if (chartData.elementFormats) {
|
|
63760
|
+
applyChromeElementFormatsToXml(
|
|
63761
|
+
chartSpace,
|
|
63762
|
+
chartData,
|
|
63763
|
+
(key2) => this.compatibilityService.getXmlLocalName(key2),
|
|
63764
|
+
authoredFormats
|
|
63765
|
+
);
|
|
63766
|
+
}
|
|
63019
63767
|
for (const key2 of Object.keys(plotArea)) {
|
|
63020
63768
|
const local = this.compatibilityService.getXmlLocalName(key2);
|
|
63021
63769
|
if (!local.endsWith("Chart")) {
|
|
@@ -63588,14 +64336,14 @@ function applySmartArtColorStyleLabels(node, labels, localName15) {
|
|
|
63588
64336
|
}
|
|
63589
64337
|
|
|
63590
64338
|
// pptx/core/core/runtime/smartart-colors-builder.ts
|
|
63591
|
-
function
|
|
64339
|
+
function asObject3(value) {
|
|
63592
64340
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
63593
64341
|
}
|
|
63594
64342
|
function toArray4(value) {
|
|
63595
64343
|
if (Array.isArray(value)) {
|
|
63596
|
-
return value.filter((entry2) => Boolean(
|
|
64344
|
+
return value.filter((entry2) => Boolean(asObject3(entry2)));
|
|
63597
64345
|
}
|
|
63598
|
-
const obj =
|
|
64346
|
+
const obj = asObject3(value);
|
|
63599
64347
|
return obj ? [obj] : [];
|
|
63600
64348
|
}
|
|
63601
64349
|
function findKey23(obj, name, getLocalName2) {
|
|
@@ -63621,13 +64369,13 @@ function applyColorToList(list, value, getLocalName2, resolveColor2) {
|
|
|
63621
64369
|
}
|
|
63622
64370
|
const existing = list[colorKey];
|
|
63623
64371
|
if (resolveColor2) {
|
|
63624
|
-
const authored =
|
|
64372
|
+
const authored = asObject3(Array.isArray(existing) ? existing[0] : existing);
|
|
63625
64373
|
const authoredHex = authored ? resolveColor2({ [colorKey]: authored }) : void 0;
|
|
63626
64374
|
if (authoredHex && chunkX7MGZQ6C_cjs.colorsEqual(authoredHex, value)) {
|
|
63627
64375
|
return;
|
|
63628
64376
|
}
|
|
63629
64377
|
}
|
|
63630
|
-
const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(
|
|
64378
|
+
const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(asObject3(entry2))) : [];
|
|
63631
64379
|
if (colorKey !== "a:srgbClr") {
|
|
63632
64380
|
delete list[colorKey];
|
|
63633
64381
|
}
|
|
@@ -63642,7 +64390,7 @@ function applyColorListValues(list, values, getLocalName2, resolveColor2) {
|
|
|
63642
64390
|
const existing = Array.isArray(existingRaw) ? existingRaw : existingRaw ? [existingRaw] : [];
|
|
63643
64391
|
if (resolveColor2 && colorKey && existing.length === values.length) {
|
|
63644
64392
|
const unchanged2 = existing.every((entryRaw, index) => {
|
|
63645
|
-
const entry2 =
|
|
64393
|
+
const entry2 = asObject3(entryRaw);
|
|
63646
64394
|
const authoredHex = entry2 ? resolveColor2({ [colorKey]: entry2 }) : void 0;
|
|
63647
64395
|
return authoredHex !== void 0 && chunkX7MGZQ6C_cjs.colorsEqual(authoredHex, values[index]);
|
|
63648
64396
|
});
|
|
@@ -63667,14 +64415,14 @@ function applyRoleColors(labels, roleColors, getLocalName2, resolveColor2) {
|
|
|
63667
64415
|
}
|
|
63668
64416
|
const fillKey = findKey23(label, "fillClrLst", getLocalName2);
|
|
63669
64417
|
if (fillKey) {
|
|
63670
|
-
const list =
|
|
64418
|
+
const list = asObject3(label[fillKey]);
|
|
63671
64419
|
if (list && applyColorListValues(list, role.fill, getLocalName2, resolveColor2)) {
|
|
63672
64420
|
mutated = true;
|
|
63673
64421
|
}
|
|
63674
64422
|
}
|
|
63675
64423
|
const lineKey = findKey23(label, "linClrLst", getLocalName2);
|
|
63676
64424
|
if (lineKey) {
|
|
63677
|
-
const list =
|
|
64425
|
+
const list = asObject3(label[lineKey]);
|
|
63678
64426
|
if (list && applyColorListValues(list, role.line, getLocalName2, resolveColor2)) {
|
|
63679
64427
|
mutated = true;
|
|
63680
64428
|
}
|
|
@@ -63706,7 +64454,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
|
|
|
63706
64454
|
const fillKey = findKey23(label, "fillClrLst", getLocalName2);
|
|
63707
64455
|
if (fillKey) {
|
|
63708
64456
|
const value = transform2.fillColors[fillIndex++];
|
|
63709
|
-
const list =
|
|
64457
|
+
const list = asObject3(label[fillKey]);
|
|
63710
64458
|
if (list && value) {
|
|
63711
64459
|
applyColorToList(list, value, getLocalName2, resolveColor2);
|
|
63712
64460
|
mutated = true;
|
|
@@ -63715,7 +64463,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
|
|
|
63715
64463
|
const lineKey = findKey23(label, "linClrLst", getLocalName2);
|
|
63716
64464
|
if (lineKey) {
|
|
63717
64465
|
const value = transform2.lineColors[lineIndex++];
|
|
63718
|
-
const list =
|
|
64466
|
+
const list = asObject3(label[lineKey]);
|
|
63719
64467
|
if (list && value) {
|
|
63720
64468
|
applyColorToList(list, value, getLocalName2, resolveColor2);
|
|
63721
64469
|
mutated = true;
|
|
@@ -63726,30 +64474,30 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
|
|
|
63726
64474
|
}
|
|
63727
64475
|
|
|
63728
64476
|
// pptx/core/core/runtime/smartart-node-synthesis.ts
|
|
63729
|
-
function prSetOf2(
|
|
63730
|
-
const prSet =
|
|
64477
|
+
function prSetOf2(pt2) {
|
|
64478
|
+
const prSet = pt2["dgm:prSet"];
|
|
63731
64479
|
return prSet && typeof prSet === "object" && !Array.isArray(prSet) ? prSet : {};
|
|
63732
64480
|
}
|
|
63733
64481
|
function findPresPointForAssoc(pts, assocId) {
|
|
63734
64482
|
return pts.find(
|
|
63735
|
-
(
|
|
64483
|
+
(pt2) => pt2["@_type"] === "pres" && String(prSetOf2(pt2)["@_presAssocID"] || "") === assocId
|
|
63736
64484
|
);
|
|
63737
64485
|
}
|
|
63738
64486
|
function maxPresParOfOrd(cxns, srcId) {
|
|
63739
64487
|
return cxns.filter((c) => c["@_type"] === "presParOf" && c["@_srcId"] === srcId).reduce((max, c) => Math.max(max, parseInt(String(c["@_srcOrd"] ?? ""), 10) || 0), -1);
|
|
63740
64488
|
}
|
|
63741
64489
|
function countNodePresPoints(pts) {
|
|
63742
|
-
return pts.filter((
|
|
64490
|
+
return pts.filter((pt2) => pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node").length;
|
|
63743
64491
|
}
|
|
63744
64492
|
function emptyTextBody() {
|
|
63745
64493
|
return { "a:bodyPr": {}, "a:lstStyle": {}, "a:p": { "a:endParaRPr": { "@_lang": "en-US" } } };
|
|
63746
64494
|
}
|
|
63747
64495
|
function buildContentPoint(node) {
|
|
63748
|
-
const
|
|
63749
|
-
|
|
63750
|
-
|
|
63751
|
-
|
|
63752
|
-
return
|
|
64496
|
+
const pt2 = { "@_modelId": node.id };
|
|
64497
|
+
pt2["dgm:prSet"] = node.text ? {} : { "@_phldrT": "[Text]" };
|
|
64498
|
+
pt2["dgm:spPr"] = {};
|
|
64499
|
+
pt2["dgm:t"] = chunkX7MGZQ6C_cjs.shouldRebuildFromParagraphs(node) ? chunkX7MGZQ6C_cjs.buildPointFromParagraphs(node.paragraphs, node.text) : chunkX7MGZQ6C_cjs.shouldRebuildFromRuns(node) ? chunkX7MGZQ6C_cjs.buildPointFromRuns(node.runs) : chunkX7MGZQ6C_cjs.buildPointText(node.text ?? "");
|
|
64500
|
+
return pt2;
|
|
63753
64501
|
}
|
|
63754
64502
|
function buildTransPoint(id, type) {
|
|
63755
64503
|
return { "@_modelId": id, "@_type": type, "dgm:prSet": {}, "dgm:t": emptyTextBody() };
|
|
@@ -63812,7 +64560,7 @@ function buildPresParOfConnection(srcId, destId, srcOrd, presId) {
|
|
|
63812
64560
|
}
|
|
63813
64561
|
function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes, connections) {
|
|
63814
64562
|
const existingContentIds = new Set(
|
|
63815
|
-
existingPts.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((
|
|
64563
|
+
existingPts.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((pt2) => String(pt2["@_modelId"] || ""))
|
|
63816
64564
|
);
|
|
63817
64565
|
const newNodes = nodes.filter((n) => n.id && !existingContentIds.has(n.id));
|
|
63818
64566
|
if (newNodes.length === 0) {
|
|
@@ -63848,9 +64596,9 @@ function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes,
|
|
|
63848
64596
|
pts.push(buildPresNodePoint(presNodeId, node.id, idx, idx + 1));
|
|
63849
64597
|
pts.push(buildPresSibTransPoint(presSibTransId, sibTransId));
|
|
63850
64598
|
const total = idx + 1;
|
|
63851
|
-
for (const
|
|
63852
|
-
if (
|
|
63853
|
-
prSetOf2(
|
|
64599
|
+
for (const pt2 of pts) {
|
|
64600
|
+
if (pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node") {
|
|
64601
|
+
prSetOf2(pt2)["@_presStyleCnt"] = String(total);
|
|
63854
64602
|
}
|
|
63855
64603
|
}
|
|
63856
64604
|
const srcOrd = connectionByChildId.get(node.id)?.srcOrd ?? 0;
|
|
@@ -63942,7 +64690,7 @@ function applySmartArtQuickStyle(styleDef, quickStyle, localName15, intensity) {
|
|
|
63942
64690
|
}
|
|
63943
64691
|
|
|
63944
64692
|
// pptx/core/core/runtime/smartart-save-chrome.ts
|
|
63945
|
-
function
|
|
64693
|
+
function asObject4(value) {
|
|
63946
64694
|
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
63947
64695
|
}
|
|
63948
64696
|
function applySmartArtChrome(dataModel, chrome, getLocalName2) {
|
|
@@ -63952,14 +64700,14 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
|
|
|
63952
64700
|
const findKey24 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
|
|
63953
64701
|
if (chrome.backgroundFillXml) {
|
|
63954
64702
|
const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
|
|
63955
|
-
const bg =
|
|
64703
|
+
const bg = asObject4(dataModel[bgKey]);
|
|
63956
64704
|
const fillKey = findKey24(bg, chrome.backgroundFillXml.localName) ?? `a:${chrome.backgroundFillXml.localName}`;
|
|
63957
64705
|
bg[fillKey] = chrome.backgroundFillXml.xml;
|
|
63958
64706
|
dataModel[bgKey] = bg;
|
|
63959
64707
|
} else if (chrome.backgroundColor) {
|
|
63960
64708
|
const hex3 = chrome.backgroundColor.replace("#", "");
|
|
63961
64709
|
const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
|
|
63962
|
-
const bg =
|
|
64710
|
+
const bg = asObject4(dataModel[bgKey]);
|
|
63963
64711
|
const fillKey = findKey24(bg, "solidFill") ?? "a:solidFill";
|
|
63964
64712
|
bg[fillKey] = { "a:srgbClr": { "@_val": hex3 } };
|
|
63965
64713
|
dataModel[bgKey] = bg;
|
|
@@ -63967,9 +64715,9 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
|
|
|
63967
64715
|
const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
|
|
63968
64716
|
if (chrome.outlineColor || hasOutlineWidth) {
|
|
63969
64717
|
const wholeKey = findKey24(dataModel, "whole") ?? "dgm:whole";
|
|
63970
|
-
const whole =
|
|
64718
|
+
const whole = asObject4(dataModel[wholeKey]);
|
|
63971
64719
|
const lnKey = findKey24(whole, "ln") ?? "a:ln";
|
|
63972
|
-
const ln =
|
|
64720
|
+
const ln = asObject4(whole[lnKey]);
|
|
63973
64721
|
if (hasOutlineWidth) {
|
|
63974
64722
|
ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
|
|
63975
64723
|
}
|
|
@@ -64151,8 +64899,8 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
|
|
|
64151
64899
|
const pointListKey = Object.keys(dataModel).find((key2) => localName15(key2) === "ptLst");
|
|
64152
64900
|
const pointList = pointListKey ? dataModel[pointListKey] : void 0;
|
|
64153
64901
|
const pointKey = pointList ? Object.keys(pointList).find((key2) => localName15(key2) === "pt") : void 0;
|
|
64154
|
-
const
|
|
64155
|
-
const docPoint =
|
|
64902
|
+
const points5 = pointKey && pointList ? ensureObjects(pointList[pointKey]) : [];
|
|
64903
|
+
const docPoint = points5.find((point) => String(point["@_type"] || "") === "doc");
|
|
64156
64904
|
if (!docPoint) {
|
|
64157
64905
|
return;
|
|
64158
64906
|
}
|
|
@@ -64163,9 +64911,9 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
|
|
|
64163
64911
|
propertySet["@_loCatId"] = layout.category;
|
|
64164
64912
|
}
|
|
64165
64913
|
}
|
|
64166
|
-
function presentationIdsFromPoints(
|
|
64914
|
+
function presentationIdsFromPoints(points5, localName15) {
|
|
64167
64915
|
const result = /* @__PURE__ */ new Map();
|
|
64168
|
-
for (const point of
|
|
64916
|
+
for (const point of points5) {
|
|
64169
64917
|
if (String(point["@_type"] || "") !== "pres") {
|
|
64170
64918
|
continue;
|
|
64171
64919
|
}
|
|
@@ -68075,8 +68823,8 @@ function prescanStructuralPart(xml) {
|
|
|
68075
68823
|
let placeholderCasing = false;
|
|
68076
68824
|
for (const match of xml.matchAll(PH_TYPE_RE)) {
|
|
68077
68825
|
const raw = match[1] ?? match[2] ?? "";
|
|
68078
|
-
const
|
|
68079
|
-
if (
|
|
68826
|
+
const canonical2 = canonicalPlaceholderType(raw);
|
|
68827
|
+
if (canonical2 !== void 0 && canonical2 !== raw) {
|
|
68080
68828
|
placeholderCasing = true;
|
|
68081
68829
|
break;
|
|
68082
68830
|
}
|
|
@@ -68106,8 +68854,8 @@ function countDeclaredIds(node, counts, ensureArray12) {
|
|
|
68106
68854
|
counts.set(id, (counts.get(id) ?? 0) + 1);
|
|
68107
68855
|
}
|
|
68108
68856
|
for (const listKey of SHAPE_LISTS) {
|
|
68109
|
-
for (const
|
|
68110
|
-
if (!countDeclaredIds(
|
|
68857
|
+
for (const child16 of ensureArray12(node[listKey])) {
|
|
68858
|
+
if (!countDeclaredIds(child16, counts, ensureArray12)) {
|
|
68111
68859
|
return false;
|
|
68112
68860
|
}
|
|
68113
68861
|
}
|
|
@@ -69354,8 +70102,8 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime extends PptxHandlerRuntime4
|
|
|
69354
70102
|
}
|
|
69355
70103
|
}
|
|
69356
70104
|
for (const listKey of ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp"]) {
|
|
69357
|
-
for (const
|
|
69358
|
-
visit(
|
|
70105
|
+
for (const child16 of this.ensureArray(node[listKey])) {
|
|
70106
|
+
visit(child16);
|
|
69359
70107
|
}
|
|
69360
70108
|
}
|
|
69361
70109
|
};
|
|
@@ -69986,11 +70734,11 @@ function scanSpTreeDocumentOrder(xml) {
|
|
|
69986
70734
|
const frame = stack[stack.length - 1];
|
|
69987
70735
|
const indexInType = frame.counters.get(tag) ?? 0;
|
|
69988
70736
|
frame.counters.set(tag, indexInType + 1);
|
|
69989
|
-
const
|
|
69990
|
-
frame.children.push({ tag, indexInType, children:
|
|
70737
|
+
const children6 = [];
|
|
70738
|
+
frame.children.push({ tag, indexInType, children: children6 });
|
|
69991
70739
|
if (!selfClosing) {
|
|
69992
70740
|
if (tag === GROUP_TAG) {
|
|
69993
|
-
stack.push({ children:
|
|
70741
|
+
stack.push({ children: children6, counters: /* @__PURE__ */ new Map() });
|
|
69994
70742
|
} else {
|
|
69995
70743
|
inert++;
|
|
69996
70744
|
}
|
|
@@ -73167,8 +73915,8 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
|
|
|
73167
73915
|
textStyle.textWrap = defaults.textWrap;
|
|
73168
73916
|
}
|
|
73169
73917
|
}
|
|
73170
|
-
pointsToPixels(
|
|
73171
|
-
return
|
|
73918
|
+
pointsToPixels(points5) {
|
|
73919
|
+
return points5 * (96 / 72);
|
|
73172
73920
|
}
|
|
73173
73921
|
parseParagraphSpacingPx(spacingNode, basisFontSizePx) {
|
|
73174
73922
|
return chunkX7MGZQ6C_cjs.parseParagraphSpacingPx(spacingNode, basisFontSizePx);
|
|
@@ -75634,11 +76382,11 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
75634
76382
|
grpSpPr?.["a:xfrm"],
|
|
75635
76383
|
_PptxHandlerRuntime.EMU_PER_PX
|
|
75636
76384
|
);
|
|
75637
|
-
const
|
|
75638
|
-
const parentX =
|
|
75639
|
-
const parentY =
|
|
75640
|
-
const parentW =
|
|
75641
|
-
const parentH =
|
|
76385
|
+
const round3 = depth === 0 ? Math.round : (value) => value;
|
|
76386
|
+
const parentX = round3(raw.parentX);
|
|
76387
|
+
const parentY = round3(raw.parentY);
|
|
76388
|
+
const parentW = round3(raw.parentW);
|
|
76389
|
+
const parentH = round3(raw.parentH);
|
|
75642
76390
|
const grpFillStyle = grpSpPr ? this.extractShapeStyle(grpSpPr) : void 0;
|
|
75643
76391
|
if (grpFillStyle?.fillMode === "image" && grpSpPr) {
|
|
75644
76392
|
const blipFill = grpSpPr["a:blipFill"];
|
|
@@ -75653,16 +76401,16 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
75653
76401
|
}
|
|
75654
76402
|
}
|
|
75655
76403
|
const hasGroupFill = grpFillStyle && grpFillStyle.fillMode && grpFillStyle.fillMode !== "none";
|
|
75656
|
-
const
|
|
75657
|
-
if (
|
|
76404
|
+
const children6 = await this.parseGroupShape(group, baseId, slidePath, rawXmlStr, depth);
|
|
76405
|
+
if (children6.length === 0) {
|
|
75658
76406
|
return null;
|
|
75659
76407
|
}
|
|
75660
76408
|
if (hasGroupFill && grpFillStyle.fillMode !== "group") {
|
|
75661
|
-
applyGroupFillInheritance(
|
|
76409
|
+
applyGroupFillInheritance(children6, grpFillStyle);
|
|
75662
76410
|
}
|
|
75663
76411
|
if (raw.rotation || raw.flipHorizontal || raw.flipVertical) {
|
|
75664
76412
|
applyAncestorGroupTextTransform(
|
|
75665
|
-
|
|
76413
|
+
children6,
|
|
75666
76414
|
getElementOrientationMatrix({
|
|
75667
76415
|
rotation: raw.rotation,
|
|
75668
76416
|
flipHorizontal: raw.flipHorizontal,
|
|
@@ -75670,9 +76418,9 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
75670
76418
|
})
|
|
75671
76419
|
);
|
|
75672
76420
|
}
|
|
75673
|
-
for (const
|
|
75674
|
-
|
|
75675
|
-
|
|
76421
|
+
for (const child16 of children6) {
|
|
76422
|
+
child16.x -= raw.parentX;
|
|
76423
|
+
child16.y -= raw.parentY;
|
|
75676
76424
|
}
|
|
75677
76425
|
const grpCNvPr = group?.["p:nvGrpSpPr"]?.["p:cNvPr"];
|
|
75678
76426
|
const grpSlideRels = this.slideRelsMap.get(slidePath);
|
|
@@ -75692,8 +76440,8 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
75692
76440
|
name: grpElementName || void 0,
|
|
75693
76441
|
x: parentX,
|
|
75694
76442
|
y: parentY,
|
|
75695
|
-
width: parentW || Math.max(...
|
|
75696
|
-
height: parentH || Math.max(...
|
|
76443
|
+
width: parentW || Math.max(...children6.map((c) => c.x + c.width)),
|
|
76444
|
+
height: parentH || Math.max(...children6.map((c) => c.y + c.height)),
|
|
75697
76445
|
// Exact EMU for `resolveXfrmEmu` (xfrm-emu-resolution.ts) to re-emit
|
|
75698
76446
|
// byte-identical on save for an unmoved/unresized TOP-LEVEL group.
|
|
75699
76447
|
// `width`/`height` fall back to a computed bounding box when the
|
|
@@ -75729,7 +76477,7 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
|
|
|
75729
76477
|
rotation: raw.rotation,
|
|
75730
76478
|
flipHorizontal: raw.flipHorizontal || void 0,
|
|
75731
76479
|
flipVertical: raw.flipVertical || void 0,
|
|
75732
|
-
children:
|
|
76480
|
+
children: children6,
|
|
75733
76481
|
rawXml: group,
|
|
75734
76482
|
actionClick: grpActionClick,
|
|
75735
76483
|
actionHover: grpActionHover,
|
|
@@ -80199,8 +80947,8 @@ var PptxHandlerRuntime88 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
80199
80947
|
const connectionList = this.xmlLookupService.getChildByLocalName(dataModel, "cxnLst");
|
|
80200
80948
|
const rawConnections = this.xmlLookupService.getChildrenArrayByLocalName(connectionList, "cxn");
|
|
80201
80949
|
const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
|
|
80202
|
-
const
|
|
80203
|
-
const transitionTextById = collectSmartArtTransitionText(
|
|
80950
|
+
const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
|
|
80951
|
+
const transitionTextById = collectSmartArtTransitionText(points5, (point) => {
|
|
80204
80952
|
const values = [];
|
|
80205
80953
|
this.collectLocalTextValues(point, "t", values);
|
|
80206
80954
|
return values.join("");
|
|
@@ -80575,11 +81323,11 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
80575
81323
|
}
|
|
80576
81324
|
const dataModel = this.xmlLookupService.getChildByLocalName(diagramDataPart.xml, "dataModel");
|
|
80577
81325
|
const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
|
|
80578
|
-
const
|
|
81326
|
+
const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
|
|
80579
81327
|
const { parsedConnections, parentByNodeId } = this.parseSmartArtConnections(dataModel);
|
|
80580
81328
|
const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
|
|
80581
|
-
const metadataOf = resolveSmartArtPointMetadata(
|
|
80582
|
-
const nodes =
|
|
81329
|
+
const metadataOf = resolveSmartArtPointMetadata(points5, parsedConnections, localName15);
|
|
81330
|
+
const nodes = points5.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((point) => {
|
|
80583
81331
|
const pointId = String(point?.["@_modelId"] || "").trim();
|
|
80584
81332
|
if (pointId.length === 0) {
|
|
80585
81333
|
return null;
|
|
@@ -80642,7 +81390,7 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
|
|
|
80642
81390
|
const drawingShapes = drawingResolution ? await this.parseSmartArtDrawingShapesFromPath(
|
|
80643
81391
|
drawingResolution.path,
|
|
80644
81392
|
resolveSmartArtMergedTextColors(
|
|
80645
|
-
|
|
81393
|
+
points5,
|
|
80646
81394
|
parsedConnections,
|
|
80647
81395
|
layoutDefinition,
|
|
80648
81396
|
colorTransform?.roleColors,
|
|
@@ -80809,11 +81557,11 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
|
|
|
80809
81557
|
const cacheName = preferNumeric ? "numCache" : "strCache";
|
|
80810
81558
|
const referenceNode = this.xmlLookupService.getChildByLocalName(seriesContainer, refName) || this.xmlLookupService.getChildByLocalName(seriesContainer, literalName);
|
|
80811
81559
|
const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
|
|
80812
|
-
const
|
|
80813
|
-
if (
|
|
81560
|
+
const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
|
|
81561
|
+
if (points5.length === 0) {
|
|
80814
81562
|
return [];
|
|
80815
81563
|
}
|
|
80816
|
-
return [...
|
|
81564
|
+
return [...points5].sort((left, right) => {
|
|
80817
81565
|
const leftIndex = Number.parseInt(String(left?.["@_idx"] || "0"), 10);
|
|
80818
81566
|
const rightIndex = Number.parseInt(String(right?.["@_idx"] || "0"), 10);
|
|
80819
81567
|
return leftIndex - rightIndex;
|
|
@@ -80848,13 +81596,13 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
|
|
|
80848
81596
|
const cacheName = preferNumeric ? "numCache" : "strCache";
|
|
80849
81597
|
const referenceNode = this.xmlLookupService.getChildByLocalName(categoryContainer, refName) || this.xmlLookupService.getChildByLocalName(categoryContainer, literalName);
|
|
80850
81598
|
const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
|
|
80851
|
-
const
|
|
80852
|
-
if (
|
|
81599
|
+
const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
|
|
81600
|
+
if (points5.length === 0) {
|
|
80853
81601
|
return [];
|
|
80854
81602
|
}
|
|
80855
81603
|
const byIndex = /* @__PURE__ */ new Map();
|
|
80856
81604
|
let maxIndex = -1;
|
|
80857
|
-
for (const point of
|
|
81605
|
+
for (const point of points5) {
|
|
80858
81606
|
const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
|
|
80859
81607
|
if (!Number.isFinite(index) || index < 0) {
|
|
80860
81608
|
continue;
|
|
@@ -81026,11 +81774,11 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
|
|
|
81026
81774
|
}
|
|
81027
81775
|
const custSplitNode = this.xmlLookupService.getChildByLocalName(ofPieContainer, "custSplit");
|
|
81028
81776
|
if (custSplitNode) {
|
|
81029
|
-
const
|
|
81777
|
+
const points5 = this.xmlLookupService.getChildrenArrayByLocalName(
|
|
81030
81778
|
custSplitNode,
|
|
81031
81779
|
"secondPiePt"
|
|
81032
81780
|
);
|
|
81033
|
-
const indices =
|
|
81781
|
+
const indices = points5.map((p) => parseNumberVal(p)).filter((n) => n !== void 0 && Number.isFinite(n));
|
|
81034
81782
|
if (indices.length > 0) {
|
|
81035
81783
|
result.custSplit = indices;
|
|
81036
81784
|
}
|
|
@@ -81755,7 +82503,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
|
|
|
81755
82503
|
*/
|
|
81756
82504
|
readChartLinesAndChrome(neutral, tree, groups, reader) {
|
|
81757
82505
|
const colorAdapter = { parseColor: reader.parseColor };
|
|
81758
|
-
const container = (
|
|
82506
|
+
const container = (child16) => (groups.find(({ group }) => chartContainerAllows(group.element, child16)) ?? groups[0])?.node;
|
|
81759
82507
|
const dropLines = chunkX7MGZQ6C_cjs.parseLineStyle(container("dropLines"), "dropLines", reader.xml, colorAdapter);
|
|
81760
82508
|
const hiLowLines = chunkX7MGZQ6C_cjs.parseLineStyle(
|
|
81761
82509
|
container("hiLowLines"),
|
|
@@ -81854,6 +82602,12 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
|
|
|
81854
82602
|
const view3D = view3DFromNeutral(neutral);
|
|
81855
82603
|
const chartChrome = chartChromeFromNeutral(neutral);
|
|
81856
82604
|
const themeAccentColors = this.resolveChartThemeAccents();
|
|
82605
|
+
const elementFormats = readChartElementFormatsFromXml(
|
|
82606
|
+
{ chartSpace, seriesNodes: built.seriesNodes },
|
|
82607
|
+
{ axes },
|
|
82608
|
+
reader.localName,
|
|
82609
|
+
(node) => reader.parseColor(node)
|
|
82610
|
+
);
|
|
81857
82611
|
return {
|
|
81858
82612
|
chartType,
|
|
81859
82613
|
categories: filled.categories,
|
|
@@ -81879,6 +82633,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
|
|
|
81879
82633
|
chartRelationshipId,
|
|
81880
82634
|
...linesAndChrome,
|
|
81881
82635
|
...axes.length > 0 ? { axes } : {},
|
|
82636
|
+
...elementFormats ? { elementFormats } : {},
|
|
81882
82637
|
...bandFmts ? { bandFmts } : {},
|
|
81883
82638
|
...facts,
|
|
81884
82639
|
...neutral.plotVisibleOnly !== void 0 ? { plotVisibleOnly: neutral.plotVisibleOnly } : {},
|
|
@@ -83726,16 +84481,16 @@ function parseExHyperlinkContainer(view, container) {
|
|
|
83726
84481
|
}
|
|
83727
84482
|
const id = view.getUint32(atom2.dataOffset, true);
|
|
83728
84483
|
const strings = {};
|
|
83729
|
-
for (const
|
|
83730
|
-
if (
|
|
84484
|
+
for (const child16 of iterateChildren(view, container)) {
|
|
84485
|
+
if (child16.recType !== RT.CString) {
|
|
83731
84486
|
continue;
|
|
83732
84487
|
}
|
|
83733
|
-
if (
|
|
83734
|
-
strings.friendlyName = readCString(view,
|
|
83735
|
-
} else if (
|
|
83736
|
-
strings.target = readCString(view,
|
|
83737
|
-
} else if (
|
|
83738
|
-
strings.location = readCString(view,
|
|
84488
|
+
if (child16.recInstance === 0) {
|
|
84489
|
+
strings.friendlyName = readCString(view, child16);
|
|
84490
|
+
} else if (child16.recInstance === 1) {
|
|
84491
|
+
strings.target = readCString(view, child16);
|
|
84492
|
+
} else if (child16.recInstance === 3) {
|
|
84493
|
+
strings.location = readCString(view, child16);
|
|
83739
84494
|
}
|
|
83740
84495
|
}
|
|
83741
84496
|
return { id, strings };
|
|
@@ -83746,11 +84501,11 @@ function parseHyperlinkStrings(view, docContainer) {
|
|
|
83746
84501
|
if (!exObjList) {
|
|
83747
84502
|
return result;
|
|
83748
84503
|
}
|
|
83749
|
-
for (const
|
|
83750
|
-
if (
|
|
84504
|
+
for (const child16 of iterateChildren(view, exObjList)) {
|
|
84505
|
+
if (child16.recType !== RT.ExternalHyperlink) {
|
|
83751
84506
|
continue;
|
|
83752
84507
|
}
|
|
83753
|
-
const parsed = parseExHyperlinkContainer(view,
|
|
84508
|
+
const parsed = parseExHyperlinkContainer(view, child16);
|
|
83754
84509
|
if (parsed) {
|
|
83755
84510
|
result.set(parsed.id, parsed.strings);
|
|
83756
84511
|
}
|
|
@@ -83820,9 +84575,9 @@ function collectTextHyperlinkRanges(view, start, end, hyperlinkStrings) {
|
|
|
83820
84575
|
return ranges;
|
|
83821
84576
|
}
|
|
83822
84577
|
function resolveShapeInteractiveInfo(view, clientData, hyperlinkStrings) {
|
|
83823
|
-
for (const
|
|
83824
|
-
if (
|
|
83825
|
-
const atom2 = findChild2(view,
|
|
84578
|
+
for (const child16 of iterateChildren(view, clientData)) {
|
|
84579
|
+
if (child16.recType === RT.InteractiveInfo && child16.recInstance === 0) {
|
|
84580
|
+
const atom2 = findChild2(view, child16, RT.InteractiveInfoAtom);
|
|
83826
84581
|
if (atom2) {
|
|
83827
84582
|
return resolveInteractiveInfoTarget(view, atom2, hyperlinkStrings);
|
|
83828
84583
|
}
|
|
@@ -84017,11 +84772,11 @@ function parseOleEmbedRefs(view, docContainer) {
|
|
|
84017
84772
|
if (!exObjList) {
|
|
84018
84773
|
return result;
|
|
84019
84774
|
}
|
|
84020
|
-
for (const
|
|
84021
|
-
if (
|
|
84775
|
+
for (const child16 of iterateChildren(view, exObjList)) {
|
|
84776
|
+
if (child16.recType !== RT.ExternalOleEmbed) {
|
|
84022
84777
|
continue;
|
|
84023
84778
|
}
|
|
84024
|
-
const parsed = parseOleEmbedContainer(view,
|
|
84779
|
+
const parsed = parseOleEmbedContainer(view, child16);
|
|
84025
84780
|
if (parsed) {
|
|
84026
84781
|
result.set(parsed.exObjId, parsed.ref);
|
|
84027
84782
|
}
|
|
@@ -84871,22 +85626,22 @@ function parseShape(ctx, container) {
|
|
|
84871
85626
|
return shape;
|
|
84872
85627
|
}
|
|
84873
85628
|
function parseGroup2(ctx, container) {
|
|
84874
|
-
const
|
|
85629
|
+
const children6 = [];
|
|
84875
85630
|
let groupShape;
|
|
84876
85631
|
let first2 = true;
|
|
84877
|
-
for (const
|
|
84878
|
-
if (
|
|
84879
|
-
groupShape =
|
|
85632
|
+
for (const child16 of iterateChildren(ctx.view, container)) {
|
|
85633
|
+
if (child16.recType === OA.SpContainer && first2) {
|
|
85634
|
+
groupShape = child16;
|
|
84880
85635
|
first2 = false;
|
|
84881
|
-
} else if (
|
|
84882
|
-
const shape = parseShape(ctx,
|
|
85636
|
+
} else if (child16.recType === OA.SpContainer) {
|
|
85637
|
+
const shape = parseShape(ctx, child16);
|
|
84883
85638
|
if (shape) {
|
|
84884
|
-
|
|
85639
|
+
children6.push(shape);
|
|
84885
85640
|
}
|
|
84886
|
-
} else if (
|
|
84887
|
-
const group = parseGroup2(ctx,
|
|
85641
|
+
} else if (child16.recType === OA.SpgrContainer) {
|
|
85642
|
+
const group = parseGroup2(ctx, child16);
|
|
84888
85643
|
if (group) {
|
|
84889
|
-
|
|
85644
|
+
children6.push(group);
|
|
84890
85645
|
}
|
|
84891
85646
|
}
|
|
84892
85647
|
}
|
|
@@ -84898,14 +85653,14 @@ function parseGroup2(ctx, container) {
|
|
|
84898
85653
|
const childAnchorRec = findChild2(ctx.view, groupShape, OA.ChildAnchor);
|
|
84899
85654
|
const anchor = anchorRec ? readClientAnchor(ctx.view, anchorRec) : childAnchorRec ? readChildAnchor(ctx.view, childAnchorRec) : void 0;
|
|
84900
85655
|
const childRect = fspgr && fspgr.recLen >= 16 ? readChildAnchor(ctx.view, fspgr) : void 0;
|
|
84901
|
-
if (
|
|
85656
|
+
if (children6.length === 0) {
|
|
84902
85657
|
return void 0;
|
|
84903
85658
|
}
|
|
84904
85659
|
return {
|
|
84905
85660
|
kind: "group",
|
|
84906
85661
|
anchor,
|
|
84907
85662
|
childRect: childRect ?? anchor ?? { x: 0, y: 0, w: 0, h: 0 },
|
|
84908
|
-
children:
|
|
85663
|
+
children: children6
|
|
84909
85664
|
};
|
|
84910
85665
|
}
|
|
84911
85666
|
function parseDrawing(ctx, dgContainer) {
|
|
@@ -84915,31 +85670,31 @@ function parseDrawing(ctx, dgContainer) {
|
|
|
84915
85670
|
return result;
|
|
84916
85671
|
}
|
|
84917
85672
|
let first2 = true;
|
|
84918
|
-
for (const
|
|
84919
|
-
if (
|
|
85673
|
+
for (const child16 of iterateChildren(ctx.view, topGroup)) {
|
|
85674
|
+
if (child16.recType === OA.SpContainer) {
|
|
84920
85675
|
if (first2) {
|
|
84921
85676
|
first2 = false;
|
|
84922
85677
|
continue;
|
|
84923
85678
|
}
|
|
84924
|
-
const backgroundRgb = extractBackground(ctx,
|
|
85679
|
+
const backgroundRgb = extractBackground(ctx, child16);
|
|
84925
85680
|
if (backgroundRgb !== void 0) {
|
|
84926
85681
|
result.backgroundRgb = backgroundRgb;
|
|
84927
85682
|
continue;
|
|
84928
85683
|
}
|
|
84929
|
-
const shape = parseShape(ctx,
|
|
85684
|
+
const shape = parseShape(ctx, child16);
|
|
84930
85685
|
if (shape) {
|
|
84931
85686
|
result.shapes.push(shape);
|
|
84932
85687
|
}
|
|
84933
|
-
} else if (
|
|
84934
|
-
const group = parseGroup2(ctx,
|
|
85688
|
+
} else if (child16.recType === OA.SpgrContainer) {
|
|
85689
|
+
const group = parseGroup2(ctx, child16);
|
|
84935
85690
|
if (group) {
|
|
84936
85691
|
result.shapes.push(group);
|
|
84937
85692
|
}
|
|
84938
|
-
} else if (isContainer(
|
|
85693
|
+
} else if (isContainer(child16)) ;
|
|
84939
85694
|
}
|
|
84940
|
-
for (const
|
|
84941
|
-
if (
|
|
84942
|
-
result.backgroundRgb = extractBackground(ctx,
|
|
85695
|
+
for (const child16 of iterateChildren(ctx.view, dgContainer)) {
|
|
85696
|
+
if (child16.recType === OA.SpContainer && result.backgroundRgb === void 0) {
|
|
85697
|
+
result.backgroundRgb = extractBackground(ctx, child16);
|
|
84943
85698
|
}
|
|
84944
85699
|
}
|
|
84945
85700
|
return result;
|
|
@@ -85093,14 +85848,14 @@ function parseMasterStyleAtom(view, rec, scheme, fonts) {
|
|
|
85093
85848
|
function collectMasterStyles(view, masterContainer, scheme, fonts) {
|
|
85094
85849
|
let titleStyles = [];
|
|
85095
85850
|
let bodyStyles = [];
|
|
85096
|
-
for (const
|
|
85097
|
-
if (
|
|
85851
|
+
for (const child16 of iterateChildren(view, masterContainer)) {
|
|
85852
|
+
if (child16.recType !== RT.TextMasterStyleAtom) {
|
|
85098
85853
|
continue;
|
|
85099
85854
|
}
|
|
85100
|
-
if (
|
|
85101
|
-
titleStyles = parseMasterStyleAtom(view,
|
|
85102
|
-
} else if (
|
|
85103
|
-
bodyStyles = parseMasterStyleAtom(view,
|
|
85855
|
+
if (child16.recInstance === 0 && titleStyles.length === 0) {
|
|
85856
|
+
titleStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
|
|
85857
|
+
} else if (child16.recInstance === 1 && bodyStyles.length === 0) {
|
|
85858
|
+
bodyStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
|
|
85104
85859
|
}
|
|
85105
85860
|
}
|
|
85106
85861
|
return { titleStyles, bodyStyles };
|
|
@@ -85117,9 +85872,9 @@ function parseFonts(view, docContainer) {
|
|
|
85117
85872
|
if (!collection) {
|
|
85118
85873
|
return fonts;
|
|
85119
85874
|
}
|
|
85120
|
-
for (const
|
|
85121
|
-
if (
|
|
85122
|
-
const name = decodeTextChars(view,
|
|
85875
|
+
for (const child16 of iterateChildren(view, collection)) {
|
|
85876
|
+
if (child16.recType === RT.FontEntityAtom) {
|
|
85877
|
+
const name = decodeTextChars(view, child16.dataOffset, Math.min(64, child16.recLen));
|
|
85123
85878
|
const nul = name.indexOf("\0");
|
|
85124
85879
|
fonts.push(nul >= 0 ? name.slice(0, nul) : name);
|
|
85125
85880
|
}
|
|
@@ -85128,19 +85883,19 @@ function parseFonts(view, docContainer) {
|
|
|
85128
85883
|
}
|
|
85129
85884
|
function readSlidePersistIds(view, slideList) {
|
|
85130
85885
|
const ids = [];
|
|
85131
|
-
for (const
|
|
85132
|
-
if (
|
|
85133
|
-
ids.push(view.getUint32(
|
|
85886
|
+
for (const child16 of iterateChildren(view, slideList)) {
|
|
85887
|
+
if (child16.recType === RT.SlidePersistAtom && child16.recLen >= 4) {
|
|
85888
|
+
ids.push(view.getUint32(child16.dataOffset, true));
|
|
85134
85889
|
}
|
|
85135
85890
|
}
|
|
85136
85891
|
return ids;
|
|
85137
85892
|
}
|
|
85138
85893
|
function resolveSlideOrder(view, docContainer, directory, scheme) {
|
|
85139
|
-
for (const
|
|
85140
|
-
if (
|
|
85894
|
+
for (const child16 of iterateChildren(view, docContainer)) {
|
|
85895
|
+
if (child16.recType === RT.SlideListWithText && child16.recInstance === 0) {
|
|
85141
85896
|
return {
|
|
85142
|
-
persistIds: readSlidePersistIds(view,
|
|
85143
|
-
outline: collectOutlineText(view,
|
|
85897
|
+
persistIds: readSlidePersistIds(view, child16),
|
|
85898
|
+
outline: collectOutlineText(view, child16, scheme)
|
|
85144
85899
|
};
|
|
85145
85900
|
}
|
|
85146
85901
|
}
|
|
@@ -85188,9 +85943,9 @@ async function parseDeck(streams) {
|
|
|
85188
85943
|
const oleEmbedRefs = parseOleEmbedRefs(view, docContainer);
|
|
85189
85944
|
const oleExObjIds = new Set(oleEmbedRefs.keys());
|
|
85190
85945
|
let masterPersistId;
|
|
85191
|
-
for (const
|
|
85192
|
-
if (
|
|
85193
|
-
const ids = readSlidePersistIds(view,
|
|
85946
|
+
for (const child16 of iterateChildren(view, docContainer)) {
|
|
85947
|
+
if (child16.recType === RT.SlideListWithText && child16.recInstance === 1) {
|
|
85948
|
+
const ids = readSlidePersistIds(view, child16);
|
|
85194
85949
|
masterPersistId = ids[0];
|
|
85195
85950
|
break;
|
|
85196
85951
|
}
|
|
@@ -85460,15 +86215,15 @@ function runPropsXml(run, ctx) {
|
|
|
85460
86215
|
attrs3.push('u="sng"');
|
|
85461
86216
|
}
|
|
85462
86217
|
attrs3.push('dirty="0"');
|
|
85463
|
-
let
|
|
86218
|
+
let children6 = "";
|
|
85464
86219
|
if (run.colorRgb !== void 0) {
|
|
85465
|
-
|
|
86220
|
+
children6 += solidFill(run.colorRgb);
|
|
85466
86221
|
}
|
|
85467
86222
|
if (run.fontName !== void 0) {
|
|
85468
|
-
|
|
86223
|
+
children6 += `<a:latin typeface="${esc(run.fontName)}"/>`;
|
|
85469
86224
|
}
|
|
85470
|
-
|
|
85471
|
-
return
|
|
86225
|
+
children6 += hyperlinkClickXml(run.hyperlink, ctx.hyperlinkRels, ctx.slideCount);
|
|
86226
|
+
return children6.length > 0 ? `<a:rPr ${attrs3.join(" ")}>${children6}</a:rPr>` : `<a:rPr ${attrs3.join(" ")}/>`;
|
|
85472
86227
|
}
|
|
85473
86228
|
function runXml(run, ctx) {
|
|
85474
86229
|
const segments = run.text.split(String.fromCharCode(11));
|
|
@@ -85593,8 +86348,8 @@ function picXml(picture, ctx) {
|
|
|
85593
86348
|
function grpXml(group, ctx) {
|
|
85594
86349
|
const id = ctx.nextId();
|
|
85595
86350
|
const anchor = group.anchor ?? group.childRect;
|
|
85596
|
-
const
|
|
85597
|
-
const inner = `<a:chOff x="${emu(
|
|
86351
|
+
const child16 = group.childRect;
|
|
86352
|
+
const inner = `<a:chOff x="${emu(child16.x)}" y="${emu(child16.y)}"/><a:chExt cx="${Math.max(0, emu(child16.w))}" cy="${Math.max(0, emu(child16.h))}"/>`;
|
|
85598
86353
|
return `<p:grpSp><p:nvGrpSpPr>${cNvPrXml(id, `Group ${id}`, group.actionClick, ctx)}<p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr>${xfrmXml({ ...group, anchor }, inner)}</p:grpSpPr>${group.children.map((c) => shapeXml(c, ctx)).join("")}</p:grpSp>`;
|
|
85599
86354
|
}
|
|
85600
86355
|
function shapeXml(shape, ctx) {
|
|
@@ -87377,14 +88132,14 @@ function createMediaElement(mediaType, source, options) {
|
|
|
87377
88132
|
posterFrameData: options?.posterFrame
|
|
87378
88133
|
};
|
|
87379
88134
|
}
|
|
87380
|
-
function createGroupElement(
|
|
88135
|
+
function createGroupElement(children6, options) {
|
|
87381
88136
|
const p = pos("group", options);
|
|
87382
88137
|
return {
|
|
87383
88138
|
type: "group",
|
|
87384
88139
|
id: generateId("grp"),
|
|
87385
88140
|
...p,
|
|
87386
88141
|
rotation: options?.rotation,
|
|
87387
|
-
children:
|
|
88142
|
+
children: children6
|
|
87388
88143
|
};
|
|
87389
88144
|
}
|
|
87390
88145
|
function createFreeformElement(pathData, options) {
|
|
@@ -87471,8 +88226,8 @@ var SlideBuilder = class {
|
|
|
87471
88226
|
return this;
|
|
87472
88227
|
}
|
|
87473
88228
|
/** Add a group of elements to the slide. */
|
|
87474
|
-
addGroup(
|
|
87475
|
-
this.slide.elements.push(createGroupElement(
|
|
88229
|
+
addGroup(children6, options) {
|
|
88230
|
+
this.slide.elements.push(createGroupElement(children6, options));
|
|
87476
88231
|
return this;
|
|
87477
88232
|
}
|
|
87478
88233
|
/** Add a pre-built element directly. */
|