pptx-react-viewer 1.25.5 → 2.0.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 (230) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/dist/AiChatPanel-BRGQCYZM.mjs +1087 -0
  4. package/dist/AiChatPanel-BRGQCYZM.mjs.br +0 -0
  5. package/dist/AiChatPanel-BRGQCYZM.mjs.gz +0 -0
  6. package/dist/AiChatPanel-PW5OT25Z.js +1089 -0
  7. package/dist/AiChatPanel-PW5OT25Z.js.br +0 -0
  8. package/dist/AiChatPanel-PW5OT25Z.js.gz +0 -0
  9. package/dist/{GLTFLoader-NMAS6VRH.mjs → GLTFLoader-374ZNTXW.mjs} +1 -1
  10. package/dist/GLTFLoader-374ZNTXW.mjs.br +0 -0
  11. package/dist/GLTFLoader-374ZNTXW.mjs.gz +0 -0
  12. package/dist/{GLTFLoader-GP55DVVS.js → GLTFLoader-Q7BHCGAW.js} +1 -1
  13. package/dist/GLTFLoader-Q7BHCGAW.js.br +0 -0
  14. package/dist/GLTFLoader-Q7BHCGAW.js.gz +0 -0
  15. package/dist/{Model3DScene-Y5ABLO7K.js → Model3DScene-JCGYRKXM.js} +4 -4
  16. package/dist/Model3DScene-JCGYRKXM.js.br +0 -0
  17. package/dist/Model3DScene-JCGYRKXM.js.gz +0 -0
  18. package/dist/{Model3DScene-XVYOISVJ.mjs → Model3DScene-TEF362W2.mjs} +3 -3
  19. package/dist/Model3DScene-TEF362W2.mjs.br +0 -0
  20. package/dist/Model3DScene-TEF362W2.mjs.gz +0 -0
  21. package/dist/{OrbitControls-VH6KILH7.js → OrbitControls-SMYCPLXO.js} +1 -1
  22. package/dist/OrbitControls-SMYCPLXO.js.br +3 -0
  23. package/dist/OrbitControls-SMYCPLXO.js.gz +0 -0
  24. package/dist/{OrbitControls-F5XPYD2Z.mjs → OrbitControls-ZTGHPI5G.mjs} +1 -1
  25. package/dist/OrbitControls-ZTGHPI5G.mjs.br +0 -0
  26. package/dist/{OrbitControls-F5XPYD2Z.mjs.gz → OrbitControls-ZTGHPI5G.mjs.gz} +0 -0
  27. package/dist/{PowerPointViewer-CnADroqZ.d.ts → PowerPointViewer-gmU5rc7K.d.ts} +2 -2
  28. package/dist/PowerPointViewer-gmU5rc7K.d.ts.map +1 -0
  29. package/dist/{SmartArt3DScene-WQIDFZ7X.mjs → SmartArt3DScene-XCFVGCXE.mjs} +1 -1
  30. package/dist/SmartArt3DScene-XCFVGCXE.mjs.br +0 -0
  31. package/dist/SmartArt3DScene-XCFVGCXE.mjs.gz +0 -0
  32. package/dist/{SmartArt3DScene-HCQBDRAM.js → SmartArt3DScene-ZO3KFDI2.js} +1 -1
  33. package/dist/SmartArt3DScene-ZO3KFDI2.js.br +0 -0
  34. package/dist/SmartArt3DScene-ZO3KFDI2.js.gz +0 -0
  35. package/dist/{SurfaceChart3DScene-WMY5JTW4.js → SurfaceChart3DScene-2SHCYZVC.js} +4 -4
  36. package/dist/{SurfaceChart3DScene-WMY5JTW4.js.br → SurfaceChart3DScene-2SHCYZVC.js.br} +0 -0
  37. package/dist/SurfaceChart3DScene-2SHCYZVC.js.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-RXZADECL.mjs → SurfaceChart3DScene-UPDCIMJM.mjs} +3 -3
  39. package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.br +0 -0
  40. package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.gz +0 -0
  41. package/dist/{animation-timeline-CEJJLFqK.d.ts → animation-timeline-eb5z0SHW.d.ts} +250 -8
  42. package/dist/animation-timeline-eb5z0SHW.d.ts.map +1 -0
  43. package/dist/{chunk-M3SIFXWD.mjs → chunk-2X72MOPZ.mjs} +65 -0
  44. package/dist/chunk-2X72MOPZ.mjs.br +0 -0
  45. package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
  46. package/dist/{chunk-QGM4M3NI.js → chunk-4VNS5WPM.js} +5 -0
  47. package/dist/chunk-4VNS5WPM.js.br +0 -0
  48. package/dist/chunk-4VNS5WPM.js.gz +0 -0
  49. package/dist/{chunk-F4WPQRZU.mjs → chunk-5XLLRPMV.mjs} +6901 -14355
  50. package/dist/chunk-5XLLRPMV.mjs.br +0 -0
  51. package/dist/chunk-5XLLRPMV.mjs.gz +0 -0
  52. package/dist/{chunk-FOMF7POV.mjs → chunk-6YXLGMTN.mjs} +2493 -1588
  53. package/dist/chunk-6YXLGMTN.mjs.br +0 -0
  54. package/dist/chunk-6YXLGMTN.mjs.gz +0 -0
  55. package/dist/chunk-B6NRDUHJ.mjs +8029 -0
  56. package/dist/chunk-B6NRDUHJ.mjs.br +0 -0
  57. package/dist/chunk-B6NRDUHJ.mjs.gz +0 -0
  58. package/dist/chunk-BHVCED34.mjs +16664 -0
  59. package/dist/chunk-BHVCED34.mjs.br +0 -0
  60. package/dist/chunk-BHVCED34.mjs.gz +0 -0
  61. package/dist/{chunk-IPYAN574.js → chunk-CLNGAVNH.js} +2495 -1587
  62. package/dist/chunk-CLNGAVNH.js.br +0 -0
  63. package/dist/chunk-CLNGAVNH.js.gz +0 -0
  64. package/dist/{chunk-2EFVXYNA.js → chunk-CUUYYYC5.js} +65 -0
  65. package/dist/chunk-CUUYYYC5.js.br +0 -0
  66. package/dist/chunk-CUUYYYC5.js.gz +0 -0
  67. package/dist/{chunk-L4ZADJOM.mjs → chunk-L63RAVM7.mjs} +1285 -150
  68. package/dist/chunk-L63RAVM7.mjs.br +0 -0
  69. package/dist/chunk-L63RAVM7.mjs.gz +0 -0
  70. package/dist/{chunk-7CSBUYRN.js → chunk-LFXG7SGG.js} +2073 -938
  71. package/dist/chunk-LFXG7SGG.js.br +0 -0
  72. package/dist/chunk-LFXG7SGG.js.gz +0 -0
  73. package/dist/{chunk-TEN35NUX.js → chunk-OKOJVSKJ.js} +3512 -403
  74. package/dist/chunk-OKOJVSKJ.js.br +0 -0
  75. package/dist/chunk-OKOJVSKJ.js.gz +0 -0
  76. package/dist/{chunk-FVQDRA5N.mjs → chunk-R2N2UYT7.mjs} +3455 -362
  77. package/dist/chunk-R2N2UYT7.mjs.br +0 -0
  78. package/dist/chunk-R2N2UYT7.mjs.gz +0 -0
  79. package/dist/chunk-SYPHGLIB.js +16701 -0
  80. package/dist/chunk-SYPHGLIB.js.br +0 -0
  81. package/dist/chunk-SYPHGLIB.js.gz +0 -0
  82. package/dist/{chunk-6DZX6EAA.mjs → chunk-XGB3TDIC.mjs} +5 -1
  83. package/dist/chunk-XGB3TDIC.mjs.br +0 -0
  84. package/dist/chunk-XGB3TDIC.mjs.gz +0 -0
  85. package/dist/chunk-ZB4NZRCI.js +11111 -0
  86. package/dist/chunk-ZB4NZRCI.js.br +0 -0
  87. package/dist/chunk-ZB4NZRCI.js.gz +0 -0
  88. package/dist/chunk-ZKDE3HJI.js +8121 -0
  89. package/dist/chunk-ZKDE3HJI.js.br +0 -0
  90. package/dist/chunk-ZKDE3HJI.js.gz +0 -0
  91. package/dist/{dist-755SJ3ZH.js → dist-4LUVI3SW.js} +578 -566
  92. package/dist/dist-4LUVI3SW.js.br +0 -0
  93. package/dist/dist-4LUVI3SW.js.gz +0 -0
  94. package/dist/dist-J6PC54PZ.mjs +2 -0
  95. package/dist/dist-J6PC54PZ.mjs.br +0 -0
  96. package/dist/dist-J6PC54PZ.mjs.gz +0 -0
  97. package/dist/i18n.js +5 -5
  98. package/dist/i18n.js.br +0 -0
  99. package/dist/i18n.js.gz +0 -0
  100. package/dist/i18n.mjs +2 -2
  101. package/dist/i18n.mjs.br +0 -0
  102. package/dist/i18n.mjs.gz +0 -0
  103. package/dist/{index-J6IuHQ2_.d.ts → index-a8wcFjRJ.d.ts} +4 -4
  104. package/dist/{index-J6IuHQ2_.d.ts.map → index-a8wcFjRJ.d.ts.map} +1 -1
  105. package/dist/index.d.ts +3030 -220
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +41 -39
  108. package/dist/index.js.br +0 -0
  109. package/dist/index.js.gz +0 -0
  110. package/dist/index.mjs +8 -6
  111. package/dist/index.mjs.br +0 -0
  112. package/dist/index.mjs.gz +0 -0
  113. package/dist/{hooks-unstable.d.ts → internals.d.ts} +1238 -974
  114. package/dist/internals.d.ts.map +1 -0
  115. package/dist/{hooks-unstable.js → internals.js} +81 -80
  116. package/dist/internals.js.br +0 -0
  117. package/dist/internals.js.gz +0 -0
  118. package/dist/{hooks-unstable.mjs → internals.mjs} +6 -5
  119. package/dist/internals.mjs.br +0 -0
  120. package/dist/internals.mjs.gz +0 -0
  121. package/dist/pptx-viewer.css +1 -1
  122. package/dist/pptx-viewer.css.br +0 -0
  123. package/dist/pptx-viewer.css.gz +0 -0
  124. package/dist/{three.module-7CXEVRKB.mjs → three.module-AC7ESV4W.mjs} +1 -1
  125. package/dist/three.module-AC7ESV4W.mjs.br +0 -0
  126. package/dist/three.module-AC7ESV4W.mjs.gz +0 -0
  127. package/dist/{three.module-CPZZFD2Q.js → three.module-GNNNRIMK.js} +1 -1
  128. package/dist/three.module-GNNNRIMK.js.br +0 -0
  129. package/dist/three.module-GNNNRIMK.js.gz +0 -0
  130. package/dist/{useViewerBuildingBlocks-ll3_ncCH.d.ts → useViewerBuildingBlocks-CjureTRf.d.ts} +185 -174
  131. package/dist/useViewerBuildingBlocks-CjureTRf.d.ts.map +1 -0
  132. package/dist/viewer/index.d.ts +469 -52
  133. package/dist/viewer/index.d.ts.map +1 -1
  134. package/dist/viewer/index.js +35 -33
  135. package/dist/viewer/index.js.br +0 -0
  136. package/dist/viewer/index.js.gz +0 -0
  137. package/dist/viewer/index.mjs +8 -6
  138. package/dist/viewer/index.mjs.br +0 -0
  139. package/dist/viewer/index.mjs.gz +0 -0
  140. package/dist/{y-webrtc-6CRYHAXH.mjs → y-webrtc-DGVURJIF.mjs} +1 -1
  141. package/dist/y-webrtc-DGVURJIF.mjs.br +0 -0
  142. package/dist/y-webrtc-DGVURJIF.mjs.gz +0 -0
  143. package/dist/{y-webrtc-QCZF75JW.js → y-webrtc-YN53KW3J.js} +5 -5
  144. package/dist/y-webrtc-YN53KW3J.js.br +0 -0
  145. package/dist/y-webrtc-YN53KW3J.js.gz +0 -0
  146. package/dist/{y-websocket-QJEM6VOB.js → y-websocket-HZCIQLM6.js} +1 -1
  147. package/dist/y-websocket-HZCIQLM6.js.br +0 -0
  148. package/dist/y-websocket-HZCIQLM6.js.gz +0 -0
  149. package/dist/{y-websocket-57Q3RNHC.mjs → y-websocket-P5LTAJ5T.mjs} +1 -1
  150. package/dist/y-websocket-P5LTAJ5T.mjs.br +0 -0
  151. package/dist/y-websocket-P5LTAJ5T.mjs.gz +0 -0
  152. package/dist/{yjs-Y7IYUWOG.mjs → yjs-FKGX4QHS.mjs} +1 -1
  153. package/dist/yjs-FKGX4QHS.mjs.br +0 -0
  154. package/dist/yjs-FKGX4QHS.mjs.gz +0 -0
  155. package/dist/{yjs-UH3EPF3C.js → yjs-HBLSEMHP.js} +1 -1
  156. package/dist/yjs-HBLSEMHP.js.br +0 -0
  157. package/dist/yjs-HBLSEMHP.js.gz +0 -0
  158. package/package.json +19 -7
  159. package/dist/GLTFLoader-GP55DVVS.js.br +0 -0
  160. package/dist/GLTFLoader-GP55DVVS.js.gz +0 -0
  161. package/dist/GLTFLoader-NMAS6VRH.mjs.br +0 -0
  162. package/dist/GLTFLoader-NMAS6VRH.mjs.gz +0 -0
  163. package/dist/Model3DScene-XVYOISVJ.mjs.br +0 -0
  164. package/dist/Model3DScene-XVYOISVJ.mjs.gz +0 -0
  165. package/dist/Model3DScene-Y5ABLO7K.js.br +0 -0
  166. package/dist/Model3DScene-Y5ABLO7K.js.gz +0 -0
  167. package/dist/OrbitControls-F5XPYD2Z.mjs.br +0 -0
  168. package/dist/OrbitControls-VH6KILH7.js.br +0 -2
  169. package/dist/OrbitControls-VH6KILH7.js.gz +0 -0
  170. package/dist/PowerPointViewer-CnADroqZ.d.ts.map +0 -1
  171. package/dist/SmartArt3DScene-HCQBDRAM.js.br +0 -0
  172. package/dist/SmartArt3DScene-HCQBDRAM.js.gz +0 -0
  173. package/dist/SmartArt3DScene-WQIDFZ7X.mjs.br +0 -0
  174. package/dist/SmartArt3DScene-WQIDFZ7X.mjs.gz +0 -0
  175. package/dist/SurfaceChart3DScene-RXZADECL.mjs.br +0 -0
  176. package/dist/SurfaceChart3DScene-RXZADECL.mjs.gz +0 -0
  177. package/dist/SurfaceChart3DScene-WMY5JTW4.js.gz +0 -0
  178. package/dist/animation-timeline-CEJJLFqK.d.ts.map +0 -1
  179. package/dist/chunk-2EFVXYNA.js.br +0 -0
  180. package/dist/chunk-2EFVXYNA.js.gz +0 -0
  181. package/dist/chunk-6DZX6EAA.mjs.br +0 -0
  182. package/dist/chunk-6DZX6EAA.mjs.gz +0 -0
  183. package/dist/chunk-7CSBUYRN.js.br +0 -0
  184. package/dist/chunk-7CSBUYRN.js.gz +0 -0
  185. package/dist/chunk-E55Q4AC7.js +0 -18639
  186. package/dist/chunk-E55Q4AC7.js.br +0 -0
  187. package/dist/chunk-E55Q4AC7.js.gz +0 -0
  188. package/dist/chunk-F4WPQRZU.mjs.br +0 -0
  189. package/dist/chunk-F4WPQRZU.mjs.gz +0 -0
  190. package/dist/chunk-FOMF7POV.mjs.br +0 -0
  191. package/dist/chunk-FOMF7POV.mjs.gz +0 -0
  192. package/dist/chunk-FVQDRA5N.mjs.br +0 -0
  193. package/dist/chunk-FVQDRA5N.mjs.gz +0 -0
  194. package/dist/chunk-IPYAN574.js.br +0 -0
  195. package/dist/chunk-IPYAN574.js.gz +0 -0
  196. package/dist/chunk-L4ZADJOM.mjs.br +0 -0
  197. package/dist/chunk-L4ZADJOM.mjs.gz +0 -0
  198. package/dist/chunk-M3SIFXWD.mjs.br +0 -0
  199. package/dist/chunk-M3SIFXWD.mjs.gz +0 -0
  200. package/dist/chunk-QGM4M3NI.js.br +0 -0
  201. package/dist/chunk-QGM4M3NI.js.gz +0 -0
  202. package/dist/chunk-TEN35NUX.js.br +0 -0
  203. package/dist/chunk-TEN35NUX.js.gz +0 -0
  204. package/dist/dist-755SJ3ZH.js.br +0 -0
  205. package/dist/dist-755SJ3ZH.js.gz +0 -0
  206. package/dist/dist-FFWP5NQZ.mjs +0 -2
  207. package/dist/dist-FFWP5NQZ.mjs.br +0 -0
  208. package/dist/dist-FFWP5NQZ.mjs.gz +0 -0
  209. package/dist/hooks-unstable.d.ts.map +0 -1
  210. package/dist/hooks-unstable.js.br +0 -0
  211. package/dist/hooks-unstable.js.gz +0 -0
  212. package/dist/hooks-unstable.mjs.br +0 -0
  213. package/dist/hooks-unstable.mjs.gz +0 -0
  214. package/dist/three.module-7CXEVRKB.mjs.br +0 -0
  215. package/dist/three.module-7CXEVRKB.mjs.gz +0 -0
  216. package/dist/three.module-CPZZFD2Q.js.br +0 -0
  217. package/dist/three.module-CPZZFD2Q.js.gz +0 -0
  218. package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts.map +0 -1
  219. package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
  220. package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
  221. package/dist/y-webrtc-QCZF75JW.js.br +0 -0
  222. package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
  223. package/dist/y-websocket-57Q3RNHC.mjs.br +0 -0
  224. package/dist/y-websocket-57Q3RNHC.mjs.gz +0 -0
  225. package/dist/y-websocket-QJEM6VOB.js.br +0 -0
  226. package/dist/y-websocket-QJEM6VOB.js.gz +0 -0
  227. package/dist/yjs-UH3EPF3C.js.br +0 -0
  228. package/dist/yjs-UH3EPF3C.js.gz +0 -0
  229. package/dist/yjs-Y7IYUWOG.mjs.br +0 -0
  230. package/dist/yjs-Y7IYUWOG.mjs.gz +0 -0
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { Quaternion, Matrix4, Loader, LoaderUtils, FileLoader, Color, LinearSRGBColorSpace, SpotLight, PointLight, DirectionalLight, MeshBasicMaterial, SRGBColorSpace, MeshPhysicalMaterial, Vector2, Vector3, InstancedMesh, InstancedBufferAttribute, Object3D, TextureLoader, ImageBitmapLoader, BufferAttribute, InterleavedBuffer, InterleavedBufferAttribute, LinearMipmapLinearFilter, NearestMipmapLinearFilter, LinearMipmapNearestFilter, NearestMipmapNearestFilter, LinearFilter, NearestFilter, RepeatWrapping, MirroredRepeatWrapping, ClampToEdgeWrapping, PointsMaterial, Material, LineBasicMaterial, MeshStandardMaterial, DoubleSide, PropertyBinding, BufferGeometry, SkinnedMesh, Mesh, LineSegments, Line, LineLoop, Points, Group, PerspectiveCamera, MathUtils, OrthographicCamera, Skeleton, AnimationClip, Bone, InterpolateDiscrete, InterpolateLinear, ColorManagement, Texture, VectorKeyframeTrack, NumberKeyframeTrack, QuaternionKeyframeTrack, FrontSide, TrianglesDrawMode, TriangleFanDrawMode, TriangleStripDrawMode, Interpolant, Box3, Sphere } from './chunk-XBMKFZVP.mjs';
2
- import './chunk-6DZX6EAA.mjs';
2
+ import './chunk-XGB3TDIC.mjs';
3
3
 
