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.
Files changed (207) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/{AiChatPanel-CGDR-wqY.cjs → AiChatPanel-CKirQ0AC.cjs} +1 -1
  3. package/dist/AiChatPanel-CKirQ0AC.cjs.br +0 -0
  4. package/dist/AiChatPanel-CKirQ0AC.cjs.gz +0 -0
  5. package/dist/{AiChatPanel-XndiOIcU.js → AiChatPanel-CY_Dp6hm.js} +2 -2
  6. package/dist/AiChatPanel-CY_Dp6hm.js.br +0 -0
  7. package/dist/AiChatPanel-CY_Dp6hm.js.gz +0 -0
  8. package/dist/{dist-AONF-8Jh.js → dist-C-nE-IV9.js} +17946 -13462
  9. package/dist/dist-C-nE-IV9.js.br +0 -0
  10. package/dist/dist-C-nE-IV9.js.gz +0 -0
  11. package/dist/{dist-C13dWSnw.cjs → dist-DDJ8JY-U.cjs} +18290 -13781
  12. package/dist/dist-DDJ8JY-U.cjs.br +0 -0
  13. package/dist/dist-DDJ8JY-U.cjs.gz +0 -0
  14. package/dist/gif-encoder-BCZJnRXV.js +2 -0
  15. package/dist/gif-encoder-BCZJnRXV.js.br +0 -0
  16. package/dist/gif-encoder-BCZJnRXV.js.gz +0 -0
  17. package/dist/gif-encoder-CzFa2No0.cjs +2 -0
  18. package/dist/gif-encoder-CzFa2No0.cjs.br +0 -0
  19. package/dist/gif-encoder-CzFa2No0.cjs.gz +0 -0
  20. package/dist/{i18n-3rk7tLH2.js → i18n-CzfTZRLN.js} +65 -4
  21. package/dist/i18n-CzfTZRLN.js.br +0 -0
  22. package/dist/i18n-CzfTZRLN.js.gz +0 -0
  23. package/dist/{i18n-Dhu39QI8.cjs → i18n-WAigQN3b.cjs} +65 -4
  24. package/dist/i18n-WAigQN3b.cjs.br +0 -0
  25. package/dist/i18n-WAigQN3b.cjs.gz +0 -0
  26. package/dist/i18n.cjs +1 -1
  27. package/dist/i18n.cjs.br +0 -0
  28. package/dist/i18n.cjs.gz +0 -0
  29. package/dist/i18n.js +1 -1
  30. package/dist/i18n.js.br +0 -0
  31. package/dist/i18n.js.gz +0 -0
  32. package/dist/index.cjs +1 -1
  33. package/dist/index.cjs.br +0 -0
  34. package/dist/index.cjs.gz +0 -0
  35. package/dist/index.js +3 -3
  36. package/dist/index.js.br +0 -0
  37. package/dist/index.js.gz +0 -0
  38. package/dist/internals.cjs +1 -1
  39. package/dist/internals.cjs.br +0 -0
  40. package/dist/internals.cjs.gz +0 -0
  41. package/dist/internals.js +2 -2
  42. package/dist/internals.js.br +0 -0
  43. package/dist/internals.js.gz +0 -0
  44. package/dist/pptx-vue-viewer.css +91 -104
  45. package/dist/pptx-vue-viewer.css.br +0 -0
  46. package/dist/pptx-vue-viewer.css.gz +0 -0
  47. package/dist/smartart-3d-DbBWzji8.cjs +203 -0
  48. package/dist/smartart-3d-DbBWzji8.cjs.br +0 -0
  49. package/dist/smartart-3d-DbBWzji8.cjs.gz +0 -0
  50. package/dist/smartart-3d-m84Wdu08.js +205 -0
  51. package/dist/smartart-3d-m84Wdu08.js.br +0 -0
  52. package/dist/smartart-3d-m84Wdu08.js.gz +0 -0
  53. package/dist/{useViewerSettingsDialog-DWMP7Zg9.cjs → useViewerSettingsDialog-9q3U6VCB.cjs} +15766 -11895
  54. package/dist/useViewerSettingsDialog-9q3U6VCB.cjs.br +0 -0
  55. package/dist/useViewerSettingsDialog-9q3U6VCB.cjs.gz +0 -0
  56. package/dist/{useViewerSettingsDialog-BzJeMt6Q.js → useViewerSettingsDialog-D-QYEUVN.js} +13115 -9392
  57. package/dist/useViewerSettingsDialog-D-QYEUVN.js.br +0 -0
  58. package/dist/useViewerSettingsDialog-D-QYEUVN.js.gz +0 -0
  59. package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
  60. package/dist/viewer/components/Area3DChartRenderer.vue.d.ts +14 -4
  61. package/dist/viewer/components/Area3DChartRenderer.vue.d.ts.map +1 -1
  62. package/dist/viewer/components/Bar3DChartRenderer.vue.d.ts +12 -3
  63. package/dist/viewer/components/Bar3DChartRenderer.vue.d.ts.map +1 -1
  64. package/dist/viewer/components/ChartRenderer.vue.d.ts +7 -0
  65. package/dist/viewer/components/ChartRenderer.vue.d.ts.map +1 -1
  66. package/dist/viewer/components/ConnectorRenderer.vue.d.ts +7 -0
  67. package/dist/viewer/components/ConnectorRenderer.vue.d.ts.map +1 -1
  68. package/dist/viewer/components/DrawingOverlay.vue.d.ts.map +1 -1
  69. package/dist/viewer/components/ElementImageBox.vue.d.ts.map +1 -1
  70. package/dist/viewer/components/ElementRenderer.vue.d.ts.map +1 -1
  71. package/dist/viewer/components/InkRenderer.vue.d.ts +8 -8
  72. package/dist/viewer/components/InkRenderer.vue.d.ts.map +1 -1
  73. package/dist/viewer/components/Line3DChartRenderer.vue.d.ts +12 -3
  74. package/dist/viewer/components/Line3DChartRenderer.vue.d.ts.map +1 -1
  75. package/dist/viewer/components/PieChart3DRenderer.vue.d.ts +10 -2
  76. package/dist/viewer/components/PieChart3DRenderer.vue.d.ts.map +1 -1
  77. package/dist/viewer/components/PresentationMode.vue.d.ts.map +1 -1
  78. package/dist/viewer/components/ReadOnlyBanner.vue.d.ts +12 -1
  79. package/dist/viewer/components/ReadOnlyBanner.vue.d.ts.map +1 -1
  80. package/dist/viewer/components/ReflectionMirrorContent.vue.d.ts +28 -0
  81. package/dist/viewer/components/ReflectionMirrorContent.vue.d.ts.map +1 -0
  82. package/dist/viewer/components/ShapeEffectOverlay.vue.d.ts +6 -0
  83. package/dist/viewer/components/ShapeEffectOverlay.vue.d.ts.map +1 -1
  84. package/dist/viewer/components/SlideCanvas.vue.d.ts.map +1 -1
  85. package/dist/viewer/components/SlideDeckInspector.vue.d.ts +5 -1
  86. package/dist/viewer/components/SlideDeckInspector.vue.d.ts.map +1 -1
  87. package/dist/viewer/components/SlideStage.vue.d.ts.map +1 -1
  88. package/dist/viewer/components/SmartArt3DRenderer.vue.d.ts +12 -0
  89. package/dist/viewer/components/SmartArt3DRenderer.vue.d.ts.map +1 -1
  90. package/dist/viewer/components/SmartArtRenderer.vue.d.ts +7 -0
  91. package/dist/viewer/components/SmartArtRenderer.vue.d.ts.map +1 -1
  92. package/dist/viewer/components/SurfaceChart3DRenderer.vue.d.ts +11 -2
  93. package/dist/viewer/components/SurfaceChart3DRenderer.vue.d.ts.map +1 -1
  94. package/dist/viewer/components/TableRenderer.vue.d.ts +7 -0
  95. package/dist/viewer/components/TableRenderer.vue.d.ts.map +1 -1
  96. package/dist/viewer/components/ViewerMobileSheets.vue.d.ts +3 -1
  97. package/dist/viewer/components/ViewerMobileSheets.vue.d.ts.map +1 -1
  98. package/dist/viewer/components/ViewerSidePanels.vue.d.ts +3 -1
  99. package/dist/viewer/components/ViewerSidePanels.vue.d.ts.map +1 -1
  100. package/dist/viewer/components/WordArtEnvelopeGlyph.vue.d.ts +34 -0
  101. package/dist/viewer/components/WordArtEnvelopeGlyph.vue.d.ts.map +1 -0
  102. package/dist/viewer/components/WordArtText.vue.d.ts +14 -10
  103. package/dist/viewer/components/WordArtText.vue.d.ts.map +1 -1
  104. package/dist/viewer/components/chart/ChartViewModelSvg.vue.d.ts.map +1 -1
  105. package/dist/viewer/components/inspector/AccessibilityPanel.vue.d.ts +23 -0
  106. package/dist/viewer/components/inspector/AccessibilityPanel.vue.d.ts.map +1 -0
  107. package/dist/viewer/components/inspector/ChartPanel.vue.d.ts.map +1 -1
  108. package/dist/viewer/components/inspector/ChartUserShapeOptions.vue.d.ts +7 -6
  109. package/dist/viewer/components/inspector/ChartUserShapeOptions.vue.d.ts.map +1 -1
  110. package/dist/viewer/components/inspector/ChartUserShapePositionFields.vue.d.ts +56 -0
  111. package/dist/viewer/components/inspector/ChartUserShapePositionFields.vue.d.ts.map +1 -0
  112. package/dist/viewer/components/inspector/InspectorPane.vue.d.ts +11 -1
  113. package/dist/viewer/components/inspector/InspectorPane.vue.d.ts.map +1 -1
  114. package/dist/viewer/components/inspector/TablePanel.vue.d.ts +10 -1
  115. package/dist/viewer/components/inspector/TablePanel.vue.d.ts.map +1 -1
  116. package/dist/viewer/components/inspector/TableStyleEditor.vue.d.ts +27 -0
  117. package/dist/viewer/components/inspector/TableStyleEditor.vue.d.ts.map +1 -0
  118. package/dist/viewer/components/inspector/TableStyleEditorFields.vue.d.ts +17 -0
  119. package/dist/viewer/components/inspector/TableStyleEditorFields.vue.d.ts.map +1 -0
  120. package/dist/viewer/components/inspector/TableStyleOptions.vue.d.ts +10 -1
  121. package/dist/viewer/components/inspector/TableStyleOptions.vue.d.ts.map +1 -1
  122. package/dist/viewer/components/inspector/TransitionPreview.vue.d.ts.map +1 -1
  123. package/dist/viewer/composables/ai/useAiBridge.d.ts +13 -1
  124. package/dist/viewer/composables/ai/useAiBridge.d.ts.map +1 -1
  125. package/dist/viewer/composables/bar-face-picture-sample-version.d.ts +3 -0
  126. package/dist/viewer/composables/bar-face-picture-sample-version.d.ts.map +1 -0
  127. package/dist/viewer/composables/chart-3d-interaction-support.d.ts +32 -0
  128. package/dist/viewer/composables/chart-3d-interaction-support.d.ts.map +1 -0
  129. package/dist/viewer/composables/chart-3d-scene-selection.d.ts +33 -0
  130. package/dist/viewer/composables/chart-3d-scene-selection.d.ts.map +1 -0
  131. package/dist/viewer/composables/chart-canvas-interaction-support.d.ts +9 -1
  132. package/dist/viewer/composables/chart-canvas-interaction-support.d.ts.map +1 -1
  133. package/dist/viewer/composables/chart-canvas-interaction.d.ts.map +1 -1
  134. package/dist/viewer/composables/collaboration-types.d.ts +8 -0
  135. package/dist/viewer/composables/collaboration-types.d.ts.map +1 -1
  136. package/dist/viewer/composables/element-style.d.ts.map +1 -1
  137. package/dist/viewer/composables/useAnimationPlayback.d.ts +12 -0
  138. package/dist/viewer/composables/useAnimationPlayback.d.ts.map +1 -1
  139. package/dist/viewer/composables/useAreaChart3dScene.d.ts +11 -2
  140. package/dist/viewer/composables/useAreaChart3dScene.d.ts.map +1 -1
  141. package/dist/viewer/composables/useBarChart3dScene.d.ts +11 -2
  142. package/dist/viewer/composables/useBarChart3dScene.d.ts.map +1 -1
  143. package/dist/viewer/composables/useCollaboration.d.ts.map +1 -1
  144. package/dist/viewer/composables/useCollaborationWiring.d.ts +8 -1
  145. package/dist/viewer/composables/useCollaborationWiring.d.ts.map +1 -1
  146. package/dist/viewer/composables/useLineChart3dScene.d.ts +11 -2
  147. package/dist/viewer/composables/useLineChart3dScene.d.ts.map +1 -1
  148. package/dist/viewer/composables/useLoadContent.d.ts +8 -0
  149. package/dist/viewer/composables/useLoadContent.d.ts.map +1 -1
  150. package/dist/viewer/composables/usePieChart3dScene.d.ts +8 -1
  151. package/dist/viewer/composables/usePieChart3dScene.d.ts.map +1 -1
  152. package/dist/viewer/composables/useReadOnlyRecommendation.d.ts +20 -2
  153. package/dist/viewer/composables/useReadOnlyRecommendation.d.ts.map +1 -1
  154. package/dist/viewer/composables/useSmartArt3DScene.d.ts +23 -0
  155. package/dist/viewer/composables/useSmartArt3DScene.d.ts.map +1 -0
  156. package/dist/viewer/composables/useSurfaceChart3dScene.d.ts +11 -2
  157. package/dist/viewer/composables/useSurfaceChart3dScene.d.ts.map +1 -1
  158. package/dist/viewer/composables/useTableStyleMapHandlers.d.ts +25 -0
  159. package/dist/viewer/composables/useTableStyleMapHandlers.d.ts.map +1 -0
  160. package/dist/viewer/composables/useTextWarpEnvelope.d.ts +38 -0
  161. package/dist/viewer/composables/useTextWarpEnvelope.d.ts.map +1 -0
  162. package/dist/viewer/composables/visual-3d.d.ts.map +1 -1
  163. package/dist/viewer/index.cjs +1 -1
  164. package/dist/viewer/index.cjs.br +0 -0
  165. package/dist/viewer/index.cjs.gz +0 -0
  166. package/dist/viewer/index.js +3 -3
  167. package/dist/viewer/index.js.br +0 -0
  168. package/dist/viewer/index.js.gz +0 -0
  169. package/dist/{viewer-_C2C_5mk.cjs → viewer-5E1GSC6u.cjs} +11448 -10101
  170. package/dist/viewer-5E1GSC6u.cjs.br +0 -0
  171. package/dist/viewer-5E1GSC6u.cjs.gz +0 -0
  172. package/dist/{viewer-DyMHFRc5.js → viewer-Bykr12-X.js} +13150 -11803
  173. package/dist/viewer-Bykr12-X.js.br +0 -0
  174. package/dist/viewer-Bykr12-X.js.gz +0 -0
  175. package/package.json +2 -2
  176. package/dist/AiChatPanel-CGDR-wqY.cjs.br +0 -0
  177. package/dist/AiChatPanel-CGDR-wqY.cjs.gz +0 -0
  178. package/dist/AiChatPanel-XndiOIcU.js.br +0 -0
  179. package/dist/AiChatPanel-XndiOIcU.js.gz +0 -0
  180. package/dist/dist-AONF-8Jh.js.br +0 -0
  181. package/dist/dist-AONF-8Jh.js.gz +0 -0
  182. package/dist/dist-C13dWSnw.cjs.br +0 -0
  183. package/dist/dist-C13dWSnw.cjs.gz +0 -0
  184. package/dist/gif-encoder-BqsV5OmR.js +0 -2
  185. package/dist/gif-encoder-BqsV5OmR.js.br +0 -0
  186. package/dist/gif-encoder-BqsV5OmR.js.gz +0 -0
  187. package/dist/gif-encoder-azxBrC30.cjs +0 -2
  188. package/dist/gif-encoder-azxBrC30.cjs.br +0 -0
  189. package/dist/gif-encoder-azxBrC30.cjs.gz +0 -0
  190. package/dist/i18n-3rk7tLH2.js.br +0 -0
  191. package/dist/i18n-3rk7tLH2.js.gz +0 -0
  192. package/dist/i18n-Dhu39QI8.cjs.br +0 -0
  193. package/dist/i18n-Dhu39QI8.cjs.gz +0 -0
  194. package/dist/smartart-3d-BpL1-zhY.cjs +0 -158
  195. package/dist/smartart-3d-BpL1-zhY.cjs.br +0 -0
  196. package/dist/smartart-3d-BpL1-zhY.cjs.gz +0 -0
  197. package/dist/smartart-3d-PViOJOXG.js +0 -160
  198. package/dist/smartart-3d-PViOJOXG.js.br +0 -0
  199. package/dist/smartart-3d-PViOJOXG.js.gz +0 -0
  200. package/dist/useViewerSettingsDialog-BzJeMt6Q.js.br +0 -0
  201. package/dist/useViewerSettingsDialog-BzJeMt6Q.js.gz +0 -0
  202. package/dist/useViewerSettingsDialog-DWMP7Zg9.cjs.br +0 -0
  203. package/dist/useViewerSettingsDialog-DWMP7Zg9.cjs.gz +0 -0
  204. package/dist/viewer-DyMHFRc5.js.br +0 -0
  205. package/dist/viewer-DyMHFRc5.js.gz +0 -0
  206. package/dist/viewer-_C2C_5mk.cjs.br +0 -0
  207. package/dist/viewer-_C2C_5mk.cjs.gz +0 -0
