pptx-react-viewer 4.3.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +106 -0
- package/dist/{AiChatPanel-UCEK3ZTD.mjs → AiChatPanel-QJHUDIWT.mjs} +4 -4
- package/dist/AiChatPanel-QJHUDIWT.mjs.br +0 -0
- package/dist/AiChatPanel-QJHUDIWT.mjs.gz +0 -0
- package/dist/{AiChatPanel-7UQA25FA.js → AiChatPanel-UFMSTNCB.js} +28 -28
- package/dist/AiChatPanel-UFMSTNCB.js.br +0 -0
- package/dist/AiChatPanel-UFMSTNCB.js.gz +0 -0
- package/dist/{Model3DScene-AI2JTBQM.mjs → Model3DScene-3GOC5HUS.mjs} +1 -1
- package/dist/Model3DScene-3GOC5HUS.mjs.br +0 -0
- package/dist/Model3DScene-3GOC5HUS.mjs.gz +0 -0
- package/dist/{Model3DScene-X3DS3ELB.js → Model3DScene-KXNJBAQD.js} +2 -2
- package/dist/{Model3DScene-X3DS3ELB.js.br → Model3DScene-KXNJBAQD.js.br} +0 -0
- package/dist/Model3DScene-KXNJBAQD.js.gz +0 -0
- package/dist/{chunk-UTI4CLYJ.js → chunk-7WWINBGF.js} +1133 -418
- package/dist/chunk-7WWINBGF.js.br +0 -0
- package/dist/chunk-7WWINBGF.js.gz +0 -0
- package/dist/{chunk-42XEZVUQ.js → chunk-AI6K5EAE.js} +1261 -1077
- package/dist/chunk-AI6K5EAE.js.br +0 -0
- package/dist/chunk-AI6K5EAE.js.gz +0 -0
- package/dist/{chunk-KAO5USPE.js → chunk-CSY422LU.js} +5 -5
- package/dist/chunk-CSY422LU.js.br +0 -0
- package/dist/chunk-CSY422LU.js.gz +0 -0
- package/dist/{chunk-3UWJWJCR.mjs → chunk-D3TZOCQP.mjs} +1118 -419
- package/dist/chunk-D3TZOCQP.mjs.br +0 -0
- package/dist/chunk-D3TZOCQP.mjs.gz +0 -0
- package/dist/{chunk-W5KLLGVH.js → chunk-I4D6JQOI.js} +25 -0
- package/dist/chunk-I4D6JQOI.js.br +0 -0
- package/dist/chunk-I4D6JQOI.js.gz +0 -0
- package/dist/{chunk-OBQ453H6.mjs → chunk-JQXN6PO7.mjs} +25 -0
- package/dist/chunk-JQXN6PO7.mjs.br +0 -0
- package/dist/chunk-JQXN6PO7.mjs.gz +0 -0
- package/dist/{chunk-RXYLPESV.mjs → chunk-LUHUYBGW.mjs} +201 -17
- package/dist/chunk-LUHUYBGW.mjs.br +0 -0
- package/dist/chunk-LUHUYBGW.mjs.gz +0 -0
- package/dist/{chunk-E7O4HTS5.js → chunk-OWTHF5N4.js} +197 -183
- package/dist/chunk-OWTHF5N4.js.br +0 -0
- package/dist/chunk-OWTHF5N4.js.gz +0 -0
- package/dist/{chunk-SKTZSG7Q.mjs → chunk-WCHKDZP6.mjs} +305 -47
- package/dist/chunk-WCHKDZP6.mjs.br +0 -0
- package/dist/chunk-WCHKDZP6.mjs.gz +0 -0
- package/dist/{chunk-PLDG3CXW.mjs → chunk-WNFHFFYE.mjs} +16 -2
- package/dist/chunk-WNFHFFYE.mjs.br +0 -0
- package/dist/chunk-WNFHFFYE.mjs.gz +0 -0
- package/dist/{chunk-YQJOCGOK.mjs → chunk-XMKLY2SE.mjs} +1 -1
- package/dist/chunk-XMKLY2SE.mjs.br +0 -0
- package/dist/chunk-XMKLY2SE.mjs.gz +0 -0
- package/dist/{chunk-Y7LI2JIR.js → chunk-YJKR7Z3X.js} +1103 -845
- package/dist/chunk-YJKR7Z3X.js.br +0 -0
- package/dist/chunk-YJKR7Z3X.js.gz +0 -0
- package/dist/i18n/de.cjs +23 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +23 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +23 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +23 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +23 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +23 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +23 -0
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +23 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +71 -7
- package/dist/index.js +49 -49
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +173 -43
- package/dist/internals.js +105 -105
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +49 -7
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-7UQA25FA.js.br +0 -0
- package/dist/AiChatPanel-7UQA25FA.js.gz +0 -0
- package/dist/AiChatPanel-UCEK3ZTD.mjs.br +0 -0
- package/dist/AiChatPanel-UCEK3ZTD.mjs.gz +0 -0
- package/dist/Model3DScene-AI2JTBQM.mjs.br +0 -0
- package/dist/Model3DScene-AI2JTBQM.mjs.gz +0 -0
- package/dist/Model3DScene-X3DS3ELB.js.gz +0 -0
- package/dist/chunk-3UWJWJCR.mjs.br +0 -0
- package/dist/chunk-3UWJWJCR.mjs.gz +0 -0
- package/dist/chunk-42XEZVUQ.js.br +0 -0
- package/dist/chunk-42XEZVUQ.js.gz +0 -0
- package/dist/chunk-E7O4HTS5.js.br +0 -0
- package/dist/chunk-E7O4HTS5.js.gz +0 -0
- package/dist/chunk-KAO5USPE.js.br +0 -0
- package/dist/chunk-KAO5USPE.js.gz +0 -0
- package/dist/chunk-OBQ453H6.mjs.br +0 -0
- package/dist/chunk-OBQ453H6.mjs.gz +0 -0
- package/dist/chunk-PLDG3CXW.mjs.br +0 -0
- package/dist/chunk-PLDG3CXW.mjs.gz +0 -0
- package/dist/chunk-RXYLPESV.mjs.br +0 -0
- package/dist/chunk-RXYLPESV.mjs.gz +0 -0
- package/dist/chunk-SKTZSG7Q.mjs.br +0 -0
- package/dist/chunk-SKTZSG7Q.mjs.gz +0 -0
- package/dist/chunk-UTI4CLYJ.js.br +0 -0
- package/dist/chunk-UTI4CLYJ.js.gz +0 -0
- package/dist/chunk-W5KLLGVH.js.br +0 -0
- package/dist/chunk-W5KLLGVH.js.gz +0 -0
- package/dist/chunk-Y7LI2JIR.js.br +0 -0
- package/dist/chunk-Y7LI2JIR.js.gz +0 -0
- package/dist/chunk-YQJOCGOK.mjs.br +0 -0
- package/dist/chunk-YQJOCGOK.mjs.gz +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunk7WWINBGF_js = require('./chunk-7WWINBGF.js');
|
|
4
|
+
var chunkI4D6JQOI_js = require('./chunk-I4D6JQOI.js');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var React7 = require('react');
|
|
@@ -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 chunk7WWINBGF_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 chunk7WWINBGF_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 = chunk7WWINBGF_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 = chunk7WWINBGF_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 = chunk7WWINBGF_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 (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
227
227
|
return false;
|
|
228
228
|
}
|
|
229
229
|
const st = getShapeType(element.shapeType);
|
|
@@ -232,18 +232,18 @@ function isConnectorOrLineElement(element) {
|
|
|
232
232
|
|
|
233
233
|
// src/viewer/utils/image-style.ts
|
|
234
234
|
function getImageMaskStyle(element) {
|
|
235
|
-
if (!
|
|
235
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
236
236
|
return void 0;
|
|
237
237
|
}
|
|
238
|
-
const geometry =
|
|
238
|
+
const geometry = chunk7WWINBGF_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 =
|
|
246
|
-
const counterTransform =
|
|
245
|
+
const fit = chunk7WWINBGF_js.getImageFitStyle(element);
|
|
246
|
+
const counterTransform = chunk7WWINBGF_js.getImageFillCounterTransform(element, Boolean(fit.transform));
|
|
247
247
|
return {
|
|
248
248
|
// A translated/scaled crop, or a rotWithShape=false counter-transform,
|
|
249
249
|
// must be masked by the stationary wrapper, not by the moving/counter-
|
|
@@ -262,7 +262,7 @@ function getImageSurfaceMaskStyle(element) {
|
|
|
262
262
|
};
|
|
263
263
|
}
|
|
264
264
|
function getImageSurfaceStyle(element) {
|
|
265
|
-
const fill =
|
|
265
|
+
const fill = chunk7WWINBGF_js.hasShapeProperties(element) ? chunk7WWINBGF_js.getComputedFillStyle(element) : void 0;
|
|
266
266
|
return {
|
|
267
267
|
position: "absolute",
|
|
268
268
|
inset: 0,
|
|
@@ -275,13 +275,13 @@ function getImageSurfaceStyle(element) {
|
|
|
275
275
|
};
|
|
276
276
|
}
|
|
277
277
|
function getCropShapeClipPath2(element) {
|
|
278
|
-
if (!
|
|
278
|
+
if (!chunk7WWINBGF_js.isImageLikeElement(element)) {
|
|
279
279
|
return void 0;
|
|
280
280
|
}
|
|
281
|
-
return
|
|
281
|
+
return chunk7WWINBGF_js.getCropShapeClipPath(element.cropShape, element.width, element.height);
|
|
282
282
|
}
|
|
283
283
|
function getImageTilingStyle2(element, nativeSize) {
|
|
284
|
-
return
|
|
284
|
+
return chunk7WWINBGF_js.getImageTilingStyle(element, nativeSize);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
287
|
// src/viewer/utils/geometry-image.ts
|
|
@@ -413,7 +413,7 @@ function VideoWithMetadata({
|
|
|
413
413
|
{
|
|
414
414
|
ref: mediaRef,
|
|
415
415
|
className: "w-full h-full pointer-events-auto",
|
|
416
|
-
style: isFullScreen ? { objectFit: "cover" } :
|
|
416
|
+
style: isFullScreen ? { objectFit: "cover" } : chunk7WWINBGF_js.getImageFitStyle(element),
|
|
417
417
|
controls: showTransport,
|
|
418
418
|
preload: "metadata",
|
|
419
419
|
playsInline: true,
|
|
@@ -470,7 +470,7 @@ function PresentationMediaController({
|
|
|
470
470
|
const [isMediaPlaying, setIsMediaPlaying] = React7.useState(false);
|
|
471
471
|
const trimStartSec = element.trimStartMs !== void 0 ? element.trimStartMs / 1e3 : 0;
|
|
472
472
|
const hideWhenNotPlaying = isPresentationMode && element.hideWhenNotPlaying === true;
|
|
473
|
-
const { volume: playbackVolume, playbackRate } =
|
|
473
|
+
const { volume: playbackVolume, playbackRate } = chunk7WWINBGF_js.mediaPlaybackAttributes({
|
|
474
474
|
loop: element.loop,
|
|
475
475
|
volume: element.volume,
|
|
476
476
|
playbackSpeed: element.playbackSpeed
|
|
@@ -518,7 +518,7 @@ function PresentationMediaController({
|
|
|
518
518
|
if (!el || !isPresentationMode) {
|
|
519
519
|
return;
|
|
520
520
|
}
|
|
521
|
-
return
|
|
521
|
+
return chunk7WWINBGF_js.scheduleMediaTrimAndFade(el, {
|
|
522
522
|
trimStartMs: element.trimStartMs,
|
|
523
523
|
trimEndMs: element.trimEndMs,
|
|
524
524
|
fadeInDuration: element.fadeInDuration,
|
|
@@ -539,7 +539,7 @@ function PresentationMediaController({
|
|
|
539
539
|
}
|
|
540
540
|
if (element.playAcrossSlides && element.mediaType === "audio") {
|
|
541
541
|
const dataUrl = element.mediaData ?? resolvedDataUrl;
|
|
542
|
-
if (
|
|
542
|
+
if (chunk7WWINBGF_js.registerCrossSlideAudio(element, dataUrl)) {
|
|
543
543
|
return;
|
|
544
544
|
}
|
|
545
545
|
}
|
|
@@ -571,7 +571,7 @@ function PresentationMediaController({
|
|
|
571
571
|
}, []);
|
|
572
572
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-full", style: wrapperStyle, children: [
|
|
573
573
|
children({ mediaRef, onPlay: noopOnPlay, isMediaPlaying }),
|
|
574
|
-
|
|
574
|
+
chunk7WWINBGF_js.shouldShowMediaFullscreenStopButton({
|
|
575
575
|
fullScreen: isFullScreen,
|
|
576
576
|
presenting: isPresentationMode,
|
|
577
577
|
playing: isMediaPlaying
|
|
@@ -588,7 +588,7 @@ function PresentationMediaController({
|
|
|
588
588
|
] });
|
|
589
589
|
}
|
|
590
590
|
function label(key) {
|
|
591
|
-
return key === void 0 ? void 0 :
|
|
591
|
+
return key === void 0 ? void 0 : chunkI4D6JQOI_js.translationsEn[key];
|
|
592
592
|
}
|
|
593
593
|
function FallbackIcon({
|
|
594
594
|
paths,
|
|
@@ -624,17 +624,17 @@ function Badge({
|
|
|
624
624
|
"div",
|
|
625
625
|
{
|
|
626
626
|
className: `absolute inset-0 flex flex-col items-center justify-center ${isMissing ? "gap-1" : ""}`,
|
|
627
|
-
...{ [
|
|
627
|
+
...{ [chunk7WWINBGF_js.MEDIA_CHROME_ATTRIBUTE]: visual.badge },
|
|
628
628
|
children: [
|
|
629
629
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
630
630
|
FallbackIcon,
|
|
631
631
|
{
|
|
632
|
-
paths:
|
|
632
|
+
paths: chunk7WWINBGF_js.mediaFallbackIcon(visual, element.mediaType),
|
|
633
633
|
size: isMissing ? 32 : 48,
|
|
634
634
|
className: isMissing ? "text-white/60" : "text-white/80 drop-shadow-md"
|
|
635
635
|
}
|
|
636
636
|
),
|
|
637
|
-
isMissing && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-white/60", children: label(
|
|
637
|
+
isMissing && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-white/60", children: label(chunk7WWINBGF_js.mediaFallbackLabelKey(visual, element.mediaType)) })
|
|
638
638
|
]
|
|
639
639
|
}
|
|
640
640
|
);
|
|
@@ -651,17 +651,17 @@ function Placeholder({
|
|
|
651
651
|
"div",
|
|
652
652
|
{
|
|
653
653
|
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"}`,
|
|
654
|
-
...{ [
|
|
654
|
+
...{ [chunk7WWINBGF_js.MEDIA_CHROME_ATTRIBUTE]: visual.placeholder },
|
|
655
655
|
children: [
|
|
656
656
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
657
657
|
FallbackIcon,
|
|
658
658
|
{
|
|
659
|
-
paths:
|
|
659
|
+
paths: chunk7WWINBGF_js.mediaFallbackIcon(visual, element.mediaType),
|
|
660
660
|
size: isMissing ? 36 : element.mediaType === "audio" ? 24 : 32,
|
|
661
661
|
className: isMissing ? "text-white/50" : "text-white/70"
|
|
662
662
|
}
|
|
663
663
|
),
|
|
664
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] ${isMissing ? "text-white/50" : "text-white/70"}`, children: label(
|
|
664
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] ${isMissing ? "text-white/50" : "text-white/70"}`, children: label(chunk7WWINBGF_js.mediaFallbackLabelKey(visual, element.mediaType)) })
|
|
665
665
|
]
|
|
666
666
|
}
|
|
667
667
|
);
|
|
@@ -671,7 +671,7 @@ function renderMediaFallback({
|
|
|
671
671
|
posterUrl,
|
|
672
672
|
surface
|
|
673
673
|
}) {
|
|
674
|
-
const visual =
|
|
674
|
+
const visual = chunk7WWINBGF_js.mediaFallbackVisual(surface, {
|
|
675
675
|
hasPoster: Boolean(posterUrl),
|
|
676
676
|
missing: element.mediaMissing === true
|
|
677
677
|
});
|
|
@@ -681,9 +681,9 @@ function renderMediaFallback({
|
|
|
681
681
|
"img",
|
|
682
682
|
{
|
|
683
683
|
src: posterUrl,
|
|
684
|
-
alt: visual.dimPoster ?
|
|
684
|
+
alt: visual.dimPoster ? chunkI4D6JQOI_js.translationsEn["pptx.media.posterAlt"] : chunkI4D6JQOI_js.translationsEn["pptx.media.videoPosterAlt"],
|
|
685
685
|
className: `w-full h-full${visual.dimPoster ? " opacity-50" : ""}`,
|
|
686
|
-
style:
|
|
686
|
+
style: chunk7WWINBGF_js.getImageFitStyle(element)
|
|
687
687
|
}
|
|
688
688
|
),
|
|
689
689
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { visual, element })
|
|
@@ -693,7 +693,7 @@ function renderMediaFallback({
|
|
|
693
693
|
}
|
|
694
694
|
function renderMediaElement(element, mediaDataUrls, options) {
|
|
695
695
|
if (element.type !== "media") {
|
|
696
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
696
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkI4D6JQOI_js.translationsEn["pptx.media.title"] });
|
|
697
697
|
}
|
|
698
698
|
const mediaType = element.mediaType;
|
|
699
699
|
const mediaPath = element.mediaPath;
|
|
@@ -701,7 +701,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
|
|
|
701
701
|
const dataUrl = element.mediaData ?? (mediaPath ? mediaDataUrls.get(mediaPath) : void 0);
|
|
702
702
|
const trimFragment = buildTrimFragment(element);
|
|
703
703
|
const posterUrl = element.posterFrameData ?? void 0;
|
|
704
|
-
const shouldLoop =
|
|
704
|
+
const shouldLoop = chunk7WWINBGF_js.mediaPlaybackAttributes(element).loop;
|
|
705
705
|
const shouldAutoPlay = options?.autoPlay === true || element.autoPlay === true;
|
|
706
706
|
const isFullScreen = options?.fullScreen === true;
|
|
707
707
|
const isPresentationMode = options?.isPresentationMode === true;
|
|
@@ -714,6 +714,20 @@ function renderMediaElement(element, mediaDataUrls, options) {
|
|
|
714
714
|
return renderMediaFallback({ element, posterUrl, surface });
|
|
715
715
|
}
|
|
716
716
|
if (mediaType === "video") {
|
|
717
|
+
const onlineVideo = chunk7WWINBGF_js.getOnlineVideoEmbed(element);
|
|
718
|
+
if (onlineVideo) {
|
|
719
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
720
|
+
"iframe",
|
|
721
|
+
{
|
|
722
|
+
src: onlineVideo.embedUrl,
|
|
723
|
+
title: chunkI4D6JQOI_js.translationsEn["pptx.media.onlineVideoTitle"],
|
|
724
|
+
className: "w-full h-full border-0 pointer-events-auto",
|
|
725
|
+
allow: chunk7WWINBGF_js.ONLINE_VIDEO_IFRAME_ALLOW,
|
|
726
|
+
allowFullScreen: true,
|
|
727
|
+
sandbox: chunk7WWINBGF_js.ONLINE_VIDEO_IFRAME_SANDBOX
|
|
728
|
+
}
|
|
729
|
+
);
|
|
730
|
+
}
|
|
717
731
|
if (dataUrl) {
|
|
718
732
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
719
733
|
PresentationMediaController,
|
|
@@ -779,32 +793,32 @@ function renderMediaElement(element, mediaDataUrls, options) {
|
|
|
779
793
|
if (surface.presenting || surface.preview) {
|
|
780
794
|
return null;
|
|
781
795
|
}
|
|
782
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
796
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkI4D6JQOI_js.translationsEn["pptx.media.title"] });
|
|
783
797
|
}
|
|
784
798
|
|
|
785
799
|
// src/viewer/utils/text-utils.tsx
|
|
786
800
|
function getTextStyleForElement(element, fallbackColor) {
|
|
787
|
-
return
|
|
801
|
+
return chunk7WWINBGF_js.buildTextBlockStyle(element, { fallbackColor });
|
|
788
802
|
}
|
|
789
803
|
|
|
790
804
|
// src/viewer/utils/text-layout.tsx
|
|
791
805
|
function getTextLayoutStyle(element) {
|
|
792
|
-
if (!
|
|
806
|
+
if (!chunk7WWINBGF_js.hasTextProperties(element)) {
|
|
793
807
|
return {};
|
|
794
808
|
}
|
|
795
|
-
const writingMode =
|
|
796
|
-
const textOrientation =
|
|
797
|
-
const verticalDirection =
|
|
809
|
+
const writingMode = chunk7WWINBGF_js.toCssWritingMode(element.textStyle?.textDirection);
|
|
810
|
+
const textOrientation = chunk7WWINBGF_js.toCssTextOrientation(element.textStyle?.textDirection);
|
|
811
|
+
const verticalDirection = chunk7WWINBGF_js.toCssVerticalDirection(element.textStyle?.textDirection);
|
|
798
812
|
const textWrapNone = element.textStyle?.textWrap === "none";
|
|
799
813
|
const shapeAutoFitTextBox = element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
|
|
800
|
-
const hasParagraphIndents =
|
|
814
|
+
const hasParagraphIndents = chunk7WWINBGF_js.hasTextProperties(element) && element.paragraphIndents && element.paragraphIndents.length > 0;
|
|
801
815
|
const paragraphMarginLeft = element.textStyle?.paragraphMarginLeft;
|
|
802
816
|
const paragraphIndent = element.textStyle?.paragraphIndent;
|
|
803
817
|
const marginLeft = !hasParagraphIndents && typeof paragraphMarginLeft === "number" && paragraphMarginLeft !== 0 ? paragraphMarginLeft : void 0;
|
|
804
818
|
const textIndent = !hasParagraphIndents && typeof paragraphIndent === "number" && paragraphIndent !== 0 ? paragraphIndent : void 0;
|
|
805
819
|
const bodyTop = element.textStyle?.bodyInsetTop ?? DEFAULT_BODY_INSET_TB_PX;
|
|
806
820
|
const bodyBottom = element.textStyle?.bodyInsetBottom ?? DEFAULT_BODY_INSET_TB_PX;
|
|
807
|
-
const bodyLayoutStyle =
|
|
821
|
+
const bodyLayoutStyle = chunk7WWINBGF_js.buildTextBodyLayoutStyle(element);
|
|
808
822
|
return {
|
|
809
823
|
...bodyLayoutStyle,
|
|
810
824
|
// Body inset only. Paragraph spacing (spcBef/spcAft) is applied
|
|
@@ -834,7 +848,7 @@ function getTextLayoutStyle(element) {
|
|
|
834
848
|
|
|
835
849
|
// src/viewer/utils/text-effects.tsx
|
|
836
850
|
function buildTextBody3DSceneStyle2(textStyle, elementSize) {
|
|
837
|
-
return
|
|
851
|
+
return chunk7WWINBGF_js.buildTextBody3DSceneStyle(textStyle, elementSize);
|
|
838
852
|
}
|
|
839
853
|
|
|
840
854
|
// src/viewer/utils/text-warp-css.tsx
|
|
@@ -1019,13 +1033,13 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
|
|
|
1019
1033
|
if (!subElementAnimStates || subElementAnimStates.size === 0) {
|
|
1020
1034
|
return renderedSegments;
|
|
1021
1035
|
}
|
|
1022
|
-
const paraKey = `${elementId}${
|
|
1036
|
+
const paraKey = `${elementId}${chunk7WWINBGF_js.TEXT_BUILD_ID_SEP}p${paraIndex}`;
|
|
1023
1037
|
const paraState = subElementAnimStates.get(paraKey);
|
|
1024
1038
|
if (paraState) {
|
|
1025
1039
|
const style = buildAnimStyle(paraState);
|
|
1026
1040
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { "data-anim-id": paraKey, style: { display: "inline", ...style }, children: renderedSegments }, paraKey);
|
|
1027
1041
|
}
|
|
1028
|
-
const spec =
|
|
1042
|
+
const spec = chunk7WWINBGF_js.buildTextBuildSpec(
|
|
1029
1043
|
elementId,
|
|
1030
1044
|
paraIndex,
|
|
1031
1045
|
paraRuns.map((run) => ({ text: run.text, style: run })),
|
|
@@ -1043,7 +1057,7 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
|
|
|
1043
1057
|
"span",
|
|
1044
1058
|
{
|
|
1045
1059
|
"data-anim-id": span.animId,
|
|
1046
|
-
style:
|
|
1060
|
+
style: chunk7WWINBGF_js.textBuildSpanStyle(span),
|
|
1047
1061
|
children: content
|
|
1048
1062
|
},
|
|
1049
1063
|
span.animId
|
|
@@ -1054,13 +1068,13 @@ function renderUnderlineWords(text, isUnderlineWords, wordDecoration, metric, ke
|
|
|
1054
1068
|
if (!isUnderlineWords || !text) {
|
|
1055
1069
|
return inner(text, keyPrefix, metric);
|
|
1056
1070
|
}
|
|
1057
|
-
const pieces =
|
|
1071
|
+
const pieces = chunk7WWINBGF_js.splitWordsForUnderline(text);
|
|
1058
1072
|
if (pieces.length === 0) {
|
|
1059
1073
|
return inner(text, keyPrefix, metric);
|
|
1060
1074
|
}
|
|
1061
1075
|
const gapMetric = metric ? {
|
|
1062
1076
|
...metric,
|
|
1063
|
-
nestedStyle: metric.nestedStyle ?
|
|
1077
|
+
nestedStyle: metric.nestedStyle ? chunk7WWINBGF_js.stripUnderlineDecoration(metric.nestedStyle) : void 0
|
|
1064
1078
|
} : void 0;
|
|
1065
1079
|
return pieces.map((piece, i) => {
|
|
1066
1080
|
const key = `${keyPrefix}-u${i}`;
|
|
@@ -1093,7 +1107,7 @@ function makeSegmentPieceRenderer(needsScriptFonts, scriptFonts, baseFontFamily,
|
|
|
1093
1107
|
);
|
|
1094
1108
|
}
|
|
1095
1109
|
function renderTabbedLine(line, ctx, keyPrefix, renderPiece, nestedStyle, underlineWords = false) {
|
|
1096
|
-
const [lineLayout] =
|
|
1110
|
+
const [lineLayout] = chunk7WWINBGF_js.buildRunTabLines(
|
|
1097
1111
|
line,
|
|
1098
1112
|
ctx,
|
|
1099
1113
|
nestedStyle,
|
|
@@ -1112,7 +1126,7 @@ function renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFami
|
|
|
1112
1126
|
if (!needsScriptFonts || !text) {
|
|
1113
1127
|
return text;
|
|
1114
1128
|
}
|
|
1115
|
-
const pieces =
|
|
1129
|
+
const pieces = chunk7WWINBGF_js.splitRunByScriptFont(
|
|
1116
1130
|
text,
|
|
1117
1131
|
scriptFonts,
|
|
1118
1132
|
baseFontFamily,
|
|
@@ -1129,7 +1143,7 @@ function renderMetricPieces(text, metric, keyPrefix, inner) {
|
|
|
1129
1143
|
if (!metric || !text) {
|
|
1130
1144
|
return inner(text, keyPrefix);
|
|
1131
1145
|
}
|
|
1132
|
-
const pieces =
|
|
1146
|
+
const pieces = chunk7WWINBGF_js.splitRunForMetrics(text, metric.font);
|
|
1133
1147
|
if (pieces.length <= 1) {
|
|
1134
1148
|
return inner(text, keyPrefix);
|
|
1135
1149
|
}
|
|
@@ -1138,7 +1152,7 @@ function renderMetricPieces(text, metric, keyPrefix, inner) {
|
|
|
1138
1152
|
{
|
|
1139
1153
|
style: {
|
|
1140
1154
|
...metric.nestedStyle,
|
|
1141
|
-
letterSpacing:
|
|
1155
|
+
letterSpacing: chunk7WWINBGF_js.pieceLetterSpacing(metric.authoredPx, piece.tracking)
|
|
1142
1156
|
},
|
|
1143
1157
|
children: inner(piece.text, `${keyPrefix}-w${i}`)
|
|
1144
1158
|
},
|
|
@@ -1214,8 +1228,8 @@ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsSc
|
|
|
1214
1228
|
});
|
|
1215
1229
|
}
|
|
1216
1230
|
function renderEquationSegment(elementId, segmentIndex, equationXml, equationNumber) {
|
|
1217
|
-
const mathml =
|
|
1218
|
-
const safeMathml = mathml ?
|
|
1231
|
+
const mathml = chunk7WWINBGF_js.convertOmmlToMathMl(equationXml);
|
|
1232
|
+
const safeMathml = mathml ? chunk7WWINBGF_js.sanitizeMathMl(mathml) : "";
|
|
1219
1233
|
const equationContent = safeMathml ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1220
1234
|
"span",
|
|
1221
1235
|
{
|
|
@@ -1225,7 +1239,7 @@ function renderEquationSegment(elementId, segmentIndex, equationXml, equationNum
|
|
|
1225
1239
|
},
|
|
1226
1240
|
dangerouslySetInnerHTML: { __html: safeMathml }
|
|
1227
1241
|
}
|
|
1228
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-1 py-0.5 rounded text-xs bg-gray-200/20 text-gray-400 italic", children:
|
|
1242
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-1 py-0.5 rounded text-xs bg-gray-200/20 text-gray-400 italic", children: chunkI4D6JQOI_js.translationsEn["pptx.textSegment.equationFallback"] });
|
|
1229
1243
|
if (equationNumber) {
|
|
1230
1244
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1231
1245
|
"span",
|
|
@@ -1348,7 +1362,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1348
1362
|
const segmentStyle = segment?.style ?? {};
|
|
1349
1363
|
const textValue = run.text;
|
|
1350
1364
|
const lines = textValue.split("\n");
|
|
1351
|
-
const resolvedSegmentColor =
|
|
1365
|
+
const resolvedSegmentColor = chunk7WWINBGF_js.normalizeHexColor(
|
|
1352
1366
|
segmentStyle.color || element.textStyle?.color,
|
|
1353
1367
|
run.hyperlink ? HYPERLINK_COLOR : fallbackColor
|
|
1354
1368
|
);
|
|
@@ -1356,19 +1370,19 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1356
1370
|
const baselineFraction = rawBaseline === 0 ? 0 : Math.abs(rawBaseline) >= 1e3 ? rawBaseline / 1e5 : rawBaseline / 100;
|
|
1357
1371
|
const baselineFontScale = baselineFraction !== 0 ? BASELINE_FONT_SCALE : 1;
|
|
1358
1372
|
const rawFontSize = segmentStyle.fontSize || element.textStyle?.fontSize || DEFAULT_TEXT_FONT_SIZE;
|
|
1359
|
-
const baseFontSize = rawFontSize *
|
|
1373
|
+
const baseFontSize = rawFontSize * chunk7WWINBGF_js.resolveAutoFitFontScale(element.textStyle);
|
|
1360
1374
|
const baselineShift = baselineFraction !== 0 ? `${baselineFraction * baseFontSize}px` : void 0;
|
|
1361
|
-
const fontKerning =
|
|
1375
|
+
const fontKerning = chunk7WWINBGF_js.resolveFontKerning(segmentStyle.kerning, baseFontSize);
|
|
1362
1376
|
const scriptFallbackWins = Boolean(
|
|
1363
1377
|
segmentStyle.scriptFallbackFont && segmentStyle.fontFamilyIsCascadeDefault
|
|
1364
1378
|
);
|
|
1365
1379
|
const rawFontFamily = segmentStyle.fontFamily || element.textStyle?.fontFamily;
|
|
1366
|
-
const baseFontFamily = scriptFallbackWins ?
|
|
1380
|
+
const baseFontFamily = scriptFallbackWins ? chunk7WWINBGF_js.getSubstituteFontFamily(segmentStyle.scriptFallbackFont) : rawFontFamily ? chunk7WWINBGF_js.getSubstituteFontFamily(
|
|
1367
1381
|
rawFontFamily,
|
|
1368
|
-
|
|
1382
|
+
chunk7WWINBGF_js.parsePanoseString(segmentStyle.latinFontPanose ?? element.textStyle?.latinFontPanose)
|
|
1369
1383
|
) : DEFAULT_FONT_FAMILY2;
|
|
1370
|
-
const scriptFonts =
|
|
1371
|
-
const needsScriptFonts =
|
|
1384
|
+
const scriptFonts = chunk7WWINBGF_js.resolveScriptFontSet(segmentStyle, element.textStyle, baseFontFamily);
|
|
1385
|
+
const needsScriptFonts = chunk7WWINBGF_js.hasDistinctScriptFonts(scriptFonts);
|
|
1372
1386
|
const authoredLetterSpacing = typeof segmentStyle.characterSpacing === "number" && segmentStyle.characterSpacing !== 0 ? segmentStyle.characterSpacing / 100 * (96 / 72) : 0;
|
|
1373
1387
|
const metricFont = {
|
|
1374
1388
|
fontFamily: baseFontFamily,
|
|
@@ -1376,7 +1390,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1376
1390
|
bold: Boolean(segmentStyle.bold),
|
|
1377
1391
|
italic: Boolean(segmentStyle.italic)
|
|
1378
1392
|
};
|
|
1379
|
-
const nestedStyle =
|
|
1393
|
+
const nestedStyle = chunk7WWINBGF_js.nestedTextDecorationStyle(run.style);
|
|
1380
1394
|
const metricContext = { font: metricFont, authoredPx: authoredLetterSpacing, nestedStyle };
|
|
1381
1395
|
const spanStyle = { ...run.style };
|
|
1382
1396
|
spanStyle.color = resolvedSegmentColor;
|
|
@@ -1384,11 +1398,11 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1384
1398
|
spanStyle.fontFamily = baseFontFamily;
|
|
1385
1399
|
spanStyle.verticalAlign = baselineShift;
|
|
1386
1400
|
spanStyle.fontKerning = fontKerning;
|
|
1387
|
-
spanStyle.letterSpacing =
|
|
1401
|
+
spanStyle.letterSpacing = chunk7WWINBGF_js.pieceLetterSpacing(
|
|
1388
1402
|
authoredLetterSpacing,
|
|
1389
|
-
|
|
1403
|
+
chunk7WWINBGF_js.resolveMetricTrackingPx(textValue, metricFont)
|
|
1390
1404
|
);
|
|
1391
|
-
const hollow =
|
|
1405
|
+
const hollow = chunk7WWINBGF_js.hollowTextFillStyle(segmentStyle, {
|
|
1392
1406
|
color: resolvedSegmentColor,
|
|
1393
1407
|
textStroke: typeof spanStyle.WebkitTextStroke === "string" ? spanStyle.WebkitTextStroke : void 0
|
|
1394
1408
|
});
|
|
@@ -1403,7 +1417,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1403
1417
|
const isUnderlineWords = Boolean(segmentStyle.underline) && segmentStyle.underlineStyle === "words";
|
|
1404
1418
|
const wordDecoration = isUnderlineWords ? nestedStyle ?? run.underlineWordPieces?.find((piece) => piece.style)?.style : void 0;
|
|
1405
1419
|
if (isUnderlineWords) {
|
|
1406
|
-
const stripped =
|
|
1420
|
+
const stripped = chunk7WWINBGF_js.stripUnderlineDecoration(spanStyle);
|
|
1407
1421
|
spanStyle.textDecoration = stripped.textDecoration;
|
|
1408
1422
|
delete spanStyle.textDecorationStyle;
|
|
1409
1423
|
delete spanStyle.textDecorationThickness;
|
|
@@ -1419,7 +1433,7 @@ function renderParagraphRun(run, segment, ctx, keySuffix = "") {
|
|
|
1419
1433
|
scriptFonts,
|
|
1420
1434
|
baseFontFamily,
|
|
1421
1435
|
findHighlights,
|
|
1422
|
-
|
|
1436
|
+
chunk7WWINBGF_js.buildTabContext(
|
|
1423
1437
|
element.textStyle?.tabStops,
|
|
1424
1438
|
element.textStyle?.defaultTabSize,
|
|
1425
1439
|
baseFontSize,
|
|
@@ -1451,14 +1465,14 @@ function renderSeededListRun(seed, runs, segments, context) {
|
|
|
1451
1465
|
const segment = sourceRun ? segments[seed.segmentIndex] : { text: seed.text, style: seed.style };
|
|
1452
1466
|
const resolvedSegment = {
|
|
1453
1467
|
...segment,
|
|
1454
|
-
style:
|
|
1468
|
+
style: chunk7WWINBGF_js.withInlineListDecorationDefaults(segment.style, context.element.textStyle)
|
|
1455
1469
|
};
|
|
1456
|
-
const decorationCss =
|
|
1470
|
+
const decorationCss = chunk7WWINBGF_js.segmentStyleToCss(
|
|
1457
1471
|
resolvedSegment,
|
|
1458
|
-
|
|
1472
|
+
chunk7WWINBGF_js.resolveAutoFitFontScale(context.element.textStyle)
|
|
1459
1473
|
);
|
|
1460
|
-
|
|
1461
|
-
const run = sourceRun ? { ...sourceRun, style: { ...sourceRun.style, ...
|
|
1474
|
+
chunk7WWINBGF_js.applyUnderlineVariant(decorationCss, resolvedSegment);
|
|
1475
|
+
const run = sourceRun ? { ...sourceRun, style: { ...sourceRun.style, ...chunk7WWINBGF_js.nestedTextDecorationStyle(decorationCss) } } : {
|
|
1462
1476
|
text: seed.text,
|
|
1463
1477
|
style: decorationCss,
|
|
1464
1478
|
segmentIndex: seed.segmentIndex
|
|
@@ -1473,7 +1487,7 @@ function renderSeededListRun(seed, runs, segments, context) {
|
|
|
1473
1487
|
});
|
|
1474
1488
|
}
|
|
1475
1489
|
function renderTextSegments(element, fallbackColor, emptyFallback, findHighlights, onHyperlinkClick, fieldContext, subElementAnimStates, segmentOverrides, requireCtrlClick, placeholderPrompt, inlineListSeed) {
|
|
1476
|
-
if (!
|
|
1490
|
+
if (!chunk7WWINBGF_js.hasTextProperties(element)) {
|
|
1477
1491
|
return emptyFallback || null;
|
|
1478
1492
|
}
|
|
1479
1493
|
const segments = segmentOverrides ?? element.textSegments;
|
|
@@ -1483,7 +1497,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
|
|
|
1483
1497
|
}
|
|
1484
1498
|
return element.text || emptyFallback || "";
|
|
1485
1499
|
}
|
|
1486
|
-
const paragraphs =
|
|
1500
|
+
const paragraphs = chunk7WWINBGF_js.buildParagraphs(
|
|
1487
1501
|
element,
|
|
1488
1502
|
fieldContext,
|
|
1489
1503
|
segmentOverrides,
|
|
@@ -1629,13 +1643,13 @@ function renderBulletMarker(para, paraIndex, elementId) {
|
|
|
1629
1643
|
);
|
|
1630
1644
|
}
|
|
1631
1645
|
function getDuotoneColors(element) {
|
|
1632
|
-
if (!
|
|
1646
|
+
if (!chunk7WWINBGF_js.isImageLikeElement(element)) {
|
|
1633
1647
|
return void 0;
|
|
1634
1648
|
}
|
|
1635
1649
|
return element.imageEffects?.duotone;
|
|
1636
1650
|
}
|
|
1637
1651
|
function buildLineShadowCss(element) {
|
|
1638
|
-
if (!
|
|
1652
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
1639
1653
|
return void 0;
|
|
1640
1654
|
}
|
|
1641
1655
|
const ss = element.shapeStyle;
|
|
@@ -1646,13 +1660,13 @@ function buildLineShadowCss(element) {
|
|
|
1646
1660
|
const offsetY = typeof ss.lineShadowOffsetY === "number" ? ss.lineShadowOffsetY : 2;
|
|
1647
1661
|
const blur = typeof ss.lineShadowBlur === "number" ? Math.max(0, ss.lineShadowBlur) : 4;
|
|
1648
1662
|
const opacity = typeof ss.lineShadowOpacity === "number" ? Math.max(0, Math.min(1, ss.lineShadowOpacity)) : 0.35;
|
|
1649
|
-
return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${
|
|
1650
|
-
|
|
1663
|
+
return `${Math.round(offsetX)}px ${Math.round(offsetY)}px ${Math.round(blur)}px ${chunk7WWINBGF_js.colorWithOpacity(
|
|
1664
|
+
chunk7WWINBGF_js.normalizeHexColor(ss.lineShadowColor, "#000000"),
|
|
1651
1665
|
opacity
|
|
1652
1666
|
)}`;
|
|
1653
1667
|
}
|
|
1654
1668
|
function buildLineGlowFilter(element) {
|
|
1655
|
-
if (!
|
|
1669
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
1656
1670
|
return void 0;
|
|
1657
1671
|
}
|
|
1658
1672
|
const ss = element.shapeStyle;
|
|
@@ -1661,22 +1675,22 @@ function buildLineGlowFilter(element) {
|
|
|
1661
1675
|
}
|
|
1662
1676
|
const glowOpacity = typeof ss.lineGlowOpacity === "number" ? ss.lineGlowOpacity : 0.75;
|
|
1663
1677
|
const glowRad = Math.round(Math.max(0, ss.lineGlowRadius));
|
|
1664
|
-
const glowCol =
|
|
1678
|
+
const glowCol = chunk7WWINBGF_js.colorWithOpacity(chunk7WWINBGF_js.normalizeHexColor(ss.lineGlowColor, "#ffff00"), glowOpacity);
|
|
1665
1679
|
return `drop-shadow(0 0 ${glowRad}px ${glowCol})`;
|
|
1666
1680
|
}
|
|
1667
1681
|
function getDagDuotoneFilterId(elementId) {
|
|
1668
1682
|
return `dag-duotone-${elementId}`;
|
|
1669
1683
|
}
|
|
1670
1684
|
function hasDagDuotoneEffect(element) {
|
|
1671
|
-
if (!
|
|
1685
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
1672
1686
|
return false;
|
|
1673
1687
|
}
|
|
1674
1688
|
return Boolean(element.shapeStyle?.dagDuotone);
|
|
1675
1689
|
}
|
|
1676
1690
|
function renderDagDuotoneSvgFilter(elementId, color1, color2) {
|
|
1677
1691
|
const filterId = getDagDuotoneFilterId(elementId);
|
|
1678
|
-
const c1 =
|
|
1679
|
-
const c2 =
|
|
1692
|
+
const c1 = chunk7WWINBGF_js.hexToRgbUnit(color1);
|
|
1693
|
+
const c2 = chunk7WWINBGF_js.hexToRgbUnit(color2);
|
|
1680
1694
|
const grayscaleMatrix = [
|
|
1681
1695
|
0.2126,
|
|
1682
1696
|
0.7152,
|
|
@@ -1720,7 +1734,7 @@ function renderDagDuotoneSvgFilter(elementId, color1, color2) {
|
|
|
1720
1734
|
|
|
1721
1735
|
// src/viewer/utils/shape-visual-3d.ts
|
|
1722
1736
|
function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elementHeight) {
|
|
1723
|
-
return
|
|
1737
|
+
return chunk7WWINBGF_js.build3DExtrusionData(
|
|
1724
1738
|
shape3d,
|
|
1725
1739
|
scene3d,
|
|
1726
1740
|
fillColor,
|
|
@@ -1729,7 +1743,7 @@ function build3DExtrusionData2(shape3d, scene3d, fillColor, elementWidth, elemen
|
|
|
1729
1743
|
);
|
|
1730
1744
|
}
|
|
1731
1745
|
function apply3dEffects2(base, scene3d, shape3d, fillColorFallback, elementSize, elementId) {
|
|
1732
|
-
|
|
1746
|
+
chunk7WWINBGF_js.apply3dEffects(
|
|
1733
1747
|
base,
|
|
1734
1748
|
scene3d,
|
|
1735
1749
|
shape3d,
|
|
@@ -1744,11 +1758,11 @@ function rendersCustomVectorPath(element) {
|
|
|
1744
1758
|
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;
|
|
1745
1759
|
}
|
|
1746
1760
|
function rendersWedgeCalloutVector(element) {
|
|
1747
|
-
return element.type === "shape" &&
|
|
1761
|
+
return element.type === "shape" && chunk7WWINBGF_js.isWedgeCalloutPresetShape(element.shapeType);
|
|
1748
1762
|
}
|
|
1749
1763
|
function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _strokeColor, animatesFill, animatesStroke, parentGroupFill) {
|
|
1750
1764
|
if (element.type === "group") {
|
|
1751
|
-
const fx2 =
|
|
1765
|
+
const fx2 = chunk7WWINBGF_js.getComputedEffectStyle(element);
|
|
1752
1766
|
const groupStyle = {};
|
|
1753
1767
|
if (fx2.filter) {
|
|
1754
1768
|
groupStyle.filter = fx2.filter;
|
|
@@ -1758,13 +1772,13 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1758
1772
|
}
|
|
1759
1773
|
return groupStyle;
|
|
1760
1774
|
}
|
|
1761
|
-
if (!
|
|
1775
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
1762
1776
|
return {};
|
|
1763
1777
|
}
|
|
1764
1778
|
const ss = element.shapeStyle;
|
|
1765
|
-
const fill = animatesFill ? void 0 :
|
|
1766
|
-
const fx =
|
|
1767
|
-
const stroke =
|
|
1779
|
+
const fill = animatesFill ? void 0 : chunk7WWINBGF_js.getComputedFillStyle(element, parentGroupFill);
|
|
1780
|
+
const fx = chunk7WWINBGF_js.getComputedEffectStyle(element);
|
|
1781
|
+
const stroke = chunk7WWINBGF_js.getComputedStrokeStyle(element);
|
|
1768
1782
|
const base = {
|
|
1769
1783
|
// A gradient fill REPLACES the solid fill, it does not sit on top of it;
|
|
1770
1784
|
// the whole precedence lives in shared's `getComputedFillStyle`.
|
|
@@ -1803,7 +1817,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1803
1817
|
};
|
|
1804
1818
|
Object.assign(
|
|
1805
1819
|
base,
|
|
1806
|
-
|
|
1820
|
+
chunk7WWINBGF_js.getAnimationColorBaseStyle(element, {
|
|
1807
1821
|
animatesFill,
|
|
1808
1822
|
animatesStroke,
|
|
1809
1823
|
parentGroupFill
|
|
@@ -1825,7 +1839,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1825
1839
|
},
|
|
1826
1840
|
element.id
|
|
1827
1841
|
);
|
|
1828
|
-
if (rendersCustomVectorPath(element) || rendersWedgeCalloutVector(element) ||
|
|
1842
|
+
if (rendersCustomVectorPath(element) || rendersWedgeCalloutVector(element) || chunk7WWINBGF_js.isStrokeOnlyPresetElement(element)) {
|
|
1829
1843
|
base.backgroundColor = "transparent";
|
|
1830
1844
|
base.backgroundImage = void 0;
|
|
1831
1845
|
base.borderWidth = void 0;
|
|
@@ -1839,7 +1853,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1839
1853
|
if (rendersWedgeCalloutVector(element)) {
|
|
1840
1854
|
return base;
|
|
1841
1855
|
}
|
|
1842
|
-
const geometry =
|
|
1856
|
+
const geometry = chunk7WWINBGF_js.resolveShapeGeometry(element);
|
|
1843
1857
|
switch (geometry.kind) {
|
|
1844
1858
|
case "bare":
|
|
1845
1859
|
return { backgroundColor: "transparent", borderWidth: 0, borderStyle: "none" };
|
|
@@ -1863,7 +1877,7 @@ function getShapeVisualStyle(element, _hasFill, fillColor, _strokeWidth, _stroke
|
|
|
1863
1877
|
}
|
|
1864
1878
|
}
|
|
1865
1879
|
function getConnectorPathGeometry2(element) {
|
|
1866
|
-
return
|
|
1880
|
+
return chunk7WWINBGF_js.getConnectorPathGeometry(element);
|
|
1867
1881
|
}
|
|
1868
1882
|
var ARROW_SIZE_SCALE = {
|
|
1869
1883
|
sm: 0.6,
|
|
@@ -1932,11 +1946,11 @@ function strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray) {
|
|
|
1932
1946
|
strokePaint,
|
|
1933
1947
|
strokeWidth,
|
|
1934
1948
|
dashArray,
|
|
1935
|
-
lineCap:
|
|
1949
|
+
lineCap: chunk7WWINBGF_js.svgLineCap(shapeStyle?.lineCap),
|
|
1936
1950
|
lineJoin,
|
|
1937
1951
|
miterLimit,
|
|
1938
|
-
offsets:
|
|
1939
|
-
widths:
|
|
1952
|
+
offsets: chunk7WWINBGF_js.getCompoundLineOffsets(shapeStyle?.compoundLine, strokeWidth),
|
|
1953
|
+
widths: chunk7WWINBGF_js.getCompoundLineWidths(shapeStyle?.compoundLine, strokeWidth)
|
|
1940
1954
|
};
|
|
1941
1955
|
}
|
|
1942
1956
|
function strokeStrands(d, keyBase, ctx) {
|
|
@@ -1959,12 +1973,12 @@ function strokeStrands(d, keyBase, ctx) {
|
|
|
1959
1973
|
}
|
|
1960
1974
|
function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredPaths, shapeStyle, hasFill, fillColor, fillOpacity, strokePaint, strokeWidth, dashArray, animatesFill = false, gradient) {
|
|
1961
1975
|
const ctx = strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray);
|
|
1962
|
-
const subpaths = structuredPaths && structuredPaths.length > 0 ?
|
|
1976
|
+
const subpaths = structuredPaths && structuredPaths.length > 0 ? chunk7WWINBGF_js.customGeometryPathsToSvgSubpaths(structuredPaths, pathWidth, pathHeight) : void 0;
|
|
1963
1977
|
const needsPerSubpath = subpaths !== void 0 && subpaths.some((sp) => sp.fillMode && sp.fillMode !== "norm" || sp.stroke === false);
|
|
1964
|
-
const gradientPaint = gradient ?
|
|
1978
|
+
const gradientPaint = gradient ? chunk7WWINBGF_js.svgGradientFillRef(gradient) : void 0;
|
|
1965
1979
|
const nodes = [];
|
|
1966
1980
|
if (subpaths && needsPerSubpath) {
|
|
1967
|
-
const paints =
|
|
1981
|
+
const paints = chunk7WWINBGF_js.buildSubpathPaints(subpaths, hasFill, fillColor, fillOpacity);
|
|
1968
1982
|
paints.forEach((paint, idx) => {
|
|
1969
1983
|
if (paint.fill !== "none") {
|
|
1970
1984
|
const mode = subpaths[idx]?.fillMode;
|
|
@@ -1993,7 +2007,7 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
|
|
|
1993
2007
|
"path",
|
|
1994
2008
|
{
|
|
1995
2009
|
d: pathData,
|
|
1996
|
-
fill: animatesFill ? "inherit" : gradientPaint ??
|
|
2010
|
+
fill: animatesFill ? "inherit" : gradientPaint ?? chunk7WWINBGF_js.colorWithOpacity(fillColor, fillOpacity),
|
|
1997
2011
|
stroke: "none",
|
|
1998
2012
|
vectorEffect: "non-scaling-stroke"
|
|
1999
2013
|
},
|
|
@@ -2019,14 +2033,14 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
|
|
|
2019
2033
|
);
|
|
2020
2034
|
}
|
|
2021
2035
|
function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor, animatesFill, animatesStroke) {
|
|
2022
|
-
if (!
|
|
2036
|
+
if (!chunk7WWINBGF_js.hasShapeProperties(element)) {
|
|
2023
2037
|
return null;
|
|
2024
2038
|
}
|
|
2025
2039
|
const normalizedType = (element.shapeType || "").toLowerCase();
|
|
2026
|
-
const fillPaint = animatesFill ? "inherit" :
|
|
2027
|
-
const strokePaint = animatesStroke ? "inherit" :
|
|
2028
|
-
const dashType =
|
|
2029
|
-
const dashArray =
|
|
2040
|
+
const fillPaint = animatesFill ? "inherit" : chunk7WWINBGF_js.colorWithOpacity(fillColor, element.shapeStyle?.fillOpacity);
|
|
2041
|
+
const strokePaint = animatesStroke ? "inherit" : chunk7WWINBGF_js.colorWithOpacity(strokeColor, element.shapeStyle?.strokeOpacity);
|
|
2042
|
+
const dashType = chunk7WWINBGF_js.normalizeStrokeDashType(element.shapeStyle?.strokeDash);
|
|
2043
|
+
const dashArray = chunk7WWINBGF_js.getSvgStrokeDasharray(
|
|
2030
2044
|
dashType,
|
|
2031
2045
|
Math.max(strokeWidth, 1),
|
|
2032
2046
|
element.shapeStyle?.customDashSegments
|
|
@@ -2107,13 +2121,13 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2107
2121
|
// container's `background-image` is suppressed for custom geometry, so
|
|
2108
2122
|
// without this the shape fell back to the parser's representative solid
|
|
2109
2123
|
// and lost every fade (issue #132).
|
|
2110
|
-
|
|
2124
|
+
chunk7WWINBGF_js.buildSvgGradientDef(element.shapeStyle, element.id)
|
|
2111
2125
|
);
|
|
2112
2126
|
}
|
|
2113
|
-
if ((element.type === "image" || element.type === "picture") && strokeWidth > 0 && !
|
|
2127
|
+
if ((element.type === "image" || element.type === "picture") && strokeWidth > 0 && !chunk7WWINBGF_js.buildStrokeOutline(element)) {
|
|
2114
2128
|
const width = Math.max(element.width, 1);
|
|
2115
2129
|
const height = Math.max(element.height, 1);
|
|
2116
|
-
const geometry =
|
|
2130
|
+
const geometry = chunk7WWINBGF_js.getPresetShapeVectorGeometry(
|
|
2117
2131
|
element.shapeType || "rect",
|
|
2118
2132
|
width,
|
|
2119
2133
|
height,
|
|
@@ -2141,18 +2155,18 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2141
2155
|
);
|
|
2142
2156
|
}
|
|
2143
2157
|
}
|
|
2144
|
-
if (element.type === "shape" &&
|
|
2158
|
+
if (element.type === "shape" && chunk7WWINBGF_js.isWedgeCalloutPresetShape(element.shapeType)) {
|
|
2145
2159
|
const width = Math.max(element.width, 1);
|
|
2146
2160
|
const height = Math.max(element.height, 1);
|
|
2147
|
-
const geometry =
|
|
2161
|
+
const geometry = chunk7WWINBGF_js.getPresetShapeVectorGeometry(
|
|
2148
2162
|
element.shapeType,
|
|
2149
2163
|
width,
|
|
2150
2164
|
height,
|
|
2151
2165
|
element.shapeAdjustments
|
|
2152
2166
|
);
|
|
2153
2167
|
if (geometry) {
|
|
2154
|
-
const gradient =
|
|
2155
|
-
const gradientPaint = gradient ?
|
|
2168
|
+
const gradient = chunk7WWINBGF_js.buildSvgGradientDef(element.shapeStyle, element.id);
|
|
2169
|
+
const gradientPaint = gradient ? chunk7WWINBGF_js.svgGradientFillRef(gradient) : void 0;
|
|
2156
2170
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2157
2171
|
"svg",
|
|
2158
2172
|
{
|
|
@@ -2185,18 +2199,18 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2185
2199
|
);
|
|
2186
2200
|
}
|
|
2187
2201
|
}
|
|
2188
|
-
if (
|
|
2202
|
+
if (chunk7WWINBGF_js.isCalloutShape(normalizedType)) {
|
|
2189
2203
|
const width = Math.max(element.width, 1);
|
|
2190
2204
|
const height = Math.max(element.height, 1);
|
|
2191
|
-
const geometry =
|
|
2205
|
+
const geometry = chunk7WWINBGF_js.getCalloutLeaderLineGeometry(
|
|
2192
2206
|
normalizedType,
|
|
2193
2207
|
width,
|
|
2194
2208
|
height,
|
|
2195
2209
|
element.shapeAdjustments
|
|
2196
2210
|
);
|
|
2197
2211
|
if (geometry && geometry.points.length >= 2) {
|
|
2198
|
-
const leaderPath =
|
|
2199
|
-
const bounds =
|
|
2212
|
+
const leaderPath = chunk7WWINBGF_js.buildCalloutLeaderLineSvgPath(geometry);
|
|
2213
|
+
const bounds = chunk7WWINBGF_js.getCalloutViewBoxBounds(width, height, geometry);
|
|
2200
2214
|
const lineStroke = Math.max(strokeWidth, 1);
|
|
2201
2215
|
const offsetLeft = bounds.minX;
|
|
2202
2216
|
const offsetTop = bounds.minY;
|
|
@@ -2259,10 +2273,10 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
|
|
|
2259
2273
|
const endArrowW = element.shapeStyle?.connectorEndArrowWidth;
|
|
2260
2274
|
const endArrowL = element.shapeStyle?.connectorEndArrowLength;
|
|
2261
2275
|
const compoundLine = element.shapeStyle?.compoundLine;
|
|
2262
|
-
const connectorLineCap =
|
|
2276
|
+
const connectorLineCap = chunk7WWINBGF_js.svgLineCap(element.shapeStyle?.lineCap);
|
|
2263
2277
|
const hitTargetWidth = Math.max(strokeWidth * 3, 12);
|
|
2264
|
-
const offsets =
|
|
2265
|
-
const widths =
|
|
2278
|
+
const offsets = chunk7WWINBGF_js.getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
2279
|
+
const widths = chunk7WWINBGF_js.getCompoundLineWidths(compoundLine, strokeWidth);
|
|
2266
2280
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2267
2281
|
"svg",
|
|
2268
2282
|
{
|
|
@@ -2329,15 +2343,15 @@ function parseGradientFillCss(gradFill) {
|
|
|
2329
2343
|
}
|
|
2330
2344
|
const rawStops = stops.map((gs) => {
|
|
2331
2345
|
const pos = Number.parseInt(String(gs["@_pos"] || "0"), 10) / 1e3;
|
|
2332
|
-
const color =
|
|
2333
|
-
const opacity =
|
|
2346
|
+
const color = chunk7WWINBGF_js.parseDrawingColor(gs) ?? "#888888";
|
|
2347
|
+
const opacity = chunk7WWINBGF_js.parseDrawingColorOpacity(gs);
|
|
2334
2348
|
return { position: pos, color, opacity };
|
|
2335
2349
|
}).sort((a, b) => a.position - b.position);
|
|
2336
|
-
const stopStrings = rawStops.map((s) => `${
|
|
2350
|
+
const stopStrings = rawStops.map((s) => `${chunk7WWINBGF_js.colorWithOpacity(s.color, s.opacity)} ${s.position.toFixed(1)}%`).join(", ");
|
|
2337
2351
|
const lin = gradFill["a:lin"];
|
|
2338
2352
|
if (lin) {
|
|
2339
2353
|
const angRaw = Number.parseInt(String(lin["@_ang"] || "0"), 10);
|
|
2340
|
-
const angleDeg = Math.round(
|
|
2354
|
+
const angleDeg = Math.round(chunk7WWINBGF_js.ooxmlGradientAngleToCssDegrees(angRaw / 6e4));
|
|
2341
2355
|
return `linear-gradient(${angleDeg}deg, ${stopStrings})`;
|
|
2342
2356
|
}
|
|
2343
2357
|
const path = gradFill["a:path"];
|
|
@@ -2351,7 +2365,7 @@ function parseGradientFillCss(gradFill) {
|
|
|
2351
2365
|
b: Number.parseInt(String(fillToRectXml["@_b"] || "0"), 10) / 1e5
|
|
2352
2366
|
} : void 0;
|
|
2353
2367
|
if (pathType === "rect") {
|
|
2354
|
-
return
|
|
2368
|
+
return chunk7WWINBGF_js.buildRectPathGradient(rawStops, void 0, fillToRect);
|
|
2355
2369
|
}
|
|
2356
2370
|
let cx = 50;
|
|
2357
2371
|
let cy = 50;
|
|
@@ -2373,8 +2387,8 @@ function parsePatternFillCss(pattFill) {
|
|
|
2373
2387
|
if (!pattFill) {
|
|
2374
2388
|
return void 0;
|
|
2375
2389
|
}
|
|
2376
|
-
const fgColor =
|
|
2377
|
-
const bgColor =
|
|
2390
|
+
const fgColor = chunk7WWINBGF_js.parseDrawingColor(pattFill["a:fgClr"]) ?? "#000000";
|
|
2391
|
+
const bgColor = chunk7WWINBGF_js.parseDrawingColor(pattFill["a:bgClr"]) ?? "#ffffff";
|
|
2378
2392
|
const preset = String(pattFill["@_prst"] || "ltDnDiag");
|
|
2379
2393
|
switch (preset) {
|
|
2380
2394
|
case "ltHorz":
|
|
@@ -2485,11 +2499,11 @@ function parseCellBorders(cellProperties) {
|
|
|
2485
2499
|
const prstDash = ln["a:prstDash"];
|
|
2486
2500
|
const dashVal = prstDash ? String(prstDash["@_val"] || "") : void 0;
|
|
2487
2501
|
const cssBorderStyle = ooxmlDashToCss(dashVal);
|
|
2488
|
-
const color =
|
|
2502
|
+
const color = chunk7WWINBGF_js.parseDrawingColor(ln["a:solidFill"]);
|
|
2489
2503
|
if (color) {
|
|
2490
|
-
const opacity =
|
|
2504
|
+
const opacity = chunk7WWINBGF_js.parseDrawingColorOpacity(ln["a:solidFill"]);
|
|
2491
2505
|
const key = `${edge.prefix}`;
|
|
2492
|
-
borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${
|
|
2506
|
+
borderStyle[key] = `${widthPx}px ${cssBorderStyle} ${chunk7WWINBGF_js.colorWithOpacity(color, opacity)}`;
|
|
2493
2507
|
}
|
|
2494
2508
|
}
|
|
2495
2509
|
return borderStyle;
|
|
@@ -2502,7 +2516,7 @@ function parseCellTextEffects(runProps) {
|
|
|
2502
2516
|
const textShadowParts = [];
|
|
2503
2517
|
const outerShdw = effectLst["a:outerShdw"];
|
|
2504
2518
|
if (outerShdw) {
|
|
2505
|
-
const shdwColor =
|
|
2519
|
+
const shdwColor = chunk7WWINBGF_js.parseDrawingColor(outerShdw);
|
|
2506
2520
|
if (shdwColor) {
|
|
2507
2521
|
const blurRad = Number.parseInt(String(outerShdw["@_blurRad"] || "0"), 10);
|
|
2508
2522
|
const blurPx = blurRad > 0 ? Math.round(blurRad / 12700) : 0;
|
|
@@ -2520,7 +2534,7 @@ function parseCellTextEffects(runProps) {
|
|
|
2520
2534
|
}
|
|
2521
2535
|
const glow = effectLst["a:glow"];
|
|
2522
2536
|
if (glow) {
|
|
2523
|
-
const glowColor =
|
|
2537
|
+
const glowColor = chunk7WWINBGF_js.parseDrawingColor(glow);
|
|
2524
2538
|
if (glowColor) {
|
|
2525
2539
|
const glowRad = Number.parseInt(String(glow["@_rad"] || "0"), 10);
|
|
2526
2540
|
const glowPx = glowRad > 0 ? Math.round(glowRad / 12700) : 2;
|
|
@@ -2542,11 +2556,11 @@ function extractCellText(cellXml) {
|
|
|
2542
2556
|
const textParts = [];
|
|
2543
2557
|
const runs = ensureArrayValue(paragraph["a:r"]);
|
|
2544
2558
|
runs.forEach((run) => {
|
|
2545
|
-
textParts.push(
|
|
2559
|
+
textParts.push(chunk7WWINBGF_js.xmlText(run["a:t"]) ?? "");
|
|
2546
2560
|
});
|
|
2547
2561
|
const fields = ensureArrayValue(paragraph["a:fld"]);
|
|
2548
2562
|
fields.forEach((field) => {
|
|
2549
|
-
textParts.push(
|
|
2563
|
+
textParts.push(chunk7WWINBGF_js.xmlText(field["a:t"]) ?? "");
|
|
2550
2564
|
});
|
|
2551
2565
|
paragraphTexts.push(textParts.join(""));
|
|
2552
2566
|
});
|
|
@@ -2590,10 +2604,10 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2590
2604
|
if (runProps?.["@_u"] !== void 0) {
|
|
2591
2605
|
cellStyle.textDecorationLine = runProps["@_u"] === "sng" ? "underline" : "none";
|
|
2592
2606
|
}
|
|
2593
|
-
const runColor =
|
|
2607
|
+
const runColor = chunk7WWINBGF_js.parseDrawingColor(runProps?.["a:solidFill"], schemeColorOverrides) || chunk7WWINBGF_js.parseDrawingColor(runProps?.["a:highlight"], schemeColorOverrides);
|
|
2594
2608
|
if (runColor) {
|
|
2595
|
-
const opacity =
|
|
2596
|
-
cellStyle.color =
|
|
2609
|
+
const opacity = chunk7WWINBGF_js.parseDrawingColorOpacity(runProps?.["a:solidFill"]);
|
|
2610
|
+
cellStyle.color = chunk7WWINBGF_js.colorWithOpacity(runColor, opacity);
|
|
2597
2611
|
}
|
|
2598
2612
|
const fontFamily = runProps?.["a:latin"]?.["@_typeface"] || runProps?.["a:ea"]?.["@_typeface"] || runProps?.["a:cs"]?.["@_typeface"];
|
|
2599
2613
|
if (fontFamily) {
|
|
@@ -2603,15 +2617,15 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2603
2617
|
cellStyle.textAlign = parseParagraphAlignment(paragraphProperties["@_algn"]);
|
|
2604
2618
|
}
|
|
2605
2619
|
const cellProperties = cellXml["a:tcPr"];
|
|
2606
|
-
const cellFill =
|
|
2620
|
+
const cellFill = chunk7WWINBGF_js.parseDrawingColor(
|
|
2607
2621
|
cellProperties?.["a:solidFill"],
|
|
2608
2622
|
schemeColorOverrides
|
|
2609
2623
|
);
|
|
2610
2624
|
if (cellFill) {
|
|
2611
|
-
const opacity =
|
|
2625
|
+
const opacity = chunk7WWINBGF_js.parseDrawingColorOpacity(
|
|
2612
2626
|
cellProperties?.["a:solidFill"]
|
|
2613
2627
|
);
|
|
2614
|
-
cellStyle.backgroundColor =
|
|
2628
|
+
cellStyle.backgroundColor = chunk7WWINBGF_js.colorWithOpacity(cellFill, opacity);
|
|
2615
2629
|
} else {
|
|
2616
2630
|
const gradCss = parseGradientFillCss(cellProperties?.["a:gradFill"]);
|
|
2617
2631
|
if (gradCss) {
|
|
@@ -2626,16 +2640,16 @@ function extractTableCellStyle(cellXml, fallbackStyle, schemeColorOverrides) {
|
|
|
2626
2640
|
const edgeBorders = parseCellBorders(cellProperties);
|
|
2627
2641
|
Object.assign(cellStyle, edgeBorders);
|
|
2628
2642
|
if (!cellStyle.borderLeftColor && !cellStyle.borderRightColor && !cellStyle.borderTopColor && !cellStyle.borderBottomColor) {
|
|
2629
|
-
const borderColor =
|
|
2643
|
+
const borderColor = chunk7WWINBGF_js.parseDrawingColor(
|
|
2630
2644
|
cellProperties?.["a:lnL"]?.["a:solidFill"],
|
|
2631
2645
|
schemeColorOverrides
|
|
2632
|
-
) ||
|
|
2646
|
+
) || chunk7WWINBGF_js.parseDrawingColor(
|
|
2633
2647
|
cellProperties?.["a:lnR"]?.["a:solidFill"],
|
|
2634
2648
|
schemeColorOverrides
|
|
2635
|
-
) ||
|
|
2649
|
+
) || chunk7WWINBGF_js.parseDrawingColor(
|
|
2636
2650
|
cellProperties?.["a:lnT"]?.["a:solidFill"],
|
|
2637
2651
|
schemeColorOverrides
|
|
2638
|
-
) ||
|
|
2652
|
+
) || chunk7WWINBGF_js.parseDrawingColor(
|
|
2639
2653
|
cellProperties?.["a:lnB"]?.["a:solidFill"],
|
|
2640
2654
|
schemeColorOverrides
|
|
2641
2655
|
);
|
|
@@ -2707,7 +2721,7 @@ function getTableCellBandStyle2(element, rowIndex, cellIndex, rowCount, columnCo
|
|
|
2707
2721
|
if (element.type !== "table") {
|
|
2708
2722
|
return void 0;
|
|
2709
2723
|
}
|
|
2710
|
-
return
|
|
2724
|
+
return chunk7WWINBGF_js.getTableCellBandStyle(element.tableData, rowIndex, cellIndex, rowCount, columnCount, {
|
|
2711
2725
|
tableStyleMap: styleCtx?.tableStyleMap,
|
|
2712
2726
|
colorScheme: styleCtx?.theme?.colorScheme,
|
|
2713
2727
|
fontScheme: styleCtx?.theme?.fontScheme
|
|
@@ -2787,7 +2801,7 @@ function renderTableCellContent(cell, fallbackText) {
|
|
|
2787
2801
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2788
2802
|
"span",
|
|
2789
2803
|
{
|
|
2790
|
-
style: { position: "relative", ...
|
|
2804
|
+
style: { position: "relative", ...chunk7WWINBGF_js.cellRunStyle(run) },
|
|
2791
2805
|
children: run.text
|
|
2792
2806
|
},
|
|
2793
2807
|
`r-${index}`
|
|
@@ -2795,7 +2809,7 @@ function renderTableCellContent(cell, fallbackText) {
|
|
|
2795
2809
|
});
|
|
2796
2810
|
}
|
|
2797
2811
|
function getCellDiagonalBorders2(style, tableData, pos, styleCtx) {
|
|
2798
|
-
return
|
|
2812
|
+
return chunk7WWINBGF_js.getCellDiagonalBorders(style, tableData, pos, {
|
|
2799
2813
|
tableStyleMap: styleCtx?.tableStyleMap,
|
|
2800
2814
|
colorScheme: styleCtx?.theme?.colorScheme,
|
|
2801
2815
|
fontScheme: styleCtx?.theme?.fontScheme
|
|
@@ -2928,7 +2942,7 @@ function TableResizeOverlay({
|
|
|
2928
2942
|
const containerRef = React7.useRef(null);
|
|
2929
2943
|
const [rowBounds, setRowBounds] = React7.useState([]);
|
|
2930
2944
|
const dragRef = React7.useRef(null);
|
|
2931
|
-
const colBoundaries = React7.useMemo(() =>
|
|
2945
|
+
const colBoundaries = React7.useMemo(() => chunk7WWINBGF_js.computeColumnBoundaries(columnWidths), [columnWidths]);
|
|
2932
2946
|
const measureRows = React7.useCallback(() => {
|
|
2933
2947
|
const container = containerRef.current;
|
|
2934
2948
|
if (!container) {
|
|
@@ -2975,11 +2989,11 @@ function TableResizeOverlay({
|
|
|
2975
2989
|
const rect = containerRef.current.getBoundingClientRect();
|
|
2976
2990
|
if (e.clientX !== drag.startPos && drag.type === "col" && drag.initialWidths && onResizeColumns) {
|
|
2977
2991
|
const deltaProp = (e.clientX - drag.startPos) / rect.width;
|
|
2978
|
-
onResizeColumns(
|
|
2992
|
+
onResizeColumns(chunk7WWINBGF_js.computeResizedColumnWidths(drag.initialWidths, drag.index, deltaProp));
|
|
2979
2993
|
} else if (e.clientY !== drag.startPos && drag.type === "row" && onResizeRow) {
|
|
2980
2994
|
const deltaY = e.clientY - drag.startPos;
|
|
2981
|
-
const newHeight =
|
|
2982
|
-
drag.initialRowHeight ??
|
|
2995
|
+
const newHeight = chunk7WWINBGF_js.computeResizedRowHeight(
|
|
2996
|
+
drag.initialRowHeight ?? chunk7WWINBGF_js.DEFAULT_ROW_HEIGHT,
|
|
2983
2997
|
deltaY
|
|
2984
2998
|
);
|
|
2985
2999
|
onResizeRow(drag.index, newHeight);
|
|
@@ -3017,7 +3031,7 @@ function TableResizeOverlay({
|
|
|
3017
3031
|
e.stopPropagation();
|
|
3018
3032
|
const table = containerRef.current?.querySelector("table");
|
|
3019
3033
|
const tr = table?.querySelectorAll("tbody > tr")[index];
|
|
3020
|
-
const actualHeight = tr?.offsetHeight ??
|
|
3034
|
+
const actualHeight = tr?.offsetHeight ?? chunk7WWINBGF_js.DEFAULT_ROW_HEIGHT;
|
|
3021
3035
|
document.body.style.cursor = "row-resize";
|
|
3022
3036
|
document.body.style.userSelect = "none";
|
|
3023
3037
|
dragRef.current = {
|
|
@@ -3057,14 +3071,14 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3057
3071
|
const rowCount = tableData.rows.length;
|
|
3058
3072
|
const columnCount = tableData.columnWidths.length;
|
|
3059
3073
|
const selectedCell = options?.selectedCell || null;
|
|
3060
|
-
const isEditable = Boolean(options?.editable) &&
|
|
3074
|
+
const isEditable = Boolean(options?.editable) && chunk7WWINBGF_js.canDrillDown(element);
|
|
3061
3075
|
const hasCellSelectionHandler = typeof options?.onSelectCell === "function";
|
|
3062
3076
|
const sharedCtx = {
|
|
3063
3077
|
tableStyleMap: options?.styleCtx?.tableStyleMap,
|
|
3064
3078
|
colorScheme: options?.styleCtx?.theme?.colorScheme,
|
|
3065
3079
|
fontScheme: options?.styleCtx?.theme?.fontScheme
|
|
3066
3080
|
};
|
|
3067
|
-
const cellCss = (cell, rowIndex, cellIndex) =>
|
|
3081
|
+
const cellCss = (cell, rowIndex, cellIndex) => chunk7WWINBGF_js.tableCellCss(
|
|
3068
3082
|
tableData,
|
|
3069
3083
|
cell,
|
|
3070
3084
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
@@ -3077,7 +3091,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3077
3091
|
}
|
|
3078
3092
|
const first = selectedCell.selectedCells[0];
|
|
3079
3093
|
const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
|
|
3080
|
-
return
|
|
3094
|
+
return chunk7WWINBGF_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableData);
|
|
3081
3095
|
})();
|
|
3082
3096
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3083
3097
|
TableResizeOverlay,
|
|
@@ -3098,9 +3112,9 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3098
3112
|
{
|
|
3099
3113
|
className: "w-full h-full border-collapse table-fixed",
|
|
3100
3114
|
style: {
|
|
3101
|
-
fontFamily:
|
|
3115
|
+
fontFamily: chunk7WWINBGF_js.DEFAULT_FONT_FAMILY,
|
|
3102
3116
|
// `a:tblPr@rtl` mirrors the column order for RTL decks.
|
|
3103
|
-
...
|
|
3117
|
+
...chunk7WWINBGF_js.tableContainerCss(tableData)
|
|
3104
3118
|
},
|
|
3105
3119
|
children: [
|
|
3106
3120
|
tableData.columnWidths.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("colgroup", { children: tableData.columnWidths.map((w, ci) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3119,7 +3133,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3119
3133
|
return null;
|
|
3120
3134
|
}
|
|
3121
3135
|
const isCellSelected = selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex;
|
|
3122
|
-
const isInMultiSelection =
|
|
3136
|
+
const isInMultiSelection = chunk7WWINBGF_js.isCellInRect(rowIndex, cellIndex, selectionRect);
|
|
3123
3137
|
const isCellEditing = isCellSelected && selectedCell?.isEditing;
|
|
3124
3138
|
const diag = getCellDiagonalBorders2(
|
|
3125
3139
|
cell.style,
|
|
@@ -3148,7 +3162,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3148
3162
|
}
|
|
3149
3163
|
event.stopPropagation();
|
|
3150
3164
|
if (event.shiftKey && selectedCell) {
|
|
3151
|
-
const rect =
|
|
3165
|
+
const rect = chunk7WWINBGF_js.computeSelectionRect(
|
|
3152
3166
|
selectedCell.rowIndex,
|
|
3153
3167
|
selectedCell.columnIndex,
|
|
3154
3168
|
rowIndex,
|
|
@@ -3158,7 +3172,7 @@ function renderTableFromTableData(element, textStyle, options) {
|
|
|
3158
3172
|
options?.onSelectCell?.({
|
|
3159
3173
|
rowIndex: selectedCell.rowIndex,
|
|
3160
3174
|
columnIndex: selectedCell.columnIndex,
|
|
3161
|
-
selectedCells:
|
|
3175
|
+
selectedCells: chunk7WWINBGF_js.rectToCells(rect)
|
|
3162
3176
|
});
|
|
3163
3177
|
} else {
|
|
3164
3178
|
options?.onSelectCell?.({
|
|
@@ -3219,10 +3233,10 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3219
3233
|
if (tableEl2.tableData && tableEl2.tableData.rows.length > 0) {
|
|
3220
3234
|
return renderTableFromTableData(tableEl2, textStyle, options);
|
|
3221
3235
|
}
|
|
3222
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
3236
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkI4D6JQOI_js.translationsEn["pptx.table.title"] });
|
|
3223
3237
|
}
|
|
3224
3238
|
const selectedCell = options?.selectedCell || null;
|
|
3225
|
-
const isEditable = Boolean(options?.editable) &&
|
|
3239
|
+
const isEditable = Boolean(options?.editable) && chunk7WWINBGF_js.canDrillDown(element);
|
|
3226
3240
|
const hasCellSelectionHandler = typeof options?.onSelectCell === "function";
|
|
3227
3241
|
const tableEl = element;
|
|
3228
3242
|
const xmlSelectionRect = (() => {
|
|
@@ -3234,7 +3248,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3234
3248
|
}
|
|
3235
3249
|
const first = selectedCell.selectedCells[0];
|
|
3236
3250
|
const last = selectedCell.selectedCells[selectedCell.selectedCells.length - 1];
|
|
3237
|
-
return
|
|
3251
|
+
return chunk7WWINBGF_js.computeSelectionRect(first.row, first.col, last.row, last.col, tableEl.tableData);
|
|
3238
3252
|
})();
|
|
3239
3253
|
const schemeOverrides = options?.styleCtx?.theme?.colorScheme ? options.styleCtx.theme.colorScheme : void 0;
|
|
3240
3254
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3256,9 +3270,9 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3256
3270
|
{
|
|
3257
3271
|
className: "w-full h-full border-collapse table-fixed",
|
|
3258
3272
|
style: {
|
|
3259
|
-
fontFamily:
|
|
3273
|
+
fontFamily: chunk7WWINBGF_js.DEFAULT_FONT_FAMILY,
|
|
3260
3274
|
// `a:tblPr@rtl` mirrors the column order for RTL decks.
|
|
3261
|
-
...
|
|
3275
|
+
...chunk7WWINBGF_js.tableContainerCss(tableEl.tableData)
|
|
3262
3276
|
},
|
|
3263
3277
|
children: [
|
|
3264
3278
|
parsedTable.columnPercentages.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("colgroup", { children: parsedTable.columnPercentages.map((percentage, columnIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3315,7 +3329,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3315
3329
|
color: textStyle.color,
|
|
3316
3330
|
...bandStyle,
|
|
3317
3331
|
...xmlCellStyle,
|
|
3318
|
-
...tdCellOverride ?
|
|
3332
|
+
...tdCellOverride ? chunk7WWINBGF_js.cellStyleToCss(tdCellOverride) : void 0,
|
|
3319
3333
|
...diag ? { position: "relative" } : void 0
|
|
3320
3334
|
};
|
|
3321
3335
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3325,7 +3339,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3325
3339
|
"border px-1 py-0.5 align-top",
|
|
3326
3340
|
isEditable && hasCellSelectionHandler ? "border-blue-200/70 cursor-cell" : "border-white/30",
|
|
3327
3341
|
selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex ? "ring-1 ring-inset ring-blue-500" : null,
|
|
3328
|
-
|
|
3342
|
+
chunk7WWINBGF_js.isCellInRect(rowIndex, cellIndex, xmlSelectionRect) && !(selectedCell?.rowIndex === rowIndex && selectedCell?.columnIndex === cellIndex) ? "bg-blue-500/15 ring-1 ring-inset ring-blue-400/50" : null
|
|
3329
3343
|
),
|
|
3330
3344
|
colSpan,
|
|
3331
3345
|
rowSpan: rSpan,
|
|
@@ -3336,7 +3350,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3336
3350
|
}
|
|
3337
3351
|
event.stopPropagation();
|
|
3338
3352
|
if (event.shiftKey && selectedCell && tableEl.tableData) {
|
|
3339
|
-
const rect =
|
|
3353
|
+
const rect = chunk7WWINBGF_js.computeSelectionRect(
|
|
3340
3354
|
selectedCell.rowIndex,
|
|
3341
3355
|
selectedCell.columnIndex,
|
|
3342
3356
|
rowIndex,
|
|
@@ -3346,7 +3360,7 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3346
3360
|
options?.onSelectCell?.({
|
|
3347
3361
|
rowIndex: selectedCell.rowIndex,
|
|
3348
3362
|
columnIndex: selectedCell.columnIndex,
|
|
3349
|
-
selectedCells:
|
|
3363
|
+
selectedCells: chunk7WWINBGF_js.rectToCells(rect)
|
|
3350
3364
|
});
|
|
3351
3365
|
} else {
|
|
3352
3366
|
options?.onSelectCell?.({
|
|
@@ -3405,23 +3419,23 @@ function renderTableElement(element, textStyle, options) {
|
|
|
3405
3419
|
);
|
|
3406
3420
|
}
|
|
3407
3421
|
function partAttrs(part) {
|
|
3408
|
-
return part ?
|
|
3422
|
+
return part ? chunk7WWINBGF_js.chartPartToAttrs(part) : void 0;
|
|
3409
3423
|
}
|
|
3410
3424
|
function resolveReactPalette(chartData) {
|
|
3411
3425
|
if (chartData.colorPalette && chartData.colorPalette.length > 0) {
|
|
3412
3426
|
return chartData.colorPalette;
|
|
3413
3427
|
}
|
|
3414
|
-
return [...
|
|
3428
|
+
return [...chunk7WWINBGF_js.getChartStylePalette(chartData.style?.styleId)];
|
|
3415
3429
|
}
|
|
3416
3430
|
function buildReactChartViewModel(element) {
|
|
3417
3431
|
if (element.type !== "chart" || !element.chartData) {
|
|
3418
|
-
return
|
|
3432
|
+
return chunk7WWINBGF_js.buildChartViewModel(element);
|
|
3419
3433
|
}
|
|
3420
3434
|
const palette = resolveReactPalette(element.chartData), themedElement = {
|
|
3421
3435
|
...element,
|
|
3422
3436
|
chartData: { ...element.chartData, colorPalette: palette }
|
|
3423
3437
|
};
|
|
3424
|
-
return
|
|
3438
|
+
return chunk7WWINBGF_js.buildChartViewModel(themedElement);
|
|
3425
3439
|
}
|
|
3426
3440
|
function renderPrimitive(prim, key) {
|
|
3427
3441
|
switch (prim.kind) {
|
|
@@ -3573,7 +3587,7 @@ function renderText(t, key) {
|
|
|
3573
3587
|
);
|
|
3574
3588
|
}
|
|
3575
3589
|
function renderChartViewModel(elementId, vm, preserveAspectRatio = "none") {
|
|
3576
|
-
const legendItems =
|
|
3590
|
+
const legendItems = chunk7WWINBGF_js.computeChartLegendLayout(vm);
|
|
3577
3591
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3578
3592
|
"svg",
|
|
3579
3593
|
{
|
|
@@ -3713,17 +3727,17 @@ function renderChartViewModel(elementId, vm, preserveAspectRatio = "none") {
|
|
|
3713
3727
|
}
|
|
3714
3728
|
function renderChartElement(element) {
|
|
3715
3729
|
if (element.type !== "chart") {
|
|
3716
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
3730
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkI4D6JQOI_js.translationsEn["pptx.chart.heading"] });
|
|
3717
3731
|
}
|
|
3718
3732
|
const chartData = element.chartData;
|
|
3719
3733
|
if (!chartData || chartData.series.length === 0) {
|
|
3720
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
3734
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkI4D6JQOI_js.translationsEn["pptx.chart.heading"] });
|
|
3721
3735
|
}
|
|
3722
|
-
const kind =
|
|
3736
|
+
const kind = chunk7WWINBGF_js.resolveChartKind(chartData.chartType ?? "bar");
|
|
3723
3737
|
return renderChartViewModel(
|
|
3724
3738
|
element.id,
|
|
3725
3739
|
buildReactChartViewModel(element),
|
|
3726
|
-
|
|
3740
|
+
chunk7WWINBGF_js.chartPreserveAspectRatio(kind)
|
|
3727
3741
|
);
|
|
3728
3742
|
}
|
|
3729
3743
|
|
|
@@ -3743,14 +3757,14 @@ function buildNotesPdf(pages) {
|
|
|
3743
3757
|
notes: page.notes,
|
|
3744
3758
|
slideNumber: page.slideNumber
|
|
3745
3759
|
}));
|
|
3746
|
-
const bytes =
|
|
3760
|
+
const bytes = chunk7WWINBGF_js.buildNotesPdfBytes(images, meta);
|
|
3747
3761
|
const blob = new Blob([bytes], { type: "application/pdf" });
|
|
3748
3762
|
return URL.createObjectURL(blob);
|
|
3749
3763
|
}
|
|
3750
3764
|
|
|
3751
3765
|
// src/viewer/utils/pdf-builder-slides.ts
|
|
3752
3766
|
function buildPdfFromTiledImageData(pages) {
|
|
3753
|
-
const bytes =
|
|
3767
|
+
const bytes = chunk7WWINBGF_js.buildTiledSlidesPdfBytes(pages);
|
|
3754
3768
|
const blob = new Blob([bytes], { type: "application/pdf" });
|
|
3755
3769
|
return URL.createObjectURL(blob);
|
|
3756
3770
|
}
|
|
@@ -3759,7 +3773,7 @@ function buildPdfFromTiledImageData(pages) {
|
|
|
3759
3773
|
var activePreview = null;
|
|
3760
3774
|
function startPreviewAnimation(elementId, preset, options) {
|
|
3761
3775
|
stopPreviewAnimation();
|
|
3762
|
-
const descriptor =
|
|
3776
|
+
const descriptor = chunk7WWINBGF_js.buildPreviewAnimation(preset, options);
|
|
3763
3777
|
if (!descriptor) {
|
|
3764
3778
|
return;
|
|
3765
3779
|
}
|
|
@@ -3772,7 +3786,7 @@ function startMotionPathPreview(elementId, path, options) {
|
|
|
3772
3786
|
return;
|
|
3773
3787
|
}
|
|
3774
3788
|
const stage = domEl.offsetParent;
|
|
3775
|
-
const descriptor =
|
|
3789
|
+
const descriptor = chunk7WWINBGF_js.buildMotionPathPreview({
|
|
3776
3790
|
path,
|
|
3777
3791
|
slideWidth: stage?.offsetWidth || DEFAULT_PREVIEW_SLIDE_WIDTH,
|
|
3778
3792
|
slideHeight: stage?.offsetHeight || DEFAULT_PREVIEW_SLIDE_HEIGHT,
|