pptx-react-viewer 2.7.1 → 2.9.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 (126) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{AiChatPanel-YAYQ5KUT.mjs → AiChatPanel-6W6ZBAGU.mjs} +4 -4
  3. package/dist/AiChatPanel-6W6ZBAGU.mjs.br +0 -0
  4. package/dist/AiChatPanel-6W6ZBAGU.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-SRKOMEW6.js → AiChatPanel-MALC32TM.js} +23 -23
  6. package/dist/AiChatPanel-MALC32TM.js.br +0 -0
  7. package/dist/AiChatPanel-MALC32TM.js.gz +0 -0
  8. package/dist/{Model3DScene-HYMOPMAM.mjs → Model3DScene-57HZ4NVD.mjs} +1 -1
  9. package/dist/Model3DScene-57HZ4NVD.mjs.br +0 -0
  10. package/dist/Model3DScene-57HZ4NVD.mjs.gz +0 -0
  11. package/dist/{Model3DScene-ONKC5Z6A.js → Model3DScene-76R2YXSO.js} +2 -2
  12. package/dist/Model3DScene-76R2YXSO.js.br +0 -0
  13. package/dist/Model3DScene-76R2YXSO.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-YJFWGG5L.js → SurfaceChart3DScene-2QZZTBV4.js} +2 -2
  15. package/dist/SurfaceChart3DScene-2QZZTBV4.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-2QZZTBV4.js.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-B3FK4Q2U.mjs → SurfaceChart3DScene-JGOQNHSU.mjs} +1 -1
  18. package/dist/SurfaceChart3DScene-JGOQNHSU.mjs.br +0 -0
  19. package/dist/SurfaceChart3DScene-JGOQNHSU.mjs.gz +0 -0
  20. package/dist/{chunk-25VSL2BB.js → chunk-2JDWFMIK.js} +259 -17
  21. package/dist/chunk-2JDWFMIK.js.br +0 -0
  22. package/dist/chunk-2JDWFMIK.js.gz +0 -0
  23. package/dist/{chunk-GRW7HM6X.js → chunk-34BUZNKO.js} +370 -364
  24. package/dist/chunk-34BUZNKO.js.br +0 -0
  25. package/dist/chunk-34BUZNKO.js.gz +0 -0
  26. package/dist/{chunk-IDK6XECR.mjs → chunk-4FO4JMTN.mjs} +103 -172
  27. package/dist/chunk-4FO4JMTN.mjs.br +0 -0
  28. package/dist/chunk-4FO4JMTN.mjs.gz +0 -0
  29. package/dist/{chunk-N7EZIKF4.mjs → chunk-6OLS3EJW.mjs} +1 -1
  30. package/dist/chunk-6OLS3EJW.mjs.br +0 -0
  31. package/dist/chunk-6OLS3EJW.mjs.gz +0 -0
  32. package/dist/{chunk-BVK7K74O.js → chunk-6UXRNLHD.js} +5462 -3150
  33. package/dist/chunk-6UXRNLHD.js.br +0 -0
  34. package/dist/chunk-6UXRNLHD.js.gz +0 -0
  35. package/dist/{chunk-Z6HIZWIQ.mjs → chunk-CD434OFE.mjs} +259 -17
  36. package/dist/chunk-CD434OFE.mjs.br +0 -0
  37. package/dist/chunk-CD434OFE.mjs.gz +0 -0
  38. package/dist/{chunk-JEIMWRKF.js → chunk-D6SHCB4V.js} +414 -483
  39. package/dist/chunk-D6SHCB4V.js.br +0 -0
  40. package/dist/chunk-D6SHCB4V.js.gz +0 -0
  41. package/dist/{chunk-LYS44KMG.js → chunk-IKISUZKE.js} +2605 -816
  42. package/dist/chunk-IKISUZKE.js.br +0 -0
  43. package/dist/chunk-IKISUZKE.js.gz +0 -0
  44. package/dist/{chunk-HQGLKAIY.mjs → chunk-JPTO6P5K.mjs} +135 -130
  45. package/dist/chunk-JPTO6P5K.mjs.br +0 -0
  46. package/dist/chunk-JPTO6P5K.mjs.gz +0 -0
  47. package/dist/{chunk-HEAJOHLJ.mjs → chunk-L47Y62L6.mjs} +2539 -809
  48. package/dist/chunk-L47Y62L6.mjs.br +0 -0
  49. package/dist/chunk-L47Y62L6.mjs.gz +0 -0
  50. package/dist/{chunk-2UCJYJUS.mjs → chunk-NQLVK23T.mjs} +4120 -1808
  51. package/dist/chunk-NQLVK23T.mjs.br +0 -0
  52. package/dist/chunk-NQLVK23T.mjs.gz +0 -0
  53. package/dist/{chunk-JVE7BZ25.js → chunk-YEM2VOAP.js} +3 -3
  54. package/dist/chunk-YEM2VOAP.js.br +0 -0
  55. package/dist/chunk-YEM2VOAP.js.gz +0 -0
  56. package/dist/i18n.js +4 -4
  57. package/dist/i18n.js.br +0 -0
  58. package/dist/i18n.js.gz +0 -0
  59. package/dist/i18n.mjs +1 -1
  60. package/dist/i18n.mjs.br +0 -0
  61. package/dist/i18n.mjs.gz +0 -0
  62. package/dist/index.d.ts +34 -0
  63. package/dist/index.js +36 -36
  64. package/dist/index.js.br +0 -0
  65. package/dist/index.js.gz +0 -0
  66. package/dist/index.mjs +6 -6
  67. package/dist/index.mjs.br +0 -0
  68. package/dist/index.mjs.gz +0 -0
  69. package/dist/internals.d.ts +44 -1
  70. package/dist/internals.d.ts.map +1 -1
  71. package/dist/internals.js +79 -79
  72. package/dist/internals.js.br +0 -0
  73. package/dist/internals.js.gz +0 -0
  74. package/dist/internals.mjs +4 -4
  75. package/dist/internals.mjs.br +0 -0
  76. package/dist/internals.mjs.gz +0 -0
  77. package/dist/pptx-viewer.css +1 -1
  78. package/dist/pptx-viewer.css.br +0 -0
  79. package/dist/pptx-viewer.css.gz +0 -0
  80. package/dist/{useViewerBuildingBlocks-DMDZRawe.d.ts → useViewerBuildingBlocks-C59NY1qZ.d.ts} +15 -2
  81. package/dist/useViewerBuildingBlocks-C59NY1qZ.d.ts.map +1 -0
  82. package/dist/viewer/index.d.ts +21 -0
  83. package/dist/viewer/index.js +22 -22
  84. package/dist/viewer/index.js.br +0 -0
  85. package/dist/viewer/index.js.gz +0 -0
  86. package/dist/viewer/index.mjs +6 -6
  87. package/dist/viewer/index.mjs.br +0 -0
  88. package/dist/viewer/index.mjs.gz +0 -0
  89. package/package.json +1 -1
  90. package/dist/AiChatPanel-SRKOMEW6.js.br +0 -0
  91. package/dist/AiChatPanel-SRKOMEW6.js.gz +0 -0
  92. package/dist/AiChatPanel-YAYQ5KUT.mjs.br +0 -0
  93. package/dist/AiChatPanel-YAYQ5KUT.mjs.gz +0 -0
  94. package/dist/Model3DScene-HYMOPMAM.mjs.br +0 -0
  95. package/dist/Model3DScene-HYMOPMAM.mjs.gz +0 -0
  96. package/dist/Model3DScene-ONKC5Z6A.js.br +0 -0
  97. package/dist/Model3DScene-ONKC5Z6A.js.gz +0 -0
  98. package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.br +0 -0
  99. package/dist/SurfaceChart3DScene-B3FK4Q2U.mjs.gz +0 -0
  100. package/dist/SurfaceChart3DScene-YJFWGG5L.js.br +0 -0
  101. package/dist/SurfaceChart3DScene-YJFWGG5L.js.gz +0 -0
  102. package/dist/chunk-25VSL2BB.js.br +0 -0
  103. package/dist/chunk-25VSL2BB.js.gz +0 -0
  104. package/dist/chunk-2UCJYJUS.mjs.br +0 -0
  105. package/dist/chunk-2UCJYJUS.mjs.gz +0 -0
  106. package/dist/chunk-BVK7K74O.js.br +0 -0
  107. package/dist/chunk-BVK7K74O.js.gz +0 -0
  108. package/dist/chunk-GRW7HM6X.js.br +0 -0
  109. package/dist/chunk-GRW7HM6X.js.gz +0 -0
  110. package/dist/chunk-HEAJOHLJ.mjs.br +0 -0
  111. package/dist/chunk-HEAJOHLJ.mjs.gz +0 -0
  112. package/dist/chunk-HQGLKAIY.mjs.br +0 -0
  113. package/dist/chunk-HQGLKAIY.mjs.gz +0 -0
  114. package/dist/chunk-IDK6XECR.mjs.br +0 -0
  115. package/dist/chunk-IDK6XECR.mjs.gz +0 -0
  116. package/dist/chunk-JEIMWRKF.js.br +0 -0
  117. package/dist/chunk-JEIMWRKF.js.gz +0 -0
  118. package/dist/chunk-JVE7BZ25.js.br +0 -0
  119. package/dist/chunk-JVE7BZ25.js.gz +0 -0
  120. package/dist/chunk-LYS44KMG.js.br +0 -0
  121. package/dist/chunk-LYS44KMG.js.gz +0 -0
  122. package/dist/chunk-N7EZIKF4.mjs.br +0 -0
  123. package/dist/chunk-N7EZIKF4.mjs.gz +0 -0
  124. package/dist/chunk-Z6HIZWIQ.mjs.br +0 -0
  125. package/dist/chunk-Z6HIZWIQ.mjs.gz +0 -0
  126. package/dist/useViewerBuildingBlocks-DMDZRawe.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [2.8.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.8.0) - 2026-07-31
