pptx-vue-viewer 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/{AiChatPanel-CGDR-wqY.cjs → AiChatPanel-CKirQ0AC.cjs} +1 -1
- package/dist/AiChatPanel-CKirQ0AC.cjs.br +0 -0
- package/dist/AiChatPanel-CKirQ0AC.cjs.gz +0 -0
- package/dist/{AiChatPanel-XndiOIcU.js → AiChatPanel-CY_Dp6hm.js} +2 -2
- package/dist/AiChatPanel-CY_Dp6hm.js.br +0 -0
- package/dist/AiChatPanel-CY_Dp6hm.js.gz +0 -0
- package/dist/{dist-AONF-8Jh.js → dist-C-nE-IV9.js} +17946 -13462
- package/dist/dist-C-nE-IV9.js.br +0 -0
- package/dist/dist-C-nE-IV9.js.gz +0 -0
- package/dist/{dist-C13dWSnw.cjs → dist-DDJ8JY-U.cjs} +18290 -13781
- package/dist/dist-DDJ8JY-U.cjs.br +0 -0
- package/dist/dist-DDJ8JY-U.cjs.gz +0 -0
- package/dist/gif-encoder-BCZJnRXV.js +2 -0
- package/dist/gif-encoder-BCZJnRXV.js.br +0 -0
- package/dist/gif-encoder-BCZJnRXV.js.gz +0 -0
- package/dist/gif-encoder-CzFa2No0.cjs +2 -0
- package/dist/gif-encoder-CzFa2No0.cjs.br +0 -0
- package/dist/gif-encoder-CzFa2No0.cjs.gz +0 -0
- package/dist/{i18n-3rk7tLH2.js → i18n-CzfTZRLN.js} +65 -4
- package/dist/i18n-CzfTZRLN.js.br +0 -0
- package/dist/i18n-CzfTZRLN.js.gz +0 -0
- package/dist/{i18n-Dhu39QI8.cjs → i18n-WAigQN3b.cjs} +65 -4
- package/dist/i18n-WAigQN3b.cjs.br +0 -0
- package/dist/i18n-WAigQN3b.cjs.gz +0 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.cjs.br +0 -0
- package/dist/i18n.cjs.gz +0 -0
- package/dist/i18n.js +1 -1
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.br +0 -0
- package/dist/index.cjs.gz +0 -0
- package/dist/index.js +3 -3
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/internals.cjs +1 -1
- package/dist/internals.cjs.br +0 -0
- package/dist/internals.cjs.gz +0 -0
- package/dist/internals.js +2 -2
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/pptx-vue-viewer.css +91 -104
- package/dist/pptx-vue-viewer.css.br +0 -0
- package/dist/pptx-vue-viewer.css.gz +0 -0
- package/dist/smartart-3d-DbBWzji8.cjs +203 -0
- package/dist/smartart-3d-DbBWzji8.cjs.br +0 -0
- package/dist/smartart-3d-DbBWzji8.cjs.gz +0 -0
- package/dist/smartart-3d-m84Wdu08.js +205 -0
- package/dist/smartart-3d-m84Wdu08.js.br +0 -0
- package/dist/smartart-3d-m84Wdu08.js.gz +0 -0
- package/dist/{useViewerSettingsDialog-DWMP7Zg9.cjs → useViewerSettingsDialog-9q3U6VCB.cjs} +15766 -11895
- package/dist/useViewerSettingsDialog-9q3U6VCB.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-9q3U6VCB.cjs.gz +0 -0
- package/dist/{useViewerSettingsDialog-BzJeMt6Q.js → useViewerSettingsDialog-D-QYEUVN.js} +13115 -9392
- package/dist/useViewerSettingsDialog-D-QYEUVN.js.br +0 -0
- package/dist/useViewerSettingsDialog-D-QYEUVN.js.gz +0 -0
- package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
- package/dist/viewer/components/Area3DChartRenderer.vue.d.ts +14 -4
- package/dist/viewer/components/Area3DChartRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/Bar3DChartRenderer.vue.d.ts +12 -3
- package/dist/viewer/components/Bar3DChartRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ChartRenderer.vue.d.ts +7 -0
- package/dist/viewer/components/ChartRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ConnectorRenderer.vue.d.ts +7 -0
- package/dist/viewer/components/ConnectorRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/DrawingOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/ElementImageBox.vue.d.ts.map +1 -1
- package/dist/viewer/components/ElementRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/InkRenderer.vue.d.ts +8 -8
- package/dist/viewer/components/InkRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/Line3DChartRenderer.vue.d.ts +12 -3
- package/dist/viewer/components/Line3DChartRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/PieChart3DRenderer.vue.d.ts +10 -2
- package/dist/viewer/components/PieChart3DRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationMode.vue.d.ts.map +1 -1
- package/dist/viewer/components/ReadOnlyBanner.vue.d.ts +12 -1
- package/dist/viewer/components/ReadOnlyBanner.vue.d.ts.map +1 -1
- package/dist/viewer/components/ReflectionMirrorContent.vue.d.ts +28 -0
- package/dist/viewer/components/ReflectionMirrorContent.vue.d.ts.map +1 -0
- package/dist/viewer/components/ShapeEffectOverlay.vue.d.ts +6 -0
- package/dist/viewer/components/ShapeEffectOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/SlideCanvas.vue.d.ts.map +1 -1
- package/dist/viewer/components/SlideDeckInspector.vue.d.ts +5 -1
- package/dist/viewer/components/SlideDeckInspector.vue.d.ts.map +1 -1
- package/dist/viewer/components/SlideStage.vue.d.ts.map +1 -1
- package/dist/viewer/components/SmartArt3DRenderer.vue.d.ts +12 -0
- package/dist/viewer/components/SmartArt3DRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/SmartArtRenderer.vue.d.ts +7 -0
- package/dist/viewer/components/SmartArtRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/SurfaceChart3DRenderer.vue.d.ts +11 -2
- package/dist/viewer/components/SurfaceChart3DRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/TableRenderer.vue.d.ts +7 -0
- package/dist/viewer/components/TableRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ViewerMobileSheets.vue.d.ts +3 -1
- package/dist/viewer/components/ViewerMobileSheets.vue.d.ts.map +1 -1
- package/dist/viewer/components/ViewerSidePanels.vue.d.ts +3 -1
- package/dist/viewer/components/ViewerSidePanels.vue.d.ts.map +1 -1
- package/dist/viewer/components/WordArtEnvelopeGlyph.vue.d.ts +34 -0
- package/dist/viewer/components/WordArtEnvelopeGlyph.vue.d.ts.map +1 -0
- package/dist/viewer/components/WordArtText.vue.d.ts +14 -10
- package/dist/viewer/components/WordArtText.vue.d.ts.map +1 -1
- package/dist/viewer/components/chart/ChartViewModelSvg.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/AccessibilityPanel.vue.d.ts +23 -0
- package/dist/viewer/components/inspector/AccessibilityPanel.vue.d.ts.map +1 -0
- package/dist/viewer/components/inspector/ChartPanel.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/ChartUserShapeOptions.vue.d.ts +7 -6
- package/dist/viewer/components/inspector/ChartUserShapeOptions.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/ChartUserShapePositionFields.vue.d.ts +56 -0
- package/dist/viewer/components/inspector/ChartUserShapePositionFields.vue.d.ts.map +1 -0
- package/dist/viewer/components/inspector/InspectorPane.vue.d.ts +11 -1
- package/dist/viewer/components/inspector/InspectorPane.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/TablePanel.vue.d.ts +10 -1
- package/dist/viewer/components/inspector/TablePanel.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/TableStyleEditor.vue.d.ts +27 -0
- package/dist/viewer/components/inspector/TableStyleEditor.vue.d.ts.map +1 -0
- package/dist/viewer/components/inspector/TableStyleEditorFields.vue.d.ts +17 -0
- package/dist/viewer/components/inspector/TableStyleEditorFields.vue.d.ts.map +1 -0
- package/dist/viewer/components/inspector/TableStyleOptions.vue.d.ts +10 -1
- package/dist/viewer/components/inspector/TableStyleOptions.vue.d.ts.map +1 -1
- package/dist/viewer/components/inspector/TransitionPreview.vue.d.ts.map +1 -1
- package/dist/viewer/composables/ai/useAiBridge.d.ts +13 -1
- package/dist/viewer/composables/ai/useAiBridge.d.ts.map +1 -1
- package/dist/viewer/composables/bar-face-picture-sample-version.d.ts +3 -0
- package/dist/viewer/composables/bar-face-picture-sample-version.d.ts.map +1 -0
- package/dist/viewer/composables/chart-3d-interaction-support.d.ts +32 -0
- package/dist/viewer/composables/chart-3d-interaction-support.d.ts.map +1 -0
- package/dist/viewer/composables/chart-3d-scene-selection.d.ts +33 -0
- package/dist/viewer/composables/chart-3d-scene-selection.d.ts.map +1 -0
- package/dist/viewer/composables/chart-canvas-interaction-support.d.ts +9 -1
- package/dist/viewer/composables/chart-canvas-interaction-support.d.ts.map +1 -1
- package/dist/viewer/composables/chart-canvas-interaction.d.ts.map +1 -1
- package/dist/viewer/composables/collaboration-types.d.ts +8 -0
- package/dist/viewer/composables/collaboration-types.d.ts.map +1 -1
- package/dist/viewer/composables/element-style.d.ts.map +1 -1
- package/dist/viewer/composables/useAnimationPlayback.d.ts +12 -0
- package/dist/viewer/composables/useAnimationPlayback.d.ts.map +1 -1
- package/dist/viewer/composables/useAreaChart3dScene.d.ts +11 -2
- package/dist/viewer/composables/useAreaChart3dScene.d.ts.map +1 -1
- package/dist/viewer/composables/useBarChart3dScene.d.ts +11 -2
- package/dist/viewer/composables/useBarChart3dScene.d.ts.map +1 -1
- package/dist/viewer/composables/useCollaboration.d.ts.map +1 -1
- package/dist/viewer/composables/useCollaborationWiring.d.ts +8 -1
- package/dist/viewer/composables/useCollaborationWiring.d.ts.map +1 -1
- package/dist/viewer/composables/useLineChart3dScene.d.ts +11 -2
- package/dist/viewer/composables/useLineChart3dScene.d.ts.map +1 -1
- package/dist/viewer/composables/useLoadContent.d.ts +8 -0
- package/dist/viewer/composables/useLoadContent.d.ts.map +1 -1
- package/dist/viewer/composables/usePieChart3dScene.d.ts +8 -1
- package/dist/viewer/composables/usePieChart3dScene.d.ts.map +1 -1
- package/dist/viewer/composables/useReadOnlyRecommendation.d.ts +20 -2
- package/dist/viewer/composables/useReadOnlyRecommendation.d.ts.map +1 -1
- package/dist/viewer/composables/useSmartArt3DScene.d.ts +23 -0
- package/dist/viewer/composables/useSmartArt3DScene.d.ts.map +1 -0
- package/dist/viewer/composables/useSurfaceChart3dScene.d.ts +11 -2
- package/dist/viewer/composables/useSurfaceChart3dScene.d.ts.map +1 -1
- package/dist/viewer/composables/useTableStyleMapHandlers.d.ts +25 -0
- package/dist/viewer/composables/useTableStyleMapHandlers.d.ts.map +1 -0
- package/dist/viewer/composables/useTextWarpEnvelope.d.ts +38 -0
- package/dist/viewer/composables/useTextWarpEnvelope.d.ts.map +1 -0
- package/dist/viewer/composables/visual-3d.d.ts.map +1 -1
- package/dist/viewer/index.cjs +1 -1
- package/dist/viewer/index.cjs.br +0 -0
- package/dist/viewer/index.cjs.gz +0 -0
- package/dist/viewer/index.js +3 -3
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/{viewer-_C2C_5mk.cjs → viewer-5E1GSC6u.cjs} +11448 -10101
- package/dist/viewer-5E1GSC6u.cjs.br +0 -0
- package/dist/viewer-5E1GSC6u.cjs.gz +0 -0
- package/dist/{viewer-DyMHFRc5.js → viewer-Bykr12-X.js} +13150 -11803
- package/dist/viewer-Bykr12-X.js.br +0 -0
- package/dist/viewer-Bykr12-X.js.gz +0 -0
- package/package.json +2 -2
- package/dist/AiChatPanel-CGDR-wqY.cjs.br +0 -0
- package/dist/AiChatPanel-CGDR-wqY.cjs.gz +0 -0
- package/dist/AiChatPanel-XndiOIcU.js.br +0 -0
- package/dist/AiChatPanel-XndiOIcU.js.gz +0 -0
- package/dist/dist-AONF-8Jh.js.br +0 -0
- package/dist/dist-AONF-8Jh.js.gz +0 -0
- package/dist/dist-C13dWSnw.cjs.br +0 -0
- package/dist/dist-C13dWSnw.cjs.gz +0 -0
- package/dist/gif-encoder-BqsV5OmR.js +0 -2
- package/dist/gif-encoder-BqsV5OmR.js.br +0 -0
- package/dist/gif-encoder-BqsV5OmR.js.gz +0 -0
- package/dist/gif-encoder-azxBrC30.cjs +0 -2
- package/dist/gif-encoder-azxBrC30.cjs.br +0 -0
- package/dist/gif-encoder-azxBrC30.cjs.gz +0 -0
- package/dist/i18n-3rk7tLH2.js.br +0 -0
- package/dist/i18n-3rk7tLH2.js.gz +0 -0
- package/dist/i18n-Dhu39QI8.cjs.br +0 -0
- package/dist/i18n-Dhu39QI8.cjs.gz +0 -0
- package/dist/smartart-3d-BpL1-zhY.cjs +0 -158
- package/dist/smartart-3d-BpL1-zhY.cjs.br +0 -0
- package/dist/smartart-3d-BpL1-zhY.cjs.gz +0 -0
- package/dist/smartart-3d-PViOJOXG.js +0 -160
- package/dist/smartart-3d-PViOJOXG.js.br +0 -0
- package/dist/smartart-3d-PViOJOXG.js.gz +0 -0
- package/dist/useViewerSettingsDialog-BzJeMt6Q.js.br +0 -0
- package/dist/useViewerSettingsDialog-BzJeMt6Q.js.gz +0 -0
- package/dist/useViewerSettingsDialog-DWMP7Zg9.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-DWMP7Zg9.cjs.gz +0 -0
- package/dist/viewer-DyMHFRc5.js.br +0 -0
- package/dist/viewer-DyMHFRc5.js.gz +0 -0
- package/dist/viewer-_C2C_5mk.cjs.br +0 -0
- package/dist/viewer-_C2C_5mk.cjs.gz +0 -0
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-vue-viewer",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.0",
|
|
4
4
|
"description": "Vue 3 PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"editor",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"html2canvas-pro": "^2.3.2",
|
|
79
79
|
"jspdf": "^4.2.1",
|
|
80
80
|
"lucide-vue-next": "^1.0.0",
|
|
81
|
-
"pptx-viewer-mcp": "^2.
|
|
81
|
+
"pptx-viewer-mcp": "^2.4.0",
|
|
82
82
|
"tailwind-merge": "^3.6.0"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/dist-AONF-8Jh.js.br
DELETED
|
Binary file
|
package/dist/dist-AONF-8Jh.js.gz
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/i18n-3rk7tLH2.js.br
DELETED
|
Binary file
|
package/dist/i18n-3rk7tLH2.js.gz
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
let t = require("three"), e = require("three/examples/jsm/controls/OrbitControls.js");
|
|
2
|
-
function n(t, e, n) {
|
|
3
|
-
const o = e.split(/\s+/u).filter(Boolean);
|
|
4
|
-
if (0 === o.length) return [];
|
|
5
|
-
const i = [];
|
|
6
|
-
let a = o[0];
|
|
7
|
-
for (let e = 1; e < o.length; e++) {
|
|
8
|
-
const r = `${a} ${o[e]}`;
|
|
9
|
-
t.measureText(r).width <= n ? a = r : (i.push(a), a = o[e]);
|
|
10
|
-
}
|
|
11
|
-
return i.push(a), i;
|
|
12
|
-
}
|
|
13
|
-
function o(e, n, o) {
|
|
14
|
-
const i = function(e) {
|
|
15
|
-
const n = new t.Shape();
|
|
16
|
-
e.outline.forEach((t, e) => {
|
|
17
|
-
0 === e ? n.moveTo(t.x, t.y) : n.lineTo(t.x, t.y);
|
|
18
|
-
}), n.closePath();
|
|
19
|
-
const o = e.bevel > 0;
|
|
20
|
-
return new t.ExtrudeGeometry(n, {
|
|
21
|
-
depth: e.depth,
|
|
22
|
-
bevelEnabled: o,
|
|
23
|
-
bevelThickness: e.bevel,
|
|
24
|
-
bevelSize: e.bevel,
|
|
25
|
-
bevelSegments: 2,
|
|
26
|
-
curveSegments: e.rounded ? 24 : 1,
|
|
27
|
-
steps: 1
|
|
28
|
-
});
|
|
29
|
-
}(o), a = new t.MeshStandardMaterial({
|
|
30
|
-
color: new t.Color(o.fill),
|
|
31
|
-
metalness: .12,
|
|
32
|
-
roughness: .52,
|
|
33
|
-
transparent: o.opacity < 1,
|
|
34
|
-
opacity: o.opacity
|
|
35
|
-
}), r = new t.Mesh(i, a);
|
|
36
|
-
if (r.position.set(o.position.x, o.position.y, o.position.z), r.rotation.set(o.rotation.x, o.rotation.y, o.rotation.z), e.add(r), n.push(i, a), o.strokeWidth > 0) {
|
|
37
|
-
const a = new t.EdgesGeometry(i, 30), s = new t.LineBasicMaterial({ color: new t.Color(o.stroke) }), c = new t.LineSegments(a, s);
|
|
38
|
-
c.position.copy(r.position), c.rotation.copy(r.rotation), e.add(c), n.push(a, s);
|
|
39
|
-
}
|
|
40
|
-
return i;
|
|
41
|
-
}
|
|
42
|
-
function i(e, o, i) {
|
|
43
|
-
if (!i.text) return;
|
|
44
|
-
const a = function(e, o, i, a, r) {
|
|
45
|
-
if ("undefined" == typeof document || !e.trim() || a <= 0 || r <= 0) return null;
|
|
46
|
-
const s = .86 * a, c = .86 * r, l = document.createElement("canvas");
|
|
47
|
-
l.width = Math.max(8, Math.round(4 * s)), l.height = Math.max(8, Math.round(4 * c));
|
|
48
|
-
const h = l.getContext("2d");
|
|
49
|
-
if (!h) return null;
|
|
50
|
-
const p = "system-ui, -apple-system, Segoe UI, Roboto, sans-serif", d = .94 * l.width;
|
|
51
|
-
let u = 4 * Math.max(6, i), f = [];
|
|
52
|
-
for (let t = 0; t < 12; t++) {
|
|
53
|
-
h.font = `600 ${u}px ${p}`, f = n(h, e, d);
|
|
54
|
-
const t = 1.2 * u;
|
|
55
|
-
if (f.length * t <= .96 * l.height || u <= 24) break;
|
|
56
|
-
u *= .88;
|
|
57
|
-
}
|
|
58
|
-
h.clearRect(0, 0, l.width, l.height), h.fillStyle = o, h.textAlign = "center", h.textBaseline = "middle", h.font = `600 ${u}px ${p}`;
|
|
59
|
-
const m = 1.2 * u, x = f.length * m, w = l.height / 2 - x / 2 + m / 2;
|
|
60
|
-
for (let t = 0; t < f.length; t++) h.fillText(f[t], l.width / 2, w + t * m);
|
|
61
|
-
const g = new t.CanvasTexture(l);
|
|
62
|
-
return g.colorSpace = t.SRGBColorSpace, g.minFilter = t.LinearFilter, g.magFilter = t.LinearFilter, g.flipY = !1, g.premultiplyAlpha = !1, g.wrapT = t.RepeatWrapping, g.repeat.set(1, -1), g.offset.set(0, 1), g.needsUpdate = !0, {
|
|
63
|
-
texture: g,
|
|
64
|
-
worldWidth: s,
|
|
65
|
-
worldHeight: c
|
|
66
|
-
};
|
|
67
|
-
}(i.text, i.textColor, i.fontSize, 2 * i.halfWidth, 2 * i.halfHeight);
|
|
68
|
-
if (!a) return;
|
|
69
|
-
const r = new t.PlaneGeometry(a.worldWidth, a.worldHeight), s = new t.MeshBasicMaterial({
|
|
70
|
-
map: a.texture,
|
|
71
|
-
transparent: !0,
|
|
72
|
-
depthWrite: !1
|
|
73
|
-
}), c = new t.Mesh(r, s), l = new t.Euler(i.rotation.x, i.rotation.y, i.rotation.z), h = new t.Vector3(0, 0, i.depth + i.bevel + .4).applyEuler(l);
|
|
74
|
-
c.position.set(i.position.x + h.x, i.position.y + h.y, i.position.z + h.z), c.rotation.copy(l), e.add(c), o.push(r, s, a.texture);
|
|
75
|
-
}
|
|
76
|
-
function a(e) {
|
|
77
|
-
const n = new t.Group(), a = [];
|
|
78
|
-
for (const t of e.meshes) o(n, a, t), i(n, a, t);
|
|
79
|
-
return function(e, n, o) {
|
|
80
|
-
for (const i of o.connectors) {
|
|
81
|
-
if (i.points.length < 2) continue;
|
|
82
|
-
const o = new t.BufferGeometry().setFromPoints(i.points.map((e) => new t.Vector3(e.x, e.y, e.z))), a = new t.LineBasicMaterial({
|
|
83
|
-
color: new t.Color(i.color),
|
|
84
|
-
transparent: !0,
|
|
85
|
-
opacity: .7
|
|
86
|
-
});
|
|
87
|
-
e.add(new t.Line(o, a)), n.push(o, a);
|
|
88
|
-
}
|
|
89
|
-
}(n, a, e), {
|
|
90
|
-
group: n,
|
|
91
|
-
dispose() {
|
|
92
|
-
for (const t of a) t.dispose();
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
exports.mountSmartArt3D = function(n, o, i, r, s = {}) {
|
|
97
|
-
const c = new t.WebGLRenderer({
|
|
98
|
-
canvas: n,
|
|
99
|
-
antialias: !0,
|
|
100
|
-
alpha: !s.background
|
|
101
|
-
});
|
|
102
|
-
c.setPixelRatio(Math.min("undefined" == typeof window ? 1 : window.devicePixelRatio || 1, s.maxPixelRatio ?? 2)), c.setSize(i, r, !1);
|
|
103
|
-
const l = new t.Scene();
|
|
104
|
-
s.background && (l.background = new t.Color(s.background));
|
|
105
|
-
const { cx: h, cy: p, cz: d, radius: u } = function(t) {
|
|
106
|
-
let e = 1 / 0, n = 1 / 0, o = 1 / 0, i = -1 / 0, a = -1 / 0, r = -1 / 0;
|
|
107
|
-
const s = (t, s, c, l) => {
|
|
108
|
-
e = Math.min(e, t - l), n = Math.min(n, s - l), o = Math.min(o, c - l), i = Math.max(i, t + l), a = Math.max(a, s + l), r = Math.max(r, c + l);
|
|
109
|
-
};
|
|
110
|
-
for (const e of t.meshes) {
|
|
111
|
-
const t = Math.max(e.halfWidth, e.halfHeight) + e.depth + e.bevel;
|
|
112
|
-
s(e.position.x, e.position.y, e.position.z, t);
|
|
113
|
-
}
|
|
114
|
-
for (const e of t.connectors) for (const t of e.points) s(t.x, t.y, t.z, 1);
|
|
115
|
-
if (!Number.isFinite(e)) return {
|
|
116
|
-
cx: 0,
|
|
117
|
-
cy: 0,
|
|
118
|
-
cz: 0,
|
|
119
|
-
radius: Math.max(t.bounds.width, t.bounds.height) / 2 || 1
|
|
120
|
-
};
|
|
121
|
-
return {
|
|
122
|
-
cx: (e + i) / 2,
|
|
123
|
-
cy: (n + a) / 2,
|
|
124
|
-
cz: (o + r) / 2,
|
|
125
|
-
radius: .5 * Math.hypot(i - e, a - n, r - o) || 1
|
|
126
|
-
};
|
|
127
|
-
}(o), f = i / Math.max(1, r), m = function(t, e) {
|
|
128
|
-
const n = 42 * Math.PI / 180, o = 2 * Math.atan(Math.tan(n / 2) * e);
|
|
129
|
-
return t / Math.sin(Math.min(n, o) / 2) * 1.1;
|
|
130
|
-
}(u, f), x = new t.PerspectiveCamera(42, f, .1, 8 * m + 4 * u);
|
|
131
|
-
x.position.set(h + .25 * u, p + .3 * u, d + m), x.lookAt(h, p, d), l.add(new t.AmbientLight(16777215, .62));
|
|
132
|
-
const w = new t.DirectionalLight(16777215, .95);
|
|
133
|
-
w.position.set(h + u, p + 1.4 * u, d + m), l.add(w);
|
|
134
|
-
const g = new t.DirectionalLight(16777215, .3);
|
|
135
|
-
g.position.set(h - u, p - .6 * u, d + .6 * m), l.add(g);
|
|
136
|
-
const y = a(o);
|
|
137
|
-
l.add(y.group);
|
|
138
|
-
let M = null;
|
|
139
|
-
const b = (t) => {
|
|
140
|
-
t && !M ? (M = new e.OrbitControls(x, n), M.enablePan = !1, M.target.set(h, p, d), M.minDistance = .4 * m, M.maxDistance = 3 * m, M.update()) : !t && M && (M.dispose(), M = null), M && (M.autoRotate = Boolean(s.autoRotate), M.autoRotateSpeed = 1.2);
|
|
141
|
-
};
|
|
142
|
-
b(Boolean(s.interactive));
|
|
143
|
-
let v = 0, S = !1;
|
|
144
|
-
const z = () => {
|
|
145
|
-
S || (v = requestAnimationFrame(z), M?.update(), c.render(l, x));
|
|
146
|
-
};
|
|
147
|
-
return v = requestAnimationFrame(z), {
|
|
148
|
-
resize(t, e) {
|
|
149
|
-
x.aspect = t / Math.max(1, e), x.updateProjectionMatrix(), c.setSize(t, e, !1);
|
|
150
|
-
},
|
|
151
|
-
setInteractive(t) {
|
|
152
|
-
b(t);
|
|
153
|
-
},
|
|
154
|
-
dispose() {
|
|
155
|
-
S = !0, cancelAnimationFrame(v), M?.dispose(), y.dispose(), c.dispose();
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { AmbientLight as t, BufferGeometry as e, CanvasTexture as n, Color as o, DirectionalLight as i, EdgesGeometry as s, Euler as a, ExtrudeGeometry as r, Group as c, Line as l, LineBasicMaterial as p, LineSegments as h, LinearFilter as d, Mesh as u, MeshBasicMaterial as f, MeshStandardMaterial as m, PerspectiveCamera as w, PlaneGeometry as x, RepeatWrapping as g, SRGBColorSpace as y, Scene as M, Shape as b, Vector3 as v, WebGLRenderer as z } from "three";
|
|
2
|
-
import { OrbitControls as S } from "three/examples/jsm/controls/OrbitControls.js";
|
|
3
|
-
function k(t, e, n) {
|
|
4
|
-
const o = e.split(/\s+/u).filter(Boolean);
|
|
5
|
-
if (0 === o.length) return [];
|
|
6
|
-
const i = [];
|
|
7
|
-
let s = o[0];
|
|
8
|
-
for (let e = 1; e < o.length; e++) {
|
|
9
|
-
const a = `${s} ${o[e]}`;
|
|
10
|
-
t.measureText(a).width <= n ? s = a : (i.push(s), s = o[e]);
|
|
11
|
-
}
|
|
12
|
-
return i.push(s), i;
|
|
13
|
-
}
|
|
14
|
-
function P(t, e, n) {
|
|
15
|
-
const i = function(t) {
|
|
16
|
-
const e = new b();
|
|
17
|
-
t.outline.forEach((t, n) => {
|
|
18
|
-
0 === n ? e.moveTo(t.x, t.y) : e.lineTo(t.x, t.y);
|
|
19
|
-
}), e.closePath();
|
|
20
|
-
const n = t.bevel > 0;
|
|
21
|
-
return new r(e, {
|
|
22
|
-
depth: t.depth,
|
|
23
|
-
bevelEnabled: n,
|
|
24
|
-
bevelThickness: t.bevel,
|
|
25
|
-
bevelSize: t.bevel,
|
|
26
|
-
bevelSegments: 2,
|
|
27
|
-
curveSegments: t.rounded ? 24 : 1,
|
|
28
|
-
steps: 1
|
|
29
|
-
});
|
|
30
|
-
}(n), a = new m({
|
|
31
|
-
color: new o(n.fill),
|
|
32
|
-
metalness: .12,
|
|
33
|
-
roughness: .52,
|
|
34
|
-
transparent: n.opacity < 1,
|
|
35
|
-
opacity: n.opacity
|
|
36
|
-
}), c = new u(i, a);
|
|
37
|
-
if (c.position.set(n.position.x, n.position.y, n.position.z), c.rotation.set(n.rotation.x, n.rotation.y, n.rotation.z), t.add(c), e.push(i, a), n.strokeWidth > 0) {
|
|
38
|
-
const a = new s(i, 30), r = new p({ color: new o(n.stroke) }), l = new h(a, r);
|
|
39
|
-
l.position.copy(c.position), l.rotation.copy(c.rotation), t.add(l), e.push(a, r);
|
|
40
|
-
}
|
|
41
|
-
return i;
|
|
42
|
-
}
|
|
43
|
-
function R(t, e, o) {
|
|
44
|
-
if (!o.text) return;
|
|
45
|
-
const i = function(t, e, o, i, s) {
|
|
46
|
-
if ("undefined" == typeof document || !t.trim() || i <= 0 || s <= 0) return null;
|
|
47
|
-
const a = .86 * i, r = .86 * s, c = document.createElement("canvas");
|
|
48
|
-
c.width = Math.max(8, Math.round(4 * a)), c.height = Math.max(8, Math.round(4 * r));
|
|
49
|
-
const l = c.getContext("2d");
|
|
50
|
-
if (!l) return null;
|
|
51
|
-
const p = "system-ui, -apple-system, Segoe UI, Roboto, sans-serif", h = .94 * c.width;
|
|
52
|
-
let u = 4 * Math.max(6, o), f = [];
|
|
53
|
-
for (let e = 0; e < 12; e++) {
|
|
54
|
-
l.font = `600 ${u}px ${p}`, f = k(l, t, h);
|
|
55
|
-
const e = 1.2 * u;
|
|
56
|
-
if (f.length * e <= .96 * c.height || u <= 24) break;
|
|
57
|
-
u *= .88;
|
|
58
|
-
}
|
|
59
|
-
l.clearRect(0, 0, c.width, c.height), l.fillStyle = e, l.textAlign = "center", l.textBaseline = "middle", l.font = `600 ${u}px ${p}`;
|
|
60
|
-
const m = 1.2 * u, w = f.length * m, x = c.height / 2 - w / 2 + m / 2;
|
|
61
|
-
for (let t = 0; t < f.length; t++) l.fillText(f[t], c.width / 2, x + t * m);
|
|
62
|
-
const M = new n(c);
|
|
63
|
-
return M.colorSpace = y, M.minFilter = d, M.magFilter = d, M.flipY = !1, M.premultiplyAlpha = !1, M.wrapT = g, M.repeat.set(1, -1), M.offset.set(0, 1), M.needsUpdate = !0, {
|
|
64
|
-
texture: M,
|
|
65
|
-
worldWidth: a,
|
|
66
|
-
worldHeight: r
|
|
67
|
-
};
|
|
68
|
-
}(o.text, o.textColor, o.fontSize, 2 * o.halfWidth, 2 * o.halfHeight);
|
|
69
|
-
if (!i) return;
|
|
70
|
-
const s = new x(i.worldWidth, i.worldHeight), r = new f({
|
|
71
|
-
map: i.texture,
|
|
72
|
-
transparent: !0,
|
|
73
|
-
depthWrite: !1
|
|
74
|
-
}), c = new u(s, r), l = new a(o.rotation.x, o.rotation.y, o.rotation.z), p = new v(0, 0, o.depth + o.bevel + .4).applyEuler(l);
|
|
75
|
-
c.position.set(o.position.x + p.x, o.position.y + p.y, o.position.z + p.z), c.rotation.copy(l), t.add(c), e.push(s, r, i.texture);
|
|
76
|
-
}
|
|
77
|
-
function F(t) {
|
|
78
|
-
const n = new c(), i = [];
|
|
79
|
-
for (const e of t.meshes) P(n, i, e), R(n, i, e);
|
|
80
|
-
return function(t, n, i) {
|
|
81
|
-
for (const s of i.connectors) {
|
|
82
|
-
if (s.points.length < 2) continue;
|
|
83
|
-
const i = new e().setFromPoints(s.points.map((t) => new v(t.x, t.y, t.z))), a = new p({
|
|
84
|
-
color: new o(s.color),
|
|
85
|
-
transparent: !0,
|
|
86
|
-
opacity: .7
|
|
87
|
-
});
|
|
88
|
-
t.add(new l(i, a)), n.push(i, a);
|
|
89
|
-
}
|
|
90
|
-
}(n, i, t), {
|
|
91
|
-
group: n,
|
|
92
|
-
dispose() {
|
|
93
|
-
for (const t of i) t.dispose();
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function A(e, n, s, a, r = {}) {
|
|
98
|
-
const c = new z({
|
|
99
|
-
canvas: e,
|
|
100
|
-
antialias: !0,
|
|
101
|
-
alpha: !r.background
|
|
102
|
-
});
|
|
103
|
-
c.setPixelRatio(Math.min("undefined" == typeof window ? 1 : window.devicePixelRatio || 1, r.maxPixelRatio ?? 2)), c.setSize(s, a, !1);
|
|
104
|
-
const l = new M();
|
|
105
|
-
r.background && (l.background = new o(r.background));
|
|
106
|
-
const { cx: p, cy: h, cz: d, radius: u } = function(t) {
|
|
107
|
-
let e = 1 / 0, n = 1 / 0, o = 1 / 0, i = -1 / 0, s = -1 / 0, a = -1 / 0;
|
|
108
|
-
const r = (t, r, c, l) => {
|
|
109
|
-
e = Math.min(e, t - l), n = Math.min(n, r - l), o = Math.min(o, c - l), i = Math.max(i, t + l), s = Math.max(s, r + l), a = Math.max(a, c + l);
|
|
110
|
-
};
|
|
111
|
-
for (const e of t.meshes) {
|
|
112
|
-
const t = Math.max(e.halfWidth, e.halfHeight) + e.depth + e.bevel;
|
|
113
|
-
r(e.position.x, e.position.y, e.position.z, t);
|
|
114
|
-
}
|
|
115
|
-
for (const e of t.connectors) for (const t of e.points) r(t.x, t.y, t.z, 1);
|
|
116
|
-
if (!Number.isFinite(e)) return {
|
|
117
|
-
cx: 0,
|
|
118
|
-
cy: 0,
|
|
119
|
-
cz: 0,
|
|
120
|
-
radius: Math.max(t.bounds.width, t.bounds.height) / 2 || 1
|
|
121
|
-
};
|
|
122
|
-
return {
|
|
123
|
-
cx: (e + i) / 2,
|
|
124
|
-
cy: (n + s) / 2,
|
|
125
|
-
cz: (o + a) / 2,
|
|
126
|
-
radius: .5 * Math.hypot(i - e, s - n, a - o) || 1
|
|
127
|
-
};
|
|
128
|
-
}(n), f = s / Math.max(1, a), m = function(t, e) {
|
|
129
|
-
const n = 42 * Math.PI / 180, o = 2 * Math.atan(Math.tan(n / 2) * e);
|
|
130
|
-
return t / Math.sin(Math.min(n, o) / 2) * 1.1;
|
|
131
|
-
}(u, f), x = new w(42, f, .1, 8 * m + 4 * u);
|
|
132
|
-
x.position.set(p + .25 * u, h + .3 * u, d + m), x.lookAt(p, h, d), l.add(new t(16777215, .62));
|
|
133
|
-
const g = new i(16777215, .95);
|
|
134
|
-
g.position.set(p + u, h + 1.4 * u, d + m), l.add(g);
|
|
135
|
-
const y = new i(16777215, .3);
|
|
136
|
-
y.position.set(p - u, h - .6 * u, d + .6 * m), l.add(y);
|
|
137
|
-
const b = F(n);
|
|
138
|
-
l.add(b.group);
|
|
139
|
-
let v = null;
|
|
140
|
-
const k = (t) => {
|
|
141
|
-
t && !v ? (v = new S(x, e), v.enablePan = !1, v.target.set(p, h, d), v.minDistance = .4 * m, v.maxDistance = 3 * m, v.update()) : !t && v && (v.dispose(), v = null), v && (v.autoRotate = Boolean(r.autoRotate), v.autoRotateSpeed = 1.2);
|
|
142
|
-
};
|
|
143
|
-
k(Boolean(r.interactive));
|
|
144
|
-
let P = 0, R = !1;
|
|
145
|
-
const A = () => {
|
|
146
|
-
R || (P = requestAnimationFrame(A), v?.update(), c.render(l, x));
|
|
147
|
-
};
|
|
148
|
-
return P = requestAnimationFrame(A), {
|
|
149
|
-
resize(t, e) {
|
|
150
|
-
x.aspect = t / Math.max(1, e), x.updateProjectionMatrix(), c.setSize(t, e, !1);
|
|
151
|
-
},
|
|
152
|
-
setInteractive(t) {
|
|
153
|
-
k(t);
|
|
154
|
-
},
|
|
155
|
-
dispose() {
|
|
156
|
-
R = !0, cancelAnimationFrame(P), v?.dispose(), b.dispose(), c.dispose();
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
export { A as mountSmartArt3D };
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|