pptx-react-viewer 2.13.0 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-DEI3EQFM.js → AiChatPanel-FXPGFU6H.js} +35 -27
  3. package/dist/AiChatPanel-FXPGFU6H.js.br +0 -0
  4. package/dist/AiChatPanel-FXPGFU6H.js.gz +0 -0
  5. package/dist/{AiChatPanel-4YS6DEIT.mjs → AiChatPanel-WMGS5TNX.mjs} +15 -7
  6. package/dist/AiChatPanel-WMGS5TNX.mjs.br +0 -0
  7. package/dist/AiChatPanel-WMGS5TNX.mjs.gz +0 -0
  8. package/dist/{Model3DScene-JSNQCKCJ.mjs → Model3DScene-E2XRQAMR.mjs} +1 -1
  9. package/dist/Model3DScene-E2XRQAMR.mjs.br +0 -0
  10. package/dist/Model3DScene-E2XRQAMR.mjs.gz +0 -0
  11. package/dist/{Model3DScene-X4W7GZVY.js → Model3DScene-K5FPZTRG.js} +2 -2
  12. package/dist/Model3DScene-K5FPZTRG.js.br +0 -0
  13. package/dist/Model3DScene-K5FPZTRG.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-3MSU74YH.mjs → SurfaceChart3DScene-2W2IFPLE.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-3MSU74YH.mjs.br → SurfaceChart3DScene-2W2IFPLE.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-2W2IFPLE.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-IZLUWT27.js → SurfaceChart3DScene-JDCFTXYT.js} +2 -2
  18. package/dist/SurfaceChart3DScene-JDCFTXYT.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-JDCFTXYT.js.gz +0 -0
  20. package/dist/{chunk-YA7VFYTW.mjs → chunk-3OV4FR6S.mjs} +16 -7
  21. package/dist/chunk-3OV4FR6S.mjs.br +0 -0
  22. package/dist/chunk-3OV4FR6S.mjs.gz +0 -0
  23. package/dist/{chunk-IDW5UPXW.js → chunk-66ZHD7Y4.js} +259 -295
  24. package/dist/chunk-66ZHD7Y4.js.br +0 -0
  25. package/dist/chunk-66ZHD7Y4.js.gz +0 -0
  26. package/dist/{chunk-WEU5EMKK.mjs → chunk-CQ2CKMG4.mjs} +1 -1
  27. package/dist/chunk-CQ2CKMG4.mjs.br +0 -0
  28. package/dist/{chunk-WEU5EMKK.mjs.gz → chunk-CQ2CKMG4.mjs.gz} +0 -0
  29. package/dist/{chunk-EFSQW6S5.js → chunk-DD2YRS6Z.js} +557 -303
  30. package/dist/chunk-DD2YRS6Z.js.br +0 -0
  31. package/dist/chunk-DD2YRS6Z.js.gz +0 -0
  32. package/dist/{chunk-HRLF4REI.mjs → chunk-GJEH27GD.mjs} +21 -56
  33. package/dist/chunk-GJEH27GD.mjs.br +0 -0
  34. package/dist/chunk-GJEH27GD.mjs.gz +0 -0
  35. package/dist/{chunk-6KRNQ2KF.mjs → chunk-H5H57XMH.mjs} +16 -2
  36. package/dist/chunk-H5H57XMH.mjs.br +0 -0
  37. package/dist/chunk-H5H57XMH.mjs.gz +0 -0
  38. package/dist/{chunk-4TD7EINA.mjs → chunk-OWGPRVRK.mjs} +553 -304
  39. package/dist/chunk-OWGPRVRK.mjs.br +0 -0
  40. package/dist/chunk-OWGPRVRK.mjs.gz +0 -0
  41. package/dist/{chunk-G2LZT5SV.js → chunk-PTFCMG3A.js} +3 -3
  42. package/dist/chunk-PTFCMG3A.js.br +0 -0
  43. package/dist/chunk-PTFCMG3A.js.gz +0 -0
  44. package/dist/{chunk-RWIQHVZQ.js → chunk-QFNJCEMS.js} +340 -326
  45. package/dist/chunk-QFNJCEMS.js.br +0 -0
  46. package/dist/chunk-QFNJCEMS.js.gz +0 -0
  47. package/dist/{chunk-SHZ3GWOD.js → chunk-ZMIFFURL.js} +1046 -1037
  48. package/dist/chunk-ZMIFFURL.js.br +0 -0
  49. package/dist/chunk-ZMIFFURL.js.gz +0 -0
  50. package/dist/index.d.ts +14 -0
  51. package/dist/index.js +34 -34
  52. package/dist/index.js.br +0 -0
  53. package/dist/index.js.gz +0 -0
  54. package/dist/index.mjs +5 -5
  55. package/dist/index.mjs.br +0 -0
  56. package/dist/index.mjs.gz +0 -0
  57. package/dist/internals.d.ts +14 -0
  58. package/dist/internals.d.ts.map +1 -1
  59. package/dist/internals.js +78 -78
  60. package/dist/internals.js.br +0 -0
  61. package/dist/internals.js.gz +0 -0
  62. package/dist/internals.mjs +3 -3
  63. package/dist/internals.mjs.br +0 -0
  64. package/dist/internals.mjs.gz +0 -0
  65. package/dist/viewer/index.d.ts +14 -0
  66. package/dist/viewer/index.js +21 -21
  67. package/dist/viewer/index.js.br +0 -0
  68. package/dist/viewer/index.js.gz +0 -0
  69. package/dist/viewer/index.mjs +5 -5
  70. package/dist/viewer/index.mjs.br +0 -0
  71. package/dist/viewer/index.mjs.gz +0 -0
  72. package/package.json +1 -1
  73. package/dist/AiChatPanel-4YS6DEIT.mjs.br +0 -0
  74. package/dist/AiChatPanel-4YS6DEIT.mjs.gz +0 -0
  75. package/dist/AiChatPanel-DEI3EQFM.js.br +0 -0
  76. package/dist/AiChatPanel-DEI3EQFM.js.gz +0 -0
  77. package/dist/Model3DScene-JSNQCKCJ.mjs.br +0 -0
  78. package/dist/Model3DScene-JSNQCKCJ.mjs.gz +0 -0
  79. package/dist/Model3DScene-X4W7GZVY.js.br +0 -0
  80. package/dist/Model3DScene-X4W7GZVY.js.gz +0 -0
  81. package/dist/SurfaceChart3DScene-3MSU74YH.mjs.gz +0 -0
  82. package/dist/SurfaceChart3DScene-IZLUWT27.js.br +0 -0
  83. package/dist/SurfaceChart3DScene-IZLUWT27.js.gz +0 -0
  84. package/dist/chunk-4TD7EINA.mjs.br +0 -0
  85. package/dist/chunk-4TD7EINA.mjs.gz +0 -0
  86. package/dist/chunk-6KRNQ2KF.mjs.br +0 -0
  87. package/dist/chunk-6KRNQ2KF.mjs.gz +0 -0
  88. package/dist/chunk-EFSQW6S5.js.br +0 -0
  89. package/dist/chunk-EFSQW6S5.js.gz +0 -0
  90. package/dist/chunk-G2LZT5SV.js.br +0 -0
  91. package/dist/chunk-G2LZT5SV.js.gz +0 -0
  92. package/dist/chunk-HRLF4REI.mjs.br +0 -0
  93. package/dist/chunk-HRLF4REI.mjs.gz +0 -0
  94. package/dist/chunk-IDW5UPXW.js.br +0 -0
  95. package/dist/chunk-IDW5UPXW.js.gz +0 -0
  96. package/dist/chunk-RWIQHVZQ.js.br +0 -0
  97. package/dist/chunk-RWIQHVZQ.js.gz +0 -0
  98. package/dist/chunk-SHZ3GWOD.js.br +0 -0
  99. package/dist/chunk-SHZ3GWOD.js.gz +0 -0
  100. package/dist/chunk-WEU5EMKK.mjs.br +0 -0
  101. package/dist/chunk-YA7VFYTW.mjs.br +0 -0
  102. package/dist/chunk-YA7VFYTW.mjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,8 @@ 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.13.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.13.0) - 2026-08-01
