pptx-react-viewer 3.3.0 → 3.4.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 (162) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/{AiChatPanel-BNFDBP4S.mjs → AiChatPanel-AIM55U76.mjs} +4 -4
  3. package/dist/AiChatPanel-AIM55U76.mjs.br +0 -0
  4. package/dist/AiChatPanel-AIM55U76.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-WNQCTQB5.js → AiChatPanel-Q2ZVO4RR.js} +25 -25
  6. package/dist/AiChatPanel-Q2ZVO4RR.js.br +0 -0
  7. package/dist/AiChatPanel-Q2ZVO4RR.js.gz +0 -0
  8. package/dist/{Area3DChartScene-SAQVRYOH.mjs → Area3DChartScene-DNLGOR5F.mjs} +1 -1
  9. package/dist/{Area3DChartScene-SAQVRYOH.mjs.br → Area3DChartScene-DNLGOR5F.mjs.br} +0 -0
  10. package/dist/Area3DChartScene-DNLGOR5F.mjs.gz +0 -0
  11. package/dist/{Area3DChartScene-FXBSLIGX.js → Area3DChartScene-W5HVINQ6.js} +2 -2
  12. package/dist/Area3DChartScene-W5HVINQ6.js.br +0 -0
  13. package/dist/Area3DChartScene-W5HVINQ6.js.gz +0 -0
  14. package/dist/{Bar3DChartScene-7HVUTP2E.js → Bar3DChartScene-SOO62TCP.js} +2 -2
  15. package/dist/Bar3DChartScene-SOO62TCP.js.br +0 -0
  16. package/dist/Bar3DChartScene-SOO62TCP.js.gz +0 -0
  17. package/dist/{Bar3DChartScene-LUA6E2K6.mjs → Bar3DChartScene-VYKQAY6X.mjs} +1 -1
  18. package/dist/Bar3DChartScene-VYKQAY6X.mjs.br +0 -0
  19. package/dist/Bar3DChartScene-VYKQAY6X.mjs.gz +0 -0
  20. package/dist/{Line3DChartScene-OVPULUTF.js → Line3DChartScene-BAP3YA3R.js} +2 -2
  21. package/dist/Line3DChartScene-BAP3YA3R.js.br +0 -0
  22. package/dist/Line3DChartScene-BAP3YA3R.js.gz +0 -0
  23. package/dist/{Line3DChartScene-IW4JGH57.mjs → Line3DChartScene-ZVELPNOD.mjs} +1 -1
  24. package/dist/{Line3DChartScene-IW4JGH57.mjs.br → Line3DChartScene-ZVELPNOD.mjs.br} +0 -0
  25. package/dist/Line3DChartScene-ZVELPNOD.mjs.gz +0 -0
  26. package/dist/{Model3DScene-5KP6BVCV.js → Model3DScene-BWNVCCAZ.js} +2 -2
  27. package/dist/Model3DScene-BWNVCCAZ.js.br +0 -0
  28. package/dist/Model3DScene-BWNVCCAZ.js.gz +0 -0
  29. package/dist/{Model3DScene-BERTZYCJ.mjs → Model3DScene-ZJWU5IUY.mjs} +1 -1
  30. package/dist/Model3DScene-ZJWU5IUY.mjs.br +0 -0
  31. package/dist/Model3DScene-ZJWU5IUY.mjs.gz +0 -0
  32. package/dist/{PieChart3DScene-3R2ETTGA.js → PieChart3DScene-2DJE4BM3.js} +2 -2
  33. package/dist/PieChart3DScene-2DJE4BM3.js.br +0 -0
  34. package/dist/PieChart3DScene-2DJE4BM3.js.gz +0 -0
  35. package/dist/{PieChart3DScene-O6FFK5L7.mjs → PieChart3DScene-NNLKJ6LN.mjs} +1 -1
  36. package/dist/PieChart3DScene-NNLKJ6LN.mjs.br +0 -0
  37. package/dist/PieChart3DScene-NNLKJ6LN.mjs.gz +0 -0
  38. package/dist/PowerPointViewer-Cl6jBPNw.d.ts.map +1 -1
  39. package/dist/{SurfaceChart3DScene-OCR26R5D.mjs → SurfaceChart3DScene-NWB4QAOI.mjs} +1 -1
  40. package/dist/SurfaceChart3DScene-NWB4QAOI.mjs.br +0 -0
  41. package/dist/SurfaceChart3DScene-NWB4QAOI.mjs.gz +0 -0
  42. package/dist/{SurfaceChart3DScene-TGFAOLHL.js → SurfaceChart3DScene-WRSCQKJV.js} +2 -2
  43. package/dist/SurfaceChart3DScene-WRSCQKJV.js.br +0 -0
  44. package/dist/SurfaceChart3DScene-WRSCQKJV.js.gz +0 -0
  45. package/dist/{chunk-ITN5NYYM.mjs → chunk-4YGGPPJZ.mjs} +6 -19
  46. package/dist/chunk-4YGGPPJZ.mjs.br +0 -0
  47. package/dist/chunk-4YGGPPJZ.mjs.gz +0 -0
  48. package/dist/{chunk-3B5FRKYU.mjs → chunk-EM3D67TB.mjs} +1430 -511
  49. package/dist/chunk-EM3D67TB.mjs.br +0 -0
  50. package/dist/chunk-EM3D67TB.mjs.gz +0 -0
  51. package/dist/{chunk-44CQ67GQ.js → chunk-GKRE7272.js} +172 -185
  52. package/dist/chunk-GKRE7272.js.br +0 -0
  53. package/dist/chunk-GKRE7272.js.gz +0 -0
  54. package/dist/{chunk-2FTJAMFA.mjs → chunk-IJLTDBXT.mjs} +13 -5
  55. package/dist/chunk-IJLTDBXT.mjs.br +0 -0
  56. package/dist/chunk-IJLTDBXT.mjs.gz +0 -0
  57. package/dist/{chunk-DM2IZCSD.mjs → chunk-PADP3NUM.mjs} +3056 -857
  58. package/dist/chunk-PADP3NUM.mjs.br +0 -0
  59. package/dist/chunk-PADP3NUM.mjs.gz +0 -0
  60. package/dist/{chunk-FSQCEAMG.js → chunk-PDVJNNWP.js} +17 -9
  61. package/dist/chunk-PDVJNNWP.js.br +0 -0
  62. package/dist/chunk-PDVJNNWP.js.gz +0 -0
  63. package/dist/{chunk-QEEU4S4Z.mjs → chunk-QEAU2XTI.mjs} +671 -114
  64. package/dist/chunk-QEAU2XTI.mjs.br +0 -0
  65. package/dist/chunk-QEAU2XTI.mjs.gz +0 -0
  66. package/dist/{chunk-K6R2JNCK.js → chunk-SEJEVNXW.js} +3088 -856
  67. package/dist/chunk-SEJEVNXW.js.br +0 -0
  68. package/dist/chunk-SEJEVNXW.js.gz +0 -0
  69. package/dist/{chunk-3P7FYHJH.js → chunk-UNIJUD5C.js} +44 -1
  70. package/dist/chunk-UNIJUD5C.js.br +0 -0
  71. package/dist/{chunk-3P7FYHJH.js.gz → chunk-UNIJUD5C.js.gz} +0 -0
  72. package/dist/{chunk-QKSYKQEL.js → chunk-WXQQ43IA.js} +2546 -1627
  73. package/dist/chunk-WXQQ43IA.js.br +0 -0
  74. package/dist/chunk-WXQQ43IA.js.gz +0 -0
  75. package/dist/{chunk-AMRT3AE4.mjs → chunk-XWUMM2TX.mjs} +44 -1
  76. package/dist/chunk-XWUMM2TX.mjs.br +0 -0
  77. package/dist/{chunk-AMRT3AE4.mjs.gz → chunk-XWUMM2TX.mjs.gz} +0 -0
  78. package/dist/{chunk-GR6SJJIT.js → chunk-Y2B5EZEV.js} +1080 -518
  79. package/dist/chunk-Y2B5EZEV.js.br +0 -0
  80. package/dist/chunk-Y2B5EZEV.js.gz +0 -0
  81. package/dist/i18n.js +4 -4
  82. package/dist/i18n.js.br +0 -0
  83. package/dist/i18n.js.gz +0 -0
  84. package/dist/i18n.mjs +1 -1
  85. package/dist/i18n.mjs.br +0 -0
  86. package/dist/i18n.mjs.gz +0 -0
  87. package/dist/index.d.ts +7 -0
  88. package/dist/index.js +47 -47
  89. package/dist/index.js.br +0 -0
  90. package/dist/index.js.gz +0 -0
  91. package/dist/index.mjs +6 -6
  92. package/dist/index.mjs.br +0 -0
  93. package/dist/index.mjs.gz +0 -0
  94. package/dist/internals.d.ts +176 -5
  95. package/dist/internals.d.ts.map +1 -1
  96. package/dist/internals.js +79 -79
  97. package/dist/internals.js.br +0 -0
  98. package/dist/internals.js.gz +0 -0
  99. package/dist/internals.mjs +4 -4
  100. package/dist/internals.mjs.br +0 -0
  101. package/dist/internals.mjs.gz +0 -0
  102. package/dist/pptx-viewer.css +1 -1
  103. package/dist/pptx-viewer.css.br +0 -0
  104. package/dist/pptx-viewer.css.gz +0 -0
  105. package/dist/{useViewerBuildingBlocks-X1L8BjsQ.d.ts → useViewerBuildingBlocks-f6oNGKMX.d.ts} +8 -1
  106. package/dist/useViewerBuildingBlocks-f6oNGKMX.d.ts.map +1 -0
  107. package/dist/viewer/index.js +27 -27
  108. package/dist/viewer/index.js.br +0 -0
  109. package/dist/viewer/index.js.gz +0 -0
  110. package/dist/viewer/index.mjs +6 -6
  111. package/dist/viewer/index.mjs.br +0 -0
  112. package/dist/viewer/index.mjs.gz +0 -0
  113. package/package.json +1 -1
  114. package/dist/AiChatPanel-BNFDBP4S.mjs.br +0 -0
  115. package/dist/AiChatPanel-BNFDBP4S.mjs.gz +0 -0
  116. package/dist/AiChatPanel-WNQCTQB5.js.br +0 -0
  117. package/dist/AiChatPanel-WNQCTQB5.js.gz +0 -0
  118. package/dist/Area3DChartScene-FXBSLIGX.js.br +0 -0
  119. package/dist/Area3DChartScene-FXBSLIGX.js.gz +0 -0
  120. package/dist/Area3DChartScene-SAQVRYOH.mjs.gz +0 -0
  121. package/dist/Bar3DChartScene-7HVUTP2E.js.br +0 -0
  122. package/dist/Bar3DChartScene-7HVUTP2E.js.gz +0 -0
  123. package/dist/Bar3DChartScene-LUA6E2K6.mjs.br +0 -3
  124. package/dist/Bar3DChartScene-LUA6E2K6.mjs.gz +0 -0
  125. package/dist/Line3DChartScene-IW4JGH57.mjs.gz +0 -0
  126. package/dist/Line3DChartScene-OVPULUTF.js.br +0 -0
  127. package/dist/Line3DChartScene-OVPULUTF.js.gz +0 -0
  128. package/dist/Model3DScene-5KP6BVCV.js.br +0 -0
  129. package/dist/Model3DScene-5KP6BVCV.js.gz +0 -0
  130. package/dist/Model3DScene-BERTZYCJ.mjs.br +0 -0
  131. package/dist/Model3DScene-BERTZYCJ.mjs.gz +0 -0
  132. package/dist/PieChart3DScene-3R2ETTGA.js.br +0 -0
  133. package/dist/PieChart3DScene-3R2ETTGA.js.gz +0 -0
  134. package/dist/PieChart3DScene-O6FFK5L7.mjs.br +0 -0
  135. package/dist/PieChart3DScene-O6FFK5L7.mjs.gz +0 -0
  136. package/dist/SurfaceChart3DScene-OCR26R5D.mjs.br +0 -0
  137. package/dist/SurfaceChart3DScene-OCR26R5D.mjs.gz +0 -0
  138. package/dist/SurfaceChart3DScene-TGFAOLHL.js.br +0 -0
  139. package/dist/SurfaceChart3DScene-TGFAOLHL.js.gz +0 -0
  140. package/dist/chunk-2FTJAMFA.mjs.br +0 -0
  141. package/dist/chunk-2FTJAMFA.mjs.gz +0 -0
  142. package/dist/chunk-3B5FRKYU.mjs.br +0 -0
  143. package/dist/chunk-3B5FRKYU.mjs.gz +0 -0
  144. package/dist/chunk-3P7FYHJH.js.br +0 -0
  145. package/dist/chunk-44CQ67GQ.js.br +0 -0
  146. package/dist/chunk-44CQ67GQ.js.gz +0 -0
  147. package/dist/chunk-AMRT3AE4.mjs.br +0 -0
  148. package/dist/chunk-DM2IZCSD.mjs.br +0 -0
  149. package/dist/chunk-DM2IZCSD.mjs.gz +0 -0
  150. package/dist/chunk-FSQCEAMG.js.br +0 -0
  151. package/dist/chunk-FSQCEAMG.js.gz +0 -0
  152. package/dist/chunk-GR6SJJIT.js.br +0 -0
  153. package/dist/chunk-GR6SJJIT.js.gz +0 -0
  154. package/dist/chunk-ITN5NYYM.mjs.br +0 -0
  155. package/dist/chunk-ITN5NYYM.mjs.gz +0 -0
  156. package/dist/chunk-K6R2JNCK.js.br +0 -0
  157. package/dist/chunk-K6R2JNCK.js.gz +0 -0
  158. package/dist/chunk-QEEU4S4Z.mjs.br +0 -0
  159. package/dist/chunk-QEEU4S4Z.mjs.gz +0 -0
  160. package/dist/chunk-QKSYKQEL.js.br +0 -0
  161. package/dist/chunk-QKSYKQEL.js.gz +0 -0
  162. package/dist/useViewerBuildingBlocks-X1L8BjsQ.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,65 @@ 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.4.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.4.0) - 2026-09-02