8
+
9
+ ## [2.7.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.7.1) - 2026-07-31
10
+
7
11
  ## [2.7.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.7.0) - 2026-07-31
8
12
 
9
13
  ## [2.6.7](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.6.7) - 2026-07-30
@@ -1,7 +1,7 @@
1
- import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-N7EZIKF4.mjs';
2
- import { cn } from './chunk-HQGLKAIY.mjs';
3
- import './chunk-Z6HIZWIQ.mjs';
4
- import './chunk-HEAJOHLJ.mjs';
1
+ import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-6OLS3EJW.mjs';
2
+ import { cn } from './chunk-JPTO6P5K.mjs';
3
+ import './chunk-CD434OFE.mjs';
4
+ import './chunk-L47Y62L6.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
7
7
  import { useTranslation } from 'react-i18next';
Binary file
Binary file
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkJVE7BZ25_js = require('./chunk-JVE7BZ25.js');
4
- var chunkGRW7HM6X_js = require('./chunk-GRW7HM6X.js');
5
- require('./chunk-25VSL2BB.js');
6
- require('./chunk-LYS44KMG.js');
3
+ var chunkYEM2VOAP_js = require('./chunk-YEM2VOAP.js');
4
+ var chunk34BUZNKO_js = require('./chunk-34BUZNKO.js');
5
+ require('./chunk-2JDWFMIK.js');
6
+ require('./chunk-IKISUZKE.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 chunkJVE7BZ25_js.isAiAvailable();
33
+ const available = await chunkYEM2VOAP_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 chunkJVE7BZ25_js.createAiChatSession(bridge, configRef.current);
41
+ const built = await chunkYEM2VOAP_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 chunkJVE7BZ25_js.buildDeckContext(bridge, { strategy, focus: {} });
147
+ context = await chunkYEM2VOAP_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?.(chunkJVE7BZ25_js.toolCanvasTarget(call.toolName, call.input));
210
+ onToolTargetRef.current?.(chunkYEM2VOAP_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 ?? chunkJVE7BZ25_js.createChatHistoryStore(), [input.store]);
286
+ const store = react.useMemo(() => input.store ?? chunkYEM2VOAP_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: chunkGRW7HM6X_js.cn(
429
+ className: chunk34BUZNKO_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 = chunkJVE7BZ25_js.focusTargetChips(targets, slides);
456
- const twoTables = chunkJVE7BZ25_js.isTwoTableFocus(targets, slides);
455
+ const chips = chunkYEM2VOAP_js.focusTargetChips(targets, slides);
456
+ const twoTables = chunkYEM2VOAP_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: chunkGRW7HM6X_js.cn(
463
+ className: chunk34BUZNKO_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: chunkGRW7HM6X_js.cn(
496
+ className: chunk34BUZNKO_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: chunkGRW7HM6X_js.cn(
575
+ className: chunk34BUZNKO_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 = chunkJVE7BZ25_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
730
+ const activity = chunkYEM2VOAP_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
731
731
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
732
- const rawSummary = chunkJVE7BZ25_js.summarizeToolArgs(part.input);
732
+ const rawSummary = chunkYEM2VOAP_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: chunkGRW7HM6X_js.cn(
739
+ className: chunk34BUZNKO_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: chunkGRW7HM6X_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
745
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk34BUZNKO_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
746
746
  /* @__PURE__ */ jsxRuntime.jsxs(
747
747
  "span",
748
748
  {
749
- className: chunkGRW7HM6X_js.cn(
749
+ className: chunk34BUZNKO_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
- chunkJVE7BZ25_js.toolLabel(part.toolName),
766
+ chunkYEM2VOAP_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: chunkGRW7HM6X_js.cn(
797
+ className: chunk34BUZNKO_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(chunkJVE7BZ25_js.humanizeDiffLine);
844
+ const lines = proposal.summary.map(chunkYEM2VOAP_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,4 +1,4 @@
1
- import { mountModel3D } from './chunk-HEAJOHLJ.mjs';
1
+ import { mountModel3D } from './chunk-L47Y62L6.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 chunkLYS44KMG_js = require('./chunk-LYS44KMG.js');
3
+ var chunkIKISUZKE_js = require('./chunk-IKISUZKE.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 chunkLYS44KMG_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunkIKISUZKE_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 chunkLYS44KMG_js = require('./chunk-LYS44KMG.js');
3
+ var chunkIKISUZKE_js = require('./chunk-IKISUZKE.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 chunkLYS44KMG_js.mountSurfaceChart3D(container, {
28
+ void chunkIKISUZKE_js.mountSurfaceChart3D(container, {
29
29
  cols,
30
30
  rows,
31
31
  heightMap,
@@ -1,4 +1,4 @@
1
- import { mountSurfaceChart3D } from './chunk-HEAJOHLJ.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-L47Y62L6.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -409,17 +409,12 @@ var translationsEn = {
409
409
  "pptx.encryptedFile.title": "Encrypted File",
410
410
  "pptx.encryptedFile.message": "This file is encrypted.",
411
411
  "pptx.encryptedFile.instructions": "Enter the password to open it.",
412
- // Common (shared verb/label vocabulary reused across dialogs and panels)
413
- "common.close": "Close",
414
- "common.cancel": "Cancel",
415
- "common.apply": "Apply",
416
- "common.delete": "Delete",
417
- "common.done": "Done",
418
- "common.loading": "Loading\u2026",
419
- "common.ok": "OK",
420
- "common.remove": "Remove",
421
- "common.reset": "Reset",
422
- "common.save": "Save",
412
+ // Common (shared verb/label vocabulary reused across dialogs and panels).
413
+ // The rest of this vocabulary lives with the other `pptx.common.*` entries
414
+ // further down; these three had no `pptx.`-prefixed twin.
415
+ "pptx.common.apply": "Apply",
416
+ "pptx.common.loading": "Loading\u2026",
417
+ "pptx.common.remove": "Remove",
423
418
  // Accessibility (additions)
424
419
  "pptx.accessibility.heading": "Accessibility",
425
420
  "pptx.accessibility.noIssuesFound": "No issues found",
@@ -653,6 +648,11 @@ var translationsEn = {
653
648
  "pptx.slideShow.broadcast": "Broadcast",
654
649
  "pptx.slideShow.subtitlesTooltip": "Toggle subtitles",
655
650
  "pptx.slideShow.subtitles": "Subtitles",
651
+ // Record tab (camera overlay placeholders)
652
+ "pptx.record.cameo": "Cameo",
653
+ "pptx.record.clear": "Clear",
654
+ "pptx.record.learnMore": "Learn More",
655
+ "pptx.record.resetToCameo": "Reset to Cameo",
656
656
  // Slide context menu
657
657
  "pptx.slideMenu.duplicate": "Duplicate slide",
658
658
  "pptx.slideMenu.show": "Show slide",
@@ -678,10 +678,10 @@ var translationsEn = {
678
678
  "pptx.zoom.ariaLabelSection": "Zoom to slide {{number}} (section: {{section}})",
679
679
  // Canvas
680
680
  "pptx.canvas.slide": "Slide",
681
- // Theme gallery (matches React's non-"pptx."-prefixed powerpoint.* namespace)
682
- "powerpoint.toolbar.themes.gallery.title": "Themes",
683
- "powerpoint.toolbar.themes.gallery.description": "Pick a built-in theme to recolour every slide in the deck.",
684
- "powerpoint.toolbar.themes.gallery.ariaLabel": "Theme gallery",
681
+ // Theme gallery
682
+ "pptx.themes.gallery.title": "Themes",
683
+ "pptx.themes.gallery.description": "Pick a built-in theme to recolour every slide in the deck.",
684
+ "pptx.themes.gallery.ariaLabel": "Theme gallery",
685
685
  // SmartArt (mixed casing preserved from source sweep - see follow-up note)
686
686
  "pptx.smartArt.setFill": "Set fill to {{color}}",
687
687
  "pptx.smartArt.placeholder": "SmartArt",
@@ -908,7 +908,7 @@ var translationsEn = {
908
908
  "pptx.presentationSettings.frameSlides": "Frame slides",
909
909
  "pptx.presentationSettings.slidesPerPage": "Slides / page",
910
910
  // Theme gallery (additions)
911
- "powerpoint.toolbar.themes.gallery.importTheme": "Import Theme",
911
+ "pptx.themes.gallery.importTheme": "Import Theme",
912
912
  // Action buttons
913
913
  "pptx.action.onClick": "On Click",
914
914
  "pptx.action.onHover": "On Hover",
@@ -2792,7 +2792,249 @@ var translationsEn = {
2792
2792
  "pptx.options.trust.protectedViewInfo": "Documents open read-only; use Enable Editing to make changes.",
2793
2793
  "pptx.options.trust.allowExternalContent": "Allow external content (remote images and media)",
2794
2794
  "pptx.options.trust.allowExternalContentInfo": "When off, only content embedded in the file is displayed.",
2795
- "pptx.options.trust.confirmHyperlinks": "Confirm before opening external hyperlinks"
2795
+ "pptx.options.trust.confirmHyperlinks": "Confirm before opening external hyperlinks",
2796
+ // Animations tab: Advanced Animation and Timing groups
2797
+ "pptx.animations.advanced": "Advanced Animation",
2798
+ "pptx.animations.afterPrevious": "After Previous",
2799
+ "pptx.animations.duration": "Duration",
2800
+ "pptx.animations.effectOptions": "Effect Options",
2801
+ "pptx.animations.exitEffects": "Exit Effects",
2802
+ "pptx.animations.onClick": "On Click",
2803
+ "pptx.animations.painter": "Animation Painter",
2804
+ "pptx.animations.pathAnimation": "Path Animation",
2805
+ "pptx.animations.start": "Start",
2806
+ "pptx.animations.withPrevious": "With Previous",
2807
+ // Review tab
2808
+ "pptx.review.accessibility": "Accessibility",
2809
+ "pptx.review.changes": "Changes",
2810
+ "pptx.review.hideInk": "Hide Ink",
2811
+ "pptx.review.markAllRead": "Mark All as Read",
2812
+ "pptx.review.proofing": "Proofing",
2813
+ "pptx.review.protect": "Protect",
2814
+ "pptx.review.readOnly": "Always Open Read-Only",
2815
+ "pptx.review.restrictPermission": "Restrict Permission",
2816
+ "pptx.review.showComments": "Show Comments",
2817
+ "pptx.review.thesaurus": "Thesaurus",
2818
+ // Slide Show tab
2819
+ "pptx.slideShow.hideSlide": "Hide Slide",
2820
+ "pptx.slideShow.keepUpdated": "Keep Slides Updated",
2821
+ "pptx.slideShow.mediaControls": "Show Media Controls",
2822
+ "pptx.slideShow.options": "Options",
2823
+ "pptx.slideShow.playNarrations": "Play Narrations",
2824
+ "pptx.slideShow.present": "Present",
2825
+ "pptx.slideShow.rehearseCoach": "Rehearse with Coach",
2826
+ "pptx.slideShow.setUpGroup": "Set Up",
2827
+ "pptx.slideShow.start": "Start Slide Show",
2828
+ "pptx.slideShow.subtitleSettings": "Subtitle Settings",
2829
+ // Transition direction tokens (arrow picker button titles)
2830
+ "pptx.transition.dir.l": "Left",
2831
+ "pptx.transition.dir.r": "Right",
2832
+ "pptx.transition.dir.u": "Up",
2833
+ "pptx.transition.dir.d": "Down",
2834
+ "pptx.transition.dir.lu": "Left Up",
2835
+ "pptx.transition.dir.ld": "Left Down",
2836
+ "pptx.transition.dir.ru": "Right Up",
2837
+ "pptx.transition.dir.rd": "Right Down",
2838
+ "pptx.transition.dir.in": "In",
2839
+ "pptx.transition.dir.out": "Out",
2840
+ "pptx.transition.dir.horz": "Horizontal",
2841
+ "pptx.transition.dir.vert": "Vertical",
2842
+ // View tab
2843
+ "pptx.view.guides": "Guides",
2844
+ "pptx.view.macros": "Macros",
2845
+ "pptx.view.show": "Show",
2846
+ "pptx.view.slideSorter": "Slide Sorter",
2847
+ "pptx.view.snapToGrid": "Snap to Grid",
2848
+ "pptx.view.snapToShape": "Snap to Shape",
2849
+ "pptx.view.window": "Window",
2850
+ // Shared vocabulary
2851
+ "pptx.common.back": "Back",
2852
+ "pptx.common.clear": "Clear",
2853
+ "pptx.common.delete": "Delete",
2854
+ "pptx.common.done": "Done",
2855
+ "pptx.common.next": "Next",
2856
+ "pptx.common.previous": "Previous",
2857
+ "pptx.common.reset": "Reset",
2858
+ // Ribbon group captions
2859
+ "pptx.ribbon.editing": "Editing",
2860
+ "pptx.ribbon.selectionPane": "Selection Pane",
2861
+ "pptx.ribbon.slides": "Slides",
2862
+ // Chart inspector: axis, series, data point, trendline and error bar fields
2863
+ "pptx.chart.axis": "Axis",
2864
+ "pptx.chart.axisColor": "Axis Color",
2865
+ "pptx.chart.axisFontColor": "Axis Font Color",
2866
+ "pptx.chart.axisFontSize": "Axis Font Size",
2867
+ "pptx.chart.axisMaximum": "Maximum Bound",
2868
+ "pptx.chart.axisMinimum": "Minimum Bound",
2869
+ "pptx.chart.customMinus": "Negative Error Value",
2870
+ "pptx.chart.customPlus": "Positive Error Value",
2871
+ "pptx.chart.dataLabelPosition": "Data Label Position",
2872
+ "pptx.chart.dataPointColor": "Data Point Color",
2873
+ "pptx.chart.dataPointIndex": "Data Point Index",
2874
+ "pptx.chart.dataPointMarker": "Data Point Marker",
2875
+ "pptx.chart.errorBarColor": "Error Bar Color",
2876
+ "pptx.chart.errorBarDirection": "Error Bar Direction",
2877
+ "pptx.chart.errorBarType": "Error Bar Type",
2878
+ "pptx.chart.forecastBackward": "Forecast Backward",
2879
+ "pptx.chart.forecastForward": "Forecast Forward",
2880
+ "pptx.chart.invertIfNegative": "Invert if Negative",
2881
+ "pptx.chart.marker": "Marker Type",
2882
+ "pptx.chart.markerOutline": "Marker Outline",
2883
+ "pptx.chart.noEndCap": "No End Cap",
2884
+ "pptx.chart.reverseOrder": "Values in Reverse Order",
2885
+ "pptx.chart.secondaryAxis": "Secondary Axis",
2886
+ "pptx.chart.seriesType": "Series Chart Type",
2887
+ "pptx.chart.showCategory": "Show Category Name",
2888
+ "pptx.chart.showLeaderLines": "Show Leader Lines",
2889
+ "pptx.chart.showPercentage": "Show Percentage",
2890
+ "pptx.chart.showSeriesName": "Show Series Name",
2891
+ "pptx.chart.showValue": "Show Value",
2892
+ "pptx.chart.tickLabelPosition": "Tick Label Position",
2893
+ "pptx.chart.trendlineColor": "Trendline Color",
2894
+ "pptx.chart.trendlineIntercept": "Trendline Intercept",
2895
+ "pptx.chart.trendlineOrder": "Trendline Order",
2896
+ "pptx.chart.trendlinePeriod": "Trendline Period",
2897
+ // Table inspector: structure and cell formatting
2898
+ "pptx.table.alignment": "Alignment",
2899
+ "pptx.table.borderColor": "Border Color",
2900
+ "pptx.table.borderWidth": "Border Width",
2901
+ "pptx.table.gradientEnd": "Gradient End",
2902
+ "pptx.table.gradientStart": "Gradient Start",
2903
+ "pptx.table.styleId": "Style ID",
2904
+ "pptx.table.totalRow": "Total Row",
2905
+ "pptx.table.verticalAlignment": "Vertical Alignment",
2906
+ // Character formatting toggles shared by the table and text inspectors
2907
+ "pptx.format.bold": "Bold",
2908
+ "pptx.format.italic": "Italic",
2909
+ "pptx.format.underline": "Underline",
2910
+ // Advanced text inspector
2911
+ "pptx.textAdvanced.characterSpacing": "Character Spacing",
2912
+ "pptx.textAdvanced.direction": "Text Direction",
2913
+ "pptx.textAdvanced.direction.horizontal": "Horizontal",
2914
+ "pptx.textAdvanced.direction.vertical": "Rotate all text 90\xB0",
2915
+ "pptx.textAdvanced.direction.vertical270": "Rotate all text 270\xB0",
2916
+ "pptx.textAdvanced.direction.eaVert": "East Asian vertical",
2917
+ "pptx.textAdvanced.direction.wordArtVert": "Stacked",
2918
+ "pptx.textAdvanced.direction.wordArtVertRtl": "Stacked, right to left",
2919
+ "pptx.textAdvanced.direction.mongolianVert": "Mongolian vertical",
2920
+ "pptx.textAdvanced.lineSpacing": "Line Spacing",
2921
+ "pptx.textAdvanced.lineSpacingExact": "Line Spacing (Exact)",
2922
+ "pptx.textAdvanced.marginLeft": "Left Margin",
2923
+ // Text and shape effects
2924
+ "pptx.textEffects.adjustment": "Adjustment",
2925
+ "pptx.textEffects.glowColor": "Glow Color",
2926
+ "pptx.textEffects.outline": "Text Outline",
2927
+ "pptx.textEffects.outlineWidth": "Outline Width",
2928
+ "pptx.textEffects.shadowColor": "Shadow Color",
2929
+ "pptx.textEffects.transform": "Transform",
2930
+ "pptx.textFormatting.columns": "Columns",
2931
+ "pptx.textFormatting.columnSpacing": "Column Spacing",
2932
+ "pptx.textFormatting.strikethrough": "Strikethrough",
2933
+ "pptx.shape.shadowDistance": "Shadow Distance",
2934
+ "pptx.shape.softEdges": "Soft Edges",
2935
+ // Picture and media inspectors
2936
+ "pptx.image.duotoneDark": "Duotone Dark",
2937
+ "pptx.image.duotoneLight": "Duotone Light",
2938
+ "pptx.media.autoPlay": "Play Automatically",
2939
+ "pptx.media.captions": "Captions",
2940
+ "pptx.media.playbackSpeed": "Playback Speed",
2941
+ "pptx.media.trimEnd": "Trim End",
2942
+ "pptx.media.trimStart": "Trim Start",
2943
+ "pptx.smartArt.fillColor": "Fill Color",
2944
+ // Theme editor swatches
2945
+ "pptx.theme.primary": "Primary",
2946
+ "pptx.theme.background": "Background",
2947
+ "pptx.theme.foreground": "Foreground",
2948
+ "pptx.theme.border": "Border",
2949
+ // Print dialog and document properties
2950
+ "pptx.print.range": "Slide Range",
2951
+ "pptx.print.pureBlackWhite": "Pure Black and White",
2952
+ "pptx.documentProperties.summary.title": "Title",
2953
+ "pptx.documentProperties.summary.subject": "Subject",
2954
+ "pptx.documentProperties.summary.author": "Author",
2955
+ "pptx.documentProperties.summary.keywords": "Keywords",
2956
+ "pptx.animations.galleryAria": "Add Animation: Entrance, Emphasis, and Exit effects",
2957
+ // File-tab backstage. Wording follows PowerPoint's own File tab. Every
2958
+ // string here used to be hardcoded in all five bindings, which made the
2959
+ // backstage the last wholly untranslatable surface in the viewer.
2960
+ "pptx.backstage.nav.home": "Home",
2961
+ "pptx.backstage.nav.new": "New",
2962
+ "pptx.backstage.nav.open": "Open",
2963
+ "pptx.backstage.nav.info": "Info",
2964
+ "pptx.backstage.nav.save": "Save",
2965
+ "pptx.backstage.nav.saveAs": "Save As",
2966
+ "pptx.backstage.nav.print": "Print",
2967
+ "pptx.backstage.nav.share": "Share",
2968
+ "pptx.backstage.nav.export": "Export",
2969
+ "pptx.backstage.nav.close": "Close",
2970
+ "pptx.backstage.nav.account": "Account",
2971
+ "pptx.backstage.nav.options": "Options",
2972
+ "pptx.backstage.title": "File",
2973
+ "pptx.backstage.back": "Back to presentation",
2974
+ "pptx.backstage.greeting": "Good evening",
2975
+ "pptx.backstage.newHeading": "New",
2976
+ "pptx.backstage.searchPlaceholder": "Search recent presentations",
2977
+ "pptx.backstage.browseDevice": "Browse this device",
2978
+ "pptx.backstage.recentHeading": "Recent",
2979
+ "pptx.backstage.columnName": "Name",
2980
+ "pptx.backstage.columnModified": "Date modified",
2981
+ "pptx.backstage.columnSize": "Size",
2982
+ "pptx.backstage.noRecent": "No recent presentations yet.",
2983
+ "pptx.backstage.untitled": "Untitled Presentation.pptx",
2984
+ "pptx.backstage.savedToBrowser": "Saved to this browser",
2985
+ "pptx.backstage.browserStorage": "Browser storage",
2986
+ "pptx.backstage.justNow": "Just now",
2987
+ "pptx.backstage.minutesAgo": "{{count}} min ago",
2988
+ "pptx.backstage.hoursAgo": "{{count}} hr ago",
2989
+ "pptx.backstage.optionsTitle": "PowerPoint Options",
2990
+ "pptx.backstage.optionsBody": "Configure autosave, proofing, grid, rulers, language, theme, and keyboard shortcuts.",
2991
+ "pptx.backstage.openOptions": "Open Options",
2992
+ "pptx.backstage.template.blank.name": "Blank Presentation",
2993
+ "pptx.backstage.template.blank.description": "Start with a clean canvas",
2994
+ "pptx.backstage.template.warm.name": "Warm Welcome",
2995
+ "pptx.backstage.template.warm.description": "Bold editorial title slides",
2996
+ "pptx.backstage.template.geometry.name": "Geometric",
2997
+ "pptx.backstage.template.geometry.description": "Modern shapes and strong contrast",
2998
+ "pptx.backstage.template.mono.name": "Urban Monochrome",
2999
+ "pptx.backstage.template.mono.description": "Architectural black and white",
3000
+ "pptx.backstage.template.earth.name": "Earthy Inspiration",
3001
+ "pptx.backstage.template.earth.description": "Natural, calm presentation system",
3002
+ "pptx.backstage.template.future.name": "Future Forward",
3003
+ "pptx.backstage.template.future.description": "Clean technology storytelling",
3004
+ "pptx.backstage.card.protect.title": "Protect Presentation",
3005
+ "pptx.backstage.card.protect.body": "Control what changes people can make to this presentation.",
3006
+ "pptx.backstage.card.inspect.title": "Inspect Presentation",
3007
+ "pptx.backstage.card.inspect.body": "Review document properties, accessibility, and hidden content.",
3008
+ "pptx.backstage.card.embedFonts.title": "Embed Fonts",
3009
+ "pptx.backstage.card.embedFonts.body": "Keep typography consistent when the file moves between devices.",
3010
+ "pptx.backstage.card.signatures.title": "Digital Signatures",
3011
+ "pptx.backstage.card.signatures.body": "View and manage signatures attached to this presentation.",
3012
+ "pptx.backstage.card.versionHistory.title": "Version History",
3013
+ "pptx.backstage.card.versionHistory.body": "Restore or remove the latest recovery snapshot.",
3014
+ "pptx.backstage.card.saveAsPptx.title": "PowerPoint Presentation",
3015
+ "pptx.backstage.card.saveAsPptx.body": "Save an editable .pptx copy.",
3016
+ "pptx.backstage.card.saveAsPpsx.title": "PowerPoint Show",
3017
+ "pptx.backstage.card.saveAsPpsx.body": "Save a .ppsx file that opens directly in slide show.",
3018
+ "pptx.backstage.card.saveAsPptm.title": "Macro-Enabled Presentation",
3019
+ "pptx.backstage.card.saveAsPptm.body": "Preserve VBA content in a .pptm file.",
3020
+ "pptx.backstage.card.package.title": "Package for Sharing",
3021
+ "pptx.backstage.card.package.body": "Bundle the presentation and linked assets.",
3022
+ "pptx.backstage.card.pdf.title": "Create PDF",
3023
+ "pptx.backstage.card.pdf.body": "Publish a portable document with one page per slide.",
3024
+ "pptx.backstage.card.png.title": "Export current slide",
3025
+ "pptx.backstage.card.png.body": "Create a high-quality PNG image.",
3026
+ "pptx.backstage.card.video.title": "Create a Video",
3027
+ "pptx.backstage.card.video.body": "Export slide timings and animations as WebM.",
3028
+ "pptx.backstage.card.gif.title": "Create an Animated GIF",
3029
+ "pptx.backstage.card.gif.body": "Make a compact looping preview.",
3030
+ "pptx.backstage.card.copyImage.title": "Copy as Image",
3031
+ "pptx.backstage.card.copyImage.body": "Copy the current slide to the clipboard.",
3032
+ "pptx.backstage.card.print.title": "Print Presentation",
3033
+ "pptx.backstage.card.print.body": "Choose a printer, layout, copies, and output settings in your browser print dialog.",
3034
+ "pptx.backstage.card.share.title": "Share with People",
3035
+ "pptx.backstage.card.share.body": "Invite collaborators and work on the presentation together.",
3036
+ "pptx.backstage.card.sharePackage.title": "Package for Sharing",
3037
+ "pptx.backstage.card.sharePackage.body": "Download a self-contained package for offline sharing."
2796
3038
  };
2797
3039
  function keyToLabel(key) {
2798
3040
  const last = key.split(".").pop() ?? key;
Binary file
Binary file