pptx-react-viewer 4.74.0 → 4.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/dist/{AiChatPanel-PLQ3NBTK.js → AiChatPanel-4V7QB5Z3.js} +19 -19
  4. package/dist/AiChatPanel-4V7QB5Z3.js.br +0 -0
  5. package/dist/AiChatPanel-4V7QB5Z3.js.gz +0 -0
  6. package/dist/{AiChatPanel-E7CJSTW7.mjs → AiChatPanel-6ML3VLIX.mjs} +1 -1
  7. package/dist/AiChatPanel-6ML3VLIX.mjs.br +0 -0
  8. package/dist/AiChatPanel-6ML3VLIX.mjs.gz +0 -0
  9. package/dist/ai.js +2 -2
  10. package/dist/ai.js.br +0 -0
  11. package/dist/ai.js.gz +0 -0
  12. package/dist/ai.mjs +1 -1
  13. package/dist/ai.mjs.br +0 -0
  14. package/dist/ai.mjs.gz +0 -0
  15. package/dist/{chunk-XG4WSJ4O.js → chunk-3AZ6ESJU.js} +203 -203
  16. package/dist/chunk-3AZ6ESJU.js.br +0 -0
  17. package/dist/chunk-3AZ6ESJU.js.gz +0 -0
  18. package/dist/{chunk-P2COO2QO.js → chunk-6GFSF2ML.js} +65 -13
  19. package/dist/chunk-6GFSF2ML.js.br +0 -0
  20. package/dist/chunk-6GFSF2ML.js.gz +0 -0
  21. package/dist/{chunk-CRC3V4UG.mjs → chunk-AZLOOFU2.mjs} +1 -1
  22. package/dist/chunk-AZLOOFU2.mjs.br +0 -0
  23. package/dist/chunk-AZLOOFU2.mjs.gz +0 -0
  24. package/dist/{chunk-SQ7OASDY.mjs → chunk-DE4Y5F4T.mjs} +40 -44
  25. package/dist/chunk-DE4Y5F4T.mjs.br +0 -0
  26. package/dist/chunk-DE4Y5F4T.mjs.gz +0 -0
  27. package/dist/chunk-FFTZYNL4.mjs +2 -0
  28. package/dist/chunk-FFTZYNL4.mjs.br +6 -0
  29. package/dist/chunk-FFTZYNL4.mjs.gz +0 -0
  30. package/dist/chunk-LWGPHJHC.js +151 -0
  31. package/dist/chunk-LWGPHJHC.js.br +0 -0
  32. package/dist/chunk-LWGPHJHC.js.gz +0 -0
  33. package/dist/{chunk-LVEFHZ76.js → chunk-MU3BIZ2U.js} +1 -1
  34. package/dist/chunk-MU3BIZ2U.js.br +0 -0
  35. package/dist/chunk-MU3BIZ2U.js.gz +0 -0
  36. package/dist/{chunk-FBSPQYRE.mjs → chunk-N3YK2BCA.mjs} +61 -14
  37. package/dist/chunk-N3YK2BCA.mjs.br +0 -0
  38. package/dist/chunk-N3YK2BCA.mjs.gz +0 -0
  39. package/dist/chunk-P2IEKYVG.js +29 -0
  40. package/dist/chunk-P2IEKYVG.js.br +0 -0
  41. package/dist/chunk-P2IEKYVG.js.gz +0 -0
  42. package/dist/{chunk-D4WC35PL.js → chunk-RJRDE3C2.js} +594 -599
  43. package/dist/chunk-RJRDE3C2.js.br +0 -0
  44. package/dist/chunk-RJRDE3C2.js.gz +0 -0
  45. package/dist/{chunk-JZE6BORE.mjs → chunk-RMEWSJZU.mjs} +1 -1
  46. package/dist/chunk-RMEWSJZU.mjs.br +0 -0
  47. package/dist/chunk-RMEWSJZU.mjs.gz +0 -0
  48. package/dist/chunk-Y53EC3JU.mjs +27 -0
  49. package/dist/chunk-Y53EC3JU.mjs.br +0 -0
  50. package/dist/chunk-Y53EC3JU.mjs.gz +0 -0
  51. package/dist/index.d.ts +24 -18
  52. package/dist/index.js +126 -126
  53. package/dist/index.js.br +0 -0
  54. package/dist/index.js.gz +0 -0
  55. package/dist/index.mjs +6 -6
  56. package/dist/index.mjs.br +0 -0
  57. package/dist/index.mjs.gz +0 -0
  58. package/dist/internals.js +82 -81
  59. package/dist/internals.js.br +0 -0
  60. package/dist/internals.js.gz +0 -0
  61. package/dist/internals.mjs +3 -2
  62. package/dist/internals.mjs.br +0 -0
  63. package/dist/internals.mjs.gz +0 -0
  64. package/dist/no-i18next.d.ts +1299 -0
  65. package/dist/no-i18next.js +251 -0
  66. package/dist/no-i18next.js.br +0 -0
  67. package/dist/no-i18next.js.gz +0 -0
  68. package/dist/no-i18next.mjs +6 -0
  69. package/dist/no-i18next.mjs.br +0 -0
  70. package/dist/no-i18next.mjs.gz +0 -0
  71. package/dist/viewer/index.d.ts +24 -18
  72. package/dist/viewer/index.js +25 -24
  73. package/dist/viewer/index.js.br +0 -0
  74. package/dist/viewer/index.js.gz +0 -0
  75. package/dist/viewer/index.mjs +5 -4
  76. package/dist/viewer/index.mjs.br +0 -0
  77. package/dist/viewer/index.mjs.gz +0 -0
  78. package/package.json +9 -4
  79. package/dist/AiChatPanel-E7CJSTW7.mjs.br +0 -0
  80. package/dist/AiChatPanel-E7CJSTW7.mjs.gz +0 -0
  81. package/dist/AiChatPanel-PLQ3NBTK.js.br +0 -0
  82. package/dist/AiChatPanel-PLQ3NBTK.js.gz +0 -0
  83. package/dist/chunk-CRC3V4UG.mjs.br +0 -0
  84. package/dist/chunk-CRC3V4UG.mjs.gz +0 -0
  85. package/dist/chunk-D4WC35PL.js.br +0 -0
  86. package/dist/chunk-D4WC35PL.js.gz +0 -0
  87. package/dist/chunk-FBSPQYRE.mjs.br +0 -0
  88. package/dist/chunk-FBSPQYRE.mjs.gz +0 -0
  89. package/dist/chunk-JZE6BORE.mjs.br +0 -0
  90. package/dist/chunk-JZE6BORE.mjs.gz +0 -0
  91. package/dist/chunk-LVEFHZ76.js.br +0 -0
  92. package/dist/chunk-LVEFHZ76.js.gz +0 -0
  93. package/dist/chunk-P2COO2QO.js.br +0 -0
  94. package/dist/chunk-P2COO2QO.js.gz +0 -0
  95. package/dist/chunk-SQ7OASDY.mjs.br +0 -0
  96. package/dist/chunk-SQ7OASDY.mjs.gz +0 -0
  97. package/dist/chunk-XG4WSJ4O.js.br +0 -0
  98. package/dist/chunk-XG4WSJ4O.js.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkP2COO2QO_js = require('./chunk-P2COO2QO.js');
3
+ var chunk6GFSF2ML_js = require('./chunk-6GFSF2ML.js');
4
4
  var pptx = require('ooxml-ui/pptx');
5
5
  var React17 = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -604,9 +604,9 @@ function differsOnlyInMasterSet(previous, next) {
604
604
  }
605
605
  function recordExplicitSlideUpdate(history, previous, before, label) {
606
606
  if (previous && serializeHistoryDocument(previous) !== serializeHistoryDocument(before)) {
607
- history.record(chunkP2COO2QO_js.cloneHistorySnapshot(previous), previous.actionLabel);
607
+ history.record(chunk6GFSF2ML_js.cloneHistorySnapshot(previous), previous.actionLabel);
608
608
  }
609
- history.record({ ...chunkP2COO2QO_js.cloneHistorySnapshot(before), actionLabel: label }, label);
609
+ history.record({ ...chunk6GFSF2ML_js.cloneHistorySnapshot(before), actionLabel: label }, label);
610
610
  }
611
611
  var POLL_INTERVAL_MS = 16;
612
612
  function usePointerReleaseWakeup(hasActivePointerInteraction) {
@@ -688,8 +688,8 @@ function useEditorHistory(input) {
688
688
  width: canvasSize.width,
689
689
  height: canvasSize.height,
690
690
  activeSlideIndex,
691
- slides: slides.map(chunkP2COO2QO_js.cloneSlide),
692
- templateElementsBySlideId: chunkP2COO2QO_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
691
+ slides: slides.map(chunk6GFSF2ML_js.cloneSlide),
692
+ templateElementsBySlideId: chunk6GFSF2ML_js.cloneTemplateElementsBySlideId(templateElementsBySlideId),
693
693
  ...recordedTheme ? { theme: recordedTheme } : {},
694
694
  ...actionLabel ? { actionLabel } : {}
695
695
  };
@@ -703,9 +703,9 @@ function useEditorHistory(input) {
703
703
  width: snapshot.width,
704
704
  height: snapshot.height
705
705
  });
706
- setSlides(snapshot.slides.map(chunkP2COO2QO_js.cloneSlide));
706
+ setSlides(snapshot.slides.map(chunk6GFSF2ML_js.cloneSlide));
707
707
  setTemplateElementsBySlideId(
708
- chunkP2COO2QO_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
708
+ chunk6GFSF2ML_js.cloneTemplateElementsBySlideId(snapshot.templateElementsBySlideId)
709
709
  );
710
710
  setActiveSlideIndex(Math.min(snapshot.activeSlideIndex, maxSlideIndex));
711
711
  setSelectedElementIds([]);
@@ -771,8 +771,8 @@ function useEditorHistory(input) {
771
771
  return;
772
772
  }
773
773
  isApplyingHistoryRef.current = true;
774
- const nextSnapshot = chunkP2COO2QO_js.cloneHistorySnapshot(result.snapshot);
775
- lastHistorySnapshotRef.current = chunkP2COO2QO_js.cloneHistorySnapshot(nextSnapshot);
774
+ const nextSnapshot = chunk6GFSF2ML_js.cloneHistorySnapshot(result.snapshot);
775
+ lastHistorySnapshotRef.current = chunk6GFSF2ML_js.cloneHistorySnapshot(nextSnapshot);
776
776
  lastHistorySerializedRef.current = serializeHistoryDocument(nextSnapshot);
777
777
  applyHistorySnapshot(nextSnapshot);
778
778
  restoreTheme(currentSnapshot, nextSnapshot);
@@ -796,8 +796,8 @@ function useEditorHistory(input) {
796
796
  return;
797
797
  }
798
798
  isApplyingHistoryRef.current = true;
799
- const targetSnapshot = chunkP2COO2QO_js.cloneHistorySnapshot(result.snapshot);
800
- lastHistorySnapshotRef.current = chunkP2COO2QO_js.cloneHistorySnapshot(targetSnapshot);
799
+ const targetSnapshot = chunk6GFSF2ML_js.cloneHistorySnapshot(result.snapshot);
800
+ lastHistorySnapshotRef.current = chunk6GFSF2ML_js.cloneHistorySnapshot(targetSnapshot);
801
801
  lastHistorySerializedRef.current = serializeHistoryDocument(targetSnapshot);
802
802
  applyHistorySnapshot(targetSnapshot);
803
803
  restoreTheme(currentSnapshot, targetSnapshot);
