pptx-react-viewer 2.16.4 → 2.16.5

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-7DDN4QUA.mjs → AiChatPanel-6B26AZGA.mjs} +3 -3
  3. package/dist/AiChatPanel-6B26AZGA.mjs.br +0 -0
  4. package/dist/AiChatPanel-6B26AZGA.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-KEORKCTT.js → AiChatPanel-FGEIZQCD.js} +22 -22
  6. package/dist/AiChatPanel-FGEIZQCD.js.br +0 -0
  7. package/dist/AiChatPanel-FGEIZQCD.js.gz +0 -0
  8. package/dist/{Model3DScene-SBUYEWHL.js → Model3DScene-2JX5CUPK.js} +2 -2
  9. package/dist/Model3DScene-2JX5CUPK.js.br +0 -0
  10. package/dist/Model3DScene-2JX5CUPK.js.gz +0 -0
  11. package/dist/{Model3DScene-DEAQMMUS.mjs → Model3DScene-NKYNKUPP.mjs} +1 -1
  12. package/dist/Model3DScene-NKYNKUPP.mjs.br +0 -0
  13. package/dist/Model3DScene-NKYNKUPP.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-I5D54YQ3.js → SurfaceChart3DScene-AE5SKG7U.js} +2 -2
  15. package/dist/SurfaceChart3DScene-AE5SKG7U.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-AE5SKG7U.js.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-TXGS2PBK.mjs → SurfaceChart3DScene-TTL2FTEG.mjs} +1 -1
  18. package/dist/{SurfaceChart3DScene-TXGS2PBK.mjs.br → SurfaceChart3DScene-TTL2FTEG.mjs.br} +0 -0
  19. package/dist/SurfaceChart3DScene-TTL2FTEG.mjs.gz +0 -0
  20. package/dist/{chunk-23WSCMWN.mjs → chunk-247XH4EN.mjs} +239 -103
  21. package/dist/chunk-247XH4EN.mjs.br +0 -0
  22. package/dist/chunk-247XH4EN.mjs.gz +0 -0
  23. package/dist/{chunk-PLBS7OL2.mjs → chunk-5YGTUHNO.mjs} +2 -2
  24. package/dist/chunk-5YGTUHNO.mjs.br +0 -0
  25. package/dist/chunk-5YGTUHNO.mjs.gz +0 -0
  26. package/dist/{chunk-MZ47MV52.js → chunk-6QGTRYSC.js} +239 -103
  27. package/dist/chunk-6QGTRYSC.js.br +0 -0
  28. package/dist/chunk-6QGTRYSC.js.gz +0 -0
  29. package/dist/{chunk-GSAOP4Z4.mjs → chunk-EFZ4K6V5.mjs} +7 -7
  30. package/dist/chunk-EFZ4K6V5.mjs.br +0 -0
  31. package/dist/chunk-EFZ4K6V5.mjs.gz +0 -0
  32. package/dist/{chunk-FQ3FTNKV.js → chunk-LCWZ4TD4.js} +1054 -1054
  33. package/dist/chunk-LCWZ4TD4.js.br +0 -0
  34. package/dist/chunk-LCWZ4TD4.js.gz +0 -0
  35. package/dist/{chunk-J4QZVO3S.mjs → chunk-MZN2UIYT.mjs} +1 -1
  36. package/dist/chunk-MZN2UIYT.mjs.br +0 -0
  37. package/dist/chunk-MZN2UIYT.mjs.gz +0 -0
  38. package/dist/{chunk-HAQDKQ52.js → chunk-P65VL2I6.js} +255 -255
  39. package/dist/chunk-P65VL2I6.js.br +0 -0
  40. package/dist/chunk-P65VL2I6.js.gz +0 -0
  41. package/dist/{chunk-RBQUSVYR.js → chunk-UNWU6D2M.js} +340 -340
  42. package/dist/chunk-UNWU6D2M.js.br +0 -0
  43. package/dist/chunk-UNWU6D2M.js.gz +0 -0
  44. package/dist/{chunk-GZ2V3PWN.js → chunk-VZI35LEF.js} +3 -3
  45. package/dist/chunk-VZI35LEF.js.br +0 -0
  46. package/dist/chunk-VZI35LEF.js.gz +0 -0
  47. package/dist/{chunk-LLTUDPRE.mjs → chunk-Y6W5LGTR.mjs} +2 -2
  48. package/dist/chunk-Y6W5LGTR.mjs.br +0 -0
  49. package/dist/chunk-Y6W5LGTR.mjs.gz +0 -0
  50. package/dist/index.d.ts +17 -0
  51. package/dist/index.js +39 -39
  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 +27 -4
  58. package/dist/internals.js +78 -78
  59. package/dist/internals.js.br +0 -0
  60. package/dist/internals.js.gz +0 -0
  61. package/dist/internals.mjs +3 -3
  62. package/dist/internals.mjs.br +0 -0
  63. package/dist/internals.mjs.gz +0 -0
  64. package/dist/viewer/index.d.ts +17 -0
  65. package/dist/viewer/index.js +26 -26
  66. package/dist/viewer/index.js.br +0 -0
  67. package/dist/viewer/index.js.gz +0 -0
  68. package/dist/viewer/index.mjs +5 -5
  69. package/dist/viewer/index.mjs.br +0 -0
  70. package/dist/viewer/index.mjs.gz +0 -0
  71. package/package.json +1 -1
  72. package/dist/AiChatPanel-7DDN4QUA.mjs.br +0 -0
  73. package/dist/AiChatPanel-7DDN4QUA.mjs.gz +0 -0
  74. package/dist/AiChatPanel-KEORKCTT.js.br +0 -0
  75. package/dist/AiChatPanel-KEORKCTT.js.gz +0 -0
  76. package/dist/Model3DScene-DEAQMMUS.mjs.br +0 -0
  77. package/dist/Model3DScene-DEAQMMUS.mjs.gz +0 -0
  78. package/dist/Model3DScene-SBUYEWHL.js.br +0 -0
  79. package/dist/Model3DScene-SBUYEWHL.js.gz +0 -0
  80. package/dist/SurfaceChart3DScene-I5D54YQ3.js.br +0 -0
  81. package/dist/SurfaceChart3DScene-I5D54YQ3.js.gz +0 -0
  82. package/dist/SurfaceChart3DScene-TXGS2PBK.mjs.gz +0 -0
  83. package/dist/chunk-23WSCMWN.mjs.br +0 -0
  84. package/dist/chunk-23WSCMWN.mjs.gz +0 -0
  85. package/dist/chunk-FQ3FTNKV.js.br +0 -0
  86. package/dist/chunk-FQ3FTNKV.js.gz +0 -0
  87. package/dist/chunk-GSAOP4Z4.mjs.br +0 -0
  88. package/dist/chunk-GSAOP4Z4.mjs.gz +0 -0
  89. package/dist/chunk-GZ2V3PWN.js.br +0 -0
  90. package/dist/chunk-GZ2V3PWN.js.gz +0 -0
  91. package/dist/chunk-HAQDKQ52.js.br +0 -0
  92. package/dist/chunk-HAQDKQ52.js.gz +0 -0
  93. package/dist/chunk-J4QZVO3S.mjs.br +0 -0
  94. package/dist/chunk-J4QZVO3S.mjs.gz +0 -0
  95. package/dist/chunk-LLTUDPRE.mjs.br +0 -0
  96. package/dist/chunk-LLTUDPRE.mjs.gz +0 -0
  97. package/dist/chunk-MZ47MV52.js.br +0 -0
  98. package/dist/chunk-MZ47MV52.js.gz +0 -0
  99. package/dist/chunk-PLBS7OL2.mjs.br +0 -0
  100. package/dist/chunk-PLBS7OL2.mjs.gz +0 -0
  101. package/dist/chunk-RBQUSVYR.js.br +0 -0
  102. package/dist/chunk-RBQUSVYR.js.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.16.4](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.16.4) - 2026-08-10
