pptx-react-viewer 4.42.0 → 4.42.1
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 +24 -0
- package/dist/{AiChatPanel-IDP326YW.mjs → AiChatPanel-R5UTSMXU.mjs} +1 -1
- package/dist/AiChatPanel-R5UTSMXU.mjs.br +0 -0
- package/dist/AiChatPanel-R5UTSMXU.mjs.gz +0 -0
- package/dist/{AiChatPanel-KEVVVR7C.js → AiChatPanel-VI2IQ7XU.js} +9 -9
- package/dist/AiChatPanel-VI2IQ7XU.js.br +0 -0
- package/dist/AiChatPanel-VI2IQ7XU.js.gz +0 -0
- package/dist/{chunk-36H3P2PB.js → chunk-2XVYVT25.js} +383 -383
- package/dist/chunk-2XVYVT25.js.br +0 -0
- package/dist/chunk-2XVYVT25.js.gz +0 -0
- package/dist/{chunk-MNT2CXDI.mjs → chunk-3LIHPZKS.mjs} +22 -22
- package/dist/chunk-3LIHPZKS.mjs.br +0 -0
- package/dist/chunk-3LIHPZKS.mjs.gz +0 -0
- package/dist/{chunk-3PKYNJJG.js → chunk-FKY33ZKL.js} +21 -21
- package/dist/chunk-FKY33ZKL.js.br +0 -0
- package/dist/chunk-FKY33ZKL.js.gz +0 -0
- package/dist/{chunk-QJ4X7Y7S.js → chunk-GLWV52C6.js} +248 -245
- package/dist/chunk-GLWV52C6.js.br +0 -0
- package/dist/chunk-GLWV52C6.js.gz +0 -0
- package/dist/{chunk-MPKUCUHD.mjs → chunk-PZUBHPGJ.mjs} +4 -4
- package/dist/chunk-PZUBHPGJ.mjs.br +0 -0
- package/dist/chunk-PZUBHPGJ.mjs.gz +0 -0
- package/dist/{chunk-EQTNWM5Y.mjs → chunk-UACDKMXF.mjs} +4 -1
- package/dist/chunk-UACDKMXF.mjs.br +0 -0
- package/dist/chunk-UACDKMXF.mjs.gz +0 -0
- package/dist/index.js +24 -24
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +3 -3
- 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/viewer/index.js +19 -19
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +3 -3
- package/dist/viewer/index.mjs.br +2 -3
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +8 -8
- package/dist/AiChatPanel-IDP326YW.mjs.br +0 -0
- package/dist/AiChatPanel-IDP326YW.mjs.gz +0 -0
- package/dist/AiChatPanel-KEVVVR7C.js.br +0 -0
- package/dist/AiChatPanel-KEVVVR7C.js.gz +0 -0
- package/dist/chunk-36H3P2PB.js.br +0 -0
- package/dist/chunk-36H3P2PB.js.gz +0 -0
- package/dist/chunk-3PKYNJJG.js.br +0 -0
- package/dist/chunk-3PKYNJJG.js.gz +0 -0
- package/dist/chunk-EQTNWM5Y.mjs.br +0 -0
- package/dist/chunk-EQTNWM5Y.mjs.gz +0 -0
- package/dist/chunk-MNT2CXDI.mjs.br +0 -0
- package/dist/chunk-MNT2CXDI.mjs.gz +0 -0
- package/dist/chunk-MPKUCUHD.mjs.br +0 -0
- package/dist/chunk-MPKUCUHD.mjs.gz +0 -0
- package/dist/chunk-QJ4X7Y7S.js.br +0 -0
- package/dist/chunk-QJ4X7Y7S.js.gz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFKY33ZKL_js = require('./chunk-FKY33ZKL.js');
|
|
4
4
|
var pptx = require('ooxml-ui/pptx');
|
|
5
5
|
var React17 = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -684,9 +684,9 @@ function serializeHistoryDocument(snapshot) {
|
|
|
684
684
|
}
|
|
685
685
|
function recordExplicitSlideUpdate(past, future, previous, before, label, maxDepth) {
|
|
686
686
|
if (previous && serializeHistoryDocument(previous) !== serializeHistoryDocument(before)) {
|
|
687
|
-
past.push(
|
|
687
|
+
past.push(chunkFKY33ZKL_js.cloneHistorySnapshot(previous));
|
|
688
688
|
}
|
|
689
|
-
past.push({ ...
|
|
689
|
+
past.push({ ...chunkFKY33ZKL_js.cloneHistorySnapshot(before), actionLabel: label });
|
|
690
690
|
while (past.length > Math.max(1, maxDepth)) {
|
|
691
691
|
past.shift();
|
|
692
692
|
}
|
|
@@ -776,8 +776,8 @@ function useEditorHistory(input) {
|
|
|
776
776
|
width: canvasSize.width,
|
|
777
777
|
height: canvasSize.height,
|
|
778
778
|
activeSlideIndex,
|
|
779
|
-
slides: slides.map(
|
|
780
|
-
templateElementsBySlideId:
|
|
779
|
+
slides: slides.map(chunkFKY33ZKL_js.cloneSlide),
|
|
780
|
+
templateElementsBySlideId: chunkFKY33ZKL_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
|
|
781
781
|
...actionLabel ? { actionLabel } : {}
|
|
782
782
|
};
|
|
783
783
|
},
|
|
@@ -790,9 +790,9 @@ function useEditorHistory(input) {
|
|
|
790
790
|
width: snapshot.width,
|
|
791
791
|
height: snapshot.height
|
|
792
792
|
});
|
|
793
|
-
setSlides(snapshot.slides.map(
|
|
793
|
+
setSlides(snapshot.slides.map(chunkFKY33ZKL_js.cloneSlide));
|
|
794
794
|
setTemplateElementsBySlideId(
|
|
795
|
-
|
|
795
|
+
chunkFKY33ZKL_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
|
|
796
796
|
);
|
|
797
797
|
setActiveSlideIndex(Math.min(snapshot.activeSlideIndex, maxSlideIndex));
|
|
798
798
|
setSelectedElementIds([]);
|
|
@@ -831,8 +831,8 @@ function useEditorHistory(input) {
|
|
|
831
831
|
const currentSnapshot = buildHistorySnapshot(previousSnapshot.actionLabel);
|
|
832
832
|
historyFutureRef.current.push(currentSnapshot);
|
|
833
833
|
isApplyingHistoryRef.current = true;
|
|
834
|
-
const nextSnapshot =
|
|
835
|
-
lastHistorySnapshotRef.current =
|
|
834
|
+
const nextSnapshot = chunkFKY33ZKL_js.cloneHistorySnapshot(previousSnapshot);
|
|
835
|
+
lastHistorySnapshotRef.current = chunkFKY33ZKL_js.cloneHistorySnapshot(nextSnapshot);
|
|
836
836
|
lastHistorySerializedRef.current = serializeHistoryDocument(nextSnapshot);
|
|
837
837
|
applyHistorySnapshot(nextSnapshot);
|
|
838
838
|
updateHistoryAvailability();
|
|
@@ -853,8 +853,8 @@ function useEditorHistory(input) {
|
|
|
853
853
|
const currentSnapshot = buildHistorySnapshot(nextSnapshot.actionLabel);
|
|
854
854
|
historyPastRef.current.push(currentSnapshot);
|
|
855
855
|
isApplyingHistoryRef.current = true;
|
|
856
|
-
const targetSnapshot =
|
|
857
|
-
lastHistorySnapshotRef.current =
|
|
856
|
+
const targetSnapshot = chunkFKY33ZKL_js.cloneHistorySnapshot(nextSnapshot);
|
|
857
|
+
lastHistorySnapshotRef.current = chunkFKY33ZKL_js.cloneHistorySnapshot(targetSnapshot);
|
|
858
858
|
lastHistorySerializedRef.current = serializeHistoryDocument(targetSnapshot);
|
|
859
859
|
applyHistorySnapshot(targetSnapshot);
|
|
860
860
|
updateHistoryAvailability();
|
|
@@ -872,7 +872,7 @@ function useEditorHistory(input) {
|
|
|
872
872
|
historyPastRef.current = [];
|
|
873
873
|
historyFutureRef.current = [];
|
|
874
874
|
if (initialSnapshot) {
|
|
875
|
-
const clonedInitial =
|
|
875
|
+
const clonedInitial = chunkFKY33ZKL_js.cloneHistorySnapshot(initialSnapshot);
|
|
876
876
|
lastHistorySnapshotRef.current = clonedInitial;
|
|
877
877
|
lastHistorySerializedRef.current = serializeHistoryDocument(clonedInitial);
|
|
878
878
|
} else {
|
|
@@ -954,8 +954,8 @@ function useEditorHistory(input) {
|
|
|
954
954
|
updateHistoryAvailability
|
|
955
955
|
]);
|
|
956
956
|
const commitSlides = (nextSlides, label, beforeSlides = slides) => {
|
|
957
|
-
const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(
|
|
958
|
-
const after = { ...before, slides: nextSlides.map(
|
|
957
|
+
const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunkFKY33ZKL_js.cloneSlide) };
|
|
958
|
+
const after = { ...before, slides: nextSlides.map(chunkFKY33ZKL_js.cloneSlide) };
|
|
959
959
|
recordExplicitSlideUpdate(
|
|
960
960
|
historyPastRef.current,
|
|
961
961
|
historyFutureRef.current,
|
|
@@ -964,7 +964,7 @@ function useEditorHistory(input) {
|
|
|
964
964
|
label,
|
|
965
965
|
maxHistoryEntries
|
|
966
966
|
);
|
|
967
|
-
lastHistorySnapshotRef.current =
|
|
967
|
+
lastHistorySnapshotRef.current = chunkFKY33ZKL_js.cloneHistorySnapshot(after);
|
|
968
968
|
lastHistorySerializedRef.current = serializeHistoryDocument(after);
|
|
969
969
|
isApplyingHistoryRef.current = false;
|
|
970
970
|
setSlides(nextSlides);
|
|
@@ -1151,22 +1151,22 @@ function useZoomViewport({
|
|
|
1151
1151
|
selectedElements.forEach((element) => {
|
|
1152
1152
|
minX = Math.min(minX, element.x);
|
|
1153
1153
|
minY = Math.min(minY, element.y);
|
|
1154
|
-
maxX = Math.max(maxX, element.x + Math.max(element.width,
|
|
1155
|
-
maxY = Math.max(maxY, element.y + Math.max(element.height,
|
|
1154
|
+
maxX = Math.max(maxX, element.x + Math.max(element.width, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE));
|
|
1155
|
+
maxY = Math.max(maxY, element.y + Math.max(element.height, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE));
|
|
1156
1156
|
});
|
|
1157
1157
|
if (!Number.isFinite(minX) || !Number.isFinite(minY) || !Number.isFinite(maxX) || !Number.isFinite(maxY)) {
|
|
1158
1158
|
return;
|
|
1159
1159
|
}
|
|
1160
1160
|
const selectionBounds = { minX, minY, maxX, maxY };
|
|
1161
|
-
const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX,
|
|
1162
|
-
const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY,
|
|
1161
|
+
const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
1162
|
+
const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
1163
1163
|
const availableWidth = Math.max(
|
|
1164
|
-
effectiveEditorDimensions.width -
|
|
1165
|
-
|
|
1164
|
+
effectiveEditorDimensions.width - chunkFKY33ZKL_js.ZOOM_TO_SELECTION_PADDING,
|
|
1165
|
+
chunkFKY33ZKL_js.MIN_ELEMENT_SIZE
|
|
1166
1166
|
);
|
|
1167
1167
|
const availableHeight = Math.max(
|
|
1168
|
-
effectiveEditorDimensions.height -
|
|
1169
|
-
|
|
1168
|
+
effectiveEditorDimensions.height - chunkFKY33ZKL_js.ZOOM_TO_SELECTION_PADDING,
|
|
1169
|
+
chunkFKY33ZKL_js.MIN_ELEMENT_SIZE
|
|
1170
1170
|
);
|
|
1171
1171
|
const targetEditorScale = Math.min(
|
|
1172
1172
|
availableWidth / boundsWidth,
|
|
@@ -4133,8 +4133,8 @@ function useViewerCoreState(_input) {
|
|
|
4133
4133
|
const { slides, setSlides, slidesRef } = useSlideState();
|
|
4134
4134
|
const [templateElementsBySlideId, setTemplateElementsBySlideId] = React17.useState({});
|
|
4135
4135
|
const [canvasSize, setCanvasSize] = React17.useState({
|
|
4136
|
-
width:
|
|
4137
|
-
height:
|
|
4136
|
+
width: chunkFKY33ZKL_js.DEFAULT_CANVAS_WIDTH,
|
|
4137
|
+
height: chunkFKY33ZKL_js.DEFAULT_CANVAS_HEIGHT
|
|
4138
4138
|
});
|
|
4139
4139
|
const [slideSizeEmu, setSlideSizeEmu] = React17.useState();
|
|
4140
4140
|
const [activeSlideIndex, setActiveSlideIndex] = React17.useState(0);
|
|
@@ -4522,7 +4522,7 @@ function useLoadContent({
|
|
|
4522
4522
|
}
|
|
4523
4523
|
let cancelled = false;
|
|
4524
4524
|
const token = ++renderTokenRef.current;
|
|
4525
|
-
const handler = new
|
|
4525
|
+
const handler = new chunkFKY33ZKL_js.dist_exports.PptxHandler();
|
|
4526
4526
|
const resources = pptx.createPresentationLoadResources(handler);
|
|
4527
4527
|
const loadBlobUrls = resources.blobUrls;
|
|
4528
4528
|
(async () => {
|
|
@@ -4607,12 +4607,12 @@ function useLoadContent({
|
|
|
4607
4607
|
}
|
|
4608
4608
|
resources.commit();
|
|
4609
4609
|
handlerRef.current = handler;
|
|
4610
|
-
const partition =
|
|
4610
|
+
const partition = chunkFKY33ZKL_js.partitionTemplateElements(nextSlides);
|
|
4611
4611
|
setSlides(partition.slides);
|
|
4612
4612
|
setTemplateElementsBySlideId(partition.templateElementsBySlideId);
|
|
4613
4613
|
setCanvasSize({
|
|
4614
|
-
width: parsed.width ??
|
|
4615
|
-
height: parsed.height ??
|
|
4614
|
+
width: parsed.width ?? chunkFKY33ZKL_js.DEFAULT_CANVAS_WIDTH,
|
|
4615
|
+
height: parsed.height ?? chunkFKY33ZKL_js.DEFAULT_CANVAS_HEIGHT
|
|
4616
4616
|
});
|
|
4617
4617
|
setSlideSizeEmu(
|
|
4618
4618
|
typeof parsed.widthEmu === "number" && typeof parsed.heightEmu === "number" && parsed.widthEmu > 0 && parsed.heightEmu > 0 ? {
|
|
@@ -4676,7 +4676,7 @@ function useLoadContent({
|
|
|
4676
4676
|
onContentApplied?.();
|
|
4677
4677
|
} catch (err) {
|
|
4678
4678
|
if (!cancelled && token === renderTokenRef.current) {
|
|
4679
|
-
if (err instanceof
|
|
4679
|
+
if (err instanceof chunkFKY33ZKL_js.dist_exports.EncryptedFileError) {
|
|
4680
4680
|
setIsEncrypted(true);
|
|
4681
4681
|
} else {
|
|
4682
4682
|
console.error("[pptx] Failed to load presentation content:", err);
|
|
@@ -4801,7 +4801,7 @@ function useTextElementOperations(input) {
|
|
|
4801
4801
|
updateSelectedElement
|
|
4802
4802
|
} = input;
|
|
4803
4803
|
const liveTextSegments = React17.useCallback(() => {
|
|
4804
|
-
if (!selectedElement || !(0,
|
|
4804
|
+
if (!selectedElement || !(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(selectedElement)) {
|
|
4805
4805
|
return void 0;
|
|
4806
4806
|
}
|
|
4807
4807
|
if (selectedElement.id !== inlineEditingElementId) {
|
|
@@ -4819,7 +4819,7 @@ function useTextElementOperations(input) {
|
|
|
4819
4819
|
}, [selectedElement, inlineEditingElementId, inlineEditingText, inlineEditingSnapshotRef]);
|
|
4820
4820
|
const updateSelectedTextStyle = React17.useCallback(
|
|
4821
4821
|
(updates) => {
|
|
4822
|
-
if (!selectedElement || !(0,
|
|
4822
|
+
if (!selectedElement || !(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(selectedElement)) {
|
|
4823
4823
|
return;
|
|
4824
4824
|
}
|
|
4825
4825
|
const isLiveEditing = selectedElement.id === inlineEditingElementId;
|
|
@@ -4897,7 +4897,7 @@ function useTextElementOperations(input) {
|
|
|
4897
4897
|
);
|
|
4898
4898
|
const toggleSelectedBullets = React17.useCallback(
|
|
4899
4899
|
(kind) => {
|
|
4900
|
-
if (!selectedElement || !(0,
|
|
4900
|
+
if (!selectedElement || !(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(selectedElement)) {
|
|
4901
4901
|
return;
|
|
4902
4902
|
}
|
|
4903
4903
|
const currentSegments = liveTextSegments();
|
|
@@ -4948,7 +4948,7 @@ function useTextElementOperations(input) {
|
|
|
4948
4948
|
);
|
|
4949
4949
|
const updateSelectedTextCase = React17.useCallback(
|
|
4950
4950
|
(mode) => {
|
|
4951
|
-
if (!selectedElement || !(0,
|
|
4951
|
+
if (!selectedElement || !(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(selectedElement)) {
|
|
4952
4952
|
return;
|
|
4953
4953
|
}
|
|
4954
4954
|
const isLiveEditing = selectedElement.id === inlineEditingElementId;
|
|
@@ -5064,7 +5064,7 @@ function useElementOperations(input) {
|
|
|
5064
5064
|
);
|
|
5065
5065
|
return;
|
|
5066
5066
|
}
|
|
5067
|
-
if (
|
|
5067
|
+
if (chunkFKY33ZKL_js.isTemplateElementId(elementId)) {
|
|
5068
5068
|
const slideId = activeSlide?.id;
|
|
5069
5069
|
if (slideId) {
|
|
5070
5070
|
setTemplateElementsBySlideId((prev) => ({
|
|
@@ -5100,7 +5100,7 @@ function useElementOperations(input) {
|
|
|
5100
5100
|
);
|
|
5101
5101
|
const updateSelectedShapeStyle = React17.useCallback(
|
|
5102
5102
|
(updates) => {
|
|
5103
|
-
if (!selectedElement || !(0,
|
|
5103
|
+
if (!selectedElement || !(0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(selectedElement)) {
|
|
5104
5104
|
return;
|
|
5105
5105
|
}
|
|
5106
5106
|
updateSelectedElement({
|
|
@@ -5304,15 +5304,15 @@ function syncSelectionHandleOverlay(elementNode, elementId, geometry) {
|
|
|
5304
5304
|
// src/viewer/hooks/pointer-move-handlers.ts
|
|
5305
5305
|
function computeResizeGeometry(handle, startX, startY, startWidth, startHeight, dx, dy, snapToGrid, gridSpacingPx, lockAspect = false) {
|
|
5306
5306
|
const startBox = { x: startX, y: startY, width: startWidth, height: startHeight };
|
|
5307
|
-
let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize:
|
|
5307
|
+
let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize: chunkFKY33ZKL_js.MIN_ELEMENT_SIZE });
|
|
5308
5308
|
if (lockAspect) {
|
|
5309
|
-
resized = pptx.lockResizeAspect(resized, startBox, handle,
|
|
5309
|
+
resized = pptx.lockResizeAspect(resized, startBox, handle, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
5310
5310
|
}
|
|
5311
5311
|
const box = { x: resized.x, y: resized.y, width: resized.width, height: resized.height };
|
|
5312
5312
|
if (!snapToGrid) {
|
|
5313
5313
|
return box;
|
|
5314
5314
|
}
|
|
5315
|
-
return pptx.snapBoxToGrid(box, handle, gridSpacingPx,
|
|
5315
|
+
return pptx.snapBoxToGrid(box, handle, gridSpacingPx, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
5316
5316
|
}
|
|
5317
5317
|
function resolveLiveTarget(input) {
|
|
5318
5318
|
const { livePatcher, editTemplateMode, activeSlide } = input;
|
|
@@ -5425,7 +5425,7 @@ function processDragMove(e, drag, editorScale, snapToGrid, snapToShape, gridSpac
|
|
|
5425
5425
|
width: el.width,
|
|
5426
5426
|
height: el.height
|
|
5427
5427
|
}));
|
|
5428
|
-
const snapResult =
|
|
5428
|
+
const snapResult = chunkFKY33ZKL_js.computeSnapToShape(
|
|
5429
5429
|
targetX,
|
|
5430
5430
|
targetY,
|
|
5431
5431
|
primaryEl.width,
|
|
@@ -5499,8 +5499,8 @@ function processResizeMove(e, rs, editorScale, snapToGrid, gridSpacingPx, live)
|
|
|
5499
5499
|
rs.lastY = geo.y;
|
|
5500
5500
|
rs.lastWidth = geo.width;
|
|
5501
5501
|
rs.lastHeight = geo.height;
|
|
5502
|
-
const width = Math.max(geo.width,
|
|
5503
|
-
const height = Math.max(geo.height,
|
|
5502
|
+
const width = Math.max(geo.width, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
5503
|
+
const height = Math.max(geo.height, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE);
|
|
5504
5504
|
if (rs.domEl) {
|
|
5505
5505
|
rs.domEl.style.left = `${geo.x}px`;
|
|
5506
5506
|
rs.domEl.style.top = `${geo.y}px`;
|
|
@@ -5593,13 +5593,13 @@ function processPointerUp(input) {
|
|
|
5593
5593
|
if (i !== activeSlideIndex) {
|
|
5594
5594
|
return s;
|
|
5595
5595
|
}
|
|
5596
|
-
const rerouted =
|
|
5596
|
+
const rerouted = chunkFKY33ZKL_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
|
|
5597
5597
|
if (rerouted.length === 0) {
|
|
5598
5598
|
return s;
|
|
5599
5599
|
}
|
|
5600
5600
|
return {
|
|
5601
5601
|
...s,
|
|
5602
|
-
elements:
|
|
5602
|
+
elements: chunkFKY33ZKL_js.applyReroutedConnectors(s.elements, rerouted)
|
|
5603
5603
|
};
|
|
5604
5604
|
})
|
|
5605
5605
|
);
|
|
@@ -5651,8 +5651,8 @@ function commitDrag(drag, editTemplateMode, activeSlide, activeSlideIndex, setTe
|
|
|
5651
5651
|
}
|
|
5652
5652
|
return { ...el, x: start.x + dx, y: start.y + dy };
|
|
5653
5653
|
});
|
|
5654
|
-
const rerouted =
|
|
5655
|
-
return
|
|
5654
|
+
const rerouted = chunkFKY33ZKL_js.rerouteConnectorsForMovedElements(movedElements, movedIds);
|
|
5655
|
+
return chunkFKY33ZKL_js.applyReroutedConnectors(movedElements, rerouted);
|
|
5656
5656
|
};
|
|
5657
5657
|
if (editTemplateMode) {
|
|
5658
5658
|
const slideId = activeSlide?.id;
|
|
@@ -5840,7 +5840,7 @@ function useCanvasInteractions(input) {
|
|
|
5840
5840
|
return;
|
|
5841
5841
|
}
|
|
5842
5842
|
const el = elementLookup.get(editId);
|
|
5843
|
-
if (el && (0,
|
|
5843
|
+
if (el && (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el)) {
|
|
5844
5844
|
const reader = inlineEditingReaderRef?.current;
|
|
5845
5845
|
const read = reader?.elementId === editId ? reader.read() : void 0;
|
|
5846
5846
|
if (read?.kind === "unsupported") {
|
|
@@ -5887,7 +5887,7 @@ function useCanvasInteractions(input) {
|
|
|
5887
5887
|
wasEditable.current = canEdit;
|
|
5888
5888
|
}, [canEdit]);
|
|
5889
5889
|
const openEquationEditorForElement = (el) => {
|
|
5890
|
-
if (!(0,
|
|
5890
|
+
if (!(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el)) {
|
|
5891
5891
|
return false;
|
|
5892
5892
|
}
|
|
5893
5893
|
const eqSeg = el.textSegments?.find((seg) => seg.equationXml);
|
|
@@ -5920,7 +5920,7 @@ function useCanvasInteractions(input) {
|
|
|
5920
5920
|
justInteractedRef.current = false;
|
|
5921
5921
|
} else {
|
|
5922
5922
|
const el = elementLookup.get(elementId);
|
|
5923
|
-
if (el && (0,
|
|
5923
|
+
if (el && (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
|
|
5924
5924
|
if (!openEquationEditorForElement(el)) {
|
|
5925
5925
|
pptx.setPendingCaretPoint(e);
|
|
5926
5926
|
setInlineEditingElementId(elementId);
|
|
@@ -5946,7 +5946,7 @@ function useCanvasInteractions(input) {
|
|
|
5946
5946
|
if (openEquationEditorForElement(el)) {
|
|
5947
5947
|
return;
|
|
5948
5948
|
}
|
|
5949
|
-
if ((0,
|
|
5949
|
+
if ((0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
|
|
5950
5950
|
setInlineEditingElementId(elementId);
|
|
5951
5951
|
setInlineEditingText(el.text ?? "");
|
|
5952
5952
|
}
|
|
@@ -6411,7 +6411,7 @@ function createStructuredElementHandlers(deps) {
|
|
|
6411
6411
|
return;
|
|
6412
6412
|
}
|
|
6413
6413
|
const resolved = resolveHyperlinkEditResult(data);
|
|
6414
|
-
if (resolved.url && !
|
|
6414
|
+
if (resolved.url && !chunkFKY33ZKL_js.isUrlSafe(resolved.url)) {
|
|
6415
6415
|
return;
|
|
6416
6416
|
}
|
|
6417
6417
|
const actionClick = {
|
|
@@ -6457,11 +6457,11 @@ function createStructuredElementHandlers(deps) {
|
|
|
6457
6457
|
if (!activeSlide) {
|
|
6458
6458
|
return;
|
|
6459
6459
|
}
|
|
6460
|
-
const preset =
|
|
6460
|
+
const preset = chunkFKY33ZKL_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
|
|
6461
6461
|
if (!preset) {
|
|
6462
6462
|
return;
|
|
6463
6463
|
}
|
|
6464
|
-
const defaultPptxAction = (0,
|
|
6464
|
+
const defaultPptxAction = (0, chunkFKY33ZKL_js.dist_exports.elementActionToPptxAction)({
|
|
6465
6465
|
trigger: "click",
|
|
6466
6466
|
type: preset.defaultAction
|
|
6467
6467
|
});
|
|
@@ -6544,7 +6544,7 @@ function useInsertElements(input) {
|
|
|
6544
6544
|
width: 300,
|
|
6545
6545
|
height: 60,
|
|
6546
6546
|
text: "",
|
|
6547
|
-
textStyle: { fontSize:
|
|
6547
|
+
textStyle: { fontSize: chunkFKY33ZKL_js.DEFAULT_TEXT_FONT_SIZE }
|
|
6548
6548
|
});
|
|
6549
6549
|
};
|
|
6550
6550
|
const handleAddShape = () => {
|
|
@@ -6566,7 +6566,7 @@ function useInsertElements(input) {
|
|
|
6566
6566
|
}
|
|
6567
6567
|
});
|
|
6568
6568
|
};
|
|
6569
|
-
const handleAddTable = (rows =
|
|
6569
|
+
const handleAddTable = (rows = chunkFKY33ZKL_js.DEFAULT_TABLE_ROWS, columns = chunkFKY33ZKL_js.DEFAULT_TABLE_COLUMNS) => {
|
|
6570
6570
|
if (!activeSlide) {
|
|
6571
6571
|
return;
|
|
6572
6572
|
}
|
|
@@ -6740,7 +6740,7 @@ function useGroupAlignLayerHandlers(input) {
|
|
|
6740
6740
|
history
|
|
6741
6741
|
} = input;
|
|
6742
6742
|
const updateElementsOwning = (elementId, updater) => {
|
|
6743
|
-
if (editTemplateMode && !
|
|
6743
|
+
if (editTemplateMode && !chunkFKY33ZKL_js.isTemplateElementId(elementId)) {
|
|
6744
6744
|
ops.updateSlides(
|
|
6745
6745
|
(prev) => prev.map(
|
|
6746
6746
|
(slide, index) => index === activeSlideIndex ? { ...slide, elements: updater(slide.elements) } : slide
|
|
@@ -6774,9 +6774,9 @@ function useGroupAlignLayerHandlers(input) {
|
|
|
6774
6774
|
return;
|
|
6775
6775
|
}
|
|
6776
6776
|
const group = selectedElement;
|
|
6777
|
-
const intoTemplate =
|
|
6777
|
+
const intoTemplate = chunkFKY33ZKL_js.isTemplateElementId(group.id);
|
|
6778
6778
|
const childIds = group.children.map(
|
|
6779
|
-
(child) => intoTemplate ?
|
|
6779
|
+
(child) => intoTemplate ? chunkFKY33ZKL_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
|
|
6780
6780
|
);
|
|
6781
6781
|
const { elements, childIds: usedIds } = pptx.ungroupElements(
|
|
6782
6782
|
ops.activeElements,
|
|
@@ -7108,7 +7108,7 @@ function useSlideManagement(input) {
|
|
|
7108
7108
|
if (!src) {
|
|
7109
7109
|
continue;
|
|
7110
7110
|
}
|
|
7111
|
-
const clone = { ...(0,
|
|
7111
|
+
const clone = { ...(0, chunkFKY33ZKL_js.dist_exports.duplicateSlide)(src, next.length + 1), id: pptx.makeSlideId() };
|
|
7112
7112
|
next.splice(i + offset + 1, 0, clone);
|
|
7113
7113
|
offset++;
|
|
7114
7114
|
}
|
|
@@ -7212,7 +7212,7 @@ function createTableMergeHandlers(input) {
|
|
|
7212
7212
|
if (!nextCell || nextCell.hMerge || nextCell.vMerge) {
|
|
7213
7213
|
return;
|
|
7214
7214
|
}
|
|
7215
|
-
const newTableData =
|
|
7215
|
+
const newTableData = chunkFKY33ZKL_js.mergeCells(
|
|
7216
7216
|
[
|
|
7217
7217
|
{ row: rowIndex, col: columnIndex },
|
|
7218
7218
|
{ row: rowIndex, col: nextColIdx }
|
|
@@ -7220,7 +7220,7 @@ function createTableMergeHandlers(input) {
|
|
|
7220
7220
|
td
|
|
7221
7221
|
);
|
|
7222
7222
|
const updates = { tableData: newTableData };
|
|
7223
|
-
const newRawXml = (0,
|
|
7223
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
|
|
7224
7224
|
if (newRawXml) {
|
|
7225
7225
|
updates.rawXml = newRawXml;
|
|
7226
7226
|
}
|
|
@@ -7246,7 +7246,7 @@ function createTableMergeHandlers(input) {
|
|
|
7246
7246
|
if (!targetNextCell || targetNextCell.hMerge || targetNextCell.vMerge) {
|
|
7247
7247
|
return;
|
|
7248
7248
|
}
|
|
7249
|
-
const newTableData =
|
|
7249
|
+
const newTableData = chunkFKY33ZKL_js.mergeCells(
|
|
7250
7250
|
[
|
|
7251
7251
|
{ row: rowIndex, col: columnIndex },
|
|
7252
7252
|
{ row: targetNextRowIdx, col: columnIndex }
|
|
@@ -7254,7 +7254,7 @@ function createTableMergeHandlers(input) {
|
|
|
7254
7254
|
td
|
|
7255
7255
|
);
|
|
7256
7256
|
const updates = { tableData: newTableData };
|
|
7257
|
-
const newRawXml = (0,
|
|
7257
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
|
|
7258
7258
|
if (newRawXml) {
|
|
7259
7259
|
updates.rawXml = newRawXml;
|
|
7260
7260
|
}
|
|
@@ -7269,9 +7269,9 @@ function createTableMergeHandlers(input) {
|
|
|
7269
7269
|
return;
|
|
7270
7270
|
}
|
|
7271
7271
|
const td = selectedElement.tableData;
|
|
7272
|
-
const newTableData =
|
|
7272
|
+
const newTableData = chunkFKY33ZKL_js.mergeCells(ts.selectedCells, td);
|
|
7273
7273
|
const updates = { tableData: newTableData };
|
|
7274
|
-
const newRawXml = (0,
|
|
7274
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
|
|
7275
7275
|
if (newRawXml) {
|
|
7276
7276
|
updates.rawXml = newRawXml;
|
|
7277
7277
|
}
|
|
@@ -7288,9 +7288,9 @@ function createTableMergeHandlers(input) {
|
|
|
7288
7288
|
}
|
|
7289
7289
|
const { rowIndex, columnIndex } = ts;
|
|
7290
7290
|
const td = selectedElement.tableData;
|
|
7291
|
-
const newTableData =
|
|
7291
|
+
const newTableData = chunkFKY33ZKL_js.splitCell(rowIndex, columnIndex, td);
|
|
7292
7292
|
const updates = { tableData: newTableData };
|
|
7293
|
-
const newRawXml = (0,
|
|
7293
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
|
|
7294
7294
|
if (newRawXml) {
|
|
7295
7295
|
updates.rawXml = newRawXml;
|
|
7296
7296
|
}
|
|
@@ -7325,7 +7325,7 @@ function createTableStructHandlers(input) {
|
|
|
7325
7325
|
updates.tableData = pptx.setCellText(el, rowIndex, colIndex, text).tableData;
|
|
7326
7326
|
}
|
|
7327
7327
|
if (el.rawXml) {
|
|
7328
|
-
const newRawXml = (0,
|
|
7328
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateCellTextInRawXml)(el, rowIndex, colIndex, text);
|
|
7329
7329
|
if (newRawXml) {
|
|
7330
7330
|
updates.rawXml = newRawXml;
|
|
7331
7331
|
}
|
|
@@ -7349,7 +7349,7 @@ function createTableStructHandlers(input) {
|
|
|
7349
7349
|
const { rowIndex, columnIndex: colIndex } = ts;
|
|
7350
7350
|
const updates = {};
|
|
7351
7351
|
if (selectedElement.rawXml) {
|
|
7352
|
-
const newRawXml = (0,
|
|
7352
|
+
const newRawXml = (0, chunkFKY33ZKL_js.dist_exports.updateCellTextStyleInRawXml)(
|
|
7353
7353
|
selectedElement,
|
|
7354
7354
|
rowIndex,
|
|
7355
7355
|
colIndex,
|
|
@@ -7516,7 +7516,7 @@ function useExportSaveAs(input) {
|
|
|
7516
7516
|
const sourceName = filePath ? filePath.replace(/\\/gu, "/").split("/").pop() : void 0;
|
|
7517
7517
|
const slideSize = pptx.resolveSlideSizeSelection({ current: slideSizeEmu, canvas: canvasSize }).size;
|
|
7518
7518
|
const data = {
|
|
7519
|
-
slides:
|
|
7519
|
+
slides: chunkFKY33ZKL_js.buildSaveSlides(slides, templateElementsBySlideId),
|
|
7520
7520
|
width: canvasSize.width,
|
|
7521
7521
|
height: canvasSize.height,
|
|
7522
7522
|
widthEmu: slideSize.widthEmu,
|
|
@@ -7674,7 +7674,7 @@ async function captureAllSlidesAsPngDataUrls(slideStageRef, totalSlides, setActi
|
|
|
7674
7674
|
}
|
|
7675
7675
|
function tilesToPdfPage(tilesResult) {
|
|
7676
7676
|
return tilesResult.tiles.map((tile) => ({
|
|
7677
|
-
image:
|
|
7677
|
+
image: chunkFKY33ZKL_js.canvasToJpegData(tile.canvas),
|
|
7678
7678
|
placement: pptx.placeTileOnPage(
|
|
7679
7679
|
tile,
|
|
7680
7680
|
tilesResult.fullWidth,
|
|
@@ -7707,7 +7707,7 @@ async function exportAllSlidesAsPdf(slideStageRef, totalSlides, setActiveSlide,
|
|
|
7707
7707
|
if (pages.length === 0) {
|
|
7708
7708
|
throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesPdf"]);
|
|
7709
7709
|
}
|
|
7710
|
-
const pdfBlobUrl =
|
|
7710
|
+
const pdfBlobUrl = chunkFKY33ZKL_js.buildPdfFromTiledImageData(pages);
|
|
7711
7711
|
pptx.downloadDataUrl(pdfBlobUrl, filename);
|
|
7712
7712
|
}
|
|
7713
7713
|
async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, slideNotes, filename = "presentation-notes.pdf", options = {}) {
|
|
@@ -7737,7 +7737,7 @@ async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSl
|
|
|
7737
7737
|
if (pages.length === 0) {
|
|
7738
7738
|
throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesNotesPdf"]);
|
|
7739
7739
|
}
|
|
7740
|
-
const pdfDataUrl =
|
|
7740
|
+
const pdfDataUrl = chunkFKY33ZKL_js.buildNotesPdf(pages);
|
|
7741
7741
|
pptx.downloadDataUrl(pdfDataUrl, filename);
|
|
7742
7742
|
}
|
|
7743
7743
|
async function exportAllSlidesAsVideo(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, options = {}) {
|
|
@@ -7932,7 +7932,7 @@ function exportAllSlidesToSvg(data, options = {}) {
|
|
|
7932
7932
|
continue;
|
|
7933
7933
|
}
|
|
7934
7934
|
onProgress?.(processedCount, data.slides.length);
|
|
7935
|
-
let svg =
|
|
7935
|
+
let svg = chunkFKY33ZKL_js.dist_exports.SvgExporter.exportSlide(slide, data.width, data.height, svgOptions);
|
|
7936
7936
|
if (embedFonts && fontFaces?.length) {
|
|
7937
7937
|
svg = injectFontFaces(svg, fontFaces);
|
|
7938
7938
|
}
|
|
@@ -8521,10 +8521,10 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
|
|
|
8521
8521
|
return;
|
|
8522
8522
|
}
|
|
8523
8523
|
await handler.applyTheme(colorScheme, fontScheme, name);
|
|
8524
|
-
const previousMap = theme?.colorScheme ? (0,
|
|
8524
|
+
const previousMap = theme?.colorScheme ? (0, chunkFKY33ZKL_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
|
|
8525
8525
|
bumpHistory();
|
|
8526
8526
|
setSlides(
|
|
8527
|
-
(slides) => (0,
|
|
8527
|
+
(slides) => (0, chunkFKY33ZKL_js.dist_exports.applyThemeToData)(
|
|
8528
8528
|
{ slides, theme, themeColorMap: previousMap },
|
|
8529
8529
|
colorScheme,
|
|
8530
8530
|
fontScheme,
|
|
@@ -8535,8 +8535,8 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
|
|
|
8535
8535
|
(prev) => Object.fromEntries(
|
|
8536
8536
|
Object.entries(prev).map(([id, elements]) => [
|
|
8537
8537
|
id,
|
|
8538
|
-
(0,
|
|
8539
|
-
(0,
|
|
8538
|
+
(0, chunkFKY33ZKL_js.dist_exports.reResolveElementFonts)(
|
|
8539
|
+
(0, chunkFKY33ZKL_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme),
|
|
8540
8540
|
theme?.fontScheme,
|
|
8541
8541
|
fontScheme
|
|
8542
8542
|
)
|
|
@@ -8594,13 +8594,13 @@ function useThemeHandlers(input) {
|
|
|
8594
8594
|
return;
|
|
8595
8595
|
}
|
|
8596
8596
|
await handler.updateThemeColorScheme(colorScheme);
|
|
8597
|
-
const previousMap = theme?.colorScheme ? (0,
|
|
8598
|
-
setSlides((prev) => (0,
|
|
8597
|
+
const previousMap = theme?.colorScheme ? (0, chunkFKY33ZKL_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
|
|
8598
|
+
setSlides((prev) => (0, chunkFKY33ZKL_js.dist_exports.reResolveSlideColors)(prev, previousMap, colorScheme));
|
|
8599
8599
|
if (Object.keys(templateElementsBySlideId).length > 0) {
|
|
8600
8600
|
setTemplateElementsBySlideId((prev) => {
|
|
8601
8601
|
const next = {};
|
|
8602
8602
|
for (const [slideId, elements] of Object.entries(prev)) {
|
|
8603
|
-
next[slideId] = (0,
|
|
8603
|
+
next[slideId] = (0, chunkFKY33ZKL_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme);
|
|
8604
8604
|
}
|
|
8605
8605
|
return next;
|
|
8606
8606
|
});
|
|
@@ -8711,7 +8711,7 @@ function useThemeSwitching(input) {
|
|
|
8711
8711
|
}
|
|
8712
8712
|
try {
|
|
8713
8713
|
await handler.applyTheme(preset.colorScheme, preset.fontScheme, preset.name);
|
|
8714
|
-
const newData = (0,
|
|
8714
|
+
const newData = (0, chunkFKY33ZKL_js.dist_exports.applyThemeToData)(data, preset.colorScheme, preset.fontScheme, preset.name);
|
|
8715
8715
|
onDataChange(newData);
|
|
8716
8716
|
onThemeChanged?.(preset);
|
|
8717
8717
|
} catch (error) {
|
|
@@ -8728,7 +8728,7 @@ function useThemeSwitching(input) {
|
|
|
8728
8728
|
}
|
|
8729
8729
|
try {
|
|
8730
8730
|
await handler.applyTheme(colorScheme, fontScheme ?? {}, themeName);
|
|
8731
|
-
const newData = (0,
|
|
8731
|
+
const newData = (0, chunkFKY33ZKL_js.dist_exports.applyThemeToData)(data, colorScheme, fontScheme, themeName);
|
|
8732
8732
|
onDataChange(newData);
|
|
8733
8733
|
} catch (error) {
|
|
8734
8734
|
console.error("Failed to switch to custom theme:", error);
|
|
@@ -8740,12 +8740,12 @@ function useThemeSwitching(input) {
|
|
|
8740
8740
|
if (!data?.theme?.colorScheme) {
|
|
8741
8741
|
return void 0;
|
|
8742
8742
|
}
|
|
8743
|
-
return
|
|
8744
|
-
(p) => (0,
|
|
8743
|
+
return chunkFKY33ZKL_js.dist_exports.THEME_PRESETS.find(
|
|
8744
|
+
(p) => (0, chunkFKY33ZKL_js.dist_exports.themeColorSchemesEqual)(data.theme?.colorScheme, p.colorScheme)
|
|
8745
8745
|
);
|
|
8746
8746
|
}, [data?.theme?.colorScheme]);
|
|
8747
8747
|
return {
|
|
8748
|
-
presets:
|
|
8748
|
+
presets: chunkFKY33ZKL_js.dist_exports.THEME_PRESETS,
|
|
8749
8749
|
switchToPreset,
|
|
8750
8750
|
switchToCustom,
|
|
8751
8751
|
currentPreset
|
|
@@ -8822,7 +8822,7 @@ function usePropertyHandlers(input) {
|
|
|
8822
8822
|
}
|
|
8823
8823
|
try {
|
|
8824
8824
|
const ab = await file.arrayBuffer();
|
|
8825
|
-
const h = new
|
|
8825
|
+
const h = new chunkFKY33ZKL_js.dist_exports.PptxHandler();
|
|
8826
8826
|
const other = await h.load(ab);
|
|
8827
8827
|
if (!other) {
|
|
8828
8828
|
return;
|
|
@@ -8832,7 +8832,7 @@ function usePropertyHandlers(input) {
|
|
|
8832
8832
|
width: canvasSize.width,
|
|
8833
8833
|
height: canvasSize.height
|
|
8834
8834
|
};
|
|
8835
|
-
setCompareResult(
|
|
8835
|
+
setCompareResult(chunkFKY33ZKL_js.comparePresentation(cur, other));
|
|
8836
8836
|
setIsComparePanelOpen(true);
|
|
8837
8837
|
} catch (err) {
|
|
8838
8838
|
console.warn("Compare failed:", err);
|
|
@@ -9185,7 +9185,7 @@ function useViewerDialogs(input) {
|
|
|
9185
9185
|
};
|
|
9186
9186
|
}
|
|
9187
9187
|
function computeGridSpacingPx(documentGridSpacing) {
|
|
9188
|
-
return pptx.computeGridSpacingPx(documentGridSpacing,
|
|
9188
|
+
return pptx.computeGridSpacingPx(documentGridSpacing, chunkFKY33ZKL_js.GRID_SIZE);
|
|
9189
9189
|
}
|
|
9190
9190
|
function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, presentationProperties) {
|
|
9191
9191
|
const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
|
|
@@ -9194,7 +9194,7 @@ function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, pre
|
|
|
9194
9194
|
}
|
|
9195
9195
|
function computeSlideSectionGroups(slides, sections) {
|
|
9196
9196
|
return pptx.groupSlidesBySection(sections, slides).map((group) => ({
|
|
9197
|
-
id: group.section?.id ?? (sections.length > 0 ?
|
|
9197
|
+
id: group.section?.id ?? (sections.length > 0 ? chunkFKY33ZKL_js.UNGROUPED_SECTION_ID : chunkFKY33ZKL_js.DEFAULT_SECTION_GROUP_ID),
|
|
9198
9198
|
label: group.section?.name ?? (sections.length > 0 ? "Ungrouped Slides" : "Slides"),
|
|
9199
9199
|
slideIndexes: group.slideIndexes,
|
|
9200
9200
|
...group.section?.color !== void 0 ? { color: group.section.color } : {},
|
|
@@ -9239,10 +9239,10 @@ function useDerivedSlideState(input) {
|
|
|
9239
9239
|
);
|
|
9240
9240
|
const slideSectionGroups = React17.useMemo(
|
|
9241
9241
|
() => computeSlideSectionGroups(slides, sections).map((group) => {
|
|
9242
|
-
if (group.id ===
|
|
9242
|
+
if (group.id === chunkFKY33ZKL_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
|
|
9243
9243
|
return { ...group, label: t("pptx.slides.ungroupedSlides") };
|
|
9244
9244
|
}
|
|
9245
|
-
if (group.id ===
|
|
9245
|
+
if (group.id === chunkFKY33ZKL_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
|
|
9246
9246
|
return { ...group, label: t("pptx.sections.slides") };
|
|
9247
9247
|
}
|
|
9248
9248
|
return group;
|
|
@@ -9349,7 +9349,7 @@ function useAnnotationHandlers(input) {
|
|
|
9349
9349
|
if (nextMode === "present") {
|
|
9350
9350
|
presentation.enterPresentMode();
|
|
9351
9351
|
} else if (mode === "present" && annotations.hasAnyAnnotations) {
|
|
9352
|
-
|
|
9352
|
+
chunkFKY33ZKL_js.stopAllPersistentAudio();
|
|
9353
9353
|
if (promptKeepInkAnnotations) {
|
|
9354
9354
|
pendingModeAfterAnnotationsRef.current = nextMode;
|
|
9355
9355
|
setShowKeepAnnotationsDialog(true);
|
|
@@ -9359,7 +9359,7 @@ function useAnnotationHandlers(input) {
|
|
|
9359
9359
|
}
|
|
9360
9360
|
} else {
|
|
9361
9361
|
if (mode === "present") {
|
|
9362
|
-
|
|
9362
|
+
chunkFKY33ZKL_js.stopAllPersistentAudio();
|
|
9363
9363
|
}
|
|
9364
9364
|
setMode(nextMode);
|
|
9365
9365
|
}
|
|
@@ -9430,7 +9430,7 @@ function overlayPendingInlineEdit(document2, elementId, text, snapshot, transfor
|
|
|
9430
9430
|
(slide) => !elementId ? slide : {
|
|
9431
9431
|
...slide,
|
|
9432
9432
|
elements: slide.elements.map(
|
|
9433
|
-
(element) => element.id === elementId && (0,
|
|
9433
|
+
(element) => element.id === elementId && (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element) ? {
|
|
9434
9434
|
...element,
|
|
9435
9435
|
text,
|
|
9436
9436
|
textSegments: pptx.remapTextToSegments(
|
|
@@ -9519,14 +9519,14 @@ function useSerialize(input) {
|
|
|
9519
9519
|
const pptxGuides = guides.map((g) => ({
|
|
9520
9520
|
id: g.id,
|
|
9521
9521
|
orientation: g.axis === "h" ? "horz" : "vert",
|
|
9522
|
-
positionEmu: (0,
|
|
9522
|
+
positionEmu: (0, chunkFKY33ZKL_js.dist_exports.guidePxToEmu)(g.position)
|
|
9523
9523
|
}));
|
|
9524
9524
|
return {
|
|
9525
9525
|
...slide,
|
|
9526
9526
|
guides: pptxGuides.length > 0 ? pptxGuides : void 0
|
|
9527
9527
|
};
|
|
9528
9528
|
});
|
|
9529
|
-
const slidesToSave =
|
|
9529
|
+
const slidesToSave = chunkFKY33ZKL_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
|
|
9530
9530
|
const saveOptions = pptx.buildDeckSaveOptions({
|
|
9531
9531
|
// Without this the Slide Size card edited a viewer-only pixel value and
|
|
9532
9532
|
// the saved `p:sldSz` never moved: passing `slideSize` is the only way a
|
|
@@ -9707,7 +9707,7 @@ function usePresentationSetup(input) {
|
|
|
9707
9707
|
return;
|
|
9708
9708
|
}
|
|
9709
9709
|
if (mode === "present" && nextMode !== "present") {
|
|
9710
|
-
|
|
9710
|
+
chunkFKY33ZKL_js.stopAllPersistentAudio();
|
|
9711
9711
|
stopAnimationSound();
|
|
9712
9712
|
const exitHandler = exitModeHandlerRef.current;
|
|
9713
9713
|
if (exitHandler) {
|
|
@@ -9828,12 +9828,12 @@ function useCanvasImagePaste(input) {
|
|
|
9828
9828
|
);
|
|
9829
9829
|
}
|
|
9830
9830
|
function formatPatchFor(element, format) {
|
|
9831
|
-
const updated =
|
|
9831
|
+
const updated = chunkFKY33ZKL_js.applyFormatToElement(element, format);
|
|
9832
9832
|
const updates = {};
|
|
9833
|
-
if ((0,
|
|
9833
|
+
if ((0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(updated)) {
|
|
9834
9834
|
updates.shapeStyle = updated.shapeStyle;
|
|
9835
9835
|
}
|
|
9836
|
-
if ((0,
|
|
9836
|
+
if ((0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(updated)) {
|
|
9837
9837
|
updates.textStyle = updated.textStyle;
|
|
9838
9838
|
}
|
|
9839
9839
|
return updates;
|
|
@@ -9851,7 +9851,7 @@ function useFormatPainterEditing(input) {
|
|
|
9851
9851
|
const prevFormatPainterRef = React17.useRef(false);
|
|
9852
9852
|
React17.useEffect(() => {
|
|
9853
9853
|
if (formatPainterActive && !prevFormatPainterRef.current && selectedElement) {
|
|
9854
|
-
copiedFormatRef.current =
|
|
9854
|
+
copiedFormatRef.current = chunkFKY33ZKL_js.copyFormatFromElement(selectedElement);
|
|
9855
9855
|
} else if (!formatPainterActive) {
|
|
9856
9856
|
copiedFormatRef.current = null;
|
|
9857
9857
|
}
|
|
@@ -10942,7 +10942,7 @@ function useKeyboardShortcutWiring(input) {
|
|
|
10942
10942
|
}
|
|
10943
10943
|
function stepSelectedFontSize(state, ops, direction) {
|
|
10944
10944
|
const selected = state.selectedElement;
|
|
10945
|
-
const currentPx = (selected && (0,
|
|
10945
|
+
const currentPx = (selected && (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(selected) ? selected.textStyle?.fontSize : void 0) ?? pptx.textFontSizePtToPx(18);
|
|
10946
10946
|
const nextPt = pptx.stepFontSizePt(pptx.textFontSizePxToPt(currentPx), direction);
|
|
10947
10947
|
ops.updateSelectedTextStyle({ fontSize: pptx.textFontSizePtToPx(nextPt) });
|
|
10948
10948
|
}
|
|
@@ -11499,7 +11499,7 @@ function useCollaborationWriteBack(input) {
|
|
|
11499
11499
|
getSourceBytes: () => latest.current.getSourceBytes?.() ?? null,
|
|
11500
11500
|
getSaveOptions: () => latest.current.getSaveOptions?.(),
|
|
11501
11501
|
getTemplateElements: () => latest.current.templateElementsBySlideId,
|
|
11502
|
-
mergeTemplateElements:
|
|
11502
|
+
mergeTemplateElements: chunkFKY33ZKL_js.buildSaveSlides
|
|
11503
11503
|
}),
|
|
11504
11504
|
[latest]
|
|
11505
11505
|
);
|
|
@@ -12052,8 +12052,8 @@ function useTouchGestures(input) {
|
|
|
12052
12052
|
}
|
|
12053
12053
|
const recognizer = pptx.createTouchGestureRecognizer({
|
|
12054
12054
|
getScale: () => scaleRef.current,
|
|
12055
|
-
minScale:
|
|
12056
|
-
maxScale:
|
|
12055
|
+
minScale: chunkFKY33ZKL_js.MIN_ZOOM_SCALE,
|
|
12056
|
+
maxScale: chunkFKY33ZKL_js.MAX_ZOOM_SCALE,
|
|
12057
12057
|
callbacks: {
|
|
12058
12058
|
onPinchZoom: (newScale) => callbacksRef.current.onPinchZoom?.(newScale),
|
|
12059
12059
|
onSwipe: (direction) => callbacksRef.current.onSwipe?.(direction),
|
|
@@ -12177,7 +12177,7 @@ function buildCanvasProps(input) {
|
|
|
12177
12177
|
if (pptx.shouldConfirmExternalHyperlink(viewerOptions, url) && !window.confirm(buildHyperlinkConfirmMessage(url))) {
|
|
12178
12178
|
return;
|
|
12179
12179
|
}
|
|
12180
|
-
|
|
12180
|
+
chunkFKY33ZKL_js.safeOpenUrl(url, target);
|
|
12181
12181
|
};
|
|
12182
12182
|
const handleActionClick = (elementId, action) => {
|
|
12183
12183
|
if (mode === "present") {
|
|
@@ -12192,9 +12192,9 @@ function buildCanvasProps(input) {
|
|
|
12192
12192
|
}
|
|
12193
12193
|
};
|
|
12194
12194
|
const handleHyperlinkClick = (url, target) => {
|
|
12195
|
-
if (
|
|
12195
|
+
if (chunkFKY33ZKL_js.isPpactionUrl(url)) {
|
|
12196
12196
|
if (mode === "present") {
|
|
12197
|
-
const parsed =
|
|
12197
|
+
const parsed = chunkFKY33ZKL_js.parsePpactionUrl(url);
|
|
12198
12198
|
if (parsed) {
|
|
12199
12199
|
presentation.handlePresentationAction({
|
|
12200
12200
|
action: parsed.action,
|
|
@@ -12620,7 +12620,7 @@ function buildToolbarProps(input) {
|
|
|
12620
12620
|
markDirty: history.markDirty
|
|
12621
12621
|
}),
|
|
12622
12622
|
formatPainterActive: s.formatPainterActive,
|
|
12623
|
-
canActivateFormatPainter:
|
|
12623
|
+
canActivateFormatPainter: chunkFKY33ZKL_js.hasCopyableFormat(selectedElement),
|
|
12624
12624
|
onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
|
|
12625
12625
|
isSelectionPaneOpen: s.isSelectionPaneOpen,
|
|
12626
12626
|
onToggleSelectionPane: () => s.setIsSelectionPaneOpen((p) => !p),
|
|
@@ -12943,7 +12943,7 @@ function useViewerBuildingBlocksCore(input) {
|
|
|
12943
12943
|
documentGridSpacing: state.viewProperties?.gridSpacing
|
|
12944
12944
|
});
|
|
12945
12945
|
const themeColorMap = React17.useMemo(
|
|
12946
|
-
() => state.theme?.colorScheme ? (0,
|
|
12946
|
+
() => state.theme?.colorScheme ? (0, chunkFKY33ZKL_js.dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
|
|
12947
12947
|
[state.theme?.colorScheme]
|
|
12948
12948
|
);
|
|
12949
12949
|
const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = usePresentationSetup({
|
|
@@ -13518,23 +13518,23 @@ function ColorChangedImage({
|
|
|
13518
13518
|
className,
|
|
13519
13519
|
alt
|
|
13520
13520
|
}) {
|
|
13521
|
-
const tolerance = tolerancePct ??
|
|
13522
|
-
const cacheKey =
|
|
13521
|
+
const tolerance = tolerancePct ?? chunkFKY33ZKL_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
|
|
13522
|
+
const cacheKey = chunkFKY33ZKL_js.buildCacheKey(
|
|
13523
13523
|
src,
|
|
13524
13524
|
clrChange.clrFrom,
|
|
13525
13525
|
clrChange.clrTo,
|
|
13526
13526
|
tolerance,
|
|
13527
13527
|
Boolean(clrChange.clrToTransparent)
|
|
13528
13528
|
);
|
|
13529
|
-
const cached =
|
|
13529
|
+
const cached = chunkFKY33ZKL_js.getCachedResult(cacheKey);
|
|
13530
13530
|
const [processedSrc, setProcessedSrc] = React17.useState(cached ?? null);
|
|
13531
13531
|
React17.useEffect(() => {
|
|
13532
|
-
if (
|
|
13533
|
-
setProcessedSrc(
|
|
13532
|
+
if (chunkFKY33ZKL_js.getCachedResult(cacheKey)) {
|
|
13533
|
+
setProcessedSrc(chunkFKY33ZKL_js.getCachedResult(cacheKey) ?? null);
|
|
13534
13534
|
return;
|
|
13535
13535
|
}
|
|
13536
13536
|
let cancelled = false;
|
|
13537
|
-
|
|
13537
|
+
chunkFKY33ZKL_js.applyColorChange(
|
|
13538
13538
|
src,
|
|
13539
13539
|
clrChange.clrFrom,
|
|
13540
13540
|
clrChange.clrTo,
|
|
@@ -13542,7 +13542,7 @@ function ColorChangedImage({
|
|
|
13542
13542
|
Boolean(clrChange.clrToTransparent)
|
|
13543
13543
|
).then((result) => {
|
|
13544
13544
|
if (!cancelled) {
|
|
13545
|
-
|
|
13545
|
+
chunkFKY33ZKL_js.setCachedResult(cacheKey, result.dataUrl);
|
|
13546
13546
|
setProcessedSrc(result.dataUrl);
|
|
13547
13547
|
}
|
|
13548
13548
|
return void 0;
|
|
@@ -13634,7 +13634,7 @@ function TiledImageLayer({
|
|
|
13634
13634
|
cancelled = true;
|
|
13635
13635
|
};
|
|
13636
13636
|
}, [src]);
|
|
13637
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...
|
|
13637
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunkFKY33ZKL_js.getImageTilingStyle(element, nativeSize), ...style } });
|
|
13638
13638
|
}
|
|
13639
13639
|
function renderImageEffectDefinitions(element, excludeDuotone = false) {
|
|
13640
13640
|
return pptx.getImageSvgFilters(element).filter((definition) => !excludeDuotone || definition.id !== `duotone-${element.id}`).map((definition) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13703,7 +13703,7 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
13703
13703
|
...filter ? { filter } : {},
|
|
13704
13704
|
...opacity !== void 0 ? { opacity } : {}
|
|
13705
13705
|
};
|
|
13706
|
-
if (
|
|
13706
|
+
if (chunkFKY33ZKL_js.isImageTiled(el)) {
|
|
13707
13707
|
const tileSrc = imgSrc(el);
|
|
13708
13708
|
if (!tileSrc) {
|
|
13709
13709
|
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" });
|
|
@@ -13722,12 +13722,12 @@ function renderImg(el, style, filter, alt, opacity) {
|
|
|
13722
13722
|
] });
|
|
13723
13723
|
}
|
|
13724
13724
|
const colorWash = pptx.getImageColorWashStyle(
|
|
13725
|
-
(0,
|
|
13725
|
+
(0, chunkFKY33ZKL_js.dist_exports.isImageLikeElement)(el) ? el.imageEffects?.colorWash : void 0
|
|
13726
13726
|
);
|
|
13727
13727
|
const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
|
|
13728
|
-
const duotoneColors =
|
|
13728
|
+
const duotoneColors = chunkFKY33ZKL_js.getDuotoneColors(el);
|
|
13729
13729
|
const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
|
|
13730
|
-
const filterForImg = useDuotoneCanvas ?
|
|
13730
|
+
const filterForImg = useDuotoneCanvas ? chunkFKY33ZKL_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
|
|
13731
13731
|
const canvasEffectStyles = {
|
|
13732
13732
|
...filterForImg ? { filter: filterForImg } : {},
|
|
13733
13733
|
...opacity !== void 0 ? { opacity } : {}
|
|
@@ -13803,10 +13803,10 @@ function SlideBackgroundImageLayer({
|
|
|
13803
13803
|
style: { zIndex: 0 },
|
|
13804
13804
|
children: renderImg(
|
|
13805
13805
|
backgroundElement,
|
|
13806
|
-
|
|
13807
|
-
|
|
13806
|
+
chunkFKY33ZKL_js.getImageRenderStyle(backgroundElement),
|
|
13807
|
+
chunkFKY33ZKL_js.getImageEffectsFilter(backgroundElement),
|
|
13808
13808
|
"",
|
|
13809
|
-
|
|
13809
|
+
chunkFKY33ZKL_js.getImageEffectsOpacity(backgroundElement)
|
|
13810
13810
|
)
|
|
13811
13811
|
}
|
|
13812
13812
|
);
|
|
@@ -14084,7 +14084,7 @@ function ChartElementView({
|
|
|
14084
14084
|
pptx.getBarFacePicturePixelSampleVersion
|
|
14085
14085
|
);
|
|
14086
14086
|
const viewModel = React17.useMemo(() => {
|
|
14087
|
-
return canEdit ?
|
|
14087
|
+
return canEdit ? chunkFKY33ZKL_js.buildReactChartViewModel(element) : null;
|
|
14088
14088
|
}, [canEdit, element, barFacePictureSampleVersion]);
|
|
14089
14089
|
React17.useEffect(pptx.ensureChartInteractionStyles, []);
|
|
14090
14090
|
React17.useEffect(() => {
|
|
@@ -14189,9 +14189,9 @@ function ChartElementView({
|
|
|
14189
14189
|
textStyle: animationState?.textStyle,
|
|
14190
14190
|
onSelect: chart3D.onSelect,
|
|
14191
14191
|
onDrag: chart3D.onDrag,
|
|
14192
|
-
children:
|
|
14192
|
+
children: chunkFKY33ZKL_js.renderChartElement(renderedElement, (key) => t(key))
|
|
14193
14193
|
}
|
|
14194
|
-
) :
|
|
14194
|
+
) : chunkFKY33ZKL_js.renderChartElement(renderedElement, (key) => t(key)),
|
|
14195
14195
|
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) }),
|
|
14196
14196
|
titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14197
14197
|
"input",
|
|
@@ -14521,7 +14521,7 @@ function ResizeHandles({
|
|
|
14521
14521
|
"aria-label": t("pptx.selectionOverlay.resize", { handle }),
|
|
14522
14522
|
"data-pptx-handle-kind": "resize",
|
|
14523
14523
|
"data-pptx-compact": true,
|
|
14524
|
-
className:
|
|
14524
|
+
className: chunkFKY33ZKL_js.cn(
|
|
14525
14525
|
"absolute z-10 group border-0 bg-transparent p-0",
|
|
14526
14526
|
RESIZE_DEFAULT_CLASSES,
|
|
14527
14527
|
posClass,
|
|
@@ -14547,7 +14547,7 @@ function ResizeHandles({
|
|
|
14547
14547
|
"div",
|
|
14548
14548
|
{
|
|
14549
14549
|
"data-pptx-handle-hit": true,
|
|
14550
|
-
className:
|
|
14550
|
+
className: chunkFKY33ZKL_js.cn(
|
|
14551
14551
|
"absolute -inset-px pointer-events-auto [--pptx-handle-hit-inset:-1px]",
|
|
14552
14552
|
corner ? "max-md:-inset-1.5 max-md:[--pptx-handle-hit-inset:-6px]" : "max-md:-inset-2 max-md:[--pptx-handle-hit-inset:-8px]"
|
|
14553
14553
|
),
|
|
@@ -14568,7 +14568,7 @@ function ResizeHandles({
|
|
|
14568
14568
|
"aria-label": t("pptx.selectionOverlay.rotate"),
|
|
14569
14569
|
"data-pptx-handle-kind": "rotate",
|
|
14570
14570
|
"data-pptx-compact": true,
|
|
14571
|
-
className:
|
|
14571
|
+
className: chunkFKY33ZKL_js.cn(
|
|
14572
14572
|
"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",
|
|
14573
14573
|
ROTATE_DEFAULT_CLASSES
|
|
14574
14574
|
),
|
|
@@ -14638,17 +14638,17 @@ var ConnectorElementRenderer = React17__default.default.memo(
|
|
|
14638
14638
|
animationState,
|
|
14639
14639
|
textStyleOverrideCss
|
|
14640
14640
|
}) {
|
|
14641
|
-
const shapeEl = (0,
|
|
14641
|
+
const shapeEl = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(el) ? el : void 0;
|
|
14642
14642
|
const viewWidth = Math.max(el.width, 0);
|
|
14643
14643
|
const viewHeight = Math.max(el.height, 0);
|
|
14644
14644
|
const svgWidth = Math.max(el.width, 1);
|
|
14645
14645
|
const svgHeight = Math.max(el.height, 1);
|
|
14646
14646
|
const ss = shapeEl?.shapeStyle;
|
|
14647
14647
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
14648
|
-
const strokeColor =
|
|
14649
|
-
const strokePaint =
|
|
14650
|
-
const dashType =
|
|
14651
|
-
const dashArray =
|
|
14648
|
+
const strokeColor = chunkFKY33ZKL_js.normalizeHexColor(ss?.strokeColor, chunkFKY33ZKL_js.DEFAULT_STROKE_COLOR);
|
|
14649
|
+
const strokePaint = chunkFKY33ZKL_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
|
|
14650
|
+
const dashType = chunkFKY33ZKL_js.normalizeStrokeDashType(ss?.strokeDash);
|
|
14651
|
+
const dashArray = chunkFKY33ZKL_js.getSvgStrokeDasharray(
|
|
14652
14652
|
dashType,
|
|
14653
14653
|
Math.max(strokeWidth, 1),
|
|
14654
14654
|
ss?.customDashSegments
|
|
@@ -14659,14 +14659,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
|
|
|
14659
14659
|
const markerSeed = el.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
14660
14660
|
const startMarkerId = `${markerSeed}-sel-start`;
|
|
14661
14661
|
const endMarkerId = `${markerSeed}-sel-end`;
|
|
14662
|
-
const compoundOffsets =
|
|
14663
|
-
const compoundWidths =
|
|
14662
|
+
const compoundOffsets = chunkFKY33ZKL_js.getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
14663
|
+
const compoundWidths = chunkFKY33ZKL_js.getCompoundLineWidths(compoundLine, strokeWidth);
|
|
14664
14664
|
const strokeCap = pptx.svgLineCap(ss?.lineCap);
|
|
14665
|
-
const textEl = (0,
|
|
14665
|
+
const textEl = (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) ? el : void 0;
|
|
14666
14666
|
const connectorText = textEl?.text?.trim() ?? "";
|
|
14667
14667
|
const connectorTextSegments = textEl?.textSegments;
|
|
14668
14668
|
const connectorTextStyle = textEl?.textStyle;
|
|
14669
|
-
const pathGeometry = shapeEl ?
|
|
14669
|
+
const pathGeometry = shapeEl ? chunkFKY33ZKL_js.getConnectorPathGeometry(shapeEl) : {
|
|
14670
14670
|
pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
|
|
14671
14671
|
startX: 0,
|
|
14672
14672
|
startY: 0,
|
|
@@ -14675,16 +14675,16 @@ var ConnectorElementRenderer = React17__default.default.memo(
|
|
|
14675
14675
|
};
|
|
14676
14676
|
const hitTargetWidth = Math.max(strokeWidth * 3, 14);
|
|
14677
14677
|
const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
|
|
14678
|
-
const lineShadow =
|
|
14679
|
-
const lineGlow =
|
|
14678
|
+
const lineShadow = chunkFKY33ZKL_js.buildLineShadowCss(el);
|
|
14679
|
+
const lineGlow = chunkFKY33ZKL_js.buildLineGlowFilter(el);
|
|
14680
14680
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14681
14681
|
"div",
|
|
14682
14682
|
{
|
|
14683
14683
|
"data-pptx-element": "true",
|
|
14684
14684
|
"data-element-id": el.id,
|
|
14685
|
-
role:
|
|
14686
|
-
"aria-label":
|
|
14687
|
-
"aria-roledescription":
|
|
14685
|
+
role: chunkFKY33ZKL_js.getAriaRole(el, { actionable: false }),
|
|
14686
|
+
"aria-label": chunkFKY33ZKL_js.getAriaLabel(el),
|
|
14687
|
+
"aria-roledescription": chunkFKY33ZKL_js.getAriaRoleDescription(el),
|
|
14688
14688
|
"aria-selected": isSelected ? true : void 0,
|
|
14689
14689
|
className: "absolute",
|
|
14690
14690
|
style: {
|
|
@@ -14717,14 +14717,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
|
|
|
14717
14717
|
style: { overflow: "visible", pointerEvents: "none" },
|
|
14718
14718
|
children: [
|
|
14719
14719
|
/* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
|
|
14720
|
-
|
|
14720
|
+
chunkFKY33ZKL_js.renderConnectorMarker(
|
|
14721
14721
|
startMarkerId,
|
|
14722
14722
|
startArrow,
|
|
14723
14723
|
strokePaint,
|
|
14724
14724
|
ss?.connectorStartArrowWidth,
|
|
14725
14725
|
ss?.connectorStartArrowLength
|
|
14726
14726
|
),
|
|
14727
|
-
|
|
14727
|
+
chunkFKY33ZKL_js.renderConnectorMarker(
|
|
14728
14728
|
endMarkerId,
|
|
14729
14729
|
endArrow,
|
|
14730
14730
|
strokePaint,
|
|
@@ -14930,14 +14930,14 @@ function getElementInteractionProps({
|
|
|
14930
14930
|
};
|
|
14931
14931
|
}
|
|
14932
14932
|
function renderDagDuotoneFilterForElement(el) {
|
|
14933
|
-
if (!
|
|
14933
|
+
if (!chunkFKY33ZKL_js.hasDagDuotoneEffect(el)) {
|
|
14934
14934
|
return null;
|
|
14935
14935
|
}
|
|
14936
14936
|
const duotone = el.shapeStyle?.dagDuotone;
|
|
14937
14937
|
if (!duotone) {
|
|
14938
14938
|
return null;
|
|
14939
14939
|
}
|
|
14940
|
-
return
|
|
14940
|
+
return chunkFKY33ZKL_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
|
|
14941
14941
|
}
|
|
14942
14942
|
function getContainerStyle({
|
|
14943
14943
|
el,
|
|
@@ -14950,7 +14950,7 @@ function getContainerStyle({
|
|
|
14950
14950
|
has3DExtrusion,
|
|
14951
14951
|
templateEditing
|
|
14952
14952
|
}) {
|
|
14953
|
-
const ss = (0,
|
|
14953
|
+
const ss = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
|
|
14954
14954
|
const isPicture = el.type === "picture" || el.type === "image";
|
|
14955
14955
|
const blurGrowVisible = Boolean(
|
|
14956
14956
|
ss?.blurGrow && typeof ss.blurRadius === "number" && ss.blurRadius > 0
|
|
@@ -14964,10 +14964,10 @@ function getContainerStyle({
|
|
|
14964
14964
|
top: isFullscreenMedia ? fs.top : el.y,
|
|
14965
14965
|
width: isFullscreenMedia ? fs.width : painted.width,
|
|
14966
14966
|
...heightStyle,
|
|
14967
|
-
transform: isFullscreenMedia ? fs.transform :
|
|
14967
|
+
transform: isFullscreenMedia ? fs.transform : chunkFKY33ZKL_js.getElementTransform(el),
|
|
14968
14968
|
transformOrigin: "center",
|
|
14969
14969
|
overflow: overflowValue,
|
|
14970
|
-
clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ?
|
|
14970
|
+
clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunkFKY33ZKL_js.getCropShapeClipPath(el) : void 0,
|
|
14971
14971
|
zIndex: isFullscreenMedia ? fs.zIndex : zIndex,
|
|
14972
14972
|
visibility: animationState?.visible === false ? "hidden" : "visible",
|
|
14973
14973
|
animation: animationState?.cssAnimation,
|
|
@@ -15002,11 +15002,11 @@ function getContainerStyle({
|
|
|
15002
15002
|
};
|
|
15003
15003
|
}
|
|
15004
15004
|
function shapeParams(element) {
|
|
15005
|
-
const style = (0,
|
|
15005
|
+
const style = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
|
|
15006
15006
|
const strokeWidth = pptx.paintedStrokeWidth(style);
|
|
15007
|
-
const strokeColor =
|
|
15008
|
-
const fillColor =
|
|
15009
|
-
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(
|
|
15007
|
+
const strokeColor = chunkFKY33ZKL_js.normalizeHexColor(style?.strokeColor, chunkFKY33ZKL_js.DEFAULT_STROKE_COLOR);
|
|
15008
|
+
const fillColor = chunkFKY33ZKL_js.normalizeHexColor(style?.fillColor, chunkFKY33ZKL_js.DEFAULT_FILL_COLOR);
|
|
15009
|
+
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkFKY33ZKL_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
15010
15010
|
return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
|
|
15011
15011
|
}
|
|
15012
15012
|
var Extrusion3DOverlay = React17__default.default.memo(
|
|
@@ -15111,7 +15111,7 @@ function ShapeEffectOverlay({
|
|
|
15111
15111
|
const fillOverlayStyle = overlay ? {
|
|
15112
15112
|
position: "absolute",
|
|
15113
15113
|
inset: 0,
|
|
15114
|
-
...(0,
|
|
15114
|
+
...(0, chunkFKY33ZKL_js.dist_exports.isImageLikeElement)(element) ? chunkFKY33ZKL_js.getImageSurfaceMaskStyle(element) : {},
|
|
15115
15115
|
background: overlay.color,
|
|
15116
15116
|
mixBlendMode: overlay.blendMode,
|
|
15117
15117
|
pointerEvents: "none"
|
|
@@ -15191,10 +15191,13 @@ function ShapeEffectOverlay({
|
|
|
15191
15191
|
},
|
|
15192
15192
|
children: [
|
|
15193
15193
|
strokeOutline.paint ? /* @__PURE__ */ jsxRuntime.jsx("defs", { children: renderOutlinePaint(strokeOutline.paint) }) : null,
|
|
15194
|
+
strokeOutline.markers && /* @__PURE__ */ jsxRuntime.jsx("defs", { dangerouslySetInnerHTML: { __html: strokeOutline.markers.markup } }),
|
|
15194
15195
|
strokeOutline.strands.map((strand, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
15195
15196
|
"path",
|
|
15196
15197
|
{
|
|
15197
15198
|
d: strokeOutline.d,
|
|
15199
|
+
markerStart: idx === 0 ? strokeOutline.markers?.start : void 0,
|
|
15200
|
+
markerEnd: idx === 0 ? strokeOutline.markers?.end : void 0,
|
|
15198
15201
|
fill: "none",
|
|
15199
15202
|
stroke: animatesStroke ? "inherit" : strokeOutline.stroke,
|
|
15200
15203
|
strokeWidth: strand.strokeWidth,
|
|
@@ -15315,10 +15318,10 @@ var ElementRenderer = React17__default.default.memo(
|
|
|
15315
15318
|
const backgroundAnimationState = pptx.getBackgroundAnimationState(el, presentationElementStates);
|
|
15316
15319
|
const effectPlacement = pptx.getShapeEffectLayerPlacement(el);
|
|
15317
15320
|
const visualAnimationState = backgroundAnimationState ?? animationState;
|
|
15318
|
-
const isTxt =
|
|
15319
|
-
const txtSE = (0,
|
|
15321
|
+
const isTxt = chunkFKY33ZKL_js.isEditableTextElement(el) && allow.textEditable;
|
|
15322
|
+
const txtSE = (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) ? el.textStyle : void 0;
|
|
15320
15323
|
const textStyleOverrideCss = pptx.buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
|
|
15321
|
-
const ss =
|
|
15324
|
+
const ss = chunkFKY33ZKL_js.getShapeVisualStyle(
|
|
15322
15325
|
el,
|
|
15323
15326
|
hf,
|
|
15324
15327
|
fc,
|
|
@@ -15327,9 +15330,9 @@ var ElementRenderer = React17__default.default.memo(
|
|
|
15327
15330
|
visualAnimationState?.animatesFill,
|
|
15328
15331
|
visualAnimationState?.animatesStroke
|
|
15329
15332
|
);
|
|
15330
|
-
const ts =
|
|
15333
|
+
const ts = chunkFKY33ZKL_js.getTextStyleForElement(el, chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR);
|
|
15331
15334
|
const isImg = el.type === "picture" || el.type === "image";
|
|
15332
|
-
const vs =
|
|
15335
|
+
const vs = chunkFKY33ZKL_js.renderVectorShape(
|
|
15333
15336
|
el,
|
|
15334
15337
|
isImg ? false : hf,
|
|
15335
15338
|
fc,
|
|
@@ -15339,10 +15342,10 @@ var ElementRenderer = React17__default.default.memo(
|
|
|
15339
15342
|
visualAnimationState?.animatesStroke
|
|
15340
15343
|
);
|
|
15341
15344
|
const isModel3D = el.type === "model3d";
|
|
15342
|
-
const isConn =
|
|
15343
|
-
const shapeStyle3d = (0,
|
|
15345
|
+
const isConn = chunkFKY33ZKL_js.isConnectorOrLineElement(el);
|
|
15346
|
+
const shapeStyle3d = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
|
|
15344
15347
|
const extrusionData = React17.useMemo(
|
|
15345
|
-
() =>
|
|
15348
|
+
() => chunkFKY33ZKL_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
|
|
15346
15349
|
[shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
|
|
15347
15350
|
);
|
|
15348
15351
|
const actionAffordance = useActionAffordance(el, canInteract);
|
|
@@ -15432,7 +15435,7 @@ var ElementRenderer = React17__default.default.memo(
|
|
|
15432
15435
|
"aria-hidden": aria.hidden ? true : void 0,
|
|
15433
15436
|
"aria-selected": isSelected ? true : void 0,
|
|
15434
15437
|
tabIndex: isFocusable ? 0 : -1,
|
|
15435
|
-
className:
|
|
15438
|
+
className: chunkFKY33ZKL_js.cn(
|
|
15436
15439
|
"absolute",
|
|
15437
15440
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
|
|
15438
15441
|
cur,
|
|
@@ -15505,9 +15508,9 @@ var ElementRenderer = React17__default.default.memo(
|
|
|
15505
15508
|
txtSE,
|
|
15506
15509
|
txtS: ts,
|
|
15507
15510
|
vecShape: backgroundAnimationState && !isImg ? null : vs,
|
|
15508
|
-
imgStyle:
|
|
15509
|
-
imgFilter:
|
|
15510
|
-
imgOpacity:
|
|
15511
|
+
imgStyle: chunkFKY33ZKL_js.getImageRenderStyle(el),
|
|
15512
|
+
imgFilter: chunkFKY33ZKL_js.getImageEffectsFilter(el),
|
|
15513
|
+
imgOpacity: chunkFKY33ZKL_js.getImageEffectsOpacity(el),
|
|
15511
15514
|
imgAlt: imageAltText,
|
|
15512
15515
|
isTxtEl: isTxt,
|
|
15513
15516
|
media: mediaDataUrls,
|
|
@@ -15644,10 +15647,10 @@ function renderStrokeView(view, pressureSensitive, replayStyle, key) {
|
|
|
15644
15647
|
}
|
|
15645
15648
|
function renderInk(el, options) {
|
|
15646
15649
|
const replay = options?.replay ?? false;
|
|
15647
|
-
const strokes =
|
|
15650
|
+
const strokes = chunkFKY33ZKL_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
|
|
15648
15651
|
strokes.some((s) => s.circles || s.nibMarks);
|
|
15649
15652
|
const pressureSensitive = options?.pressureSensitive;
|
|
15650
|
-
const replayStyles = replay ?
|
|
15653
|
+
const replayStyles = replay ? chunkFKY33ZKL_js.getInkReplayStyles(el, options?.replayConfig) : null;
|
|
15651
15654
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15652
15655
|
"svg",
|
|
15653
15656
|
{
|
|
@@ -15655,7 +15658,7 @@ function renderInk(el, options) {
|
|
|
15655
15658
|
viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
|
|
15656
15659
|
preserveAspectRatio: "none",
|
|
15657
15660
|
children: [
|
|
15658
|
-
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
15661
|
+
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkFKY33ZKL_js.INK_REPLAY_KEYFRAMES }),
|
|
15659
15662
|
strokes.map(
|
|
15660
15663
|
(s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-ink-${i}`)
|
|
15661
15664
|
)
|
|
@@ -15666,7 +15669,7 @@ function renderInk(el, options) {
|
|
|
15666
15669
|
function renderGroup(children, parentGroupFill) {
|
|
15667
15670
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: pptx.filterRenderedElements(children).map((c, childIndex) => {
|
|
15668
15671
|
const { hf, fc, sw, sc } = shapeParams(c);
|
|
15669
|
-
const baseSs =
|
|
15672
|
+
const baseSs = chunkFKY33ZKL_js.getShapeVisualStyle(c, hf, fc, sw, sc);
|
|
15670
15673
|
const inheritedFill = pptx.resolveGroupChildFill(c, parentGroupFill);
|
|
15671
15674
|
const ss = inheritedFill ? {
|
|
15672
15675
|
...baseSs,
|
|
@@ -15677,9 +15680,9 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15677
15680
|
backgroundPosition: inheritedFill.backgroundPosition
|
|
15678
15681
|
} : baseSs;
|
|
15679
15682
|
const isI = c.type === "picture" || c.type === "image";
|
|
15680
|
-
const vs =
|
|
15681
|
-
const ts =
|
|
15682
|
-
const isTxt =
|
|
15683
|
+
const vs = chunkFKY33ZKL_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
|
|
15684
|
+
const ts = chunkFKY33ZKL_js.getTextStyleForElement(c, chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR);
|
|
15685
|
+
const isTxt = chunkFKY33ZKL_js.isEditableTextElement(c);
|
|
15683
15686
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15684
15687
|
"div",
|
|
15685
15688
|
{
|
|
@@ -15688,9 +15691,9 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15688
15691
|
style: {
|
|
15689
15692
|
left: c.x,
|
|
15690
15693
|
top: c.y,
|
|
15691
|
-
width: Math.max(c.width,
|
|
15692
|
-
height: Math.max(c.height,
|
|
15693
|
-
transform:
|
|
15694
|
+
width: Math.max(c.width, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE),
|
|
15695
|
+
height: Math.max(c.height, chunkFKY33ZKL_js.MIN_ELEMENT_SIZE),
|
|
15696
|
+
transform: chunkFKY33ZKL_js.getElementTransform(c),
|
|
15694
15697
|
transformOrigin: "center",
|
|
15695
15698
|
...ss,
|
|
15696
15699
|
...isI ? {
|
|
@@ -15715,8 +15718,8 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15715
15718
|
// A nested group: recurse, chaining the inherited fill so a
|
|
15716
15719
|
// `grpFill` shape under a fill-less sub-group still paints.
|
|
15717
15720
|
renderGroup(c.children, pptx.getGroupChildParentFill(c, parentGroupFill))
|
|
15718
|
-
) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style:
|
|
15719
|
-
|
|
15721
|
+
) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkFKY33ZKL_js.getImageSurfaceStyle(c), children: [
|
|
15722
|
+
chunkFKY33ZKL_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
15720
15723
|
TiledImageLayer,
|
|
15721
15724
|
{
|
|
15722
15725
|
element: c,
|
|
@@ -15729,7 +15732,7 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15729
15732
|
src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
|
|
15730
15733
|
alt: i18n.translationsEn["pptx.ink.groupChildAlt"],
|
|
15731
15734
|
className: "pointer-events-none select-none",
|
|
15732
|
-
style:
|
|
15735
|
+
style: chunkFKY33ZKL_js.getImageRenderStyle(c),
|
|
15733
15736
|
draggable: false
|
|
15734
15737
|
}
|
|
15735
15738
|
),
|
|
@@ -15741,7 +15744,7 @@ function renderGroup(children, parentGroupFill) {
|
|
|
15741
15744
|
{
|
|
15742
15745
|
className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
|
|
15743
15746
|
style: ts,
|
|
15744
|
-
children:
|
|
15747
|
+
children: chunkFKY33ZKL_js.renderTextSegments(c, chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR)
|
|
15745
15748
|
}
|
|
15746
15749
|
) : null
|
|
15747
15750
|
] })
|
|
@@ -15755,8 +15758,8 @@ function renderContentPart(el, options) {
|
|
|
15755
15758
|
if (el.inkStrokes && el.inkStrokes.length > 0) {
|
|
15756
15759
|
const replay = options?.replay ?? false;
|
|
15757
15760
|
const pressureSensitive = options?.pressureSensitive ?? true;
|
|
15758
|
-
const strokes =
|
|
15759
|
-
const replayStyles = replay ?
|
|
15761
|
+
const strokes = chunkFKY33ZKL_js.buildContentPartStrokes(el);
|
|
15762
|
+
const replayStyles = replay ? chunkFKY33ZKL_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
|
|
15760
15763
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15761
15764
|
"svg",
|
|
15762
15765
|
{
|
|
@@ -15764,7 +15767,7 @@ function renderContentPart(el, options) {
|
|
|
15764
15767
|
viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
|
|
15765
15768
|
preserveAspectRatio: "none",
|
|
15766
15769
|
children: [
|
|
15767
|
-
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children:
|
|
15770
|
+
replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkFKY33ZKL_js.INK_REPLAY_KEYFRAMES }),
|
|
15768
15771
|
strokes.map(
|
|
15769
15772
|
(s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-cp-ink-${i}`)
|
|
15770
15773
|
)
|
|
@@ -15991,9 +15994,9 @@ function useInlineListEditor(element, rootRef, onChange, onModelReplacement) {
|
|
|
15991
15994
|
collaboration: connected,
|
|
15992
15995
|
model: pptx.createInlineListModelObserver(element),
|
|
15993
15996
|
activationSelection,
|
|
15994
|
-
children: seed && !connected ?
|
|
15997
|
+
children: seed && !connected ? chunkFKY33ZKL_js.renderTextSegments(
|
|
15995
15998
|
element,
|
|
15996
|
-
|
|
15999
|
+
chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR,
|
|
15997
16000
|
void 0,
|
|
15998
16001
|
void 0,
|
|
15999
16002
|
void 0,
|
|
@@ -16163,7 +16166,7 @@ function InlineTextEditor({
|
|
|
16163
16166
|
seedRef.current = {
|
|
16164
16167
|
initialText,
|
|
16165
16168
|
hasRichSegments: Boolean(
|
|
16166
|
-
(0,
|
|
16169
|
+
(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element) && element.textSegments && element.textSegments.length > 0
|
|
16167
16170
|
)
|
|
16168
16171
|
};
|
|
16169
16172
|
}
|
|
@@ -16229,8 +16232,8 @@ function InlineTextEditor({
|
|
|
16229
16232
|
pending.endOffset
|
|
16230
16233
|
);
|
|
16231
16234
|
});
|
|
16232
|
-
const warpStyle =
|
|
16233
|
-
const compensationTransform =
|
|
16235
|
+
const warpStyle = chunkFKY33ZKL_js.getTextWarpStyle(textStyleRaw);
|
|
16236
|
+
const compensationTransform = chunkFKY33ZKL_js.getTextCompensationTransform(element);
|
|
16234
16237
|
const warpTransform = warpStyle?.transform;
|
|
16235
16238
|
const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
|
|
16236
16239
|
const wrapperStyle = {
|
|
@@ -16241,7 +16244,7 @@ function InlineTextEditor({
|
|
|
16241
16244
|
transformOrigin: warpStyle?.transformOrigin || "center"
|
|
16242
16245
|
};
|
|
16243
16246
|
const nextInlineStyleValue = (property) => {
|
|
16244
|
-
if (!(0,
|
|
16247
|
+
if (!(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element)) {
|
|
16245
16248
|
return true;
|
|
16246
16249
|
}
|
|
16247
16250
|
const result = pptx.getInlineEditorSelectionResult(element.textSegments);
|
|
@@ -16318,7 +16321,7 @@ function InlineTextEditor({
|
|
|
16318
16321
|
const text = e.clipboardData.getData("text/plain");
|
|
16319
16322
|
document.execCommand("insertText", false, text);
|
|
16320
16323
|
},
|
|
16321
|
-
children: list.seed ? list.children : seed.hasRichSegments ?
|
|
16324
|
+
children: list.seed ? list.children : seed.hasRichSegments ? chunkFKY33ZKL_js.renderTextSegments(element, chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR) : seed.initialText
|
|
16322
16325
|
},
|
|
16323
16326
|
list.seed?.paragraphs[0].token ?? "plain"
|
|
16324
16327
|
);
|
|
@@ -17255,7 +17258,7 @@ function SmartArtRendererImpl({
|
|
|
17255
17258
|
if (!onUpdateElement || !pptx.shouldCommitSmartArtNodeText(smartArtData, nodeId, text)) {
|
|
17256
17259
|
return;
|
|
17257
17260
|
}
|
|
17258
|
-
const updated = (0,
|
|
17261
|
+
const updated = (0, chunkFKY33ZKL_js.dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text);
|
|
17259
17262
|
const box = { width: element.width, height: element.height };
|
|
17260
17263
|
const reflowed = pptx.rebuildDrawingShapesIfCleared(
|
|
17261
17264
|
updated,
|
|
@@ -17271,7 +17274,7 @@ function SmartArtRendererImpl({
|
|
|
17271
17274
|
if (!onUpdateElement) {
|
|
17272
17275
|
return;
|
|
17273
17276
|
}
|
|
17274
|
-
const next = (0,
|
|
17277
|
+
const next = (0, chunkFKY33ZKL_js.dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, { fillColor: fill });
|
|
17275
17278
|
if (next !== smartArtData) {
|
|
17276
17279
|
const box = { width: element.width, height: element.height };
|
|
17277
17280
|
const reflowed = pptx.rebuildDrawingShapesIfCleared(
|
|
@@ -17465,7 +17468,7 @@ function groupIntoParagraphs(element, fieldContext) {
|
|
|
17465
17468
|
element,
|
|
17466
17469
|
fieldContext ? (seg) => {
|
|
17467
17470
|
if (seg.fieldType) {
|
|
17468
|
-
const substituted =
|
|
17471
|
+
const substituted = chunkFKY33ZKL_js.substituteFieldText(
|
|
17469
17472
|
seg.text,
|
|
17470
17473
|
seg.fieldType,
|
|
17471
17474
|
fieldContext,
|
|
@@ -17500,13 +17503,13 @@ function getSegmentTspanProps(segment, element, fallbackColor) {
|
|
|
17500
17503
|
if (s.strikethrough) {
|
|
17501
17504
|
decos.push("line-through");
|
|
17502
17505
|
}
|
|
17503
|
-
const fill = s.hyperlink ?
|
|
17506
|
+
const fill = s.hyperlink ? chunkFKY33ZKL_js.normalizeHexColor(s.color || element.textStyle?.color, chunkFKY33ZKL_js.HYPERLINK_COLOR) : chunkFKY33ZKL_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
|
|
17504
17507
|
return {
|
|
17505
17508
|
fill,
|
|
17506
|
-
fontSize: s.fontSize ?? element.textStyle?.fontSize ??
|
|
17509
|
+
fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunkFKY33ZKL_js.DEFAULT_TEXT_FONT_SIZE,
|
|
17507
17510
|
fontWeight: s.bold ? 700 : 400,
|
|
17508
17511
|
fontStyle: s.italic ? "italic" : void 0,
|
|
17509
|
-
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0,
|
|
17512
|
+
fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0, chunkFKY33ZKL_js.dist_exports.getSubstituteFontFamily)(s.fontFamily || element.textStyle?.fontFamily || "") : chunkFKY33ZKL_js.DEFAULT_FONT_FAMILY,
|
|
17510
17513
|
textDecoration: decos.length > 0 ? decos.join(" ") : void 0
|
|
17511
17514
|
};
|
|
17512
17515
|
}
|
|
@@ -17514,8 +17517,8 @@ function resolveSegmentFont(segment, element) {
|
|
|
17514
17517
|
const s = segment.style || {};
|
|
17515
17518
|
const family = s.fontFamily || element.textStyle?.fontFamily;
|
|
17516
17519
|
return {
|
|
17517
|
-
fontFamily: family ? (0,
|
|
17518
|
-
fontSizePx: s.fontSize ?? element.textStyle?.fontSize ??
|
|
17520
|
+
fontFamily: family ? (0, chunkFKY33ZKL_js.dist_exports.getSubstituteFontFamily)(family) : chunkFKY33ZKL_js.DEFAULT_FONT_FAMILY,
|
|
17521
|
+
fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunkFKY33ZKL_js.DEFAULT_TEXT_FONT_SIZE,
|
|
17519
17522
|
bold: s.bold ?? element.textStyle?.bold,
|
|
17520
17523
|
italic: s.italic ?? element.textStyle?.italic
|
|
17521
17524
|
};
|
|
@@ -17581,7 +17584,7 @@ function WarpedText({
|
|
|
17581
17584
|
fallbackColor,
|
|
17582
17585
|
fieldContext
|
|
17583
17586
|
}) {
|
|
17584
|
-
if (!(0,
|
|
17587
|
+
if (!(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element)) {
|
|
17585
17588
|
return null;
|
|
17586
17589
|
}
|
|
17587
17590
|
const textEl = element;
|
|
@@ -17599,9 +17602,9 @@ function WarpedText({
|
|
|
17599
17602
|
const warpAdj2 = textEl.textStyle?.textWarpAdj2;
|
|
17600
17603
|
const align = textEl.textStyle?.align ?? "center";
|
|
17601
17604
|
const { startOffset, textAnchor } = getAlignmentProps(align);
|
|
17602
|
-
const baseFontSize = textEl.textStyle?.fontSize ??
|
|
17603
|
-
const baseFontFamily = textEl.textStyle?.fontFamily ? (0,
|
|
17604
|
-
const baseFill =
|
|
17605
|
+
const baseFontSize = textEl.textStyle?.fontSize ?? chunkFKY33ZKL_js.DEFAULT_TEXT_FONT_SIZE;
|
|
17606
|
+
const baseFontFamily = textEl.textStyle?.fontFamily ? (0, chunkFKY33ZKL_js.dist_exports.getSubstituteFontFamily)(textEl.textStyle.fontFamily) : chunkFKY33ZKL_js.DEFAULT_FONT_FAMILY;
|
|
17607
|
+
const baseFill = chunkFKY33ZKL_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
|
|
17605
17608
|
if (pptx.hasGlyphEnvelope(preset)) {
|
|
17606
17609
|
const perLine = pptx.buildGlyphEnvelopeBlock(
|
|
17607
17610
|
preset,
|
|
@@ -17701,7 +17704,7 @@ function WarpedText({
|
|
|
17701
17704
|
);
|
|
17702
17705
|
}
|
|
17703
17706
|
var GLYPH_BY_SHAPE = Object.fromEntries(
|
|
17704
|
-
|
|
17707
|
+
chunkFKY33ZKL_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
|
|
17705
17708
|
);
|
|
17706
17709
|
GLYPH_BY_SHAPE["actionButtonForwardOrNext"] = GLYPH_BY_SHAPE["actionButtonForwardNext"];
|
|
17707
17710
|
GLYPH_BY_SHAPE["actionButtonBackOrPrevious"] = GLYPH_BY_SHAPE["actionButtonBackPrevious"];
|
|
@@ -17771,11 +17774,11 @@ function renderTextElementBody(options) {
|
|
|
17771
17774
|
const isLinkedTextBox = pptx.isLinkedTextBox(el);
|
|
17772
17775
|
const linkedSegments = pptx.getOverflowSegments(el, slideElements);
|
|
17773
17776
|
const useSvgWarp = pptx.shouldUseSvgWarp(
|
|
17774
|
-
(0,
|
|
17777
|
+
(0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) ? el.textStyle?.textWarpPreset : void 0
|
|
17775
17778
|
);
|
|
17776
|
-
const scene3dStyle = (0,
|
|
17779
|
+
const scene3dStyle = (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(el) ? chunkFKY33ZKL_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
|
|
17777
17780
|
const rotationTransform = pptx.getTextBodyRotationTransform(el);
|
|
17778
|
-
const composedTransform = [rotationTransform,
|
|
17781
|
+
const composedTransform = [rotationTransform, chunkFKY33ZKL_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
|
|
17779
17782
|
const transformStyle = {
|
|
17780
17783
|
transform: composedTransform,
|
|
17781
17784
|
// A COM-measured homography (`scene3dStyle.transformOrigin === '0 0'`)
|
|
@@ -17805,18 +17808,18 @@ function renderTextElementBody(options) {
|
|
|
17805
17808
|
shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17806
17809
|
"div",
|
|
17807
17810
|
{
|
|
17808
|
-
className:
|
|
17811
|
+
className: chunkFKY33ZKL_js.cn(
|
|
17809
17812
|
"relative z-10 w-full h-full",
|
|
17810
17813
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
17811
17814
|
),
|
|
17812
|
-
style: { ...
|
|
17815
|
+
style: { ...chunkFKY33ZKL_js.getTextLayoutStyle(el), ...transformStyle },
|
|
17813
17816
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17814
17817
|
WarpedText,
|
|
17815
17818
|
{
|
|
17816
17819
|
element: el,
|
|
17817
17820
|
width: el.width,
|
|
17818
17821
|
height: el.height,
|
|
17819
|
-
fallbackColor:
|
|
17822
|
+
fallbackColor: chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR,
|
|
17820
17823
|
findHighlights: findHl,
|
|
17821
17824
|
fieldContext
|
|
17822
17825
|
}
|
|
@@ -17825,19 +17828,19 @@ function renderTextElementBody(options) {
|
|
|
17825
17828
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
17826
17829
|
"div",
|
|
17827
17830
|
{
|
|
17828
|
-
className:
|
|
17831
|
+
className: chunkFKY33ZKL_js.cn(
|
|
17829
17832
|
"relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
|
|
17830
17833
|
onHyperlinkClick ? "" : "pointer-events-none"
|
|
17831
17834
|
),
|
|
17832
17835
|
style: {
|
|
17833
|
-
...
|
|
17836
|
+
...chunkFKY33ZKL_js.getTextLayoutStyle(el),
|
|
17834
17837
|
...txtS,
|
|
17835
|
-
...
|
|
17838
|
+
...chunkFKY33ZKL_js.getTextWarpStyle(txtSE),
|
|
17836
17839
|
...transformStyle
|
|
17837
17840
|
},
|
|
17838
|
-
children:
|
|
17841
|
+
children: chunkFKY33ZKL_js.renderTextSegments(
|
|
17839
17842
|
el,
|
|
17840
|
-
|
|
17843
|
+
chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR,
|
|
17841
17844
|
void 0,
|
|
17842
17845
|
findHl,
|
|
17843
17846
|
onHyperlinkClick,
|
|
@@ -18156,7 +18159,7 @@ function renderBody(options) {
|
|
|
18156
18159
|
);
|
|
18157
18160
|
}
|
|
18158
18161
|
if (isImg) {
|
|
18159
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style:
|
|
18162
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkFKY33ZKL_js.getImageSurfaceStyle(el), children: [
|
|
18160
18163
|
renderImg(el, imgStyle, imgFilter, imgAlt, imgOpacity),
|
|
18161
18164
|
vecShape ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", children: vecShape }) : null
|
|
18162
18165
|
] });
|
|
@@ -18173,7 +18176,7 @@ function renderBody(options) {
|
|
|
18173
18176
|
textDirection: txtSE?.textDirection,
|
|
18174
18177
|
textStyle: txtS,
|
|
18175
18178
|
textStyleRaw: txtSE,
|
|
18176
|
-
layoutStyle:
|
|
18179
|
+
layoutStyle: chunkFKY33ZKL_js.getTextLayoutStyle(el),
|
|
18177
18180
|
element: el,
|
|
18178
18181
|
onCommit,
|
|
18179
18182
|
onCancel,
|
|
@@ -18184,7 +18187,7 @@ function renderBody(options) {
|
|
|
18184
18187
|
] });
|
|
18185
18188
|
}
|
|
18186
18189
|
if (el.type === "table") {
|
|
18187
|
-
return
|
|
18190
|
+
return chunkFKY33ZKL_js.renderTableElement(el, txtS, {
|
|
18188
18191
|
editable: isSel,
|
|
18189
18192
|
selectedCell: isSel ? tableSt : null,
|
|
18190
18193
|
onSelectCell: onCellSel,
|
|
@@ -18217,7 +18220,7 @@ function renderBody(options) {
|
|
|
18217
18220
|
);
|
|
18218
18221
|
}
|
|
18219
18222
|
if (el.type === "media") {
|
|
18220
|
-
return
|
|
18223
|
+
return chunkFKY33ZKL_js.renderMediaElement(el, media, {
|
|
18221
18224
|
// Present mode autoplays every media element on the active slide,
|
|
18222
18225
|
// not only ones persisted with their own `autoPlay` flag (matching
|
|
18223
18226
|
// the other four bindings' unconditional `presenting`-gated
|
|
@@ -18240,7 +18243,7 @@ function renderBody(options) {
|
|
|
18240
18243
|
onPlayStateChange: handleMediaPlayStateChange
|
|
18241
18244
|
});
|
|
18242
18245
|
}
|
|
18243
|
-
if (doInk && (0,
|
|
18246
|
+
if (doInk && (0, chunkFKY33ZKL_js.dist_exports.isInkElement)(el)) {
|
|
18244
18247
|
return renderInk(el, {
|
|
18245
18248
|
replay: isPresentationPassive,
|
|
18246
18249
|
pressureSensitive: true
|
|
@@ -18269,27 +18272,27 @@ function renderBody(options) {
|
|
|
18269
18272
|
}
|
|
18270
18273
|
return renderGroup(el.children, pptx.getGroupChildParentFill(el));
|
|
18271
18274
|
}
|
|
18272
|
-
if (
|
|
18273
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children:
|
|
18275
|
+
if (chunkFKY33ZKL_js.shouldRenderFallbackLabel(el, isTxtEl)) {
|
|
18276
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkFKY33ZKL_js.getElementLabel(el) });
|
|
18274
18277
|
}
|
|
18275
18278
|
return renderTextElementBody(options);
|
|
18276
18279
|
}
|
|
18277
18280
|
function defaultTextColorForFill(fillColor) {
|
|
18278
18281
|
const hex = String(fillColor ?? "").replace(/^#/u, "");
|
|
18279
18282
|
if (!/^[0-9a-f]{6}$/iu.test(hex)) {
|
|
18280
|
-
return
|
|
18283
|
+
return chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR;
|
|
18281
18284
|
}
|
|
18282
18285
|
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);
|
|
18283
18286
|
const luminance = channels[0] * 0.2126 + channels[1] * 0.7152 + channels[2] * 0.0722;
|
|
18284
|
-
return luminance > 0.179 ?
|
|
18287
|
+
return luminance > 0.179 ? chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR : "#ffffff";
|
|
18285
18288
|
}
|
|
18286
18289
|
function getStaticElementVisualState(element, parentGroupFill) {
|
|
18287
|
-
const style = (0,
|
|
18288
|
-
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(
|
|
18289
|
-
const fill =
|
|
18290
|
+
const style = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
|
|
18291
|
+
const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkFKY33ZKL_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
|
|
18292
|
+
const fill = chunkFKY33ZKL_js.normalizeHexColor(style?.fillColor, chunkFKY33ZKL_js.DEFAULT_FILL_COLOR);
|
|
18290
18293
|
const strokeWidth = pptx.paintedStrokeWidth(style);
|
|
18291
|
-
const stroke =
|
|
18292
|
-
const baseVisualStyle =
|
|
18294
|
+
const stroke = chunkFKY33ZKL_js.normalizeHexColor(style?.strokeColor, chunkFKY33ZKL_js.DEFAULT_STROKE_COLOR);
|
|
18295
|
+
const baseVisualStyle = chunkFKY33ZKL_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
|
|
18293
18296
|
const inheritedFill = pptx.resolveGroupChildFill(element, parentGroupFill);
|
|
18294
18297
|
const visualStyle = inheritedFill ? {
|
|
18295
18298
|
...baseVisualStyle,
|
|
@@ -18299,13 +18302,13 @@ function getStaticElementVisualState(element, parentGroupFill) {
|
|
|
18299
18302
|
backgroundSize: inheritedFill.backgroundSize,
|
|
18300
18303
|
backgroundPosition: inheritedFill.backgroundPosition
|
|
18301
18304
|
} : baseVisualStyle;
|
|
18302
|
-
const textStyle =
|
|
18305
|
+
const textStyle = chunkFKY33ZKL_js.getTextStyleForElement(
|
|
18303
18306
|
element,
|
|
18304
|
-
element.type === "shape" && hasFill ? defaultTextColorForFill(fill) :
|
|
18307
|
+
element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunkFKY33ZKL_js.DEFAULT_TEXT_COLOR
|
|
18305
18308
|
);
|
|
18306
18309
|
const isImage = element.type === "picture" || element.type === "image";
|
|
18307
|
-
const letsTextOverflow = (0,
|
|
18308
|
-
const shapeType = (0,
|
|
18310
|
+
const letsTextOverflow = (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element) && element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
|
|
18311
|
+
const shapeType = (0, chunkFKY33ZKL_js.dist_exports.hasShapeProperties)(element) ? element.shapeType : void 0;
|
|
18309
18312
|
const isCallout = pptx.isWedgeCalloutPresetShape(shapeType) || String(shapeType ?? "").toLowerCase().includes("callout");
|
|
18310
18313
|
return {
|
|
18311
18314
|
hasFill,
|
|
@@ -18326,7 +18329,7 @@ function getStaticElementInteractionState(element, hasActionHandler, exposeEleme
|
|
|
18326
18329
|
return { action, isActionable, contractRole };
|
|
18327
18330
|
}
|
|
18328
18331
|
function getStaticElementWrapperClassName(element, visual, positioned, isActionable) {
|
|
18329
|
-
const overflowClass = visual.isImage || element.type === "group" ||
|
|
18332
|
+
const overflowClass = visual.isImage || element.type === "group" || chunkFKY33ZKL_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
|
|
18330
18333
|
const pointerClass = isActionable ? "pointer-events-auto cursor-pointer" : "pointer-events-none";
|
|
18331
18334
|
return `${positioned ? "absolute" : "relative"} ${overflowClass} ${pointerClass}`;
|
|
18332
18335
|
}
|
|
@@ -18409,7 +18412,7 @@ function StaticElementRendererImpl({
|
|
|
18409
18412
|
top: positioned ? element.y : void 0,
|
|
18410
18413
|
width: positioned ? Math.max(element.width, 1) : "100%",
|
|
18411
18414
|
height: positioned ? Math.max(element.height, 1) : "100%",
|
|
18412
|
-
transform: positioned ?
|
|
18415
|
+
transform: positioned ? chunkFKY33ZKL_js.getElementTransform(element) : void 0,
|
|
18413
18416
|
transformOrigin: "center",
|
|
18414
18417
|
zIndex,
|
|
18415
18418
|
...visualStyle,
|
|
@@ -18450,20 +18453,20 @@ function StaticElementRendererImpl({
|
|
|
18450
18453
|
isEditing: false,
|
|
18451
18454
|
editText: "",
|
|
18452
18455
|
spellCheck: false,
|
|
18453
|
-
txtSE: (0,
|
|
18456
|
+
txtSE: (0, chunkFKY33ZKL_js.dist_exports.hasTextProperties)(element) ? element.textStyle : void 0,
|
|
18454
18457
|
txtS: textStyle,
|
|
18455
|
-
vecShape:
|
|
18458
|
+
vecShape: chunkFKY33ZKL_js.renderVectorShape(
|
|
18456
18459
|
element,
|
|
18457
18460
|
isImage ? false : hasFill,
|
|
18458
18461
|
fill,
|
|
18459
18462
|
strokeWidth,
|
|
18460
18463
|
stroke
|
|
18461
18464
|
),
|
|
18462
|
-
imgStyle: imageAnimation ? { ...
|
|
18463
|
-
imgFilter:
|
|
18464
|
-
imgOpacity:
|
|
18465
|
+
imgStyle: imageAnimation ? { ...chunkFKY33ZKL_js.getImageRenderStyle(element), animation: imageAnimation } : chunkFKY33ZKL_js.getImageRenderStyle(element),
|
|
18466
|
+
imgFilter: chunkFKY33ZKL_js.getImageEffectsFilter(element),
|
|
18467
|
+
imgOpacity: chunkFKY33ZKL_js.getImageEffectsOpacity(element),
|
|
18465
18468
|
imgAlt: "",
|
|
18466
|
-
isTxtEl:
|
|
18469
|
+
isTxtEl: chunkFKY33ZKL_js.isEditableTextElement(element),
|
|
18467
18470
|
media: mediaDataUrls,
|
|
18468
18471
|
tableSt: null,
|
|
18469
18472
|
isSel: false,
|
|
@@ -18509,7 +18512,7 @@ function SlideLayer({
|
|
|
18509
18512
|
style: {
|
|
18510
18513
|
width: safeWidth,
|
|
18511
18514
|
height: safeHeight,
|
|
18512
|
-
backgroundColor: slide.backgroundColor ?
|
|
18515
|
+
backgroundColor: slide.backgroundColor ? chunkFKY33ZKL_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
|
|
18513
18516
|
backgroundImage: slide.backgroundImage ? `url(${slide.backgroundImage})` : slide.backgroundGradient ? slide.backgroundGradient : void 0,
|
|
18514
18517
|
backgroundSize: slide.backgroundImage ? "cover" : void 0,
|
|
18515
18518
|
backgroundPosition: slide.backgroundImage ? "center" : void 0
|