pptx-react-viewer 4.10.1 → 4.11.0

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/{AiChatPanel-AR2K2XN2.mjs → AiChatPanel-3IKRPPUX.mjs} +3 -3
  3. package/dist/AiChatPanel-3IKRPPUX.mjs.br +0 -0
  4. package/dist/AiChatPanel-3IKRPPUX.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-X6E22UAR.js → AiChatPanel-537JJCV4.js} +27 -27
  6. package/dist/AiChatPanel-537JJCV4.js.br +0 -0
  7. package/dist/AiChatPanel-537JJCV4.js.gz +0 -0
  8. package/dist/{Model3DScene-ZSCVKXZE.js → Model3DScene-3XT5SBU4.js} +2 -2
  9. package/dist/Model3DScene-3XT5SBU4.js.br +0 -0
  10. package/dist/Model3DScene-3XT5SBU4.js.gz +0 -0
  11. package/dist/{Model3DScene-FF4RCG4O.mjs → Model3DScene-WBJV27OR.mjs} +1 -1
  12. package/dist/Model3DScene-WBJV27OR.mjs.br +0 -0
  13. package/dist/Model3DScene-WBJV27OR.mjs.gz +0 -0
  14. package/dist/{chunk-VOD4C7OS.mjs → chunk-4MI3PMQT.mjs} +1 -1
  15. package/dist/chunk-4MI3PMQT.mjs.br +0 -0
  16. package/dist/chunk-4MI3PMQT.mjs.gz +0 -0
  17. package/dist/{chunk-NE4USMMB.mjs → chunk-BR4GXQSN.mjs} +1 -1
  18. package/dist/chunk-BR4GXQSN.mjs.br +0 -0
  19. package/dist/chunk-BR4GXQSN.mjs.gz +0 -0
  20. package/dist/{chunk-22ODJ4CT.mjs → chunk-G353KKQX.mjs} +3 -3
  21. package/dist/chunk-G353KKQX.mjs.br +0 -0
  22. package/dist/chunk-G353KKQX.mjs.gz +0 -0
  23. package/dist/{chunk-VYJFYRT4.js → chunk-GLFTASJH.js} +806 -806
  24. package/dist/chunk-GLFTASJH.js.br +0 -0
  25. package/dist/chunk-GLFTASJH.js.gz +0 -0
  26. package/dist/{chunk-WLEFW2F4.js → chunk-LVWMKZPS.js} +5 -5
  27. package/dist/chunk-LVWMKZPS.js.br +0 -0
  28. package/dist/chunk-LVWMKZPS.js.gz +0 -0
  29. package/dist/{chunk-ICOJBMRC.js → chunk-NCUM2X4H.js} +1182 -1183
  30. package/dist/chunk-NCUM2X4H.js.br +0 -0
  31. package/dist/chunk-NCUM2X4H.js.gz +0 -0
  32. package/dist/{chunk-QPWNFTU5.mjs → chunk-SDEBL4LY.mjs} +9 -10
  33. package/dist/chunk-SDEBL4LY.mjs.br +0 -0
  34. package/dist/chunk-SDEBL4LY.mjs.gz +0 -0
  35. package/dist/{chunk-JJE4AACM.js → chunk-TLKFCZWS.js} +163 -2863
  36. package/dist/chunk-TLKFCZWS.js.br +0 -0
  37. package/dist/chunk-TLKFCZWS.js.gz +0 -0
  38. package/dist/{chunk-7EP22XCS.js → chunk-XGDCECDK.js} +187 -187
  39. package/dist/chunk-XGDCECDK.js.br +0 -0
  40. package/dist/chunk-XGDCECDK.js.gz +0 -0
  41. package/dist/{chunk-LDRA5LJT.mjs → chunk-ZVBB3CC5.mjs} +163 -2863
  42. package/dist/chunk-ZVBB3CC5.mjs.br +0 -0
  43. package/dist/chunk-ZVBB3CC5.mjs.gz +0 -0
  44. package/dist/index.js +61 -61
  45. package/dist/index.js.br +0 -0
  46. package/dist/index.js.gz +0 -0
  47. package/dist/index.mjs +5 -5
  48. package/dist/index.mjs.br +0 -0
  49. package/dist/index.mjs.gz +0 -0
  50. package/dist/internals.js +104 -104
  51. package/dist/internals.js.br +0 -0
  52. package/dist/internals.js.gz +0 -0
  53. package/dist/internals.mjs +3 -3
  54. package/dist/internals.mjs.br +0 -0
  55. package/dist/internals.mjs.gz +0 -0
  56. package/dist/viewer/index.js +26 -26
  57. package/dist/viewer/index.js.br +0 -0
  58. package/dist/viewer/index.js.gz +0 -0
  59. package/dist/viewer/index.mjs +5 -5
  60. package/dist/viewer/index.mjs.br +0 -0
  61. package/dist/viewer/index.mjs.gz +0 -0
  62. package/package.json +1 -1
  63. package/dist/AiChatPanel-AR2K2XN2.mjs.br +0 -0
  64. package/dist/AiChatPanel-AR2K2XN2.mjs.gz +0 -0
  65. package/dist/AiChatPanel-X6E22UAR.js.br +0 -0
  66. package/dist/AiChatPanel-X6E22UAR.js.gz +0 -0
  67. package/dist/Model3DScene-FF4RCG4O.mjs.br +0 -0
  68. package/dist/Model3DScene-FF4RCG4O.mjs.gz +0 -0
  69. package/dist/Model3DScene-ZSCVKXZE.js.br +0 -0
  70. package/dist/Model3DScene-ZSCVKXZE.js.gz +0 -0
  71. package/dist/chunk-22ODJ4CT.mjs.br +0 -0
  72. package/dist/chunk-22ODJ4CT.mjs.gz +0 -0
  73. package/dist/chunk-7EP22XCS.js.br +0 -0
  74. package/dist/chunk-7EP22XCS.js.gz +0 -0
  75. package/dist/chunk-ICOJBMRC.js.br +0 -0
  76. package/dist/chunk-ICOJBMRC.js.gz +0 -0
  77. package/dist/chunk-JJE4AACM.js.br +0 -0
  78. package/dist/chunk-JJE4AACM.js.gz +0 -0
  79. package/dist/chunk-LDRA5LJT.mjs.br +0 -0
  80. package/dist/chunk-LDRA5LJT.mjs.gz +0 -0
  81. package/dist/chunk-NE4USMMB.mjs.br +0 -0
  82. package/dist/chunk-NE4USMMB.mjs.gz +0 -0
  83. package/dist/chunk-QPWNFTU5.mjs.br +0 -0
  84. package/dist/chunk-QPWNFTU5.mjs.gz +0 -0
  85. package/dist/chunk-VOD4C7OS.mjs.br +0 -0
  86. package/dist/chunk-VOD4C7OS.mjs.gz +0 -0
  87. package/dist/chunk-VYJFYRT4.js.br +0 -0
  88. package/dist/chunk-VYJFYRT4.js.gz +0 -0
  89. package/dist/chunk-WLEFW2F4.js.br +0 -0
  90. package/dist/chunk-WLEFW2F4.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs re-releases a package whenever any of its files
