pptx-react-viewer 3.0.4 → 3.1.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.
- package/CHANGELOG.md +63 -0
- package/dist/{AiChatPanel-E4V3FYLR.js → AiChatPanel-6PERJN7M.js} +24 -24
- package/dist/AiChatPanel-6PERJN7M.js.br +0 -0
- package/dist/AiChatPanel-6PERJN7M.js.gz +0 -0
- package/dist/{AiChatPanel-GSTUOESI.mjs → AiChatPanel-EIENGCKW.mjs} +4 -4
- package/dist/AiChatPanel-EIENGCKW.mjs.br +0 -0
- package/dist/AiChatPanel-EIENGCKW.mjs.gz +0 -0
- package/dist/Area3DChartScene-TXCLQLBQ.js +47 -0
- package/dist/Area3DChartScene-TXCLQLBQ.js.br +0 -0
- package/dist/Area3DChartScene-TXCLQLBQ.js.gz +0 -0
- package/dist/Area3DChartScene-W6SVC235.mjs +45 -0
- package/dist/Area3DChartScene-W6SVC235.mjs.br +0 -0
- package/dist/Area3DChartScene-W6SVC235.mjs.gz +0 -0
- package/dist/Bar3DChartScene-6RHPFLZT.js +47 -0
- package/dist/Bar3DChartScene-6RHPFLZT.js.br +0 -0
- package/dist/Bar3DChartScene-6RHPFLZT.js.gz +0 -0
- package/dist/Bar3DChartScene-FCVUZIJ3.mjs +45 -0
- package/dist/Bar3DChartScene-FCVUZIJ3.mjs.br +0 -0
- package/dist/Bar3DChartScene-FCVUZIJ3.mjs.gz +0 -0
- package/dist/Line3DChartScene-2ZFE53KO.js +47 -0
- package/dist/Line3DChartScene-2ZFE53KO.js.br +0 -0
- package/dist/Line3DChartScene-2ZFE53KO.js.gz +0 -0
- package/dist/Line3DChartScene-MJXFXSPW.mjs +45 -0
- package/dist/Line3DChartScene-MJXFXSPW.mjs.br +0 -0
- package/dist/Line3DChartScene-MJXFXSPW.mjs.gz +0 -0
- package/dist/{Model3DScene-45JR5NXN.js → Model3DScene-7VQNRY5B.js} +2 -2
- package/dist/Model3DScene-7VQNRY5B.js.br +0 -0
- package/dist/Model3DScene-7VQNRY5B.js.gz +0 -0
- package/dist/{Model3DScene-634CXE46.mjs → Model3DScene-A5RV3KNJ.mjs} +1 -1
- package/dist/Model3DScene-A5RV3KNJ.mjs.br +0 -0
- package/dist/Model3DScene-A5RV3KNJ.mjs.gz +0 -0
- package/dist/PieChart3DScene-JTHZESS3.js +47 -0
- package/dist/PieChart3DScene-JTHZESS3.js.br +0 -0
- package/dist/PieChart3DScene-JTHZESS3.js.gz +0 -0
- package/dist/PieChart3DScene-UEVFZZVW.mjs +45 -0
- package/dist/PieChart3DScene-UEVFZZVW.mjs.br +0 -0
- package/dist/PieChart3DScene-UEVFZZVW.mjs.gz +0 -0
- package/dist/{PowerPointViewer-SkkxAGKa.d.ts → PowerPointViewer-Cl6jBPNw.d.ts} +2 -2
- package/dist/PowerPointViewer-Cl6jBPNw.d.ts.map +1 -0
- package/dist/{SurfaceChart3DScene-BBQFOGVR.js → SurfaceChart3DScene-FXUNT5OK.js} +2 -2
- package/dist/SurfaceChart3DScene-FXUNT5OK.js.br +0 -0
- package/dist/SurfaceChart3DScene-FXUNT5OK.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-OBVXGXSD.mjs → SurfaceChart3DScene-WD65PAG4.mjs} +1 -1
- package/dist/SurfaceChart3DScene-WD65PAG4.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-WD65PAG4.mjs.gz +0 -0
- package/dist/{audience-content-store-Bx4Yj2pN.d.ts → audience-content-store-bR7Gs_1S.d.ts} +2 -2
- package/dist/{audience-content-store-Bx4Yj2pN.d.ts.map → audience-content-store-bR7Gs_1S.d.ts.map} +1 -1
- package/dist/{chunk-J4KXCPQ3.mjs → chunk-5ERW2B25.mjs} +1 -1
- package/dist/chunk-5ERW2B25.mjs.br +0 -0
- package/dist/chunk-5ERW2B25.mjs.gz +0 -0
- package/dist/{chunk-Z4F5BCQB.js → chunk-GCE2TYHF.js} +170 -169
- package/dist/chunk-GCE2TYHF.js.br +0 -0
- package/dist/chunk-GCE2TYHF.js.gz +0 -0
- package/dist/{chunk-AX4JM6TW.js → chunk-GIFQWIW5.js} +2535 -1959
- package/dist/chunk-GIFQWIW5.js.br +0 -0
- package/dist/chunk-GIFQWIW5.js.gz +0 -0
- package/dist/{chunk-NPA3EBET.mjs → chunk-ICAYXQVJ.mjs} +720 -144
- package/dist/chunk-ICAYXQVJ.mjs.br +0 -0
- package/dist/chunk-ICAYXQVJ.mjs.gz +0 -0
- package/dist/{chunk-7HPI5HBA.js → chunk-IDTNKL4S.js} +6201 -2447
- package/dist/chunk-IDTNKL4S.js.br +0 -0
- package/dist/chunk-IDTNKL4S.js.gz +0 -0
- package/dist/{chunk-V7ZLEZ5W.mjs → chunk-ISDTM2V3.mjs} +6172 -2447
- package/dist/chunk-ISDTM2V3.mjs.br +0 -0
- package/dist/chunk-ISDTM2V3.mjs.gz +0 -0
- package/dist/{chunk-ROWGR6GY.mjs → chunk-MAOUVROK.mjs} +3 -3
- package/dist/chunk-MAOUVROK.mjs.br +0 -0
- package/dist/chunk-MAOUVROK.mjs.gz +0 -0
- package/dist/{chunk-L5MNLIQF.mjs → chunk-MKPSUHUH.mjs} +25 -0
- package/dist/chunk-MKPSUHUH.mjs.br +0 -0
- package/dist/chunk-MKPSUHUH.mjs.gz +0 -0
- package/dist/{chunk-XURJHY6K.js → chunk-OTBQBTTQ.js} +391 -391
- package/dist/chunk-OTBQBTTQ.js.br +0 -0
- package/dist/chunk-OTBQBTTQ.js.gz +0 -0
- package/dist/{chunk-6ILXI752.mjs → chunk-OUX4O5XK.mjs} +17 -16
- package/dist/chunk-OUX4O5XK.mjs.br +0 -0
- package/dist/chunk-OUX4O5XK.mjs.gz +0 -0
- package/dist/{chunk-5IYGA2HX.js → chunk-OZGFMZEX.js} +3 -3
- package/dist/chunk-OZGFMZEX.js.br +0 -0
- package/dist/chunk-OZGFMZEX.js.gz +0 -0
- package/dist/{chunk-U6A5FWWE.js → chunk-PIUB7R2K.js} +25 -0
- package/dist/chunk-PIUB7R2K.js.br +0 -0
- package/dist/chunk-PIUB7R2K.js.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +202 -9
- package/dist/index.js +47 -47
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +159 -9
- package/dist/internals.js +79 -79
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/{types-kLpvSPxq.d.ts → types-Bzdkiakq.d.ts} +44 -1
- package/dist/{types-kLpvSPxq.d.ts.map → types-Bzdkiakq.d.ts.map} +1 -1
- package/dist/{useViewerBuildingBlocks-fh7rq4jc.d.ts → useViewerBuildingBlocks-DC1O_op4.d.ts} +2 -2
- package/dist/{useViewerBuildingBlocks-fh7rq4jc.d.ts.map → useViewerBuildingBlocks-DC1O_op4.d.ts.map} +1 -1
- package/dist/viewer/index.d.ts +196 -6
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +2 -2
- package/dist/AiChatPanel-E4V3FYLR.js.br +0 -0
- package/dist/AiChatPanel-E4V3FYLR.js.gz +0 -0
- package/dist/AiChatPanel-GSTUOESI.mjs.br +0 -0
- package/dist/AiChatPanel-GSTUOESI.mjs.gz +0 -0
- package/dist/Model3DScene-45JR5NXN.js.br +0 -0
- package/dist/Model3DScene-45JR5NXN.js.gz +0 -0
- package/dist/Model3DScene-634CXE46.mjs.br +0 -0
- package/dist/Model3DScene-634CXE46.mjs.gz +0 -0
- package/dist/PowerPointViewer-SkkxAGKa.d.ts.map +0 -1
- package/dist/SurfaceChart3DScene-BBQFOGVR.js.br +0 -0
- package/dist/SurfaceChart3DScene-BBQFOGVR.js.gz +0 -0
- package/dist/SurfaceChart3DScene-OBVXGXSD.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-OBVXGXSD.mjs.gz +0 -0
- package/dist/chunk-5IYGA2HX.js.br +0 -0
- package/dist/chunk-5IYGA2HX.js.gz +0 -0
- package/dist/chunk-6ILXI752.mjs.br +0 -0
- package/dist/chunk-6ILXI752.mjs.gz +0 -0
- package/dist/chunk-7HPI5HBA.js.br +0 -0
- package/dist/chunk-7HPI5HBA.js.gz +0 -0
- package/dist/chunk-AX4JM6TW.js.br +0 -0
- package/dist/chunk-AX4JM6TW.js.gz +0 -0
- package/dist/chunk-J4KXCPQ3.mjs.br +0 -0
- package/dist/chunk-J4KXCPQ3.mjs.gz +0 -0
- package/dist/chunk-L5MNLIQF.mjs.br +0 -0
- package/dist/chunk-L5MNLIQF.mjs.gz +0 -0
- package/dist/chunk-NPA3EBET.mjs.br +0 -0
- package/dist/chunk-NPA3EBET.mjs.gz +0 -0
- package/dist/chunk-ROWGR6GY.mjs.br +0 -0
- package/dist/chunk-ROWGR6GY.mjs.gz +0 -0
- package/dist/chunk-U6A5FWWE.js.br +0 -0
- package/dist/chunk-U6A5FWWE.js.gz +0 -0
- package/dist/chunk-V7ZLEZ5W.mjs.br +0 -0
- package/dist/chunk-V7ZLEZ5W.mjs.gz +0 -0
- package/dist/chunk-XURJHY6K.js.br +0 -0
- package/dist/chunk-XURJHY6K.js.gz +0 -0
- package/dist/chunk-Z4F5BCQB.js.br +0 -0
- package/dist/chunk-Z4F5BCQB.js.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,69 @@ 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.1.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.1.0) - 2026-08-28
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- **core:** Decrypt RC4-encrypted legacy .ppt files (by @ChristopherVR) ([b95adc7](https://github.com/ChristopherVR/pptx-viewer/commit/b95adc74f036eefd4d44af441fa600512ff44282))
|
|
15
|
+
- **ole:** Make embedded OLE objects' Object Name editable (by @ChristopherVR) ([e06b32c](https://github.com/ChristopherVR/pptx-viewer/commit/e06b32c1b4e9375c37916097b494ab05bf4b7850))
|
|
16
|
+
- **shared:** Add Pareto as an insertable chart type (by @ChristopherVR) ([8fea110](https://github.com/ChristopherVR/pptx-viewer/commit/8fea110ef6aa4036fee97f232f4f7d8ecd5f7b94))
|
|
17
|
+
- **core:** Support writing ECMA-376 Standard scheme encryption (by @ChristopherVR) ([210d2a2](https://github.com/ChristopherVR/pptx-viewer/commit/210d2a22603467092f667f031bc7881f7e7833bf))
|
|
18
|
+
- **shared:** Apply the shadeToTitle background gradient effect (by @ChristopherVR) ([f287389](https://github.com/ChristopherVR/pptx-viewer/commit/f2873891828125b315f2cae2155824c84609626f))
|
|
19
|
+
- **core:** Allow animation drag-to-reorder across deck-native effects (by @ChristopherVR) ([6f48a34](https://github.com/ChristopherVR/pptx-viewer/commit/6f48a3455338c78f34c4d0978bcc4cf0be075db2))
|
|
20
|
+
- Author animation effect sound and after-animation controls (by @ChristopherVR) ([78daeb4](https://github.com/ChristopherVR/pptx-viewer/commit/78daeb4276733fe5ed048872d262a8cf080bfc3b))
|
|
21
|
+
- **shared:** Honour p:seq @concurrent/@nextAc/@prevAc and p:cTn @restart (by @ChristopherVR) ([3e3427d](https://github.com/ChristopherVR/pptx-viewer/commit/3e3427d9d747ae97485a5186b59e3d5aa80c1579))
|
|
22
|
+
- **shared:** Honour animRot/animScale absolute values, tavLst, txEl ranges, p:excl and bldLvl in playback (by @ChristopherVR) ([f71396b](https://github.com/ChristopherVR/pptx-viewer/commit/f71396bbc1309909aa3eecfd4855268f4e6fbfac))
|
|
23
|
+
- **shared:** Resolve 9 more SMIL animEffect filter families to real reveals (by @ChristopherVR) ([e47aa40](https://github.com/ChristopherVR/pptx-viewer/commit/e47aa409b5bcd10c24eadad3fb9aa8ab8f055fbd))
|
|
24
|
+
- Author and embed transition sounds from the ribbon Sound picker (by @ChristopherVR) ([ada8cdb](https://github.com/ChristopherVR/pptx-viewer/commit/ada8cdb65a0689660b9afc852d0a85e2a1b04534))
|
|
25
|
+
- Expose transition speed and morph-option controls in all five bindings (by @ChristopherVR) ([122894d](https://github.com/ChristopherVR/pptx-viewer/commit/122894db9366c91a87371311bf4f69ccbf53ffb4))
|
|
26
|
+
- **ink:** Retain pen-tilt InkML channels and render a calligraphic nib (by @ChristopherVR) ([6adab79](https://github.com/ChristopherVR/pptx-viewer/commit/6adab79f7cf8ae19346c3e74d34413cccd2eb08f))
|
|
27
|
+
- **shared:** Raycast hover tooltip for surface chart marks (by @ChristopherVR) ([c943646](https://github.com/ChristopherVR/pptx-viewer/commit/c9436468d2a1997168f12d079e0da758ab488758))
|
|
28
|
+
- **shared:** Resolve stretch, newsflash and random animEffect filters (by @ChristopherVR) ([58c898e](https://github.com/ChristopherVR/pptx-viewer/commit/58c898e55c2fb520cde7845baf8ae4b2e7a1c224))
|
|
29
|
+
- **core,shared:** Surface p:tavLst attrName, honour colour ramps (by @ChristopherVR) ([2ccf45f](https://github.com/ChristopherVR/pptx-viewer/commit/2ccf45fbcb23da9e0084769c0895b35cfc027326))
|
|
30
|
+
- **shared:** Widen native-animation preset playback coverage to 54/200 (by @ChristopherVR) ([41e2b52](https://github.com/ChristopherVR/pptx-viewer/commit/41e2b526dc654e4f7c24f3dd9026eb3124c47dd5))
|
|
31
|
+
- **shared:** True 3D bar3D chart scene via three.js, opt-in all bindings (by @ChristopherVR) ([ac920da](https://github.com/ChristopherVR/pptx-viewer/commit/ac920da1d2cc302f36ba7b2b19dc4011ac5aae07))
|
|
32
|
+
- **shared:** True 3D line3D/area3D chart scenes via three.js, opt-in all bindings (by @ChristopherVR) ([1447517](https://github.com/ChristopherVR/pptx-viewer/commit/1447517ee8c95ca958146f668a5cd0f64616b473))
|
|
33
|
+
- **charts:** Give pie3D charts true 3D rendering across all bindings (by @ChristopherVR) ([a1b32e7](https://github.com/ChristopherVR/pptx-viewer/commit/a1b32e7b9c44230f35d9c73cf786f8594b4b4157))
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
- Author Draw-tab ink as a PowerPoint-compatible content part (by @ChristopherVR) ([d91ce08](https://github.com/ChristopherVR/pptx-viewer/commit/d91ce08757c3697eab6891808e527c5e1eaea555))
|
|
38
|
+
- **animation:** Correct swapped exit/emphasis presets, cover 4 more IDs (by @ChristopherVR) ([11c2d2e](https://github.com/ChristopherVR/pptx-viewer/commit/11c2d2e8e68b0539c9920d8c6de4de93ca2cc5e1))
|
|
39
|
+
- **shared:** Capture Draw tool pressure in all five bindings (by @ChristopherVR) ([b8a124a](https://github.com/ChristopherVR/pptx-viewer/commit/b8a124ae7cd48733b00baac11dda325eeefeea43))
|
|
40
|
+
- **shared:** Sample ink pressure curves along the actual Bezier path (by @ChristopherVR) ([629ab5d](https://github.com/ChristopherVR/pptx-viewer/commit/629ab5dc8af3fee409376176a2b92e0e0ed26c12))
|
|
41
|
+
- **core:** Honour text-run reflection scale/skew/rotation/fade/anchor (by @ChristopherVR) ([41dfa76](https://github.com/ChristopherVR/pptx-viewer/commit/41dfa76c9540136b5c09fee52e21d8d0bc3e079c))
|
|
42
|
+
- **shared:** Render rect path gradients as nested rectangles, not an ellipse (by @ChristopherVR) ([f6f479e](https://github.com/ChristopherVR/pptx-viewer/commit/f6f479ece08a4c632db8bb4840377641079dcf3b))
|
|
43
|
+
- **shared:** Add elliptical tilt foreshortening to pie3D charts (by @ChristopherVR) ([63f57ba](https://github.com/ChristopherVR/pptx-viewer/commit/63f57ba146b6918e068ace19449ce3964140968a))
|
|
44
|
+
- **shared:** Claim morph proximity pairs closest-first, not by document order (by @ChristopherVR) ([b68a04d](https://github.com/ChristopherVR/pptx-viewer/commit/b68a04d120f15db4d2fd4c2f2c33ac31761f208b))
|
|
45
|
+
- **deps:** Converge ai-sdk adapters on a single ai package version, fix two flaky tests (by @ChristopherVR) ([4365a02](https://github.com/ChristopherVR/pptx-viewer/commit/4365a0222d80abc4ba2d651a464dfb353f882656))
|
|
46
|
+
- **core:** Author Draw-tab ink InkML that real PowerPoint actually opens (by @ChristopherVR) ([38633c7](https://github.com/ChristopherVR/pptx-viewer/commit/38633c7f25af358c24ea91c42019ad76b786ca54))
|
|
47
|
+
- **animation:** Correct tests left stale by combining independent preset fix waves (by @ChristopherVR) ([02371bb](https://github.com/ChristopherVR/pptx-viewer/commit/02371bbdb1b6124b47be1932a7af80c5ddfbee20))
|
|
48
|
+
- **charts:** Repair merge conflicts left broken by a diff3 edge case, wire remaining demos (by @ChristopherVR) ([42d550d](https://github.com/ChristopherVR/pptx-viewer/commit/42d550d6016ab0fc8ae2b5c643958cdf43f1020b))
|
|
49
|
+
|
|
50
|
+
### Testing
|
|
51
|
+
|
|
52
|
+
- **core:** Cover lte/equ ops and multi-hop bounds for SmartArt constraints (by @ChristopherVR) ([3d8c5a0](https://github.com/ChristopherVR/pptx-viewer/commit/3d8c5a08c85f7652dd2ba08cf9e345f98a767f8c))
|
|
53
|
+
- **react:** Fix stale duplicate preset-mapping expectations (by @ChristopherVR) ([7b302b6](https://github.com/ChristopherVR/pptx-viewer/commit/7b302b64d95acb4ba877b8c7592806ceb8478c28))
|
|
54
|
+
|
|
55
|
+
### Chores
|
|
56
|
+
|
|
57
|
+
- Reformat limitations.md table and a core test after merge (by @ChristopherVR) ([d9db1f7](https://github.com/ChristopherVR/pptx-viewer/commit/d9db1f7c32e0ee7383837ac6db668e10a6060752))
|
|
58
|
+
- Fix oxfmt comment placement in ppt-import.test.ts (by @ChristopherVR) ([7cb2d3d](https://github.com/ChristopherVR/pptx-viewer/commit/7cb2d3dabe470f4a0ad2a2023d90a1f9642d2c28))
|
|
59
|
+
|
|
60
|
+
## [3.0.4](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.0.4) - 2026-08-26
|
|
61
|
+
|
|
62
|
+
### Bug Fixes
|
|
63
|
+
|
|
64
|
+
- Stop duplicate inline-edit text render and fix ribbon popup clipping (by @ChristopherVR) ([f084c64](https://github.com/ChristopherVR/pptx-viewer/commit/f084c64c6bb69135b60f083200180933a7f770f7))
|
|
65
|
+
- Derive mobile chrome from the browser viewport, not the container (by @ChristopherVR) ([29e5ea1](https://github.com/ChristopherVR/pptx-viewer/commit/29e5ea17b87411fa2058e2d0a25a2323ce6a1133))
|
|
66
|
+
|
|
67
|
+
### Dependencies
|
|
68
|
+
|
|
69
|
+
- **deps:** Bump @ai-sdk/react from 4.0.80 to 4.0.76 ([#180](https://github.com/ChristopherVR/pptx-viewer/issues/180)) (by @dependabot[bot]) ([52c368d](https://github.com/ChristopherVR/pptx-viewer/commit/52c368d47e20e8afc977b4374ee59c594071c89b))
|
|
70
|
+
- **deps:** Update fast-xml-parser requirement from ^5.10.1 to ^5.11.0 ([#177](https://github.com/ChristopherVR/pptx-viewer/issues/177)) (by @dependabot[bot]) ([a876e0f](https://github.com/ChristopherVR/pptx-viewer/commit/a876e0f5fd07fd2e7063619882313cc23c4a0162))
|
|
71
|
+
- **deps:** Update dompurify requirement from ^3.4.13 to ^3.4.14 ([#173](https://github.com/ChristopherVR/pptx-viewer/issues/173)) (by @dependabot[bot]) ([19afbe1](https://github.com/ChristopherVR/pptx-viewer/commit/19afbe117520bbdeb2c8e930332ae5133df21c30))
|
|
72
|
+
|
|
10
73
|
## [3.0.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.0.3) - 2026-08-22
|
|
11
74
|
|
|
12
75
|
### Bug Fixes
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
3
|
+
var chunkOZGFMZEX_js = require('./chunk-OZGFMZEX.js');
|
|
4
|
+
var chunkGCE2TYHF_js = require('./chunk-GCE2TYHF.js');
|
|
5
|
+
require('./chunk-PIUB7R2K.js');
|
|
6
|
+
require('./chunk-IDTNKL4S.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
|
|
26
|
+
const available = await chunkOZGFMZEX_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
|
|
34
|
+
const built = await chunkOZGFMZEX_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
|
|
140
|
+
context = await chunkOZGFMZEX_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?.(
|
|
203
|
+
onToolTargetRef.current?.(chunkOZGFMZEX_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 ??
|
|
279
|
+
const store = react.useMemo(() => input.store ?? chunkOZGFMZEX_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:
|
|
422
|
+
className: chunkGCE2TYHF_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
|
),
|
|
@@ -445,15 +445,15 @@ function AiFocusBar({
|
|
|
445
445
|
onClearPicks
|
|
446
446
|
}) {
|
|
447
447
|
const { t } = reactI18next.useTranslation();
|
|
448
|
-
const chips =
|
|
449
|
-
const twoTables =
|
|
448
|
+
const chips = chunkOZGFMZEX_js.focusTargetChips(targets, slides);
|
|
449
|
+
const twoTables = chunkOZGFMZEX_js.isTwoTableFocus(targets, slides);
|
|
450
450
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
|
|
451
451
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1 px-2.5 py-1.5", children: [
|
|
452
452
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-muted-foreground", children: t("pptx.ai.focusScope") }),
|
|
453
453
|
chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
454
454
|
"span",
|
|
455
455
|
{
|
|
456
|
-
className:
|
|
456
|
+
className: chunkGCE2TYHF_js.cn(
|
|
457
457
|
"inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
|
|
458
458
|
hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
|
|
459
459
|
),
|
|
@@ -486,7 +486,7 @@ function AiFocusBar({
|
|
|
486
486
|
title: t("pptx.ai.pickElement"),
|
|
487
487
|
"aria-label": t("pptx.ai.pickAria"),
|
|
488
488
|
"aria-pressed": pickMode,
|
|
489
|
-
className:
|
|
489
|
+
className: chunkGCE2TYHF_js.cn(
|
|
490
490
|
"rounded-sm p-1",
|
|
491
491
|
pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
|
|
492
492
|
),
|
|
@@ -565,7 +565,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
|
565
565
|
{
|
|
566
566
|
type: "button",
|
|
567
567
|
onClick: () => onResume(chat.id),
|
|
568
|
-
className:
|
|
568
|
+
className: chunkGCE2TYHF_js.cn(
|
|
569
569
|
"flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
|
|
570
570
|
chat.id === activeChatId && "bg-accent/60"
|
|
571
571
|
),
|
|
@@ -720,26 +720,26 @@ function AiToolCallCard({ part }) {
|
|
|
720
720
|
const failed = part.state === "output-error";
|
|
721
721
|
const done = part.state === "output-available";
|
|
722
722
|
const running = !failed && !done;
|
|
723
|
-
const activity =
|
|
723
|
+
const activity = chunkOZGFMZEX_js.describeToolActivity(part.toolName, part.input, running ? "present" : "past");
|
|
724
724
|
const Icon = ICONS[activity.icon] ?? lu.LuWrench;
|
|
725
|
-
const rawSummary =
|
|
725
|
+
const rawSummary = chunkOZGFMZEX_js.summarizeToolArgs(part.input);
|
|
726
726
|
const statusLabel = failed ? t("pptx.ai.toolFailed") : done ? t("pptx.ai.toolDone") : t("pptx.ai.toolRunning");
|
|
727
727
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[12px]", children: [
|
|
728
728
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
729
729
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
730
730
|
Icon,
|
|
731
731
|
{
|
|
732
|
-
className:
|
|
732
|
+
className: chunkGCE2TYHF_js.cn(
|
|
733
733
|
"w-3.5 h-3.5 shrink-0",
|
|
734
734
|
failed ? "text-destructive" : "text-muted-foreground"
|
|
735
735
|
)
|
|
736
736
|
}
|
|
737
737
|
),
|
|
738
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
738
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkGCE2TYHF_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
|
|
739
739
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
740
740
|
"span",
|
|
741
741
|
{
|
|
742
|
-
className:
|
|
742
|
+
className: chunkGCE2TYHF_js.cn(
|
|
743
743
|
"ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
|
|
744
744
|
failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
745
745
|
),
|
|
@@ -756,7 +756,7 @@ function AiToolCallCard({ part }) {
|
|
|
756
756
|
rawSummary && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group mt-0.5 pl-5", children: [
|
|
757
757
|
/* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer list-none text-[10px] text-muted-foreground/70 hover:text-muted-foreground", children: t("pptx.ai.toolDetails") }),
|
|
758
758
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 break-words font-mono text-[10px] text-muted-foreground/80", children: [
|
|
759
|
-
|
|
759
|
+
chunkOZGFMZEX_js.toolLabel(part.toolName),
|
|
760
760
|
": ",
|
|
761
761
|
rawSummary
|
|
762
762
|
] })
|
|
@@ -787,7 +787,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
787
787
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
788
788
|
"div",
|
|
789
789
|
{
|
|
790
|
-
className:
|
|
790
|
+
className: chunkGCE2TYHF_js.cn(
|
|
791
791
|
"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
|
|
792
792
|
isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
|
|
793
793
|
),
|
|
@@ -834,7 +834,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
834
834
|
}
|
|
835
835
|
function AiProposalCard({ proposal, onAccept, onReject }) {
|
|
836
836
|
const { t } = reactI18next.useTranslation();
|
|
837
|
-
const lines = proposal.summary.map(
|
|
837
|
+
const lines = proposal.summary.map(chunkOZGFMZEX_js.humanizeDiffLine);
|
|
838
838
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
|
|
839
839
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
|
|
840
840
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[12px] font-medium text-foreground", children: proposal.label }),
|
|
@@ -1042,7 +1042,7 @@ function AiChatPanel({
|
|
|
1042
1042
|
}) {
|
|
1043
1043
|
const { t } = reactI18next.useTranslation();
|
|
1044
1044
|
const { state, session, initError } = useAiChat(bridge, config);
|
|
1045
|
-
const deckId = react.useMemo(() =>
|
|
1045
|
+
const deckId = react.useMemo(() => chunkOZGFMZEX_js.deckIdFromBridge(bridge), [bridge]);
|
|
1046
1046
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1047
1047
|
"div",
|
|
1048
1048
|
{
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
1
|
+
import { deckIdFromBridge, isAiAvailable, createAiChatSession, toolCanvasTarget, createChatHistoryStore, focusTargetChips, isTwoTableFocus, humanizeDiffLine, buildDeckContext, describeToolActivity, summarizeToolArgs, toolLabel } from './chunk-5ERW2B25.mjs';
|
|
2
|
+
import { cn } from './chunk-OUX4O5XK.mjs';
|
|
3
|
+
import './chunk-MKPSUHUH.mjs';
|
|
4
|
+
import './chunk-ISDTM2V3.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
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkIDTNKL4S_js = require('./chunk-IDTNKL4S.js');
|
|
4
|
+
require('./chunk-4VNS5WPM.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function Area3DChartScene({ options }) {
|
|
9
|
+
const containerRef = react.useRef(null);
|
|
10
|
+
const handleRef = react.useRef(null);
|
|
11
|
+
react.useEffect(() => {
|
|
12
|
+
const container = containerRef.current;
|
|
13
|
+
if (!container) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let disposed = false;
|
|
17
|
+
void chunkIDTNKL4S_js.mountAreaChart3D(container, options).then((handle) => {
|
|
18
|
+
if (disposed) {
|
|
19
|
+
handle.dispose();
|
|
20
|
+
} else {
|
|
21
|
+
handleRef.current = handle;
|
|
22
|
+
}
|
|
23
|
+
return void 0;
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
disposed = true;
|
|
27
|
+
handleRef.current?.dispose();
|
|
28
|
+
handleRef.current = null;
|
|
29
|
+
};
|
|
30
|
+
}, [options]);
|
|
31
|
+
react.useEffect(() => {
|
|
32
|
+
handleRef.current?.resize(options.width, options.height);
|
|
33
|
+
}, [options.width, options.height]);
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
ref: containerRef,
|
|
38
|
+
style: {
|
|
39
|
+
width: options.width,
|
|
40
|
+
height: options.height,
|
|
41
|
+
willChange: "transform"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = Area3DChartScene;
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { mountAreaChart3D } from './chunk-ISDTM2V3.mjs';
|
|
2
|
+
import './chunk-XGB3TDIC.mjs';
|
|
3
|
+
import { useRef, useEffect } from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function Area3DChartScene({ options }) {
|
|
7
|
+
const containerRef = useRef(null);
|
|
8
|
+
const handleRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const container = containerRef.current;
|
|
11
|
+
if (!container) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
let disposed = false;
|
|
15
|
+
void mountAreaChart3D(container, options).then((handle) => {
|
|
16
|
+
if (disposed) {
|
|
17
|
+
handle.dispose();
|
|
18
|
+
} else {
|
|
19
|
+
handleRef.current = handle;
|
|
20
|
+
}
|
|
21
|
+
return void 0;
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
disposed = true;
|
|
25
|
+
handleRef.current?.dispose();
|
|
26
|
+
handleRef.current = null;
|
|
27
|
+
};
|
|
28
|
+
}, [options]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
handleRef.current?.resize(options.width, options.height);
|
|
31
|
+
}, [options.width, options.height]);
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
ref: containerRef,
|
|
36
|
+
style: {
|
|
37
|
+
width: options.width,
|
|
38
|
+
height: options.height,
|
|
39
|
+
willChange: "transform"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { Area3DChartScene as default };
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkIDTNKL4S_js = require('./chunk-IDTNKL4S.js');
|
|
4
|
+
require('./chunk-4VNS5WPM.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function Bar3DChartScene({ options }) {
|
|
9
|
+
const containerRef = react.useRef(null);
|
|
10
|
+
const handleRef = react.useRef(null);
|
|
11
|
+
react.useEffect(() => {
|
|
12
|
+
const container = containerRef.current;
|
|
13
|
+
if (!container) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let disposed = false;
|
|
17
|
+
void chunkIDTNKL4S_js.mountBarChart3D(container, options).then((handle) => {
|
|
18
|
+
if (disposed) {
|
|
19
|
+
handle.dispose();
|
|
20
|
+
} else {
|
|
21
|
+
handleRef.current = handle;
|
|
22
|
+
}
|
|
23
|
+
return void 0;
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
disposed = true;
|
|
27
|
+
handleRef.current?.dispose();
|
|
28
|
+
handleRef.current = null;
|
|
29
|
+
};
|
|
30
|
+
}, [options]);
|
|
31
|
+
react.useEffect(() => {
|
|
32
|
+
handleRef.current?.resize(options.width, options.height);
|
|
33
|
+
}, [options.width, options.height]);
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
ref: containerRef,
|
|
38
|
+
style: {
|
|
39
|
+
width: options.width,
|
|
40
|
+
height: options.height,
|
|
41
|
+
willChange: "transform"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = Bar3DChartScene;
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { mountBarChart3D } from './chunk-ISDTM2V3.mjs';
|
|
2
|
+
import './chunk-XGB3TDIC.mjs';
|
|
3
|
+
import { useRef, useEffect } from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function Bar3DChartScene({ options }) {
|
|
7
|
+
const containerRef = useRef(null);
|
|
8
|
+
const handleRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const container = containerRef.current;
|
|
11
|
+
if (!container) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
let disposed = false;
|
|
15
|
+
void mountBarChart3D(container, options).then((handle) => {
|
|
16
|
+
if (disposed) {
|
|
17
|
+
handle.dispose();
|
|
18
|
+
} else {
|
|
19
|
+
handleRef.current = handle;
|
|
20
|
+
}
|
|
21
|
+
return void 0;
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
disposed = true;
|
|
25
|
+
handleRef.current?.dispose();
|
|
26
|
+
handleRef.current = null;
|
|
27
|
+
};
|
|
28
|
+
}, [options]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
handleRef.current?.resize(options.width, options.height);
|
|
31
|
+
}, [options.width, options.height]);
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
ref: containerRef,
|
|
36
|
+
style: {
|
|
37
|
+
width: options.width,
|
|
38
|
+
height: options.height,
|
|
39
|
+
willChange: "transform"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { Bar3DChartScene as default };
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkIDTNKL4S_js = require('./chunk-IDTNKL4S.js');
|
|
4
|
+
require('./chunk-4VNS5WPM.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function Line3DChartScene({ options }) {
|
|
9
|
+
const containerRef = react.useRef(null);
|
|
10
|
+
const handleRef = react.useRef(null);
|
|
11
|
+
react.useEffect(() => {
|
|
12
|
+
const container = containerRef.current;
|
|
13
|
+
if (!container) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let disposed = false;
|
|
17
|
+
void chunkIDTNKL4S_js.mountLineChart3D(container, options).then((handle) => {
|
|
18
|
+
if (disposed) {
|
|
19
|
+
handle.dispose();
|
|
20
|
+
} else {
|
|
21
|
+
handleRef.current = handle;
|
|
22
|
+
}
|
|
23
|
+
return void 0;
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
disposed = true;
|
|
27
|
+
handleRef.current?.dispose();
|
|
28
|
+
handleRef.current = null;
|
|
29
|
+
};
|
|
30
|
+
}, [options]);
|
|
31
|
+
react.useEffect(() => {
|
|
32
|
+
handleRef.current?.resize(options.width, options.height);
|
|
33
|
+
}, [options.width, options.height]);
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
ref: containerRef,
|
|
38
|
+
style: {
|
|
39
|
+
width: options.width,
|
|
40
|
+
height: options.height,
|
|
41
|
+
willChange: "transform"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = Line3DChartScene;
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { mountLineChart3D } from './chunk-ISDTM2V3.mjs';
|
|
2
|
+
import './chunk-XGB3TDIC.mjs';
|
|
3
|
+
import { useRef, useEffect } from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function Line3DChartScene({ options }) {
|
|
7
|
+
const containerRef = useRef(null);
|
|
8
|
+
const handleRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const container = containerRef.current;
|
|
11
|
+
if (!container) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
let disposed = false;
|
|
15
|
+
void mountLineChart3D(container, options).then((handle) => {
|
|
16
|
+
if (disposed) {
|
|
17
|
+
handle.dispose();
|
|
18
|
+
} else {
|
|
19
|
+
handleRef.current = handle;
|
|
20
|
+
}
|
|
21
|
+
return void 0;
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
disposed = true;
|
|
25
|
+
handleRef.current?.dispose();
|
|
26
|
+
handleRef.current = null;
|
|
27
|
+
};
|
|
28
|
+
}, [options]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
handleRef.current?.resize(options.width, options.height);
|
|
31
|
+
}, [options.width, options.height]);
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
ref: containerRef,
|
|
36
|
+
style: {
|
|
37
|
+
width: options.width,
|
|
38
|
+
height: options.height,
|
|
39
|
+
willChange: "transform"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { Line3DChartScene as default };
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkIDTNKL4S_js = require('./chunk-IDTNKL4S.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
|
|
17
|
+
void chunkIDTNKL4S_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
|
|
18
18
|
if (disposed) {
|
|
19
19
|
handle.dispose();
|
|
20
20
|
} else {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|