pptx-react-viewer 3.19.0 → 3.19.2
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 +82 -0
- package/dist/{AiChatPanel-WDVU4RIM.js → AiChatPanel-KILEXOPT.js} +24 -24
- package/dist/AiChatPanel-KILEXOPT.js.br +0 -0
- package/dist/AiChatPanel-KILEXOPT.js.gz +0 -0
- package/dist/{AiChatPanel-3M7XWTVE.mjs → AiChatPanel-ZH52BQBE.mjs} +3 -3
- package/dist/AiChatPanel-ZH52BQBE.mjs.br +0 -0
- package/dist/AiChatPanel-ZH52BQBE.mjs.gz +0 -0
- package/dist/{Area3DChartScene-N5KPQFC6.js → Area3DChartScene-HS7EBQLQ.js} +2 -2
- package/dist/Area3DChartScene-HS7EBQLQ.js.br +0 -0
- package/dist/Area3DChartScene-HS7EBQLQ.js.gz +0 -0
- package/dist/{Area3DChartScene-CTVWVXNW.mjs → Area3DChartScene-UHN7ZOZT.mjs} +1 -1
- package/dist/{Area3DChartScene-CTVWVXNW.mjs.br → Area3DChartScene-UHN7ZOZT.mjs.br} +0 -0
- package/dist/Area3DChartScene-UHN7ZOZT.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-3QRUPVPT.js → Bar3DChartScene-E57TRVUU.js} +2 -2
- package/dist/Bar3DChartScene-E57TRVUU.js.br +0 -0
- package/dist/Bar3DChartScene-E57TRVUU.js.gz +0 -0
- package/dist/{Bar3DChartScene-PXFSFZRX.mjs → Bar3DChartScene-TFGSYASD.mjs} +1 -1
- package/dist/{Bar3DChartScene-PXFSFZRX.mjs.br → Bar3DChartScene-TFGSYASD.mjs.br} +0 -0
- package/dist/Bar3DChartScene-TFGSYASD.mjs.gz +0 -0
- package/dist/{Line3DChartScene-776WLKR5.js → Line3DChartScene-NM7YYLZD.js} +2 -2
- package/dist/Line3DChartScene-NM7YYLZD.js.br +0 -0
- package/dist/Line3DChartScene-NM7YYLZD.js.gz +0 -0
- package/dist/{Line3DChartScene-LLL3BU4Q.mjs → Line3DChartScene-RES5D7W7.mjs} +1 -1
- package/dist/{Line3DChartScene-LLL3BU4Q.mjs.br → Line3DChartScene-RES5D7W7.mjs.br} +0 -0
- package/dist/Line3DChartScene-RES5D7W7.mjs.gz +0 -0
- package/dist/{Model3DScene-FMQ4FDC5.mjs → Model3DScene-6CWFGE7M.mjs} +1 -1
- package/dist/Model3DScene-6CWFGE7M.mjs.br +0 -0
- package/dist/Model3DScene-6CWFGE7M.mjs.gz +0 -0
- package/dist/{Model3DScene-7TM2XSJY.js → Model3DScene-SL3QF63O.js} +2 -2
- package/dist/Model3DScene-SL3QF63O.js.br +0 -0
- package/dist/Model3DScene-SL3QF63O.js.gz +0 -0
- package/dist/{PieChart3DScene-2YNQ5J7A.mjs → PieChart3DScene-QYJUOYMB.mjs} +1 -1
- package/dist/{PieChart3DScene-2YNQ5J7A.mjs.br → PieChart3DScene-QYJUOYMB.mjs.br} +0 -0
- package/dist/PieChart3DScene-QYJUOYMB.mjs.gz +0 -0
- package/dist/{PieChart3DScene-DZY4MQCG.js → PieChart3DScene-WIVYOQUQ.js} +2 -2
- package/dist/PieChart3DScene-WIVYOQUQ.js.br +0 -0
- package/dist/PieChart3DScene-WIVYOQUQ.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-G3MWPEL3.js → SurfaceChart3DScene-QCUYYQBZ.js} +2 -2
- package/dist/SurfaceChart3DScene-QCUYYQBZ.js.br +0 -0
- package/dist/SurfaceChart3DScene-QCUYYQBZ.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-XJHLH2EM.mjs → SurfaceChart3DScene-Y2LF73QQ.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-XJHLH2EM.mjs.br → SurfaceChart3DScene-Y2LF73QQ.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-Y2LF73QQ.mjs.gz +0 -0
- package/dist/{chunk-2QWLARCW.js → chunk-2LK3OHAN.js} +824 -813
- package/dist/chunk-2LK3OHAN.js.br +0 -0
- package/dist/chunk-2LK3OHAN.js.gz +0 -0
- package/dist/{chunk-7VFH2FRI.mjs → chunk-7XJ7I6TJ.mjs} +11 -6
- package/dist/chunk-7XJ7I6TJ.mjs.br +0 -0
- package/dist/chunk-7XJ7I6TJ.mjs.gz +0 -0
- package/dist/{chunk-V3BOQ52U.mjs → chunk-ATKAU2J4.mjs} +64 -56
- package/dist/chunk-ATKAU2J4.mjs.br +0 -0
- package/dist/chunk-ATKAU2J4.mjs.gz +0 -0
- package/dist/{chunk-36O4SE4R.js → chunk-F7VYECOL.js} +5 -5
- package/dist/chunk-F7VYECOL.js.br +0 -0
- package/dist/chunk-F7VYECOL.js.gz +0 -0
- package/dist/{chunk-F552WUJN.mjs → chunk-GULL4H2I.mjs} +354 -206
- package/dist/chunk-GULL4H2I.mjs.br +0 -0
- package/dist/chunk-GULL4H2I.mjs.gz +0 -0
- package/dist/{chunk-3R5A2E2K.mjs → chunk-M5BAPEQL.mjs} +50 -39
- package/dist/chunk-M5BAPEQL.mjs.br +0 -0
- package/dist/chunk-M5BAPEQL.mjs.gz +0 -0
- package/dist/{chunk-4KKKJ5MJ.mjs → chunk-NEMPFYZ5.mjs} +1 -1
- package/dist/chunk-NEMPFYZ5.mjs.br +0 -0
- package/dist/chunk-NEMPFYZ5.mjs.gz +0 -0
- package/dist/{chunk-6DYDAKHG.js → chunk-RPPLJQ6R.js} +1102 -1094
- package/dist/chunk-RPPLJQ6R.js.br +0 -0
- package/dist/chunk-RPPLJQ6R.js.gz +0 -0
- package/dist/{chunk-V6S72IRP.js → chunk-YH4ODPSH.js} +182 -177
- package/dist/chunk-YH4ODPSH.js.br +0 -0
- package/dist/chunk-YH4ODPSH.js.gz +0 -0
- package/dist/{chunk-LBMPJYAR.js → chunk-ZUIM5737.js} +356 -205
- package/dist/chunk-ZUIM5737.js.br +0 -0
- package/dist/chunk-ZUIM5737.js.gz +0 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +46 -46
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +38 -0
- package/dist/internals.js +104 -104
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/viewer/index.d.ts +38 -0
- package/dist/viewer/index.js +26 -26
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-3M7XWTVE.mjs.br +0 -0
- package/dist/AiChatPanel-3M7XWTVE.mjs.gz +0 -0
- package/dist/AiChatPanel-WDVU4RIM.js.br +0 -0
- package/dist/AiChatPanel-WDVU4RIM.js.gz +0 -0
- package/dist/Area3DChartScene-CTVWVXNW.mjs.gz +0 -0
- package/dist/Area3DChartScene-N5KPQFC6.js.br +0 -0
- package/dist/Area3DChartScene-N5KPQFC6.js.gz +0 -0
- package/dist/Bar3DChartScene-3QRUPVPT.js.br +0 -0
- package/dist/Bar3DChartScene-3QRUPVPT.js.gz +0 -0
- package/dist/Bar3DChartScene-PXFSFZRX.mjs.gz +0 -0
- package/dist/Line3DChartScene-776WLKR5.js.br +0 -0
- package/dist/Line3DChartScene-776WLKR5.js.gz +0 -0
- package/dist/Line3DChartScene-LLL3BU4Q.mjs.gz +0 -0
- package/dist/Model3DScene-7TM2XSJY.js.br +0 -0
- package/dist/Model3DScene-7TM2XSJY.js.gz +0 -0
- package/dist/Model3DScene-FMQ4FDC5.mjs.br +0 -0
- package/dist/Model3DScene-FMQ4FDC5.mjs.gz +0 -0
- package/dist/PieChart3DScene-2YNQ5J7A.mjs.gz +0 -0
- package/dist/PieChart3DScene-DZY4MQCG.js.br +0 -0
- package/dist/PieChart3DScene-DZY4MQCG.js.gz +0 -0
- package/dist/SurfaceChart3DScene-G3MWPEL3.js.br +0 -0
- package/dist/SurfaceChart3DScene-G3MWPEL3.js.gz +0 -0
- package/dist/SurfaceChart3DScene-XJHLH2EM.mjs.gz +0 -0
- package/dist/chunk-2QWLARCW.js.br +0 -0
- package/dist/chunk-2QWLARCW.js.gz +0 -0
- package/dist/chunk-36O4SE4R.js.br +0 -0
- package/dist/chunk-36O4SE4R.js.gz +0 -0
- package/dist/chunk-3R5A2E2K.mjs.br +0 -0
- package/dist/chunk-3R5A2E2K.mjs.gz +0 -0
- package/dist/chunk-4KKKJ5MJ.mjs.br +0 -0
- package/dist/chunk-4KKKJ5MJ.mjs.gz +0 -0
- package/dist/chunk-6DYDAKHG.js.br +0 -0
- package/dist/chunk-6DYDAKHG.js.gz +0 -0
- package/dist/chunk-7VFH2FRI.mjs.br +0 -0
- package/dist/chunk-7VFH2FRI.mjs.gz +0 -0
- package/dist/chunk-F552WUJN.mjs.br +0 -0
- package/dist/chunk-F552WUJN.mjs.gz +0 -0
- package/dist/chunk-LBMPJYAR.js.br +0 -0
- package/dist/chunk-LBMPJYAR.js.gz +0 -0
- package/dist/chunk-V3BOQ52U.mjs.br +0 -0
- package/dist/chunk-V3BOQ52U.mjs.gz +0 -0
- package/dist/chunk-V6S72IRP.js.br +0 -0
- package/dist/chunk-V6S72IRP.js.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkZUIM5737_js = require('./chunk-ZUIM5737.js');
|
|
4
4
|
var chunkBRJN3ZMG_js = require('./chunk-BRJN3ZMG.js');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
@@ -15,7 +15,7 @@ var React7__default = /*#__PURE__*/_interopDefault(React7);
|
|
|
15
15
|
|
|
16
16
|
// src/viewer/utils/animation-effects.ts
|
|
17
17
|
function getAnimationInitialStyle2(preset, nativeAnimation) {
|
|
18
|
-
return
|
|
18
|
+
return chunkZUIM5737_js.getAnimationInitialStyle(preset, nativeAnimation);
|
|
19
19
|
}
|
|
20
20
|
function cn(...inputs) {
|
|
21
21
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
@@ -23,7 +23,7 @@ function cn(...inputs) {
|
|
|
23
23
|
|
|
24
24
|
// src/viewer/utils/clone.ts
|
|
25
25
|
function cloneHistorySnapshot2(snapshot) {
|
|
26
|
-
return
|
|
26
|
+
return chunkZUIM5737_js.cloneHistorySnapshot(snapshot);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// src/viewer/constants/scalar.ts
|
|
@@ -61,7 +61,7 @@ var TOOLBAR_SECTIONS = [
|
|
|
61
61
|
{ id: "view", labelKey: "pptx.ribbon.tab.view" },
|
|
62
62
|
{ id: "help", labelKey: "pptx.ribbon.tab.help" }
|
|
63
63
|
];
|
|
64
|
-
var SHORTCUT_REFERENCE_ITEMS =
|
|
64
|
+
var SHORTCUT_REFERENCE_ITEMS = chunkZUIM5737_js.VIEWER_SHORTCUT_REFERENCE;
|
|
65
65
|
|
|
66
66
|
// src/viewer/constants/transitions-animations.ts
|
|
67
67
|
var ANIMATION_PRESET_OPTIONS = [
|
|
@@ -89,7 +89,7 @@ var GLYPH_COMPONENTS = {
|
|
|
89
89
|
plus: lu.LuPlus,
|
|
90
90
|
triangle: lu.LuTriangle
|
|
91
91
|
};
|
|
92
|
-
var SHAPE_PRESETS =
|
|
92
|
+
var SHAPE_PRESETS = chunkZUIM5737_js.SHAPE_PRESET_DEFS.map(
|
|
93
93
|
(def) => ({
|
|
94
94
|
type: def.type,
|
|
95
95
|
label: def.label,
|
|
@@ -114,7 +114,7 @@ var ARROW_SIZE_OPTIONS = [
|
|
|
114
114
|
{ value: "med", label: "Medium", i18nKey: "pptx.connectorOptions.sizeMedium" },
|
|
115
115
|
{ value: "lg", label: "Large", i18nKey: "pptx.connectorOptions.sizeLarge" }
|
|
116
116
|
];
|
|
117
|
-
var STROKE_DASH_OPTIONS2 =
|
|
117
|
+
var STROKE_DASH_OPTIONS2 = chunkZUIM5737_js.STROKE_DASH_OPTIONS;
|
|
118
118
|
|
|
119
119
|
// src/viewer/utils/shape-types.tsx
|
|
120
120
|
function getShapeType(shapeType) {
|
|
@@ -223,7 +223,7 @@ function isConnectorOrLineElement(element) {
|
|
|
223
223
|
if (element.type === "connector") {
|
|
224
224
|
return true;
|
|
225
225
|
}
|
|
226
|
-
if (!
|
|
226
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
227
227
|
return false;
|
|
228
228
|
}
|
|
229
229
|
const st = getShapeType(element.shapeType);
|
|
@@ -232,22 +232,25 @@ function isConnectorOrLineElement(element) {
|
|
|
232
232
|
|
|
233
233
|
// src/viewer/utils/image-style.ts
|
|
234
234
|
function getImageMaskStyle(element) {
|
|
235
|
-
if (!
|
|
235
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
236
236
|
return void 0;
|
|
237
237
|
}
|
|
238
|
-
const geometry =
|
|
238
|
+
const geometry = chunkZUIM5737_js.resolveShapeGeometry(element);
|
|
239
239
|
if (geometry.kind === "borderRadius") {
|
|
240
240
|
return { borderRadius: geometry.radius };
|
|
241
241
|
}
|
|
242
242
|
return geometry.kind === "clipPath" ? { clipPath: geometry.clipPath } : void 0;
|
|
243
243
|
}
|
|
244
244
|
function getImageRenderStyle(element) {
|
|
245
|
-
const fit =
|
|
245
|
+
const fit = chunkZUIM5737_js.getImageFitStyle(element);
|
|
246
|
+
const counterTransform = chunkZUIM5737_js.getImageFillCounterTransform(element, Boolean(fit.transform));
|
|
246
247
|
return {
|
|
247
|
-
// A translated/scaled crop
|
|
248
|
-
// by the
|
|
249
|
-
|
|
250
|
-
...fit
|
|
248
|
+
// A translated/scaled crop, or a rotWithShape=false counter-transform,
|
|
249
|
+
// must be masked by the stationary wrapper, not by the moving/counter-
|
|
250
|
+
// transformed bitmap itself.
|
|
251
|
+
...fit.transform || counterTransform ? {} : getImageMaskStyle(element) || {},
|
|
252
|
+
...fit,
|
|
253
|
+
...counterTransform ? { transform: counterTransform, transformOrigin: "center" } : {}
|
|
251
254
|
};
|
|
252
255
|
}
|
|
253
256
|
function getImageSurfaceMaskStyle(element) {
|
|
@@ -259,7 +262,7 @@ function getImageSurfaceMaskStyle(element) {
|
|
|
259
262
|
};
|
|
260
263
|
}
|
|
261
264
|
function getImageSurfaceStyle(element) {
|
|
262
|
-
const fill =
|
|
265
|
+
const fill = chunkZUIM5737_js.hasShapeProperties(element) ? chunkZUIM5737_js.getComputedFillStyle(element) : void 0;
|
|
263
266
|
return {
|
|
264
267
|
position: "absolute",
|
|
265
268
|
inset: 0,
|
|
@@ -272,13 +275,13 @@ function getImageSurfaceStyle(element) {
|
|
|
272
275
|
};
|
|
273
276
|
}
|
|
274
277
|
function getCropShapeClipPath2(element) {
|
|
275
|
-
if (!
|
|
278
|
+
if (!chunkZUIM5737_js.isImageLikeElement(element)) {
|
|
276
279
|
return void 0;
|
|
277
280
|
}
|
|
278
|
-
return
|
|
281
|
+
return chunkZUIM5737_js.getCropShapeClipPath(element.cropShape, element.width, element.height);
|
|
279
282
|
}
|
|
280
283
|
function getImageTilingStyle2(element) {
|
|
281
|
-
return
|
|
284
|
+
return chunkZUIM5737_js.getImageTilingStyle(element);
|
|
282
285
|
}
|
|
283
286
|
|
|
284
287
|
// src/viewer/utils/geometry-image.ts
|
|
@@ -410,7 +413,7 @@ function VideoWithMetadata({
|
|
|
410
413
|
{
|
|
411
414
|
ref: mediaRef,
|
|
412
415
|
className: "w-full h-full pointer-events-auto",
|
|
413
|
-
style: isFullScreen ? { objectFit: "cover" } :
|
|
416
|
+
style: isFullScreen ? { objectFit: "cover" } : chunkZUIM5737_js.getImageFitStyle(element),
|
|
414
417
|
controls: showTransport,
|
|
415
418
|
preload: "metadata",
|
|
416
419
|
playsInline: true,
|
|
@@ -467,7 +470,7 @@ function PresentationMediaController({
|
|
|
467
470
|
const [isMediaPlaying, setIsMediaPlaying] = React7.useState(false);
|
|
468
471
|
const trimStartSec = element.trimStartMs !== void 0 ? element.trimStartMs / 1e3 : 0;
|
|
469
472
|
const hideWhenNotPlaying = isPresentationMode && element.hideWhenNotPlaying === true;
|
|
470
|
-
const { volume: playbackVolume, playbackRate } =
|
|
473
|
+
const { volume: playbackVolume, playbackRate } = chunkZUIM5737_js.mediaPlaybackAttributes({
|
|
471
474
|
loop: element.loop,
|
|
472
475
|
volume: element.volume,
|
|
473
476
|
playbackSpeed: element.playbackSpeed
|
|
@@ -515,7 +518,7 @@ function PresentationMediaController({
|
|
|
515
518
|
if (!el || !isPresentationMode) {
|
|
516
519
|
return;
|
|
517
520
|
}
|
|
518
|
-
return
|
|
521
|
+
return chunkZUIM5737_js.scheduleMediaTrimAndFade(el, {
|
|
519
522
|
trimStartMs: element.trimStartMs,
|
|
520
523
|
trimEndMs: element.trimEndMs,
|
|
521
524
|
fadeInDuration: element.fadeInDuration,
|
|
@@ -536,7 +539,7 @@ function PresentationMediaController({
|
|
|
536
539
|
}
|
|
537
540
|
if (element.playAcrossSlides && element.mediaType === "audio") {
|
|
538
541
|
const dataUrl = element.mediaData ?? resolvedDataUrl;
|
|
539
|
-
if (
|
|
542
|
+
if (chunkZUIM5737_js.registerCrossSlideAudio(element, dataUrl)) {
|
|
540
543
|
return;
|
|
541
544
|
}
|
|
542
545
|
}
|
|
@@ -617,17 +620,17 @@ function Badge({
|
|
|
617
620
|
"div",
|
|
618
621
|
{
|
|
619
622
|
className: `absolute inset-0 flex flex-col items-center justify-center ${isMissing ? "gap-1" : ""}`,
|
|
620
|
-
...{ [
|
|
623
|
+
...{ [chunkZUIM5737_js.MEDIA_CHROME_ATTRIBUTE]: visual.badge },
|
|
621
624
|
children: [
|
|
622
625
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
623
626
|
FallbackIcon,
|
|
624
627
|
{
|
|
625
|
-
paths:
|
|
628
|
+
paths: chunkZUIM5737_js.mediaFallbackIcon(visual, element.mediaType),
|
|
626
629
|
size: isMissing ? 32 : 48,
|
|
627
630
|
className: isMissing ? "text-white/60" : "text-white/80 drop-shadow-md"
|
|
628
631
|
}
|
|
629
632
|
),
|
|
630
|
-
isMissing && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-white/60", children: label(
|
|
633
|
+
isMissing && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-white/60", children: label(chunkZUIM5737_js.mediaFallbackLabelKey(visual, element.mediaType)) })
|
|
631
634
|
]
|
|
632
635
|
}
|
|
633
636
|
);
|
|
@@ -644,17 +647,17 @@ function Placeholder({
|
|
|
644
647
|
"div",
|
|
645
648
|
{
|
|
646
649
|
className: `w-full h-full flex flex-col items-center justify-center gap-1 pointer-events-none rounded ${isMissing ? "bg-black/30 border border-dashed border-white/20" : element.mediaType === "audio" ? "bg-black/10" : "bg-black/20"}`,
|
|
647
|
-
...{ [
|
|
650
|
+
...{ [chunkZUIM5737_js.MEDIA_CHROME_ATTRIBUTE]: visual.placeholder },
|
|
648
651
|
children: [
|
|
649
652
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
650
653
|
FallbackIcon,
|
|
651
654
|
{
|
|
652
|
-
paths:
|
|
655
|
+
paths: chunkZUIM5737_js.mediaFallbackIcon(visual, element.mediaType),
|
|
653
656
|
size: isMissing ? 36 : element.mediaType === "audio" ? 24 : 32,
|
|
654
657
|
className: isMissing ? "text-white/50" : "text-white/70"
|
|
655
658
|
}
|
|
656
659
|
),
|
|
657
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] ${isMissing ? "text-white/50" : "text-white/70"}`, children: label(
|
|
660
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] ${isMissing ? "text-white/50" : "text-white/70"}`, children: label(chunkZUIM5737_js.mediaFallbackLabelKey(visual, element.mediaType)) })
|
|
658
661
|
]
|
|
659
662
|
}
|
|
660
663
|
);
|
|
@@ -664,7 +667,7 @@ function renderMediaFallback({
|
|
|
664
667
|
posterUrl,
|
|
665
668
|
surface
|
|
666
669
|
}) {
|
|
667
|
-
const visual =
|
|
670
|
+
const visual = chunkZUIM5737_js.mediaFallbackVisual(surface, {
|
|
668
671
|
hasPoster: Boolean(posterUrl),
|
|
669
672
|
missing: element.mediaMissing === true
|
|
670
673
|
});
|
|
@@ -676,7 +679,7 @@ function renderMediaFallback({
|
|
|
676
679
|
src: posterUrl,
|
|
677
680
|
alt: visual.dimPoster ? chunkBRJN3ZMG_js.translationsEn["pptx.media.posterAlt"] : chunkBRJN3ZMG_js.translationsEn["pptx.media.videoPosterAlt"],
|
|
678
681
|
className: `w-full h-full${visual.dimPoster ? " opacity-50" : ""}`,
|
|
679
|
-
style:
|
|
682
|
+
style: chunkZUIM5737_js.getImageFitStyle(element)
|
|
680
683
|
}
|
|
681
684
|
),
|
|
682
685
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { visual, element })
|
|
@@ -694,7 +697,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
|
|
|
694
697
|
const dataUrl = element.mediaData ?? (mediaPath ? mediaDataUrls.get(mediaPath) : void 0);
|
|
695
698
|
const trimFragment = buildTrimFragment(element);
|
|
696
699
|
const posterUrl = element.posterFrameData ?? void 0;
|
|
697
|
-
const shouldLoop =
|
|
700
|
+
const shouldLoop = chunkZUIM5737_js.mediaPlaybackAttributes(element).loop;
|
|
698
701
|
const shouldAutoPlay = options?.autoPlay === true || element.autoPlay === true;
|
|
699
702
|
const isFullScreen = options?.fullScreen === true;
|
|
700
703
|
const isPresentationMode = options?.isPresentationMode === true;
|
|
@@ -777,20 +780,20 @@ function renderMediaElement(element, mediaDataUrls, options) {
|
|
|
777
780
|
|
|
778
781
|
// src/viewer/utils/text-utils.tsx
|
|
779
782
|
function getTextStyleForElement(element, fallbackColor) {
|
|
780
|
-
return
|
|
783
|
+
return chunkZUIM5737_js.buildTextBlockStyle(element, { fallbackColor });
|
|
781
784
|
}
|
|
782
785
|
|
|
783
786
|
// src/viewer/utils/text-layout.tsx
|
|
784
787
|
function getTextLayoutStyle(element) {
|
|
785
|
-
if (!
|
|
788
|
+
if (!chunkZUIM5737_js.hasTextProperties(element)) {
|
|
786
789
|
return {};
|
|
787
790
|
}
|
|
788
|
-
const writingMode =
|
|
789
|
-
const textOrientation =
|
|
790
|
-
const verticalDirection =
|
|
791
|
+
const writingMode = chunkZUIM5737_js.toCssWritingMode(element.textStyle?.textDirection);
|
|
792
|
+
const textOrientation = chunkZUIM5737_js.toCssTextOrientation(element.textStyle?.textDirection);
|
|
793
|
+
const verticalDirection = chunkZUIM5737_js.toCssVerticalDirection(element.textStyle?.textDirection);
|
|
791
794
|
const textWrapNone = element.textStyle?.textWrap === "none";
|
|
792
795
|
const shapeAutoFitTextBox = element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
|
|
793
|
-
const hasParagraphIndents =
|
|
796
|
+
const hasParagraphIndents = chunkZUIM5737_js.hasTextProperties(element) && element.paragraphIndents && element.paragraphIndents.length > 0;
|
|
794
797
|
const paragraphMarginLeft = element.textStyle?.paragraphMarginLeft;
|
|
795
798
|
const paragraphIndent = element.textStyle?.paragraphIndent;
|
|
796
799
|
const marginLeft = !hasParagraphIndents && typeof paragraphMarginLeft === "number" && paragraphMarginLeft !== 0 ? paragraphMarginLeft : void 0;
|
|
@@ -799,7 +802,7 @@ function getTextLayoutStyle(element) {
|
|
|
799
802
|
const bodyBottom = element.textStyle?.bodyInsetBottom ?? DEFAULT_BODY_INSET_TB_PX;
|
|
800
803
|
return {
|
|
801
804
|
// Columns / flex anchoring / anchorCtr / tab-size / kinsoku, from shared.
|
|
802
|
-
...
|
|
805
|
+
...chunkZUIM5737_js.buildTextBodyLayoutStyle(element),
|
|
803
806
|
// Body inset only. Paragraph spacing (spcBef/spcAft) is applied
|
|
804
807
|
// per-paragraph by the paragraph renderer, not collapsed here.
|
|
805
808
|
paddingTop: bodyTop,
|
|
@@ -827,7 +830,7 @@ function getTextLayoutStyle(element) {
|
|
|
827
830
|
|
|
828
831
|
// src/viewer/utils/text-effects.tsx
|
|
829
832
|
function buildTextBody3DSceneStyle2(textStyle, elementSize) {
|
|
830
|
-
return
|
|
833
|
+
return chunkZUIM5737_js.buildTextBody3DSceneStyle(textStyle, elementSize);
|
|
831
834
|
}
|
|
832
835
|
|
|
833
836
|
// src/viewer/utils/text-warp-css.tsx
|
|
@@ -1012,13 +1015,13 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
|
|
|
1012
1015
|
if (!subElementAnimStates || subElementAnimStates.size === 0) {
|
|
1013
1016
|
return renderedSegments;
|
|
1014
1017
|
}
|
|
1015
|
-
const paraKey = `${elementId}${
|
|
1018
|
+
const paraKey = `${elementId}${chunkZUIM5737_js.TEXT_BUILD_ID_SEP}p${paraIndex}`;
|
|
1016
1019
|
const paraState = subElementAnimStates.get(paraKey);
|
|
1017
1020
|
if (paraState) {
|
|
1018
1021
|
const style = buildAnimStyle(paraState);
|
|
1019
1022
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { "data-anim-id": paraKey, style: { display: "inline", ...style }, children: renderedSegments }, paraKey);
|
|
1020
1023
|
}
|
|
1021
|
-
const spec =
|
|
1024
|
+
const spec = chunkZUIM5737_js.buildTextBuildSpec(
|
|
1022
1025
|
elementId,
|
|
1023
1026
|
paraIndex,
|
|
1024
1027
|
paraRuns.map((run) => ({ text: run.text, style: run })),
|
|
@@ -1036,7 +1039,7 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
|
|
|
1036
1039
|
"span",
|
|
1037
1040
|
{
|
|
1038
1041
|
"data-anim-id": span.animId,
|
|
1039
|
-
style:
|
|
1042
|
+
style: chunkZUIM5737_js.textBuildSpanStyle(span),
|
|
1040
1043
|
children: content
|
|
1041
1044
|
},
|
|
1042
1045
|
span.animId
|
|
@@ -1047,13 +1050,13 @@ function renderUnderlineWords(text, isUnderlineWords, wordDecoration, metric, ke
|
|
|
1047
1050
|
if (!isUnderlineWords || !text) {
|
|
1048
1051
|
return inner(text, keyPrefix, metric);
|
|
1049
1052
|
}
|
|
1050
|
-
const pieces =
|
|
1053
|
+
const pieces = chunkZUIM5737_js.splitWordsForUnderline(text);
|
|
1051
1054
|
if (pieces.length === 0) {
|
|
1052
1055
|
return inner(text, keyPrefix, metric);
|
|
1053
1056
|
}
|
|
1054
1057
|
const gapMetric = metric ? {
|
|
1055
1058
|
...metric,
|
|
1056
|
-
nestedStyle: metric.nestedStyle ?
|
|
1059
|
+
nestedStyle: metric.nestedStyle ? chunkZUIM5737_js.stripUnderlineDecoration(metric.nestedStyle) : void 0
|
|
1057
1060
|
} : void 0;
|
|
1058
1061
|
return pieces.map((piece, i) => {
|
|
1059
1062
|
const key = `${keyPrefix}-u${i}`;
|
|
@@ -1086,7 +1089,7 @@ function makeSegmentPieceRenderer(needsScriptFonts, scriptFonts, baseFontFamily,
|
|
|
1086
1089
|
);
|
|
1087
1090
|
}
|
|
1088
1091
|
function renderTabbedLine(line, ctx, keyPrefix, renderPiece, nestedStyle, underlineWords = false) {
|
|
1089
|
-
const [lineLayout] =
|
|
1092
|
+
const [lineLayout] = chunkZUIM5737_js.buildRunTabLines(
|
|
1090
1093
|
line,
|
|
1091
1094
|
ctx,
|
|
1092
1095
|
nestedStyle,
|
|
@@ -1105,7 +1108,7 @@ function renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFami
|
|
|
1105
1108
|
if (!needsScriptFonts || !text) {
|
|
1106
1109
|
return text;
|
|
1107
1110
|
}
|
|
1108
|
-
const pieces =
|
|
1111
|
+
const pieces = chunkZUIM5737_js.splitRunByScriptFont(
|
|
1109
1112
|
text,
|
|
1110
1113
|
scriptFonts,
|
|
1111
1114
|
baseFontFamily,
|
|
@@ -1122,7 +1125,7 @@ function renderMetricPieces(text, metric, keyPrefix, inner) {
|
|
|
1122
1125
|
if (!metric || !text) {
|
|
1123
1126
|
return inner(text, keyPrefix);
|
|
1124
1127
|
}
|
|
1125
|
-
const pieces =
|
|
1128
|
+
const pieces = chunkZUIM5737_js.splitRunForMetrics(text, metric.font);
|
|
1126
1129
|
if (pieces.length <= 1) {
|
|
1127
1130
|
return inner(text, keyPrefix);
|
|
1128
1131
|
}
|
|
@@ -1131,7 +1134,7 @@ function renderMetricPieces(text, metric, keyPrefix, inner) {
|
|
|
1131
1134
|
{
|
|
1132
1135
|
style: {
|
|
1133
1136
|
...metric.nestedStyle,
|
|
1134
|
-
letterSpacing:
|
|
1137
|
+
letterSpacing: chunkZUIM5737_js.pieceLetterSpacing(metric.authoredPx, piece.tracking)
|
|
1135
1138
|
},
|
|
1136
1139
|
children: inner(piece.text, `${keyPrefix}-w${i}`)
|
|
1137
1140
|
},
|
|
@@ -1207,8 +1210,8 @@ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsSc
|
|
|
1207
1210
|
});
|
|
1208
1211
|
}
|
|
1209
1212
|
function renderEquationSegment(elementId, segmentIndex, equationXml, equationNumber) {
|
|
1210
|
-
const mathml =
|
|
1211
|
-
const safeMathml = mathml ?
|
|
1213
|
+
const mathml = chunkZUIM5737_js.convertOmmlToMathMl(equationXml);
|
|
1214
|
+
const safeMathml = mathml ? chunkZUIM5737_js.sanitizeMathMl(mathml) : "";
|
|
1212
1215
|
const equationContent = safeMathml ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1213
1216
|
"span",
|
|
1214
1217
|
{
|
|
@@ -1337,7 +1340,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1337
1340
|
const segmentStyle = segment?.style ?? {};
|
|
1338
1341
|
const textValue = run.text;
|
|
1339
1342
|
const lines = textValue.split("\n");
|
|
1340
|
-
const resolvedSegmentColor =
|
|
1343
|
+
const resolvedSegmentColor = chunkZUIM5737_js.normalizeHexColor(
|
|
1341
1344
|
segmentStyle.color || element.textStyle?.color,
|
|
1342
1345
|
run.hyperlink ? HYPERLINK_COLOR : fallbackColor
|
|
1343
1346
|
);
|
|
@@ -1345,16 +1348,16 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1345
1348
|
const baselineFraction = rawBaseline === 0 ? 0 : Math.abs(rawBaseline) >= 1e3 ? rawBaseline / 1e5 : rawBaseline / 100;
|
|
1346
1349
|
const baselineFontScale = baselineFraction !== 0 ? BASELINE_FONT_SCALE : 1;
|
|
1347
1350
|
const rawFontSize = segmentStyle.fontSize || element.textStyle?.fontSize || DEFAULT_TEXT_FONT_SIZE;
|
|
1348
|
-
const baseFontSize = rawFontSize *
|
|
1351
|
+
const baseFontSize = rawFontSize * chunkZUIM5737_js.resolveAutoFitFontScale(element.textStyle);
|
|
1349
1352
|
const baselineShift = baselineFraction !== 0 ? `${baselineFraction * baseFontSize}px` : void 0;
|
|
1350
|
-
const fontKerning =
|
|
1353
|
+
const fontKerning = chunkZUIM5737_js.resolveFontKerning(segmentStyle.kerning, baseFontSize);
|
|
1351
1354
|
const rawFontFamily = segmentStyle.fontFamily || element.textStyle?.fontFamily;
|
|
1352
|
-
const baseFontFamily = rawFontFamily ?
|
|
1355
|
+
const baseFontFamily = rawFontFamily ? chunkZUIM5737_js.getSubstituteFontFamily(
|
|
1353
1356
|
rawFontFamily,
|
|
1354
|
-
|
|
1357
|
+
chunkZUIM5737_js.parsePanoseString(segmentStyle.latinFontPanose ?? element.textStyle?.latinFontPanose)
|
|
1355
1358
|
) : DEFAULT_FONT_FAMILY2;
|
|
1356
|
-
const scriptFonts =
|
|
1357
|
-
const needsScriptFonts =
|
|
1359
|
+
const scriptFonts = chunkZUIM5737_js.resolveScriptFontSet(segmentStyle, element.textStyle, baseFontFamily);
|
|
1360
|
+
const needsScriptFonts = chunkZUIM5737_js.hasDistinctScriptFonts(scriptFonts);
|
|
1358
1361
|
const authoredLetterSpacing = typeof segmentStyle.characterSpacing === "number" && segmentStyle.characterSpacing !== 0 ? segmentStyle.characterSpacing / 100 * (96 / 72) : 0;
|
|
1359
1362
|
const metricFont = {
|
|
1360
1363
|
fontFamily: baseFontFamily,
|
|
@@ -1362,7 +1365,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1362
1365
|
bold: Boolean(segmentStyle.bold),
|
|
1363
1366
|
italic: Boolean(segmentStyle.italic)
|
|
1364
1367
|
};
|
|
1365
|
-
const nestedStyle =
|
|
1368
|
+
const nestedStyle = chunkZUIM5737_js.nestedTextDecorationStyle(run.style);
|
|
1366
1369
|
const metricContext = { font: metricFont, authoredPx: authoredLetterSpacing, nestedStyle };
|
|
1367
1370
|
const spanStyle = { ...run.style };
|
|
1368
1371
|
spanStyle.color = resolvedSegmentColor;
|
|
@@ -1370,11 +1373,11 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1370
1373
|
spanStyle.fontFamily = baseFontFamily;
|
|
1371
1374
|
spanStyle.verticalAlign = baselineShift;
|
|
1372
1375
|
spanStyle.fontKerning = fontKerning;
|
|
1373
|
-
spanStyle.letterSpacing =
|
|
1376
|
+
spanStyle.letterSpacing = chunkZUIM5737_js.pieceLetterSpacing(
|
|
1374
1377
|
authoredLetterSpacing,
|
|
1375
|
-
|
|
1378
|
+
chunkZUIM5737_js.resolveMetricTrackingPx(textValue, metricFont)
|
|
1376
1379
|
);
|
|
1377
|
-
const hollow =
|
|
1380
|
+
const hollow = chunkZUIM5737_js.hollowTextFillStyle(segmentStyle, {
|
|
1378
1381
|
color: resolvedSegmentColor,
|
|
1379
1382
|
textStroke: typeof spanStyle.WebkitTextStroke === "string" ? spanStyle.WebkitTextStroke : void 0
|
|
1380
1383
|
});
|
|
@@ -1389,7 +1392,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1389
1392
|
const isUnderlineWords = Boolean(segmentStyle.underline) && segmentStyle.underlineStyle === "words";
|
|
1390
1393
|
const wordDecoration = isUnderlineWords ? nestedStyle ?? run.underlineWordPieces?.find((piece) => piece.style)?.style : void 0;
|
|
1391
1394
|
if (isUnderlineWords) {
|
|
1392
|
-
const stripped =
|
|
1395
|
+
const stripped = chunkZUIM5737_js.stripUnderlineDecoration(spanStyle);
|
|
1393
1396
|
spanStyle.textDecoration = stripped.textDecoration;
|
|
1394
1397
|
delete spanStyle.textDecorationStyle;
|
|
1395
1398
|
delete spanStyle.textDecorationThickness;
|
|
@@ -1405,7 +1408,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1405
1408
|
scriptFonts,
|
|
1406
1409
|
baseFontFamily,
|
|
1407
1410
|
findHighlights,
|
|
1408
|
-
|
|
1411
|
+
chunkZUIM5737_js.buildTabContext(
|
|
1409
1412
|
element.textStyle?.tabStops,
|
|
1410
1413
|
element.textStyle?.defaultTabSize,
|
|
1411
1414
|
baseFontSize,
|
|
@@ -1437,14 +1440,14 @@ function renderSeededListRun(seed, runs, segments, context) {
|
|
|
1437
1440
|
const segment = sourceRun ? segments[seed.segmentIndex] : { text: seed.text, style: seed.style };
|
|
1438
1441
|
const resolvedSegment = {
|
|
1439
1442
|
...segment,
|
|
1440
|
-
style:
|
|
1443
|
+
style: chunkZUIM5737_js.withInlineListDecorationDefaults(segment.style, context.element.textStyle)
|
|
1441
1444
|
};
|
|
1442
|
-
const decorationCss =
|
|
1445
|
+
const decorationCss = chunkZUIM5737_js.segmentStyleToCss(
|
|
1443
1446
|
resolvedSegment,
|
|
1444
|
-
|
|
1447
|
+
chunkZUIM5737_js.resolveAutoFitFontScale(context.element.textStyle)
|
|
1445
1448
|
);
|
|
1446
|
-
|
|
1447
|
-
const run = sourceRun ? { ...sourceRun, style: { ...sourceRun.style, ...
|
|
1449
|
+
chunkZUIM5737_js.applyUnderlineVariant(decorationCss, resolvedSegment);
|
|
1450
|
+
const run = sourceRun ? { ...sourceRun, style: { ...sourceRun.style, ...chunkZUIM5737_js.nestedTextDecorationStyle(decorationCss) } } : {
|
|
1448
1451
|
text: seed.text,
|
|
1449
1452
|
style: decorationCss,
|
|
1450
1453
|
segmentIndex: seed.segmentIndex
|
|
@@ -1459,7 +1462,7 @@ function renderSeededListRun(seed, runs, segments, context) {
|
|
|
1459
1462
|
});
|
|
1460
1463
|
}
|
|
1461
1464
|
function renderTextSegments(element, fallbackColor, emptyFallback, findHighlights, onHyperlinkClick, fieldContext, subElementAnimStates, segmentOverrides, requireCtrlClick, placeholderPrompt, inlineListSeed) {
|
|
1462
|
-
if (!
|
|
1465
|
+
if (!chunkZUIM5737_js.hasTextProperties(element)) {
|
|
1463
1466
|
return emptyFallback || null;
|
|
1464
1467
|
}
|
|
1465
1468
|
const segments = segmentOverrides ?? element.textSegments;
|
|
@@ -1469,7 +1472,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
|
|
|
1469
1472
|
}
|
|
1470
1473
|
return element.text || emptyFallback || "";
|
|
1471
1474
|
}
|
|
1472
|
-
const paragraphs =
|
|
1475
|
+
const paragraphs = chunkZUIM5737_js.buildParagraphs(
|
|
1473
1476
|
element,
|
|
1474
1477
|
fieldContext,
|
|
1475
1478
|
segmentOverrides,
|
|
@@ -1615,13 +1618,13 @@ function renderBulletMarker(para, paraIndex, elementId) {
|
|
|
1615
1618
|
);
|
|
1616
1619
|
}
|
|
1617
1620
|
function getDuotoneColors(element) {
|
|
1618
|
-
if (!
|
|
1621
|
+
if (!chunkZUIM5737_js.isImageLikeElement(element)) {
|
|
1619
1622
|
return void 0;
|
|
1620
1623
|
}
|
|
1621
1624
|
return element.imageEffects?.duotone;
|
|
1622
1625
|
}
|
|
1623
1626
|
function buildLineShadowCss(element) {
|
|
1624
|
-
if (!
|
|
1627
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
1625
1628
|
return void 0;
|
|
1626
1629
|
}
|
|
1627
1630
|
const ss = element.shapeStyle;
|
|
@@ -1632,13 +1635,13 @@ function buildLineShadowCss(element) {
|
|
|
1632
1635
|
const offsetY = typeof ss.lineShadowOffsetY === "number" ? ss.lineShadowOffsetY : 2;
|
|
1633
1636
|
const blur = typeof ss.lineShadowBlur === "number" ? Math.max(0, ss.lineShadowBlur) : 4;
|
|
1634
1637
|
const opacity = typeof ss.lineShadowOpacity === "number" ? Math.max(0, Math.min(1, ss.lineShadowOpacity)) : 0.35;
|
|
1635
|
-
return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${
|
|
1636
|
-
|
|
1638
|
+
return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${chunkZUIM5737_js.colorWithOpacity(
|
|
1639
|
+
chunkZUIM5737_js.normalizeHexColor(ss.lineShadowColor, "#000000"),
|
|
1637
1640
|
opacity
|
|
1638
1641
|
)}`;
|
|
1639
1642
|
}
|
|
1640
1643
|
function buildLineGlowFilter(element) {
|
|
1641
|
-
if (!
|
|
1644
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
1642
1645
|
return void 0;
|
|
1643
1646
|
}
|
|
1644
1647
|
const ss = element.shapeStyle;
|
|
@@ -1647,22 +1650,22 @@ function buildLineGlowFilter(element) {
|
|
|
1647
1650
|
}
|
|
1648
1651
|
const glowOpacity = typeof ss.lineGlowOpacity === "number" ? ss.lineGlowOpacity : 0.75;
|
|
1649
1652
|
const glowRad = Math.round(Math.max(0, ss.lineGlowRadius));
|
|
1650
|
-
const glowCol =
|
|
1653
|
+
const glowCol = chunkZUIM5737_js.colorWithOpacity(chunkZUIM5737_js.normalizeHexColor(ss.lineGlowColor, "#ffff00"), glowOpacity);
|
|
1651
1654
|
return `drop-shadow(0 0 ${glowRad}px ${glowCol})`;
|
|
1652
1655
|
}
|
|
1653
1656
|
function getDagDuotoneFilterId(elementId) {
|
|
1654
1657
|
return `dag-duotone-${elementId}`;
|
|
1655
1658
|
}
|
|
1656
1659
|
function hasDagDuotoneEffect(element) {
|
|
1657
|
-
if (!
|
|
1660
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
1658
1661
|
return false;
|
|
1659
1662
|
}
|
|
1660
1663
|
return Boolean(element.shapeStyle?.dagDuotone);
|
|
1661
1664
|
}
|
|
1662
1665
|
function renderDagDuotoneSvgFilter(elementId, color1, color2) {
|
|
1663
1666
|
const filterId = getDagDuotoneFilterId(elementId);
|
|
1664
|
-
const c1 =
|
|
1665
|
-
const c2 =
|
|
1667
|
+
const c1 = chunkZUIM5737_js.hexToRgbUnit(color1);
|
|
1668
|
+
const c2 = chunkZUIM5737_js.hexToRgbUnit(color2);
|
|
1666
1669
|
const grayscaleMatrix = [
|
|
1667
1670
|
0.2126,
|
|
1668
1671
|
0.7152,
|
|
@@ -1706,7 +1709,7 @@ function renderDagDuotoneSvgFilter(elementId, color1, color2) {
|
|
|
1706
1709
|
|
|
1707
1710
|
// src/viewer/utils/shape-visual-3d.ts
|
|
1708
1711
|
function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elementHeight) {
|
|
1709
|
-
return
|
|
1712
|
+
return chunkZUIM5737_js.build3DExtrusionData(
|
|
1710
1713
|
shape3d,
|
|
1711
1714
|
scene3d,
|
|
1712
1715
|
fillColor,
|
|
@@ -1715,7 +1718,7 @@ function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elemen
|
|
|
1715
1718
|
);
|
|
1716
1719
|
}
|
|
1717
1720
|
function apply3dEffects2(base, scene3d, shape3d, fillColorFallback, elementSize, elementId) {
|
|
1718
|
-
|
|
1721
|
+
chunkZUIM5737_js.apply3dEffects(
|
|
1719
1722
|
base,
|
|
1720
1723
|
scene3d,
|
|
1721
1724
|
shape3d,
|
|
@@ -1730,11 +1733,11 @@ function rendersCustomVectorPath(element) {
|
|
|
1730
1733
|
return (element.type === "shape" || element.type === "image" || element.type === "picture") && Boolean(element.pathData) && typeof element.pathWidth === "number" && element.pathWidth > 0 && typeof element.pathHeight === "number" && element.pathHeight > 0;
|
|
1731
1734
|
}
|
|
1732
1735
|
function rendersWedgeCalloutVector(element) {
|
|
1733
|
-
return element.type === "shape" &&
|
|
1736
|
+
return element.type === "shape" && chunkZUIM5737_js.isWedgeCalloutPresetShape(element.shapeType);
|
|
1734
1737
|
}
|
|
1735
1738
|
function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _strokeColor, animatesFill, animatesStroke, parentGroupFill) {
|
|
1736
1739
|
if (element.type === "group") {
|
|
1737
|
-
const fx2 =
|
|
1740
|
+
const fx2 = chunkZUIM5737_js.getComputedEffectStyle(element);
|
|
1738
1741
|
const groupStyle = {};
|
|
1739
1742
|
if (fx2.filter) {
|
|
1740
1743
|
groupStyle.filter = fx2.filter;
|
|
@@ -1744,13 +1747,13 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1744
1747
|
}
|
|
1745
1748
|
return groupStyle;
|
|
1746
1749
|
}
|
|
1747
|
-
if (!
|
|
1750
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
1748
1751
|
return {};
|
|
1749
1752
|
}
|
|
1750
1753
|
const ss = element.shapeStyle;
|
|
1751
|
-
const fill = animatesFill ? void 0 :
|
|
1752
|
-
const fx =
|
|
1753
|
-
const stroke =
|
|
1754
|
+
const fill = animatesFill ? void 0 : chunkZUIM5737_js.getComputedFillStyle(element, parentGroupFill);
|
|
1755
|
+
const fx = chunkZUIM5737_js.getComputedEffectStyle(element);
|
|
1756
|
+
const stroke = chunkZUIM5737_js.getComputedStrokeStyle(element);
|
|
1754
1757
|
const base = {
|
|
1755
1758
|
// A gradient fill REPLACES the solid fill, it does not sit on top of it;
|
|
1756
1759
|
// the whole precedence lives in shared's `getComputedFillStyle`.
|
|
@@ -1789,7 +1792,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1789
1792
|
};
|
|
1790
1793
|
Object.assign(
|
|
1791
1794
|
base,
|
|
1792
|
-
|
|
1795
|
+
chunkZUIM5737_js.getAnimationColorBaseStyle(element, {
|
|
1793
1796
|
animatesFill,
|
|
1794
1797
|
animatesStroke,
|
|
1795
1798
|
parentGroupFill
|
|
@@ -1811,7 +1814,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1811
1814
|
},
|
|
1812
1815
|
element.id
|
|
1813
1816
|
);
|
|
1814
|
-
if (rendersCustomVectorPath(element) || rendersWedgeCalloutVector(element) ||
|
|
1817
|
+
if (rendersCustomVectorPath(element) || rendersWedgeCalloutVector(element) || chunkZUIM5737_js.isStrokeOnlyPresetElement(element)) {
|
|
1815
1818
|
base.backgroundColor = "transparent";
|
|
1816
1819
|
base.backgroundImage = void 0;
|
|
1817
1820
|
base.borderWidth = void 0;
|
|
@@ -1825,7 +1828,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1825
1828
|
if (rendersWedgeCalloutVector(element)) {
|
|
1826
1829
|
return base;
|
|
1827
1830
|
}
|
|
1828
|
-
const geometry =
|
|
1831
|
+
const geometry = chunkZUIM5737_js.resolveShapeGeometry(element);
|
|
1829
1832
|
switch (geometry.kind) {
|
|
1830
1833
|
case "bare":
|
|
1831
1834
|
return { backgroundColor: "transparent", borderWidth: 0, borderStyle: "none" };
|
|
@@ -1849,7 +1852,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1849
1852
|
}
|
|
1850
1853
|
}
|
|
1851
1854
|
function getConnectorPathGeometry2(element) {
|
|
1852
|
-
return
|
|
1855
|
+
return chunkZUIM5737_js.getConnectorPathGeometry(element);
|
|
1853
1856
|
}
|
|
1854
1857
|
var ARROW_SIZE_SCALE = {
|
|
1855
1858
|
sm: 0.6,
|
|
@@ -1918,11 +1921,11 @@ function strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray) {
|
|
|
1918
1921
|
strokePaint,
|
|
1919
1922
|
strokeWidth,
|
|
1920
1923
|
dashArray,
|
|
1921
|
-
lineCap:
|
|
1924
|
+
lineCap: chunkZUIM5737_js.svgLineCap(shapeStyle?.lineCap),
|
|
1922
1925
|
lineJoin,
|
|
1923
1926
|
miterLimit,
|
|
1924
|
-
offsets:
|
|
1925
|
-
widths:
|
|
1927
|
+
offsets: chunkZUIM5737_js.getCompoundLineOffsets(shapeStyle?.compoundLine, strokeWidth),
|
|
1928
|
+
widths: chunkZUIM5737_js.getCompoundLineWidths(shapeStyle?.compoundLine, strokeWidth)
|
|
1926
1929
|
};
|
|
1927
1930
|
}
|
|
1928
1931
|
function strokeStrands(d, keyBase, ctx) {
|
|
@@ -1945,12 +1948,12 @@ function strokeStrands(d, keyBase, ctx) {
|
|
|
1945
1948
|
}
|
|
1946
1949
|
function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredPaths, shapeStyle, hasFill, fillColor, fillOpacity, strokePaint, strokeWidth, dashArray, animatesFill = false, gradient) {
|
|
1947
1950
|
const ctx = strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray);
|
|
1948
|
-
const subpaths = structuredPaths && structuredPaths.length > 0 ?
|
|
1951
|
+
const subpaths = structuredPaths && structuredPaths.length > 0 ? chunkZUIM5737_js.customGeometryPathsToSvgSubpaths(structuredPaths, pathWidth, pathHeight) : void 0;
|
|
1949
1952
|
const needsPerSubpath = subpaths !== void 0 && subpaths.some((sp) => sp.fillMode && sp.fillMode !== "norm" || sp.stroke === false);
|
|
1950
|
-
const gradientPaint = gradient ?
|
|
1953
|
+
const gradientPaint = gradient ? chunkZUIM5737_js.svgGradientFillRef(gradient) : void 0;
|
|
1951
1954
|
const nodes = [];
|
|
1952
1955
|
if (subpaths && needsPerSubpath) {
|
|
1953
|
-
const paints =
|
|
1956
|
+
const paints = chunkZUIM5737_js.buildSubpathPaints(subpaths, hasFill, fillColor, fillOpacity);
|
|
1954
1957
|
paints.forEach((paint, idx) => {
|
|
1955
1958
|
if (paint.fill !== "none") {
|
|
1956
1959
|
const mode = subpaths[idx]?.fillMode;
|
|
@@ -1979,7 +1982,7 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
|
|
|
1979
1982
|
"path",
|
|
1980
1983
|
{
|
|
1981
1984
|
d: pathData,
|
|
1982
|
-
fill: animatesFill ? "inherit" : gradientPaint ??
|
|
1985
|
+
fill: animatesFill ? "inherit" : gradientPaint ?? chunkZUIM5737_js.colorWithOpacity(fillColor, fillOpacity),
|
|
1983
1986
|
stroke: "none",
|
|
1984
1987
|
vectorEffect: "non-scaling-stroke"
|
|
1985
1988
|
},
|
|
@@ -2005,14 +2008,14 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
|
|
|
2005
2008
|
);
|
|
2006
2009
|
}
|
|
2007
2010
|
function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor, animatesFill, animatesStroke) {
|
|
2008
|
-
if (!
|
|
2011
|
+
if (!chunkZUIM5737_js.hasShapeProperties(element)) {
|
|
2009
2012
|
return null;
|
|
2010
2013
|
}
|
|
2011
2014
|
const normalizedType = (element.shapeType || "").toLowerCase();
|
|
2012
|
-
const fillPaint = animatesFill ? "inherit" :
|
|
2013
|
-
const strokePaint = animatesStroke ? "inherit" :
|
|
2014
|
-
const dashType =
|
|
2015
|
-
const dashArray =
|
|
2015
|
+
const fillPaint = animatesFill ? "inherit" : chunkZUIM5737_js.colorWithOpacity(fillColor, element.shapeStyle?.fillOpacity);
|
|
2016
|
+
const strokePaint = animatesStroke ? "inherit" : chunkZUIM5737_js.colorWithOpacity(strokeColor, element.shapeStyle?.strokeOpacity);
|
|
2017
|
+
const dashType = chunkZUIM5737_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
|
|
2018
|
+
const dashArray = chunkZUIM5737_js.getSvgStrokeDasharray(
|
|
2016
2019
|
dashType,
|
|
2017
2020
|
Math.max(strokeWidth, 1),
|
|
2018
2021
|
element.shapeStyle?.customDashSegments
|
|
@@ -2093,13 +2096,13 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2093
2096
|
// container's `background-image` is suppressed for custom geometry, so
|
|
2094
2097
|
// without this the shape fell back to the parser's representative solid
|
|
2095
2098
|
// and lost every fade (issue #132).
|
|
2096
|
-
|
|
2099
|
+
chunkZUIM5737_js.buildSvgGradientDef(element.shapeStyle, element.id)
|
|
2097
2100
|
);
|
|
2098
2101
|
}
|
|
2099
|
-
if ((element.type === "image" || element.type === "picture") && strokeWidth > 0 && !
|
|
2102
|
+
if ((element.type === "image" || element.type === "picture") && strokeWidth > 0 && !chunkZUIM5737_js.buildStrokeOutline(element)) {
|
|
2100
2103
|
const width = Math.max(element.width, 1);
|
|
2101
2104
|
const height = Math.max(element.height, 1);
|
|
2102
|
-
const geometry =
|
|
2105
|
+
const geometry = chunkZUIM5737_js.getPresetShapeVectorGeometry(
|
|
2103
2106
|
element.shapeType || "rect",
|
|
2104
2107
|
width,
|
|
2105
2108
|
height,
|
|
@@ -2127,18 +2130,18 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2127
2130
|
);
|
|
2128
2131
|
}
|
|
2129
2132
|
}
|
|
2130
|
-
if (element.type === "shape" &&
|
|
2133
|
+
if (element.type === "shape" && chunkZUIM5737_js.isWedgeCalloutPresetShape(element.shapeType)) {
|
|
2131
2134
|
const width = Math.max(element.width, 1);
|
|
2132
2135
|
const height = Math.max(element.height, 1);
|
|
2133
|
-
const geometry =
|
|
2136
|
+
const geometry = chunkZUIM5737_js.getPresetShapeVectorGeometry(
|
|
2134
2137
|
element.shapeType,
|
|
2135
2138
|
width,
|
|
2136
2139
|
height,
|
|
2137
2140
|
element.shapeAdjustments
|
|
2138
2141
|
);
|
|
2139
2142
|
if (geometry) {
|
|
2140
|
-
const gradient =
|
|
2141
|
-
const gradientPaint = gradient ?
|
|
2143
|
+
const gradient = chunkZUIM5737_js.buildSvgGradientDef(element.shapeStyle, element.id);
|
|
2144
|
+
const gradientPaint = gradient ? chunkZUIM5737_js.svgGradientFillRef(gradient) : void 0;
|
|
2142
2145
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2143
2146
|
"svg",
|
|
2144
2147
|
{
|
|
@@ -2171,18 +2174,18 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2171
2174
|
);
|
|
2172
2175
|
}
|
|
2173
2176
|
}
|
|
2174
|
-
if (
|
|
2177
|
+
if (chunkZUIM5737_js.isCalloutShape(normalizedType)) {
|
|
2175
2178
|
const width = Math.max(element.width, 1);
|
|
2176
2179
|
const height = Math.max(element.height, 1);
|
|
2177
|
-
const geometry =
|
|
2180
|
+
const geometry = chunkZUIM5737_js.getCalloutLeaderLineGeometry(
|
|
2178
2181
|
normalizedType,
|
|
2179
2182
|
width,
|
|
2180
2183
|
height,
|
|
2181
2184
|
element.shapeAdjustments
|
|
2182
2185
|
);
|
|
2183
2186
|
if (geometry && geometry.points.length >= 2) {
|
|
2184
|
-
const leaderPath =
|
|
2185
|
-
const bounds =
|
|
2187
|
+
const leaderPath = chunkZUIM5737_js.buildCalloutLeaderLineSvgPath(geometry);
|
|
2188
|
+
const bounds = chunkZUIM5737_js.getCalloutViewBoxBounds(width, height, geometry);
|
|
2186
2189
|
const lineStroke = Math.max(strokeWidth, 1);
|
|
2187
2190
|
const offsetLeft = bounds.minX;
|
|
2188
2191
|
const offsetTop = bounds.minY;
|
|
@@ -2245,10 +2248,10 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2245
2248
|
const endArrowW = element.shapeStyle?.connectorEndArrowWidth;
|
|
2246
2249
|
const endArrowL = element.shapeStyle?.connectorEndArrowLength;
|
|
2247
2250
|
const compoundLine = element.shapeStyle?.compoundLine;
|
|
2248
|
-
const connectorLineCap =
|
|
2251
|
+
const connectorLineCap = chunkZUIM5737_js.svgLineCap(element.shapeStyle?.lineCap);
|
|
2249
2252
|
const hitTargetWidth = Math.max(strokeWidth * 3, 12);
|
|
2250
|
-
const offsets =
|
|
2251
|
-
const widths =
|
|
2253
|
+
const offsets = chunkZUIM5737_js.getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
2254
|
+
const widths = chunkZUIM5737_js.getCompoundLineWidths(compoundLine, strokeWidth);
|
|
2252
2255
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2253
2256
|
"svg",
|
|
2254
2257
|
{
|
|
@@ -2315,15 +2318,15 @@ function parseGradientFillCss(gradFill) {
|
|
|
2315
2318
|
}
|
|
2316
2319
|
const rawStops = stops.map((gs) => {
|
|
2317
2320
|
const pos = Number.parseInt(String(gs["@_pos"] || "0"), 10) / 1e3;
|
|
2318
|
-
const color =
|
|
2319
|
-
const opacity =
|
|
2321
|
+
const color = chunkZUIM5737_js.parseDrawingColor(gs) ?? "#888888";
|
|
2322
|
+
const opacity = chunkZUIM5737_js.parseDrawingColorOpacity(gs);
|
|
2320
2323
|
return { position: pos, color, opacity };
|
|
2321
2324
|
}).sort((a, b) => a.position - b.position);
|
|
2322
|
-
const stopStrings = rawStops.map((s) => `${
|
|
2325
|
+
const stopStrings = rawStops.map((s) => `${chunkZUIM5737_js.colorWithOpacity(s.color, s.opacity)} ${s.position.toFixed(1)}%`).join(", ");
|
|
2323
2326
|
const lin = gradFill["a:lin"];
|
|
2324
2327
|
if (lin) {
|
|
2325
2328
|
const angRaw = Number.parseInt(String(lin["@_ang"] || "0"), 10);
|
|
2326
|
-
const angleDeg = Math.round(
|
|
2329
|
+
const angleDeg = Math.round(chunkZUIM5737_js.ooxmlGradientAngleToCssDegrees(angRaw / 6e4));
|
|
2327
2330
|
return `linear-gradient(${angleDeg}deg, ${stopStrings})`;
|
|
2328
2331
|
}
|
|
2329
2332
|
const path = gradFill["a:path"];
|
|
@@ -2337,7 +2340,7 @@ function parseGradientFillCss(gradFill) {
|
|
|
2337
2340
|
b: Number.parseInt(String(fillToRectXml["@_b"] || "0"), 10) / 1e5
|
|
2338
2341
|
} : void 0;
|
|
2339
2342
|
if (pathType === "rect") {
|
|
2340
|
-
return
|
|
2343
|
+
return chunkZUIM5737_js.buildRectPathGradient(rawStops, void 0, fillToRect);
|
|
2341
2344
|
}
|
|
2342
2345
|
let cx = 50;
|
|
2343
2346
|
let cy = 50;
|
|
@@ -2359,8 +2362,8 @@ function parsePatternFillCss(pattFill) {
|
|
|
2359
2362
|
if (!pattFill) {
|
|
2360
2363
|
return void 0;
|
|
2361
2364
|
}
|
|
2362
|
-
const fgColor =
|
|
2363
|
-
const bgColor =
|
|
2365
|
+
const fgColor = chunkZUIM5737_js.parseDrawingColor(pattFill["a:fgClr"]) ?? "#000000";
|
|
2366
|
+
const bgColor = chunkZUIM5737_js.parseDrawingColor(pattFill["a:bgClr"]) ?? "#ffffff";
|
|
2364
2367
|
const preset = String(pattFill["@_prst"] || "ltDnDiag");
|
|
2365
2368
|
switch (preset) {
|
|
2366
2369
|
case "ltHorz":
|
|
@@ -2471,11 +2474,11 @@ function parseCellBorders(cellProperties) {
|
|
|
2471
2474
|
const prstDash = ln["a:prstDash"];
|
|
2472
2475
|
const dashVal = prstDash ? String(prstDash["@_val"] || "") : void 0;
|
|
2473
2476
|
const cssBorderStyle = ooxmlDashToCss(dashVal);
|
|
2474
|
-
const color =
|
|
2477
|
+
const color = chunkZUIM5737_js.parseDrawingColor(ln["a:solidFill"]);
|
|
2475
2478
|
if (color) {
|
|
2476
|
-
const opacity =
|
|
2479
|
+
const opacity = chunkZUIM5737_js.parseDrawingColorOpacity(ln["a:solidFill"]);
|
|
2477
2480
|
const key = `${edge.prefix}`;
|
|
2478
|
-
borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${
|
|
2481
|
+
borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${chunkZUIM5737_js.colorWithOpacity(color, opacity)}`;
|
|
2479
2482
|
}
|
|
2480
2483
|
}
|
|
2481
2484
|
return borderStyle;
|
|
@@ -2488,7 +2491,7 @@ function parseCellTextEffects(runProps) {
|
|
|
2488
2491
|
const textShadowParts = [];
|
|
2489
2492
|
const outerShdw = effectLst["a:outerShdw"];
|
|
2490
2493
|
if (outerShdw) {
|
|
2491
|
-
const shdwColor =
|
|
2494
|
+
const shdwColor = chunkZUIM5737_js.parseDrawingColor(outerShdw);
|
|
2492
2495
|
if (shdwColor) {
|
|
2493
2496
|
const blurRad = Number.parseInt(String(outerShdw["@_blurRad"] || "0"), 10);
|
|
2494
2497
|
const blurPx = blurRad > 0 ? Math.round(blurRad / 12700) : 0;
|
|
@@ -2506,7 +2509,7 @@ function parseCellTextEffects(runProps) {
|
|
|
2506
2509
|
}
|
|
2507
2510
|
const glow = effectLst["a:glow"];
|
|
2508
2511
|
if (glow) {
|
|
2509
|
-
const glowColor =
|
|
2512
|
+
const glowColor = chunkZUIM5737_js.parseDrawingColor(glow);
|
|
2510
2513
|
if (glowColor) {
|
|
2511
2514
|
const glowRad = Number.parseInt(String(glow["@_rad"] || "0"), 10);
|
|
2512
2515
|
const glowPx = glowRad > 0 ? Math.round(glowRad / 12700) : 2;
|
|
@@ -2528,11 +2531,11 @@ function extractCellText(cellXml) {
|
|
|
2528
2531
|
const textParts = [];
|
|
2529
2532
|
const runs = ensureArrayValue(paragraph["a:r"]);
|
|
2530
2533
|
runs.forEach((run) => {
|
|
2531
|
-
textParts.push(
|
|
2534
|
+
textParts.push(chunkZUIM5737_js.xmlText(run["a:t"]) ?? "");
|
|
2532
2535
|
});
|
|
2533
2536
|
const fields = ensureArrayValue(paragraph["a:fld"]);
|
|
2534
2537
|
fields.forEach((field) => {
|
|
2535
|
-
textParts.push(
|
|
2538
|
+
textParts.push(chunkZUIM5737_js.xmlText(field["a:t"]) ?? "");
|
|
2536
2539
|
});
|
|
2537
2540
|
paragraphTexts.push(textParts.join(""));
|
|
2538
2541
|
});
|
|
@@ -2576,10 +2579,10 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2576
2579
|
if (runProps?.["@_u"] !== void 0) {
|
|
2577
2580
|
cellStyle.textDecorationLine = runProps["@_u"] === "sng" ? "underline" : "none";
|
|
2578
2581
|
}
|
|
2579
|
-
const runColor =
|
|
2582
|
+
const runColor = chunkZUIM5737_js.parseDrawingColor(runProps?.["a:solidFill"], schemeColorOverrides) || chunkZUIM5737_js.parseDrawingColor(runProps?.["a:highlight"], schemeColorOverrides);
|
|
2580
2583
|
if (runColor) {
|
|
2581
|
-
const opacity =
|
|
2582
|
-
cellStyle.color =
|
|
2584
|
+
const opacity = chunkZUIM5737_js.parseDrawingColorOpacity(runProps?.["a:solidFill"]);
|
|
2585
|
+
cellStyle.color = chunkZUIM5737_js.colorWithOpacity(runColor, opacity);
|
|
2583
2586
|
}
|
|
2584
2587
|
const fontFamily = runProps?.["a:latin"]?.["@_typeface"] || runProps?.["a:ea"]?.["@_typeface"] || runProps?.["a:cs"]?.["@_typeface"];
|
|
2585
2588
|
if (fontFamily) {
|
|
@@ -2589,15 +2592,15 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2589
2592
|
cellStyle.textAlign = parseParagraphAlignment(paragraphProperties["@_algn"]);
|
|
2590
2593
|
}
|
|
2591
2594
|
const cellProperties = cellXml["a:tcPr"];
|
|
2592
|
-
const cellFill =
|
|
2595
|
+
const cellFill = chunkZUIM5737_js.parseDrawingColor(
|
|
2593
2596
|
cellProperties?.["a:solidFill"],
|
|
2594
2597
|
schemeColorOverrides
|
|
2595
2598
|
);
|
|
2596
2599
|
if (cellFill) {
|
|
2597
|
-
const opacity =
|
|
2600
|
+
const opacity = chunkZUIM5737_js.parseDrawingColorOpacity(
|
|
2598
2601
|
cellProperties?.["a:solidFill"]
|
|
2599
2602
|
);
|
|
2600
|
-
cellStyle.backgroundColor =
|
|
2603
|
+
cellStyle.backgroundColor = chunkZUIM5737_js.colorWithOpacity(cellFill, opacity);
|
|
2601
2604
|
} else {
|
|
2602
2605
|
const gradCss = parseGradientFillCss(cellProperties?.["a:gradFill"]);
|
|
2603
2606
|
if (gradCss) {
|
|
@@ -2612,16 +2615,16 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2612
2615
|
const edgeBorders = parseCellBorders(cellProperties);
|
|
2613
2616
|
Object.assign(cellStyle, edgeBorders);
|
|
2614
2617
|
if (!cellStyle.borderLeftColor && !cellStyle.borderRightColor && !cellStyle.borderTopColor && !cellStyle.borderBottomColor) {
|
|
2615
|
-
const borderColor =
|
|
2618
|
+
const borderColor = chunkZUIM5737_js.parseDrawingColor(
|
|
2616
2619
|
cellProperties?.["a:lnL"]?.["a:solidFill"],
|
|
2617
2620
|
schemeColorOverrides
|
|
2618
|
-
) ||
|
|
2621
|
+
) || chunkZUIM5737_js.parseDrawingColor(
|
|
2619
2622
|
cellProperties?.["a:lnR"]?.["a:solidFill"],
|
|
2620
2623
|
schemeColorOverrides
|
|
2621
|
-
) ||
|
|
2624
|
+
) || chunkZUIM5737_js.parseDrawingColor(
|
|
2622
2625
|
cellProperties?.["a:lnT"]?.["a:solidFill"],
|
|
2623
2626
|
schemeColorOverrides
|
|
2624
|
-
) ||
|
|
2627
|
+
) || chunkZUIM5737_js.parseDrawingColor(
|
|
2625
2628
|
cellProperties?.["a:lnB"]?.["a:solidFill"],
|
|
2626
2629
|
schemeColorOverrides
|
|
2627
2630
|
);
|
|
@@ -2693,7 +2696,7 @@ function getTableCellBandStyle2(element, rowIndex, cellIndex, rowCount, columnCo
|
|
|
2693
2696
|
if (element.type !== "table") {
|
|
2694
2697
|
return void 0;
|
|
2695
2698
|
}
|
|
2696
|
-
return
|
|
2699
|
+
return chunkZUIM5737_js.getTableCellBandStyle(element.tableData, rowIndex, cellIndex, rowCount, columnCount, {
|
|
2697
2700
|
tableStyleMap: styleCtx?.tableStyleMap,
|
|
2698
2701
|
colorScheme: styleCtx?.theme?.colorScheme,
|
|
2699
2702
|
fontScheme: styleCtx?.theme?.fontScheme
|
|
@@ -2773,7 +2776,7 @@ function renderTableCellContent(cell, fallbackText) {
|
|
|
2773
2776
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2774
2777
|
"span",
|
|
2775
2778
|
{
|
|
2776
|
-
style: { position: "relative", ...
|
|
2779
|
+
style: { position: "relative", ...chunkZUIM5737_js.cellRunStyle(run) },
|
|
2777
2780
|
children: run.text
|
|
2778
2781
|
},
|
|
2779
2782
|
`r-${index}`
|
|
@@ -2781,7 +2784,7 @@ function renderTableCellContent(cell, fallbackText) {
|
|
|
2781
2784
|
});
|
|
2782
2785
|
}
|
|
2783
2786
|
function getCellDiagonalBorders2(style, tableData, pos, styleCtx) {
|
|
2784
|
-
return
|
|
2787
|
+
return chunkZUIM5737_js.getCellDiagonalBorders(style, tableData, pos, {
|
|
2785
2788
|
tableStyleMap: styleCtx?.tableStyleMap,
|
|
2786
2789
|
colorScheme: styleCtx?.theme?.colorScheme,
|
|
2787
2790
|
fontScheme: styleCtx?.theme?.fontScheme
|
|
@@ -2914,7 +2917,7 @@ function TableResizeOverlay({
|
|
|
2914
2917
|
const containerRef = React7.useRef(null);
|
|
2915
2918
|
const [rowBounds, setRowBounds] = React7.useState([]);
|
|
2916
2919
|
const dragRef = React7.useRef(null);
|
|
2917
|
-
const colBoundaries = React7.useMemo(() =>
|
|
2920
|
+
const colBoundaries = React7.useMemo(() => chunkZUIM5737_js.computeColumnBoundaries(columnWidths), [columnWidths]);
|
|
2918
2921
|
const measureRows = React7.useCallback(() => {
|
|
2919
2922
|
const container = containerRef.current;
|
|
2920
2923
|
if (!container) {
|
|
@@ -2961,11 +2964,11 @@ function TableResizeOverlay({
|
|
|
2961
2964
|
const rect = containerRef.current.getBoundingClientRect();
|
|
2962
2965
|
if (e.clientX !== drag.startPos && drag.type === "col" && drag.initialWidths && onResizeColumns) {
|
|
2963
2966
|
const deltaProp = (e.clientX - drag.startPos) / rect.width;
|
|
2964
|
-
onResizeColumns(
|
|
2967
|
+
onResizeColumns(chunkZUIM5737_js.computeResizedColumnWidths(drag.initialWidths, drag.index, deltaProp));
|
|
2965
2968
|
} else if (e.clientY !== drag.startPos && drag.type === "row" && onResizeRow) {
|
|
2966
2969
|
const deltaY = e.clientY - drag.startPos;
|
|
2967
|
-
const newHeight =
|
|
2968
|
-
drag.initialRowHeight ??
|
|
2970
|
+
const newHeight = chunkZUIM5737_js.computeResizedRowHeight(
|
|
2971
|
+
drag.initialRowHeight ?? chunkZUIM5737_js.DEFAULT_ROW_HEIGHT,
|
|
2969
2972
|
deltaY
|
|
2970
2973
|
);
|
|
2971
2974
|
onResizeRow(drag.index, newHeight);
|
|
@@ -3003,7 +3006,7 @@ function TableResizeOverlay({
|
|
|
3003
3006
|
e.stopPropagation();
|
|
3004
3007
|
const table = containerRef.current?.querySelector("table");
|
|
3005
3008
|
const tr = table?.querySelectorAll("tbody > tr")[index];
|
|
3006
|
-
const actualHeight = tr?.offsetHeight ??
|
|
3009
|
+
const actualHeight = tr?.offsetHeight ?? chunkZUIM5737_js.DEFAULT_ROW_HEIGHT;
|
|
3007
3010
|
document.body.style.cursor = "row-resize";
|
|
3008
3011
|
document.body.style.userSelect = "none";
|
|
3009
3012
|
dragRef.current = {
|
|
@@ -3043,14 +3046,14 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3043
3046
|
const rowCount = tableData.rows.length;
|
|
3044
3047
|
const columnCount = tableData.columnWidths.length;
|
|
3045
3048
|
const selectedCell = options?.selectedCell || null;
|
|
3046
|
-
const isEditable = Boolean(options?.editable) &&
|
|
3049
|
+
const isEditable = Boolean(options?.editable) && chunkZUIM5737_js.canDrillDown(element);
|
|
3047
3050
|
const hasCellSelectionHandler = typeof options?.onSelectCell === "function";
|
|
3048
3051
|
const sharedCtx = {
|
|
3049
3052
|
tableStyleMap: options?.styleCtx?.tableStyleMap,
|
|
3050
3053
|
colorScheme: options?.styleCtx?.theme?.colorScheme,
|
|
3051
3054
|
fontScheme: options?.styleCtx?.theme?.fontScheme
|
|
3052
3055
|
};
|
|
3053
|
-
const cellCss = (cell, rowIndex, cellIndex) =>
|
|
3056
|
+
const cellCss = (cell, rowIndex, cellIndex) => chunkZUIM5737_js.tableCellCss(
|
|
3054
3057
|
tableData,
|
|
3055
3058
|
cell,
|
|
3056
3059
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
@@ -3063,7 +3066,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3063
3066
|
}
|
|
3064
3067
|
const first = selectedCell.selectedCells[0];
|
|
3065
3068
|
const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
|
|
3066
|
-
return
|
|
3069
|
+
return chunkZUIM5737_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableData);
|
|
3067
3070
|
})();
|
|
3068
3071
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3069
3072
|
TableResizeOverlay,
|
|
@@ -3084,9 +3087,9 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3084
3087
|
{
|
|
3085
3088
|
className: "w-full h-full border-collapse table-fixed",
|
|
3086
3089
|
style: {
|
|
3087
|
-
fontFamily:
|
|
3090
|
+
fontFamily: chunkZUIM5737_js.DEFAULT_FONT_FAMILY,
|
|
3088
3091
|
// `a:tblPr@rtl` mirrors the column order for RTL decks.
|
|
3089
|
-
...
|
|
3092
|
+
...chunkZUIM5737_js.tableContainerCss(tableData)
|
|
3090
3093
|
},
|
|
3091
3094
|
children: [
|
|
3092
3095
|
tableData.columnWidths.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("colgroup", { children: tableData.columnWidths.map((w, ci) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3105,7 +3108,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3105
3108
|
return null;
|
|
3106
3109
|
}
|
|
3107
3110
|
const isCellSelected = selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex;
|
|
3108
|
-
const isInMultiSelection =
|
|
3111
|
+
const isInMultiSelection = chunkZUIM5737_js.isCellInRect(rowIndex, cellIndex, selectionRect);
|
|
3109
3112
|
const isCellEditing = isCellSelected && selectedCell?.isEditing;
|
|
3110
3113
|
const diag = getCellDiagonalBorders2(
|
|
3111
3114
|
cell.style,
|
|
@@ -3134,7 +3137,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3134
3137
|
}
|
|
3135
3138
|
event.stopPropagation();
|
|
3136
3139
|
if (event.shiftKey && selectedCell) {
|
|
3137
|
-
const rect =
|
|
3140
|
+
const rect = chunkZUIM5737_js.computeSelectionRect(
|
|
3138
3141
|
selectedCell.rowIndex,
|
|
3139
3142
|
selectedCell.columnIndex,
|
|
3140
3143
|
rowIndex,
|
|
@@ -3144,7 +3147,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3144
3147
|
options?.onSelectCell?.({
|
|
3145
3148
|
rowIndex: selectedCell.rowIndex,
|
|
3146
3149
|
columnIndex: selectedCell.columnIndex,
|
|
3147
|
-
selectedCells:
|
|
3150
|
+
selectedCells: chunkZUIM5737_js.rectToCells(rect)
|
|
3148
3151
|
});
|
|
3149
3152
|
} else {
|
|
3150
3153
|
options?.onSelectCell?.({
|
|
@@ -3208,7 +3211,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3208
3211
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkBRJN3ZMG_js.translationsEn["pptx.table.title"] });
|
|
3209
3212
|
}
|
|
3210
3213
|
const selectedCell = options?.selectedCell || null;
|
|
3211
|
-
const isEditable = Boolean(options?.editable) &&
|
|
3214
|
+
const isEditable = Boolean(options?.editable) && chunkZUIM5737_js.canDrillDown(element);
|
|
3212
3215
|
const hasCellSelectionHandler = typeof options?.onSelectCell === "function";
|
|
3213
3216
|
const tableEl = element;
|
|
3214
3217
|
const xmlSelectionRect = (() => {
|
|
@@ -3220,7 +3223,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3220
3223
|
}
|
|
3221
3224
|
const first = selectedCell.selectedCells[0];
|
|
3222
3225
|
const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
|
|
3223
|
-
return
|
|
3226
|
+
return chunkZUIM5737_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableEl.tableData);
|
|
3224
3227
|
})();
|
|
3225
3228
|
const schemeOverrides = options?.styleCtx?.theme?.colorScheme ? options.styleCtx.theme.colorScheme : void 0;
|
|
3226
3229
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3242,9 +3245,9 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3242
3245
|
{
|
|
3243
3246
|
className: "w-full h-full border-collapse table-fixed",
|
|
3244
3247
|
style: {
|
|
3245
|
-
fontFamily:
|
|
3248
|
+
fontFamily: chunkZUIM5737_js.DEFAULT_FONT_FAMILY,
|
|
3246
3249
|
// `a:tblPr@rtl` mirrors the column order for RTL decks.
|
|
3247
|
-
...
|
|
3250
|
+
...chunkZUIM5737_js.tableContainerCss(tableEl.tableData)
|
|
3248
3251
|
},
|
|
3249
3252
|
children: [
|
|
3250
3253
|
parsedTable.columnPercentages.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("colgroup", { children: parsedTable.columnPercentages.map((percentage, columnIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3301,7 +3304,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3301
3304
|
color: textStyle.color,
|
|
3302
3305
|
...bandStyle,
|
|
3303
3306
|
...xmlCellStyle,
|
|
3304
|
-
...tdCellOverride ?
|
|
3307
|
+
...tdCellOverride ? chunkZUIM5737_js.cellStyleToCss(tdCellOverride) : void 0,
|
|
3305
3308
|
...diag ? { position: "relative" } : void 0
|
|
3306
3309
|
};
|
|
3307
3310
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3311,7 +3314,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3311
3314
|
"border px-1 py-0.5 align-top",
|
|
3312
3315
|
isEditable && hasCellSelectionHandler ? "border-blue-200/70 cursor-cell" : "border-white/30",
|
|
3313
3316
|
selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex ? "ring-1 ring-inset ring-blue-500" : null,
|
|
3314
|
-
|
|
3317
|
+
chunkZUIM5737_js.isCellInRect(rowIndex, cellIndex, xmlSelectionRect) && !(selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex) ? "bg-blue-500/15 ring-1 ring-inset ring-blue-400/50" : null
|
|
3315
3318
|
),
|
|
3316
3319
|
colSpan,
|
|
3317
3320
|
rowSpan: rSpan,
|
|
@@ -3322,7 +3325,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3322
3325
|
}
|
|
3323
3326
|
event.stopPropagation();
|
|
3324
3327
|
if (event.shiftKey && selectedCell && tableEl.tableData) {
|
|
3325
|
-
const rect =
|
|
3328
|
+
const rect = chunkZUIM5737_js.computeSelectionRect(
|
|
3326
3329
|
selectedCell.rowIndex,
|
|
3327
3330
|
selectedCell.columnIndex,
|
|
3328
3331
|
rowIndex,
|
|
@@ -3332,7 +3335,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3332
3335
|
options?.onSelectCell?.({
|
|
3333
3336
|
rowIndex: selectedCell.rowIndex,
|
|
3334
3337
|
columnIndex: selectedCell.columnIndex,
|
|
3335
|
-
selectedCells:
|
|
3338
|
+
selectedCells: chunkZUIM5737_js.rectToCells(rect)
|
|
3336
3339
|
});
|
|
3337
3340
|
} else {
|
|
3338
3341
|
options?.onSelectCell?.({
|
|
@@ -3391,23 +3394,23 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3391
3394
|
);
|
|
3392
3395
|
}
|
|
3393
3396
|
function partAttrs(part) {
|
|
3394
|
-
return part ?
|
|
3397
|
+
return part ? chunkZUIM5737_js.chartPartToAttrs(part) : void 0;
|
|
3395
3398
|
}
|
|
3396
3399
|
function resolveReactPalette(chartData) {
|
|
3397
3400
|
if (chartData.colorPalette && chartData.colorPalette.length > 0) {
|
|
3398
3401
|
return chartData.colorPalette;
|
|
3399
3402
|
}
|
|
3400
|
-
return [...
|
|
3403
|
+
return [...chunkZUIM5737_js.getChartStylePalette(chartData.style?.styleId)];
|
|
3401
3404
|
}
|
|
3402
3405
|
function buildReactChartViewModel(element) {
|
|
3403
3406
|
if (element.type !== "chart" || !element.chartData) {
|
|
3404
|
-
return
|
|
3407
|
+
return chunkZUIM5737_js.buildChartViewModel(element);
|
|
3405
3408
|
}
|
|
3406
3409
|
const palette = resolveReactPalette(element.chartData), themedElement = {
|
|
3407
3410
|
...element,
|
|
3408
3411
|
chartData: { ...element.chartData, colorPalette: palette }
|
|
3409
3412
|
};
|
|
3410
|
-
return
|
|
3413
|
+
return chunkZUIM5737_js.buildChartViewModel(themedElement);
|
|
3411
3414
|
}
|
|
3412
3415
|
function renderPrimitive(prim, key) {
|
|
3413
3416
|
switch (prim.kind) {
|
|
@@ -3558,7 +3561,7 @@ function renderText(t, key) {
|
|
|
3558
3561
|
);
|
|
3559
3562
|
}
|
|
3560
3563
|
function renderChartViewModel(elementId, vm, preserveAspectRatio = "none") {
|
|
3561
|
-
const legendItems =
|
|
3564
|
+
const legendItems = chunkZUIM5737_js.computeChartLegendLayout(vm);
|
|
3562
3565
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3563
3566
|
"svg",
|
|
3564
3567
|
{
|
|
@@ -3672,7 +3675,9 @@ function renderChartViewModel(elementId, vm, preserveAspectRatio = "none") {
|
|
|
3672
3675
|
{
|
|
3673
3676
|
transform: `translate(${item.x.toFixed(1)},${item.y.toFixed(1)})`,
|
|
3674
3677
|
children: [
|
|
3675
|
-
|
|
3678
|
+
item.lineSwatch ? item.lineSwatch.primitives.map(
|
|
3679
|
+
(prim, si) => renderPrimitive(prim, `${elementId}-lg-${i}-sw-${si}`)
|
|
3680
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("rect", { x: 0, y: -7, width: 10, height: 10, rx: 2, fill: item.color }),
|
|
3676
3681
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3677
3682
|
"text",
|
|
3678
3683
|
{
|
|
@@ -3702,11 +3707,11 @@ function renderChartElement(element) {
|
|
|
3702
3707
|
if (!chartData || chartData.series.length === 0) {
|
|
3703
3708
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkBRJN3ZMG_js.translationsEn["pptx.chart.heading"] });
|
|
3704
3709
|
}
|
|
3705
|
-
const kind =
|
|
3710
|
+
const kind = chunkZUIM5737_js.resolveChartKind(chartData.chartType ?? "bar");
|
|
3706
3711
|
return renderChartViewModel(
|
|
3707
3712
|
element.id,
|
|
3708
3713
|
buildReactChartViewModel(element),
|
|
3709
|
-
|
|
3714
|
+
chunkZUIM5737_js.chartPreserveAspectRatio(kind)
|
|
3710
3715
|
);
|
|
3711
3716
|
}
|
|
3712
3717
|
|
|
@@ -3726,14 +3731,14 @@ function buildNotesPdf(pages) {
|
|
|
3726
3731
|
notes: page.notes,
|
|
3727
3732
|
slideNumber: page.slideNumber
|
|
3728
3733
|
}));
|
|
3729
|
-
const bytes =
|
|
3734
|
+
const bytes = chunkZUIM5737_js.buildNotesPdfBytes(images, meta);
|
|
3730
3735
|
const blob = new Blob([bytes], { type: "application/pdf" });
|
|
3731
3736
|
return URL.createObjectURL(blob);
|
|
3732
3737
|
}
|
|
3733
3738
|
|
|
3734
3739
|
// src/viewer/utils/pdf-builder-slides.ts
|
|
3735
3740
|
function buildPdfFromTiledImageData(pages) {
|
|
3736
|
-
const bytes =
|
|
3741
|
+
const bytes = chunkZUIM5737_js.buildTiledSlidesPdfBytes(pages);
|
|
3737
3742
|
const blob = new Blob([bytes], { type: "application/pdf" });
|
|
3738
3743
|
return URL.createObjectURL(blob);
|
|
3739
3744
|
}
|
|
@@ -3742,7 +3747,7 @@ function buildPdfFromTiledImageData(pages) {
|
|
|
3742
3747
|
var activePreview = null;
|
|
3743
3748
|
function startPreviewAnimation(elementId, preset, options) {
|
|
3744
3749
|
stopPreviewAnimation();
|
|
3745
|
-
const descriptor =
|
|
3750
|
+
const descriptor = chunkZUIM5737_js.buildPreviewAnimation(preset, options);
|
|
3746
3751
|
if (!descriptor) {
|
|
3747
3752
|
return;
|
|
3748
3753
|
}
|
|
@@ -3755,7 +3760,7 @@ function startMotionPathPreview(elementId, path, options) {
|
|
|
3755
3760
|
return;
|
|
3756
3761
|
}
|
|
3757
3762
|
const stage = domEl.offsetParent;
|
|
3758
|
-
const descriptor =
|
|
3763
|
+
const descriptor = chunkZUIM5737_js.buildMotionPathPreview({
|
|
3759
3764
|
path,
|
|
3760
3765
|
slideWidth: stage?.offsetWidth || DEFAULT_PREVIEW_SLIDE_WIDTH,
|
|
3761
3766
|
slideHeight: stage?.offsetHeight || DEFAULT_PREVIEW_SLIDE_HEIGHT,
|