pptx-react-viewer 4.33.0 → 4.33.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/{AiChatPanel-47A5ONVT.mjs → AiChatPanel-CYD46SEM.mjs} +1 -1
  3. package/dist/AiChatPanel-CYD46SEM.mjs.br +0 -0
  4. package/dist/AiChatPanel-CYD46SEM.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-FV5ECOV5.js → AiChatPanel-ONHWZEPV.js} +9 -9
  6. package/dist/AiChatPanel-ONHWZEPV.js.br +0 -0
  7. package/dist/AiChatPanel-ONHWZEPV.js.gz +0 -0
  8. package/dist/{chunk-DD3ARHEW.mjs → chunk-2OIJUZD5.mjs} +7 -3
  9. package/dist/chunk-2OIJUZD5.mjs.br +0 -0
  10. package/dist/chunk-2OIJUZD5.mjs.gz +0 -0
  11. package/dist/{chunk-SQUVXHAE.js → chunk-7DGKSEIU.js} +1 -8
  12. package/dist/chunk-7DGKSEIU.js.br +0 -0
  13. package/dist/{chunk-SQUVXHAE.js.gz → chunk-7DGKSEIU.js.gz} +0 -0
  14. package/dist/{chunk-JL7A7NDD.js → chunk-DJ32R6VM.js} +388 -387
  15. package/dist/chunk-DJ32R6VM.js.br +0 -0
  16. package/dist/chunk-DJ32R6VM.js.gz +0 -0
  17. package/dist/{chunk-WEPZYAB6.mjs → chunk-K4UXDQZ6.mjs} +1 -8
  18. package/dist/chunk-K4UXDQZ6.mjs.br +0 -0
  19. package/dist/{chunk-WEPZYAB6.mjs.gz → chunk-K4UXDQZ6.mjs.gz} +0 -0
  20. package/dist/{chunk-LOBNIIFQ.mjs → chunk-P3ANCQX6.mjs} +8 -7
  21. package/dist/chunk-P3ANCQX6.mjs.br +0 -0
  22. package/dist/chunk-P3ANCQX6.mjs.gz +0 -0
  23. package/dist/{chunk-552NAFTD.js → chunk-TVSTM5J5.js} +251 -247
  24. package/dist/chunk-TVSTM5J5.js.br +0 -0
  25. package/dist/chunk-TVSTM5J5.js.gz +0 -0
  26. package/dist/index.js +24 -24
  27. package/dist/index.js.br +0 -0
  28. package/dist/index.js.gz +0 -0
  29. package/dist/index.mjs +3 -3
  30. package/dist/index.mjs.br +0 -0
  31. package/dist/index.mjs.gz +0 -0
  32. package/dist/internals.js +81 -81
  33. package/dist/internals.js.br +0 -0
  34. package/dist/internals.js.gz +0 -0
  35. package/dist/internals.mjs +2 -2
  36. package/dist/internals.mjs.br +0 -0
  37. package/dist/internals.mjs.gz +0 -0
  38. package/dist/viewer/index.js +19 -19
  39. package/dist/viewer/index.js.br +0 -0
  40. package/dist/viewer/index.js.gz +0 -0
  41. package/dist/viewer/index.mjs +3 -3
  42. package/dist/viewer/index.mjs.br +0 -0
  43. package/dist/viewer/index.mjs.gz +0 -0
  44. package/package.json +4 -4
  45. package/dist/AiChatPanel-47A5ONVT.mjs.br +0 -0
  46. package/dist/AiChatPanel-47A5ONVT.mjs.gz +0 -0
  47. package/dist/AiChatPanel-FV5ECOV5.js.br +0 -0
  48. package/dist/AiChatPanel-FV5ECOV5.js.gz +0 -0
  49. package/dist/chunk-552NAFTD.js.br +0 -0
  50. package/dist/chunk-552NAFTD.js.gz +0 -0
  51. package/dist/chunk-DD3ARHEW.mjs.br +0 -0
  52. package/dist/chunk-DD3ARHEW.mjs.gz +0 -0
  53. package/dist/chunk-JL7A7NDD.js.br +0 -0
  54. package/dist/chunk-JL7A7NDD.js.gz +0 -0
  55. package/dist/chunk-LOBNIIFQ.mjs.br +0 -0
  56. package/dist/chunk-LOBNIIFQ.mjs.gz +0 -0
  57. package/dist/chunk-SQUVXHAE.js.br +0 -0
  58. package/dist/chunk-WEPZYAB6.mjs.br +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkSQUVXHAE_js = require('./chunk-SQUVXHAE.js');
3
+ var chunk7DGKSEIU_js = require('./chunk-7DGKSEIU.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(chunkSQUVXHAE_js.cloneHistorySnapshot(previous));
687
+ past.push(chunk7DGKSEIU_js.cloneHistorySnapshot(previous));
688
688
  }
689
- past.push({ ...chunkSQUVXHAE_js.cloneHistorySnapshot(before), actionLabel: label });
689
+ past.push({ ...chunk7DGKSEIU_js.cloneHistorySnapshot(before), actionLabel: label });
690
690
  while (past.length > Math.max(1, maxDepth)) {
691
691
  past.shift();
692
692
  }
@@ -775,8 +775,8 @@ function useEditorHistory(input) {
775
775
  width: canvasSize.width,
776
776
  height: canvasSize.height,
777
777
  activeSlideIndex,
778
- slides: slides.map(chunkSQUVXHAE_js.cloneSlide),
779
- templateElementsBySlideId: chunkSQUVXHAE_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
778
+ slides: slides.map(chunk7DGKSEIU_js.cloneSlide),
779
+ templateElementsBySlideId: chunk7DGKSEIU_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
780
780
  ...actionLabel ? { actionLabel } : {}
781
781
  };
782
782
  },
@@ -789,9 +789,9 @@ function useEditorHistory(input) {
789
789
  width: snapshot.width,
790
790
  height: snapshot.height
791
791
  });
792
- setSlides(snapshot.slides.map(chunkSQUVXHAE_js.cloneSlide));
792
+ setSlides(snapshot.slides.map(chunk7DGKSEIU_js.cloneSlide));
793
793
  setTemplateElementsBySlideId(
794
- chunkSQUVXHAE_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
794
+ chunk7DGKSEIU_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
795
795
  );
796
796
  setActiveSlideIndex(Math.min(snapshot.activeSlideIndex, maxSlideIndex));
797
797
  setSelectedElementIds([]);
