pptx-react-viewer 2.5.1 → 2.5.3

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 (99) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{AiChatPanel-OHSLJNYG.js → AiChatPanel-DPMHPOWF.js} +22 -22
  3. package/dist/AiChatPanel-DPMHPOWF.js.br +0 -0
  4. package/dist/AiChatPanel-DPMHPOWF.js.gz +0 -0
  5. package/dist/{AiChatPanel-EMF3UYCE.mjs → AiChatPanel-OFOOWR4U.mjs} +3 -3
  6. package/dist/AiChatPanel-OFOOWR4U.mjs.br +0 -0
  7. package/dist/AiChatPanel-OFOOWR4U.mjs.gz +0 -0
  8. package/dist/{Model3DScene-X6QJTWHV.mjs → Model3DScene-P4OKVQBF.mjs} +1 -1
  9. package/dist/Model3DScene-P4OKVQBF.mjs.br +0 -0
  10. package/dist/Model3DScene-P4OKVQBF.mjs.gz +0 -0
  11. package/dist/{Model3DScene-ULHIJPMU.js → Model3DScene-PD2MDBIE.js} +2 -2
  12. package/dist/Model3DScene-PD2MDBIE.js.br +0 -0
  13. package/dist/Model3DScene-PD2MDBIE.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-K7Q5NYZ4.js → SurfaceChart3DScene-FECS3THE.js} +2 -2
  15. package/dist/SurfaceChart3DScene-FECS3THE.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-FECS3THE.js.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-PRCKQJQQ.mjs → SurfaceChart3DScene-TL4ZIOI4.mjs} +1 -1
  18. package/dist/{SurfaceChart3DScene-PRCKQJQQ.mjs.br → SurfaceChart3DScene-TL4ZIOI4.mjs.br} +0 -0
  19. package/dist/SurfaceChart3DScene-TL4ZIOI4.mjs.gz +0 -0
  20. package/dist/{chunk-LTEDT475.js → chunk-23Q3I2LM.js} +17 -13
  21. package/dist/chunk-23Q3I2LM.js.br +0 -0
  22. package/dist/chunk-23Q3I2LM.js.gz +0 -0
  23. package/dist/{chunk-VOV2N3NY.mjs → chunk-6KOM27PS.mjs} +17 -13
  24. package/dist/chunk-6KOM27PS.mjs.br +0 -0
  25. package/dist/chunk-6KOM27PS.mjs.gz +0 -0
  26. package/dist/{chunk-SPSGMO5I.mjs → chunk-F3JUUSC4.mjs} +7 -7
  27. package/dist/chunk-F3JUUSC4.mjs.br +0 -0
  28. package/dist/chunk-F3JUUSC4.mjs.gz +0 -0
  29. package/dist/{chunk-NVH3RIN7.js → chunk-FFLUALX5.js} +235 -235
  30. package/dist/chunk-FFLUALX5.js.br +0 -0
  31. package/dist/chunk-FFLUALX5.js.gz +0 -0
  32. package/dist/{chunk-MJAEB43A.js → chunk-H2FZ2NJ7.js} +3 -3
  33. package/dist/chunk-H2FZ2NJ7.js.br +0 -0
  34. package/dist/chunk-H2FZ2NJ7.js.gz +0 -0
  35. package/dist/{chunk-TGVID6BB.mjs → chunk-QDIF3ZXF.mjs} +2 -2
  36. package/dist/chunk-QDIF3ZXF.mjs.br +0 -0
  37. package/dist/chunk-QDIF3ZXF.mjs.gz +0 -0
  38. package/dist/{chunk-WJKMTDXS.mjs → chunk-SAXG53MO.mjs} +1 -1
  39. package/dist/chunk-SAXG53MO.mjs.br +0 -0
  40. package/dist/chunk-SAXG53MO.mjs.gz +0 -0
  41. package/dist/{chunk-4MYZW7XT.js → chunk-USHZUHHG.js} +843 -843
  42. package/dist/chunk-USHZUHHG.js.br +0 -0
  43. package/dist/chunk-USHZUHHG.js.gz +0 -0
  44. package/dist/{chunk-7Q7AEPO7.js → chunk-UUS7QT22.js} +313 -313
  45. package/dist/chunk-UUS7QT22.js.br +0 -0
  46. package/dist/chunk-UUS7QT22.js.gz +0 -0
  47. package/dist/{chunk-LIQGO45T.mjs → chunk-ZZA62IND.mjs} +2 -2
  48. package/dist/chunk-ZZA62IND.mjs.br +0 -0
  49. package/dist/chunk-ZZA62IND.mjs.gz +0 -0
  50. package/dist/index.js +34 -34
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +5 -5
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.js +78 -78
  57. package/dist/internals.js.br +0 -0
  58. package/dist/internals.js.gz +0 -0
  59. package/dist/internals.mjs +3 -3
  60. package/dist/internals.mjs.br +0 -0
  61. package/dist/internals.mjs.gz +0 -0
  62. package/dist/viewer/index.js +21 -21
  63. package/dist/viewer/index.js.br +0 -0
  64. package/dist/viewer/index.js.gz +0 -0
  65. package/dist/viewer/index.mjs +5 -5
  66. package/dist/viewer/index.mjs.br +0 -0
  67. package/dist/viewer/index.mjs.gz +0 -0
  68. package/package.json +3 -3
  69. package/dist/AiChatPanel-EMF3UYCE.mjs.br +0 -0
  70. package/dist/AiChatPanel-EMF3UYCE.mjs.gz +0 -0
  71. package/dist/AiChatPanel-OHSLJNYG.js.br +0 -0
  72. package/dist/AiChatPanel-OHSLJNYG.js.gz +0 -0
  73. package/dist/Model3DScene-ULHIJPMU.js.br +0 -0
  74. package/dist/Model3DScene-ULHIJPMU.js.gz +0 -0
  75. package/dist/Model3DScene-X6QJTWHV.mjs.br +0 -0
  76. package/dist/Model3DScene-X6QJTWHV.mjs.gz +0 -0
  77. package/dist/SurfaceChart3DScene-K7Q5NYZ4.js.br +0 -0
  78. package/dist/SurfaceChart3DScene-K7Q5NYZ4.js.gz +0 -0
  79. package/dist/SurfaceChart3DScene-PRCKQJQQ.mjs.gz +0 -0
  80. package/dist/chunk-4MYZW7XT.js.br +0 -0
  81. package/dist/chunk-4MYZW7XT.js.gz +0 -0
  82. package/dist/chunk-7Q7AEPO7.js.br +0 -0
  83. package/dist/chunk-7Q7AEPO7.js.gz +0 -0
  84. package/dist/chunk-LIQGO45T.mjs.br +0 -0
  85. package/dist/chunk-LIQGO45T.mjs.gz +0 -0
  86. package/dist/chunk-LTEDT475.js.br +0 -0
  87. package/dist/chunk-LTEDT475.js.gz +0 -0
  88. package/dist/chunk-MJAEB43A.js.br +0 -0
  89. package/dist/chunk-MJAEB43A.js.gz +0 -0
  90. package/dist/chunk-NVH3RIN7.js.br +0 -0
  91. package/dist/chunk-NVH3RIN7.js.gz +0 -0
  92. package/dist/chunk-SPSGMO5I.mjs.br +0 -0
  93. package/dist/chunk-SPSGMO5I.mjs.gz +0 -0
  94. package/dist/chunk-TGVID6BB.mjs.br +0 -0
  95. package/dist/chunk-TGVID6BB.mjs.gz +0 -0
  96. package/dist/chunk-VOV2N3NY.mjs.br +0 -0
  97. package/dist/chunk-VOV2N3NY.mjs.gz +0 -0
  98. package/dist/chunk-WJKMTDXS.mjs.br +0 -0
  99. package/dist/chunk-WJKMTDXS.mjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ 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.5.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.5.2) - 2026-07-27