@@ -815,7 +815,7 @@ function useEditorHistory(input) {
815
815
  (initialSnapshot) => {
816
816
  history.clear();
817
817
  if (initialSnapshot) {
818
- const clonedInitial = chunkP2COO2QO_js.cloneHistorySnapshot(initialSnapshot);
818
+ const clonedInitial = chunk6GFSF2ML_js.cloneHistorySnapshot(initialSnapshot);
819
819
  lastHistorySnapshotRef.current = clonedInitial;
820
820
  lastHistorySerializedRef.current = serializeHistoryDocument(clonedInitial);
821
821
  } else {
@@ -889,16 +889,16 @@ function useEditorHistory(input) {
889
889
  slides
890
890
  ]);
891
891
  const commitSlides = (nextSlides, label, beforeSlides = slides, nextSlideMasters) => {
892
- const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunkP2COO2QO_js.cloneSlide) };
892
+ const before = { ...buildHistorySnapshot(), slides: beforeSlides.map(chunk6GFSF2ML_js.cloneSlide) };
893
893
  const { theme: beforeTheme, ...unthemed } = before;
894
894
  const afterTheme = nextSlideMasters ? pptx.historyTheme(theme, nextSlideMasters) : beforeTheme;
895
895
  const after = {
896
896
  ...unthemed,
897
- slides: nextSlides.map(chunkP2COO2QO_js.cloneSlide),
897
+ slides: nextSlides.map(chunk6GFSF2ML_js.cloneSlide),
898
898
  ...afterTheme ? { theme: afterTheme } : {}
899
899
  };
900
900
  recordExplicitSlideUpdate(history, lastHistorySnapshotRef.current, before, label);
901
- lastHistorySnapshotRef.current = chunkP2COO2QO_js.cloneHistorySnapshot(after);
901
+ lastHistorySnapshotRef.current = chunk6GFSF2ML_js.cloneHistorySnapshot(after);
902
902
  lastHistorySerializedRef.current = serializeHistoryDocument(after);
903
903
  isApplyingHistoryRef.current = false;
904
904
  setSlides(nextSlides);
@@ -1092,22 +1092,22 @@ function useZoomViewport({
1092
1092
  selectedElements.forEach((element) => {
1093
1093
  minX = Math.min(minX, element.x);
1094
1094
  minY = Math.min(minY, element.y);
1095
- maxX = Math.max(maxX, element.x + Math.max(element.width, chunkP2COO2QO_js.MIN_ELEMENT_SIZE));
1096
- maxY = Math.max(maxY, element.y + Math.max(element.height, chunkP2COO2QO_js.MIN_ELEMENT_SIZE));
1095
+ maxX = Math.max(maxX, element.x + Math.max(element.width, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE));
1096
+ maxY = Math.max(maxY, element.y + Math.max(element.height, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE));
1097
1097
  });
1098
1098
  if (!Number.isFinite(minX) || !Number.isFinite(minY) || !Number.isFinite(maxX) || !Number.isFinite(maxY)) {
1099
1099
  return;
1100
1100
  }
1101
1101
  const selectionBounds = { minX, minY, maxX, maxY };
1102
- const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunkP2COO2QO_js.MIN_ELEMENT_SIZE);
1103
- const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunkP2COO2QO_js.MIN_ELEMENT_SIZE);
1102
+ const boundsWidth = Math.max(selectionBounds.maxX - selectionBounds.minX, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE);
1103
+ const boundsHeight = Math.max(selectionBounds.maxY - selectionBounds.minY, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE);
1104
1104
  const availableWidth = Math.max(
1105
- effectiveEditorDimensions.width - chunkP2COO2QO_js.ZOOM_TO_SELECTION_PADDING,
1106
- chunkP2COO2QO_js.MIN_ELEMENT_SIZE
1105
+ effectiveEditorDimensions.width - chunk6GFSF2ML_js.ZOOM_TO_SELECTION_PADDING,
1106
+ chunk6GFSF2ML_js.MIN_ELEMENT_SIZE
1107
1107
  );
1108
1108
  const availableHeight = Math.max(
1109
- effectiveEditorDimensions.height - chunkP2COO2QO_js.ZOOM_TO_SELECTION_PADDING,
1110
- chunkP2COO2QO_js.MIN_ELEMENT_SIZE
1109
+ effectiveEditorDimensions.height - chunk6GFSF2ML_js.ZOOM_TO_SELECTION_PADDING,
1110
+ chunk6GFSF2ML_js.MIN_ELEMENT_SIZE
1111
1111
  );
1112
1112
  const targetEditorScale = Math.min(
1113
1113
  availableWidth / boundsWidth,
@@ -4027,8 +4027,8 @@ function useViewerCoreState(_input) {
4027
4027
  const { slides, setSlides, slidesRef } = useSlideState();
4028
4028
  const [templateElementsBySlideId, setTemplateElementsBySlideId] = React17.useState({});
4029
4029
  const [canvasSize, setCanvasSize] = React17.useState({
4030
- width: chunkP2COO2QO_js.DEFAULT_CANVAS_WIDTH,
4031
- height: chunkP2COO2QO_js.DEFAULT_CANVAS_HEIGHT
4030
+ width: chunk6GFSF2ML_js.DEFAULT_CANVAS_WIDTH,
4031
+ height: chunk6GFSF2ML_js.DEFAULT_CANVAS_HEIGHT
4032
4032
  });
4033
4033
  const [slideSizeEmu, setSlideSizeEmu] = React17.useState();
4034
4034
  const [activeSlideIndex, setActiveSlideIndex] = React17.useState(0);
@@ -4518,7 +4518,7 @@ function useLoadContent({
4518
4518
  limitsRef.current = limits;
4519
4519
  const googleFontsRef = React17.useRef(googleFonts);
4520
4520
  googleFontsRef.current = googleFonts;
4521
- const { t } = chunkP2COO2QO_js.useTranslation();
4521
+ const { t } = chunk6GFSF2ML_js.useTranslation();
4522
4522
  const translateRef = React17.useRef(t);
4523
4523
  translateRef.current = t;
4524
4524
  const originalBufferRef = React17.useRef(null);
@@ -4555,7 +4555,7 @@ function useLoadContent({
4555
4555
  webfonts = pptx.prepareDeckWebfonts({
4556
4556
  document,
4557
4557
  linkId: GOOGLE_FONTS_LINK_ID,
4558
- slides: chunkP2COO2QO_js.partitionTemplateElements(deckSlides).slides,
4558
+ slides: chunk6GFSF2ML_js.partitionTemplateElements(deckSlides).slides,
4559
4559
  embeddedFonts: deckEmbeddedFonts,
4560
4560
  googleFontsBase: pptx.resolveGoogleFontsCss2Base(googleFontsRef.current),
4561
4561
  onProgress: (progress) => {
@@ -4634,7 +4634,7 @@ function useLoadContent({
4634
4634
  nextSlides,
4635
4635
  (path) => handler.getImageData(path)
4636
4636
  );
4637
- const partition = chunkP2COO2QO_js.partitionTemplateElements(nextSlides);
4637
+ const partition = chunk6GFSF2ML_js.partitionTemplateElements(nextSlides);
4638
4638
  await webfonts;
4639
4639
  if (cancelled || token !== renderTokenRef.current) {
4640
4640
  return;
@@ -4654,8 +4654,8 @@ function useLoadContent({
4654
4654
  setSlides(partition.slides);
4655
4655
  setTemplateElementsBySlideId(partition.templateElementsBySlideId);
4656
4656
  setCanvasSize({
4657
- width: parsed.width ?? chunkP2COO2QO_js.DEFAULT_CANVAS_WIDTH,
4658
- height: parsed.height ?? chunkP2COO2QO_js.DEFAULT_CANVAS_HEIGHT
4657
+ width: parsed.width ?? chunk6GFSF2ML_js.DEFAULT_CANVAS_WIDTH,
4658
+ height: parsed.height ?? chunk6GFSF2ML_js.DEFAULT_CANVAS_HEIGHT
4659
4659
  });
4660
4660
  setSlideSizeEmu(
4661
4661
  typeof parsed.widthEmu === "number" && typeof parsed.heightEmu === "number" && parsed.widthEmu > 0 && parsed.heightEmu > 0 ? {
@@ -5072,7 +5072,7 @@ function useElementOperations(input) {
5072
5072
  );
5073
5073
  return;
5074
5074
  }
5075
- if (chunkP2COO2QO_js.isTemplateElementId(elementId)) {
5075
+ if (chunk6GFSF2ML_js.isTemplateElementId(elementId)) {
5076
5076
  const slideId = activeSlide?.id;
5077
5077
  if (slideId) {
5078
5078
  setTemplateElementsBySlideId((prev) => ({
@@ -5359,8 +5359,8 @@ function createCanvasGestures(getInput, frames = animationFrames) {
5359
5359
  }
5360
5360
  function paintResize(resize, transform) {
5361
5361
  const { x, y } = transform;
5362
- const width = Math.max(transform.width, chunkP2COO2QO_js.MIN_ELEMENT_SIZE);
5363
- const height = Math.max(transform.height, chunkP2COO2QO_js.MIN_ELEMENT_SIZE);
5362
+ const width = Math.max(transform.width, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE);
5363
+ const height = Math.max(transform.height, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE);
5364
5364
  resize.lastX = x;
5365
5365
  resize.lastY = y;
5366
5366
  resize.lastWidth = transform.width;
@@ -5417,7 +5417,7 @@ function createCanvasGestures(getInput, frames = animationFrames) {
5417
5417
  getGridSize: () => getInput().gridSpacingPx,
5418
5418
  getSnapToShape: () => getInput().snapToShape,
5419
5419
  getGuides: () => getInput().guides.map(({ axis, position }) => ({ axis, position })),
5420
- getMinSize: () => chunkP2COO2QO_js.MIN_ELEMENT_SIZE,
5420
+ getMinSize: () => chunk6GFSF2ML_js.MIN_ELEMENT_SIZE,
5421
5421
  getSnapExcludeIds: () => armed?.kind === "move" ? Object.keys(armed.drag.startPositionsById) : [],
5422
5422
  getStageOrigin: () => {
5423
5423
  const rect = getInput().canvasStageRef.current?.getBoundingClientRect();
@@ -5498,7 +5498,7 @@ function commitMove(input, drag) {
5498
5498
  const start = drag.startPositionsById[el.id];
5499
5499
  return start ? { ...el, x: start.x + dx, y: start.y + dy } : el;
5500
5500
  });
5501
- return chunkP2COO2QO_js.applyReroutedConnectors(moved, chunkP2COO2QO_js.rerouteConnectorsForMovedElements(moved, movedIds));
5501
+ return chunk6GFSF2ML_js.applyReroutedConnectors(moved, chunk6GFSF2ML_js.rerouteConnectorsForMovedElements(moved, movedIds));
5502
5502
  };
5503
5503
  if (input.editTemplateMode) {
5504
5504
  const slideId = input.activeSlide?.id;
@@ -5529,8 +5529,8 @@ function commitResize(input, resize) {
5529
5529
  if (i !== input.activeSlideIndex) {
5530
5530
  return s;
5531
5531
  }
5532
- const rerouted = chunkP2COO2QO_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5533
- return rerouted.length === 0 ? s : { ...s, elements: chunkP2COO2QO_js.applyReroutedConnectors(s.elements, rerouted) };
5532
+ const rerouted = chunk6GFSF2ML_js.rerouteConnectorsForMovedElements(s.elements, movedIds);
5533
+ return rerouted.length === 0 ? s : { ...s, elements: chunk6GFSF2ML_js.applyReroutedConnectors(s.elements, rerouted) };
5534
5534
  })
5535
5535
  );
5536
5536
  }
@@ -6365,7 +6365,7 @@ function createStructuredElementHandlers(deps) {
6365
6365
  return;
6366
6366
  }
6367
6367
  const resolved = resolveHyperlinkEditResult(data);
6368
- if (resolved.url && !chunkP2COO2QO_js.isUrlSafe(resolved.url)) {
6368
+ if (resolved.url && !chunk6GFSF2ML_js.isUrlSafe(resolved.url)) {
6369
6369
  return;
6370
6370
  }
6371
6371
  const actionClick = {
@@ -6411,7 +6411,7 @@ function createStructuredElementHandlers(deps) {
6411
6411
  if (!activeSlide) {
6412
6412
  return;
6413
6413
  }
6414
- const preset = chunkP2COO2QO_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6414
+ const preset = chunk6GFSF2ML_js.ACTION_BUTTON_PRESETS.find((p) => p.shapeType === shapeType);
6415
6415
  if (!preset) {
6416
6416
  return;
6417
6417
  }
@@ -6498,7 +6498,7 @@ function useInsertElements(input) {
6498
6498
  width: 300,
6499
6499
  height: 60,
6500
6500
  text: "",
6501
- textStyle: { fontSize: chunkP2COO2QO_js.DEFAULT_TEXT_FONT_SIZE }
6501
+ textStyle: { fontSize: chunk6GFSF2ML_js.DEFAULT_TEXT_FONT_SIZE }
6502
6502
  });
6503
6503
  };
6504
6504
  const handleAddShape = () => {
@@ -6520,7 +6520,7 @@ function useInsertElements(input) {
6520
6520
  }
6521
6521
  });
6522
6522
  };
6523
- const handleAddTable = (rows = chunkP2COO2QO_js.DEFAULT_TABLE_ROWS, columns = chunkP2COO2QO_js.DEFAULT_TABLE_COLUMNS) => {
6523
+ const handleAddTable = (rows = chunk6GFSF2ML_js.DEFAULT_TABLE_ROWS, columns = chunk6GFSF2ML_js.DEFAULT_TABLE_COLUMNS) => {
6524
6524
  if (!activeSlide) {
6525
6525
  return;
6526
6526
  }
@@ -6694,7 +6694,7 @@ function useGroupAlignLayerHandlers(input) {
6694
6694
  history
6695
6695
  } = input;
6696
6696
  const updateElementsOwning = (elementId, updater) => {
6697
- if (editTemplateMode && !chunkP2COO2QO_js.isTemplateElementId(elementId)) {
6697
+ if (editTemplateMode && !chunk6GFSF2ML_js.isTemplateElementId(elementId)) {
6698
6698
  ops.updateSlides(
6699
6699
  (prev) => prev.map(
6700
6700
  (slide, index) => index === activeSlideIndex ? { ...slide, elements: updater(slide.elements) } : slide
@@ -6728,9 +6728,9 @@ function useGroupAlignLayerHandlers(input) {
6728
6728
  return;
6729
6729
  }
6730
6730
  const group = selectedElement;
6731
- const intoTemplate = chunkP2COO2QO_js.isTemplateElementId(group.id);
6731
+ const intoTemplate = chunk6GFSF2ML_js.isTemplateElementId(group.id);
6732
6732
  const childIds = group.children.map(
6733
- (child) => intoTemplate ? chunkP2COO2QO_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6733
+ (child) => intoTemplate ? chunk6GFSF2ML_js.makeCloneId(true, child.id || group.id) : child.id || pptx.generateElementId()
6734
6734
  );
6735
6735
  const { elements, childIds: usedIds } = pptx.ungroupElements(
6736
6736
  ops.activeElements,
@@ -7166,7 +7166,7 @@ function createTableMergeHandlers(input) {
7166
7166
  if (!nextCell || nextCell.hMerge || nextCell.vMerge) {
7167
7167
  return;
7168
7168
  }
7169
- const newTableData = chunkP2COO2QO_js.mergeCells(
7169
+ const newTableData = chunk6GFSF2ML_js.mergeCells(
7170
7170
  [
7171
7171
  { row: rowIndex, col: columnIndex },
7172
7172
  { row: rowIndex, col: nextColIdx }
@@ -7174,7 +7174,7 @@ function createTableMergeHandlers(input) {
7174
7174
  td
7175
7175
  );
7176
7176
  const updates = { tableData: newTableData };
7177
- const newRawXml = chunkP2COO2QO_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7177
+ const newRawXml = chunk6GFSF2ML_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7178
7178
  if (newRawXml) {
7179
7179
  updates.rawXml = newRawXml;
7180
7180
  }
@@ -7200,7 +7200,7 @@ function createTableMergeHandlers(input) {
7200
7200
  if (!targetNextCell || targetNextCell.hMerge || targetNextCell.vMerge) {
7201
7201
  return;
7202
7202
  }
7203
- const newTableData = chunkP2COO2QO_js.mergeCells(
7203
+ const newTableData = chunk6GFSF2ML_js.mergeCells(
7204
7204
  [
7205
7205
  { row: rowIndex, col: columnIndex },
7206
7206
  { row: targetNextRowIdx, col: columnIndex }
@@ -7208,7 +7208,7 @@ function createTableMergeHandlers(input) {
7208
7208
  td
7209
7209
  );
7210
7210
  const updates = { tableData: newTableData };
7211
- const newRawXml = chunkP2COO2QO_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7211
+ const newRawXml = chunk6GFSF2ML_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7212
7212
  if (newRawXml) {
7213
7213
  updates.rawXml = newRawXml;
7214
7214
  }
@@ -7223,9 +7223,9 @@ function createTableMergeHandlers(input) {
7223
7223
  return;
7224
7224
  }
7225
7225
  const td = selectedElement.tableData;
7226
- const newTableData = chunkP2COO2QO_js.mergeCells(ts.selectedCells, td);
7226
+ const newTableData = chunk6GFSF2ML_js.mergeCells(ts.selectedCells, td);
7227
7227
  const updates = { tableData: newTableData };
7228
- const newRawXml = chunkP2COO2QO_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7228
+ const newRawXml = chunk6GFSF2ML_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7229
7229
  if (newRawXml) {
7230
7230
  updates.rawXml = newRawXml;
7231
7231
  }
@@ -7242,9 +7242,9 @@ function createTableMergeHandlers(input) {
7242
7242
  }
7243
7243
  const { rowIndex, columnIndex } = ts;
7244
7244
  const td = selectedElement.tableData;
7245
- const newTableData = chunkP2COO2QO_js.splitCell(rowIndex, columnIndex, td);
7245
+ const newTableData = chunk6GFSF2ML_js.splitCell(rowIndex, columnIndex, td);
7246
7246
  const updates = { tableData: newTableData };
7247
- const newRawXml = chunkP2COO2QO_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7247
+ const newRawXml = chunk6GFSF2ML_js.updateMergeAttrsInRawXml(selectedElement, newTableData);
7248
7248
  if (newRawXml) {
7249
7249
  updates.rawXml = newRawXml;
7250
7250
  }
@@ -7279,7 +7279,7 @@ function createTableStructHandlers(input) {
7279
7279
  updates.tableData = pptx.setCellText(el, rowIndex, colIndex, text).tableData;
7280
7280
  }
7281
7281
  if (el.rawXml) {
7282
- const newRawXml = chunkP2COO2QO_js.updateCellTextInRawXml(el, rowIndex, colIndex, text);
7282
+ const newRawXml = chunk6GFSF2ML_js.updateCellTextInRawXml(el, rowIndex, colIndex, text);
7283
7283
  if (newRawXml) {
7284
7284
  updates.rawXml = newRawXml;
7285
7285
  }
@@ -7303,7 +7303,7 @@ function createTableStructHandlers(input) {
7303
7303
  const { rowIndex, columnIndex: colIndex } = ts;
7304
7304
  const updates = {};
7305
7305
  if (selectedElement.rawXml) {
7306
- const newRawXml = chunkP2COO2QO_js.updateCellTextStyleInRawXml(
7306
+ const newRawXml = chunk6GFSF2ML_js.updateCellTextStyleInRawXml(
7307
7307
  selectedElement,
7308
7308
  rowIndex,
7309
7309
  colIndex,
@@ -7481,7 +7481,7 @@ function useExportSaveAs(input) {
7481
7481
  const sourceName = filePath ? filePath.replace(/\\/gu, "/").split("/").pop() : void 0;
7482
7482
  const slideSize = pptx.resolveSlideSizeSelection({ current: slideSizeEmu, canvas: canvasSize }).size;
7483
7483
  const data = {
7484
- slides: chunkP2COO2QO_js.buildSaveSlides(slides, templateElementsBySlideId),
7484
+ slides: chunk6GFSF2ML_js.buildSaveSlides(slides, templateElementsBySlideId),
7485
7485
  width: canvasSize.width,
7486
7486
  height: canvasSize.height,
7487
7487
  widthEmu: slideSize.widthEmu,
@@ -7644,7 +7644,7 @@ async function captureSlidesAsPngDataUrls(slideStageRef, slideIndices, setActive
7644
7644
  }
7645
7645
  function tilesToPdfPage(tilesResult) {
7646
7646
  return tilesResult.tiles.map((tile) => ({
7647
- image: chunkP2COO2QO_js.canvasToJpegData(tile.canvas),
7647
+ image: chunk6GFSF2ML_js.canvasToJpegData(tile.canvas),
7648
7648
  placement: pptx.placeTileOnPage(
7649
7649
  tile,
7650
7650
  tilesResult.fullWidth,
@@ -7677,7 +7677,7 @@ async function exportAllSlidesAsPdf(slideStageRef, totalSlides, setActiveSlide,
7677
7677
  if (pages.length === 0) {
7678
7678
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesPdf"]);
7679
7679
  }
7680
- const pdfBlobUrl = chunkP2COO2QO_js.buildPdfFromTiledImageData(pages);
7680
+ const pdfBlobUrl = chunk6GFSF2ML_js.buildPdfFromTiledImageData(pages);
7681
7681
  pptx.downloadDataUrl(pdfBlobUrl, filename);
7682
7682
  }
7683
7683
  async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, slideNotes, filename = "presentation-notes.pdf", options = {}) {
@@ -7707,7 +7707,7 @@ async function exportAllSlidesAsNotesPdf(slideStageRef, totalSlides, setActiveSl
7707
7707
  if (pages.length === 0) {
7708
7708
  throw new Error(i18n.translationsEn["pptx.export.errorNoSlidesNotesPdf"]);
7709
7709
  }
7710
- const pdfDataUrl = chunkP2COO2QO_js.buildNotesPdf(pages);
7710
+ const pdfDataUrl = chunk6GFSF2ML_js.buildNotesPdf(pages);
7711
7711
  pptx.downloadDataUrl(pdfDataUrl, filename);
7712
7712
  }
7713
7713
  async function exportAllSlidesAsVideo(slideStageRef, totalSlides, setActiveSlide, currentSlideIndex, options = {}) {
@@ -8285,13 +8285,13 @@ function usePrintHandlers(input) {
8285
8285
  const { slides, activeSlideIndex, canvasStageRef, setActiveSlideIndex, canvasSize } = input;
8286
8286
  const handoutMaster = input.handoutMaster ?? input.pptxData?.handoutMaster;
8287
8287
  const [isPrintDialogOpen, setIsPrintDialogOpen] = React17.useState(false);
8288
- const { t } = chunkP2COO2QO_js.useTranslation();
8288
+ const { t } = chunk6GFSF2ML_js.useTranslation();
8289
8289
  const viewerOptions = useViewerOptionsContext();
8290
8290
  const printRasterScale = (viewerOptions.advanced.printHighQuality ? 4 : 3) * pptx.resolveImageResolutionScale(viewerOptions);
8291
8291
  const handlePrint = () => {
8292
8292
  setIsPrintDialogOpen(true);
8293
8293
  };
8294
- const deckSlides = () => input.templateElementsBySlideId ? chunkP2COO2QO_js.buildSaveSlides(slides, input.templateElementsBySlideId) : slides;
8294
+ const deckSlides = () => input.templateElementsBySlideId ? chunk6GFSF2ML_js.buildSaveSlides(slides, input.templateElementsBySlideId) : slides;
8295
8295
  const plan = (settings, deck) => pptx.planPrintJob(settings, {
8296
8296
  slides: deck,
8297
8297
  activeSlideIndex,
@@ -8706,7 +8706,7 @@ function usePropertyHandlers(input) {
8706
8706
  width: canvasSize.width,
8707
8707
  height: canvasSize.height
8708
8708
  };
8709
- setCompareResult(chunkP2COO2QO_js.comparePresentation(cur, other));
8709
+ setCompareResult(chunk6GFSF2ML_js.comparePresentation(cur, other));
8710
8710
  setIsComparePanelOpen(true);
8711
8711
  } catch (err) {
8712
8712
  console.warn("Compare failed:", err);
@@ -8759,7 +8759,7 @@ function usePropertyHandlers(input) {
8759
8759
  };
8760
8760
  }
8761
8761
  function useDialogCustomShows(input) {
8762
- const { t } = chunkP2COO2QO_js.useTranslation();
8762
+ const { t } = chunk6GFSF2ML_js.useTranslation();
8763
8763
  const {
8764
8764
  activeSlide,
8765
8765
  customShows,
@@ -9084,7 +9084,7 @@ function useViewerDialogs(input) {
9084
9084
  };
9085
9085
  }
9086
9086
  function computeGridSpacingPx(documentGridSpacing) {
9087
- return pptx.computeGridSpacingPx(documentGridSpacing, chunkP2COO2QO_js.GRID_SIZE);
9087
+ return pptx.computeGridSpacingPx(documentGridSpacing, chunk6GFSF2ML_js.GRID_SIZE);
9088
9088
  }
9089
9089
  function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, presentationProperties) {
9090
9090
  const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
@@ -9093,7 +9093,7 @@ function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows, pre
9093
9093
  }
9094
9094
  function computeSlideSectionGroups(slides, sections) {
9095
9095
  return pptx.groupSlidesBySection(sections, slides).map((group) => ({
9096
- id: group.section?.id ?? (sections.length > 0 ? chunkP2COO2QO_js.UNGROUPED_SECTION_ID : chunkP2COO2QO_js.DEFAULT_SECTION_GROUP_ID),
9096
+ id: group.section?.id ?? (sections.length > 0 ? chunk6GFSF2ML_js.UNGROUPED_SECTION_ID : chunk6GFSF2ML_js.DEFAULT_SECTION_GROUP_ID),
9097
9097
  label: group.section?.name ?? (sections.length > 0 ? "Ungrouped Slides" : "Slides"),
9098
9098
  slideIndexes: group.slideIndexes,
9099
9099
  ...group.section?.color !== void 0 ? { color: group.section.color } : {},
@@ -9112,7 +9112,7 @@ function computeMasterPseudoSlide(mode, activeLayout, activeMaster) {
9112
9112
  });
9113
9113
  }
9114
9114
  function useDerivedSlideState(input) {
9115
- const { t } = chunkP2COO2QO_js.useTranslation();
9115
+ const { t } = chunk6GFSF2ML_js.useTranslation();
9116
9116
  const {
9117
9117
  slides,
9118
9118
  sections,
@@ -9138,10 +9138,10 @@ function useDerivedSlideState(input) {
9138
9138
  );
9139
9139
  const slideSectionGroups = React17.useMemo(
9140
9140
  () => computeSlideSectionGroups(slides, sections).map((group) => {
9141
- if (group.id === chunkP2COO2QO_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9141
+ if (group.id === chunk6GFSF2ML_js.UNGROUPED_SECTION_ID && group.label === "Ungrouped Slides") {
9142
9142
  return { ...group, label: t("pptx.slides.ungroupedSlides") };
9143
9143
  }
9144
- if (group.id === chunkP2COO2QO_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9144
+ if (group.id === chunk6GFSF2ML_js.DEFAULT_SECTION_GROUP_ID && group.label === "Slides") {
9145
9145
  return { ...group, label: t("pptx.sections.slides") };
9146
9146
  }
9147
9147
  return group;
@@ -9248,7 +9248,7 @@ function useAnnotationHandlers(input) {
9248
9248
  if (nextMode === "present") {
9249
9249
  presentation.enterPresentMode();
9250
9250
  } else if (mode === "present" && annotations.hasAnyAnnotations) {
9251
- chunkP2COO2QO_js.stopAllPersistentAudio();
9251
+ chunk6GFSF2ML_js.stopAllPersistentAudio();
9252
9252
  if (promptKeepInkAnnotations) {
9253
9253
  pendingModeAfterAnnotationsRef.current = nextMode;
9254
9254
  setShowKeepAnnotationsDialog(true);
@@ -9258,7 +9258,7 @@ function useAnnotationHandlers(input) {
9258
9258
  }
9259
9259
  } else {
9260
9260
  if (mode === "present") {
9261
- chunkP2COO2QO_js.stopAllPersistentAudio();
9261
+ chunk6GFSF2ML_js.stopAllPersistentAudio();
9262
9262
  }
9263
9263
  setMode(nextMode);
9264
9264
  }
@@ -9426,7 +9426,7 @@ function useSerialize(input) {
9426
9426
  guides: pptxGuides.length > 0 ? pptxGuides : void 0
9427
9427
  };
9428
9428
  });
9429
- const slidesToSave = chunkP2COO2QO_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9429
+ const slidesToSave = chunk6GFSF2ML_js.buildSaveSlides(slidesWithGuides, pending.templateElementsBySlideId);
9430
9430
  const saveOptions = pptx.buildDeckSaveOptions({
9431
9431
  // Without this the Slide Size card edited a viewer-only pixel value and
9432
9432
  // the saved `p:sldSz` never moved: passing `slideSize` is the only way a
@@ -9571,7 +9571,7 @@ function usePresentationSetup(input) {
9571
9571
  return;
9572
9572
  }
9573
9573
  if (mode === "present" && nextMode !== "present") {
9574
- chunkP2COO2QO_js.stopAllPersistentAudio();
9574
+ chunk6GFSF2ML_js.stopAllPersistentAudio();
9575
9575
  stopAnimationSound();
9576
9576
  const exitHandler = exitModeHandlerRef.current;
9577
9577
  if (exitHandler) {
@@ -9692,7 +9692,7 @@ function useCanvasImagePaste(input) {
9692
9692
  );
9693
9693
  }
9694
9694
  function formatPatchFor(element, format) {
9695
- const updated = chunkP2COO2QO_js.applyFormatToElement(element, format);
9695
+ const updated = chunk6GFSF2ML_js.applyFormatToElement(element, format);
9696
9696
  const updates = {};
9697
9697
  if (pptx$1.hasShapeProperties(updated)) {
9698
9698
  updates.shapeStyle = updated.shapeStyle;
@@ -9715,7 +9715,7 @@ function useFormatPainterEditing(input) {
9715
9715
  const prevFormatPainterRef = React17.useRef(false);
9716
9716
  React17.useEffect(() => {
9717
9717
  if (formatPainterActive && !prevFormatPainterRef.current && selectedElement) {
9718
- copiedFormatRef.current = chunkP2COO2QO_js.copyFormatFromElement(selectedElement);
9718
+ copiedFormatRef.current = chunk6GFSF2ML_js.copyFormatFromElement(selectedElement);
9719
9719
  } else if (!formatPainterActive) {
9720
9720
  copiedFormatRef.current = null;
9721
9721
  }
@@ -11187,7 +11187,7 @@ function useCollaborationWriteBack(input) {
11187
11187
  getSourceBytes: () => latest.current.getSourceBytes?.() ?? null,
11188
11188
  getSaveOptions: () => latest.current.getSaveOptions?.(),
11189
11189
  getTemplateElements: () => latest.current.templateElementsBySlideId,
11190
- mergeTemplateElements: chunkP2COO2QO_js.buildSaveSlides,
11190
+ mergeTemplateElements: chunk6GFSF2ML_js.buildSaveSlides,
11191
11191
  onWriteBackStatus: () => latest.current.onWriteBackStatus?.(
11192
11192
  pptx.writeBackReport(latest.current.config, created.getState())
11193
11193
  )
@@ -11744,8 +11744,8 @@ function useTouchGestures(input) {
11744
11744
  }
11745
11745
  const recognizer = pptx.createTouchGestureRecognizer({
11746
11746
  getScale: () => scaleRef.current,
11747
- minScale: chunkP2COO2QO_js.MIN_ZOOM_SCALE,
11748
- maxScale: chunkP2COO2QO_js.MAX_ZOOM_SCALE,
11747
+ minScale: chunk6GFSF2ML_js.MIN_ZOOM_SCALE,
11748
+ maxScale: chunk6GFSF2ML_js.MAX_ZOOM_SCALE,
11749
11749
  callbacks: {
11750
11750
  onPinchZoom: (newScale) => callbacksRef.current.onPinchZoom?.(newScale),
11751
11751
  onSwipe: (direction) => callbacksRef.current.onSwipe?.(direction),
@@ -11881,9 +11881,9 @@ function buildCanvasProps(input) {
11881
11881
  }
11882
11882
  };
11883
11883
  const handleHyperlinkClick = (url, target) => {
11884
- if (chunkP2COO2QO_js.isPpactionUrl(url)) {
11884
+ if (chunk6GFSF2ML_js.isPpactionUrl(url)) {
11885
11885
  if (mode === "present") {
11886
- const parsed = chunkP2COO2QO_js.parsePpactionUrl(url);
11886
+ const parsed = chunk6GFSF2ML_js.parsePpactionUrl(url);
11887
11887
  if (parsed) {
11888
11888
  presentation.handlePresentationAction({
11889
11889
  action: parsed.action,
@@ -12375,7 +12375,7 @@ function buildToolbarProps(input) {
12375
12375
  markDirty: history.markDirty
12376
12376
  }),
12377
12377
  formatPainterActive: s.formatPainterActive,
12378
- canActivateFormatPainter: chunkP2COO2QO_js.hasCopyableFormat(selectedElement),
12378
+ canActivateFormatPainter: chunk6GFSF2ML_js.hasCopyableFormat(selectedElement),
12379
12379
  onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
12380
12380
  isSelectionPaneOpen: s.isSelectionPaneOpen,
12381
12381
  onToggleSelectionPane: () => s.setIsSelectionPaneOpen((p) => !p),
@@ -13104,7 +13104,7 @@ function useViewerBuildingBlocks(input) {
13104
13104
  } = input;
13105
13105
  const collaborationConfig = pptx.resolveCollaborationConfig(input.collaboration);
13106
13106
  const [collaborationReadOnly, setCollaborationReadOnly] = React17.useState(Boolean(collaborationConfig));
13107
- const { t } = chunkP2COO2QO_js.useTranslation();
13107
+ const { t } = chunk6GFSF2ML_js.useTranslation();
13108
13108
  const [content, setContent] = React17.useState(incomingContent ?? null);
13109
13109
  const [loadOrigin, setLoadOrigin] = React17.useState("bootstrap");
13110
13110
  React17.useEffect(() => {
@@ -13306,23 +13306,23 @@ function ColorChangedImage({
13306
13306
  className,
13307
13307
  alt
13308
13308
  }) {
13309
- const tolerance = tolerancePct ?? chunkP2COO2QO_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13310
- const cacheKey = chunkP2COO2QO_js.buildCacheKey(
13309
+ const tolerance = tolerancePct ?? chunk6GFSF2ML_js.DEFAULT_COLOR_CHANGE_TOLERANCE;
13310
+ const cacheKey = chunk6GFSF2ML_js.buildCacheKey(
13311
13311
  src,
13312
13312
  clrChange.clrFrom,
13313
13313
  clrChange.clrTo,
13314
13314
  tolerance,
13315
13315
  Boolean(clrChange.clrToTransparent)
13316
13316
  );
13317
- const cached = chunkP2COO2QO_js.getCachedResult(cacheKey);
13317
+ const cached = chunk6GFSF2ML_js.getCachedResult(cacheKey);
13318
13318
  const [processedSrc, setProcessedSrc] = React17.useState(cached ?? null);
13319
13319
  React17.useEffect(() => {
13320
- if (chunkP2COO2QO_js.getCachedResult(cacheKey)) {
13321
- setProcessedSrc(chunkP2COO2QO_js.getCachedResult(cacheKey) ?? null);
13320
+ if (chunk6GFSF2ML_js.getCachedResult(cacheKey)) {
13321
+ setProcessedSrc(chunk6GFSF2ML_js.getCachedResult(cacheKey) ?? null);
13322
13322
  return;
13323
13323
  }
13324
13324
  let cancelled = false;
13325
- chunkP2COO2QO_js.applyColorChange(
13325
+ chunk6GFSF2ML_js.applyColorChange(
13326
13326
  src,
13327
13327
  clrChange.clrFrom,
13328
13328
  clrChange.clrTo,
@@ -13330,7 +13330,7 @@ function ColorChangedImage({
13330
13330
  Boolean(clrChange.clrToTransparent)
13331
13331
  ).then((result) => {
13332
13332
  if (!cancelled) {
13333
- chunkP2COO2QO_js.setCachedResult(cacheKey, result.dataUrl);
13333
+ chunk6GFSF2ML_js.setCachedResult(cacheKey, result.dataUrl);
13334
13334
  setProcessedSrc(result.dataUrl);
13335
13335
  }
13336
13336
  return void 0;
@@ -13422,7 +13422,7 @@ function TiledImageLayer({
13422
13422
  cancelled = true;
13423
13423
  };
13424
13424
  }, [src]);
13425
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunkP2COO2QO_js.getImageTilingStyle(element, nativeSize), ...style } });
13425
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className, style: { ...chunk6GFSF2ML_js.getImageTilingStyle(element, nativeSize), ...style } });
13426
13426
  }
13427
13427
  function renderImageEffectDefinitions(element, excludeDuotone = false) {
13428
13428
  return pptx.getImageSvgFilters(element).filter((definition) => !excludeDuotone || definition.id !== `duotone-${element.id}`).map((definition) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -13491,7 +13491,7 @@ function renderImg(el, style, filter, alt, opacity) {
13491
13491
  ...filter ? { filter } : {},
13492
13492
  ...opacity !== void 0 ? { opacity } : {}
13493
13493
  };
13494
- if (chunkP2COO2QO_js.isImageTiled(el)) {
13494
+ if (chunk6GFSF2ML_js.isImageTiled(el)) {
13495
13495
  const tileSrc = imgSrc(el);
13496
13496
  if (!tileSrc) {
13497
13497
  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" });
@@ -13513,9 +13513,9 @@ function renderImg(el, style, filter, alt, opacity) {
13513
13513
  pptx$1.isImageLikeElement(el) ? el.imageEffects?.colorWash : void 0
13514
13514
  );
13515
13515
  const clrChange = "imageEffects" in el ? el.imageEffects?.clrChange : void 0;
13516
- const duotoneColors = chunkP2COO2QO_js.getDuotoneColors(el);
13516
+ const duotoneColors = chunk6GFSF2ML_js.getDuotoneColors(el);
13517
13517
  const useDuotoneCanvas = Boolean(duotoneColors && !clrChange);
13518
- const filterForImg = useDuotoneCanvas ? chunkP2COO2QO_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13518
+ const filterForImg = useDuotoneCanvas ? chunk6GFSF2ML_js.getImageEffectsFilter(el, { excludeDuotone: true }) : filter;
13519
13519
  const canvasEffectStyles = {
13520
13520
  ...filterForImg ? { filter: filterForImg } : {},
13521
13521
  ...opacity !== void 0 ? { opacity } : {}
@@ -13591,10 +13591,10 @@ function SlideBackgroundImageLayer({
13591
13591
  style: { zIndex: 0 },
13592
13592
  children: renderImg(
13593
13593
  backgroundElement,
13594
- chunkP2COO2QO_js.getImageRenderStyle(backgroundElement),
13595
- chunkP2COO2QO_js.getImageEffectsFilter(backgroundElement),
13594
+ chunk6GFSF2ML_js.getImageRenderStyle(backgroundElement),
13595
+ chunk6GFSF2ML_js.getImageEffectsFilter(backgroundElement),
13596
13596
  "",
13597
- chunkP2COO2QO_js.getImageEffectsOpacity(backgroundElement)
13597
+ chunk6GFSF2ML_js.getImageEffectsOpacity(backgroundElement)
13598
13598
  )
13599
13599
  }
13600
13600
  );
@@ -13865,7 +13865,7 @@ function ChartElementView({
13865
13865
  onUpdateElement,
13866
13866
  animationState
13867
13867
  }) {
13868
- const { t } = chunkP2COO2QO_js.useTranslation();
13868
+ const { t } = chunk6GFSF2ML_js.useTranslation();
13869
13869
  const wrapperRef = React17.useRef(null);
13870
13870
  const { selection, setSelection } = useChartPartSelection();
13871
13871
  const [titleDraft, setTitleDraft] = React17.useState(null);
@@ -13880,7 +13880,7 @@ function ChartElementView({
13880
13880
  pptx.getBarFacePicturePixelSampleVersion
13881
13881
  );
13882
13882
  const viewModel = React17.useMemo(() => {
13883
- return canEdit ? chunkP2COO2QO_js.buildReactChartViewModel(element) : null;
13883
+ return canEdit ? chunk6GFSF2ML_js.buildReactChartViewModel(element) : null;
13884
13884
  }, [canEdit, element, barFacePictureSampleVersion]);
13885
13885
  React17.useEffect(pptx.ensureChartInteractionStyles, []);
13886
13886
  React17.useEffect(() => {
@@ -13985,9 +13985,9 @@ function ChartElementView({
13985
13985
  textStyle: animationState?.textStyle,
13986
13986
  onSelect: chart3D.onSelect,
13987
13987
  onDrag: chart3D.onDrag,
13988
- children: chunkP2COO2QO_js.renderChartElement(renderedElement, (key) => t(key))
13988
+ children: chunk6GFSF2ML_js.renderChartElement(renderedElement, (key) => t(key))
13989
13989
  }
13990
- ) : chunkP2COO2QO_js.renderChartElement(renderedElement, (key) => t(key)),
13990
+ ) : chunk6GFSF2ML_js.renderChartElement(renderedElement, (key) => t(key)),
13991
13991
  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) }),
13992
13992
  titleDraft !== null && /* @__PURE__ */ jsxRuntime.jsx(
13993
13993
  "input",
@@ -14015,7 +14015,7 @@ function ChartElementView({
14015
14015
  );
14016
14016
  }
14017
14017
  function useActionAffordance(element, canInteract) {
14018
- const { t } = chunkP2COO2QO_js.useTranslation();
14018
+ const { t } = chunk6GFSF2ML_js.useTranslation();
14019
14019
  pptx.ensureActionAffordanceStyles();
14020
14020
  return React17.useMemo(
14021
14021
  () => pptx.resolveElementActionAffordance(element, {
@@ -14293,7 +14293,7 @@ function ResizeHandles({
14293
14293
  nonRotationTransform,
14294
14294
  onRotate
14295
14295
  }) {
14296
- const { t } = chunkP2COO2QO_js.useTranslation();
14296
+ const { t } = chunk6GFSF2ML_js.useTranslation();
14297
14297
  const rotateRef = useRotateHandlePlacement(elementId, Boolean(onRotate));
14298
14298
  const peStyle = forcePointerEvents ? { ...HANDLE_TOUCH_ACTION, pointerEvents: "auto" } : HANDLE_TOUCH_ACTION;
14299
14299
  const resizeStyle = { ...HANDLE_TOUCH_ACTION, pointerEvents: "none" };
@@ -14326,7 +14326,7 @@ function ResizeHandles({
14326
14326
  "aria-label": t("pptx.selectionOverlay.resize", { handle }),
14327
14327
  "data-pptx-handle-kind": "resize",
14328
14328
  "data-pptx-compact": true,
14329
- className: chunkP2COO2QO_js.cn(
14329
+ className: chunk6GFSF2ML_js.cn(
14330
14330
  "absolute z-10 group border-0 bg-transparent p-0",
14331
14331
  RESIZE_DEFAULT_CLASSES,
14332
14332
  posClass,
@@ -14352,7 +14352,7 @@ function ResizeHandles({
14352
14352
  "div",
14353
14353
  {
14354
14354
  "data-pptx-handle-hit": true,
14355
- className: chunkP2COO2QO_js.cn(
14355
+ className: chunk6GFSF2ML_js.cn(
14356
14356
  "absolute -inset-px pointer-events-auto [--pptx-handle-hit-inset:-1px]",
14357
14357
  corner ? "max-md:-inset-1.5 max-md:[--pptx-handle-hit-inset:-6px]" : "max-md:-inset-2 max-md:[--pptx-handle-hit-inset:-8px]"
14358
14358
  ),
@@ -14373,7 +14373,7 @@ function ResizeHandles({
14373
14373
  "aria-label": t("pptx.selectionOverlay.rotate"),
14374
14374
  "data-pptx-handle-kind": "rotate",
14375
14375
  "data-pptx-compact": true,
14376
- className: chunkP2COO2QO_js.cn(
14376
+ className: chunk6GFSF2ML_js.cn(
14377
14377
  "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",
14378
14378
  ROTATE_DEFAULT_CLASSES
14379
14379
  ),
@@ -14450,10 +14450,10 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
14450
14450
  const svgHeight = Math.max(el.height, 1);
14451
14451
  const ss = shapeEl?.shapeStyle;
14452
14452
  const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
14453
- const strokeColor = chunkP2COO2QO_js.normalizeHexColor(ss?.strokeColor, chunkP2COO2QO_js.DEFAULT_STROKE_COLOR);
14454
- const strokePaint = chunkP2COO2QO_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14455
- const dashType = chunkP2COO2QO_js.normalizeStrokeDashType(ss?.strokeDash);
14456
- const dashArray = chunkP2COO2QO_js.getSvgStrokeDasharray(
14453
+ const strokeColor = chunk6GFSF2ML_js.normalizeHexColor(ss?.strokeColor, chunk6GFSF2ML_js.DEFAULT_STROKE_COLOR);
14454
+ const strokePaint = chunk6GFSF2ML_js.colorWithOpacity(strokeColor, ss?.strokeOpacity);
14455
+ const dashType = chunk6GFSF2ML_js.normalizeStrokeDashType(ss?.strokeDash);
14456
+ const dashArray = chunk6GFSF2ML_js.getSvgStrokeDasharray(
14457
14457
  dashType,
14458
14458
  Math.max(strokeWidth, 1),
14459
14459
  ss?.customDashSegments,
@@ -14465,14 +14465,14 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
14465
14465
  const markerSeed = el.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
14466
14466
  const startMarkerId = `${markerSeed}-sel-start`;
14467
14467
  const endMarkerId = `${markerSeed}-sel-end`;
14468
- const compoundOffsets = chunkP2COO2QO_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14469
- const compoundWidths = chunkP2COO2QO_js.getCompoundLineWidths(compoundLine, strokeWidth);
14468
+ const compoundOffsets = chunk6GFSF2ML_js.getCompoundLineOffsets(compoundLine, strokeWidth);
14469
+ const compoundWidths = chunk6GFSF2ML_js.getCompoundLineWidths(compoundLine, strokeWidth);
14470
14470
  const strokeCap = pptx.svgLineCap(ss?.lineCap, dashArray !== void 0);
14471
14471
  const textEl = pptx$1.hasTextProperties(el) ? el : void 0;
14472
14472
  const connectorText = textEl?.text?.trim() ?? "";
14473
14473
  const connectorTextSegments = textEl?.textSegments;
14474
14474
  const connectorTextStyle = textEl?.textStyle;
14475
- const pathGeometry = shapeEl ? chunkP2COO2QO_js.getConnectorPathGeometry(shapeEl) : {
14475
+ const pathGeometry = shapeEl ? chunk6GFSF2ML_js.getConnectorPathGeometry(shapeEl) : {
14476
14476
  pathData: `M 0 0 L ${viewWidth} ${viewHeight}`,
14477
14477
  startX: 0,
14478
14478
  startY: 0,
@@ -14493,16 +14493,16 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
14493
14493
  strokeWidth
14494
14494
  );
14495
14495
  const selColor = selClr === "blue-400" ? "#60a5fa" : "#3b82f6";
14496
- const lineShadow = chunkP2COO2QO_js.buildLineShadowCss(el);
14497
- const lineGlow = chunkP2COO2QO_js.buildLineGlowFilter(el);
14496
+ const lineShadow = chunk6GFSF2ML_js.buildLineShadowCss(el);
14497
+ const lineGlow = chunk6GFSF2ML_js.buildLineGlowFilter(el);
14498
14498
  return /* @__PURE__ */ jsxRuntime.jsxs(
14499
14499
  "div",
14500
14500
  {
14501
14501
  "data-pptx-element": "true",
14502
14502
  "data-element-id": el.id,
14503
- role: chunkP2COO2QO_js.getAriaRole(el, { actionable: false }),
14504
- "aria-label": chunkP2COO2QO_js.getAriaLabel(el),
14505
- "aria-roledescription": chunkP2COO2QO_js.getAriaRoleDescription(el),
14503
+ role: chunk6GFSF2ML_js.getAriaRole(el, { actionable: false }),
14504
+ "aria-label": chunk6GFSF2ML_js.getAriaLabel(el),
14505
+ "aria-roledescription": chunk6GFSF2ML_js.getAriaRoleDescription(el),
14506
14506
  "aria-selected": isSelected ? true : void 0,
14507
14507
  className: "absolute",
14508
14508
  style: {
@@ -14535,14 +14535,14 @@ var ConnectorElementRendererMemo = /* @__PURE__ */ React17__default.default.memo
14535
14535
  style: { overflow: "visible", pointerEvents: "none" },
14536
14536
  children: [
14537
14537
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
14538
- chunkP2COO2QO_js.renderConnectorMarker(
14538
+ chunk6GFSF2ML_js.renderConnectorMarker(
14539
14539
  startMarkerId,
14540
14540
  startArrow,
14541
14541
  strokePaint,
14542
14542
  ss?.connectorStartArrowWidth,
14543
14543
  ss?.connectorStartArrowLength
14544
14544
  ),
14545
- chunkP2COO2QO_js.renderConnectorMarker(
14545
+ chunk6GFSF2ML_js.renderConnectorMarker(
14546
14546
  endMarkerId,
14547
14547
  endArrow,
14548
14548
  strokePaint,
@@ -14752,14 +14752,14 @@ function getElementInteractionProps({
14752
14752
  };
14753
14753
  }
14754
14754
  function renderDagDuotoneFilterForElement(el) {
14755
- if (!chunkP2COO2QO_js.hasDagDuotoneEffect(el)) {
14755
+ if (!chunk6GFSF2ML_js.hasDagDuotoneEffect(el)) {
14756
14756
  return null;
14757
14757
  }
14758
14758
  const duotone = el.shapeStyle?.dagDuotone;
14759
14759
  if (!duotone) {
14760
14760
  return null;
14761
14761
  }
14762
- return chunkP2COO2QO_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14762
+ return chunk6GFSF2ML_js.renderDagDuotoneSvgFilter(el.id, duotone.color1, duotone.color2);
14763
14763
  }
14764
14764
  function getContainerStyle({
14765
14765
  el,
@@ -14787,10 +14787,10 @@ function getContainerStyle({
14787
14787
  top: isFullscreenMedia ? fs.top : el.y,
14788
14788
  width: isFullscreenMedia ? fs.width : painted.width,
14789
14789
  ...heightStyle,
14790
- transform: isFullscreenMedia ? fs.transform : chunkP2COO2QO_js.getElementTransform(el),
14790
+ transform: isFullscreenMedia ? fs.transform : chunk6GFSF2ML_js.getElementTransform(el),
14791
14791
  transformOrigin: "center",
14792
14792
  overflow: overflowValue,
14793
- clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunkP2COO2QO_js.getCropShapeClipPath(el) : void 0,
14793
+ clipPath: isPicture ? void 0 : isImg && !has3DExtrusion ? chunk6GFSF2ML_js.getCropShapeClipPath(el) : void 0,
14794
14794
  zIndex: isFullscreenMedia ? fs.zIndex : zIndex,
14795
14795
  visibility: animationState?.visible === false ? "hidden" : "visible",
14796
14796
  animation: animationState?.cssAnimation,
@@ -14835,9 +14835,9 @@ function getContainerStyle({
14835
14835
  function shapeParams(element) {
14836
14836
  const style = pptx$1.hasShapeProperties(element) ? element.shapeStyle : void 0;
14837
14837
  const strokeWidth = pptx.paintedStrokeWidth(style);
14838
- const strokeColor = chunkP2COO2QO_js.normalizeHexColor(style?.strokeColor, chunkP2COO2QO_js.DEFAULT_STROKE_COLOR);
14839
- const fillColor = chunkP2COO2QO_js.normalizeHexColor(style?.fillColor, chunkP2COO2QO_js.DEFAULT_FILL_COLOR);
14840
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkP2COO2QO_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14838
+ const strokeColor = chunk6GFSF2ML_js.normalizeHexColor(style?.strokeColor, chunk6GFSF2ML_js.DEFAULT_STROKE_COLOR);
14839
+ const fillColor = chunk6GFSF2ML_js.normalizeHexColor(style?.fillColor, chunk6GFSF2ML_js.DEFAULT_FILL_COLOR);
14840
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk6GFSF2ML_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
14841
14841
  return { hf: hasFill, fc: fillColor, sw: strokeWidth, sc: strokeColor };
14842
14842
  }
14843
14843
  var Extrusion3DOverlayMemo = /* @__PURE__ */ React17__default.default.memo(
@@ -14950,14 +14950,14 @@ function ShapeEffectOverlay({
14950
14950
  const hollowHit = pptx.buildHollowHitOutline(element);
14951
14951
  const fillLayer = pptx.getSilhouetteFillLayer(element);
14952
14952
  const overlayFill = pptx.buildSubpathFillOverlay(element);
14953
- const subpathFill = overlayFill?.silhouette && (chunkP2COO2QO_js.rendersCustomVectorPath(element) || chunkP2COO2QO_js.rendersWedgeCalloutVector(element)) ? void 0 : overlayFill;
14953
+ const subpathFill = overlayFill?.silhouette && (chunk6GFSF2ML_js.rendersCustomVectorPath(element) || chunk6GFSF2ML_js.rendersWedgeCalloutVector(element)) ? void 0 : overlayFill;
14954
14954
  if (!overlay && !softEdge && !bevelLightingFilter && !strokeOutline && !hollowHit && !subpathFill && !fillLayer && !reflection) {
14955
14955
  return null;
14956
14956
  }
14957
14957
  const fillOverlayStyle = overlay ? {
14958
14958
  position: "absolute",
14959
14959
  inset: 0,
14960
- ...pptx$1.isImageLikeElement(element) ? chunkP2COO2QO_js.getImageSurfaceMaskStyle(element) : {},
14960
+ ...pptx$1.isImageLikeElement(element) ? chunk6GFSF2ML_js.getImageSurfaceMaskStyle(element) : {},
14961
14961
  background: overlay.color,
14962
14962
  mixBlendMode: overlay.blendMode,
14963
14963
  pointerEvents: "none"
@@ -15176,10 +15176,10 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
15176
15176
  const backgroundAnimationState = pptx.getBackgroundAnimationState(el, presentationElementStates);
15177
15177
  const effectPlacement = pptx.getShapeEffectLayerPlacement(el);
15178
15178
  const visualAnimationState = backgroundAnimationState ?? animationState;
15179
- const isTxt = chunkP2COO2QO_js.isEditableTextElement(el) && allow.textEditable;
15179
+ const isTxt = chunk6GFSF2ML_js.isEditableTextElement(el) && allow.textEditable;
15180
15180
  const txtSE = pptx$1.hasTextProperties(el) ? el.textStyle : void 0;
15181
15181
  const textStyleOverrideCss = pptx.buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
15182
- const ss = chunkP2COO2QO_js.getShapeVisualStyle(
15182
+ const ss = chunk6GFSF2ML_js.getShapeVisualStyle(
15183
15183
  el,
15184
15184
  hf,
15185
15185
  fc,
@@ -15188,9 +15188,9 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
15188
15188
  visualAnimationState?.animatesFill,
15189
15189
  visualAnimationState?.animatesStroke
15190
15190
  );
15191
- const ts = chunkP2COO2QO_js.getTextStyleForElement(el, chunkP2COO2QO_js.DEFAULT_TEXT_COLOR);
15191
+ const ts = chunk6GFSF2ML_js.getTextStyleForElement(el, chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR);
15192
15192
  const isImg = el.type === "picture" || el.type === "image";
15193
- const vs = chunkP2COO2QO_js.renderVectorShape(
15193
+ const vs = chunk6GFSF2ML_js.renderVectorShape(
15194
15194
  el,
15195
15195
  isImg ? false : hf,
15196
15196
  fc,
@@ -15200,10 +15200,10 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
15200
15200
  visualAnimationState?.animatesStroke
15201
15201
  );
15202
15202
  const isModel3D = el.type === "model3d";
15203
- const isConn = chunkP2COO2QO_js.isConnectorOrLineElement(el);
15203
+ const isConn = chunk6GFSF2ML_js.isConnectorOrLineElement(el);
15204
15204
  const shapeStyle3d = pptx$1.hasShapeProperties(el) ? el.shapeStyle : void 0;
15205
15205
  const extrusionData = React17.useMemo(
15206
- () => chunkP2COO2QO_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15206
+ () => chunk6GFSF2ML_js.build3DExtrusionData(shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height),
15207
15207
  [shapeStyle3d?.shape3d, shapeStyle3d?.scene3d, fc, el.width, el.height]
15208
15208
  );
15209
15209
  const actionAffordance = useActionAffordance(el, canInteract);
@@ -15294,7 +15294,7 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
15294
15294
  "aria-hidden": aria.hidden ? true : void 0,
15295
15295
  "aria-selected": isSelected ? true : void 0,
15296
15296
  tabIndex: isFocusable ? 0 : -1,
15297
- className: chunkP2COO2QO_js.cn(
15297
+ className: chunk6GFSF2ML_js.cn(
15298
15298
  "absolute",
15299
15299
  "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
15300
15300
  cur,
@@ -15374,9 +15374,9 @@ var ElementRenderer = /* @__PURE__ */ React17__default.default.memo(
15374
15374
  txtSE,
15375
15375
  txtS: ts,
15376
15376
  vecShape: backgroundAnimationState && !isImg ? null : vs,
15377
- imgStyle: chunkP2COO2QO_js.getImageRenderStyle(el),
15378
- imgFilter: chunkP2COO2QO_js.getImageEffectsFilter(el),
15379
- imgOpacity: chunkP2COO2QO_js.getImageEffectsOpacity(el),
15377
+ imgStyle: chunk6GFSF2ML_js.getImageRenderStyle(el),
15378
+ imgFilter: chunk6GFSF2ML_js.getImageEffectsFilter(el),
15379
+ imgOpacity: chunk6GFSF2ML_js.getImageEffectsOpacity(el),
15380
15380
  imgAlt: imageAltText,
15381
15381
  isTxtEl: isTxt,
15382
15382
  media: mediaDataUrls,
@@ -15513,10 +15513,10 @@ function renderStrokeView(view, pressureSensitive, replayStyle, key) {
15513
15513
  }
15514
15514
  function renderInk(el, options) {
15515
15515
  const replay = options?.replay ?? false;
15516
- const strokes = chunkP2COO2QO_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15516
+ const strokes = chunk6GFSF2ML_js.buildInkGroupStrokes(el, { color: "#000", width: 3 });
15517
15517
  strokes.some((s) => s.circles || s.nibMarks);
15518
15518
  const pressureSensitive = options?.pressureSensitive;
15519
- const replayStyles = replay ? chunkP2COO2QO_js.getInkReplayStyles(el, options?.replayConfig) : null;
15519
+ const replayStyles = replay ? chunk6GFSF2ML_js.getInkReplayStyles(el, options?.replayConfig) : null;
15520
15520
  return /* @__PURE__ */ jsxRuntime.jsxs(
15521
15521
  "svg",
15522
15522
  {
@@ -15524,7 +15524,7 @@ function renderInk(el, options) {
15524
15524
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15525
15525
  preserveAspectRatio: "none",
15526
15526
  children: [
15527
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkP2COO2QO_js.INK_REPLAY_KEYFRAMES }),
15527
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk6GFSF2ML_js.INK_REPLAY_KEYFRAMES }),
15528
15528
  strokes.map(
15529
15529
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-ink-${i}`)
15530
15530
  )
@@ -15535,7 +15535,7 @@ function renderInk(el, options) {
15535
15535
  function renderGroup(children, parentGroupFill) {
15536
15536
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full h-full pointer-events-none", children: pptx.filterRenderedElements(children).map((c, childIndex) => {
15537
15537
  const { hf, fc, sw, sc } = shapeParams(c);
15538
- const baseSs = chunkP2COO2QO_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15538
+ const baseSs = chunk6GFSF2ML_js.getShapeVisualStyle(c, hf, fc, sw, sc);
15539
15539
  const inheritedFill = pptx.resolveGroupChildFill(c, parentGroupFill);
15540
15540
  const ss = inheritedFill ? {
15541
15541
  ...baseSs,
@@ -15546,9 +15546,9 @@ function renderGroup(children, parentGroupFill) {
15546
15546
  backgroundPosition: inheritedFill.backgroundPosition
15547
15547
  } : baseSs;
15548
15548
  const isI = c.type === "picture" || c.type === "image";
15549
- const vs = chunkP2COO2QO_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15550
- const ts = chunkP2COO2QO_js.getTextStyleForElement(c, chunkP2COO2QO_js.DEFAULT_TEXT_COLOR);
15551
- const isTxt = chunkP2COO2QO_js.isEditableTextElement(c);
15549
+ const vs = chunk6GFSF2ML_js.renderVectorShape(c, isI ? false : hf, fc, sw, sc);
15550
+ const ts = chunk6GFSF2ML_js.getTextStyleForElement(c, chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR);
15551
+ const isTxt = chunk6GFSF2ML_js.isEditableTextElement(c);
15552
15552
  return /* @__PURE__ */ jsxRuntime.jsxs(
15553
15553
  "div",
15554
15554
  {
@@ -15557,9 +15557,9 @@ function renderGroup(children, parentGroupFill) {
15557
15557
  style: {
15558
15558
  left: c.x,
15559
15559
  top: c.y,
15560
- width: Math.max(c.width, chunkP2COO2QO_js.MIN_ELEMENT_SIZE),
15561
- height: Math.max(c.height, chunkP2COO2QO_js.MIN_ELEMENT_SIZE),
15562
- transform: chunkP2COO2QO_js.getElementTransform(c),
15560
+ width: Math.max(c.width, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE),
15561
+ height: Math.max(c.height, chunk6GFSF2ML_js.MIN_ELEMENT_SIZE),
15562
+ transform: chunk6GFSF2ML_js.getElementTransform(c),
15563
15563
  transformOrigin: "center",
15564
15564
  ...ss,
15565
15565
  ...isI ? {
@@ -15584,8 +15584,8 @@ function renderGroup(children, parentGroupFill) {
15584
15584
  // A nested group: recurse, chaining the inherited fill so a
15585
15585
  // `grpFill` shape under a fill-less sub-group still paints.
15586
15586
  renderGroup(c.children, pptx.getGroupChildParentFill(c, parentGroupFill))
15587
- ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkP2COO2QO_js.getImageSurfaceStyle(c), children: [
15588
- chunkP2COO2QO_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15587
+ ) : isI && ("svgData" in c && c.svgData || "imageData" in c && c.imageData) ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk6GFSF2ML_js.getImageSurfaceStyle(c), children: [
15588
+ chunk6GFSF2ML_js.isImageTiled(c) ? /* @__PURE__ */ jsxRuntime.jsx(
15589
15589
  TiledImageLayer,
15590
15590
  {
15591
15591
  element: c,
@@ -15598,7 +15598,7 @@ function renderGroup(children, parentGroupFill) {
15598
15598
  src: "svgData" in c && c.svgData ? c.svgData : c.imageData,
15599
15599
  alt: i18n.translationsEn["pptx.ink.groupChildAlt"],
15600
15600
  className: "pointer-events-none select-none",
15601
- style: chunkP2COO2QO_js.getImageRenderStyle(c),
15601
+ style: chunk6GFSF2ML_js.getImageRenderStyle(c),
15602
15602
  draggable: false
15603
15603
  }
15604
15604
  ),
@@ -15610,7 +15610,7 @@ function renderGroup(children, parentGroupFill) {
15610
15610
  {
15611
15611
  className: "relative z-10 w-full h-full pointer-events-none whitespace-pre-wrap break-words leading-[1.3]",
15612
15612
  style: ts,
15613
- children: chunkP2COO2QO_js.renderTextSegments(c, chunkP2COO2QO_js.DEFAULT_TEXT_COLOR)
15613
+ children: chunk6GFSF2ML_js.renderTextSegments(c, chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR)
15614
15614
  }
15615
15615
  ) : null
15616
15616
  ] })
@@ -15624,8 +15624,8 @@ function renderContentPart(el, options) {
15624
15624
  if (el.inkStrokes && el.inkStrokes.length > 0) {
15625
15625
  const replay = options?.replay ?? false;
15626
15626
  const pressureSensitive = options?.pressureSensitive ?? true;
15627
- const strokes = chunkP2COO2QO_js.buildContentPartStrokes(el);
15628
- const replayStyles = replay ? chunkP2COO2QO_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15627
+ const strokes = chunk6GFSF2ML_js.buildContentPartStrokes(el);
15628
+ const replayStyles = replay ? chunk6GFSF2ML_js.getContentPartReplayStyles(el.inkStrokes, options?.replayConfig) : null;
15629
15629
  return /* @__PURE__ */ jsxRuntime.jsxs(
15630
15630
  "svg",
15631
15631
  {
@@ -15633,7 +15633,7 @@ function renderContentPart(el, options) {
15633
15633
  viewBox: `0 0 ${Math.max(el.width, 1)} ${Math.max(el.height, 1)}`,
15634
15634
  preserveAspectRatio: "none",
15635
15635
  children: [
15636
- replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunkP2COO2QO_js.INK_REPLAY_KEYFRAMES }),
15636
+ replay && /* @__PURE__ */ jsxRuntime.jsx("style", { children: chunk6GFSF2ML_js.INK_REPLAY_KEYFRAMES }),
15637
15637
  strokes.map(
15638
15638
  (s, i) => renderStrokeView(s, pressureSensitive, replayStyles?.[i], `${el.id}-cp-ink-${i}`)
15639
15639
  )
@@ -15860,9 +15860,9 @@ function useInlineListEditor(element, rootRef, onChange, onModelReplacement) {
15860
15860
  collaboration: connected,
15861
15861
  model: pptx.createInlineListModelObserver(element),
15862
15862
  activationSelection,
15863
- children: seed && !connected ? chunkP2COO2QO_js.renderTextSegments(
15863
+ children: seed && !connected ? chunk6GFSF2ML_js.renderTextSegments(
15864
15864
  element,
15865
- chunkP2COO2QO_js.DEFAULT_TEXT_COLOR,
15865
+ chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR,
15866
15866
  void 0,
15867
15867
  void 0,
15868
15868
  void 0,
@@ -16086,8 +16086,8 @@ function InlineTextEditor({
16086
16086
  pending.endOffset
16087
16087
  );
16088
16088
  });
16089
- const warpStyle = chunkP2COO2QO_js.getTextWarpStyle(textStyleRaw);
16090
- const compensationTransform = chunkP2COO2QO_js.getTextCompensationTransform(element);
16089
+ const warpStyle = chunk6GFSF2ML_js.getTextWarpStyle(textStyleRaw);
16090
+ const compensationTransform = chunk6GFSF2ML_js.getTextCompensationTransform(element);
16091
16091
  const warpTransform = warpStyle?.transform;
16092
16092
  const mergedTransform = [compensationTransform, warpTransform].filter(Boolean).join(" ") || void 0;
16093
16093
  const wrapperStyle = {
@@ -16095,7 +16095,7 @@ function InlineTextEditor({
16095
16095
  ...textStyle,
16096
16096
  ...warpStyle,
16097
16097
  transform: mergedTransform,
16098
- transformOrigin: warpStyle?.transformOrigin || (compensationTransform ? chunkP2COO2QO_js.getTextCompensationOrigin(element) : "center")
16098
+ transformOrigin: warpStyle?.transformOrigin || (compensationTransform ? chunk6GFSF2ML_js.getTextCompensationOrigin(element) : "center")
16099
16099
  };
16100
16100
  const nextInlineStyleValue = (property) => {
16101
16101
  if (!pptx$1.hasTextProperties(element)) {
@@ -16170,7 +16170,7 @@ function InlineTextEditor({
16170
16170
  const text = e.clipboardData.getData("text/plain");
16171
16171
  document.execCommand("insertText", false, text);
16172
16172
  },
16173
- children: list.seed ? list.children : seed.hasRichSegments ? chunkP2COO2QO_js.renderTextSegments(element, chunkP2COO2QO_js.DEFAULT_TEXT_COLOR) : seed.initialText
16173
+ children: list.seed ? list.children : seed.hasRichSegments ? chunk6GFSF2ML_js.renderTextSegments(element, chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR) : seed.initialText
16174
16174
  },
16175
16175
  list.seed?.paragraphs[0].token ?? "plain"
16176
16176
  );
@@ -16335,7 +16335,7 @@ function OleActionFooter({
16335
16335
  info,
16336
16336
  showActions
16337
16337
  }) {
16338
- const { t } = chunkP2COO2QO_js.useTranslation();
16338
+ const { t } = chunk6GFSF2ML_js.useTranslation();
16339
16339
  if (!showActions || !info.canDownload || !el.oleEmbeddedData) {
16340
16340
  return null;
16341
16341
  }
@@ -16444,7 +16444,7 @@ function SmartArtInlineNodeEditor({
16444
16444
  onCommit,
16445
16445
  onCancel
16446
16446
  }) {
16447
- const { t } = chunkP2COO2QO_js.useTranslation();
16447
+ const { t } = chunk6GFSF2ML_js.useTranslation();
16448
16448
  const ref = React17__default.default.useRef(null);
16449
16449
  const [value, setValue] = React17__default.default.useState(initialText);
16450
16450
  const settled = React17__default.default.useRef(false);
@@ -17072,7 +17072,7 @@ function SmartArtRendererImpl({
17072
17072
  onUpdateElement,
17073
17073
  animationState
17074
17074
  }) {
17075
- const { t } = chunkP2COO2QO_js.useTranslation();
17075
+ const { t } = chunk6GFSF2ML_js.useTranslation();
17076
17076
  if (element.type !== "smartArt" || !element.smartArtData) {
17077
17077
  return /* @__PURE__ */ jsxRuntime.jsx(
17078
17078
  "div",
@@ -17318,7 +17318,7 @@ function groupIntoParagraphs(element, fieldContext) {
17318
17318
  element,
17319
17319
  fieldContext ? (seg) => {
17320
17320
  if (seg.fieldType) {
17321
- const substituted = chunkP2COO2QO_js.substituteFieldText(
17321
+ const substituted = chunk6GFSF2ML_js.substituteFieldText(
17322
17322
  seg.text,
17323
17323
  seg.fieldType,
17324
17324
  fieldContext,
@@ -17349,7 +17349,7 @@ function getSegmentTspanProps(segment, element, fallbackColor, fitScale = 1) {
17349
17349
  segment,
17350
17350
  element.textStyle,
17351
17351
  fallbackColor,
17352
- chunkP2COO2QO_js.DEFAULT_TEXT_FONT_SIZE
17352
+ chunk6GFSF2ML_js.DEFAULT_TEXT_FONT_SIZE
17353
17353
  );
17354
17354
  return {
17355
17355
  fill: paint.fill,
@@ -17364,8 +17364,8 @@ function resolveSegmentFont(segment, element) {
17364
17364
  const s = segment.style || {};
17365
17365
  const family = s.fontFamily || element.textStyle?.fontFamily;
17366
17366
  return {
17367
- fontFamily: family ? pptx$1.getSubstituteFontFamily(family) : chunkP2COO2QO_js.DEFAULT_FONT_FAMILY,
17368
- fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunkP2COO2QO_js.DEFAULT_TEXT_FONT_SIZE,
17367
+ fontFamily: family ? pptx$1.getSubstituteFontFamily(family) : chunk6GFSF2ML_js.DEFAULT_FONT_FAMILY,
17368
+ fontSizePx: s.fontSize ?? element.textStyle?.fontSize ?? chunk6GFSF2ML_js.DEFAULT_TEXT_FONT_SIZE,
17369
17369
  bold: s.bold ?? element.textStyle?.bold,
17370
17370
  italic: s.italic ?? element.textStyle?.italic
17371
17371
  };
@@ -17453,9 +17453,9 @@ function WarpedText({
17453
17453
  const warpAdj2 = textEl.textStyle?.textWarpAdj2;
17454
17454
  const align = textEl.textStyle?.align ?? "center";
17455
17455
  const { startOffset, textAnchor } = getAlignmentProps(align);
17456
- const baseFontSize = textEl.textStyle?.fontSize ?? chunkP2COO2QO_js.DEFAULT_TEXT_FONT_SIZE;
17457
- const baseFontFamily = textEl.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(textEl.textStyle.fontFamily) : chunkP2COO2QO_js.DEFAULT_FONT_FAMILY;
17458
- const baseFill = chunkP2COO2QO_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17456
+ const baseFontSize = textEl.textStyle?.fontSize ?? chunk6GFSF2ML_js.DEFAULT_TEXT_FONT_SIZE;
17457
+ const baseFontFamily = textEl.textStyle?.fontFamily ? pptx$1.getSubstituteFontFamily(textEl.textStyle.fontFamily) : chunk6GFSF2ML_js.DEFAULT_FONT_FAMILY;
17458
+ const baseFill = chunk6GFSF2ML_js.normalizeHexColor(textEl.textStyle?.color, fallbackColor);
17459
17459
  if (pptx.hasGlyphEnvelope(preset)) {
17460
17460
  const perLine = pptx.buildGlyphEnvelopeBlock(
17461
17461
  preset,
@@ -17618,7 +17618,7 @@ function renderEquationBox(el, interactive) {
17618
17618
  }
17619
17619
  const style = pptx.buildEquationBlockStyle(
17620
17620
  pptx.buildTextBlockStyle(el, {
17621
- fallbackColor: chunkP2COO2QO_js.DEFAULT_TEXT_COLOR,
17621
+ fallbackColor: chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR,
17622
17622
  bodyLayout: true,
17623
17623
  pxLengths: true
17624
17624
  })
@@ -17626,7 +17626,7 @@ function renderEquationBox(el, interactive) {
17626
17626
  return /* @__PURE__ */ jsxRuntime.jsx(
17627
17627
  "div",
17628
17628
  {
17629
- className: chunkP2COO2QO_js.cn("relative z-10 w-full h-full", interactive ? "" : "pointer-events-none"),
17629
+ className: chunk6GFSF2ML_js.cn("relative z-10 w-full h-full", interactive ? "" : "pointer-events-none"),
17630
17630
  style,
17631
17631
  children: equations
17632
17632
  }
@@ -17652,7 +17652,7 @@ function renderTextElementBody(options) {
17652
17652
  const useSvgWarp = pptx.shouldUseSvgWarp(
17653
17653
  pptx$1.hasTextProperties(el) ? el.textStyle?.textWarpPreset : void 0
17654
17654
  );
17655
- const scene3dStyle = pptx$1.hasTextProperties(el) ? chunkP2COO2QO_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17655
+ const scene3dStyle = pptx$1.hasTextProperties(el) ? chunk6GFSF2ML_js.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height }) : void 0;
17656
17656
  const rotationTransform = pptx.getTextBodyRotationTransform(el);
17657
17657
  const compensation = pptx.getTextCompensationStyle(el);
17658
17658
  const composedTransform = [rotationTransform, compensation?.transform, scene3dStyle?.transform].filter(Boolean).join(" ") || void 0;
@@ -17685,18 +17685,18 @@ function renderTextElementBody(options) {
17685
17685
  shouldRenderText && !equationBox && (useSvgWarp ? /* @__PURE__ */ jsxRuntime.jsx(
17686
17686
  "div",
17687
17687
  {
17688
- className: chunkP2COO2QO_js.cn(
17688
+ className: chunk6GFSF2ML_js.cn(
17689
17689
  "relative z-10 w-full h-full",
17690
17690
  onHyperlinkClick ? "" : "pointer-events-none"
17691
17691
  ),
17692
- style: { ...chunkP2COO2QO_js.getTextLayoutStyle(el), ...transformStyle },
17692
+ style: { ...chunk6GFSF2ML_js.getTextLayoutStyle(el), ...transformStyle },
17693
17693
  children: /* @__PURE__ */ jsxRuntime.jsx(
17694
17694
  WarpedText,
17695
17695
  {
17696
17696
  element: el,
17697
17697
  width: el.width,
17698
17698
  height: el.height,
17699
- fallbackColor: chunkP2COO2QO_js.DEFAULT_TEXT_COLOR,
17699
+ fallbackColor: chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR,
17700
17700
  findHighlights: findHl,
17701
17701
  fieldContext
17702
17702
  }
@@ -17705,19 +17705,19 @@ function renderTextElementBody(options) {
17705
17705
  ) : /* @__PURE__ */ jsxRuntime.jsx(
17706
17706
  "div",
17707
17707
  {
17708
- className: chunkP2COO2QO_js.cn(
17708
+ className: chunk6GFSF2ML_js.cn(
17709
17709
  "relative z-10 w-full h-full whitespace-pre-wrap break-words leading-[1.3]",
17710
17710
  onHyperlinkClick ? "" : "pointer-events-none"
17711
17711
  ),
17712
17712
  style: {
17713
- ...chunkP2COO2QO_js.getTextLayoutStyle(el),
17713
+ ...chunk6GFSF2ML_js.getTextLayoutStyle(el),
17714
17714
  ...txtS,
17715
- ...chunkP2COO2QO_js.getTextWarpStyle(txtSE),
17715
+ ...chunk6GFSF2ML_js.getTextWarpStyle(txtSE),
17716
17716
  ...transformStyle
17717
17717
  },
17718
- children: chunkP2COO2QO_js.renderTextSegments(
17718
+ children: chunk6GFSF2ML_js.renderTextSegments(
17719
17719
  el,
17720
- chunkP2COO2QO_js.DEFAULT_TEXT_COLOR,
17720
+ chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR,
17721
17721
  void 0,
17722
17722
  findHl,
17723
17723
  onHyperlinkClick,
@@ -17738,7 +17738,7 @@ function ZoomElementRenderer({
17738
17738
  onZoomClick,
17739
17739
  sourceSlideIndex
17740
17740
  }) {
17741
- const { t } = chunkP2COO2QO_js.useTranslation();
17741
+ const { t } = chunk6GFSF2ML_js.useTranslation();
17742
17742
  const summaryView = pptx.buildSummaryZoomView(
17743
17743
  element,
17744
17744
  (index) => {
@@ -18036,7 +18036,7 @@ function renderBody(options) {
18036
18036
  );
18037
18037
  }
18038
18038
  if (isImg) {
18039
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunkP2COO2QO_js.getImageSurfaceStyle(el), children: [
18039
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none", style: chunk6GFSF2ML_js.getImageSurfaceStyle(el), children: [
18040
18040
  renderImg(el, imgStyle, imgFilter, imgAlt, imgOpacity),
18041
18041
  vecShape ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", children: vecShape }) : null
18042
18042
  ] });
@@ -18053,7 +18053,7 @@ function renderBody(options) {
18053
18053
  textDirection: txtSE?.textDirection,
18054
18054
  textStyle: txtS,
18055
18055
  textStyleRaw: txtSE,
18056
- layoutStyle: chunkP2COO2QO_js.getTextLayoutStyle(el),
18056
+ layoutStyle: chunk6GFSF2ML_js.getTextLayoutStyle(el),
18057
18057
  element: el,
18058
18058
  onCommit,
18059
18059
  onCancel,
@@ -18064,7 +18064,7 @@ function renderBody(options) {
18064
18064
  ] });
18065
18065
  }
18066
18066
  if (el.type === "table") {
18067
- return chunkP2COO2QO_js.renderTableElement(el, txtS, {
18067
+ return chunk6GFSF2ML_js.renderTableElement(el, txtS, {
18068
18068
  editable: isSel,
18069
18069
  selectedCell: isSel ? tableSt : null,
18070
18070
  onSelectCell: onCellSel,
@@ -18097,7 +18097,7 @@ function renderBody(options) {
18097
18097
  );
18098
18098
  }
18099
18099
  if (el.type === "media") {
18100
- return chunkP2COO2QO_js.renderMediaElement(el, media, {
18100
+ return chunk6GFSF2ML_js.renderMediaElement(el, media, {
18101
18101
  // Present mode autoplays every media element on the active slide,
18102
18102
  // not only ones persisted with their own `autoPlay` flag (matching
18103
18103
  // the other four bindings' unconditional `presenting`-gated
@@ -18153,27 +18153,27 @@ function renderBody(options) {
18153
18153
  }
18154
18154
  return renderGroup(el.children, pptx.getGroupChildParentFill(el));
18155
18155
  }
18156
- if (chunkP2COO2QO_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18157
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunkP2COO2QO_js.getElementLabel(el) });
18156
+ if (chunk6GFSF2ML_js.shouldRenderFallbackLabel(el, isTxtEl)) {
18157
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: chunk6GFSF2ML_js.getElementLabel(el) });
18158
18158
  }
18159
18159
  return renderTextElementBody(options);
18160
18160
  }
18161
18161
  function defaultTextColorForFill(fillColor) {
18162
18162
  const hex = String(fillColor ?? "").replace(/^#/u, "");
18163
18163
  if (!/^[0-9a-f]{6}$/iu.test(hex)) {
18164
- return chunkP2COO2QO_js.DEFAULT_TEXT_COLOR;
18164
+ return chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR;
18165
18165
  }
18166
18166
  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);
18167
18167
  const luminance = channels[0] * 0.2126 + channels[1] * 0.7152 + channels[2] * 0.0722;
18168
- return luminance > 0.179 ? chunkP2COO2QO_js.DEFAULT_TEXT_COLOR : "#ffffff";
18168
+ return luminance > 0.179 ? chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR : "#ffffff";
18169
18169
  }
18170
18170
  function getStaticElementVisualState(element, parentGroupFill) {
18171
18171
  const style = pptx$1.hasShapeProperties(element) ? element.shapeStyle : void 0;
18172
- const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunkP2COO2QO_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18173
- const fill = chunkP2COO2QO_js.normalizeHexColor(style?.fillColor, chunkP2COO2QO_js.DEFAULT_FILL_COLOR);
18172
+ const hasFill = style?.fillColor !== void 0 && style.fillColor !== "transparent" || Boolean(chunk6GFSF2ML_js.buildCssGradientFromShapeStyle(style) || style?.fillGradient) || style?.fillMode === "pattern" && Boolean(style.fillPatternPreset);
18173
+ const fill = chunk6GFSF2ML_js.normalizeHexColor(style?.fillColor, chunk6GFSF2ML_js.DEFAULT_FILL_COLOR);
18174
18174
  const strokeWidth = pptx.paintedStrokeWidth(style);
18175
- const stroke = chunkP2COO2QO_js.normalizeHexColor(style?.strokeColor, chunkP2COO2QO_js.DEFAULT_STROKE_COLOR);
18176
- const baseVisualStyle = chunkP2COO2QO_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18175
+ const stroke = chunk6GFSF2ML_js.normalizeHexColor(style?.strokeColor, chunk6GFSF2ML_js.DEFAULT_STROKE_COLOR);
18176
+ const baseVisualStyle = chunk6GFSF2ML_js.getShapeVisualStyle(element, hasFill, fill, strokeWidth, stroke);
18177
18177
  const inheritedFill = pptx.resolveGroupChildFill(element, parentGroupFill);
18178
18178
  const visualStyle = inheritedFill ? {
18179
18179
  ...baseVisualStyle,
@@ -18183,9 +18183,9 @@ function getStaticElementVisualState(element, parentGroupFill) {
18183
18183
  backgroundSize: inheritedFill.backgroundSize,
18184
18184
  backgroundPosition: inheritedFill.backgroundPosition
18185
18185
  } : baseVisualStyle;
18186
- const textStyle = chunkP2COO2QO_js.getTextStyleForElement(
18186
+ const textStyle = chunk6GFSF2ML_js.getTextStyleForElement(
18187
18187
  element,
18188
- element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunkP2COO2QO_js.DEFAULT_TEXT_COLOR
18188
+ element.type === "shape" && hasFill ? defaultTextColorForFill(fill) : chunk6GFSF2ML_js.DEFAULT_TEXT_COLOR
18189
18189
  );
18190
18190
  const isImage = element.type === "picture" || element.type === "image";
18191
18191
  const letsTextOverflow = pptx$1.hasTextProperties(element) && Boolean(element.text?.trim());
@@ -18210,7 +18210,7 @@ function getStaticElementInteractionState(element, hasActionHandler, exposeEleme
18210
18210
  return { action, isActionable, contractRole };
18211
18211
  }
18212
18212
  function getStaticElementWrapperClassName(element, visual, positioned, isActionable) {
18213
- const overflowClass = visual.isImage || visual.strokeWidth > 0 || element.type === "group" || chunkP2COO2QO_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18213
+ const overflowClass = visual.isImage || visual.strokeWidth > 0 || element.type === "group" || chunk6GFSF2ML_js.isConnectorOrLineElement(element) || visual.isCallout || visual.letsTextOverflow ? "" : "overflow-hidden";
18214
18214
  const pointerClass = isActionable ? "pointer-events-auto cursor-pointer" : "pointer-events-none";
18215
18215
  return `${positioned ? "absolute" : "relative"} ${overflowClass} ${pointerClass}`;
18216
18216
  }
@@ -18293,7 +18293,7 @@ function StaticElementRendererImpl({
18293
18293
  top: positioned ? element.y : void 0,
18294
18294
  width: positioned ? Math.max(element.width, 1) : "100%",
18295
18295
  height: positioned ? Math.max(element.height, 1) : "100%",
18296
- transform: positioned ? chunkP2COO2QO_js.getElementTransform(element) : void 0,
18296
+ transform: positioned ? chunk6GFSF2ML_js.getElementTransform(element) : void 0,
18297
18297
  transformOrigin: "center",
18298
18298
  zIndex,
18299
18299
  ...visualStyle,
@@ -18336,18 +18336,18 @@ function StaticElementRendererImpl({
18336
18336
  spellCheck: false,
18337
18337
  txtSE: pptx$1.hasTextProperties(element) ? element.textStyle : void 0,
18338
18338
  txtS: textStyle,
18339
- vecShape: chunkP2COO2QO_js.renderVectorShape(
18339
+ vecShape: chunk6GFSF2ML_js.renderVectorShape(
18340
18340
  element,
18341
18341
  isImage ? false : hasFill,
18342
18342
  fill,
18343
18343
  strokeWidth,
18344
18344
  stroke
18345
18345
  ),
18346
- imgStyle: imageAnimation ? { ...chunkP2COO2QO_js.getImageRenderStyle(element), animation: imageAnimation } : chunkP2COO2QO_js.getImageRenderStyle(element),
18347
- imgFilter: chunkP2COO2QO_js.getImageEffectsFilter(element),
18348
- imgOpacity: chunkP2COO2QO_js.getImageEffectsOpacity(element),
18346
+ imgStyle: imageAnimation ? { ...chunk6GFSF2ML_js.getImageRenderStyle(element), animation: imageAnimation } : chunk6GFSF2ML_js.getImageRenderStyle(element),
18347
+ imgFilter: chunk6GFSF2ML_js.getImageEffectsFilter(element),
18348
+ imgOpacity: chunk6GFSF2ML_js.getImageEffectsOpacity(element),
18349
18349
  imgAlt: "",
18350
- isTxtEl: chunkP2COO2QO_js.isEditableTextElement(element),
18350
+ isTxtEl: chunk6GFSF2ML_js.isEditableTextElement(element),
18351
18351
  media: mediaDataUrls,
18352
18352
  tableSt: null,
18353
18353
  isSel: false,
@@ -18395,7 +18395,7 @@ function SlideLayer({
18395
18395
  style: {
18396
18396
  width: safeWidth,
18397
18397
  height: safeHeight,
18398
- backgroundColor: slide.backgroundColor ? chunkP2COO2QO_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18398
+ backgroundColor: slide.backgroundColor ? chunk6GFSF2ML_js.normalizeHexColor(slide.backgroundColor, "#ffffff") : "#ffffff",
18399
18399
  backgroundImage: slide.backgroundImage ? `url(${slide.backgroundImage})` : slide.backgroundGradient ? slide.backgroundGradient : void 0,
18400
18400
  backgroundSize: slide.backgroundImage ? "cover" : void 0,
18401
18401
  backgroundPosition: slide.backgroundImage ? "center" : void 0