pptx-react-viewer 3.16.7 → 3.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/README.md +25 -3
- package/dist/{AiChatPanel-N25STHYW.js → AiChatPanel-GYH43XWW.js} +25 -25
- package/dist/AiChatPanel-GYH43XWW.js.br +0 -0
- package/dist/AiChatPanel-GYH43XWW.js.gz +0 -0
- package/dist/{AiChatPanel-GLDW5OK4.mjs → AiChatPanel-SINEEZBW.mjs} +4 -4
- package/dist/AiChatPanel-SINEEZBW.mjs.br +0 -0
- package/dist/AiChatPanel-SINEEZBW.mjs.gz +0 -0
- package/dist/{Area3DChartScene-5POI5LF7.js → Area3DChartScene-D7GSJGPQ.js} +2 -2
- package/dist/Area3DChartScene-D7GSJGPQ.js.br +0 -0
- package/dist/Area3DChartScene-D7GSJGPQ.js.gz +0 -0
- package/dist/{Area3DChartScene-FCHO4SK6.mjs → Area3DChartScene-X5SM67PZ.mjs} +1 -1
- package/dist/Area3DChartScene-X5SM67PZ.mjs.br +0 -0
- package/dist/Area3DChartScene-X5SM67PZ.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-M3LLHXAL.mjs → Bar3DChartScene-HWIFFGI3.mjs} +1 -1
- package/dist/Bar3DChartScene-HWIFFGI3.mjs.br +0 -0
- package/dist/Bar3DChartScene-HWIFFGI3.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-5CY5GRV5.js → Bar3DChartScene-M72WQW5Y.js} +2 -2
- package/dist/Bar3DChartScene-M72WQW5Y.js.br +0 -0
- package/dist/Bar3DChartScene-M72WQW5Y.js.gz +0 -0
- package/dist/{Line3DChartScene-77TZRLJY.mjs → Line3DChartScene-7MPZWVF3.mjs} +1 -1
- package/dist/Line3DChartScene-7MPZWVF3.mjs.br +0 -0
- package/dist/Line3DChartScene-7MPZWVF3.mjs.gz +0 -0
- package/dist/{Line3DChartScene-3TP7OUIP.js → Line3DChartScene-YOZEEQZ3.js} +2 -2
- package/dist/Line3DChartScene-YOZEEQZ3.js.br +0 -0
- package/dist/Line3DChartScene-YOZEEQZ3.js.gz +0 -0
- package/dist/{Model3DScene-QINKUHM2.mjs → Model3DScene-57LVY5QW.mjs} +1 -1
- package/dist/Model3DScene-57LVY5QW.mjs.br +0 -0
- package/dist/Model3DScene-57LVY5QW.mjs.gz +0 -0
- package/dist/{Model3DScene-CBETCFMI.js → Model3DScene-5IJSNGDZ.js} +2 -2
- package/dist/Model3DScene-5IJSNGDZ.js.br +0 -0
- package/dist/Model3DScene-5IJSNGDZ.js.gz +0 -0
- package/dist/{PieChart3DScene-NFXFVG7R.js → PieChart3DScene-UBI6X66Q.js} +2 -2
- package/dist/PieChart3DScene-UBI6X66Q.js.br +0 -0
- package/dist/PieChart3DScene-UBI6X66Q.js.gz +0 -0
- package/dist/{PieChart3DScene-H2DJSHW7.mjs → PieChart3DScene-WD5B6NP3.mjs} +1 -1
- package/dist/PieChart3DScene-WD5B6NP3.mjs.br +0 -0
- package/dist/PieChart3DScene-WD5B6NP3.mjs.gz +0 -0
- package/dist/{PowerPointViewer-Cl6jBPNw.d.ts → PowerPointViewer-Cde_wzd0.d.ts} +2 -2
- package/dist/{PowerPointViewer-Cl6jBPNw.d.ts.map → PowerPointViewer-Cde_wzd0.d.ts.map} +1 -1
- package/dist/{SurfaceChart3DScene-2IN5YKKE.js → SurfaceChart3DScene-JGNPYQ32.js} +2 -2
- package/dist/SurfaceChart3DScene-JGNPYQ32.js.br +0 -0
- package/dist/SurfaceChart3DScene-JGNPYQ32.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-4AGI4O3L.mjs → SurfaceChart3DScene-JZGU6BBD.mjs} +1 -1
- package/dist/SurfaceChart3DScene-JZGU6BBD.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-JZGU6BBD.mjs.gz +0 -0
- package/dist/{audience-content-store-CB2WVM1K.d.ts → audience-content-store-A8Km8rBo.d.ts} +2 -2
- package/dist/{audience-content-store-CB2WVM1K.d.ts.map → audience-content-store-A8Km8rBo.d.ts.map} +1 -1
- package/dist/{chunk-3FVOKV4E.js → chunk-4SPZ5IZN.js} +1110 -470
- package/dist/chunk-4SPZ5IZN.js.br +0 -0
- package/dist/chunk-4SPZ5IZN.js.gz +0 -0
- package/dist/{chunk-3AJ54EAB.js → chunk-64FUV37N.js} +9 -0
- package/dist/chunk-64FUV37N.js.br +0 -0
- package/dist/{chunk-3AJ54EAB.js.gz → chunk-64FUV37N.js.gz} +0 -0
- package/dist/{chunk-4NSDMKFE.js → chunk-7FBKS7OS.js} +178 -178
- package/dist/chunk-7FBKS7OS.js.br +0 -0
- package/dist/chunk-7FBKS7OS.js.gz +0 -0
- package/dist/{chunk-7ELFYC6K.mjs → chunk-7YJBRPCT.mjs} +9 -5
- package/dist/chunk-7YJBRPCT.mjs.br +0 -0
- package/dist/chunk-7YJBRPCT.mjs.gz +0 -0
- package/dist/{chunk-4Q6VIX6M.js → chunk-E55VEC37.js} +557 -504
- package/dist/chunk-E55VEC37.js.br +0 -0
- package/dist/chunk-E55VEC37.js.gz +0 -0
- package/dist/{chunk-SQNEE6AM.js → chunk-IRG7SIUX.js} +1347 -1337
- package/dist/chunk-IRG7SIUX.js.br +0 -0
- package/dist/chunk-IRG7SIUX.js.gz +0 -0
- package/dist/{chunk-I5YSAIL5.mjs → chunk-IXKAIIA2.mjs} +63 -53
- package/dist/chunk-IXKAIIA2.mjs.br +0 -0
- package/dist/chunk-IXKAIIA2.mjs.gz +0 -0
- package/dist/{chunk-TYVSLRC7.js → chunk-KVXB22D3.js} +13 -9
- package/dist/chunk-KVXB22D3.js.br +0 -0
- package/dist/{chunk-TYVSLRC7.js.gz → chunk-KVXB22D3.js.gz} +0 -0
- package/dist/{chunk-HMX3MQR7.mjs → chunk-LAU34UMB.mjs} +9 -1
- package/dist/chunk-LAU34UMB.mjs.br +0 -0
- package/dist/{chunk-HMX3MQR7.mjs.gz → chunk-LAU34UMB.mjs.gz} +0 -0
- package/dist/{chunk-3PUFHKXW.mjs → chunk-OAKDJYYT.mjs} +103 -50
- package/dist/chunk-OAKDJYYT.mjs.br +0 -0
- package/dist/chunk-OAKDJYYT.mjs.gz +0 -0
- package/dist/{chunk-XMD6ZWUO.mjs → chunk-QTGCOL5H.mjs} +1104 -471
- package/dist/chunk-QTGCOL5H.mjs.br +0 -0
- package/dist/chunk-QTGCOL5H.mjs.gz +0 -0
- package/dist/{chunk-B3YVURJB.mjs → chunk-VYSMTC5C.mjs} +2 -2
- package/dist/chunk-VYSMTC5C.mjs.br +0 -0
- package/dist/chunk-VYSMTC5C.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +33 -3
- package/dist/index.js +47 -47
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +38 -3
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +79 -79
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/{types-Bzdkiakq.d.ts → types-BqB2ZCwS.d.ts} +3 -3
- package/dist/{types-Bzdkiakq.d.ts.map → types-BqB2ZCwS.d.ts.map} +1 -1
- package/dist/{useViewerBuildingBlocks-FbK-4ORi.d.ts → useViewerBuildingBlocks-DkUGmlkP.d.ts} +4 -4
- package/dist/{useViewerBuildingBlocks-FbK-4ORi.d.ts.map → useViewerBuildingBlocks-DkUGmlkP.d.ts.map} +1 -1
- package/dist/viewer/index.d.ts +31 -1
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-GLDW5OK4.mjs.br +0 -0
- package/dist/AiChatPanel-GLDW5OK4.mjs.gz +0 -0
- package/dist/AiChatPanel-N25STHYW.js.br +0 -0
- package/dist/AiChatPanel-N25STHYW.js.gz +0 -0
- package/dist/Area3DChartScene-5POI5LF7.js.br +0 -0
- package/dist/Area3DChartScene-5POI5LF7.js.gz +0 -0
- package/dist/Area3DChartScene-FCHO4SK6.mjs.br +0 -0
- package/dist/Area3DChartScene-FCHO4SK6.mjs.gz +0 -0
- package/dist/Bar3DChartScene-5CY5GRV5.js.br +0 -0
- package/dist/Bar3DChartScene-5CY5GRV5.js.gz +0 -0
- package/dist/Bar3DChartScene-M3LLHXAL.mjs.br +0 -0
- package/dist/Bar3DChartScene-M3LLHXAL.mjs.gz +0 -0
- package/dist/Line3DChartScene-3TP7OUIP.js.br +0 -0
- package/dist/Line3DChartScene-3TP7OUIP.js.gz +0 -0
- package/dist/Line3DChartScene-77TZRLJY.mjs.br +0 -0
- package/dist/Line3DChartScene-77TZRLJY.mjs.gz +0 -0
- package/dist/Model3DScene-CBETCFMI.js.br +0 -0
- package/dist/Model3DScene-CBETCFMI.js.gz +0 -0
- package/dist/Model3DScene-QINKUHM2.mjs.br +0 -0
- package/dist/Model3DScene-QINKUHM2.mjs.gz +0 -0
- package/dist/PieChart3DScene-H2DJSHW7.mjs.br +0 -0
- package/dist/PieChart3DScene-H2DJSHW7.mjs.gz +0 -0
- package/dist/PieChart3DScene-NFXFVG7R.js.br +0 -0
- package/dist/PieChart3DScene-NFXFVG7R.js.gz +0 -0
- package/dist/SurfaceChart3DScene-2IN5YKKE.js.br +0 -0
- package/dist/SurfaceChart3DScene-2IN5YKKE.js.gz +0 -0
- package/dist/SurfaceChart3DScene-4AGI4O3L.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-4AGI4O3L.mjs.gz +0 -0
- package/dist/chunk-3AJ54EAB.js.br +0 -0
- package/dist/chunk-3FVOKV4E.js.br +0 -0
- package/dist/chunk-3FVOKV4E.js.gz +0 -0
- package/dist/chunk-3PUFHKXW.mjs.br +0 -0
- package/dist/chunk-3PUFHKXW.mjs.gz +0 -0
- package/dist/chunk-4NSDMKFE.js.br +0 -0
- package/dist/chunk-4NSDMKFE.js.gz +0 -0
- package/dist/chunk-4Q6VIX6M.js.br +0 -0
- package/dist/chunk-4Q6VIX6M.js.gz +0 -0
- package/dist/chunk-7ELFYC6K.mjs.br +0 -0
- package/dist/chunk-7ELFYC6K.mjs.gz +0 -0
- package/dist/chunk-B3YVURJB.mjs.br +0 -0
- package/dist/chunk-B3YVURJB.mjs.gz +0 -0
- package/dist/chunk-HMX3MQR7.mjs.br +0 -0
- package/dist/chunk-I5YSAIL5.mjs.br +0 -0
- package/dist/chunk-I5YSAIL5.mjs.gz +0 -0
- package/dist/chunk-SQNEE6AM.js.br +0 -0
- package/dist/chunk-SQNEE6AM.js.gz +0 -0
- package/dist/chunk-TYVSLRC7.js.br +0 -0
- package/dist/chunk-XMD6ZWUO.mjs.br +0 -0
- package/dist/chunk-XMD6ZWUO.mjs.gz +0 -0
|
@@ -7049,6 +7049,7 @@ var init_collaboration_field_schema = __esm({
|
|
|
7049
7049
|
hidden: "scalar",
|
|
7050
7050
|
opacity: "scalar",
|
|
7051
7051
|
rawXml: "complex",
|
|
7052
|
+
inheritedTransform: "complex",
|
|
7052
7053
|
actionClick: "complex",
|
|
7053
7054
|
actionHover: "complex",
|
|
7054
7055
|
locks: "complex",
|
|
@@ -37104,9 +37105,9 @@ function compoundChildIds(role, node, childrenOf) {
|
|
|
37104
37105
|
const children13 = childrenOf.get(node.id) ?? [];
|
|
37105
37106
|
const start = role.presentationOf?.start?.[chIndex] ?? 1;
|
|
37106
37107
|
const count = role.presentationOf?.count?.[chIndex];
|
|
37107
|
-
const
|
|
37108
|
+
const positions2 = positionRange(start, count, 1, children13.length);
|
|
37108
37109
|
const ids = [];
|
|
37109
|
-
for (const position2 of
|
|
37110
|
+
for (const position2 of positions2) {
|
|
37110
37111
|
const child262 = children13[position2 - 1];
|
|
37111
37112
|
if (!child262 || child262.text.trim().length === 0) {
|
|
37112
37113
|
continue;
|
|
@@ -48827,7 +48828,7 @@ function parseValueColors(node, colorParser) {
|
|
|
48827
48828
|
return colors.length > 0 ? colors : void 0;
|
|
48828
48829
|
}
|
|
48829
48830
|
function parseValueColorPositions(node, xmlLookup) {
|
|
48830
|
-
const
|
|
48831
|
+
const positions2 = [];
|
|
48831
48832
|
for (const posNode of xmlLookup.getChildrenArrayByLocalName(node, "pos")) {
|
|
48832
48833
|
const kind = POSITION_KIND_MAP[String(posNode["@_type"] ?? "").trim()];
|
|
48833
48834
|
if (!kind) {
|
|
@@ -48841,9 +48842,9 @@ function parseValueColorPositions(node, xmlLookup) {
|
|
|
48841
48842
|
entry2.value = num;
|
|
48842
48843
|
}
|
|
48843
48844
|
}
|
|
48844
|
-
|
|
48845
|
+
positions2.push(entry2);
|
|
48845
48846
|
}
|
|
48846
|
-
return
|
|
48847
|
+
return positions2.length > 0 ? positions2 : void 0;
|
|
48847
48848
|
}
|
|
48848
48849
|
function parseCxValueColors(series, xmlLookup, colorParser) {
|
|
48849
48850
|
const valueColorsNode = xmlLookup.getChildByLocalName(series, "valueColors");
|
|
@@ -48859,9 +48860,9 @@ function parseCxValueColors(series, xmlLookup, colorParser) {
|
|
|
48859
48860
|
}
|
|
48860
48861
|
}
|
|
48861
48862
|
if (valueColorPositionsNode) {
|
|
48862
|
-
const
|
|
48863
|
-
if (
|
|
48864
|
-
result.valueColorPositions =
|
|
48863
|
+
const positions2 = parseValueColorPositions(valueColorPositionsNode, xmlLookup);
|
|
48864
|
+
if (positions2) {
|
|
48865
|
+
result.valueColorPositions = positions2;
|
|
48865
48866
|
}
|
|
48866
48867
|
}
|
|
48867
48868
|
return Object.keys(result).length > 0 ? result : void 0;
|
|
@@ -63570,15 +63571,48 @@ var init_group_tight_rewrap = __esm({
|
|
|
63570
63571
|
init_group_tight_rewrap_own_box();
|
|
63571
63572
|
}
|
|
63572
63573
|
});
|
|
63574
|
+
function materializeInheritedShapeTransform(shape, element) {
|
|
63575
|
+
const baseline = element.inheritedTransform;
|
|
63576
|
+
const envelope = element.type === "text" || element.type === "shape" ? "p:nvSpPr" : element.type === "picture" || element.type === "media" ? "p:nvPicPr" : void 0;
|
|
63577
|
+
if (!baseline || !envelope || !xmlChild(shape, envelope)) {
|
|
63578
|
+
return void 0;
|
|
63579
|
+
}
|
|
63580
|
+
if (["x", "y", "width", "height"].some(
|
|
63581
|
+
(key2) => !Number.isFinite(element[key2]) || !Number.isFinite(baseline[key2])
|
|
63582
|
+
) || NUMERIC_KEYS.some(
|
|
63583
|
+
(key2) => !Number.isFinite(element[key2] ?? 0) || !Number.isFinite(baseline[key2] ?? 0)
|
|
63584
|
+
) || element.width < 0 || element.height < 0 || baseline.width < 0 || baseline.height < 0) {
|
|
63585
|
+
return void 0;
|
|
63586
|
+
}
|
|
63587
|
+
const changed = NUMERIC_KEYS.some((key2) => (element[key2] ?? 0) !== (baseline[key2] ?? 0)) || Boolean(element.flipHorizontal) !== Boolean(baseline.flipHorizontal) || Boolean(element.flipVertical) !== Boolean(baseline.flipVertical);
|
|
63588
|
+
if (!changed) {
|
|
63589
|
+
return void 0;
|
|
63590
|
+
}
|
|
63591
|
+
const transform6 = {};
|
|
63592
|
+
const properties = { ...xmlChild(shape, "p:spPr") };
|
|
63593
|
+
delete properties["a:xfrm"];
|
|
63594
|
+
shape["p:spPr"] = { "a:xfrm": transform6, ...properties };
|
|
63595
|
+
return transform6;
|
|
63596
|
+
}
|
|
63597
|
+
var NUMERIC_KEYS;
|
|
63598
|
+
var init_inherited_shape_transform = __esm({
|
|
63599
|
+
"src/core/core/builders/inherited-shape-transform.ts"() {
|
|
63600
|
+
init_xml_access();
|
|
63601
|
+
NUMERIC_KEYS = ["x", "y", "width", "height", "rotation", "skewX", "skewY"];
|
|
63602
|
+
}
|
|
63603
|
+
});
|
|
63573
63604
|
var PptxElementTransformUpdater;
|
|
63574
63605
|
var init_PptxElementTransformUpdater = __esm({
|
|
63575
63606
|
"src/core/core/builders/PptxElementTransformUpdater.ts"() {
|
|
63576
63607
|
init_rotated_resize_anchor();
|
|
63577
63608
|
init_xfrm_emu_resolution();
|
|
63609
|
+
init_xml_access();
|
|
63578
63610
|
init_group_tight_rewrap();
|
|
63611
|
+
init_inherited_shape_transform();
|
|
63579
63612
|
PptxElementTransformUpdater = class {
|
|
63580
63613
|
applyTransform(shape, element, emuPerPx, enclosingGroupChildSpace) {
|
|
63581
|
-
const transform6 = shape["p:spPr"]?.["a:xfrm"] || shape["p:xfrm"]
|
|
63614
|
+
const transform6 = shape["p:spPr"]?.["a:xfrm"] || shape["p:xfrm"] || // A group's child geometry uses a different frame from the load-time baseline.
|
|
63615
|
+
!enclosingGroupChildSpace && materializeInheritedShapeTransform(shape, element);
|
|
63582
63616
|
if (!transform6) {
|
|
63583
63617
|
return;
|
|
63584
63618
|
}
|
|
@@ -63599,8 +63633,9 @@ var init_PptxElementTransformUpdater = __esm({
|
|
|
63599
63633
|
} else {
|
|
63600
63634
|
const naiveOffX = resolveXfrmEmu(element.x, element.xEmu, emuPerPx);
|
|
63601
63635
|
const naiveOffY = resolveXfrmEmu(element.y, element.yEmu, emuPerPx);
|
|
63636
|
+
const rotationChanged = element.inheritedTransform !== void 0 && (element.inheritedTransform.rotation ?? 0) !== (element.rotation ?? 0);
|
|
63602
63637
|
const rotatedResize = resolveRotatedResizeOffset({
|
|
63603
|
-
rotationDeg: element.rotation,
|
|
63638
|
+
rotationDeg: rotationChanged ? void 0 : element.rotation,
|
|
63604
63639
|
oldOffXEmu: element.xEmu,
|
|
63605
63640
|
oldOffYEmu: element.yEmu,
|
|
63606
63641
|
oldExtWidthEmu: element.widthEmu,
|
|
@@ -63626,14 +63661,20 @@ var init_PptxElementTransformUpdater = __esm({
|
|
|
63626
63661
|
if (element.skewY !== void 0) {
|
|
63627
63662
|
transform6["@_skewY"] = String(Math.round(element.skewY * 6e4));
|
|
63628
63663
|
}
|
|
63664
|
+
const nonVisual = xmlChild(shape, "p:nvSpPr") ?? xmlChild(shape, "p:nvPicPr");
|
|
63665
|
+
const isPlaceholder = xmlHasChild(xmlChild(nonVisual, "p:nvPr"), "p:ph");
|
|
63629
63666
|
if (element.flipHorizontal) {
|
|
63630
63667
|
transform6["@_flipH"] = "1";
|
|
63631
|
-
} else {
|
|
63668
|
+
} else if (element.inheritedTransform?.flipHorizontal || isPlaceholder && transform6["@_flipH"] !== void 0 && transform6["@_flipH"] !== "false") {
|
|
63669
|
+
transform6["@_flipH"] = "0";
|
|
63670
|
+
} else if (transform6["@_flipH"] !== "0" && transform6["@_flipH"] !== "false") {
|
|
63632
63671
|
delete transform6["@_flipH"];
|
|
63633
63672
|
}
|
|
63634
63673
|
if (element.flipVertical) {
|
|
63635
63674
|
transform6["@_flipV"] = "1";
|
|
63636
|
-
} else {
|
|
63675
|
+
} else if (element.inheritedTransform?.flipVertical || isPlaceholder && transform6["@_flipV"] !== void 0 && transform6["@_flipV"] !== "false") {
|
|
63676
|
+
transform6["@_flipV"] = "0";
|
|
63677
|
+
} else if (transform6["@_flipV"] !== "0" && transform6["@_flipV"] !== "false") {
|
|
63637
63678
|
delete transform6["@_flipV"];
|
|
63638
63679
|
}
|
|
63639
63680
|
}
|
|
@@ -74201,45 +74242,40 @@ var init_PptxEditorAnimationService = __esm({
|
|
|
74201
74242
|
};
|
|
74202
74243
|
}
|
|
74203
74244
|
});
|
|
74204
|
-
function
|
|
74205
|
-
|
|
74206
|
-
|
|
74207
|
-
|
|
74208
|
-
|
|
74209
|
-
|
|
74210
|
-
|
|
74211
|
-
|
|
74212
|
-
|
|
74213
|
-
let max = 0;
|
|
74214
|
-
for (const el of elements2) {
|
|
74215
|
-
if (el.shapeId !== void 0) {
|
|
74216
|
-
const n = Number.parseInt(el.shapeId, 10);
|
|
74217
|
-
if (Number.isFinite(n) && n > max) {
|
|
74218
|
-
max = n;
|
|
74245
|
+
function createShapeIdResolver(elements2, reservedMaxId = 0) {
|
|
74246
|
+
const byId = /* @__PURE__ */ new Map();
|
|
74247
|
+
let maxId = reservedMaxId;
|
|
74248
|
+
const visit = (element) => {
|
|
74249
|
+
byId.set(element.id, element);
|
|
74250
|
+
if (element.shapeId !== void 0) {
|
|
74251
|
+
const value = Number.parseInt(element.shapeId, 10);
|
|
74252
|
+
if (Number.isFinite(value)) {
|
|
74253
|
+
maxId = Math.max(maxId, value);
|
|
74219
74254
|
}
|
|
74220
74255
|
}
|
|
74221
|
-
|
|
74222
|
-
|
|
74223
|
-
}
|
|
74224
|
-
|
|
74225
|
-
|
|
74226
|
-
|
|
74227
|
-
|
|
74228
|
-
|
|
74229
|
-
byId.set(el.id, el);
|
|
74230
|
-
}
|
|
74231
|
-
let nextId2 = Math.max(maxShapeId(flat), reservedMaxId) + 1;
|
|
74232
|
-
const resolve2 = (elementId) => {
|
|
74233
|
-
const el = byId.get(elementId);
|
|
74234
|
-
if (!el) {
|
|
74256
|
+
if (element.type === "group") {
|
|
74257
|
+
element.children.forEach(visit);
|
|
74258
|
+
}
|
|
74259
|
+
};
|
|
74260
|
+
elements2.forEach(visit);
|
|
74261
|
+
return (elementId) => {
|
|
74262
|
+
const element = byId.get(elementId);
|
|
74263
|
+
if (!element) {
|
|
74235
74264
|
return void 0;
|
|
74236
74265
|
}
|
|
74237
|
-
if (
|
|
74238
|
-
|
|
74239
|
-
|
|
74266
|
+
if (element.shapeId === void 0) {
|
|
74267
|
+
maxId += 1;
|
|
74268
|
+
element.shapeId = String(maxId);
|
|
74240
74269
|
}
|
|
74241
|
-
return
|
|
74270
|
+
return element.shapeId;
|
|
74242
74271
|
};
|
|
74272
|
+
}
|
|
74273
|
+
var init_shape_id_resolver = __esm({
|
|
74274
|
+
"src/core/services/shape-id-resolver.ts"() {
|
|
74275
|
+
}
|
|
74276
|
+
});
|
|
74277
|
+
function remapEditorAnimationsToShapeIds(elements2, animations, reservedMaxId = 0) {
|
|
74278
|
+
const resolve2 = createShapeIdResolver(elements2, reservedMaxId);
|
|
74243
74279
|
return animations.map((anim) => {
|
|
74244
74280
|
const resolvedElement = resolve2(anim.elementId);
|
|
74245
74281
|
const resolvedTrigger = anim.triggerShapeId !== void 0 ? resolve2(anim.triggerShapeId) : void 0;
|
|
@@ -74255,6 +74291,67 @@ function remapEditorAnimationsToShapeIds(elements2, animations, reservedMaxId =
|
|
|
74255
74291
|
}
|
|
74256
74292
|
var init_animation_shape_id_assign = __esm({
|
|
74257
74293
|
"src/core/services/animation-shape-id-assign.ts"() {
|
|
74294
|
+
init_shape_id_resolver();
|
|
74295
|
+
}
|
|
74296
|
+
});
|
|
74297
|
+
function resolveConnectorShapeIds(elements2, reservedMaxId) {
|
|
74298
|
+
const resolve2 = createShapeIdResolver(elements2, reservedMaxId);
|
|
74299
|
+
const result = /* @__PURE__ */ new Map();
|
|
74300
|
+
const visit = (element) => {
|
|
74301
|
+
const nativeId = resolve2(element.id);
|
|
74302
|
+
if (nativeId !== void 0) {
|
|
74303
|
+
result.set(element.id, nativeId);
|
|
74304
|
+
}
|
|
74305
|
+
if (element.type === "group") {
|
|
74306
|
+
element.children.forEach(visit);
|
|
74307
|
+
}
|
|
74308
|
+
};
|
|
74309
|
+
elements2.forEach(visit);
|
|
74310
|
+
return result;
|
|
74311
|
+
}
|
|
74312
|
+
function applyConnectorShapeIds(shape, element, nativeIds) {
|
|
74313
|
+
if (element.type !== "connector" || !element.shapeStyle) {
|
|
74314
|
+
return;
|
|
74315
|
+
}
|
|
74316
|
+
const nv = xmlChild(shape, "p:nvCxnSpPr");
|
|
74317
|
+
if (!nv) {
|
|
74318
|
+
return;
|
|
74319
|
+
}
|
|
74320
|
+
const connections = xmlChild(nv, "p:cNvCxnSpPr") ?? {};
|
|
74321
|
+
for (const [tag, reference] of [
|
|
74322
|
+
["a:stCxn", element.shapeStyle.connectorStartConnection],
|
|
74323
|
+
["a:endCxn", element.shapeStyle.connectorEndConnection]
|
|
74324
|
+
]) {
|
|
74325
|
+
if (!reference?.shapeId) {
|
|
74326
|
+
continue;
|
|
74327
|
+
}
|
|
74328
|
+
const nativeId = nativeIds.get(reference.shapeId) ?? (/^\d+$/.test(reference.shapeId) ? reference.shapeId : void 0);
|
|
74329
|
+
if (nativeId === void 0) {
|
|
74330
|
+
if (!element.rawXml) {
|
|
74331
|
+
delete connections[tag];
|
|
74332
|
+
}
|
|
74333
|
+
continue;
|
|
74334
|
+
}
|
|
74335
|
+
connections[tag] = {
|
|
74336
|
+
...xmlChild(connections, tag),
|
|
74337
|
+
"@_id": nativeId,
|
|
74338
|
+
"@_idx": String(reference.connectionSiteIndex ?? 0)
|
|
74339
|
+
};
|
|
74340
|
+
}
|
|
74341
|
+
if (Object.keys(connections).length > 0) {
|
|
74342
|
+
nv["p:cNvCxnSpPr"] = reorderObjectKeys(connections, [
|
|
74343
|
+
"a:cxnSpLocks",
|
|
74344
|
+
"a:stCxn",
|
|
74345
|
+
"a:endCxn",
|
|
74346
|
+
"a:extLst"
|
|
74347
|
+
]);
|
|
74348
|
+
}
|
|
74349
|
+
}
|
|
74350
|
+
var init_connector_shape_id_assign = __esm({
|
|
74351
|
+
"src/core/services/connector-shape-id-assign.ts"() {
|
|
74352
|
+
init_xml_access();
|
|
74353
|
+
init_xml_reorder();
|
|
74354
|
+
init_shape_id_resolver();
|
|
74258
74355
|
}
|
|
74259
74356
|
});
|
|
74260
74357
|
function createGroupContext() {
|
|
@@ -77593,6 +77690,7 @@ var init_services = __esm({
|
|
|
77593
77690
|
init_PptxEditorAnimationService();
|
|
77594
77691
|
init_animation_target_reconcile();
|
|
77595
77692
|
init_animation_shape_id_assign();
|
|
77693
|
+
init_connector_shape_id_assign();
|
|
77596
77694
|
init_animation_sound_merge();
|
|
77597
77695
|
init_PptxNativeAnimationService();
|
|
77598
77696
|
init_PptxSlideTransitionService();
|
|
@@ -83809,10 +83907,10 @@ function buildFbse(picture, foDelay, size) {
|
|
|
83809
83907
|
function buildDgg(shapesPerDrawing, totalShapes) {
|
|
83810
83908
|
const drawingCount = shapesPerDrawing.length;
|
|
83811
83909
|
const lastDrawingShapeCount = shapesPerDrawing[drawingCount - 1] ?? 0;
|
|
83812
|
-
const
|
|
83910
|
+
const maxShapeId = drawingCount * SHAPE_ID_CLUSTER_SIZE + lastDrawingShapeCount;
|
|
83813
83911
|
const cidcl = drawingCount + 1;
|
|
83814
83912
|
const cspSaved = totalShapes - drawingCount;
|
|
83815
|
-
const w = new ByteWriter().u32(
|
|
83913
|
+
const w = new ByteWriter().u32(maxShapeId).u32(cidcl).u32(cspSaved).u32(drawingCount);
|
|
83816
83914
|
shapesPerDrawing.forEach((count, i2) => {
|
|
83817
83915
|
const drawingId = i2 + 1;
|
|
83818
83916
|
w.u32(drawingId).u32(count);
|
|
@@ -91986,6 +92084,51 @@ var init_notes_paragraph_scoped_xml = __esm({
|
|
|
91986
92084
|
DEFAULT_END_PARA_RPR = { "@_lang": "en-US" };
|
|
91987
92085
|
}
|
|
91988
92086
|
});
|
|
92087
|
+
function updateEndParagraphProperties(existing, style, serialize) {
|
|
92088
|
+
if (!style?.inheritedRunStyle) {
|
|
92089
|
+
return existing;
|
|
92090
|
+
}
|
|
92091
|
+
const baseline = serialize({ ...style, ...style.inheritedRunStyle, ...style.authoredRunStyle });
|
|
92092
|
+
const current = serialize(style);
|
|
92093
|
+
const attributes = {};
|
|
92094
|
+
const children13 = /* @__PURE__ */ new Map();
|
|
92095
|
+
for (const key2 of /* @__PURE__ */ new Set([...Object.keys(baseline), ...Object.keys(current)])) {
|
|
92096
|
+
if (JSON.stringify(baseline[key2]) === JSON.stringify(current[key2])) {
|
|
92097
|
+
continue;
|
|
92098
|
+
}
|
|
92099
|
+
if (key2.startsWith("@_")) {
|
|
92100
|
+
attributes[key2.slice(2)] = current[key2] === void 0 ? null : String(current[key2]);
|
|
92101
|
+
} else {
|
|
92102
|
+
children13.set(key2, current[key2] ?? null);
|
|
92103
|
+
}
|
|
92104
|
+
}
|
|
92105
|
+
if (Object.keys(attributes).length === 0 && children13.size === 0) {
|
|
92106
|
+
return existing;
|
|
92107
|
+
}
|
|
92108
|
+
const fillKeys = [
|
|
92109
|
+
"a:noFill",
|
|
92110
|
+
"a:solidFill",
|
|
92111
|
+
"a:gradFill",
|
|
92112
|
+
"a:blipFill",
|
|
92113
|
+
"a:pattFill",
|
|
92114
|
+
"a:grpFill"
|
|
92115
|
+
];
|
|
92116
|
+
const changedFill = fillKeys.find((key2) => children13.get(key2));
|
|
92117
|
+
if (changedFill) {
|
|
92118
|
+
for (const key2 of fillKeys) {
|
|
92119
|
+
if (key2 !== changedFill) {
|
|
92120
|
+
children13.set(key2, null);
|
|
92121
|
+
}
|
|
92122
|
+
}
|
|
92123
|
+
}
|
|
92124
|
+
return mergeOrderedXml(existing, attributes, children13, DEF_RPR_CHILD_ORDER);
|
|
92125
|
+
}
|
|
92126
|
+
var init_paragraph_insertion_style = __esm({
|
|
92127
|
+
"src/core/core/runtime/paragraph-insertion-style.ts"() {
|
|
92128
|
+
init_ordered_xml_merge();
|
|
92129
|
+
init_placeholder_level_style_serializer();
|
|
92130
|
+
}
|
|
92131
|
+
});
|
|
91989
92132
|
function stripMarker(run, marker) {
|
|
91990
92133
|
const { [marker]: _drop, ...rest } = run;
|
|
91991
92134
|
return rest;
|
|
@@ -96984,15 +97127,19 @@ var PptxHandlerRuntime13;
|
|
|
96984
97127
|
var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
96985
97128
|
"src/core/core/runtime/PptxHandlerRuntimeSaveParagraphs.ts"() {
|
|
96986
97129
|
init_auto_number_format();
|
|
97130
|
+
init_paragraph_insertion_style();
|
|
96987
97131
|
init_PptxHandlerRuntimeSaveParagraphHelpers();
|
|
96988
97132
|
init_PptxHandlerRuntimeSaveRunProperties();
|
|
96989
97133
|
init_run_scoped_text_style();
|
|
96990
97134
|
PptxHandlerRuntime13 = class extends PptxHandlerRuntime12 {
|
|
96991
97135
|
isRenderedBulletMarker(segment) {
|
|
96992
97136
|
const bullet = segment.bulletInfo;
|
|
96993
|
-
if (!bullet) {
|
|
97137
|
+
if (!bullet || bullet.none) {
|
|
96994
97138
|
return false;
|
|
96995
97139
|
}
|
|
97140
|
+
if (segment.text === "" && (bullet.imageRelId || bullet.imageDataUrl) && !segment.fieldType && !segment.equationXml && segment.rubyText === void 0) {
|
|
97141
|
+
return true;
|
|
97142
|
+
}
|
|
96996
97143
|
if (bullet.autoNumType) {
|
|
96997
97144
|
if (bullet.paragraphIndex === void 0) {
|
|
96998
97145
|
return false;
|
|
@@ -97126,6 +97273,11 @@ var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
|
97126
97273
|
if (segment.endParaRunProperties) {
|
|
97127
97274
|
currentEndParaRunProperties = segment.endParaRunProperties;
|
|
97128
97275
|
}
|
|
97276
|
+
currentEndParaRunProperties = updateEndParagraphProperties(
|
|
97277
|
+
currentEndParaRunProperties,
|
|
97278
|
+
segment.paragraphInsertionStyle,
|
|
97279
|
+
(style) => this.createRunPropertiesFromTextStyle(style, resolveHyperlinkRelationshipId)
|
|
97280
|
+
);
|
|
97129
97281
|
if (segment.paragraphProperties) {
|
|
97130
97282
|
currentParagraphProperties = segment.paragraphProperties;
|
|
97131
97283
|
}
|
|
@@ -97156,7 +97308,10 @@ var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
|
97156
97308
|
currentRuns.push(eqNode);
|
|
97157
97309
|
return;
|
|
97158
97310
|
}
|
|
97159
|
-
const segmentText2 = String(segment.text ?? "");
|
|
97311
|
+
const segmentText2 = segment.isParagraphBreak ? "\n" : String(segment.text ?? "");
|
|
97312
|
+
if (segmentText2 === "" && segment.paragraphInsertionStyle && !segment.fieldType && segment.rubyText === void 0) {
|
|
97313
|
+
return;
|
|
97314
|
+
}
|
|
97160
97315
|
const lineParts = segmentText2.split("\n");
|
|
97161
97316
|
const isSplitProduct = lineParts.length > 1;
|
|
97162
97317
|
lineParts.forEach((linePart, lineIndex) => {
|
|
@@ -97188,7 +97343,7 @@ var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
|
97188
97343
|
}
|
|
97189
97344
|
});
|
|
97190
97345
|
});
|
|
97191
|
-
if (currentRuns.length > 0 || paragraphs.length === 0) {
|
|
97346
|
+
if (currentRuns.length > 0 || paragraphs.length === 0 || capturedParagraphMeta) {
|
|
97192
97347
|
pushParagraph();
|
|
97193
97348
|
}
|
|
97194
97349
|
return paragraphs;
|
|
@@ -97420,17 +97575,20 @@ function classifyGroupChildTag(elementType, xml) {
|
|
|
97420
97575
|
function cloneXmlNode(node) {
|
|
97421
97576
|
return JSON.parse(JSON.stringify(node));
|
|
97422
97577
|
}
|
|
97423
|
-
function buildGroupNonVisualXml(rawGroupXml, modelName, fallbackName) {
|
|
97578
|
+
function buildGroupNonVisualXml(rawGroupXml, modelName, fallbackName, modelShapeId) {
|
|
97424
97579
|
const rawNv = rawGroupXml?.["p:nvGrpSpPr"];
|
|
97425
97580
|
if (!rawNv) {
|
|
97426
97581
|
return {
|
|
97427
|
-
"p:cNvPr": { "@_id": "0", "@_name": modelName ?? fallbackName },
|
|
97582
|
+
"p:cNvPr": { "@_id": modelShapeId ?? "0", "@_name": modelName ?? fallbackName },
|
|
97428
97583
|
"p:cNvGrpSpPr": {},
|
|
97429
97584
|
"p:nvPr": {}
|
|
97430
97585
|
};
|
|
97431
97586
|
}
|
|
97432
97587
|
const nv = cloneXmlNode(rawNv);
|
|
97433
97588
|
const cNvPr = nv["p:cNvPr"] ?? {};
|
|
97589
|
+
if (modelShapeId !== void 0) {
|
|
97590
|
+
cNvPr["@_id"] = modelShapeId;
|
|
97591
|
+
}
|
|
97434
97592
|
if (typeof cNvPr["@_id"] !== "string" || cNvPr["@_id"].length === 0) {
|
|
97435
97593
|
cNvPr["@_id"] = "0";
|
|
97436
97594
|
}
|
|
@@ -97969,7 +98127,10 @@ var init_PptxHandlerRuntimeSaveShapeXml = __esm({
|
|
|
97969
98127
|
*/
|
|
97970
98128
|
buildGroupShapeXml(group2, ctx, ownEmuOverride) {
|
|
97971
98129
|
if (group2.rawXml && group2.children.length === 0) {
|
|
97972
|
-
return
|
|
98130
|
+
return {
|
|
98131
|
+
...group2.rawXml,
|
|
98132
|
+
"p:nvGrpSpPr": buildGroupNonVisualXml(group2.rawXml, group2.name, group2.id, group2.shapeId)
|
|
98133
|
+
};
|
|
97973
98134
|
}
|
|
97974
98135
|
const EMU = _PptxHandlerRuntime.EMU_PER_PX;
|
|
97975
98136
|
const rawGroupXml = group2.rawXml;
|
|
@@ -97977,7 +98138,7 @@ var init_PptxHandlerRuntimeSaveShapeXml = __esm({
|
|
|
97977
98138
|
const xfrm = buildGroupTransformXml(group2, EMU, ownEmuOverride, rewrap);
|
|
97978
98139
|
const childSpace = group2;
|
|
97979
98140
|
const grpXml2 = {
|
|
97980
|
-
"p:nvGrpSpPr": buildGroupNonVisualXml(rawGroupXml, group2.name, group2.id),
|
|
98141
|
+
"p:nvGrpSpPr": buildGroupNonVisualXml(rawGroupXml, group2.name, group2.id, group2.shapeId),
|
|
97981
98142
|
"p:grpSpPr": buildGroupPropertiesXml(rawGroupXml, xfrm)
|
|
97982
98143
|
};
|
|
97983
98144
|
const rawExtLst = rawGroupXml?.["p:extLst"];
|
|
@@ -106812,6 +106973,7 @@ var init_template_group_node = __esm({
|
|
|
106812
106973
|
var PptxHandlerRuntime41;
|
|
106813
106974
|
var init_PptxHandlerRuntimeSaveElementWriter = __esm({
|
|
106814
106975
|
"src/core/core/runtime/PptxHandlerRuntimeSaveElementWriter.ts"() {
|
|
106976
|
+
init_services();
|
|
106815
106977
|
init_types();
|
|
106816
106978
|
init_chart_color_style_writer();
|
|
106817
106979
|
init_chart_cx_generator();
|
|
@@ -107344,6 +107506,9 @@ var init_PptxHandlerRuntimeSaveElementWriter = __esm({
|
|
|
107344
107506
|
);
|
|
107345
107507
|
}
|
|
107346
107508
|
this.applyDataSerialization(shape, el, ctx.slide.id);
|
|
107509
|
+
if (ctx.connectorShapeIds) {
|
|
107510
|
+
applyConnectorShapeIds(shape, el, ctx.connectorShapeIds);
|
|
107511
|
+
}
|
|
107347
107512
|
this.serializeElementActions(shape, el, ctx.resolveHyperlinkRelationshipId);
|
|
107348
107513
|
this.serializeShapeLocks(shape, el);
|
|
107349
107514
|
this.applyHiddenToCnvPr(shape, el);
|
|
@@ -108282,6 +108447,7 @@ var init_PptxHandlerRuntimeSaveSlideWriter = __esm({
|
|
|
108282
108447
|
zooms: []
|
|
108283
108448
|
};
|
|
108284
108449
|
const ctx = {
|
|
108450
|
+
connectorShapeIds: resolveConnectorShapeIds(slide.elements, this.maxCnvPrId(spTree)),
|
|
108285
108451
|
slide,
|
|
108286
108452
|
slideRelationships,
|
|
108287
108453
|
slideRelationshipRegistry,
|
|
@@ -109079,7 +109245,7 @@ function asObjects3(value) {
|
|
|
109079
109245
|
return isXmlObject9(value) ? [value] : [];
|
|
109080
109246
|
}
|
|
109081
109247
|
function rememberTemplateSpTreePositions(runtime, partPath, spTree, positionOf) {
|
|
109082
|
-
const
|
|
109248
|
+
const positions2 = /* @__PURE__ */ new Map();
|
|
109083
109249
|
for (const [key2, value] of Object.entries(spTree)) {
|
|
109084
109250
|
if (!SHAPE_TREE_ELEMENT_TAGS.has(key2) && key2 !== ALTERNATE_CONTENT_TAG3) {
|
|
109085
109251
|
continue;
|
|
@@ -109087,7 +109253,7 @@ function rememberTemplateSpTreePositions(runtime, partPath, spTree, positionOf)
|
|
|
109087
109253
|
for (const node of asObjects3(value)) {
|
|
109088
109254
|
const position2 = positionOf(node);
|
|
109089
109255
|
if (position2 !== void 0) {
|
|
109090
|
-
|
|
109256
|
+
positions2.set(node, position2);
|
|
109091
109257
|
}
|
|
109092
109258
|
}
|
|
109093
109259
|
}
|
|
@@ -109096,7 +109262,7 @@ function rememberTemplateSpTreePositions(runtime, partPath, spTree, positionOf)
|
|
|
109096
109262
|
byPart = /* @__PURE__ */ new Map();
|
|
109097
109263
|
positionsByRuntime.set(runtime, byPart);
|
|
109098
109264
|
}
|
|
109099
|
-
byPart.set(partPath,
|
|
109265
|
+
byPart.set(partPath, positions2);
|
|
109100
109266
|
}
|
|
109101
109267
|
function withReplacedChild(container, tag, indexInType, replacement) {
|
|
109102
109268
|
const existing = container[tag];
|
|
@@ -109125,17 +109291,17 @@ function orderContainer(container, plan, getLocalName2) {
|
|
|
109125
109291
|
working = withReplacedChild(working, entry2.tag, entry2.indexInType, ordered4);
|
|
109126
109292
|
}
|
|
109127
109293
|
}
|
|
109128
|
-
const
|
|
109294
|
+
const positions2 = /* @__PURE__ */ new Map();
|
|
109129
109295
|
plan.forEach((entry2, position2) => {
|
|
109130
109296
|
const node = asObjects3(working[entry2.tag])[entry2.indexInType];
|
|
109131
|
-
if (node && !
|
|
109132
|
-
|
|
109297
|
+
if (node && !positions2.has(node)) {
|
|
109298
|
+
positions2.set(node, position2);
|
|
109133
109299
|
}
|
|
109134
109300
|
});
|
|
109135
|
-
if (
|
|
109301
|
+
if (positions2.size === 0) {
|
|
109136
109302
|
return working;
|
|
109137
109303
|
}
|
|
109138
|
-
return orderShapeTreeChildren(working, (node) =>
|
|
109304
|
+
return orderShapeTreeChildren(working, (node) => positions2.get(node), getLocalName2);
|
|
109139
109305
|
}
|
|
109140
109306
|
function orderedTemplatePartXml(options) {
|
|
109141
109307
|
const {
|
|
@@ -109187,6 +109353,7 @@ var shapeIdValidator2;
|
|
|
109187
109353
|
var PptxHandlerRuntime46;
|
|
109188
109354
|
var init_PptxHandlerRuntimeSaveMasterElements = __esm({
|
|
109189
109355
|
"src/core/core/runtime/PptxHandlerRuntimeSaveMasterElements.ts"() {
|
|
109356
|
+
init_services();
|
|
109190
109357
|
init_builders();
|
|
109191
109358
|
init_auxiliary_master_node_cache();
|
|
109192
109359
|
init_master_part_element_signature();
|
|
@@ -109276,6 +109443,7 @@ var init_PptxHandlerRuntimeSaveMasterElements = __esm({
|
|
|
109276
109443
|
elements: elements2
|
|
109277
109444
|
};
|
|
109278
109445
|
const ctx = {
|
|
109446
|
+
connectorShapeIds: resolveConnectorShapeIds(elements2, this.maxCnvPrId(spTree)),
|
|
109279
109447
|
slide,
|
|
109280
109448
|
slideRelationships: relationships,
|
|
109281
109449
|
slideRelationshipRegistry: relationshipRegistry,
|
|
@@ -113267,6 +113435,15 @@ var init_PptxHandlerRuntimeShapeParagraphContentParsing = __esm({
|
|
|
113267
113435
|
...endParaRPrRaw
|
|
113268
113436
|
};
|
|
113269
113437
|
}
|
|
113438
|
+
if (entries.length === 0) {
|
|
113439
|
+
segments[firstSegmentIndex].paragraphInsertionStyle = withAuthoredSplit(
|
|
113440
|
+
endParaRPrRaw && typeof endParaRPrRaw === "object" ? this.extractTextRunStyle(
|
|
113441
|
+
endParaRPrRaw,
|
|
113442
|
+
paraAlign,
|
|
113443
|
+
ctx.slideRelationshipMap
|
|
113444
|
+
) : {}
|
|
113445
|
+
);
|
|
113446
|
+
}
|
|
113270
113447
|
const basisFontSize = typeof mergedDefaultRunStyle.fontSize === "number" ? mergedDefaultRunStyle.fontSize : void 0;
|
|
113271
113448
|
const paragraphOwnProps = this.extractParagraphOwnProperties(p, basisFontSize);
|
|
113272
113449
|
if (paragraphOwnProps) {
|
|
@@ -113686,6 +113863,7 @@ var init_PptxHandlerRuntimeShapeParsing = __esm({
|
|
|
113686
113863
|
skewY,
|
|
113687
113864
|
flipHorizontal,
|
|
113688
113865
|
flipVertical,
|
|
113866
|
+
inheritedTransform: !spPr?.["a:xfrm"] && xfrm && off && ext ? { x, y, width, height, rotation, skewX, skewY, flipHorizontal, flipVertical } : void 0,
|
|
113689
113867
|
actionClick,
|
|
113690
113868
|
actionHover,
|
|
113691
113869
|
locks,
|
|
@@ -113774,6 +113952,7 @@ var init_PptxHandlerRuntimePictureParsing = __esm({
|
|
|
113774
113952
|
const skewX = xfrm["@_skewX"] ? parseEmuInt2(xfrm["@_skewX"]) / 6e4 : void 0;
|
|
113775
113953
|
const skewY = xfrm["@_skewY"] ? parseEmuInt2(xfrm["@_skewY"]) / 6e4 : void 0;
|
|
113776
113954
|
const { flipHorizontal, flipVertical } = this.readFlipState(xfrm);
|
|
113955
|
+
const inheritedTransform = !spPr?.["a:xfrm"] && off && ext ? { x, y, width, height, rotation, skewX, skewY, flipHorizontal, flipVertical } : void 0;
|
|
113777
113956
|
const nvPr = pic?.["p:nvPicPr"]?.["p:nvPr"];
|
|
113778
113957
|
const mediaReference = parseDrawingMediaReference(nvPr, this.externalRelsMap.get(slidePath));
|
|
113779
113958
|
if (mediaReference) {
|
|
@@ -113834,6 +114013,7 @@ var init_PptxHandlerRuntimePictureParsing = __esm({
|
|
|
113834
114013
|
return {
|
|
113835
114014
|
id,
|
|
113836
114015
|
type: "media",
|
|
114016
|
+
inheritedTransform,
|
|
113837
114017
|
x,
|
|
113838
114018
|
y,
|
|
113839
114019
|
width,
|
|
@@ -114042,6 +114222,7 @@ var init_PptxHandlerRuntimePictureParsing = __esm({
|
|
|
114042
114222
|
id,
|
|
114043
114223
|
name: picElementName || void 0,
|
|
114044
114224
|
type: "picture",
|
|
114225
|
+
inheritedTransform,
|
|
114045
114226
|
x,
|
|
114046
114227
|
y,
|
|
114047
114228
|
width,
|
|
@@ -116378,6 +116559,7 @@ var init_PptxHandlerRuntimeMasterElements = __esm({
|
|
|
116378
116559
|
var PptxHandlerRuntime77;
|
|
116379
116560
|
var init_PptxHandlerRuntimeAuxiliaryMasterElements = __esm({
|
|
116380
116561
|
"src/core/core/runtime/PptxHandlerRuntimeAuxiliaryMasterElements.ts"() {
|
|
116562
|
+
init_services();
|
|
116381
116563
|
init_auxiliary_master_node_cache();
|
|
116382
116564
|
init_master_part_background_cache();
|
|
116383
116565
|
init_master_part_element_signature();
|
|
@@ -116435,6 +116617,7 @@ var init_PptxHandlerRuntimeAuxiliaryMasterElements = __esm({
|
|
|
116435
116617
|
} finally {
|
|
116436
116618
|
this.currentSlideClrMapOverride = previousClrMapOverride;
|
|
116437
116619
|
}
|
|
116620
|
+
reconcileAnimationTargets(part.elements, void 0, void 0);
|
|
116438
116621
|
rememberMasterPartElementSignature(this, partPath, part.elements);
|
|
116439
116622
|
this.rememberUnparsedMasterNodes(partPath, spTree, part.elements);
|
|
116440
116623
|
}
|
|
@@ -153024,21 +153207,21 @@ function categoryX3(value, count, layout, mode) {
|
|
|
153024
153207
|
}
|
|
153025
153208
|
return layout.plotLeft + value / Math.max(count - 1, 1) * layout.plotWidth;
|
|
153026
153209
|
}
|
|
153027
|
-
function positionedCategoryX(value,
|
|
153028
|
-
if (!
|
|
153210
|
+
function positionedCategoryX(value, positions2, fallback) {
|
|
153211
|
+
if (!positions2 || positions2.length === 0) {
|
|
153029
153212
|
return fallback(value);
|
|
153030
153213
|
}
|
|
153031
153214
|
const lower = Math.floor(value);
|
|
153032
153215
|
const upper = Math.ceil(value);
|
|
153033
153216
|
const at = (index) => {
|
|
153034
|
-
if (
|
|
153035
|
-
return
|
|
153217
|
+
if (positions2[index] !== void 0) {
|
|
153218
|
+
return positions2[index];
|
|
153036
153219
|
}
|
|
153037
|
-
const lastIndex =
|
|
153038
|
-
const last =
|
|
153039
|
-
const beforeLast = lastIndex > 0 ?
|
|
153220
|
+
const lastIndex = positions2.length - 1;
|
|
153221
|
+
const last = positions2[lastIndex] ?? 0;
|
|
153222
|
+
const beforeLast = lastIndex > 0 ? positions2[lastIndex - 1] ?? positions2[0] ?? 0 : positions2[0] ?? 0;
|
|
153040
153223
|
const gap = last - beforeLast;
|
|
153041
|
-
return last + gap * (index -
|
|
153224
|
+
return last + gap * (index - positions2.length + 1);
|
|
153042
153225
|
};
|
|
153043
153226
|
return at(lower) + (at(upper) - at(lower)) * (value - lower);
|
|
153044
153227
|
}
|
|
@@ -174956,16 +175139,580 @@ function resolveParagraphIndent(paraIndent, paragraphLevel) {
|
|
|
174956
175139
|
}
|
|
174957
175140
|
return { marginLeftPx: marginLeft, textIndentPx: textIndent };
|
|
174958
175141
|
}
|
|
175142
|
+
var DEFAULT_BULLET_CHAR = "\u2022";
|
|
175143
|
+
var DEFAULT_AUTONUM_TYPE = "arabicPeriod";
|
|
175144
|
+
function bulletInfoForKind(kind, ordinal = 0) {
|
|
175145
|
+
if (kind === "none") {
|
|
175146
|
+
return { none: true };
|
|
175147
|
+
}
|
|
175148
|
+
if (kind === "bullet") {
|
|
175149
|
+
return { char: DEFAULT_BULLET_CHAR };
|
|
175150
|
+
}
|
|
175151
|
+
return { autoNumType: DEFAULT_AUTONUM_TYPE, autoNumStartAt: 1, paragraphIndex: ordinal };
|
|
175152
|
+
}
|
|
174959
175153
|
function isBulletMarkerSegment(segment) {
|
|
174960
|
-
const
|
|
174961
|
-
if (!
|
|
175154
|
+
const info = segment.bulletInfo;
|
|
175155
|
+
if (!info || info.none || segment.fieldType || segment.isLineBreak) {
|
|
174962
175156
|
return false;
|
|
174963
175157
|
}
|
|
174964
|
-
|
|
174965
|
-
if (!resolved) {
|
|
175158
|
+
if (!info.char && !info.autoNumType && !info.imageRelId && !info.imageDataUrl && !info.imageBlipFillXml) {
|
|
174966
175159
|
return false;
|
|
174967
175160
|
}
|
|
174968
|
-
|
|
175161
|
+
if (info.autoNumType) {
|
|
175162
|
+
if (info.paragraphIndex === void 0) {
|
|
175163
|
+
return false;
|
|
175164
|
+
}
|
|
175165
|
+
const marker = markerText(info);
|
|
175166
|
+
return segment.text === marker || segment.text === `${marker} `;
|
|
175167
|
+
}
|
|
175168
|
+
return segment.text === markerText(info);
|
|
175169
|
+
}
|
|
175170
|
+
function paragraphBulletKind(paragraph) {
|
|
175171
|
+
const resolved = resolveParagraphBullet(paragraph[0]);
|
|
175172
|
+
return resolved ? resolved.isNumbered ? "numbered" : "bullet" : "none";
|
|
175173
|
+
}
|
|
175174
|
+
function withoutListType(style) {
|
|
175175
|
+
const next = { ...style };
|
|
175176
|
+
delete next.listType;
|
|
175177
|
+
return next;
|
|
175178
|
+
}
|
|
175179
|
+
function markerText(info) {
|
|
175180
|
+
if (info.imageRelId || info.imageDataUrl || info.imageBlipFillXml) {
|
|
175181
|
+
return "\u{1F4CE} ";
|
|
175182
|
+
}
|
|
175183
|
+
if (info.autoNumType) {
|
|
175184
|
+
return formatAutoNumberMarker(
|
|
175185
|
+
info.autoNumType,
|
|
175186
|
+
Math.max(1, (info.autoNumStartAt ?? 1) + (info.paragraphIndex ?? 0))
|
|
175187
|
+
);
|
|
175188
|
+
}
|
|
175189
|
+
return `${info.char ?? DEFAULT_BULLET_CHAR} `;
|
|
175190
|
+
}
|
|
175191
|
+
function infoForParagraph(previous, kind, ordinal) {
|
|
175192
|
+
if (kind === "none") {
|
|
175193
|
+
return { ...previous, none: true };
|
|
175194
|
+
}
|
|
175195
|
+
const sameKind = previous && (kind === "numbered" ? Boolean(previous.autoNumType) : Boolean(
|
|
175196
|
+
previous.char || previous.imageRelId || previous.imageDataUrl || previous.imageBlipFillXml
|
|
175197
|
+
) && !previous.autoNumType);
|
|
175198
|
+
const info = sameKind ? { ...previous } : bulletInfoForKind(kind, ordinal);
|
|
175199
|
+
delete info.none;
|
|
175200
|
+
if (kind === "numbered" && ordinal !== void 0) {
|
|
175201
|
+
info.paragraphIndex = ordinal;
|
|
175202
|
+
}
|
|
175203
|
+
return info;
|
|
175204
|
+
}
|
|
175205
|
+
function toggleParagraphBullet(paragraph, kind, ordinal) {
|
|
175206
|
+
const source = paragraph[0];
|
|
175207
|
+
if (!source) {
|
|
175208
|
+
return [];
|
|
175209
|
+
}
|
|
175210
|
+
if (paragraph.length === 1 && source.paragraphInsertionStyle && (source.text === "" || isBulletMarkerSegment(source))) {
|
|
175211
|
+
const info2 = infoForParagraph(source.bulletInfo, kind, ordinal);
|
|
175212
|
+
const picture = info2.imageRelId || info2.imageDataUrl || info2.imageBlipFillXml;
|
|
175213
|
+
return [
|
|
175214
|
+
{
|
|
175215
|
+
...source,
|
|
175216
|
+
text: kind === "none" || picture ? "" : markerText(info2),
|
|
175217
|
+
style: withoutListType(source.style),
|
|
175218
|
+
bulletInfo: info2
|
|
175219
|
+
}
|
|
175220
|
+
];
|
|
175221
|
+
}
|
|
175222
|
+
const content = isBulletMarkerSegment(source) ? paragraph.slice(1) : [...paragraph];
|
|
175223
|
+
const first = content[0] ?? { text: "", style: source.style };
|
|
175224
|
+
const meta = {
|
|
175225
|
+
...source.paragraphLevel !== void 0 ? { paragraphLevel: source.paragraphLevel } : {},
|
|
175226
|
+
...source.paragraphProperties ? { paragraphProperties: source.paragraphProperties } : {},
|
|
175227
|
+
...source.endParaRunProperties ? { endParaRunProperties: source.endParaRunProperties } : {},
|
|
175228
|
+
...source.paragraphInsertionStyle ? { paragraphInsertionStyle: source.paragraphInsertionStyle } : {}
|
|
175229
|
+
};
|
|
175230
|
+
const info = infoForParagraph(source.bulletInfo, kind, ordinal);
|
|
175231
|
+
const body = { ...first, ...meta, style: withoutListType(first.style) };
|
|
175232
|
+
const rest = content.slice(1).map((segment) => {
|
|
175233
|
+
if (!segment.bulletInfo) {
|
|
175234
|
+
return segment;
|
|
175235
|
+
}
|
|
175236
|
+
const run = { ...segment };
|
|
175237
|
+
delete run.bulletInfo;
|
|
175238
|
+
return run;
|
|
175239
|
+
});
|
|
175240
|
+
if (kind === "none" || info.imageRelId || info.imageDataUrl || info.imageBlipFillXml) {
|
|
175241
|
+
return [{ ...body, bulletInfo: info }, ...rest];
|
|
175242
|
+
}
|
|
175243
|
+
delete body.bulletInfo;
|
|
175244
|
+
delete body.paragraphInsertionStyle;
|
|
175245
|
+
const markerStyle = isBulletMarkerSegment(source) && paragraphBulletKind([source]) === kind ? source.style : first.style;
|
|
175246
|
+
return [
|
|
175247
|
+
{ text: markerText(info), style: withoutListType(markerStyle), ...meta, bulletInfo: info },
|
|
175248
|
+
body,
|
|
175249
|
+
...rest
|
|
175250
|
+
];
|
|
175251
|
+
}
|
|
175252
|
+
function elementSegments(element) {
|
|
175253
|
+
if (!hasTextProperties(element)) {
|
|
175254
|
+
return [];
|
|
175255
|
+
}
|
|
175256
|
+
if (element.textSegments?.length) {
|
|
175257
|
+
return element.textSegments;
|
|
175258
|
+
}
|
|
175259
|
+
return (element.text ?? "").split("\n").flatMap((text22, index) => [
|
|
175260
|
+
...index ? [{ text: "\n", style: { ...element.textStyle }, isParagraphBreak: true }] : [],
|
|
175261
|
+
{ text: text22, style: { ...element.textStyle } }
|
|
175262
|
+
]);
|
|
175263
|
+
}
|
|
175264
|
+
function splitParagraphs2(segments) {
|
|
175265
|
+
const paragraphs = [
|
|
175266
|
+
{ segments: [] }
|
|
175267
|
+
];
|
|
175268
|
+
for (const segment of segments) {
|
|
175269
|
+
if (isParagraphSeparatorSegment(segment)) {
|
|
175270
|
+
paragraphs[paragraphs.length - 1].terminator = segment;
|
|
175271
|
+
paragraphs.push({ segments: [] });
|
|
175272
|
+
} else {
|
|
175273
|
+
paragraphs[paragraphs.length - 1].segments.push(segment);
|
|
175274
|
+
}
|
|
175275
|
+
}
|
|
175276
|
+
return paragraphs;
|
|
175277
|
+
}
|
|
175278
|
+
function elementBulletKind(element) {
|
|
175279
|
+
for (const paragraph of splitParagraphs2(elementSegments(element))) {
|
|
175280
|
+
if (paragraph.segments.length) {
|
|
175281
|
+
return paragraphBulletKind(paragraph.segments);
|
|
175282
|
+
}
|
|
175283
|
+
}
|
|
175284
|
+
return "none";
|
|
175285
|
+
}
|
|
175286
|
+
function setElementBullets(element, kind, range) {
|
|
175287
|
+
if (!hasTextProperties(element)) {
|
|
175288
|
+
return {};
|
|
175289
|
+
}
|
|
175290
|
+
if (range && (!Number.isInteger(range.startParagraph) || !Number.isInteger(range.endParagraph) || range.startParagraph < 0 || range.endParagraph < range.startParagraph)) {
|
|
175291
|
+
return {};
|
|
175292
|
+
}
|
|
175293
|
+
const paragraphs = splitParagraphs2(elementSegments(element));
|
|
175294
|
+
if (range && range.startParagraph >= paragraphs.length) {
|
|
175295
|
+
return {};
|
|
175296
|
+
}
|
|
175297
|
+
const next = [];
|
|
175298
|
+
const sequence = createAutoNumberSequence();
|
|
175299
|
+
for (const [index, paragraph] of paragraphs.entries()) {
|
|
175300
|
+
const selected = !range || index >= range.startParagraph && index <= range.endParagraph;
|
|
175301
|
+
let segments = paragraph.segments;
|
|
175302
|
+
if (selected) {
|
|
175303
|
+
const empty = {
|
|
175304
|
+
...paragraph.terminator,
|
|
175305
|
+
text: "",
|
|
175306
|
+
style: { ...paragraph.terminator?.style }
|
|
175307
|
+
};
|
|
175308
|
+
delete empty.isParagraphBreak;
|
|
175309
|
+
delete empty.isLineBreak;
|
|
175310
|
+
segments = toggleParagraphBullet(segments.length ? segments : [empty], kind);
|
|
175311
|
+
}
|
|
175312
|
+
const first = segments[0] ?? paragraph.terminator;
|
|
175313
|
+
const info = first?.bulletInfo;
|
|
175314
|
+
const level = first?.paragraphLevel ?? 0;
|
|
175315
|
+
if (info?.autoNumType && paragraphBulletKind(segments) === "numbered") {
|
|
175316
|
+
const startAt = info.autoNumStartAt ?? 1;
|
|
175317
|
+
const ordinal = nextAutoNumber(sequence, level, info.autoNumType, startAt) - startAt;
|
|
175318
|
+
if (info.paragraphIndex !== ordinal) {
|
|
175319
|
+
segments = toggleParagraphBullet(segments, "numbered", ordinal);
|
|
175320
|
+
}
|
|
175321
|
+
} else {
|
|
175322
|
+
breakAutoNumberRun(sequence, level);
|
|
175323
|
+
}
|
|
175324
|
+
next.push(...segments);
|
|
175325
|
+
if (paragraph.terminator) {
|
|
175326
|
+
next.push(paragraph.terminator);
|
|
175327
|
+
}
|
|
175328
|
+
}
|
|
175329
|
+
return {
|
|
175330
|
+
textSegments: next,
|
|
175331
|
+
textStyle: withoutListType(element.textStyle)
|
|
175332
|
+
};
|
|
175333
|
+
}
|
|
175334
|
+
function updateTextSegmentStyle(segment, updates, options = {}) {
|
|
175335
|
+
return {
|
|
175336
|
+
...segment,
|
|
175337
|
+
...options.updateBodyStyle === false ? {} : { style: { ...segment.style, ...updates } },
|
|
175338
|
+
...segment.paragraphInsertionStyle ? { paragraphInsertionStyle: { ...segment.paragraphInsertionStyle, ...updates } } : {}
|
|
175339
|
+
};
|
|
175340
|
+
}
|
|
175341
|
+
function getInlineEditorSelection(segments) {
|
|
175342
|
+
if (!segments?.length) {
|
|
175343
|
+
return null;
|
|
175344
|
+
}
|
|
175345
|
+
const selection = window.getSelection();
|
|
175346
|
+
if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {
|
|
175347
|
+
return null;
|
|
175348
|
+
}
|
|
175349
|
+
const range = selection.getRangeAt(0);
|
|
175350
|
+
const editor = findEditorContainer(range.startContainer);
|
|
175351
|
+
if (!editor || !editor.contains(range.endContainer) || range.toString().length === 0) {
|
|
175352
|
+
return null;
|
|
175353
|
+
}
|
|
175354
|
+
const start = getSegmentPosition(editor, range.startContainer, range.startOffset, segments);
|
|
175355
|
+
const end = getSegmentPosition(editor, range.endContainer, range.endOffset, segments);
|
|
175356
|
+
if (!start || !end) {
|
|
175357
|
+
return null;
|
|
175358
|
+
}
|
|
175359
|
+
const renderedSpans = Array.from(editor.querySelectorAll("[data-seg-idx]"));
|
|
175360
|
+
const startSpanIndex = renderedSpans.indexOf(start.span);
|
|
175361
|
+
const endSpanIndex = renderedSpans.indexOf(end.span);
|
|
175362
|
+
if (startSpanIndex < 0 || endSpanIndex < startSpanIndex) {
|
|
175363
|
+
return null;
|
|
175364
|
+
}
|
|
175365
|
+
const selectedSpans = renderedSpans.slice(startSpanIndex, endSpanIndex + 1);
|
|
175366
|
+
const first = selectedSpans.find(
|
|
175367
|
+
(span) => isEditableSpan(span, segments) && (span !== start.span || start.offset < start.textLength)
|
|
175368
|
+
);
|
|
175369
|
+
const last = [...selectedSpans].reverse().find((span) => isEditableSpan(span, segments) && (span !== end.span || end.offset > 0));
|
|
175370
|
+
if (!first || !last) {
|
|
175371
|
+
return null;
|
|
175372
|
+
}
|
|
175373
|
+
return {
|
|
175374
|
+
startSegIdx: getSegmentIndex(first),
|
|
175375
|
+
startOffset: first === start.span ? start.offset : 0,
|
|
175376
|
+
endSegIdx: getSegmentIndex(last),
|
|
175377
|
+
endOffset: last === end.span ? end.offset : last.textContent?.length ?? 0
|
|
175378
|
+
};
|
|
175379
|
+
}
|
|
175380
|
+
function isEditableSpan(span, segments) {
|
|
175381
|
+
const segment = segments[getSegmentIndex(span)];
|
|
175382
|
+
return Boolean(
|
|
175383
|
+
segment && !segment.isParagraphBreak && segment.text !== "\n" && !isBulletMarkerSegment(segment) && (span.textContent?.length ?? 0) > 0
|
|
175384
|
+
);
|
|
175385
|
+
}
|
|
175386
|
+
function getSegmentIndex(span) {
|
|
175387
|
+
return Number(span.getAttribute("data-seg-idx"));
|
|
175388
|
+
}
|
|
175389
|
+
function findEditorContainer(node) {
|
|
175390
|
+
const element = node.nodeType === Node.ELEMENT_NODE ? node : node.parentElement;
|
|
175391
|
+
return element?.closest("[data-inline-editor]") ?? null;
|
|
175392
|
+
}
|
|
175393
|
+
function getSegmentPosition(editor, node, offset, segments) {
|
|
175394
|
+
const element = node.nodeType === Node.ELEMENT_NODE ? node : node.parentElement;
|
|
175395
|
+
const span = element?.closest("[data-seg-idx]");
|
|
175396
|
+
if (!span || !editor.contains(span)) {
|
|
175397
|
+
return null;
|
|
175398
|
+
}
|
|
175399
|
+
const segIdx = getSegmentIndex(span);
|
|
175400
|
+
if (!Number.isInteger(segIdx) || segIdx < 0 || segIdx >= segments.length) {
|
|
175401
|
+
return null;
|
|
175402
|
+
}
|
|
175403
|
+
return {
|
|
175404
|
+
segIdx,
|
|
175405
|
+
offset: getTextOffsetWithin(span, node, offset),
|
|
175406
|
+
span,
|
|
175407
|
+
textLength: span.textContent?.length ?? 0
|
|
175408
|
+
};
|
|
175409
|
+
}
|
|
175410
|
+
function getTextOffsetWithin(container, targetNode, targetOffset) {
|
|
175411
|
+
if (targetNode === container || targetNode.nodeType === Node.ELEMENT_NODE) {
|
|
175412
|
+
const parent = targetNode === container ? container : targetNode;
|
|
175413
|
+
let count = 0;
|
|
175414
|
+
for (let index = 0; index < targetOffset && index < parent.childNodes.length; index++) {
|
|
175415
|
+
count += parent.childNodes[index].textContent?.length ?? 0;
|
|
175416
|
+
}
|
|
175417
|
+
return count;
|
|
175418
|
+
}
|
|
175419
|
+
const walker = document.createTreeWalker(container, NodeFilter.SHOW_TEXT);
|
|
175420
|
+
let charCount = 0;
|
|
175421
|
+
let node;
|
|
175422
|
+
while (node = walker.nextNode()) {
|
|
175423
|
+
if (node === targetNode) {
|
|
175424
|
+
return charCount + targetOffset;
|
|
175425
|
+
}
|
|
175426
|
+
charCount += node.length;
|
|
175427
|
+
}
|
|
175428
|
+
return charCount;
|
|
175429
|
+
}
|
|
175430
|
+
var pendingRestore = null;
|
|
175431
|
+
function setPendingSelectionRestore(sel) {
|
|
175432
|
+
pendingRestore = sel;
|
|
175433
|
+
}
|
|
175434
|
+
function getPendingSelectionRestore() {
|
|
175435
|
+
const sel = pendingRestore;
|
|
175436
|
+
pendingRestore = null;
|
|
175437
|
+
return sel;
|
|
175438
|
+
}
|
|
175439
|
+
function applyStyleToSelectedSegments(segments, selection, updates) {
|
|
175440
|
+
const { startSegIdx, startOffset, endSegIdx, endOffset } = selection;
|
|
175441
|
+
const result = [];
|
|
175442
|
+
let newStartSegIdx = -1;
|
|
175443
|
+
let newStartOffset = 0;
|
|
175444
|
+
let newEndSegIdx = -1;
|
|
175445
|
+
let newEndOffset = 0;
|
|
175446
|
+
for (let i2 = 0; i2 < segments.length; i2++) {
|
|
175447
|
+
const seg = i2 >= startSegIdx && i2 <= endSegIdx ? updateTextSegmentStyle(segments[i2], updates, { updateBodyStyle: false }) : segments[i2];
|
|
175448
|
+
if (seg.isParagraphBreak || seg.text === "\n") {
|
|
175449
|
+
result.push({ ...seg, style: { ...seg.style } });
|
|
175450
|
+
continue;
|
|
175451
|
+
}
|
|
175452
|
+
if (i2 < startSegIdx) {
|
|
175453
|
+
result.push({ ...seg, style: { ...seg.style } });
|
|
175454
|
+
continue;
|
|
175455
|
+
}
|
|
175456
|
+
if (i2 > endSegIdx) {
|
|
175457
|
+
result.push({ ...seg, style: { ...seg.style } });
|
|
175458
|
+
continue;
|
|
175459
|
+
}
|
|
175460
|
+
if (seg.paragraphInsertionStyle && (seg.text === "" || isBulletMarkerSegment(seg))) {
|
|
175461
|
+
newStartSegIdx = newStartSegIdx < 0 ? result.length : newStartSegIdx;
|
|
175462
|
+
newEndSegIdx = result.length;
|
|
175463
|
+
result.push(seg);
|
|
175464
|
+
continue;
|
|
175465
|
+
}
|
|
175466
|
+
if (i2 === startSegIdx && i2 === endSegIdx) {
|
|
175467
|
+
splitSingle(seg, startOffset, endOffset, updates, result);
|
|
175468
|
+
const partsAdded = (startOffset > 0 ? 1 : 0) + 1 + (endOffset < seg.text.length ? 1 : 0);
|
|
175469
|
+
const selectedPartIdx = result.length - partsAdded + (startOffset > 0 ? 1 : 0);
|
|
175470
|
+
newStartSegIdx = selectedPartIdx;
|
|
175471
|
+
newStartOffset = 0;
|
|
175472
|
+
newEndSegIdx = selectedPartIdx;
|
|
175473
|
+
newEndOffset = endOffset - startOffset;
|
|
175474
|
+
continue;
|
|
175475
|
+
}
|
|
175476
|
+
if (i2 === startSegIdx) {
|
|
175477
|
+
if (startOffset === 0) {
|
|
175478
|
+
newStartSegIdx = result.length;
|
|
175479
|
+
newStartOffset = 0;
|
|
175480
|
+
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
175481
|
+
} else {
|
|
175482
|
+
const beforeSeg = {
|
|
175483
|
+
text: seg.text.slice(0, startOffset),
|
|
175484
|
+
style: { ...seg.style }
|
|
175485
|
+
};
|
|
175486
|
+
if (seg.bulletInfo) {
|
|
175487
|
+
beforeSeg.bulletInfo = seg.bulletInfo;
|
|
175488
|
+
}
|
|
175489
|
+
result.push(beforeSeg);
|
|
175490
|
+
newStartSegIdx = result.length;
|
|
175491
|
+
newStartOffset = 0;
|
|
175492
|
+
result.push({
|
|
175493
|
+
text: seg.text.slice(startOffset),
|
|
175494
|
+
style: { ...seg.style, ...updates }
|
|
175495
|
+
});
|
|
175496
|
+
}
|
|
175497
|
+
continue;
|
|
175498
|
+
}
|
|
175499
|
+
if (i2 === endSegIdx) {
|
|
175500
|
+
if (endOffset >= seg.text.length) {
|
|
175501
|
+
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
175502
|
+
newEndSegIdx = result.length - 1;
|
|
175503
|
+
newEndOffset = seg.text.length;
|
|
175504
|
+
} else {
|
|
175505
|
+
result.push({
|
|
175506
|
+
text: seg.text.slice(0, endOffset),
|
|
175507
|
+
style: { ...seg.style, ...updates }
|
|
175508
|
+
});
|
|
175509
|
+
newEndSegIdx = result.length - 1;
|
|
175510
|
+
newEndOffset = endOffset;
|
|
175511
|
+
result.push({
|
|
175512
|
+
text: seg.text.slice(endOffset),
|
|
175513
|
+
style: { ...seg.style }
|
|
175514
|
+
});
|
|
175515
|
+
}
|
|
175516
|
+
continue;
|
|
175517
|
+
}
|
|
175518
|
+
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
175519
|
+
}
|
|
175520
|
+
return {
|
|
175521
|
+
newSegments: result,
|
|
175522
|
+
newSelection: {
|
|
175523
|
+
startSegIdx: newStartSegIdx,
|
|
175524
|
+
startOffset: newStartOffset,
|
|
175525
|
+
endSegIdx: newEndSegIdx,
|
|
175526
|
+
endOffset: newEndOffset
|
|
175527
|
+
}
|
|
175528
|
+
};
|
|
175529
|
+
}
|
|
175530
|
+
function splitSingle(seg, startOffset, endOffset, updates, result) {
|
|
175531
|
+
if (startOffset === 0 && endOffset >= seg.text.length) {
|
|
175532
|
+
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
175533
|
+
return;
|
|
175534
|
+
}
|
|
175535
|
+
if (startOffset > 0) {
|
|
175536
|
+
const beforeSeg = {
|
|
175537
|
+
text: seg.text.slice(0, startOffset),
|
|
175538
|
+
style: { ...seg.style }
|
|
175539
|
+
};
|
|
175540
|
+
if (seg.bulletInfo) {
|
|
175541
|
+
beforeSeg.bulletInfo = seg.bulletInfo;
|
|
175542
|
+
}
|
|
175543
|
+
result.push(beforeSeg);
|
|
175544
|
+
}
|
|
175545
|
+
result.push({
|
|
175546
|
+
text: seg.text.slice(startOffset, endOffset),
|
|
175547
|
+
style: { ...seg.style, ...updates }
|
|
175548
|
+
});
|
|
175549
|
+
if (endOffset < seg.text.length) {
|
|
175550
|
+
result.push({
|
|
175551
|
+
text: seg.text.slice(endOffset),
|
|
175552
|
+
style: { ...seg.style }
|
|
175553
|
+
});
|
|
175554
|
+
}
|
|
175555
|
+
}
|
|
175556
|
+
function restoreSegmentSelection(editor, startSegIdx, startOffset, endSegIdx, endOffset) {
|
|
175557
|
+
const sel = window.getSelection();
|
|
175558
|
+
if (!sel) {
|
|
175559
|
+
return;
|
|
175560
|
+
}
|
|
175561
|
+
const startPos = findTextPositionInSegment(editor, startSegIdx, startOffset);
|
|
175562
|
+
const endPos = findTextPositionInSegment(editor, endSegIdx, endOffset);
|
|
175563
|
+
if (!startPos || !endPos) {
|
|
175564
|
+
return;
|
|
175565
|
+
}
|
|
175566
|
+
const range = document.createRange();
|
|
175567
|
+
range.setStart(startPos.node, startPos.offset);
|
|
175568
|
+
range.setEnd(endPos.node, endPos.offset);
|
|
175569
|
+
sel.removeAllRanges();
|
|
175570
|
+
sel.addRange(range);
|
|
175571
|
+
}
|
|
175572
|
+
function findTextPositionInSegment(editor, segIdx, charOffset) {
|
|
175573
|
+
const segSpan = editor.querySelector(`[data-seg-idx="${segIdx}"]`);
|
|
175574
|
+
if (!segSpan) {
|
|
175575
|
+
return null;
|
|
175576
|
+
}
|
|
175577
|
+
const walker = document.createTreeWalker(segSpan, NodeFilter.SHOW_TEXT);
|
|
175578
|
+
let charCount = 0;
|
|
175579
|
+
let node;
|
|
175580
|
+
while (node = walker.nextNode()) {
|
|
175581
|
+
const textLen = node.length;
|
|
175582
|
+
if (charCount + textLen >= charOffset) {
|
|
175583
|
+
return { node, offset: charOffset - charCount };
|
|
175584
|
+
}
|
|
175585
|
+
charCount += textLen;
|
|
175586
|
+
}
|
|
175587
|
+
const lastTextNode = segSpan.querySelector("*") ? null : segSpan.firstChild;
|
|
175588
|
+
if (lastTextNode && lastTextNode.nodeType === Node.TEXT_NODE) {
|
|
175589
|
+
return { node: lastTextNode, offset: lastTextNode.length };
|
|
175590
|
+
}
|
|
175591
|
+
return null;
|
|
175592
|
+
}
|
|
175593
|
+
function positions(segments) {
|
|
175594
|
+
let offset = 0;
|
|
175595
|
+
let paragraph = 0;
|
|
175596
|
+
let first = true;
|
|
175597
|
+
return segments.map((segment) => {
|
|
175598
|
+
const marker = first && isBulletMarkerSegment(segment);
|
|
175599
|
+
const start = offset;
|
|
175600
|
+
if (!marker) {
|
|
175601
|
+
offset += segment.text.length;
|
|
175602
|
+
}
|
|
175603
|
+
const entry2 = {
|
|
175604
|
+
start,
|
|
175605
|
+
end: offset,
|
|
175606
|
+
paragraph,
|
|
175607
|
+
editable: !marker && !isParagraphSeparatorSegment(segment)
|
|
175608
|
+
};
|
|
175609
|
+
first = isParagraphSeparatorSegment(segment);
|
|
175610
|
+
if (first) {
|
|
175611
|
+
paragraph += 1;
|
|
175612
|
+
}
|
|
175613
|
+
return entry2;
|
|
175614
|
+
});
|
|
175615
|
+
}
|
|
175616
|
+
function restorePoint(segments, offset, end) {
|
|
175617
|
+
const entries = positions(segments);
|
|
175618
|
+
let fallback = { index: 0, offset: 0 };
|
|
175619
|
+
for (const [index, entry2] of entries.entries()) {
|
|
175620
|
+
if (!entry2.editable) {
|
|
175621
|
+
continue;
|
|
175622
|
+
}
|
|
175623
|
+
fallback = { index, offset: segments[index].text.length };
|
|
175624
|
+
if (end ? offset <= entry2.end : offset < entry2.end) {
|
|
175625
|
+
return { index, offset: Math.max(0, offset - entry2.start) };
|
|
175626
|
+
}
|
|
175627
|
+
}
|
|
175628
|
+
return fallback;
|
|
175629
|
+
}
|
|
175630
|
+
function restoreParagraphMetadata(original, updated) {
|
|
175631
|
+
const firstRuns = original.filter(
|
|
175632
|
+
(_, index) => index === 0 || isParagraphSeparatorSegment(original[index - 1])
|
|
175633
|
+
);
|
|
175634
|
+
let paragraph = 0;
|
|
175635
|
+
return updated.map((segment, index) => {
|
|
175636
|
+
const first = index === 0 || isParagraphSeparatorSegment(updated[index - 1]);
|
|
175637
|
+
if (!first) {
|
|
175638
|
+
return segment;
|
|
175639
|
+
}
|
|
175640
|
+
const source = firstRuns[paragraph++];
|
|
175641
|
+
if (!source) {
|
|
175642
|
+
return segment;
|
|
175643
|
+
}
|
|
175644
|
+
return {
|
|
175645
|
+
...segment,
|
|
175646
|
+
bulletInfo: source.bulletInfo,
|
|
175647
|
+
paragraphLevel: source.paragraphLevel,
|
|
175648
|
+
paragraphProperties: source.paragraphProperties,
|
|
175649
|
+
endParaRunProperties: source.endParaRunProperties
|
|
175650
|
+
};
|
|
175651
|
+
});
|
|
175652
|
+
}
|
|
175653
|
+
function selectedParagraphBulletKind(element, selection) {
|
|
175654
|
+
if (!selection || !hasTextProperties(element) || !element.textSegments) {
|
|
175655
|
+
return elementBulletKind(element);
|
|
175656
|
+
}
|
|
175657
|
+
let first = selection.startSegIdx;
|
|
175658
|
+
while (first > 0 && !isParagraphSeparatorSegment(element.textSegments[first - 1])) {
|
|
175659
|
+
first -= 1;
|
|
175660
|
+
}
|
|
175661
|
+
return paragraphBulletKind(element.textSegments.slice(first));
|
|
175662
|
+
}
|
|
175663
|
+
function applyListStyleUpdate(element, updates, selection) {
|
|
175664
|
+
if (!hasTextProperties(element) || !updates.listType) {
|
|
175665
|
+
return { patch: {}, selection };
|
|
175666
|
+
}
|
|
175667
|
+
const { listType, ...characterStyle } = updates;
|
|
175668
|
+
let segments = element.textSegments;
|
|
175669
|
+
let workingSelection = selection;
|
|
175670
|
+
if (segments && Object.keys(characterStyle).length > 0) {
|
|
175671
|
+
if (selection) {
|
|
175672
|
+
const styled = applyStyleToSelectedSegments(segments, selection, characterStyle);
|
|
175673
|
+
segments = restoreParagraphMetadata(segments, styled.newSegments);
|
|
175674
|
+
workingSelection = styled.newSelection;
|
|
175675
|
+
} else {
|
|
175676
|
+
segments = segments.map((segment) => updateTextSegmentStyle(segment, characterStyle));
|
|
175677
|
+
}
|
|
175678
|
+
}
|
|
175679
|
+
const working = {
|
|
175680
|
+
...element,
|
|
175681
|
+
textSegments: segments,
|
|
175682
|
+
textStyle: selection ? element.textStyle : { ...element.textStyle, ...characterStyle }
|
|
175683
|
+
};
|
|
175684
|
+
if (!workingSelection || !segments) {
|
|
175685
|
+
return { patch: setElementBullets(working, listType), selection: null };
|
|
175686
|
+
}
|
|
175687
|
+
const entries = positions(segments);
|
|
175688
|
+
const startEntry = entries[workingSelection.startSegIdx];
|
|
175689
|
+
const endEntry = entries[workingSelection.endSegIdx];
|
|
175690
|
+
if (!startEntry || !endEntry) {
|
|
175691
|
+
return { patch: {}, selection: null };
|
|
175692
|
+
}
|
|
175693
|
+
const startOffset = startEntry.start + workingSelection.startOffset;
|
|
175694
|
+
const endOffset = endEntry.start + workingSelection.endOffset;
|
|
175695
|
+
const lastSelected = [...entries].reverse().find((entry2) => entry2.start < endOffset);
|
|
175696
|
+
const patch = setElementBullets(working, listType, {
|
|
175697
|
+
startParagraph: startEntry.paragraph,
|
|
175698
|
+
endParagraph: lastSelected?.paragraph ?? endEntry.paragraph
|
|
175699
|
+
});
|
|
175700
|
+
const next = { ...working, ...patch };
|
|
175701
|
+
const nextSegments = hasTextProperties(next) ? next.textSegments : void 0;
|
|
175702
|
+
if (!nextSegments) {
|
|
175703
|
+
return { patch, selection: null };
|
|
175704
|
+
}
|
|
175705
|
+
const start = restorePoint(nextSegments, startOffset, false);
|
|
175706
|
+
const end = restorePoint(nextSegments, endOffset, true);
|
|
175707
|
+
return {
|
|
175708
|
+
patch,
|
|
175709
|
+
selection: {
|
|
175710
|
+
startSegIdx: start.index,
|
|
175711
|
+
startOffset: start.offset,
|
|
175712
|
+
endSegIdx: end.index,
|
|
175713
|
+
endOffset: end.offset
|
|
175714
|
+
}
|
|
175715
|
+
};
|
|
174969
175716
|
}
|
|
174970
175717
|
var DEBOUNCE_MS = 600;
|
|
174971
175718
|
var EXPANDED_MAX_HEIGHT = 200;
|
|
@@ -175688,15 +176435,15 @@ function computeTabSize(tabStops, defaultTabSize) {
|
|
|
175688
176435
|
const pos2 = tabStops[0].position;
|
|
175689
176436
|
return typeof pos2 === "number" && pos2 > 0 ? `${Math.round(pos2)}px` : fromDefault;
|
|
175690
176437
|
}
|
|
175691
|
-
const
|
|
175692
|
-
if (
|
|
175693
|
-
return
|
|
176438
|
+
const positions2 = tabStops.map((t) => t.position).filter((p) => typeof p === "number" && p > 0).sort((a, b) => a - b);
|
|
176439
|
+
if (positions2.length < 2) {
|
|
176440
|
+
return positions2.length === 1 ? `${Math.round(positions2[0])}px` : fromDefault;
|
|
175694
176441
|
}
|
|
175695
176442
|
let totalGap = 0;
|
|
175696
|
-
for (let i2 = 1; i2 <
|
|
175697
|
-
totalGap +=
|
|
176443
|
+
for (let i2 = 1; i2 < positions2.length; i2++) {
|
|
176444
|
+
totalGap += positions2[i2] - positions2[i2 - 1];
|
|
175698
176445
|
}
|
|
175699
|
-
const avgGap = totalGap / (
|
|
176446
|
+
const avgGap = totalGap / (positions2.length - 1);
|
|
175700
176447
|
return avgGap > 0 ? `${Math.round(avgGap)}px` : fromDefault;
|
|
175701
176448
|
}
|
|
175702
176449
|
function resolveTextOverflowClip(textStyle) {
|
|
@@ -179861,252 +180608,6 @@ function buildThemeColorGrid(colorScheme, translate) {
|
|
|
179861
180608
|
function themeColorLabel(key2, translate) {
|
|
179862
180609
|
return translate ? schemaLabel(THEME_COLOR_SLOT_LABEL_KEYS, key2, translate) : THEME_COLOR_LABELS[key2];
|
|
179863
180610
|
}
|
|
179864
|
-
function getInlineEditorSelection(segments) {
|
|
179865
|
-
if (!segments?.length) {
|
|
179866
|
-
return null;
|
|
179867
|
-
}
|
|
179868
|
-
const selection = window.getSelection();
|
|
179869
|
-
if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {
|
|
179870
|
-
return null;
|
|
179871
|
-
}
|
|
179872
|
-
const range = selection.getRangeAt(0);
|
|
179873
|
-
const editor = findEditorContainer(range.startContainer);
|
|
179874
|
-
if (!editor || !editor.contains(range.endContainer) || range.toString().length === 0) {
|
|
179875
|
-
return null;
|
|
179876
|
-
}
|
|
179877
|
-
const start = getSegmentPosition(editor, range.startContainer, range.startOffset, segments);
|
|
179878
|
-
const end = getSegmentPosition(editor, range.endContainer, range.endOffset, segments);
|
|
179879
|
-
if (!start || !end) {
|
|
179880
|
-
return null;
|
|
179881
|
-
}
|
|
179882
|
-
const renderedSpans = Array.from(editor.querySelectorAll("[data-seg-idx]"));
|
|
179883
|
-
const startSpanIndex = renderedSpans.indexOf(start.span);
|
|
179884
|
-
const endSpanIndex = renderedSpans.indexOf(end.span);
|
|
179885
|
-
if (startSpanIndex < 0 || endSpanIndex < startSpanIndex) {
|
|
179886
|
-
return null;
|
|
179887
|
-
}
|
|
179888
|
-
const selectedSpans = renderedSpans.slice(startSpanIndex, endSpanIndex + 1);
|
|
179889
|
-
const first = selectedSpans.find(
|
|
179890
|
-
(span) => isEditableSpan(span, segments) && (span !== start.span || start.offset < start.textLength)
|
|
179891
|
-
);
|
|
179892
|
-
const last = [...selectedSpans].reverse().find((span) => isEditableSpan(span, segments) && (span !== end.span || end.offset > 0));
|
|
179893
|
-
if (!first || !last) {
|
|
179894
|
-
return null;
|
|
179895
|
-
}
|
|
179896
|
-
return {
|
|
179897
|
-
startSegIdx: getSegmentIndex(first),
|
|
179898
|
-
startOffset: first === start.span ? start.offset : 0,
|
|
179899
|
-
endSegIdx: getSegmentIndex(last),
|
|
179900
|
-
endOffset: last === end.span ? end.offset : last.textContent?.length ?? 0
|
|
179901
|
-
};
|
|
179902
|
-
}
|
|
179903
|
-
function isEditableSpan(span, segments) {
|
|
179904
|
-
const segment = segments[getSegmentIndex(span)];
|
|
179905
|
-
return Boolean(
|
|
179906
|
-
segment && !segment.isParagraphBreak && segment.text !== "\n" && !isBulletMarkerSegment(segment) && (span.textContent?.length ?? 0) > 0
|
|
179907
|
-
);
|
|
179908
|
-
}
|
|
179909
|
-
function getSegmentIndex(span) {
|
|
179910
|
-
return Number(span.getAttribute("data-seg-idx"));
|
|
179911
|
-
}
|
|
179912
|
-
function findEditorContainer(node) {
|
|
179913
|
-
const element = node.nodeType === Node.ELEMENT_NODE ? node : node.parentElement;
|
|
179914
|
-
return element?.closest("[data-inline-editor]") ?? null;
|
|
179915
|
-
}
|
|
179916
|
-
function getSegmentPosition(editor, node, offset, segments) {
|
|
179917
|
-
const element = node.nodeType === Node.ELEMENT_NODE ? node : node.parentElement;
|
|
179918
|
-
const span = element?.closest("[data-seg-idx]");
|
|
179919
|
-
if (!span || !editor.contains(span)) {
|
|
179920
|
-
return null;
|
|
179921
|
-
}
|
|
179922
|
-
const segIdx = getSegmentIndex(span);
|
|
179923
|
-
if (!Number.isInteger(segIdx) || segIdx < 0 || segIdx >= segments.length) {
|
|
179924
|
-
return null;
|
|
179925
|
-
}
|
|
179926
|
-
return {
|
|
179927
|
-
segIdx,
|
|
179928
|
-
offset: getTextOffsetWithin(span, node, offset),
|
|
179929
|
-
span,
|
|
179930
|
-
textLength: span.textContent?.length ?? 0
|
|
179931
|
-
};
|
|
179932
|
-
}
|
|
179933
|
-
function getTextOffsetWithin(container, targetNode, targetOffset) {
|
|
179934
|
-
if (targetNode === container || targetNode.nodeType === Node.ELEMENT_NODE) {
|
|
179935
|
-
const parent = targetNode === container ? container : targetNode;
|
|
179936
|
-
let count = 0;
|
|
179937
|
-
for (let index = 0; index < targetOffset && index < parent.childNodes.length; index++) {
|
|
179938
|
-
count += parent.childNodes[index].textContent?.length ?? 0;
|
|
179939
|
-
}
|
|
179940
|
-
return count;
|
|
179941
|
-
}
|
|
179942
|
-
const walker = document.createTreeWalker(container, NodeFilter.SHOW_TEXT);
|
|
179943
|
-
let charCount = 0;
|
|
179944
|
-
let node;
|
|
179945
|
-
while (node = walker.nextNode()) {
|
|
179946
|
-
if (node === targetNode) {
|
|
179947
|
-
return charCount + targetOffset;
|
|
179948
|
-
}
|
|
179949
|
-
charCount += node.length;
|
|
179950
|
-
}
|
|
179951
|
-
return charCount;
|
|
179952
|
-
}
|
|
179953
|
-
var pendingRestore = null;
|
|
179954
|
-
function setPendingSelectionRestore(sel) {
|
|
179955
|
-
pendingRestore = sel;
|
|
179956
|
-
}
|
|
179957
|
-
function getPendingSelectionRestore() {
|
|
179958
|
-
const sel = pendingRestore;
|
|
179959
|
-
pendingRestore = null;
|
|
179960
|
-
return sel;
|
|
179961
|
-
}
|
|
179962
|
-
function applyStyleToSelectedSegments(segments, selection, updates) {
|
|
179963
|
-
const { startSegIdx, startOffset, endSegIdx, endOffset } = selection;
|
|
179964
|
-
const result = [];
|
|
179965
|
-
let newStartSegIdx = -1;
|
|
179966
|
-
let newStartOffset = 0;
|
|
179967
|
-
let newEndSegIdx = -1;
|
|
179968
|
-
let newEndOffset = 0;
|
|
179969
|
-
for (let i2 = 0; i2 < segments.length; i2++) {
|
|
179970
|
-
const seg = segments[i2];
|
|
179971
|
-
if (seg.isParagraphBreak || seg.text === "\n") {
|
|
179972
|
-
result.push({ ...seg, style: { ...seg.style } });
|
|
179973
|
-
continue;
|
|
179974
|
-
}
|
|
179975
|
-
if (i2 < startSegIdx) {
|
|
179976
|
-
result.push({ ...seg, style: { ...seg.style } });
|
|
179977
|
-
continue;
|
|
179978
|
-
}
|
|
179979
|
-
if (i2 > endSegIdx) {
|
|
179980
|
-
result.push({ ...seg, style: { ...seg.style } });
|
|
179981
|
-
continue;
|
|
179982
|
-
}
|
|
179983
|
-
if (i2 === startSegIdx && i2 === endSegIdx) {
|
|
179984
|
-
splitSingle(seg, startOffset, endOffset, updates, result);
|
|
179985
|
-
const partsAdded = (startOffset > 0 ? 1 : 0) + 1 + (endOffset < seg.text.length ? 1 : 0);
|
|
179986
|
-
const selectedPartIdx = result.length - partsAdded + (startOffset > 0 ? 1 : 0);
|
|
179987
|
-
newStartSegIdx = selectedPartIdx;
|
|
179988
|
-
newStartOffset = 0;
|
|
179989
|
-
newEndSegIdx = selectedPartIdx;
|
|
179990
|
-
newEndOffset = endOffset - startOffset;
|
|
179991
|
-
continue;
|
|
179992
|
-
}
|
|
179993
|
-
if (i2 === startSegIdx) {
|
|
179994
|
-
if (startOffset === 0) {
|
|
179995
|
-
newStartSegIdx = result.length;
|
|
179996
|
-
newStartOffset = 0;
|
|
179997
|
-
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
179998
|
-
} else {
|
|
179999
|
-
const beforeSeg = {
|
|
180000
|
-
text: seg.text.slice(0, startOffset),
|
|
180001
|
-
style: { ...seg.style }
|
|
180002
|
-
};
|
|
180003
|
-
if (seg.bulletInfo) {
|
|
180004
|
-
beforeSeg.bulletInfo = seg.bulletInfo;
|
|
180005
|
-
}
|
|
180006
|
-
result.push(beforeSeg);
|
|
180007
|
-
newStartSegIdx = result.length;
|
|
180008
|
-
newStartOffset = 0;
|
|
180009
|
-
result.push({
|
|
180010
|
-
text: seg.text.slice(startOffset),
|
|
180011
|
-
style: { ...seg.style, ...updates }
|
|
180012
|
-
});
|
|
180013
|
-
}
|
|
180014
|
-
continue;
|
|
180015
|
-
}
|
|
180016
|
-
if (i2 === endSegIdx) {
|
|
180017
|
-
if (endOffset >= seg.text.length) {
|
|
180018
|
-
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
180019
|
-
newEndSegIdx = result.length - 1;
|
|
180020
|
-
newEndOffset = seg.text.length;
|
|
180021
|
-
} else {
|
|
180022
|
-
result.push({
|
|
180023
|
-
text: seg.text.slice(0, endOffset),
|
|
180024
|
-
style: { ...seg.style, ...updates }
|
|
180025
|
-
});
|
|
180026
|
-
newEndSegIdx = result.length - 1;
|
|
180027
|
-
newEndOffset = endOffset;
|
|
180028
|
-
result.push({
|
|
180029
|
-
text: seg.text.slice(endOffset),
|
|
180030
|
-
style: { ...seg.style }
|
|
180031
|
-
});
|
|
180032
|
-
}
|
|
180033
|
-
continue;
|
|
180034
|
-
}
|
|
180035
|
-
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
180036
|
-
}
|
|
180037
|
-
return {
|
|
180038
|
-
newSegments: result,
|
|
180039
|
-
newSelection: {
|
|
180040
|
-
startSegIdx: newStartSegIdx,
|
|
180041
|
-
startOffset: newStartOffset,
|
|
180042
|
-
endSegIdx: newEndSegIdx,
|
|
180043
|
-
endOffset: newEndOffset
|
|
180044
|
-
}
|
|
180045
|
-
};
|
|
180046
|
-
}
|
|
180047
|
-
function splitSingle(seg, startOffset, endOffset, updates, result) {
|
|
180048
|
-
if (startOffset === 0 && endOffset >= seg.text.length) {
|
|
180049
|
-
result.push({ ...seg, style: { ...seg.style, ...updates } });
|
|
180050
|
-
return;
|
|
180051
|
-
}
|
|
180052
|
-
if (startOffset > 0) {
|
|
180053
|
-
const beforeSeg = {
|
|
180054
|
-
text: seg.text.slice(0, startOffset),
|
|
180055
|
-
style: { ...seg.style }
|
|
180056
|
-
};
|
|
180057
|
-
if (seg.bulletInfo) {
|
|
180058
|
-
beforeSeg.bulletInfo = seg.bulletInfo;
|
|
180059
|
-
}
|
|
180060
|
-
result.push(beforeSeg);
|
|
180061
|
-
}
|
|
180062
|
-
result.push({
|
|
180063
|
-
text: seg.text.slice(startOffset, endOffset),
|
|
180064
|
-
style: { ...seg.style, ...updates }
|
|
180065
|
-
});
|
|
180066
|
-
if (endOffset < seg.text.length) {
|
|
180067
|
-
result.push({
|
|
180068
|
-
text: seg.text.slice(endOffset),
|
|
180069
|
-
style: { ...seg.style }
|
|
180070
|
-
});
|
|
180071
|
-
}
|
|
180072
|
-
}
|
|
180073
|
-
function restoreSegmentSelection(editor, startSegIdx, startOffset, endSegIdx, endOffset) {
|
|
180074
|
-
const sel = window.getSelection();
|
|
180075
|
-
if (!sel) {
|
|
180076
|
-
return;
|
|
180077
|
-
}
|
|
180078
|
-
const startPos = findTextPositionInSegment(editor, startSegIdx, startOffset);
|
|
180079
|
-
const endPos = findTextPositionInSegment(editor, endSegIdx, endOffset);
|
|
180080
|
-
if (!startPos || !endPos) {
|
|
180081
|
-
return;
|
|
180082
|
-
}
|
|
180083
|
-
const range = document.createRange();
|
|
180084
|
-
range.setStart(startPos.node, startPos.offset);
|
|
180085
|
-
range.setEnd(endPos.node, endPos.offset);
|
|
180086
|
-
sel.removeAllRanges();
|
|
180087
|
-
sel.addRange(range);
|
|
180088
|
-
}
|
|
180089
|
-
function findTextPositionInSegment(editor, segIdx, charOffset) {
|
|
180090
|
-
const segSpan = editor.querySelector(`[data-seg-idx="${segIdx}"]`);
|
|
180091
|
-
if (!segSpan) {
|
|
180092
|
-
return null;
|
|
180093
|
-
}
|
|
180094
|
-
const walker = document.createTreeWalker(segSpan, NodeFilter.SHOW_TEXT);
|
|
180095
|
-
let charCount = 0;
|
|
180096
|
-
let node;
|
|
180097
|
-
while (node = walker.nextNode()) {
|
|
180098
|
-
const textLen = node.length;
|
|
180099
|
-
if (charCount + textLen >= charOffset) {
|
|
180100
|
-
return { node, offset: charOffset - charCount };
|
|
180101
|
-
}
|
|
180102
|
-
charCount += textLen;
|
|
180103
|
-
}
|
|
180104
|
-
const lastTextNode = segSpan.querySelector("*") ? null : segSpan.firstChild;
|
|
180105
|
-
if (lastTextNode && lastTextNode.nodeType === Node.TEXT_NODE) {
|
|
180106
|
-
return { node: lastTextNode, offset: lastTextNode.length };
|
|
180107
|
-
}
|
|
180108
|
-
return null;
|
|
180109
|
-
}
|
|
180110
180611
|
function placeCaretAtEnd(el) {
|
|
180111
180612
|
const doc = el.ownerDocument;
|
|
180112
180613
|
const win = doc.defaultView;
|
|
@@ -180533,6 +181034,100 @@ function withConnectorEndpointUpdate(connector, update) {
|
|
|
180533
181034
|
function connectorWrapperTransform(element) {
|
|
180534
181035
|
return element.rotation ? `rotate(${element.rotation}deg)` : void 0;
|
|
180535
181036
|
}
|
|
181037
|
+
function textFontSizePxToPt(fontSizePx2) {
|
|
181038
|
+
return Math.round(fontSizePx2 * (72 / 96) * 100) / 100;
|
|
181039
|
+
}
|
|
181040
|
+
function textFontSizePtToPx(fontSizePt) {
|
|
181041
|
+
return fontSizePt * (96 / 72);
|
|
181042
|
+
}
|
|
181043
|
+
var COMMON_FONT_FAMILIES = [
|
|
181044
|
+
"Abadi",
|
|
181045
|
+
"Aptos",
|
|
181046
|
+
"Aptos Display",
|
|
181047
|
+
"Arial",
|
|
181048
|
+
"Arial Black",
|
|
181049
|
+
"Arial Narrow",
|
|
181050
|
+
"Bahnschrift",
|
|
181051
|
+
"Book Antiqua",
|
|
181052
|
+
"Bookman Old Style",
|
|
181053
|
+
"Calibri",
|
|
181054
|
+
"Calibri Light",
|
|
181055
|
+
"Cambria",
|
|
181056
|
+
"Candara",
|
|
181057
|
+
"Century Gothic",
|
|
181058
|
+
"Comic Sans MS",
|
|
181059
|
+
"Consolas",
|
|
181060
|
+
"Corbel",
|
|
181061
|
+
"Courier New",
|
|
181062
|
+
"Franklin Gothic Book",
|
|
181063
|
+
"Franklin Gothic Medium",
|
|
181064
|
+
"Garamond",
|
|
181065
|
+
"Georgia",
|
|
181066
|
+
"Gill Sans MT",
|
|
181067
|
+
"Helvetica",
|
|
181068
|
+
"Impact",
|
|
181069
|
+
"Inter",
|
|
181070
|
+
"Lucida Console",
|
|
181071
|
+
"Lucida Sans Unicode",
|
|
181072
|
+
"Microsoft Sans Serif",
|
|
181073
|
+
"Montserrat",
|
|
181074
|
+
"Noto Sans",
|
|
181075
|
+
"Open Sans",
|
|
181076
|
+
"Palatino Linotype",
|
|
181077
|
+
"Poppins",
|
|
181078
|
+
"Roboto",
|
|
181079
|
+
"Rockwell",
|
|
181080
|
+
"Segoe UI",
|
|
181081
|
+
"Source Sans Pro",
|
|
181082
|
+
"Tahoma",
|
|
181083
|
+
"Times New Roman",
|
|
181084
|
+
"Trebuchet MS",
|
|
181085
|
+
"Tw Cen MT",
|
|
181086
|
+
"Verdana"
|
|
181087
|
+
];
|
|
181088
|
+
var COMMON_FONT_SIZES = [
|
|
181089
|
+
8,
|
|
181090
|
+
9,
|
|
181091
|
+
10,
|
|
181092
|
+
11,
|
|
181093
|
+
12,
|
|
181094
|
+
14,
|
|
181095
|
+
16,
|
|
181096
|
+
18,
|
|
181097
|
+
20,
|
|
181098
|
+
24,
|
|
181099
|
+
28,
|
|
181100
|
+
32,
|
|
181101
|
+
36,
|
|
181102
|
+
40,
|
|
181103
|
+
44,
|
|
181104
|
+
48,
|
|
181105
|
+
54,
|
|
181106
|
+
60,
|
|
181107
|
+
72,
|
|
181108
|
+
96
|
|
181109
|
+
];
|
|
181110
|
+
var CHARACTER_SPACING_OPTIONS = [
|
|
181111
|
+
{ label: "Very Tight", i18nKey: "pptx.text.characterSpacingVeryTight", value: -150 },
|
|
181112
|
+
{ label: "Tight", i18nKey: "pptx.text.characterSpacingTight", value: -75 },
|
|
181113
|
+
{ label: "Normal", i18nKey: "pptx.text.characterSpacingNormal", value: 0 },
|
|
181114
|
+
{ label: "Loose", i18nKey: "pptx.text.characterSpacingLoose", value: 75 },
|
|
181115
|
+
{ label: "Very Loose", i18nKey: "pptx.text.characterSpacingVeryLoose", value: 150 }
|
|
181116
|
+
];
|
|
181117
|
+
function textStylePatch(el, changes) {
|
|
181118
|
+
const base = hasTextProperties(el) ? el.textStyle ?? {} : {};
|
|
181119
|
+
return {
|
|
181120
|
+
...hasTextProperties(el) && el.textSegments?.some((segment) => segment.paragraphInsertionStyle) ? {
|
|
181121
|
+
textSegments: el.textSegments.map(
|
|
181122
|
+
(segment) => updateTextSegmentStyle(segment, changes, { updateBodyStyle: false })
|
|
181123
|
+
)
|
|
181124
|
+
} : {},
|
|
181125
|
+
textStyle: {
|
|
181126
|
+
...base,
|
|
181127
|
+
...changes
|
|
181128
|
+
}
|
|
181129
|
+
};
|
|
181130
|
+
}
|
|
180536
181131
|
function copyFormatFromElement(element) {
|
|
180537
181132
|
const result = {};
|
|
180538
181133
|
if (hasShapeProperties(element) && element.shapeStyle) {
|
|
@@ -180607,10 +181202,7 @@ function applyFormatToElement(element, format) {
|
|
|
180607
181202
|
if (format.textStyle && hasTextProperties(updated)) {
|
|
180608
181203
|
updated = {
|
|
180609
181204
|
...updated,
|
|
180610
|
-
textStyle
|
|
180611
|
-
...updated.textStyle,
|
|
180612
|
-
...definedEntries2(format.textStyle)
|
|
180613
|
-
}
|
|
181205
|
+
...textStylePatch(updated, definedEntries2(format.textStyle))
|
|
180614
181206
|
};
|
|
180615
181207
|
}
|
|
180616
181208
|
return updated;
|
|
@@ -180621,6 +181213,24 @@ function hasCopyableFormat(element) {
|
|
|
180621
181213
|
}
|
|
180622
181214
|
return hasShapeProperties(element) || hasTextProperties(element);
|
|
180623
181215
|
}
|
|
181216
|
+
function remapEmptyParagraph(text22, segments, terminator) {
|
|
181217
|
+
const source = segments[0] ?? terminator;
|
|
181218
|
+
const insertionStyle = source?.paragraphInsertionStyle;
|
|
181219
|
+
if (!source || !insertionStyle || segments.length > 1 || segments.length > 0 && source.text !== "" && !isBulletMarkerSegment(source)) {
|
|
181220
|
+
return void 0;
|
|
181221
|
+
}
|
|
181222
|
+
if (text22.length === 0) {
|
|
181223
|
+
return segments.map((segment) => ({ ...segment }));
|
|
181224
|
+
}
|
|
181225
|
+
const first = { ...source };
|
|
181226
|
+
delete first.paragraphInsertionStyle;
|
|
181227
|
+
const bullet = first.bulletInfo;
|
|
181228
|
+
if (bullet && !bullet.none && segments.length > 0) {
|
|
181229
|
+
return [first, { text: text22, style: { ...insertionStyle } }];
|
|
181230
|
+
}
|
|
181231
|
+
delete first.isParagraphBreak;
|
|
181232
|
+
return [{ ...first, text: text22, style: { ...insertionStyle } }];
|
|
181233
|
+
}
|
|
180624
181234
|
function renumberRemappedParagraphs(segments) {
|
|
180625
181235
|
const sequence = createAutoNumberSequence();
|
|
180626
181236
|
let first = true;
|
|
@@ -180670,10 +181280,14 @@ function withoutRenderedBulletPrefix(text22, originalSegments, dedicatedMarker)
|
|
|
180670
181280
|
}
|
|
180671
181281
|
return withoutMarker;
|
|
180672
181282
|
}
|
|
180673
|
-
function
|
|
181283
|
+
function continueListParagraph(segments, donorSegments) {
|
|
180674
181284
|
const donor = donorSegments[0];
|
|
180675
181285
|
const paragraphIndex = donor?.bulletInfo?.paragraphIndex;
|
|
180676
|
-
|
|
181286
|
+
const bullet = resolveParagraphBullet(donor);
|
|
181287
|
+
if (segments.length === 0 || !bullet) {
|
|
181288
|
+
return segments;
|
|
181289
|
+
}
|
|
181290
|
+
if (bullet.isNumbered && (typeof paragraphIndex !== "number" || !Number.isFinite(paragraphIndex))) {
|
|
180677
181291
|
return segments;
|
|
180678
181292
|
}
|
|
180679
181293
|
const [first, ...rest] = segments;
|
|
@@ -180681,13 +181295,13 @@ function continueAutoNumberedParagraph(segments, donorSegments, offset) {
|
|
|
180681
181295
|
...first,
|
|
180682
181296
|
bulletInfo: {
|
|
180683
181297
|
...donor.bulletInfo,
|
|
180684
|
-
paragraphIndex: paragraphIndex +
|
|
181298
|
+
...bullet.isNumbered && typeof paragraphIndex === "number" && Number.isFinite(paragraphIndex) ? { paragraphIndex: paragraphIndex + 1 } : {}
|
|
180685
181299
|
}
|
|
180686
181300
|
};
|
|
180687
181301
|
if (donor.paragraphLevel !== void 0) {
|
|
180688
181302
|
continued.paragraphLevel = donor.paragraphLevel;
|
|
180689
181303
|
}
|
|
180690
|
-
if (isBulletMarkerSegment(donor)) {
|
|
181304
|
+
if (bullet.isNumbered && typeof paragraphIndex === "number" && Number.isFinite(paragraphIndex) && isBulletMarkerSegment(donor)) {
|
|
180691
181305
|
const resolved = resolveParagraphBullet(continued);
|
|
180692
181306
|
if (resolved) {
|
|
180693
181307
|
const trailingWhitespace = donor.text.match(/\s+$/u)?.[0] ?? "";
|
|
@@ -180696,6 +181310,29 @@ function continueAutoNumberedParagraph(segments, donorSegments, offset) {
|
|
|
180696
181310
|
}
|
|
180697
181311
|
return [continued, ...rest];
|
|
180698
181312
|
}
|
|
181313
|
+
function restoreParagraphMetadata2(from, segments) {
|
|
181314
|
+
if (segments.length === 0) {
|
|
181315
|
+
return segments;
|
|
181316
|
+
}
|
|
181317
|
+
const [first, ...rest] = segments;
|
|
181318
|
+
const restored = { ...first };
|
|
181319
|
+
delete restored.paragraphLevel;
|
|
181320
|
+
delete restored.paragraphProperties;
|
|
181321
|
+
delete restored.endParaRunProperties;
|
|
181322
|
+
if (!from) {
|
|
181323
|
+
delete restored.paragraphInsertionStyle;
|
|
181324
|
+
}
|
|
181325
|
+
if (from?.paragraphLevel !== void 0) {
|
|
181326
|
+
restored.paragraphLevel = from.paragraphLevel;
|
|
181327
|
+
}
|
|
181328
|
+
if (from?.paragraphProperties !== void 0) {
|
|
181329
|
+
restored.paragraphProperties = from.paragraphProperties;
|
|
181330
|
+
}
|
|
181331
|
+
if (from?.endParaRunProperties !== void 0) {
|
|
181332
|
+
restored.endParaRunProperties = from.endParaRunProperties;
|
|
181333
|
+
}
|
|
181334
|
+
return [restored, ...rest];
|
|
181335
|
+
}
|
|
180699
181336
|
function matches(text22, paragraph) {
|
|
180700
181337
|
const first = paragraph.segments[0];
|
|
180701
181338
|
const marker = first && isBulletMarkerSegment(first) && (!first.bulletInfo?.autoNumType || first.bulletInfo.paragraphIndex !== void 0) ? first : void 0;
|
|
@@ -180755,6 +181392,9 @@ function isAtomicOriginalSegment(seg) {
|
|
|
180755
181392
|
return seg.fieldType !== void 0 || seg.equationXml !== void 0;
|
|
180756
181393
|
}
|
|
180757
181394
|
function copySegmentMetadata(from, to) {
|
|
181395
|
+
if (!from) {
|
|
181396
|
+
return to;
|
|
181397
|
+
}
|
|
180758
181398
|
if (from.equationXml !== void 0) {
|
|
180759
181399
|
to.equationXml = from.equationXml;
|
|
180760
181400
|
}
|
|
@@ -180775,26 +181415,6 @@ function copySegmentMetadata(from, to) {
|
|
|
180775
181415
|
}
|
|
180776
181416
|
return to;
|
|
180777
181417
|
}
|
|
180778
|
-
function restoreParagraphMetadata(from, segments) {
|
|
180779
|
-
if (segments.length === 0) {
|
|
180780
|
-
return segments;
|
|
180781
|
-
}
|
|
180782
|
-
const [first, ...rest] = segments;
|
|
180783
|
-
const restored = { ...first };
|
|
180784
|
-
delete restored.paragraphLevel;
|
|
180785
|
-
delete restored.paragraphProperties;
|
|
180786
|
-
delete restored.endParaRunProperties;
|
|
180787
|
-
if (from?.paragraphLevel !== void 0) {
|
|
180788
|
-
restored.paragraphLevel = from.paragraphLevel;
|
|
180789
|
-
}
|
|
180790
|
-
if (from?.paragraphProperties !== void 0) {
|
|
180791
|
-
restored.paragraphProperties = from.paragraphProperties;
|
|
180792
|
-
}
|
|
180793
|
-
if (from?.endParaRunProperties !== void 0) {
|
|
180794
|
-
restored.endParaRunProperties = from.endParaRunProperties;
|
|
180795
|
-
}
|
|
180796
|
-
return [restored, ...rest];
|
|
180797
|
-
}
|
|
180798
181418
|
function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
180799
181419
|
const fallbackStyle = { ...elementTextStyle };
|
|
180800
181420
|
if (!originalSegments || originalSegments.length === 0) {
|
|
@@ -180815,7 +181435,7 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180815
181435
|
const paragraphSources = alignParagraphSources(newParagraphTexts, originalParagraphs);
|
|
180816
181436
|
const firstContentSeg = originalParagraphs.flatMap((paragraph) => paragraph.segments).find((s) => s.text.trim().length > 0);
|
|
180817
181437
|
const baseFallbackStyle = firstContentSeg?.style ? { ...firstContentSeg.style } : fallbackStyle;
|
|
180818
|
-
function remapParagraph(paraNewText, paraOrigSegments) {
|
|
181438
|
+
function remapParagraph(paraNewText, paraOrigSegments, isOriginalParagraph = true) {
|
|
180819
181439
|
if (paraOrigSegments.length === 0) {
|
|
180820
181440
|
return paraNewText.length > 0 ? [{ text: paraNewText, style: { ...baseFallbackStyle } }] : [{ text: "", style: { ...baseFallbackStyle } }];
|
|
180821
181441
|
}
|
|
@@ -180823,12 +181443,8 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180823
181443
|
const dedicatedMarker = isBulletMarkerSegment(firstSegment) && (!firstSegment.bulletInfo?.autoNumType || firstSegment.bulletInfo.paragraphIndex !== void 0) ? firstSegment : void 0;
|
|
180824
181444
|
if (dedicatedMarker) {
|
|
180825
181445
|
const contentSegments = paraOrigSegments.slice(1);
|
|
180826
|
-
const contentText = withoutRenderedBulletPrefix(
|
|
180827
|
-
|
|
180828
|
-
paraOrigSegments,
|
|
180829
|
-
dedicatedMarker
|
|
180830
|
-
);
|
|
180831
|
-
const content = contentSegments.length > 0 ? remapParagraph(contentText, contentSegments) : [{ text: contentText, style: { ...dedicatedMarker.style } }];
|
|
181446
|
+
const contentText = isOriginalParagraph ? withoutRenderedBulletPrefix(paraNewText, paraOrigSegments, dedicatedMarker) : paraNewText;
|
|
181447
|
+
const content = contentSegments.length > 0 ? remapParagraph(contentText, contentSegments, isOriginalParagraph) : [{ text: contentText, style: { ...dedicatedMarker.style } }];
|
|
180832
181448
|
return [dedicatedMarker, ...content];
|
|
180833
181449
|
}
|
|
180834
181450
|
const paragraphBulletInfo = paraOrigSegments[0].bulletInfo;
|
|
@@ -180843,7 +181459,7 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180843
181459
|
const totalOrigLen = paraOrigSegments.reduce((sum, s) => sum + s.text.length, 0);
|
|
180844
181460
|
if (totalOrigLen === 0) {
|
|
180845
181461
|
const result = [
|
|
180846
|
-
copySegmentMetadata(paraOrigSegments[0], {
|
|
181462
|
+
copySegmentMetadata(isOriginalParagraph ? paraOrigSegments[0] : void 0, {
|
|
180847
181463
|
text: paraNewText,
|
|
180848
181464
|
style: { ...paraOrigSegments[0].style }
|
|
180849
181465
|
})
|
|
@@ -180857,7 +181473,7 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180857
181473
|
let newPos = 0;
|
|
180858
181474
|
for (let i2 = 0; i2 < paraOrigSegments.length; i2++) {
|
|
180859
181475
|
const origSeg = paraOrigSegments[i2];
|
|
180860
|
-
const isLastSeg = i2 === paraOrigSegments.length - 1 && !isAtomicOriginalSegment(origSeg);
|
|
181476
|
+
const isLastSeg = i2 === paraOrigSegments.length - 1 && (!isOriginalParagraph || !isAtomicOriginalSegment(origSeg));
|
|
180861
181477
|
const origLen = origSeg.text.length;
|
|
180862
181478
|
if (newPos >= paraNewText.length) {
|
|
180863
181479
|
break;
|
|
@@ -180869,7 +181485,7 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180869
181485
|
segText = paraNewText.slice(newPos, newPos + origLen);
|
|
180870
181486
|
}
|
|
180871
181487
|
if (segText.length > 0) {
|
|
180872
|
-
const outSeg = copySegmentMetadata(origSeg, {
|
|
181488
|
+
const outSeg = copySegmentMetadata(isOriginalParagraph ? origSeg : void 0, {
|
|
180873
181489
|
text: segText,
|
|
180874
181490
|
style: { ...origSeg.style }
|
|
180875
181491
|
});
|
|
@@ -180888,10 +181504,13 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180888
181504
|
});
|
|
180889
181505
|
}
|
|
180890
181506
|
if (remapped.length === 0) {
|
|
180891
|
-
const fallback = copySegmentMetadata(
|
|
180892
|
-
|
|
180893
|
-
|
|
180894
|
-
|
|
181507
|
+
const fallback = copySegmentMetadata(
|
|
181508
|
+
isOriginalParagraph ? paraOrigSegments[0] : void 0,
|
|
181509
|
+
{
|
|
181510
|
+
text: paraNewText,
|
|
181511
|
+
style: { ...paraOrigSegments[0].style }
|
|
181512
|
+
}
|
|
181513
|
+
);
|
|
180895
181514
|
if (paragraphBulletInfo) {
|
|
180896
181515
|
fallback.bulletInfo = paragraphBulletInfo;
|
|
180897
181516
|
}
|
|
@@ -180901,31 +181520,27 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
180901
181520
|
}
|
|
180902
181521
|
const output = [];
|
|
180903
181522
|
const lastOrigPara = originalParagraphs[originalParagraphs.length - 1]?.segments;
|
|
180904
|
-
|
|
180905
|
-
const appendStart = Math.max(
|
|
180906
|
-
originalParagraphs.length,
|
|
180907
|
-
lastSourceOffset < 0 ? 0 : paragraphSources.length - lastSourceOffset
|
|
180908
|
-
);
|
|
181523
|
+
let precedingParagraph;
|
|
180909
181524
|
for (let pi = 0; pi < newParagraphTexts.length; pi++) {
|
|
180910
181525
|
if (pi > 0) {
|
|
180911
181526
|
const precedingOrigPara = originalParagraphs[paragraphSources[pi - 1] ?? -1]?.segments ?? [];
|
|
180912
181527
|
const breakStyle = precedingOrigPara[0]?.style ? { ...precedingOrigPara[0].style } : { ...baseFallbackStyle };
|
|
180913
|
-
|
|
181528
|
+
const terminator = originalParagraphs[paragraphSources[pi - 1] ?? -1]?.terminator;
|
|
181529
|
+
output.push(
|
|
181530
|
+
terminator?.paragraphInsertionStyle && newParagraphTexts[pi - 1] === "" ? { ...terminator, text: "\n", isParagraphBreak: true } : { text: "\n", style: breakStyle, isParagraphBreak: true }
|
|
181531
|
+
);
|
|
180914
181532
|
}
|
|
180915
181533
|
const originalParagraph = originalParagraphs[paragraphSources[pi] ?? -1];
|
|
180916
|
-
const origPara = originalParagraph?.segments ?? lastOrigPara ?? [];
|
|
180917
|
-
let paraSegments =
|
|
181534
|
+
const origPara = originalParagraph?.segments ?? precedingParagraph ?? lastOrigPara ?? [];
|
|
181535
|
+
let paraSegments = restoreParagraphMetadata2(
|
|
180918
181536
|
originalParagraph?.segments[0] ?? originalParagraph?.terminator,
|
|
180919
|
-
remapParagraph(newParagraphTexts[pi], origPara)
|
|
181537
|
+
(originalParagraph && remapEmptyParagraph(newParagraphTexts[pi], origPara, originalParagraph.terminator)) ?? remapParagraph(newParagraphTexts[pi], origPara, originalParagraph !== void 0)
|
|
180920
181538
|
);
|
|
180921
|
-
if (!originalParagraph &&
|
|
180922
|
-
paraSegments =
|
|
180923
|
-
paraSegments,
|
|
180924
|
-
lastOrigPara ?? [],
|
|
180925
|
-
pi - originalParagraphs.length + 1
|
|
180926
|
-
);
|
|
181539
|
+
if (!originalParagraph && precedingParagraph) {
|
|
181540
|
+
paraSegments = continueListParagraph(paraSegments, precedingParagraph);
|
|
180927
181541
|
}
|
|
180928
181542
|
output.push(...paraSegments);
|
|
181543
|
+
precedingParagraph = paraSegments;
|
|
180929
181544
|
}
|
|
180930
181545
|
if (paragraphSources.some((source, index) => source !== void 0 && source !== index)) {
|
|
180931
181546
|
return renumberRemappedParagraphs(output);
|
|
@@ -181843,6 +182458,9 @@ function buildSegmentAttrs(seg) {
|
|
|
181843
182458
|
if (seg.endParaRunProperties) {
|
|
181844
182459
|
a.pr = JSON.stringify(seg.endParaRunProperties);
|
|
181845
182460
|
}
|
|
182461
|
+
if (seg.paragraphInsertionStyle) {
|
|
182462
|
+
a.pi = JSON.stringify(seg.paragraphInsertionStyle);
|
|
182463
|
+
}
|
|
181846
182464
|
if (typeof seg.fieldType === "string") {
|
|
181847
182465
|
a.ft = seg.fieldType;
|
|
181848
182466
|
}
|
|
@@ -181949,6 +182567,12 @@ function decodeDelta(delta) {
|
|
|
181949
182567
|
} catch {
|
|
181950
182568
|
}
|
|
181951
182569
|
}
|
|
182570
|
+
if (a.pi) {
|
|
182571
|
+
try {
|
|
182572
|
+
seg.paragraphInsertionStyle = JSON.parse(a.pi);
|
|
182573
|
+
} catch {
|
|
182574
|
+
}
|
|
182575
|
+
}
|
|
181952
182576
|
if (a.ft) {
|
|
181953
182577
|
seg.fieldType = a.ft;
|
|
181954
182578
|
}
|
|
@@ -182137,6 +182761,7 @@ var COMPLEX_ELEMENT_FIELDS = {
|
|
|
182137
182761
|
children: "_ch",
|
|
182138
182762
|
paragraphIndents: "_pi",
|
|
182139
182763
|
rawXml: "_rx",
|
|
182764
|
+
inheritedTransform: "_it",
|
|
182140
182765
|
extLstXml: "_elx",
|
|
182141
182766
|
actionClick: "_ac",
|
|
182142
182767
|
actionHover: "_av",
|
|
@@ -190139,86 +190764,6 @@ function projectDrawingShapes(elementId, shapes, viewBox, palette, style) {
|
|
|
190139
190764
|
function styleShadowFilter(style) {
|
|
190140
190765
|
return styleShadow(style);
|
|
190141
190766
|
}
|
|
190142
|
-
function textFontSizePxToPt(fontSizePx2) {
|
|
190143
|
-
return Math.round(fontSizePx2 * (72 / 96) * 100) / 100;
|
|
190144
|
-
}
|
|
190145
|
-
function textFontSizePtToPx(fontSizePt) {
|
|
190146
|
-
return fontSizePt * (96 / 72);
|
|
190147
|
-
}
|
|
190148
|
-
var COMMON_FONT_FAMILIES = [
|
|
190149
|
-
"Abadi",
|
|
190150
|
-
"Aptos",
|
|
190151
|
-
"Aptos Display",
|
|
190152
|
-
"Arial",
|
|
190153
|
-
"Arial Black",
|
|
190154
|
-
"Arial Narrow",
|
|
190155
|
-
"Bahnschrift",
|
|
190156
|
-
"Book Antiqua",
|
|
190157
|
-
"Bookman Old Style",
|
|
190158
|
-
"Calibri",
|
|
190159
|
-
"Calibri Light",
|
|
190160
|
-
"Cambria",
|
|
190161
|
-
"Candara",
|
|
190162
|
-
"Century Gothic",
|
|
190163
|
-
"Comic Sans MS",
|
|
190164
|
-
"Consolas",
|
|
190165
|
-
"Corbel",
|
|
190166
|
-
"Courier New",
|
|
190167
|
-
"Franklin Gothic Book",
|
|
190168
|
-
"Franklin Gothic Medium",
|
|
190169
|
-
"Garamond",
|
|
190170
|
-
"Georgia",
|
|
190171
|
-
"Gill Sans MT",
|
|
190172
|
-
"Helvetica",
|
|
190173
|
-
"Impact",
|
|
190174
|
-
"Inter",
|
|
190175
|
-
"Lucida Console",
|
|
190176
|
-
"Lucida Sans Unicode",
|
|
190177
|
-
"Microsoft Sans Serif",
|
|
190178
|
-
"Montserrat",
|
|
190179
|
-
"Noto Sans",
|
|
190180
|
-
"Open Sans",
|
|
190181
|
-
"Palatino Linotype",
|
|
190182
|
-
"Poppins",
|
|
190183
|
-
"Roboto",
|
|
190184
|
-
"Rockwell",
|
|
190185
|
-
"Segoe UI",
|
|
190186
|
-
"Source Sans Pro",
|
|
190187
|
-
"Tahoma",
|
|
190188
|
-
"Times New Roman",
|
|
190189
|
-
"Trebuchet MS",
|
|
190190
|
-
"Tw Cen MT",
|
|
190191
|
-
"Verdana"
|
|
190192
|
-
];
|
|
190193
|
-
var COMMON_FONT_SIZES = [
|
|
190194
|
-
8,
|
|
190195
|
-
9,
|
|
190196
|
-
10,
|
|
190197
|
-
11,
|
|
190198
|
-
12,
|
|
190199
|
-
14,
|
|
190200
|
-
16,
|
|
190201
|
-
18,
|
|
190202
|
-
20,
|
|
190203
|
-
24,
|
|
190204
|
-
28,
|
|
190205
|
-
32,
|
|
190206
|
-
36,
|
|
190207
|
-
40,
|
|
190208
|
-
44,
|
|
190209
|
-
48,
|
|
190210
|
-
54,
|
|
190211
|
-
60,
|
|
190212
|
-
72,
|
|
190213
|
-
96
|
|
190214
|
-
];
|
|
190215
|
-
var CHARACTER_SPACING_OPTIONS = [
|
|
190216
|
-
{ label: "Very Tight", i18nKey: "pptx.text.characterSpacingVeryTight", value: -150 },
|
|
190217
|
-
{ label: "Tight", i18nKey: "pptx.text.characterSpacingTight", value: -75 },
|
|
190218
|
-
{ label: "Normal", i18nKey: "pptx.text.characterSpacingNormal", value: 0 },
|
|
190219
|
-
{ label: "Loose", i18nKey: "pptx.text.characterSpacingLoose", value: 75 },
|
|
190220
|
-
{ label: "Very Loose", i18nKey: "pptx.text.characterSpacingVeryLoose", value: 150 }
|
|
190221
|
-
];
|
|
190222
190767
|
var GOOGLE_FONTS_CSS2_BASE = "https://fonts.googleapis.com/css2";
|
|
190223
190768
|
var GOOGLE_WEBFONT_AXIS = "ital,wght@0,400;0,700;1,400;1,700";
|
|
190224
190769
|
var DISPLAY_PARAM = "display=swap";
|
|
@@ -192429,7 +192974,7 @@ function isBulletMarker(segment) {
|
|
|
192429
192974
|
const marker = bullet.char ? `${bullet.char} ` : bullet.imageRelId || bullet.imageDataUrl ? "\u{1F4CE} " : "\u2022 ";
|
|
192430
192975
|
return segment.text === marker;
|
|
192431
192976
|
}
|
|
192432
|
-
function
|
|
192977
|
+
function isParagraphSeparator(segment) {
|
|
192433
192978
|
return Boolean(segment.isParagraphBreak) || segment.text === "\n" && !segment.isLineBreak;
|
|
192434
192979
|
}
|
|
192435
192980
|
function groupElementParagraphs(element) {
|
|
@@ -192443,7 +192988,7 @@ function groupElementParagraphs(element) {
|
|
|
192443
192988
|
}
|
|
192444
192989
|
const groups = [{ content: [] }];
|
|
192445
192990
|
for (const segment of segments) {
|
|
192446
|
-
if (
|
|
192991
|
+
if (isParagraphSeparator(segment)) {
|
|
192447
192992
|
groups.push({ content: [] });
|
|
192448
192993
|
continue;
|
|
192449
192994
|
}
|
|
@@ -192535,8 +193080,37 @@ function buildElementClipboardPayload(element, isTemplate) {
|
|
|
192535
193080
|
function cloneElementForPaste(element, options = {}) {
|
|
192536
193081
|
const clone3 = structuredClone(element);
|
|
192537
193082
|
const intoTemplate = options.intoTemplate ?? false;
|
|
192538
|
-
|
|
192539
|
-
|
|
193083
|
+
const modelIds = /* @__PURE__ */ new Map();
|
|
193084
|
+
const nativeIds = /* @__PURE__ */ new Map();
|
|
193085
|
+
const mintId = (node) => {
|
|
193086
|
+
const id = makeCloneId(intoTemplate, element.id);
|
|
193087
|
+
modelIds.set(node.id, id);
|
|
193088
|
+
if (node.shapeId !== void 0) {
|
|
193089
|
+
nativeIds.set(node.shapeId, id);
|
|
193090
|
+
}
|
|
193091
|
+
delete node.shapeId;
|
|
193092
|
+
return id;
|
|
193093
|
+
};
|
|
193094
|
+
clone3.id = mintId(clone3);
|
|
193095
|
+
reassignDescendantIds(clone3, mintId);
|
|
193096
|
+
const remapConnections = (node) => {
|
|
193097
|
+
if (node.type === "group") {
|
|
193098
|
+
node.children.forEach(remapConnections);
|
|
193099
|
+
}
|
|
193100
|
+
if (node.type !== "connector") {
|
|
193101
|
+
return;
|
|
193102
|
+
}
|
|
193103
|
+
for (const ref of [
|
|
193104
|
+
node.shapeStyle?.connectorStartConnection,
|
|
193105
|
+
node.shapeStyle?.connectorEndConnection
|
|
193106
|
+
]) {
|
|
193107
|
+
if (!ref?.shapeId) {
|
|
193108
|
+
continue;
|
|
193109
|
+
}
|
|
193110
|
+
ref.shapeId = modelIds.get(ref.shapeId) ?? nativeIds.get(ref.shapeId) ?? ref.shapeId;
|
|
193111
|
+
}
|
|
193112
|
+
};
|
|
193113
|
+
remapConnections(clone3);
|
|
192540
193114
|
clone3.x += options.offsetX ?? PASTE_OFFSET_PX;
|
|
192541
193115
|
clone3.y += options.offsetY ?? PASTE_OFFSET_PX;
|
|
192542
193116
|
return clone3;
|
|
@@ -192777,6 +193351,7 @@ var GUARD_DEFAULTS = {
|
|
|
192777
193351
|
canEdit: true,
|
|
192778
193352
|
isPresenting: false,
|
|
192779
193353
|
hasSelection: false,
|
|
193354
|
+
canPaste: true,
|
|
192780
193355
|
isEditingText: false,
|
|
192781
193356
|
isDrawing: false,
|
|
192782
193357
|
isTextInputTarget: false
|
|
@@ -192834,6 +193409,9 @@ function mapEditorKey(input, guard = {}) {
|
|
|
192834
193409
|
if (mod && !alt) {
|
|
192835
193410
|
const chord2 = resolveChord(key2, Boolean(input.shiftKey), state.hasSelection);
|
|
192836
193411
|
if (chord2) {
|
|
193412
|
+
if (chord2.action === "paste" && state.canPaste === false) {
|
|
193413
|
+
return NO_ACTION;
|
|
193414
|
+
}
|
|
192837
193415
|
return chord2;
|
|
192838
193416
|
}
|
|
192839
193417
|
}
|
|
@@ -196144,6 +196722,12 @@ var COMMON_FONTS = [
|
|
|
196144
196722
|
"Tw Cen MT",
|
|
196145
196723
|
"Verdana"
|
|
196146
196724
|
];
|
|
196725
|
+
function prepareElementForInsertion(element, target) {
|
|
196726
|
+
if (!target.canEdit || target.mode !== "edit" || !target.hasActiveSlide || target.editTemplateMode) {
|
|
196727
|
+
return void 0;
|
|
196728
|
+
}
|
|
196729
|
+
return cloneElementForPaste(element, { offsetX: 0, offsetY: 0 });
|
|
196730
|
+
}
|
|
196147
196731
|
function isHeaderFooterDateTextVisible(draft) {
|
|
196148
196732
|
return Boolean(draft.hasDateTime) && !draft.dateTimeAuto;
|
|
196149
196733
|
}
|
|
@@ -199873,10 +200457,15 @@ function resolveSlideSizeRescaleTransform(oldSize, newSize, mode) {
|
|
|
199873
200457
|
};
|
|
199874
200458
|
}
|
|
199875
200459
|
function scaleTextSegment(segment, scale2) {
|
|
199876
|
-
|
|
200460
|
+
const insertion = segment.paragraphInsertionStyle;
|
|
200461
|
+
if (typeof segment.style.fontSize !== "number" && typeof insertion?.fontSize !== "number") {
|
|
199877
200462
|
return segment;
|
|
199878
200463
|
}
|
|
199879
|
-
return {
|
|
200464
|
+
return {
|
|
200465
|
+
...segment,
|
|
200466
|
+
...typeof segment.style.fontSize === "number" ? { style: { ...segment.style, fontSize: segment.style.fontSize * scale2 } } : {},
|
|
200467
|
+
...typeof insertion?.fontSize === "number" ? { paragraphInsertionStyle: { ...insertion, fontSize: insertion.fontSize * scale2 } } : {}
|
|
200468
|
+
};
|
|
199880
200469
|
}
|
|
199881
200470
|
function scaleFontSizesDeep(element, scale2) {
|
|
199882
200471
|
let next = element;
|
|
@@ -200689,6 +201278,50 @@ function wrapForeignObjectSvg(bodyMarkup, tile) {
|
|
|
200689
201278
|
const { viewBoxX, viewBoxY, viewBoxWidth, viewBoxHeight, outputWidth, outputHeight } = tile;
|
|
200690
201279
|
return `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="${outputWidth}" height="${outputHeight}" viewBox="${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}">${bodyMarkup}</svg>`;
|
|
200691
201280
|
}
|
|
201281
|
+
var DEFAULTS2 = {
|
|
201282
|
+
fitPadding: { horizontal: 0, vertical: 0 },
|
|
201283
|
+
maxFitScale: null
|
|
201284
|
+
};
|
|
201285
|
+
function validPadding(value, fallback) {
|
|
201286
|
+
return Number.isFinite(value) && value >= 0 ? value : fallback;
|
|
201287
|
+
}
|
|
201288
|
+
function resolveViewportFitOptions(options = {}, defaults = DEFAULTS2) {
|
|
201289
|
+
const base = typeof defaults.fitPadding === "number" ? { horizontal: defaults.fitPadding, vertical: defaults.fitPadding } : defaults.fitPadding;
|
|
201290
|
+
const padding = options.fitPadding ?? base;
|
|
201291
|
+
const horizontal = typeof padding === "number" ? padding : padding.horizontal;
|
|
201292
|
+
const vertical = typeof padding === "number" ? padding : padding.vertical;
|
|
201293
|
+
const cap = options.maxFitScale;
|
|
201294
|
+
return {
|
|
201295
|
+
fitPadding: {
|
|
201296
|
+
horizontal: validPadding(horizontal, base.horizontal),
|
|
201297
|
+
vertical: validPadding(vertical, base.vertical)
|
|
201298
|
+
},
|
|
201299
|
+
maxFitScale: cap === null ? null : typeof cap === "number" && Number.isFinite(cap) && cap > 0 ? cap : defaults.maxFitScale
|
|
201300
|
+
};
|
|
201301
|
+
}
|
|
201302
|
+
function calculateViewportFit(input, defaults = DEFAULTS2) {
|
|
201303
|
+
const { fitPadding, maxFitScale } = resolveViewportFitOptions(input, defaults);
|
|
201304
|
+
const availableWidth = Math.max(
|
|
201305
|
+
0,
|
|
201306
|
+
validPadding(input.viewportWidth, 0) - 2 * fitPadding.horizontal - validPadding(input.horizontalGutter ?? 0, 0)
|
|
201307
|
+
);
|
|
201308
|
+
const availableHeight = Math.max(
|
|
201309
|
+
0,
|
|
201310
|
+
validPadding(input.viewportHeight, 0) - 2 * fitPadding.vertical - validPadding(input.verticalGutter ?? 0, 0)
|
|
201311
|
+
);
|
|
201312
|
+
const fallback = typeof input.fallbackScale === "number" && Number.isFinite(input.fallbackScale) && input.fallbackScale > 0 ? input.fallbackScale : 1;
|
|
201313
|
+
const validCanvas = Number.isFinite(input.canvasWidth) && input.canvasWidth > 0 && Number.isFinite(input.canvasHeight) && input.canvasHeight > 0;
|
|
201314
|
+
const scale2 = availableWidth > 0 && availableHeight > 0 && validCanvas ? Math.min(
|
|
201315
|
+
availableWidth / input.canvasWidth,
|
|
201316
|
+
availableHeight / input.canvasHeight,
|
|
201317
|
+
maxFitScale ?? Number.POSITIVE_INFINITY
|
|
201318
|
+
) : fallback;
|
|
201319
|
+
return {
|
|
201320
|
+
scale: Number.isFinite(scale2) && scale2 > 0 ? scale2 : fallback,
|
|
201321
|
+
availableWidth,
|
|
201322
|
+
availableHeight
|
|
201323
|
+
};
|
|
201324
|
+
}
|
|
200692
201325
|
var FALLBACK_DOWNLOAD_NAME = "presentation.pptx";
|
|
200693
201326
|
var REVOKE_DELAY_MS = 200;
|
|
200694
201327
|
var OPEN_REVOKE_DELAY_MS = 6e4;
|
|
@@ -203085,4 +203718,4 @@ async function rasterResultToPngBlob(result) {
|
|
|
203085
203718
|
* `<p:extLst>` (optional)
|
|
203086
203719
|
*/
|
|
203087
203720
|
|
|
203088
|
-
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_TYPE_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, restoreFilteredSeries, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
|
|
203721
|
+
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_TYPE_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyListStyleUpdate, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, prepareElementForInsertion, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, resolveViewportFitOptions, restoreFilteredSeries, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, selectedParagraphBulletKind, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, updateTextSegmentStyle, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
|