pptx-react-viewer 4.64.0 → 4.65.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 +27 -0
- package/dist/{AiChatPanel-DRY6JUQE.js → AiChatPanel-7AFFNYEN.js} +19 -19
- package/dist/AiChatPanel-7AFFNYEN.js.br +0 -0
- package/dist/AiChatPanel-7AFFNYEN.js.gz +0 -0
- package/dist/{AiChatPanel-KBSDSD5Y.mjs → AiChatPanel-7U7IJRNY.mjs} +1 -1
- package/dist/AiChatPanel-7U7IJRNY.mjs.br +0 -0
- package/dist/AiChatPanel-7U7IJRNY.mjs.gz +0 -0
- package/dist/ai.js +2 -2
- package/dist/ai.js.br +0 -0
- package/dist/ai.js.gz +0 -0
- package/dist/ai.mjs +1 -1
- package/dist/ai.mjs.br +0 -0
- package/dist/ai.mjs.gz +0 -0
- package/dist/{chunk-JKSUB7DR.js → chunk-5DBKW7F3.js} +3 -3
- package/dist/chunk-5DBKW7F3.js.br +0 -0
- package/dist/{chunk-JKSUB7DR.js.gz → chunk-5DBKW7F3.js.gz} +0 -0
- package/dist/{chunk-46VMP4EH.mjs → chunk-5ZW3GP6C.mjs} +4 -4
- package/dist/chunk-5ZW3GP6C.mjs.br +0 -0
- package/dist/chunk-5ZW3GP6C.mjs.gz +0 -0
- package/dist/{chunk-FYYQ4OGF.mjs → chunk-G5JGUSBL.mjs} +12 -5
- package/dist/chunk-G5JGUSBL.mjs.br +0 -0
- package/dist/chunk-G5JGUSBL.mjs.gz +0 -0
- package/dist/{chunk-PX46BOMQ.js → chunk-LUKGXRHZ.js} +571 -561
- package/dist/chunk-LUKGXRHZ.js.br +0 -0
- package/dist/chunk-LUKGXRHZ.js.gz +0 -0
- package/dist/{chunk-7UFO4OZQ.js → chunk-PNDORR6S.js} +1 -1
- package/dist/chunk-PNDORR6S.js.br +0 -0
- package/dist/chunk-PNDORR6S.js.gz +0 -0
- package/dist/{chunk-73SDWM6K.js → chunk-VGU5S37T.js} +212 -205
- package/dist/chunk-VGU5S37T.js.br +0 -0
- package/dist/chunk-VGU5S37T.js.gz +0 -0
- package/dist/{chunk-SHI3PQ5F.mjs → chunk-VMX3IDQB.mjs} +16 -6
- package/dist/chunk-VMX3IDQB.mjs.br +0 -0
- package/dist/chunk-VMX3IDQB.mjs.gz +0 -0
- package/dist/{chunk-SGWF6GUX.mjs → chunk-WAIX4VJ2.mjs} +1 -1
- package/dist/chunk-WAIX4VJ2.mjs.br +0 -0
- package/dist/chunk-WAIX4VJ2.mjs.gz +0 -0
- package/dist/i18n/de.cjs +5 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +5 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +5 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +5 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +5 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +5 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +5 -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 +5 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/index.js +27 -27
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.js +81 -81
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +2 -2
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer-canvas.css +1 -1
- package/dist/pptx-viewer-canvas.css.br +0 -0
- package/dist/pptx-viewer-canvas.css.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.js +21 -21
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +4 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +3 -3
- package/dist/AiChatPanel-DRY6JUQE.js.br +0 -0
- package/dist/AiChatPanel-DRY6JUQE.js.gz +0 -0
- package/dist/AiChatPanel-KBSDSD5Y.mjs.br +0 -0
- package/dist/AiChatPanel-KBSDSD5Y.mjs.gz +0 -0
- package/dist/chunk-46VMP4EH.mjs.br +0 -0
- package/dist/chunk-46VMP4EH.mjs.gz +0 -0
- package/dist/chunk-73SDWM6K.js.br +0 -0
- package/dist/chunk-73SDWM6K.js.gz +0 -0
- package/dist/chunk-7UFO4OZQ.js.br +0 -0
- package/dist/chunk-7UFO4OZQ.js.gz +0 -0
- package/dist/chunk-FYYQ4OGF.mjs.br +0 -0
- package/dist/chunk-FYYQ4OGF.mjs.gz +0 -0
- package/dist/chunk-JKSUB7DR.js.br +0 -0
- package/dist/chunk-PX46BOMQ.js.br +0 -0
- package/dist/chunk-PX46BOMQ.js.gz +0 -0
- package/dist/chunk-SGWF6GUX.mjs.br +0 -0
- package/dist/chunk-SGWF6GUX.mjs.gz +0 -0
- package/dist/chunk-SHI3PQ5F.mjs.br +0 -0
- package/dist/chunk-SHI3PQ5F.mjs.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5DBKW7F3_js = require('./chunk-5DBKW7F3.js');
|
|
4
4
|
var pptx = require('ooxml-ui/pptx');
|
|
5
5
|
var React17 = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -604,9 +604,9 @@ function differsOnlyInMasterSet(previous, next) {
|
|
|
604
604
|
}
|
|
605
605
|
function recordExplicitSlideUpdate(history, previous, before, label) {
|
|
606
606
|
if (previous && serializeHistoryDocument(previous) !== serializeHistoryDocument(before)) {
|
|
607
|
-
history.record(
|
|
607
|
+
history.record(chunk5DBKW7F3_js.cloneHistorySnapshot(previous), previous.actionLabel);
|
|
608
608
|
}
|
|
609
|
-
history.record({ ...
|
|
609
|
+
history.record({ ...chunk5DBKW7F3_js.cloneHistorySnapshot(before), actionLabel: label }, label);
|
|
610
610
|
}
|
|
611
611
|
var POLL_INTERVAL_MS = 16;
|
|
612
612
|
function usePointerReleaseWakeup(hasActivePointerInteraction) {
|
|
@@ -688,8 +688,8 @@ function useEditorHistory(input) {
|
|
|
688
688
|
width: canvasSize.width,
|
|
689
689
|
height: canvasSize.height,
|
|
690
690
|
activeSlideIndex,
|
|
691
|
-
slides: slides.map(
|
|
692
|
-
templateElementsBySlideId:
|
|
691
|
+
slides: slides.map(chunk5DBKW7F3_js.cloneSlide),
|
|
692
|
+
templateElementsBySlideId: chunk5DBKW7F3_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
|
|
693
693
|
...recordedTheme ? { theme: recordedTheme } : {},
|
|
694
694
|
...actionLabel ? { actionLabel } : {}
|
|
695
695
|
};
|
|
@@ -703,9 +703,9 @@ function useEditorHistory(input) {
|
|
|
703
703
|
width: snapshot.width,
|
|
704
704
|
height: snapshot.height
|
|
705
705
|
});
|
|
706
|
-
setSlides(snapshot.slides.map(
|
|
706
|
+
setSlides(snapshot.slides.map(chunk5DBKW7F3_js.cloneSlide));
|
|
707
707
|
setTemplateElementsBySlideId(
|
|
708
|
-
|
|
708
|
+
chunk5DBKW7F3_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
|
|
709
709
|
);
|
|
710
710
|
setActiveSlideIndex(Math.min(snapshot.activeSlideIndex, maxSlideIndex));
|
|
711
711
|
setSelectedElementIds([]);
|
|
@@ -771,8 +771,8 @@ function useEditorHistory(input) {
|
|
|
771
771
|
return;
|
|
772
772
|
}
|
|
773
773
|
isApplyingHistoryRef.current = true;
|
|
774
|
-
const nextSnapshot =
|
|
775
|
-
lastHistorySnapshotRef.current =
|
|
774
|
+
const nextSnapshot = chunk5DBKW7F3_js.cloneHistorySnapshot(result.snapshot);
|
|
775
|
+
lastHistorySnapshotRef.current = chunk5DBKW7F3_js.cloneHistorySnapshot(nextSnapshot);
|
|
776
776
|
lastHistorySerializedRef.current = serializeHistoryDocument(nextSnapshot);
|
|
777
777
|
applyHistorySnapshot(nextSnapshot);
|
|
778
778
|
restoreTheme(currentSnapshot, nextSnapshot);
|
|
@@ -796,8 +796,8 @@ function useEditorHistory(input) {
|
|
|
796
796
|
return;
|
|
797
797
|
}
|
|
798
798
|
isApplyingHistoryRef.current = true;
|
|
799
|
-
const targetSnapshot =
|
|
800
|
-
lastHistorySnapshotRef.current =
|
|
799
|
+
const targetSnapshot = chunk5DBKW7F3_js.cloneHistorySnapshot(result.snapshot);
|
|
800
|
+
lastHistorySnapshotRef.current = chunk5DBKW7F3_js.cloneHistorySnapshot(targetSnapshot);
|
|
801
801
|
lastHistorySerializedRef.current = serializeHistoryDocument(targetSnapshot);
|
|
802
802
|
applyHistorySnapshot(targetSnapshot);
|
|
803
803
|
restoreTheme(currentSnapshot, targetSnapshot);
|
|
@@ -815,7 +815,7 @@ function useEditorHistory(input) {
|
|
|
815
815
|
(initialSnapshot) => {
|
|
816
816
|
history.clear();
|
|
817
817
|
if (initialSnapshot) {
|
|
818
|
-
const clonedInitial =
|
|
818
|
+
const clonedInitial = chunk5DBKW7F3_js.cloneHistorySnapshot(initialSnapshot);
|
|
819
819
|
lastHistorySnapshotRef.current = clonedInitial;
|
|
820
820
|
lastHistorySerializedRef.current = serializeHistoryDocument(clonedInitial);
|
|
821
821
|
} else {
|
|
@@ -889,16 +889,16 @@ function useEditorHistory(input) {
|
|
|
889
889
|
slides
|
|
890
890
|
]);
|
|
891
891
|
const commitSlides = (nextSlides, label, beforeSlides = slides, nextSlideMasters) => {
|
|
892
|
-
const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(
|
|
892
|
+
const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunk5DBKW7F3_js.cloneSlide) };
|
|
893
893
|
const { theme: beforeTheme, ...unthemed } = before;
|
|
894
894
|
const afterTheme = nextSlideMasters ? pptx.historyTheme(theme, nextSlideMasters) : beforeTheme;
|
|
895
895
|
const after = {
|
|
896
896
|
...unthemed,
|
|
897
|
-
slides: nextSlides.map(
|
|
897
|
+
slides: nextSlides.map(chunk5DBKW7F3_js.cloneSlide),
|
|
898
898
|
...afterTheme ? { theme: afterTheme } : {}
|
|
899
899
|
};
|
|
900
900
|
recordExplicitSlideUpdate(history, lastHistorySnapshotRef.current, before, label);
|
|
901
|
-
lastHistorySnapshotRef.current =
|
|
901
|
+
lastHistorySnapshotRef.current = chunk5DBKW7F3_js.cloneHistorySnapshot(after);
|
|
902
902
|
lastHistorySerializedRef.current = serializeHistoryDocument(after);
|
|
903
903
|
isApplyingHistoryRef.current = false;
|
|
904
904
|
setSlides(nextSlides);
|
|
@@ -1092,22 +1092,22 @@ function useZoomViewport({
|
|
|
1092
1092
|
selectedElements.forEach((element) => {
|
|
1093
1093
|
minX = Math.min(minX, element.x);
|
|
1094
1094
|
minY = Math.min(minY, element.y);
|
|
1095
|
-
maxX = Math.max(maxX, element.x + Math.max(element.width,
|
|
1096
|
-
maxY = Math.max(maxY, element.y + Math.max(element.height,
|
|
1095
|
+
maxX = Math.max(maxX, element.x + Math.max(element.width, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE));
|
|
1096
|
+
maxY = Math.max(maxY, element.y + Math.max(element.height, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE));
|
|
1097
1097
|
});
|
|
1098
1098
|
if (!Number.isFinite(minX) || !Number.isFinite(minY) || !Number.isFinite(maxX) || !Number.isFinite(maxY)) {
|
|
1099
1099
|
return;
|
|
1100
1100
|
}
|
|
1101
1101
|
const selectionBounds = { minX, minY, maxX, maxY };
|
|
1102
|
-
const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX,
|
|
1103
|
-
const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY,
|
|
1102
|
+
const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE);
|
|
1103
|
+
const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE);
|
|
1104
1104
|
const availableWidth = Math.max(
|
|
1105
|
-
effectiveEditorDimensions.width -
|
|
1106
|
-
|
|
1105
|
+
effectiveEditorDimensions.width - chunk5DBKW7F3_js.ZOOM_TO_SELECTION_PADDING,
|
|
1106
|
+
chunk5DBKW7F3_js.MIN_ELEMENT_SIZE
|
|
1107
1107
|
);
|
|
1108
1108
|
const availableHeight = Math.max(
|
|
1109
|
-
effectiveEditorDimensions.height -
|
|
1110
|
-
|
|
1109
|
+
effectiveEditorDimensions.height - chunk5DBKW7F3_js.ZOOM_TO_SELECTION_PADDING,
|
|
1110
|
+
chunk5DBKW7F3_js.MIN_ELEMENT_SIZE
|
|
1111
1111
|
);
|
|
1112
1112
|
const targetEditorScale = Math.min(
|
|
1113
1113
|
availableWidth / boundsWidth,
|
|
@@ -4026,8 +4026,8 @@ function useViewerCoreState(_input) {
|
|
|
4026
4026
|
const { slides, setSlides, slidesRef } = useSlideState();
|
|
4027
4027
|
const [templateElementsBySlideId, setTemplateElementsBySlideId] = React17.useState({});
|
|
4028
4028
|
const [canvasSize, setCanvasSize] = React17.useState({
|
|
4029
|
-
width:
|
|
4030
|
-
height:
|
|
4029
|
+
width: chunk5DBKW7F3_js.DEFAULT_CANVAS_WIDTH,
|
|
4030
|
+
height: chunk5DBKW7F3_js.DEFAULT_CANVAS_HEIGHT
|
|
4031
4031
|
});
|
|
4032
4032
|
const [slideSizeEmu, setSlideSizeEmu] = React17.useState();
|
|
4033
4033
|
const [activeSlideIndex, setActiveSlideIndex] = React17.useState(0);
|
|
@@ -4419,7 +4419,7 @@ function useLoadContent({
|
|
|
4419
4419
|
initialSlideRef.current = initialSlide;
|
|
4420
4420
|
const limitsRef = React17.useRef(limits);
|
|
4421
4421
|
limitsRef.current = limits;
|
|
4422
|
-
const { t } =
|
|
4422
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
4423
4423
|
const translateRef = React17.useRef(t);
|
|
4424
4424
|
translateRef.current = t;
|
|
4425
4425
|
const originalBufferRef = React17.useRef(null);
|
|
@@ -4519,12 +4519,12 @@ function useLoadContent({
|
|
|
4519
4519
|
}
|
|
4520
4520
|
resources.commit();
|
|
4521
4521
|
handlerRef.current = handler;
|
|
4522
|
-
const partition =
|
|
4522
|
+
const partition = chunk5DBKW7F3_js.partitionTemplateElements(nextSlides);
|
|
4523
4523
|
setSlides(partition.slides);
|
|
4524
4524
|
setTemplateElementsBySlideId(partition.templateElementsBySlideId);
|
|
4525
4525
|
setCanvasSize({
|
|
4526
|
-
width: parsed.width ??
|
|
4527
|
-
height: parsed.height ??
|
|
4526
|
+
width: parsed.width ?? chunk5DBKW7F3_js.DEFAULT_CANVAS_WIDTH,
|
|
4527
|
+
height: parsed.height ?? chunk5DBKW7F3_js.DEFAULT_CANVAS_HEIGHT
|
|
4528
4528
|
});
|
|
4529
4529
|
setSlideSizeEmu(
|
|
4530
4530
|
typeof parsed.widthEmu === "number" && typeof parsed.heightEmu === "number" && parsed.widthEmu > 0 && parsed.heightEmu > 0 ? {
|
|
@@ -4940,7 +4940,7 @@ function useElementOperations(input) {
|
|
|
4940
4940
|
);
|
|
4941
4941
|
return;
|
|
4942
4942
|
}
|
|
4943
|
-
if (
|
|
4943
|
+
if (chunk5DBKW7F3_js.isTemplateElementId(elementId)) {
|
|
4944
4944
|
const slideId = activeSlide?.id;
|
|
4945
4945
|
if (slideId) {
|
|
4946
4946
|
setTemplateElementsBySlideId((prev) => ({
|
|
@@ -5227,8 +5227,8 @@ function createCanvasGestures(getInput, frames = animationFrames) {
|
|
|
5227
5227
|
}
|
|
5228
5228
|
function paintResize(resize, transform) {
|
|
5229
5229
|
const { x, y } = transform;
|
|
5230
|
-
const width = Math.max(transform.width,
|
|
5231
|
-
const height = Math.max(transform.height,
|
|
5230
|
+
const width = Math.max(transform.width, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE);
|
|
5231
|
+
const height = Math.max(transform.height, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE);
|
|
5232
5232
|
resize.lastX = x;
|
|
5233
5233
|
resize.lastY = y;
|
|
5234
5234
|
resize.lastWidth = transform.width;
|
|
@@ -5285,7 +5285,7 @@ function createCanvasGestures(getInput, frames = animationFrames) {
|
|
|
5285
5285
|
getGridSize: () => getInput().gridSpacingPx,
|
|
5286
5286
|
getSnapToShape: () => getInput().snapToShape,
|
|
5287
5287
|
getGuides: () => getInput().guides.map(({ axis, position }) => ({ axis, position })),
|
|
5288
|
-
getMinSize: () =>
|
|
5288
|
+
getMinSize: () => chunk5DBKW7F3_js.MIN_ELEMENT_SIZE,
|
|
5289
5289
|
getSnapExcludeIds: () => armed?.kind === "move" ? Object.keys(armed.drag.startPositionsById) : [],
|
|
5290
5290
|
getStageOrigin: () => {
|
|
5291
5291
|
const rect = getInput().canvasStageRef.current?.getBoundingClientRect();
|
|
@@ -5366,7 +5366,7 @@ function commitMove(input, drag) {
|
|
|
5366
5366
|
const start = drag.startPositionsById[el.id];
|
|
5367
5367
|
return start ? { ...el, x: start.x + dx, y: start.y + dy } : el;
|
|
5368
5368
|
});
|
|
5369
|
-
return
|
|
5369
|
+
return chunk5DBKW7F3_js.applyReroutedConnectors(moved, chunk5DBKW7F3_js.rerouteConnectorsForMovedElements(moved, movedIds));
|
|
5370
5370
|
};
|
|
5371
5371
|
if (input.editTemplateMode) {
|
|
5372
5372
|
const slideId = input.activeSlide?.id;
|
|
@@ -5397,8 +5397,8 @@ function commitResize(input, resize) {
|
|
|
5397
5397
|
if (i !== input.activeSlideIndex) {
|
|
5398
5398
|
return s;
|
|
5399
5399
|
}
|
|
5400
|
-
const rerouted =
|
|
5401
|
-
return rerouted.length === 0 ? s : { ...s, elements:
|
|
5400
|
+
const rerouted = chunk5DBKW7F3_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
|
|
5401
|
+
return rerouted.length === 0 ? s : { ...s, elements: chunk5DBKW7F3_js.applyReroutedConnectors(s.elements, rerouted) };
|
|
5402
5402
|
})
|
|
5403
5403
|
);
|
|
5404
5404
|
}
|
|
@@ -6233,7 +6233,7 @@ function createStructuredElementHandlers(deps) {
|
|
|
6233
6233
|
return;
|
|
6234
6234
|
}
|
|
6235
6235
|
const resolved = resolveHyperlinkEditResult(data);
|
|
6236
|
-
if (resolved.url && !
|
|
6236
|
+
if (resolved.url && !chunk5DBKW7F3_js.isUrlSafe(resolved.url)) {
|
|
6237
6237
|
return;
|
|
6238
6238
|
}
|
|
6239
6239
|
const actionClick = {
|
|
@@ -6279,7 +6279,7 @@ function createStructuredElementHandlers(deps) {
|
|
|
6279
6279
|
if (!activeSlide) {
|
|
6280
6280
|
return;
|
|
6281
6281
|
}
|
|
6282
|
-
const preset =
|
|
6282
|
+
const preset = chunk5DBKW7F3_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
|
|
6283
6283
|
if (!preset) {
|
|
6284
6284
|
return;
|
|
6285
6285
|
}
|
|
@@ -6366,7 +6366,7 @@ function useInsertElements(input) {
|
|
|
6366
6366
|
width: 300,
|
|
6367
6367
|
height: 60,
|
|
6368
6368
|
text: "",
|
|
6369
|
-
textStyle: { fontSize:
|
|
6369
|
+
textStyle: { fontSize: chunk5DBKW7F3_js.DEFAULT_TEXT_FONT_SIZE }
|
|
6370
6370
|
});
|
|
6371
6371
|
};
|
|
6372
6372
|
const handleAddShape = () => {
|
|
@@ -6388,7 +6388,7 @@ function useInsertElements(input) {
|
|
|
6388
6388
|
}
|
|
6389
6389
|
});
|
|
6390
6390
|
};
|
|
6391
|
-
const handleAddTable = (rows =
|
|
6391
|
+
const handleAddTable = (rows = chunk5DBKW7F3_js.DEFAULT_TABLE_ROWS, columns = chunk5DBKW7F3_js.DEFAULT_TABLE_COLUMNS) => {
|
|
6392
6392
|
if (!activeSlide) {
|
|
6393
6393
|
return;
|
|
6394
6394
|
}
|
|
@@ -6562,7 +6562,7 @@ function useGroupAlignLayerHandlers(input) {
|
|
|
6562
6562
|
history
|
|
6563
6563
|
} = input;
|
|
6564
6564
|
const updateElementsOwning = (elementId, updater) => {
|
|
6565
|
-
if (editTemplateMode && !
|
|
6565
|
+
if (editTemplateMode && !chunk5DBKW7F3_js.isTemplateElementId(elementId)) {
|
|
6566
6566
|
ops.updateSlides(
|
|
6567
6567
|
(prev) => prev.map(
|
|
6568
6568
|
(slide, index) => index === activeSlideIndex ? { ...slide, elements: updater(slide.elements) } : slide
|
|
@@ -6596,9 +6596,9 @@ function useGroupAlignLayerHandlers(input) {
|
|
|
6596
6596
|
return;
|
|
6597
6597
|
}
|
|
6598
6598
|
const group = selectedElement;
|
|
6599
|
-
const intoTemplate =
|
|
6599
|
+
const intoTemplate = chunk5DBKW7F3_js.isTemplateElementId(group.id);
|
|
6600
6600
|
const childIds = group.children.map(
|
|
6601
|
-
(child) => intoTemplate ?
|
|
6601
|
+
(child) => intoTemplate ? chunk5DBKW7F3_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
|
|
6602
6602
|
);
|
|
6603
6603
|
const { elements, childIds: usedIds } = pptx.ungroupElements(
|
|
6604
6604
|
ops.activeElements,
|
|
@@ -7034,7 +7034,7 @@ function createTableMergeHandlers(input) {
|
|
|
7034
7034
|
if (!nextCell || nextCell.hMerge || nextCell.vMerge) {
|
|
7035
7035
|
return;
|
|
7036
7036
|
}
|
|
7037
|
-
const newTableData =
|
|
7037
|
+
const newTableData = chunk5DBKW7F3_js.mergeCells(
|
|
7038
7038
|
[
|
|
7039
7039
|
{ row: rowIndex, col: columnIndex },
|
|
7040
7040
|
{ row: rowIndex, col: nextColIdx }
|
|
@@ -7042,7 +7042,7 @@ function createTableMergeHandlers(input) {
|
|
|
7042
7042
|
td
|
|
7043
7043
|
);
|
|
7044
7044
|
const updates = { tableData: newTableData };
|
|
7045
|
-
const newRawXml =
|
|
7045
|
+
const newRawXml = chunk5DBKW7F3_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
|
|
7046
7046
|
if (newRawXml) {
|
|
7047
7047
|
updates.rawXml = newRawXml;
|
|
7048
7048
|
}
|
|
@@ -7068,7 +7068,7 @@ function createTableMergeHandlers(input) {
|
|
|
7068
7068
|
if (!targetNextCell || targetNextCell.hMerge || targetNextCell.vMerge) {
|
|
7069
7069
|
return;
|
|
7070
7070
|
}
|
|
7071
|
-
const newTableData =
|
|
7071
|
+
const newTableData = chunk5DBKW7F3_js.mergeCells(
|
|
7072
7072
|
[
|
|
7073
7073
|
{ row: rowIndex, col: columnIndex },
|
|
7074
7074
|
{ row: targetNextRowIdx, col: columnIndex }
|
|
@@ -7076,7 +7076,7 @@ function createTableMergeHandlers(input) {
|
|
|
7076
7076
|
td
|
|
7077
7077
|
);
|
|
7078
7078
|
const updates = { tableData: newTableData };
|
|
7079
|
-
const newRawXml =
|
|
7079
|
+
const newRawXml = chunk5DBKW7F3_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
|
|
7080
7080
|
if (newRawXml) {
|
|
7081
7081
|
updates.rawXml = newRawXml;
|
|
7082
7082
|
}
|
|
@@ -7091,9 +7091,9 @@ function createTableMergeHandlers(input) {
|
|
|
7091
7091
|
return;
|
|
7092
7092
|
}
|
|
7093
7093
|
const td = selectedElement.tableData;
|
|
7094
|
-
const newTableData =
|
|
7094
|
+
const newTableData = chunk5DBKW7F3_js.mergeCells(ts.selectedCells, td);
|
|
7095
7095
|
const updates = { tableData: newTableData };
|
|
7096
|
-
const newRawXml =
|
|
7096
|
+
const newRawXml = chunk5DBKW7F3_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
|
|
7097
7097
|
if (newRawXml) {
|
|
7098
7098
|
updates.rawXml = newRawXml;
|
|
7099
7099
|
}
|
|
@@ -7110,9 +7110,9 @@ function createTableMergeHandlers(input) {
|
|
|
7110
7110
|
}
|
|
7111
7111
|
const { rowIndex, columnIndex } = ts;
|
|
7112
7112
|
const td = selectedElement.tableData;
|
|
7113
|
-
const newTableData =
|
|
7113
|
+
const newTableData = chunk5DBKW7F3_js.splitCell(rowIndex, columnIndex, td);
|
|
7114
7114
|
const updates = { tableData: newTableData };
|
|
7115
|
-
const newRawXml =
|
|
7115
|
+
const newRawXml = chunk5DBKW7F3_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
|
|
7116
7116
|
if (newRawXml) {
|
|
7117
7117
|
updates.rawXml = newRawXml;
|
|
7118
7118
|
}
|
|
@@ -7147,7 +7147,7 @@ function createTableStructHandlers(input) {
|
|
|
7147
7147
|
updates.tableData = pptx.setCellText(el, rowIndex, colIndex, text).tableData;
|
|
7148
7148
|
}
|
|
7149
7149
|
if (el.rawXml) {
|
|
7150
|
-
const newRawXml =
|
|
7150
|
+
const newRawXml = chunk5DBKW7F3_js.updateCellTextInRawXml(el, rowIndex, colIndex, text);
|
|
7151
7151
|
if (newRawXml) {
|
|
7152
7152
|
updates.rawXml = newRawXml;
|
|
7153
7153
|
}
|
|
@@ -7171,7 +7171,7 @@ function createTableStructHandlers(input) {
|
|
|
7171
7171
|
const { rowIndex, columnIndex: colIndex } = ts;
|
|
7172
7172
|
const updates = {};
|
|
7173
7173
|
if (selectedElement.rawXml) {
|
|
7174
|
-
const newRawXml =
|
|
7174
|
+
const newRawXml = chunk5DBKW7F3_js.updateCellTextStyleInRawXml(
|
|
7175
7175
|
selectedElement,
|
|
7176
7176
|
rowIndex,
|
|
7177
7177
|
colIndex,
|
|
@@ -7349,7 +7349,7 @@ function useExportSaveAs(input) {
|
|
|
7349
7349
|
const sourceName = filePath ? filePath.replace(/\\/gu, "/").split("/").pop() : void 0;
|
|
7350
7350
|
const slideSize = pptx.resolveSlideSizeSelection({ current: slideSizeEmu, canvas: canvasSize }).size;
|
|
7351
7351
|
const data = {
|
|
7352
|
-
slides:
|
|
7352
|
+
slides: chunk5DBKW7F3_js.buildSaveSlides(slides, templateElementsBySlideId),
|
|
7353
7353
|
width: canvasSize.width,
|
|
7354
7354
|
height: canvasSize.height,
|
|
7355
7355
|
widthEmu: slideSize.widthEmu,
|
|
@@ -7512,7 +7512,7 @@ async function captureSlidesAsPngDataUrls(slideStageRef, slideIndices, setActive
|
|
|
7512
7512
|
}
|
|
7513
7513
|
function tilesToPdfPage(tilesResult) {
|
|
7514
7514
|
return tilesResult.tiles.map((tile) => ({
|
|
7515
|
-
image:
|
|
7515
|
+
image: chunk5DBKW7F3_js.canvasToJpegData(tile.canvas),
|
|
7516
7516
|
placement: pptx.placeTileOnPage(
|
|
7517
7517
|
tile,
|
|
7518
7518
|
tilesResult.fullWidth,
|
|
@@ -7545,7 +7545,7 @@ async function exportAllSlidesAsPdf(slideStageRef, totalSlides, setActiveSlide,
|
|
|
7545
7545
|
if (pages.length === 0) {
|
|
7546
7546
|
throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesPdf"]);
|
|
7547
7547
|
}
|
|
7548
|
-
const pdfBlobUrl =
|
|
7548
|
+
const pdfBlobUrl = chunk5DBKW7F3_js.buildPdfFromTiledImageData(pages);
|
|
7549
7549
|
pptx.downloadDataUrl(pdfBlobUrl, filename);
|
|
7550
7550
|
}
|
|
7551
7551
|
async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, slideNotes, filename = "presentation-notes.pdf", options = {}) {
|
|
@@ -7575,7 +7575,7 @@ async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSl
|
|
|
7575
7575
|
if (pages.length === 0) {
|
|
7576
7576
|
throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesNotesPdf"]);
|
|
7577
7577
|
}
|
|
7578
|
-
const pdfDataUrl =
|
|
7578
|
+
const pdfDataUrl = chunk5DBKW7F3_js.buildNotesPdf(pages);
|
|
7579
7579
|
pptx.downloadDataUrl(pdfDataUrl, filename);
|
|
7580
7580
|
}
|
|
7581
7581
|
async function exportAllSlidesAsVideo(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, options = {}) {
|
|
@@ -8153,13 +8153,13 @@ function usePrintHandlers(input) {
|
|
|
8153
8153
|
const { slides, activeSlideIndex, canvasStageRef, setActiveSlideIndex, canvasSize } = input;
|
|
8154
8154
|
const handoutMaster = input.handoutMaster ?? input.pptxData?.handoutMaster;
|
|
8155
8155
|
const [isPrintDialogOpen, setIsPrintDialogOpen] = React17.useState(false);
|
|
8156
|
-
const { t } =
|
|
8156
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
8157
8157
|
const viewerOptions = useViewerOptionsContext();
|
|
8158
8158
|
const printRasterScale = (viewerOptions.advanced.printHighQuality ? 4 : 3) * pptx.resolveImageResolutionScale(viewerOptions);
|
|
8159
8159
|
const handlePrint = () => {
|
|
8160
8160
|
setIsPrintDialogOpen(true);
|
|
8161
8161
|
};
|
|
8162
|
-
const deckSlides = () => input.templateElementsBySlideId ?
|
|
8162
|
+
const deckSlides = () => input.templateElementsBySlideId ? chunk5DBKW7F3_js.buildSaveSlides(slides, input.templateElementsBySlideId) : slides;
|
|
8163
8163
|
const plan = (settings, deck) => pptx.planPrintJob(settings, {
|
|
8164
8164
|
slides: deck,
|
|
8165
8165
|
activeSlideIndex,
|
|
@@ -8574,7 +8574,7 @@ function usePropertyHandlers(input) {
|
|
|
8574
8574
|
width: canvasSize.width,
|
|
8575
8575
|
height: canvasSize.height
|
|
8576
8576
|
};
|
|
8577
|
-
setCompareResult(
|
|
8577
|
+
setCompareResult(chunk5DBKW7F3_js.comparePresentation(cur, other));
|
|
8578
8578
|
setIsComparePanelOpen(true);
|
|
8579
8579
|
} catch (err) {
|
|
8580
8580
|
console.warn("Compare failed:", err);
|
|
@@ -8627,7 +8627,7 @@ function usePropertyHandlers(input) {
|
|
|
8627
8627
|
};
|
|
8628
8628
|
}
|
|
8629
8629
|
function useDialogCustomShows(input) {
|
|
8630
|
-
const { t } =
|
|
8630
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
8631
8631
|
const {
|
|
8632
8632
|
activeSlide,
|
|
8633
8633
|
customShows,
|
|
@@ -8952,7 +8952,7 @@ function useViewerDialogs(input) {
|
|
|
8952
8952
|
};
|
|
8953
8953
|
}
|
|
8954
8954
|
function computeGridSpacingPx(documentGridSpacing) {
|
|
8955
|
-
return pptx.computeGridSpacingPx(documentGridSpacing,
|
|
8955
|
+
return pptx.computeGridSpacingPx(documentGridSpacing, chunk5DBKW7F3_js.GRID_SIZE);
|
|
8956
8956
|
}
|
|
8957
8957
|
function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, presentationProperties) {
|
|
8958
8958
|
const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
|
|
@@ -8961,7 +8961,7 @@ function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, pre
|
|
|
8961
8961
|
}
|
|
8962
8962
|
function computeSlideSectionGroups(slides, sections) {
|
|
8963
8963
|
return pptx.groupSlidesBySection(sections, slides).map((group) => ({
|
|
8964
|
-
id: group.section?.id ?? (sections.length > 0 ?
|
|
8964
|
+
id: group.section?.id ?? (sections.length > 0 ? chunk5DBKW7F3_js.UNGROUPED_SECTION_ID : chunk5DBKW7F3_js.DEFAULT_SECTION_GROUP_ID),
|
|
8965
8965
|
label: group.section?.name ?? (sections.length > 0 ? "Ungrouped Slides" : "Slides"),
|
|
8966
8966
|
slideIndexes: group.slideIndexes,
|
|
8967
8967
|
...group.section?.color !== void 0 ? { color: group.section.color } : {},
|
|
@@ -8980,7 +8980,7 @@ function computeMasterPseudoSlide(mode, activeLayout, activeMaster) {
|
|
|
8980
8980
|
});
|
|
8981
8981
|
}
|
|
8982
8982
|
function useDerivedSlideState(input) {
|
|
8983
|
-
const { t } =
|
|
8983
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
8984
8984
|
const {
|
|
8985
8985
|
slides,
|
|
8986
8986
|
sections,
|
|
@@ -9006,10 +9006,10 @@ function useDerivedSlideState(input) {
|
|
|
9006
9006
|
);
|
|
9007
9007
|
const slideSectionGroups = React17.useMemo(
|
|
9008
9008
|
() => computeSlideSectionGroups(slides, sections).map((group) => {
|
|
9009
|
-
if (group.id ===
|
|
9009
|
+
if (group.id === chunk5DBKW7F3_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
|
|
9010
9010
|
return { ...group, label: t("pptx.slides.ungroupedSlides") };
|
|
9011
9011
|
}
|
|
9012
|
-
if (group.id ===
|
|
9012
|
+
if (group.id === chunk5DBKW7F3_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
|
|
9013
9013
|
return { ...group, label: t("pptx.sections.slides") };
|
|
9014
9014
|
}
|
|
9015
9015
|
return group;
|
|
@@ -9116,7 +9116,7 @@ function useAnnotationHandlers(input) {
|
|
|
9116
9116
|
if (nextMode === "present") {
|
|
9117
9117
|
presentation.enterPresentMode();
|
|
9118
9118
|
} else if (mode === "present" && annotations.hasAnyAnnotations) {
|
|
9119
|
-
|
|
9119
|
+
chunk5DBKW7F3_js.stopAllPersistentAudio();
|
|
9120
9120
|
if (promptKeepInkAnnotations) {
|
|
9121
9121
|
pendingModeAfterAnnotationsRef.current = nextMode;
|
|
9122
9122
|
setShowKeepAnnotationsDialog(true);
|
|
@@ -9126,7 +9126,7 @@ function useAnnotationHandlers(input) {
|
|
|
9126
9126
|
}
|
|
9127
9127
|
} else {
|
|
9128
9128
|
if (mode === "present") {
|
|
9129
|
-
|
|
9129
|
+
chunk5DBKW7F3_js.stopAllPersistentAudio();
|
|
9130
9130
|
}
|
|
9131
9131
|
setMode(nextMode);
|
|
9132
9132
|
}
|
|
@@ -9294,7 +9294,7 @@ function useSerialize(input) {
|
|
|
9294
9294
|
guides: pptxGuides.length > 0 ? pptxGuides : void 0
|
|
9295
9295
|
};
|
|
9296
9296
|
});
|
|
9297
|
-
const slidesToSave =
|
|
9297
|
+
const slidesToSave = chunk5DBKW7F3_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
|
|
9298
9298
|
const saveOptions = pptx.buildDeckSaveOptions({
|
|
9299
9299
|
// Without this the Slide Size card edited a viewer-only pixel value and
|
|
9300
9300
|
// the saved `p:sldSz` never moved: passing `slideSize` is the only way a
|
|
@@ -9439,7 +9439,7 @@ function usePresentationSetup(input) {
|
|
|
9439
9439
|
return;
|
|
9440
9440
|
}
|
|
9441
9441
|
if (mode === "present" && nextMode !== "present") {
|
|
9442
|
-
|
|
9442
|
+
chunk5DBKW7F3_js.stopAllPersistentAudio();
|
|
9443
9443
|
stopAnimationSound();
|
|
9444
9444
|
const exitHandler = exitModeHandlerRef.current;
|
|
9445
9445
|
if (exitHandler) {
|
|
@@ -9560,7 +9560,7 @@ function useCanvasImagePaste(input) {
|
|
|
9560
9560
|
);
|
|
9561
9561
|
}
|
|
9562
9562
|
function formatPatchFor(element, format) {
|
|
9563
|
-
const updated =
|
|
9563
|
+
const updated = chunk5DBKW7F3_js.applyFormatToElement(element, format);
|
|
9564
9564
|
const updates = {};
|
|
9565
9565
|
if (pptx$1.hasShapeProperties(updated)) {
|
|
9566
9566
|
updates.shapeStyle = updated.shapeStyle;
|
|
@@ -9583,7 +9583,7 @@ function useFormatPainterEditing(input) {
|
|
|
9583
9583
|
const prevFormatPainterRef = React17.useRef(false);
|
|
9584
9584
|
React17.useEffect(() => {
|
|
9585
9585
|
if (formatPainterActive && !prevFormatPainterRef.current && selectedElement) {
|
|
9586
|
-
copiedFormatRef.current =
|
|
9586
|
+
copiedFormatRef.current = chunk5DBKW7F3_js.copyFormatFromElement(selectedElement);
|
|
9587
9587
|
} else if (!formatPainterActive) {
|
|
9588
9588
|
copiedFormatRef.current = null;
|
|
9589
9589
|
}
|
|
@@ -11220,7 +11220,7 @@ function useCollaborationWriteBack(input) {
|
|
|
11220
11220
|
getSourceBytes: () => latest.current.getSourceBytes?.() ?? null,
|
|
11221
11221
|
getSaveOptions: () => latest.current.getSaveOptions?.(),
|
|
11222
11222
|
getTemplateElements: () => latest.current.templateElementsBySlideId,
|
|
11223
|
-
mergeTemplateElements:
|
|
11223
|
+
mergeTemplateElements: chunk5DBKW7F3_js.buildSaveSlides,
|
|
11224
11224
|
onWriteBackStatus: () => latest.current.onWriteBackStatus?.(
|
|
11225
11225
|
pptx.writeBackReport(latest.current.config, created.getState())
|
|
11226
11226
|
)
|
|
@@ -11777,8 +11777,8 @@ function useTouchGestures(input) {
|
|
|
11777
11777
|
}
|
|
11778
11778
|
const recognizer = pptx.createTouchGestureRecognizer({
|
|
11779
11779
|
getScale: () => scaleRef.current,
|
|
11780
|
-
minScale:
|
|
11781
|
-
maxScale:
|
|
11780
|
+
minScale: chunk5DBKW7F3_js.MIN_ZOOM_SCALE,
|
|
11781
|
+
maxScale: chunk5DBKW7F3_js.MAX_ZOOM_SCALE,
|
|
11782
11782
|
callbacks: {
|
|
11783
11783
|
onPinchZoom: (newScale) => callbacksRef.current.onPinchZoom?.(newScale),
|
|
11784
11784
|
onSwipe: (direction) => callbacksRef.current.onSwipe?.(direction),
|
|
@@ -11914,9 +11914,9 @@ function buildCanvasProps(input) {
|
|
|
11914
11914
|
}
|
|
11915
11915
|
};
|
|
11916
11916
|
const handleHyperlinkClick = (url, target) => {
|
|
11917
|
-
if (
|
|
11917
|
+
if (chunk5DBKW7F3_js.isPpactionUrl(url)) {
|
|
11918
11918
|
if (mode === "present") {
|
|
11919
|
-
const parsed =
|
|
11919
|
+
const parsed = chunk5DBKW7F3_js.parsePpactionUrl(url);
|
|
11920
11920
|
if (parsed) {
|
|
11921
11921
|
presentation.handlePresentationAction({
|
|
11922
11922
|
action: parsed.action,
|
|
@@ -12408,7 +12408,7 @@ function buildToolbarProps(input) {
|
|
|
12408
12408
|
markDirty: history.markDirty
|
|
12409
12409
|
}),
|
|
12410
12410
|
formatPainterActive: s.formatPainterActive,
|
|
12411
|
-
canActivateFormatPainter:
|
|
12411
|
+
canActivateFormatPainter: chunk5DBKW7F3_js.hasCopyableFormat(selectedElement),
|
|
12412
12412
|
onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
|
|
12413
12413
|
isSelectionPaneOpen: s.isSelectionPaneOpen,
|
|
12414
12414
|
onToggleSelectionPane: () => s.setIsSelectionPaneOpen((p) => !p),
|
|
@@ -13133,7 +13133,7 @@ function useViewerBuildingBlocks(input) {
|
|
|
13133
13133
|
} = input;
|
|
13134
13134
|
const collaborationConfig = pptx.resolveCollaborationConfig(input.collaboration);
|
|
13135
13135
|
const [collaborationReadOnly, setCollaborationReadOnly] = React17.useState(Boolean(collaborationConfig));
|
|
13136
|
-
const { t } =
|
|
13136
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
13137
13137
|
const [content, setContent] = React17.useState(incomingContent ?? null);
|
|
13138
13138
|
const [loadOrigin, setLoadOrigin] = React17.useState("bootstrap");
|
|
13139
13139
|
React17.useEffect(() => {
|
|
@@ -13335,23 +13335,23 @@ function ColorChangedImage({
|
|
|
13335
13335
|
className,
|
|
13336
13336
|
alt
|
|
13337
13337
|
}) {
|
|
13338
|
-
const tolerance = tolerancePct ??
|
|
13339
|
-
const cacheKey =
|
|
13338
|
+
const tolerance = tolerancePct ?? chunk5DBKW7F3_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
|
|
13339
|
+
const cacheKey = chunk5DBKW7F3_js.buildCacheKey(
|
|
13340
13340
|
src,
|
|
13341
13341
|
clrChange.clrFrom,
|
|
13342
13342
|
clrChange.clrTo,
|
|
13343
13343
|
tolerance,
|
|
13344
13344
|
Boolean(clrChange.clrToTransparent)
|
|
13345
13345
|
);
|
|
13346
|
-
const cached =
|
|
13346
|
+
const cached = chunk5DBKW7F3_js.getCachedResult(cacheKey);
|
|
13347
13347
|
const [processedSrc, setProcessedSrc] = React17.useState(cached ?? null);
|
|
13348
13348
|
React17.useEffect(() => {
|
|
13349
|
-
if (
|
|
13350
|
-
setProcessedSrc(
|
|
13349
|
+
if (chunk5DBKW7F3_js.getCachedResult(cacheKey)) {
|
|
13350
|
+
setProcessedSrc(chunk5DBKW7F3_js.getCachedResult(cacheKey) ?? null);
|
|
13351
13351
|
return;
|
|
13352
13352
|
}
|
|
13353
13353
|
let cancelled = false;
|
|
13354
|
-
|
|
13354
|
+
chunk5DBKW7F3_js.applyColorChange(
|
|
13355
13355
|
src,
|
|
13356
13356
|
clrChange.clrFrom,
|
|
13357
13357
|
clrChange.clrTo,
|
|
@@ -13359,7 +13359,7 @@ function ColorChangedImage({
|
|
|
13359
13359
|
Boolean(clrChange.clrToTransparent)
|
|
13360
13360
|
).then((result) => {
|
|
13361
13361
|
if (!cancelled) {
|
|
13362
|
-
|
|
13362
|
+
chunk5DBKW7F3_js.setCachedResult(cacheKey, result.dataUrl);
|
|
13363
13363
|
setProcessedSrc(result.dataUrl);
|
|
13364
13364
|
}
|
|
13365
13365
|
return void 0;
|
|
@@ -13451,7 +13451,7 @@ function TiledImageLayer({
|
|
|
13451
13451
|
cancelled = true;
|
|
13452
13452
|
};
|
|
13453
13453
|
}, [src]);
|
|
13454
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...
|
|
13454
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunk5DBKW7F3_js.getImageTilingStyle(element, nativeSize), ...style } });
|
|
13455
13455
|
}
|
|
13456
13456
|
function renderImageEffectDefinitions(element, excludeDuotone = false) {
|
|
13457
13457
|
return pptx.getImageSvgFilters(element).filter((definition) => !excludeDuotone || definition.id !== `duotone-${element.id}`).map((definition) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13520,7 +13520,7 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
13520
13520
|
...filter ? { filter } : {},
|
|
13521
13521
|
...opacity !== void 0 ? { opacity } : {}
|
|
13522
13522
|
};
|
|
13523
|
-
if (
|
|
13523
|
+
if (chunk5DBKW7F3_js.isImageTiled(el)) {
|
|
13524
13524
|
const tileSrc = imgSrc(el);
|
|
13525
13525
|
if (!tileSrc) {
|
|
13526
13526
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-gray-500 bg-gray-100", children: "Image" });
|
|
@@ -13542,9 +13542,9 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
13542
13542
|
pptx$1.isImageLikeElement(el) ? el.imageEffects?.colorWash : void 0
|
|
13543
13543
|
);
|
|
13544
13544
|
const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
|
|
13545
|
-
const duotoneColors =
|
|
13545
|
+
const duotoneColors = chunk5DBKW7F3_js.getDuotoneColors(el);
|
|
13546
13546
|
const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
|
|
13547
|
-
const filterForImg = useDuotoneCanvas ?
|
|
13547
|
+
const filterForImg = useDuotoneCanvas ? chunk5DBKW7F3_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
|
|
13548
13548
|
const canvasEffectStyles = {
|
|
13549
13549
|
...filterForImg ? { filter: filterForImg } : {},
|
|
13550
13550
|
...opacity !== void 0 ? { opacity } : {}
|
|
@@ -13620,10 +13620,10 @@ function SlideBackgroundImageLayer({
|
|
|
13620
13620
|
style: { zIndex: 0 },
|
|
13621
13621
|
children: renderImg(
|
|
13622
13622
|
backgroundElement,
|
|
13623
|
-
|
|
13624
|
-
|
|
13623
|
+
chunk5DBKW7F3_js.getImageRenderStyle(backgroundElement),
|
|
13624
|
+
chunk5DBKW7F3_js.getImageEffectsFilter(backgroundElement),
|
|
13625
13625
|
"",
|
|
13626
|
-
|
|
13626
|
+
chunk5DBKW7F3_js.getImageEffectsOpacity(backgroundElement)
|
|
13627
13627
|
)
|
|
13628
13628
|
}
|
|
13629
13629
|
);
|
|
@@ -13894,7 +13894,7 @@ function ChartElementView({
|
|
|
13894
13894
|
onUpdateElement,
|
|
13895
13895
|
animationState
|
|
13896
13896
|
}) {
|
|
13897
|
-
const { t } =
|
|
13897
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
13898
13898
|
const wrapperRef = React17.useRef(null);
|
|
13899
13899
|
const { selection, setSelection } = useChartPartSelection();
|
|
13900
13900
|
const [titleDraft, setTitleDraft] = React17.useState(null);
|
|
@@ -13909,7 +13909,7 @@ function ChartElementView({
|
|
|
13909
13909
|
pptx.getBarFacePicturePixelSampleVersion
|
|
13910
13910
|
);
|
|
13911
13911
|
const viewModel = React17.useMemo(() => {
|
|
13912
|
-
return canEdit ?
|
|
13912
|
+
return canEdit ? chunk5DBKW7F3_js.buildReactChartViewModel(element) : null;
|
|
13913
13913
|
}, [canEdit, element, barFacePictureSampleVersion]);
|
|
13914
13914
|
React17.useEffect(pptx.ensureChartInteractionStyles, []);
|
|
13915
13915
|
React17.useEffect(() => {
|
|
@@ -14014,9 +14014,9 @@ function ChartElementView({
|
|
|
14014
14014
|
textStyle: animationState?.textStyle,
|
|
14015
14015
|
onSelect: chart3D.onSelect,
|
|
14016
14016
|
onDrag: chart3D.onDrag,
|
|
14017
|
-
children:
|
|
14017
|
+
children: chunk5DBKW7F3_js.renderChartElement(renderedElement, (key) => t(key))
|
|
14018
14018
|
}
|
|
14019
|
-
) :
|
|
14019
|
+
) : chunk5DBKW7F3_js.renderChartElement(renderedElement, (key) => t(key)),
|
|
14020
14020
|
dragValue !== null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1 right-1 z-10 rounded bg-primary/90 px-1.5 py-0.5 text-[10px] font-medium text-white pointer-events-none", children: pptx.formatAxisValue(dragValue) }),
|
|
14021
14021
|
titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14022
14022
|
"input",
|
|
@@ -14044,7 +14044,7 @@ function ChartElementView({
|
|
|
14044
14044
|
);
|
|
14045
14045
|
}
|
|
14046
14046
|
function useActionAffordance(element, canInteract) {
|
|
14047
|
-
const { t } =
|
|
14047
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
14048
14048
|
pptx.ensureActionAffordanceStyles();
|
|
14049
14049
|
return React17.useMemo(
|
|
14050
14050
|
() => pptx.resolveElementActionAffordance(element, {
|
|
@@ -14322,7 +14322,7 @@ function ResizeHandles({
|
|
|
14322
14322
|
nonRotationTransform,
|
|
14323
14323
|
onRotate
|
|
14324
14324
|
}) {
|
|
14325
|
-
const { t } =
|
|
14325
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
14326
14326
|
const rotateRef = useRotateHandlePlacement(elementId, Boolean(onRotate));
|
|
14327
14327
|
const peStyle = forcePointerEvents ? { ...HANDLE_TOUCH_ACTION, pointerEvents: "auto" } : HANDLE_TOUCH_ACTION;
|
|
14328
14328
|
const resizeStyle = { ...HANDLE_TOUCH_ACTION, pointerEvents: "none" };
|
|
@@ -14355,7 +14355,7 @@ function ResizeHandles({
|
|
|
14355
14355
|
"aria-label": t("pptx.selectionOverlay.resize", { handle }),
|
|
14356
14356
|
"data-pptx-handle-kind": "resize",
|
|
14357
14357
|
"data-pptx-compact": true,
|
|
14358
|
-
className:
|
|
14358
|
+
className: chunk5DBKW7F3_js.cn(
|
|
14359
14359
|
"absolute z-10 group border-0 bg-transparent p-0",
|
|
14360
14360
|
RESIZE_DEFAULT_CLASSES,
|
|
14361
14361
|
posClass,
|
|
@@ -14381,7 +14381,7 @@ function ResizeHandles({
|
|
|
14381
14381
|
"div",
|
|
14382
14382
|
{
|
|
14383
14383
|
"data-pptx-handle-hit": true,
|
|
14384
|
-
className:
|
|
14384
|
+
className: chunk5DBKW7F3_js.cn(
|
|
14385
14385
|
"absolute -inset-px pointer-events-auto [--pptx-handle-hit-inset:-1px]",
|
|
14386
14386
|
corner ? "max-md:-inset-1.5 max-md:[--pptx-handle-hit-inset:-6px]" : "max-md:-inset-2 max-md:[--pptx-handle-hit-inset:-8px]"
|
|
14387
14387
|
),
|
|
@@ -14402,7 +14402,7 @@ function ResizeHandles({
|
|
|
14402
14402
|
"aria-label": t("pptx.selectionOverlay.rotate"),
|
|
14403
14403
|
"data-pptx-handle-kind": "rotate",
|
|
14404
14404
|
"data-pptx-compact": true,
|
|
14405
|
-
className:
|
|
14405
|
+
className: chunk5DBKW7F3_js.cn(
|
|
14406
14406
|
"absolute left-1/2 top-0 -translate-x-1/2 -translate-y-1/2 z-20 border-0 bg-transparent p-0 cursor-grab active:cursor-grabbing",
|
|
14407
14407
|
ROTATE_DEFAULT_CLASSES
|
|
14408
14408
|
),
|
|
@@ -14479,10 +14479,10 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14479
14479
|
const svgHeight = Math.max(el.height, 1);
|
|
14480
14480
|
const ss = shapeEl?.shapeStyle;
|
|
14481
14481
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
14482
|
-
const strokeColor =
|
|
14483
|
-
const strokePaint =
|
|
14484
|
-
const dashType =
|
|
14485
|
-
const dashArray =
|
|
14482
|
+
const strokeColor = chunk5DBKW7F3_js.normalizeHexColor(ss?.strokeColor, chunk5DBKW7F3_js.DEFAULT_STROKE_COLOR);
|
|
14483
|
+
const strokePaint = chunk5DBKW7F3_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
|
|
14484
|
+
const dashType = chunk5DBKW7F3_js.normalizeStrokeDashType(ss?.strokeDash);
|
|
14485
|
+
const dashArray = chunk5DBKW7F3_js.getSvgStrokeDasharray(
|
|
14486
14486
|
dashType,
|
|
14487
14487
|
Math.max(strokeWidth, 1),
|
|
14488
14488
|
ss?.customDashSegments
|
|
@@ -14493,14 +14493,14 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14493
14493
|
const markerSeed = el.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
14494
14494
|
const startMarkerId = `${markerSeed}-sel-start`;
|
|
14495
14495
|
const endMarkerId = `${markerSeed}-sel-end`;
|
|
14496
|
-
const compoundOffsets =
|
|
14497
|
-
const compoundWidths =
|
|
14496
|
+
const compoundOffsets = chunk5DBKW7F3_js.getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
14497
|
+
const compoundWidths = chunk5DBKW7F3_js.getCompoundLineWidths(compoundLine, strokeWidth);
|
|
14498
14498
|
const strokeCap = pptx.svgLineCap(ss?.lineCap);
|
|
14499
14499
|
const textEl = pptx$1.hasTextProperties(el) ? el : void 0;
|
|
14500
14500
|
const connectorText = textEl?.text?.trim() ?? "";
|
|
14501
14501
|
const connectorTextSegments = textEl?.textSegments;
|
|
14502
14502
|
const connectorTextStyle = textEl?.textStyle;
|
|
14503
|
-
const pathGeometry = shapeEl ?
|
|
14503
|
+
const pathGeometry = shapeEl ? chunk5DBKW7F3_js.getConnectorPathGeometry(shapeEl) : {
|
|
14504
14504
|
pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
|
|
14505
14505
|
startX: 0,
|
|
14506
14506
|
startY: 0,
|
|
@@ -14508,17 +14508,23 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14508
14508
|
endY: viewHeight
|
|
14509
14509
|
};
|
|
14510
14510
|
const hitTargetWidth = Math.max(strokeWidth * 3, 14);
|
|
14511
|
+
const snapTransform = pptx.connectorSnapTransform(
|
|
14512
|
+
el,
|
|
14513
|
+
!pptx.connectorNeedsPath(shapeEl?.shapeType),
|
|
14514
|
+
compoundOffsets.length,
|
|
14515
|
+
strokeWidth
|
|
14516
|
+
);
|
|
14511
14517
|
const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
|
|
14512
|
-
const lineShadow =
|
|
14513
|
-
const lineGlow =
|
|
14518
|
+
const lineShadow = chunk5DBKW7F3_js.buildLineShadowCss(el);
|
|
14519
|
+
const lineGlow = chunk5DBKW7F3_js.buildLineGlowFilter(el);
|
|
14514
14520
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14515
14521
|
"div",
|
|
14516
14522
|
{
|
|
14517
14523
|
"data-pptx-element": "true",
|
|
14518
14524
|
"data-element-id": el.id,
|
|
14519
|
-
role:
|
|
14520
|
-
"aria-label":
|
|
14521
|
-
"aria-roledescription":
|
|
14525
|
+
role: chunk5DBKW7F3_js.getAriaRole(el, { actionable: false }),
|
|
14526
|
+
"aria-label": chunk5DBKW7F3_js.getAriaLabel(el),
|
|
14527
|
+
"aria-roledescription": chunk5DBKW7F3_js.getAriaRoleDescription(el),
|
|
14522
14528
|
"aria-selected": isSelected ? true : void 0,
|
|
14523
14529
|
className: "absolute",
|
|
14524
14530
|
style: {
|
|
@@ -14551,14 +14557,14 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14551
14557
|
style: { overflow: "visible", pointerEvents: "none" },
|
|
14552
14558
|
children: [
|
|
14553
14559
|
/* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
|
|
14554
|
-
|
|
14560
|
+
chunk5DBKW7F3_js.renderConnectorMarker(
|
|
14555
14561
|
startMarkerId,
|
|
14556
14562
|
startArrow,
|
|
14557
14563
|
strokePaint,
|
|
14558
14564
|
ss?.connectorStartArrowWidth,
|
|
14559
14565
|
ss?.connectorStartArrowLength
|
|
14560
14566
|
),
|
|
14561
|
-
|
|
14567
|
+
chunk5DBKW7F3_js.renderConnectorMarker(
|
|
14562
14568
|
endMarkerId,
|
|
14563
14569
|
endArrow,
|
|
14564
14570
|
strokePaint,
|
|
@@ -14625,6 +14631,7 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14625
14631
|
compoundOffsets.map((offset, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
14626
14632
|
"path",
|
|
14627
14633
|
{
|
|
14634
|
+
"data-pptx-line": "",
|
|
14628
14635
|
d: pathGeometry.pathData,
|
|
14629
14636
|
fill: "none",
|
|
14630
14637
|
stroke: strokePaint,
|
|
@@ -14639,10 +14646,10 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
|
|
|
14639
14646
|
style: {
|
|
14640
14647
|
pointerEvents: "none",
|
|
14641
14648
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
14642
|
-
strokeWidth: pptx.
|
|
14649
|
+
strokeWidth: pptx.connectorStrandScreenWidth(compoundWidths, strokeWidth, idx),
|
|
14643
14650
|
...offset !== 0 ? {
|
|
14644
14651
|
transform: `translate(0, ${offset}px)`
|
|
14645
|
-
} : {}
|
|
14652
|
+
} : snapTransform ? { transform: snapTransform } : {}
|
|
14646
14653
|
}
|
|
14647
14654
|
},
|
|
14648
14655
|
idx
|
|
@@ -14767,14 +14774,14 @@ function getElementInteractionProps({
|
|
|
14767
14774
|
};
|
|
14768
14775
|
}
|
|
14769
14776
|
function renderDagDuotoneFilterForElement(el) {
|
|
14770
|
-
if (!
|
|
14777
|
+
if (!chunk5DBKW7F3_js.hasDagDuotoneEffect(el)) {
|
|
14771
14778
|
return null;
|
|
14772
14779
|
}
|
|
14773
14780
|
const duotone = el.shapeStyle?.dagDuotone;
|
|
14774
14781
|
if (!duotone) {
|
|
14775
14782
|
return null;
|
|
14776
14783
|
}
|
|
14777
|
-
return
|
|
14784
|
+
return chunk5DBKW7F3_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
|
|
14778
14785
|
}
|
|
14779
14786
|
function getContainerStyle({
|
|
14780
14787
|
el,
|
|
@@ -14802,10 +14809,10 @@ function getContainerStyle({
|
|
|
14802
14809
|
top: isFullscreenMedia ? fs.top : el.y,
|
|
14803
14810
|
width: isFullscreenMedia ? fs.width : painted.width,
|
|
14804
14811
|
...heightStyle,
|
|
14805
|
-
transform: isFullscreenMedia ? fs.transform :
|
|
14812
|
+
transform: isFullscreenMedia ? fs.transform : chunk5DBKW7F3_js.getElementTransform(el),
|
|
14806
14813
|
transformOrigin: "center",
|
|
14807
14814
|
overflow: overflowValue,
|
|
14808
|
-
clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ?
|
|
14815
|
+
clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunk5DBKW7F3_js.getCropShapeClipPath(el) : void 0,
|
|
14809
14816
|
zIndex: isFullscreenMedia ? fs.zIndex : zIndex,
|
|
14810
14817
|
visibility: animationState?.visible === false ? "hidden" : "visible",
|
|
14811
14818
|
animation: animationState?.cssAnimation,
|
|
@@ -14850,9 +14857,9 @@ function getContainerStyle({
|
|
|
14850
14857
|
function shapeParams(element) {
|
|
14851
14858
|
const style = pptx$1.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
14852
14859
|
const strokeWidth = pptx.paintedStrokeWidth(style);
|
|
14853
|
-
const strokeColor =
|
|
14854
|
-
const fillColor =
|
|
14855
|
-
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(
|
|
14860
|
+
const strokeColor = chunk5DBKW7F3_js.normalizeHexColor(style?.strokeColor, chunk5DBKW7F3_js.DEFAULT_STROKE_COLOR);
|
|
14861
|
+
const fillColor = chunk5DBKW7F3_js.normalizeHexColor(style?.fillColor, chunk5DBKW7F3_js.DEFAULT_FILL_COLOR);
|
|
14862
|
+
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk5DBKW7F3_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
14856
14863
|
return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
|
|
14857
14864
|
}
|
|
14858
14865
|
var Extrusion3DOverlayMemo = /* @__PURE__ */ React17__default.default.memo(
|
|
@@ -14960,7 +14967,7 @@ function ShapeEffectOverlay({
|
|
|
14960
14967
|
const fillOverlayStyle = overlay ? {
|
|
14961
14968
|
position: "absolute",
|
|
14962
14969
|
inset: 0,
|
|
14963
|
-
...pptx$1.isImageLikeElement(element) ?
|
|
14970
|
+
...pptx$1.isImageLikeElement(element) ? chunk5DBKW7F3_js.getImageSurfaceMaskStyle(element) : {},
|
|
14964
14971
|
background: overlay.color,
|
|
14965
14972
|
mixBlendMode: overlay.blendMode,
|
|
14966
14973
|
pointerEvents: "none"
|
|
@@ -15057,7 +15064,7 @@ function ShapeEffectOverlay({
|
|
|
15057
15064
|
style: {
|
|
15058
15065
|
// Never under one device pixel on screen (shared `device-pixel-stroke`).
|
|
15059
15066
|
strokeWidth: strand.cssStrokeWidth,
|
|
15060
|
-
transform: strand.offset !== 0 ? `translate(0, ${strand.offset}px)` : void 0
|
|
15067
|
+
transform: strand.cssTransform ?? (strand.offset !== 0 ? `translate(0, ${strand.offset}px)` : void 0)
|
|
15061
15068
|
}
|
|
15062
15069
|
},
|
|
15063
15070
|
idx
|
|
@@ -15169,10 +15176,10 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
|
|
|
15169
15176
|
const backgroundAnimationState = pptx.getBackgroundAnimationState(el, presentationElementStates);
|
|
15170
15177
|
const effectPlacement = pptx.getShapeEffectLayerPlacement(el);
|
|
15171
15178
|
const visualAnimationState = backgroundAnimationState ?? animationState;
|
|
15172
|
-
const isTxt =
|
|
15179
|
+
const isTxt = chunk5DBKW7F3_js.isEditableTextElement(el) && allow.textEditable;
|
|
15173
15180
|
const txtSE = pptx$1.hasTextProperties(el) ? el.textStyle : void 0;
|
|
15174
15181
|
const textStyleOverrideCss = pptx.buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
|
|
15175
|
-
const ss =
|
|
15182
|
+
const ss = chunk5DBKW7F3_js.getShapeVisualStyle(
|
|
15176
15183
|
el,
|
|
15177
15184
|
hf,
|
|
15178
15185
|
fc,
|
|
@@ -15181,9 +15188,9 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
|
|
|
15181
15188
|
visualAnimationState?.animatesFill,
|
|
15182
15189
|
visualAnimationState?.animatesStroke
|
|
15183
15190
|
);
|
|
15184
|
-
const ts =
|
|
15191
|
+
const ts = chunk5DBKW7F3_js.getTextStyleForElement(el, chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR);
|
|
15185
15192
|
const isImg = el.type === "picture" || el.type === "image";
|
|
15186
|
-
const vs =
|
|
15193
|
+
const vs = chunk5DBKW7F3_js.renderVectorShape(
|
|
15187
15194
|
el,
|
|
15188
15195
|
isImg ? false : hf,
|
|
15189
15196
|
fc,
|
|
@@ -15193,10 +15200,10 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
|
|
|
15193
15200
|
visualAnimationState?.animatesStroke
|
|
15194
15201
|
);
|
|
15195
15202
|
const isModel3D = el.type === "model3d";
|
|
15196
|
-
const isConn =
|
|
15203
|
+
const isConn = chunk5DBKW7F3_js.isConnectorOrLineElement(el);
|
|
15197
15204
|
const shapeStyle3d = pptx$1.hasShapeProperties(el) ? el.shapeStyle : void 0;
|
|
15198
15205
|
const extrusionData = React17.useMemo(
|
|
15199
|
-
() =>
|
|
15206
|
+
() => chunk5DBKW7F3_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
|
|
15200
15207
|
[shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
|
|
15201
15208
|
);
|
|
15202
15209
|
const actionAffordance = useActionAffordance(el, canInteract);
|
|
@@ -15287,7 +15294,7 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
|
|
|
15287
15294
|
"aria-hidden": aria.hidden ? true : void 0,
|
|
15288
15295
|
"aria-selected": isSelected ? true : void 0,
|
|
15289
15296
|
tabIndex: isFocusable ? 0 : -1,
|
|
15290
|
-
className:
|
|
15297
|
+
className: chunk5DBKW7F3_js.cn(
|
|
15291
15298
|
"absolute",
|
|
15292
15299
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
|
|
15293
15300
|
cur,
|
|
@@ -15360,9 +15367,9 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
|
|
|
15360
15367
|
txtSE,
|
|
15361
15368
|
txtS: ts,
|
|
15362
15369
|
vecShape: backgroundAnimationState && !isImg ? null : vs,
|
|
15363
|
-
imgStyle:
|
|
15364
|
-
imgFilter:
|
|
15365
|
-
imgOpacity:
|
|
15370
|
+
imgStyle: chunk5DBKW7F3_js.getImageRenderStyle(el),
|
|
15371
|
+
imgFilter: chunk5DBKW7F3_js.getImageEffectsFilter(el),
|
|
15372
|
+
imgOpacity: chunk5DBKW7F3_js.getImageEffectsOpacity(el),
|
|
15366
15373
|
imgAlt: imageAltText,
|
|
15367
15374
|
isTxtEl: isTxt,
|
|
15368
15375
|
media: mediaDataUrls,
|
|
@@ -15499,10 +15506,10 @@ function renderStrokeView(view, pressureSensitive, replayStyle, key) {
|
|
|
15499
15506
|
}
|
|
15500
15507
|
function renderInk(el, options) {
|
|
15501
15508
|
const replay = options?.replay ?? false;
|
|
15502
|
-
const strokes =
|
|
15509
|
+
const strokes = chunk5DBKW7F3_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
|
|
15503
15510
|
strokes.some((s) => s.circles || s.nibMarks);
|
|
15504
15511
|
const pressureSensitive = options?.pressureSensitive;
|
|
15505
|
-
const replayStyles = replay ?
|
|
15512
|
+
const replayStyles = replay ? chunk5DBKW7F3_js.getInkReplayStyles(el, options?.replayConfig) : null;
|
|
15506
15513
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15507
15514
|
"svg",
|
|
15508
15515
|
{
|
|
@@ -15510,7 +15517,7 @@ function renderInk(el, options) {
|
|
|
15510
15517
|
viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
|
|
15511
15518
|
preserveAspectRatio: "none",
|
|
15512
15519
|
children: [
|
|
15513
|
-
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
15520
|
+
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk5DBKW7F3_js.INK_REPLAY_KEYFRAMES }),
|
|
15514
15521
|
strokes.map(
|
|
15515
15522
|
(s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-ink-${i}`)
|
|
15516
15523
|
)
|
|
@@ -15521,7 +15528,7 @@ function renderInk(el, options) {
|
|
|
15521
15528
|
function renderGroup(children, parentGroupFill) {
|
|
15522
15529
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: pptx.filterRenderedElements(children).map((c, childIndex) => {
|
|
15523
15530
|
const { hf, fc, sw, sc } = shapeParams(c);
|
|
15524
|
-
const baseSs =
|
|
15531
|
+
const baseSs = chunk5DBKW7F3_js.getShapeVisualStyle(c, hf, fc, sw, sc);
|
|
15525
15532
|
const inheritedFill = pptx.resolveGroupChildFill(c, parentGroupFill);
|
|
15526
15533
|
const ss = inheritedFill ? {
|
|
15527
15534
|
...baseSs,
|
|
@@ -15532,9 +15539,9 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15532
15539
|
backgroundPosition: inheritedFill.backgroundPosition
|
|
15533
15540
|
} : baseSs;
|
|
15534
15541
|
const isI = c.type === "picture" || c.type === "image";
|
|
15535
|
-
const vs =
|
|
15536
|
-
const ts =
|
|
15537
|
-
const isTxt =
|
|
15542
|
+
const vs = chunk5DBKW7F3_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
|
|
15543
|
+
const ts = chunk5DBKW7F3_js.getTextStyleForElement(c, chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR);
|
|
15544
|
+
const isTxt = chunk5DBKW7F3_js.isEditableTextElement(c);
|
|
15538
15545
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15539
15546
|
"div",
|
|
15540
15547
|
{
|
|
@@ -15543,9 +15550,9 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15543
15550
|
style: {
|
|
15544
15551
|
left: c.x,
|
|
15545
15552
|
top: c.y,
|
|
15546
|
-
width: Math.max(c.width,
|
|
15547
|
-
height: Math.max(c.height,
|
|
15548
|
-
transform:
|
|
15553
|
+
width: Math.max(c.width, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE),
|
|
15554
|
+
height: Math.max(c.height, chunk5DBKW7F3_js.MIN_ELEMENT_SIZE),
|
|
15555
|
+
transform: chunk5DBKW7F3_js.getElementTransform(c),
|
|
15549
15556
|
transformOrigin: "center",
|
|
15550
15557
|
...ss,
|
|
15551
15558
|
...isI ? {
|
|
@@ -15570,8 +15577,8 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15570
15577
|
// A nested group: recurse, chaining the inherited fill so a
|
|
15571
15578
|
// `grpFill` shape under a fill-less sub-group still paints.
|
|
15572
15579
|
renderGroup(c.children, pptx.getGroupChildParentFill(c, parentGroupFill))
|
|
15573
|
-
) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style:
|
|
15574
|
-
|
|
15580
|
+
) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk5DBKW7F3_js.getImageSurfaceStyle(c), children: [
|
|
15581
|
+
chunk5DBKW7F3_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
15575
15582
|
TiledImageLayer,
|
|
15576
15583
|
{
|
|
15577
15584
|
element: c,
|
|
@@ -15584,7 +15591,7 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15584
15591
|
src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
|
|
15585
15592
|
alt: i18n.translationsEn["pptx.ink.groupChildAlt"],
|
|
15586
15593
|
className: "pointer-events-none select-none",
|
|
15587
|
-
style:
|
|
15594
|
+
style: chunk5DBKW7F3_js.getImageRenderStyle(c),
|
|
15588
15595
|
draggable: false
|
|
15589
15596
|
}
|
|
15590
15597
|
),
|
|
@@ -15596,7 +15603,7 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15596
15603
|
{
|
|
15597
15604
|
className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
|
|
15598
15605
|
style: ts,
|
|
15599
|
-
children:
|
|
15606
|
+
children: chunk5DBKW7F3_js.renderTextSegments(c, chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR)
|
|
15600
15607
|
}
|
|
15601
15608
|
) : null
|
|
15602
15609
|
] })
|
|
@@ -15610,8 +15617,8 @@ function renderContentPart(el, options) {
|
|
|
15610
15617
|
if (el.inkStrokes && el.inkStrokes.length > 0) {
|
|
15611
15618
|
const replay = options?.replay ?? false;
|
|
15612
15619
|
const pressureSensitive = options?.pressureSensitive ?? true;
|
|
15613
|
-
const strokes =
|
|
15614
|
-
const replayStyles = replay ?
|
|
15620
|
+
const strokes = chunk5DBKW7F3_js.buildContentPartStrokes(el);
|
|
15621
|
+
const replayStyles = replay ? chunk5DBKW7F3_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
|
|
15615
15622
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15616
15623
|
"svg",
|
|
15617
15624
|
{
|
|
@@ -15619,7 +15626,7 @@ function renderContentPart(el, options) {
|
|
|
15619
15626
|
viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
|
|
15620
15627
|
preserveAspectRatio: "none",
|
|
15621
15628
|
children: [
|
|
15622
|
-
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
15629
|
+
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk5DBKW7F3_js.INK_REPLAY_KEYFRAMES }),
|
|
15623
15630
|
strokes.map(
|
|
15624
15631
|
(s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-cp-ink-${i}`)
|
|
15625
15632
|
)
|
|
@@ -15846,9 +15853,9 @@ function useInlineListEditor(element, rootRef, onChange, onModelReplacement) {
|
|
|
15846
15853
|
collaboration: connected,
|
|
15847
15854
|
model: pptx.createInlineListModelObserver(element),
|
|
15848
15855
|
activationSelection,
|
|
15849
|
-
children: seed && !connected ?
|
|
15856
|
+
children: seed && !connected ? chunk5DBKW7F3_js.renderTextSegments(
|
|
15850
15857
|
element,
|
|
15851
|
-
|
|
15858
|
+
chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR,
|
|
15852
15859
|
void 0,
|
|
15853
15860
|
void 0,
|
|
15854
15861
|
void 0,
|
|
@@ -16084,8 +16091,8 @@ function InlineTextEditor({
|
|
|
16084
16091
|
pending.endOffset
|
|
16085
16092
|
);
|
|
16086
16093
|
});
|
|
16087
|
-
const warpStyle =
|
|
16088
|
-
const compensationTransform =
|
|
16094
|
+
const warpStyle = chunk5DBKW7F3_js.getTextWarpStyle(textStyleRaw);
|
|
16095
|
+
const compensationTransform = chunk5DBKW7F3_js.getTextCompensationTransform(element);
|
|
16089
16096
|
const warpTransform = warpStyle?.transform;
|
|
16090
16097
|
const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
|
|
16091
16098
|
const wrapperStyle = {
|
|
@@ -16093,7 +16100,7 @@ function InlineTextEditor({
|
|
|
16093
16100
|
...textStyle,
|
|
16094
16101
|
...warpStyle,
|
|
16095
16102
|
transform: mergedTransform,
|
|
16096
|
-
transformOrigin: warpStyle?.transformOrigin || (compensationTransform ?
|
|
16103
|
+
transformOrigin: warpStyle?.transformOrigin || (compensationTransform ? chunk5DBKW7F3_js.getTextCompensationOrigin(element) : "center")
|
|
16097
16104
|
};
|
|
16098
16105
|
const nextInlineStyleValue = (property) => {
|
|
16099
16106
|
if (!pptx$1.hasTextProperties(element)) {
|
|
@@ -16168,7 +16175,7 @@ function InlineTextEditor({
|
|
|
16168
16175
|
const text = e.clipboardData.getData("text/plain");
|
|
16169
16176
|
document.execCommand("insertText", false, text);
|
|
16170
16177
|
},
|
|
16171
|
-
children: list.seed ? list.children : seed.hasRichSegments ?
|
|
16178
|
+
children: list.seed ? list.children : seed.hasRichSegments ? chunk5DBKW7F3_js.renderTextSegments(element, chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR) : seed.initialText
|
|
16172
16179
|
},
|
|
16173
16180
|
list.seed?.paragraphs[0].token ?? "plain"
|
|
16174
16181
|
);
|
|
@@ -16333,7 +16340,7 @@ function OleActionFooter({
|
|
|
16333
16340
|
info,
|
|
16334
16341
|
showActions
|
|
16335
16342
|
}) {
|
|
16336
|
-
const { t } =
|
|
16343
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
16337
16344
|
if (!showActions || !info.canDownload || !el.oleEmbeddedData) {
|
|
16338
16345
|
return null;
|
|
16339
16346
|
}
|
|
@@ -16442,7 +16449,7 @@ function SmartArtInlineNodeEditor({
|
|
|
16442
16449
|
onCommit,
|
|
16443
16450
|
onCancel
|
|
16444
16451
|
}) {
|
|
16445
|
-
const { t } =
|
|
16452
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
16446
16453
|
const ref = React17__default.default.useRef(null);
|
|
16447
16454
|
const [value, setValue] = React17__default.default.useState(initialText);
|
|
16448
16455
|
const settled = React17__default.default.useRef(false);
|
|
@@ -17070,7 +17077,7 @@ function SmartArtRendererImpl({
|
|
|
17070
17077
|
onUpdateElement,
|
|
17071
17078
|
animationState
|
|
17072
17079
|
}) {
|
|
17073
|
-
const { t } =
|
|
17080
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
17074
17081
|
if (element.type !== "smartArt" || !element.smartArtData) {
|
|
17075
17082
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17076
17083
|
"div",
|
|
@@ -17316,7 +17323,7 @@ function groupIntoParagraphs(element, fieldContext) {
|
|
|
17316
17323
|
element,
|
|
17317
17324
|
fieldContext ? (seg) => {
|
|
17318
17325
|
if (seg.fieldType) {
|
|
17319
|
-
const substituted =
|
|
17326
|
+
const substituted = chunk5DBKW7F3_js.substituteFieldText(
|
|
17320
17327
|
seg.text,
|
|
17321
17328
|
seg.fieldType,
|
|
17322
17329
|
fieldContext,
|
|
@@ -17351,13 +17358,13 @@ function getSegmentTspanProps(segment, element, fallbackColor) {
|
|
|
17351
17358
|
if (s.strikethrough) {
|
|
17352
17359
|
decos.push("line-through");
|
|
17353
17360
|
}
|
|
17354
|
-
const fill = s.hyperlink ?
|
|
17361
|
+
const fill = s.hyperlink ? chunk5DBKW7F3_js.normalizeHexColor(s.color || element.textStyle?.color, chunk5DBKW7F3_js.HYPERLINK_COLOR) : chunk5DBKW7F3_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
|
|
17355
17362
|
return {
|
|
17356
17363
|
fill,
|
|
17357
|
-
fontSize: s.fontSize ?? element.textStyle?.fontSize ??
|
|
17364
|
+
fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunk5DBKW7F3_js.DEFAULT_TEXT_FONT_SIZE,
|
|
17358
17365
|
fontWeight: pptx.resolveFontWeight(s.fontFamily || element.textStyle?.fontFamily, s.bold),
|
|
17359
17366
|
fontStyle: pptx.resolveFontItalic(s.fontFamily || element.textStyle?.fontFamily, s.italic) ? "italic" : void 0,
|
|
17360
|
-
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(s.fontFamily || element.textStyle?.fontFamily || "") :
|
|
17367
|
+
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(s.fontFamily || element.textStyle?.fontFamily || "") : chunk5DBKW7F3_js.DEFAULT_FONT_FAMILY,
|
|
17361
17368
|
textDecoration: decos.length > 0 ? decos.join(" ") : void 0
|
|
17362
17369
|
};
|
|
17363
17370
|
}
|
|
@@ -17365,8 +17372,8 @@ function resolveSegmentFont(segment, element) {
|
|
|
17365
17372
|
const s = segment.style || {};
|
|
17366
17373
|
const family = s.fontFamily || element.textStyle?.fontFamily;
|
|
17367
17374
|
return {
|
|
17368
|
-
fontFamily: family ? pptx$1.getSubstituteFontFamily(family) :
|
|
17369
|
-
fontSizePx: s.fontSize ?? element.textStyle?.fontSize ??
|
|
17375
|
+
fontFamily: family ? pptx$1.getSubstituteFontFamily(family) : chunk5DBKW7F3_js.DEFAULT_FONT_FAMILY,
|
|
17376
|
+
fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunk5DBKW7F3_js.DEFAULT_TEXT_FONT_SIZE,
|
|
17370
17377
|
bold: s.bold ?? element.textStyle?.bold,
|
|
17371
17378
|
italic: s.italic ?? element.textStyle?.italic
|
|
17372
17379
|
};
|
|
@@ -17455,9 +17462,9 @@ function WarpedText({
|
|
|
17455
17462
|
const warpAdj2 = textEl.textStyle?.textWarpAdj2;
|
|
17456
17463
|
const align = textEl.textStyle?.align ?? "center";
|
|
17457
17464
|
const { startOffset, textAnchor } = getAlignmentProps(align);
|
|
17458
|
-
const baseFontSize = textEl.textStyle?.fontSize ??
|
|
17459
|
-
const baseFontFamily = textEl.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(textEl.textStyle.fontFamily) :
|
|
17460
|
-
const baseFill =
|
|
17465
|
+
const baseFontSize = textEl.textStyle?.fontSize ?? chunk5DBKW7F3_js.DEFAULT_TEXT_FONT_SIZE;
|
|
17466
|
+
const baseFontFamily = textEl.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(textEl.textStyle.fontFamily) : chunk5DBKW7F3_js.DEFAULT_FONT_FAMILY;
|
|
17467
|
+
const baseFill = chunk5DBKW7F3_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
|
|
17461
17468
|
if (pptx.hasGlyphEnvelope(preset)) {
|
|
17462
17469
|
const perLine = pptx.buildGlyphEnvelopeBlock(
|
|
17463
17470
|
preset,
|
|
@@ -17560,7 +17567,7 @@ function WarpedText({
|
|
|
17560
17567
|
var GLYPH_BY_SHAPE = /* @__PURE__ */ buildGlyphByShape();
|
|
17561
17568
|
function buildGlyphByShape() {
|
|
17562
17569
|
const glyphs = Object.fromEntries(
|
|
17563
|
-
|
|
17570
|
+
chunk5DBKW7F3_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
|
|
17564
17571
|
);
|
|
17565
17572
|
glyphs["actionButtonForwardOrNext"] = glyphs["actionButtonForwardNext"];
|
|
17566
17573
|
glyphs["actionButtonBackOrPrevious"] = glyphs["actionButtonBackPrevious"];
|
|
@@ -17634,7 +17641,7 @@ function renderTextElementBody(options) {
|
|
|
17634
17641
|
const useSvgWarp = pptx.shouldUseSvgWarp(
|
|
17635
17642
|
pptx$1.hasTextProperties(el) ? el.textStyle?.textWarpPreset : void 0
|
|
17636
17643
|
);
|
|
17637
|
-
const scene3dStyle = pptx$1.hasTextProperties(el) ?
|
|
17644
|
+
const scene3dStyle = pptx$1.hasTextProperties(el) ? chunk5DBKW7F3_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
|
|
17638
17645
|
const rotationTransform = pptx.getTextBodyRotationTransform(el);
|
|
17639
17646
|
const compensation = pptx.getTextCompensationStyle(el);
|
|
17640
17647
|
const composedTransform = [rotationTransform, compensation?.transform, scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
|
|
@@ -17667,18 +17674,18 @@ function renderTextElementBody(options) {
|
|
|
17667
17674
|
shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17668
17675
|
"div",
|
|
17669
17676
|
{
|
|
17670
|
-
className:
|
|
17677
|
+
className: chunk5DBKW7F3_js.cn(
|
|
17671
17678
|
"relative z-10 w-full h-full",
|
|
17672
17679
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
17673
17680
|
),
|
|
17674
|
-
style: { ...
|
|
17681
|
+
style: { ...chunk5DBKW7F3_js.getTextLayoutStyle(el), ...transformStyle },
|
|
17675
17682
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17676
17683
|
WarpedText,
|
|
17677
17684
|
{
|
|
17678
17685
|
element: el,
|
|
17679
17686
|
width: el.width,
|
|
17680
17687
|
height: el.height,
|
|
17681
|
-
fallbackColor:
|
|
17688
|
+
fallbackColor: chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR,
|
|
17682
17689
|
findHighlights: findHl,
|
|
17683
17690
|
fieldContext
|
|
17684
17691
|
}
|
|
@@ -17687,19 +17694,19 @@ function renderTextElementBody(options) {
|
|
|
17687
17694
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
17688
17695
|
"div",
|
|
17689
17696
|
{
|
|
17690
|
-
className:
|
|
17697
|
+
className: chunk5DBKW7F3_js.cn(
|
|
17691
17698
|
"relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
|
|
17692
17699
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
17693
17700
|
),
|
|
17694
17701
|
style: {
|
|
17695
|
-
...
|
|
17702
|
+
...chunk5DBKW7F3_js.getTextLayoutStyle(el),
|
|
17696
17703
|
...txtS,
|
|
17697
|
-
...
|
|
17704
|
+
...chunk5DBKW7F3_js.getTextWarpStyle(txtSE),
|
|
17698
17705
|
...transformStyle
|
|
17699
17706
|
},
|
|
17700
|
-
children:
|
|
17707
|
+
children: chunk5DBKW7F3_js.renderTextSegments(
|
|
17701
17708
|
el,
|
|
17702
|
-
|
|
17709
|
+
chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR,
|
|
17703
17710
|
void 0,
|
|
17704
17711
|
findHl,
|
|
17705
17712
|
onHyperlinkClick,
|
|
@@ -17720,7 +17727,7 @@ function ZoomElementRenderer({
|
|
|
17720
17727
|
onZoomClick,
|
|
17721
17728
|
sourceSlideIndex
|
|
17722
17729
|
}) {
|
|
17723
|
-
const { t } =
|
|
17730
|
+
const { t } = chunk5DBKW7F3_js.useTranslation();
|
|
17724
17731
|
const summaryView = pptx.buildSummaryZoomView(
|
|
17725
17732
|
element,
|
|
17726
17733
|
(index) => {
|
|
@@ -18018,7 +18025,7 @@ function renderBody(options) {
|
|
|
18018
18025
|
);
|
|
18019
18026
|
}
|
|
18020
18027
|
if (isImg) {
|
|
18021
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style:
|
|
18028
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk5DBKW7F3_js.getImageSurfaceStyle(el), children: [
|
|
18022
18029
|
renderImg(el, imgStyle, imgFilter, imgAlt, imgOpacity),
|
|
18023
18030
|
vecShape ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", children: vecShape }) : null
|
|
18024
18031
|
] });
|
|
@@ -18035,7 +18042,7 @@ function renderBody(options) {
|
|
|
18035
18042
|
textDirection: txtSE?.textDirection,
|
|
18036
18043
|
textStyle: txtS,
|
|
18037
18044
|
textStyleRaw: txtSE,
|
|
18038
|
-
layoutStyle:
|
|
18045
|
+
layoutStyle: chunk5DBKW7F3_js.getTextLayoutStyle(el),
|
|
18039
18046
|
element: el,
|
|
18040
18047
|
onCommit,
|
|
18041
18048
|
onCancel,
|
|
@@ -18046,7 +18053,7 @@ function renderBody(options) {
|
|
|
18046
18053
|
] });
|
|
18047
18054
|
}
|
|
18048
18055
|
if (el.type === "table") {
|
|
18049
|
-
return
|
|
18056
|
+
return chunk5DBKW7F3_js.renderTableElement(el, txtS, {
|
|
18050
18057
|
editable: isSel,
|
|
18051
18058
|
selectedCell: isSel ? tableSt : null,
|
|
18052
18059
|
onSelectCell: onCellSel,
|
|
@@ -18079,7 +18086,7 @@ function renderBody(options) {
|
|
|
18079
18086
|
);
|
|
18080
18087
|
}
|
|
18081
18088
|
if (el.type === "media") {
|
|
18082
|
-
return
|
|
18089
|
+
return chunk5DBKW7F3_js.renderMediaElement(el, media, {
|
|
18083
18090
|
// Present mode autoplays every media element on the active slide,
|
|
18084
18091
|
// not only ones persisted with their own `autoPlay` flag (matching
|
|
18085
18092
|
// the other four bindings' unconditional `presenting`-gated
|
|
@@ -18131,27 +18138,27 @@ function renderBody(options) {
|
|
|
18131
18138
|
}
|
|
18132
18139
|
return renderGroup(el.children, pptx.getGroupChildParentFill(el));
|
|
18133
18140
|
}
|
|
18134
|
-
if (
|
|
18135
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
18141
|
+
if (chunk5DBKW7F3_js.shouldRenderFallbackLabel(el, isTxtEl)) {
|
|
18142
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunk5DBKW7F3_js.getElementLabel(el) });
|
|
18136
18143
|
}
|
|
18137
18144
|
return renderTextElementBody(options);
|
|
18138
18145
|
}
|
|
18139
18146
|
function defaultTextColorForFill(fillColor) {
|
|
18140
18147
|
const hex = String(fillColor ?? "").replace(/^#/u, "");
|
|
18141
18148
|
if (!/^[0-9a-f]{6}$/iu.test(hex)) {
|
|
18142
|
-
return
|
|
18149
|
+
return chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR;
|
|
18143
18150
|
}
|
|
18144
18151
|
const channels = [0, 2, 4].map((offset) => Number.parseInt(hex.slice(offset, offset + 2), 16) / 255).map((channel) => channel <= 0.04045 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4);
|
|
18145
18152
|
const luminance = channels[0] * 0.2126 + channels[1] * 0.7152 + channels[2] * 0.0722;
|
|
18146
|
-
return luminance > 0.179 ?
|
|
18153
|
+
return luminance > 0.179 ? chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR : "#ffffff";
|
|
18147
18154
|
}
|
|
18148
18155
|
function getStaticElementVisualState(element, parentGroupFill) {
|
|
18149
18156
|
const style = pptx$1.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
18150
|
-
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(
|
|
18151
|
-
const fill =
|
|
18157
|
+
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk5DBKW7F3_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
18158
|
+
const fill = chunk5DBKW7F3_js.normalizeHexColor(style?.fillColor, chunk5DBKW7F3_js.DEFAULT_FILL_COLOR);
|
|
18152
18159
|
const strokeWidth = pptx.paintedStrokeWidth(style);
|
|
18153
|
-
const stroke =
|
|
18154
|
-
const baseVisualStyle =
|
|
18160
|
+
const stroke = chunk5DBKW7F3_js.normalizeHexColor(style?.strokeColor, chunk5DBKW7F3_js.DEFAULT_STROKE_COLOR);
|
|
18161
|
+
const baseVisualStyle = chunk5DBKW7F3_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
|
|
18155
18162
|
const inheritedFill = pptx.resolveGroupChildFill(element, parentGroupFill);
|
|
18156
18163
|
const visualStyle = inheritedFill ? {
|
|
18157
18164
|
...baseVisualStyle,
|
|
@@ -18161,9 +18168,9 @@ function getStaticElementVisualState(element, parentGroupFill) {
|
|
|
18161
18168
|
backgroundSize: inheritedFill.backgroundSize,
|
|
18162
18169
|
backgroundPosition: inheritedFill.backgroundPosition
|
|
18163
18170
|
} : baseVisualStyle;
|
|
18164
|
-
const textStyle =
|
|
18171
|
+
const textStyle = chunk5DBKW7F3_js.getTextStyleForElement(
|
|
18165
18172
|
element,
|
|
18166
|
-
element.type === "shape" && hasFill ? defaultTextColorForFill(fill) :
|
|
18173
|
+
element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunk5DBKW7F3_js.DEFAULT_TEXT_COLOR
|
|
18167
18174
|
);
|
|
18168
18175
|
const isImage = element.type === "picture" || element.type === "image";
|
|
18169
18176
|
const letsTextOverflow = pptx$1.hasTextProperties(element) && Boolean(element.text?.trim());
|
|
@@ -18188,7 +18195,7 @@ function getStaticElementInteractionState(element, hasActionHandler, exposeEleme
|
|
|
18188
18195
|
return { action, isActionable, contractRole };
|
|
18189
18196
|
}
|
|
18190
18197
|
function getStaticElementWrapperClassName(element, visual, positioned, isActionable) {
|
|
18191
|
-
const overflowClass = visual.isImage || visual.strokeWidth > 0 || element.type === "group" ||
|
|
18198
|
+
const overflowClass = visual.isImage || visual.strokeWidth > 0 || element.type === "group" || chunk5DBKW7F3_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
|
|
18192
18199
|
const pointerClass = isActionable ? "pointer-events-auto cursor-pointer" : "pointer-events-none";
|
|
18193
18200
|
return `${positioned ? "absolute" : "relative"} ${overflowClass} ${pointerClass}`;
|
|
18194
18201
|
}
|
|
@@ -18271,7 +18278,7 @@ function StaticElementRendererImpl({
|
|
|
18271
18278
|
top: positioned ? element.y : void 0,
|
|
18272
18279
|
width: positioned ? Math.max(element.width, 1) : "100%",
|
|
18273
18280
|
height: positioned ? Math.max(element.height, 1) : "100%",
|
|
18274
|
-
transform: positioned ?
|
|
18281
|
+
transform: positioned ? chunk5DBKW7F3_js.getElementTransform(element) : void 0,
|
|
18275
18282
|
transformOrigin: "center",
|
|
18276
18283
|
zIndex,
|
|
18277
18284
|
...visualStyle,
|
|
@@ -18314,18 +18321,18 @@ function StaticElementRendererImpl({
|
|
|
18314
18321
|
spellCheck: false,
|
|
18315
18322
|
txtSE: pptx$1.hasTextProperties(element) ? element.textStyle : void 0,
|
|
18316
18323
|
txtS: textStyle,
|
|
18317
|
-
vecShape:
|
|
18324
|
+
vecShape: chunk5DBKW7F3_js.renderVectorShape(
|
|
18318
18325
|
element,
|
|
18319
18326
|
isImage ? false : hasFill,
|
|
18320
18327
|
fill,
|
|
18321
18328
|
strokeWidth,
|
|
18322
18329
|
stroke
|
|
18323
18330
|
),
|
|
18324
|
-
imgStyle: imageAnimation ? { ...
|
|
18325
|
-
imgFilter:
|
|
18326
|
-
imgOpacity:
|
|
18331
|
+
imgStyle: imageAnimation ? { ...chunk5DBKW7F3_js.getImageRenderStyle(element), animation: imageAnimation } : chunk5DBKW7F3_js.getImageRenderStyle(element),
|
|
18332
|
+
imgFilter: chunk5DBKW7F3_js.getImageEffectsFilter(element),
|
|
18333
|
+
imgOpacity: chunk5DBKW7F3_js.getImageEffectsOpacity(element),
|
|
18327
18334
|
imgAlt: "",
|
|
18328
|
-
isTxtEl:
|
|
18335
|
+
isTxtEl: chunk5DBKW7F3_js.isEditableTextElement(element),
|
|
18329
18336
|
media: mediaDataUrls,
|
|
18330
18337
|
tableSt: null,
|
|
18331
18338
|
isSel: false,
|
|
@@ -18373,7 +18380,7 @@ function SlideLayer({
|
|
|
18373
18380
|
style: {
|
|
18374
18381
|
width: safeWidth,
|
|
18375
18382
|
height: safeHeight,
|
|
18376
|
-
backgroundColor: slide.backgroundColor ?
|
|
18383
|
+
backgroundColor: slide.backgroundColor ? chunk5DBKW7F3_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
|
|
18377
18384
|
backgroundImage: slide.backgroundImage ? `url(${slide.backgroundImage})` : slide.backgroundGradient ? slide.backgroundGradient : void 0,
|
|
18378
18385
|
backgroundSize: slide.backgroundImage ? "cover" : void 0,
|
|
18379
18386
|
backgroundPosition: slide.backgroundImage ? "center" : void 0
|