8
+
9
+ ### Bug Fixes
10
+
11
+ - **ci:** Resolve workspace: ranges in every published manifest (by @ChristopherVR) ([ea35290](https://github.com/ChristopherVR/pptx-viewer/commit/ea35290721ba679571f71708933ed718e65e3942))
12
+
13
+ ## [2.5.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.5.1) - 2026-07-26
14
+
7
15
  ## [2.5.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.5.0) - 2026-07-26
8
16
 
9
17
  ## [2.4.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.4.0) - 2026-07-25
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkMJAEB43A_js = require('./chunk-MJAEB43A.js');
4
- var chunkNVH3RIN7_js = require('./chunk-NVH3RIN7.js');
3
+ var chunkH2FZ2NJ7_js = require('./chunk-H2FZ2NJ7.js');
4
+ var chunkFFLUALX5_js = require('./chunk-FFLUALX5.js');
5
5
  require('./chunk-25VSL2BB.js');
6
- require('./chunk-LTEDT475.js');
6
+ require('./chunk-23Q3I2LM.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
9
9
  var reactI18next = require('react-i18next');
@@ -30,7 +30,7 @@ function useAiChat(bridge, config) {
30
30
  setInitError(void 0);
31
31
  void (async () => {
32
32
  try {
33
- const available = await chunkMJAEB43A_js.isAiAvailable();
33
+ const available = await chunkH2FZ2NJ7_js.isAiAvailable();
34
34
  if (cancelled) {
35
35
  return;
36
36
  }
@@ -38,7 +38,7 @@ function useAiChat(bridge, config) {
38
38
  setState("unavailable");
39
39
  return;
40
40
  }
41
- const built = await chunkMJAEB43A_js.createAiChatSession(bridge, configRef.current);
41
+ const built = await chunkH2FZ2NJ7_js.createAiChatSession(bridge, configRef.current);
42
42
  if (cancelled) {
43
43
  return;
44
44
  }
@@ -144,7 +144,7 @@ function withDeckContext(inner, bridge, strategy) {
144
144
  }
145
145
  let context = "";
146
146
  try {
147
- context = await chunkMJAEB43A_js.buildDeckContext(bridge, { strategy, focus: {} });
147
+ context = await chunkH2FZ2NJ7_js.buildDeckContext(bridge, { strategy, focus: {} });
148
148
  } catch {
149
149
  context = "";
150
150
  }
@@ -207,7 +207,7 @@ function useAiConversation(session, config, bridge, options = {}) {
207
207
  continue;
208
208
  }
209
209
  seen.add(call.toolCallId);
210
- onToolTargetRef.current?.(chunkMJAEB43A_js.toolCanvasTarget(call.toolName, call.input));
210
+ onToolTargetRef.current?.(chunkH2FZ2NJ7_js.toolCanvasTarget(call.toolName, call.input));
211
211
  }
212
212
  }, [chat.messages]);
213
213
  const send = react.useCallback(
@@ -283,7 +283,7 @@ function deriveTitle(messages) {
283
283
  }
284
284
  function useAiHistory(input) {
285
285
  const { deckId, messages, setMessages } = input;
286
- const store = react.useMemo(() => input.store ?? chunkMJAEB43A_js.createChatHistoryStore(), [input.store]);
286
+ const store = react.useMemo(() => input.store ?? chunkH2FZ2NJ7_js.createChatHistoryStore(), [input.store]);
287
287
  const [activeChatId, setActiveChatId] = react.useState(newChatId);
288
288
  const [chats, setChats] = react.useState([]);
289
289
  const createdAtRef = react.useRef(Date.now());
@@ -426,7 +426,7 @@ function AiComposer({
426
426
  disabled: value.trim().length === 0,
427
427
  title: t("pptx.ai.send"),
428
428
  "aria-label": t("pptx.ai.send"),
429
- className: chunkNVH3RIN7_js.cn(
429
+ className: chunkFFLUALX5_js.cn(
430
430
  "shrink-0 rounded-sm p-1.5 transition-colors",
431
431
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
432
432
  ),
@@ -452,15 +452,15 @@ function AiFocusBar({
452
452
  onClearPicks
453
453
  }) {
454
454
  const { t } = reactI18next.useTranslation();
455
- const chips = chunkMJAEB43A_js.focusTargetChips(targets, slides);
456
- const twoTables = chunkMJAEB43A_js.isTwoTableFocus(targets, slides);
455
+ const chips = chunkH2FZ2NJ7_js.focusTargetChips(targets, slides);
456
+ const twoTables = chunkH2FZ2NJ7_js.isTwoTableFocus(targets, slides);
457
457
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
458
458
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
459
459
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
460
460
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
461
461
  "span",
462
462
  {
463
- className: chunkNVH3RIN7_js.cn(
463
+ className: chunkFFLUALX5_js.cn(
464
464
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
465
465
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
466
466
  ),
@@ -493,7 +493,7 @@ function AiFocusBar({
493
493
  title: t("pptx.ai.pickElement"),
494
494
  "aria-label": t("pptx.ai.pickAria"),
495
495
  "aria-pressed": pickMode,
496
- className: chunkNVH3RIN7_js.cn(
496
+ className: chunkFFLUALX5_js.cn(
497
497
  "rounded-sm p-1",
498
498
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
499
499
  ),
@@ -572,7 +572,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
572
572
  {
573
573
  type: "button",
574
574
  onClick: () => onResume(chat.id),
575
- className: chunkNVH3RIN7_js.cn(
575
+ className: chunkFFLUALX5_js.cn(
576
576
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
577
577
  chat.id === activeChatId && "bg-accent/60"
578
578
  ),
@@ -727,26 +727,26 @@ function AiToolCallCard({ part }) {
727
727
  const failed = part.state === "output-error";
728
728
  const done = part.state === "output-available";
729
729
  const running = !failed && !done;
730
- const activity = chunkMJAEB43A_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
730
+ const activity = chunkH2FZ2NJ7_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
731
731
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
732
- const rawSummary = chunkMJAEB43A_js.summarizeToolArgs(part.input);
732
+ const rawSummary = chunkH2FZ2NJ7_js.summarizeToolArgs(part.input);
733
733
  const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
734
734
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
735
735
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
736
736
  /* @__PURE__ */ jsxRuntime.jsx(
737
737
  Icon,
738
738
  {
739
- className: chunkNVH3RIN7_js.cn(
739
+ className: chunkFFLUALX5_js.cn(
740
740
  "w-3.5 h-3.5 shrink-0",
741
741
  failed ? "text-destructive" : "text-muted-foreground"
742
742
  )
743
743
  }
744
744
  ),
745
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNVH3RIN7_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
745
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkFFLUALX5_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
746
746
  /* @__PURE__ */ jsxRuntime.jsxs(
747
747
  "span",
748
748
  {
749
- className: chunkNVH3RIN7_js.cn(
749
+ className: chunkFFLUALX5_js.cn(
750
750
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
751
751
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
752
752
  ),
@@ -763,7 +763,7 @@ function AiToolCallCard({ part }) {
763
763
  rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
764
764
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer list-none text-[10px] text-muted-foreground/70 hover:text-muted-foreground", children: t("pptx.ai.toolDetails") }),
765
765
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
766
- chunkMJAEB43A_js.toolLabel(part.toolName),
766
+ chunkH2FZ2NJ7_js.toolLabel(part.toolName),
767
767
  ": ",
768
768
  rawSummary
769
769
  ] })
@@ -794,7 +794,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
794
794
  /* @__PURE__ */ jsxRuntime.jsx(
795
795
  "div",
796
796
  {
797
- className: chunkNVH3RIN7_js.cn(
797
+ className: chunkFFLUALX5_js.cn(
798
798
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
799
799
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
800
800
  ),
@@ -841,7 +841,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
841
841
  }
842
842
  function AiProposalCard({ proposal, onAccept, onReject }) {
843
843
  const { t } = reactI18next.useTranslation();
844
- const lines = proposal.summary.map(chunkMJAEB43A_js.humanizeDiffLine);
844
+ const lines = proposal.summary.map(chunkH2FZ2NJ7_js.humanizeDiffLine);
845
845
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
846
846
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
847
847
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-WJKMTDXS.mjs';
2
- import { cn } from './chunk-TGVID6BB.mjs';
1
+ import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-SAXG53MO.mjs';
2
+ import { cn } from './chunk-QDIF3ZXF.mjs';
3
3
  import './chunk-Z6HIZWIQ.mjs';
4
- import './chunk-VOV2N3NY.mjs';
4
+ import './chunk-6KOM27PS.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
7
7
  import { useTranslation } from 'react-i18next';
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountModel3D } from './chunk-VOV2N3NY.mjs';
1
+ import { mountModel3D } from './chunk-6KOM27PS.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 chunkLTEDT475_js = require('./chunk-LTEDT475.js');
3
+ var chunk23Q3I2LM_js = require('./chunk-23Q3I2LM.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 chunkLTEDT475_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunk23Q3I2LM_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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLTEDT475_js = require('./chunk-LTEDT475.js');
3
+ var chunk23Q3I2LM_js = require('./chunk-23Q3I2LM.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 chunkLTEDT475_js.mountSurfaceChart3D(container, {
28
+ void chunk23Q3I2LM_js.mountSurfaceChart3D(container, {
29
29
  cols,
30
30
  rows,
31
31
  heightMap,
@@ -1,4 +1,4 @@
1
- import { mountSurfaceChart3D } from './chunk-VOV2N3NY.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-6KOM27PS.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1634,7 +1634,7 @@ function decompressEotFont(fontData, compressed, encrypted) {
1634
1634
  return decompressMtx(fontData, { encrypted});
1635
1635
  }
1636
1636
 
1637
- // ../../node_modules/.bun/emf-converter@2.0.0/node_modules/emf-converter/dist/index.mjs
1637
+ // ../../node_modules/.bun/emf-converter@2.0.2/node_modules/emf-converter/dist/index.mjs
1638
1638
  function colorRefToHex(r, g, b) {
1639
1639
  const toHex4 = (v) => v.toString(16).padStart(2, "0");
1640
1640
  return `#${toHex4(r & 255)}${toHex4(g & 255)}${toHex4(b & 255)}`;
@@ -2053,19 +2053,22 @@ function mapFontFamily(face, map) {
2053
2053
  }
2054
2054
  return resolved;
2055
2055
  }
2056
- function applyFont(ctx, state) {
2056
+ function fontSizePx(state, scale = 1) {
2057
+ return Math.max(Math.abs(state.fontHeight) * Math.abs(scale || 1), 8);
2058
+ }
2059
+ function applyFont(ctx, state, scale = 1) {
2057
2060
  const italic = state.fontItalic ? "italic " : "";
2058
2061
  const weight = cssFontWeight(state.fontWeight);
2059
2062
  const weightPart = weight ? `${weight} ` : "";
2060
- const size = Math.max(Math.abs(state.fontHeight), 8);
2063
+ const size = fontSizePx(state, scale);
2061
2064
  const family = mapFontFamily(state.fontFamily, state.fontFamilyMap);
2062
2065
  ctx.font = `${italic}${weightPart}${size}px ${family}`;
2063
2066
  }
2064
- function drawTextDecorations(ctx, state, x, y, width) {
2067
+ function drawTextDecorations(ctx, state, x, y, width, scale = 1) {
2065
2068
  if (!state.fontUnderline && !state.fontStrikeOut) {
2066
2069
  return;
2067
2070
  }
2068
- const size = Math.max(Math.abs(state.fontHeight), 8);
2071
+ const size = fontSizePx(state, scale);
2069
2072
  const thickness = Math.max(1, Math.round(size / 14));
2070
2073
  const prevFill = ctx.fillStyle;
2071
2074
  ctx.fillStyle = state.textColor;
@@ -3014,7 +3017,8 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3014
3017
  if (nChars > 0 && offString > 0 && offset + offString + nChars * 2 <= maxOffset) {
3015
3018
  const text2 = readUtf16LE(view, offset + offString, nChars);
3016
3019
  if (text2.length > 0) {
3017
- applyFont(ctx, state);
3020
+ const fontScale = Math.abs(gmh(rCtx, 1));
3021
+ applyFont(ctx, state, fontScale);
3018
3022
  ctx.fillStyle = state.textColor;
3019
3023
  const vAlign = state.textAlign & 24;
3020
3024
  const alignBaseline = vAlign === 24 ? "alphabetic" : vAlign === 8 ? "bottom" : "top";
@@ -3029,7 +3033,7 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3029
3033
  ctx.textAlign = alignHoriz;
3030
3034
  if (state.bkMode === 2) {
3031
3035
  const measured = ctx.measureText(text2);
3032
- const bgH = state.fontHeight || 12;
3036
+ const bgH = fontSizePx(state, fontScale);
3033
3037
  ctx.fillStyle = state.bkColor;
3034
3038
  ctx.fillRect(gmx(rCtx, refX), gmy(rCtx, refY) - bgH, measured.width, bgH);
3035
3039
  ctx.fillStyle = state.textColor;
@@ -3039,7 +3043,7 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3039
3043
  const w = ctx.measureText(text2).width;
3040
3044
  const baseX = gmx(rCtx, refX);
3041
3045
  const startX = alignHoriz === "center" ? baseX - w / 2 : alignHoriz === "right" ? baseX - w : baseX;
3042
- drawTextDecorations(ctx, state, startX, gmy(rCtx, refY), w);
3046
+ drawTextDecorations(ctx, state, startX, gmy(rCtx, refY), w, fontScale);
3043
3047
  }
3044
3048
  }
3045
3049
  }
@@ -6193,7 +6197,7 @@ function handleWmfDrawRecord(wCtx, recType, offset, dataOff, recSize) {
6193
6197
  if (txOff + 4 <= offset + recSize) {
6194
6198
  const ty2 = view.getInt16(txOff, true);
6195
6199
  const txCoord = view.getInt16(txOff + 2, true);
6196
- applyFont(ctx, state);
6200
+ applyFont(ctx, state, Math.abs(mh(1)));
6197
6201
  ctx.fillStyle = state.textColor;
6198
6202
  ctx.fillText(text2, mx(txCoord), my(ty2));
6199
6203
  }
@@ -6216,7 +6220,7 @@ function handleWmfDrawRecord(wCtx, recType, offset, dataOff, recSize) {
6216
6220
  }
6217
6221
  text2 += String.fromCharCode(ch);
6218
6222
  }
6219
- applyFont(ctx, state);
6223
+ applyFont(ctx, state, Math.abs(mh(1)));
6220
6224
  ctx.fillStyle = state.textColor;
6221
6225
  ctx.fillText(text2, mx(txCoord), my(ty2));
6222
6226
  }
@@ -40957,12 +40961,12 @@ function estimateTextBoxCapacity(element) {
40957
40961
  if (fontSizePt <= 0) {
40958
40962
  fontSizePt = DEFAULT_FONT_SIZE_PT;
40959
40963
  }
40960
- const fontSizePx = fontSizePt * (4 / 3);
40964
+ const fontSizePx2 = fontSizePt * (4 / 3);
40961
40965
  const lineHeightMultiplier = style?.lineSpacing ?? DEFAULT_LINE_HEIGHT_MULTIPLIER;
40962
- const lineHeightPx = fontSizePx * lineHeightMultiplier;
40966
+ const lineHeightPx = fontSizePx2 * lineHeightMultiplier;
40963
40967
  const charsPerLine = Math.max(
40964
40968
  1,
40965
- Math.floor(availableWidth / (fontSizePx * AVG_CHAR_WIDTH_RATIO))
40969
+ Math.floor(availableWidth / (fontSizePx2 * AVG_CHAR_WIDTH_RATIO))
40966
40970
  );
40967
40971
  const numLines = Math.max(1, Math.floor(availableHeight / lineHeightPx));
40968
40972
  return charsPerLine * numLines;
Binary file
Binary file
@@ -1627,7 +1627,7 @@ function decompressEotFont(fontData, compressed, encrypted) {
1627
1627
  return decompressMtx(fontData, { encrypted});
1628
1628
  }
1629
1629
 
1630
- // ../../node_modules/.bun/emf-converter@2.0.0/node_modules/emf-converter/dist/index.mjs
1630
+ // ../../node_modules/.bun/emf-converter@2.0.2/node_modules/emf-converter/dist/index.mjs
1631
1631
  function colorRefToHex(r, g, b) {
1632
1632
  const toHex4 = (v) => v.toString(16).padStart(2, "0");
1633
1633
  return `#${toHex4(r & 255)}${toHex4(g & 255)}${toHex4(b & 255)}`;
@@ -2046,19 +2046,22 @@ function mapFontFamily(face, map) {
2046
2046
  }
2047
2047
  return resolved;
2048
2048
  }
2049
- function applyFont(ctx, state) {
2049
+ function fontSizePx(state, scale = 1) {
2050
+ return Math.max(Math.abs(state.fontHeight) * Math.abs(scale || 1), 8);
2051
+ }
2052
+ function applyFont(ctx, state, scale = 1) {
2050
2053
  const italic = state.fontItalic ? "italic " : "";
2051
2054
  const weight = cssFontWeight(state.fontWeight);
2052
2055
  const weightPart = weight ? `${weight} ` : "";
2053
- const size = Math.max(Math.abs(state.fontHeight), 8);
2056
+ const size = fontSizePx(state, scale);
2054
2057
  const family = mapFontFamily(state.fontFamily, state.fontFamilyMap);
2055
2058
  ctx.font = `${italic}${weightPart}${size}px ${family}`;
2056
2059
  }
2057
- function drawTextDecorations(ctx, state, x, y, width) {
2060
+ function drawTextDecorations(ctx, state, x, y, width, scale = 1) {
2058
2061
  if (!state.fontUnderline && !state.fontStrikeOut) {
2059
2062
  return;
2060
2063
  }
2061
- const size = Math.max(Math.abs(state.fontHeight), 8);
2064
+ const size = fontSizePx(state, scale);
2062
2065
  const thickness = Math.max(1, Math.round(size / 14));
2063
2066
  const prevFill = ctx.fillStyle;
2064
2067
  ctx.fillStyle = state.textColor;
@@ -3007,7 +3010,8 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3007
3010
  if (nChars > 0 && offString > 0 && offset + offString + nChars * 2 <= maxOffset) {
3008
3011
  const text2 = readUtf16LE(view, offset + offString, nChars);
3009
3012
  if (text2.length > 0) {
3010
- applyFont(ctx, state);
3013
+ const fontScale = Math.abs(gmh(rCtx, 1));
3014
+ applyFont(ctx, state, fontScale);
3011
3015
  ctx.fillStyle = state.textColor;
3012
3016
  const vAlign = state.textAlign & 24;
3013
3017
  const alignBaseline = vAlign === 24 ? "alphabetic" : vAlign === 8 ? "bottom" : "top";
@@ -3022,7 +3026,7 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3022
3026
  ctx.textAlign = alignHoriz;
3023
3027
  if (state.bkMode === 2) {
3024
3028
  const measured = ctx.measureText(text2);
3025
- const bgH = state.fontHeight || 12;
3029
+ const bgH = fontSizePx(state, fontScale);
3026
3030
  ctx.fillStyle = state.bkColor;
3027
3031
  ctx.fillRect(gmx(rCtx, refX), gmy(rCtx, refY) - bgH, measured.width, bgH);
3028
3032
  ctx.fillStyle = state.textColor;
@@ -3032,7 +3036,7 @@ function handleExtTextOutW(rCtx, offset, dataOff, recSize) {
3032
3036
  const w = ctx.measureText(text2).width;
3033
3037
  const baseX = gmx(rCtx, refX);
3034
3038
  const startX = alignHoriz === "center" ? baseX - w / 2 : alignHoriz === "right" ? baseX - w : baseX;
3035
- drawTextDecorations(ctx, state, startX, gmy(rCtx, refY), w);
3039
+ drawTextDecorations(ctx, state, startX, gmy(rCtx, refY), w, fontScale);
3036
3040
  }
3037
3041
  }
3038
3042
  }
@@ -6186,7 +6190,7 @@ function handleWmfDrawRecord(wCtx, recType, offset, dataOff, recSize) {
6186
6190
  if (txOff + 4 <= offset + recSize) {
6187
6191
  const ty2 = view.getInt16(txOff, true);
6188
6192
  const txCoord = view.getInt16(txOff + 2, true);
6189
- applyFont(ctx, state);
6193
+ applyFont(ctx, state, Math.abs(mh(1)));
6190
6194
  ctx.fillStyle = state.textColor;
6191
6195
  ctx.fillText(text2, mx(txCoord), my(ty2));
6192
6196
  }
@@ -6209,7 +6213,7 @@ function handleWmfDrawRecord(wCtx, recType, offset, dataOff, recSize) {
6209
6213
  }
6210
6214
  text2 += String.fromCharCode(ch);
6211
6215
  }
6212
- applyFont(ctx, state);
6216
+ applyFont(ctx, state, Math.abs(mh(1)));
6213
6217
  ctx.fillStyle = state.textColor;
6214
6218
  ctx.fillText(text2, mx(txCoord), my(ty2));
6215
6219
  }
@@ -40950,12 +40954,12 @@ function estimateTextBoxCapacity(element) {
40950
40954
  if (fontSizePt <= 0) {
40951
40955
  fontSizePt = DEFAULT_FONT_SIZE_PT;
40952
40956
  }
40953
- const fontSizePx = fontSizePt * (4 / 3);
40957
+ const fontSizePx2 = fontSizePt * (4 / 3);
40954
40958
  const lineHeightMultiplier = style?.lineSpacing ?? DEFAULT_LINE_HEIGHT_MULTIPLIER;
40955
- const lineHeightPx = fontSizePx * lineHeightMultiplier;
40959
+ const lineHeightPx = fontSizePx2 * lineHeightMultiplier;
40956
40960
  const charsPerLine = Math.max(
40957
40961
  1,
40958
- Math.floor(availableWidth / (fontSizePx * AVG_CHAR_WIDTH_RATIO))
40962
+ Math.floor(availableWidth / (fontSizePx2 * AVG_CHAR_WIDTH_RATIO))
40959
40963
  );
40960
40964
  const numLines = Math.max(1, Math.floor(availableHeight / lineHeightPx));
40961
40965
  return charsPerLine * numLines;
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-WJKMTDXS.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-LIQGO45T.mjs';
3
- import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-TGVID6BB.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-SAXG53MO.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-ZZA62IND.mjs';
3
+ import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-QDIF3ZXF.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-Z6HIZWIQ.mjs';
5
- import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-VOV2N3NY.mjs';
5
+ import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-6KOM27PS.mjs';
6
6
  import React32, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -1337,7 +1337,7 @@ function AccountPage() {
1337
1337
  return void 0;
1338
1338
  });
1339
1339
  };
1340
- const version = "2.5.0" ;
1340
+ const version = "2.5.2" ;
1341
1341
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1342
1342
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1343
1343
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8341,7 +8341,7 @@ function FailedToLoad() {
8341
8341
  var LazyModel3DScene = React32.lazy(
8342
8342
  async () => {
8343
8343
  try {
8344
- return await import('./Model3DScene-X6QJTWHV.mjs');
8344
+ return await import('./Model3DScene-P4OKVQBF.mjs');
8345
8345
  } catch {
8346
8346
  return { default: FailedToLoad };
8347
8347
  }
@@ -31545,7 +31545,7 @@ ${url}`)) {
31545
31545
  )
31546
31546
  );
31547
31547
  }
31548
- var AiChatPanel = lazy(() => import('./AiChatPanel-EMF3UYCE.mjs'));
31548
+ var AiChatPanel = lazy(() => import('./AiChatPanel-OFOOWR4U.mjs'));
31549
31549
  function AiChatPanelLazy(props) {
31550
31550
  return /* @__PURE__ */ jsx(
31551
31551
  Suspense,
Binary file
Binary file