pptx-react-viewer 3.18.0 → 3.19.1

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 (189) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +22 -0
  3. package/dist/{AiChatPanel-T2QSCUQR.js → AiChatPanel-DLADHD56.js} +24 -24
  4. package/dist/AiChatPanel-DLADHD56.js.br +0 -0
  5. package/dist/AiChatPanel-DLADHD56.js.gz +0 -0
  6. package/dist/{AiChatPanel-DDZC6IRK.mjs → AiChatPanel-MSALNPYW.mjs} +3 -3
  7. package/dist/AiChatPanel-MSALNPYW.mjs.br +0 -0
  8. package/dist/AiChatPanel-MSALNPYW.mjs.gz +0 -0
  9. package/dist/{Area3DChartScene-WTKQDHC7.mjs → Area3DChartScene-53ZVPYKG.mjs} +1 -1
  10. package/dist/Area3DChartScene-53ZVPYKG.mjs.br +0 -0
  11. package/dist/Area3DChartScene-53ZVPYKG.mjs.gz +0 -0
  12. package/dist/{Area3DChartScene-WEU2MP3B.js → Area3DChartScene-BQQHOYRS.js} +2 -2
  13. package/dist/Area3DChartScene-BQQHOYRS.js.br +0 -0
  14. package/dist/Area3DChartScene-BQQHOYRS.js.gz +0 -0
  15. package/dist/{Bar3DChartScene-A5ICLHXS.mjs → Bar3DChartScene-IN67ZH3P.mjs} +1 -1
  16. package/dist/{Bar3DChartScene-A5ICLHXS.mjs.br → Bar3DChartScene-IN67ZH3P.mjs.br} +0 -0
  17. package/dist/Bar3DChartScene-IN67ZH3P.mjs.gz +0 -0
  18. package/dist/{Bar3DChartScene-25G6TG53.js → Bar3DChartScene-PNQOIOIH.js} +2 -2
  19. package/dist/Bar3DChartScene-PNQOIOIH.js.br +0 -0
  20. package/dist/Bar3DChartScene-PNQOIOIH.js.gz +0 -0
  21. package/dist/{Line3DChartScene-ARCDLHXQ.mjs → Line3DChartScene-4SQUUAOW.mjs} +1 -1
  22. package/dist/{Line3DChartScene-ARCDLHXQ.mjs.br → Line3DChartScene-4SQUUAOW.mjs.br} +0 -0
  23. package/dist/Line3DChartScene-4SQUUAOW.mjs.gz +0 -0
  24. package/dist/{Line3DChartScene-WRZ52Z2Z.js → Line3DChartScene-CFSTMTFH.js} +2 -2
  25. package/dist/Line3DChartScene-CFSTMTFH.js.br +0 -0
  26. package/dist/Line3DChartScene-CFSTMTFH.js.gz +0 -0
  27. package/dist/{Model3DScene-JGUG5NPX.js → Model3DScene-DXNAYZ6P.js} +2 -2
  28. package/dist/Model3DScene-DXNAYZ6P.js.br +0 -0
  29. package/dist/Model3DScene-DXNAYZ6P.js.gz +0 -0
  30. package/dist/{Model3DScene-PBKBL2YU.mjs → Model3DScene-TA55BJY7.mjs} +1 -1
  31. package/dist/Model3DScene-TA55BJY7.mjs.br +0 -0
  32. package/dist/Model3DScene-TA55BJY7.mjs.gz +0 -0
  33. package/dist/{PieChart3DScene-S25DNSRS.js → PieChart3DScene-NCBKTWAO.js} +2 -2
  34. package/dist/PieChart3DScene-NCBKTWAO.js.br +0 -0
  35. package/dist/PieChart3DScene-NCBKTWAO.js.gz +0 -0
  36. package/dist/{PieChart3DScene-ZNKXS62H.mjs → PieChart3DScene-TQOCHJOY.mjs} +1 -1
  37. package/dist/{PieChart3DScene-ZNKXS62H.mjs.br → PieChart3DScene-TQOCHJOY.mjs.br} +0 -0
  38. package/dist/PieChart3DScene-TQOCHJOY.mjs.gz +0 -0
  39. package/dist/{SurfaceChart3DScene-EBT7RPCX.mjs → SurfaceChart3DScene-7CSF2GPT.mjs} +1 -1
  40. package/dist/SurfaceChart3DScene-7CSF2GPT.mjs.br +0 -0
  41. package/dist/SurfaceChart3DScene-7CSF2GPT.mjs.gz +0 -0
  42. package/dist/{SurfaceChart3DScene-LXBC3HMV.js → SurfaceChart3DScene-VA6IRLFG.js} +2 -2
  43. package/dist/SurfaceChart3DScene-VA6IRLFG.js.br +0 -0
  44. package/dist/SurfaceChart3DScene-VA6IRLFG.js.gz +0 -0
  45. package/dist/{chunk-GNRVDNCV.mjs → chunk-3KVLOKA6.mjs} +4928 -2647
  46. package/dist/chunk-3KVLOKA6.mjs.br +0 -0
  47. package/dist/chunk-3KVLOKA6.mjs.gz +0 -0
  48. package/dist/{chunk-LJ46KXUV.js → chunk-4WUGOCYU.js} +226 -180
  49. package/dist/chunk-4WUGOCYU.js.br +0 -0
  50. package/dist/chunk-4WUGOCYU.js.gz +0 -0
  51. package/dist/{chunk-WGBXO4LM.js → chunk-AZEDCITO.js} +7284 -1263
  52. package/dist/chunk-AZEDCITO.js.br +0 -0
  53. package/dist/chunk-AZEDCITO.js.gz +0 -0
  54. package/dist/{chunk-5S3A6HL3.mjs → chunk-DNQ3PGGU.mjs} +6218 -219
  55. package/dist/chunk-DNQ3PGGU.mjs.br +0 -0
  56. package/dist/chunk-DNQ3PGGU.mjs.gz +0 -0
  57. package/dist/{chunk-V32F4I45.js → chunk-EJSRXEXA.js} +4982 -2647
  58. package/dist/chunk-EJSRXEXA.js.br +0 -0
  59. package/dist/chunk-EJSRXEXA.js.gz +0 -0
  60. package/dist/{chunk-WRO37U2O.mjs → chunk-LBKKSCVS.mjs} +1 -1
  61. package/dist/chunk-LBKKSCVS.mjs.br +0 -0
  62. package/dist/chunk-LBKKSCVS.mjs.gz +0 -0
  63. package/dist/{chunk-2OCTGK4L.mjs → chunk-RCUPQJVY.mjs} +61 -15
  64. package/dist/chunk-RCUPQJVY.mjs.br +0 -0
  65. package/dist/chunk-RCUPQJVY.mjs.gz +0 -0
  66. package/dist/{chunk-2LTTSFLD.js → chunk-YVZKXCML.js} +5 -5
  67. package/dist/chunk-YVZKXCML.js.br +0 -0
  68. package/dist/chunk-YVZKXCML.js.gz +0 -0
  69. package/dist/{chunk-3KKPRPVE.mjs → chunk-Z3KMGLXL.mjs} +216 -5460
  70. package/dist/chunk-Z3KMGLXL.mjs.br +0 -0
  71. package/dist/chunk-Z3KMGLXL.mjs.gz +0 -0
  72. package/dist/{chunk-6R2EUDJQ.js → chunk-ZHPBQVBK.js} +2024 -7268
  73. package/dist/chunk-ZHPBQVBK.js.br +0 -0
  74. package/dist/chunk-ZHPBQVBK.js.gz +0 -0
  75. package/dist/i18n/de.cjs +3765 -0
  76. package/dist/i18n/de.cjs.br +0 -0
  77. package/dist/i18n/de.cjs.gz +0 -0
  78. package/dist/i18n/de.d.cts +3 -0
  79. package/dist/i18n/de.d.mts +3 -0
  80. package/dist/i18n/de.mjs +3738 -0
  81. package/dist/i18n/de.mjs.br +0 -0
  82. package/dist/i18n/de.mjs.gz +0 -0
  83. package/dist/i18n/es.cjs +3765 -0
  84. package/dist/i18n/es.cjs.br +0 -0
  85. package/dist/i18n/es.cjs.gz +0 -0
  86. package/dist/i18n/es.d.cts +3 -0
  87. package/dist/i18n/es.d.mts +3 -0
  88. package/dist/i18n/es.mjs +3738 -0
  89. package/dist/i18n/es.mjs.br +0 -0
  90. package/dist/i18n/es.mjs.gz +0 -0
  91. package/dist/i18n/fr.cjs +3765 -0
  92. package/dist/i18n/fr.cjs.br +0 -0
  93. package/dist/i18n/fr.cjs.gz +0 -0
  94. package/dist/i18n/fr.d.cts +3 -0
  95. package/dist/i18n/fr.d.mts +3 -0
  96. package/dist/i18n/fr.mjs +3738 -0
  97. package/dist/i18n/fr.mjs.br +0 -0
  98. package/dist/i18n/fr.mjs.gz +0 -0
  99. package/dist/i18n/zh-CN.cjs +3803 -0
  100. package/dist/i18n/zh-CN.cjs.br +0 -0
  101. package/dist/i18n/zh-CN.cjs.gz +0 -0
  102. package/dist/i18n/zh-CN.d.cts +3 -0
  103. package/dist/i18n/zh-CN.d.mts +3 -0
  104. package/dist/i18n/zh-CN.mjs +3776 -0
  105. package/dist/i18n/zh-CN.mjs.br +0 -0
  106. package/dist/i18n/zh-CN.mjs.gz +0 -0
  107. package/dist/index.d.ts +65 -4
  108. package/dist/index.js +49 -45
  109. package/dist/index.js.br +0 -0
  110. package/dist/index.js.gz +0 -0
  111. package/dist/index.mjs +5 -5
  112. package/dist/index.mjs.br +0 -0
  113. package/dist/index.mjs.gz +0 -0
  114. package/dist/internals.d.ts +2408 -2055
  115. package/dist/internals.js +182 -78
  116. package/dist/internals.js.br +0 -0
  117. package/dist/internals.js.gz +0 -0
  118. package/dist/internals.mjs +3 -3
  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/viewer/index.d.ts +13 -0
  125. package/dist/viewer/index.js +26 -26
  126. package/dist/viewer/index.js.br +0 -0
  127. package/dist/viewer/index.js.gz +0 -0
  128. package/dist/viewer/index.mjs +5 -5
  129. package/dist/viewer/index.mjs.br +0 -0
  130. package/dist/viewer/index.mjs.gz +0 -0
  131. package/package.json +44 -4
  132. package/dist/AiChatPanel-DDZC6IRK.mjs.br +0 -0
  133. package/dist/AiChatPanel-DDZC6IRK.mjs.gz +0 -0
  134. package/dist/AiChatPanel-T2QSCUQR.js.br +0 -0
  135. package/dist/AiChatPanel-T2QSCUQR.js.gz +0 -0
  136. package/dist/Area3DChartScene-WEU2MP3B.js.br +0 -0
  137. package/dist/Area3DChartScene-WEU2MP3B.js.gz +0 -0
  138. package/dist/Area3DChartScene-WTKQDHC7.mjs.br +0 -0
  139. package/dist/Area3DChartScene-WTKQDHC7.mjs.gz +0 -0
  140. package/dist/Bar3DChartScene-25G6TG53.js.br +0 -0
  141. package/dist/Bar3DChartScene-25G6TG53.js.gz +0 -0
  142. package/dist/Bar3DChartScene-A5ICLHXS.mjs.gz +0 -0
  143. package/dist/Line3DChartScene-ARCDLHXQ.mjs.gz +0 -0
  144. package/dist/Line3DChartScene-WRZ52Z2Z.js.br +0 -0
  145. package/dist/Line3DChartScene-WRZ52Z2Z.js.gz +0 -0
  146. package/dist/Model3DScene-JGUG5NPX.js.br +0 -0
  147. package/dist/Model3DScene-JGUG5NPX.js.gz +0 -0
  148. package/dist/Model3DScene-PBKBL2YU.mjs.br +0 -0
  149. package/dist/Model3DScene-PBKBL2YU.mjs.gz +0 -0
  150. package/dist/PieChart3DScene-S25DNSRS.js.br +0 -0
  151. package/dist/PieChart3DScene-S25DNSRS.js.gz +0 -0
  152. package/dist/PieChart3DScene-ZNKXS62H.mjs.gz +0 -0
  153. package/dist/PowerPointViewer-Cde_wzd0.d.ts +0 -21
  154. package/dist/PowerPointViewer-Cde_wzd0.d.ts.map +0 -1
  155. package/dist/SurfaceChart3DScene-EBT7RPCX.mjs.br +0 -0
  156. package/dist/SurfaceChart3DScene-EBT7RPCX.mjs.gz +0 -0
  157. package/dist/SurfaceChart3DScene-LXBC3HMV.js.br +0 -0
  158. package/dist/SurfaceChart3DScene-LXBC3HMV.js.gz +0 -0
  159. package/dist/audience-content-store-A8Km8rBo.d.ts +0 -402
  160. package/dist/audience-content-store-A8Km8rBo.d.ts.map +0 -1
  161. package/dist/chunk-2LTTSFLD.js.br +0 -0
  162. package/dist/chunk-2LTTSFLD.js.gz +0 -0
  163. package/dist/chunk-2OCTGK4L.mjs.br +0 -0
  164. package/dist/chunk-2OCTGK4L.mjs.gz +0 -0
  165. package/dist/chunk-3KKPRPVE.mjs.br +0 -0
  166. package/dist/chunk-3KKPRPVE.mjs.gz +0 -0
  167. package/dist/chunk-5S3A6HL3.mjs.br +0 -0
  168. package/dist/chunk-5S3A6HL3.mjs.gz +0 -0
  169. package/dist/chunk-6R2EUDJQ.js.br +0 -0
  170. package/dist/chunk-6R2EUDJQ.js.gz +0 -0
  171. package/dist/chunk-GNRVDNCV.mjs.br +0 -0
  172. package/dist/chunk-GNRVDNCV.mjs.gz +0 -0
  173. package/dist/chunk-LJ46KXUV.js.br +0 -0
  174. package/dist/chunk-LJ46KXUV.js.gz +0 -0
  175. package/dist/chunk-V32F4I45.js.br +0 -0
  176. package/dist/chunk-V32F4I45.js.gz +0 -0
  177. package/dist/chunk-WGBXO4LM.js.br +0 -0
  178. package/dist/chunk-WGBXO4LM.js.gz +0 -0
  179. package/dist/chunk-WRO37U2O.mjs.br +0 -0
  180. package/dist/chunk-WRO37U2O.mjs.gz +0 -0
  181. package/dist/index-CGKutKk1.d.ts +0 -46
  182. package/dist/index-CGKutKk1.d.ts.map +0 -1
  183. package/dist/index.d.ts.map +0 -1
  184. package/dist/internals.d.ts.map +0 -1
  185. package/dist/types-BqB2ZCwS.d.ts +0 -836
  186. package/dist/types-BqB2ZCwS.d.ts.map +0 -1
  187. package/dist/useViewerBuildingBlocks-4Tj6P8Fm.d.ts +0 -523
  188. package/dist/useViewerBuildingBlocks-4Tj6P8Fm.d.ts.map +0 -1
  189. package/dist/viewer/index.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,117 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs re-releases a package whenever any of its files