11
+
12
+ ### Features
13
+
14
+ - **shared:** Animate morph stacking, flips, and crop reveal like PowerPoint (by @nikko82) ([a9bba84](https://github.com/ChristopherVR/pptx-viewer/commit/a9bba842827274a9dc7cdb0b8934fe7509b560e6))
15
+ - **shared:** Minimum-cost media pairing and named text twins for morphs (by @nikko82) ([3abda95](https://github.com/ChristopherVR/pptx-viewer/commit/3abda95e72133e1fe886f2bc98d76a5c23a645c6))
16
+ - **shared:** Step an inert stacking-swap counterpart together with the mover (by @nikko82) ([e4f9438](https://github.com/ChristopherVR/pptx-viewer/commit/e4f9438771bcec15c78ebba5eb3b4e2c173152e0))
17
+ - **react,vue,angular,svelte,vanilla:** Replay the leaving slide's transition on backward steps (by @nikko82) ([e23838e](https://github.com/ChristopherVR/pptx-viewer/commit/e23838ebc6253c413fe87cd75e96244311349214))
18
+ - **shared:** I18n keys for the wave-4 parity UI (by @ChristopherVR) ([6cc9a86](https://github.com/ChristopherVR/pptx-viewer/commit/6cc9a8646c3f6174ec70928e00137412fea1778a))
19
+ - **core:** Master/layout CRUD, legacy comment threading, extended ppaction verbs (by @ChristopherVR) ([033b024](https://github.com/ChristopherVR/pptx-viewer/commit/033b024a70d041cf884aafb47dbc35e9d2ed10f6))
20
+ - **shared:** Master-view CRUD, recent colours, action options, handout-master print chrome (by @ChristopherVR) ([3cc928f](https://github.com/ChristopherVR/pptx-viewer/commit/3cc928fea1e07293ca24faabcf6058b0c43713b2))
21
+ - **react:** Wave-4 parity UI (chart subtypes, read-only banner, compat toasts, rescale, sldRg) (by @ChristopherVR) ([abfc61f](https://github.com/ChristopherVR/pptx-viewer/commit/abfc61f966dabb24807d98e5eca5e917c4857315))
22
+ - **shared:** Show entry slide, compat toast placement, master-view failure copy (by @ChristopherVR) ([79a42ba](https://github.com/ChristopherVR/pptx-viewer/commit/79a42ba93d0fd76d4fb509710c14eae22609c5de))
23
+ - **react:** Wave-4 show entry, custom-show actions, master CRUD, mentions (by @ChristopherVR) ([4d45b72](https://github.com/ChristopherVR/pptx-viewer/commit/4d45b7211c8596c889f4f14f7f90a83709ad0ec5))
24
+ - **shared:** Resolve OLE action verbs against the clicked element (by @ChristopherVR) ([680c70c](https://github.com/ChristopherVR/pptx-viewer/commit/680c70c7d4cbb1f37d0c132b99544309e3563629))
25
+ - **react:** Recent-colours row under every picker and OLE verb actions (by @ChristopherVR) ([5965928](https://github.com/ChristopherVR/pptx-viewer/commit/5965928f695618d58c9202c18bfcd0dfdb3a457b))
26
+ - **shared:** Map F5 and Shift+F5 to the start-show actions (by @ChristopherVR) ([94852ed](https://github.com/ChristopherVR/pptx-viewer/commit/94852edbe44a6fb712e15dd8892ff4dcd1e9e7b0))
27
+ - **react:** Start the slide show on F5 and Shift+F5 (by @ChristopherVR) ([4904fb4](https://github.com/ChristopherVR/pptx-viewer/commit/4904fb484397fe8a4319eff8f923cd559d2f1447))
28
+
29
+ ### Bug Fixes
30
+
31
+ - **shared:** Play an un-authored morph at PowerPoint's 0.5s fallback (by @nikko82) ([0a70ef2](https://github.com/ChristopherVR/pptx-viewer/commit/0a70ef2db656e830ad429e9fd0a6efeb43ff7bde))
32
+ - **shared:** Close the open code-scanning findings at their root (by @ChristopherVR) ([455f853](https://github.com/ChristopherVR/pptx-viewer/commit/455f853f028ba1cb4142285558bbeef715d130d7))
33
+ - **react:** Route ppaction://media through the shared media toggle (by @ChristopherVR) ([7e0bfb1](https://github.com/ChristopherVR/pptx-viewer/commit/7e0bfb137d1f38855a595625fb126cc3f0c1d246))
34
+ - **react:** Keep selection handles aligned during transforms (by @Sudhansh6) ([4867a0a](https://github.com/ChristopherVR/pptx-viewer/commit/4867a0a74ad026719e4abddc6366eb7a27adce44))
35
+ - **react:** Scope the selection-handle overlay sync to its own viewer (by @ChristopherVR) ([a2af2a1](https://github.com/ChristopherVR/pptx-viewer/commit/a2af2a1dde67f8ab87e618431ce4e11c7e97cacf))
36
+ - **shared:** Write morph stacking-order journeys in the stage's z space (by @ChristopherVR) ([867b05b](https://github.com/ChristopherVR/pptx-viewer/commit/867b05b4e9bfea62361e7d1361ae4cb84787c191))
37
+ - **react:** Hand the morph plan the stage's z-index base (by @ChristopherVR) ([67fba80](https://github.com/ChristopherVR/pptx-viewer/commit/67fba80e4a7faff912df452ef5126259f46d91bf))
38
+ - **shared:** Take the nearest named text twin and drop its dead name veto (by @ChristopherVR) ([c6e8062](https://github.com/ChristopherVR/pptx-viewer/commit/c6e8062919e9b9ccc1d1b18c4504270fd8138f51))
39
+ - **shared:** Sample the morph crop track from the one easing definition (by @ChristopherVR) ([349e8bd](https://github.com/ChristopherVR/pptx-viewer/commit/349e8bd5eb1908077f3693e6ee4573cf88ad253c))
40
+
41
+ ### Testing
42
+
43
+ - **shared:** Cover the morph media assignment solver (by @ChristopherVR) ([cbf671f](https://github.com/ChristopherVR/pptx-viewer/commit/cbf671f7a7a2037006f19ddaabc502211069ded5))
44
+
45
+ ## [3.3.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.3.0) - 2026-09-02
46
+
47
+ ### Features
48
+
49
+ - **react:** Per-series secondary axis toggle and shift-locked corner resize (by @ChristopherVR) ([ae7d13b](https://github.com/ChristopherVR/pptx-viewer/commit/ae7d13bab96dedfcbf07aa3be3c11fea6b5e64b2))
50
+ - **shared:** Add the pptx.effects.rotateWithShape key and export DEFAULT_FONT_SIZE (by @ChristopherVR) ([2021a28](https://github.com/ChristopherVR/pptx-viewer/commit/2021a28c4442b5769f3faaed1cb7abc27b7316a3))
51
+
52
+ ### Bug Fixes
53
+
54
+ - **react:** Make the chart gridlines checkbox change the canvas and keep 3D model MIME types (by @ChristopherVR) ([77381a1](https://github.com/ChristopherVR/pptx-viewer/commit/77381a16dd051978ae965b0d461a35916ef59d8d))
55
+ - **react:** Localise the outer-shadow "Rotate with Shape" label (by @ChristopherVR) ([181ca8d](https://github.com/ChristopherVR/pptx-viewer/commit/181ca8d0f189d8d9832489042d19a00ed0123ef7))
56
+ - **shared:** Stop eaLnBrk splitting Latin words mid-word (by @ChristopherVR) ([c3eedb9](https://github.com/ChristopherVR/pptx-viewer/commit/c3eedb9e7adaccfcd5fc954518d554218f1050e2))
57
+ - **react:** Keep the placeholder prompt off show, viewer and still surfaces (by @ChristopherVR) ([58474f7](https://github.com/ChristopherVR/pptx-viewer/commit/58474f7b127d06beb2f9c034d52c6a21c7551053))
58
+ - **shared:** Resolve Google webfonts from a bundled catalogue instead of probing the API (by @ChristopherVR) ([43bda70](https://github.com/ChristopherVR/pptx-viewer/commit/43bda70309f0e9b2cd80dc3ae2ec5cdecda41548))
59
+
60
+ ### Refactor
61
+
62
+ - **react:** Repoint onto the wave-2 shared modules (by @ChristopherVR) ([52e7011](https://github.com/ChristopherVR/pptx-viewer/commit/52e701140d82c29e82e7604608cbef122dd1c874))
63
+ - **shared:** Make editor-geometry nudge helpers alias editor-keymap (by @ChristopherVR) ([87cf256](https://github.com/ChristopherVR/pptx-viewer/commit/87cf256d9bf0565dd6b70e264c6a558416d31ef5))
64
+
65
+ ### Testing
66
+
67
+ - **react:** Stub the network in the webfont tests, not probe responses (by @ChristopherVR) ([b5e5275](https://github.com/ChristopherVR/pptx-viewer/commit/b5e527599b7937027f6bd772db0790ec9b72ca3a))
68
+
10
69
  ## [3.2.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.2.0) - 2026-09-02
11
70
 
12
71
  ### Features
@@ -1,7 +1,7 @@
1
- import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-2FTJAMFA.mjs';
2
- import { cn } from './chunk-ITN5NYYM.mjs';
3
- import './chunk-DM2IZCSD.mjs';
4
- import './chunk-AMRT3AE4.mjs';
1
+ import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, mergeTablesDirective, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-IJLTDBXT.mjs';
2
+ import { cn } from './chunk-4YGGPPJZ.mjs';
3
+ import './chunk-PADP3NUM.mjs';
4
+ import './chunk-XWUMM2TX.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
7
7
  import { useTranslation } from 'react-i18next';
Binary file
Binary file
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkFSQCEAMG_js = require('./chunk-FSQCEAMG.js');
4
- var chunk44CQ67GQ_js = require('./chunk-44CQ67GQ.js');
5
- require('./chunk-K6R2JNCK.js');
6
- require('./chunk-3P7FYHJH.js');
3
+ var chunkPDVJNNWP_js = require('./chunk-PDVJNNWP.js');
4
+ var chunkGKRE7272_js = require('./chunk-GKRE7272.js');
5
+ require('./chunk-SEJEVNXW.js');
6
+ require('./chunk-UNIJUD5C.js');
7
7
  require('./chunk-4VNS5WPM.js');
8
8
  var react = require('react');
9
9
  var reactI18next = require('react-i18next');
@@ -23,7 +23,7 @@ function useAiChat(bridge, config) {
23
23
  setInitError(void 0);
24
24
  void (async () => {
25
25
  try {
26
- const available = await chunkFSQCEAMG_js.isAiAvailable();
26
+ const available = await chunkPDVJNNWP_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 chunkFSQCEAMG_js.createAiChatSession(bridge, configRef.current);
34
+ const built = await chunkPDVJNNWP_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 chunkFSQCEAMG_js.buildDeckContext(bridge, { strategy, focus: {} });
140
+ context = await chunkPDVJNNWP_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?.(chunkFSQCEAMG_js.toolCanvasTarget(call.toolName, call.input));
203
+ onToolTargetRef.current?.(chunkPDVJNNWP_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 ?? chunkFSQCEAMG_js.createChatHistoryStore(), [input.store]);
279
+ const store = react.useMemo(() => input.store ?? chunkPDVJNNWP_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: chunk44CQ67GQ_js.cn(
422
+ className: chunkGKRE7272_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 = chunkFSQCEAMG_js.focusTargetChips(targets, slides);
446
- const twoTables = chunkFSQCEAMG_js.isTwoTableFocus(targets, slides);
445
+ const chips = chunkPDVJNNWP_js.focusTargetChips(targets, slides);
446
+ const twoTables = chunkPDVJNNWP_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: chunk44CQ67GQ_js.cn(
453
+ className: chunkGKRE7272_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
- chunkFSQCEAMG_js.mergeTablesDirective(
469
+ chunkPDVJNNWP_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: chunk44CQ67GQ_js.cn(
490
+ className: chunkGKRE7272_js.cn(
491
491
  "rounded-sm p-1",
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: chunk44CQ67GQ_js.cn(
569
+ className: chunkGKRE7272_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 = chunkFSQCEAMG_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
724
+ const activity = chunkPDVJNNWP_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
725
725
  const Icon = ICONS[activity.icon] ?? lu.LuWrench;
726
- const rawSummary = chunkFSQCEAMG_js.summarizeToolArgs(part.input);
726
+ const rawSummary = chunkPDVJNNWP_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: chunk44CQ67GQ_js.cn(
733
+ className: chunkGKRE7272_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: chunk44CQ67GQ_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
739
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkGKRE7272_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
740
740
  /* @__PURE__ */ jsxRuntime.jsxs(
741
741
  "span",
742
742
  {
743
- className: chunk44CQ67GQ_js.cn(
743
+ className: chunkGKRE7272_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
- chunkFSQCEAMG_js.toolLabel(part.toolName),
760
+ chunkPDVJNNWP_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: chunk44CQ67GQ_js.cn(
791
+ className: chunkGKRE7272_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(chunkFSQCEAMG_js.humanizeDiffLine);
838
+ const lines = proposal.summary.map(chunkPDVJNNWP_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(() => chunkFSQCEAMG_js.deckIdFromBridge(bridge), [bridge]);
1046
+ const deckId = react.useMemo(() => chunkPDVJNNWP_js.deckIdFromBridge(bridge), [bridge]);
1047
1047
  return /* @__PURE__ */ jsxRuntime.jsxs(
1048
1048
  "div",
1049
1049
  {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountAreaChart3D } from './chunk-DM2IZCSD.mjs';
1
+ import { mountAreaChart3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.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 Area3DChartScene({ options }) {
14
14
  return;
15
15
  }
16
16
  let disposed = false;
17
- void chunkK6R2JNCK_js.mountAreaChart3D(container, options).then((handle) => {
17
+ void chunkSEJEVNXW_js.mountAreaChart3D(container, options).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.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 Bar3DChartScene({ options }) {
14
14
  return;
15
15
  }
16
16
  let disposed = false;
17
- void chunkK6R2JNCK_js.mountBarChart3D(container, options).then((handle) => {
17
+ void chunkSEJEVNXW_js.mountBarChart3D(container, options).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
@@ -1,4 +1,4 @@
1
- import { mountBarChart3D } from './chunk-DM2IZCSD.mjs';
1
+ import { mountBarChart3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.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 Line3DChartScene({ options }) {
14
14
  return;
15
15
  }
16
16
  let disposed = false;
17
- void chunkK6R2JNCK_js.mountLineChart3D(container, options).then((handle) => {
17
+ void chunkSEJEVNXW_js.mountLineChart3D(container, options).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
@@ -1,4 +1,4 @@
1
- import { mountLineChart3D } from './chunk-DM2IZCSD.mjs';
1
+ import { mountLineChart3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.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 chunkK6R2JNCK_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
17
+ void chunkSEJEVNXW_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-DM2IZCSD.mjs';
1
+ import { mountModel3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.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 PieChart3DScene({ options }) {
14
14
  return;
15
15
  }
16
16
  let disposed = false;
17
- void chunkK6R2JNCK_js.mountPieChart3D(container, options).then((handle) => {
17
+ void chunkSEJEVNXW_js.mountPieChart3D(container, options).then((handle) => {
18
18
  if (disposed) {
19
19
  handle.dispose();
20
20
  } else {
@@ -1,4 +1,4 @@
1
- import { mountPieChart3D } from './chunk-DM2IZCSD.mjs';
1
+ import { mountPieChart3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"PowerPointViewer-Cl6jBPNw.d.ts","names":[],"sources":["../src/viewer/utils/animation-effects.ts","../src/viewer/PowerPointViewer.tsx"],"mappings":";;;;;iBAmBgB,yBACf,QAAQ,iCACR,kBAAkB,sBAChB,MAAM;;;;;;;;;;;;cCmHI,kCAAgB,0BAAA,wCAAA,cAAA"}
1
+ {"version":3,"file":"PowerPointViewer-Cl6jBPNw.d.ts","names":[],"sources":["../src/viewer/utils/animation-effects.ts","../src/viewer/PowerPointViewer.tsx"],"mappings":";;;;;iBAmBgB,yBACf,QAAQ,iCACR,kBAAkB,sBAChB,MAAM;;;;;;;;;;;;cC2HI,kCAAgB,0BAAA,wCAAA,cAAA"}
@@ -1,4 +1,4 @@
1
- import { mountSurfaceChart3D } from './chunk-DM2IZCSD.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-PADP3NUM.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK6R2JNCK_js = require('./chunk-K6R2JNCK.js');
3
+ var chunkSEJEVNXW_js = require('./chunk-SEJEVNXW.js');
4
4
  require('./chunk-4VNS5WPM.js');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -16,7 +16,7 @@ function SurfaceChart3DScene({
16
16
  return;
17
17
  }
18
18
  let disposed = false;
19
- void chunkK6R2JNCK_js.mountSurfaceChart3D(container, options).then((handle) => {
19
+ void chunkSEJEVNXW_js.mountSurfaceChart3D(container, options).then((handle) => {
20
20
  if (disposed) {
21
21
  handle.dispose();
22
22
  } else {
@@ -1,5 +1,5 @@
1
- import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getImageTilingStyle, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerCrossSlideAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-DM2IZCSD.mjs';
2
- import { translationsEn } from './chunk-AMRT3AE4.mjs';
1
+ import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerCrossSlideAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-PADP3NUM.mjs';
2
+ import { translationsEn } from './chunk-XWUMM2TX.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import React6, { useRef, useState, useEffect, useCallback, useMemo, useLayoutEffect } from 'react';
@@ -265,7 +265,7 @@ function getImageSurfaceMaskStyle(element) {
265
265
  return {
266
266
  overflow: "hidden",
267
267
  borderRadius: mask?.borderRadius,
268
- clipPath: mask?.clipPath ?? getCropShapeClipPath(element)
268
+ clipPath: mask?.clipPath ?? getCropShapeClipPath2(element)
269
269
  };
270
270
  }
271
271
  function getImageSurfaceStyle(element) {
@@ -281,24 +281,11 @@ function getImageSurfaceStyle(element) {
281
281
  backgroundPosition: fill?.backgroundPosition
282
282
  };
283
283
  }
284
- var CROP_SHAPE_CLIP_PATHS = {
285
- ellipse: "ellipse(50% 50% at 50% 50%)",
286
- roundedRect: "inset(0 round 12%)",
287
- triangle: "polygon(50% 0%, 0% 100%, 100% 100%)",
288
- diamond: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
289
- pentagon: "polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)",
290
- hexagon: "polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)",
291
- star: "polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)"
292
- };
293
- function getCropShapeClipPath(element) {
284
+ function getCropShapeClipPath2(element) {
294
285
  if (!isImageLikeElement(element)) {
295
286
  return void 0;
296
287
  }
297
- const shape = element.cropShape;
298
- if (!shape || shape === "none") {
299
- return void 0;
300
- }
301
- return CROP_SHAPE_CLIP_PATHS[shape];
288
+ return getCropShapeClipPath(element.cropShape, element.width, element.height);
302
289
  }
303
290
  function getImageTilingStyle2(element) {
304
291
  return getImageTilingStyle(element);
@@ -3876,4 +3863,4 @@ function stopPreviewAnimation() {
3876
3863
  activePreview = null;
3877
3864
  }
3878
3865
 
3879
- export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_SECTION_GROUP_ID, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageSurfaceMaskStyle, getImageSurfaceStyle, getImageTilingStyle2 as getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderMediaElement, renderTableElement, renderTextSegments, renderVectorShape, shouldRenderFallbackLabel, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation };
3866
+ export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_SECTION_GROUP_ID, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath2 as getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageSurfaceMaskStyle, getImageSurfaceStyle, getImageTilingStyle2 as getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderMediaElement, renderTableElement, renderTextSegments, renderVectorShape, shouldRenderFallbackLabel, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation };
Binary file
Binary file