pptx-react-viewer 2.10.0 → 2.11.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 +4 -0
- package/dist/{AiChatPanel-KTMWRUD5.js → AiChatPanel-E6W3EACA.js} +23 -23
- package/dist/AiChatPanel-E6W3EACA.js.br +0 -0
- package/dist/AiChatPanel-E6W3EACA.js.gz +0 -0
- package/dist/{AiChatPanel-35CHYS5N.mjs → AiChatPanel-RMQIJDUJ.mjs} +4 -4
- package/dist/AiChatPanel-RMQIJDUJ.mjs.br +0 -0
- package/dist/AiChatPanel-RMQIJDUJ.mjs.gz +0 -0
- package/dist/{Model3DScene-TMNUKCL6.js → Model3DScene-U4B4NZJT.js} +2 -2
- package/dist/Model3DScene-U4B4NZJT.js.br +0 -0
- package/dist/Model3DScene-U4B4NZJT.js.gz +0 -0
- package/dist/{Model3DScene-2VMN3B65.mjs → Model3DScene-WHSHBMR5.mjs} +1 -1
- package/dist/Model3DScene-WHSHBMR5.mjs.br +0 -0
- package/dist/Model3DScene-WHSHBMR5.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-KPNP3QD5.js → SurfaceChart3DScene-5S43UBRD.js} +2 -2
- package/dist/SurfaceChart3DScene-5S43UBRD.js.br +0 -0
- package/dist/SurfaceChart3DScene-5S43UBRD.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-GKRDDN2U.mjs → SurfaceChart3DScene-77JP5XH5.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-GKRDDN2U.mjs.br → SurfaceChart3DScene-77JP5XH5.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-77JP5XH5.mjs.gz +0 -0
- package/dist/{chunk-FY2AFXKP.mjs → chunk-DD54KUDG.mjs} +29 -4
- package/dist/chunk-DD54KUDG.mjs.br +0 -0
- package/dist/chunk-DD54KUDG.mjs.gz +0 -0
- package/dist/{chunk-IJVDNQLG.js → chunk-FAP6OPLL.js} +275 -249
- package/dist/chunk-FAP6OPLL.js.br +0 -0
- package/dist/chunk-FAP6OPLL.js.gz +0 -0
- package/dist/{chunk-TJ55KUWH.mjs → chunk-FV7HEYCX.mjs} +1069 -114
- package/dist/chunk-FV7HEYCX.mjs.br +0 -0
- package/dist/chunk-FV7HEYCX.mjs.gz +0 -0
- package/dist/{chunk-LXTKPSIG.mjs → chunk-HF6L2CTF.mjs} +1 -1
- package/dist/chunk-HF6L2CTF.mjs.br +0 -0
- package/dist/chunk-HF6L2CTF.mjs.gz +0 -0
- package/dist/{chunk-MMK4K3QI.js → chunk-IOVOQ6ZJ.js} +136 -1
- package/dist/chunk-IOVOQ6ZJ.js.br +0 -0
- package/dist/chunk-IOVOQ6ZJ.js.gz +0 -0
- package/dist/{chunk-JWMXOYSX.js → chunk-IXBM3HWH.js} +2289 -1824
- package/dist/chunk-IXBM3HWH.js.br +0 -0
- package/dist/chunk-IXBM3HWH.js.gz +0 -0
- package/dist/{chunk-H74UXL4Q.js → chunk-KDJBWJJH.js} +1102 -113
- package/dist/chunk-KDJBWJJH.js.br +0 -0
- package/dist/chunk-KDJBWJJH.js.gz +0 -0
- package/dist/{chunk-OHPF2HTP.mjs → chunk-NJ4PTG4F.mjs} +40 -28
- package/dist/chunk-NJ4PTG4F.mjs.br +0 -0
- package/dist/chunk-NJ4PTG4F.mjs.gz +0 -0
- package/dist/{chunk-LCG7WBAG.mjs → chunk-PXYZFWDA.mjs} +625 -160
- package/dist/chunk-PXYZFWDA.mjs.br +0 -0
- package/dist/chunk-PXYZFWDA.mjs.gz +0 -0
- package/dist/{chunk-A7HLINZU.js → chunk-QT6BPOZM.js} +361 -349
- package/dist/chunk-QT6BPOZM.js.br +0 -0
- package/dist/chunk-QT6BPOZM.js.gz +0 -0
- package/dist/{chunk-SL3XPERE.mjs → chunk-RHR7GTDX.mjs} +136 -1
- package/dist/chunk-RHR7GTDX.mjs.br +0 -0
- package/dist/chunk-RHR7GTDX.mjs.gz +0 -0
- package/dist/{chunk-SPJR6MPI.js → chunk-X3SFCKAF.js} +3 -3
- package/dist/chunk-X3SFCKAF.js.br +0 -0
- package/dist/chunk-X3SFCKAF.js.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 +28 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -36
- 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/{useViewerBuildingBlocks-CpUwhBD5.d.ts → useViewerBuildingBlocks-YvCYsxa3.d.ts} +21 -5
- package/dist/useViewerBuildingBlocks-YvCYsxa3.d.ts.map +1 -0
- package/dist/viewer/index.js +22 -22
- 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-35CHYS5N.mjs.br +0 -0
- package/dist/AiChatPanel-35CHYS5N.mjs.gz +0 -0
- package/dist/AiChatPanel-KTMWRUD5.js.br +0 -0
- package/dist/AiChatPanel-KTMWRUD5.js.gz +0 -0
- package/dist/Model3DScene-2VMN3B65.mjs.br +0 -0
- package/dist/Model3DScene-2VMN3B65.mjs.gz +0 -0
- package/dist/Model3DScene-TMNUKCL6.js.br +0 -0
- package/dist/Model3DScene-TMNUKCL6.js.gz +0 -0
- package/dist/SurfaceChart3DScene-GKRDDN2U.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.br +0 -0
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.gz +0 -0
- package/dist/chunk-A7HLINZU.js.br +0 -0
- package/dist/chunk-A7HLINZU.js.gz +0 -0
- package/dist/chunk-FY2AFXKP.mjs.br +0 -0
- package/dist/chunk-FY2AFXKP.mjs.gz +0 -0
- package/dist/chunk-H74UXL4Q.js.br +0 -0
- package/dist/chunk-H74UXL4Q.js.gz +0 -0
- package/dist/chunk-IJVDNQLG.js.br +0 -0
- package/dist/chunk-IJVDNQLG.js.gz +0 -0
- package/dist/chunk-JWMXOYSX.js.br +0 -0
- package/dist/chunk-JWMXOYSX.js.gz +0 -0
- package/dist/chunk-LCG7WBAG.mjs.br +0 -0
- package/dist/chunk-LCG7WBAG.mjs.gz +0 -0
- package/dist/chunk-LXTKPSIG.mjs.br +0 -0
- package/dist/chunk-LXTKPSIG.mjs.gz +0 -0
- package/dist/chunk-MMK4K3QI.js.br +0 -0
- package/dist/chunk-MMK4K3QI.js.gz +0 -0
- package/dist/chunk-OHPF2HTP.mjs.br +0 -0
- package/dist/chunk-OHPF2HTP.mjs.gz +0 -0
- package/dist/chunk-SL3XPERE.mjs.br +0 -0
- package/dist/chunk-SL3XPERE.mjs.gz +0 -0
- package/dist/chunk-SPJR6MPI.js.br +0 -0
- package/dist/chunk-SPJR6MPI.js.gz +0 -0
- package/dist/chunk-TJ55KUWH.mjs.br +0 -0
- package/dist/chunk-TJ55KUWH.mjs.gz +0 -0
- package/dist/useViewerBuildingBlocks-CpUwhBD5.d.ts.map +0 -1
|
@@ -46601,8 +46601,8 @@ function applyImageColorEffects(blip, effects, parseColor, extractOpacity) {
|
|
|
46601
46601
|
const rawFrom = child19(change.rawXml, "clrFrom");
|
|
46602
46602
|
const rawTo = child19(change.rawXml, "clrTo");
|
|
46603
46603
|
const rawTransparent = rawTo ? (opacity(rawTo, extractOpacity) ?? 1) <= 0 : void 0;
|
|
46604
|
-
const
|
|
46605
|
-
if (
|
|
46604
|
+
const unchanged2 = sameRawColor(rawFrom, change.clrFrom, parseColor) && sameRawColor(rawTo, change.clrTo, parseColor) && (rawTransparent === void 0 || change.clrToTransparent === rawTransparent);
|
|
46605
|
+
if (unchanged2 && change.rawXml) {
|
|
46606
46606
|
setChild6(blip, "clrChange", change.rawXml);
|
|
46607
46607
|
} else {
|
|
46608
46608
|
const fromChoice = sameRawColor(rawFrom, change.clrFrom, parseColor) ? extractColorChoiceXml(rawFrom) : buildSrgbColorChoice(change.clrFrom);
|
|
@@ -50607,8 +50607,8 @@ var PptxHandlerRuntime14 = class extends PptxHandlerRuntime13 {
|
|
|
50607
50607
|
}
|
|
50608
50608
|
const notesBodyShape = shapes.find((shape) => {
|
|
50609
50609
|
const placeholder = shape?.["p:nvSpPr"]?.["p:nvPr"]?.["p:ph"];
|
|
50610
|
-
const
|
|
50611
|
-
return
|
|
50610
|
+
const placeholderType2 = String(placeholder?.["@_type"] || "").trim().toLowerCase();
|
|
50611
|
+
return placeholderType2 === "body";
|
|
50612
50612
|
}) || shapes.find((shape) => Boolean(shape?.["p:txBody"])) || shapes[0];
|
|
50613
50613
|
if (!notesBodyShape) {
|
|
50614
50614
|
return false;
|
|
@@ -51446,10 +51446,16 @@ var PptxHandlerRuntime17 = class extends PptxHandlerRuntime16 {
|
|
|
51446
51446
|
* survive a save: collapsing them to the plain-text path silently downgrades
|
|
51447
51447
|
* a field to static text (e.g. a slide-number field becomes a frozen number)
|
|
51448
51448
|
* or drops the equation, ruby, or bullet.
|
|
51449
|
+
*
|
|
51450
|
+
* `paragraphLevel` (`a:pPr/@lvl`) belongs on this list for the same reason
|
|
51451
|
+
* and used to be missing from it: a nested bullet whose runs all share one
|
|
51452
|
+
* style looked "uniform", so the save path discarded its segments and rebuilt
|
|
51453
|
+
* the paragraph from the flat string, which carries no indent level. Every
|
|
51454
|
+
* such paragraph came back from a round-trip flattened to the top level.
|
|
51449
51455
|
*/
|
|
51450
51456
|
isStructuralTextSegment(segment) {
|
|
51451
51457
|
return Boolean(
|
|
51452
|
-
segment.fieldType || segment.equationXml || segment.rubyText || segment.bulletInfo
|
|
51458
|
+
segment.fieldType || segment.equationXml || segment.rubyText || segment.bulletInfo || segment.paragraphLevel
|
|
51453
51459
|
);
|
|
51454
51460
|
}
|
|
51455
51461
|
areTextSegmentsUniform(textSegments) {
|
|
@@ -87140,6 +87146,105 @@ function resolveDataPointExplosion(series, pointIndex) {
|
|
|
87140
87146
|
const point = findDataPoint(series, pointIndex);
|
|
87141
87147
|
return point?.explosion ?? series.explosion ?? 0;
|
|
87142
87148
|
}
|
|
87149
|
+
function resolveDataPointMarker(series, pointIndex) {
|
|
87150
|
+
const point = findDataPoint(series, pointIndex)?.marker;
|
|
87151
|
+
return {
|
|
87152
|
+
symbol: point?.symbol ?? series.marker?.symbol,
|
|
87153
|
+
size: point?.size ?? series.marker?.size,
|
|
87154
|
+
fill: point?.spPr?.fillColor ?? series.marker?.spPr?.fillColor
|
|
87155
|
+
};
|
|
87156
|
+
}
|
|
87157
|
+
function schemaLabel(keys, token2, translate) {
|
|
87158
|
+
if (token2 === void 0) {
|
|
87159
|
+
return "";
|
|
87160
|
+
}
|
|
87161
|
+
const key = keys[token2];
|
|
87162
|
+
return key === void 0 ? token2 : translate(key);
|
|
87163
|
+
}
|
|
87164
|
+
var THEME_COLOR_SLOT_LABEL_KEYS = {
|
|
87165
|
+
dk1: "pptx.themeColor.dark1",
|
|
87166
|
+
lt1: "pptx.themeColor.light1",
|
|
87167
|
+
dk2: "pptx.themeColor.dark2",
|
|
87168
|
+
lt2: "pptx.themeColor.light2",
|
|
87169
|
+
accent1: "pptx.themeColor.accent1",
|
|
87170
|
+
accent2: "pptx.themeColor.accent2",
|
|
87171
|
+
accent3: "pptx.themeColor.accent3",
|
|
87172
|
+
accent4: "pptx.themeColor.accent4",
|
|
87173
|
+
accent5: "pptx.themeColor.accent5",
|
|
87174
|
+
accent6: "pptx.themeColor.accent6",
|
|
87175
|
+
hlink: "pptx.themeColor.hyperlink",
|
|
87176
|
+
folHlink: "pptx.themeColor.followedHyperlink"
|
|
87177
|
+
};
|
|
87178
|
+
var SMARTART_COLOR_SCHEME_LABEL_KEYS = {
|
|
87179
|
+
colorful1: "pptx.smartart.schemeColorful1",
|
|
87180
|
+
colorful2: "pptx.smartart.schemeColorful2",
|
|
87181
|
+
colorful3: "pptx.smartart.schemeColorful3",
|
|
87182
|
+
monochromatic1: "pptx.smartart.schemeMonochromatic1",
|
|
87183
|
+
monochromatic2: "pptx.smartart.schemeMonochromatic2"
|
|
87184
|
+
};
|
|
87185
|
+
var SMARTART_STYLE_LABEL_KEYS = {
|
|
87186
|
+
flat: "pptx.smartart.styleFlat",
|
|
87187
|
+
moderate: "pptx.smartart.styleModerate",
|
|
87188
|
+
intense: "pptx.smartart.styleIntense"
|
|
87189
|
+
};
|
|
87190
|
+
var FILL_PATTERN_LABEL_KEYS = {
|
|
87191
|
+
pct5: "pptx.fillPatterns.pct5",
|
|
87192
|
+
pct10: "pptx.fillPatterns.pct10",
|
|
87193
|
+
pct20: "pptx.fillPatterns.pct20",
|
|
87194
|
+
pct25: "pptx.fillPatterns.pct25",
|
|
87195
|
+
pct30: "pptx.fillPatterns.pct30",
|
|
87196
|
+
pct40: "pptx.fillPatterns.pct40",
|
|
87197
|
+
pct50: "pptx.fillPatterns.pct50",
|
|
87198
|
+
pct60: "pptx.fillPatterns.pct60",
|
|
87199
|
+
pct70: "pptx.fillPatterns.pct70",
|
|
87200
|
+
pct75: "pptx.fillPatterns.pct75",
|
|
87201
|
+
pct80: "pptx.fillPatterns.pct80",
|
|
87202
|
+
pct90: "pptx.fillPatterns.pct90",
|
|
87203
|
+
horz: "pptx.fillPatterns.horizontal",
|
|
87204
|
+
vert: "pptx.fillPatterns.vertical",
|
|
87205
|
+
ltHorz: "pptx.fillPatterns.lightHorizontal",
|
|
87206
|
+
ltVert: "pptx.fillPatterns.lightVertical",
|
|
87207
|
+
dkHorz: "pptx.fillPatterns.darkHorizontal",
|
|
87208
|
+
dkVert: "pptx.fillPatterns.darkVertical",
|
|
87209
|
+
narHorz: "pptx.fillPatterns.narrowHorizontal",
|
|
87210
|
+
narVert: "pptx.fillPatterns.narrowVertical",
|
|
87211
|
+
wdHorz: "pptx.fillPatterns.wideHorizontal",
|
|
87212
|
+
wdVert: "pptx.fillPatterns.wideVertical",
|
|
87213
|
+
dashHorz: "pptx.fillPatterns.dashedHorizontal",
|
|
87214
|
+
dashVert: "pptx.fillPatterns.dashedVertical",
|
|
87215
|
+
cross: "pptx.fillPatterns.cross",
|
|
87216
|
+
dnDiag: "pptx.fillPatterns.downDiagonal",
|
|
87217
|
+
upDiag: "pptx.fillPatterns.upDiagonal",
|
|
87218
|
+
ltDnDiag: "pptx.fillPatterns.lightDownDiagonal",
|
|
87219
|
+
ltUpDiag: "pptx.fillPatterns.lightUpDiagonal",
|
|
87220
|
+
dkDnDiag: "pptx.fillPatterns.darkDownDiagonal",
|
|
87221
|
+
dkUpDiag: "pptx.fillPatterns.darkUpDiagonal",
|
|
87222
|
+
wdDnDiag: "pptx.fillPatterns.wideDownDiagonal",
|
|
87223
|
+
wdUpDiag: "pptx.fillPatterns.wideUpDiagonal",
|
|
87224
|
+
dashDnDiag: "pptx.fillPatterns.dashedDownDiagonal",
|
|
87225
|
+
dashUpDiag: "pptx.fillPatterns.dashedUpDiagonal",
|
|
87226
|
+
diagCross: "pptx.fillPatterns.diagonalCross",
|
|
87227
|
+
smCheck: "pptx.fillPatterns.smallCheck",
|
|
87228
|
+
lgCheck: "pptx.fillPatterns.largeCheck",
|
|
87229
|
+
smGrid: "pptx.fillPatterns.smallGrid",
|
|
87230
|
+
lgGrid: "pptx.fillPatterns.largeGrid",
|
|
87231
|
+
dotGrid: "pptx.fillPatterns.dotGrid",
|
|
87232
|
+
smConfetti: "pptx.fillPatterns.smallConfetti",
|
|
87233
|
+
lgConfetti: "pptx.fillPatterns.largeConfetti",
|
|
87234
|
+
horzBrick: "pptx.fillPatterns.horizontalBrick",
|
|
87235
|
+
diagBrick: "pptx.fillPatterns.diagonalBrick",
|
|
87236
|
+
solidDmnd: "pptx.fillPatterns.solidDiamond",
|
|
87237
|
+
openDmnd: "pptx.fillPatterns.openDiamond",
|
|
87238
|
+
dotDmnd: "pptx.fillPatterns.dottedDiamond",
|
|
87239
|
+
plaid: "pptx.fillPatterns.plaid",
|
|
87240
|
+
sphere: "pptx.fillPatterns.sphere",
|
|
87241
|
+
weave: "pptx.fillPatterns.weave",
|
|
87242
|
+
divot: "pptx.fillPatterns.divot",
|
|
87243
|
+
shingle: "pptx.fillPatterns.shingle",
|
|
87244
|
+
wave: "pptx.fillPatterns.wave",
|
|
87245
|
+
trellis: "pptx.fillPatterns.trellis",
|
|
87246
|
+
zigZag: "pptx.fillPatterns.zigZag"
|
|
87247
|
+
};
|
|
87143
87248
|
function addChartSeries(data) {
|
|
87144
87249
|
return chartDataAddSeries(data, {
|
|
87145
87250
|
name: `Series ${data.series.length + 1}`,
|
|
@@ -88027,13 +88132,16 @@ function buildMarkerPrimitive(input) {
|
|
|
88027
88132
|
return { kind: "circle", cx, cy, r, fill, part };
|
|
88028
88133
|
}
|
|
88029
88134
|
}
|
|
88030
|
-
function pushMarker(out, series, cx, cy, fill, defaultRadius2, part, opacity2) {
|
|
88135
|
+
function pushMarker(out, series, pointIndex, cx, cy, fill, defaultRadius2, part, opacity2) {
|
|
88136
|
+
const marker = resolveDataPointMarker(series, pointIndex);
|
|
88031
88137
|
const m = buildMarkerPrimitive({
|
|
88032
|
-
symbol:
|
|
88033
|
-
size:
|
|
88138
|
+
symbol: marker.symbol,
|
|
88139
|
+
size: marker.size,
|
|
88034
88140
|
cx,
|
|
88035
88141
|
cy,
|
|
88036
|
-
fill,
|
|
88142
|
+
// A marker fill (series or per-point) wins over the plot fill, which is
|
|
88143
|
+
// what the line/area body is drawn with.
|
|
88144
|
+
fill: marker.fill ?? fill,
|
|
88037
88145
|
defaultRadius: defaultRadius2,
|
|
88038
88146
|
part
|
|
88039
88147
|
});
|
|
@@ -88113,6 +88221,7 @@ function buildLines(chartData, catCount, layout, primaryRange, secondaryRange, s
|
|
|
88113
88221
|
pushMarker(
|
|
88114
88222
|
primitives,
|
|
88115
88223
|
series,
|
|
88224
|
+
idx,
|
|
88116
88225
|
pt.x,
|
|
88117
88226
|
pt.y,
|
|
88118
88227
|
resolveDataPointFill(series, idx, c) ?? c,
|
|
@@ -88184,6 +88293,7 @@ function buildAreas(chartData, catCount, layout, range, sourceIndices2, xPositio
|
|
|
88184
88293
|
pushMarker(
|
|
88185
88294
|
primitives,
|
|
88186
88295
|
series,
|
|
88296
|
+
idx,
|
|
88187
88297
|
pt.x,
|
|
88188
88298
|
pt.y,
|
|
88189
88299
|
resolveDataPointFill(series, idx, c) ?? c,
|
|
@@ -88227,6 +88337,7 @@ function buildScatter(chartData, layout, range) {
|
|
|
88227
88337
|
pushMarker(
|
|
88228
88338
|
primitives,
|
|
88229
88339
|
series,
|
|
88340
|
+
vi,
|
|
88230
88341
|
dot.cx,
|
|
88231
88342
|
dot.cy,
|
|
88232
88343
|
resolveDataPointFill(series, vi, c) ?? c,
|
|
@@ -93696,6 +93807,10 @@ function applyFlyDirection(effect, subtype) {
|
|
|
93696
93807
|
const suffix = `${edge.charAt(0).toUpperCase()}${edge.slice(1)}`;
|
|
93697
93808
|
return `${prefix}${suffix}`;
|
|
93698
93809
|
}
|
|
93810
|
+
function slideOffset(percent2, axis) {
|
|
93811
|
+
const fallback = axis === "w" ? "1280px" : "720px";
|
|
93812
|
+
return `calc(var(--pptx-slide-${axis}, ${fallback}) * ${(percent2 / 100).toFixed(4)})`;
|
|
93813
|
+
}
|
|
93699
93814
|
function buildDynamicKeyframe(anim, uid) {
|
|
93700
93815
|
if (anim.motionPath) {
|
|
93701
93816
|
const name = `pptx-tl-motion-${uid}`;
|
|
@@ -93706,8 +93821,8 @@ function buildDynamicKeyframe(anim, uid) {
|
|
|
93706
93821
|
const lines = [];
|
|
93707
93822
|
for (let i = 0; i < points3.length; i++) {
|
|
93708
93823
|
const pct = Math.round(i / (points3.length - 1) * 100);
|
|
93709
|
-
const tx = points3[i].x
|
|
93710
|
-
const ty = points3[i].y
|
|
93824
|
+
const tx = slideOffset(points3[i].x, "w");
|
|
93825
|
+
const ty = slideOffset(points3[i].y, "h");
|
|
93711
93826
|
if (anim.motionPathRotateAuto) {
|
|
93712
93827
|
const next = i < points3.length - 1 ? points3[i + 1] : points3[i];
|
|
93713
93828
|
const prev = i > 0 ? points3[i - 1] : points3[i];
|
|
@@ -93715,10 +93830,10 @@ function buildDynamicKeyframe(anim, uid) {
|
|
|
93715
93830
|
const dy = i < points3.length - 1 ? next.y - points3[i].y : points3[i].y - prev.y;
|
|
93716
93831
|
const angleDeg = Math.atan2(dy, dx) * (180 / Math.PI);
|
|
93717
93832
|
lines.push(
|
|
93718
|
-
` ${pct}% { transform: translate(${tx}
|
|
93833
|
+
` ${pct}% { transform: translate(${tx}, ${ty}) rotate(${angleDeg.toFixed(2)}deg); }`
|
|
93719
93834
|
);
|
|
93720
93835
|
} else {
|
|
93721
|
-
lines.push(` ${pct}% { transform: translate(${tx}
|
|
93836
|
+
lines.push(` ${pct}% { transform: translate(${tx}, ${ty}); }`);
|
|
93722
93837
|
}
|
|
93723
93838
|
}
|
|
93724
93839
|
return {
|
|
@@ -94853,6 +94968,422 @@ var TimelineEngine = class _TimelineEngine {
|
|
|
94853
94968
|
}
|
|
94854
94969
|
}
|
|
94855
94970
|
};
|
|
94971
|
+
var PRESET_TO_EFFECT = {
|
|
94972
|
+
fadeIn: "fadeIn",
|
|
94973
|
+
flyIn: "flyInBottom",
|
|
94974
|
+
zoomIn: "zoomIn",
|
|
94975
|
+
fadeOut: "fadeOut",
|
|
94976
|
+
flyOut: "flyOutBottom",
|
|
94977
|
+
zoomOut: "zoomOut",
|
|
94978
|
+
spin: "spin",
|
|
94979
|
+
pulse: "pulse",
|
|
94980
|
+
colorWave: "colorWave",
|
|
94981
|
+
bounce: "bounce",
|
|
94982
|
+
flash: "flash"
|
|
94983
|
+
};
|
|
94984
|
+
var DIRECTION_FLY_MAP = {
|
|
94985
|
+
fromLeft: { flyIn: "flyInLeft", flyOut: "flyOutLeft" },
|
|
94986
|
+
fromRight: { flyIn: "flyInRight", flyOut: "flyOutRight" },
|
|
94987
|
+
fromTop: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
94988
|
+
fromBottom: { flyIn: "flyInBottom", flyOut: "flyOutBottom" },
|
|
94989
|
+
fromTopLeft: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
94990
|
+
fromTopRight: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
94991
|
+
fromBottomLeft: { flyIn: "flyInBottom", flyOut: "flyOutBottom" },
|
|
94992
|
+
fromBottomRight: { flyIn: "flyInBottom", flyOut: "flyOutBottom" }
|
|
94993
|
+
};
|
|
94994
|
+
function resolvePreviewEffect(preset, direction) {
|
|
94995
|
+
if ((preset === "flyIn" || preset === "flyOut") && direction) {
|
|
94996
|
+
const dirMap = DIRECTION_FLY_MAP[direction];
|
|
94997
|
+
if (dirMap) {
|
|
94998
|
+
return preset === "flyIn" ? dirMap.flyIn : dirMap.flyOut;
|
|
94999
|
+
}
|
|
95000
|
+
}
|
|
95001
|
+
return PRESET_TO_EFFECT[preset];
|
|
95002
|
+
}
|
|
95003
|
+
function timingCurveToCss(curve, cubicBezierValues) {
|
|
95004
|
+
if (cubicBezierValues) {
|
|
95005
|
+
const parts = cubicBezierValues.split(",").map((s) => s.trim());
|
|
95006
|
+
if (parts.length === 4 && parts.every((p) => !Number.isNaN(Number(p)))) {
|
|
95007
|
+
return `cubic-bezier(${parts.join(", ")})`;
|
|
95008
|
+
}
|
|
95009
|
+
}
|
|
95010
|
+
switch (curve) {
|
|
95011
|
+
case "ease":
|
|
95012
|
+
return "ease";
|
|
95013
|
+
case "ease-in":
|
|
95014
|
+
return "ease-in";
|
|
95015
|
+
case "ease-out":
|
|
95016
|
+
return "ease-out";
|
|
95017
|
+
case "linear":
|
|
95018
|
+
return "linear";
|
|
95019
|
+
default:
|
|
95020
|
+
return "ease";
|
|
95021
|
+
}
|
|
95022
|
+
}
|
|
95023
|
+
function buildPreviewAnimation(preset, options) {
|
|
95024
|
+
if (preset === "none") {
|
|
95025
|
+
return void 0;
|
|
95026
|
+
}
|
|
95027
|
+
const effectName = resolvePreviewEffect(preset, options?.direction);
|
|
95028
|
+
if (!effectName) {
|
|
95029
|
+
return void 0;
|
|
95030
|
+
}
|
|
95031
|
+
const keyframeName = `pptx-${effectName}`;
|
|
95032
|
+
const keyframesCss = getEffectKeyframes(effectName);
|
|
95033
|
+
if (!keyframesCss) {
|
|
95034
|
+
return void 0;
|
|
95035
|
+
}
|
|
95036
|
+
const duration = options?.durationMs ?? 600;
|
|
95037
|
+
const easing = timingCurveToCss(options?.timingCurve, options?.cubicBezier);
|
|
95038
|
+
return {
|
|
95039
|
+
keyframeName,
|
|
95040
|
+
keyframesCss,
|
|
95041
|
+
cssAnimation: `${keyframeName} ${duration}ms ${easing} 0ms 1 normal both`,
|
|
95042
|
+
durationMs: duration
|
|
95043
|
+
};
|
|
95044
|
+
}
|
|
95045
|
+
var EDITABLE = /* @__PURE__ */ new Set(["M", "L", "C", "Z", "m", "l", "c", "z"]);
|
|
95046
|
+
var ARITY = { m: 2, l: 2, c: 6, z: 0 };
|
|
95047
|
+
function scanPath(path) {
|
|
95048
|
+
const tokens = path.match(/[A-Za-z]|-?\d*\.?\d+(?:[eE][-+]?\d+)?/gu);
|
|
95049
|
+
if (!tokens) {
|
|
95050
|
+
return void 0;
|
|
95051
|
+
}
|
|
95052
|
+
const segments = [];
|
|
95053
|
+
let i = 0;
|
|
95054
|
+
let cmd = "";
|
|
95055
|
+
while (i < tokens.length) {
|
|
95056
|
+
if (/^[A-Za-z]$/u.test(tokens[i])) {
|
|
95057
|
+
cmd = tokens[i];
|
|
95058
|
+
i++;
|
|
95059
|
+
if (!EDITABLE.has(cmd)) {
|
|
95060
|
+
return void 0;
|
|
95061
|
+
}
|
|
95062
|
+
if (cmd === "Z" || cmd === "z") {
|
|
95063
|
+
segments.push({ cmd, coords: [] });
|
|
95064
|
+
}
|
|
95065
|
+
continue;
|
|
95066
|
+
}
|
|
95067
|
+
const arity = ARITY[cmd.toLowerCase()];
|
|
95068
|
+
if (!arity) {
|
|
95069
|
+
return void 0;
|
|
95070
|
+
}
|
|
95071
|
+
const coords = [];
|
|
95072
|
+
for (let n = 0; n < arity; n++) {
|
|
95073
|
+
const value = Number(tokens[i++]);
|
|
95074
|
+
if (!Number.isFinite(value)) {
|
|
95075
|
+
return void 0;
|
|
95076
|
+
}
|
|
95077
|
+
coords.push(value);
|
|
95078
|
+
}
|
|
95079
|
+
segments.push({ cmd, coords });
|
|
95080
|
+
if (cmd === "M") {
|
|
95081
|
+
cmd = "L";
|
|
95082
|
+
} else if (cmd === "m") {
|
|
95083
|
+
cmd = "l";
|
|
95084
|
+
}
|
|
95085
|
+
}
|
|
95086
|
+
return segments.length > 0 ? segments : void 0;
|
|
95087
|
+
}
|
|
95088
|
+
function formatPath(segments) {
|
|
95089
|
+
return segments.map(
|
|
95090
|
+
(segment) => segment.coords.length === 0 ? segment.cmd : `${segment.cmd} ${segment.coords.map((n) => trimNumber(n)).join(" ")}`
|
|
95091
|
+
).join(" ");
|
|
95092
|
+
}
|
|
95093
|
+
function trimNumber(value) {
|
|
95094
|
+
return String(Number(value.toFixed(4)));
|
|
95095
|
+
}
|
|
95096
|
+
function motionPathFractionPoints(path) {
|
|
95097
|
+
return parseMotionPathPoints(path).map((point) => ({ x: point.x / 100, y: point.y / 100 }));
|
|
95098
|
+
}
|
|
95099
|
+
function toPixels(point, frame2) {
|
|
95100
|
+
return {
|
|
95101
|
+
x: frame2.originX + point.x * frame2.slideWidth,
|
|
95102
|
+
y: frame2.originY + point.y * frame2.slideHeight
|
|
95103
|
+
};
|
|
95104
|
+
}
|
|
95105
|
+
function motionPathToSvgD(path, frame2) {
|
|
95106
|
+
const points3 = motionPathFractionPoints(path).map((point) => toPixels(point, frame2));
|
|
95107
|
+
if (points3.length === 0) {
|
|
95108
|
+
return "";
|
|
95109
|
+
}
|
|
95110
|
+
const head = `M ${trimNumber(frame2.originX)} ${trimNumber(frame2.originY)}`;
|
|
95111
|
+
const rest = points3.map((point) => `L ${trimNumber(point.x)} ${trimNumber(point.y)}`);
|
|
95112
|
+
return [head, ...rest].join(" ");
|
|
95113
|
+
}
|
|
95114
|
+
function motionPathEndPixel(path, frame2) {
|
|
95115
|
+
const points3 = motionPathFractionPoints(path);
|
|
95116
|
+
const last = points3.length > 0 ? points3[points3.length - 1] : void 0;
|
|
95117
|
+
return last ? toPixels(last, frame2) : { x: frame2.originX, y: frame2.originY };
|
|
95118
|
+
}
|
|
95119
|
+
function setMotionPathEnd(path, x, y) {
|
|
95120
|
+
const segments = scanPath(path);
|
|
95121
|
+
if (!segments) {
|
|
95122
|
+
return path;
|
|
95123
|
+
}
|
|
95124
|
+
let lastIndex = -1;
|
|
95125
|
+
for (let i = segments.length - 1; i >= 0; i--) {
|
|
95126
|
+
if (segments[i].coords.length > 0) {
|
|
95127
|
+
lastIndex = i;
|
|
95128
|
+
break;
|
|
95129
|
+
}
|
|
95130
|
+
}
|
|
95131
|
+
if (lastIndex < 0 || segments.some((segment) => segment.cmd === "Z" || segment.cmd === "z")) {
|
|
95132
|
+
return path;
|
|
95133
|
+
}
|
|
95134
|
+
const last = segments[lastIndex];
|
|
95135
|
+
if (last.cmd === last.cmd.toLowerCase()) {
|
|
95136
|
+
return path;
|
|
95137
|
+
}
|
|
95138
|
+
const coords = [...last.coords];
|
|
95139
|
+
const endX = coords[coords.length - 2];
|
|
95140
|
+
const endY = coords[coords.length - 1];
|
|
95141
|
+
const dx = x - endX;
|
|
95142
|
+
const dy = y - endY;
|
|
95143
|
+
coords[coords.length - 2] = x;
|
|
95144
|
+
coords[coords.length - 1] = y;
|
|
95145
|
+
if (last.cmd === "C") {
|
|
95146
|
+
coords[2] += dx;
|
|
95147
|
+
coords[3] += dy;
|
|
95148
|
+
}
|
|
95149
|
+
const next = segments.map(
|
|
95150
|
+
(segment, index) => index === lastIndex ? { ...last, coords } : segment
|
|
95151
|
+
);
|
|
95152
|
+
return formatPath(next);
|
|
95153
|
+
}
|
|
95154
|
+
function isEditableMotionPath(path) {
|
|
95155
|
+
const segments = scanPath(path);
|
|
95156
|
+
if (!segments) {
|
|
95157
|
+
return false;
|
|
95158
|
+
}
|
|
95159
|
+
return !segments.some((segment) => segment.cmd === "Z" || segment.cmd === "z");
|
|
95160
|
+
}
|
|
95161
|
+
function buildMotionPathKeyframes(args) {
|
|
95162
|
+
const points3 = motionPathFractionPoints(args.path);
|
|
95163
|
+
if (points3.length < 2) {
|
|
95164
|
+
return void 0;
|
|
95165
|
+
}
|
|
95166
|
+
const frames = points3.map((point, index) => {
|
|
95167
|
+
const percent2 = Math.round(index / (points3.length - 1) * 100);
|
|
95168
|
+
const x = trimNumber(point.x * args.slideWidth);
|
|
95169
|
+
const y = trimNumber(point.y * args.slideHeight);
|
|
95170
|
+
return ` ${percent2}% { transform: translate(${x}px, ${y}px); }`;
|
|
95171
|
+
});
|
|
95172
|
+
return {
|
|
95173
|
+
keyframeName: args.keyframeName,
|
|
95174
|
+
css: `@keyframes ${args.keyframeName} {
|
|
95175
|
+
${frames.join("\n")}
|
|
95176
|
+
}`
|
|
95177
|
+
};
|
|
95178
|
+
}
|
|
95179
|
+
var K = 0.5523;
|
|
95180
|
+
var RX = 0.125;
|
|
95181
|
+
var RY = 0.2222;
|
|
95182
|
+
var CIRCLE = [
|
|
95183
|
+
"M 0 0",
|
|
95184
|
+
`C ${-K * RX} 0 ${-RX} ${-RY + K * RY} ${-RX} ${-RY}`,
|
|
95185
|
+
`C ${-RX} ${-RY - K * RY} ${-K * RX} ${ -2 * RY} 0 ${ -2 * RY}`,
|
|
95186
|
+
`C ${K * RX} ${ -2 * RY} ${RX} ${-RY - K * RY} ${RX} ${-RY}`,
|
|
95187
|
+
`C ${RX} ${-RY + K * RY} ${K * RX} 0 0 0`
|
|
95188
|
+
].join(" ").replace(/(\d\.\d{4})\d+/gu, "$1");
|
|
95189
|
+
var MOTION_PATH_PRESETS2 = [
|
|
95190
|
+
// -- Lines ---------------------------------------------------------------
|
|
95191
|
+
{ id: "lineRight", family: "lines", path: "M 0 0 L 0.25 0" },
|
|
95192
|
+
{ id: "lineLeft", family: "lines", path: "M 0 0 L -0.25 0" },
|
|
95193
|
+
{ id: "lineDown", family: "lines", path: "M 0 0 L 0 0.25" },
|
|
95194
|
+
{ id: "lineUp", family: "lines", path: "M 0 0 L 0 -0.25" },
|
|
95195
|
+
{ id: "lineDiagonalUpRight", family: "lines", path: "M 0 0 L 0.25 -0.25" },
|
|
95196
|
+
{ id: "lineDiagonalDownRight", family: "lines", path: "M 0 0 L 0.25 0.25" },
|
|
95197
|
+
{ id: "lineDiagonalUpLeft", family: "lines", path: "M 0 0 L -0.25 -0.25" },
|
|
95198
|
+
{ id: "lineDiagonalDownLeft", family: "lines", path: "M 0 0 L -0.25 0.25" },
|
|
95199
|
+
// -- Arcs ----------------------------------------------------------------
|
|
95200
|
+
{
|
|
95201
|
+
id: "arcUp",
|
|
95202
|
+
family: "arcs",
|
|
95203
|
+
path: "M 0 0 C 0 -0.1227 0.0559 -0.2222 0.125 -0.2222 C 0.1941 -0.2222 0.25 -0.1227 0.25 0"
|
|
95204
|
+
},
|
|
95205
|
+
{
|
|
95206
|
+
id: "arcDown",
|
|
95207
|
+
family: "arcs",
|
|
95208
|
+
path: "M 0 0 C 0 0.1227 0.0559 0.2222 0.125 0.2222 C 0.1941 0.2222 0.25 0.1227 0.25 0"
|
|
95209
|
+
},
|
|
95210
|
+
{
|
|
95211
|
+
id: "arcRight",
|
|
95212
|
+
family: "arcs",
|
|
95213
|
+
path: "M 0 0 C 0.069 0 0.125 0.0995 0.125 0.2222 C 0.125 0.3449 0.069 0.4444 0 0.4444"
|
|
95214
|
+
},
|
|
95215
|
+
{
|
|
95216
|
+
id: "arcLeft",
|
|
95217
|
+
family: "arcs",
|
|
95218
|
+
path: "M 0 0 C -0.069 0 -0.125 0.0995 -0.125 0.2222 C -0.125 0.3449 -0.069 0.4444 0 0.4444"
|
|
95219
|
+
},
|
|
95220
|
+
// -- Turns ---------------------------------------------------------------
|
|
95221
|
+
{ id: "turnUp", family: "turns", path: "M 0 0 L 0.25 0 L 0.25 -0.25" },
|
|
95222
|
+
{ id: "turnDown", family: "turns", path: "M 0 0 L 0.25 0 L 0.25 0.25" },
|
|
95223
|
+
{ id: "turnRight", family: "turns", path: "M 0 0 L 0 0.25 L 0.25 0.25" },
|
|
95224
|
+
{ id: "turnLeft", family: "turns", path: "M 0 0 L 0 0.25 L -0.25 0.25" },
|
|
95225
|
+
{
|
|
95226
|
+
id: "sCurve",
|
|
95227
|
+
family: "turns",
|
|
95228
|
+
path: "M 0 0 C 0.0833 -0.1111 0.1667 0.1111 0.25 0"
|
|
95229
|
+
},
|
|
95230
|
+
{
|
|
95231
|
+
id: "zigzag",
|
|
95232
|
+
family: "turns",
|
|
95233
|
+
path: "M 0 0 L 0.0625 -0.1111 L 0.125 0 L 0.1875 -0.1111 L 0.25 0"
|
|
95234
|
+
},
|
|
95235
|
+
// -- Shapes --------------------------------------------------------------
|
|
95236
|
+
{ id: "circle", family: "shapes", path: CIRCLE },
|
|
95237
|
+
{ id: "square", family: "shapes", path: "M 0 0 L 0.125 0 L 0.125 -0.2222 L 0 -0.2222 Z" },
|
|
95238
|
+
{ id: "triangle", family: "shapes", path: "M 0 0 L 0.0625 -0.2222 L 0.125 0 Z" },
|
|
95239
|
+
{
|
|
95240
|
+
id: "diamond",
|
|
95241
|
+
family: "shapes",
|
|
95242
|
+
path: "M 0 0 L 0.0625 -0.1111 L 0.125 0 L 0.0625 0.1111 Z"
|
|
95243
|
+
},
|
|
95244
|
+
{
|
|
95245
|
+
id: "hexagon",
|
|
95246
|
+
family: "shapes",
|
|
95247
|
+
path: "M 0 0 L 0.0417 -0.1111 L 0.125 -0.1111 L 0.1667 0 L 0.125 0.1111 L 0.0417 0.1111 Z"
|
|
95248
|
+
},
|
|
95249
|
+
// -- Loops ---------------------------------------------------------------
|
|
95250
|
+
{
|
|
95251
|
+
id: "loopDeLoop",
|
|
95252
|
+
family: "loops",
|
|
95253
|
+
path: "M 0 0 C 0.0625 0 0.0972 -0.2222 0.1667 -0.2222 C 0.2361 -0.2222 0.2708 0 0.1667 0 L 0.3333 0"
|
|
95254
|
+
},
|
|
95255
|
+
{
|
|
95256
|
+
id: "figureEight",
|
|
95257
|
+
family: "loops",
|
|
95258
|
+
path: "M 0 0 C -0.0833 0 -0.0833 -0.2222 0 -0.2222 C 0.0833 -0.2222 0.0833 0 0.1667 0 C 0.25 0 0.25 -0.2222 0.1667 -0.2222 C 0.0833 -0.2222 0.0833 0 0 0"
|
|
95259
|
+
},
|
|
95260
|
+
{
|
|
95261
|
+
id: "spiral",
|
|
95262
|
+
family: "loops",
|
|
95263
|
+
path: "M 0 0 C 0.0417 0 0.0417 -0.0741 0 -0.0741 C -0.0625 -0.0741 -0.0625 -0.1852 0 -0.1852 C 0.0833 -0.1852 0.0833 -0.3333 0 -0.3333"
|
|
95264
|
+
}
|
|
95265
|
+
];
|
|
95266
|
+
var MOTION_PATH_FAMILIES = [
|
|
95267
|
+
"lines",
|
|
95268
|
+
"arcs",
|
|
95269
|
+
"turns",
|
|
95270
|
+
"shapes",
|
|
95271
|
+
"loops"
|
|
95272
|
+
];
|
|
95273
|
+
function motionPathFamilyLabelKey(family) {
|
|
95274
|
+
return `pptx.animation.motionPath.family.${family}`;
|
|
95275
|
+
}
|
|
95276
|
+
function motionPathPresetLabelKey(presetId) {
|
|
95277
|
+
return `pptx.animation.motionPath.preset.${presetId}`;
|
|
95278
|
+
}
|
|
95279
|
+
function motionPathPresetById(presetId) {
|
|
95280
|
+
return MOTION_PATH_PRESETS2.find((preset) => preset.id === presetId);
|
|
95281
|
+
}
|
|
95282
|
+
function motionPathPresetsByFamily(family) {
|
|
95283
|
+
return MOTION_PATH_PRESETS2.filter((preset) => preset.family === family);
|
|
95284
|
+
}
|
|
95285
|
+
function motionPathPresetIdForPath(path) {
|
|
95286
|
+
if (!path) {
|
|
95287
|
+
return void 0;
|
|
95288
|
+
}
|
|
95289
|
+
const normalized = path.trim().replace(/\s+/gu, " ");
|
|
95290
|
+
return MOTION_PATH_PRESETS2.find(
|
|
95291
|
+
(preset) => preset.path.trim().replace(/\s+/gu, " ") === normalized
|
|
95292
|
+
)?.id;
|
|
95293
|
+
}
|
|
95294
|
+
var DEFAULT_MOTION_PATH_PRESET_ID = "lineRight";
|
|
95295
|
+
var DEFAULT_MOTION_PATH_DURATION_MS = 2e3;
|
|
95296
|
+
var DEFAULT_TRIGGER2 = "onClick";
|
|
95297
|
+
function motionPathFor(animations, elementId) {
|
|
95298
|
+
return animations.find((animation) => animation.elementId === elementId)?.motionPath;
|
|
95299
|
+
}
|
|
95300
|
+
function setMotionPath(animations, elementId, path) {
|
|
95301
|
+
const index = animations.findIndex((animation) => animation.elementId === elementId);
|
|
95302
|
+
if (index >= 0) {
|
|
95303
|
+
return animations.map(
|
|
95304
|
+
(animation, i) => i === index ? {
|
|
95305
|
+
...animation,
|
|
95306
|
+
motionPath: path,
|
|
95307
|
+
motionPathEditMode: animation.motionPathEditMode ?? "relative",
|
|
95308
|
+
durationMs: animation.durationMs ?? DEFAULT_MOTION_PATH_DURATION_MS
|
|
95309
|
+
} : animation
|
|
95310
|
+
);
|
|
95311
|
+
}
|
|
95312
|
+
return [
|
|
95313
|
+
...animations,
|
|
95314
|
+
{
|
|
95315
|
+
elementId,
|
|
95316
|
+
motionPath: path,
|
|
95317
|
+
motionPathEditMode: "relative",
|
|
95318
|
+
durationMs: DEFAULT_MOTION_PATH_DURATION_MS,
|
|
95319
|
+
order: animations.length,
|
|
95320
|
+
trigger: DEFAULT_TRIGGER2
|
|
95321
|
+
}
|
|
95322
|
+
];
|
|
95323
|
+
}
|
|
95324
|
+
function applyMotionPathPreset(animations, elementId, presetId) {
|
|
95325
|
+
const preset = motionPathPresetById(presetId);
|
|
95326
|
+
if (!preset) {
|
|
95327
|
+
return [...animations];
|
|
95328
|
+
}
|
|
95329
|
+
return setMotionPath(animations, elementId, preset.path);
|
|
95330
|
+
}
|
|
95331
|
+
function clearMotionPath(animations, elementId) {
|
|
95332
|
+
const index = animations.findIndex((animation) => animation.elementId === elementId);
|
|
95333
|
+
if (index < 0) {
|
|
95334
|
+
return [...animations];
|
|
95335
|
+
}
|
|
95336
|
+
const current = animations[index];
|
|
95337
|
+
const stillHasEffect = Boolean(current.entrance || current.emphasis || current.exit);
|
|
95338
|
+
if (!stillHasEffect) {
|
|
95339
|
+
return animations.filter((animation) => animation.elementId !== elementId).map((animation, i) => ({ ...animation, order: i }));
|
|
95340
|
+
}
|
|
95341
|
+
return animations.map(
|
|
95342
|
+
(animation, i) => i === index ? {
|
|
95343
|
+
...animation,
|
|
95344
|
+
motionPath: void 0,
|
|
95345
|
+
motionPathEditMode: void 0,
|
|
95346
|
+
motionPtsTypes: void 0
|
|
95347
|
+
} : animation
|
|
95348
|
+
);
|
|
95349
|
+
}
|
|
95350
|
+
function motionPathNativeAnimations(slide) {
|
|
95351
|
+
const native = slide.nativeAnimations ?? [];
|
|
95352
|
+
const alreadyNative = new Set(
|
|
95353
|
+
native.filter((animation) => animation.motionPath).map((animation) => animation.targetId)
|
|
95354
|
+
);
|
|
95355
|
+
return (slide.animations ?? []).filter((animation) => Boolean(animation.motionPath) && !alreadyNative.has(animation.elementId)).map((animation) => ({
|
|
95356
|
+
targetId: animation.elementId,
|
|
95357
|
+
trigger: animation.trigger ?? DEFAULT_TRIGGER2,
|
|
95358
|
+
triggerShapeId: animation.triggerShapeId,
|
|
95359
|
+
presetClass: "path",
|
|
95360
|
+
durationMs: animation.durationMs ?? DEFAULT_MOTION_PATH_DURATION_MS,
|
|
95361
|
+
delayMs: animation.delayMs ?? 0,
|
|
95362
|
+
motionPath: animation.motionPath,
|
|
95363
|
+
motionPathEditMode: animation.motionPathEditMode ?? "relative"
|
|
95364
|
+
}));
|
|
95365
|
+
}
|
|
95366
|
+
function buildMotionPathPreview(args) {
|
|
95367
|
+
const keyframeName = `pptx-motion-preview-${args.uid ?? 0}`;
|
|
95368
|
+
const keyframes = buildMotionPathKeyframes({
|
|
95369
|
+
path: args.path,
|
|
95370
|
+
slideWidth: args.slideWidth,
|
|
95371
|
+
slideHeight: args.slideHeight,
|
|
95372
|
+
keyframeName
|
|
95373
|
+
});
|
|
95374
|
+
if (!keyframes) {
|
|
95375
|
+
return void 0;
|
|
95376
|
+
}
|
|
95377
|
+
const durationMs = args.durationMs ?? DEFAULT_MOTION_PATH_DURATION_MS;
|
|
95378
|
+
const delayMs = args.delayMs ?? 0;
|
|
95379
|
+
const easing = timingCurveToCss(args.timingCurve);
|
|
95380
|
+
return {
|
|
95381
|
+
keyframeName,
|
|
95382
|
+
keyframesCss: keyframes.css,
|
|
95383
|
+
cssAnimation: `${keyframeName} ${durationMs}ms ${easing} ${delayMs}ms 1 normal both`,
|
|
95384
|
+
durationMs
|
|
95385
|
+
};
|
|
95386
|
+
}
|
|
94856
95387
|
function buildSegmentCounts(slide, nativeAnims) {
|
|
94857
95388
|
const segmentCounts = /* @__PURE__ */ new Map();
|
|
94858
95389
|
for (const anim of nativeAnims) {
|
|
@@ -94885,7 +95416,7 @@ var PresentationAnimationController = class _PresentationAnimationController {
|
|
|
94885
95416
|
* id list (base element ids + text-build sub-element ids) to track.
|
|
94886
95417
|
*/
|
|
94887
95418
|
static fromSlide(slide) {
|
|
94888
|
-
const nativeAnims = slide.nativeAnimations ?? [];
|
|
95419
|
+
const nativeAnims = [...slide.nativeAnimations ?? [], ...motionPathNativeAnimations(slide)];
|
|
94889
95420
|
const segmentCounts = buildSegmentCounts(slide, nativeAnims);
|
|
94890
95421
|
const expandedAnims = segmentCounts.size > 0 ? expandTextBuildAnimations(nativeAnims, segmentCounts) : nativeAnims;
|
|
94891
95422
|
const engine = TimelineEngine.fromAnimations(expandedAnims);
|
|
@@ -95076,80 +95607,6 @@ function runMediaCommand(command, resolve) {
|
|
|
95076
95607
|
}
|
|
95077
95608
|
return applyMediaCommandVerb(el, parsed);
|
|
95078
95609
|
}
|
|
95079
|
-
var PRESET_TO_EFFECT = {
|
|
95080
|
-
fadeIn: "fadeIn",
|
|
95081
|
-
flyIn: "flyInBottom",
|
|
95082
|
-
zoomIn: "zoomIn",
|
|
95083
|
-
fadeOut: "fadeOut",
|
|
95084
|
-
flyOut: "flyOutBottom",
|
|
95085
|
-
zoomOut: "zoomOut",
|
|
95086
|
-
spin: "spin",
|
|
95087
|
-
pulse: "pulse",
|
|
95088
|
-
colorWave: "colorWave",
|
|
95089
|
-
bounce: "bounce",
|
|
95090
|
-
flash: "flash"
|
|
95091
|
-
};
|
|
95092
|
-
var DIRECTION_FLY_MAP = {
|
|
95093
|
-
fromLeft: { flyIn: "flyInLeft", flyOut: "flyOutLeft" },
|
|
95094
|
-
fromRight: { flyIn: "flyInRight", flyOut: "flyOutRight" },
|
|
95095
|
-
fromTop: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
95096
|
-
fromBottom: { flyIn: "flyInBottom", flyOut: "flyOutBottom" },
|
|
95097
|
-
fromTopLeft: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
95098
|
-
fromTopRight: { flyIn: "flyInTop", flyOut: "flyOutTop" },
|
|
95099
|
-
fromBottomLeft: { flyIn: "flyInBottom", flyOut: "flyOutBottom" },
|
|
95100
|
-
fromBottomRight: { flyIn: "flyInBottom", flyOut: "flyOutBottom" }
|
|
95101
|
-
};
|
|
95102
|
-
function resolvePreviewEffect(preset, direction) {
|
|
95103
|
-
if ((preset === "flyIn" || preset === "flyOut") && direction) {
|
|
95104
|
-
const dirMap = DIRECTION_FLY_MAP[direction];
|
|
95105
|
-
if (dirMap) {
|
|
95106
|
-
return preset === "flyIn" ? dirMap.flyIn : dirMap.flyOut;
|
|
95107
|
-
}
|
|
95108
|
-
}
|
|
95109
|
-
return PRESET_TO_EFFECT[preset];
|
|
95110
|
-
}
|
|
95111
|
-
function timingCurveToCss(curve, cubicBezierValues) {
|
|
95112
|
-
if (cubicBezierValues) {
|
|
95113
|
-
const parts = cubicBezierValues.split(",").map((s) => s.trim());
|
|
95114
|
-
if (parts.length === 4 && parts.every((p) => !Number.isNaN(Number(p)))) {
|
|
95115
|
-
return `cubic-bezier(${parts.join(", ")})`;
|
|
95116
|
-
}
|
|
95117
|
-
}
|
|
95118
|
-
switch (curve) {
|
|
95119
|
-
case "ease":
|
|
95120
|
-
return "ease";
|
|
95121
|
-
case "ease-in":
|
|
95122
|
-
return "ease-in";
|
|
95123
|
-
case "ease-out":
|
|
95124
|
-
return "ease-out";
|
|
95125
|
-
case "linear":
|
|
95126
|
-
return "linear";
|
|
95127
|
-
default:
|
|
95128
|
-
return "ease";
|
|
95129
|
-
}
|
|
95130
|
-
}
|
|
95131
|
-
function buildPreviewAnimation(preset, options) {
|
|
95132
|
-
if (preset === "none") {
|
|
95133
|
-
return void 0;
|
|
95134
|
-
}
|
|
95135
|
-
const effectName = resolvePreviewEffect(preset, options?.direction);
|
|
95136
|
-
if (!effectName) {
|
|
95137
|
-
return void 0;
|
|
95138
|
-
}
|
|
95139
|
-
const keyframeName = `pptx-${effectName}`;
|
|
95140
|
-
const keyframesCss = getEffectKeyframes(effectName);
|
|
95141
|
-
if (!keyframesCss) {
|
|
95142
|
-
return void 0;
|
|
95143
|
-
}
|
|
95144
|
-
const duration = options?.durationMs ?? 600;
|
|
95145
|
-
const easing = timingCurveToCss(options?.timingCurve, options?.cubicBezier);
|
|
95146
|
-
return {
|
|
95147
|
-
keyframeName,
|
|
95148
|
-
keyframesCss,
|
|
95149
|
-
cssAnimation: `${keyframeName} ${duration}ms ${easing} 0ms 1 normal both`,
|
|
95150
|
-
durationMs: duration
|
|
95151
|
-
};
|
|
95152
|
-
}
|
|
95153
95610
|
var CAMERA_PRESET_MAP = {
|
|
95154
95611
|
orthographicFront: { rotateX: 0, rotateY: 0, rotateZ: 0 },
|
|
95155
95612
|
perspectiveFront: { perspective: "1000px", rotateX: 0, rotateY: 0, rotateZ: 0 },
|
|
@@ -99406,6 +99863,12 @@ function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
|
99406
99863
|
}
|
|
99407
99864
|
return out;
|
|
99408
99865
|
}
|
|
99866
|
+
function differentText(a, b) {
|
|
99867
|
+
const textOf2 = (element) => (element.text ?? "").replace(/\s+/gu, " ").trim();
|
|
99868
|
+
const fromText = textOf2(a);
|
|
99869
|
+
const toText = textOf2(b);
|
|
99870
|
+
return fromText !== "" && toText !== "" && fromText !== toText;
|
|
99871
|
+
}
|
|
99409
99872
|
var NV_PR_KEYS = [
|
|
99410
99873
|
"p:nvSpPr",
|
|
99411
99874
|
"p:nvPicPr",
|
|
@@ -99520,6 +99983,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
99520
99983
|
if (fromEl.type !== toEl.type) {
|
|
99521
99984
|
continue;
|
|
99522
99985
|
}
|
|
99986
|
+
if (differentText(fromEl, toEl)) {
|
|
99987
|
+
continue;
|
|
99988
|
+
}
|
|
99523
99989
|
const widthRatio = Math.max(fromEl.width, toEl.width, 1) / Math.max(Math.min(fromEl.width, toEl.width), 1);
|
|
99524
99990
|
const heightRatio = Math.max(fromEl.height, toEl.height, 1) / Math.max(Math.min(fromEl.height, toEl.height), 1);
|
|
99525
99991
|
if (widthRatio > PROXIMITY_SIZE_RATIO_LIMIT || heightRatio > PROXIMITY_SIZE_RATIO_LIMIT) {
|
|
@@ -99776,6 +100242,27 @@ function appearanceSignature(element, depth = 0) {
|
|
|
99776
100242
|
function morphPairNeedsCrossfade(fromElement, toElement) {
|
|
99777
100243
|
return appearanceSignature(fromElement) !== appearanceSignature(toElement);
|
|
99778
100244
|
}
|
|
100245
|
+
var GEOMETRY_EPSILON = 0.5;
|
|
100246
|
+
function isInertMorphPair(fromElement, toElement) {
|
|
100247
|
+
return Math.abs(fromElement.x - toElement.x) <= GEOMETRY_EPSILON && Math.abs(fromElement.y - toElement.y) <= GEOMETRY_EPSILON && Math.abs(fromElement.width - toElement.width) <= GEOMETRY_EPSILON && Math.abs(fromElement.height - toElement.height) <= GEOMETRY_EPSILON && (fromElement.rotation ?? 0) === (toElement.rotation ?? 0) && Boolean(fromElement.flipHorizontal) === Boolean(toElement.flipHorizontal) && Boolean(fromElement.flipVertical) === Boolean(toElement.flipVertical) && (fromElement.opacity ?? 1) === (toElement.opacity ?? 1) && !morphPairNeedsCrossfade(fromElement, toElement);
|
|
100248
|
+
}
|
|
100249
|
+
function crossfadeIncomingMayFadeIn(element) {
|
|
100250
|
+
const image = element;
|
|
100251
|
+
if (image.imagePath || image.svgPath) {
|
|
100252
|
+
return false;
|
|
100253
|
+
}
|
|
100254
|
+
if (!hasShapeProperties(element)) {
|
|
100255
|
+
return true;
|
|
100256
|
+
}
|
|
100257
|
+
const style = element.shapeStyle;
|
|
100258
|
+
if (!style) {
|
|
100259
|
+
return true;
|
|
100260
|
+
}
|
|
100261
|
+
if (style.fillMode === "none" || (style.fillOpacity ?? 1) === 0) {
|
|
100262
|
+
return true;
|
|
100263
|
+
}
|
|
100264
|
+
return !(style.fillColor || style.fillGradient || style.fillGradientStops?.length || style.fillPatternPreset || style.fillImageUrl);
|
|
100265
|
+
}
|
|
99779
100266
|
function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
99780
100267
|
const animations = [];
|
|
99781
100268
|
for (let index = 0; index < pairs2.length; index++) {
|
|
@@ -99790,13 +100277,15 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
|
99790
100277
|
const toRot = toElement.rotation ?? 0;
|
|
99791
100278
|
const fromRot = shortestRotationTarget(toRot, fromElement.rotation ?? 0);
|
|
99792
100279
|
const flips = `${toElement.flipHorizontal ? " scaleX(-1)" : ""}${toElement.flipVertical ? " scaleY(-1)" : ""}`;
|
|
100280
|
+
const inert = isInertMorphPair(fromElement, toElement);
|
|
100281
|
+
const crossfadesIn = !inert && morphPairNeedsCrossfade(fromElement, toElement) && crossfadeIncomingMayFadeIn(toElement);
|
|
99793
100282
|
const fromProps = [
|
|
99794
100283
|
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${fromRot}deg)${flips};`,
|
|
99795
|
-
` opacity: ${fromOpacity};`
|
|
100284
|
+
` opacity: ${inert ? 0 : crossfadesIn ? 0 : fromOpacity};`
|
|
99796
100285
|
];
|
|
99797
100286
|
const toProps = [
|
|
99798
100287
|
` transform: translate(0, 0) scale(1, 1) rotate(${toRot}deg)${flips};`,
|
|
99799
|
-
` opacity: ${toOpacity};`
|
|
100288
|
+
` opacity: ${inert ? 0 : toOpacity};`
|
|
99800
100289
|
];
|
|
99801
100290
|
const colorInterp = buildColorInterpolationProps(fromElement, toElement);
|
|
99802
100291
|
if (colorInterp) {
|
|
@@ -107196,6 +107685,410 @@ function clampIndex(index, slideCount) {
|
|
|
107196
107685
|
}
|
|
107197
107686
|
return Math.min(Math.max(Math.trunc(index), 0), slideCount - 1);
|
|
107198
107687
|
}
|
|
107688
|
+
var OUTLINE_VIEW_ATTR = "data-pptx-outline-view";
|
|
107689
|
+
var OUTLINE_ROW_ATTR = "data-pptx-outline-row";
|
|
107690
|
+
var OUTLINE_SLIDE_ATTR = "data-pptx-outline-slide";
|
|
107691
|
+
var OUTLINE_LEVEL_ATTR = "data-pptx-outline-level";
|
|
107692
|
+
var MAX_PARAGRAPH_LEVEL = 8;
|
|
107693
|
+
var TITLE_PH_TYPES = /* @__PURE__ */ new Set(["title", "ctrtitle"]);
|
|
107694
|
+
var CHROME_PH_TYPES = /* @__PURE__ */ new Set(["ftr", "hdr", "dt", "sldnum"]);
|
|
107695
|
+
var OUTLINE_TITLE_ELEMENT_NAME = "Title";
|
|
107696
|
+
function placeholderType(element) {
|
|
107697
|
+
const ph = element.rawXml?.["p:nvSpPr"]?.["p:nvPr"]?.["p:ph"];
|
|
107698
|
+
if (!ph) {
|
|
107699
|
+
return void 0;
|
|
107700
|
+
}
|
|
107701
|
+
const type = typeof ph["@_type"] === "string" ? ph["@_type"].trim().toLowerCase() : "";
|
|
107702
|
+
return type.length > 0 ? type : "body";
|
|
107703
|
+
}
|
|
107704
|
+
function isTextBearing(element) {
|
|
107705
|
+
return hasTextProperties(element);
|
|
107706
|
+
}
|
|
107707
|
+
function elementHasText(element) {
|
|
107708
|
+
if (!hasTextProperties(element)) {
|
|
107709
|
+
return false;
|
|
107710
|
+
}
|
|
107711
|
+
if (typeof element.text === "string" && element.text.trim().length > 0) {
|
|
107712
|
+
return true;
|
|
107713
|
+
}
|
|
107714
|
+
return (element.textSegments ?? []).some((segment) => segment.text.trim().length > 0);
|
|
107715
|
+
}
|
|
107716
|
+
function resolveSlideOutlineElements(slide) {
|
|
107717
|
+
const elements = (slide.elements ?? []).filter(isTextBearing);
|
|
107718
|
+
const placeholderTitle = elements.find((element) => {
|
|
107719
|
+
const type = placeholderType(element);
|
|
107720
|
+
return type !== void 0 && TITLE_PH_TYPES.has(type);
|
|
107721
|
+
});
|
|
107722
|
+
const placeholderBody = elements.filter((element) => {
|
|
107723
|
+
const type = placeholderType(element);
|
|
107724
|
+
return type !== void 0 && !TITLE_PH_TYPES.has(type) && !CHROME_PH_TYPES.has(type);
|
|
107725
|
+
});
|
|
107726
|
+
if (placeholderTitle || placeholderBody.length > 0) {
|
|
107727
|
+
return { title: placeholderTitle ?? null, body: placeholderBody };
|
|
107728
|
+
}
|
|
107729
|
+
const named = elements.find(
|
|
107730
|
+
(element) => (element.name ?? "").trim().toLowerCase() === OUTLINE_TITLE_ELEMENT_NAME.toLowerCase()
|
|
107731
|
+
);
|
|
107732
|
+
const withText = elements.filter(elementHasText);
|
|
107733
|
+
const title = named ?? withText[0] ?? null;
|
|
107734
|
+
return { title, body: withText.filter((element) => element !== title) };
|
|
107735
|
+
}
|
|
107736
|
+
function isBulletMarker(segment) {
|
|
107737
|
+
const bullet = segment.bulletInfo;
|
|
107738
|
+
if (!bullet) {
|
|
107739
|
+
return false;
|
|
107740
|
+
}
|
|
107741
|
+
const marker = bullet.char ? `${bullet.char} ` : bullet.imageRelId || bullet.imageDataUrl ? "\u{1F4CE} " : bullet.autoNumType ? void 0 : "\u2022 ";
|
|
107742
|
+
return marker ? segment.text === marker : bullet.paragraphIndex !== void 0;
|
|
107743
|
+
}
|
|
107744
|
+
function isParagraphSeparator(segment) {
|
|
107745
|
+
return Boolean(segment.isParagraphBreak) || segment.text === "\n" && !segment.isLineBreak;
|
|
107746
|
+
}
|
|
107747
|
+
function groupElementParagraphs(element) {
|
|
107748
|
+
const withText = hasTextProperties(element) ? element : void 0;
|
|
107749
|
+
const segments = withText?.textSegments;
|
|
107750
|
+
if (!segments || segments.length === 0) {
|
|
107751
|
+
const style = { ...withText?.textStyle ?? {} };
|
|
107752
|
+
return (withText?.text ?? "").split("\n").map((text2) => ({
|
|
107753
|
+
content: [{ text: text2, style: { ...style } }]
|
|
107754
|
+
}));
|
|
107755
|
+
}
|
|
107756
|
+
const groups = [{ content: [] }];
|
|
107757
|
+
for (const segment of segments) {
|
|
107758
|
+
if (isParagraphSeparator(segment)) {
|
|
107759
|
+
groups.push({ content: [] });
|
|
107760
|
+
continue;
|
|
107761
|
+
}
|
|
107762
|
+
const current = groups[groups.length - 1];
|
|
107763
|
+
if (current.content.length === 0 && current.marker === void 0 && isBulletMarker(segment)) {
|
|
107764
|
+
current.marker = segment;
|
|
107765
|
+
continue;
|
|
107766
|
+
}
|
|
107767
|
+
current.content.push(segment);
|
|
107768
|
+
}
|
|
107769
|
+
return groups;
|
|
107770
|
+
}
|
|
107771
|
+
function paragraphGroupText(group) {
|
|
107772
|
+
return group.content.map((segment) => segment.isLineBreak ? " " : segment.text).join("");
|
|
107773
|
+
}
|
|
107774
|
+
function paragraphGroupLevel(group) {
|
|
107775
|
+
const first = group.marker ?? group.content[0];
|
|
107776
|
+
const level = first?.paragraphLevel;
|
|
107777
|
+
return typeof level === "number" && level > 0 ? Math.min(level, MAX_PARAGRAPH_LEVEL) : 0;
|
|
107778
|
+
}
|
|
107779
|
+
function readElementParagraphs(element) {
|
|
107780
|
+
const groups = groupElementParagraphs(element);
|
|
107781
|
+
const paragraphs = groups.map((group) => ({
|
|
107782
|
+
text: paragraphGroupText(group),
|
|
107783
|
+
level: paragraphGroupLevel(group)
|
|
107784
|
+
}));
|
|
107785
|
+
let last = paragraphs.length - 1;
|
|
107786
|
+
while (last >= 0 && paragraphs[last].text.length === 0) {
|
|
107787
|
+
last -= 1;
|
|
107788
|
+
}
|
|
107789
|
+
return paragraphs.slice(0, last + 1);
|
|
107790
|
+
}
|
|
107791
|
+
function outlineRowKey(slideId, elementId, paragraphIndex) {
|
|
107792
|
+
return `${slideId}|${elementId ?? "\0new-title"}|${paragraphIndex}`;
|
|
107793
|
+
}
|
|
107794
|
+
function pushElementRows(rows, element, kind, slide, slideIndex) {
|
|
107795
|
+
for (const [paragraphIndex, paragraph] of readElementParagraphs(element).entries()) {
|
|
107796
|
+
rows.push({
|
|
107797
|
+
key: outlineRowKey(slide.id, element.id, paragraphIndex),
|
|
107798
|
+
slideIndex,
|
|
107799
|
+
slideId: slide.id,
|
|
107800
|
+
kind,
|
|
107801
|
+
elementId: element.id,
|
|
107802
|
+
paragraphIndex,
|
|
107803
|
+
// A title always sits in the leftmost column; body text is pushed one
|
|
107804
|
+
// column right of it, so authored level 0 reads as outline level 1.
|
|
107805
|
+
level: kind === "title" ? 0 : paragraph.level + 1,
|
|
107806
|
+
text: paragraph.text
|
|
107807
|
+
});
|
|
107808
|
+
}
|
|
107809
|
+
}
|
|
107810
|
+
function buildOutline(slides) {
|
|
107811
|
+
const rows = [];
|
|
107812
|
+
for (const [slideIndex, slide] of slides.entries()) {
|
|
107813
|
+
const { title, body } = resolveSlideOutlineElements(slide);
|
|
107814
|
+
const before = rows.length;
|
|
107815
|
+
if (title) {
|
|
107816
|
+
pushElementRows(rows, title, "title", slide, slideIndex);
|
|
107817
|
+
}
|
|
107818
|
+
if (rows.length === before) {
|
|
107819
|
+
rows.push({
|
|
107820
|
+
key: outlineRowKey(slide.id, title?.id ?? null, 0),
|
|
107821
|
+
slideIndex,
|
|
107822
|
+
slideId: slide.id,
|
|
107823
|
+
kind: "title",
|
|
107824
|
+
elementId: title?.id ?? null,
|
|
107825
|
+
paragraphIndex: 0,
|
|
107826
|
+
level: 0,
|
|
107827
|
+
text: ""
|
|
107828
|
+
});
|
|
107829
|
+
}
|
|
107830
|
+
for (const element of body) {
|
|
107831
|
+
pushElementRows(rows, element, "body", slide, slideIndex);
|
|
107832
|
+
}
|
|
107833
|
+
}
|
|
107834
|
+
return rows;
|
|
107835
|
+
}
|
|
107836
|
+
function findOutlineRow(rows, key) {
|
|
107837
|
+
return rows.find((row) => row.key === key);
|
|
107838
|
+
}
|
|
107839
|
+
var PASTE_OFFSET_PX = 20;
|
|
107840
|
+
function generateElementId() {
|
|
107841
|
+
return `el-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
107842
|
+
}
|
|
107843
|
+
function makeCloneId(intoTemplate, sourceId) {
|
|
107844
|
+
if (!intoTemplate) {
|
|
107845
|
+
return generateElementId();
|
|
107846
|
+
}
|
|
107847
|
+
if (sourceId.startsWith("master-")) {
|
|
107848
|
+
return `master-${generateElementId()}`;
|
|
107849
|
+
}
|
|
107850
|
+
return `layout-${generateElementId()}`;
|
|
107851
|
+
}
|
|
107852
|
+
function buildElementClipboardPayload(element, isTemplate) {
|
|
107853
|
+
return { element: structuredClone(element), isTemplate };
|
|
107854
|
+
}
|
|
107855
|
+
function cloneElementForPaste(element, options = {}) {
|
|
107856
|
+
const clone3 = structuredClone(element);
|
|
107857
|
+
clone3.id = makeCloneId(options.intoTemplate ?? false, element.id);
|
|
107858
|
+
clone3.x += options.offsetX ?? PASTE_OFFSET_PX;
|
|
107859
|
+
clone3.y += options.offsetY ?? PASTE_OFFSET_PX;
|
|
107860
|
+
return clone3;
|
|
107861
|
+
}
|
|
107862
|
+
function mapOutlineKey(input, rowKey) {
|
|
107863
|
+
const none = { edit: null, preventDefault: false };
|
|
107864
|
+
if (input.ctrlKey || input.metaKey) {
|
|
107865
|
+
return none;
|
|
107866
|
+
}
|
|
107867
|
+
if (input.key === "Tab" && !input.altKey) {
|
|
107868
|
+
return {
|
|
107869
|
+
edit: { type: "indent", key: rowKey, delta: input.shiftKey ? -1 : 1 },
|
|
107870
|
+
preventDefault: true
|
|
107871
|
+
};
|
|
107872
|
+
}
|
|
107873
|
+
if (input.altKey && input.shiftKey && (input.key === "ArrowRight" || input.key === "ArrowLeft")) {
|
|
107874
|
+
return {
|
|
107875
|
+
edit: { type: "indent", key: rowKey, delta: input.key === "ArrowRight" ? 1 : -1 },
|
|
107876
|
+
preventDefault: true
|
|
107877
|
+
};
|
|
107878
|
+
}
|
|
107879
|
+
if (input.key === "Enter" && !input.shiftKey && !input.altKey) {
|
|
107880
|
+
return { edit: { type: "insertAfter", key: rowKey }, preventDefault: true };
|
|
107881
|
+
}
|
|
107882
|
+
return none;
|
|
107883
|
+
}
|
|
107884
|
+
function withLevel(segments, level) {
|
|
107885
|
+
return segments.map((segment, index) => {
|
|
107886
|
+
if (index > 0) {
|
|
107887
|
+
return segment;
|
|
107888
|
+
}
|
|
107889
|
+
const next = { ...segment };
|
|
107890
|
+
if (level > 0) {
|
|
107891
|
+
next.paragraphLevel = Math.min(level, MAX_PARAGRAPH_LEVEL);
|
|
107892
|
+
} else {
|
|
107893
|
+
delete next.paragraphLevel;
|
|
107894
|
+
}
|
|
107895
|
+
return next;
|
|
107896
|
+
});
|
|
107897
|
+
}
|
|
107898
|
+
function rebuildParagraph(group, donor, text2, elementStyle) {
|
|
107899
|
+
if (group && paragraphGroupText(group) === text2) {
|
|
107900
|
+
return [...group.marker ? [group.marker] : [], ...group.content];
|
|
107901
|
+
}
|
|
107902
|
+
const source = group ?? donor;
|
|
107903
|
+
const marker = source?.marker ? [source.marker] : [];
|
|
107904
|
+
const content = remapTextToSegments(text2, source?.content, elementStyle);
|
|
107905
|
+
return [...marker, ...content];
|
|
107906
|
+
}
|
|
107907
|
+
function writeElementParagraphs(element, paragraphs) {
|
|
107908
|
+
const groups = groupElementParagraphs(element);
|
|
107909
|
+
const donor = groups[groups.length - 1];
|
|
107910
|
+
const style = hasTextProperties(element) ? element.textStyle : void 0;
|
|
107911
|
+
const segments = [];
|
|
107912
|
+
for (const [index, paragraph] of paragraphs.entries()) {
|
|
107913
|
+
if (index > 0) {
|
|
107914
|
+
const previous = segments[segments.length - 1];
|
|
107915
|
+
segments.push({
|
|
107916
|
+
text: "\n",
|
|
107917
|
+
style: { ...previous?.style ?? style ?? {} },
|
|
107918
|
+
isParagraphBreak: true
|
|
107919
|
+
});
|
|
107920
|
+
}
|
|
107921
|
+
segments.push(
|
|
107922
|
+
...withLevel(rebuildParagraph(groups[index], donor, paragraph.text, style), paragraph.level)
|
|
107923
|
+
);
|
|
107924
|
+
}
|
|
107925
|
+
return {
|
|
107926
|
+
...element,
|
|
107927
|
+
text: paragraphs.map((paragraph) => paragraph.text).join("\n"),
|
|
107928
|
+
textSegments: segments
|
|
107929
|
+
};
|
|
107930
|
+
}
|
|
107931
|
+
var DEFAULT_CANVAS = { width: 960, height: 540 };
|
|
107932
|
+
function createTitleElement(text2, options) {
|
|
107933
|
+
const canvas = options.canvas ?? DEFAULT_CANVAS;
|
|
107934
|
+
return {
|
|
107935
|
+
type: "text",
|
|
107936
|
+
id: options.idGenerator ? options.idGenerator() : generateElementId(),
|
|
107937
|
+
name: OUTLINE_TITLE_ELEMENT_NAME,
|
|
107938
|
+
x: Math.round(canvas.width * 0.06),
|
|
107939
|
+
y: Math.round(canvas.height * 0.08),
|
|
107940
|
+
width: Math.round(canvas.width * 0.88),
|
|
107941
|
+
height: Math.round(canvas.height * 0.17),
|
|
107942
|
+
text: text2,
|
|
107943
|
+
textStyle: { fontSize: 36, bold: true },
|
|
107944
|
+
textSegments: [{ text: text2, style: { fontSize: 36, bold: true } }]
|
|
107945
|
+
};
|
|
107946
|
+
}
|
|
107947
|
+
function renumber(slides) {
|
|
107948
|
+
return slides.map((slide, index) => ({ ...slide, slideNumber: index + 1 }));
|
|
107949
|
+
}
|
|
107950
|
+
function unchanged(slides, row) {
|
|
107951
|
+
return {
|
|
107952
|
+
slides,
|
|
107953
|
+
changed: false,
|
|
107954
|
+
focusKey: row?.key ?? null,
|
|
107955
|
+
activeSlideIndex: row?.slideIndex ?? 0
|
|
107956
|
+
};
|
|
107957
|
+
}
|
|
107958
|
+
function replaceElement(slides, slideIndex, elementId, next) {
|
|
107959
|
+
return slides.map(
|
|
107960
|
+
(slide, index) => index === slideIndex ? {
|
|
107961
|
+
...slide,
|
|
107962
|
+
elements: (slide.elements ?? []).map(
|
|
107963
|
+
(element) => element.id === elementId ? next : element
|
|
107964
|
+
)
|
|
107965
|
+
} : slide
|
|
107966
|
+
);
|
|
107967
|
+
}
|
|
107968
|
+
function editParagraphs(slides, row, mutate) {
|
|
107969
|
+
const slide = slides[row.slideIndex];
|
|
107970
|
+
const element = (slide?.elements ?? []).find((candidate) => candidate.id === row.elementId);
|
|
107971
|
+
if (!element) {
|
|
107972
|
+
return null;
|
|
107973
|
+
}
|
|
107974
|
+
const paragraphs = readElementParagraphs(element);
|
|
107975
|
+
while (paragraphs.length <= row.paragraphIndex) {
|
|
107976
|
+
paragraphs.push({ text: "", level: 0 });
|
|
107977
|
+
}
|
|
107978
|
+
const next = mutate(paragraphs);
|
|
107979
|
+
if (!next) {
|
|
107980
|
+
return null;
|
|
107981
|
+
}
|
|
107982
|
+
return {
|
|
107983
|
+
slides: replaceElement(
|
|
107984
|
+
slides,
|
|
107985
|
+
row.slideIndex,
|
|
107986
|
+
element.id,
|
|
107987
|
+
writeElementParagraphs(element, next)
|
|
107988
|
+
),
|
|
107989
|
+
changed: true,
|
|
107990
|
+
focusKey: row.key,
|
|
107991
|
+
activeSlideIndex: row.slideIndex
|
|
107992
|
+
};
|
|
107993
|
+
}
|
|
107994
|
+
function oneLine(text2) {
|
|
107995
|
+
return text2.replace(/[\r\n]+/g, " ");
|
|
107996
|
+
}
|
|
107997
|
+
function applySetText(slides, row, raw, options) {
|
|
107998
|
+
const text2 = oneLine(raw);
|
|
107999
|
+
if (row.elementId === null) {
|
|
108000
|
+
if (text2.length === 0) {
|
|
108001
|
+
return unchanged([...slides], row);
|
|
108002
|
+
}
|
|
108003
|
+
const element = createTitleElement(text2, options);
|
|
108004
|
+
const next = slides.map(
|
|
108005
|
+
(slide, index) => index === row.slideIndex ? { ...slide, elements: [element, ...slide.elements ?? []] } : slide
|
|
108006
|
+
);
|
|
108007
|
+
return {
|
|
108008
|
+
slides: next,
|
|
108009
|
+
changed: true,
|
|
108010
|
+
focusKey: outlineRowKey(row.slideId, element.id, 0),
|
|
108011
|
+
activeSlideIndex: row.slideIndex
|
|
108012
|
+
};
|
|
108013
|
+
}
|
|
108014
|
+
const result = editParagraphs(slides, row, (paragraphs) => {
|
|
108015
|
+
if (paragraphs[row.paragraphIndex].text === text2) {
|
|
108016
|
+
return null;
|
|
108017
|
+
}
|
|
108018
|
+
const next = [...paragraphs];
|
|
108019
|
+
next[row.paragraphIndex] = { ...next[row.paragraphIndex], text: text2 };
|
|
108020
|
+
return next;
|
|
108021
|
+
});
|
|
108022
|
+
return result ?? unchanged([...slides], row);
|
|
108023
|
+
}
|
|
108024
|
+
function applyIndent(slides, row, delta) {
|
|
108025
|
+
if (row.kind !== "body" || row.elementId === null || delta === 0) {
|
|
108026
|
+
return unchanged([...slides], row);
|
|
108027
|
+
}
|
|
108028
|
+
const result = editParagraphs(slides, row, (paragraphs) => {
|
|
108029
|
+
const current = paragraphs[row.paragraphIndex];
|
|
108030
|
+
const level = Math.min(Math.max(current.level + (delta > 0 ? 1 : -1), 0), MAX_PARAGRAPH_LEVEL);
|
|
108031
|
+
if (level === current.level) {
|
|
108032
|
+
return null;
|
|
108033
|
+
}
|
|
108034
|
+
const next = [...paragraphs];
|
|
108035
|
+
next[row.paragraphIndex] = { ...current, level };
|
|
108036
|
+
return next;
|
|
108037
|
+
});
|
|
108038
|
+
return result ?? unchanged([...slides], row);
|
|
108039
|
+
}
|
|
108040
|
+
function applyInsertAfter(slides, row, options) {
|
|
108041
|
+
if (row.kind === "title") {
|
|
108042
|
+
const slide = {
|
|
108043
|
+
id: makeSlideId(options.idGenerator),
|
|
108044
|
+
rId: "",
|
|
108045
|
+
slideNumber: row.slideIndex + 2,
|
|
108046
|
+
elements: []
|
|
108047
|
+
};
|
|
108048
|
+
const next = renumber([
|
|
108049
|
+
...slides.slice(0, row.slideIndex + 1),
|
|
108050
|
+
slide,
|
|
108051
|
+
...slides.slice(row.slideIndex + 1)
|
|
108052
|
+
]);
|
|
108053
|
+
return {
|
|
108054
|
+
slides: next,
|
|
108055
|
+
changed: true,
|
|
108056
|
+
focusKey: outlineRowKey(slide.id, null, 0),
|
|
108057
|
+
activeSlideIndex: row.slideIndex + 1
|
|
108058
|
+
};
|
|
108059
|
+
}
|
|
108060
|
+
const result = editParagraphs(slides, row, (paragraphs) => {
|
|
108061
|
+
const next = [...paragraphs];
|
|
108062
|
+
next.splice(row.paragraphIndex + 1, 0, {
|
|
108063
|
+
text: "",
|
|
108064
|
+
level: paragraphs[row.paragraphIndex].level
|
|
108065
|
+
});
|
|
108066
|
+
return next;
|
|
108067
|
+
});
|
|
108068
|
+
if (!result) {
|
|
108069
|
+
return unchanged([...slides], row);
|
|
108070
|
+
}
|
|
108071
|
+
return {
|
|
108072
|
+
...result,
|
|
108073
|
+
focusKey: outlineRowKey(row.slideId, row.elementId, row.paragraphIndex + 1)
|
|
108074
|
+
};
|
|
108075
|
+
}
|
|
108076
|
+
function applyOutlineEdit(slides, edit, options = {}) {
|
|
108077
|
+
const row = findOutlineRow(buildOutline(slides), edit.key);
|
|
108078
|
+
if (!row) {
|
|
108079
|
+
return unchanged([...slides]);
|
|
108080
|
+
}
|
|
108081
|
+
switch (edit.type) {
|
|
108082
|
+
case "setText":
|
|
108083
|
+
return applySetText(slides, row, edit.text, options);
|
|
108084
|
+
case "indent":
|
|
108085
|
+
return applyIndent(slides, row, edit.delta);
|
|
108086
|
+
case "insertAfter":
|
|
108087
|
+
return applyInsertAfter(slides, row, options);
|
|
108088
|
+
default:
|
|
108089
|
+
return unchanged([...slides], row);
|
|
108090
|
+
}
|
|
108091
|
+
}
|
|
107199
108092
|
var NUDGE_SMALL = 1;
|
|
107200
108093
|
var NUDGE_LARGE = 10;
|
|
107201
108094
|
var GUARD_DEFAULTS = {
|
|
@@ -109220,29 +110113,6 @@ var COMMON_FONTS = [
|
|
|
109220
110113
|
"Tw Cen MT",
|
|
109221
110114
|
"Verdana"
|
|
109222
110115
|
];
|
|
109223
|
-
var PASTE_OFFSET_PX = 20;
|
|
109224
|
-
function generateElementId() {
|
|
109225
|
-
return `el-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
109226
|
-
}
|
|
109227
|
-
function makeCloneId(intoTemplate, sourceId) {
|
|
109228
|
-
if (!intoTemplate) {
|
|
109229
|
-
return generateElementId();
|
|
109230
|
-
}
|
|
109231
|
-
if (sourceId.startsWith("master-")) {
|
|
109232
|
-
return `master-${generateElementId()}`;
|
|
109233
|
-
}
|
|
109234
|
-
return `layout-${generateElementId()}`;
|
|
109235
|
-
}
|
|
109236
|
-
function buildElementClipboardPayload(element, isTemplate) {
|
|
109237
|
-
return { element: structuredClone(element), isTemplate };
|
|
109238
|
-
}
|
|
109239
|
-
function cloneElementForPaste(element, options = {}) {
|
|
109240
|
-
const clone3 = structuredClone(element);
|
|
109241
|
-
clone3.id = makeCloneId(options.intoTemplate ?? false, element.id);
|
|
109242
|
-
clone3.x += options.offsetX ?? PASTE_OFFSET_PX;
|
|
109243
|
-
clone3.y += options.offsetY ?? PASTE_OFFSET_PX;
|
|
109244
|
-
return clone3;
|
|
109245
|
-
}
|
|
109246
110116
|
var DEFAULT_PREVIEW_ELEMENT_CAP = 500;
|
|
109247
110117
|
function buildPreviewElements(slide, templateElements = [], options) {
|
|
109248
110118
|
const cap = options?.cap ?? DEFAULT_PREVIEW_ELEMENT_CAP;
|
|
@@ -110271,6 +111141,91 @@ function applyRehearsalTimings(slides, timings) {
|
|
|
110271
111141
|
function computeEntranceAnimationDelay(delayMs, animationIndex) {
|
|
110272
111142
|
return Math.max(0, delayMs || 0) + animationIndex * 60;
|
|
110273
111143
|
}
|
|
111144
|
+
function resolveCustomShowIndexes(slides, customShow) {
|
|
111145
|
+
const keys = customShow.slideRIds ?? customShow.slideIds;
|
|
111146
|
+
if (!keys || keys.length === 0) {
|
|
111147
|
+
return [];
|
|
111148
|
+
}
|
|
111149
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
111150
|
+
slides.forEach((slide, index) => {
|
|
111151
|
+
if (slide.id !== void 0 && !byKey.has(slide.id)) {
|
|
111152
|
+
byKey.set(slide.id, index);
|
|
111153
|
+
}
|
|
111154
|
+
});
|
|
111155
|
+
slides.forEach((slide, index) => {
|
|
111156
|
+
if (slide.rId !== void 0) {
|
|
111157
|
+
byKey.set(slide.rId, index);
|
|
111158
|
+
}
|
|
111159
|
+
});
|
|
111160
|
+
const resolved = [];
|
|
111161
|
+
for (const key of keys) {
|
|
111162
|
+
const index = byKey.get(key);
|
|
111163
|
+
if (index !== void 0) {
|
|
111164
|
+
resolved.push(index);
|
|
111165
|
+
}
|
|
111166
|
+
}
|
|
111167
|
+
return resolved;
|
|
111168
|
+
}
|
|
111169
|
+
function resolveShowSlideIndexes(slides, activeCustomShow) {
|
|
111170
|
+
const all = [];
|
|
111171
|
+
for (let index = 0; index < slides.length; index++) {
|
|
111172
|
+
all.push(index);
|
|
111173
|
+
}
|
|
111174
|
+
const base = activeCustomShow ? resolveCustomShowIndexes(slides, activeCustomShow) : all;
|
|
111175
|
+
const effectiveBase = base.length > 0 ? base : all;
|
|
111176
|
+
const visible = effectiveBase.filter((index) => !slides[index]?.hidden);
|
|
111177
|
+
return visible.length > 0 ? visible : effectiveBase;
|
|
111178
|
+
}
|
|
111179
|
+
function showPosition(deckIndex, showIndexes) {
|
|
111180
|
+
return showIndexes.indexOf(deckIndex);
|
|
111181
|
+
}
|
|
111182
|
+
function nextShowSlideIndex(deckIndex, showIndexes, options) {
|
|
111183
|
+
if (showIndexes.length === 0) {
|
|
111184
|
+
return void 0;
|
|
111185
|
+
}
|
|
111186
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111187
|
+
if (position2 >= 0) {
|
|
111188
|
+
if (position2 + 1 < showIndexes.length) {
|
|
111189
|
+
return showIndexes[position2 + 1];
|
|
111190
|
+
}
|
|
111191
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111192
|
+
}
|
|
111193
|
+
for (const candidate of showIndexes) {
|
|
111194
|
+
if (candidate > deckIndex) {
|
|
111195
|
+
return candidate;
|
|
111196
|
+
}
|
|
111197
|
+
}
|
|
111198
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111199
|
+
}
|
|
111200
|
+
function previousShowSlideIndex(deckIndex, showIndexes) {
|
|
111201
|
+
if (showIndexes.length === 0) {
|
|
111202
|
+
return void 0;
|
|
111203
|
+
}
|
|
111204
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111205
|
+
if (position2 >= 0) {
|
|
111206
|
+
return position2 > 0 ? showIndexes[position2 - 1] : void 0;
|
|
111207
|
+
}
|
|
111208
|
+
let previous;
|
|
111209
|
+
for (const candidate of showIndexes) {
|
|
111210
|
+
if (candidate < deckIndex) {
|
|
111211
|
+
previous = candidate;
|
|
111212
|
+
}
|
|
111213
|
+
}
|
|
111214
|
+
return previous;
|
|
111215
|
+
}
|
|
111216
|
+
function hasShowSlideAfter(deckIndex, showIndexes) {
|
|
111217
|
+
return nextShowSlideIndex(deckIndex, showIndexes) !== void 0;
|
|
111218
|
+
}
|
|
111219
|
+
function nextPresentedSlide(slides, deckIndex) {
|
|
111220
|
+
const next = nextShowSlideIndex(deckIndex, resolveShowSlideIndexes(slides));
|
|
111221
|
+
return next === void 0 ? void 0 : slides[next];
|
|
111222
|
+
}
|
|
111223
|
+
function firstShowSlideIndex(showIndexes) {
|
|
111224
|
+
return showIndexes.length > 0 ? showIndexes[0] : void 0;
|
|
111225
|
+
}
|
|
111226
|
+
function lastShowSlideIndex(showIndexes) {
|
|
111227
|
+
return showIndexes.length > 0 ? showIndexes[showIndexes.length - 1] : void 0;
|
|
111228
|
+
}
|
|
110274
111229
|
var VIEWER_PREFS_STORAGE_KEY = "pptx-viewer-prefs";
|
|
110275
111230
|
function hasLocalStorage() {
|
|
110276
111231
|
return typeof localStorage !== "undefined";
|
|
@@ -112876,4 +113831,4 @@ function segmentFrameCount(durationMs, fps) {
|
|
|
112876
113831
|
* `<p:extLst>` (optional)
|
|
112877
113832
|
*/
|
|
112878
113833
|
|
|
112879
|
-
export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_INSERT_CHART_TYPE, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_LABELS, THEME_COLOR_SCHEME_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptsPresentationInput, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphTransitionPlan, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cell3DBevelCss, chartDataChangeType, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPresentationKeyBuffer, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, derivePresenceList, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, elementActionToPptxAction, encodeGif, endAudienceDisplay, erasePresentationInkAt, evaluatePresetShape, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findMediaElementByElementId, findSmartArtNodeText, flattenTagCollections, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGradientTileFlipCss, getGradientTileRectCss, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, insertTableColumn, insertTableRow, isActionHidden, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isFirstSlide, isImageLikeElement, isInkElement, isKeyboardOpen, isLastSlide, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isTemplateElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, makeCloneId, makeSlideId, mapEditorKey, mapPresentationKey, mayLeaveSlideShow, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterPaneAdvancesOnClick, pressuresToWidths, printPropertiesFrameSlides, printPropertiesSlidesPerPage, promoteSmartArtNode, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, remapTextToSegments, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor2 as seriesColor, setCachedResult, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shadeColor2, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storeAudienceContent, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorSchemesEqual, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs, zoomInScale, zoomOutScale };
|
|
113834
|
+
export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_INSERT_CHART_TYPE, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_LABELS, 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_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptsPresentationInput, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphTransitionPlan, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cell3DBevelCss, chartDataChangeType, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPresentationKeyBuffer, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, derivePresenceList, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, elementActionToPptxAction, encodeGif, endAudienceDisplay, erasePresentationInkAt, evaluatePresetShape, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenTagCollections, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGradientTileFlipCss, getGradientTileRectCss, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, insertTableColumn, insertTableRow, isActionHidden, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isFirstSlide, isImageLikeElement, isInkElement, isKeyboardOpen, isLastSlide, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isTemplateElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, makeCloneId, makeSlideId, mapEditorKey, mapOutlineKey, mapPresentationKey, mayLeaveSlideShow, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterPaneAdvancesOnClick, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, promoteSmartArtNode, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, remapTextToSegments, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveShowSlideIndexes, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, schemaLabel, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor2 as seriesColor, setCachedResult, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shadeColor2, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storeAudienceContent, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorSchemesEqual, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs, zoomInScale, zoomOutScale };
|