8
8
  change, not only on conventional ones.
9
9
 
10
+ ## [3.19.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.19.0) - 2026-09-16
11
+
12
+ ### Features
13
+
14
+ - **shared:** Preserve native list editing and pending snapshots (by @Sudhansh6) ([ef82b95](https://github.com/ChristopherVR/pptx-viewer/commit/ef82b95b52d12a40c1cd20a4df3b431e3c5db50c))
15
+ - **react:** Keep live list paragraphs through formatting and save (by @Sudhansh6) ([6d4437f](https://github.com/ChristopherVR/pptx-viewer/commit/6d4437f81699f8f3da8298947538a145df8b914b))
16
+ - **i18n:** Export locale subpaths from viewer packages (by @yunfeizhu) ([65003c5](https://github.com/ChristopherVR/pptx-viewer/commit/65003c5af3ecf2e8e4e1daad1a3bcd3f5ee35481))
17
+ - **shared:** Construct image elements from local image files (by @Sudhansh6) ([562fb4a](https://github.com/ChristopherVR/pptx-viewer/commit/562fb4acf0fd2f7c3031542da05454bcfcd87ab3))
18
+ - **bindings:** Expose the shared image file construction helper (by @Sudhansh6) ([14f3f08](https://github.com/ChristopherVR/pptx-viewer/commit/14f3f084e39bd6b5c822a3af8d7f572e55533bef))
19
+ - **shared:** Handle native images on the focused canvas (by @Sudhansh6) ([20c9d66](https://github.com/ChristopherVR/pptx-viewer/commit/20c9d669bca8d97f32841a5e3a31a5c3f0512ffb))
20
+ - **react:** Wire native image paste through public canvas composition (by @Sudhansh6) ([0470290](https://github.com/ChristopherVR/pptx-viewer/commit/04702908d23b3a428bcec3c39ebb5ff53549e9ce))
21
+ - **shared:** Add optional selection artwork tokens (by @Sudhansh6) ([9fe6015](https://github.com/ChristopherVR/pptx-viewer/commit/9fe60154bc8e5eb314f187a42cbd4af510c714ca))
22
+ - **react:** Support selection control artwork themes (by @Sudhansh6) ([3cb31b0](https://github.com/ChristopherVR/pptx-viewer/commit/3cb31b0475c0232a89d7e230b6d095d2d799e6d9))
23
+ - Expose slide-transition helpers from every binding's internals entry (by @ChristopherVR) ([d232ffb](https://github.com/ChristopherVR/pptx-viewer/commit/d232ffba626b4088c2ee7f3acbb5cfa00452490d))
24
+ - Add atomic cross-slide element batches (by @yunfeizhu) ([1157b68](https://github.com/ChristopherVR/pptx-viewer/commit/1157b68784672c6273d40c7fcee6c0c11b3216a3))
25
+
26
+ ### Bug Fixes
27
+
28
+ - **shared:** Preserve theme colors in native list replacement (by @Sudhansh6) ([1b302b3](https://github.com/ChristopherVR/pptx-viewer/commit/1b302b3db65e8f87794b022e07808cd2b9383875))
29
+ - Preserve live list editing through upstream merge (by @Sudhansh6) ([3f8b4f4](https://github.com/ChristopherVR/pptx-viewer/commit/3f8b4f4dce22d2f822e1c706474f946b7c20c3c7))
30
+ - **shared:** Preserve caret scope and native list breaks (by @Sudhansh6) ([f19179b](https://github.com/ChristopherVR/pptx-viewer/commit/f19179b93b85c3486b6f7458c9debe79d3fe7d6c))
31
+ - **react:** Retain caret list scope and selection affinity (by @Sudhansh6) ([41651e1](https://github.com/ChristopherVR/pptx-viewer/commit/41651e16bfe2f9a891a82c012eb5b50167ffedbc))
32
+ - **shared:** Retain loaded webfonts during slide edits (by @ChristopherVR) ([4f81eb0](https://github.com/ChristopherVR/pptx-viewer/commit/4f81eb062431a273cf714cafc751cc4b8446f30c))
33
+ - **tests:** Numerous test issues (by @ChristopherVR) ([c5b8260](https://github.com/ChristopherVR/pptx-viewer/commit/c5b826079078371191b48e04db0e7e4e6877435c))
34
+ - **react:** Exempt resize handles from the button size floor (by @Sudhansh6) ([1ef252e](https://github.com/ChristopherVR/pptx-viewer/commit/1ef252e5ed33cc5781623863b1508a895bd4d78d))
35
+ - **shared:** Anchor rotation gestures to their initial press (by @Sudhansh6) ([798c83c](https://github.com/ChristopherVR/pptx-viewer/commit/798c83c91cb7cf0ebafd1f2c206ec02f701c5ecc))
36
+ - **react:** Preserve the rotation grab offset for all pointer types (by @Sudhansh6) ([768ee79](https://github.com/ChristopherVR/pptx-viewer/commit/768ee79204788e13c9b1fa0b77d1644ae5316754))
37
+ - **react:** Follow remounted canvas viewport nodes (by @Sudhansh6) ([6cda987](https://github.com/ChristopherVR/pptx-viewer/commit/6cda987084b74ab1fa28cdf5553e5effdaa53569))
38
+ - **react:** Disable font pickers without an editable text target (by @Sudhansh6) ([22a5c9a](https://github.com/ChristopherVR/pptx-viewer/commit/22a5c9ae5d62ec7255cf6d91708145384d358d02))
39
+ - **react:** Keep selection controls screen-sized while zooming (by @Sudhansh6) ([b743f17](https://github.com/ChristopherVR/pptx-viewer/commit/b743f179713d1ada767b14ca112b5cac234ca0a9))
40
+ - **shared:** Preserve SVG namespaces in raster exports (by @Sudhansh6) ([1e3fdaf](https://github.com/ChristopherVR/pptx-viewer/commit/1e3fdaf5b08a4bdae98662067f9460958aaf8b0f))
41
+ - **shared:** Bound resize hit areas between neighboring anchors (by @Sudhansh6) ([61d735d](https://github.com/ChristopherVR/pptx-viewer/commit/61d735d66644cd5ed3b6e87e7c6ff4c8dfeb9c99))
42
+ - **react:** Keep neighboring resize handles reachable (by @Sudhansh6) ([b7c6385](https://github.com/ChristopherVR/pptx-viewer/commit/b7c63854803df9400a5e518feaabe30daebd8614))
43
+ - **shared:** Keep rotate controls inside visible canvas (by @Sudhansh6) ([df584e9](https://github.com/ChristopherVR/pptx-viewer/commit/df584e90335c8b8da92cf8dd25c6e5a9695f7b1b))
44
+ - **react:** Use boundary-aware rotation controls (by @Sudhansh6) ([ca8080c](https://github.com/ChristopherVR/pptx-viewer/commit/ca8080c05dae0f84796a7a5311b6d8fede435fcb))
45
+ - **shared:** Apply picture alphaModFix once, not filter times opacity (by @ChristopherVR) ([3fd154b](https://github.com/ChristopherVR/pptx-viewer/commit/3fd154bda6958725bda279f81c001a99f55bd485))
46
+ - **shared:** Stop padding the painted element box to MIN_ELEMENT_SIZE (by @ChristopherVR) ([4caef83](https://github.com/ChristopherVR/pptx-viewer/commit/4caef831004ff52da1fa816970226567e7e2bef9))
47
+ - **core:** Honour a:alpha on solid slide backgrounds and keep it on save (by @ChristopherVR) ([3b50c7a](https://github.com/ChristopherVR/pptx-viewer/commit/3b50c7a28f8a64fcbc14eea4c2f47564b9515942))
48
+ - **react:** Stop the fine-pointer handle hit area covering nearby content (by @ChristopherVR) ([77f372e](https://github.com/ChristopherVR/pptx-viewer/commit/77f372ec98f5fdf97fba4c1a768a78dc6c4c329c))
49
+ - Guard element batches during active pointer gestures (by @yunfeizhu) ([da3bf49](https://github.com/ChristopherVR/pptx-viewer/commit/da3bf490851c95ed3e165cb0139ee5fa5c9f4408))
50
+ - **core:** Blend a:alpha on pattern background colours onto white (by @ChristopherVR) ([893a261](https://github.com/ChristopherVR/pptx-viewer/commit/893a261811f96f5078a9e505630414b005ab3735))
51
+ - Render the degenerate-shape hit target for every element type (by @ChristopherVR) ([49a15a4](https://github.com/ChristopherVR/pptx-viewer/commit/49a15a40cf612ae8cbb51b9e4ceeb20e644b4936))
52
+ - **react:** Stop rotating a shape from silently opening its text editor (by @ChristopherVR) ([bec4af2](https://github.com/ChristopherVR/pptx-viewer/commit/bec4af25cbf71119084e301472ea3553e29f9502))
53
+ - **react:** Stop inflating a degenerate connector's wrapper box (by @ChristopherVR) ([1d0b39c](https://github.com/ChristopherVR/pptx-viewer/commit/1d0b39ced8762ca471b072d1a7534437e27f5e5b))
54
+ - **shared:** Model relaxedInset/slope/hardEdge as non-monotonic bevel profiles (by @ChristopherVR) ([e3ef9fb](https://github.com/ChristopherVR/pptx-viewer/commit/e3ef9fb33bd991d93153daee3876aebf575128a8))
55
+
56
+ ### Refactor
57
+
58
+ - **core:** Expose paragraph geometry keys for editing (by @Sudhansh6) ([da5b8f5](https://github.com/ChristopherVR/pptx-viewer/commit/da5b8f595c2c68d0cf354f92c2ec4d14a89618ea))
59
+ - **react:** Drop the unused image alpha filter duplicates (by @ChristopherVR) ([5572f51](https://github.com/ChristopherVR/pptx-viewer/commit/5572f511d1a96409cf5b8c6fdd19a3714a164e1e))
60
+
61
+ ### Documentation
62
+
63
+ - **shared:** Document the foreignObject SVG string's safe-sink boundary (by @ChristopherVR) ([c3446d8](https://github.com/ChristopherVR/pptx-viewer/commit/c3446d8316632644db8827ba3c7cd7e39c487014))
64
+
65
+ ### Testing
66
+
67
+ - **core:** Register the nested list roundtrip fixture (by @Sudhansh6) ([857e0b2](https://github.com/ChristopherVR/pptx-viewer/commit/857e0b2dc589a237266a5c31944b34d0173b2d82))
68
+ - **react:** Retain explicit act environment in overlay tests (by @Sudhansh6) ([f0703a3](https://github.com/ChristopherVR/pptx-viewer/commit/f0703a35a083d685b0ce4ac6d782e3a67b2f92f5))
69
+ - Cover batch update history across viewer bindings (by @yunfeizhu) ([fff49e8](https://github.com/ChristopherVR/pptx-viewer/commit/fff49e83203008bd4c01ac531791ad550006a4ab))
70
+ - Cover gesture isolation and demo handle lifecycle (by @yunfeizhu) ([62331e2](https://github.com/ChristopherVR/pptx-viewer/commit/62331e27dd5d542db57d7ec3642757f27010df0b))
71
+
72
+ ### Chores
73
+
74
+ - Merge main into live list editing (by @Sudhansh6) ([a9b760d](https://github.com/ChristopherVR/pptx-viewer/commit/a9b760d9c051b39066731665824af3230b8797db))
75
+ - Sync upstream validation and ribbon updates (by @Sudhansh6) ([c70516c](https://github.com/ChristopherVR/pptx-viewer/commit/c70516c0389efd29e2dde70aeb041053fe9bd17b))
76
+ - Merge main and resolve locale documentation conflicts (by @yunfeizhu) ([ac9123d](https://github.com/ChristopherVR/pptx-viewer/commit/ac9123d4fa531cd591898a721bd690cca25b2cf6))
77
+ - **shared:** Merge main into resize hit ownership (by @Sudhansh6) ([f6d6336](https://github.com/ChristopherVR/pptx-viewer/commit/f6d63362dce076f497a9c350fd93501515634ab5))
78
+ - Sync main for native paste validation (by @Sudhansh6) ([29f5fb3](https://github.com/ChristopherVR/pptx-viewer/commit/29f5fb33b0115f528731b9412f4769600b243c0c))
79
+ - Merge main into native canvas image paste (by @Sudhansh6) ([0ebf261](https://github.com/ChristopherVR/pptx-viewer/commit/0ebf261014cc30d3422b4c87ac6def51352951e8))
80
+ - Integrate rotation and selection-control prerequisites (by @Sudhansh6) ([e6f9cde](https://github.com/ChristopherVR/pptx-viewer/commit/e6f9cde524570b7aab4f8e95cff3756e27e45811))
81
+ - **shared:** Align boundary controls with current main (by @Sudhansh6) ([7fbfc4c](https://github.com/ChristopherVR/pptx-viewer/commit/7fbfc4c3ae6df408035d3f21e7a6321f8323c74f))
82
+ - **shared:** Align selection artwork with boundary controls (by @Sudhansh6) ([3b971d3](https://github.com/ChristopherVR/pptx-viewer/commit/3b971d3bb0a647d3d9158a8e23d2ec6e91e58791))
83
+
84
+ ## [3.18.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.18.0) - 2026-09-14
85
+
86
+ ### Features
87
+
88
+ - **i18n:** Add Simplified Chinese reference locale (by @yunfeizhu) ([4f65031](https://github.com/ChristopherVR/pptx-viewer/commit/4f650313634f2dd3f9ca30a01f742ea4a5349b0f))
89
+ - **core:** Preserve smart art diagram parts (by @ChristopherVR) ([187e0e1](https://github.com/ChristopherVR/pptx-viewer/commit/187e0e17c4e8446fb1b745bb77e96fd44710ed34))
90
+
91
+ ### Bug Fixes
92
+
93
+ - **shared:** Retain list state after upstream rebase (by @ChristopherVR) ([268a1f1](https://github.com/ChristopherVR/pptx-viewer/commit/268a1f132b664a6fec4df127a3588cf0e7748ff1))
94
+ - **core:** Retain original duplicate shape ids (by @ChristopherVR) ([74d595c](https://github.com/ChristopherVR/pptx-viewer/commit/74d595cbc380af69faf6cd47932475d33b139943))
95
+ - **shared:** Restore paragraph remap helpers (by @ChristopherVR) ([e07554c](https://github.com/ChristopherVR/pptx-viewer/commit/e07554c9bffbd86a4a1c273a35572f2a3a77e0bf))
96
+ - **shared:** Expose freeform geometry helpers (by @ChristopherVR) ([96e54a5](https://github.com/ChristopherVR/pptx-viewer/commit/96e54a523e185a09e94d8d15ed5cf8b06b47a8b8))
97
+ - **core:** Evaluate connector and cloud preset geometry (by @ChristopherVR) ([5f34ed5](https://github.com/ChristopherVR/pptx-viewer/commit/5f34ed520cc1c86721b059d5b9a5e7e1e6277b49))
98
+ - **core:** Evaluate connector and cloud preset geometry (by @ChristopherVR) ([8e2608a](https://github.com/ChristopherVR/pptx-viewer/commit/8e2608a397160c8640bb6801da6cfdc273beb60a))
99
+ - **shared:** Remove code scanning findings (by @ChristopherVR) ([ccf02f2](https://github.com/ChristopherVR/pptx-viewer/commit/ccf02f2d1065e4fda3233fe517e06d95ec1a5c0e))
100
+ - **ui:** Keep ribbon controls compact across bindings (by @ChristopherVR) ([79ec521](https://github.com/ChristopherVR/pptx-viewer/commit/79ec5212c41796b9a73cc6bf5d918ea8e8d51c51))
101
+ - **core:** Avoid namespace scan backtracking (by @ChristopherVR) ([2c3f038](https://github.com/ChristopherVR/pptx-viewer/commit/2c3f038420d96af57c01a26da5fbc5752c1147c9))
102
+
103
+ ### Documentation
104
+
105
+ - **repo:** Sync guides and references with implementation (by @ChristopherVR) ([70440f6](https://github.com/ChristopherVR/pptx-viewer/commit/70440f6f10297ba7847662361c6d6f23d35ad9e2))
106
+
107
+ ### Testing
108
+
109
+ - **core:** Stabilize the Vitest 5 suite (by @ChristopherVR) ([83b4cc5](https://github.com/ChristopherVR/pptx-viewer/commit/83b4cc53b4846da72494e4b81d8530546e9ad888))
110
+ - **repo:** Stabilize Vitest 5 concurrency (by @ChristopherVR) ([6b151b3](https://github.com/ChristopherVR/pptx-viewer/commit/6b151b352ba8c7b78013696e91c3040fb95a929f))
111
+
112
+ ### Dependencies
113
+
114
+ - **deps:** Bump the minor-and-patch group with 2 updates (by @dependabot[bot]) ([7bed5e5](https://github.com/ChristopherVR/pptx-viewer/commit/7bed5e56a34cbffbe7e8604a76344a33a05e7f12))
115
+ - **deps:** Rebase lint-staged update (by @ChristopherVR) ([c2a649e](https://github.com/ChristopherVR/pptx-viewer/commit/c2a649ee2df1e29a963aec29cb109d9c70ead6ff))
116
+
117
+ ### Chores
118
+
119
+ - **deps-dev:** Bump vitest from 4.1.11 to 5.0.0 (by @dependabot[bot]) ([5f8fe4f](https://github.com/ChristopherVR/pptx-viewer/commit/5f8fe4f851d33a02545556fd63238a55cf5f868a))
120
+
10
121
  ## [3.17.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.17.1) - 2026-09-14
11
122
 
12
123
  ### Bug Fixes
package/README.md CHANGED
@@ -264,10 +264,32 @@ You only need the `<PowerPointViewer>` component; everything else is internal. B
264
264
 
265
265
  A small curated set of those hooks is exported from `pptx-react-viewer/viewer` with a stable API; the complete set (80+) 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.
266
266
 
267
+ The bulk of that cross-framework logic (colour/geometry/connector/animation/chart math, slide
268
+ transitions, and more) actually lives in `pptx-viewer-shared`, an internal package that is
269
+ **never published to npm**. If you need one of those framework-neutral helpers directly, for
270
+ example the slide-transition resolver/keyframes (`resolveSlideTransition`,
271
+ `resolveTransitionDurationMs`, `SLIDE_TRANSITION_KEYFRAMES`) or the `PresentationTransitionOverlay`
272
+ component behind presentation mode, they are re-exported from `pptx-react-viewer/internals` too,
273
+ so you never need `pptx-viewer-shared` yourself.
274
+
267
275
  ## Limitations
268
276
 
269
277
  CSS-based rendering trades a few visual effects for crisp text, accessibility, and DOM interactivity: `backdrop-filter` becomes semi-transparent backgrounds and path gradients approximate as elliptical radials, while `mix-blend-mode` and CSS 3D transforms render natively on screen but flatten in raster export. Text uses fonts available in the browser (embedded fonts are injected when present). Media playback depends on browser codec support. SmartArt is decomposed into editable shapes with a live reflow engine for structural edits. Charts are editable directly on the canvas (hover a mark for its tooltip, click to select, drag it to a new value, double-click the title to rename), except for stacked/percent-stacked, pie, radar, surface and map kinds, which are click-to-select and edited in the inspector data grid. 3D models need the optional Three.js peer. See the [full docs](https://christophervr.github.io/pptx-viewer/) for the complete list.
270
278
 
279
+ ## Reference translations
280
+
281
+ Optional French, Spanish, German, and Simplified Chinese dictionaries ship with
282
+ this package. Import only the language you need:
283
+
284
+ ```ts
285
+ import { translationsZhCN } from 'pptx-react-viewer/i18n/zh-CN';
286
+ ```
287
+
288
+ The other subpaths are `i18n/fr` (`translationsFr`), `i18n/es`
289
+ (`translationsEs`), and `i18n/de` (`translationsDe`). See the
290
+ [localization guide](https://christophervr.github.io/pptx-viewer/guide/localization)
291
+ for registration and runtime switching. Existing English imports are unchanged.
292
+
271
293
  ## License
272
294
 
273
295
  [Apache-2.0](LICENSE). Please keep the [`NOTICE`](NOTICE) file with redistributions.
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk2LTTSFLD_js = require('./chunk-2LTTSFLD.js');
4
- var chunkLJ46KXUV_js = require('./chunk-LJ46KXUV.js');
5
- require('./chunk-V32F4I45.js');
3
+ var chunkYVZKXCML_js = require('./chunk-YVZKXCML.js');
4
+ var chunk4WUGOCYU_js = require('./chunk-4WUGOCYU.js');
5
+ require('./chunk-EJSRXEXA.js');
6
6
  require('./chunk-BRJN3ZMG.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
@@ -23,7 +23,7 @@ function useAiChat(bridge, config) {
23
23
  setInitError(void 0);
24
24
  void (async () => {
25
25
  try {
26
- const available = await chunk2LTTSFLD_js.isAiAvailable();
26
+ const available = await chunkYVZKXCML_js.isAiAvailable();
27
27
  if (cancelled) {
28
28
  return;
29
29
  }
@@ -31,7 +31,7 @@ function useAiChat(bridge, config) {
31
31
  setState("unavailable");
32
32
  return;
33
33
  }
34
- const built = await chunk2LTTSFLD_js.createAiChatSession(bridge, configRef.current);
34
+ const built = await chunkYVZKXCML_js.createAiChatSession(bridge, configRef.current);
35
35
  if (cancelled) {
36
36
  return;
37
37
  }
@@ -137,7 +137,7 @@ function withDeckContext(inner, bridge, strategy) {
137
137
  }
138
138
  let context = "";
139
139
  try {
140
- context = await chunk2LTTSFLD_js.buildDeckContext(bridge, { strategy, focus: {} });
140
+ context = await chunkYVZKXCML_js.buildDeckContext(bridge, { strategy, focus: {} });
141
141
  } catch {
142
142
  context = "";
143
143
  }
@@ -200,7 +200,7 @@ function useAiConversation(useChat, session, config, bridge, options = {}) {
200
200
  continue;
201
201
  }
202
202
  seen.add(call.toolCallId);
203
- onToolTargetRef.current?.(chunk2LTTSFLD_js.toolCanvasTarget(call.toolName, call.input));
203
+ onToolTargetRef.current?.(chunkYVZKXCML_js.toolCanvasTarget(call.toolName, call.input));
204
204
  }
205
205
  }, [chat.messages]);
206
206
  const send = react.useCallback(
@@ -276,7 +276,7 @@ function deriveTitle(messages) {
276
276
  }
277
277
  function useAiHistory(input) {
278
278
  const { deckId, messages, setMessages } = input;
279
- const store = react.useMemo(() => input.store ?? chunk2LTTSFLD_js.createChatHistoryStore(), [input.store]);
279
+ const store = react.useMemo(() => input.store ?? chunkYVZKXCML_js.createChatHistoryStore(), [input.store]);
280
280
  const [activeChatId, setActiveChatId] = react.useState(newChatId);
281
281
  const [chats, setChats] = react.useState([]);
282
282
  const createdAtRef = react.useRef(Date.now());
@@ -419,7 +419,7 @@ function AiComposer({
419
419
  disabled: value.trim().length === 0,
420
420
  title: t("pptx.ai.send"),
421
421
  "aria-label": t("pptx.ai.send"),
422
- className: chunkLJ46KXUV_js.cn(
422
+ className: chunk4WUGOCYU_js.cn(
423
423
  "shrink-0 rounded-sm p-1.5 transition-colors",
424
424
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
425
425
  ),
@@ -442,15 +442,15 @@ function AiFocusBar({
442
442
  onClearPicks
443
443
  }) {
444
444
  const { t } = reactI18next.useTranslation();
445
- const chips = chunk2LTTSFLD_js.focusTargetChips(targets, slides);
446
- const twoTables = chunk2LTTSFLD_js.isTwoTableFocus(targets, slides);
445
+ const chips = chunkYVZKXCML_js.focusTargetChips(targets, slides);
446
+ const twoTables = chunkYVZKXCML_js.isTwoTableFocus(targets, slides);
447
447
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
448
448
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
449
449
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
450
450
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
451
451
  "span",
452
452
  {
453
- className: chunkLJ46KXUV_js.cn(
453
+ className: chunk4WUGOCYU_js.cn(
454
454
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
455
455
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
456
456
  ),
@@ -466,7 +466,7 @@ function AiFocusBar({
466
466
  {
467
467
  type: "button",
468
468
  onClick: () => onSendDirective(
469
- chunk2LTTSFLD_js.mergeTablesDirective(
469
+ chunkYVZKXCML_js.mergeTablesDirective(
470
470
  twoTables.slideIndex,
471
471
  twoTables.elementIdA,
472
472
  twoTables.elementIdB
@@ -487,7 +487,7 @@ function AiFocusBar({
487
487
  title: t("pptx.ai.pickElement"),
488
488
  "aria-label": t("pptx.ai.pickAria"),
489
489
  "aria-pressed": pickMode,
490
- className: chunkLJ46KXUV_js.cn(
490
+ className: chunk4WUGOCYU_js.cn(
491
491
  "rounded-sm p-1 max-md:min-w-[44px]! max-md:min-h-[44px]! flex items-center justify-center",
492
492
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
493
493
  ),
@@ -566,7 +566,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
566
566
  {
567
567
  type: "button",
568
568
  onClick: () => onResume(chat.id),
569
- className: chunkLJ46KXUV_js.cn(
569
+ className: chunk4WUGOCYU_js.cn(
570
570
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
571
571
  chat.id === activeChatId && "bg-accent/60"
572
572
  ),
@@ -721,26 +721,26 @@ function AiToolCallCard({ part }) {
721
721
  const failed = part.state === "output-error";
722
722
  const done = part.state === "output-available";
723
723
  const running = !failed && !done;
724
- const activity = chunk2LTTSFLD_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
724
+ const activity = chunkYVZKXCML_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
725
725
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
726
- const rawSummary = chunk2LTTSFLD_js.summarizeToolArgs(part.input);
726
+ const rawSummary = chunkYVZKXCML_js.summarizeToolArgs(part.input);
727
727
  const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
728
728
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
729
729
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
730
730
  /* @__PURE__ */ jsxRuntime.jsx(
731
731
  Icon,
732
732
  {
733
- className: chunkLJ46KXUV_js.cn(
733
+ className: chunk4WUGOCYU_js.cn(
734
734
  "w-3.5 h-3.5 shrink-0",
735
735
  failed ? "text-destructive" : "text-muted-foreground"
736
736
  )
737
737
  }
738
738
  ),
739
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkLJ46KXUV_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
739
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4WUGOCYU_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
740
740
  /* @__PURE__ */ jsxRuntime.jsxs(
741
741
  "span",
742
742
  {
743
- className: chunkLJ46KXUV_js.cn(
743
+ className: chunk4WUGOCYU_js.cn(
744
744
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
745
745
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
746
746
  ),
@@ -757,7 +757,7 @@ function AiToolCallCard({ part }) {
757
757
  rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
758
758
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer list-none text-[10px] text-muted-foreground/70 hover:text-muted-foreground", children: t("pptx.ai.toolDetails") }),
759
759
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
760
- chunk2LTTSFLD_js.toolLabel(part.toolName),
760
+ chunkYVZKXCML_js.toolLabel(part.toolName),
761
761
  ": ",
762
762
  rawSummary
763
763
  ] })
@@ -788,7 +788,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
788
788
  /* @__PURE__ */ jsxRuntime.jsx(
789
789
  "div",
790
790
  {
791
- className: chunkLJ46KXUV_js.cn(
791
+ className: chunk4WUGOCYU_js.cn(
792
792
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
793
793
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
794
794
  ),
@@ -835,7 +835,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
835
835
  }
836
836
  function AiProposalCard({ proposal, onAccept, onReject }) {
837
837
  const { t } = reactI18next.useTranslation();
838
- const lines = proposal.summary.map(chunk2LTTSFLD_js.humanizeDiffLine);
838
+ const lines = proposal.summary.map(chunkYVZKXCML_js.humanizeDiffLine);
839
839
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
840
840
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
841
841
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
@@ -1043,7 +1043,7 @@ function AiChatPanel({
1043
1043
  }) {
1044
1044
  const { t } = reactI18next.useTranslation();
1045
1045
  const { state, session, initError } = useAiChat(bridge, config);
1046
- const deckId = react.useMemo(() => chunk2LTTSFLD_js.deckIdFromBridge(bridge), [bridge]);
1046
+ const deckId = react.useMemo(() => chunkYVZKXCML_js.deckIdFromBridge(bridge), [bridge]);
1047
1047
  return /* @__PURE__ */ jsxRuntime.jsxs(
1048
1048
  "div",
1049
1049
  {
Binary file
Binary file
@@ -1,6 +1,6 @@
1
- import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-WRO37U2O.mjs';
2
- import { cn } from './chunk-2OCTGK4L.mjs';
3
- import './chunk-GNRVDNCV.mjs';
1
+ import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-LBKKSCVS.mjs';
2
+ import { cn } from './chunk-RCUPQJVY.mjs';
3
+ import './chunk-3KVLOKA6.mjs';
4
4
  import './chunk-MQUTXOET.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { useStableChart3DInteraction, useLatestRef } from './chunk-T6GFCLSM.mjs';
2
- import { mountAreaChart3D } from './chunk-GNRVDNCV.mjs';
2
+ import { mountAreaChart3D } from './chunk-3KVLOKA6.mjs';
3
3
  import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
4
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.js');
5
5
  require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -23,7 +23,7 @@ function Area3DChartScene({
23
23
  return;
24
24
  }
25
25
  let disposed = false;
26
- void chunkV32F4I45_js.mountAreaChart3D(container, options, stableInteraction).then((handle) => {
26
+ void chunkEJSRXEXA_js.mountAreaChart3D(container, options, stableInteraction).then((handle) => {
27
27
  if (disposed) {
28
28
  handle.dispose();
29
29
  } else {
@@ -1,5 +1,5 @@
1
1
  import { useStableChart3DInteraction, useLatestRef } from './chunk-T6GFCLSM.mjs';
2
- import { mountBarChart3D } from './chunk-GNRVDNCV.mjs';
2
+ import { mountBarChart3D } from './chunk-3KVLOKA6.mjs';
3
3
  import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
4
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.js');
5
5
  require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -23,7 +23,7 @@ function Bar3DChartScene({
23
23
  return;
24
24
  }
25
25
  let disposed = false;
26
- void chunkV32F4I45_js.mountBarChart3D(container, options, stableInteraction).then((handle) => {
26
+ void chunkEJSRXEXA_js.mountBarChart3D(container, options, stableInteraction).then((handle) => {
27
27
  if (disposed) {
28
28
  handle.dispose();
29
29
  } else {
@@ -1,5 +1,5 @@
1
1
  import { useStableChart3DInteraction, useLatestRef } from './chunk-T6GFCLSM.mjs';
2
- import { mountLineChart3D } from './chunk-GNRVDNCV.mjs';
2
+ import { mountLineChart3D } from './chunk-3KVLOKA6.mjs';
3
3
  import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
4
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.js');
5
5
  require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -23,7 +23,7 @@ function Line3DChartScene({
23
23
  return;
24
24
  }
25
25
  let disposed = false;
26
- void chunkV32F4I45_js.mountLineChart3D(container, options, stableInteraction).then((handle) => {
26
+ void chunkEJSRXEXA_js.mountLineChart3D(container, options, stableInteraction).then((handle) => {
27
27
  if (disposed) {
28
28
  handle.dispose();
29
29
  } else {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
3
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.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 chunkV32F4I45_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunkEJSRXEXA_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-GNRVDNCV.mjs';
1
+ import { mountModel3D } from './chunk-3KVLOKA6.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
4
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.js');
5
5
  require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -21,7 +21,7 @@ function PieChart3DScene({
21
21
  return;
22
22
  }
23
23
  let disposed = false;
24
- void chunkV32F4I45_js.mountPieChart3D(container, options, stableInteraction).then((handle) => {
24
+ void chunkEJSRXEXA_js.mountPieChart3D(container, options, stableInteraction).then((handle) => {
25
25
  if (disposed) {
26
26
  handle.dispose();
27
27
  } else {
@@ -1,5 +1,5 @@
1
1
  import { useStableChart3DInteraction, useLatestRef } from './chunk-T6GFCLSM.mjs';
2
- import { mountPieChart3D } from './chunk-GNRVDNCV.mjs';
2
+ import { mountPieChart3D } from './chunk-3KVLOKA6.mjs';
3
3
  import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
1
  import { useStableChart3DInteraction, useLatestRef } from './chunk-T6GFCLSM.mjs';
2
- import { mountSurfaceChart3D } from './chunk-GNRVDNCV.mjs';
2
+ import { mountSurfaceChart3D } from './chunk-3KVLOKA6.mjs';
3
3
  import './chunk-XGB3TDIC.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkV32F4I45_js = require('./chunk-V32F4I45.js');
4
+ var chunkEJSRXEXA_js = require('./chunk-EJSRXEXA.js');
5
5
  require('./chunk-4VNS5WPM.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -23,7 +23,7 @@ function SurfaceChart3DScene({
23
23
  return;
24
24
  }
25
25
  let disposed = false;
26
- void chunkV32F4I45_js.mountSurfaceChart3D(container, options, stableInteraction).then((handle) => {
26
+ void chunkEJSRXEXA_js.mountSurfaceChart3D(container, options, stableInteraction).then((handle) => {
27
27
  if (disposed) {
28
28
  handle.dispose();
29
29
  } else {