pptx-react-viewer 1.25.5 → 2.1.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 (231) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +2 -2
  3. package/dist/AiChatPanel-RFBZWMUE.mjs +1087 -0
  4. package/dist/AiChatPanel-RFBZWMUE.mjs.br +0 -0
  5. package/dist/AiChatPanel-RFBZWMUE.mjs.gz +0 -0
  6. package/dist/AiChatPanel-VCCVHAAI.js +1089 -0
  7. package/dist/AiChatPanel-VCCVHAAI.js.br +0 -0
  8. package/dist/AiChatPanel-VCCVHAAI.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-XVYOISVJ.mjs → Model3DScene-2M6HVWTE.mjs} +3 -3
  16. package/dist/Model3DScene-2M6HVWTE.mjs.br +0 -0
  17. package/dist/Model3DScene-2M6HVWTE.mjs.gz +0 -0
  18. package/dist/{Model3DScene-Y5ABLO7K.js → Model3DScene-RQIGSYGQ.js} +4 -4
  19. package/dist/Model3DScene-RQIGSYGQ.js.br +0 -0
  20. package/dist/Model3DScene-RQIGSYGQ.js.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-2FVASQGC.js} +4 -4
  36. package/dist/SurfaceChart3DScene-2FVASQGC.js.br +0 -0
  37. package/dist/SurfaceChart3DScene-2FVASQGC.js.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-RXZADECL.mjs → SurfaceChart3DScene-EGMWY4CZ.mjs} +3 -3
  39. package/dist/SurfaceChart3DScene-EGMWY4CZ.mjs.br +0 -0
  40. package/dist/SurfaceChart3DScene-EGMWY4CZ.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-FVQDRA5N.mjs → chunk-27XBWVO5.mjs} +3815 -415
  44. package/dist/chunk-27XBWVO5.mjs.br +0 -0
  45. package/dist/chunk-27XBWVO5.mjs.gz +0 -0
  46. package/dist/{chunk-M3SIFXWD.mjs → chunk-2X72MOPZ.mjs} +65 -0
  47. package/dist/chunk-2X72MOPZ.mjs.br +0 -0
  48. package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
  49. package/dist/{chunk-TEN35NUX.js → chunk-46Z6MNRS.js} +3877 -455
  50. package/dist/chunk-46Z6MNRS.js.br +0 -0
  51. package/dist/chunk-46Z6MNRS.js.gz +0 -0
  52. package/dist/{chunk-QGM4M3NI.js → chunk-4VNS5WPM.js} +5 -0
  53. package/dist/chunk-4VNS5WPM.js.br +0 -0
  54. package/dist/chunk-4VNS5WPM.js.gz +0 -0
  55. package/dist/{chunk-FOMF7POV.mjs → chunk-6YXLGMTN.mjs} +2493 -1588
  56. package/dist/chunk-6YXLGMTN.mjs.br +0 -0
  57. package/dist/chunk-6YXLGMTN.mjs.gz +0 -0
  58. package/dist/chunk-7DQHWPIB.mjs +8029 -0
  59. package/dist/chunk-7DQHWPIB.mjs.br +0 -0
  60. package/dist/chunk-7DQHWPIB.mjs.gz +0 -0
  61. package/dist/chunk-BHVCED34.mjs +16664 -0
  62. package/dist/chunk-BHVCED34.mjs.br +0 -0
  63. package/dist/chunk-BHVCED34.mjs.gz +0 -0
  64. package/dist/{chunk-IPYAN574.js → chunk-CLNGAVNH.js} +2495 -1587
  65. package/dist/chunk-CLNGAVNH.js.br +0 -0
  66. package/dist/chunk-CLNGAVNH.js.gz +0 -0
  67. package/dist/{chunk-2EFVXYNA.js → chunk-CUUYYYC5.js} +65 -0
  68. package/dist/chunk-CUUYYYC5.js.br +0 -0
  69. package/dist/chunk-CUUYYYC5.js.gz +0 -0
  70. package/dist/chunk-LDF77JJD.js +8121 -0
  71. package/dist/chunk-LDF77JJD.js.br +0 -0
  72. package/dist/chunk-LDF77JJD.js.gz +0 -0
  73. package/dist/{chunk-F4WPQRZU.mjs → chunk-NGE7YQTF.mjs} +3866 -11224
  74. package/dist/chunk-NGE7YQTF.mjs.br +0 -0
  75. package/dist/chunk-NGE7YQTF.mjs.gz +0 -0
  76. package/dist/chunk-SYPHGLIB.js +16701 -0
  77. package/dist/chunk-SYPHGLIB.js.br +0 -0
  78. package/dist/chunk-SYPHGLIB.js.gz +0 -0
  79. package/dist/{chunk-7CSBUYRN.js → chunk-VHO53ZXZ.js} +2083 -940
  80. package/dist/chunk-VHO53ZXZ.js.br +0 -0
  81. package/dist/chunk-VHO53ZXZ.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-L4ZADJOM.mjs → chunk-Y4OSELBT.mjs} +1295 -152
  86. package/dist/chunk-Y4OSELBT.mjs.br +0 -0
  87. package/dist/chunk-Y4OSELBT.mjs.gz +0 -0
  88. package/dist/chunk-ZRY7NLKS.js +11208 -0
  89. package/dist/chunk-ZRY7NLKS.js.br +0 -0
  90. package/dist/chunk-ZRY7NLKS.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-nAyIdGqF.d.ts} +4 -4
  104. package/dist/{index-J6IuHQ2_.d.ts.map → index-nAyIdGqF.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} +1323 -959
  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 +23 -9
  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.br +0 -0
  178. package/dist/SurfaceChart3DScene-WMY5JTW4.js.gz +0 -0
  179. package/dist/animation-timeline-CEJJLFqK.d.ts.map +0 -1
  180. package/dist/chunk-2EFVXYNA.js.br +0 -0
  181. package/dist/chunk-2EFVXYNA.js.gz +0 -0
  182. package/dist/chunk-6DZX6EAA.mjs.br +0 -0
  183. package/dist/chunk-6DZX6EAA.mjs.gz +0 -0
  184. package/dist/chunk-7CSBUYRN.js.br +0 -0
  185. package/dist/chunk-7CSBUYRN.js.gz +0 -0
  186. package/dist/chunk-E55Q4AC7.js +0 -18639
  187. package/dist/chunk-E55Q4AC7.js.br +0 -0
  188. package/dist/chunk-E55Q4AC7.js.gz +0 -0
  189. package/dist/chunk-F4WPQRZU.mjs.br +0 -0
  190. package/dist/chunk-F4WPQRZU.mjs.gz +0 -0
  191. package/dist/chunk-FOMF7POV.mjs.br +0 -0
  192. package/dist/chunk-FOMF7POV.mjs.gz +0 -0
  193. package/dist/chunk-FVQDRA5N.mjs.br +0 -0
  194. package/dist/chunk-FVQDRA5N.mjs.gz +0 -0
  195. package/dist/chunk-IPYAN574.js.br +0 -0
  196. package/dist/chunk-IPYAN574.js.gz +0 -0
  197. package/dist/chunk-L4ZADJOM.mjs.br +0 -0
  198. package/dist/chunk-L4ZADJOM.mjs.gz +0 -0
  199. package/dist/chunk-M3SIFXWD.mjs.br +0 -0
  200. package/dist/chunk-M3SIFXWD.mjs.gz +0 -0
  201. package/dist/chunk-QGM4M3NI.js.br +0 -0
  202. package/dist/chunk-QGM4M3NI.js.gz +0 -0
  203. package/dist/chunk-TEN35NUX.js.br +0 -0
  204. package/dist/chunk-TEN35NUX.js.gz +0 -0
  205. package/dist/dist-755SJ3ZH.js.br +0 -0
  206. package/dist/dist-755SJ3ZH.js.gz +0 -0
  207. package/dist/dist-FFWP5NQZ.mjs +0 -2
  208. package/dist/dist-FFWP5NQZ.mjs.br +0 -0
  209. package/dist/dist-FFWP5NQZ.mjs.gz +0 -0
  210. package/dist/hooks-unstable.d.ts.map +0 -1
  211. package/dist/hooks-unstable.js.br +0 -0
  212. package/dist/hooks-unstable.js.gz +0 -0
  213. package/dist/hooks-unstable.mjs.br +0 -0
  214. package/dist/hooks-unstable.mjs.gz +0 -0
  215. package/dist/three.module-7CXEVRKB.mjs.br +0 -0
  216. package/dist/three.module-7CXEVRKB.mjs.gz +0 -0
  217. package/dist/three.module-CPZZFD2Q.js.br +0 -0
  218. package/dist/three.module-CPZZFD2Q.js.gz +0 -0
  219. package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts.map +0 -1
  220. package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
  221. package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
  222. package/dist/y-webrtc-QCZF75JW.js.br +0 -0
  223. package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
  224. package/dist/y-websocket-57Q3RNHC.mjs.br +0 -0
  225. package/dist/y-websocket-57Q3RNHC.mjs.gz +0 -0
  226. package/dist/y-websocket-QJEM6VOB.js.br +0 -0
  227. package/dist/y-websocket-QJEM6VOB.js.gz +0 -0
  228. package/dist/yjs-UH3EPF3C.js.br +0 -0
  229. package/dist/yjs-UH3EPF3C.js.gz +0 -0
  230. package/dist/yjs-Y7IYUWOG.mjs.br +0 -0
  231. package/dist/yjs-Y7IYUWOG.mjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,32 @@ 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.0.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.0.0) - 2026-07-23
