pptx-react-viewer 4.36.2 → 4.36.3

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 (84) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{AiChatPanel-CX74JT77.mjs → AiChatPanel-5O6PHRSH.mjs} +1 -1
  3. package/dist/AiChatPanel-5O6PHRSH.mjs.br +0 -0
  4. package/dist/AiChatPanel-5O6PHRSH.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-PVRSPIAY.js → AiChatPanel-FNHDAKPB.js} +9 -9
  6. package/dist/AiChatPanel-FNHDAKPB.js.br +0 -0
  7. package/dist/AiChatPanel-FNHDAKPB.js.gz +0 -0
  8. package/dist/{chunk-4MGJUBY7.js → chunk-43TOUP5U.js} +6 -3
  9. package/dist/chunk-43TOUP5U.js.br +0 -0
  10. package/dist/chunk-43TOUP5U.js.gz +0 -0
  11. package/dist/{chunk-BOLHGVKE.mjs → chunk-F76MGAHF.mjs} +1 -1
  12. package/dist/chunk-F76MGAHF.mjs.br +0 -0
  13. package/dist/chunk-F76MGAHF.mjs.gz +0 -0
  14. package/dist/{chunk-KRBHBPI7.mjs → chunk-JPVT7TY7.mjs} +13 -10
  15. package/dist/chunk-JPVT7TY7.mjs.br +0 -0
  16. package/dist/chunk-JPVT7TY7.mjs.gz +0 -0
  17. package/dist/{chunk-UL6QTOEA.js → chunk-ODFNNB5X.js} +245 -245
  18. package/dist/chunk-ODFNNB5X.js.br +0 -0
  19. package/dist/chunk-ODFNNB5X.js.gz +0 -0
  20. package/dist/{chunk-SMPZ552M.mjs → chunk-UC2VQORY.mjs} +6 -3
  21. package/dist/chunk-UC2VQORY.mjs.br +0 -0
  22. package/dist/chunk-UC2VQORY.mjs.gz +0 -0
  23. package/dist/{chunk-XX5NMBNB.js → chunk-VCRUM3NE.js} +393 -390
  24. package/dist/chunk-VCRUM3NE.js.br +0 -0
  25. package/dist/chunk-VCRUM3NE.js.gz +0 -0
  26. package/dist/i18n/de.cjs +76 -1
  27. package/dist/i18n/de.cjs.br +0 -0
  28. package/dist/i18n/de.cjs.gz +0 -0
  29. package/dist/i18n/de.mjs +76 -1
  30. package/dist/i18n/de.mjs.br +0 -0
  31. package/dist/i18n/de.mjs.gz +0 -0
  32. package/dist/i18n/es.cjs +76 -1
  33. package/dist/i18n/es.cjs.br +0 -0
  34. package/dist/i18n/es.cjs.gz +0 -0
  35. package/dist/i18n/es.mjs +76 -1
  36. package/dist/i18n/es.mjs.br +0 -0
  37. package/dist/i18n/es.mjs.gz +0 -0
  38. package/dist/i18n/fr.cjs +76 -1
  39. package/dist/i18n/fr.cjs.br +0 -0
  40. package/dist/i18n/fr.cjs.gz +0 -0
  41. package/dist/i18n/fr.mjs +76 -1
  42. package/dist/i18n/fr.mjs.br +0 -0
  43. package/dist/i18n/fr.mjs.gz +0 -0
  44. package/dist/i18n/zh-CN.cjs +76 -1
  45. package/dist/i18n/zh-CN.cjs.br +0 -0
  46. package/dist/i18n/zh-CN.cjs.gz +0 -0
  47. package/dist/i18n/zh-CN.mjs +76 -1
  48. package/dist/i18n/zh-CN.mjs.br +0 -0
  49. package/dist/i18n/zh-CN.mjs.gz +0 -0
  50. package/dist/index.js +24 -24
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +3 -3
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.js +81 -81
  57. package/dist/internals.js.br +0 -0
  58. package/dist/internals.js.gz +0 -0
  59. package/dist/internals.mjs +2 -2
  60. package/dist/internals.mjs.br +0 -0
  61. package/dist/internals.mjs.gz +0 -0
  62. package/dist/viewer/index.js +19 -19
  63. package/dist/viewer/index.js.br +0 -0
  64. package/dist/viewer/index.js.gz +0 -0
  65. package/dist/viewer/index.mjs +3 -3
  66. package/dist/viewer/index.mjs.br +0 -0
  67. package/dist/viewer/index.mjs.gz +0 -0
  68. package/package.json +3 -3
  69. package/dist/AiChatPanel-CX74JT77.mjs.br +0 -0
  70. package/dist/AiChatPanel-CX74JT77.mjs.gz +0 -0
  71. package/dist/AiChatPanel-PVRSPIAY.js.br +0 -0
  72. package/dist/AiChatPanel-PVRSPIAY.js.gz +0 -0
  73. package/dist/chunk-4MGJUBY7.js.br +0 -0
  74. package/dist/chunk-4MGJUBY7.js.gz +0 -0
  75. package/dist/chunk-BOLHGVKE.mjs.br +0 -0
  76. package/dist/chunk-BOLHGVKE.mjs.gz +0 -0
  77. package/dist/chunk-KRBHBPI7.mjs.br +0 -0
  78. package/dist/chunk-KRBHBPI7.mjs.gz +0 -0
  79. package/dist/chunk-SMPZ552M.mjs.br +0 -0
  80. package/dist/chunk-SMPZ552M.mjs.gz +0 -0
  81. package/dist/chunk-UL6QTOEA.js.br +0 -0
  82. package/dist/chunk-UL6QTOEA.js.gz +0 -0
  83. package/dist/chunk-XX5NMBNB.js.br +0 -0
  84. package/dist/chunk-XX5NMBNB.js.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk4MGJUBY7_js = require('./chunk-4MGJUBY7.js');
3
+ var chunk43TOUP5U_js = require('./chunk-43TOUP5U.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(chunk4MGJUBY7_js.cloneHistorySnapshot(previous));
687
+ past.push(chunk43TOUP5U_js.cloneHistorySnapshot(previous));
688
688
  }