@@ -830,8 +830,8 @@ function useEditorHistory(input) {
830
830
  const currentSnapshot = buildHistorySnapshot(previousSnapshot.actionLabel);
831
831
  historyFutureRef.current.push(currentSnapshot);
832
832
  isApplyingHistoryRef.current = true;
833
- const nextSnapshot = chunkSQUVXHAE_js.cloneHistorySnapshot(previousSnapshot);
834
- lastHistorySnapshotRef.current = chunkSQUVXHAE_js.cloneHistorySnapshot(nextSnapshot);
833
+ const nextSnapshot = chunk7DGKSEIU_js.cloneHistorySnapshot(previousSnapshot);
834
+ lastHistorySnapshotRef.current = chunk7DGKSEIU_js.cloneHistorySnapshot(nextSnapshot);
835
835
  lastHistorySerializedRef.current = serializeHistoryDocument(nextSnapshot);
836
836
  applyHistorySnapshot(nextSnapshot);
837
837
  updateHistoryAvailability();
@@ -852,8 +852,8 @@ function useEditorHistory(input) {
852
852
  const currentSnapshot = buildHistorySnapshot(nextSnapshot.actionLabel);
853
853
  historyPastRef.current.push(currentSnapshot);
854
854
  isApplyingHistoryRef.current = true;
855
- const targetSnapshot = chunkSQUVXHAE_js.cloneHistorySnapshot(nextSnapshot);
856
- lastHistorySnapshotRef.current = chunkSQUVXHAE_js.cloneHistorySnapshot(targetSnapshot);
855
+ const targetSnapshot = chunk7DGKSEIU_js.cloneHistorySnapshot(nextSnapshot);
856
+ lastHistorySnapshotRef.current = chunk7DGKSEIU_js.cloneHistorySnapshot(targetSnapshot);
857
857
  lastHistorySerializedRef.current = serializeHistoryDocument(targetSnapshot);
858
858
  applyHistorySnapshot(targetSnapshot);
859
859
  updateHistoryAvailability();
@@ -871,7 +871,7 @@ function useEditorHistory(input) {
871
871
  historyPastRef.current = [];
872
872
  historyFutureRef.current = [];
873
873
  if (initialSnapshot) {
874
- const clonedInitial = chunkSQUVXHAE_js.cloneHistorySnapshot(initialSnapshot);
874
+ const clonedInitial = chunk7DGKSEIU_js.cloneHistorySnapshot(initialSnapshot);
875
875
  lastHistorySnapshotRef.current = clonedInitial;
876
876
  lastHistorySerializedRef.current = serializeHistoryDocument(clonedInitial);
877
877
  } else {
@@ -953,8 +953,8 @@ function useEditorHistory(input) {
953
953
  updateHistoryAvailability
954
954
  ]);
955
955
  const commitSlides = (nextSlides, label, beforeSlides = slides) => {
956
- const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunkSQUVXHAE_js.cloneSlide) };
957
- const after = { ...before, slides: nextSlides.map(chunkSQUVXHAE_js.cloneSlide) };
956
+ const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunk7DGKSEIU_js.cloneSlide) };
957
+ const after = { ...before, slides: nextSlides.map(chunk7DGKSEIU_js.cloneSlide) };
958
958
  recordExplicitSlideUpdate(
959
959
  historyPastRef.current,
960
960
  historyFutureRef.current,
@@ -963,7 +963,7 @@ function useEditorHistory(input) {
963
963
  label,
964
964
  maxHistoryEntries
965
965
  );
966
- lastHistorySnapshotRef.current = chunkSQUVXHAE_js.cloneHistorySnapshot(after);
966
+ lastHistorySnapshotRef.current = chunk7DGKSEIU_js.cloneHistorySnapshot(after);
967
967
  lastHistorySerializedRef.current = serializeHistoryDocument(after);
968
968
  isApplyingHistoryRef.current = false;
969
969
  setSlides(nextSlides);
@@ -1143,22 +1143,22 @@ function useZoomViewport({
1143
1143
  selectedElements.forEach((element) => {
1144
1144
  minX = Math.min(minX, element.x);
1145
1145
  minY = Math.min(minY, element.y);
1146
- maxX = Math.max(maxX, element.x + Math.max(element.width, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE));
1147
- maxY = Math.max(maxY, element.y + Math.max(element.height, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE));
1146
+ maxX = Math.max(maxX, element.x + Math.max(element.width, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE));
1147
+ maxY = Math.max(maxY, element.y + Math.max(element.height, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE));
1148
1148
  });
1149
1149
  if (!Number.isFinite(minX) || !Number.isFinite(minY) || !Number.isFinite(maxX) || !Number.isFinite(maxY)) {
1150
1150
  return;
1151
1151
  }
1152
1152
  const selectionBounds = { minX, minY, maxX, maxY };
1153
- const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
1154
- const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
1153
+ const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
1154
+ const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
1155
1155
  const availableWidth = Math.max(
1156
- effectiveEditorDimensions.width - chunkSQUVXHAE_js.ZOOM_TO_SELECTION_PADDING,
1157
- chunkSQUVXHAE_js.MIN_ELEMENT_SIZE
1156
+ effectiveEditorDimensions.width - chunk7DGKSEIU_js.ZOOM_TO_SELECTION_PADDING,
1157
+ chunk7DGKSEIU_js.MIN_ELEMENT_SIZE
1158
1158
  );
1159
1159
  const availableHeight = Math.max(
1160
- effectiveEditorDimensions.height - chunkSQUVXHAE_js.ZOOM_TO_SELECTION_PADDING,
1161
- chunkSQUVXHAE_js.MIN_ELEMENT_SIZE
1160
+ effectiveEditorDimensions.height - chunk7DGKSEIU_js.ZOOM_TO_SELECTION_PADDING,
1161
+ chunk7DGKSEIU_js.MIN_ELEMENT_SIZE
1162
1162
  );
1163
1163
  const targetEditorScale = Math.min(
1164
1164
  availableWidth / boundsWidth,
@@ -4026,7 +4026,9 @@ function useInlineEditingState(onTextChange) {
4026
4026
  const entry = { elementId, read };
4027
4027
  inlineEditingReaderRef.current = entry;
4028
4028
  return () => {
4029
- if (inlineEditingReaderRef.current === entry) inlineEditingReaderRef.current = void 0;
4029
+ if (inlineEditingReaderRef.current === entry) {
4030
+ inlineEditingReaderRef.current = void 0;
4031
+ }
4030
4032
  };
4031
4033
  },
4032
4034
  []
@@ -4097,8 +4099,8 @@ function useViewerCoreState(_input) {
4097
4099
  const { slides, setSlides, slidesRef } = useSlideState();
4098
4100
  const [templateElementsBySlideId, setTemplateElementsBySlideId] = React17.useState({});
4099
4101
  const [canvasSize, setCanvasSize] = React17.useState({
4100
- width: chunkSQUVXHAE_js.DEFAULT_CANVAS_WIDTH,
4101
- height: chunkSQUVXHAE_js.DEFAULT_CANVAS_HEIGHT
4102
+ width: chunk7DGKSEIU_js.DEFAULT_CANVAS_WIDTH,
4103
+ height: chunk7DGKSEIU_js.DEFAULT_CANVAS_HEIGHT
4102
4104
  });
4103
4105
  const [slideSizeEmu, setSlideSizeEmu] = React17.useState();
4104
4106
  const [activeSlideIndex, setActiveSlideIndex] = React17.useState(0);
@@ -4474,7 +4476,7 @@ function useLoadContent({
4474
4476
  }
4475
4477
  let cancelled = false;
4476
4478
  const token = ++renderTokenRef.current;
4477
- const handler = new chunkSQUVXHAE_js.dist_exports.PptxHandler();
4479
+ const handler = new chunk7DGKSEIU_js.dist_exports.PptxHandler();
4478
4480
  const resources = pptx.createPresentationLoadResources(handler);
4479
4481
  const loadBlobUrls = resources.blobUrls;
4480
4482
  (async () => {
@@ -4559,12 +4561,12 @@ function useLoadContent({
4559
4561
  }
4560
4562
  resources.commit();
4561
4563
  handlerRef.current = handler;
4562
- const partition = chunkSQUVXHAE_js.partitionTemplateElements(nextSlides);
4564
+ const partition = chunk7DGKSEIU_js.partitionTemplateElements(nextSlides);
4563
4565
  setSlides(partition.slides);
4564
4566
  setTemplateElementsBySlideId(partition.templateElementsBySlideId);
4565
4567
  setCanvasSize({
4566
- width: parsed.width ?? chunkSQUVXHAE_js.DEFAULT_CANVAS_WIDTH,
4567
- height: parsed.height ?? chunkSQUVXHAE_js.DEFAULT_CANVAS_HEIGHT
4568
+ width: parsed.width ?? chunk7DGKSEIU_js.DEFAULT_CANVAS_WIDTH,
4569
+ height: parsed.height ?? chunk7DGKSEIU_js.DEFAULT_CANVAS_HEIGHT
4568
4570
  });
4569
4571
  setSlideSizeEmu(
4570
4572
  typeof parsed.widthEmu === "number" && typeof parsed.heightEmu === "number" && parsed.widthEmu > 0 && parsed.heightEmu > 0 ? {
@@ -4627,7 +4629,7 @@ function useLoadContent({
4627
4629
  onContentApplied?.();
4628
4630
  } catch (err) {
4629
4631
  if (!cancelled && token === renderTokenRef.current) {
4630
- if (err instanceof chunkSQUVXHAE_js.dist_exports.EncryptedFileError) {
4632
+ if (err instanceof chunk7DGKSEIU_js.dist_exports.EncryptedFileError) {
4631
4633
  setIsEncrypted(true);
4632
4634
  } else {
4633
4635
  console.error("[pptx] Failed to load presentation content:", err);
@@ -4752,7 +4754,7 @@ function useTextElementOperations(input) {
4752
4754
  updateSelectedElement
4753
4755
  } = input;
4754
4756
  const liveTextSegments = React17.useCallback(() => {
4755
- if (!selectedElement || !(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(selectedElement)) {
4757
+ if (!selectedElement || !(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(selectedElement)) {
4756
4758
  return void 0;
4757
4759
  }
4758
4760
  if (selectedElement.id !== inlineEditingElementId) {
@@ -4770,7 +4772,7 @@ function useTextElementOperations(input) {
4770
4772
  }, [selectedElement, inlineEditingElementId, inlineEditingText, inlineEditingSnapshotRef]);
4771
4773
  const updateSelectedTextStyle = React17.useCallback(
4772
4774
  (updates) => {
4773
- if (!selectedElement || !(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(selectedElement)) {
4775
+ if (!selectedElement || !(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(selectedElement)) {
4774
4776
  return;
4775
4777
  }
4776
4778
  const isLiveEditing = selectedElement.id === inlineEditingElementId;
@@ -4848,7 +4850,7 @@ function useTextElementOperations(input) {
4848
4850
  );
4849
4851
  const toggleSelectedBullets = React17.useCallback(
4850
4852
  (kind) => {
4851
- if (!selectedElement || !(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(selectedElement)) {
4853
+ if (!selectedElement || !(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(selectedElement)) {
4852
4854
  return;
4853
4855
  }
4854
4856
  const currentSegments = liveTextSegments();
@@ -4899,7 +4901,7 @@ function useTextElementOperations(input) {
4899
4901
  );
4900
4902
  const updateSelectedTextCase = React17.useCallback(
4901
4903
  (mode) => {
4902
- if (!selectedElement || !(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(selectedElement)) {
4904
+ if (!selectedElement || !(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(selectedElement)) {
4903
4905
  return;
4904
4906
  }
4905
4907
  const isLiveEditing = selectedElement.id === inlineEditingElementId;
@@ -5015,7 +5017,7 @@ function useElementOperations(input) {
5015
5017
  );
5016
5018
  return;
5017
5019
  }
5018
- if (chunkSQUVXHAE_js.isTemplateElementId(elementId)) {
5020
+ if (chunk7DGKSEIU_js.isTemplateElementId(elementId)) {
5019
5021
  const slideId = activeSlide?.id;
5020
5022
  if (slideId) {
5021
5023
  setTemplateElementsBySlideId((prev) => ({
@@ -5051,7 +5053,7 @@ function useElementOperations(input) {
5051
5053
  );
5052
5054
  const updateSelectedShapeStyle = React17.useCallback(
5053
5055
  (updates) => {
5054
- if (!selectedElement || !(0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(selectedElement)) {
5056
+ if (!selectedElement || !(0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(selectedElement)) {
5055
5057
  return;
5056
5058
  }
5057
5059
  updateSelectedElement({
@@ -5255,15 +5257,15 @@ function syncSelectionHandleOverlay(elementNode, elementId, geometry) {
5255
5257
  // src/viewer/hooks/pointer-move-handlers.ts
5256
5258
  function computeResizeGeometry(handle, startX, startY, startWidth, startHeight, dx, dy, snapToGrid, gridSpacingPx, lockAspect = false) {
5257
5259
  const startBox = { x: startX, y: startY, width: startWidth, height: startHeight };
5258
- let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize: chunkSQUVXHAE_js.MIN_ELEMENT_SIZE });
5260
+ let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize: chunk7DGKSEIU_js.MIN_ELEMENT_SIZE });
5259
5261
  if (lockAspect) {
5260
- resized = pptx.lockResizeAspect(resized, startBox, handle, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
5262
+ resized = pptx.lockResizeAspect(resized, startBox, handle, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
5261
5263
  }
5262
5264
  const box = { x: resized.x, y: resized.y, width: resized.width, height: resized.height };
5263
5265
  if (!snapToGrid) {
5264
5266
  return box;
5265
5267
  }
5266
- return pptx.snapBoxToGrid(box, handle, gridSpacingPx, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
5268
+ return pptx.snapBoxToGrid(box, handle, gridSpacingPx, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
5267
5269
  }
5268
5270
  function resolveLiveTarget(input) {
5269
5271
  const { livePatcher, editTemplateMode, activeSlide } = input;
@@ -5376,7 +5378,7 @@ function processDragMove(e, drag, editorScale, snapToGrid, snapToShape, gridSpac
5376
5378
  width: el.width,
5377
5379
  height: el.height
5378
5380
  }));
5379
- const snapResult = chunkSQUVXHAE_js.computeSnapToShape(
5381
+ const snapResult = chunk7DGKSEIU_js.computeSnapToShape(
5380
5382
  targetX,
5381
5383
  targetY,
5382
5384
  primaryEl.width,
@@ -5450,8 +5452,8 @@ function processResizeMove(e, rs, editorScale, snapToGrid, gridSpacingPx, live)
5450
5452
  rs.lastY = geo.y;
5451
5453
  rs.lastWidth = geo.width;
5452
5454
  rs.lastHeight = geo.height;
5453
- const width = Math.max(geo.width, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
5454
- const height = Math.max(geo.height, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE);
5455
+ const width = Math.max(geo.width, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
5456
+ const height = Math.max(geo.height, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE);
5455
5457
  if (rs.domEl) {
5456
5458
  rs.domEl.style.left = `${geo.x}px`;
5457
5459
  rs.domEl.style.top = `${geo.y}px`;
@@ -5544,13 +5546,13 @@ function processPointerUp(input) {
5544
5546
  if (i !== activeSlideIndex) {
5545
5547
  return s;
5546
5548
  }
5547
- const rerouted = chunkSQUVXHAE_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5549
+ const rerouted = chunk7DGKSEIU_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5548
5550
  if (rerouted.length === 0) {
5549
5551
  return s;
5550
5552
  }
5551
5553
  return {
5552
5554
  ...s,
5553
- elements: chunkSQUVXHAE_js.applyReroutedConnectors(s.elements, rerouted)
5555
+ elements: chunk7DGKSEIU_js.applyReroutedConnectors(s.elements, rerouted)
5554
5556
  };
5555
5557
  })
5556
5558
  );
@@ -5602,8 +5604,8 @@ function commitDrag(drag, editTemplateMode, activeSlide, activeSlideIndex, setTe
5602
5604
  }
5603
5605
  return { ...el, x: start.x + dx, y: start.y + dy };
5604
5606
  });
5605
- const rerouted = chunkSQUVXHAE_js.rerouteConnectorsForMovedElements(movedElements, movedIds);
5606
- return chunkSQUVXHAE_js.applyReroutedConnectors(movedElements, rerouted);
5607
+ const rerouted = chunk7DGKSEIU_js.rerouteConnectorsForMovedElements(movedElements, movedIds);
5608
+ return chunk7DGKSEIU_js.applyReroutedConnectors(movedElements, rerouted);
5607
5609
  };
5608
5610
  if (editTemplateMode) {
5609
5611
  const slideId = activeSlide?.id;
@@ -5791,7 +5793,7 @@ function useCanvasInteractions(input) {
5791
5793
  return;
5792
5794
  }
5793
5795
  const el = elementLookup.get(editId);
5794
- if (el && (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el)) {
5796
+ if (el && (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el)) {
5795
5797
  const reader = inlineEditingReaderRef?.current;
5796
5798
  const read = reader?.elementId === editId ? reader.read() : void 0;
5797
5799
  if (read?.kind === "unsupported") {
@@ -5838,7 +5840,7 @@ function useCanvasInteractions(input) {
5838
5840
  wasEditable.current = canEdit;
5839
5841
  }, [canEdit]);
5840
5842
  const openEquationEditorForElement = (el) => {
5841
- if (!(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el)) {
5843
+ if (!(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el)) {
5842
5844
  return false;
5843
5845
  }
5844
5846
  const eqSeg = el.textSegments?.find((seg) => seg.equationXml);
@@ -5871,7 +5873,7 @@ function useCanvasInteractions(input) {
5871
5873
  justInteractedRef.current = false;
5872
5874
  } else {
5873
5875
  const el = elementLookup.get(elementId);
5874
- if (el && (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5876
+ if (el && (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5875
5877
  if (!openEquationEditorForElement(el)) {
5876
5878
  pptx.setPendingCaretPoint(e);
5877
5879
  setInlineEditingElementId(elementId);
@@ -5897,7 +5899,7 @@ function useCanvasInteractions(input) {
5897
5899
  if (openEquationEditorForElement(el)) {
5898
5900
  return;
5899
5901
  }
5900
- if ((0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5902
+ if ((0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5901
5903
  setInlineEditingElementId(elementId);
5902
5904
  setInlineEditingText(el.text ?? "");
5903
5905
  }
@@ -6362,7 +6364,7 @@ function createStructuredElementHandlers(deps) {
6362
6364
  return;
6363
6365
  }
6364
6366
  const resolved = resolveHyperlinkEditResult(data);
6365
- if (resolved.url && !chunkSQUVXHAE_js.isUrlSafe(resolved.url)) {
6367
+ if (resolved.url && !chunk7DGKSEIU_js.isUrlSafe(resolved.url)) {
6366
6368
  return;
6367
6369
  }
6368
6370
  const actionClick = {
@@ -6408,11 +6410,11 @@ function createStructuredElementHandlers(deps) {
6408
6410
  if (!activeSlide) {
6409
6411
  return;
6410
6412
  }
6411
- const preset = chunkSQUVXHAE_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6413
+ const preset = chunk7DGKSEIU_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6412
6414
  if (!preset) {
6413
6415
  return;
6414
6416
  }
6415
- const defaultPptxAction = (0, chunkSQUVXHAE_js.dist_exports.elementActionToPptxAction)({
6417
+ const defaultPptxAction = (0, chunk7DGKSEIU_js.dist_exports.elementActionToPptxAction)({
6416
6418
  trigger: "click",
6417
6419
  type: preset.defaultAction
6418
6420
  });
@@ -6495,7 +6497,7 @@ function useInsertElements(input) {
6495
6497
  width: 300,
6496
6498
  height: 60,
6497
6499
  text: "",
6498
- textStyle: { fontSize: chunkSQUVXHAE_js.DEFAULT_TEXT_FONT_SIZE }
6500
+ textStyle: { fontSize: chunk7DGKSEIU_js.DEFAULT_TEXT_FONT_SIZE }
6499
6501
  });
6500
6502
  };
6501
6503
  const handleAddShape = () => {
@@ -6522,7 +6524,7 @@ function useInsertElements(input) {
6522
6524
  return;
6523
6525
  }
6524
6526
  addElement({
6525
- ...pptx.newTableElement(chunkSQUVXHAE_js.DEFAULT_TABLE_ROWS, chunkSQUVXHAE_js.DEFAULT_TABLE_COLUMNS, 100, 200),
6527
+ ...pptx.newTableElement(chunk7DGKSEIU_js.DEFAULT_TABLE_ROWS, chunk7DGKSEIU_js.DEFAULT_TABLE_COLUMNS, 100, 200),
6526
6528
  id: pptx.generateElementId()
6527
6529
  });
6528
6530
  };
@@ -6691,7 +6693,7 @@ function useGroupAlignLayerHandlers(input) {
6691
6693
  history
6692
6694
  } = input;
6693
6695
  const updateElementsOwning = (elementId, updater) => {
6694
- if (editTemplateMode && !chunkSQUVXHAE_js.isTemplateElementId(elementId)) {
6696
+ if (editTemplateMode && !chunk7DGKSEIU_js.isTemplateElementId(elementId)) {
6695
6697
  ops.updateSlides(
6696
6698
  (prev) => prev.map(
6697
6699
  (slide, index) => index === activeSlideIndex ? { ...slide, elements: updater(slide.elements) } : slide
@@ -6725,9 +6727,9 @@ function useGroupAlignLayerHandlers(input) {
6725
6727
  return;
6726
6728
  }
6727
6729
  const group = selectedElement;
6728
- const intoTemplate = chunkSQUVXHAE_js.isTemplateElementId(group.id);
6730
+ const intoTemplate = chunk7DGKSEIU_js.isTemplateElementId(group.id);
6729
6731
  const childIds = group.children.map(
6730
- (child) => intoTemplate ? chunkSQUVXHAE_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6732
+ (child) => intoTemplate ? chunk7DGKSEIU_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6731
6733
  );
6732
6734
  const { elements, childIds: usedIds } = pptx.ungroupElements(
6733
6735
  ops.activeElements,
@@ -7050,7 +7052,7 @@ function useSlideManagement(input) {
7050
7052
  if (!src) {
7051
7053
  continue;
7052
7054
  }
7053
- const clone = { ...(0, chunkSQUVXHAE_js.dist_exports.duplicateSlide)(src, next.length + 1), id: pptx.makeSlideId() };
7055
+ const clone = { ...(0, chunk7DGKSEIU_js.dist_exports.duplicateSlide)(src, next.length + 1), id: pptx.makeSlideId() };
7054
7056
  next.splice(i + offset + 1, 0, clone);
7055
7057
  offset++;
7056
7058
  }
@@ -7153,7 +7155,7 @@ function createTableMergeHandlers(input) {
7153
7155
  if (!nextCell || nextCell.hMerge || nextCell.vMerge) {
7154
7156
  return;
7155
7157
  }
7156
- const newTableData = chunkSQUVXHAE_js.mergeCells(
7158
+ const newTableData = chunk7DGKSEIU_js.mergeCells(
7157
7159
  [
7158
7160
  { row: rowIndex, col: columnIndex },
7159
7161
  { row: rowIndex, col: nextColIdx }
@@ -7161,7 +7163,7 @@ function createTableMergeHandlers(input) {
7161
7163
  td
7162
7164
  );
7163
7165
  const updates = { tableData: newTableData };
7164
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7166
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7165
7167
  if (newRawXml) {
7166
7168
  updates.rawXml = newRawXml;
7167
7169
  }
@@ -7187,7 +7189,7 @@ function createTableMergeHandlers(input) {
7187
7189
  if (!targetNextCell || targetNextCell.hMerge || targetNextCell.vMerge) {
7188
7190
  return;
7189
7191
  }
7190
- const newTableData = chunkSQUVXHAE_js.mergeCells(
7192
+ const newTableData = chunk7DGKSEIU_js.mergeCells(
7191
7193
  [
7192
7194
  { row: rowIndex, col: columnIndex },
7193
7195
  { row: targetNextRowIdx, col: columnIndex }
@@ -7195,7 +7197,7 @@ function createTableMergeHandlers(input) {
7195
7197
  td
7196
7198
  );
7197
7199
  const updates = { tableData: newTableData };
7198
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7200
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7199
7201
  if (newRawXml) {
7200
7202
  updates.rawXml = newRawXml;
7201
7203
  }
@@ -7210,9 +7212,9 @@ function createTableMergeHandlers(input) {
7210
7212
  return;
7211
7213
  }
7212
7214
  const td = selectedElement.tableData;
7213
- const newTableData = chunkSQUVXHAE_js.mergeCells(ts.selectedCells, td);
7215
+ const newTableData = chunk7DGKSEIU_js.mergeCells(ts.selectedCells, td);
7214
7216
  const updates = { tableData: newTableData };
7215
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7217
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7216
7218
  if (newRawXml) {
7217
7219
  updates.rawXml = newRawXml;
7218
7220
  }
@@ -7229,9 +7231,9 @@ function createTableMergeHandlers(input) {
7229
7231
  }
7230
7232
  const { rowIndex, columnIndex } = ts;
7231
7233
  const td = selectedElement.tableData;
7232
- const newTableData = chunkSQUVXHAE_js.splitCell(rowIndex, columnIndex, td);
7234
+ const newTableData = chunk7DGKSEIU_js.splitCell(rowIndex, columnIndex, td);
7233
7235
  const updates = { tableData: newTableData };
7234
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7236
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7235
7237
  if (newRawXml) {
7236
7238
  updates.rawXml = newRawXml;
7237
7239
  }
@@ -7266,7 +7268,7 @@ function createTableStructHandlers(input) {
7266
7268
  updates.tableData = pptx.setCellText(el, rowIndex, colIndex, text).tableData;
7267
7269
  }
7268
7270
  if (el.rawXml) {
7269
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateCellTextInRawXml)(el, rowIndex, colIndex, text);
7271
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateCellTextInRawXml)(el, rowIndex, colIndex, text);
7270
7272
  if (newRawXml) {
7271
7273
  updates.rawXml = newRawXml;
7272
7274
  }
@@ -7290,7 +7292,7 @@ function createTableStructHandlers(input) {
7290
7292
  const { rowIndex, columnIndex: colIndex } = ts;
7291
7293
  const updates = {};
7292
7294
  if (selectedElement.rawXml) {
7293
- const newRawXml = (0, chunkSQUVXHAE_js.dist_exports.updateCellTextStyleInRawXml)(
7295
+ const newRawXml = (0, chunk7DGKSEIU_js.dist_exports.updateCellTextStyleInRawXml)(
7294
7296
  selectedElement,
7295
7297
  rowIndex,
7296
7298
  colIndex,
@@ -7457,7 +7459,7 @@ function useExportSaveAs(input) {
7457
7459
  const sourceName = filePath ? filePath.replace(/\\/gu, "/").split("/").pop() : void 0;
7458
7460
  const slideSize = pptx.resolveSlideSizeSelection({ current: slideSizeEmu, canvas: canvasSize }).size;
7459
7461
  const data = {
7460
- slides: chunkSQUVXHAE_js.buildSaveSlides(slides, templateElementsBySlideId),
7462
+ slides: chunk7DGKSEIU_js.buildSaveSlides(slides, templateElementsBySlideId),
7461
7463
  width: canvasSize.width,
7462
7464
  height: canvasSize.height,
7463
7465
  widthEmu: slideSize.widthEmu,
@@ -7615,7 +7617,7 @@ async function captureAllSlidesAsPngDataUrls(slideStageRef, totalSlides, setActi
7615
7617
  }
7616
7618
  function tilesToPdfPage(tilesResult) {
7617
7619
  return tilesResult.tiles.map((tile) => ({
7618
- image: chunkSQUVXHAE_js.canvasToJpegData(tile.canvas),
7620
+ image: chunk7DGKSEIU_js.canvasToJpegData(tile.canvas),
7619
7621
  placement: pptx.placeTileOnPage(
7620
7622
  tile,
7621
7623
  tilesResult.fullWidth,
@@ -7648,7 +7650,7 @@ async function exportAllSlidesAsPdf(slideStageRef, totalSlides, setActiveSlide,
7648
7650
  if (pages.length === 0) {
7649
7651
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesPdf"]);
7650
7652
  }
7651
- const pdfBlobUrl = chunkSQUVXHAE_js.buildPdfFromTiledImageData(pages);
7653
+ const pdfBlobUrl = chunk7DGKSEIU_js.buildPdfFromTiledImageData(pages);
7652
7654
  pptx.downloadDataUrl(pdfBlobUrl, filename);
7653
7655
  }
7654
7656
  async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, slideNotes, filename = "presentation-notes.pdf", options = {}) {
@@ -7678,7 +7680,7 @@ async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSl
7678
7680
  if (pages.length === 0) {
7679
7681
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesNotesPdf"]);
7680
7682
  }
7681
- const pdfDataUrl = chunkSQUVXHAE_js.buildNotesPdf(pages);
7683
+ const pdfDataUrl = chunk7DGKSEIU_js.buildNotesPdf(pages);
7682
7684
  pptx.downloadDataUrl(pdfDataUrl, filename);
7683
7685
  }
7684
7686
  async function exportAllSlidesAsVideo(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, options = {}) {
@@ -7873,7 +7875,7 @@ function exportAllSlidesToSvg(data, options = {}) {
7873
7875
  continue;
7874
7876
  }
7875
7877
  onProgress?.(processedCount, data.slides.length);
7876
- let svg = chunkSQUVXHAE_js.dist_exports.SvgExporter.exportSlide(slide, data.width, data.height, svgOptions);
7878
+ let svg = chunk7DGKSEIU_js.dist_exports.SvgExporter.exportSlide(slide, data.width, data.height, svgOptions);
7877
7879
  if (embedFonts && fontFaces?.length) {
7878
7880
  svg = injectFontFaces(svg, fontFaces);
7879
7881
  }
@@ -8462,10 +8464,10 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
8462
8464
  return;
8463
8465
  }
8464
8466
  await handler.applyTheme(colorScheme, fontScheme, name);
8465
- const previousMap = theme?.colorScheme ? (0, chunkSQUVXHAE_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8467
+ const previousMap = theme?.colorScheme ? (0, chunk7DGKSEIU_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8466
8468
  bumpHistory();
8467
8469
  setSlides(
8468
- (slides) => (0, chunkSQUVXHAE_js.dist_exports.applyThemeToData)(
8470
+ (slides) => (0, chunk7DGKSEIU_js.dist_exports.applyThemeToData)(
8469
8471
  { slides, theme, themeColorMap: previousMap },
8470
8472
  colorScheme,
8471
8473
  fontScheme,
@@ -8476,8 +8478,8 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
8476
8478
  (prev) => Object.fromEntries(
8477
8479
  Object.entries(prev).map(([id, elements]) => [
8478
8480
  id,
8479
- (0, chunkSQUVXHAE_js.dist_exports.reResolveElementFonts)(
8480
- (0, chunkSQUVXHAE_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme),
8481
+ (0, chunk7DGKSEIU_js.dist_exports.reResolveElementFonts)(
8482
+ (0, chunk7DGKSEIU_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme),
8481
8483
  theme?.fontScheme,
8482
8484
  fontScheme
8483
8485
  )
@@ -8535,13 +8537,13 @@ function useThemeHandlers(input) {
8535
8537
  return;
8536
8538
  }
8537
8539
  await handler.updateThemeColorScheme(colorScheme);
8538
- const previousMap = theme?.colorScheme ? (0, chunkSQUVXHAE_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8539
- setSlides((prev) => (0, chunkSQUVXHAE_js.dist_exports.reResolveSlideColors)(prev, previousMap, colorScheme));
8540
+ const previousMap = theme?.colorScheme ? (0, chunk7DGKSEIU_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8541
+ setSlides((prev) => (0, chunk7DGKSEIU_js.dist_exports.reResolveSlideColors)(prev, previousMap, colorScheme));
8540
8542
  if (Object.keys(templateElementsBySlideId).length > 0) {
8541
8543
  setTemplateElementsBySlideId((prev) => {
8542
8544
  const next = {};
8543
8545
  for (const [slideId, elements] of Object.entries(prev)) {
8544
- next[slideId] = (0, chunkSQUVXHAE_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme);
8546
+ next[slideId] = (0, chunk7DGKSEIU_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme);
8545
8547
  }
8546
8548
  return next;
8547
8549
  });
@@ -8652,7 +8654,7 @@ function useThemeSwitching(input) {
8652
8654
  }
8653
8655
  try {
8654
8656
  await handler.applyTheme(preset.colorScheme, preset.fontScheme, preset.name);
8655
- const newData = (0, chunkSQUVXHAE_js.dist_exports.applyThemeToData)(data, preset.colorScheme, preset.fontScheme, preset.name);
8657
+ const newData = (0, chunk7DGKSEIU_js.dist_exports.applyThemeToData)(data, preset.colorScheme, preset.fontScheme, preset.name);
8656
8658
  onDataChange(newData);
8657
8659
  onThemeChanged?.(preset);
8658
8660
  } catch (error) {
@@ -8669,7 +8671,7 @@ function useThemeSwitching(input) {
8669
8671
  }
8670
8672
  try {
8671
8673
  await handler.applyTheme(colorScheme, fontScheme ?? {}, themeName);
8672
- const newData = (0, chunkSQUVXHAE_js.dist_exports.applyThemeToData)(data, colorScheme, fontScheme, themeName);
8674
+ const newData = (0, chunk7DGKSEIU_js.dist_exports.applyThemeToData)(data, colorScheme, fontScheme, themeName);
8673
8675
  onDataChange(newData);
8674
8676
  } catch (error) {
8675
8677
  console.error("Failed to switch to custom theme:", error);
@@ -8681,12 +8683,12 @@ function useThemeSwitching(input) {
8681
8683
  if (!data?.theme?.colorScheme) {
8682
8684
  return void 0;
8683
8685
  }
8684
- return chunkSQUVXHAE_js.dist_exports.THEME_PRESETS.find(
8685
- (p) => (0, chunkSQUVXHAE_js.dist_exports.themeColorSchemesEqual)(data.theme?.colorScheme, p.colorScheme)
8686
+ return chunk7DGKSEIU_js.dist_exports.THEME_PRESETS.find(
8687
+ (p) => (0, chunk7DGKSEIU_js.dist_exports.themeColorSchemesEqual)(data.theme?.colorScheme, p.colorScheme)
8686
8688
  );
8687
8689
  }, [data?.theme?.colorScheme]);
8688
8690
  return {
8689
- presets: chunkSQUVXHAE_js.dist_exports.THEME_PRESETS,
8691
+ presets: chunk7DGKSEIU_js.dist_exports.THEME_PRESETS,
8690
8692
  switchToPreset,
8691
8693
  switchToCustom,
8692
8694
  currentPreset
@@ -8763,7 +8765,7 @@ function usePropertyHandlers(input) {
8763
8765
  }
8764
8766
  try {
8765
8767
  const ab = await file.arrayBuffer();
8766
- const h = new chunkSQUVXHAE_js.dist_exports.PptxHandler();
8768
+ const h = new chunk7DGKSEIU_js.dist_exports.PptxHandler();
8767
8769
  const other = await h.load(ab);
8768
8770
  if (!other) {
8769
8771
  return;
@@ -8773,7 +8775,7 @@ function usePropertyHandlers(input) {
8773
8775
  width: canvasSize.width,
8774
8776
  height: canvasSize.height
8775
8777
  };
8776
- setCompareResult(chunkSQUVXHAE_js.comparePresentation(cur, other));
8778
+ setCompareResult(chunk7DGKSEIU_js.comparePresentation(cur, other));
8777
8779
  setIsComparePanelOpen(true);
8778
8780
  } catch (err) {
8779
8781
  console.warn("Compare failed:", err);
@@ -9126,7 +9128,7 @@ function useViewerDialogs(input) {
9126
9128
  };
9127
9129
  }
9128
9130
  function computeGridSpacingPx(documentGridSpacing) {
9129
- return pptx.computeGridSpacingPx(documentGridSpacing, chunkSQUVXHAE_js.GRID_SIZE);
9131
+ return pptx.computeGridSpacingPx(documentGridSpacing, chunk7DGKSEIU_js.GRID_SIZE);
9130
9132
  }
9131
9133
  function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, presentationProperties) {
9132
9134
  const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
@@ -9135,7 +9137,7 @@ function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, pre
9135
9137
  }
9136
9138
  function computeSlideSectionGroups(slides, sections) {
9137
9139
  return pptx.groupSlidesBySection(sections, slides).map((group) => ({
9138
- id: group.section?.id ?? (sections.length > 0 ? chunkSQUVXHAE_js.UNGROUPED_SECTION_ID : chunkSQUVXHAE_js.DEFAULT_SECTION_GROUP_ID),
9140
+ id: group.section?.id ?? (sections.length > 0 ? chunk7DGKSEIU_js.UNGROUPED_SECTION_ID : chunk7DGKSEIU_js.DEFAULT_SECTION_GROUP_ID),
9139
9141
  label: group.section?.name ?? (sections.length > 0 ? "Ungrouped Slides" : "Slides"),
9140
9142
  slideIndexes: group.slideIndexes,
9141
9143
  ...group.section?.color !== void 0 ? { color: group.section.color } : {},
@@ -9180,10 +9182,10 @@ function useDerivedSlideState(input) {
9180
9182
  );
9181
9183
  const slideSectionGroups = React17.useMemo(
9182
9184
  () => computeSlideSectionGroups(slides, sections).map((group) => {
9183
- if (group.id === chunkSQUVXHAE_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9185
+ if (group.id === chunk7DGKSEIU_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9184
9186
  return { ...group, label: t("pptx.slides.ungroupedSlides") };
9185
9187
  }
9186
- if (group.id === chunkSQUVXHAE_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9188
+ if (group.id === chunk7DGKSEIU_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9187
9189
  return { ...group, label: t("pptx.sections.slides") };
9188
9190
  }
9189
9191
  return group;
@@ -9290,7 +9292,7 @@ function useAnnotationHandlers(input) {
9290
9292
  if (nextMode === "present") {
9291
9293
  presentation.enterPresentMode();
9292
9294
  } else if (mode === "present" && annotations.hasAnyAnnotations) {
9293
- chunkSQUVXHAE_js.stopAllPersistentAudio();
9295
+ chunk7DGKSEIU_js.stopAllPersistentAudio();
9294
9296
  if (promptKeepInkAnnotations) {
9295
9297
  pendingModeAfterAnnotationsRef.current = nextMode;
9296
9298
  setShowKeepAnnotationsDialog(true);
@@ -9300,7 +9302,7 @@ function useAnnotationHandlers(input) {
9300
9302
  }
9301
9303
  } else {
9302
9304
  if (mode === "present") {
9303
- chunkSQUVXHAE_js.stopAllPersistentAudio();
9305
+ chunk7DGKSEIU_js.stopAllPersistentAudio();
9304
9306
  }
9305
9307
  setMode(nextMode);
9306
9308
  }
@@ -9371,7 +9373,7 @@ function overlayPendingInlineEdit(document2, elementId, text, snapshot, transfor
9371
9373
  (slide) => !elementId ? slide : {
9372
9374
  ...slide,
9373
9375
  elements: slide.elements.map(
9374
- (element) => element.id === elementId && (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element) ? {
9376
+ (element) => element.id === elementId && (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element) ? {
9375
9377
  ...element,
9376
9378
  text,
9377
9379
  textSegments: pptx.remapTextToSegments(
@@ -9431,7 +9433,9 @@ function useSerialize(input) {
9431
9433
  const pendingEditId = inlineEditingElementIdRef.current;
9432
9434
  const reader = inlineEditingReaderRef?.current;
9433
9435
  const read = reader?.elementId === pendingEditId ? reader.read() : void 0;
9434
- if (read?.kind === "unsupported") return null;
9436
+ if (read?.kind === "unsupported") {
9437
+ return null;
9438
+ }
9435
9439
  const pendingEditText = read?.snapshot.text ?? inlineEditingTextRef.current;
9436
9440
  const pendingSnapshot = read?.snapshot ?? inlineEditingSnapshotRef?.current;
9437
9441
  const pending = overlayPendingInlineEdit(
@@ -9457,14 +9461,14 @@ function useSerialize(input) {
9457
9461
  const pptxGuides = guides.map((g) => ({
9458
9462
  id: g.id,
9459
9463
  orientation: g.axis === "h" ? "horz" : "vert",
9460
- positionEmu: (0, chunkSQUVXHAE_js.dist_exports.guidePxToEmu)(g.position)
9464
+ positionEmu: (0, chunk7DGKSEIU_js.dist_exports.guidePxToEmu)(g.position)
9461
9465
  }));
9462
9466
  return {
9463
9467
  ...slide,
9464
9468
  guides: pptxGuides.length > 0 ? pptxGuides : void 0
9465
9469
  };
9466
9470
  });
9467
- const slidesToSave = chunkSQUVXHAE_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9471
+ const slidesToSave = chunk7DGKSEIU_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9468
9472
  const saveOptions = pptx.buildDeckSaveOptions({
9469
9473
  // Without this the Slide Size card edited a viewer-only pixel value and
9470
9474
  // the saved `p:sldSz` never moved: passing `slideSize` is the only way a
@@ -9645,7 +9649,7 @@ function usePresentationSetup(input) {
9645
9649
  return;
9646
9650
  }
9647
9651
  if (mode === "present" && nextMode !== "present") {
9648
- chunkSQUVXHAE_js.stopAllPersistentAudio();
9652
+ chunk7DGKSEIU_js.stopAllPersistentAudio();
9649
9653
  stopAnimationSound();
9650
9654
  const exitHandler = exitModeHandlerRef.current;
9651
9655
  if (exitHandler) {
@@ -9766,12 +9770,12 @@ function useCanvasImagePaste(input) {
9766
9770
  );
9767
9771
  }
9768
9772
  function formatPatchFor(element, format) {
9769
- const updated = chunkSQUVXHAE_js.applyFormatToElement(element, format);
9773
+ const updated = chunk7DGKSEIU_js.applyFormatToElement(element, format);
9770
9774
  const updates = {};
9771
- if ((0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(updated)) {
9775
+ if ((0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(updated)) {
9772
9776
  updates.shapeStyle = updated.shapeStyle;
9773
9777
  }
9774
- if ((0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(updated)) {
9778
+ if ((0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(updated)) {
9775
9779
  updates.textStyle = updated.textStyle;
9776
9780
  }
9777
9781
  return updates;
@@ -9789,7 +9793,7 @@ function useFormatPainterEditing(input) {
9789
9793
  const prevFormatPainterRef = React17.useRef(false);
9790
9794
  React17.useEffect(() => {
9791
9795
  if (formatPainterActive && !prevFormatPainterRef.current && selectedElement) {
9792
- copiedFormatRef.current = chunkSQUVXHAE_js.copyFormatFromElement(selectedElement);
9796
+ copiedFormatRef.current = chunk7DGKSEIU_js.copyFormatFromElement(selectedElement);
9793
9797
  } else if (!formatPainterActive) {
9794
9798
  copiedFormatRef.current = null;
9795
9799
  }
@@ -10878,7 +10882,7 @@ function useKeyboardShortcutWiring(input) {
10878
10882
  }
10879
10883
  function stepSelectedFontSize(state, ops, direction) {
10880
10884
  const selected = state.selectedElement;
10881
- const currentPx = (selected && (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(selected) ? selected.textStyle?.fontSize : void 0) ?? pptx.textFontSizePtToPx(18);
10885
+ const currentPx = (selected && (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(selected) ? selected.textStyle?.fontSize : void 0) ?? pptx.textFontSizePtToPx(18);
10882
10886
  const nextPt = pptx.stepFontSizePt(pptx.textFontSizePxToPt(currentPx), direction);
10883
10887
  ops.updateSelectedTextStyle({ fontSize: pptx.textFontSizePtToPx(nextPt) });
10884
10888
  }
@@ -11429,7 +11433,7 @@ function useCollaborationWriteBack(input) {
11429
11433
  getSourceBytes: () => latest.current.getSourceBytes?.() ?? null,
11430
11434
  getSaveOptions: () => latest.current.getSaveOptions?.(),
11431
11435
  getTemplateElements: () => latest.current.templateElementsBySlideId,
11432
- mergeTemplateElements: chunkSQUVXHAE_js.buildSaveSlides
11436
+ mergeTemplateElements: chunk7DGKSEIU_js.buildSaveSlides
11433
11437
  }),
11434
11438
  [latest]
11435
11439
  );
@@ -11982,8 +11986,8 @@ function useTouchGestures(input) {
11982
11986
  }
11983
11987
  const recognizer = pptx.createTouchGestureRecognizer({
11984
11988
  getScale: () => scaleRef.current,
11985
- minScale: chunkSQUVXHAE_js.MIN_ZOOM_SCALE,
11986
- maxScale: chunkSQUVXHAE_js.MAX_ZOOM_SCALE,
11989
+ minScale: chunk7DGKSEIU_js.MIN_ZOOM_SCALE,
11990
+ maxScale: chunk7DGKSEIU_js.MAX_ZOOM_SCALE,
11987
11991
  callbacks: {
11988
11992
  onPinchZoom: (newScale) => callbacksRef.current.onPinchZoom?.(newScale),
11989
11993
  onSwipe: (direction) => callbacksRef.current.onSwipe?.(direction),
@@ -12106,7 +12110,7 @@ function buildCanvasProps(input) {
12106
12110
  if (pptx.shouldConfirmExternalHyperlink(viewerOptions, url) && !window.confirm(buildHyperlinkConfirmMessage(url))) {
12107
12111
  return;
12108
12112
  }
12109
- chunkSQUVXHAE_js.safeOpenUrl(url, target);
12113
+ chunk7DGKSEIU_js.safeOpenUrl(url, target);
12110
12114
  };
12111
12115
  const handleActionClick = (elementId, action) => {
12112
12116
  if (mode === "present") {
@@ -12121,9 +12125,9 @@ function buildCanvasProps(input) {
12121
12125
  }
12122
12126
  };
12123
12127
  const handleHyperlinkClick = (url, target) => {
12124
- if (chunkSQUVXHAE_js.isPpactionUrl(url)) {
12128
+ if (chunk7DGKSEIU_js.isPpactionUrl(url)) {
12125
12129
  if (mode === "present") {
12126
- const parsed = chunkSQUVXHAE_js.parsePpactionUrl(url);
12130
+ const parsed = chunk7DGKSEIU_js.parsePpactionUrl(url);
12127
12131
  if (parsed) {
12128
12132
  presentation.handlePresentationAction({
12129
12133
  action: parsed.action,
@@ -12516,7 +12520,7 @@ function buildToolbarProps(input) {
12516
12520
  isCommentsPanelOpen: s.isInspectorPaneOpen,
12517
12521
  slideCommentCount: activeSlide?.comments?.length ?? 0,
12518
12522
  formatPainterActive: s.formatPainterActive,
12519
- canActivateFormatPainter: chunkSQUVXHAE_js.hasCopyableFormat(selectedElement),
12523
+ canActivateFormatPainter: chunk7DGKSEIU_js.hasCopyableFormat(selectedElement),
12520
12524
  onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
12521
12525
  isSelectionPaneOpen: s.isSelectionPaneOpen,
12522
12526
  onToggleSelectionPane: () => s.setIsSelectionPaneOpen((p) => !p),
@@ -12837,7 +12841,7 @@ function useViewerBuildingBlocksCore(input) {
12837
12841
  documentGridSpacing: state.viewProperties?.gridSpacing
12838
12842
  });
12839
12843
  const themeColorMap = React17.useMemo(
12840
- () => state.theme?.colorScheme ? (0, chunkSQUVXHAE_js.dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
12844
+ () => state.theme?.colorScheme ? (0, chunk7DGKSEIU_js.dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
12841
12845
  [state.theme?.colorScheme]
12842
12846
  );
12843
12847
  const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = usePresentationSetup({
@@ -13412,23 +13416,23 @@ function ColorChangedImage({
13412
13416
  className,
13413
13417
  alt
13414
13418
  }) {
13415
- const tolerance = tolerancePct ?? chunkSQUVXHAE_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13416
- const cacheKey = chunkSQUVXHAE_js.buildCacheKey(
13419
+ const tolerance = tolerancePct ?? chunk7DGKSEIU_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13420
+ const cacheKey = chunk7DGKSEIU_js.buildCacheKey(
13417
13421
  src,
13418
13422
  clrChange.clrFrom,
13419
13423
  clrChange.clrTo,
13420
13424
  tolerance,
13421
13425
  Boolean(clrChange.clrToTransparent)
13422
13426
  );
13423
- const cached = chunkSQUVXHAE_js.getCachedResult(cacheKey);
13427
+ const cached = chunk7DGKSEIU_js.getCachedResult(cacheKey);
13424
13428
  const [processedSrc, setProcessedSrc] = React17.useState(cached ?? null);
13425
13429
  React17.useEffect(() => {
13426
- if (chunkSQUVXHAE_js.getCachedResult(cacheKey)) {
13427
- setProcessedSrc(chunkSQUVXHAE_js.getCachedResult(cacheKey) ?? null);
13430
+ if (chunk7DGKSEIU_js.getCachedResult(cacheKey)) {
13431
+ setProcessedSrc(chunk7DGKSEIU_js.getCachedResult(cacheKey) ?? null);
13428
13432
  return;
13429
13433
  }
13430
13434
  let cancelled = false;
13431
- chunkSQUVXHAE_js.applyColorChange(
13435
+ chunk7DGKSEIU_js.applyColorChange(
13432
13436
  src,
13433
13437
  clrChange.clrFrom,
13434
13438
  clrChange.clrTo,
@@ -13436,7 +13440,7 @@ function ColorChangedImage({
13436
13440
  Boolean(clrChange.clrToTransparent)
13437
13441
  ).then((result) => {
13438
13442
  if (!cancelled) {
13439
- chunkSQUVXHAE_js.setCachedResult(cacheKey, result.dataUrl);
13443
+ chunk7DGKSEIU_js.setCachedResult(cacheKey, result.dataUrl);
13440
13444
  setProcessedSrc(result.dataUrl);
13441
13445
  }
13442
13446
  return void 0;
@@ -13528,7 +13532,7 @@ function TiledImageLayer({
13528
13532
  cancelled = true;
13529
13533
  };
13530
13534
  }, [src]);
13531
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunkSQUVXHAE_js.getImageTilingStyle(element, nativeSize), ...style } });
13535
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunk7DGKSEIU_js.getImageTilingStyle(element, nativeSize), ...style } });
13532
13536
  }
13533
13537
  function renderImageEffectDefinitions(element, excludeDuotone = false) {
13534
13538
  return pptx.getImageSvgFilters(element).filter((definition) => !excludeDuotone || definition.id !== `duotone-${element.id}`).map((definition) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -13597,7 +13601,7 @@ function renderImg(el, style, filter, alt, opacity) {
13597
13601
  ...filter ? { filter } : {},
13598
13602
  ...opacity !== void 0 ? { opacity } : {}
13599
13603
  };
13600
- if (chunkSQUVXHAE_js.isImageTiled(el)) {
13604
+ if (chunk7DGKSEIU_js.isImageTiled(el)) {
13601
13605
  const tileSrc = imgSrc(el);
13602
13606
  if (!tileSrc) {
13603
13607
  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" });
@@ -13616,12 +13620,12 @@ function renderImg(el, style, filter, alt, opacity) {
13616
13620
  ] });
13617
13621
  }
13618
13622
  const colorWash = pptx.getImageColorWashStyle(
13619
- (0, chunkSQUVXHAE_js.dist_exports.isImageLikeElement)(el) ? el.imageEffects?.colorWash : void 0
13623
+ (0, chunk7DGKSEIU_js.dist_exports.isImageLikeElement)(el) ? el.imageEffects?.colorWash : void 0
13620
13624
  );
13621
13625
  const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
13622
- const duotoneColors = chunkSQUVXHAE_js.getDuotoneColors(el);
13626
+ const duotoneColors = chunk7DGKSEIU_js.getDuotoneColors(el);
13623
13627
  const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
13624
- const filterForImg = useDuotoneCanvas ? chunkSQUVXHAE_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13628
+ const filterForImg = useDuotoneCanvas ? chunk7DGKSEIU_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13625
13629
  const canvasEffectStyles = {
13626
13630
  ...filterForImg ? { filter: filterForImg } : {},
13627
13631
  ...opacity !== void 0 ? { opacity } : {}
@@ -13697,10 +13701,10 @@ function SlideBackgroundImageLayer({
13697
13701
  style: { zIndex: 0 },
13698
13702
  children: renderImg(
13699
13703
  backgroundElement,
13700
- chunkSQUVXHAE_js.getImageRenderStyle(backgroundElement),
13701
- chunkSQUVXHAE_js.getImageEffectsFilter(backgroundElement),
13704
+ chunk7DGKSEIU_js.getImageRenderStyle(backgroundElement),
13705
+ chunk7DGKSEIU_js.getImageEffectsFilter(backgroundElement),
13702
13706
  "",
13703
- chunkSQUVXHAE_js.getImageEffectsOpacity(backgroundElement)
13707
+ chunk7DGKSEIU_js.getImageEffectsOpacity(backgroundElement)
13704
13708
  )
13705
13709
  }
13706
13710
  );
@@ -13971,7 +13975,7 @@ function ChartElementView({
13971
13975
  pptx.getBarFacePicturePixelSampleVersion
13972
13976
  );
13973
13977
  const viewModel = React17.useMemo(() => {
13974
- return canEdit ? chunkSQUVXHAE_js.buildReactChartViewModel(element) : null;
13978
+ return canEdit ? chunk7DGKSEIU_js.buildReactChartViewModel(element) : null;
13975
13979
  }, [canEdit, element, barFacePictureSampleVersion]);
13976
13980
  React17.useEffect(pptx.ensureChartInteractionStyles, []);
13977
13981
  React17.useEffect(() => {
@@ -14056,9 +14060,9 @@ function ChartElementView({
14056
14060
  textStyle: animationState?.textStyle,
14057
14061
  onSelect: chart3D.onSelect,
14058
14062
  onDrag: chart3D.onDrag,
14059
- children: chunkSQUVXHAE_js.renderChartElement(renderedElement)
14063
+ children: chunk7DGKSEIU_js.renderChartElement(renderedElement)
14060
14064
  }
14061
- ) : chunkSQUVXHAE_js.renderChartElement(renderedElement),
14065
+ ) : chunk7DGKSEIU_js.renderChartElement(renderedElement),
14062
14066
  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) }),
14063
14067
  titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
14064
14068
  "input",
@@ -14388,7 +14392,7 @@ function ResizeHandles({
14388
14392
  "aria-label": t("pptx.selectionOverlay.resize", { handle }),
14389
14393
  "data-pptx-handle-kind": "resize",
14390
14394
  "data-pptx-compact": true,
14391
- className: chunkSQUVXHAE_js.cn(
14395
+ className: chunk7DGKSEIU_js.cn(
14392
14396
  "absolute z-10 group border-0 bg-transparent p-0",
14393
14397
  RESIZE_DEFAULT_CLASSES,
14394
14398
  posClass,
@@ -14414,7 +14418,7 @@ function ResizeHandles({
14414
14418
  "div",
14415
14419
  {
14416
14420
  "data-pptx-handle-hit": true,
14417
- className: chunkSQUVXHAE_js.cn(
14421
+ className: chunk7DGKSEIU_js.cn(
14418
14422
  "absolute -inset-px pointer-events-auto [--pptx-handle-hit-inset:-1px]",
14419
14423
  corner ? "max-md:-inset-1.5 max-md:[--pptx-handle-hit-inset:-6px]" : "max-md:-inset-2 max-md:[--pptx-handle-hit-inset:-8px]"
14420
14424
  ),
@@ -14435,7 +14439,7 @@ function ResizeHandles({
14435
14439
  "aria-label": t("pptx.selectionOverlay.rotate"),
14436
14440
  "data-pptx-handle-kind": "rotate",
14437
14441
  "data-pptx-compact": true,
14438
- className: chunkSQUVXHAE_js.cn(
14442
+ className: chunk7DGKSEIU_js.cn(
14439
14443
  "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",
14440
14444
  ROTATE_DEFAULT_CLASSES
14441
14445
  ),
@@ -14505,17 +14509,17 @@ var ConnectorElementRenderer = React17__default.default.memo(
14505
14509
  animationState,
14506
14510
  textStyleOverrideCss
14507
14511
  }) {
14508
- const shapeEl = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(el) ? el : void 0;
14512
+ const shapeEl = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(el) ? el : void 0;
14509
14513
  const viewWidth = Math.max(el.width, 0);
14510
14514
  const viewHeight = Math.max(el.height, 0);
14511
14515
  const svgWidth = Math.max(el.width, 1);
14512
14516
  const svgHeight = Math.max(el.height, 1);
14513
14517
  const ss = shapeEl?.shapeStyle;
14514
14518
  const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
14515
- const strokeColor = chunkSQUVXHAE_js.normalizeHexColor(ss?.strokeColor, chunkSQUVXHAE_js.DEFAULT_STROKE_COLOR);
14516
- const strokePaint = chunkSQUVXHAE_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14517
- const dashType = chunkSQUVXHAE_js.normalizeStrokeDashType(ss?.strokeDash);
14518
- const dashArray = chunkSQUVXHAE_js.getSvgStrokeDasharray(
14519
+ const strokeColor = chunk7DGKSEIU_js.normalizeHexColor(ss?.strokeColor, chunk7DGKSEIU_js.DEFAULT_STROKE_COLOR);
14520
+ const strokePaint = chunk7DGKSEIU_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14521
+ const dashType = chunk7DGKSEIU_js.normalizeStrokeDashType(ss?.strokeDash);
14522
+ const dashArray = chunk7DGKSEIU_js.getSvgStrokeDasharray(
14519
14523
  dashType,
14520
14524
  Math.max(strokeWidth, 1),
14521
14525
  ss?.customDashSegments
@@ -14526,14 +14530,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
14526
14530
  const markerSeed = el.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
14527
14531
  const startMarkerId = `${markerSeed}-sel-start`;
14528
14532
  const endMarkerId = `${markerSeed}-sel-end`;
14529
- const compoundOffsets = chunkSQUVXHAE_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14530
- const compoundWidths = chunkSQUVXHAE_js.getCompoundLineWidths(compoundLine, strokeWidth);
14533
+ const compoundOffsets = chunk7DGKSEIU_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14534
+ const compoundWidths = chunk7DGKSEIU_js.getCompoundLineWidths(compoundLine, strokeWidth);
14531
14535
  const strokeCap = pptx.svgLineCap(ss?.lineCap);
14532
- const textEl = (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) ? el : void 0;
14536
+ const textEl = (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) ? el : void 0;
14533
14537
  const connectorText = textEl?.text?.trim() ?? "";
14534
14538
  const connectorTextSegments = textEl?.textSegments;
14535
14539
  const connectorTextStyle = textEl?.textStyle;
14536
- const pathGeometry = shapeEl ? chunkSQUVXHAE_js.getConnectorPathGeometry(shapeEl) : {
14540
+ const pathGeometry = shapeEl ? chunk7DGKSEIU_js.getConnectorPathGeometry(shapeEl) : {
14537
14541
  pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
14538
14542
  startX: 0,
14539
14543
  startY: 0,
@@ -14542,16 +14546,16 @@ var ConnectorElementRenderer = React17__default.default.memo(
14542
14546
  };
14543
14547
  const hitTargetWidth = Math.max(strokeWidth * 3, 14);
14544
14548
  const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
14545
- const lineShadow = chunkSQUVXHAE_js.buildLineShadowCss(el);
14546
- const lineGlow = chunkSQUVXHAE_js.buildLineGlowFilter(el);
14549
+ const lineShadow = chunk7DGKSEIU_js.buildLineShadowCss(el);
14550
+ const lineGlow = chunk7DGKSEIU_js.buildLineGlowFilter(el);
14547
14551
  return /* @__PURE__ */ jsxRuntime.jsxs(
14548
14552
  "div",
14549
14553
  {
14550
14554
  "data-pptx-element": "true",
14551
14555
  "data-element-id": el.id,
14552
- role: chunkSQUVXHAE_js.getAriaRole(el, { actionable: false }),
14553
- "aria-label": chunkSQUVXHAE_js.getAriaLabel(el),
14554
- "aria-roledescription": chunkSQUVXHAE_js.getAriaRoleDescription(el),
14556
+ role: chunk7DGKSEIU_js.getAriaRole(el, { actionable: false }),
14557
+ "aria-label": chunk7DGKSEIU_js.getAriaLabel(el),
14558
+ "aria-roledescription": chunk7DGKSEIU_js.getAriaRoleDescription(el),
14555
14559
  "aria-selected": isSelected ? true : void 0,
14556
14560
  className: "absolute",
14557
14561
  style: {
@@ -14584,14 +14588,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
14584
14588
  style: { overflow: "visible", pointerEvents: "none" },
14585
14589
  children: [
14586
14590
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
14587
- chunkSQUVXHAE_js.renderConnectorMarker(
14591
+ chunk7DGKSEIU_js.renderConnectorMarker(
14588
14592
  startMarkerId,
14589
14593
  startArrow,
14590
14594
  strokePaint,
14591
14595
  ss?.connectorStartArrowWidth,
14592
14596
  ss?.connectorStartArrowLength
14593
14597
  ),
14594
- chunkSQUVXHAE_js.renderConnectorMarker(
14598
+ chunk7DGKSEIU_js.renderConnectorMarker(
14595
14599
  endMarkerId,
14596
14600
  endArrow,
14597
14601
  strokePaint,
@@ -14797,14 +14801,14 @@ function getElementInteractionProps({
14797
14801
  };
14798
14802
  }
14799
14803
  function renderDagDuotoneFilterForElement(el) {
14800
- if (!chunkSQUVXHAE_js.hasDagDuotoneEffect(el)) {
14804
+ if (!chunk7DGKSEIU_js.hasDagDuotoneEffect(el)) {
14801
14805
  return null;
14802
14806
  }
14803
14807
  const duotone = el.shapeStyle?.dagDuotone;
14804
14808
  if (!duotone) {
14805
14809
  return null;
14806
14810
  }
14807
- return chunkSQUVXHAE_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14811
+ return chunk7DGKSEIU_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14808
14812
  }
14809
14813
  function getContainerStyle({
14810
14814
  el,
@@ -14817,7 +14821,7 @@ function getContainerStyle({
14817
14821
  has3DExtrusion,
14818
14822
  templateEditing
14819
14823
  }) {
14820
- const ss = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
14824
+ const ss = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
14821
14825
  const isPicture = el.type === "picture" || el.type === "image";
14822
14826
  const blurGrowVisible = Boolean(
14823
14827
  ss?.blurGrow && typeof ss.blurRadius === "number" && ss.blurRadius > 0
@@ -14831,10 +14835,10 @@ function getContainerStyle({
14831
14835
  top: isFullscreenMedia ? fs.top : el.y,
14832
14836
  width: isFullscreenMedia ? fs.width : painted.width,
14833
14837
  ...heightStyle,
14834
- transform: isFullscreenMedia ? fs.transform : chunkSQUVXHAE_js.getElementTransform(el),
14838
+ transform: isFullscreenMedia ? fs.transform : chunk7DGKSEIU_js.getElementTransform(el),
14835
14839
  transformOrigin: "center",
14836
14840
  overflow: overflowValue,
14837
- clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunkSQUVXHAE_js.getCropShapeClipPath(el) : void 0,
14841
+ clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunk7DGKSEIU_js.getCropShapeClipPath(el) : void 0,
14838
14842
  zIndex: isFullscreenMedia ? fs.zIndex : zIndex,
14839
14843
  visibility: animationState?.visible === false ? "hidden" : "visible",
14840
14844
  animation: animationState?.cssAnimation,
@@ -14866,11 +14870,11 @@ function getContainerStyle({
14866
14870
  };
14867
14871
  }
14868
14872
  function shapeParams(element) {
14869
- const style = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
14873
+ const style = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
14870
14874
  const strokeWidth = pptx.paintedStrokeWidth(style);
14871
- const strokeColor = chunkSQUVXHAE_js.normalizeHexColor(style?.strokeColor, chunkSQUVXHAE_js.DEFAULT_STROKE_COLOR);
14872
- const fillColor = chunkSQUVXHAE_js.normalizeHexColor(style?.fillColor, chunkSQUVXHAE_js.DEFAULT_FILL_COLOR);
14873
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkSQUVXHAE_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14875
+ const strokeColor = chunk7DGKSEIU_js.normalizeHexColor(style?.strokeColor, chunk7DGKSEIU_js.DEFAULT_STROKE_COLOR);
14876
+ const fillColor = chunk7DGKSEIU_js.normalizeHexColor(style?.fillColor, chunk7DGKSEIU_js.DEFAULT_FILL_COLOR);
14877
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk7DGKSEIU_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14874
14878
  return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
14875
14879
  }
14876
14880
  var Extrusion3DOverlay = React17__default.default.memo(
@@ -14975,7 +14979,7 @@ function ShapeEffectOverlay({
14975
14979
  const fillOverlayStyle = overlay ? {
14976
14980
  position: "absolute",
14977
14981
  inset: 0,
14978
- ...(0, chunkSQUVXHAE_js.dist_exports.isImageLikeElement)(element) ? chunkSQUVXHAE_js.getImageSurfaceMaskStyle(element) : {},
14982
+ ...(0, chunk7DGKSEIU_js.dist_exports.isImageLikeElement)(element) ? chunk7DGKSEIU_js.getImageSurfaceMaskStyle(element) : {},
14979
14983
  background: overlay.color,
14980
14984
  mixBlendMode: overlay.blendMode,
14981
14985
  pointerEvents: "none"
@@ -15178,10 +15182,10 @@ var ElementRenderer = React17__default.default.memo(
15178
15182
  const allow = pptx.resolveElementInteractivity(el);
15179
15183
  const backgroundAnimationState = presentationElementStates?.get(`${el.id}::pptx-bg`);
15180
15184
  const visualAnimationState = backgroundAnimationState ?? animationState;
15181
- const isTxt = chunkSQUVXHAE_js.isEditableTextElement(el) && allow.textEditable;
15182
- const txtSE = (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) ? el.textStyle : void 0;
15185
+ const isTxt = chunk7DGKSEIU_js.isEditableTextElement(el) && allow.textEditable;
15186
+ const txtSE = (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) ? el.textStyle : void 0;
15183
15187
  const textStyleOverrideCss = pptx.buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
15184
- const ss = chunkSQUVXHAE_js.getShapeVisualStyle(
15188
+ const ss = chunk7DGKSEIU_js.getShapeVisualStyle(
15185
15189
  el,
15186
15190
  hf,
15187
15191
  fc,
@@ -15190,9 +15194,9 @@ var ElementRenderer = React17__default.default.memo(
15190
15194
  visualAnimationState?.animatesFill,
15191
15195
  visualAnimationState?.animatesStroke
15192
15196
  );
15193
- const ts = chunkSQUVXHAE_js.getTextStyleForElement(el, chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR);
15197
+ const ts = chunk7DGKSEIU_js.getTextStyleForElement(el, chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR);
15194
15198
  const isImg = el.type === "picture" || el.type === "image";
15195
- const vs = chunkSQUVXHAE_js.renderVectorShape(
15199
+ const vs = chunk7DGKSEIU_js.renderVectorShape(
15196
15200
  el,
15197
15201
  isImg ? false : hf,
15198
15202
  fc,
@@ -15202,10 +15206,10 @@ var ElementRenderer = React17__default.default.memo(
15202
15206
  visualAnimationState?.animatesStroke
15203
15207
  );
15204
15208
  const isModel3D = el.type === "model3d";
15205
- const isConn = chunkSQUVXHAE_js.isConnectorOrLineElement(el);
15206
- const shapeStyle3d = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
15209
+ const isConn = chunk7DGKSEIU_js.isConnectorOrLineElement(el);
15210
+ const shapeStyle3d = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
15207
15211
  const extrusionData = React17.useMemo(
15208
- () => chunkSQUVXHAE_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15212
+ () => chunk7DGKSEIU_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15209
15213
  [shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
15210
15214
  );
15211
15215
  const actionAffordance = useActionAffordance(el, canInteract);
@@ -15294,7 +15298,7 @@ var ElementRenderer = React17__default.default.memo(
15294
15298
  "aria-hidden": aria.hidden ? true : void 0,
15295
15299
  "aria-selected": isSelected ? true : void 0,
15296
15300
  tabIndex: isFocusable ? 0 : -1,
15297
- className: chunkSQUVXHAE_js.cn(
15301
+ className: chunk7DGKSEIU_js.cn(
15298
15302
  "absolute",
15299
15303
  "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
15300
15304
  cur,
@@ -15382,9 +15386,9 @@ var ElementRenderer = React17__default.default.memo(
15382
15386
  txtSE,
15383
15387
  txtS: ts,
15384
15388
  vecShape: backgroundAnimationState && !isImg ? null : vs,
15385
- imgStyle: chunkSQUVXHAE_js.getImageRenderStyle(el),
15386
- imgFilter: chunkSQUVXHAE_js.getImageEffectsFilter(el),
15387
- imgOpacity: chunkSQUVXHAE_js.getImageEffectsOpacity(el),
15389
+ imgStyle: chunk7DGKSEIU_js.getImageRenderStyle(el),
15390
+ imgFilter: chunk7DGKSEIU_js.getImageEffectsFilter(el),
15391
+ imgOpacity: chunk7DGKSEIU_js.getImageEffectsOpacity(el),
15388
15392
  imgAlt: imageAltText,
15389
15393
  isTxtEl: isTxt,
15390
15394
  media: mediaDataUrls,
@@ -15506,10 +15510,10 @@ function renderStrokeView(view, pressureSensitive, replayStyle, key) {
15506
15510
  }
15507
15511
  function renderInk(el, options) {
15508
15512
  const replay = options?.replay ?? false;
15509
- const strokes = chunkSQUVXHAE_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15513
+ const strokes = chunk7DGKSEIU_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15510
15514
  strokes.some((s) => s.circles || s.nibMarks);
15511
15515
  const pressureSensitive = options?.pressureSensitive;
15512
- const replayStyles = replay ? chunkSQUVXHAE_js.getInkReplayStyles(el, options?.replayConfig) : null;
15516
+ const replayStyles = replay ? chunk7DGKSEIU_js.getInkReplayStyles(el, options?.replayConfig) : null;
15513
15517
  return /* @__PURE__ */ jsxRuntime.jsxs(
15514
15518
  "svg",
15515
15519
  {
@@ -15517,7 +15521,7 @@ function renderInk(el, options) {
15517
15521
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15518
15522
  preserveAspectRatio: "none",
15519
15523
  children: [
15520
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkSQUVXHAE_js.INK_REPLAY_KEYFRAMES }),
15524
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk7DGKSEIU_js.INK_REPLAY_KEYFRAMES }),
15521
15525
  strokes.map(
15522
15526
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-ink-${i}`)
15523
15527
  )
@@ -15528,7 +15532,7 @@ function renderInk(el, options) {
15528
15532
  function renderGroup(children, parentGroupFill) {
15529
15533
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: pptx.filterRenderedElements(children).map((c, childIndex) => {
15530
15534
  const { hf, fc, sw, sc } = shapeParams(c);
15531
- const baseSs = chunkSQUVXHAE_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15535
+ const baseSs = chunk7DGKSEIU_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15532
15536
  const inheritedFill = pptx.resolveGroupChildFill(c, parentGroupFill);
15533
15537
  const ss = inheritedFill ? {
15534
15538
  ...baseSs,
@@ -15539,9 +15543,9 @@ function renderGroup(children, parentGroupFill) {
15539
15543
  backgroundPosition: inheritedFill.backgroundPosition
15540
15544
  } : baseSs;
15541
15545
  const isI = c.type === "picture" || c.type === "image";
15542
- const vs = chunkSQUVXHAE_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15543
- const ts = chunkSQUVXHAE_js.getTextStyleForElement(c, chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR);
15544
- const isTxt = chunkSQUVXHAE_js.isEditableTextElement(c);
15546
+ const vs = chunk7DGKSEIU_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15547
+ const ts = chunk7DGKSEIU_js.getTextStyleForElement(c, chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR);
15548
+ const isTxt = chunk7DGKSEIU_js.isEditableTextElement(c);
15545
15549
  return /* @__PURE__ */ jsxRuntime.jsxs(
15546
15550
  "div",
15547
15551
  {
@@ -15550,9 +15554,9 @@ function renderGroup(children, parentGroupFill) {
15550
15554
  style: {
15551
15555
  left: c.x,
15552
15556
  top: c.y,
15553
- width: Math.max(c.width, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE),
15554
- height: Math.max(c.height, chunkSQUVXHAE_js.MIN_ELEMENT_SIZE),
15555
- transform: chunkSQUVXHAE_js.getElementTransform(c),
15557
+ width: Math.max(c.width, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE),
15558
+ height: Math.max(c.height, chunk7DGKSEIU_js.MIN_ELEMENT_SIZE),
15559
+ transform: chunk7DGKSEIU_js.getElementTransform(c),
15556
15560
  transformOrigin: "center",
15557
15561
  ...ss,
15558
15562
  ...isI ? {
@@ -15577,8 +15581,8 @@ function renderGroup(children, parentGroupFill) {
15577
15581
  // A nested group: recurse, chaining the inherited fill so a
15578
15582
  // `grpFill` shape under a fill-less sub-group still paints.
15579
15583
  renderGroup(c.children, pptx.getGroupChildParentFill(c, parentGroupFill))
15580
- ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkSQUVXHAE_js.getImageSurfaceStyle(c), children: [
15581
- chunkSQUVXHAE_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15584
+ ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk7DGKSEIU_js.getImageSurfaceStyle(c), children: [
15585
+ chunk7DGKSEIU_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15582
15586
  TiledImageLayer,
15583
15587
  {
15584
15588
  element: c,
@@ -15591,7 +15595,7 @@ function renderGroup(children, parentGroupFill) {
15591
15595
  src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
15592
15596
  alt: i18n.translationsEn["pptx.ink.groupChildAlt"],
15593
15597
  className: "pointer-events-none select-none",
15594
- style: chunkSQUVXHAE_js.getImageRenderStyle(c),
15598
+ style: chunk7DGKSEIU_js.getImageRenderStyle(c),
15595
15599
  draggable: false
15596
15600
  }
15597
15601
  ),
@@ -15603,7 +15607,7 @@ function renderGroup(children, parentGroupFill) {
15603
15607
  {
15604
15608
  className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
15605
15609
  style: ts,
15606
- children: chunkSQUVXHAE_js.renderTextSegments(c, chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR)
15610
+ children: chunk7DGKSEIU_js.renderTextSegments(c, chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR)
15607
15611
  }
15608
15612
  ) : null
15609
15613
  ] })
@@ -15617,8 +15621,8 @@ function renderContentPart(el, options) {
15617
15621
  if (el.inkStrokes && el.inkStrokes.length > 0) {
15618
15622
  const replay = options?.replay ?? false;
15619
15623
  const pressureSensitive = options?.pressureSensitive ?? true;
15620
- const strokes = chunkSQUVXHAE_js.buildContentPartStrokes(el);
15621
- const replayStyles = replay ? chunkSQUVXHAE_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15624
+ const strokes = chunk7DGKSEIU_js.buildContentPartStrokes(el);
15625
+ const replayStyles = replay ? chunk7DGKSEIU_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15622
15626
  return /* @__PURE__ */ jsxRuntime.jsxs(
15623
15627
  "svg",
15624
15628
  {
@@ -15626,7 +15630,7 @@ function renderContentPart(el, options) {
15626
15630
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15627
15631
  preserveAspectRatio: "none",
15628
15632
  children: [
15629
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkSQUVXHAE_js.INK_REPLAY_KEYFRAMES }),
15633
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk7DGKSEIU_js.INK_REPLAY_KEYFRAMES }),
15630
15634
  strokes.map(
15631
15635
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-cp-ink-${i}`)
15632
15636
  )
@@ -15853,9 +15857,9 @@ function useInlineListEditor(element, rootRef, onChange, onModelReplacement) {
15853
15857
  collaboration: connected,
15854
15858
  model: pptx.createInlineListModelObserver(element),
15855
15859
  activationSelection,
15856
- children: seed && !connected ? chunkSQUVXHAE_js.renderTextSegments(
15860
+ children: seed && !connected ? chunk7DGKSEIU_js.renderTextSegments(
15857
15861
  element,
15858
- chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR,
15862
+ chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR,
15859
15863
  void 0,
15860
15864
  void 0,
15861
15865
  void 0,
@@ -16025,7 +16029,7 @@ function InlineTextEditor({
16025
16029
  seedRef.current = {
16026
16030
  initialText,
16027
16031
  hasRichSegments: Boolean(
16028
- (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element) && element.textSegments && element.textSegments.length > 0
16032
+ (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element) && element.textSegments && element.textSegments.length > 0
16029
16033
  )
16030
16034
  };
16031
16035
  }
@@ -16091,8 +16095,8 @@ function InlineTextEditor({
16091
16095
  pending.endOffset
16092
16096
  );
16093
16097
  });
16094
- const warpStyle = chunkSQUVXHAE_js.getTextWarpStyle(textStyleRaw);
16095
- const compensationTransform = chunkSQUVXHAE_js.getTextCompensationTransform(element);
16098
+ const warpStyle = chunk7DGKSEIU_js.getTextWarpStyle(textStyleRaw);
16099
+ const compensationTransform = chunk7DGKSEIU_js.getTextCompensationTransform(element);
16096
16100
  const warpTransform = warpStyle?.transform;
16097
16101
  const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
16098
16102
  const wrapperStyle = {
@@ -16103,7 +16107,7 @@ function InlineTextEditor({
16103
16107
  transformOrigin: warpStyle?.transformOrigin || "center"
16104
16108
  };
16105
16109
  const nextInlineStyleValue = (property) => {
16106
- if (!(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element)) {
16110
+ if (!(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element)) {
16107
16111
  return true;
16108
16112
  }
16109
16113
  const result = pptx.getInlineEditorSelectionResult(element.textSegments);
@@ -16179,7 +16183,7 @@ function InlineTextEditor({
16179
16183
  const text = e.clipboardData.getData("text/plain");
16180
16184
  document.execCommand("insertText", false, text);
16181
16185
  },
16182
- children: list.seed ? list.children : seed.hasRichSegments ? chunkSQUVXHAE_js.renderTextSegments(element, chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR) : seed.initialText
16186
+ children: list.seed ? list.children : seed.hasRichSegments ? chunk7DGKSEIU_js.renderTextSegments(element, chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR) : seed.initialText
16183
16187
  },
16184
16188
  list.seed?.paragraphs[0].token ?? "plain"
16185
16189
  );
@@ -17116,7 +17120,7 @@ function SmartArtRendererImpl({
17116
17120
  if (!onUpdateElement || !pptx.shouldCommitSmartArtNodeText(smartArtData, nodeId, text)) {
17117
17121
  return;
17118
17122
  }
17119
- const updated = (0, chunkSQUVXHAE_js.dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text);
17123
+ const updated = (0, chunk7DGKSEIU_js.dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text);
17120
17124
  const box = { width: element.width, height: element.height };
17121
17125
  const reflowed = pptx.rebuildDrawingShapesIfCleared(
17122
17126
  updated,
@@ -17132,7 +17136,7 @@ function SmartArtRendererImpl({
17132
17136
  if (!onUpdateElement) {
17133
17137
  return;
17134
17138
  }
17135
- const next = (0, chunkSQUVXHAE_js.dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, { fillColor: fill });
17139
+ const next = (0, chunk7DGKSEIU_js.dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, { fillColor: fill });
17136
17140
  if (next !== smartArtData) {
17137
17141
  const box = { width: element.width, height: element.height };
17138
17142
  const reflowed = pptx.rebuildDrawingShapesIfCleared(
@@ -17326,7 +17330,7 @@ function groupIntoParagraphs(element, fieldContext) {
17326
17330
  element,
17327
17331
  fieldContext ? (seg) => {
17328
17332
  if (seg.fieldType) {
17329
- const substituted = chunkSQUVXHAE_js.substituteFieldText(
17333
+ const substituted = chunk7DGKSEIU_js.substituteFieldText(
17330
17334
  seg.text,
17331
17335
  seg.fieldType,
17332
17336
  fieldContext,
@@ -17361,13 +17365,13 @@ function getSegmentTspanProps(segment, element, fallbackColor) {
17361
17365
  if (s.strikethrough) {
17362
17366
  decos.push("line-through");
17363
17367
  }
17364
- const fill = s.hyperlink ? chunkSQUVXHAE_js.normalizeHexColor(s.color || element.textStyle?.color, chunkSQUVXHAE_js.HYPERLINK_COLOR) : chunkSQUVXHAE_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
17368
+ const fill = s.hyperlink ? chunk7DGKSEIU_js.normalizeHexColor(s.color || element.textStyle?.color, chunk7DGKSEIU_js.HYPERLINK_COLOR) : chunk7DGKSEIU_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
17365
17369
  return {
17366
17370
  fill,
17367
- fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunkSQUVXHAE_js.DEFAULT_TEXT_FONT_SIZE,
17371
+ fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunk7DGKSEIU_js.DEFAULT_TEXT_FONT_SIZE,
17368
17372
  fontWeight: s.bold ? 700 : 400,
17369
17373
  fontStyle: s.italic ? "italic" : void 0,
17370
- fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0, chunkSQUVXHAE_js.dist_exports.getSubstituteFontFamily)(s.fontFamily || element.textStyle?.fontFamily || "") : chunkSQUVXHAE_js.DEFAULT_FONT_FAMILY,
17374
+ fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0, chunk7DGKSEIU_js.dist_exports.getSubstituteFontFamily)(s.fontFamily || element.textStyle?.fontFamily || "") : chunk7DGKSEIU_js.DEFAULT_FONT_FAMILY,
17371
17375
  textDecoration: decos.length > 0 ? decos.join(" ") : void 0
17372
17376
  };
17373
17377
  }
@@ -17375,8 +17379,8 @@ function resolveSegmentFont(segment, element) {
17375
17379
  const s = segment.style || {};
17376
17380
  const family = s.fontFamily || element.textStyle?.fontFamily;
17377
17381
  return {
17378
- fontFamily: family ? (0, chunkSQUVXHAE_js.dist_exports.getSubstituteFontFamily)(family) : chunkSQUVXHAE_js.DEFAULT_FONT_FAMILY,
17379
- fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunkSQUVXHAE_js.DEFAULT_TEXT_FONT_SIZE,
17382
+ fontFamily: family ? (0, chunk7DGKSEIU_js.dist_exports.getSubstituteFontFamily)(family) : chunk7DGKSEIU_js.DEFAULT_FONT_FAMILY,
17383
+ fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunk7DGKSEIU_js.DEFAULT_TEXT_FONT_SIZE,
17380
17384
  bold: s.bold ?? element.textStyle?.bold,
17381
17385
  italic: s.italic ?? element.textStyle?.italic
17382
17386
  };
@@ -17442,7 +17446,7 @@ function WarpedText({
17442
17446
  fallbackColor,
17443
17447
  fieldContext
17444
17448
  }) {
17445
- if (!(0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element)) {
17449
+ if (!(0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element)) {
17446
17450
  return null;
17447
17451
  }
17448
17452
  const textEl = element;
@@ -17460,9 +17464,9 @@ function WarpedText({
17460
17464
  const warpAdj2 = textEl.textStyle?.textWarpAdj2;
17461
17465
  const align = textEl.textStyle?.align ?? "center";
17462
17466
  const { startOffset, textAnchor } = getAlignmentProps(align);
17463
- const baseFontSize = textEl.textStyle?.fontSize ?? chunkSQUVXHAE_js.DEFAULT_TEXT_FONT_SIZE;
17464
- const baseFontFamily = textEl.textStyle?.fontFamily ? (0, chunkSQUVXHAE_js.dist_exports.getSubstituteFontFamily)(textEl.textStyle.fontFamily) : chunkSQUVXHAE_js.DEFAULT_FONT_FAMILY;
17465
- const baseFill = chunkSQUVXHAE_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17467
+ const baseFontSize = textEl.textStyle?.fontSize ?? chunk7DGKSEIU_js.DEFAULT_TEXT_FONT_SIZE;
17468
+ const baseFontFamily = textEl.textStyle?.fontFamily ? (0, chunk7DGKSEIU_js.dist_exports.getSubstituteFontFamily)(textEl.textStyle.fontFamily) : chunk7DGKSEIU_js.DEFAULT_FONT_FAMILY;
17469
+ const baseFill = chunk7DGKSEIU_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17466
17470
  if (pptx.hasGlyphEnvelope(preset)) {
17467
17471
  const perLine = pptx.buildGlyphEnvelopeBlock(
17468
17472
  preset,
@@ -17562,7 +17566,7 @@ function WarpedText({
17562
17566
  );
17563
17567
  }
17564
17568
  var GLYPH_BY_SHAPE = Object.fromEntries(
17565
- chunkSQUVXHAE_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
17569
+ chunk7DGKSEIU_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
17566
17570
  );
17567
17571
  GLYPH_BY_SHAPE["actionButtonForwardOrNext"] = GLYPH_BY_SHAPE["actionButtonForwardNext"];
17568
17572
  GLYPH_BY_SHAPE["actionButtonBackOrPrevious"] = GLYPH_BY_SHAPE["actionButtonBackPrevious"];
@@ -17632,11 +17636,11 @@ function renderTextElementBody(options) {
17632
17636
  const isLinkedTextBox = pptx.isLinkedTextBox(el);
17633
17637
  const linkedSegments = pptx.getOverflowSegments(el, slideElements);
17634
17638
  const useSvgWarp = pptx.shouldUseSvgWarp(
17635
- (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) ? el.textStyle?.textWarpPreset : void 0
17639
+ (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) ? el.textStyle?.textWarpPreset : void 0
17636
17640
  );
17637
- const scene3dStyle = (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(el) ? chunkSQUVXHAE_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17641
+ const scene3dStyle = (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(el) ? chunk7DGKSEIU_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17638
17642
  const rotationTransform = pptx.getTextBodyRotationTransform(el);
17639
- const composedTransform = [rotationTransform, chunkSQUVXHAE_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
17643
+ const composedTransform = [rotationTransform, chunk7DGKSEIU_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
17640
17644
  const transformStyle = {
17641
17645
  transform: composedTransform,
17642
17646
  // A COM-measured homography (`scene3dStyle.transformOrigin === '0 0'`)
@@ -17666,18 +17670,18 @@ function renderTextElementBody(options) {
17666
17670
  shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
17667
17671
  "div",
17668
17672
  {
17669
- className: chunkSQUVXHAE_js.cn(
17673
+ className: chunk7DGKSEIU_js.cn(
17670
17674
  "relative z-10 w-full h-full",
17671
17675
  onHyperlinkClick ? "" : "pointer-events-none"
17672
17676
  ),
17673
- style: { ...chunkSQUVXHAE_js.getTextLayoutStyle(el), ...transformStyle },
17677
+ style: { ...chunk7DGKSEIU_js.getTextLayoutStyle(el), ...transformStyle },
17674
17678
  children: /* @__PURE__ */ jsxRuntime.jsx(
17675
17679
  WarpedText,
17676
17680
  {
17677
17681
  element: el,
17678
17682
  width: el.width,
17679
17683
  height: el.height,
17680
- fallbackColor: chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR,
17684
+ fallbackColor: chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR,
17681
17685
  findHighlights: findHl,
17682
17686
  fieldContext
17683
17687
  }
@@ -17686,19 +17690,19 @@ function renderTextElementBody(options) {
17686
17690
  ) : /* @__PURE__ */ jsxRuntime.jsx(
17687
17691
  "div",
17688
17692
  {
17689
- className: chunkSQUVXHAE_js.cn(
17693
+ className: chunk7DGKSEIU_js.cn(
17690
17694
  "relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
17691
17695
  onHyperlinkClick ? "" : "pointer-events-none"
17692
17696
  ),
17693
17697
  style: {
17694
- ...chunkSQUVXHAE_js.getTextLayoutStyle(el),
17698
+ ...chunk7DGKSEIU_js.getTextLayoutStyle(el),
17695
17699
  ...txtS,
17696
- ...chunkSQUVXHAE_js.getTextWarpStyle(txtSE),
17700
+ ...chunk7DGKSEIU_js.getTextWarpStyle(txtSE),
17697
17701
  ...transformStyle
17698
17702
  },
17699
- children: chunkSQUVXHAE_js.renderTextSegments(
17703
+ children: chunk7DGKSEIU_js.renderTextSegments(
17700
17704
  el,
17701
- chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR,
17705
+ chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR,
17702
17706
  void 0,
17703
17707
  findHl,
17704
17708
  onHyperlinkClick,
@@ -18017,7 +18021,7 @@ function renderBody(options) {
18017
18021
  );
18018
18022
  }
18019
18023
  if (isImg) {
18020
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkSQUVXHAE_js.getImageSurfaceStyle(el), children: [
18024
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk7DGKSEIU_js.getImageSurfaceStyle(el), children: [
18021
18025
  renderImg(el, imgStyle, imgFilter, imgAlt, imgOpacity),
18022
18026
  vecShape ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", children: vecShape }) : null
18023
18027
  ] });
@@ -18034,7 +18038,7 @@ function renderBody(options) {
18034
18038
  textDirection: txtSE?.textDirection,
18035
18039
  textStyle: txtS,
18036
18040
  textStyleRaw: txtSE,
18037
- layoutStyle: chunkSQUVXHAE_js.getTextLayoutStyle(el),
18041
+ layoutStyle: chunk7DGKSEIU_js.getTextLayoutStyle(el),
18038
18042
  element: el,
18039
18043
  onCommit,
18040
18044
  onCancel,
@@ -18045,7 +18049,7 @@ function renderBody(options) {
18045
18049
  ] });
18046
18050
  }
18047
18051
  if (el.type === "table") {
18048
- return chunkSQUVXHAE_js.renderTableElement(el, txtS, {
18052
+ return chunk7DGKSEIU_js.renderTableElement(el, txtS, {
18049
18053
  editable: isSel,
18050
18054
  selectedCell: isSel ? tableSt : null,
18051
18055
  onSelectCell: onCellSel,
@@ -18078,7 +18082,7 @@ function renderBody(options) {
18078
18082
  );
18079
18083
  }
18080
18084
  if (el.type === "media") {
18081
- return chunkSQUVXHAE_js.renderMediaElement(el, media, {
18085
+ return chunk7DGKSEIU_js.renderMediaElement(el, media, {
18082
18086
  // Present mode autoplays every media element on the active slide,
18083
18087
  // not only ones persisted with their own `autoPlay` flag (matching
18084
18088
  // the other four bindings' unconditional `presenting`-gated
@@ -18101,7 +18105,7 @@ function renderBody(options) {
18101
18105
  onPlayStateChange: handleMediaPlayStateChange
18102
18106
  });
18103
18107
  }
18104
- if (doInk && (0, chunkSQUVXHAE_js.dist_exports.isInkElement)(el)) {
18108
+ if (doInk && (0, chunk7DGKSEIU_js.dist_exports.isInkElement)(el)) {
18105
18109
  return renderInk(el, {
18106
18110
  replay: isPresentationPassive,
18107
18111
  pressureSensitive: true
@@ -18130,27 +18134,27 @@ function renderBody(options) {
18130
18134
  }
18131
18135
  return renderGroup(el.children, pptx.getGroupChildParentFill(el));
18132
18136
  }
18133
- if (chunkSQUVXHAE_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18134
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkSQUVXHAE_js.getElementLabel(el) });
18137
+ if (chunk7DGKSEIU_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18138
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunk7DGKSEIU_js.getElementLabel(el) });
18135
18139
  }
18136
18140
  return renderTextElementBody(options);
18137
18141
  }
18138
18142
  function defaultTextColorForFill(fillColor) {
18139
18143
  const hex = String(fillColor ?? "").replace(/^#/u, "");
18140
18144
  if (!/^[0-9a-f]{6}$/iu.test(hex)) {
18141
- return chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR;
18145
+ return chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR;
18142
18146
  }
18143
18147
  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);
18144
18148
  const luminance = channels[0] * 0.2126 + channels[1] * 0.7152 + channels[2] * 0.0722;
18145
- return luminance > 0.179 ? chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR : "#ffffff";
18149
+ return luminance > 0.179 ? chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR : "#ffffff";
18146
18150
  }
18147
18151
  function getStaticElementVisualState(element, parentGroupFill) {
18148
- const style = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
18149
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkSQUVXHAE_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18150
- const fill = chunkSQUVXHAE_js.normalizeHexColor(style?.fillColor, chunkSQUVXHAE_js.DEFAULT_FILL_COLOR);
18152
+ const style = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
18153
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk7DGKSEIU_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18154
+ const fill = chunk7DGKSEIU_js.normalizeHexColor(style?.fillColor, chunk7DGKSEIU_js.DEFAULT_FILL_COLOR);
18151
18155
  const strokeWidth = pptx.paintedStrokeWidth(style);
18152
- const stroke = chunkSQUVXHAE_js.normalizeHexColor(style?.strokeColor, chunkSQUVXHAE_js.DEFAULT_STROKE_COLOR);
18153
- const baseVisualStyle = chunkSQUVXHAE_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18156
+ const stroke = chunk7DGKSEIU_js.normalizeHexColor(style?.strokeColor, chunk7DGKSEIU_js.DEFAULT_STROKE_COLOR);
18157
+ const baseVisualStyle = chunk7DGKSEIU_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18154
18158
  const inheritedFill = pptx.resolveGroupChildFill(element, parentGroupFill);
18155
18159
  const visualStyle = inheritedFill ? {
18156
18160
  ...baseVisualStyle,
@@ -18160,13 +18164,13 @@ function getStaticElementVisualState(element, parentGroupFill) {
18160
18164
  backgroundSize: inheritedFill.backgroundSize,
18161
18165
  backgroundPosition: inheritedFill.backgroundPosition
18162
18166
  } : baseVisualStyle;
18163
- const textStyle = chunkSQUVXHAE_js.getTextStyleForElement(
18167
+ const textStyle = chunk7DGKSEIU_js.getTextStyleForElement(
18164
18168
  element,
18165
- element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunkSQUVXHAE_js.DEFAULT_TEXT_COLOR
18169
+ element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunk7DGKSEIU_js.DEFAULT_TEXT_COLOR
18166
18170
  );
18167
18171
  const isImage = element.type === "picture" || element.type === "image";
18168
- const letsTextOverflow = (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element) && element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
18169
- const shapeType = (0, chunkSQUVXHAE_js.dist_exports.hasShapeProperties)(element) ? element.shapeType : void 0;
18172
+ const letsTextOverflow = (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element) && element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
18173
+ const shapeType = (0, chunk7DGKSEIU_js.dist_exports.hasShapeProperties)(element) ? element.shapeType : void 0;
18170
18174
  const isCallout = pptx.isWedgeCalloutPresetShape(shapeType) || String(shapeType ?? "").toLowerCase().includes("callout");
18171
18175
  return {
18172
18176
  hasFill,
@@ -18187,7 +18191,7 @@ function getStaticElementInteractionState(element, hasActionHandler, exposeEleme
18187
18191
  return { action, isActionable, contractRole };
18188
18192
  }
18189
18193
  function getStaticElementWrapperClassName(element, visual, positioned, isActionable) {
18190
- const overflowClass = visual.isImage || element.type === "group" || chunkSQUVXHAE_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18194
+ const overflowClass = visual.isImage || element.type === "group" || chunk7DGKSEIU_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18191
18195
  const pointerClass = isActionable ? "pointer-events-auto cursor-pointer" : "pointer-events-none";
18192
18196
  return `${positioned ? "absolute" : "relative"} ${overflowClass} ${pointerClass}`;
18193
18197
  }
@@ -18270,7 +18274,7 @@ function StaticElementRendererImpl({
18270
18274
  top: positioned ? element.y : void 0,
18271
18275
  width: positioned ? Math.max(element.width, 1) : "100%",
18272
18276
  height: positioned ? Math.max(element.height, 1) : "100%",
18273
- transform: positioned ? chunkSQUVXHAE_js.getElementTransform(element) : void 0,
18277
+ transform: positioned ? chunk7DGKSEIU_js.getElementTransform(element) : void 0,
18274
18278
  transformOrigin: "center",
18275
18279
  zIndex,
18276
18280
  ...visualStyle,
@@ -18311,20 +18315,20 @@ function StaticElementRendererImpl({
18311
18315
  isEditing: false,
18312
18316
  editText: "",
18313
18317
  spellCheck: false,
18314
- txtSE: (0, chunkSQUVXHAE_js.dist_exports.hasTextProperties)(element) ? element.textStyle : void 0,
18318
+ txtSE: (0, chunk7DGKSEIU_js.dist_exports.hasTextProperties)(element) ? element.textStyle : void 0,
18315
18319
  txtS: textStyle,
18316
- vecShape: chunkSQUVXHAE_js.renderVectorShape(
18320
+ vecShape: chunk7DGKSEIU_js.renderVectorShape(
18317
18321
  element,
18318
18322
  isImage ? false : hasFill,
18319
18323
  fill,
18320
18324
  strokeWidth,
18321
18325
  stroke
18322
18326
  ),
18323
- imgStyle: imageAnimation ? { ...chunkSQUVXHAE_js.getImageRenderStyle(element), animation: imageAnimation } : chunkSQUVXHAE_js.getImageRenderStyle(element),
18324
- imgFilter: chunkSQUVXHAE_js.getImageEffectsFilter(element),
18325
- imgOpacity: chunkSQUVXHAE_js.getImageEffectsOpacity(element),
18327
+ imgStyle: imageAnimation ? { ...chunk7DGKSEIU_js.getImageRenderStyle(element), animation: imageAnimation } : chunk7DGKSEIU_js.getImageRenderStyle(element),
18328
+ imgFilter: chunk7DGKSEIU_js.getImageEffectsFilter(element),
18329
+ imgOpacity: chunk7DGKSEIU_js.getImageEffectsOpacity(element),
18326
18330
  imgAlt: "",
18327
- isTxtEl: chunkSQUVXHAE_js.isEditableTextElement(element),
18331
+ isTxtEl: chunk7DGKSEIU_js.isEditableTextElement(element),
18328
18332
  media: mediaDataUrls,
18329
18333
  tableSt: null,
18330
18334
  isSel: false,
@@ -18369,7 +18373,7 @@ function SlideLayer({
18369
18373
  style: {
18370
18374
  width: safeWidth,
18371
18375
  height: safeHeight,
18372
- backgroundColor: slide.backgroundColor ? chunkSQUVXHAE_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18376
+ backgroundColor: slide.backgroundColor ? chunk7DGKSEIU_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18373
18377
  backgroundImage: slide.backgroundImage ? `url(${slide.backgroundImage})` : slide.backgroundGradient ? slide.backgroundGradient : void 0,
18374
18378
  backgroundSize: slide.backgroundImage ? "cover" : void 0,
18375
18379
  backgroundPosition: slide.backgroundImage ? "center" : void 0