8
+
7
9
  ## [2.12.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.12.1) - 2026-08-01
8
10
 
9
11
  ## [2.12.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.12.0) - 2026-08-01
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkG2LZT5SV_js = require('./chunk-G2LZT5SV.js');
4
- var chunkIDW5UPXW_js = require('./chunk-IDW5UPXW.js');
3
+ var chunkPTFCMG3A_js = require('./chunk-PTFCMG3A.js');
4
+ var chunk66ZHD7Y4_js = require('./chunk-66ZHD7Y4.js');
5
5
  require('./chunk-BXAK3JFM.js');
6
- require('./chunk-EFSQW6S5.js');
6
+ require('./chunk-DD2YRS6Z.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
9
9
  var reactI18next = require('react-i18next');
10
10
  var lu = require('react-icons/lu');
11
- var react$1 = require('@ai-sdk/react');
12
11
  var ai = require('ai');
13
12
  var jsxRuntime = require('react/jsx-runtime');
14
13
 
@@ -30,7 +29,7 @@ function useAiChat(bridge, config) {
30
29
  setInitError(void 0);
31
30
  void (async () => {
32
31
  try {
33
- const available = await chunkG2LZT5SV_js.isAiAvailable();
32
+ const available = await chunkPTFCMG3A_js.isAiAvailable();
34
33
  if (cancelled) {
35
34
  return;
36
35
  }
@@ -38,7 +37,7 @@ function useAiChat(bridge, config) {
38
37
  setState("unavailable");
39
38
  return;
40
39
  }
41
- const built = await chunkG2LZT5SV_js.createAiChatSession(bridge, configRef.current);
40
+ const built = await chunkPTFCMG3A_js.createAiChatSession(bridge, configRef.current);
42
41
  if (cancelled) {
43
42
  return;
44
43
  }
@@ -144,7 +143,7 @@ function withDeckContext(inner, bridge, strategy) {
144
143
  }
145
144
  let context = "";
146
145
  try {
147
- context = await chunkG2LZT5SV_js.buildDeckContext(bridge, { strategy, focus: {} });
146
+ context = await chunkPTFCMG3A_js.buildDeckContext(bridge, { strategy, focus: {} });
148
147
  } catch {
149
148
  context = "";
150
149
  }
@@ -163,7 +162,7 @@ function withDeckContext(inner, bridge, strategy) {
163
162
  }
164
163
 
165
164
  // src/viewer/hooks/ai/useAiConversation.ts
166
- function useAiConversation(session, config, bridge, options = {}) {
165
+ function useAiConversation(useChat, session, config, bridge, options = {}) {
167
166
  const [, forceRefresh] = react.useReducer((n) => n + 1, 0);
168
167
  const chatRef = react.useRef(null);
169
168
  const onToolTargetRef = react.useRef(options.onToolTarget);
@@ -174,7 +173,7 @@ function useAiConversation(session, config, bridge, options = {}) {
174
173
  () => withDeckContext(session.transport, bridge, config.contextStrategy ?? "outline"),
175
174
  [session, bridge, config.contextStrategy]
176
175
  );
177
- const chat = react$1.useChat({
176
+ const chat = useChat({
178
177
  transport,
179
178
  sendAutomaticallyWhen: clientExecutes ? session.sendAutomaticallyWhen : void 0,
180
179
  onError: (err) => config.onError?.(err),
@@ -207,7 +206,7 @@ function useAiConversation(session, config, bridge, options = {}) {
207
206
  continue;
208
207
  }
209
208
  seen.add(call.toolCallId);
210
- onToolTargetRef.current?.(chunkG2LZT5SV_js.toolCanvasTarget(call.toolName, call.input));
209
+ onToolTargetRef.current?.(chunkPTFCMG3A_js.toolCanvasTarget(call.toolName, call.input));
211
210
  }
212
211
  }, [chat.messages]);
213
212
  const send = react.useCallback(
@@ -283,7 +282,7 @@ function deriveTitle(messages) {
283
282
  }
284
283
  function useAiHistory(input) {
285
284
  const { deckId, messages, setMessages } = input;
286
- const store = react.useMemo(() => input.store ?? chunkG2LZT5SV_js.createChatHistoryStore(), [input.store]);
285
+ const store = react.useMemo(() => input.store ?? chunkPTFCMG3A_js.createChatHistoryStore(), [input.store]);
287
286
  const [activeChatId, setActiveChatId] = react.useState(newChatId);
288
287
  const [chats, setChats] = react.useState([]);
289
288
  const createdAtRef = react.useRef(Date.now());
@@ -426,7 +425,7 @@ function AiComposer({
426
425
  disabled: value.trim().length === 0,
427
426
  title: t("pptx.ai.send"),
428
427
  "aria-label": t("pptx.ai.send"),
429
- className: chunkIDW5UPXW_js.cn(
428
+ className: chunk66ZHD7Y4_js.cn(
430
429
  "shrink-0 rounded-sm p-1.5 transition-colors",
431
430
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
432
431
  ),
@@ -452,15 +451,15 @@ function AiFocusBar({
452
451
  onClearPicks
453
452
  }) {
454
453
  const { t } = reactI18next.useTranslation();
455
- const chips = chunkG2LZT5SV_js.focusTargetChips(targets, slides);
456
- const twoTables = chunkG2LZT5SV_js.isTwoTableFocus(targets, slides);
454
+ const chips = chunkPTFCMG3A_js.focusTargetChips(targets, slides);
455
+ const twoTables = chunkPTFCMG3A_js.isTwoTableFocus(targets, slides);
457
456
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
458
457
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
459
458
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
460
459
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
461
460
  "span",
462
461
  {
463
- className: chunkIDW5UPXW_js.cn(
462
+ className: chunk66ZHD7Y4_js.cn(
464
463
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
465
464
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
466
465
  ),
@@ -493,7 +492,7 @@ function AiFocusBar({
493
492
  title: t("pptx.ai.pickElement"),
494
493
  "aria-label": t("pptx.ai.pickAria"),
495
494
  "aria-pressed": pickMode,
496
- className: chunkIDW5UPXW_js.cn(
495
+ className: chunk66ZHD7Y4_js.cn(
497
496
  "rounded-sm p-1",
498
497
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
499
498
  ),
@@ -572,7 +571,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
572
571
  {
573
572
  type: "button",
574
573
  onClick: () => onResume(chat.id),
575
- className: chunkIDW5UPXW_js.cn(
574
+ className: chunk66ZHD7Y4_js.cn(
576
575
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
577
576
  chat.id === activeChatId && "bg-accent/60"
578
577
  ),
@@ -727,26 +726,26 @@ function AiToolCallCard({ part }) {
727
726
  const failed = part.state === "output-error";
728
727
  const done = part.state === "output-available";
729
728
  const running = !failed && !done;
730
- const activity = chunkG2LZT5SV_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
729
+ const activity = chunkPTFCMG3A_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
731
730
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
732
- const rawSummary = chunkG2LZT5SV_js.summarizeToolArgs(part.input);
731
+ const rawSummary = chunkPTFCMG3A_js.summarizeToolArgs(part.input);
733
732
  const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
734
733
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
735
734
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
736
735
  /* @__PURE__ */ jsxRuntime.jsx(
737
736
  Icon,
738
737
  {
739
- className: chunkIDW5UPXW_js.cn(
738
+ className: chunk66ZHD7Y4_js.cn(
740
739
  "w-3.5 h-3.5 shrink-0",
741
740
  failed ? "text-destructive" : "text-muted-foreground"
742
741
  )
743
742
  }
744
743
  ),
745
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkIDW5UPXW_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
744
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk66ZHD7Y4_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
746
745
  /* @__PURE__ */ jsxRuntime.jsxs(
747
746
  "span",
748
747
  {
749
- className: chunkIDW5UPXW_js.cn(
748
+ className: chunk66ZHD7Y4_js.cn(
750
749
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
751
750
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
752
751
  ),
@@ -763,7 +762,7 @@ function AiToolCallCard({ part }) {
763
762
  rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
764
763
  /* @__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
764
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
766
- chunkG2LZT5SV_js.toolLabel(part.toolName),
765
+ chunkPTFCMG3A_js.toolLabel(part.toolName),
767
766
  ": ",
768
767
  rawSummary
769
768
  ] })
@@ -794,7 +793,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
794
793
  /* @__PURE__ */ jsxRuntime.jsx(
795
794
  "div",
796
795
  {
797
- className: chunkIDW5UPXW_js.cn(
796
+ className: chunk66ZHD7Y4_js.cn(
798
797
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
799
798
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
800
799
  ),
@@ -841,7 +840,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
841
840
  }
842
841
  function AiProposalCard({ proposal, onAccept, onReject }) {
843
842
  const { t } = reactI18next.useTranslation();
844
- const lines = proposal.summary.map(chunkG2LZT5SV_js.humanizeDiffLine);
843
+ const lines = proposal.summary.map(chunkPTFCMG3A_js.humanizeDiffLine);
845
844
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
846
845
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
847
846
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
@@ -874,9 +873,16 @@ function AiProposalCard({ proposal, onAccept, onReject }) {
874
873
  ] })
875
874
  ] });
876
875
  }
877
- function AiConversation({ session, config, bridge, aiPanel, deckId }) {
876
+ function AiConversation({
877
+ useChat,
878
+ session,
879
+ config,
880
+ bridge,
881
+ aiPanel,
882
+ deckId
883
+ }) {
878
884
  const { t } = reactI18next.useTranslation();
879
- const chat = useAiConversation(session, config, bridge, {
885
+ const chat = useAiConversation(useChat, session, config, bridge, {
880
886
  // Live "AI as a collaborator" focus: as each tool runs, navigate to and
881
887
  // highlight the slide / element(s) it touches so the canvas mirrors the
882
888
  // assistant in real time (and colour edits tween while it is active).
@@ -1033,6 +1039,7 @@ function AiConversation({ session, config, bridge, aiPanel, deckId }) {
1033
1039
  ] });
1034
1040
  }
1035
1041
  function AiChatPanel({
1042
+ useChat,
1036
1043
  bridge,
1037
1044
  config,
1038
1045
  aiPanel,
@@ -1073,6 +1080,7 @@ function AiChatPanel({
1073
1080
  state === "ready" && session && /* @__PURE__ */ jsxRuntime.jsx(
1074
1081
  AiConversation,
1075
1082
  {
1083
+ useChat,
1076
1084
  session,
1077
1085
  config,
1078
1086
  bridge,
Binary file
Binary file
@@ -1,12 +1,11 @@
1
- import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-WEU5EMKK.mjs';
2
- import { cn } from './chunk-HRLF4REI.mjs';
1
+ import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-CQ2CKMG4.mjs';
2
+ import { cn } from './chunk-GJEH27GD.mjs';
3
3
  import './chunk-TEXIGSA6.mjs';
4
- import './chunk-4TD7EINA.mjs';
4
+ import './chunk-OWGPRVRK.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';
8
8
  import { LuSparkles, LuX, LuLoaderCircle, LuTriangleAlert, LuHistory, LuMessageSquarePlus, LuTrash2, LuPlus, LuGitMerge, LuCrosshair, LuPinOff, LuPin, LuUser, LuBot, LuCheck, LuSquare, LuSend, LuMessageSquare, LuPalette, LuUndo2, LuWrench, LuStickyNote, LuFilm, LuNavigation, LuSearch, LuMove, LuChartColumn, LuLayoutTemplate, LuTable, LuShapes, LuType, LuEye } from 'react-icons/lu';
9
- import { useChat } from '@ai-sdk/react';
10
9
  import { isToolUIPart, isDynamicToolUIPart, getToolOrDynamicToolName, isTextUIPart } from 'ai';
11
10
  import { jsxs, jsx } from 'react/jsx-runtime';
12
11
 
@@ -161,7 +160,7 @@ function withDeckContext(inner, bridge, strategy) {
161
160
  }
162
161
 
163
162
  // src/viewer/hooks/ai/useAiConversation.ts
164
- function useAiConversation(session, config, bridge, options = {}) {
163
+ function useAiConversation(useChat, session, config, bridge, options = {}) {
165
164
  const [, forceRefresh] = useReducer((n) => n + 1, 0);
166
165
  const chatRef = useRef(null);
167
166
  const onToolTargetRef = useRef(options.onToolTarget);
@@ -872,9 +871,16 @@ function AiProposalCard({ proposal, onAccept, onReject }) {
872
871
  ] })
873
872
  ] });
874
873
  }
875
- function AiConversation({ session, config, bridge, aiPanel, deckId }) {
874
+ function AiConversation({
875
+ useChat,
876
+ session,
877
+ config,
878
+ bridge,
879
+ aiPanel,
880
+ deckId
881
+ }) {
876
882
  const { t } = useTranslation();
877
- const chat = useAiConversation(session, config, bridge, {
883
+ const chat = useAiConversation(useChat, session, config, bridge, {
878
884
  // Live "AI as a collaborator" focus: as each tool runs, navigate to and
879
885
  // highlight the slide / element(s) it touches so the canvas mirrors the
880
886
  // assistant in real time (and colour edits tween while it is active).
@@ -1031,6 +1037,7 @@ function AiConversation({ session, config, bridge, aiPanel, deckId }) {
1031
1037
  ] });
1032
1038
  }
1033
1039
  function AiChatPanel({
1040
+ useChat,
1034
1041
  bridge,
1035
1042
  config,
1036
1043
  aiPanel,
@@ -1071,6 +1078,7 @@ function AiChatPanel({
1071
1078
  state === "ready" && session && /* @__PURE__ */ jsx(
1072
1079
  AiConversation,
1073
1080
  {
1081
+ useChat,
1074
1082
  session,
1075
1083
  config,
1076
1084
  bridge,
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountModel3D } from './chunk-4TD7EINA.mjs';
1
+ import { mountModel3D } from './chunk-OWGPRVRK.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkEFSQW6S5_js = require('./chunk-EFSQW6S5.js');
3
+ var chunkDD2YRS6Z_js = require('./chunk-DD2YRS6Z.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 chunkEFSQW6S5_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunkDD2YRS6Z_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 { mountSurfaceChart3D } from './chunk-4TD7EINA.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-OWGPRVRK.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkEFSQW6S5_js = require('./chunk-EFSQW6S5.js');
3
+ var chunkDD2YRS6Z_js = require('./chunk-DD2YRS6Z.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 chunkEFSQW6S5_js.mountSurfaceChart3D(container, {
28
+ void chunkDD2YRS6Z_js.mountSurfaceChart3D(container, {
29
29
  cols,
30
30
  rows,
31
31
  heightMap,
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-WEU5EMKK.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-6KRNQ2KF.mjs';
3
- import { SHAPE_PRESETS, MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, 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_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, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-HRLF4REI.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-CQ2CKMG4.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-H5H57XMH.mjs';
3
+ import { SHAPE_PRESETS, MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, 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_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, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-GJEH27GD.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-TEXIGSA6.mjs';
5
- import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, isElementRendered, isElementActionable, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, LINK_TOOLTIP_HOST_CLASS, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, RULER_THICKNESS, RULER_FONT_SIZE, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, svgGradientFillRef, mediaTransportVisible, isInkElement, getElementLabel, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, 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, filterRenderedElements, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, STATUS_BAR_CLASSES, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptor, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, PRESET_THEMES, isUrlSafe, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, getConnectionSites, generateTicks, rulerDragToGuidePosition, getCommentMarkerPosition, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, mergeSlideTransition, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, chartDataChangeType, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-4TD7EINA.mjs';
5
+ import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, isElementRendered, isElementActionable, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, LINK_TOOLTIP_HOST_CLASS, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, RULER_THICKNESS, RULER_FONT_SIZE, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, svgGradientFillRef, mediaTransportVisible, isInkElement, getElementLabel, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, 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, filterRenderedElements, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, STATUS_BAR_CLASSES, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptor, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, PRESET_THEMES, isUrlSafe, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, getConnectionSites, generateTicks, rulerDragToGuidePosition, getCommentMarkerPosition, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, mergeSlideTransition, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, chartDataChangeType, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OWGPRVRK.mjs';
6
6
  import React35, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, Fragment as Fragment$1, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -1452,7 +1452,7 @@ function AccountPage() {
1452
1452
  return void 0;
1453
1453
  });
1454
1454
  };
1455
- const version = "2.12.1" ;
1455
+ const version = "2.13.0" ;
1456
1456
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1457
1457
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1458
1458
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8733,7 +8733,7 @@ function FailedToLoad() {
8733
8733
  var LazyModel3DScene = React35.lazy(
8734
8734
  async () => {
8735
8735
  try {
8736
- return await import('./Model3DScene-JSNQCKCJ.mjs');
8736
+ return await import('./Model3DScene-E2XRQAMR.mjs');
8737
8737
  } catch {
8738
8738
  return { default: FailedToLoad };
8739
8739
  }
@@ -35056,7 +35056,16 @@ ${url}`)) {
35056
35056
  )
35057
35057
  );
35058
35058
  }
35059
- var AiChatPanel = lazy(() => import('./AiChatPanel-4YS6DEIT.mjs'));
35059
+ var AiChatPanel = lazy(async () => {
35060
+ const [{ useChat }, { default: Panel }] = await Promise.all([
35061
+ import('@ai-sdk/react'),
35062
+ import('./AiChatPanel-WMGS5TNX.mjs')
35063
+ ]);
35064
+ function BoundAiChatPanel(props) {
35065
+ return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
35066
+ }
35067
+ return { default: BoundAiChatPanel };
35068
+ });
35060
35069
  function AiChatPanelLazy(props) {
35061
35070
  return /* @__PURE__ */ jsx(
35062
35071
  Suspense,
Binary file
Binary file