8
8
  change, not only on conventional ones.
9
9
 
10
+ ## [4.10.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@4.10.1) - 2026-09-26
11
+
12
+ ### Bug Fixes
13
+
14
+ - **shared:** Fit SmartArt light rigs' key light under a scene camera (by @claude) ([91394b0](https://github.com/ChristopherVR/pptx-viewer/commit/91394b03ee8f68536e8099e15997465b0d257a95))
15
+ - **shared:** Keep a 3D view's scene across a move and a same-task re-attach (by @claude) ([5bc411c](https://github.com/ChristopherVR/pptx-viewer/commit/5bc411cb3ba2d0613bddb678be7c5eae3972d806))
16
+
17
+ ### Testing
18
+
19
+ - **vue:** Wait for the AI chat panel's composer instead of a tick count (by @claude) ([010c604](https://github.com/ChristopherVR/pptx-viewer/commit/010c60461df9975895b970dcc6cb269cdaabf2c5))
20
+
10
21
  ## [4.10.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@4.10.0) - 2026-09-26
11
22
 
12
23
  ### Features
@@ -1,6 +1,6 @@
1
- import { deckIdFromBridge, isAiAvailable, createAiChatSession, extractReadyToolCalls, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, toRenderableParts, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-VOD4C7OS.mjs';
2
- import { cn } from './chunk-NE4USMMB.mjs';
3
- import './chunk-LDRA5LJT.mjs';
1
+ import { deckIdFromBridge, isAiAvailable, createAiChatSession, extractReadyToolCalls, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, toRenderableParts, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-4MI3PMQT.mjs';
2
+ import { cn } from './chunk-BR4GXQSN.mjs';
3
+ import './chunk-ZVBB3CC5.mjs';
4
4
  import './chunk-HDH4KFDK.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
Binary file
Binary file
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkWLEFW2F4_js = require('./chunk-WLEFW2F4.js');
4
- var chunk7EP22XCS_js = require('./chunk-7EP22XCS.js');
5
- require('./chunk-JJE4AACM.js');
3
+ var chunkLVWMKZPS_js = require('./chunk-LVWMKZPS.js');
4
+ var chunkXGDCECDK_js = require('./chunk-XGDCECDK.js');
5
+ require('./chunk-TLKFCZWS.js');
6
6
  require('./chunk-KPKO2ELT.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
@@ -22,7 +22,7 @@ function useAiChat(bridge, config) {
22
22
  setInitError(void 0);
23
23
  void (async () => {
24
24
  try {
25
- const available = await chunkWLEFW2F4_js.isAiAvailable();
25
+ const available = await chunkLVWMKZPS_js.isAiAvailable();
26
26
  if (cancelled) {
27
27
  return;
28
28
  }
@@ -30,7 +30,7 @@ function useAiChat(bridge, config) {
30
30
  setState("unavailable");
31
31
  return;
32
32
  }
33
- const built = await chunkWLEFW2F4_js.createAiChatSession(bridge, configRef.current);
33
+ const built = await chunkLVWMKZPS_js.createAiChatSession(bridge, configRef.current);
34
34
  if (cancelled) {
35
35
  return;
36
36
  }
@@ -87,7 +87,7 @@ function withDeckContext(inner, bridge, strategy) {
87
87
  }
88
88
  let context = "";
89
89
  try {
90
- context = await chunkWLEFW2F4_js.buildDeckContext(bridge, { strategy, focus: {} });
90
+ context = await chunkLVWMKZPS_js.buildDeckContext(bridge, { strategy, focus: {} });
91
91
  } catch {
92
92
  context = "";
93
93
  }
@@ -145,12 +145,12 @@ function useAiConversation(useChat, session, config, bridge, options = {}) {
145
145
  chatRef.current = chat;
146
146
  react.useEffect(() => {
147
147
  const seen = seenToolCallsRef.current;
148
- for (const call of chunkWLEFW2F4_js.extractReadyToolCalls(chat.messages)) {
148
+ for (const call of chunkLVWMKZPS_js.extractReadyToolCalls(chat.messages)) {
149
149
  if (seen.has(call.toolCallId)) {
150
150
  continue;
151
151
  }
152
152
  seen.add(call.toolCallId);
153
- onToolTargetRef.current?.(chunkWLEFW2F4_js.toolCanvasTarget(call.toolName, call.input));
153
+ onToolTargetRef.current?.(chunkLVWMKZPS_js.toolCanvasTarget(call.toolName, call.input));
154
154
  }
155
155
  }, [chat.messages]);
156
156
  const send = react.useCallback(
@@ -184,7 +184,7 @@ function useAiConversation(useChat, session, config, bridge, options = {}) {
184
184
  const setMessages = react.useCallback(
185
185
  (next) => {
186
186
  chat.setMessages(next);
187
- for (const call of chunkWLEFW2F4_js.extractReadyToolCalls(next)) {
187
+ for (const call of chunkLVWMKZPS_js.extractReadyToolCalls(next)) {
188
188
  seenToolCallsRef.current.add(call.toolCallId);
189
189
  }
190
190
  session.proposals.clear();
@@ -226,7 +226,7 @@ function deriveTitle(messages) {
226
226
  }
227
227
  function useAiHistory(input) {
228
228
  const { deckId, messages, setMessages } = input;
229
- const store = react.useMemo(() => input.store ?? chunkWLEFW2F4_js.createChatHistoryStore(), [input.store]);
229
+ const store = react.useMemo(() => input.store ?? chunkLVWMKZPS_js.createChatHistoryStore(), [input.store]);
230
230
  const [activeChatId, setActiveChatId] = react.useState(newChatId);
231
231
  const [chats, setChats] = react.useState([]);
232
232
  const createdAtRef = react.useRef(Date.now());
@@ -369,7 +369,7 @@ function AiComposer({
369
369
  disabled: value.trim().length === 0,
370
370
  title: t("pptx.ai.send"),
371
371
  "aria-label": t("pptx.ai.send"),
372
- className: chunk7EP22XCS_js.cn(
372
+ className: chunkXGDCECDK_js.cn(
373
373
  "shrink-0 rounded-sm p-1.5 transition-colors",
374
374
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
375
375
  ),
@@ -392,15 +392,15 @@ function AiFocusBar({
392
392
  onClearPicks
393
393
  }) {
394
394
  const { t } = reactI18next.useTranslation();
395
- const chips = chunkWLEFW2F4_js.focusTargetChips(targets, slides);
396
- const twoTables = chunkWLEFW2F4_js.isTwoTableFocus(targets, slides);
395
+ const chips = chunkLVWMKZPS_js.focusTargetChips(targets, slides);
396
+ const twoTables = chunkLVWMKZPS_js.isTwoTableFocus(targets, slides);
397
397
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
398
398
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
399
399
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
400
400
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
401
401
  "span",
402
402
  {
403
- className: chunk7EP22XCS_js.cn(
403
+ className: chunkXGDCECDK_js.cn(
404
404
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
405
405
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
406
406
  ),
@@ -416,7 +416,7 @@ function AiFocusBar({
416
416
  {
417
417
  type: "button",
418
418
  onClick: () => onSendDirective(
419
- chunkWLEFW2F4_js.mergeTablesDirective(
419
+ chunkLVWMKZPS_js.mergeTablesDirective(
420
420
  twoTables.slideIndex,
421
421
  twoTables.elementIdA,
422
422
  twoTables.elementIdB
@@ -437,7 +437,7 @@ function AiFocusBar({
437
437
  title: t("pptx.ai.pickElement"),
438
438
  "aria-label": t("pptx.ai.pickAria"),
439
439
  "aria-pressed": pickMode,
440
- className: chunk7EP22XCS_js.cn(
440
+ className: chunkXGDCECDK_js.cn(
441
441
  "rounded-sm p-1 max-md:min-w-[44px]! max-md:min-h-[44px]! flex items-center justify-center",
442
442
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
443
443
  ),
@@ -516,7 +516,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
516
516
  {
517
517
  type: "button",
518
518
  onClick: () => onResume(chat.id),
519
- className: chunk7EP22XCS_js.cn(
519
+ className: chunkXGDCECDK_js.cn(
520
520
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
521
521
  chat.id === activeChatId && "bg-accent/60"
522
522
  ),
@@ -671,26 +671,26 @@ function AiToolCallCard({ part }) {
671
671
  const failed = part.state === "output-error";
672
672
  const done = part.state === "output-available";
673
673
  const running = !failed && !done;
674
- const activity = chunkWLEFW2F4_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
674
+ const activity = chunkLVWMKZPS_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
675
675
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
676
- const rawSummary = chunkWLEFW2F4_js.summarizeToolArgs(part.input);
676
+ const rawSummary = chunkLVWMKZPS_js.summarizeToolArgs(part.input);
677
677
  const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
678
678
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
679
679
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
680
680
  /* @__PURE__ */ jsxRuntime.jsx(
681
681
  Icon,
682
682
  {
683
- className: chunk7EP22XCS_js.cn(
683
+ className: chunkXGDCECDK_js.cn(
684
684
  "w-3.5 h-3.5 shrink-0",
685
685
  failed ? "text-destructive" : "text-muted-foreground"
686
686
  )
687
687
  }
688
688
  ),
689
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk7EP22XCS_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
689
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkXGDCECDK_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
690
690
  /* @__PURE__ */ jsxRuntime.jsxs(
691
691
  "span",
692
692
  {
693
- className: chunk7EP22XCS_js.cn(
693
+ className: chunkXGDCECDK_js.cn(
694
694
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
695
695
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
696
696
  ),
@@ -707,7 +707,7 @@ function AiToolCallCard({ part }) {
707
707
  rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
708
708
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer list-none text-[10px] text-muted-foreground/70 hover:text-muted-foreground", children: t("pptx.ai.toolDetails") }),
709
709
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
710
- chunkWLEFW2F4_js.toolLabel(part.toolName),
710
+ chunkLVWMKZPS_js.toolLabel(part.toolName),
711
711
  ": ",
712
712
  rawSummary
713
713
  ] })
@@ -730,7 +730,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
730
730
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 space-y-3 overflow-y-auto px-3 py-3", children: [
731
731
  messages.map((message) => {
732
732
  const isUser = message.role === "user";
733
- const parts = chunkWLEFW2F4_js.toRenderableParts(message);
733
+ const parts = chunkLVWMKZPS_js.toRenderableParts(message);
734
734
  if (parts.length === 0 && !isUser) {
735
735
  return null;
736
736
  }
@@ -738,7 +738,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
738
738
  /* @__PURE__ */ jsxRuntime.jsx(
739
739
  "div",
740
740
  {
741
- className: chunk7EP22XCS_js.cn(
741
+ className: chunkXGDCECDK_js.cn(
742
742
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
743
743
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
744
744
  ),
@@ -785,7 +785,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
785
785
  }
786
786
  function AiProposalCard({ proposal, onAccept, onReject }) {
787
787
  const { t } = reactI18next.useTranslation();
788
- const lines = proposal.summary.map(chunkWLEFW2F4_js.humanizeDiffLine);
788
+ const lines = proposal.summary.map(chunkLVWMKZPS_js.humanizeDiffLine);
789
789
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
790
790
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
791
791
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
@@ -993,7 +993,7 @@ function AiChatPanel({
993
993
  }) {
994
994
  const { t } = reactI18next.useTranslation();
995
995
  const { state, session, initError } = useAiChat(bridge, config);
996
- const deckId = react.useMemo(() => chunkWLEFW2F4_js.deckIdFromBridge(bridge), [bridge]);
996
+ const deckId = react.useMemo(() => chunkLVWMKZPS_js.deckIdFromBridge(bridge), [bridge]);
997
997
  return /* @__PURE__ */ jsxRuntime.jsxs(
998
998
  "div",
999
999
  {
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkJJE4AACM_js = require('./chunk-JJE4AACM.js');
3
+ var chunkTLKFCZWS_js = require('./chunk-TLKFCZWS.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 chunkJJE4AACM_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunkTLKFCZWS_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountModel3D } from './chunk-LDRA5LJT.mjs';
1
+ import { mountModel3D } from './chunk-ZVBB3CC5.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-LDRA5LJT.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-ZVBB3CC5.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
@@ -1,4 +1,4 @@
1
- import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, getConnectorPathGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, canDrillDown, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildTiledSlidesPdfBytes, buildPreviewAnimation, measurePreviewGeometry, buildMotionPathPreview, mediaFallbackVisual, scheduleMediaTrimAndFade, registerCrossSlideAudio, shouldShowMediaFullscreenStopButton, withInlineListDecorationDefaults, segmentStyleToCss, resolveAutoFitFontScale, applyUnderlineVariant, nestedTextDecorationStyle, scaleFontSizeForAutoFit, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, authoredLetterSpacingPx, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, splitsUnderlineIntoWords, stripUnderlineDecoration, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, xmlText, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitWordsForUnderline, splitRunForMetrics, splitEastAsianBreaks, splitRunByScriptFont } from './chunk-LDRA5LJT.mjs';
1
+ import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, getConnectorPathGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, canDrillDown, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildTiledSlidesPdfBytes, buildPreviewAnimation, measurePreviewGeometry, buildMotionPathPreview, mediaFallbackVisual, scheduleMediaTrimAndFade, registerCrossSlideAudio, shouldShowMediaFullscreenStopButton, withInlineListDecorationDefaults, segmentStyleToCss, resolveAutoFitFontScale, applyUnderlineVariant, nestedTextDecorationStyle, scaleFontSizeForAutoFit, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, authoredLetterSpacingPx, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, splitsUnderlineIntoWords, stripUnderlineDecoration, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, xmlText, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitWordsForUnderline, splitRunForMetrics, splitEastAsianBreaks, splitRunByScriptFont } from './chunk-ZVBB3CC5.mjs';
2
2
  import { translationsEn } from './chunk-HDH4KFDK.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, DEFAULT_FILL_COLOR, getCropShapeClipPath, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, MIN_ELEMENT_SIZE, buildTextBody3DSceneStyle, getImageTilingStyle, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, cloneHistorySnapshot, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, buildPdfFromTiledImageData, GRID_SIZE, buildNotesPdf } from './chunk-NE4USMMB.mjs';
2
- import { GlyphOutlineFontCache, createGlyphOutlineLookup, DEFAULT_VIEWER_OPTIONS, TOOLBAR_TABS, defineThreeViewElement, getSelectionControlArtworkStyle, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getSelectionOutlineColor, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, isMediaFullscreenActive, shouldRenderHitTarget, elementHitTargetStyle, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, oleActionsVisible, getGroupChildParentFill, getElementLabel, getResizeHandleHitAreaStyle, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, paintedElementSize, MEDIA_FULLSCREEN_OVERLAY_STYLE, elementContainerHeightStyle, getElementTransform, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, strokeOutlineViewBox, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, mapInlineTextFormatKey, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, attachRotateHandlePlacement, elementIdSelector, createRotationDrag, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, measureSvgViewportRect, modelDataToBlobUrl, resolveZoomNavigationTarget, getImageSvgFilters, getCachedNativeImageSize, probeNativeImageSize, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, inlineListBodyText, createInlineListSeed, readListActivationSelection, createInlineListModelObserver, attachCollaborationInlineEditor, bindInlineListParagraph, bindInlineListRun, attachInlineListController, restoreInlineListBodySelection, getInlineEditorSelectionResult, isBulletMarkerSegment, resolveChartThreeViewSpec, applyChart3DDrag, applyChart3DSelect, findChartPartTarget, withChartTitle, resolveSmartArtThreeViewSpec, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, hasGlyphEnvelope, buildGlyphEnvelopeBlock, getWarpPath, isWedgeCalloutPresetShape, isElementActionable, centeredSvgTextLines, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, advanceChartMarkDrag, advanceChartValueDrag, resolveChartKind, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, groupIntoParagraphs, substituteFieldText, computeInlineEditorRect, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, createPresenceProjector, BROADCAST_THROTTLE_MS, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, resolveMediaBookmarkTimesMs, advanceMainSequence, playGroup, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, resolveForwardSlideWithZoomReturn, buildZoomTransitionOverride, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, beginZoomExcursion, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, findInSlides, applyFindReplacements, visibleTemplateElements, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTextFillBlipUrls, partitionTemplateElements, seedRecentColors, resolveAuthoredCustomShowId, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, EncryptedFileError, resolveAutosaveIntervalMs, shouldWriteAutosaveSnapshot, saveAutosaveSnapshot, autosaveSnapshotMark, updateMasterViewElement, isTemplateElementId, updateElement, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canMergeShapes, canInteractWithElement, prepareHtml2CanvasClone, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, resolveImageResolutionScale, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, stopAllPersistentAudio, guidePxToEmu, buildSaveSlides, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, shouldProbeAutosaveRecovery, probeAutosaveRecovery, acceptAutosaveRecovery, acknowledgeAutosaveRecovery, discardAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, rasterResultToPngBlob, downloadBlob, elementPictureFilename, canEditElementPoints, collectReferencedFontFamilies, resolveGoogleWebfontHref, syncGoogleWebfontStylesheet, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, isFeatureEnabled, mapSlideShowStartKey, mapCustomizedEditorKey, isEditorControlTarget, isEditorTextInputTarget, textFontSizePtToPx, stepFontSizePt, textFontSizePxToPt, cycleSelectableElement, createCustomizationController, prepareElementForInsertion, createViewerOptionsStore, observeYDocSlides, LOCAL_SYNC_ORIGIN, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, scopeLayoutOptionsToSlide, checkModifyPassword, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, openPptxFile, readBackstageRecentFile, resolveCollaborationShellEditability, resolveCollaborationShellState, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, contextMenuInspectorAnchor, savedPresentationFileName, exportDeckJson, groupElements, generateElementId, makeCloneId, ungroupElements, alignElements, distributeElements, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, planMergeShapes, applyMergeShapesPlan, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, openPendingPrintWindow, computeColorFilter, filterHiddenSlideIndices, computeSlideIndices, buildPrintDocument, finishPrintWindow, buildPrintHtmlDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, reResolveElementColors, resolveViewportFitOptions, calculateViewportFit, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, remapTextToSegments, buildInlineListStylePatch, applyActiveInlineListFormatting, applyListStyleUpdate, setPendingSelectionRestore, applyTextStyleUpdate, toggleSelectionBullets, transformInlineListCase, applyCaseTransformToSegments, transformTextCase, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, overlayMasterViewInlineSnapshot, overlayInlineTextSnapshot, rasterizeElement, cloneElementForPaste, applyPasteSpecialFormat, buildRasterPictureElement, copyFormatFromElement, cloneElementUpdates, assertElementUpdateTarget, prepareElementUpdateBatch, createWriteBackScheduler, observeExternalCollaborationReadiness, resolveHistoryDepth, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, scrollInspectorSectionIntoView, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, updateCellTextStyleInRawXml, setCellText, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, stopCaptureStream, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, canvasToJpegData, applyFormatToElement, createSnapshotTextPositions, isPpactionUrl, parsePpactionUrl, resolvePresentationAction, elementActionToPptxAction, isUrlSafe, buildSmartArtPresetData, classifyMediaType, computeSnapToShape, publishLiveGeometry, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, rasterizeElementTiledToCanvas, borrowExternalCollaborationAwareness, observeExternalCollaborationSession, clampGifDimensions, rasterResultToPngDataUrl, shouldConfirmExternalHyperlink, applyResize, lockResizeAspect, snapBoxToGrid, applyMotionPathPreset, bringForward, sendBackward, bringToFront, sendToBack } from './chunk-LDRA5LJT.mjs';
1
+ import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, DEFAULT_FILL_COLOR, getCropShapeClipPath, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, MIN_ELEMENT_SIZE, buildTextBody3DSceneStyle, getImageTilingStyle, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, cloneHistorySnapshot, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, buildPdfFromTiledImageData, GRID_SIZE, buildNotesPdf } from './chunk-BR4GXQSN.mjs';
2
+ import { GlyphOutlineFontCache, createGlyphOutlineLookup, DEFAULT_VIEWER_OPTIONS, TOOLBAR_TABS, defineThreeViewElement, getSelectionControlArtworkStyle, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getSelectionOutlineColor, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, isMediaFullscreenActive, shouldRenderHitTarget, elementHitTargetStyle, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, oleActionsVisible, getGroupChildParentFill, getElementLabel, getResizeHandleHitAreaStyle, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, paintedElementSize, MEDIA_FULLSCREEN_OVERLAY_STYLE, elementContainerHeightStyle, getElementTransform, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, strokeOutlineViewBox, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, mapInlineTextFormatKey, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, attachRotateHandlePlacement, elementIdSelector, createRotationDrag, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, measureSvgViewportRect, modelDataToBlobUrl, resolveZoomNavigationTarget, getImageSvgFilters, getCachedNativeImageSize, probeNativeImageSize, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, inlineListBodyText, createInlineListSeed, readListActivationSelection, createInlineListModelObserver, attachCollaborationInlineEditor, bindInlineListParagraph, bindInlineListRun, attachInlineListController, restoreInlineListBodySelection, getInlineEditorSelectionResult, isBulletMarkerSegment, resolveChartThreeViewSpec, applyChart3DDrag, applyChart3DSelect, findChartPartTarget, withChartTitle, resolveSmartArtThreeViewSpec, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, hasGlyphEnvelope, buildGlyphEnvelopeBlock, getWarpPath, isWedgeCalloutPresetShape, isElementActionable, centeredSvgTextLines, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, advanceChartMarkDrag, advanceChartValueDrag, resolveChartKind, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, groupIntoParagraphs, substituteFieldText, computeInlineEditorRect, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, createPresenceProjector, BROADCAST_THROTTLE_MS, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, resolveMediaBookmarkTimesMs, advanceMainSequence, playGroup, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, resolveForwardSlideWithZoomReturn, buildZoomTransitionOverride, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, beginZoomExcursion, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, findInSlides, applyFindReplacements, visibleTemplateElements, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTextFillBlipUrls, partitionTemplateElements, seedRecentColors, resolveAuthoredCustomShowId, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, EncryptedFileError, resolveAutosaveIntervalMs, shouldWriteAutosaveSnapshot, saveAutosaveSnapshot, autosaveSnapshotMark, updateMasterViewElement, isTemplateElementId, updateElement, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canMergeShapes, canInteractWithElement, prepareHtml2CanvasClone, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, resolveImageResolutionScale, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, stopAllPersistentAudio, guidePxToEmu, buildSaveSlides, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, shouldProbeAutosaveRecovery, probeAutosaveRecovery, acceptAutosaveRecovery, acknowledgeAutosaveRecovery, discardAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, rasterResultToPngBlob, downloadBlob, elementPictureFilename, canEditElementPoints, collectReferencedFontFamilies, resolveGoogleWebfontHref, syncGoogleWebfontStylesheet, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, isFeatureEnabled, mapSlideShowStartKey, mapCustomizedEditorKey, isEditorControlTarget, isEditorTextInputTarget, textFontSizePtToPx, stepFontSizePt, textFontSizePxToPt, cycleSelectableElement, createCustomizationController, prepareElementForInsertion, createViewerOptionsStore, observeYDocSlides, LOCAL_SYNC_ORIGIN, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, scopeLayoutOptionsToSlide, checkModifyPassword, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, openPptxFile, readBackstageRecentFile, resolveCollaborationShellEditability, resolveCollaborationShellState, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, contextMenuInspectorAnchor, savedPresentationFileName, exportDeckJson, groupElements, generateElementId, makeCloneId, ungroupElements, alignElements, distributeElements, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, planMergeShapes, applyMergeShapesPlan, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, openPendingPrintWindow, computeColorFilter, filterHiddenSlideIndices, computeSlideIndices, buildPrintDocument, finishPrintWindow, buildPrintHtmlDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, reResolveElementColors, resolveViewportFitOptions, calculateViewportFit, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, remapTextToSegments, buildInlineListStylePatch, applyActiveInlineListFormatting, applyListStyleUpdate, setPendingSelectionRestore, applyTextStyleUpdate, toggleSelectionBullets, transformInlineListCase, applyCaseTransformToSegments, transformTextCase, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, overlayMasterViewInlineSnapshot, overlayInlineTextSnapshot, rasterizeElement, cloneElementForPaste, applyPasteSpecialFormat, buildRasterPictureElement, copyFormatFromElement, cloneElementUpdates, assertElementUpdateTarget, prepareElementUpdateBatch, createWriteBackScheduler, observeExternalCollaborationReadiness, resolveHistoryDepth, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, scrollInspectorSectionIntoView, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, updateCellTextStyleInRawXml, setCellText, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, stopCaptureStream, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, canvasToJpegData, applyFormatToElement, createSnapshotTextPositions, isPpactionUrl, parsePpactionUrl, resolvePresentationAction, elementActionToPptxAction, isUrlSafe, buildSmartArtPresetData, classifyMediaType, computeSnapToShape, publishLiveGeometry, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, rasterizeElementTiledToCanvas, borrowExternalCollaborationAwareness, observeExternalCollaborationSession, clampGifDimensions, rasterResultToPngDataUrl, shouldConfirmExternalHyperlink, applyResize, lockResizeAspect, snapBoxToGrid, applyMotionPathPreset, bringForward, sendBackward, bringToFront, sendToBack } from './chunk-ZVBB3CC5.mjs';
3
3
  import { translationsEn } from './chunk-HDH4KFDK.mjs';
4
4
  import React17, { createContext, useMemo, useState, useCallback, useEffect, Suspense, useRef, useLayoutEffect, useContext, useSyncExternalStore, useImperativeHandle } from 'react';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -16134,7 +16134,7 @@ function FailedToLoad() {
16134
16134
  var LazyModel3DScene = React17.lazy(
16135
16135
  async () => {
16136
16136
  try {
16137
- return await import('./Model3DScene-FF4RCG4O.mjs');
16137
+ return await import('./Model3DScene-WBJV27OR.mjs');
16138
16138
  } catch {
16139
16139
  return { default: FailedToLoad };
16140
16140
  }
Binary file
Binary file