pptx-react-viewer 2.16.0 → 2.16.2
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-VKGWK23E.js → AiChatPanel-MCGNCS7Q.js} +22 -22
- package/dist/AiChatPanel-MCGNCS7Q.js.br +0 -0
- package/dist/AiChatPanel-MCGNCS7Q.js.gz +0 -0
- package/dist/{AiChatPanel-TYU52HDW.mjs → AiChatPanel-WJXPCHQK.mjs} +3 -3
- package/dist/AiChatPanel-WJXPCHQK.mjs.br +0 -0
- package/dist/AiChatPanel-WJXPCHQK.mjs.gz +0 -0
- package/dist/{Model3DScene-267BHD5T.mjs → Model3DScene-IXW2AKAU.mjs} +1 -1
- package/dist/{Model3DScene-267BHD5T.mjs.br → Model3DScene-IXW2AKAU.mjs.br} +0 -0
- package/dist/Model3DScene-IXW2AKAU.mjs.gz +0 -0
- package/dist/{Model3DScene-TG7OSR6V.js → Model3DScene-Q2DTGVQ7.js} +2 -2
- package/dist/Model3DScene-Q2DTGVQ7.js.br +0 -0
- package/dist/Model3DScene-Q2DTGVQ7.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-GK4JHZAC.js → SurfaceChart3DScene-AD43LAOO.js} +2 -2
- package/dist/SurfaceChart3DScene-AD43LAOO.js.br +0 -0
- package/dist/SurfaceChart3DScene-AD43LAOO.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-RPRVXRQZ.mjs → SurfaceChart3DScene-MODEHQ6G.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-RPRVXRQZ.mjs.br → SurfaceChart3DScene-MODEHQ6G.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-MODEHQ6G.mjs.gz +0 -0
- package/dist/{chunk-P3Y3OMAD.js → chunk-4GX347MG.js} +517 -65
- package/dist/chunk-4GX347MG.js.br +0 -0
- package/dist/{chunk-P3Y3OMAD.js.gz → chunk-4GX347MG.js.gz} +0 -0
- package/dist/{chunk-PILJZ5OE.js → chunk-CIK6XUOH.js} +3 -3
- package/dist/chunk-CIK6XUOH.js.br +0 -0
- package/dist/{chunk-PILJZ5OE.js.gz → chunk-CIK6XUOH.js.gz} +0 -0
- package/dist/{chunk-7W5MCYBN.js → chunk-JV6DI7AK.js} +1100 -1073
- package/dist/chunk-JV6DI7AK.js.br +0 -0
- package/dist/chunk-JV6DI7AK.js.gz +0 -0
- package/dist/{chunk-VNVURLZM.mjs → chunk-LDD2UVCV.mjs} +54 -27
- package/dist/chunk-LDD2UVCV.mjs.br +0 -0
- package/dist/chunk-LDD2UVCV.mjs.gz +0 -0
- package/dist/{chunk-OIITLGKQ.mjs → chunk-MDFCBYEM.mjs} +510 -65
- package/dist/chunk-MDFCBYEM.mjs.br +0 -0
- package/dist/{chunk-OIITLGKQ.mjs.gz → chunk-MDFCBYEM.mjs.gz} +0 -0
- package/dist/{chunk-GOPIG4VW.js → chunk-NKE64XVV.js} +348 -344
- package/dist/chunk-NKE64XVV.js.br +0 -0
- package/dist/chunk-NKE64XVV.js.gz +0 -0
- package/dist/{chunk-AX75ONFY.js → chunk-P6KM7RO5.js} +415 -396
- package/dist/chunk-P6KM7RO5.js.br +0 -0
- package/dist/chunk-P6KM7RO5.js.gz +0 -0
- package/dist/{chunk-ULB35HMJ.mjs → chunk-QI2JCXTH.mjs} +1 -1
- package/dist/chunk-QI2JCXTH.mjs.br +0 -0
- package/dist/chunk-QI2JCXTH.mjs.gz +0 -0
- package/dist/{chunk-TWPZJXLC.mjs → chunk-UWYHBCLM.mjs} +11 -7
- package/dist/chunk-UWYHBCLM.mjs.br +0 -0
- package/dist/chunk-UWYHBCLM.mjs.gz +0 -0
- package/dist/{chunk-FFBY2TKD.mjs → chunk-Z4CS2ZYN.mjs} +173 -154
- package/dist/chunk-Z4CS2ZYN.mjs.br +0 -0
- package/dist/chunk-Z4CS2ZYN.mjs.gz +0 -0
- package/dist/index.js +39 -39
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +43 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +78 -78
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/viewer/index.js +26 -26
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-TYU52HDW.mjs.br +0 -0
- package/dist/AiChatPanel-TYU52HDW.mjs.gz +0 -0
- package/dist/AiChatPanel-VKGWK23E.js.br +0 -0
- package/dist/AiChatPanel-VKGWK23E.js.gz +0 -0
- package/dist/Model3DScene-267BHD5T.mjs.gz +0 -0
- package/dist/Model3DScene-TG7OSR6V.js.br +0 -0
- package/dist/Model3DScene-TG7OSR6V.js.gz +0 -0
- package/dist/SurfaceChart3DScene-GK4JHZAC.js.br +0 -0
- package/dist/SurfaceChart3DScene-GK4JHZAC.js.gz +0 -0
- package/dist/SurfaceChart3DScene-RPRVXRQZ.mjs.gz +0 -0
- package/dist/chunk-7W5MCYBN.js.br +0 -0
- package/dist/chunk-7W5MCYBN.js.gz +0 -0
- package/dist/chunk-AX75ONFY.js.br +0 -0
- package/dist/chunk-AX75ONFY.js.gz +0 -0
- package/dist/chunk-FFBY2TKD.mjs.br +0 -0
- package/dist/chunk-FFBY2TKD.mjs.gz +0 -0
- package/dist/chunk-GOPIG4VW.js.br +0 -0
- package/dist/chunk-GOPIG4VW.js.gz +0 -0
- package/dist/chunk-OIITLGKQ.mjs.br +0 -0
- package/dist/chunk-P3Y3OMAD.js.br +0 -0
- package/dist/chunk-PILJZ5OE.js.br +0 -0
- package/dist/chunk-TWPZJXLC.mjs.br +0 -0
- package/dist/chunk-TWPZJXLC.mjs.gz +0 -0
- package/dist/chunk-ULB35HMJ.mjs.br +0 -0
- package/dist/chunk-ULB35HMJ.mjs.gz +0 -0
- package/dist/chunk-VNVURLZM.mjs.br +0 -0
- package/dist/chunk-VNVURLZM.mjs.gz +0 -0
|
@@ -101987,39 +101987,11 @@ function getImageFitStyle(el) {
|
|
|
101987
101987
|
if (!isImageLikeElement(el)) {
|
|
101988
101988
|
return uncropped;
|
|
101989
101989
|
}
|
|
101990
|
-
const
|
|
101991
|
-
|
|
101992
|
-
const frRight = el.fillRectRight ?? 0;
|
|
101993
|
-
const frBottom = el.fillRectBottom ?? 0;
|
|
101994
|
-
const hasFillRect = Math.abs(frLeft) + Math.abs(frTop) + Math.abs(frRight) + Math.abs(frBottom) > 1e-4;
|
|
101995
|
-
const placementTransform = hasFillRect ? `translate(${round2(frLeft * 100)}%, ${round2(frTop * 100)}%) scale(${round6(
|
|
101996
|
-
Math.max(0.01, 1 - frLeft - frRight)
|
|
101997
|
-
)}, ${round6(Math.max(0.01, 1 - frTop - frBottom))})` : "";
|
|
101998
|
-
const cropLeft = clampCropValue(el.cropLeft);
|
|
101999
|
-
const cropTop = clampCropValue(el.cropTop);
|
|
102000
|
-
const cropRight = clampCropValue(el.cropRight);
|
|
102001
|
-
const cropBottom = clampCropValue(el.cropBottom);
|
|
102002
|
-
const hasCrop = cropLeft + cropRight > 1e-4 || cropTop + cropBottom > 1e-4;
|
|
102003
|
-
if (!hasCrop && !hasFillRect) {
|
|
101990
|
+
const { placement, crop } = imageFitTransformParts(el);
|
|
101991
|
+
if (!placement && !crop) {
|
|
102004
101992
|
return uncropped;
|
|
102005
101993
|
}
|
|
102006
|
-
|
|
102007
|
-
if (hasCrop) {
|
|
102008
|
-
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
102009
|
-
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
102010
|
-
const left = clampCropValue(cropLeft * horizontalScale);
|
|
102011
|
-
const right = clampCropValue(cropRight * horizontalScale);
|
|
102012
|
-
const top = clampCropValue(cropTop * verticalScale);
|
|
102013
|
-
const bottom = clampCropValue(cropBottom * verticalScale);
|
|
102014
|
-
const remainingWidth = Math.max(0.01, 1 - left - right);
|
|
102015
|
-
const remainingHeight = Math.max(0.01, 1 - top - bottom);
|
|
102016
|
-
const tx = Math.round(-left / remainingWidth * 1e4) / 100;
|
|
102017
|
-
const ty = Math.round(-top / remainingHeight * 1e4) / 100;
|
|
102018
|
-
const sx = Math.round(1 / remainingWidth * 1e6) / 1e6;
|
|
102019
|
-
const sy = Math.round(1 / remainingHeight * 1e6) / 1e6;
|
|
102020
|
-
cropTransform = `translate(${tx}%, ${ty}%) scale(${sx}, ${sy})`;
|
|
102021
|
-
}
|
|
102022
|
-
const transform = [placementTransform, cropTransform].filter(Boolean).join(" ");
|
|
101994
|
+
const transform = [placement, crop].filter(Boolean).join(" ");
|
|
102023
101995
|
return {
|
|
102024
101996
|
position: "absolute",
|
|
102025
101997
|
width: "100%",
|
|
@@ -102031,6 +102003,47 @@ function getImageFitStyle(el) {
|
|
|
102031
102003
|
transform
|
|
102032
102004
|
};
|
|
102033
102005
|
}
|
|
102006
|
+
var IDENTITY_TRANSFORM_PAIR = "translate(0%, 0%) scale(1, 1)";
|
|
102007
|
+
function imageFitTransformParts(el) {
|
|
102008
|
+
if (!isImageLikeElement(el)) {
|
|
102009
|
+
return { placement: "", crop: "" };
|
|
102010
|
+
}
|
|
102011
|
+
const frLeft = el.fillRectLeft ?? 0;
|
|
102012
|
+
const frTop = el.fillRectTop ?? 0;
|
|
102013
|
+
const frRight = el.fillRectRight ?? 0;
|
|
102014
|
+
const frBottom = el.fillRectBottom ?? 0;
|
|
102015
|
+
const hasFillRect = Math.abs(frLeft) + Math.abs(frTop) + Math.abs(frRight) + Math.abs(frBottom) > 1e-4;
|
|
102016
|
+
const placement = hasFillRect ? `translate(${round2(frLeft * 100)}%, ${round2(frTop * 100)}%) scale(${round6(
|
|
102017
|
+
Math.max(0.01, 1 - frLeft - frRight)
|
|
102018
|
+
)}, ${round6(Math.max(0.01, 1 - frTop - frBottom))})` : "";
|
|
102019
|
+
const cropLeft = clampCropValue(el.cropLeft);
|
|
102020
|
+
const cropTop = clampCropValue(el.cropTop);
|
|
102021
|
+
const cropRight = clampCropValue(el.cropRight);
|
|
102022
|
+
const cropBottom = clampCropValue(el.cropBottom);
|
|
102023
|
+
if (cropLeft + cropRight <= 1e-4 && cropTop + cropBottom <= 1e-4) {
|
|
102024
|
+
return { placement, crop: "" };
|
|
102025
|
+
}
|
|
102026
|
+
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
102027
|
+
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
102028
|
+
const left = clampCropValue(cropLeft * horizontalScale);
|
|
102029
|
+
const right = clampCropValue(cropRight * horizontalScale);
|
|
102030
|
+
const top = clampCropValue(cropTop * verticalScale);
|
|
102031
|
+
const bottom = clampCropValue(cropBottom * verticalScale);
|
|
102032
|
+
const remainingWidth = Math.max(0.01, 1 - left - right);
|
|
102033
|
+
const remainingHeight = Math.max(0.01, 1 - top - bottom);
|
|
102034
|
+
const tx = Math.round(-left / remainingWidth * 1e4) / 100;
|
|
102035
|
+
const ty = Math.round(-top / remainingHeight * 1e4) / 100;
|
|
102036
|
+
const sx = Math.round(1 / remainingWidth * 1e6) / 1e6;
|
|
102037
|
+
const sy = Math.round(1 / remainingHeight * 1e6) / 1e6;
|
|
102038
|
+
return { placement, crop: `translate(${tx}%, ${ty}%) scale(${sx}, ${sy})` };
|
|
102039
|
+
}
|
|
102040
|
+
function buildImageFitTransform(el, padToIdentity = false) {
|
|
102041
|
+
const { placement, crop } = imageFitTransformParts(el);
|
|
102042
|
+
if (!padToIdentity) {
|
|
102043
|
+
return [placement, crop].filter(Boolean).join(" ");
|
|
102044
|
+
}
|
|
102045
|
+
return `${placement || IDENTITY_TRANSFORM_PAIR} ${crop || IDENTITY_TRANSFORM_PAIR}`;
|
|
102046
|
+
}
|
|
102034
102047
|
function round2(value) {
|
|
102035
102048
|
return Math.round(value * 100) / 100;
|
|
102036
102049
|
}
|
|
@@ -107776,8 +107789,118 @@ function buildTextRunFilterChain(style) {
|
|
|
107776
107789
|
}
|
|
107777
107790
|
return parts.length > 0 ? parts.join(" ") : void 0;
|
|
107778
107791
|
}
|
|
107779
|
-
var
|
|
107780
|
-
var
|
|
107792
|
+
var ADVANCE_STEPS_PER_PX = 6;
|
|
107793
|
+
var MAX_TRACKING_PX_PER_CHAR = 1 / (2 * ADVANCE_STEPS_PER_PX);
|
|
107794
|
+
var MAX_CACHE_ENTRIES = 2e4;
|
|
107795
|
+
var measureContext;
|
|
107796
|
+
var trackingCache = /* @__PURE__ */ new Map();
|
|
107797
|
+
var fontsHookInstalled = false;
|
|
107798
|
+
function installFontLoadHook() {
|
|
107799
|
+
if (fontsHookInstalled || typeof document === "undefined") {
|
|
107800
|
+
return;
|
|
107801
|
+
}
|
|
107802
|
+
fontsHookInstalled = true;
|
|
107803
|
+
document.fonts?.addEventListener?.("loadingdone", () => {
|
|
107804
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
107805
|
+
});
|
|
107806
|
+
}
|
|
107807
|
+
function getMeasureContext() {
|
|
107808
|
+
if (measureContext !== void 0) {
|
|
107809
|
+
return measureContext;
|
|
107810
|
+
}
|
|
107811
|
+
if (typeof document === "undefined") {
|
|
107812
|
+
measureContext = null;
|
|
107813
|
+
return null;
|
|
107814
|
+
}
|
|
107815
|
+
installFontLoadHook();
|
|
107816
|
+
measureContext = document.createElement("canvas").getContext("2d");
|
|
107817
|
+
return measureContext;
|
|
107818
|
+
}
|
|
107819
|
+
function toCanvasFont(font) {
|
|
107820
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : DEFAULT_TEXT_FONT_SIZE;
|
|
107821
|
+
const family = font.fontFamily || DEFAULT_FONT_FAMILY;
|
|
107822
|
+
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family}`;
|
|
107823
|
+
}
|
|
107824
|
+
function advancesOf(ctx, canvasFont, chars) {
|
|
107825
|
+
ctx.font = canvasFont;
|
|
107826
|
+
ctx.fontKerning = "none";
|
|
107827
|
+
const advances = [];
|
|
107828
|
+
let previous = 0;
|
|
107829
|
+
let prefix = "";
|
|
107830
|
+
for (const char of chars) {
|
|
107831
|
+
prefix += char;
|
|
107832
|
+
const width = ctx.measureText(prefix).width;
|
|
107833
|
+
advances.push(width - previous);
|
|
107834
|
+
previous = width;
|
|
107835
|
+
}
|
|
107836
|
+
return advances;
|
|
107837
|
+
}
|
|
107838
|
+
function resolveMetricTrackingPx(text2, font) {
|
|
107839
|
+
if (!text2) {
|
|
107840
|
+
return 0;
|
|
107841
|
+
}
|
|
107842
|
+
const canvasFont = toCanvasFont(font);
|
|
107843
|
+
const key = `${canvasFont}\0${text2}`;
|
|
107844
|
+
const cached = trackingCache.get(key);
|
|
107845
|
+
if (cached !== void 0) {
|
|
107846
|
+
return cached;
|
|
107847
|
+
}
|
|
107848
|
+
const ctx = getMeasureContext();
|
|
107849
|
+
if (!ctx) {
|
|
107850
|
+
return 0;
|
|
107851
|
+
}
|
|
107852
|
+
const chars = [...text2];
|
|
107853
|
+
let powerPoint = 0;
|
|
107854
|
+
for (const advance of advancesOf(ctx, canvasFont, chars)) {
|
|
107855
|
+
powerPoint += Math.round(advance * ADVANCE_STEPS_PER_PX);
|
|
107856
|
+
}
|
|
107857
|
+
ctx.fontKerning = "auto";
|
|
107858
|
+
const natural = ctx.measureText(text2).width;
|
|
107859
|
+
if (!(natural > 0)) {
|
|
107860
|
+
return 0;
|
|
107861
|
+
}
|
|
107862
|
+
powerPoint /= ADVANCE_STEPS_PER_PX;
|
|
107863
|
+
const limit = MAX_TRACKING_PX_PER_CHAR;
|
|
107864
|
+
const raw = (powerPoint - natural) / chars.length;
|
|
107865
|
+
const tracking = Math.min(limit, Math.max(-limit, raw));
|
|
107866
|
+
if (trackingCache.size >= MAX_CACHE_ENTRIES) {
|
|
107867
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
107868
|
+
}
|
|
107869
|
+
trackingCache.set(key, tracking);
|
|
107870
|
+
return tracking;
|
|
107871
|
+
}
|
|
107872
|
+
function isBreakBoundary(previous, next) {
|
|
107873
|
+
const previousSpace = /\s/u.test(previous);
|
|
107874
|
+
const nextSpace = /\s/u.test(next);
|
|
107875
|
+
if (previousSpace !== nextSpace) {
|
|
107876
|
+
return true;
|
|
107877
|
+
}
|
|
107878
|
+
return previous === "-" && next !== "-" && !nextSpace;
|
|
107879
|
+
}
|
|
107880
|
+
function splitRunForMetrics(text2, font) {
|
|
107881
|
+
const chars = [...text2];
|
|
107882
|
+
if (chars.length < 2 || !getMeasureContext()) {
|
|
107883
|
+
return [{ text: text2, tracking: resolveMetricTrackingPx(text2, font) }];
|
|
107884
|
+
}
|
|
107885
|
+
const pieces = [];
|
|
107886
|
+
let current = chars[0];
|
|
107887
|
+
for (let i = 1; i < chars.length; i++) {
|
|
107888
|
+
if (isBreakBoundary(chars[i - 1], chars[i])) {
|
|
107889
|
+
pieces.push(current);
|
|
107890
|
+
current = "";
|
|
107891
|
+
}
|
|
107892
|
+
current += chars[i];
|
|
107893
|
+
}
|
|
107894
|
+
pieces.push(current);
|
|
107895
|
+
if (pieces.length === 1) {
|
|
107896
|
+
return [{ text: text2, tracking: resolveMetricTrackingPx(text2, font) }];
|
|
107897
|
+
}
|
|
107898
|
+
return pieces.map((piece) => ({ text: piece, tracking: resolveMetricTrackingPx(piece, font) }));
|
|
107899
|
+
}
|
|
107900
|
+
function pieceLetterSpacing(authoredPx, tracking) {
|
|
107901
|
+
const spacing = authoredPx + tracking;
|
|
107902
|
+
return spacing === 0 ? void 0 : `${spacing}px`;
|
|
107903
|
+
}
|
|
107781
107904
|
function resolveParagraphStrutFontSize(segments, bodyFontSize) {
|
|
107782
107905
|
let largest;
|
|
107783
107906
|
for (const segment of segments) {
|
|
@@ -107888,6 +108011,43 @@ function correspondingGroup(group2, candidates) {
|
|
|
107888
108011
|
return sameBox(group2, candidate);
|
|
107889
108012
|
});
|
|
107890
108013
|
}
|
|
108014
|
+
var CHILD_OVERLAP_RATIO = 0.5;
|
|
108015
|
+
function boxOverlapRatio(a, b) {
|
|
108016
|
+
const left = Math.max(a.x, b.x);
|
|
108017
|
+
const top = Math.max(a.y, b.y);
|
|
108018
|
+
const right = Math.min(a.x + a.width, b.x + b.width);
|
|
108019
|
+
const bottom = Math.min(a.y + a.height, b.y + b.height);
|
|
108020
|
+
if (right <= left || bottom <= top) {
|
|
108021
|
+
return 0;
|
|
108022
|
+
}
|
|
108023
|
+
const intersection = (right - left) * (bottom - top);
|
|
108024
|
+
const union = a.width * a.height + b.width * b.height - intersection;
|
|
108025
|
+
return union > 0 ? intersection / union : 0;
|
|
108026
|
+
}
|
|
108027
|
+
function childrenPair(a, b) {
|
|
108028
|
+
const morphName = getElementMorphName(a);
|
|
108029
|
+
if (morphName !== void 0 && getElementMorphName(b) === morphName) {
|
|
108030
|
+
return true;
|
|
108031
|
+
}
|
|
108032
|
+
if (a.name && a.name === b.name) {
|
|
108033
|
+
return true;
|
|
108034
|
+
}
|
|
108035
|
+
return boxOverlapRatio(a, b) >= CHILD_OVERLAP_RATIO;
|
|
108036
|
+
}
|
|
108037
|
+
function childrenCorrespond(a, b) {
|
|
108038
|
+
if (a.length !== b.length || a.length === 0) {
|
|
108039
|
+
return false;
|
|
108040
|
+
}
|
|
108041
|
+
const unclaimed = b.map((child22) => child22);
|
|
108042
|
+
for (const child22 of a) {
|
|
108043
|
+
const index = unclaimed.findIndex((candidate) => childrenPair(child22, candidate));
|
|
108044
|
+
if (index < 0) {
|
|
108045
|
+
return false;
|
|
108046
|
+
}
|
|
108047
|
+
unclaimed.splice(index, 1);
|
|
108048
|
+
}
|
|
108049
|
+
return true;
|
|
108050
|
+
}
|
|
107891
108051
|
function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
107892
108052
|
const out = [];
|
|
107893
108053
|
for (const element of elements) {
|
|
@@ -107895,7 +108055,7 @@ function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
|
107895
108055
|
if (children8 && containsMorphNamedDescendant(element)) {
|
|
107896
108056
|
const twin = correspondingGroup(element, counterpart);
|
|
107897
108057
|
const twinChildren = twin ? groupChildren(twin) ?? [] : void 0;
|
|
107898
|
-
if (twinChildren) {
|
|
108058
|
+
if (twinChildren && childrenCorrespond(children8, twinChildren)) {
|
|
107899
108059
|
out.push(
|
|
107900
108060
|
...flattenMorphElements(children8, twinChildren, offsetX + element.x, offsetY + element.y)
|
|
107901
108061
|
);
|
|
@@ -108115,6 +108275,7 @@ function interpolateOutline(from, to, t) {
|
|
|
108115
108275
|
return parts.join(" ");
|
|
108116
108276
|
}
|
|
108117
108277
|
var MORPH_EASING = "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
108278
|
+
var MORPH_CROSSFADE_EASING = "cubic-bezier(0.2, 0, 0.4, 1)";
|
|
108118
108279
|
var MORPH_FADE_OUT_HOLD_PERCENT = 4;
|
|
108119
108280
|
var MORPH_FADE_OUT_END_PERCENT = 23;
|
|
108120
108281
|
var MORPH_FADE_IN_START_PERCENT = 42;
|
|
@@ -108180,6 +108341,88 @@ ${body}
|
|
|
108180
108341
|
keyframes
|
|
108181
108342
|
};
|
|
108182
108343
|
}
|
|
108344
|
+
var CROP_EPSILON = 1e-4;
|
|
108345
|
+
function cropInsets(element) {
|
|
108346
|
+
if (!isImageLikeElement(element)) {
|
|
108347
|
+
return [0, 0, 0, 0, 0, 0, 0, 0];
|
|
108348
|
+
}
|
|
108349
|
+
return [
|
|
108350
|
+
element.cropLeft ?? 0,
|
|
108351
|
+
element.cropTop ?? 0,
|
|
108352
|
+
element.cropRight ?? 0,
|
|
108353
|
+
element.cropBottom ?? 0,
|
|
108354
|
+
element.fillRectLeft ?? 0,
|
|
108355
|
+
element.fillRectTop ?? 0,
|
|
108356
|
+
element.fillRectRight ?? 0,
|
|
108357
|
+
element.fillRectBottom ?? 0
|
|
108358
|
+
];
|
|
108359
|
+
}
|
|
108360
|
+
function morphImageCropChanged(fromElement, toElement) {
|
|
108361
|
+
if (!isImageLikeElement(fromElement) || !isImageLikeElement(toElement)) {
|
|
108362
|
+
return false;
|
|
108363
|
+
}
|
|
108364
|
+
const from = cropInsets(fromElement);
|
|
108365
|
+
const to = cropInsets(toElement);
|
|
108366
|
+
return from.some((value, index) => Math.abs(value - to[index]) > CROP_EPSILON);
|
|
108367
|
+
}
|
|
108368
|
+
function cropKeyframes(name, fromTransform, toTransform) {
|
|
108369
|
+
return `
|
|
108370
|
+
@keyframes ${name} {
|
|
108371
|
+
from {
|
|
108372
|
+
transform-origin: top left;
|
|
108373
|
+
transform: ${fromTransform};
|
|
108374
|
+
}
|
|
108375
|
+
to {
|
|
108376
|
+
transform-origin: top left;
|
|
108377
|
+
transform: ${toTransform};
|
|
108378
|
+
}
|
|
108379
|
+
}`;
|
|
108380
|
+
}
|
|
108381
|
+
function generateImageCropMorphAnimations(pairs2, durationMs) {
|
|
108382
|
+
const animations = [];
|
|
108383
|
+
for (let index = 0; index < pairs2.length; index++) {
|
|
108384
|
+
const { fromElement, toElement } = pairs2[index];
|
|
108385
|
+
if (!morphImageCropChanged(fromElement, toElement)) {
|
|
108386
|
+
continue;
|
|
108387
|
+
}
|
|
108388
|
+
const safeName = `pptx-morph-crop-${index}-${toElement.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
108389
|
+
animations.push({
|
|
108390
|
+
elementId: toElement.id,
|
|
108391
|
+
target: "image",
|
|
108392
|
+
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
|
|
108393
|
+
keyframes: cropKeyframes(
|
|
108394
|
+
safeName,
|
|
108395
|
+
buildImageFitTransform(fromElement, true),
|
|
108396
|
+
buildImageFitTransform(toElement, true)
|
|
108397
|
+
)
|
|
108398
|
+
});
|
|
108399
|
+
}
|
|
108400
|
+
return animations;
|
|
108401
|
+
}
|
|
108402
|
+
function generateImageCropGhostAnimations(pairs2, durationMs, ghostIds) {
|
|
108403
|
+
const animations = [];
|
|
108404
|
+
for (let index = 0; index < pairs2.length; index++) {
|
|
108405
|
+
const { fromElement, toElement } = pairs2[index];
|
|
108406
|
+
if (ghostIds && !ghostIds.has(fromElement.id)) {
|
|
108407
|
+
continue;
|
|
108408
|
+
}
|
|
108409
|
+
if (!morphImageCropChanged(fromElement, toElement)) {
|
|
108410
|
+
continue;
|
|
108411
|
+
}
|
|
108412
|
+
const safeName = `pptx-morph-crop-ghost-${index}-${fromElement.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
108413
|
+
animations.push({
|
|
108414
|
+
elementId: fromElement.id,
|
|
108415
|
+
target: "image",
|
|
108416
|
+
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
|
|
108417
|
+
keyframes: cropKeyframes(
|
|
108418
|
+
safeName,
|
|
108419
|
+
buildImageFitTransform(fromElement, true),
|
|
108420
|
+
buildImageFitTransform(toElement, true)
|
|
108421
|
+
)
|
|
108422
|
+
});
|
|
108423
|
+
}
|
|
108424
|
+
return animations;
|
|
108425
|
+
}
|
|
108183
108426
|
var TEXT_MAX_DEPTH = 8;
|
|
108184
108427
|
function elementText(element, depth = 0) {
|
|
108185
108428
|
const own = element.text ?? "";
|
|
@@ -108353,6 +108596,69 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
108353
108596
|
const unmatchedTo = toElements.filter((el) => !usedTo.has(el.id));
|
|
108354
108597
|
return { pairs: pairs2, unmatchedFrom, unmatchedTo };
|
|
108355
108598
|
}
|
|
108599
|
+
function travelledBox(from, to) {
|
|
108600
|
+
const boxes = to ? [from, to] : [from];
|
|
108601
|
+
return {
|
|
108602
|
+
left: Math.min(...boxes.map((element) => element.x)),
|
|
108603
|
+
top: Math.min(...boxes.map((element) => element.y)),
|
|
108604
|
+
right: Math.max(...boxes.map((element) => element.x + element.width)),
|
|
108605
|
+
bottom: Math.max(...boxes.map((element) => element.y + element.height))
|
|
108606
|
+
};
|
|
108607
|
+
}
|
|
108608
|
+
function boxesOverlap(a, b) {
|
|
108609
|
+
return a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom;
|
|
108610
|
+
}
|
|
108611
|
+
function buildMorphMergedOrder(outgoing, incoming, pairs2) {
|
|
108612
|
+
const partnerOf = new Map(pairs2.map((pair) => [pair.toElement.id, pair.fromElement.id]));
|
|
108613
|
+
const outgoingIndex = new Map(outgoing.map((element, index) => [element.id, index]));
|
|
108614
|
+
const rank = /* @__PURE__ */ new Map();
|
|
108615
|
+
let next = 0;
|
|
108616
|
+
let cursor = 0;
|
|
108617
|
+
const flushOutgoingBelow = (limit) => {
|
|
108618
|
+
while (cursor < limit) {
|
|
108619
|
+
const element = outgoing[cursor];
|
|
108620
|
+
cursor += 1;
|
|
108621
|
+
if (!rank.has(element.id)) {
|
|
108622
|
+
rank.set(element.id, next);
|
|
108623
|
+
next += 1;
|
|
108624
|
+
}
|
|
108625
|
+
}
|
|
108626
|
+
};
|
|
108627
|
+
for (const element of incoming) {
|
|
108628
|
+
const partner = partnerOf.get(element.id);
|
|
108629
|
+
const partnerIndex = partner === void 0 ? void 0 : outgoingIndex.get(partner);
|
|
108630
|
+
if (partner === void 0 || partnerIndex === void 0) {
|
|
108631
|
+
rank.set(element.id, next);
|
|
108632
|
+
next += 1;
|
|
108633
|
+
continue;
|
|
108634
|
+
}
|
|
108635
|
+
flushOutgoingBelow(partnerIndex + 1);
|
|
108636
|
+
rank.set(element.id, rank.get(partner) ?? next);
|
|
108637
|
+
}
|
|
108638
|
+
flushOutgoingBelow(outgoing.length);
|
|
108639
|
+
return rank;
|
|
108640
|
+
}
|
|
108641
|
+
function resolveMorphOverlayArrivals(outgoing, incoming, pairs2, holdingGhostIds) {
|
|
108642
|
+
const rank = buildMorphMergedOrder(outgoing, incoming, pairs2);
|
|
108643
|
+
const matched = new Set(pairs2.map((pair) => pair.toElement.id));
|
|
108644
|
+
const counterpart = new Map(pairs2.map((pair) => [pair.fromElement.id, pair.toElement]));
|
|
108645
|
+
const ghosts = outgoing.filter((element) => holdingGhostIds.has(element.id)).map((element) => ({
|
|
108646
|
+
rank: rank.get(element.id) ?? 0,
|
|
108647
|
+
box: travelledBox(element, counterpart.get(element.id))
|
|
108648
|
+
}));
|
|
108649
|
+
const lifted = /* @__PURE__ */ new Set();
|
|
108650
|
+
for (const element of incoming) {
|
|
108651
|
+
if (matched.has(element.id)) {
|
|
108652
|
+
continue;
|
|
108653
|
+
}
|
|
108654
|
+
const mine = rank.get(element.id) ?? 0;
|
|
108655
|
+
const box = travelledBox(element);
|
|
108656
|
+
if (ghosts.some((ghost) => ghost.rank < mine && boxesOverlap(ghost.box, box))) {
|
|
108657
|
+
lifted.add(element.id);
|
|
108658
|
+
}
|
|
108659
|
+
}
|
|
108660
|
+
return lifted;
|
|
108661
|
+
}
|
|
108356
108662
|
function tokenizeText(element, mode) {
|
|
108357
108663
|
if (!hasTextProperties(element) || !element.text) {
|
|
108358
108664
|
return [];
|
|
@@ -108588,19 +108894,7 @@ function morphPairNeedsCrossfade(fromElement, toElement) {
|
|
|
108588
108894
|
}
|
|
108589
108895
|
var GEOMETRY_EPSILON = 0.5;
|
|
108590
108896
|
function isInertMorphPair(fromElement, toElement) {
|
|
108591
|
-
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);
|
|
108592
|
-
}
|
|
108593
|
-
function travelledBox(from, to) {
|
|
108594
|
-
const boxes = to ? [from, to] : [from];
|
|
108595
|
-
return {
|
|
108596
|
-
left: Math.min(...boxes.map((element) => element.x)),
|
|
108597
|
-
top: Math.min(...boxes.map((element) => element.y)),
|
|
108598
|
-
right: Math.max(...boxes.map((element) => element.x + element.width)),
|
|
108599
|
-
bottom: Math.max(...boxes.map((element) => element.y + element.height))
|
|
108600
|
-
};
|
|
108601
|
-
}
|
|
108602
|
-
function boxesOverlap(a, b) {
|
|
108603
|
-
return a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom;
|
|
108897
|
+
return !morphImageCropChanged(fromElement, toElement) && 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);
|
|
108604
108898
|
}
|
|
108605
108899
|
function resolveMorphGhostIds(outgoingElements, pairs2) {
|
|
108606
108900
|
const counterparts = new Map(pairs2.map((pair) => [pair.fromElement.id, pair.toElement]));
|
|
@@ -108622,6 +108916,10 @@ function crossfadeIncomingMayFadeIn(element) {
|
|
|
108622
108916
|
if (image.imagePath || image.svgPath) {
|
|
108623
108917
|
return false;
|
|
108624
108918
|
}
|
|
108919
|
+
const children8 = element.children;
|
|
108920
|
+
if (children8?.length) {
|
|
108921
|
+
return children8.every((child22) => crossfadeIncomingMayFadeIn(child22));
|
|
108922
|
+
}
|
|
108625
108923
|
if (!hasShapeProperties(element)) {
|
|
108626
108924
|
return true;
|
|
108627
108925
|
}
|
|
@@ -108655,13 +108953,15 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object", ghostIds)
|
|
|
108655
108953
|
const inert = ghosted && isInertMorphPair(fromElement, toElement);
|
|
108656
108954
|
const crossfadesIn = !inert && morphPairNeedsCrossfade(fromElement, toElement) && crossfadeIncomingMayFadeIn(toElement);
|
|
108657
108955
|
const fromProps = [
|
|
108658
|
-
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${fromRot}deg)${flips}
|
|
108659
|
-
` opacity: ${inert ? 0 : crossfadesIn ? 0 : fromOpacity};`
|
|
108956
|
+
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${fromRot}deg)${flips};`
|
|
108660
108957
|
];
|
|
108661
108958
|
const toProps = [
|
|
108662
|
-
` transform: translate(0, 0) scale(1, 1) rotate(${toRot}deg)${flips}
|
|
108663
|
-
` opacity: ${inert ? 0 : toOpacity};`
|
|
108959
|
+
` transform: translate(0, 0) scale(1, 1) rotate(${toRot}deg)${flips};`
|
|
108664
108960
|
];
|
|
108961
|
+
if (!crossfadesIn) {
|
|
108962
|
+
fromProps.push(` opacity: ${inert ? 0 : fromOpacity};`);
|
|
108963
|
+
toProps.push(` opacity: ${inert ? 0 : toOpacity};`);
|
|
108964
|
+
}
|
|
108665
108965
|
const colorInterp = buildColorInterpolationProps(fromElement, toElement);
|
|
108666
108966
|
if (colorInterp) {
|
|
108667
108967
|
fromProps.push(` background-color: ${colorInterp.fromBg};`);
|
|
@@ -108680,10 +108980,18 @@ ${fromProps.join("\n")}
|
|
|
108680
108980
|
to {
|
|
108681
108981
|
${toProps.join("\n")}
|
|
108682
108982
|
}
|
|
108683
|
-
}
|
|
108983
|
+
}${crossfadesIn ? `
|
|
108984
|
+
@keyframes ${safeName}-fade {
|
|
108985
|
+
from {
|
|
108986
|
+
opacity: 0;
|
|
108987
|
+
}
|
|
108988
|
+
to {
|
|
108989
|
+
opacity: ${toOpacity};
|
|
108990
|
+
}
|
|
108991
|
+
}` : ""}`;
|
|
108684
108992
|
animations.push({
|
|
108685
108993
|
elementId: toElement.id,
|
|
108686
|
-
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
|
|
108994
|
+
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards${crossfadesIn ? `, ${safeName}-fade ${durationMs}ms ${MORPH_CROSSFADE_EASING} forwards` : ""}`,
|
|
108687
108995
|
keyframes
|
|
108688
108996
|
});
|
|
108689
108997
|
}
|
|
@@ -108705,22 +109013,31 @@ function generateMorphGhostAnimations(pairs2, durationMs, startIndex, ghostIds)
|
|
|
108705
109013
|
const fromRot = fromElement.rotation ?? 0;
|
|
108706
109014
|
const toRot = shortestRotationTarget(fromRot, toElement.rotation ?? 0);
|
|
108707
109015
|
const flips = `${fromElement.flipHorizontal ? " scaleX(-1)" : ""}${fromElement.flipVertical ? " scaleY(-1)" : ""}`;
|
|
109016
|
+
const opacity2 = fromElement.opacity ?? 1;
|
|
108708
109017
|
const keyframes = `
|
|
108709
109018
|
@keyframes ${safeName} {
|
|
108710
109019
|
from {
|
|
108711
109020
|
transform-origin: center;
|
|
108712
|
-
transform: translate(0, 0) scale(1, 1) rotate(${fromRot}deg)${flips}
|
|
108713
|
-
opacity: ${
|
|
109021
|
+
transform: translate(0, 0) scale(1, 1) rotate(${fromRot}deg)${flips};${fadesOut ? "" : `
|
|
109022
|
+
opacity: ${opacity2};`}
|
|
108714
109023
|
}
|
|
108715
109024
|
to {
|
|
108716
109025
|
transform-origin: center;
|
|
108717
|
-
transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${toRot}deg)${flips}
|
|
108718
|
-
opacity: ${
|
|
109026
|
+
transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${toRot}deg)${flips};${fadesOut ? "" : `
|
|
109027
|
+
opacity: ${opacity2};`}
|
|
108719
109028
|
}
|
|
108720
|
-
}
|
|
109029
|
+
}${fadesOut ? `
|
|
109030
|
+
@keyframes ${safeName}-fade {
|
|
109031
|
+
from {
|
|
109032
|
+
opacity: ${opacity2};
|
|
109033
|
+
}
|
|
109034
|
+
to {
|
|
109035
|
+
opacity: 0;
|
|
109036
|
+
}
|
|
109037
|
+
}` : ""}`;
|
|
108721
109038
|
animations.push({
|
|
108722
109039
|
elementId: fromElement.id,
|
|
108723
|
-
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
|
|
109040
|
+
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards${fadesOut ? `, ${safeName}-fade ${durationMs}ms ${MORPH_CROSSFADE_EASING} forwards` : ""}`,
|
|
108724
109041
|
keyframes
|
|
108725
109042
|
});
|
|
108726
109043
|
}
|
|
@@ -108830,6 +109147,7 @@ function generateFullMorphTransition(fromSlide, toSlide, durationMs, mode = "obj
|
|
|
108830
109147
|
allAnimations.push(geo);
|
|
108831
109148
|
}
|
|
108832
109149
|
}
|
|
109150
|
+
allAnimations.push(...generateImageCropMorphAnimations(matchResult.pairs, durationMs));
|
|
108833
109151
|
if (mode === "word" || mode === "character") {
|
|
108834
109152
|
for (let i = 0; i < matchResult.pairs.length; i++) {
|
|
108835
109153
|
const pair = matchResult.pairs[i];
|
|
@@ -108846,6 +109164,7 @@ function generateFullMorphTransition(fromSlide, toSlide, durationMs, mode = "obj
|
|
|
108846
109164
|
ghostIds
|
|
108847
109165
|
);
|
|
108848
109166
|
allAnimations.push(...ghosts);
|
|
109167
|
+
allAnimations.push(...generateImageCropGhostAnimations(matchResult.pairs, durationMs, ghostIds));
|
|
108849
109168
|
const fadeOuts = generateUnmatchedFadeOutAnimations(
|
|
108850
109169
|
matchResult.unmatchedFrom,
|
|
108851
109170
|
durationMs,
|
|
@@ -108860,6 +109179,16 @@ function generateFullMorphTransition(fromSlide, toSlide, durationMs, mode = "obj
|
|
|
108860
109179
|
allAnimations.push(...fadeIns);
|
|
108861
109180
|
return allAnimations;
|
|
108862
109181
|
}
|
|
109182
|
+
var LIFTED_HIDDEN_NAME = "pptx-morph-lifted-hidden";
|
|
109183
|
+
var LIFTED_HIDDEN_KEYFRAMES = `
|
|
109184
|
+
@keyframes ${LIFTED_HIDDEN_NAME} {
|
|
109185
|
+
from {
|
|
109186
|
+
opacity: 0;
|
|
109187
|
+
}
|
|
109188
|
+
to {
|
|
109189
|
+
opacity: 0;
|
|
109190
|
+
}
|
|
109191
|
+
}`;
|
|
108863
109192
|
function morphOptionToMode(option) {
|
|
108864
109193
|
if (option === "byWord") {
|
|
108865
109194
|
return "word";
|
|
@@ -108882,26 +109211,79 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
|
|
|
108882
109211
|
const outgoingIds = new Set(flattenedOutgoing.map((element) => element.id));
|
|
108883
109212
|
const incomingAnimations = /* @__PURE__ */ new Map();
|
|
108884
109213
|
const outgoingAnimations = /* @__PURE__ */ new Map();
|
|
109214
|
+
const incomingImageAnimations = /* @__PURE__ */ new Map();
|
|
109215
|
+
const outgoingImageAnimations = /* @__PURE__ */ new Map();
|
|
108885
109216
|
const keyframes = [];
|
|
108886
109217
|
for (const animation of animations) {
|
|
108887
109218
|
keyframes.push(animation.keyframes);
|
|
108888
|
-
|
|
108889
|
-
|
|
108890
|
-
|
|
108891
|
-
incomingAnimations.set(animation.elementId, animation.animation);
|
|
108892
|
-
}
|
|
109219
|
+
const isOutgoing = outgoingIds.has(animation.elementId);
|
|
109220
|
+
const target = animation.target === "image" ? isOutgoing ? outgoingImageAnimations : incomingImageAnimations : isOutgoing ? outgoingAnimations : incomingAnimations;
|
|
109221
|
+
target.set(animation.elementId, animation.animation);
|
|
108893
109222
|
}
|
|
108894
109223
|
const outgoingElements = flattenedOutgoing.filter(
|
|
108895
109224
|
(element) => outgoingAnimations.has(element.id)
|
|
108896
109225
|
);
|
|
109226
|
+
const flattenedIncoming = flattenMorphElements(toSlide.elements, fromSlide.elements);
|
|
109227
|
+
const holdingGhostIds = new Set(
|
|
109228
|
+
match.pairs.filter(
|
|
109229
|
+
(candidate) => outgoingAnimations.has(candidate.fromElement.id) && !morphPairNeedsCrossfade(candidate.fromElement, candidate.toElement)
|
|
109230
|
+
).map((candidate) => candidate.fromElement.id)
|
|
109231
|
+
);
|
|
109232
|
+
const lifted = resolveMorphOverlayArrivals(
|
|
109233
|
+
flattenedOutgoing,
|
|
109234
|
+
flattenedIncoming,
|
|
109235
|
+
match.pairs,
|
|
109236
|
+
holdingGhostIds
|
|
109237
|
+
);
|
|
109238
|
+
const overlayIncomingAnimations = /* @__PURE__ */ new Map();
|
|
109239
|
+
for (const id of lifted) {
|
|
109240
|
+
const animation = incomingAnimations.get(id);
|
|
109241
|
+
if (animation === void 0) {
|
|
109242
|
+
continue;
|
|
109243
|
+
}
|
|
109244
|
+
overlayIncomingAnimations.set(id, animation);
|
|
109245
|
+
incomingAnimations.set(id, `${LIFTED_HIDDEN_NAME} ${durationMs}ms linear forwards`);
|
|
109246
|
+
}
|
|
109247
|
+
if (overlayIncomingAnimations.size > 0) {
|
|
109248
|
+
keyframes.push(LIFTED_HIDDEN_KEYFRAMES);
|
|
109249
|
+
}
|
|
109250
|
+
const overlayIncomingElements = flattenedIncoming.filter(
|
|
109251
|
+
(element) => overlayIncomingAnimations.has(element.id)
|
|
109252
|
+
);
|
|
108897
109253
|
return {
|
|
108898
109254
|
keyframesCss: keyframes.join("\n"),
|
|
108899
109255
|
incomingAnimations,
|
|
108900
109256
|
outgoingAnimations,
|
|
109257
|
+
incomingImageAnimations,
|
|
109258
|
+
outgoingImageAnimations,
|
|
109259
|
+
overlayIncomingAnimations,
|
|
108901
109260
|
outgoingElements,
|
|
109261
|
+
overlayIncomingElements,
|
|
108902
109262
|
durationMs
|
|
108903
109263
|
};
|
|
108904
109264
|
}
|
|
109265
|
+
function cssAttributeValue(value) {
|
|
109266
|
+
return value.replace(/\\/gu, "\\\\").replace(/"/gu, '\\"');
|
|
109267
|
+
}
|
|
109268
|
+
function buildMorphAnimationRules(plan, scopeAttribute, which = "incoming", only) {
|
|
109269
|
+
const prefix = scopeAttribute ? `[${scopeAttribute}] ` : "";
|
|
109270
|
+
const rules = [];
|
|
109271
|
+
const emit = (animations, suffix) => {
|
|
109272
|
+
for (const [elementId, animation] of animations) {
|
|
109273
|
+
rules.push(
|
|
109274
|
+
`${prefix}[data-element-id="${cssAttributeValue(elementId)}"]${suffix} { animation: ${animation}; }`
|
|
109275
|
+
);
|
|
109276
|
+
}
|
|
109277
|
+
};
|
|
109278
|
+
if (only !== "image") {
|
|
109279
|
+
emit(
|
|
109280
|
+
which === "outgoing" ? plan.outgoingAnimations : which === "lifted" ? plan.overlayIncomingAnimations : plan.incomingAnimations,
|
|
109281
|
+
""
|
|
109282
|
+
);
|
|
109283
|
+
}
|
|
109284
|
+
emit(which === "outgoing" ? plan.outgoingImageAnimations : plan.incomingImageAnimations, " img");
|
|
109285
|
+
return rules.join("\n");
|
|
109286
|
+
}
|
|
108905
109287
|
function hexToRgb6(hex10) {
|
|
108906
109288
|
const clean = hex10.replace(/^#/u, "");
|
|
108907
109289
|
return {
|
|
@@ -119078,6 +119460,69 @@ function mediaTransportVisible(surface) {
|
|
|
119078
119460
|
}
|
|
119079
119461
|
return surface.canvasTransport;
|
|
119080
119462
|
}
|
|
119463
|
+
function mediaFallbackVisual(surface, input) {
|
|
119464
|
+
const contentOnly = surface.presenting || surface.preview;
|
|
119465
|
+
if (contentOnly) {
|
|
119466
|
+
return { poster: input.hasPoster, dimPoster: false, badge: "none", placeholder: "none" };
|
|
119467
|
+
}
|
|
119468
|
+
const missing = input.missing === true;
|
|
119469
|
+
if (input.hasPoster) {
|
|
119470
|
+
return {
|
|
119471
|
+
poster: true,
|
|
119472
|
+
dimPoster: missing,
|
|
119473
|
+
badge: missing ? "missing" : "play",
|
|
119474
|
+
placeholder: "none"
|
|
119475
|
+
};
|
|
119476
|
+
}
|
|
119477
|
+
return {
|
|
119478
|
+
poster: false,
|
|
119479
|
+
dimPoster: false,
|
|
119480
|
+
badge: "none",
|
|
119481
|
+
placeholder: missing ? "missing" : "typed"
|
|
119482
|
+
};
|
|
119483
|
+
}
|
|
119484
|
+
var MEDIA_FALLBACK_ICONS = {
|
|
119485
|
+
play: ["M5 3 L19 12 L5 21 Z"],
|
|
119486
|
+
missing: ["M12 2 a10 10 0 1 0 0 20 a10 10 0 1 0 0-20", "M4 4 L20 20"],
|
|
119487
|
+
audio: [
|
|
119488
|
+
"M9 18V5l12-2v13",
|
|
119489
|
+
"M6 15 a3 3 0 1 0 0 6 a3 3 0 1 0 0-6",
|
|
119490
|
+
"M18 13 a3 3 0 1 0 0 6 a3 3 0 1 0 0-6"
|
|
119491
|
+
]
|
|
119492
|
+
};
|
|
119493
|
+
function mediaFallbackIcon(visual, mediaType) {
|
|
119494
|
+
if (visual.badge === "missing" || visual.placeholder === "missing") {
|
|
119495
|
+
return MEDIA_FALLBACK_ICONS.missing;
|
|
119496
|
+
}
|
|
119497
|
+
if (visual.badge === "play") {
|
|
119498
|
+
return MEDIA_FALLBACK_ICONS.play;
|
|
119499
|
+
}
|
|
119500
|
+
if (visual.placeholder === "typed") {
|
|
119501
|
+
if (mediaType === "audio") {
|
|
119502
|
+
return MEDIA_FALLBACK_ICONS.audio;
|
|
119503
|
+
}
|
|
119504
|
+
if (mediaType === "video") {
|
|
119505
|
+
return MEDIA_FALLBACK_ICONS.play;
|
|
119506
|
+
}
|
|
119507
|
+
}
|
|
119508
|
+
return [];
|
|
119509
|
+
}
|
|
119510
|
+
function mediaFallbackLabelKey(visual, mediaType) {
|
|
119511
|
+
if (visual.badge === "missing" || visual.placeholder === "missing") {
|
|
119512
|
+
return "pptx.media.notFound";
|
|
119513
|
+
}
|
|
119514
|
+
if (visual.placeholder !== "typed") {
|
|
119515
|
+
return void 0;
|
|
119516
|
+
}
|
|
119517
|
+
if (mediaType === "video") {
|
|
119518
|
+
return "pptx.media.videoClip";
|
|
119519
|
+
}
|
|
119520
|
+
if (mediaType === "audio") {
|
|
119521
|
+
return "pptx.media.audioClip";
|
|
119522
|
+
}
|
|
119523
|
+
return "pptx.elementType.media";
|
|
119524
|
+
}
|
|
119525
|
+
var MEDIA_CHROME_ATTRIBUTE = "data-pptx-media-chrome";
|
|
119081
119526
|
var persistentAudioMap = /* @__PURE__ */ new Map();
|
|
119082
119527
|
function registerPersistentAudio(elementId, dataUrl, mimetype, loop, volume, trimStartSec) {
|
|
119083
119528
|
if (persistentAudioMap.has(elementId) || typeof document === "undefined") {
|
|
@@ -123293,4 +123738,4 @@ function segmentFrameCount(durationMs, fps) {
|
|
|
123293
123738
|
* `<p:extLst>` (optional)
|
|
123294
123739
|
*/
|
|
123295
123740
|
|
|
123296
|
-
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, 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, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_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, PEN_COLORS, POWERPOINT_METRIC_TRACKING, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, 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_TEMPLATES, 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_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, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphTransitionPlan, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cell3DBevelCss, chartAreaFill, 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, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, elementActionToPptxAction, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, erasePresentationInkAt, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenTagCollections, forgetSessionDeck, 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, getImageFitStyle, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSecondaryValueAxis, getSessionTabId, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isHollowShapeElement, isIdentityRectClip, isImageLikeElement, isInkElement, isKeyboardOpen, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isTemplateElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mayLeaveSlideShow, mediaPlaybackAttributes, mediaTransportVisible, 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, paintedStrokeWidth, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, placeCaretAtEnd, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, promoteSmartArtNode, proportionalLineHeight, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveShowSlideIndexes, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, 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, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };
|
|
123741
|
+
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, 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, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, 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, PEN_COLORS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, 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_TEMPLATES, 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_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, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cell3DBevelCss, chartAreaFill, 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, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, elementActionToPptxAction, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, erasePresentationInkAt, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenTagCollections, forgetSessionDeck, 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, getImageFitStyle, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSecondaryValueAxis, getSessionTabId, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isHollowShapeElement, isIdentityRectClip, isImageLikeElement, isInkElement, isKeyboardOpen, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isTemplateElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, 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, paintedStrokeWidth, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, promoteSmartArtNode, proportionalLineHeight, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveShowSlideIndexes, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, 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, splitRunForMetrics, splitSeriesByAxis, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };
|