4
4
  // ../../node_modules/.bun/three@0.185.1/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js
5
5
  function toTrianglesDrawMode(geometry, drawMode) {
Binary file
Binary file
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkB4QYQLZU_js = require('./chunk-B4QYQLZU.js');
4
- require('./chunk-QGM4M3NI.js');
4
+ require('./chunk-4VNS5WPM.js');
5
5
 
6
6
  // ../../node_modules/.bun/three@0.185.1/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js
7
7
  function toTrianglesDrawMode(geometry, drawMode) {
Binary file
Binary file
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkTEN35NUX_js = require('./chunk-TEN35NUX.js');
4
- require('./chunk-IPYAN574.js');
5
- require('./chunk-QGM4M3NI.js');
3
+ var chunkOKOJVSKJ_js = require('./chunk-OKOJVSKJ.js');
4
+ require('./chunk-CLNGAVNH.js');
5
+ require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -15,7 +15,7 @@ function Model3DScene({ modelUrl, interactive, width, height }) {
15
15
  return;
16
16
  }
17
17
  let disposed = false;
18
- void chunkTEN35NUX_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
18
+ void chunkOKOJVSKJ_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
19
19
  if (disposed) {
20
20
  handle.dispose();
21
21
  } else {
Binary file
Binary file
@@ -1,6 +1,6 @@
1
- import { mountModel3D } from './chunk-FVQDRA5N.mjs';
2
- import './chunk-FOMF7POV.mjs';
3
- import './chunk-6DZX6EAA.mjs';
1
+ import { mountModel3D } from './chunk-R2N2UYT7.mjs';
2
+ import './chunk-6YXLGMTN.mjs';
3
+ import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunk6C2WYLZY_js = require('./chunk-6C2WYLZY.js');
4
4
  require('./chunk-B4QYQLZU.js');
5
- require('./chunk-QGM4M3NI.js');
5
+ require('./chunk-4VNS5WPM.js');
6
6
 
7
7
 
8
8
 
@@ -0,0 +1,3 @@
1
+ ��
2
+ x24^¨�]�<|-!4�Yc6�R�Q�h��
3
+ �)��ܗH����P>
@@ -1,3 +1,3 @@
1
1
  export { OrbitControls } from './chunk-3CBDTD46.mjs';
2
2
  import './chunk-XBMKFZVP.mjs';
3
- import './chunk-6DZX6EAA.mjs';
3
+ import './chunk-XGB3TDIC.mjs';
@@ -1,4 +1,4 @@
1
- import { m as PowerPointViewerProps, p as PowerPointViewerHandle } from "./animation-timeline-CEJJLFqK.js";
1
+ import { m as PowerPointViewerProps, p as PowerPointViewerHandle } from "./animation-timeline-eb5z0SHW.js";
2
2
  import { PptxAnimationPreset, PptxNativeAnimation } from "pptx-viewer-core";
3
3
  import "pptx-viewer-shared";
4
4
  import React from "react";
@@ -18,4 +18,4 @@ declare function getAnimationInitialStyle(preset: PptxAnimationPreset | undefine
18
18
  declare const PowerPointViewer: import("react").ForwardRefExoticComponent<PowerPointViewerProps & import("react").RefAttributes<PowerPointViewerHandle>>;
19
19
  //#endregion
20
20
  export { getAnimationInitialStyle as n, PowerPointViewer as t };
21
- //# sourceMappingURL=PowerPointViewer-CnADroqZ.d.ts.map
21
+ //# sourceMappingURL=PowerPointViewer-gmU5rc7K.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PowerPointViewer-gmU5rc7K.d.ts","names":[],"sources":["../src/viewer/utils/animation-effects.ts","../src/viewer/PowerPointViewer.tsx"],"mappings":";;;;;iBAmBgB,yBACf,QAAQ,iCACR,kBAAkB,sBAChB,MAAM;;;;;;;;;;;;cCmFI,kCAAgB,0BAAA,wCAAA,cAAA"}
@@ -1,6 +1,6 @@
1
1
  import { OrbitControls } from './chunk-3CBDTD46.mjs';
2
2
  import { WebGLRenderer, Scene, Color, PerspectiveCamera, AmbientLight, DirectionalLight, Group, MeshStandardMaterial, Mesh, EdgesGeometry, LineBasicMaterial, LineSegments, PlaneGeometry, MeshBasicMaterial, Euler, Vector3, BufferGeometry, Line, Shape, ExtrudeGeometry, CanvasTexture, SRGBColorSpace, LinearFilter, RepeatWrapping } from './chunk-XBMKFZVP.mjs';
3
- import './chunk-6DZX6EAA.mjs';
3
+ import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunk6C2WYLZY_js = require('./chunk-6C2WYLZY.js');
4
4
  var chunkB4QYQLZU_js = require('./chunk-B4QYQLZU.js');
5
- require('./chunk-QGM4M3NI.js');
5
+ require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkTEN35NUX_js = require('./chunk-TEN35NUX.js');
4
- require('./chunk-IPYAN574.js');
5
- require('./chunk-QGM4M3NI.js');
3
+ var chunkOKOJVSKJ_js = require('./chunk-OKOJVSKJ.js');
4
+ require('./chunk-CLNGAVNH.js');
5
+ require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -26,7 +26,7 @@ function SurfaceChart3DScene({
26
26
  return;
27
27
  }
28
28
  let disposed = false;
29
- void chunkTEN35NUX_js.mountSurfaceChart3D(container, {
29
+ void chunkOKOJVSKJ_js.mountSurfaceChart3D(container, {
30
30
  cols,
31
31
  rows,
32
32
  heightMap,
@@ -1,6 +1,6 @@
1
- import { mountSurfaceChart3D } from './chunk-FVQDRA5N.mjs';
2
- import './chunk-FOMF7POV.mjs';
3
- import './chunk-6DZX6EAA.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-R2N2UYT7.mjs';
2
+ import './chunk-6YXLGMTN.mjs';
3
+ import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,6 +1,8 @@
1
1
  import { n as LocaleCatalogEntry } from "./index-CGKutKk1.js";
2
- import { ConnectorArrowType, PptxAnimationPreset, PptxElement, PptxElementAnimation, PptxSlide, PptxSlideTransition, ShapeStyle, StrokeDashType, XmlObject } from "pptx-viewer-core";
2
+ import { ConnectorArrowType, PptxAnimationPreset, PptxData, PptxElement, PptxElementAnimation, PptxHandler, PptxSlide, PptxSlideTransition, PptxTheme, ShapeStyle, StrokeDashType, XmlObject } from "pptx-viewer-core";
3
3
  import { AccountAuthConfig, CollaborationConfig as CollaborationConfig$1, CollaborationRole, ElementAnimationState, ElementClipboardPayload, PowerPointViewerAPI, THEME_CATALOG, ThemeCatalogEntry, ThemeCatalogEntry as ThemeCatalogEntry$1, ToolbarActionId, ViewerFontSource, ViewerMode as ViewerMode$1, ViewerTheme, ViewerThemeColors, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from "pptx-viewer-shared";
4
+ import { ChatTransport, LanguageModel, ToolSet, UIMessage } from "ai";
5
+ import "pptx-viewer-mcp";
4
6
  import React$1 from "react";
5
7
  import { Doc } from "yjs";
6
8
  //#region src/viewer/types-core.d.ts
@@ -172,6 +174,228 @@ declare function ViewerThemeProvider({ theme, children }: ViewerThemeProviderPro
172
174
  */
173
175
  declare function useViewerTheme(): ViewerTheme | undefined;
174
176
  //#endregion
177
+ //#region ../shared/dist/ai/index.d.ts
178
+ //#endregion
179
+ //#region src/ai/change-animator.d.ts
180
+ /** Host-tunable options for how AI edits are animated on the canvas. */
181
+ interface AiChangeAnimationConfig {
182
+ /** Master switch. Default true. */
183
+ enabled?: boolean;
184
+ /** How long the motion + glow plays, in ms. Default 900. */
185
+ durationMs?: number;
186
+ /** Draw the pulsing glow highlight on changed elements. Default true. */
187
+ glow?: boolean;
188
+ /** Glide old->new bounds and cross-fade colours. Default true. */
189
+ tween?: boolean;
190
+ /** Accent colour (any CSS colour) for the glow/ghosts. Default a blue. */
191
+ color?: string;
192
+ }
193
+ //#endregion
194
+ //#region src/ai/config.d.ts
195
+ /** The UI message shape exchanged with the assistant. Alias of the SDK type. */
196
+ type PptxAiUIMessage = UIMessage;
197
+ /**
198
+ * Canonical name of every tool the assistant can call. Document tools mirror the
199
+ * `pptx-viewer-mcp` server exactly (they ARE the same functions, run against the
200
+ * live deck); the viewer-only tools (navigation, deck outline, element/notes
201
+ * readers, table merge) have no MCP counterpart.
202
+ */
203
+ type PptxAiToolName = 'get_deck_overview' | 'get_slide' | 'get_element' | 'get_speaker_notes' | 'find_text' | 'get_theme' | 'go_to_slide' | 'select_elements' | 'merge_tables' | 'get_metadata' | 'get_layouts' | 'find_placeholders' | 'get_presentation_properties' | 'run_accessibility_check' | 'convert_to_markdown' | 'add_element' | 'update_element' | 'delete_elements' | 'arrange_elements' | 'clone_element' | 'set_element_animation' | 'group_elements' | 'ungroup_elements' | 'batch_update_elements' | 'update_element_style' | 'replace_geometry' | 'set_element_lock' | 'manage_hyperlinks' | 'replace_text' | 'manage_comments' | 'update_table_cells' | 'manage_table_structure' | 'create_chart' | 'update_chart' | 'add_chart_series' | 'remove_chart_series' | 'update_chart_series_data' | 'manage_smart_art' | 'apply_template' | 'add_slide' | 'duplicate_slide' | 'delete_slides' | 'reorder_slides' | 'update_slide_properties' | 'set_slide_transition' | 'apply_theme_preset' | 'update_theme_colors' | 'update_theme_fonts' | 'set_canvas_size' | 'update_metadata' | 'manage_sections' | 'update_presentation_properties' | 'apply_layout';
204
+ type Resolvable<T> = T | (() => T | Promise<T>);
205
+ /** How the assistant reaches a language model. */
206
+ type PptxAiConnection =
207
+ /**
208
+ * Post messages to a host backend route (recommended for production so the
209
+ * provider API key stays server-side). Maps to `DefaultChatTransport`.
210
+ */
211
+ {
212
+ kind: 'endpoint';
213
+ api: string;
214
+ headers?: Resolvable<Record<string, string>>;
215
+ body?: Resolvable<Record<string, unknown>>;
216
+ credentials?: RequestCredentials;
217
+ fetch?: typeof globalThis.fetch;
218
+ } |
219
+ /**
220
+ * Run a language model in-process in the browser (bring-your-own key /
221
+ * local model). Maps to a `ToolLoopAgent` behind a `DirectChatTransport`.
222
+ */
223
+ {
224
+ kind: 'model';
225
+ model: LanguageModel;
226
+ system?: string;
227
+ maxSteps?: number;
228
+ } |
229
+ /** Provide a fully-constructed transport (advanced / testing escape hatch). */
230
+ {
231
+ kind: 'transport';
232
+ transport: ChatTransport<PptxAiUIMessage>;
233
+ };
234
+ /** How writes proposed by the assistant reach the document. */
235
+ type PptxAiWritePolicy = 'stage' | 'approve' | 'auto';
236
+ /** Which deck context is fed to the model with each turn. */
237
+ type PptxAiContextStrategy = 'outline' | 'current-slide' | 'none';
238
+ /** Optional per-session history persistence hooks. */
239
+ interface PptxAiHistoryHooks {
240
+ load?(id: string): Promise<PptxAiUIMessage[]>;
241
+ save?(id: string, messages: PptxAiUIMessage[]): Promise<void>;
242
+ }
243
+ /** Complete host configuration for an AI chat session. */
244
+ interface PptxAiConfig {
245
+ connection: PptxAiConnection;
246
+ /** Extra host instructions appended to the base system prompt. */
247
+ systemPromptExtras?: string;
248
+ tools?: {
249
+ /** Allowlist. When set, only these tools are exposed. */
250
+ enabled?: PptxAiToolName[];
251
+ /** Denylist, applied after `enabled`. */
252
+ disabled?: PptxAiToolName[];
253
+ /** Additional host-defined tools merged into the tool set. */
254
+ extra?: ToolSet;
255
+ };
256
+ /** Default `'stage'`. */
257
+ writePolicy?: PptxAiWritePolicy;
258
+ /** Default `'outline'`. */
259
+ contextStrategy?: PptxAiContextStrategy;
260
+ history?: PptxAiHistoryHooks;
261
+ /**
262
+ * How AI edits are animated on the canvas so the user can watch them land
263
+ * (glide old->new, fade/scale in-out, glow-pulse). Omit for the defaults;
264
+ * set `{ enabled: false }` to turn it off.
265
+ */
266
+ changeAnimation?: AiChangeAnimationConfig;
267
+ onError?(error: Error): void;
268
+ }
269
+ //#endregion
270
+ //#region src/ai/bridge.d.ts
271
+ /** Lightweight, model-friendly summary of the whole deck. */
272
+ interface PptxAiDeckMeta {
273
+ /** Total number of slides. */
274
+ slideCount: number;
275
+ /** Zero-based index of the currently active slide. */
276
+ activeSlideIndex: number;
277
+ /** Deck title, when known (first slide title / core properties). */
278
+ title?: string;
279
+ /** Slide canvas width in CSS pixels. */
280
+ width: number;
281
+ /** Slide canvas height in CSS pixels. */
282
+ height: number;
283
+ }
284
+ /** Severity hint for {@link PptxAiBridge.notify}. */
285
+ type PptxAiNotifyLevel = 'info' | 'success' | 'warning' | 'error';
286
+ /**
287
+ * A target the user has scoped the assistant to: either a whole slide or a
288
+ * single element on a slide. Returned by {@link PptxAiBridge.getFocusedTargets}
289
+ * so the context builder can tell the model exactly what to focus on.
290
+ */
291
+ type PptxAiFocusedTarget = {
292
+ kind: 'slide';
293
+ slideIndex: number;
294
+ } | {
295
+ kind: 'element';
296
+ slideIndex: number;
297
+ elementId: string;
298
+ };
299
+ /**
300
+ * A pure updater over the deck's slides. It receives a deep clone of the
301
+ * current slides (mutation-safe) and returns the next slides array. The bridge
302
+ * commits the returned array as ONE history entry.
303
+ */
304
+ type PptxAiSlidesUpdater = (slides: PptxSlide[]) => PptxSlide[];
305
+ /**
306
+ * A pure updater over the whole parsed deck ({@link PptxData}). Mirrors the
307
+ * `pptx-viewer-mcp` tool model (data in, mutated data out) so presentation-level
308
+ * MCP tools (metadata, sections, canvas size, presentation properties, layouts)
309
+ * can be committed as ONE undoable history entry through {@link
310
+ * PptxAiBridge.applyDeckData}. Optional: bindings that only track slide/theme
311
+ * state can omit it, in which case those presentation-level tools report that
312
+ * they are unavailable in this viewer while every slide/theme tool still works.
313
+ */
314
+ type PptxAiDataUpdater = (data: PptxData) => PptxData;
315
+ /** Field-level updates for a single element, mirroring the MCP update vocab. */
316
+ interface PptxAiElementUpdate {
317
+ x?: number;
318
+ y?: number;
319
+ width?: number;
320
+ height?: number;
321
+ rotation?: number;
322
+ opacity?: number;
323
+ hidden?: boolean;
324
+ flipHorizontal?: boolean;
325
+ flipVertical?: boolean;
326
+ text?: string;
327
+ fontSize?: number;
328
+ fontFamily?: string;
329
+ fontColor?: string;
330
+ bold?: boolean;
331
+ italic?: boolean;
332
+ underline?: boolean;
333
+ align?: 'left' | 'center' | 'right' | 'justify';
334
+ fillColor?: string;
335
+ strokeColor?: string;
336
+ strokeWidth?: number;
337
+ }
338
+ /**
339
+ * Implemented by each binding to expose its live editor to the AI core.
340
+ *
341
+ * Read methods must be cheap and synchronous. Write methods must route through
342
+ * the binding's editor-history layer so AI edits are undoable like manual ones.
343
+ */
344
+ interface PptxAiBridge {
345
+ /** Return a summary of the whole deck. */
346
+ getDeckMeta(): PptxAiDeckMeta;
347
+ /** Return the deck's slides. Callers must not mutate the returned array. */
348
+ getSlides(): PptxSlide[];
349
+ /** Return the zero-based index of the active slide. */
350
+ getActiveSlideIndex(): number;
351
+ /** Return the resolved presentation theme, when available. */
352
+ getTheme(): PptxTheme | undefined;
353
+ /** Return the underlying core handler, when the binding exposes one. */
354
+ getHandler(): PptxHandler | undefined;
355
+ /** Navigate the viewer to a slide by zero-based index. */
356
+ goToSlide(index: number): void;
357
+ /** Select the given elements on a slide (empty array clears selection). */
358
+ selectElements(slideIndex: number, elementIds: string[]): void;
359
+ /**
360
+ * Apply a slides updater as a single, atomic, undoable history entry. The
361
+ * binding is responsible for cloning current slides before calling
362
+ * `updater` and for installing the result.
363
+ */
364
+ applySlidesUpdate(updater: PptxAiSlidesUpdater, label: string): void;
365
+ /** Apply field updates to one element as a single history entry. */
366
+ updateElement(slideIndex: number, elementId: string, updates: PptxAiElementUpdate): void;
367
+ /** Apply partial theme updates as a single history entry. */
368
+ applyTheme(updates: Partial<PptxTheme>): void;
369
+ /**
370
+ * Return the full parsed {@link PptxData} for the open deck, with the live
371
+ * (edited) slides and theme overlaid. Enables `pptx-viewer-mcp` tools that
372
+ * read presentation-level state (metadata, sections, layouts, presentation
373
+ * properties). Optional: when absent, the AI core synthesises a minimal
374
+ * PptxData from slides + dimensions, which is enough for every slide/theme
375
+ * tool but not for presentation-level reads.
376
+ */
377
+ getDeckData?(): PptxData | undefined;
378
+ /**
379
+ * Commit a whole-deck {@link PptxData} mutation as one undoable history entry.
380
+ * Used to apply presentation-level MCP tool results (metadata, sections,
381
+ * canvas size, presentation properties, layouts). Optional: when absent,
382
+ * those tools report they are not supported in this viewer; slide/theme tools
383
+ * are unaffected (they route through {@link PptxAiBridge.applySlidesUpdate}
384
+ * and {@link PptxAiBridge.applyTheme}).
385
+ */
386
+ applyDeckData?(updater: PptxAiDataUpdater, label: string): void;
387
+ /**
388
+ * Return the slides / elements the user has scoped the assistant to, if any.
389
+ * When present and non-empty, the context builder tells the model to focus on
390
+ * exactly these targets. Optional so existing bridges satisfy the contract
391
+ * without change; a bridge that does not implement it behaves as before (no
392
+ * focus scoping).
393
+ */
394
+ getFocusedTargets?(): PptxAiFocusedTarget[];
395
+ /** Surface a transient message in the host UI (toast / status line). */
396
+ notify?(message: string, level?: PptxAiNotifyLevel): void;
397
+ }
398
+ //#endregion
175
399
  //#region src/viewer/hooks/collaboration/types.d.ts
176
400
  /** Connection lifecycle states for the Yjs WebSocket provider. */
177
401
  type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
@@ -512,11 +736,11 @@ interface PowerPointViewerProps {
512
736
  serverUrl?: string;
513
737
  };
514
738
  /**
515
- * Opt in to the experimental Three.js SmartArt renderer. When `true`,
516
- * SmartArt diagrams render as extruded 3D blocks on a WebGL canvas instead
517
- * of flat SVG. Requires the optional `three` peer dependency; when it is not
518
- * installed (or the diagram has no geometry), the viewer transparently falls
519
- * back to the SVG `SmartArtRenderer`. Default `false`.
739
+ * Opt in to the Three.js SmartArt renderer. When `true`, SmartArt diagrams
740
+ * render as extruded 3D blocks on a WebGL canvas instead of flat SVG.
741
+ * Requires the optional `three` peer dependency; when it is not installed
742
+ * (or the diagram has no geometry), the viewer transparently falls back to
743
+ * the SVG `SmartArtRenderer`. Default `false`.
520
744
  */
521
745
  smartArt3D?: boolean;
522
746
  /**
@@ -537,10 +761,28 @@ interface PowerPointViewerProps {
537
761
  * ```
538
762
  */
539
763
  hiddenActions?: ToolbarActionId[];
764
+ /**
765
+ * Opt in to the built-in AI assistant. When provided, a Sparkles toggle
766
+ * appears in the toolbar and opens a chat panel wired to this config; when
767
+ * omitted, no AI icon renders and no AI code is loaded (the panel and its
768
+ * `@ai-sdk/react` dependency are `React.lazy`-imported only on first open).
769
+ *
770
+ * The host supplies the model connection (a backend `endpoint`, an in-browser
771
+ * `model`, or a custom `transport`) plus optional tool allow/deny lists and a
772
+ * write policy. Requires the optional `ai` and `@ai-sdk/react` peers.
773
+ *
774
+ * @example
775
+ * ```tsx
776
+ * <PowerPointViewer content={bytes} ai={{ connection: { kind: 'model', model } }} />
777
+ * ```
778
+ *
779
+ * @see {@link PptxAiConfig}
780
+ */
781
+ ai?: PptxAiConfig;
540
782
  }
541
783
  interface PowerPointViewerHandle extends FileViewerHandle, PowerPointViewerAPI {
542
784
  getContent: () => Promise<Uint8Array>;
543
785
  }
544
786
  //#endregion
545
- export { ResizeState as $, useViewerTheme as A, vermilionRadius as B, ToolbarSection as C, ConnectionStatus as D, CollaborationRole as E, themeToCssVars as F, CanvasSize as G, defaultThemeColors as H, vermilionDarkColors as I, DragState as J, ConnectorGeometryType as K, vermilionDarkTheme as L, ThemeCatalogEntry$1 as M, resolveThemeCatalogEntry as N, UserPresence as O, defaultCssVars as P, ResizeHandle as Q, vermilionLightColors as R, TableCellEditorState as S, CollaborationContextValue as T, ViewerTheme as U, defaultRadius as V, ViewerThemeColors as W, ElementBounds as X, EditorHistorySnapshot as Y, ElementClipboardPayload as Z, ShortcutReferenceItem as _, ConnectorGeometryOption as a, SlideTransitionOption as b, ElementContextMenuState as c, ParsedTableCell as d, ShapeAdjustmentDragState as et, ParsedTableData as f, ShapePreset as g, PresentationAnimationRuntime as h, ConnectorArrowOption as i, ViewerMode$1 as it, THEME_CATALOG as j, ViewerThemeProvider as k, FileViewerHandle as l, PowerPointViewerProps as m, AccessibilityIssue as n, ShapeQuickStyle as nt, DrawingTool as o, PowerPointViewerHandle as p, ConnectorPathGeometry as q, AnimationPresetOption as r, SupportedShapeType as rt, ElementContextMenuAction as s, ElementAnimationState as t, ShapeAdjustmentHandleDescriptor as tt, MarqueeSelectionState as u, SlideAlignment as v, CollaborationConfig$1 as w, StrokeDashOption as x, SlideSectionGroup as y, vermilionLightTheme as z };
546
- //# sourceMappingURL=animation-timeline-CEJJLFqK.d.ts.map
787
+ export { ConnectorPathGeometry as $, PptxAiConfig as A, defaultCssVars as B, ToolbarSection as C, ConnectionStatus as D, CollaborationRole as E, ViewerThemeProvider as F, vermilionLightTheme as G, vermilionDarkColors as H, useViewerTheme as I, defaultThemeColors as J, vermilionRadius as K, THEME_CATALOG as L, PptxAiContextStrategy as M, PptxAiToolName as N, UserPresence as O, PptxAiWritePolicy as P, ConnectorGeometryType as Q, ThemeCatalogEntry$1 as R, TableCellEditorState as S, CollaborationContextValue as T, vermilionDarkTheme as U, themeToCssVars as V, vermilionLightColors as W, ViewerThemeColors as X, ViewerTheme as Y, CanvasSize as Z, ShortcutReferenceItem as _, ConnectorGeometryOption as a, ResizeState as at, SlideTransitionOption as b, ElementContextMenuState as c, ShapeQuickStyle as ct, ParsedTableCell as d, DragState as et, ParsedTableData as f, ShapePreset as g, PresentationAnimationRuntime as h, ConnectorArrowOption as i, ResizeHandle as it, PptxAiConnection as j, PptxAiBridge as k, FileViewerHandle as l, SupportedShapeType as lt, PowerPointViewerProps as m, AccessibilityIssue as n, ElementBounds as nt, DrawingTool as o, ShapeAdjustmentDragState as ot, PowerPointViewerHandle as p, defaultRadius as q, AnimationPresetOption as r, ElementClipboardPayload as rt, ElementContextMenuAction as s, ShapeAdjustmentHandleDescriptor as st, ElementAnimationState as t, EditorHistorySnapshot as tt, MarqueeSelectionState as u, ViewerMode$1 as ut, SlideAlignment as v, CollaborationConfig$1 as w, StrokeDashOption as x, SlideSectionGroup as y, resolveThemeCatalogEntry as z };
788
+ //# sourceMappingURL=animation-timeline-eb5z0SHW.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-timeline-eb5z0SHW.d.ts","names":[],"sources":["../src/viewer/types-core.ts","../src/theme/context.tsx","../../shared/dist/ai/index.d.ts","../src/viewer/hooks/collaboration/types.ts","../src/viewer/types-ui.ts"],"mappings":"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"}
@@ -56,6 +56,71 @@ var translationsEn = {
56
56
  "pptx.toolbar.settingsShortcuts": "Settings & Shortcuts",
57
57
  "pptx.toolbar.settings": "Settings",
58
58
  "pptx.toolbar.readOnly": "Read-only",
59
+ "pptx.toolbar.toggleAiAssistant": "Toggle AI assistant",
60
+ // AI assistant
61
+ "pptx.ai.title": "AI Assistant",
62
+ "pptx.ai.close": "Close AI assistant",
63
+ "pptx.ai.placeholder": "Ask about this deck\u2026",
64
+ "pptx.ai.send": "Send",
65
+ "pptx.ai.stop": "Stop",
66
+ "pptx.ai.thinking": "Thinking\u2026",
67
+ "pptx.ai.you": "You",
68
+ "pptx.ai.assistant": "Assistant",
69
+ "pptx.ai.emptyTitle": "Ask the assistant",
70
+ "pptx.ai.emptyHint": "Describe a change or ask a question about your presentation.",
71
+ "pptx.ai.unavailableTitle": "AI assistant unavailable",
72
+ "pptx.ai.unavailableHint": 'The optional "ai" SDK is not installed.',
73
+ "pptx.ai.errorPrefix": "Something went wrong",
74
+ "pptx.ai.retry": "Retry",
75
+ "pptx.ai.toolRunning": "Working",
76
+ "pptx.ai.toolDone": "Done",
77
+ "pptx.ai.toolFailed": "Failed",
78
+ "pptx.ai.toolDetails": "Details",
79
+ "pptx.ai.proposedChange": "Suggested change",
80
+ "pptx.ai.accept": "Apply",
81
+ "pptx.ai.reject": "Discard",
82
+ "pptx.ai.acceptAll": "Apply all",
83
+ "pptx.ai.pendingChanges": "Suggested changes ({{count}})",
84
+ "pptx.ai.moreChanges": "+{{count}} more",
85
+ // Canvas -> Ask AI affordances
86
+ "pptx.ai.askAboutElement": "Ask AI about this",
87
+ "pptx.ai.fixElement": "Fix with AI",
88
+ // Focused-target chips
89
+ "pptx.ai.focusScope": "Focus",
90
+ "pptx.ai.pinFocus": "Pin this selection",
91
+ "pptx.ai.pinnedFocus": "Pinned",
92
+ "pptx.ai.clearFocus": "Clear focus",
93
+ "pptx.ai.mergeSelectedTables": "Merge selected tables",
94
+ // Pick-an-element mode
95
+ "pptx.ai.pickElement": "Point at a slide element",
96
+ "pptx.ai.pickElementHint": "Click an element on the slide",
97
+ "pptx.ai.pickDone": "Done",
98
+ "pptx.ai.pickClear": "Clear",
99
+ "pptx.ai.pickAria": "Pick an element for the assistant",
100
+ // Applied (theme) confirmation
101
+ "pptx.ai.applied": "Applied",
102
+ "pptx.ai.undo": "Undo",
103
+ // Chat history / sessions
104
+ "pptx.ai.chats": "Chats",
105
+ "pptx.ai.newChat": "New chat",
106
+ "pptx.ai.clearChat": "Clear chat",
107
+ "pptx.ai.deleteChat": "Delete chat",
108
+ "pptx.ai.historyTitle": "Saved chats",
109
+ "pptx.ai.historyEmpty": "No saved chats yet.",
110
+ "pptx.ai.historyHint": "Chats are saved in this browser.",
111
+ "pptx.ai.untitledChat": "Untitled chat",
112
+ "pptx.ai.messageCount": "{{count}} messages",
113
+ // AI settings section (File > Options > AI): detailed chat-log export.
114
+ "pptx.ai.settingsSectionTitle": "AI",
115
+ "pptx.ai.exportLogs": "Export chat logs",
116
+ "pptx.ai.exportLogsHint": "Download a detailed log of every saved AI chat, including each tool call's inputs and outputs. For technical users and debugging.",
117
+ "pptx.ai.exportLogsCounting": "Counting saved chats\u2026",
118
+ "pptx.ai.exportLogsStoredCount": "{{count}} saved chats in this browser.",
119
+ "pptx.ai.exportLogsDetailed": "Include tool call inputs and outputs",
120
+ "pptx.ai.exportLogsJson": "Export JSON",
121
+ "pptx.ai.exportLogsMarkdown": "Export Markdown",
122
+ "pptx.ai.exportLogsDone": "Exported {{count}} chats.",
123
+ "pptx.ai.noChatsToExport": "No saved chats to export.",
59
124
  // Find & Replace
60
125
  "pptx.findReplace.title": "Find & Replace",
61
126
  "pptx.findReplace.closeEscape": "Close (Escape)",
Binary file
Binary file
@@ -15,6 +15,10 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
15
15
  var __commonJS = (cb, mod) => function __require2() {
16
16
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
17
  };
18
+ var __export = (target, all) => {
19
+ for (var name in all)
20
+ __defProp(target, name, { get: all[name], enumerable: true });
21
+ };
18
22
  var __copyProps = (to, from, except, desc) => {
19
23
  if (from && typeof from === "object" || typeof from === "function") {
20
24
  for (let key of __getOwnPropNames(from))
@@ -33,5 +37,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
33
37
  ));
34
38
 
35
39
  exports.__commonJS = __commonJS;
40
+ exports.__export = __export;
36
41
  exports.__require = __require;
37
42
  exports.__toESM = __toESM;
Binary file
Binary file