8
+
9
+ ### Features
10
+
11
+ - **react:** Rename hooks-unstable subpath to internals (by @ChristopherVR) ([03fc39c](https://github.com/ChristopherVR/pptx-viewer/commit/03fc39c574a3a411f9b28b62d3a79f2699ad839e))
12
+ - **shared:** Ai config, loader and bridge contracts (by @ChristopherVR) ([1c40e28](https://github.com/ChristopherVR/pptx-viewer/commit/1c40e28b1661895e2993b01c11bea6262459cb88))
13
+ - **react:** Add ai bridge and chat session hooks (by @ChristopherVR) ([9a153a7](https://github.com/ChristopherVR/pptx-viewer/commit/9a153a752c47c5e2c140bf58de2984682bcc39ee))
14
+ - **shared:** Indexeddb-first ai chat history store (by @ChristopherVR) ([88920f2](https://github.com/ChristopherVR/pptx-viewer/commit/88920f20eb00e72b84efa9ef2cb500dfd6d20db4))
15
+ - **shared:** Rebuild AI assistant tools on pptx-viewer-mcp (by @ChristopherVR) ([da1c31e](https://github.com/ChristopherVR/pptx-viewer/commit/da1c31ee88c0b60a82628003c8a1b16245f028ed))
16
+ - **core:** Upgrade emf-converter to 2.0.0 (breaking) (by @ChristopherVR) ([effa4e5](https://github.com/ChristopherVR/pptx-viewer/commit/effa4e5338b2b01796a3671f505bcb4563de74cc))
17
+
18
+ ### Documentation
19
+
20
+ - Friendly 2.0.0 changelog for root and packages (by @ChristopherVR) ([f56564d](https://github.com/ChristopherVR/pptx-viewer/commit/f56564de0dea3f3aa6f0bdf5ad5ed1bf6e9d4823))
21
+
22
+ ### Testing
23
+
24
+ - **react:** Ai panel gating and proposals (by @ChristopherVR) ([59e35e0](https://github.com/ChristopherVR/pptx-viewer/commit/59e35e082cfed944f756a5d2fb74c593e0592da4))
25
+ - **shared:** Opt-in live gpt-4o-mini ai integration test (by @ChristopherVR) ([48622f1](https://github.com/ChristopherVR/pptx-viewer/commit/48622f135a5f2ee4c28d97d08478d3c203745f47))
26
+
27
+ ### Build & CI
28
+
29
+ - **shared:** Keep the ai SDK external across bindings (by @ChristopherVR) ([fa5e6b7](https://github.com/ChristopherVR/pptx-viewer/commit/fa5e6b77e6586764d9e7717439f574291810e93b))
30
+
31
+ ## [1.25.5](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.25.5) - 2026-07-19
32
+
7
33
  ## [1.25.4](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.25.4) - 2026-07-19
8
34
 
9
35
  ## [1.25.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.25.3) - 2026-07-19
package/README.md CHANGED
@@ -20,7 +20,7 @@ Slides render with real **HTML/CSS** (not `<canvas>`), so text stays crisp at an
20
20
  npm install pptx-react-viewer
21
21
  ```
22
22
 
23
- Then add the React peer dependencies your app uses:
23
+ Then add the React peer dependencies your app uses (`react` / `react-dom` may be ^18.2 or ^19; both majors run the full test suite in CI):
24
24
 
25
25
  ```bash
26
26
  npm install react react-dom framer-motion lucide-react react-icons jspdf jszip fast-xml-parser i18next react-i18next
@@ -238,7 +238,7 @@ UI labels go through [i18next](https://www.i18next.com/) / [react-i18next](https
238
238
 
239
239
  You only need the `<PowerPointViewer>` component; everything else is internal. Behind it, the logic lives in many small, focused React hooks, and the components themselves just draw what those hooks produce. Slides are rendered as ordinary HTML and CSS (charts as inline SVG, tables as real `<table>` elements), which is why text stays sharp, selectable, and accessible. For the full component tree, the rendering pipeline, the animation and transition engine, connector routing, collaboration, and a file-by-file map, see the [full documentation](https://christophervr.github.io/pptx-viewer/).
240
240
 
241
- A small curated set of those hooks is exported from `pptx-react-viewer/viewer` with a stable API; the complete set (67+) is also importable from `pptx-react-viewer/hooks-unstable` for advanced integrations, with **no compatibility guarantees** across releases. See the [Hooks reference](https://christophervr.github.io/pptx-viewer/react/hooks-reference) for the full list.
241
+ A small curated set of those hooks is exported from `pptx-react-viewer/viewer` with a stable API; the complete set (67+) is also importable from `pptx-react-viewer/internals` for advanced integrations. The `internals` subpath is **not covered by semver**: prefer the stable root exports. See the [Hooks reference](https://christophervr.github.io/pptx-viewer/react/hooks-reference) for the full list.
242
242
 
243
243
  ## Limitations
244
244