689
- past.push({ ...chunk4MGJUBY7_js.cloneHistorySnapshot(before), actionLabel: label });
689
+ past.push({ ...chunk43TOUP5U_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(chunk4MGJUBY7_js.cloneSlide),
779
- templateElementsBySlideId: chunk4MGJUBY7_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
778
+ slides: slides.map(chunk43TOUP5U_js.cloneSlide),
779
+ templateElementsBySlideId: chunk43TOUP5U_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(chunk4MGJUBY7_js.cloneSlide));
792
+ setSlides(snapshot.slides.map(chunk43TOUP5U_js.cloneSlide));
793
793
  setTemplateElementsBySlideId(
794
- chunk4MGJUBY7_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
794
+ chunk43TOUP5U_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 = chunk4MGJUBY7_js.cloneHistorySnapshot(previousSnapshot);
834
- lastHistorySnapshotRef.current = chunk4MGJUBY7_js.cloneHistorySnapshot(nextSnapshot);
833
+ const nextSnapshot = chunk43TOUP5U_js.cloneHistorySnapshot(previousSnapshot);
834
+ lastHistorySnapshotRef.current = chunk43TOUP5U_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 = chunk4MGJUBY7_js.cloneHistorySnapshot(nextSnapshot);
856
- lastHistorySnapshotRef.current = chunk4MGJUBY7_js.cloneHistorySnapshot(targetSnapshot);
855
+ const targetSnapshot = chunk43TOUP5U_js.cloneHistorySnapshot(nextSnapshot);
856
+ lastHistorySnapshotRef.current = chunk43TOUP5U_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 = chunk4MGJUBY7_js.cloneHistorySnapshot(initialSnapshot);
874
+ const clonedInitial = chunk43TOUP5U_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(chunk4MGJUBY7_js.cloneSlide) };
957
- const after = { ...before, slides: nextSlides.map(chunk4MGJUBY7_js.cloneSlide) };
956
+ const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunk43TOUP5U_js.cloneSlide) };
957
+ const after = { ...before, slides: nextSlides.map(chunk43TOUP5U_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 = chunk4MGJUBY7_js.cloneHistorySnapshot(after);
966
+ lastHistorySnapshotRef.current = chunk43TOUP5U_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, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE));
1147
- maxY = Math.max(maxY, element.y + Math.max(element.height, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE));
1146
+ maxX = Math.max(maxX, element.x + Math.max(element.width, chunk43TOUP5U_js.MIN_ELEMENT_SIZE));
1147
+ maxY = Math.max(maxY, element.y + Math.max(element.height, chunk43TOUP5U_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, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
1154
- const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
1153
+ const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
1154
+ const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
1155
1155
  const availableWidth = Math.max(
1156
- effectiveEditorDimensions.width - chunk4MGJUBY7_js.ZOOM_TO_SELECTION_PADDING,
1157
- chunk4MGJUBY7_js.MIN_ELEMENT_SIZE
1156
+ effectiveEditorDimensions.width - chunk43TOUP5U_js.ZOOM_TO_SELECTION_PADDING,
1157
+ chunk43TOUP5U_js.MIN_ELEMENT_SIZE
1158
1158
  );
1159
1159
  const availableHeight = Math.max(
1160
- effectiveEditorDimensions.height - chunk4MGJUBY7_js.ZOOM_TO_SELECTION_PADDING,
1161
- chunk4MGJUBY7_js.MIN_ELEMENT_SIZE
1160
+ effectiveEditorDimensions.height - chunk43TOUP5U_js.ZOOM_TO_SELECTION_PADDING,
1161
+ chunk43TOUP5U_js.MIN_ELEMENT_SIZE
1162
1162
  );
1163
1163
  const targetEditorScale = Math.min(
1164
1164
  availableWidth / boundsWidth,
@@ -4125,8 +4125,8 @@ function useViewerCoreState(_input) {
4125
4125
  const { slides, setSlides, slidesRef } = useSlideState();
4126
4126
  const [templateElementsBySlideId, setTemplateElementsBySlideId] = React17.useState({});
4127
4127
  const [canvasSize, setCanvasSize] = React17.useState({
4128
- width: chunk4MGJUBY7_js.DEFAULT_CANVAS_WIDTH,
4129
- height: chunk4MGJUBY7_js.DEFAULT_CANVAS_HEIGHT
4128
+ width: chunk43TOUP5U_js.DEFAULT_CANVAS_WIDTH,
4129
+ height: chunk43TOUP5U_js.DEFAULT_CANVAS_HEIGHT
4130
4130
  });
4131
4131
  const [slideSizeEmu, setSlideSizeEmu] = React17.useState();
4132
4132
  const [activeSlideIndex, setActiveSlideIndex] = React17.useState(0);
@@ -4509,7 +4509,7 @@ function useLoadContent({
4509
4509
  }
4510
4510
  let cancelled = false;
4511
4511
  const token = ++renderTokenRef.current;
4512
- const handler = new chunk4MGJUBY7_js.dist_exports.PptxHandler();
4512
+ const handler = new chunk43TOUP5U_js.dist_exports.PptxHandler();
4513
4513
  const resources = pptx.createPresentationLoadResources(handler);
4514
4514
  const loadBlobUrls = resources.blobUrls;
4515
4515
  (async () => {
@@ -4594,12 +4594,12 @@ function useLoadContent({
4594
4594
  }
4595
4595
  resources.commit();
4596
4596
  handlerRef.current = handler;
4597
- const partition = chunk4MGJUBY7_js.partitionTemplateElements(nextSlides);
4597
+ const partition = chunk43TOUP5U_js.partitionTemplateElements(nextSlides);
4598
4598
  setSlides(partition.slides);
4599
4599
  setTemplateElementsBySlideId(partition.templateElementsBySlideId);
4600
4600
  setCanvasSize({
4601
- width: parsed.width ?? chunk4MGJUBY7_js.DEFAULT_CANVAS_WIDTH,
4602
- height: parsed.height ?? chunk4MGJUBY7_js.DEFAULT_CANVAS_HEIGHT
4601
+ width: parsed.width ?? chunk43TOUP5U_js.DEFAULT_CANVAS_WIDTH,
4602
+ height: parsed.height ?? chunk43TOUP5U_js.DEFAULT_CANVAS_HEIGHT
4603
4603
  });
4604
4604
  setSlideSizeEmu(
4605
4605
  typeof parsed.widthEmu === "number" && typeof parsed.heightEmu === "number" && parsed.widthEmu > 0 && parsed.heightEmu > 0 ? {
@@ -4663,7 +4663,7 @@ function useLoadContent({
4663
4663
  onContentApplied?.();
4664
4664
  } catch (err) {
4665
4665
  if (!cancelled && token === renderTokenRef.current) {
4666
- if (err instanceof chunk4MGJUBY7_js.dist_exports.EncryptedFileError) {
4666
+ if (err instanceof chunk43TOUP5U_js.dist_exports.EncryptedFileError) {
4667
4667
  setIsEncrypted(true);
4668
4668
  } else {
4669
4669
  console.error("[pptx] Failed to load presentation content:", err);
@@ -4788,7 +4788,7 @@ function useTextElementOperations(input) {
4788
4788
  updateSelectedElement
4789
4789
  } = input;
4790
4790
  const liveTextSegments = React17.useCallback(() => {
4791
- if (!selectedElement || !(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(selectedElement)) {
4791
+ if (!selectedElement || !(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(selectedElement)) {
4792
4792
  return void 0;
4793
4793
  }
4794
4794
  if (selectedElement.id !== inlineEditingElementId) {
@@ -4806,7 +4806,7 @@ function useTextElementOperations(input) {
4806
4806
  }, [selectedElement, inlineEditingElementId, inlineEditingText, inlineEditingSnapshotRef]);
4807
4807
  const updateSelectedTextStyle = React17.useCallback(
4808
4808
  (updates) => {
4809
- if (!selectedElement || !(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(selectedElement)) {
4809
+ if (!selectedElement || !(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(selectedElement)) {
4810
4810
  return;
4811
4811
  }
4812
4812
  const isLiveEditing = selectedElement.id === inlineEditingElementId;
@@ -4884,7 +4884,7 @@ function useTextElementOperations(input) {
4884
4884
  );
4885
4885
  const toggleSelectedBullets = React17.useCallback(
4886
4886
  (kind) => {
4887
- if (!selectedElement || !(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(selectedElement)) {
4887
+ if (!selectedElement || !(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(selectedElement)) {
4888
4888
  return;
4889
4889
  }
4890
4890
  const currentSegments = liveTextSegments();
@@ -4935,7 +4935,7 @@ function useTextElementOperations(input) {
4935
4935
  );
4936
4936
  const updateSelectedTextCase = React17.useCallback(
4937
4937
  (mode) => {
4938
- if (!selectedElement || !(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(selectedElement)) {
4938
+ if (!selectedElement || !(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(selectedElement)) {
4939
4939
  return;
4940
4940
  }
4941
4941
  const isLiveEditing = selectedElement.id === inlineEditingElementId;
@@ -5051,7 +5051,7 @@ function useElementOperations(input) {
5051
5051
  );
5052
5052
  return;
5053
5053
  }
5054
- if (chunk4MGJUBY7_js.isTemplateElementId(elementId)) {
5054
+ if (chunk43TOUP5U_js.isTemplateElementId(elementId)) {
5055
5055
  const slideId = activeSlide?.id;
5056
5056
  if (slideId) {
5057
5057
  setTemplateElementsBySlideId((prev) => ({
@@ -5087,7 +5087,7 @@ function useElementOperations(input) {
5087
5087
  );
5088
5088
  const updateSelectedShapeStyle = React17.useCallback(
5089
5089
  (updates) => {
5090
- if (!selectedElement || !(0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(selectedElement)) {
5090
+ if (!selectedElement || !(0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(selectedElement)) {
5091
5091
  return;
5092
5092
  }
5093
5093
  updateSelectedElement({
@@ -5291,15 +5291,15 @@ function syncSelectionHandleOverlay(elementNode, elementId, geometry) {
5291
5291
  // src/viewer/hooks/pointer-move-handlers.ts
5292
5292
  function computeResizeGeometry(handle, startX, startY, startWidth, startHeight, dx, dy, snapToGrid, gridSpacingPx, lockAspect = false) {
5293
5293
  const startBox = { x: startX, y: startY, width: startWidth, height: startHeight };
5294
- let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize: chunk4MGJUBY7_js.MIN_ELEMENT_SIZE });
5294
+ let resized = pptx.applyResize(startBox, handle, dx, dy, 1, { minSize: chunk43TOUP5U_js.MIN_ELEMENT_SIZE });
5295
5295
  if (lockAspect) {
5296
- resized = pptx.lockResizeAspect(resized, startBox, handle, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
5296
+ resized = pptx.lockResizeAspect(resized, startBox, handle, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
5297
5297
  }
5298
5298
  const box = { x: resized.x, y: resized.y, width: resized.width, height: resized.height };
5299
5299
  if (!snapToGrid) {
5300
5300
  return box;
5301
5301
  }
5302
- return pptx.snapBoxToGrid(box, handle, gridSpacingPx, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
5302
+ return pptx.snapBoxToGrid(box, handle, gridSpacingPx, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
5303
5303
  }
5304
5304
  function resolveLiveTarget(input) {
5305
5305
  const { livePatcher, editTemplateMode, activeSlide } = input;
@@ -5412,7 +5412,7 @@ function processDragMove(e, drag, editorScale, snapToGrid, snapToShape, gridSpac
5412
5412
  width: el.width,
5413
5413
  height: el.height
5414
5414
  }));
5415
- const snapResult = chunk4MGJUBY7_js.computeSnapToShape(
5415
+ const snapResult = chunk43TOUP5U_js.computeSnapToShape(
5416
5416
  targetX,
5417
5417
  targetY,
5418
5418
  primaryEl.width,
@@ -5486,8 +5486,8 @@ function processResizeMove(e, rs, editorScale, snapToGrid, gridSpacingPx, live)
5486
5486
  rs.lastY = geo.y;
5487
5487
  rs.lastWidth = geo.width;
5488
5488
  rs.lastHeight = geo.height;
5489
- const width = Math.max(geo.width, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
5490
- const height = Math.max(geo.height, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE);
5489
+ const width = Math.max(geo.width, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
5490
+ const height = Math.max(geo.height, chunk43TOUP5U_js.MIN_ELEMENT_SIZE);
5491
5491
  if (rs.domEl) {
5492
5492
  rs.domEl.style.left = `${geo.x}px`;
5493
5493
  rs.domEl.style.top = `${geo.y}px`;
@@ -5580,13 +5580,13 @@ function processPointerUp(input) {
5580
5580
  if (i !== activeSlideIndex) {
5581
5581
  return s;
5582
5582
  }
5583
- const rerouted = chunk4MGJUBY7_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5583
+ const rerouted = chunk43TOUP5U_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5584
5584
  if (rerouted.length === 0) {
5585
5585
  return s;
5586
5586
  }
5587
5587
  return {
5588
5588
  ...s,
5589
- elements: chunk4MGJUBY7_js.applyReroutedConnectors(s.elements, rerouted)
5589
+ elements: chunk43TOUP5U_js.applyReroutedConnectors(s.elements, rerouted)
5590
5590
  };
5591
5591
  })
5592
5592
  );
@@ -5638,8 +5638,8 @@ function commitDrag(drag, editTemplateMode, activeSlide, activeSlideIndex, setTe
5638
5638
  }
5639
5639
  return { ...el, x: start.x + dx, y: start.y + dy };
5640
5640
  });
5641
- const rerouted = chunk4MGJUBY7_js.rerouteConnectorsForMovedElements(movedElements, movedIds);
5642
- return chunk4MGJUBY7_js.applyReroutedConnectors(movedElements, rerouted);
5641
+ const rerouted = chunk43TOUP5U_js.rerouteConnectorsForMovedElements(movedElements, movedIds);
5642
+ return chunk43TOUP5U_js.applyReroutedConnectors(movedElements, rerouted);
5643
5643
  };
5644
5644
  if (editTemplateMode) {
5645
5645
  const slideId = activeSlide?.id;
@@ -5827,7 +5827,7 @@ function useCanvasInteractions(input) {
5827
5827
  return;
5828
5828
  }
5829
5829
  const el = elementLookup.get(editId);
5830
- if (el && (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el)) {
5830
+ if (el && (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el)) {
5831
5831
  const reader = inlineEditingReaderRef?.current;
5832
5832
  const read = reader?.elementId === editId ? reader.read() : void 0;
5833
5833
  if (read?.kind === "unsupported") {
@@ -5874,7 +5874,7 @@ function useCanvasInteractions(input) {
5874
5874
  wasEditable.current = canEdit;
5875
5875
  }, [canEdit]);
5876
5876
  const openEquationEditorForElement = (el) => {
5877
- if (!(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el)) {
5877
+ if (!(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el)) {
5878
5878
  return false;
5879
5879
  }
5880
5880
  const eqSeg = el.textSegments?.find((seg) => seg.equationXml);
@@ -5907,7 +5907,7 @@ function useCanvasInteractions(input) {
5907
5907
  justInteractedRef.current = false;
5908
5908
  } else {
5909
5909
  const el = elementLookup.get(elementId);
5910
- if (el && (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5910
+ if (el && (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5911
5911
  if (!openEquationEditorForElement(el)) {
5912
5912
  pptx.setPendingCaretPoint(e);
5913
5913
  setInlineEditingElementId(elementId);
@@ -5933,7 +5933,7 @@ function useCanvasInteractions(input) {
5933
5933
  if (openEquationEditorForElement(el)) {
5934
5934
  return;
5935
5935
  }
5936
- if ((0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5936
+ if ((0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) && pptx.canInteractWithElement(el, "textEdit")) {
5937
5937
  setInlineEditingElementId(elementId);
5938
5938
  setInlineEditingText(el.text ?? "");
5939
5939
  }
@@ -6398,7 +6398,7 @@ function createStructuredElementHandlers(deps) {
6398
6398
  return;
6399
6399
  }
6400
6400
  const resolved = resolveHyperlinkEditResult(data);
6401
- if (resolved.url && !chunk4MGJUBY7_js.isUrlSafe(resolved.url)) {
6401
+ if (resolved.url && !chunk43TOUP5U_js.isUrlSafe(resolved.url)) {
6402
6402
  return;
6403
6403
  }
6404
6404
  const actionClick = {
@@ -6444,11 +6444,11 @@ function createStructuredElementHandlers(deps) {
6444
6444
  if (!activeSlide) {
6445
6445
  return;
6446
6446
  }
6447
- const preset = chunk4MGJUBY7_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6447
+ const preset = chunk43TOUP5U_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6448
6448
  if (!preset) {
6449
6449
  return;
6450
6450
  }
6451
- const defaultPptxAction = (0, chunk4MGJUBY7_js.dist_exports.elementActionToPptxAction)({
6451
+ const defaultPptxAction = (0, chunk43TOUP5U_js.dist_exports.elementActionToPptxAction)({
6452
6452
  trigger: "click",
6453
6453
  type: preset.defaultAction
6454
6454
  });
@@ -6531,7 +6531,7 @@ function useInsertElements(input) {
6531
6531
  width: 300,
6532
6532
  height: 60,
6533
6533
  text: "",
6534
- textStyle: { fontSize: chunk4MGJUBY7_js.DEFAULT_TEXT_FONT_SIZE }
6534
+ textStyle: { fontSize: chunk43TOUP5U_js.DEFAULT_TEXT_FONT_SIZE }
6535
6535
  });
6536
6536
  };
6537
6537
  const handleAddShape = () => {
@@ -6558,7 +6558,7 @@ function useInsertElements(input) {
6558
6558
  return;
6559
6559
  }
6560
6560
  addElement({
6561
- ...pptx.newTableElement(chunk4MGJUBY7_js.DEFAULT_TABLE_ROWS, chunk4MGJUBY7_js.DEFAULT_TABLE_COLUMNS, 100, 200),
6561
+ ...pptx.newTableElement(chunk43TOUP5U_js.DEFAULT_TABLE_ROWS, chunk43TOUP5U_js.DEFAULT_TABLE_COLUMNS, 100, 200),
6562
6562
  id: pptx.generateElementId()
6563
6563
  });
6564
6564
  };
@@ -6727,7 +6727,7 @@ function useGroupAlignLayerHandlers(input) {
6727
6727
  history
6728
6728
  } = input;
6729
6729
  const updateElementsOwning = (elementId, updater) => {
6730
- if (editTemplateMode && !chunk4MGJUBY7_js.isTemplateElementId(elementId)) {
6730
+ if (editTemplateMode && !chunk43TOUP5U_js.isTemplateElementId(elementId)) {
6731
6731
  ops.updateSlides(
6732
6732
  (prev) => prev.map(
6733
6733
  (slide, index) => index === activeSlideIndex ? { ...slide, elements: updater(slide.elements) } : slide
@@ -6761,9 +6761,9 @@ function useGroupAlignLayerHandlers(input) {
6761
6761
  return;
6762
6762
  }
6763
6763
  const group = selectedElement;
6764
- const intoTemplate = chunk4MGJUBY7_js.isTemplateElementId(group.id);
6764
+ const intoTemplate = chunk43TOUP5U_js.isTemplateElementId(group.id);
6765
6765
  const childIds = group.children.map(
6766
- (child) => intoTemplate ? chunk4MGJUBY7_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6766
+ (child) => intoTemplate ? chunk43TOUP5U_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6767
6767
  );
6768
6768
  const { elements, childIds: usedIds } = pptx.ungroupElements(
6769
6769
  ops.activeElements,
@@ -7095,7 +7095,7 @@ function useSlideManagement(input) {
7095
7095
  if (!src) {
7096
7096
  continue;
7097
7097
  }
7098
- const clone = { ...(0, chunk4MGJUBY7_js.dist_exports.duplicateSlide)(src, next.length + 1), id: pptx.makeSlideId() };
7098
+ const clone = { ...(0, chunk43TOUP5U_js.dist_exports.duplicateSlide)(src, next.length + 1), id: pptx.makeSlideId() };
7099
7099
  next.splice(i + offset + 1, 0, clone);
7100
7100
  offset++;
7101
7101
  }
@@ -7199,7 +7199,7 @@ function createTableMergeHandlers(input) {
7199
7199
  if (!nextCell || nextCell.hMerge || nextCell.vMerge) {
7200
7200
  return;
7201
7201
  }
7202
- const newTableData = chunk4MGJUBY7_js.mergeCells(
7202
+ const newTableData = chunk43TOUP5U_js.mergeCells(
7203
7203
  [
7204
7204
  { row: rowIndex, col: columnIndex },
7205
7205
  { row: rowIndex, col: nextColIdx }
@@ -7207,7 +7207,7 @@ function createTableMergeHandlers(input) {
7207
7207
  td
7208
7208
  );
7209
7209
  const updates = { tableData: newTableData };
7210
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7210
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7211
7211
  if (newRawXml) {
7212
7212
  updates.rawXml = newRawXml;
7213
7213
  }
@@ -7233,7 +7233,7 @@ function createTableMergeHandlers(input) {
7233
7233
  if (!targetNextCell || targetNextCell.hMerge || targetNextCell.vMerge) {
7234
7234
  return;
7235
7235
  }
7236
- const newTableData = chunk4MGJUBY7_js.mergeCells(
7236
+ const newTableData = chunk43TOUP5U_js.mergeCells(
7237
7237
  [
7238
7238
  { row: rowIndex, col: columnIndex },
7239
7239
  { row: targetNextRowIdx, col: columnIndex }
@@ -7241,7 +7241,7 @@ function createTableMergeHandlers(input) {
7241
7241
  td
7242
7242
  );
7243
7243
  const updates = { tableData: newTableData };
7244
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7244
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7245
7245
  if (newRawXml) {
7246
7246
  updates.rawXml = newRawXml;
7247
7247
  }
@@ -7256,9 +7256,9 @@ function createTableMergeHandlers(input) {
7256
7256
  return;
7257
7257
  }
7258
7258
  const td = selectedElement.tableData;
7259
- const newTableData = chunk4MGJUBY7_js.mergeCells(ts.selectedCells, td);
7259
+ const newTableData = chunk43TOUP5U_js.mergeCells(ts.selectedCells, td);
7260
7260
  const updates = { tableData: newTableData };
7261
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7261
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7262
7262
  if (newRawXml) {
7263
7263
  updates.rawXml = newRawXml;
7264
7264
  }
@@ -7275,9 +7275,9 @@ function createTableMergeHandlers(input) {
7275
7275
  }
7276
7276
  const { rowIndex, columnIndex } = ts;
7277
7277
  const td = selectedElement.tableData;
7278
- const newTableData = chunk4MGJUBY7_js.splitCell(rowIndex, columnIndex, td);
7278
+ const newTableData = chunk43TOUP5U_js.splitCell(rowIndex, columnIndex, td);
7279
7279
  const updates = { tableData: newTableData };
7280
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7280
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateMergeAttrsInRawXml)(selectedElement, newTableData);
7281
7281
  if (newRawXml) {
7282
7282
  updates.rawXml = newRawXml;
7283
7283
  }
@@ -7312,7 +7312,7 @@ function createTableStructHandlers(input) {
7312
7312
  updates.tableData = pptx.setCellText(el, rowIndex, colIndex, text).tableData;
7313
7313
  }
7314
7314
  if (el.rawXml) {
7315
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateCellTextInRawXml)(el, rowIndex, colIndex, text);
7315
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateCellTextInRawXml)(el, rowIndex, colIndex, text);
7316
7316
  if (newRawXml) {
7317
7317
  updates.rawXml = newRawXml;
7318
7318
  }
@@ -7336,7 +7336,7 @@ function createTableStructHandlers(input) {
7336
7336
  const { rowIndex, columnIndex: colIndex } = ts;
7337
7337
  const updates = {};
7338
7338
  if (selectedElement.rawXml) {
7339
- const newRawXml = (0, chunk4MGJUBY7_js.dist_exports.updateCellTextStyleInRawXml)(
7339
+ const newRawXml = (0, chunk43TOUP5U_js.dist_exports.updateCellTextStyleInRawXml)(
7340
7340
  selectedElement,
7341
7341
  rowIndex,
7342
7342
  colIndex,
@@ -7503,7 +7503,7 @@ function useExportSaveAs(input) {
7503
7503
  const sourceName = filePath ? filePath.replace(/\\/gu, "/").split("/").pop() : void 0;
7504
7504
  const slideSize = pptx.resolveSlideSizeSelection({ current: slideSizeEmu, canvas: canvasSize }).size;
7505
7505
  const data = {
7506
- slides: chunk4MGJUBY7_js.buildSaveSlides(slides, templateElementsBySlideId),
7506
+ slides: chunk43TOUP5U_js.buildSaveSlides(slides, templateElementsBySlideId),
7507
7507
  width: canvasSize.width,
7508
7508
  height: canvasSize.height,
7509
7509
  widthEmu: slideSize.widthEmu,
@@ -7661,7 +7661,7 @@ async function captureAllSlidesAsPngDataUrls(slideStageRef, totalSlides, setActi
7661
7661
  }
7662
7662
  function tilesToPdfPage(tilesResult) {
7663
7663
  return tilesResult.tiles.map((tile) => ({
7664
- image: chunk4MGJUBY7_js.canvasToJpegData(tile.canvas),
7664
+ image: chunk43TOUP5U_js.canvasToJpegData(tile.canvas),
7665
7665
  placement: pptx.placeTileOnPage(
7666
7666
  tile,
7667
7667
  tilesResult.fullWidth,
@@ -7694,7 +7694,7 @@ async function exportAllSlidesAsPdf(slideStageRef, totalSlides, setActiveSlide,
7694
7694
  if (pages.length === 0) {
7695
7695
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesPdf"]);
7696
7696
  }
7697
- const pdfBlobUrl = chunk4MGJUBY7_js.buildPdfFromTiledImageData(pages);
7697
+ const pdfBlobUrl = chunk43TOUP5U_js.buildPdfFromTiledImageData(pages);
7698
7698
  pptx.downloadDataUrl(pdfBlobUrl, filename);
7699
7699
  }
7700
7700
  async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, slideNotes, filename = "presentation-notes.pdf", options = {}) {
@@ -7724,7 +7724,7 @@ async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSl
7724
7724
  if (pages.length === 0) {
7725
7725
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesNotesPdf"]);
7726
7726
  }
7727
- const pdfDataUrl = chunk4MGJUBY7_js.buildNotesPdf(pages);
7727
+ const pdfDataUrl = chunk43TOUP5U_js.buildNotesPdf(pages);
7728
7728
  pptx.downloadDataUrl(pdfDataUrl, filename);
7729
7729
  }
7730
7730
  async function exportAllSlidesAsVideo(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, options = {}) {
@@ -7919,7 +7919,7 @@ function exportAllSlidesToSvg(data, options = {}) {
7919
7919
  continue;
7920
7920
  }
7921
7921
  onProgress?.(processedCount, data.slides.length);
7922
- let svg = chunk4MGJUBY7_js.dist_exports.SvgExporter.exportSlide(slide, data.width, data.height, svgOptions);
7922
+ let svg = chunk43TOUP5U_js.dist_exports.SvgExporter.exportSlide(slide, data.width, data.height, svgOptions);
7923
7923
  if (embedFonts && fontFaces?.length) {
7924
7924
  svg = injectFontFaces(svg, fontFaces);
7925
7925
  }
@@ -8508,10 +8508,10 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
8508
8508
  return;
8509
8509
  }
8510
8510
  await handler.applyTheme(colorScheme, fontScheme, name);
8511
- const previousMap = theme?.colorScheme ? (0, chunk4MGJUBY7_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8511
+ const previousMap = theme?.colorScheme ? (0, chunk43TOUP5U_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8512
8512
  bumpHistory();
8513
8513
  setSlides(
8514
- (slides) => (0, chunk4MGJUBY7_js.dist_exports.applyThemeToData)(
8514
+ (slides) => (0, chunk43TOUP5U_js.dist_exports.applyThemeToData)(
8515
8515
  { slides, theme, themeColorMap: previousMap },
8516
8516
  colorScheme,
8517
8517
  fontScheme,
@@ -8522,8 +8522,8 @@ async function applyThemeEditorEdit(input, { colorScheme, fontScheme, name }) {
8522
8522
  (prev) => Object.fromEntries(
8523
8523
  Object.entries(prev).map(([id, elements]) => [
8524
8524
  id,
8525
- (0, chunk4MGJUBY7_js.dist_exports.reResolveElementFonts)(
8526
- (0, chunk4MGJUBY7_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme),
8525
+ (0, chunk43TOUP5U_js.dist_exports.reResolveElementFonts)(
8526
+ (0, chunk43TOUP5U_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme),
8527
8527
  theme?.fontScheme,
8528
8528
  fontScheme
8529
8529
  )
@@ -8581,13 +8581,13 @@ function useThemeHandlers(input) {
8581
8581
  return;
8582
8582
  }
8583
8583
  await handler.updateThemeColorScheme(colorScheme);
8584
- const previousMap = theme?.colorScheme ? (0, chunk4MGJUBY7_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8585
- setSlides((prev) => (0, chunk4MGJUBY7_js.dist_exports.reResolveSlideColors)(prev, previousMap, colorScheme));
8584
+ const previousMap = theme?.colorScheme ? (0, chunk43TOUP5U_js.dist_exports.buildThemeColorMap)(theme.colorScheme) : {};
8585
+ setSlides((prev) => (0, chunk43TOUP5U_js.dist_exports.reResolveSlideColors)(prev, previousMap, colorScheme));
8586
8586
  if (Object.keys(templateElementsBySlideId).length > 0) {
8587
8587
  setTemplateElementsBySlideId((prev) => {
8588
8588
  const next = {};
8589
8589
  for (const [slideId, elements] of Object.entries(prev)) {
8590
- next[slideId] = (0, chunk4MGJUBY7_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme);
8590
+ next[slideId] = (0, chunk43TOUP5U_js.dist_exports.reResolveElementColors)(elements, previousMap, colorScheme);
8591
8591
  }
8592
8592
  return next;
8593
8593
  });
@@ -8698,7 +8698,7 @@ function useThemeSwitching(input) {
8698
8698
  }
8699
8699
  try {
8700
8700
  await handler.applyTheme(preset.colorScheme, preset.fontScheme, preset.name);
8701
- const newData = (0, chunk4MGJUBY7_js.dist_exports.applyThemeToData)(data, preset.colorScheme, preset.fontScheme, preset.name);
8701
+ const newData = (0, chunk43TOUP5U_js.dist_exports.applyThemeToData)(data, preset.colorScheme, preset.fontScheme, preset.name);
8702
8702
  onDataChange(newData);
8703
8703
  onThemeChanged?.(preset);
8704
8704
  } catch (error) {
@@ -8715,7 +8715,7 @@ function useThemeSwitching(input) {
8715
8715
  }
8716
8716
  try {
8717
8717
  await handler.applyTheme(colorScheme, fontScheme ?? {}, themeName);
8718
- const newData = (0, chunk4MGJUBY7_js.dist_exports.applyThemeToData)(data, colorScheme, fontScheme, themeName);
8718
+ const newData = (0, chunk43TOUP5U_js.dist_exports.applyThemeToData)(data, colorScheme, fontScheme, themeName);
8719
8719
  onDataChange(newData);
8720
8720
  } catch (error) {
8721
8721
  console.error("Failed to switch to custom theme:", error);
@@ -8727,12 +8727,12 @@ function useThemeSwitching(input) {
8727
8727
  if (!data?.theme?.colorScheme) {
8728
8728
  return void 0;
8729
8729
  }
8730
- return chunk4MGJUBY7_js.dist_exports.THEME_PRESETS.find(
8731
- (p) => (0, chunk4MGJUBY7_js.dist_exports.themeColorSchemesEqual)(data.theme?.colorScheme, p.colorScheme)
8730
+ return chunk43TOUP5U_js.dist_exports.THEME_PRESETS.find(
8731
+ (p) => (0, chunk43TOUP5U_js.dist_exports.themeColorSchemesEqual)(data.theme?.colorScheme, p.colorScheme)
8732
8732
  );
8733
8733
  }, [data?.theme?.colorScheme]);
8734
8734
  return {
8735
- presets: chunk4MGJUBY7_js.dist_exports.THEME_PRESETS,
8735
+ presets: chunk43TOUP5U_js.dist_exports.THEME_PRESETS,
8736
8736
  switchToPreset,
8737
8737
  switchToCustom,
8738
8738
  currentPreset
@@ -8809,7 +8809,7 @@ function usePropertyHandlers(input) {
8809
8809
  }
8810
8810
  try {
8811
8811
  const ab = await file.arrayBuffer();
8812
- const h = new chunk4MGJUBY7_js.dist_exports.PptxHandler();
8812
+ const h = new chunk43TOUP5U_js.dist_exports.PptxHandler();
8813
8813
  const other = await h.load(ab);
8814
8814
  if (!other) {
8815
8815
  return;
@@ -8819,7 +8819,7 @@ function usePropertyHandlers(input) {
8819
8819
  width: canvasSize.width,
8820
8820
  height: canvasSize.height
8821
8821
  };
8822
- setCompareResult(chunk4MGJUBY7_js.comparePresentation(cur, other));
8822
+ setCompareResult(chunk43TOUP5U_js.comparePresentation(cur, other));
8823
8823
  setIsComparePanelOpen(true);
8824
8824
  } catch (err) {
8825
8825
  console.warn("Compare failed:", err);
@@ -9172,7 +9172,7 @@ function useViewerDialogs(input) {
9172
9172
  };
9173
9173
  }
9174
9174
  function computeGridSpacingPx(documentGridSpacing) {
9175
- return pptx.computeGridSpacingPx(documentGridSpacing, chunk4MGJUBY7_js.GRID_SIZE);
9175
+ return pptx.computeGridSpacingPx(documentGridSpacing, chunk43TOUP5U_js.GRID_SIZE);
9176
9176
  }
9177
9177
  function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, presentationProperties) {
9178
9178
  const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
@@ -9181,7 +9181,7 @@ function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, pre
9181
9181
  }
9182
9182
  function computeSlideSectionGroups(slides, sections) {
9183
9183
  return pptx.groupSlidesBySection(sections, slides).map((group) => ({
9184
- id: group.section?.id ?? (sections.length > 0 ? chunk4MGJUBY7_js.UNGROUPED_SECTION_ID : chunk4MGJUBY7_js.DEFAULT_SECTION_GROUP_ID),
9184
+ id: group.section?.id ?? (sections.length > 0 ? chunk43TOUP5U_js.UNGROUPED_SECTION_ID : chunk43TOUP5U_js.DEFAULT_SECTION_GROUP_ID),
9185
9185
  label: group.section?.name ?? (sections.length > 0 ? "Ungrouped Slides" : "Slides"),
9186
9186
  slideIndexes: group.slideIndexes,
9187
9187
  ...group.section?.color !== void 0 ? { color: group.section.color } : {},
@@ -9226,10 +9226,10 @@ function useDerivedSlideState(input) {
9226
9226
  );
9227
9227
  const slideSectionGroups = React17.useMemo(
9228
9228
  () => computeSlideSectionGroups(slides, sections).map((group) => {
9229
- if (group.id === chunk4MGJUBY7_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9229
+ if (group.id === chunk43TOUP5U_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9230
9230
  return { ...group, label: t("pptx.slides.ungroupedSlides") };
9231
9231
  }
9232
- if (group.id === chunk4MGJUBY7_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9232
+ if (group.id === chunk43TOUP5U_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9233
9233
  return { ...group, label: t("pptx.sections.slides") };
9234
9234
  }
9235
9235
  return group;
@@ -9336,7 +9336,7 @@ function useAnnotationHandlers(input) {
9336
9336
  if (nextMode === "present") {
9337
9337
  presentation.enterPresentMode();
9338
9338
  } else if (mode === "present" && annotations.hasAnyAnnotations) {
9339
- chunk4MGJUBY7_js.stopAllPersistentAudio();
9339
+ chunk43TOUP5U_js.stopAllPersistentAudio();
9340
9340
  if (promptKeepInkAnnotations) {
9341
9341
  pendingModeAfterAnnotationsRef.current = nextMode;
9342
9342
  setShowKeepAnnotationsDialog(true);
@@ -9346,7 +9346,7 @@ function useAnnotationHandlers(input) {
9346
9346
  }
9347
9347
  } else {
9348
9348
  if (mode === "present") {
9349
- chunk4MGJUBY7_js.stopAllPersistentAudio();
9349
+ chunk43TOUP5U_js.stopAllPersistentAudio();
9350
9350
  }
9351
9351
  setMode(nextMode);
9352
9352
  }
@@ -9417,7 +9417,7 @@ function overlayPendingInlineEdit(document2, elementId, text, snapshot, transfor
9417
9417
  (slide) => !elementId ? slide : {
9418
9418
  ...slide,
9419
9419
  elements: slide.elements.map(
9420
- (element) => element.id === elementId && (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element) ? {
9420
+ (element) => element.id === elementId && (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element) ? {
9421
9421
  ...element,
9422
9422
  text,
9423
9423
  textSegments: pptx.remapTextToSegments(
@@ -9505,14 +9505,14 @@ function useSerialize(input) {
9505
9505
  const pptxGuides = guides.map((g) => ({
9506
9506
  id: g.id,
9507
9507
  orientation: g.axis === "h" ? "horz" : "vert",
9508
- positionEmu: (0, chunk4MGJUBY7_js.dist_exports.guidePxToEmu)(g.position)
9508
+ positionEmu: (0, chunk43TOUP5U_js.dist_exports.guidePxToEmu)(g.position)
9509
9509
  }));
9510
9510
  return {
9511
9511
  ...slide,
9512
9512
  guides: pptxGuides.length > 0 ? pptxGuides : void 0
9513
9513
  };
9514
9514
  });
9515
- const slidesToSave = chunk4MGJUBY7_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9515
+ const slidesToSave = chunk43TOUP5U_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9516
9516
  const saveOptions = pptx.buildDeckSaveOptions({
9517
9517
  // Without this the Slide Size card edited a viewer-only pixel value and
9518
9518
  // the saved `p:sldSz` never moved: passing `slideSize` is the only way a
@@ -9693,7 +9693,7 @@ function usePresentationSetup(input) {
9693
9693
  return;
9694
9694
  }
9695
9695
  if (mode === "present" && nextMode !== "present") {
9696
- chunk4MGJUBY7_js.stopAllPersistentAudio();
9696
+ chunk43TOUP5U_js.stopAllPersistentAudio();
9697
9697
  stopAnimationSound();
9698
9698
  const exitHandler = exitModeHandlerRef.current;
9699
9699
  if (exitHandler) {
@@ -9814,12 +9814,12 @@ function useCanvasImagePaste(input) {
9814
9814
  );
9815
9815
  }
9816
9816
  function formatPatchFor(element, format) {
9817
- const updated = chunk4MGJUBY7_js.applyFormatToElement(element, format);
9817
+ const updated = chunk43TOUP5U_js.applyFormatToElement(element, format);
9818
9818
  const updates = {};
9819
- if ((0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(updated)) {
9819
+ if ((0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(updated)) {
9820
9820
  updates.shapeStyle = updated.shapeStyle;
9821
9821
  }
9822
- if ((0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(updated)) {
9822
+ if ((0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(updated)) {
9823
9823
  updates.textStyle = updated.textStyle;
9824
9824
  }
9825
9825
  return updates;
@@ -9837,7 +9837,7 @@ function useFormatPainterEditing(input) {
9837
9837
  const prevFormatPainterRef = React17.useRef(false);
9838
9838
  React17.useEffect(() => {
9839
9839
  if (formatPainterActive && !prevFormatPainterRef.current && selectedElement) {
9840
- copiedFormatRef.current = chunk4MGJUBY7_js.copyFormatFromElement(selectedElement);
9840
+ copiedFormatRef.current = chunk43TOUP5U_js.copyFormatFromElement(selectedElement);
9841
9841
  } else if (!formatPainterActive) {
9842
9842
  copiedFormatRef.current = null;
9843
9843
  }
@@ -10927,7 +10927,7 @@ function useKeyboardShortcutWiring(input) {
10927
10927
  }
10928
10928
  function stepSelectedFontSize(state, ops, direction) {
10929
10929
  const selected = state.selectedElement;
10930
- const currentPx = (selected && (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(selected) ? selected.textStyle?.fontSize : void 0) ?? pptx.textFontSizePtToPx(18);
10930
+ const currentPx = (selected && (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(selected) ? selected.textStyle?.fontSize : void 0) ?? pptx.textFontSizePtToPx(18);
10931
10931
  const nextPt = pptx.stepFontSizePt(pptx.textFontSizePxToPt(currentPx), direction);
10932
10932
  ops.updateSelectedTextStyle({ fontSize: pptx.textFontSizePtToPx(nextPt) });
10933
10933
  }
@@ -11478,7 +11478,7 @@ function useCollaborationWriteBack(input) {
11478
11478
  getSourceBytes: () => latest.current.getSourceBytes?.() ?? null,
11479
11479
  getSaveOptions: () => latest.current.getSaveOptions?.(),
11480
11480
  getTemplateElements: () => latest.current.templateElementsBySlideId,
11481
- mergeTemplateElements: chunk4MGJUBY7_js.buildSaveSlides
11481
+ mergeTemplateElements: chunk43TOUP5U_js.buildSaveSlides
11482
11482
  }),
11483
11483
  [latest]
11484
11484
  );
@@ -12031,8 +12031,8 @@ function useTouchGestures(input) {
12031
12031
  }
12032
12032
  const recognizer = pptx.createTouchGestureRecognizer({
12033
12033
  getScale: () => scaleRef.current,
12034
- minScale: chunk4MGJUBY7_js.MIN_ZOOM_SCALE,
12035
- maxScale: chunk4MGJUBY7_js.MAX_ZOOM_SCALE,
12034
+ minScale: chunk43TOUP5U_js.MIN_ZOOM_SCALE,
12035
+ maxScale: chunk43TOUP5U_js.MAX_ZOOM_SCALE,
12036
12036
  callbacks: {
12037
12037
  onPinchZoom: (newScale) => callbacksRef.current.onPinchZoom?.(newScale),
12038
12038
  onSwipe: (direction) => callbacksRef.current.onSwipe?.(direction),
@@ -12156,7 +12156,7 @@ function buildCanvasProps(input) {
12156
12156
  if (pptx.shouldConfirmExternalHyperlink(viewerOptions, url) && !window.confirm(buildHyperlinkConfirmMessage(url))) {
12157
12157
  return;
12158
12158
  }
12159
- chunk4MGJUBY7_js.safeOpenUrl(url, target);
12159
+ chunk43TOUP5U_js.safeOpenUrl(url, target);
12160
12160
  };
12161
12161
  const handleActionClick = (elementId, action) => {
12162
12162
  if (mode === "present") {
@@ -12171,9 +12171,9 @@ function buildCanvasProps(input) {
12171
12171
  }
12172
12172
  };
12173
12173
  const handleHyperlinkClick = (url, target) => {
12174
- if (chunk4MGJUBY7_js.isPpactionUrl(url)) {
12174
+ if (chunk43TOUP5U_js.isPpactionUrl(url)) {
12175
12175
  if (mode === "present") {
12176
- const parsed = chunk4MGJUBY7_js.parsePpactionUrl(url);
12176
+ const parsed = chunk43TOUP5U_js.parsePpactionUrl(url);
12177
12177
  if (parsed) {
12178
12178
  presentation.handlePresentationAction({
12179
12179
  action: parsed.action,
@@ -12566,7 +12566,7 @@ function buildToolbarProps(input) {
12566
12566
  isCommentsPanelOpen: s.isInspectorPaneOpen,
12567
12567
  slideCommentCount: activeSlide?.comments?.length ?? 0,
12568
12568
  formatPainterActive: s.formatPainterActive,
12569
- canActivateFormatPainter: chunk4MGJUBY7_js.hasCopyableFormat(selectedElement),
12569
+ canActivateFormatPainter: chunk43TOUP5U_js.hasCopyableFormat(selectedElement),
12570
12570
  onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
12571
12571
  isSelectionPaneOpen: s.isSelectionPaneOpen,
12572
12572
  onToggleSelectionPane: () => s.setIsSelectionPaneOpen((p) => !p),
@@ -12889,7 +12889,7 @@ function useViewerBuildingBlocksCore(input) {
12889
12889
  documentGridSpacing: state.viewProperties?.gridSpacing
12890
12890
  });
12891
12891
  const themeColorMap = React17.useMemo(
12892
- () => state.theme?.colorScheme ? (0, chunk4MGJUBY7_js.dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
12892
+ () => state.theme?.colorScheme ? (0, chunk43TOUP5U_js.dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
12893
12893
  [state.theme?.colorScheme]
12894
12894
  );
12895
12895
  const { presentation, annotations, actionSoundHandlerRef, setExitModeHandler } = usePresentationSetup({
@@ -13464,23 +13464,23 @@ function ColorChangedImage({
13464
13464
  className,
13465
13465
  alt
13466
13466
  }) {
13467
- const tolerance = tolerancePct ?? chunk4MGJUBY7_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13468
- const cacheKey = chunk4MGJUBY7_js.buildCacheKey(
13467
+ const tolerance = tolerancePct ?? chunk43TOUP5U_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13468
+ const cacheKey = chunk43TOUP5U_js.buildCacheKey(
13469
13469
  src,
13470
13470
  clrChange.clrFrom,
13471
13471
  clrChange.clrTo,
13472
13472
  tolerance,
13473
13473
  Boolean(clrChange.clrToTransparent)
13474
13474
  );
13475
- const cached = chunk4MGJUBY7_js.getCachedResult(cacheKey);
13475
+ const cached = chunk43TOUP5U_js.getCachedResult(cacheKey);
13476
13476
  const [processedSrc, setProcessedSrc] = React17.useState(cached ?? null);
13477
13477
  React17.useEffect(() => {
13478
- if (chunk4MGJUBY7_js.getCachedResult(cacheKey)) {
13479
- setProcessedSrc(chunk4MGJUBY7_js.getCachedResult(cacheKey) ?? null);
13478
+ if (chunk43TOUP5U_js.getCachedResult(cacheKey)) {
13479
+ setProcessedSrc(chunk43TOUP5U_js.getCachedResult(cacheKey) ?? null);
13480
13480
  return;
13481
13481
  }
13482
13482
  let cancelled = false;
13483
- chunk4MGJUBY7_js.applyColorChange(
13483
+ chunk43TOUP5U_js.applyColorChange(
13484
13484
  src,
13485
13485
  clrChange.clrFrom,
13486
13486
  clrChange.clrTo,
@@ -13488,7 +13488,7 @@ function ColorChangedImage({
13488
13488
  Boolean(clrChange.clrToTransparent)
13489
13489
  ).then((result) => {
13490
13490
  if (!cancelled) {
13491
- chunk4MGJUBY7_js.setCachedResult(cacheKey, result.dataUrl);
13491
+ chunk43TOUP5U_js.setCachedResult(cacheKey, result.dataUrl);
13492
13492
  setProcessedSrc(result.dataUrl);
13493
13493
  }
13494
13494
  return void 0;
@@ -13580,7 +13580,7 @@ function TiledImageLayer({
13580
13580
  cancelled = true;
13581
13581
  };
13582
13582
  }, [src]);
13583
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunk4MGJUBY7_js.getImageTilingStyle(element, nativeSize), ...style } });
13583
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunk43TOUP5U_js.getImageTilingStyle(element, nativeSize), ...style } });
13584
13584
  }
13585
13585
  function renderImageEffectDefinitions(element, excludeDuotone = false) {
13586
13586
  return pptx.getImageSvgFilters(element).filter((definition) => !excludeDuotone || definition.id !== `duotone-${element.id}`).map((definition) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -13649,7 +13649,7 @@ function renderImg(el, style, filter, alt, opacity) {
13649
13649
  ...filter ? { filter } : {},
13650
13650
  ...opacity !== void 0 ? { opacity } : {}
13651
13651
  };
13652
- if (chunk4MGJUBY7_js.isImageTiled(el)) {
13652
+ if (chunk43TOUP5U_js.isImageTiled(el)) {
13653
13653
  const tileSrc = imgSrc(el);
13654
13654
  if (!tileSrc) {
13655
13655
  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" });
@@ -13668,12 +13668,12 @@ function renderImg(el, style, filter, alt, opacity) {
13668
13668
  ] });
13669
13669
  }
13670
13670
  const colorWash = pptx.getImageColorWashStyle(
13671
- (0, chunk4MGJUBY7_js.dist_exports.isImageLikeElement)(el) ? el.imageEffects?.colorWash : void 0
13671
+ (0, chunk43TOUP5U_js.dist_exports.isImageLikeElement)(el) ? el.imageEffects?.colorWash : void 0
13672
13672
  );
13673
13673
  const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
13674
- const duotoneColors = chunk4MGJUBY7_js.getDuotoneColors(el);
13674
+ const duotoneColors = chunk43TOUP5U_js.getDuotoneColors(el);
13675
13675
  const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
13676
- const filterForImg = useDuotoneCanvas ? chunk4MGJUBY7_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13676
+ const filterForImg = useDuotoneCanvas ? chunk43TOUP5U_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13677
13677
  const canvasEffectStyles = {
13678
13678
  ...filterForImg ? { filter: filterForImg } : {},
13679
13679
  ...opacity !== void 0 ? { opacity } : {}
@@ -13749,10 +13749,10 @@ function SlideBackgroundImageLayer({
13749
13749
  style: { zIndex: 0 },
13750
13750
  children: renderImg(
13751
13751
  backgroundElement,
13752
- chunk4MGJUBY7_js.getImageRenderStyle(backgroundElement),
13753
- chunk4MGJUBY7_js.getImageEffectsFilter(backgroundElement),
13752
+ chunk43TOUP5U_js.getImageRenderStyle(backgroundElement),
13753
+ chunk43TOUP5U_js.getImageEffectsFilter(backgroundElement),
13754
13754
  "",
13755
- chunk4MGJUBY7_js.getImageEffectsOpacity(backgroundElement)
13755
+ chunk43TOUP5U_js.getImageEffectsOpacity(backgroundElement)
13756
13756
  )
13757
13757
  }
13758
13758
  );
@@ -14023,7 +14023,7 @@ function ChartElementView({
14023
14023
  pptx.getBarFacePicturePixelSampleVersion
14024
14024
  );
14025
14025
  const viewModel = React17.useMemo(() => {
14026
- return canEdit ? chunk4MGJUBY7_js.buildReactChartViewModel(element) : null;
14026
+ return canEdit ? chunk43TOUP5U_js.buildReactChartViewModel(element) : null;
14027
14027
  }, [canEdit, element, barFacePictureSampleVersion]);
14028
14028
  React17.useEffect(pptx.ensureChartInteractionStyles, []);
14029
14029
  React17.useEffect(() => {
@@ -14108,9 +14108,9 @@ function ChartElementView({
14108
14108
  textStyle: animationState?.textStyle,
14109
14109
  onSelect: chart3D.onSelect,
14110
14110
  onDrag: chart3D.onDrag,
14111
- children: chunk4MGJUBY7_js.renderChartElement(renderedElement)
14111
+ children: chunk43TOUP5U_js.renderChartElement(renderedElement)
14112
14112
  }
14113
- ) : chunk4MGJUBY7_js.renderChartElement(renderedElement),
14113
+ ) : chunk43TOUP5U_js.renderChartElement(renderedElement),
14114
14114
  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) }),
14115
14115
  titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
14116
14116
  "input",
@@ -14440,7 +14440,7 @@ function ResizeHandles({
14440
14440
  "aria-label": t("pptx.selectionOverlay.resize", { handle }),
14441
14441
  "data-pptx-handle-kind": "resize",
14442
14442
  "data-pptx-compact": true,
14443
- className: chunk4MGJUBY7_js.cn(
14443
+ className: chunk43TOUP5U_js.cn(
14444
14444
  "absolute z-10 group border-0 bg-transparent p-0",
14445
14445
  RESIZE_DEFAULT_CLASSES,
14446
14446
  posClass,
@@ -14466,7 +14466,7 @@ function ResizeHandles({
14466
14466
  "div",
14467
14467
  {
14468
14468
  "data-pptx-handle-hit": true,
14469
- className: chunk4MGJUBY7_js.cn(
14469
+ className: chunk43TOUP5U_js.cn(
14470
14470
  "absolute -inset-px pointer-events-auto [--pptx-handle-hit-inset:-1px]",
14471
14471
  corner ? "max-md:-inset-1.5 max-md:[--pptx-handle-hit-inset:-6px]" : "max-md:-inset-2 max-md:[--pptx-handle-hit-inset:-8px]"
14472
14472
  ),
@@ -14487,7 +14487,7 @@ function ResizeHandles({
14487
14487
  "aria-label": t("pptx.selectionOverlay.rotate"),
14488
14488
  "data-pptx-handle-kind": "rotate",
14489
14489
  "data-pptx-compact": true,
14490
- className: chunk4MGJUBY7_js.cn(
14490
+ className: chunk43TOUP5U_js.cn(
14491
14491
  "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",
14492
14492
  ROTATE_DEFAULT_CLASSES
14493
14493
  ),
@@ -14557,17 +14557,17 @@ var ConnectorElementRenderer = React17__default.default.memo(
14557
14557
  animationState,
14558
14558
  textStyleOverrideCss
14559
14559
  }) {
14560
- const shapeEl = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(el) ? el : void 0;
14560
+ const shapeEl = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(el) ? el : void 0;
14561
14561
  const viewWidth = Math.max(el.width, 0);
14562
14562
  const viewHeight = Math.max(el.height, 0);
14563
14563
  const svgWidth = Math.max(el.width, 1);
14564
14564
  const svgHeight = Math.max(el.height, 1);
14565
14565
  const ss = shapeEl?.shapeStyle;
14566
14566
  const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
14567
- const strokeColor = chunk4MGJUBY7_js.normalizeHexColor(ss?.strokeColor, chunk4MGJUBY7_js.DEFAULT_STROKE_COLOR);
14568
- const strokePaint = chunk4MGJUBY7_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14569
- const dashType = chunk4MGJUBY7_js.normalizeStrokeDashType(ss?.strokeDash);
14570
- const dashArray = chunk4MGJUBY7_js.getSvgStrokeDasharray(
14567
+ const strokeColor = chunk43TOUP5U_js.normalizeHexColor(ss?.strokeColor, chunk43TOUP5U_js.DEFAULT_STROKE_COLOR);
14568
+ const strokePaint = chunk43TOUP5U_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14569
+ const dashType = chunk43TOUP5U_js.normalizeStrokeDashType(ss?.strokeDash);
14570
+ const dashArray = chunk43TOUP5U_js.getSvgStrokeDasharray(
14571
14571
  dashType,
14572
14572
  Math.max(strokeWidth, 1),
14573
14573
  ss?.customDashSegments
@@ -14578,14 +14578,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
14578
14578
  const markerSeed = el.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
14579
14579
  const startMarkerId = `${markerSeed}-sel-start`;
14580
14580
  const endMarkerId = `${markerSeed}-sel-end`;
14581
- const compoundOffsets = chunk4MGJUBY7_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14582
- const compoundWidths = chunk4MGJUBY7_js.getCompoundLineWidths(compoundLine, strokeWidth);
14581
+ const compoundOffsets = chunk43TOUP5U_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14582
+ const compoundWidths = chunk43TOUP5U_js.getCompoundLineWidths(compoundLine, strokeWidth);
14583
14583
  const strokeCap = pptx.svgLineCap(ss?.lineCap);
14584
- const textEl = (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) ? el : void 0;
14584
+ const textEl = (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) ? el : void 0;
14585
14585
  const connectorText = textEl?.text?.trim() ?? "";
14586
14586
  const connectorTextSegments = textEl?.textSegments;
14587
14587
  const connectorTextStyle = textEl?.textStyle;
14588
- const pathGeometry = shapeEl ? chunk4MGJUBY7_js.getConnectorPathGeometry(shapeEl) : {
14588
+ const pathGeometry = shapeEl ? chunk43TOUP5U_js.getConnectorPathGeometry(shapeEl) : {
14589
14589
  pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
14590
14590
  startX: 0,
14591
14591
  startY: 0,
@@ -14594,16 +14594,16 @@ var ConnectorElementRenderer = React17__default.default.memo(
14594
14594
  };
14595
14595
  const hitTargetWidth = Math.max(strokeWidth * 3, 14);
14596
14596
  const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
14597
- const lineShadow = chunk4MGJUBY7_js.buildLineShadowCss(el);
14598
- const lineGlow = chunk4MGJUBY7_js.buildLineGlowFilter(el);
14597
+ const lineShadow = chunk43TOUP5U_js.buildLineShadowCss(el);
14598
+ const lineGlow = chunk43TOUP5U_js.buildLineGlowFilter(el);
14599
14599
  return /* @__PURE__ */ jsxRuntime.jsxs(
14600
14600
  "div",
14601
14601
  {
14602
14602
  "data-pptx-element": "true",
14603
14603
  "data-element-id": el.id,
14604
- role: chunk4MGJUBY7_js.getAriaRole(el, { actionable: false }),
14605
- "aria-label": chunk4MGJUBY7_js.getAriaLabel(el),
14606
- "aria-roledescription": chunk4MGJUBY7_js.getAriaRoleDescription(el),
14604
+ role: chunk43TOUP5U_js.getAriaRole(el, { actionable: false }),
14605
+ "aria-label": chunk43TOUP5U_js.getAriaLabel(el),
14606
+ "aria-roledescription": chunk43TOUP5U_js.getAriaRoleDescription(el),
14607
14607
  "aria-selected": isSelected ? true : void 0,
14608
14608
  className: "absolute",
14609
14609
  style: {
@@ -14636,14 +14636,14 @@ var ConnectorElementRenderer = React17__default.default.memo(
14636
14636
  style: { overflow: "visible", pointerEvents: "none" },
14637
14637
  children: [
14638
14638
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
14639
- chunk4MGJUBY7_js.renderConnectorMarker(
14639
+ chunk43TOUP5U_js.renderConnectorMarker(
14640
14640
  startMarkerId,
14641
14641
  startArrow,
14642
14642
  strokePaint,
14643
14643
  ss?.connectorStartArrowWidth,
14644
14644
  ss?.connectorStartArrowLength
14645
14645
  ),
14646
- chunk4MGJUBY7_js.renderConnectorMarker(
14646
+ chunk43TOUP5U_js.renderConnectorMarker(
14647
14647
  endMarkerId,
14648
14648
  endArrow,
14649
14649
  strokePaint,
@@ -14849,14 +14849,14 @@ function getElementInteractionProps({
14849
14849
  };
14850
14850
  }
14851
14851
  function renderDagDuotoneFilterForElement(el) {
14852
- if (!chunk4MGJUBY7_js.hasDagDuotoneEffect(el)) {
14852
+ if (!chunk43TOUP5U_js.hasDagDuotoneEffect(el)) {
14853
14853
  return null;
14854
14854
  }
14855
14855
  const duotone = el.shapeStyle?.dagDuotone;
14856
14856
  if (!duotone) {
14857
14857
  return null;
14858
14858
  }
14859
- return chunk4MGJUBY7_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14859
+ return chunk43TOUP5U_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14860
14860
  }
14861
14861
  function getContainerStyle({
14862
14862
  el,
@@ -14869,7 +14869,7 @@ function getContainerStyle({
14869
14869
  has3DExtrusion,
14870
14870
  templateEditing
14871
14871
  }) {
14872
- const ss = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
14872
+ const ss = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
14873
14873
  const isPicture = el.type === "picture" || el.type === "image";
14874
14874
  const blurGrowVisible = Boolean(
14875
14875
  ss?.blurGrow && typeof ss.blurRadius === "number" && ss.blurRadius > 0
@@ -14883,10 +14883,10 @@ function getContainerStyle({
14883
14883
  top: isFullscreenMedia ? fs.top : el.y,
14884
14884
  width: isFullscreenMedia ? fs.width : painted.width,
14885
14885
  ...heightStyle,
14886
- transform: isFullscreenMedia ? fs.transform : chunk4MGJUBY7_js.getElementTransform(el),
14886
+ transform: isFullscreenMedia ? fs.transform : chunk43TOUP5U_js.getElementTransform(el),
14887
14887
  transformOrigin: "center",
14888
14888
  overflow: overflowValue,
14889
- clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunk4MGJUBY7_js.getCropShapeClipPath(el) : void 0,
14889
+ clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunk43TOUP5U_js.getCropShapeClipPath(el) : void 0,
14890
14890
  zIndex: isFullscreenMedia ? fs.zIndex : zIndex,
14891
14891
  visibility: animationState?.visible === false ? "hidden" : "visible",
14892
14892
  animation: animationState?.cssAnimation,
@@ -14921,11 +14921,11 @@ function getContainerStyle({
14921
14921
  };
14922
14922
  }
14923
14923
  function shapeParams(element) {
14924
- const style = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
14924
+ const style = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
14925
14925
  const strokeWidth = pptx.paintedStrokeWidth(style);
14926
- const strokeColor = chunk4MGJUBY7_js.normalizeHexColor(style?.strokeColor, chunk4MGJUBY7_js.DEFAULT_STROKE_COLOR);
14927
- const fillColor = chunk4MGJUBY7_js.normalizeHexColor(style?.fillColor, chunk4MGJUBY7_js.DEFAULT_FILL_COLOR);
14928
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk4MGJUBY7_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14926
+ const strokeColor = chunk43TOUP5U_js.normalizeHexColor(style?.strokeColor, chunk43TOUP5U_js.DEFAULT_STROKE_COLOR);
14927
+ const fillColor = chunk43TOUP5U_js.normalizeHexColor(style?.fillColor, chunk43TOUP5U_js.DEFAULT_FILL_COLOR);
14928
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk43TOUP5U_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14929
14929
  return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
14930
14930
  }
14931
14931
  var Extrusion3DOverlay = React17__default.default.memo(
@@ -15030,7 +15030,7 @@ function ShapeEffectOverlay({
15030
15030
  const fillOverlayStyle = overlay ? {
15031
15031
  position: "absolute",
15032
15032
  inset: 0,
15033
- ...(0, chunk4MGJUBY7_js.dist_exports.isImageLikeElement)(element) ? chunk4MGJUBY7_js.getImageSurfaceMaskStyle(element) : {},
15033
+ ...(0, chunk43TOUP5U_js.dist_exports.isImageLikeElement)(element) ? chunk43TOUP5U_js.getImageSurfaceMaskStyle(element) : {},
15034
15034
  background: overlay.color,
15035
15035
  mixBlendMode: overlay.blendMode,
15036
15036
  pointerEvents: "none"
@@ -15234,10 +15234,10 @@ var ElementRenderer = React17__default.default.memo(
15234
15234
  const backgroundAnimationState = pptx.getBackgroundAnimationState(el, presentationElementStates);
15235
15235
  const effectPlacement = pptx.getShapeEffectLayerPlacement(el);
15236
15236
  const visualAnimationState = backgroundAnimationState ?? animationState;
15237
- const isTxt = chunk4MGJUBY7_js.isEditableTextElement(el) && allow.textEditable;
15238
- const txtSE = (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) ? el.textStyle : void 0;
15237
+ const isTxt = chunk43TOUP5U_js.isEditableTextElement(el) && allow.textEditable;
15238
+ const txtSE = (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) ? el.textStyle : void 0;
15239
15239
  const textStyleOverrideCss = pptx.buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
15240
- const ss = chunk4MGJUBY7_js.getShapeVisualStyle(
15240
+ const ss = chunk43TOUP5U_js.getShapeVisualStyle(
15241
15241
  el,
15242
15242
  hf,
15243
15243
  fc,
@@ -15246,9 +15246,9 @@ var ElementRenderer = React17__default.default.memo(
15246
15246
  visualAnimationState?.animatesFill,
15247
15247
  visualAnimationState?.animatesStroke
15248
15248
  );
15249
- const ts = chunk4MGJUBY7_js.getTextStyleForElement(el, chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR);
15249
+ const ts = chunk43TOUP5U_js.getTextStyleForElement(el, chunk43TOUP5U_js.DEFAULT_TEXT_COLOR);
15250
15250
  const isImg = el.type === "picture" || el.type === "image";
15251
- const vs = chunk4MGJUBY7_js.renderVectorShape(
15251
+ const vs = chunk43TOUP5U_js.renderVectorShape(
15252
15252
  el,
15253
15253
  isImg ? false : hf,
15254
15254
  fc,
@@ -15258,10 +15258,10 @@ var ElementRenderer = React17__default.default.memo(
15258
15258
  visualAnimationState?.animatesStroke
15259
15259
  );
15260
15260
  const isModel3D = el.type === "model3d";
15261
- const isConn = chunk4MGJUBY7_js.isConnectorOrLineElement(el);
15262
- const shapeStyle3d = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
15261
+ const isConn = chunk43TOUP5U_js.isConnectorOrLineElement(el);
15262
+ const shapeStyle3d = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(el) ? el.shapeStyle : void 0;
15263
15263
  const extrusionData = React17.useMemo(
15264
- () => chunk4MGJUBY7_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15264
+ () => chunk43TOUP5U_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15265
15265
  [shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
15266
15266
  );
15267
15267
  const actionAffordance = useActionAffordance(el, canInteract);
@@ -15351,7 +15351,7 @@ var ElementRenderer = React17__default.default.memo(
15351
15351
  "aria-hidden": aria.hidden ? true : void 0,
15352
15352
  "aria-selected": isSelected ? true : void 0,
15353
15353
  tabIndex: isFocusable ? 0 : -1,
15354
- className: chunk4MGJUBY7_js.cn(
15354
+ className: chunk43TOUP5U_js.cn(
15355
15355
  "absolute",
15356
15356
  "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
15357
15357
  cur,
@@ -15424,9 +15424,9 @@ var ElementRenderer = React17__default.default.memo(
15424
15424
  txtSE,
15425
15425
  txtS: ts,
15426
15426
  vecShape: backgroundAnimationState && !isImg ? null : vs,
15427
- imgStyle: chunk4MGJUBY7_js.getImageRenderStyle(el),
15428
- imgFilter: chunk4MGJUBY7_js.getImageEffectsFilter(el),
15429
- imgOpacity: chunk4MGJUBY7_js.getImageEffectsOpacity(el),
15427
+ imgStyle: chunk43TOUP5U_js.getImageRenderStyle(el),
15428
+ imgFilter: chunk43TOUP5U_js.getImageEffectsFilter(el),
15429
+ imgOpacity: chunk43TOUP5U_js.getImageEffectsOpacity(el),
15430
15430
  imgAlt: imageAltText,
15431
15431
  isTxtEl: isTxt,
15432
15432
  media: mediaDataUrls,
@@ -15563,10 +15563,10 @@ function renderStrokeView(view, pressureSensitive, replayStyle, key) {
15563
15563
  }
15564
15564
  function renderInk(el, options) {
15565
15565
  const replay = options?.replay ?? false;
15566
- const strokes = chunk4MGJUBY7_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15566
+ const strokes = chunk43TOUP5U_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15567
15567
  strokes.some((s) => s.circles || s.nibMarks);
15568
15568
  const pressureSensitive = options?.pressureSensitive;
15569
- const replayStyles = replay ? chunk4MGJUBY7_js.getInkReplayStyles(el, options?.replayConfig) : null;
15569
+ const replayStyles = replay ? chunk43TOUP5U_js.getInkReplayStyles(el, options?.replayConfig) : null;
15570
15570
  return /* @__PURE__ */ jsxRuntime.jsxs(
15571
15571
  "svg",
15572
15572
  {
@@ -15574,7 +15574,7 @@ function renderInk(el, options) {
15574
15574
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15575
15575
  preserveAspectRatio: "none",
15576
15576
  children: [
15577
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk4MGJUBY7_js.INK_REPLAY_KEYFRAMES }),
15577
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk43TOUP5U_js.INK_REPLAY_KEYFRAMES }),
15578
15578
  strokes.map(
15579
15579
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-ink-${i}`)
15580
15580
  )
@@ -15585,7 +15585,7 @@ function renderInk(el, options) {
15585
15585
  function renderGroup(children, parentGroupFill) {
15586
15586
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: pptx.filterRenderedElements(children).map((c, childIndex) => {
15587
15587
  const { hf, fc, sw, sc } = shapeParams(c);
15588
- const baseSs = chunk4MGJUBY7_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15588
+ const baseSs = chunk43TOUP5U_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15589
15589
  const inheritedFill = pptx.resolveGroupChildFill(c, parentGroupFill);
15590
15590
  const ss = inheritedFill ? {
15591
15591
  ...baseSs,
@@ -15596,9 +15596,9 @@ function renderGroup(children, parentGroupFill) {
15596
15596
  backgroundPosition: inheritedFill.backgroundPosition
15597
15597
  } : baseSs;
15598
15598
  const isI = c.type === "picture" || c.type === "image";
15599
- const vs = chunk4MGJUBY7_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15600
- const ts = chunk4MGJUBY7_js.getTextStyleForElement(c, chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR);
15601
- const isTxt = chunk4MGJUBY7_js.isEditableTextElement(c);
15599
+ const vs = chunk43TOUP5U_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15600
+ const ts = chunk43TOUP5U_js.getTextStyleForElement(c, chunk43TOUP5U_js.DEFAULT_TEXT_COLOR);
15601
+ const isTxt = chunk43TOUP5U_js.isEditableTextElement(c);
15602
15602
  return /* @__PURE__ */ jsxRuntime.jsxs(
15603
15603
  "div",
15604
15604
  {
@@ -15607,9 +15607,9 @@ function renderGroup(children, parentGroupFill) {
15607
15607
  style: {
15608
15608
  left: c.x,
15609
15609
  top: c.y,
15610
- width: Math.max(c.width, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE),
15611
- height: Math.max(c.height, chunk4MGJUBY7_js.MIN_ELEMENT_SIZE),
15612
- transform: chunk4MGJUBY7_js.getElementTransform(c),
15610
+ width: Math.max(c.width, chunk43TOUP5U_js.MIN_ELEMENT_SIZE),
15611
+ height: Math.max(c.height, chunk43TOUP5U_js.MIN_ELEMENT_SIZE),
15612
+ transform: chunk43TOUP5U_js.getElementTransform(c),
15613
15613
  transformOrigin: "center",
15614
15614
  ...ss,
15615
15615
  ...isI ? {
@@ -15634,8 +15634,8 @@ function renderGroup(children, parentGroupFill) {
15634
15634
  // A nested group: recurse, chaining the inherited fill so a
15635
15635
  // `grpFill` shape under a fill-less sub-group still paints.
15636
15636
  renderGroup(c.children, pptx.getGroupChildParentFill(c, parentGroupFill))
15637
- ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk4MGJUBY7_js.getImageSurfaceStyle(c), children: [
15638
- chunk4MGJUBY7_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15637
+ ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk43TOUP5U_js.getImageSurfaceStyle(c), children: [
15638
+ chunk43TOUP5U_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15639
15639
  TiledImageLayer,
15640
15640
  {
15641
15641
  element: c,
@@ -15648,7 +15648,7 @@ function renderGroup(children, parentGroupFill) {
15648
15648
  src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
15649
15649
  alt: i18n.translationsEn["pptx.ink.groupChildAlt"],
15650
15650
  className: "pointer-events-none select-none",
15651
- style: chunk4MGJUBY7_js.getImageRenderStyle(c),
15651
+ style: chunk43TOUP5U_js.getImageRenderStyle(c),
15652
15652
  draggable: false
15653
15653
  }
15654
15654
  ),
@@ -15660,7 +15660,7 @@ function renderGroup(children, parentGroupFill) {
15660
15660
  {
15661
15661
  className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
15662
15662
  style: ts,
15663
- children: chunk4MGJUBY7_js.renderTextSegments(c, chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR)
15663
+ children: chunk43TOUP5U_js.renderTextSegments(c, chunk43TOUP5U_js.DEFAULT_TEXT_COLOR)
15664
15664
  }
15665
15665
  ) : null
15666
15666
  ] })
@@ -15674,8 +15674,8 @@ function renderContentPart(el, options) {
15674
15674
  if (el.inkStrokes && el.inkStrokes.length > 0) {
15675
15675
  const replay = options?.replay ?? false;
15676
15676
  const pressureSensitive = options?.pressureSensitive ?? true;
15677
- const strokes = chunk4MGJUBY7_js.buildContentPartStrokes(el);
15678
- const replayStyles = replay ? chunk4MGJUBY7_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15677
+ const strokes = chunk43TOUP5U_js.buildContentPartStrokes(el);
15678
+ const replayStyles = replay ? chunk43TOUP5U_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15679
15679
  return /* @__PURE__ */ jsxRuntime.jsxs(
15680
15680
  "svg",
15681
15681
  {
@@ -15683,7 +15683,7 @@ function renderContentPart(el, options) {
15683
15683
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15684
15684
  preserveAspectRatio: "none",
15685
15685
  children: [
15686
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk4MGJUBY7_js.INK_REPLAY_KEYFRAMES }),
15686
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk43TOUP5U_js.INK_REPLAY_KEYFRAMES }),
15687
15687
  strokes.map(
15688
15688
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-cp-ink-${i}`)
15689
15689
  )
@@ -15910,9 +15910,9 @@ function useInlineListEditor(element, rootRef, onChange, onModelReplacement) {
15910
15910
  collaboration: connected,
15911
15911
  model: pptx.createInlineListModelObserver(element),
15912
15912
  activationSelection,
15913
- children: seed && !connected ? chunk4MGJUBY7_js.renderTextSegments(
15913
+ children: seed && !connected ? chunk43TOUP5U_js.renderTextSegments(
15914
15914
  element,
15915
- chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR,
15915
+ chunk43TOUP5U_js.DEFAULT_TEXT_COLOR,
15916
15916
  void 0,
15917
15917
  void 0,
15918
15918
  void 0,
@@ -16082,7 +16082,7 @@ function InlineTextEditor({
16082
16082
  seedRef.current = {
16083
16083
  initialText,
16084
16084
  hasRichSegments: Boolean(
16085
- (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element) && element.textSegments && element.textSegments.length > 0
16085
+ (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element) && element.textSegments && element.textSegments.length > 0
16086
16086
  )
16087
16087
  };
16088
16088
  }
@@ -16148,8 +16148,8 @@ function InlineTextEditor({
16148
16148
  pending.endOffset
16149
16149
  );
16150
16150
  });
16151
- const warpStyle = chunk4MGJUBY7_js.getTextWarpStyle(textStyleRaw);
16152
- const compensationTransform = chunk4MGJUBY7_js.getTextCompensationTransform(element);
16151
+ const warpStyle = chunk43TOUP5U_js.getTextWarpStyle(textStyleRaw);
16152
+ const compensationTransform = chunk43TOUP5U_js.getTextCompensationTransform(element);
16153
16153
  const warpTransform = warpStyle?.transform;
16154
16154
  const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
16155
16155
  const wrapperStyle = {
@@ -16160,7 +16160,7 @@ function InlineTextEditor({
16160
16160
  transformOrigin: warpStyle?.transformOrigin || "center"
16161
16161
  };
16162
16162
  const nextInlineStyleValue = (property) => {
16163
- if (!(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element)) {
16163
+ if (!(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element)) {
16164
16164
  return true;
16165
16165
  }
16166
16166
  const result = pptx.getInlineEditorSelectionResult(element.textSegments);
@@ -16237,7 +16237,7 @@ function InlineTextEditor({
16237
16237
  const text = e.clipboardData.getData("text/plain");
16238
16238
  document.execCommand("insertText", false, text);
16239
16239
  },
16240
- children: list.seed ? list.children : seed.hasRichSegments ? chunk4MGJUBY7_js.renderTextSegments(element, chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR) : seed.initialText
16240
+ children: list.seed ? list.children : seed.hasRichSegments ? chunk43TOUP5U_js.renderTextSegments(element, chunk43TOUP5U_js.DEFAULT_TEXT_COLOR) : seed.initialText
16241
16241
  },
16242
16242
  list.seed?.paragraphs[0].token ?? "plain"
16243
16243
  );
@@ -17174,7 +17174,7 @@ function SmartArtRendererImpl({
17174
17174
  if (!onUpdateElement || !pptx.shouldCommitSmartArtNodeText(smartArtData, nodeId, text)) {
17175
17175
  return;
17176
17176
  }
17177
- const updated = (0, chunk4MGJUBY7_js.dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text);
17177
+ const updated = (0, chunk43TOUP5U_js.dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text);
17178
17178
  const box = { width: element.width, height: element.height };
17179
17179
  const reflowed = pptx.rebuildDrawingShapesIfCleared(
17180
17180
  updated,
@@ -17190,7 +17190,7 @@ function SmartArtRendererImpl({
17190
17190
  if (!onUpdateElement) {
17191
17191
  return;
17192
17192
  }
17193
- const next = (0, chunk4MGJUBY7_js.dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, { fillColor: fill });
17193
+ const next = (0, chunk43TOUP5U_js.dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, { fillColor: fill });
17194
17194
  if (next !== smartArtData) {
17195
17195
  const box = { width: element.width, height: element.height };
17196
17196
  const reflowed = pptx.rebuildDrawingShapesIfCleared(
@@ -17384,7 +17384,7 @@ function groupIntoParagraphs(element, fieldContext) {
17384
17384
  element,
17385
17385
  fieldContext ? (seg) => {
17386
17386
  if (seg.fieldType) {
17387
- const substituted = chunk4MGJUBY7_js.substituteFieldText(
17387
+ const substituted = chunk43TOUP5U_js.substituteFieldText(
17388
17388
  seg.text,
17389
17389
  seg.fieldType,
17390
17390
  fieldContext,
@@ -17419,13 +17419,13 @@ function getSegmentTspanProps(segment, element, fallbackColor) {
17419
17419
  if (s.strikethrough) {
17420
17420
  decos.push("line-through");
17421
17421
  }
17422
- const fill = s.hyperlink ? chunk4MGJUBY7_js.normalizeHexColor(s.color || element.textStyle?.color, chunk4MGJUBY7_js.HYPERLINK_COLOR) : chunk4MGJUBY7_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
17422
+ const fill = s.hyperlink ? chunk43TOUP5U_js.normalizeHexColor(s.color || element.textStyle?.color, chunk43TOUP5U_js.HYPERLINK_COLOR) : chunk43TOUP5U_js.normalizeHexColor(s.color || element.textStyle?.color, fallbackColor);
17423
17423
  return {
17424
17424
  fill,
17425
- fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunk4MGJUBY7_js.DEFAULT_TEXT_FONT_SIZE,
17425
+ fontSize: s.fontSize ?? element.textStyle?.fontSize ?? chunk43TOUP5U_js.DEFAULT_TEXT_FONT_SIZE,
17426
17426
  fontWeight: s.bold ? 700 : 400,
17427
17427
  fontStyle: s.italic ? "italic" : void 0,
17428
- fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0, chunk4MGJUBY7_js.dist_exports.getSubstituteFontFamily)(s.fontFamily || element.textStyle?.fontFamily || "") : chunk4MGJUBY7_js.DEFAULT_FONT_FAMILY,
17428
+ fontFamily: s.fontFamily || element.textStyle?.fontFamily ? (0, chunk43TOUP5U_js.dist_exports.getSubstituteFontFamily)(s.fontFamily || element.textStyle?.fontFamily || "") : chunk43TOUP5U_js.DEFAULT_FONT_FAMILY,
17429
17429
  textDecoration: decos.length > 0 ? decos.join(" ") : void 0
17430
17430
  };
17431
17431
  }
@@ -17433,8 +17433,8 @@ function resolveSegmentFont(segment, element) {
17433
17433
  const s = segment.style || {};
17434
17434
  const family = s.fontFamily || element.textStyle?.fontFamily;
17435
17435
  return {
17436
- fontFamily: family ? (0, chunk4MGJUBY7_js.dist_exports.getSubstituteFontFamily)(family) : chunk4MGJUBY7_js.DEFAULT_FONT_FAMILY,
17437
- fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunk4MGJUBY7_js.DEFAULT_TEXT_FONT_SIZE,
17436
+ fontFamily: family ? (0, chunk43TOUP5U_js.dist_exports.getSubstituteFontFamily)(family) : chunk43TOUP5U_js.DEFAULT_FONT_FAMILY,
17437
+ fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunk43TOUP5U_js.DEFAULT_TEXT_FONT_SIZE,
17438
17438
  bold: s.bold ?? element.textStyle?.bold,
17439
17439
  italic: s.italic ?? element.textStyle?.italic
17440
17440
  };
@@ -17500,7 +17500,7 @@ function WarpedText({
17500
17500
  fallbackColor,
17501
17501
  fieldContext
17502
17502
  }) {
17503
- if (!(0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element)) {
17503
+ if (!(0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element)) {
17504
17504
  return null;
17505
17505
  }
17506
17506
  const textEl = element;
@@ -17518,9 +17518,9 @@ function WarpedText({
17518
17518
  const warpAdj2 = textEl.textStyle?.textWarpAdj2;
17519
17519
  const align = textEl.textStyle?.align ?? "center";
17520
17520
  const { startOffset, textAnchor } = getAlignmentProps(align);
17521
- const baseFontSize = textEl.textStyle?.fontSize ?? chunk4MGJUBY7_js.DEFAULT_TEXT_FONT_SIZE;
17522
- const baseFontFamily = textEl.textStyle?.fontFamily ? (0, chunk4MGJUBY7_js.dist_exports.getSubstituteFontFamily)(textEl.textStyle.fontFamily) : chunk4MGJUBY7_js.DEFAULT_FONT_FAMILY;
17523
- const baseFill = chunk4MGJUBY7_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17521
+ const baseFontSize = textEl.textStyle?.fontSize ?? chunk43TOUP5U_js.DEFAULT_TEXT_FONT_SIZE;
17522
+ const baseFontFamily = textEl.textStyle?.fontFamily ? (0, chunk43TOUP5U_js.dist_exports.getSubstituteFontFamily)(textEl.textStyle.fontFamily) : chunk43TOUP5U_js.DEFAULT_FONT_FAMILY;
17523
+ const baseFill = chunk43TOUP5U_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17524
17524
  if (pptx.hasGlyphEnvelope(preset)) {
17525
17525
  const perLine = pptx.buildGlyphEnvelopeBlock(
17526
17526
  preset,
@@ -17620,7 +17620,7 @@ function WarpedText({
17620
17620
  );
17621
17621
  }
17622
17622
  var GLYPH_BY_SHAPE = Object.fromEntries(
17623
- chunk4MGJUBY7_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
17623
+ chunk43TOUP5U_js.ACTION_BUTTON_PRESETS.map((p) => [p.shapeType, p.iconPath])
17624
17624
  );
17625
17625
  GLYPH_BY_SHAPE["actionButtonForwardOrNext"] = GLYPH_BY_SHAPE["actionButtonForwardNext"];
17626
17626
  GLYPH_BY_SHAPE["actionButtonBackOrPrevious"] = GLYPH_BY_SHAPE["actionButtonBackPrevious"];
@@ -17690,11 +17690,11 @@ function renderTextElementBody(options) {
17690
17690
  const isLinkedTextBox = pptx.isLinkedTextBox(el);
17691
17691
  const linkedSegments = pptx.getOverflowSegments(el, slideElements);
17692
17692
  const useSvgWarp = pptx.shouldUseSvgWarp(
17693
- (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) ? el.textStyle?.textWarpPreset : void 0
17693
+ (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) ? el.textStyle?.textWarpPreset : void 0
17694
17694
  );
17695
- const scene3dStyle = (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(el) ? chunk4MGJUBY7_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17695
+ const scene3dStyle = (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(el) ? chunk43TOUP5U_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17696
17696
  const rotationTransform = pptx.getTextBodyRotationTransform(el);
17697
- const composedTransform = [rotationTransform, chunk4MGJUBY7_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
17697
+ const composedTransform = [rotationTransform, chunk43TOUP5U_js.getTextCompensationTransform(el), scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
17698
17698
  const transformStyle = {
17699
17699
  transform: composedTransform,
17700
17700
  // A COM-measured homography (`scene3dStyle.transformOrigin === '0 0'`)
@@ -17724,18 +17724,18 @@ function renderTextElementBody(options) {
17724
17724
  shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
17725
17725
  "div",
17726
17726
  {
17727
- className: chunk4MGJUBY7_js.cn(
17727
+ className: chunk43TOUP5U_js.cn(
17728
17728
  "relative z-10 w-full h-full",
17729
17729
  onHyperlinkClick ? "" : "pointer-events-none"
17730
17730
  ),
17731
- style: { ...chunk4MGJUBY7_js.getTextLayoutStyle(el), ...transformStyle },
17731
+ style: { ...chunk43TOUP5U_js.getTextLayoutStyle(el), ...transformStyle },
17732
17732
  children: /* @__PURE__ */ jsxRuntime.jsx(
17733
17733
  WarpedText,
17734
17734
  {
17735
17735
  element: el,
17736
17736
  width: el.width,
17737
17737
  height: el.height,
17738
- fallbackColor: chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR,
17738
+ fallbackColor: chunk43TOUP5U_js.DEFAULT_TEXT_COLOR,
17739
17739
  findHighlights: findHl,
17740
17740
  fieldContext
17741
17741
  }
@@ -17744,19 +17744,19 @@ function renderTextElementBody(options) {
17744
17744
  ) : /* @__PURE__ */ jsxRuntime.jsx(
17745
17745
  "div",
17746
17746
  {
17747
- className: chunk4MGJUBY7_js.cn(
17747
+ className: chunk43TOUP5U_js.cn(
17748
17748
  "relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
17749
17749
  onHyperlinkClick ? "" : "pointer-events-none"
17750
17750
  ),
17751
17751
  style: {
17752
- ...chunk4MGJUBY7_js.getTextLayoutStyle(el),
17752
+ ...chunk43TOUP5U_js.getTextLayoutStyle(el),
17753
17753
  ...txtS,
17754
- ...chunk4MGJUBY7_js.getTextWarpStyle(txtSE),
17754
+ ...chunk43TOUP5U_js.getTextWarpStyle(txtSE),
17755
17755
  ...transformStyle
17756
17756
  },
17757
- children: chunk4MGJUBY7_js.renderTextSegments(
17757
+ children: chunk43TOUP5U_js.renderTextSegments(
17758
17758
  el,
17759
- chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR,
17759
+ chunk43TOUP5U_js.DEFAULT_TEXT_COLOR,
17760
17760
  void 0,
17761
17761
  findHl,
17762
17762
  onHyperlinkClick,
@@ -18075,7 +18075,7 @@ function renderBody(options) {
18075
18075
  );
18076
18076
  }
18077
18077
  if (isImg) {
18078
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk4MGJUBY7_js.getImageSurfaceStyle(el), children: [
18078
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk43TOUP5U_js.getImageSurfaceStyle(el), children: [
18079
18079
  renderImg(el, imgStyle, imgFilter, imgAlt, imgOpacity),
18080
18080
  vecShape ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", children: vecShape }) : null
18081
18081
  ] });
@@ -18092,7 +18092,7 @@ function renderBody(options) {
18092
18092
  textDirection: txtSE?.textDirection,
18093
18093
  textStyle: txtS,
18094
18094
  textStyleRaw: txtSE,
18095
- layoutStyle: chunk4MGJUBY7_js.getTextLayoutStyle(el),
18095
+ layoutStyle: chunk43TOUP5U_js.getTextLayoutStyle(el),
18096
18096
  element: el,
18097
18097
  onCommit,
18098
18098
  onCancel,
@@ -18103,7 +18103,7 @@ function renderBody(options) {
18103
18103
  ] });
18104
18104
  }
18105
18105
  if (el.type === "table") {
18106
- return chunk4MGJUBY7_js.renderTableElement(el, txtS, {
18106
+ return chunk43TOUP5U_js.renderTableElement(el, txtS, {
18107
18107
  editable: isSel,
18108
18108
  selectedCell: isSel ? tableSt : null,
18109
18109
  onSelectCell: onCellSel,
@@ -18136,7 +18136,7 @@ function renderBody(options) {
18136
18136
  );
18137
18137
  }
18138
18138
  if (el.type === "media") {
18139
- return chunk4MGJUBY7_js.renderMediaElement(el, media, {
18139
+ return chunk43TOUP5U_js.renderMediaElement(el, media, {
18140
18140
  // Present mode autoplays every media element on the active slide,
18141
18141
  // not only ones persisted with their own `autoPlay` flag (matching
18142
18142
  // the other four bindings' unconditional `presenting`-gated
@@ -18159,7 +18159,7 @@ function renderBody(options) {
18159
18159
  onPlayStateChange: handleMediaPlayStateChange
18160
18160
  });
18161
18161
  }
18162
- if (doInk && (0, chunk4MGJUBY7_js.dist_exports.isInkElement)(el)) {
18162
+ if (doInk && (0, chunk43TOUP5U_js.dist_exports.isInkElement)(el)) {
18163
18163
  return renderInk(el, {
18164
18164
  replay: isPresentationPassive,
18165
18165
  pressureSensitive: true
@@ -18188,27 +18188,27 @@ function renderBody(options) {
18188
18188
  }
18189
18189
  return renderGroup(el.children, pptx.getGroupChildParentFill(el));
18190
18190
  }
18191
- if (chunk4MGJUBY7_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18192
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunk4MGJUBY7_js.getElementLabel(el) });
18191
+ if (chunk43TOUP5U_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18192
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunk43TOUP5U_js.getElementLabel(el) });
18193
18193
  }
18194
18194
  return renderTextElementBody(options);
18195
18195
  }
18196
18196
  function defaultTextColorForFill(fillColor) {
18197
18197
  const hex = String(fillColor ?? "").replace(/^#/u, "");
18198
18198
  if (!/^[0-9a-f]{6}$/iu.test(hex)) {
18199
- return chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR;
18199
+ return chunk43TOUP5U_js.DEFAULT_TEXT_COLOR;
18200
18200
  }
18201
18201
  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);
18202
18202
  const luminance = channels[0] * 0.2126 + channels[1] * 0.7152 + channels[2] * 0.0722;
18203
- return luminance > 0.179 ? chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR : "#ffffff";
18203
+ return luminance > 0.179 ? chunk43TOUP5U_js.DEFAULT_TEXT_COLOR : "#ffffff";
18204
18204
  }
18205
18205
  function getStaticElementVisualState(element, parentGroupFill) {
18206
- const style = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
18207
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk4MGJUBY7_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18208
- const fill = chunk4MGJUBY7_js.normalizeHexColor(style?.fillColor, chunk4MGJUBY7_js.DEFAULT_FILL_COLOR);
18206
+ const style = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(element) ? element.shapeStyle : void 0;
18207
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk43TOUP5U_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18208
+ const fill = chunk43TOUP5U_js.normalizeHexColor(style?.fillColor, chunk43TOUP5U_js.DEFAULT_FILL_COLOR);
18209
18209
  const strokeWidth = pptx.paintedStrokeWidth(style);
18210
- const stroke = chunk4MGJUBY7_js.normalizeHexColor(style?.strokeColor, chunk4MGJUBY7_js.DEFAULT_STROKE_COLOR);
18211
- const baseVisualStyle = chunk4MGJUBY7_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18210
+ const stroke = chunk43TOUP5U_js.normalizeHexColor(style?.strokeColor, chunk43TOUP5U_js.DEFAULT_STROKE_COLOR);
18211
+ const baseVisualStyle = chunk43TOUP5U_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18212
18212
  const inheritedFill = pptx.resolveGroupChildFill(element, parentGroupFill);
18213
18213
  const visualStyle = inheritedFill ? {
18214
18214
  ...baseVisualStyle,
@@ -18218,13 +18218,13 @@ function getStaticElementVisualState(element, parentGroupFill) {
18218
18218
  backgroundSize: inheritedFill.backgroundSize,
18219
18219
  backgroundPosition: inheritedFill.backgroundPosition
18220
18220
  } : baseVisualStyle;
18221
- const textStyle = chunk4MGJUBY7_js.getTextStyleForElement(
18221
+ const textStyle = chunk43TOUP5U_js.getTextStyleForElement(
18222
18222
  element,
18223
- element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunk4MGJUBY7_js.DEFAULT_TEXT_COLOR
18223
+ element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunk43TOUP5U_js.DEFAULT_TEXT_COLOR
18224
18224
  );
18225
18225
  const isImage = element.type === "picture" || element.type === "image";
18226
- const letsTextOverflow = (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element) && element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
18227
- const shapeType = (0, chunk4MGJUBY7_js.dist_exports.hasShapeProperties)(element) ? element.shapeType : void 0;
18226
+ const letsTextOverflow = (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element) && element.textStyle?.autoFitMode === "shrink" && (element.type === "text" || element.locks?.txBox === true);
18227
+ const shapeType = (0, chunk43TOUP5U_js.dist_exports.hasShapeProperties)(element) ? element.shapeType : void 0;
18228
18228
  const isCallout = pptx.isWedgeCalloutPresetShape(shapeType) || String(shapeType ?? "").toLowerCase().includes("callout");
18229
18229
  return {
18230
18230
  hasFill,
@@ -18245,7 +18245,7 @@ function getStaticElementInteractionState(element, hasActionHandler, exposeEleme
18245
18245
  return { action, isActionable, contractRole };
18246
18246
  }
18247
18247
  function getStaticElementWrapperClassName(element, visual, positioned, isActionable) {
18248
- const overflowClass = visual.isImage || element.type === "group" || chunk4MGJUBY7_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18248
+ const overflowClass = visual.isImage || element.type === "group" || chunk43TOUP5U_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18249
18249
  const pointerClass = isActionable ? "pointer-events-auto cursor-pointer" : "pointer-events-none";
18250
18250
  return `${positioned ? "absolute" : "relative"} ${overflowClass} ${pointerClass}`;
18251
18251
  }
@@ -18328,7 +18328,7 @@ function StaticElementRendererImpl({
18328
18328
  top: positioned ? element.y : void 0,
18329
18329
  width: positioned ? Math.max(element.width, 1) : "100%",
18330
18330
  height: positioned ? Math.max(element.height, 1) : "100%",
18331
- transform: positioned ? chunk4MGJUBY7_js.getElementTransform(element) : void 0,
18331
+ transform: positioned ? chunk43TOUP5U_js.getElementTransform(element) : void 0,
18332
18332
  transformOrigin: "center",
18333
18333
  zIndex,
18334
18334
  ...visualStyle,
@@ -18369,20 +18369,20 @@ function StaticElementRendererImpl({
18369
18369
  isEditing: false,
18370
18370
  editText: "",
18371
18371
  spellCheck: false,
18372
- txtSE: (0, chunk4MGJUBY7_js.dist_exports.hasTextProperties)(element) ? element.textStyle : void 0,
18372
+ txtSE: (0, chunk43TOUP5U_js.dist_exports.hasTextProperties)(element) ? element.textStyle : void 0,
18373
18373
  txtS: textStyle,
18374
- vecShape: chunk4MGJUBY7_js.renderVectorShape(
18374
+ vecShape: chunk43TOUP5U_js.renderVectorShape(
18375
18375
  element,
18376
18376
  isImage ? false : hasFill,
18377
18377
  fill,
18378
18378
  strokeWidth,
18379
18379
  stroke
18380
18380
  ),
18381
- imgStyle: imageAnimation ? { ...chunk4MGJUBY7_js.getImageRenderStyle(element), animation: imageAnimation } : chunk4MGJUBY7_js.getImageRenderStyle(element),
18382
- imgFilter: chunk4MGJUBY7_js.getImageEffectsFilter(element),
18383
- imgOpacity: chunk4MGJUBY7_js.getImageEffectsOpacity(element),
18381
+ imgStyle: imageAnimation ? { ...chunk43TOUP5U_js.getImageRenderStyle(element), animation: imageAnimation } : chunk43TOUP5U_js.getImageRenderStyle(element),
18382
+ imgFilter: chunk43TOUP5U_js.getImageEffectsFilter(element),
18383
+ imgOpacity: chunk43TOUP5U_js.getImageEffectsOpacity(element),
18384
18384
  imgAlt: "",
18385
- isTxtEl: chunk4MGJUBY7_js.isEditableTextElement(element),
18385
+ isTxtEl: chunk43TOUP5U_js.isEditableTextElement(element),
18386
18386
  media: mediaDataUrls,
18387
18387
  tableSt: null,
18388
18388
  isSel: false,
@@ -18428,7 +18428,7 @@ function SlideLayer({
18428
18428
  style: {
18429
18429
  width: safeWidth,
18430
18430
  height: safeHeight,
18431
- backgroundColor: slide.backgroundColor ? chunk4MGJUBY7_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18431
+ backgroundColor: slide.backgroundColor ? chunk43TOUP5U_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18432
18432
  backgroundImage: slide.backgroundImage ? `url(${slide.backgroundImage})` : slide.backgroundGradient ? slide.backgroundGradient : void 0,
18433
18433
  backgroundSize: slide.backgroundImage ? "cover" : void 0,
18434
18434
  backgroundPosition: slide.backgroundImage ? "center" : void 0