pptx-react-viewer 2.6.0 → 2.6.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-L5IOO72H.mjs → AiChatPanel-5IAXQYGH.mjs} +3 -3
- package/dist/AiChatPanel-5IAXQYGH.mjs.br +0 -0
- package/dist/AiChatPanel-5IAXQYGH.mjs.gz +0 -0
- package/dist/{AiChatPanel-53W2JG6G.js → AiChatPanel-IC2Q3H3N.js} +22 -22
- package/dist/AiChatPanel-IC2Q3H3N.js.br +0 -0
- package/dist/AiChatPanel-IC2Q3H3N.js.gz +0 -0
- package/dist/{Model3DScene-E7JGXNJN.js → Model3DScene-GOFY2PQS.js} +2 -2
- package/dist/Model3DScene-GOFY2PQS.js.br +0 -0
- package/dist/Model3DScene-GOFY2PQS.js.gz +0 -0
- package/dist/{Model3DScene-EW7OWRJK.mjs → Model3DScene-UEU7L4QY.mjs} +1 -1
- package/dist/Model3DScene-UEU7L4QY.mjs.br +0 -0
- package/dist/Model3DScene-UEU7L4QY.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-3QB6NVKD.js → SurfaceChart3DScene-5TILKZMY.js} +2 -2
- package/dist/SurfaceChart3DScene-5TILKZMY.js.br +0 -0
- package/dist/SurfaceChart3DScene-5TILKZMY.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-64HI3U7Y.mjs → SurfaceChart3DScene-KCJUDJUK.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-64HI3U7Y.mjs.br → SurfaceChart3DScene-KCJUDJUK.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-KCJUDJUK.mjs.gz +0 -0
- package/dist/{chunk-UVA55CRK.js → chunk-G7PJSVUS.js} +76 -19
- package/dist/chunk-G7PJSVUS.js.br +0 -0
- package/dist/{chunk-UVA55CRK.js.gz → chunk-G7PJSVUS.js.gz} +0 -0
- package/dist/{chunk-VBWWICDF.js → chunk-IGYK3NK5.js} +3 -3
- package/dist/chunk-IGYK3NK5.js.br +0 -0
- package/dist/chunk-IGYK3NK5.js.gz +0 -0
- package/dist/{chunk-UO55N46T.mjs → chunk-LJPRMPNA.mjs} +11 -9
- package/dist/chunk-LJPRMPNA.mjs.br +0 -0
- package/dist/chunk-LJPRMPNA.mjs.gz +0 -0
- package/dist/{chunk-WCO3NEH5.mjs → chunk-MQYNBEOY.mjs} +2 -2
- package/dist/chunk-MQYNBEOY.mjs.br +0 -0
- package/dist/{chunk-WCO3NEH5.mjs.gz → chunk-MQYNBEOY.mjs.gz} +0 -0
- package/dist/{chunk-V5XVTKFS.js → chunk-TMU7Z3CU.js} +847 -845
- package/dist/chunk-TMU7Z3CU.js.br +0 -0
- package/dist/chunk-TMU7Z3CU.js.gz +0 -0
- package/dist/{chunk-DWQJW3UM.mjs → chunk-UV5R7IQY.mjs} +11 -6
- package/dist/chunk-UV5R7IQY.mjs.br +0 -0
- package/dist/chunk-UV5R7IQY.mjs.gz +0 -0
- package/dist/{chunk-EJ24IFPL.js → chunk-W27U3GQS.js} +315 -315
- package/dist/chunk-W27U3GQS.js.br +0 -0
- package/dist/chunk-W27U3GQS.js.gz +0 -0
- package/dist/{chunk-NXSAYLYI.js → chunk-XROVGBFQ.js} +245 -240
- package/dist/chunk-XROVGBFQ.js.br +0 -0
- package/dist/chunk-XROVGBFQ.js.gz +0 -0
- package/dist/{chunk-PENV7S7Z.mjs → chunk-Y4TIW2MM.mjs} +1 -1
- package/dist/chunk-Y4TIW2MM.mjs.br +0 -0
- package/dist/chunk-Y4TIW2MM.mjs.gz +0 -0
- package/dist/{chunk-34ZW32XK.mjs → chunk-Y6H2RSLB.mjs} +76 -19
- package/dist/chunk-Y6H2RSLB.mjs.br +0 -0
- package/dist/{chunk-34ZW32XK.mjs.gz → chunk-Y6H2RSLB.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.d.ts +5 -3
- 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-53W2JG6G.js.br +0 -0
- package/dist/AiChatPanel-53W2JG6G.js.gz +0 -0
- package/dist/AiChatPanel-L5IOO72H.mjs.br +0 -0
- package/dist/AiChatPanel-L5IOO72H.mjs.gz +0 -0
- package/dist/Model3DScene-E7JGXNJN.js.br +0 -0
- package/dist/Model3DScene-E7JGXNJN.js.gz +0 -0
- package/dist/Model3DScene-EW7OWRJK.mjs.br +0 -0
- package/dist/Model3DScene-EW7OWRJK.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-3QB6NVKD.js.br +0 -0
- package/dist/SurfaceChart3DScene-3QB6NVKD.js.gz +0 -0
- package/dist/SurfaceChart3DScene-64HI3U7Y.mjs.gz +0 -0
- package/dist/chunk-34ZW32XK.mjs.br +0 -0
- package/dist/chunk-DWQJW3UM.mjs.br +0 -0
- package/dist/chunk-DWQJW3UM.mjs.gz +0 -0
- package/dist/chunk-EJ24IFPL.js.br +0 -0
- package/dist/chunk-EJ24IFPL.js.gz +0 -0
- package/dist/chunk-NXSAYLYI.js.br +0 -0
- package/dist/chunk-NXSAYLYI.js.gz +0 -0
- package/dist/chunk-PENV7S7Z.mjs.br +0 -0
- package/dist/chunk-PENV7S7Z.mjs.gz +0 -0
- package/dist/chunk-UO55N46T.mjs.br +0 -0
- package/dist/chunk-UO55N46T.mjs.gz +0 -0
- package/dist/chunk-UVA55CRK.js.br +0 -0
- package/dist/chunk-V5XVTKFS.js.br +0 -0
- package/dist/chunk-V5XVTKFS.js.gz +0 -0
- package/dist/chunk-VBWWICDF.js.br +0 -0
- package/dist/chunk-VBWWICDF.js.gz +0 -0
- package/dist/chunk-WCO3NEH5.mjs.br +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@ All notable changes to this project are documented here.
|
|
|
4
4
|
This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
|
|
5
5
|
by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
6
6
|
|
|
7
|
+
## [2.6.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.6.1) - 2026-07-29
|
|
8
|
+
|
|
9
|
+
## [2.6.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.6.0) - 2026-07-27
|
|
10
|
+
|
|
7
11
|
## [2.5.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.5.3) - 2026-07-27
|
|
8
12
|
|
|
9
13
|
### Dependencies
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-Y4TIW2MM.mjs';
|
|
2
|
+
import { cn } from './chunk-UV5R7IQY.mjs';
|
|
3
3
|
import './chunk-Z6HIZWIQ.mjs';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-Y6H2RSLB.mjs';
|
|
5
5
|
import './chunk-XGB3TDIC.mjs';
|
|
6
6
|
import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
Binary file
|
|
Binary file
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkIGYK3NK5_js = require('./chunk-IGYK3NK5.js');
|
|
4
|
+
var chunkXROVGBFQ_js = require('./chunk-XROVGBFQ.js');
|
|
5
5
|
require('./chunk-25VSL2BB.js');
|
|
6
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-G7PJSVUS.js');
|
|
7
7
|
require('./chunk-4VNS5WPM.js');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
@@ -30,7 +30,7 @@ function useAiChat(bridge, config) {
|
|
|
30
30
|
setInitError(void 0);
|
|
31
31
|
void (async () => {
|
|
32
32
|
try {
|
|
33
|
-
const available = await
|
|
33
|
+
const available = await chunkIGYK3NK5_js.isAiAvailable();
|
|
34
34
|
if (cancelled) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
@@ -38,7 +38,7 @@ function useAiChat(bridge, config) {
|
|
|
38
38
|
setState("unavailable");
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
const built = await
|
|
41
|
+
const built = await chunkIGYK3NK5_js.createAiChatSession(bridge, configRef.current);
|
|
42
42
|
if (cancelled) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
@@ -144,7 +144,7 @@ function withDeckContext(inner, bridge, strategy) {
|
|
|
144
144
|
}
|
|
145
145
|
let context = "";
|
|
146
146
|
try {
|
|
147
|
-
context = await
|
|
147
|
+
context = await chunkIGYK3NK5_js.buildDeckContext(bridge, { strategy, focus: {} });
|
|
148
148
|
} catch {
|
|
149
149
|
context = "";
|
|
150
150
|
}
|
|
@@ -207,7 +207,7 @@ function useAiConversation(session, config, bridge, options = {}) {
|
|
|
207
207
|
continue;
|
|
208
208
|
}
|
|
209
209
|
seen.add(call.toolCallId);
|
|
210
|
-
onToolTargetRef.current?.(
|
|
210
|
+
onToolTargetRef.current?.(chunkIGYK3NK5_js.toolCanvasTarget(call.toolName, call.input));
|
|
211
211
|
}
|
|
212
212
|
}, [chat.messages]);
|
|
213
213
|
const send = react.useCallback(
|
|
@@ -283,7 +283,7 @@ function deriveTitle(messages) {
|
|
|
283
283
|
}
|
|
284
284
|
function useAiHistory(input) {
|
|
285
285
|
const { deckId, messages, setMessages } = input;
|
|
286
|
-
const store = react.useMemo(() => input.store ??
|
|
286
|
+
const store = react.useMemo(() => input.store ?? chunkIGYK3NK5_js.createChatHistoryStore(), [input.store]);
|
|
287
287
|
const [activeChatId, setActiveChatId] = react.useState(newChatId);
|
|
288
288
|
const [chats, setChats] = react.useState([]);
|
|
289
289
|
const createdAtRef = react.useRef(Date.now());
|
|
@@ -426,7 +426,7 @@ function AiComposer({
|
|
|
426
426
|
disabled: value.trim().length === 0,
|
|
427
427
|
title: t("pptx.ai.send"),
|
|
428
428
|
"aria-label": t("pptx.ai.send"),
|
|
429
|
-
className:
|
|
429
|
+
className: chunkXROVGBFQ_js.cn(
|
|
430
430
|
"shrink-0 rounded-sm p-1.5 transition-colors",
|
|
431
431
|
value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
432
432
|
),
|
|
@@ -452,15 +452,15 @@ function AiFocusBar({
|
|
|
452
452
|
onClearPicks
|
|
453
453
|
}) {
|
|
454
454
|
const { t } = reactI18next.useTranslation();
|
|
455
|
-
const chips =
|
|
456
|
-
const twoTables =
|
|
455
|
+
const chips = chunkIGYK3NK5_js.focusTargetChips(targets, slides);
|
|
456
|
+
const twoTables = chunkIGYK3NK5_js.isTwoTableFocus(targets, slides);
|
|
457
457
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
|
|
458
458
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
|
|
459
459
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
|
|
460
460
|
chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
461
461
|
"span",
|
|
462
462
|
{
|
|
463
|
-
className:
|
|
463
|
+
className: chunkXROVGBFQ_js.cn(
|
|
464
464
|
"inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
|
|
465
465
|
hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
|
|
466
466
|
),
|
|
@@ -493,7 +493,7 @@ function AiFocusBar({
|
|
|
493
493
|
title: t("pptx.ai.pickElement"),
|
|
494
494
|
"aria-label": t("pptx.ai.pickAria"),
|
|
495
495
|
"aria-pressed": pickMode,
|
|
496
|
-
className:
|
|
496
|
+
className: chunkXROVGBFQ_js.cn(
|
|
497
497
|
"rounded-sm p-1",
|
|
498
498
|
pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
|
|
499
499
|
),
|
|
@@ -572,7 +572,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
|
572
572
|
{
|
|
573
573
|
type: "button",
|
|
574
574
|
onClick: () => onResume(chat.id),
|
|
575
|
-
className:
|
|
575
|
+
className: chunkXROVGBFQ_js.cn(
|
|
576
576
|
"flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
|
|
577
577
|
chat.id === activeChatId && "bg-accent/60"
|
|
578
578
|
),
|
|
@@ -727,26 +727,26 @@ function AiToolCallCard({ part }) {
|
|
|
727
727
|
const failed = part.state === "output-error";
|
|
728
728
|
const done = part.state === "output-available";
|
|
729
729
|
const running = !failed && !done;
|
|
730
|
-
const activity =
|
|
730
|
+
const activity = chunkIGYK3NK5_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
|
|
731
731
|
const Icon = ICONS[activity.icon] ?? lu.LuWrench;
|
|
732
|
-
const rawSummary =
|
|
732
|
+
const rawSummary = chunkIGYK3NK5_js.summarizeToolArgs(part.input);
|
|
733
733
|
const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
|
|
734
734
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
|
|
735
735
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
736
736
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
737
737
|
Icon,
|
|
738
738
|
{
|
|
739
|
-
className:
|
|
739
|
+
className: chunkXROVGBFQ_js.cn(
|
|
740
740
|
"w-3.5 h-3.5 shrink-0",
|
|
741
741
|
failed ? "text-destructive" : "text-muted-foreground"
|
|
742
742
|
)
|
|
743
743
|
}
|
|
744
744
|
),
|
|
745
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
745
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkXROVGBFQ_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
|
|
746
746
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
747
747
|
"span",
|
|
748
748
|
{
|
|
749
|
-
className:
|
|
749
|
+
className: chunkXROVGBFQ_js.cn(
|
|
750
750
|
"ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
|
|
751
751
|
failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
752
752
|
),
|
|
@@ -763,7 +763,7 @@ function AiToolCallCard({ part }) {
|
|
|
763
763
|
rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
|
|
764
764
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer list-none text-[10px] text-muted-foreground/70 hover:text-muted-foreground", children: t("pptx.ai.toolDetails") }),
|
|
765
765
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
|
|
766
|
-
|
|
766
|
+
chunkIGYK3NK5_js.toolLabel(part.toolName),
|
|
767
767
|
": ",
|
|
768
768
|
rawSummary
|
|
769
769
|
] })
|
|
@@ -794,7 +794,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
794
794
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
795
795
|
"div",
|
|
796
796
|
{
|
|
797
|
-
className:
|
|
797
|
+
className: chunkXROVGBFQ_js.cn(
|
|
798
798
|
"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
|
|
799
799
|
isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
|
|
800
800
|
),
|
|
@@ -841,7 +841,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
841
841
|
}
|
|
842
842
|
function AiProposalCard({ proposal, onAccept, onReject }) {
|
|
843
843
|
const { t } = reactI18next.useTranslation();
|
|
844
|
-
const lines = proposal.summary.map(
|
|
844
|
+
const lines = proposal.summary.map(chunkIGYK3NK5_js.humanizeDiffLine);
|
|
845
845
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
|
|
846
846
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
|
|
847
847
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkG7PJSVUS_js = require('./chunk-G7PJSVUS.js');
|
|
4
4
|
require('./chunk-4VNS5WPM.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -14,7 +14,7 @@ function Model3DScene({ modelUrl, interactive, width, height }) {
|
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
let disposed = false;
|
|
17
|
-
void
|
|
17
|
+
void chunkG7PJSVUS_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
|
|
18
18
|
if (disposed) {
|
|
19
19
|
handle.dispose();
|
|
20
20
|
} else {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkG7PJSVUS_js = require('./chunk-G7PJSVUS.js');
|
|
4
4
|
require('./chunk-4VNS5WPM.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -25,7 +25,7 @@ function SurfaceChart3DScene({
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
let disposed = false;
|
|
28
|
-
void
|
|
28
|
+
void chunkG7PJSVUS_js.mountSurfaceChart3D(container, {
|
|
29
29
|
cols,
|
|
30
30
|
rows,
|
|
31
31
|
heightMap,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -64366,18 +64366,6 @@ var PptxHandlerRuntime67 = class _PptxHandlerRuntime30 extends PptxHandlerRuntim
|
|
|
64366
64366
|
if (hasShapeProperties(el) && el.shapeStyle?.strokeWidth) {
|
|
64367
64367
|
el.shapeStyle.strokeWidth *= avgScale;
|
|
64368
64368
|
}
|
|
64369
|
-
if (hasTextProperties(el)) {
|
|
64370
|
-
if (el.textStyle?.fontSize) {
|
|
64371
|
-
el.textStyle.fontSize *= Math.abs(scaleY);
|
|
64372
|
-
}
|
|
64373
|
-
if (el.textSegments) {
|
|
64374
|
-
el.textSegments.forEach((seg) => {
|
|
64375
|
-
if (seg.style.fontSize) {
|
|
64376
|
-
seg.style.fontSize *= Math.abs(scaleY);
|
|
64377
|
-
}
|
|
64378
|
-
});
|
|
64379
|
-
}
|
|
64380
|
-
}
|
|
64381
64369
|
return el;
|
|
64382
64370
|
};
|
|
64383
64371
|
this.unwrapAlternateContent(group);
|
|
@@ -98374,14 +98362,14 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
98374
98362
|
}
|
|
98375
98363
|
}
|
|
98376
98364
|
for (const fromEl of fromSlide.elements) {
|
|
98377
|
-
if (usedFrom.has(fromEl.id)) {
|
|
98365
|
+
if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
|
|
98378
98366
|
continue;
|
|
98379
98367
|
}
|
|
98380
98368
|
for (const toEl of toSlide.elements) {
|
|
98381
98369
|
if (usedTo.has(toEl.id)) {
|
|
98382
98370
|
continue;
|
|
98383
98371
|
}
|
|
98384
|
-
if (fromEl.
|
|
98372
|
+
if (toEl.shapeId && fromEl.shapeId === toEl.shapeId && fromEl.type === toEl.type) {
|
|
98385
98373
|
pairs2.push({ fromElement: fromEl, toElement: toEl });
|
|
98386
98374
|
usedFrom.add(fromEl.id);
|
|
98387
98375
|
usedTo.add(toEl.id);
|
|
@@ -98622,6 +98610,37 @@ function buildStrokeInterpolationProps(fromElement, toElement) {
|
|
|
98622
98610
|
toWidth
|
|
98623
98611
|
};
|
|
98624
98612
|
}
|
|
98613
|
+
var SIGNATURE_MAX_DEPTH = 8;
|
|
98614
|
+
function appearanceSignature(element, depth = 0) {
|
|
98615
|
+
const parts = [element.type];
|
|
98616
|
+
if (hasShapeProperties(element)) {
|
|
98617
|
+
const style = element.shapeStyle;
|
|
98618
|
+
parts.push(
|
|
98619
|
+
element.shapeType ?? "",
|
|
98620
|
+
style?.fillMode ?? "",
|
|
98621
|
+
style?.fillColor ?? "",
|
|
98622
|
+
style?.fillGradient ?? "",
|
|
98623
|
+
String(style?.fillOpacity ?? ""),
|
|
98624
|
+
style?.strokeColor ?? "",
|
|
98625
|
+
String(style?.strokeWidth ?? "")
|
|
98626
|
+
);
|
|
98627
|
+
}
|
|
98628
|
+
const image = element;
|
|
98629
|
+
parts.push(image.imagePath ?? "", image.svgPath ?? "");
|
|
98630
|
+
if (hasTextProperties(element)) {
|
|
98631
|
+
parts.push(element.text ?? "", element.textStyle?.color ?? "");
|
|
98632
|
+
}
|
|
98633
|
+
const children8 = element.children;
|
|
98634
|
+
if (children8 && depth < SIGNATURE_MAX_DEPTH) {
|
|
98635
|
+
for (const child22 of children8) {
|
|
98636
|
+
parts.push(appearanceSignature(child22, depth + 1));
|
|
98637
|
+
}
|
|
98638
|
+
}
|
|
98639
|
+
return parts.join("");
|
|
98640
|
+
}
|
|
98641
|
+
function morphPairNeedsCrossfade(fromElement, toElement) {
|
|
98642
|
+
return appearanceSignature(fromElement) !== appearanceSignature(toElement);
|
|
98643
|
+
}
|
|
98625
98644
|
function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
98626
98645
|
const animations = [];
|
|
98627
98646
|
for (let index = 0; index < pairs2.length; index++) {
|
|
@@ -98634,9 +98653,10 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
|
98634
98653
|
const dr = (fromElement.rotation ?? 0) - (toElement.rotation ?? 0);
|
|
98635
98654
|
const fromOpacity = fromElement.opacity ?? 1;
|
|
98636
98655
|
const toOpacity = toElement.opacity ?? 1;
|
|
98656
|
+
const crossfades = morphPairNeedsCrossfade(fromElement, toElement);
|
|
98637
98657
|
const fromProps = [
|
|
98638
98658
|
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${dr}deg);`,
|
|
98639
|
-
` opacity: ${fromOpacity};`
|
|
98659
|
+
` opacity: ${crossfades ? 0 : fromOpacity};`
|
|
98640
98660
|
];
|
|
98641
98661
|
const toProps = [
|
|
98642
98662
|
" transform: translate(0, 0) scale(1, 1) rotate(0deg);",
|
|
@@ -98669,6 +98689,40 @@ ${toProps.join("\n")}
|
|
|
98669
98689
|
}
|
|
98670
98690
|
return animations;
|
|
98671
98691
|
}
|
|
98692
|
+
function generateMorphGhostAnimations(pairs2, durationMs, startIndex) {
|
|
98693
|
+
const animations = [];
|
|
98694
|
+
for (let index = 0; index < pairs2.length; index++) {
|
|
98695
|
+
const { fromElement, toElement } = pairs2[index];
|
|
98696
|
+
const fadesOut = morphPairNeedsCrossfade(fromElement, toElement);
|
|
98697
|
+
const safeName = `pptx-morph-ghost-${startIndex + index}-${fromElement.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
98698
|
+
const dx = toElement.x - fromElement.x;
|
|
98699
|
+
const dy = toElement.y - fromElement.y;
|
|
98700
|
+
const sx = Math.max(toElement.width, 1) / Math.max(fromElement.width, 1);
|
|
98701
|
+
const sy = Math.max(toElement.height, 1) / Math.max(fromElement.height, 1);
|
|
98702
|
+
const dr = (toElement.rotation ?? 0) - (fromElement.rotation ?? 0);
|
|
98703
|
+
const originX = fromElement.x + fromElement.width / 2;
|
|
98704
|
+
const originY = fromElement.y + fromElement.height / 2;
|
|
98705
|
+
const keyframes = `
|
|
98706
|
+
@keyframes ${safeName} {
|
|
98707
|
+
from {
|
|
98708
|
+
transform-origin: ${originX}px ${originY}px;
|
|
98709
|
+
transform: translate(0, 0) scale(1, 1) rotate(0deg);
|
|
98710
|
+
opacity: ${fromElement.opacity ?? 1};
|
|
98711
|
+
}
|
|
98712
|
+
to {
|
|
98713
|
+
transform-origin: ${originX}px ${originY}px;
|
|
98714
|
+
transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${dr}deg);
|
|
98715
|
+
opacity: ${fadesOut ? 0 : fromElement.opacity ?? 1};
|
|
98716
|
+
}
|
|
98717
|
+
}`;
|
|
98718
|
+
animations.push({
|
|
98719
|
+
elementId: fromElement.id,
|
|
98720
|
+
animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
|
|
98721
|
+
keyframes
|
|
98722
|
+
});
|
|
98723
|
+
}
|
|
98724
|
+
return animations;
|
|
98725
|
+
}
|
|
98672
98726
|
function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
|
|
98673
98727
|
return elements.map((el, i) => {
|
|
98674
98728
|
const safeName = `pptx-morph-fadeout-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
@@ -98746,16 +98800,18 @@ function generateFullMorphTransition(fromSlide, toSlide, durationMs, mode = "obj
|
|
|
98746
98800
|
}
|
|
98747
98801
|
}
|
|
98748
98802
|
}
|
|
98803
|
+
const ghosts = generateMorphGhostAnimations(matchResult.pairs, durationMs, pairAnims.length);
|
|
98804
|
+
allAnimations.push(...ghosts);
|
|
98749
98805
|
const fadeOuts = generateUnmatchedFadeOutAnimations(
|
|
98750
98806
|
matchResult.unmatchedFrom,
|
|
98751
98807
|
durationMs,
|
|
98752
|
-
pairAnims.length
|
|
98808
|
+
pairAnims.length + ghosts.length
|
|
98753
98809
|
);
|
|
98754
98810
|
allAnimations.push(...fadeOuts);
|
|
98755
98811
|
const fadeIns = generateUnmatchedFadeInAnimations(
|
|
98756
98812
|
matchResult.unmatchedTo,
|
|
98757
98813
|
durationMs,
|
|
98758
|
-
pairAnims.length + fadeOuts.length
|
|
98814
|
+
pairAnims.length + ghosts.length + fadeOuts.length
|
|
98759
98815
|
);
|
|
98760
98816
|
allAnimations.push(...fadeIns);
|
|
98761
98817
|
return allAnimations;
|
|
@@ -98778,7 +98834,8 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
|
|
|
98778
98834
|
return void 0;
|
|
98779
98835
|
}
|
|
98780
98836
|
const animations = generateFullMorphTransition(fromSlide, toSlide, durationMs, mode);
|
|
98781
|
-
const
|
|
98837
|
+
const outgoingElements = [...fromSlide.elements];
|
|
98838
|
+
const outgoingIds = new Set(outgoingElements.map((element) => element.id));
|
|
98782
98839
|
const incomingAnimations = /* @__PURE__ */ new Map();
|
|
98783
98840
|
const outgoingAnimations = /* @__PURE__ */ new Map();
|
|
98784
98841
|
const keyframes = [];
|
|
@@ -98794,7 +98851,7 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
|
|
|
98794
98851
|
keyframesCss: keyframes.join("\n"),
|
|
98795
98852
|
incomingAnimations,
|
|
98796
98853
|
outgoingAnimations,
|
|
98797
|
-
outgoingElements
|
|
98854
|
+
outgoingElements,
|
|
98798
98855
|
durationMs
|
|
98799
98856
|
};
|
|
98800
98857
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkG7PJSVUS_js = require('./chunk-G7PJSVUS.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 chunkG7PJSVUS_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(chunkG7PJSVUS_js.ThemePresets)
|
|
15474
15474
|
};
|
|
15475
15475
|
};
|
|
15476
15476
|
var readExecutors = {
|
|
Binary file
|
|
Binary file
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-
|
|
2
|
-
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-
|
|
3
|
-
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-Y4TIW2MM.mjs';
|
|
2
|
+
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-MQYNBEOY.mjs';
|
|
3
|
+
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-UV5R7IQY.mjs';
|
|
4
4
|
import { LOCALE_CATALOG, translationsEn } from './chunk-Z6HIZWIQ.mjs';
|
|
5
|
-
import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-
|
|
5
|
+
import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-Y6H2RSLB.mjs';
|
|
6
6
|
import React32, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
@@ -1337,7 +1337,7 @@ function AccountPage() {
|
|
|
1337
1337
|
return void 0;
|
|
1338
1338
|
});
|
|
1339
1339
|
};
|
|
1340
|
-
const version = "2.
|
|
1340
|
+
const version = "2.6.1" ;
|
|
1341
1341
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1342
1342
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
1343
1343
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -8341,7 +8341,7 @@ function FailedToLoad() {
|
|
|
8341
8341
|
var LazyModel3DScene = React32.lazy(
|
|
8342
8342
|
async () => {
|
|
8343
8343
|
try {
|
|
8344
|
-
return await import('./Model3DScene-
|
|
8344
|
+
return await import('./Model3DScene-UEU7L4QY.mjs');
|
|
8345
8345
|
} catch {
|
|
8346
8346
|
return { default: FailedToLoad };
|
|
8347
8347
|
}
|
|
@@ -31623,7 +31623,7 @@ ${url}`)) {
|
|
|
31623
31623
|
)
|
|
31624
31624
|
);
|
|
31625
31625
|
}
|
|
31626
|
-
var AiChatPanel = lazy(() => import('./AiChatPanel-
|
|
31626
|
+
var AiChatPanel = lazy(() => import('./AiChatPanel-5IAXQYGH.mjs'));
|
|
31627
31627
|
function AiChatPanelLazy(props) {
|
|
31628
31628
|
return /* @__PURE__ */ jsx(
|
|
31629
31629
|
Suspense,
|
|
@@ -34887,6 +34887,8 @@ var PowerPointViewer = forwardRef(
|
|
|
34887
34887
|
const { optionsStore, options: viewerOptions } = useViewerOptions();
|
|
34888
34888
|
const settingsRef = useRef(settings);
|
|
34889
34889
|
settingsRef.current = settings;
|
|
34890
|
+
const handleSettingsChangeRef = useRef(handleSettingsChange);
|
|
34891
|
+
handleSettingsChangeRef.current = handleSettingsChange;
|
|
34890
34892
|
const syncingFromOptionsRef = useRef(false);
|
|
34891
34893
|
useEffect(() => {
|
|
34892
34894
|
const mapped = viewerOptionsToPreferences(viewerOptions);
|
|
@@ -34894,13 +34896,13 @@ var PowerPointViewer = forwardRef(
|
|
|
34894
34896
|
for (const key of Object.keys(mapped)) {
|
|
34895
34897
|
if (mapped[key] !== settingsRef.current[key]) {
|
|
34896
34898
|
changed = true;
|
|
34897
|
-
|
|
34899
|
+
handleSettingsChangeRef.current(key, mapped[key]);
|
|
34898
34900
|
}
|
|
34899
34901
|
}
|
|
34900
34902
|
if (changed) {
|
|
34901
34903
|
syncingFromOptionsRef.current = true;
|
|
34902
34904
|
}
|
|
34903
|
-
}, [viewerOptions
|
|
34905
|
+
}, [viewerOptions]);
|
|
34904
34906
|
useEffect(() => {
|
|
34905
34907
|
const current = optionsStore.getOptions();
|
|
34906
34908
|
const mapped = viewerOptionsToPreferences(current);
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cloneHistorySnapshot, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-
|
|
1
|
+
import { cloneHistorySnapshot, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-UV5R7IQY.mjs';
|
|
2
2
|
import { translationsEn } from './chunk-Z6HIZWIQ.mjs';
|
|
3
|
-
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid } from './chunk-
|
|
3
|
+
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid } from './chunk-Y6H2RSLB.mjs';
|
|
4
4
|
import { useRef, useState, useEffect, useCallback, useMemo, useSyncExternalStore, useImperativeHandle } from 'react';
|
|
5
5
|
import JSZip from 'jszip';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
Binary file
|
|
Binary file
|