8
+
7
9
  ## [2.16.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.16.3) - 2026-08-10
8
10
 
9
11
  ### Dependencies
@@ -1,7 +1,7 @@
1
- import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-J4QZVO3S.mjs';
2
- import { cn } from './chunk-PLBS7OL2.mjs';
1
+ import { isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-MZN2UIYT.mjs';
2
+ import { cn } from './chunk-5YGTUHNO.mjs';
3
3
  import './chunk-5IUEPQTK.mjs';
4
- import './chunk-23WSCMWN.mjs';
4
+ import './chunk-247XH4EN.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 chunkGZ2V3PWN_js = require('./chunk-GZ2V3PWN.js');
4
- var chunkHAQDKQ52_js = require('./chunk-HAQDKQ52.js');
3
+ var chunkVZI35LEF_js = require('./chunk-VZI35LEF.js');
4
+ var chunkP65VL2I6_js = require('./chunk-P65VL2I6.js');
5
5
  require('./chunk-DVZF4ARG.js');
6
- require('./chunk-MZ47MV52.js');
6
+ require('./chunk-6QGTRYSC.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
9
9
  var reactI18next = require('react-i18next');
@@ -29,7 +29,7 @@ function useAiChat(bridge, config) {
29
29
  setInitError(void 0);
30
30
  void (async () => {
31
31
  try {
32
- const available = await chunkGZ2V3PWN_js.isAiAvailable();
32
+ const available = await chunkVZI35LEF_js.isAiAvailable();
33
33
  if (cancelled) {
34
34
  return;
35
35
  }
@@ -37,7 +37,7 @@ function useAiChat(bridge, config) {
37
37
  setState("unavailable");
38
38
  return;
39
39
  }
40
- const built = await chunkGZ2V3PWN_js.createAiChatSession(bridge, configRef.current);
40
+ const built = await chunkVZI35LEF_js.createAiChatSession(bridge, configRef.current);
41
41
  if (cancelled) {
42
42
  return;
43
43
  }
@@ -143,7 +143,7 @@ function withDeckContext(inner, bridge, strategy) {
143
143
  }
144
144
  let context = "";
145
145
  try {
146
- context = await chunkGZ2V3PWN_js.buildDeckContext(bridge, { strategy, focus: {} });
146
+ context = await chunkVZI35LEF_js.buildDeckContext(bridge, { strategy, focus: {} });
147
147
  } catch {
148
148
  context = "";
149
149
  }
@@ -206,7 +206,7 @@ function useAiConversation(useChat, session, config, bridge, options = {}) {
206
206
  continue;
207
207
  }
208
208
  seen.add(call.toolCallId);
209
- onToolTargetRef.current?.(chunkGZ2V3PWN_js.toolCanvasTarget(call.toolName, call.input));
209
+ onToolTargetRef.current?.(chunkVZI35LEF_js.toolCanvasTarget(call.toolName, call.input));
210
210
  }
211
211
  }, [chat.messages]);
212
212
  const send = react.useCallback(
@@ -282,7 +282,7 @@ function deriveTitle(messages) {
282
282
  }
283
283
  function useAiHistory(input) {
284
284
  const { deckId, messages, setMessages } = input;
285
- const store = react.useMemo(() => input.store ?? chunkGZ2V3PWN_js.createChatHistoryStore(), [input.store]);
285
+ const store = react.useMemo(() => input.store ?? chunkVZI35LEF_js.createChatHistoryStore(), [input.store]);
286
286
  const [activeChatId, setActiveChatId] = react.useState(newChatId);
287
287
  const [chats, setChats] = react.useState([]);
288
288
  const createdAtRef = react.useRef(Date.now());
@@ -425,7 +425,7 @@ function AiComposer({
425
425
  disabled: value.trim().length === 0,
426
426
  title: t("pptx.ai.send"),
427
427
  "aria-label": t("pptx.ai.send"),
428
- className: chunkHAQDKQ52_js.cn(
428
+ className: chunkP65VL2I6_js.cn(
429
429
  "shrink-0 rounded-sm p-1.5 transition-colors",
430
430
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
431
431
  ),
@@ -451,15 +451,15 @@ function AiFocusBar({
451
451
  onClearPicks
452
452
  }) {
453
453
  const { t } = reactI18next.useTranslation();
454
- const chips = chunkGZ2V3PWN_js.focusTargetChips(targets, slides);
455
- const twoTables = chunkGZ2V3PWN_js.isTwoTableFocus(targets, slides);
454
+ const chips = chunkVZI35LEF_js.focusTargetChips(targets, slides);
455
+ const twoTables = chunkVZI35LEF_js.isTwoTableFocus(targets, slides);
456
456
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
457
457
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
458
458
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
459
459
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
460
460
  "span",
461
461
  {
462
- className: chunkHAQDKQ52_js.cn(
462
+ className: chunkP65VL2I6_js.cn(
463
463
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
464
464
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
465
465
  ),
@@ -492,7 +492,7 @@ function AiFocusBar({
492
492
  title: t("pptx.ai.pickElement"),
493
493
  "aria-label": t("pptx.ai.pickAria"),
494
494
  "aria-pressed": pickMode,
495
- className: chunkHAQDKQ52_js.cn(
495
+ className: chunkP65VL2I6_js.cn(
496
496
  "rounded-sm p-1",
497
497
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
498
498
  ),
@@ -571,7 +571,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
571
571
  {
572
572
  type: "button",
573
573
  onClick: () => onResume(chat.id),
574
- className: chunkHAQDKQ52_js.cn(
574
+ className: chunkP65VL2I6_js.cn(
575
575
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
576
576
  chat.id === activeChatId && "bg-accent/60"
577
577
  ),
@@ -726,26 +726,26 @@ function AiToolCallCard({ part }) {
726
726
  const failed = part.state === "output-error";
727
727
  const done = part.state === "output-available";
728
728
  const running = !failed && !done;
729
- const activity = chunkGZ2V3PWN_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
729
+ const activity = chunkVZI35LEF_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
730
730
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
731
- const rawSummary = chunkGZ2V3PWN_js.summarizeToolArgs(part.input);
731
+ const rawSummary = chunkVZI35LEF_js.summarizeToolArgs(part.input);
732
732
  const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
733
733
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
734
734
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
735
735
  /* @__PURE__ */ jsxRuntime.jsx(
736
736
  Icon,
737
737
  {
738
- className: chunkHAQDKQ52_js.cn(
738
+ className: chunkP65VL2I6_js.cn(
739
739
  "w-3.5 h-3.5 shrink-0",
740
740
  failed ? "text-destructive" : "text-muted-foreground"
741
741
  )
742
742
  }
743
743
  ),
744
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkHAQDKQ52_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
744
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkP65VL2I6_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
745
745
  /* @__PURE__ */ jsxRuntime.jsxs(
746
746
  "span",
747
747
  {
748
- className: chunkHAQDKQ52_js.cn(
748
+ className: chunkP65VL2I6_js.cn(
749
749
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
750
750
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
751
751
  ),
@@ -762,7 +762,7 @@ function AiToolCallCard({ part }) {
762
762
  rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
763
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") }),
764
764
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
765
- chunkGZ2V3PWN_js.toolLabel(part.toolName),
765
+ chunkVZI35LEF_js.toolLabel(part.toolName),
766
766
  ": ",
767
767
  rawSummary
768
768
  ] })
@@ -793,7 +793,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
793
793
  /* @__PURE__ */ jsxRuntime.jsx(
794
794
  "div",
795
795
  {
796
- className: chunkHAQDKQ52_js.cn(
796
+ className: chunkP65VL2I6_js.cn(
797
797
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
798
798
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
799
799
  ),
@@ -840,7 +840,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
840
840
  }
841
841
  function AiProposalCard({ proposal, onAccept, onReject }) {
842
842
  const { t } = reactI18next.useTranslation();
843
- const lines = proposal.summary.map(chunkGZ2V3PWN_js.humanizeDiffLine);
843
+ const lines = proposal.summary.map(chunkVZI35LEF_js.humanizeDiffLine);
844
844
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
845
845
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
846
846
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkMZ47MV52_js = require('./chunk-MZ47MV52.js');
3
+ var chunk6QGTRYSC_js = require('./chunk-6QGTRYSC.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 chunkMZ47MV52_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunk6QGTRYSC_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountModel3D } from './chunk-23WSCMWN.mjs';
1
+ import { mountModel3D } from './chunk-247XH4EN.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 chunkMZ47MV52_js = require('./chunk-MZ47MV52.js');
3
+ var chunk6QGTRYSC_js = require('./chunk-6QGTRYSC.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 chunkMZ47MV52_js.mountSurfaceChart3D(container, {
28
+ void chunk6QGTRYSC_js.mountSurfaceChart3D(container, {
29
29
  cols,
30
30
  rows,
31
31
  heightMap,
@@ -1,4 +1,4 @@
1
- import { mountSurfaceChart3D } from './chunk-23WSCMWN.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-247XH4EN.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';