Binary file
Binary file
@@ -0,0 +1,203 @@
1
+ let e = require("three"), t = require("three/examples/jsm/controls/OrbitControls.js");
2
+ function o(e, t, o) {
3
+ const n = t.split(/\s+/u).filter(Boolean);
4
+ if (0 === n.length) return [];
5
+ const i = [];
6
+ let a = n[0];
7
+ for (let t = 1; t < n.length; t++) {
8
+ const s = `${a} ${n[t]}`;
9
+ e.measureText(s).width <= o ? a = s : (i.push(a), a = n[t]);
10
+ }
11
+ return i.push(a), i;
12
+ }
13
+ function n(t, n, i, a, s, r) {
14
+ if ("undefined" == typeof document || !t.trim() || a <= 0 || s <= 0) return null;
15
+ const { weight: l, italic: c, color: p, scale: d } = function(e, t) {
16
+ const o = void 0 === t?.bold ? "600" : t.bold ? "700" : "400", n = t?.italic ? "italic " : "", i = "number" == typeof t?.fontScale && Number.isFinite(t.fontScale) && t.fontScale > 0 ? t.fontScale : 1;
17
+ return {
18
+ weight: o,
19
+ italic: n,
20
+ color: t?.color ?? e,
21
+ scale: i
22
+ };
23
+ }(n, r), h = .86 * a, u = .86 * s, f = document.createElement("canvas");
24
+ f.width = Math.max(8, Math.round(4 * h)), f.height = Math.max(8, Math.round(4 * u));
25
+ const m = f.getContext("2d");
26
+ if (!m) return null;
27
+ const x = .94 * f.width, w = (e) => `${c}${l} ${e}px system-ui, -apple-system, Segoe UI, Roboto, sans-serif`;
28
+ let g = Math.max(6, i) * d * 4, y = [];
29
+ for (let e = 0; e < 12; e++) {
30
+ m.font = w(g), y = o(m, t, x);
31
+ const e = 1.2 * g;
32
+ if (y.length * e <= .96 * f.height || g <= 24) break;
33
+ g *= .88;
34
+ }
35
+ m.clearRect(0, 0, f.width, f.height), m.fillStyle = p, m.textAlign = "center", m.textBaseline = "middle", m.font = w(g);
36
+ const b = 1.2 * g, M = y.length * b, S = f.height / 2 - M / 2 + b / 2;
37
+ for (let e = 0; e < y.length; e++) {
38
+ const t = S + e * b;
39
+ if (m.fillText(y[e], f.width / 2, t), r?.underline) {
40
+ const o = m.measureText(y[e]).width;
41
+ m.strokeStyle = p, m.lineWidth = Math.max(1, .06 * g), m.beginPath(), m.moveTo(f.width / 2 - o / 2, t + .32 * g), m.lineTo(f.width / 2 + o / 2, t + .32 * g), m.stroke();
42
+ }
43
+ }
44
+ const v = new e.CanvasTexture(f);
45
+ return v.colorSpace = e.SRGBColorSpace, v.minFilter = e.LinearFilter, v.magFilter = e.LinearFilter, v.flipY = !1, v.premultiplyAlpha = !1, v.wrapT = e.RepeatWrapping, v.repeat.set(1, -1), v.offset.set(0, 1), v.needsUpdate = !0, {
46
+ texture: v,
47
+ worldWidth: h,
48
+ worldHeight: u
49
+ };
50
+ }
51
+ function i(t, o, n) {
52
+ const i = function(t) {
53
+ const o = new e.Shape();
54
+ t.outline.forEach((e, t) => {
55
+ 0 === t ? o.moveTo(e.x, e.y) : o.lineTo(e.x, e.y);
56
+ }), o.closePath();
57
+ const n = t.bevel > 0;
58
+ return new e.ExtrudeGeometry(o, {
59
+ depth: t.depth,
60
+ bevelEnabled: n,
61
+ bevelThickness: t.bevel,
62
+ bevelSize: t.bevel,
63
+ bevelSegments: 2,
64
+ curveSegments: t.rounded ? 24 : 1,
65
+ steps: 1
66
+ });
67
+ }(n), a = new e.MeshStandardMaterial({
68
+ color: new e.Color(n.fill),
69
+ metalness: .12,
70
+ roughness: .52,
71
+ transparent: n.opacity < 1,
72
+ opacity: n.opacity
73
+ }), s = new e.Mesh(i, a);
74
+ if (s.position.set(n.position.x, n.position.y, n.position.z), s.rotation.set(n.rotation.x, n.rotation.y, n.rotation.z), t.add(s), o.push(i, a), n.strokeWidth > 0) {
75
+ const a = new e.EdgesGeometry(i, 30), r = new e.LineBasicMaterial({ color: new e.Color(n.stroke) }), l = new e.LineSegments(a, r);
76
+ l.position.copy(s.position), l.rotation.copy(s.rotation), t.add(l), o.push(a, r);
77
+ }
78
+ return i;
79
+ }
80
+ function a(t, o) {
81
+ if (!t.text) return null;
82
+ const i = n(t.text, t.textColor, t.fontSize, 2 * t.halfWidth, 2 * t.halfHeight, o);
83
+ if (!i) return null;
84
+ const a = new e.PlaneGeometry(i.worldWidth, i.worldHeight), s = new e.MeshBasicMaterial({
85
+ map: i.texture,
86
+ transparent: !0,
87
+ depthWrite: !1
88
+ }), r = new e.Mesh(a, s), l = new e.Euler(t.rotation.x, t.rotation.y, t.rotation.z), c = new e.Vector3(0, 0, t.depth + t.bevel + .4).applyEuler(l);
89
+ return r.position.set(t.position.x + c.x, t.position.y + c.y, t.position.z + c.z), r.rotation.copy(l), {
90
+ plane: r,
91
+ disposables: [
92
+ a,
93
+ s,
94
+ i.texture
95
+ ]
96
+ };
97
+ }
98
+ function s(e, t) {
99
+ t.plane && e.remove(t.plane);
100
+ for (const e of t.disposables) e.dispose();
101
+ t.plane = null, t.disposables = [];
102
+ }
103
+ function r(t, o) {
104
+ const n = new e.Group(), r = [], l = t.meshes.map((e) => {
105
+ i(n, r, e);
106
+ const t = a(e, o);
107
+ return t && n.add(t.plane), {
108
+ node: e,
109
+ plane: t?.plane ?? null,
110
+ disposables: t?.disposables ?? []
111
+ };
112
+ });
113
+ return function(t, o, n) {
114
+ for (const i of n.connectors) {
115
+ if (i.points.length < 2) continue;
116
+ const n = new e.BufferGeometry().setFromPoints(i.points.map((t) => new e.Vector3(t.x, t.y, t.z))), a = new e.LineBasicMaterial({
117
+ color: new e.Color(i.color),
118
+ transparent: !0,
119
+ opacity: .7
120
+ });
121
+ t.add(new e.Line(n, a)), o.push(n, a);
122
+ }
123
+ }(n, r, t), {
124
+ group: n,
125
+ setTextStyle(e) {
126
+ for (const t of l) {
127
+ s(n, t);
128
+ const o = a(t.node, e);
129
+ o && (n.add(o.plane), t.plane = o.plane, t.disposables = o.disposables);
130
+ }
131
+ },
132
+ dispose() {
133
+ for (const e of r) e.dispose();
134
+ for (const e of l) s(n, e);
135
+ }
136
+ };
137
+ }
138
+ exports.mountSmartArt3D = function(o, n, i, a, s = {}) {
139
+ const l = new e.WebGLRenderer({
140
+ canvas: o,
141
+ antialias: !0,
142
+ alpha: !s.background
143
+ });
144
+ l.setPixelRatio(Math.min("undefined" == typeof window ? 1 : window.devicePixelRatio || 1, s.maxPixelRatio ?? 2)), l.setSize(i, a, !1);
145
+ const c = new e.Scene();
146
+ s.background && (c.background = new e.Color(s.background));
147
+ const { cx: p, cy: d, cz: h, radius: u } = function(e) {
148
+ let t = 1 / 0, o = 1 / 0, n = 1 / 0, i = -1 / 0, a = -1 / 0, s = -1 / 0;
149
+ const r = (e, r, l, c) => {
150
+ t = Math.min(t, e - c), o = Math.min(o, r - c), n = Math.min(n, l - c), i = Math.max(i, e + c), a = Math.max(a, r + c), s = Math.max(s, l + c);
151
+ };
152
+ for (const t of e.meshes) {
153
+ const e = Math.max(t.halfWidth, t.halfHeight) + t.depth + t.bevel;
154
+ r(t.position.x, t.position.y, t.position.z, e);
155
+ }
156
+ for (const t of e.connectors) for (const e of t.points) r(e.x, e.y, e.z, 1);
157
+ if (!Number.isFinite(t)) return {
158
+ cx: 0,
159
+ cy: 0,
160
+ cz: 0,
161
+ radius: Math.max(e.bounds.width, e.bounds.height) / 2 || 1
162
+ };
163
+ return {
164
+ cx: (t + i) / 2,
165
+ cy: (o + a) / 2,
166
+ cz: (n + s) / 2,
167
+ radius: .5 * Math.hypot(i - t, a - o, s - n) || 1
168
+ };
169
+ }(n), f = i / Math.max(1, a), m = function(e, t) {
170
+ const o = 42 * Math.PI / 180, n = 2 * Math.atan(Math.tan(o / 2) * t);
171
+ return e / Math.sin(Math.min(o, n) / 2) * 1.1;
172
+ }(u, f), x = new e.PerspectiveCamera(42, f, .1, 8 * m + 4 * u);
173
+ x.position.set(p + .25 * u, d + .3 * u, h + m), x.lookAt(p, d, h), c.add(new e.AmbientLight(16777215, .62));
174
+ const w = new e.DirectionalLight(16777215, .95);
175
+ w.position.set(p + u, d + 1.4 * u, h + m), c.add(w);
176
+ const g = new e.DirectionalLight(16777215, .3);
177
+ g.position.set(p - u, d - .6 * u, h + .6 * m), c.add(g);
178
+ const y = r(n, s.textStyle);
179
+ c.add(y.group);
180
+ let b = null;
181
+ const M = (e) => {
182
+ e && !b ? (b = new t.OrbitControls(x, o), b.enablePan = !1, b.target.set(p, d, h), b.minDistance = .4 * m, b.maxDistance = 3 * m, b.update()) : !e && b && (b.dispose(), b = null), b && (b.autoRotate = Boolean(s.autoRotate), b.autoRotateSpeed = 1.2);
183
+ };
184
+ M(Boolean(s.interactive));
185
+ let S = 0, v = !1;
186
+ const z = () => {
187
+ v || (S = requestAnimationFrame(z), b?.update(), l.render(c, x));
188
+ };
189
+ return S = requestAnimationFrame(z), {
190
+ resize(e, t) {
191
+ x.aspect = e / Math.max(1, t), x.updateProjectionMatrix(), l.setSize(e, t, !1);
192
+ },
193
+ setInteractive(e) {
194
+ M(e);
195
+ },
196
+ setTextStyle(e) {
197
+ y.setTextStyle(e);
198
+ },
199
+ dispose() {
200
+ v = !0, cancelAnimationFrame(S), b?.dispose(), y.dispose(), l.dispose();
201
+ }
202
+ };
203
+ };
Binary file
Binary file
@@ -0,0 +1,205 @@
1
+ import { AmbientLight as t, BufferGeometry as e, CanvasTexture as o, Color as n, DirectionalLight as i, EdgesGeometry as s, Euler as a, ExtrudeGeometry as r, Group as l, Line as c, LineBasicMaterial as p, LineSegments as d, LinearFilter as h, Mesh as u, MeshBasicMaterial as f, MeshStandardMaterial as m, PerspectiveCamera as w, PlaneGeometry as x, RepeatWrapping as y, SRGBColorSpace as b, Scene as g, Shape as M, Vector3 as v, WebGLRenderer as S } from "three";
2
+ import { OrbitControls as z } from "three/examples/jsm/controls/OrbitControls.js";
3
+ function T(t, e, o) {
4
+ const n = e.split(/\s+/u).filter(Boolean);
5
+ if (0 === n.length) return [];
6
+ const i = [];
7
+ let s = n[0];
8
+ for (let e = 1; e < n.length; e++) {
9
+ const a = `${s} ${n[e]}`;
10
+ t.measureText(a).width <= o ? s = a : (i.push(s), s = n[e]);
11
+ }
12
+ return i.push(s), i;
13
+ }
14
+ function k(t, e, n, i, s, a) {
15
+ if ("undefined" == typeof document || !t.trim() || i <= 0 || s <= 0) return null;
16
+ const { weight: r, italic: l, color: c, scale: p } = function(t, e) {
17
+ const o = void 0 === e?.bold ? "600" : e.bold ? "700" : "400", n = e?.italic ? "italic " : "", i = "number" == typeof e?.fontScale && Number.isFinite(e.fontScale) && e.fontScale > 0 ? e.fontScale : 1;
18
+ return {
19
+ weight: o,
20
+ italic: n,
21
+ color: e?.color ?? t,
22
+ scale: i
23
+ };
24
+ }(e, a), d = .86 * i, u = .86 * s, f = document.createElement("canvas");
25
+ f.width = Math.max(8, Math.round(4 * d)), f.height = Math.max(8, Math.round(4 * u));
26
+ const m = f.getContext("2d");
27
+ if (!m) return null;
28
+ const w = .94 * f.width, x = (t) => `${l}${r} ${t}px system-ui, -apple-system, Segoe UI, Roboto, sans-serif`;
29
+ let g = Math.max(6, n) * p * 4, M = [];
30
+ for (let e = 0; e < 12; e++) {
31
+ m.font = x(g), M = T(m, t, w);
32
+ const e = 1.2 * g;
33
+ if (M.length * e <= .96 * f.height || g <= 24) break;
34
+ g *= .88;
35
+ }
36
+ m.clearRect(0, 0, f.width, f.height), m.fillStyle = c, m.textAlign = "center", m.textBaseline = "middle", m.font = x(g);
37
+ const v = 1.2 * g, S = M.length * v, z = f.height / 2 - S / 2 + v / 2;
38
+ for (let t = 0; t < M.length; t++) {
39
+ const e = z + t * v;
40
+ if (m.fillText(M[t], f.width / 2, e), a?.underline) {
41
+ const o = m.measureText(M[t]).width;
42
+ m.strokeStyle = c, m.lineWidth = Math.max(1, .06 * g), m.beginPath(), m.moveTo(f.width / 2 - o / 2, e + .32 * g), m.lineTo(f.width / 2 + o / 2, e + .32 * g), m.stroke();
43
+ }
44
+ }
45
+ const k = new o(f);
46
+ return k.colorSpace = b, k.minFilter = h, k.magFilter = h, k.flipY = !1, k.premultiplyAlpha = !1, k.wrapT = y, k.repeat.set(1, -1), k.offset.set(0, 1), k.needsUpdate = !0, {
47
+ texture: k,
48
+ worldWidth: d,
49
+ worldHeight: u
50
+ };
51
+ }
52
+ function P(t, e, o) {
53
+ const i = function(t) {
54
+ const e = new M();
55
+ t.outline.forEach((t, o) => {
56
+ 0 === o ? e.moveTo(t.x, t.y) : e.lineTo(t.x, t.y);
57
+ }), e.closePath();
58
+ const o = t.bevel > 0;
59
+ return new r(e, {
60
+ depth: t.depth,
61
+ bevelEnabled: o,
62
+ bevelThickness: t.bevel,
63
+ bevelSize: t.bevel,
64
+ bevelSegments: 2,
65
+ curveSegments: t.rounded ? 24 : 1,
66
+ steps: 1
67
+ });
68
+ }(o), a = new m({
69
+ color: new n(o.fill),
70
+ metalness: .12,
71
+ roughness: .52,
72
+ transparent: o.opacity < 1,
73
+ opacity: o.opacity
74
+ }), l = new u(i, a);
75
+ if (l.position.set(o.position.x, o.position.y, o.position.z), l.rotation.set(o.rotation.x, o.rotation.y, o.rotation.z), t.add(l), e.push(i, a), o.strokeWidth > 0) {
76
+ const a = new s(i, 30), r = new p({ color: new n(o.stroke) }), c = new d(a, r);
77
+ c.position.copy(l.position), c.rotation.copy(l.rotation), t.add(c), e.push(a, r);
78
+ }
79
+ return i;
80
+ }
81
+ function F(t, e) {
82
+ if (!t.text) return null;
83
+ const o = k(t.text, t.textColor, t.fontSize, 2 * t.halfWidth, 2 * t.halfHeight, e);
84
+ if (!o) return null;
85
+ const n = new x(o.worldWidth, o.worldHeight), i = new f({
86
+ map: o.texture,
87
+ transparent: !0,
88
+ depthWrite: !1
89
+ }), s = new u(n, i), r = new a(t.rotation.x, t.rotation.y, t.rotation.z), l = new v(0, 0, t.depth + t.bevel + .4).applyEuler(r);
90
+ return s.position.set(t.position.x + l.x, t.position.y + l.y, t.position.z + l.z), s.rotation.copy(r), {
91
+ plane: s,
92
+ disposables: [
93
+ n,
94
+ i,
95
+ o.texture
96
+ ]
97
+ };
98
+ }
99
+ function R(t, e) {
100
+ e.plane && t.remove(e.plane);
101
+ for (const t of e.disposables) t.dispose();
102
+ e.plane = null, e.disposables = [];
103
+ }
104
+ function W(t, o) {
105
+ const i = new l(), s = [], a = t.meshes.map((t) => {
106
+ P(i, s, t);
107
+ const e = F(t, o);
108
+ return e && i.add(e.plane), {
109
+ node: t,
110
+ plane: e?.plane ?? null,
111
+ disposables: e?.disposables ?? []
112
+ };
113
+ });
114
+ return function(t, o, i) {
115
+ for (const s of i.connectors) {
116
+ if (s.points.length < 2) continue;
117
+ const i = new e().setFromPoints(s.points.map((t) => new v(t.x, t.y, t.z))), a = new p({
118
+ color: new n(s.color),
119
+ transparent: !0,
120
+ opacity: .7
121
+ });
122
+ t.add(new c(i, a)), o.push(i, a);
123
+ }
124
+ }(i, s, t), {
125
+ group: i,
126
+ setTextStyle(t) {
127
+ for (const e of a) {
128
+ R(i, e);
129
+ const o = F(e.node, t);
130
+ o && (i.add(o.plane), e.plane = o.plane, e.disposables = o.disposables);
131
+ }
132
+ },
133
+ dispose() {
134
+ for (const t of s) t.dispose();
135
+ for (const t of a) R(i, t);
136
+ }
137
+ };
138
+ }
139
+ function A(e, o, s, a, r = {}) {
140
+ const l = new S({
141
+ canvas: e,
142
+ antialias: !0,
143
+ alpha: !r.background
144
+ });
145
+ l.setPixelRatio(Math.min("undefined" == typeof window ? 1 : window.devicePixelRatio || 1, r.maxPixelRatio ?? 2)), l.setSize(s, a, !1);
146
+ const c = new g();
147
+ r.background && (c.background = new n(r.background));
148
+ const { cx: p, cy: d, cz: h, radius: u } = function(t) {
149
+ let e = 1 / 0, o = 1 / 0, n = 1 / 0, i = -1 / 0, s = -1 / 0, a = -1 / 0;
150
+ const r = (t, r, l, c) => {
151
+ e = Math.min(e, t - c), o = Math.min(o, r - c), n = Math.min(n, l - c), i = Math.max(i, t + c), s = Math.max(s, r + c), a = Math.max(a, l + c);
152
+ };
153
+ for (const e of t.meshes) {
154
+ const t = Math.max(e.halfWidth, e.halfHeight) + e.depth + e.bevel;
155
+ r(e.position.x, e.position.y, e.position.z, t);
156
+ }
157
+ for (const e of t.connectors) for (const t of e.points) r(t.x, t.y, t.z, 1);
158
+ if (!Number.isFinite(e)) return {
159
+ cx: 0,
160
+ cy: 0,
161
+ cz: 0,
162
+ radius: Math.max(t.bounds.width, t.bounds.height) / 2 || 1
163
+ };
164
+ return {
165
+ cx: (e + i) / 2,
166
+ cy: (o + s) / 2,
167
+ cz: (n + a) / 2,
168
+ radius: .5 * Math.hypot(i - e, s - o, a - n) || 1
169
+ };
170
+ }(o), f = s / Math.max(1, a), m = function(t, e) {
171
+ const o = 42 * Math.PI / 180, n = 2 * Math.atan(Math.tan(o / 2) * e);
172
+ return t / Math.sin(Math.min(o, n) / 2) * 1.1;
173
+ }(u, f), x = new w(42, f, .1, 8 * m + 4 * u);
174
+ x.position.set(p + .25 * u, d + .3 * u, h + m), x.lookAt(p, d, h), c.add(new t(16777215, .62));
175
+ const y = new i(16777215, .95);
176
+ y.position.set(p + u, d + 1.4 * u, h + m), c.add(y);
177
+ const b = new i(16777215, .3);
178
+ b.position.set(p - u, d - .6 * u, h + .6 * m), c.add(b);
179
+ const M = W(o, r.textStyle);
180
+ c.add(M.group);
181
+ let v = null;
182
+ const T = (t) => {
183
+ t && !v ? (v = new z(x, e), v.enablePan = !1, v.target.set(p, d, h), 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);
184
+ };
185
+ T(Boolean(r.interactive));
186
+ let k = 0, P = !1;
187
+ const F = () => {
188
+ P || (k = requestAnimationFrame(F), v?.update(), l.render(c, x));
189
+ };
190
+ return k = requestAnimationFrame(F), {
191
+ resize(t, e) {
192
+ x.aspect = t / Math.max(1, e), x.updateProjectionMatrix(), l.setSize(t, e, !1);
193
+ },
194
+ setInteractive(t) {
195
+ T(t);
196
+ },
197
+ setTextStyle(t) {
198
+ M.setTextStyle(t);
199
+ },
200
+ dispose() {
201
+ P = !0, cancelAnimationFrame(k), v?.dispose(), M.dispose(), l.dispose();
202
+ }
203
+ };
204
+ }
205
+ export { A as mountSmartArt3D };
Binary file
Binary file