pptx-react-viewer 2.7.0 → 2.7.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 +2 -0
- package/dist/{AiChatPanel-G6DKXSM3.js → AiChatPanel-SRKOMEW6.js} +22 -22
- package/dist/AiChatPanel-SRKOMEW6.js.br +0 -0
- package/dist/AiChatPanel-SRKOMEW6.js.gz +0 -0
- package/dist/{AiChatPanel-J5IGSCYA.mjs → AiChatPanel-YAYQ5KUT.mjs} +3 -3
- package/dist/AiChatPanel-YAYQ5KUT.mjs.br +0 -0
- package/dist/AiChatPanel-YAYQ5KUT.mjs.gz +0 -0
- package/dist/{Model3DScene-ID6CQKEJ.mjs → Model3DScene-HYMOPMAM.mjs} +1 -1
- package/dist/Model3DScene-HYMOPMAM.mjs.br +0 -0
- package/dist/Model3DScene-HYMOPMAM.mjs.gz +0 -0
- package/dist/{Model3DScene-S7LKZ6IA.js → Model3DScene-ONKC5Z6A.js} +2 -2
- package/dist/Model3DScene-ONKC5Z6A.js.br +0 -0
- package/dist/Model3DScene-ONKC5Z6A.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-V5H6MXYW.mjs → SurfaceChart3DScene-B3FK4Q2U.mjs} +1 -1
- package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-XSJXJM6H.js → SurfaceChart3DScene-YJFWGG5L.js} +2 -2
- package/dist/SurfaceChart3DScene-YJFWGG5L.js.br +0 -0
- package/dist/SurfaceChart3DScene-YJFWGG5L.js.gz +0 -0
- package/dist/{chunk-Y4EB65WB.mjs → chunk-2UCJYJUS.mjs} +7 -7
- package/dist/chunk-2UCJYJUS.mjs.br +0 -0
- package/dist/chunk-2UCJYJUS.mjs.gz +0 -0
- package/dist/{chunk-GLQFRVAN.js → chunk-BVK7K74O.js} +843 -843
- package/dist/chunk-BVK7K74O.js.br +0 -0
- package/dist/chunk-BVK7K74O.js.gz +0 -0
- package/dist/{chunk-B4XJTZR4.js → chunk-GRW7HM6X.js} +236 -236
- package/dist/chunk-GRW7HM6X.js.br +0 -0
- package/dist/chunk-GRW7HM6X.js.gz +0 -0
- package/dist/{chunk-WH46JCNF.mjs → chunk-HEAJOHLJ.mjs} +125 -66
- package/dist/chunk-HEAJOHLJ.mjs.br +0 -0
- package/dist/chunk-HEAJOHLJ.mjs.gz +0 -0
- package/dist/{chunk-IGKLB7NQ.mjs → chunk-HQGLKAIY.mjs} +2 -2
- package/dist/chunk-HQGLKAIY.mjs.br +0 -0
- package/dist/chunk-HQGLKAIY.mjs.gz +0 -0
- package/dist/{chunk-YUHEJWUN.mjs → chunk-IDK6XECR.mjs} +2 -2
- package/dist/chunk-IDK6XECR.mjs.br +0 -0
- package/dist/{chunk-YUHEJWUN.mjs.gz → chunk-IDK6XECR.mjs.gz} +0 -0
- package/dist/{chunk-4KMTZLNS.js → chunk-JEIMWRKF.js} +315 -315
- package/dist/chunk-JEIMWRKF.js.br +0 -0
- package/dist/chunk-JEIMWRKF.js.gz +0 -0
- package/dist/{chunk-6C4UY7GX.js → chunk-JVE7BZ25.js} +3 -3
- package/dist/chunk-JVE7BZ25.js.br +0 -0
- package/dist/chunk-JVE7BZ25.js.gz +0 -0
- package/dist/{chunk-2LOBDOTK.js → chunk-LYS44KMG.js} +125 -66
- package/dist/chunk-LYS44KMG.js.br +0 -0
- package/dist/chunk-LYS44KMG.js.gz +0 -0
- package/dist/{chunk-SOLHDKNK.mjs → chunk-N7EZIKF4.mjs} +1 -1
- package/dist/chunk-N7EZIKF4.mjs.br +0 -0
- package/dist/chunk-N7EZIKF4.mjs.gz +0 -0
- package/dist/index.js +34 -34
- 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.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 +21 -21
- 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-G6DKXSM3.js.br +0 -0
- package/dist/AiChatPanel-G6DKXSM3.js.gz +0 -0
- package/dist/AiChatPanel-J5IGSCYA.mjs.br +0 -0
- package/dist/AiChatPanel-J5IGSCYA.mjs.gz +0 -0
- package/dist/Model3DScene-ID6CQKEJ.mjs.br +0 -0
- package/dist/Model3DScene-ID6CQKEJ.mjs.gz +0 -0
- package/dist/Model3DScene-S7LKZ6IA.js.br +0 -0
- package/dist/Model3DScene-S7LKZ6IA.js.gz +0 -0
- package/dist/SurfaceChart3DScene-V5H6MXYW.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-V5H6MXYW.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-XSJXJM6H.js.br +0 -0
- package/dist/SurfaceChart3DScene-XSJXJM6H.js.gz +0 -0
- package/dist/chunk-2LOBDOTK.js.br +0 -0
- package/dist/chunk-2LOBDOTK.js.gz +0 -0
- package/dist/chunk-4KMTZLNS.js.br +0 -0
- package/dist/chunk-4KMTZLNS.js.gz +0 -0
- package/dist/chunk-6C4UY7GX.js.br +0 -0
- package/dist/chunk-6C4UY7GX.js.gz +0 -0
- package/dist/chunk-B4XJTZR4.js.br +0 -0
- package/dist/chunk-B4XJTZR4.js.gz +0 -0
- package/dist/chunk-GLQFRVAN.js.br +0 -0
- package/dist/chunk-GLQFRVAN.js.gz +0 -0
- package/dist/chunk-IGKLB7NQ.mjs.br +0 -0
- package/dist/chunk-IGKLB7NQ.mjs.gz +0 -0
- package/dist/chunk-SOLHDKNK.mjs.br +0 -0
- package/dist/chunk-SOLHDKNK.mjs.gz +0 -0
- package/dist/chunk-WH46JCNF.mjs.br +0 -0
- package/dist/chunk-WH46JCNF.mjs.gz +0 -0
- package/dist/chunk-Y4EB65WB.mjs.br +0 -0
- package/dist/chunk-Y4EB65WB.mjs.gz +0 -0
- package/dist/chunk-YUHEJWUN.mjs.br +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkLYS44KMG_js = require('./chunk-LYS44KMG.js');
|
|
4
4
|
var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
|
|
5
5
|
var mcp = require('pptx-viewer-mcp');
|
|
6
6
|
var mcpSchemas = require('pptx-viewer-mcp/schemas');
|
|
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
|
|
|
14879
14879
|
};
|
|
14880
14880
|
let markdown;
|
|
14881
14881
|
try {
|
|
14882
|
-
const converter = new
|
|
14882
|
+
const converter = new chunkLYS44KMG_js.PptxMarkdownConverter(
|
|
14883
14883
|
"",
|
|
14884
14884
|
{
|
|
14885
14885
|
sourceName: meta3.title ?? "deck.pptx",
|
|
@@ -15470,7 +15470,7 @@ var getTheme = (ctx) => {
|
|
|
15470
15470
|
name: theme?.name,
|
|
15471
15471
|
colorScheme: theme?.colorScheme,
|
|
15472
15472
|
fontScheme: theme?.fontScheme,
|
|
15473
|
-
availablePresets: Object.keys(
|
|
15473
|
+
availablePresets: Object.keys(chunkLYS44KMG_js.ThemePresets)
|
|
15474
15474
|
};
|
|
15475
15475
|
};
|
|
15476
15476
|
var readExecutors = {
|
|
Binary file
|
|
Binary file
|
|
@@ -19829,6 +19829,13 @@ function extractChildBehaviourDurationMs(cTn, toArray2) {
|
|
|
19829
19829
|
}
|
|
19830
19830
|
return longest;
|
|
19831
19831
|
}
|
|
19832
|
+
function isInteractiveSequence(seq) {
|
|
19833
|
+
const cTn = seq["p:cTn"];
|
|
19834
|
+
if (!cTn || String(cTn["@_nodeType"] || "") === "mainSeq") {
|
|
19835
|
+
return false;
|
|
19836
|
+
}
|
|
19837
|
+
return extractTriggerShapeId(cTn) !== void 0;
|
|
19838
|
+
}
|
|
19832
19839
|
var PptxNativeAnimationService = class {
|
|
19833
19840
|
/**
|
|
19834
19841
|
* Parse native OOXML animations from a slide's timing tree.
|
|
@@ -20029,6 +20036,9 @@ var PptxNativeAnimationService = class {
|
|
|
20029
20036
|
);
|
|
20030
20037
|
}
|
|
20031
20038
|
for (const sequence of sequences) {
|
|
20039
|
+
if (isInteractiveSequence(sequence)) {
|
|
20040
|
+
continue;
|
|
20041
|
+
}
|
|
20032
20042
|
this.walkTimingTree(sequence, animations, trigger, group);
|
|
20033
20043
|
}
|
|
20034
20044
|
for (const excl of exclusives) {
|
|
@@ -20054,6 +20064,9 @@ var PptxNativeAnimationService = class {
|
|
|
20054
20064
|
);
|
|
20055
20065
|
}
|
|
20056
20066
|
for (const sequence of directSequences) {
|
|
20067
|
+
if (isInteractiveSequence(sequence)) {
|
|
20068
|
+
continue;
|
|
20069
|
+
}
|
|
20057
20070
|
this.walkTimingTree(sequence, animations, currentTrigger, group);
|
|
20058
20071
|
}
|
|
20059
20072
|
}
|
|
@@ -20157,6 +20170,36 @@ var PptxNativeAnimationService = class {
|
|
|
20157
20170
|
}
|
|
20158
20171
|
return void 0;
|
|
20159
20172
|
}
|
|
20173
|
+
/**
|
|
20174
|
+
* Collect every interactive `p:seq` reachable from `node`.
|
|
20175
|
+
*
|
|
20176
|
+
* Interactive sequences are normally siblings of the main sequence under the
|
|
20177
|
+
* root `p:par`, but a deck may nest one deeper. The generic walk skips every
|
|
20178
|
+
* sequence {@link isInteractiveSequence} matches, so this collector has to
|
|
20179
|
+
* reach exactly the same set or those effects would be dropped entirely.
|
|
20180
|
+
* Collection stops at an interactive sequence: its own subtree is walked by
|
|
20181
|
+
* {@link parseInteractiveSequences} under that sequence's trigger shape.
|
|
20182
|
+
*/
|
|
20183
|
+
collectInteractiveSequences(node, found) {
|
|
20184
|
+
const containers = [];
|
|
20185
|
+
const cTn = node["p:cTn"];
|
|
20186
|
+
const childTnList = cTn?.["p:childTnLst"];
|
|
20187
|
+
if (childTnList) {
|
|
20188
|
+
containers.push(
|
|
20189
|
+
...ensureArray5(childTnList["p:par"]),
|
|
20190
|
+
...ensureArray5(childTnList["p:seq"]),
|
|
20191
|
+
...ensureArray5(childTnList["p:excl"])
|
|
20192
|
+
);
|
|
20193
|
+
}
|
|
20194
|
+
containers.push(...ensureArray5(node["p:par"]), ...ensureArray5(node["p:seq"]));
|
|
20195
|
+
for (const container of containers) {
|
|
20196
|
+
if (isInteractiveSequence(container)) {
|
|
20197
|
+
found.push(container);
|
|
20198
|
+
continue;
|
|
20199
|
+
}
|
|
20200
|
+
this.collectInteractiveSequences(container, found);
|
|
20201
|
+
}
|
|
20202
|
+
}
|
|
20160
20203
|
/**
|
|
20161
20204
|
* Parse interactive sequences from the root `p:par` node.
|
|
20162
20205
|
*
|
|
@@ -20167,25 +20210,11 @@ var PptxNativeAnimationService = class {
|
|
|
20167
20210
|
* See ISO/IEC 29500-1 S19.5.60 (CT_TLTimeNodeSequence).
|
|
20168
20211
|
*/
|
|
20169
20212
|
parseInteractiveSequences(rootPar, animations) {
|
|
20170
|
-
const
|
|
20171
|
-
|
|
20172
|
-
return;
|
|
20173
|
-
}
|
|
20174
|
-
const childTnList = rootCTn["p:childTnLst"];
|
|
20175
|
-
if (!childTnList) {
|
|
20176
|
-
return;
|
|
20177
|
-
}
|
|
20178
|
-
const sequences = ensureArray5(childTnList["p:seq"]);
|
|
20213
|
+
const sequences = [];
|
|
20214
|
+
this.collectInteractiveSequences(rootPar, sequences);
|
|
20179
20215
|
for (const seq of sequences) {
|
|
20180
20216
|
const seqCTn = seq["p:cTn"];
|
|
20181
|
-
|
|
20182
|
-
continue;
|
|
20183
|
-
}
|
|
20184
|
-
const nodeType = String(seqCTn["@_nodeType"] || "");
|
|
20185
|
-
if (nodeType === "mainSeq") {
|
|
20186
|
-
continue;
|
|
20187
|
-
}
|
|
20188
|
-
const triggerShapeId = extractTriggerShapeId(seqCTn);
|
|
20217
|
+
const triggerShapeId = seqCTn ? extractTriggerShapeId(seqCTn) : void 0;
|
|
20189
20218
|
if (!triggerShapeId) {
|
|
20190
20219
|
continue;
|
|
20191
20220
|
}
|
|
@@ -98273,6 +98302,10 @@ function interpolateOutline(from, to, t) {
|
|
|
98273
98302
|
return parts.join(" ");
|
|
98274
98303
|
}
|
|
98275
98304
|
var MORPH_EASING = "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
98305
|
+
var MORPH_FADE_OUT_HOLD_PERCENT = 4;
|
|
98306
|
+
var MORPH_FADE_OUT_END_PERCENT = 23;
|
|
98307
|
+
var MORPH_FADE_IN_START_PERCENT = 42;
|
|
98308
|
+
var MORPH_FADE_IN_EASING = "cubic-bezier(0, 0, 0.35, 1)";
|
|
98276
98309
|
var PROXIMITY_THRESHOLD = 300;
|
|
98277
98310
|
var PROXIMITY_SIZE_RATIO_LIMIT = 2;
|
|
98278
98311
|
var GEOMETRY_MORPH_STEPS = 8;
|
|
@@ -98334,6 +98367,21 @@ ${body}
|
|
|
98334
98367
|
keyframes
|
|
98335
98368
|
};
|
|
98336
98369
|
}
|
|
98370
|
+
function getElementMorphName(element) {
|
|
98371
|
+
if (element.name) {
|
|
98372
|
+
const name = element.name.trim();
|
|
98373
|
+
if (name.startsWith("!!")) {
|
|
98374
|
+
return name;
|
|
98375
|
+
}
|
|
98376
|
+
}
|
|
98377
|
+
if (hasTextProperties(element) && element.text) {
|
|
98378
|
+
const text2 = element.text.trim();
|
|
98379
|
+
if (text2.startsWith("!!")) {
|
|
98380
|
+
return text2;
|
|
98381
|
+
}
|
|
98382
|
+
}
|
|
98383
|
+
return void 0;
|
|
98384
|
+
}
|
|
98337
98385
|
function groupChildren(element) {
|
|
98338
98386
|
if (element.type !== "group") {
|
|
98339
98387
|
return void 0;
|
|
@@ -98359,34 +98407,42 @@ function toAbsolute(child22, offsetX, offsetY) {
|
|
|
98359
98407
|
}
|
|
98360
98408
|
return { ...child22, x: child22.x + offsetX, y: child22.y + offsetY };
|
|
98361
98409
|
}
|
|
98362
|
-
function
|
|
98410
|
+
function sameBox(a, b) {
|
|
98411
|
+
return Math.abs(a.x - b.x) <= 0.5 && Math.abs(a.y - b.y) <= 0.5 && Math.abs(a.width - b.width) <= 0.5 && Math.abs(a.height - b.height) <= 0.5;
|
|
98412
|
+
}
|
|
98413
|
+
function correspondingGroup(group, candidates) {
|
|
98414
|
+
const morphName = getElementMorphName(group);
|
|
98415
|
+
return candidates.find((candidate) => {
|
|
98416
|
+
if (candidate.type !== "group") {
|
|
98417
|
+
return false;
|
|
98418
|
+
}
|
|
98419
|
+
if (morphName !== void 0 && getElementMorphName(candidate) === morphName) {
|
|
98420
|
+
return true;
|
|
98421
|
+
}
|
|
98422
|
+
if (group.name && candidate.name === group.name) {
|
|
98423
|
+
return true;
|
|
98424
|
+
}
|
|
98425
|
+
return sameBox(group, candidate);
|
|
98426
|
+
});
|
|
98427
|
+
}
|
|
98428
|
+
function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
98363
98429
|
const out = [];
|
|
98364
98430
|
for (const element of elements) {
|
|
98365
98431
|
const children8 = groupChildren(element);
|
|
98366
98432
|
if (children8 && containsMorphNamedDescendant(element)) {
|
|
98367
|
-
|
|
98368
|
-
|
|
98433
|
+
const twin = correspondingGroup(element, counterpart);
|
|
98434
|
+
const twinChildren = twin ? groupChildren(twin) ?? [] : void 0;
|
|
98435
|
+
if (twinChildren) {
|
|
98436
|
+
out.push(
|
|
98437
|
+
...flattenMorphElements(children8, twinChildren, offsetX + element.x, offsetY + element.y)
|
|
98438
|
+
);
|
|
98439
|
+
continue;
|
|
98440
|
+
}
|
|
98369
98441
|
}
|
|
98370
98442
|
out.push(toAbsolute(element, offsetX, offsetY));
|
|
98371
98443
|
}
|
|
98372
98444
|
return out;
|
|
98373
98445
|
}
|
|
98374
|
-
var SAME_BOX_TOLERANCE_PX = 0.5;
|
|
98375
|
-
function getElementMorphName(element) {
|
|
98376
|
-
if (element.name) {
|
|
98377
|
-
const name = element.name.trim();
|
|
98378
|
-
if (name.startsWith("!!")) {
|
|
98379
|
-
return name;
|
|
98380
|
-
}
|
|
98381
|
-
}
|
|
98382
|
-
if (hasTextProperties(element) && element.text) {
|
|
98383
|
-
const text2 = element.text.trim();
|
|
98384
|
-
if (text2.startsWith("!!")) {
|
|
98385
|
-
return text2;
|
|
98386
|
-
}
|
|
98387
|
-
}
|
|
98388
|
-
return void 0;
|
|
98389
|
-
}
|
|
98390
98446
|
var NV_PR_KEYS = [
|
|
98391
98447
|
"p:nvSpPr",
|
|
98392
98448
|
"p:nvPicPr",
|
|
@@ -98422,8 +98478,8 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
98422
98478
|
const pairs2 = [];
|
|
98423
98479
|
const usedFrom = /* @__PURE__ */ new Set();
|
|
98424
98480
|
const usedTo = /* @__PURE__ */ new Set();
|
|
98425
|
-
const fromElements = flattenMorphElements(fromSlide.elements);
|
|
98426
|
-
const toElements = flattenMorphElements(toSlide.elements);
|
|
98481
|
+
const fromElements = flattenMorphElements(fromSlide.elements, toSlide.elements);
|
|
98482
|
+
const toElements = flattenMorphElements(toSlide.elements, fromSlide.elements);
|
|
98427
98483
|
for (const fromEl of fromElements) {
|
|
98428
98484
|
const fromName = getElementMorphName(fromEl);
|
|
98429
98485
|
if (!fromName) {
|
|
@@ -98520,22 +98576,6 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
98520
98576
|
usedTo.add(bestMatch.id);
|
|
98521
98577
|
}
|
|
98522
98578
|
}
|
|
98523
|
-
for (const fromEl of fromElements) {
|
|
98524
|
-
if (usedFrom.has(fromEl.id)) {
|
|
98525
|
-
continue;
|
|
98526
|
-
}
|
|
98527
|
-
for (const toEl of toElements) {
|
|
98528
|
-
if (usedTo.has(toEl.id)) {
|
|
98529
|
-
continue;
|
|
98530
|
-
}
|
|
98531
|
-
if (Math.abs(fromEl.x - toEl.x) <= SAME_BOX_TOLERANCE_PX && Math.abs(fromEl.y - toEl.y) <= SAME_BOX_TOLERANCE_PX && Math.abs(fromEl.width - toEl.width) <= SAME_BOX_TOLERANCE_PX && Math.abs(fromEl.height - toEl.height) <= SAME_BOX_TOLERANCE_PX) {
|
|
98532
|
-
pairs2.push({ fromElement: fromEl, toElement: toEl });
|
|
98533
|
-
usedFrom.add(fromEl.id);
|
|
98534
|
-
usedTo.add(toEl.id);
|
|
98535
|
-
break;
|
|
98536
|
-
}
|
|
98537
|
-
}
|
|
98538
|
-
}
|
|
98539
98579
|
const unmatchedFrom = fromElements.filter((el) => !usedFrom.has(el.id));
|
|
98540
98580
|
const unmatchedTo = toElements.filter((el) => !usedTo.has(el.id));
|
|
98541
98581
|
return { pairs: pairs2, unmatchedFrom, unmatchedTo };
|
|
@@ -98860,9 +98900,13 @@ function shortestRotationTarget(fromDeg, toDeg) {
|
|
|
98860
98900
|
let delta = (toDeg - fromDeg) % 360;
|
|
98861
98901
|
if (delta > 180) {
|
|
98862
98902
|
delta -= 360;
|
|
98863
|
-
} else if (delta
|
|
98903
|
+
} else if (delta < -180) {
|
|
98864
98904
|
delta += 360;
|
|
98865
98905
|
}
|
|
98906
|
+
if (Math.abs(Math.abs(delta) - 180) < 1e-9) {
|
|
98907
|
+
const start = (fromDeg % 360 + 360) % 360;
|
|
98908
|
+
delta = start >= 90 && start < 270 ? 180 : -180;
|
|
98909
|
+
}
|
|
98866
98910
|
return fromDeg + delta;
|
|
98867
98911
|
}
|
|
98868
98912
|
function staticTransformSuffix(el) {
|
|
@@ -98872,20 +98916,29 @@ function staticTransformSuffix(el) {
|
|
|
98872
98916
|
function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
|
|
98873
98917
|
return elements.map((el, i) => {
|
|
98874
98918
|
const safeName = `pptx-morph-fadeout-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
98919
|
+
const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
|
|
98875
98920
|
const keyframes = `
|
|
98876
98921
|
@keyframes ${safeName} {
|
|
98877
|
-
|
|
98922
|
+
0% {
|
|
98878
98923
|
opacity: ${el.opacity ?? 1};
|
|
98879
|
-
|
|
98924
|
+
${transform}
|
|
98880
98925
|
}
|
|
98881
|
-
|
|
98926
|
+
${MORPH_FADE_OUT_HOLD_PERCENT}% {
|
|
98927
|
+
opacity: ${el.opacity ?? 1};
|
|
98928
|
+
${transform}
|
|
98929
|
+
}
|
|
98930
|
+
${MORPH_FADE_OUT_END_PERCENT}% {
|
|
98931
|
+
opacity: 0;
|
|
98932
|
+
${transform}
|
|
98933
|
+
}
|
|
98934
|
+
100% {
|
|
98882
98935
|
opacity: 0;
|
|
98883
|
-
|
|
98936
|
+
${transform}
|
|
98884
98937
|
}
|
|
98885
98938
|
}`;
|
|
98886
98939
|
return {
|
|
98887
98940
|
elementId: el.id,
|
|
98888
|
-
animation: `${safeName} ${durationMs}ms
|
|
98941
|
+
animation: `${safeName} ${durationMs}ms linear forwards`,
|
|
98889
98942
|
keyframes
|
|
98890
98943
|
};
|
|
98891
98944
|
});
|
|
@@ -98893,20 +98946,26 @@ function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
|
|
|
98893
98946
|
function generateUnmatchedFadeInAnimations(elements, durationMs, startIndex) {
|
|
98894
98947
|
return elements.map((el, i) => {
|
|
98895
98948
|
const safeName = `pptx-morph-fadein-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
98949
|
+
const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
|
|
98896
98950
|
const keyframes = `
|
|
98897
98951
|
@keyframes ${safeName} {
|
|
98898
|
-
|
|
98952
|
+
0% {
|
|
98899
98953
|
opacity: 0;
|
|
98900
|
-
|
|
98954
|
+
${transform}
|
|
98901
98955
|
}
|
|
98902
|
-
|
|
98956
|
+
${MORPH_FADE_IN_START_PERCENT}% {
|
|
98957
|
+
opacity: 0;
|
|
98958
|
+
animation-timing-function: ${MORPH_FADE_IN_EASING};
|
|
98959
|
+
${transform}
|
|
98960
|
+
}
|
|
98961
|
+
100% {
|
|
98903
98962
|
opacity: ${el.opacity ?? 1};
|
|
98904
|
-
|
|
98963
|
+
${transform}
|
|
98905
98964
|
}
|
|
98906
98965
|
}`;
|
|
98907
98966
|
return {
|
|
98908
98967
|
elementId: el.id,
|
|
98909
|
-
animation: `${safeName} ${durationMs}ms
|
|
98968
|
+
animation: `${safeName} ${durationMs}ms linear forwards`,
|
|
98910
98969
|
keyframes
|
|
98911
98970
|
};
|
|
98912
98971
|
});
|
|
@@ -98980,7 +99039,7 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
|
|
|
98980
99039
|
return void 0;
|
|
98981
99040
|
}
|
|
98982
99041
|
const animations = generateFullMorphTransition(fromSlide, toSlide, durationMs, mode);
|
|
98983
|
-
const outgoingElements = flattenMorphElements(fromSlide.elements);
|
|
99042
|
+
const outgoingElements = flattenMorphElements(fromSlide.elements, toSlide.elements);
|
|
98984
99043
|
const outgoingIds = new Set(outgoingElements.map((element) => element.id));
|
|
98985
99044
|
const incomingAnimations = /* @__PURE__ */ new Map();
|
|
98986
99045
|
const outgoingAnimations = /* @__PURE__ */ new Map();
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemePresets, PptxMarkdownConverter } from './chunk-
|
|
1
|
+
import { ThemePresets, PptxMarkdownConverter } from './chunk-HEAJOHLJ.mjs';
|
|
2
2
|
import { __export } from './chunk-XGB3TDIC.mjs';
|
|
3
3
|
import * as mcp from 'pptx-viewer-mcp';
|
|
4
4
|
import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
|
|
Binary file
|
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkBVK7K74O_js = require('./chunk-BVK7K74O.js');
|
|
4
|
+
require('./chunk-JVE7BZ25.js');
|
|
5
|
+
var chunkJEIMWRKF_js = require('./chunk-JEIMWRKF.js');
|
|
6
|
+
var chunkGRW7HM6X_js = require('./chunk-GRW7HM6X.js');
|
|
7
7
|
var chunk25VSL2BB_js = require('./chunk-25VSL2BB.js');
|
|
8
|
-
var
|
|
8
|
+
var chunkLYS44KMG_js = require('./chunk-LYS44KMG.js');
|
|
9
9
|
require('./chunk-4VNS5WPM.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, "PowerPointViewer", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkBVK7K74O_js.PowerPointViewer; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "SlideCanvas", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkBVK7K74O_js.SlideCanvas; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "Toolbar", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkBVK7K74O_js.Toolbar; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "ViewerThemeProvider", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkBVK7K74O_js.ViewerThemeProvider; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "useViewerTheme", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkBVK7K74O_js.useViewerTheme; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "renderToCanvas", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkJEIMWRKF_js.renderToCanvas; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "useViewerBuildingBlocks", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkJEIMWRKF_js.useViewerBuildingBlocks; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "getAnimationInitialStyle", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkGRW7HM6X_js.getAnimationInitialStyle; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "LOCALE_CATALOG", {
|
|
46
46
|
enumerable: true,
|
|
@@ -48,85 +48,85 @@ Object.defineProperty(exports, "LOCALE_CATALOG", {
|
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunkLYS44KMG_js.AVATAR_COLOR_SWATCHES; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return chunkLYS44KMG_js.DEFAULT_VIEWER_PROFILE; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "THEME_CATALOG", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return chunkLYS44KMG_js.THEME_CATALOG; }
|
|
60
60
|
});
|
|
61
61
|
Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
|
|
62
62
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
63
|
+
get: function () { return chunkLYS44KMG_js.VIEWER_PREFS_STORAGE_KEY; }
|
|
64
64
|
});
|
|
65
65
|
Object.defineProperty(exports, "clearAllLocalViewerData", {
|
|
66
66
|
enumerable: true,
|
|
67
|
-
get: function () { return
|
|
67
|
+
get: function () { return chunkLYS44KMG_js.clearAllLocalViewerData; }
|
|
68
68
|
});
|
|
69
69
|
Object.defineProperty(exports, "clearStoredViewerPrefs", {
|
|
70
70
|
enumerable: true,
|
|
71
|
-
get: function () { return
|
|
71
|
+
get: function () { return chunkLYS44KMG_js.clearStoredViewerPrefs; }
|
|
72
72
|
});
|
|
73
73
|
Object.defineProperty(exports, "defaultCssVars", {
|
|
74
74
|
enumerable: true,
|
|
75
|
-
get: function () { return
|
|
75
|
+
get: function () { return chunkLYS44KMG_js.defaultCssVars; }
|
|
76
76
|
});
|
|
77
77
|
Object.defineProperty(exports, "defaultRadius", {
|
|
78
78
|
enumerable: true,
|
|
79
|
-
get: function () { return
|
|
79
|
+
get: function () { return chunkLYS44KMG_js.defaultRadius; }
|
|
80
80
|
});
|
|
81
81
|
Object.defineProperty(exports, "defaultThemeColors", {
|
|
82
82
|
enumerable: true,
|
|
83
|
-
get: function () { return
|
|
83
|
+
get: function () { return chunkLYS44KMG_js.defaultThemeColors; }
|
|
84
84
|
});
|
|
85
85
|
Object.defineProperty(exports, "getLocalStorageUsageSummary", {
|
|
86
86
|
enumerable: true,
|
|
87
|
-
get: function () { return
|
|
87
|
+
get: function () { return chunkLYS44KMG_js.getLocalStorageUsageSummary; }
|
|
88
88
|
});
|
|
89
89
|
Object.defineProperty(exports, "readStoredViewerPrefs", {
|
|
90
90
|
enumerable: true,
|
|
91
|
-
get: function () { return
|
|
91
|
+
get: function () { return chunkLYS44KMG_js.readStoredViewerPrefs; }
|
|
92
92
|
});
|
|
93
93
|
Object.defineProperty(exports, "resolveProfileInitial", {
|
|
94
94
|
enumerable: true,
|
|
95
|
-
get: function () { return
|
|
95
|
+
get: function () { return chunkLYS44KMG_js.resolveProfileInitial; }
|
|
96
96
|
});
|
|
97
97
|
Object.defineProperty(exports, "resolveThemeCatalogEntry", {
|
|
98
98
|
enumerable: true,
|
|
99
|
-
get: function () { return
|
|
99
|
+
get: function () { return chunkLYS44KMG_js.resolveThemeCatalogEntry; }
|
|
100
100
|
});
|
|
101
101
|
Object.defineProperty(exports, "saveViewerProfile", {
|
|
102
102
|
enumerable: true,
|
|
103
|
-
get: function () { return
|
|
103
|
+
get: function () { return chunkLYS44KMG_js.saveViewerProfile; }
|
|
104
104
|
});
|
|
105
105
|
Object.defineProperty(exports, "themeToCssVars", {
|
|
106
106
|
enumerable: true,
|
|
107
|
-
get: function () { return
|
|
107
|
+
get: function () { return chunkLYS44KMG_js.themeToCssVars; }
|
|
108
108
|
});
|
|
109
109
|
Object.defineProperty(exports, "vermilionDarkColors", {
|
|
110
110
|
enumerable: true,
|
|
111
|
-
get: function () { return
|
|
111
|
+
get: function () { return chunkLYS44KMG_js.vermilionDarkColors; }
|
|
112
112
|
});
|
|
113
113
|
Object.defineProperty(exports, "vermilionDarkTheme", {
|
|
114
114
|
enumerable: true,
|
|
115
|
-
get: function () { return
|
|
115
|
+
get: function () { return chunkLYS44KMG_js.vermilionDarkTheme; }
|
|
116
116
|
});
|
|
117
117
|
Object.defineProperty(exports, "vermilionLightColors", {
|
|
118
118
|
enumerable: true,
|
|
119
|
-
get: function () { return
|
|
119
|
+
get: function () { return chunkLYS44KMG_js.vermilionLightColors; }
|
|
120
120
|
});
|
|
121
121
|
Object.defineProperty(exports, "vermilionLightTheme", {
|
|
122
122
|
enumerable: true,
|
|
123
|
-
get: function () { return
|
|
123
|
+
get: function () { return chunkLYS44KMG_js.vermilionLightTheme; }
|
|
124
124
|
});
|
|
125
125
|
Object.defineProperty(exports, "vermilionRadius", {
|
|
126
126
|
enumerable: true,
|
|
127
|
-
get: function () { return
|
|
127
|
+
get: function () { return chunkLYS44KMG_js.vermilionRadius; }
|
|
128
128
|
});
|
|
129
129
|
Object.defineProperty(exports, "writeStoredViewerPrefs", {
|
|
130
130
|
enumerable: true,
|
|
131
|
-
get: function () { return
|
|
131
|
+
get: function () { return chunkLYS44KMG_js.writeStoredViewerPrefs; }
|
|
132
132
|
});
|
package/dist/index.js.br
CHANGED
|
Binary file
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { PowerPointViewer, SlideCanvas, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
export { renderToCanvas, useViewerBuildingBlocks } from './chunk-
|
|
4
|
-
export { getAnimationInitialStyle } from './chunk-
|
|
1
|
+
export { PowerPointViewer, SlideCanvas, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-2UCJYJUS.mjs';
|
|
2
|
+
import './chunk-N7EZIKF4.mjs';
|
|
3
|
+
export { renderToCanvas, useViewerBuildingBlocks } from './chunk-IDK6XECR.mjs';
|
|
4
|
+
export { getAnimationInitialStyle } from './chunk-HQGLKAIY.mjs';
|
|
5
5
|
export { LOCALE_CATALOG } from './chunk-Z6HIZWIQ.mjs';
|
|
6
|
-
export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-
|
|
6
|
+
export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-HEAJOHLJ.mjs';
|
|
7
7
|
import './chunk-XGB3TDIC.mjs';
|
package/dist/index.mjs.br
CHANGED
|
Binary file
|
package/dist/index.mjs.gz
CHANGED
|
Binary file
|