ooxml-ui 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +2 -0
  2. package/dist/{chunk-NYRRH2MD.js → chunk-6YEWVS7I.js} +1 -1
  3. package/dist/{chunk-56A2JK63.js → chunk-BCH2ZLWI.js} +1 -1
  4. package/dist/{chunk-R3LV6SGC.js → chunk-CEBFGUMT.js} +5 -5
  5. package/dist/{chunk-IY7QJLQG.js → chunk-CXOK5QWQ.js} +1 -1
  6. package/dist/{chunk-L4XGRNHF.js → chunk-F23XSUJD.js} +4 -4
  7. package/dist/{chunk-TWQ45BFL.js → chunk-FN3MBKHE.js} +1 -1
  8. package/dist/{chunk-BOIZWKM7.js → chunk-J2WUY2Q4.js} +7 -5
  9. package/dist/{chunk-2WLRFPMW.js → chunk-SPNWHKSR.js} +2 -0
  10. package/dist/clipboard-worker.js +1 -0
  11. package/dist/controls.js +4 -4
  12. package/dist/docx.js +6 -6
  13. package/dist/index.js +8 -8
  14. package/dist/pptx/{chunk-KRMMJUCO.cjs → chunk-7DMJEYQJ.cjs} +13 -5
  15. package/dist/pptx/{chunk-TC7HCF5M.mjs → chunk-LHNTMJSK.mjs} +13 -5
  16. package/dist/pptx/{chunk-FPE5PZMI.cjs → chunk-SOHTHDYV.cjs} +147 -45
  17. package/dist/pptx/{chunk-MWHGUEIJ.mjs → chunk-TLLEKXWQ.mjs} +130 -36
  18. package/dist/pptx/dom/elements/table-editable.d.ts.map +1 -1
  19. package/dist/pptx/dom/index.cjs +238 -207
  20. package/dist/pptx/dom/index.mjs +41 -10
  21. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  22. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  23. package/dist/pptx/index.cjs +2758 -2726
  24. package/dist/pptx/index.mjs +2 -2
  25. package/dist/pptx/render/device-pixel-stroke.d.ts +10 -3
  26. package/dist/pptx/render/device-pixel-stroke.d.ts.map +1 -1
  27. package/dist/pptx/render/index.d.ts +1 -0
  28. package/dist/pptx/render/index.d.ts.map +1 -1
  29. package/dist/pptx/render/morph-heuristics.d.ts.map +1 -1
  30. package/dist/pptx/render/morph-matching.d.ts.map +1 -1
  31. package/dist/pptx/render/morph-predicates.d.ts +21 -0
  32. package/dist/pptx/render/morph-predicates.d.ts.map +1 -1
  33. package/dist/pptx/render/table-resize-merge.d.ts +59 -0
  34. package/dist/pptx/render/table-resize-merge.d.ts.map +1 -0
  35. package/dist/presence.js +3 -3
  36. package/dist/ribbon/overflow.d.ts.map +1 -1
  37. package/dist/smartart.js +3 -3
  38. package/dist/teams.js +6 -6
  39. package/dist/theme.js +2 -2
  40. package/dist/tokens.d.ts +2 -0
  41. package/dist/tokens.d.ts.map +1 -1
  42. package/dist/visio.js +5 -5
  43. package/dist/xlsx.js +11 -10
  44. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFPE5PZMI_cjs = require('../chunk-FPE5PZMI.cjs');
3
+ var chunkSOHTHDYV_cjs = require('../chunk-SOHTHDYV.cjs');
4
4
  require('../chunk-WSTWYZFM.cjs');
5
5
  var chunk2JEQHIAL_cjs = require('../chunk-2JEQHIAL.cjs');
6
6
  require('../chunk-IOR4KOGN.cjs');
@@ -22,7 +22,7 @@ var chunkFOE75Z6N_cjs = require('../chunk-FOE75Z6N.cjs');
22
22
  var chunkNTXHQHCS_cjs = require('../chunk-NTXHQHCS.cjs');
23
23
  require('../chunk-JJP5HOLA.cjs');
24
24
  require('../chunk-QWF3PGUX.cjs');
25
- var chunkKRMMJUCO_cjs = require('../chunk-KRMMJUCO.cjs');
25
+ var chunk7DMJEYQJ_cjs = require('../chunk-7DMJEYQJ.cjs');
26
26
  require('../chunk-G4WRLFMJ.cjs');
27
27
  require('../chunk-73IDQGYI.cjs');
28
28
  require('../chunk-X4FNVH7J.cjs');
@@ -95,7 +95,7 @@ function buildActiveXControlsOverlay(doc, controls, canvasSize) {
95
95
  zIndex: "40"
96
96
  });
97
97
  controls.forEach((control, index) => {
98
- const view = chunkFPE5PZMI_cjs.getActiveXControlOverlayView(control, canvasSize, index);
98
+ const view = chunkSOHTHDYV_cjs.getActiveXControlOverlayView(control, canvasSize, index);
99
99
  const style = {
100
100
  position: "absolute",
101
101
  left: `${view.left}px`,
@@ -130,7 +130,7 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
130
130
  pointerEvents: "none",
131
131
  zIndex: "45"
132
132
  });
133
- const markers = chunkFPE5PZMI_cjs.buildCommentMarkers(
133
+ const markers = chunkSOHTHDYV_cjs.buildCommentMarkers(
134
134
  comments,
135
135
  canvasSize.width,
136
136
  canvasSize.height,
@@ -139,10 +139,10 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
139
139
  for (const marker of markers) {
140
140
  const dot = createEl(doc, "button", "pptxv-comment-marker", {
141
141
  position: "absolute",
142
- left: `${marker.x - chunkFPE5PZMI_cjs.COMMENT_MARKER_SIZE / 2}px`,
143
- top: `${marker.y - chunkFPE5PZMI_cjs.COMMENT_MARKER_SIZE / 2}px`,
144
- width: `${chunkFPE5PZMI_cjs.COMMENT_MARKER_SIZE}px`,
145
- height: `${chunkFPE5PZMI_cjs.COMMENT_MARKER_SIZE}px`,
142
+ left: `${marker.x - chunkSOHTHDYV_cjs.COMMENT_MARKER_SIZE / 2}px`,
143
+ top: `${marker.y - chunkSOHTHDYV_cjs.COMMENT_MARKER_SIZE / 2}px`,
144
+ width: `${chunkSOHTHDYV_cjs.COMMENT_MARKER_SIZE}px`,
145
+ height: `${chunkSOHTHDYV_cjs.COMMENT_MARKER_SIZE}px`,
146
146
  display: "flex",
147
147
  alignItems: "center",
148
148
  justifyContent: "center",
@@ -210,7 +210,7 @@ function merge3dStyle(base, computed) {
210
210
  }
211
211
  function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
212
212
  if (el.type === "group") {
213
- const fx2 = chunkFPE5PZMI_cjs.getComputedEffectStyle(el);
213
+ const fx2 = chunkSOHTHDYV_cjs.getComputedEffectStyle(el);
214
214
  const groupStyle = {};
215
215
  if (fx2.filter) {
216
216
  groupStyle.filter = fx2.filter;
@@ -232,7 +232,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
232
232
  style[key] = value;
233
233
  }
234
234
  }
235
- const stroke = chunkFPE5PZMI_cjs.getComputedStrokeStyle(el);
235
+ const stroke = chunkSOHTHDYV_cjs.getComputedStrokeStyle(el);
236
236
  if (stroke.borderWidth > 0) {
237
237
  if (animatesStroke) {
238
238
  style["borderWidth"] = stroke.cssBorderWidth;
@@ -251,7 +251,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
251
251
  style["strokeMiterlimit"] = stroke.strokeMiterlimit;
252
252
  }
253
253
  }
254
- const fx = chunkFPE5PZMI_cjs.getComputedEffectStyle(el);
254
+ const fx = chunkSOHTHDYV_cjs.getComputedEffectStyle(el);
255
255
  if (fx.boxShadow) {
256
256
  style["boxShadow"] = fx.boxShadow;
257
257
  }
@@ -268,11 +268,11 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
268
268
  if (fx.overflowVisible) {
269
269
  style["overflow"] = "visible";
270
270
  }
271
- merge3dStyle(style, chunkFPE5PZMI_cjs.getComputed3dStyle(el));
272
- if (chunkFPE5PZMI_cjs.isHollowShapeElement(el)) {
271
+ merge3dStyle(style, chunkSOHTHDYV_cjs.getComputed3dStyle(el));
272
+ if (chunkSOHTHDYV_cjs.isHollowShapeElement(el)) {
273
273
  style["pointerEvents"] = "none";
274
274
  }
275
- const geometry = chunkFPE5PZMI_cjs.resolveShapeGeometry(el);
275
+ const geometry = chunkSOHTHDYV_cjs.resolveShapeGeometry(el);
276
276
  switch (geometry.kind) {
277
277
  case "bare":
278
278
  style["backgroundColor"] = "transparent";
@@ -292,7 +292,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
292
292
  case "lineEdge":
293
293
  style["backgroundColor"] = "transparent";
294
294
  style["border"] = "none";
295
- style["borderTop"] = chunkKRMMJUCO_cjs.screenBorder(
295
+ style["borderTop"] = chunk7DMJEYQJ_cjs.screenBorder(
296
296
  geometry.strokeWidth,
297
297
  chunkIURZJAWP_cjs.getCssBorderDashStyle(el.shapeStyle?.strokeDash),
298
298
  el.shapeStyle?.strokeColor ?? chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR
@@ -306,12 +306,12 @@ function getTextBlockStyle(el) {
306
306
  if (!pptx.hasTextProperties(el)) {
307
307
  return {};
308
308
  }
309
- const base = chunkFPE5PZMI_cjs.buildTextBlockStyle(el, {
309
+ const base = chunkSOHTHDYV_cjs.buildTextBlockStyle(el, {
310
310
  fallbackColor: chunkIURZJAWP_cjs.DEFAULT_TEXT_COLOR,
311
311
  bodyLayout: true,
312
312
  pxLengths: true
313
313
  });
314
- const scene3d = chunkFPE5PZMI_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
314
+ const scene3d = chunkSOHTHDYV_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
315
315
  if (!scene3d) {
316
316
  return base;
317
317
  }
@@ -415,8 +415,8 @@ function renderSlideStage(options) {
415
415
  "--pptx-slide-h": `${canvasSize.height}px`,
416
416
  "--pptxv-grid-size": `${options.gridSpacingPx ?? 10}px`,
417
417
  // One device pixel in slide px: thin strokes stay visible on screen.
418
- ...chunkKRMMJUCO_cjs.deviceStrokeStageStyle(scale),
419
- ...chunkFPE5PZMI_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
418
+ ...chunk7DMJEYQJ_cjs.deviceStrokeStageStyle(scale),
419
+ ...chunkSOHTHDYV_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
420
420
  });
421
421
  if (interactive || options.reading) {
422
422
  stage.setAttribute("role", "region");
@@ -457,19 +457,19 @@ function renderSlideStage(options) {
457
457
  selectedElementIds: options.selectedElementIds,
458
458
  registry,
459
459
  renderElement(element, zIndex) {
460
- if (!chunkFPE5PZMI_cjs.isElementRendered(element)) {
460
+ if (!chunkSOHTHDYV_cjs.isElementRendered(element)) {
461
461
  return null;
462
462
  }
463
463
  const node = registry.resolve(element.type)(element, zIndex, context);
464
464
  if (node && interactive && "setAttribute" in node) {
465
- const templateLocked = chunkFPE5PZMI_cjs.isTemplateElementId(element.id) && !options.templateEditing;
465
+ const templateLocked = chunkSOHTHDYV_cjs.isTemplateElementId(element.id) && !options.templateEditing;
466
466
  if (templateLocked) {
467
467
  node.style.pointerEvents = "none";
468
468
  }
469
469
  node.setAttribute("data-pptx-element", "true");
470
470
  }
471
- if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunkFPE5PZMI_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
472
- const hitTargetStyle = chunkFPE5PZMI_cjs.elementHitTargetStyle(element);
471
+ if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunkSOHTHDYV_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
472
+ const hitTargetStyle = chunkSOHTHDYV_cjs.elementHitTargetStyle(element);
473
473
  if (hitTargetStyle) {
474
474
  const hitTarget = createEl(doc, "div", void 0, hitTargetStyle);
475
475
  hitTarget.setAttribute("aria-hidden", "true");
@@ -488,20 +488,20 @@ function renderSlideStage(options) {
488
488
  }
489
489
  });
490
490
  if (interactive || options.reading) {
491
- chunkFPE5PZMI_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
491
+ chunkSOHTHDYV_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
492
492
  presenting: options.presenting ?? false
493
493
  });
494
494
  }
495
495
  if (interactive) {
496
- chunkFPE5PZMI_cjs.applyElementActionAffordances(
496
+ chunkSOHTHDYV_cjs.applyElementActionAffordances(
497
497
  stage,
498
498
  slide.elements.filter(
499
- (element) => options.templateEditing || !chunkFPE5PZMI_cjs.isTemplateElementId(element.id)
499
+ (element) => options.templateEditing || !chunkSOHTHDYV_cjs.isTemplateElementId(element.id)
500
500
  ),
501
501
  {
502
502
  canInteract: true,
503
503
  presenting: options.presenting ?? false,
504
- labels: chunkFPE5PZMI_cjs.actionAffordanceLabels((key) => t(key))
504
+ labels: chunkSOHTHDYV_cjs.actionAffordanceLabels((key) => t(key))
505
505
  }
506
506
  );
507
507
  }
@@ -557,7 +557,7 @@ function createChartTitleEditor(container, onCommit) {
557
557
 
558
558
  // src/pptx/dom/elements/chart-editable.ts
559
559
  function attachChartEditing(container, element, context, repaint) {
560
- if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunkFPE5PZMI_cjs.canDrillDown(element)) {
560
+ if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunkSOHTHDYV_cjs.canDrillDown(element)) {
561
561
  return;
562
562
  }
563
563
  const chart = element;
@@ -597,7 +597,7 @@ function attachChartEditing(container, element, context, repaint) {
597
597
  if (!rect) {
598
598
  return;
599
599
  }
600
- const step2 = chunkFPE5PZMI_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
600
+ const step2 = chunkSOHTHDYV_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
601
601
  if (!step2) {
602
602
  return;
603
603
  }
@@ -687,7 +687,7 @@ function attachChartEditing(container, element, context, repaint) {
687
687
  seriesIndex: part.seriesIndex,
688
688
  pointIndex: part.pointIndex
689
689
  });
690
- const startedMark = chunkFPE5PZMI_cjs.beginChartMarkDrag({
690
+ const startedMark = chunkSOHTHDYV_cjs.beginChartMarkDrag({
691
691
  part,
692
692
  geometry: markGeometry,
693
693
  chartData: chart.chartData,
@@ -732,7 +732,7 @@ function attachChartEditing(container, element, context, repaint) {
732
732
  var pool = null;
733
733
  function collectThreeViews(root) {
734
734
  const views = /* @__PURE__ */ new Map();
735
- for (const view of root.querySelectorAll(chunkKRMMJUCO_cjs.THREE_VIEW_TAG)) {
735
+ for (const view of root.querySelectorAll(chunk7DMJEYQJ_cjs.THREE_VIEW_TAG)) {
736
736
  if (view.spec && !views.has(view.spec)) {
737
737
  views.set(view.spec, view);
738
738
  }
@@ -768,8 +768,8 @@ function rendering3DFlagsOf(context) {
768
768
  };
769
769
  }
770
770
  function mountThreeViewInto(doc, wrapper, options) {
771
- chunkKRMMJUCO_cjs.defineThreeViewElement(doc.defaultView?.customElements);
772
- const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunkKRMMJUCO_cjs.THREE_VIEW_TAG);
771
+ chunk7DMJEYQJ_cjs.defineThreeViewElement(doc.defaultView?.customElements);
772
+ const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunk7DMJEYQJ_cjs.THREE_VIEW_TAG);
773
773
  view.replaceChildren(...Array.from(wrapper.childNodes));
774
774
  view.spec = options.spec;
775
775
  view.interactive = options.interactive;
@@ -779,7 +779,7 @@ function mountThreeViewInto(doc, wrapper, options) {
779
779
  return view;
780
780
  }
781
781
  function isChart3DEditable(element, context) {
782
- return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunkFPE5PZMI_cjs.canDrillDown(element);
782
+ return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunkSOHTHDYV_cjs.canDrillDown(element);
783
783
  }
784
784
  function selectedChartPartOf(element, context) {
785
785
  return context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
@@ -821,19 +821,19 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
821
821
  const listeners = new AbortController();
822
822
  chartViewListeners.set(view, listeners);
823
823
  view.addEventListener(
824
- chunkFPE5PZMI_cjs.THREE_VIEW_EVENTS.select,
825
- (event) => chunkFPE5PZMI_cjs.applyChart3DSelect(bridge, event.detail.part),
824
+ chunkSOHTHDYV_cjs.THREE_VIEW_EVENTS.select,
825
+ (event) => chunkSOHTHDYV_cjs.applyChart3DSelect(bridge, event.detail.part),
826
826
  { signal: listeners.signal }
827
827
  );
828
828
  view.addEventListener(
829
- chunkFPE5PZMI_cjs.THREE_VIEW_EVENTS.drag,
830
- (event) => chunkFPE5PZMI_cjs.applyChart3DDrag(bridge, event.detail),
829
+ chunkSOHTHDYV_cjs.THREE_VIEW_EVENTS.drag,
830
+ (event) => chunkSOHTHDYV_cjs.applyChart3DDrag(bridge, event.detail),
831
831
  { signal: listeners.signal }
832
832
  );
833
833
  }
834
834
  var chartViewListeners = /* @__PURE__ */ new WeakMap();
835
835
  function applyThreeViewTextStyle(el, style) {
836
- for (const view of el.querySelectorAll(chunkKRMMJUCO_cjs.THREE_VIEW_TAG)) {
836
+ for (const view of el.querySelectorAll(chunk7DMJEYQJ_cjs.THREE_VIEW_TAG)) {
837
837
  view.textStyle = style;
838
838
  }
839
839
  }
@@ -841,7 +841,7 @@ function applyThreeViewTextStyle(el, style) {
841
841
  // src/pptx/dom/elements/chart.ts
842
842
  var renderChartElement = (element, zIndex, context) => {
843
843
  const wrapper = renderChartSvgElement(element, zIndex, context);
844
- const spec = wrapper ? chunkFPE5PZMI_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
844
+ const spec = wrapper ? chunkSOHTHDYV_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
845
845
  if (!wrapper || !spec) {
846
846
  return wrapper;
847
847
  }
@@ -863,11 +863,11 @@ var renderChartSvgElement = (element, zIndex, context) => {
863
863
  doc,
864
864
  "div",
865
865
  "pptxv-element pptxv-chart",
866
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
866
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
867
867
  );
868
868
  container.dataset.elementId = element.id;
869
869
  const animationState = context.presentationStates?.get(element.id);
870
- const chartData = element.chartData ? chunkFPE5PZMI_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
870
+ const chartData = element.chartData ? chunkSOHTHDYV_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
871
871
  if (!chartData || chartData.series.length === 0) {
872
872
  container.appendChild(renderChartPlaceholder(doc, chartData?.chartType ?? "bar", context.t));
873
873
  return container;
@@ -915,7 +915,7 @@ function renderChartPlaceholder(doc, chartType, t) {
915
915
  border: "1px dashed #cbd5e1",
916
916
  boxSizing: "border-box"
917
917
  });
918
- placeholder.textContent = chunkFPE5PZMI_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
918
+ placeholder.textContent = chunkSOHTHDYV_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
919
919
  return placeholder;
920
920
  }
921
921
 
@@ -979,7 +979,7 @@ function createRunBaseNode(doc, run) {
979
979
  verticalAlign: "middle",
980
980
  fontFamily: "'Cambria Math', 'STIX Two Math', serif"
981
981
  });
982
- math.innerHTML = chunkFPE5PZMI_cjs.runEquationMathMl(run.equation);
982
+ math.innerHTML = chunkSOHTHDYV_cjs.runEquationMathMl(run.equation);
983
983
  host.appendChild(math);
984
984
  if (run.equation.number) {
985
985
  const number = createEl(doc, "span", "pptxv-equation-number", {
@@ -1091,7 +1091,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1091
1091
  bullet.textContent = para.bulletMarker;
1092
1092
  p.appendChild(bullet);
1093
1093
  }
1094
- const spec = build ? chunkFPE5PZMI_cjs.buildTextBuildSpec(
1094
+ const spec = build ? chunkSOHTHDYV_cjs.buildTextBuildSpec(
1095
1095
  build.elementId,
1096
1096
  paragraphs.indexOf(para),
1097
1097
  para.runs.filter((run) => run.text !== NEWLINE_RUN).map((run) => ({ text: run.text, style: run.style })),
@@ -1100,7 +1100,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1100
1100
  if (spec && spec.granularity !== "paragraph") {
1101
1101
  for (const span of spec.spans ?? []) {
1102
1102
  const node = createEl(doc, "span");
1103
- applyStyleMap(node, { ...span.style ?? {}, ...chunkFPE5PZMI_cjs.textBuildSpanStyle(span) });
1103
+ applyStyleMap(node, { ...span.style ?? {}, ...chunkSOHTHDYV_cjs.textBuildSpanStyle(span) });
1104
1104
  if (span.animId) {
1105
1105
  node.setAttribute("data-anim-id", span.animId);
1106
1106
  }
@@ -1113,7 +1113,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1113
1113
  let runHost = p;
1114
1114
  if (spec) {
1115
1115
  const wrapper = createEl(doc, "span");
1116
- applyStyleMap(wrapper, chunkFPE5PZMI_cjs.textBuildSpanStyle(spec));
1116
+ applyStyleMap(wrapper, chunkSOHTHDYV_cjs.textBuildSpanStyle(spec));
1117
1117
  if (spec.animId) {
1118
1118
  wrapper.setAttribute("data-anim-id", spec.animId);
1119
1119
  }
@@ -1169,7 +1169,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1169
1169
  if (element.hidden) {
1170
1170
  wrapper.style.display = "none";
1171
1171
  }
1172
- const lineGlow = chunkFPE5PZMI_cjs.getLineGlowFilterCss(ss);
1172
+ const lineGlow = chunkSOHTHDYV_cjs.getLineGlowFilterCss(ss);
1173
1173
  if (lineGlow) {
1174
1174
  wrapper.style.filter = lineGlow;
1175
1175
  }
@@ -1177,7 +1177,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1177
1177
  svg.setAttribute("style", "overflow:visible;display:block");
1178
1178
  const seed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
1179
1179
  const defs = createSvgEl(doc, "defs");
1180
- const lineShadow = chunkFPE5PZMI_cjs.getLineShadowParams(ss);
1180
+ const lineShadow = chunkSOHTHDYV_cjs.getLineShadowParams(ss);
1181
1181
  const shadowId = lineShadow ? `${seed}-line-shadow` : void 0;
1182
1182
  if (lineShadow && shadowId) {
1183
1183
  const filter = createSvgEl(doc, "filter", {
@@ -1198,8 +1198,8 @@ var renderConnectorElement = (element, zIndex, context) => {
1198
1198
  );
1199
1199
  defs.appendChild(filter);
1200
1200
  }
1201
- const startArrow = chunkFPE5PZMI_cjs.normalizeArrow(ss?.connectorStartArrow);
1202
- const endArrow = chunkFPE5PZMI_cjs.normalizeArrow(ss?.connectorEndArrow);
1201
+ const startArrow = chunkSOHTHDYV_cjs.normalizeArrow(ss?.connectorStartArrow);
1202
+ const endArrow = chunkSOHTHDYV_cjs.normalizeArrow(ss?.connectorEndArrow);
1203
1203
  const startMarkerId = startArrow ? `${seed}-start` : void 0;
1204
1204
  const endMarkerId = endArrow ? `${seed}-end` : void 0;
1205
1205
  if (startArrow && startMarkerId) {
@@ -1222,10 +1222,10 @@ var renderConnectorElement = (element, zIndex, context) => {
1222
1222
  svg.appendChild(defs);
1223
1223
  }
1224
1224
  const compound = ss?.compoundLine;
1225
- const offsets = chunkFPE5PZMI_cjs.getCompoundLineOffsets(compound, strokeWidth);
1226
- const widths = chunkFPE5PZMI_cjs.getCompoundLineWidths(compound, strokeWidth);
1225
+ const offsets = chunkSOHTHDYV_cjs.getCompoundLineOffsets(compound, strokeWidth);
1226
+ const widths = chunkSOHTHDYV_cjs.getCompoundLineWidths(compound, strokeWidth);
1227
1227
  const shapeType = pptx.hasShapeProperties(element) ? element.shapeType : void 0;
1228
- const usePath = chunkFPE5PZMI_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
1228
+ const usePath = chunkSOHTHDYV_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
1229
1229
  const pathData = usePath ? pptx.getConnectorPathGeometry(element).pathData : void 0;
1230
1230
  const x1 = element.flipHorizontal ? w : 0;
1231
1231
  const y1 = element.flipVertical ? h : 0;
@@ -1236,7 +1236,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1236
1236
  d: pathData ?? `M${x1},${y1} L${x2},${y2}`,
1237
1237
  fill: "none",
1238
1238
  stroke: "transparent",
1239
- "stroke-width": chunkFPE5PZMI_cjs.connectorHitStrokeWidth(strokeWidth),
1239
+ "stroke-width": chunkSOHTHDYV_cjs.connectorHitStrokeWidth(strokeWidth),
1240
1240
  "stroke-linecap": "round",
1241
1241
  "stroke-linejoin": "round"
1242
1242
  });
@@ -1275,7 +1275,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1275
1275
  ...stroke
1276
1276
  });
1277
1277
  }
1278
- node.style.setProperty("stroke-width", chunkKRMMJUCO_cjs.screenStrokeWidth(strandWidth));
1278
+ node.style.setProperty("stroke-width", chunk7DMJEYQJ_cjs.screenStrokeWidth(strandWidth));
1279
1279
  svg.appendChild(node);
1280
1280
  });
1281
1281
  wrapper.appendChild(svg);
@@ -1286,7 +1286,7 @@ function appendConnectorLabel(wrapper, element, context) {
1286
1286
  if (!pptx.hasTextProperties(element)) {
1287
1287
  return;
1288
1288
  }
1289
- const paragraphs = chunkFPE5PZMI_cjs.buildParagraphs(element, context.fieldContext);
1289
+ const paragraphs = chunkSOHTHDYV_cjs.buildParagraphs(element, context.fieldContext);
1290
1290
  if (!paragraphs.some((paragraph) => paragraph.runs.length > 0)) {
1291
1291
  return;
1292
1292
  }
@@ -1306,7 +1306,7 @@ function appendConnectorLabel(wrapper, element, context) {
1306
1306
  }
1307
1307
  function buildMarker(context, id, arrow, strokeColor, size) {
1308
1308
  const doc = context.document;
1309
- const shape = chunkFPE5PZMI_cjs.markerPath(arrow, size.width, size.length);
1309
+ const shape = chunkSOHTHDYV_cjs.markerPath(arrow, size.width, size.length);
1310
1310
  const marker = createSvgEl(doc, "marker", {
1311
1311
  id,
1312
1312
  viewBox: "0 0 10 10",
@@ -1390,7 +1390,7 @@ var renderContentPartElement = (element, zIndex, context) => {
1390
1390
  doc,
1391
1391
  "div",
1392
1392
  "pptxv-element pptxv-contentpart",
1393
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
1393
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
1394
1394
  );
1395
1395
  el.dataset.elementId = element.id;
1396
1396
  const strokes = element.inkStrokes;
@@ -1423,7 +1423,7 @@ var renderContentPartElement = (element, zIndex, context) => {
1423
1423
  return el;
1424
1424
  };
1425
1425
  function renderEquations(element, context) {
1426
- if (!pptx.hasTextProperties(element) || !chunkFPE5PZMI_cjs.isEquationOnlyText(element.textSegments)) {
1426
+ if (!pptx.hasTextProperties(element) || !chunkSOHTHDYV_cjs.isEquationOnlyText(element.textSegments)) {
1427
1427
  return null;
1428
1428
  }
1429
1429
  const equations = (element.textSegments ?? []).filter((segment) => segment.equationXml);
@@ -1437,7 +1437,7 @@ function renderEquations(element, context) {
1437
1437
  fontFamily: "'Cambria Math', 'STIX Two Math', serif"
1438
1438
  });
1439
1439
  for (const segment of equations) {
1440
- const mathml = chunkFPE5PZMI_cjs.convertOmmlToMathMl(segment.equationXml);
1440
+ const mathml = chunkSOHTHDYV_cjs.convertOmmlToMathMl(segment.equationXml);
1441
1441
  if (!mathml) {
1442
1442
  continue;
1443
1443
  }
@@ -1451,7 +1451,7 @@ function renderEquations(element, context) {
1451
1451
  flex: 1,
1452
1452
  textAlign: "center"
1453
1453
  });
1454
- math.innerHTML = chunkFPE5PZMI_cjs.sanitizeMathMl(mathml);
1454
+ math.innerHTML = chunkSOHTHDYV_cjs.sanitizeMathMl(mathml);
1455
1455
  row.appendChild(math);
1456
1456
  if (segment.equationNumber) {
1457
1457
  const number = createEl(context.document, "span", "pptxv-equation-number", {
@@ -1469,7 +1469,7 @@ function renderExtrusionOverlay(doc, element) {
1469
1469
  return null;
1470
1470
  }
1471
1471
  const fill = chunkIURZJAWP_cjs.getComputedFillStyle(element)?.backgroundColor;
1472
- const data = chunkFPE5PZMI_cjs.build3DExtrusionData(
1472
+ const data = chunkSOHTHDYV_cjs.build3DExtrusionData(
1473
1473
  element.shapeStyle?.shape3d,
1474
1474
  element.shapeStyle?.scene3d,
1475
1475
  fill,
@@ -1531,7 +1531,7 @@ function appendOwnReflection(doc, host, element, mediaDataUrls, suppressOwnRefle
1531
1531
  if (suppressOwnReflection) {
1532
1532
  return;
1533
1533
  }
1534
- const wrapperStyle = chunkFPE5PZMI_cjs.getComputedEffectStyle(element).reflection;
1534
+ const wrapperStyle = chunkSOHTHDYV_cjs.getComputedEffectStyle(element).reflection;
1535
1535
  if (!wrapperStyle) {
1536
1536
  return;
1537
1537
  }
@@ -1555,9 +1555,9 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1555
1555
  if (groupFilterDefs) {
1556
1556
  wrap.appendChild(groupFilterDefs);
1557
1557
  }
1558
- const childParentFill = chunkFPE5PZMI_cjs.getGroupChildParentFill(element, parentGroupFill);
1558
+ const childParentFill = chunkSOHTHDYV_cjs.getGroupChildParentFill(element, parentGroupFill);
1559
1559
  for (const child of element.children ?? []) {
1560
- const childWrap = createEl(doc, "div", void 0, chunkFPE5PZMI_cjs.getContainerStyle(child, 0));
1560
+ const childWrap = createEl(doc, "div", void 0, chunkSOHTHDYV_cjs.getContainerStyle(child, 0));
1561
1561
  childWrap.appendChild(
1562
1562
  buildReflectionMirrorContent(doc, child, mediaDataUrls, childParentFill)
1563
1563
  );
@@ -1571,7 +1571,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1571
1571
  height: "100%",
1572
1572
  ...getShapeFillStrokeStyle(element)
1573
1573
  });
1574
- const inheritedFill = chunkFPE5PZMI_cjs.resolveGroupChildFill(element, parentGroupFill);
1574
+ const inheritedFill = chunkSOHTHDYV_cjs.resolveGroupChildFill(element, parentGroupFill);
1575
1575
  if (inheritedFill) {
1576
1576
  applyInheritedFill(box, inheritedFill);
1577
1577
  }
@@ -1592,12 +1592,12 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1592
1592
  box.appendChild(gradientOutline);
1593
1593
  }
1594
1594
  if (pptx.isImageLikeElement(element)) {
1595
- const src = chunkFPE5PZMI_cjs.getImageSrc(element, new Map(mediaDataUrls));
1595
+ const src = chunkSOHTHDYV_cjs.getImageSrc(element, new Map(mediaDataUrls));
1596
1596
  if (src) {
1597
1597
  const img = createEl(doc, "img", void 0, {
1598
1598
  width: "100%",
1599
1599
  height: "100%",
1600
- ...chunkFPE5PZMI_cjs.getImageFitStyle(element)
1600
+ ...chunkSOHTHDYV_cjs.getImageFitStyle(element)
1601
1601
  });
1602
1602
  img.setAttribute("src", src);
1603
1603
  img.setAttribute("alt", "");
@@ -1607,7 +1607,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1607
1607
  appendOwnReflection(doc, box, element, mediaDataUrls, suppressOwnReflection);
1608
1608
  return box;
1609
1609
  }
1610
- const paragraphs = chunkFPE5PZMI_cjs.buildParagraphs(element);
1610
+ const paragraphs = chunkSOHTHDYV_cjs.buildParagraphs(element);
1611
1611
  const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
1612
1612
  if (hasText) {
1613
1613
  box.appendChild(renderTextBlock(doc, paragraphs, getTextBlockStyle(element)));
@@ -1619,20 +1619,20 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1619
1619
  // src/pptx/dom/elements/shape-filter-defs.ts
1620
1620
  var OUTLINE_SVG_STYLE = "position:absolute;inset:0;width:100%;height:100%;min-width:1px;min-height:1px;overflow:visible;pointer-events:none";
1621
1621
  function renderShapeFilterDefs(doc, element) {
1622
- const style = chunkFPE5PZMI_cjs.getEffectStyleSource(element);
1622
+ const style = chunkSOHTHDYV_cjs.getEffectStyleSource(element);
1623
1623
  if (!style) {
1624
1624
  return null;
1625
1625
  }
1626
1626
  const markups = [];
1627
- const duotone = chunkFPE5PZMI_cjs.getDuotoneSvgFilter(style, element.id);
1627
+ const duotone = chunkSOHTHDYV_cjs.getDuotoneSvgFilter(style, element.id);
1628
1628
  if (duotone) {
1629
1629
  markups.push(duotone.filterMarkup);
1630
1630
  }
1631
- const softEdge = chunkFPE5PZMI_cjs.getSoftEdgeSvgFilter(style, element.id);
1631
+ const softEdge = chunkSOHTHDYV_cjs.getSoftEdgeSvgFilter(style, element.id);
1632
1632
  if (softEdge) {
1633
1633
  markups.push(softEdge.filterMarkup);
1634
1634
  }
1635
- const bevelLighting = chunkFPE5PZMI_cjs.getBevelLightingSvgFilter(element);
1635
+ const bevelLighting = chunkSOHTHDYV_cjs.getBevelLightingSvgFilter(element);
1636
1636
  if (bevelLighting) {
1637
1637
  markups.push(bevelLighting.filterMarkup);
1638
1638
  }
@@ -1650,7 +1650,7 @@ function renderShapeFillOverlay(doc, element) {
1650
1650
  if (!pptx.hasShapeProperties(element)) {
1651
1651
  return null;
1652
1652
  }
1653
- const overlay = chunkFPE5PZMI_cjs.getComputedEffectStyle(element).fillOverlay;
1653
+ const overlay = chunkSOHTHDYV_cjs.getComputedEffectStyle(element).fillOverlay;
1654
1654
  if (!overlay) {
1655
1655
  return null;
1656
1656
  }
@@ -1665,7 +1665,7 @@ function renderShapeFillOverlay(doc, element) {
1665
1665
  return layer;
1666
1666
  }
1667
1667
  function renderReflectionOverlay(doc, element, mediaDataUrls) {
1668
- const wrapperStyle = chunkFPE5PZMI_cjs.getComputedEffectStyle(element).reflection;
1668
+ const wrapperStyle = chunkSOHTHDYV_cjs.getComputedEffectStyle(element).reflection;
1669
1669
  if (!wrapperStyle) {
1670
1670
  return null;
1671
1671
  }
@@ -1675,13 +1675,13 @@ function renderReflectionOverlay(doc, element, mediaDataUrls) {
1675
1675
  return layer;
1676
1676
  }
1677
1677
  function renderHollowHitOutline(doc, element) {
1678
- const hit = chunkFPE5PZMI_cjs.buildHollowHitOutline(element);
1678
+ const hit = chunkSOHTHDYV_cjs.buildHollowHitOutline(element);
1679
1679
  if (!hit) {
1680
1680
  return null;
1681
1681
  }
1682
1682
  const svg = createSvgEl(doc, "svg", {
1683
1683
  "aria-hidden": "true",
1684
- viewBox: chunkFPE5PZMI_cjs.strokeOutlineViewBox(element),
1684
+ viewBox: chunkSOHTHDYV_cjs.strokeOutlineViewBox(element),
1685
1685
  preserveAspectRatio: "none"
1686
1686
  });
1687
1687
  svg.setAttribute("style", OUTLINE_SVG_STYLE);
@@ -1714,20 +1714,20 @@ function renderShapeSubpathFillOverlay(doc, element) {
1714
1714
  return svg;
1715
1715
  }
1716
1716
  function renderStrokeOutline(doc, element) {
1717
- const outline = chunkFPE5PZMI_cjs.buildStrokeOutline(element);
1717
+ const outline = chunkSOHTHDYV_cjs.buildStrokeOutline(element);
1718
1718
  if (!outline) {
1719
1719
  return null;
1720
1720
  }
1721
1721
  const svg = createSvgEl(doc, "svg", {
1722
1722
  class: "pptx-vanilla-gradient-outline",
1723
1723
  "aria-hidden": "true",
1724
- viewBox: chunkFPE5PZMI_cjs.strokeOutlineViewBox(element),
1724
+ viewBox: chunkSOHTHDYV_cjs.strokeOutlineViewBox(element),
1725
1725
  preserveAspectRatio: "none"
1726
1726
  });
1727
1727
  svg.setAttribute("style", OUTLINE_SVG_STYLE);
1728
1728
  if (outline.paint) {
1729
1729
  const defs = createSvgEl(doc, "defs");
1730
- if (chunkFPE5PZMI_cjs.isPatternPaint(outline.paint)) {
1730
+ if (chunkSOHTHDYV_cjs.isPatternPaint(outline.paint)) {
1731
1731
  const pattern = createSvgEl(doc, "pattern", {
1732
1732
  id: outline.paint.id,
1733
1733
  width: outline.paint.width,
@@ -1742,7 +1742,7 @@ function renderStrokeOutline(doc, element) {
1742
1742
  pattern.appendChild(image);
1743
1743
  defs.appendChild(pattern);
1744
1744
  } else {
1745
- defs.innerHTML = chunkFPE5PZMI_cjs.svgGradientMarkup(outline.paint);
1745
+ defs.innerHTML = chunkSOHTHDYV_cjs.svgGradientMarkup(outline.paint);
1746
1746
  }
1747
1747
  svg.appendChild(defs);
1748
1748
  }
@@ -1793,14 +1793,14 @@ function indexRenderedNodes(root) {
1793
1793
  return byId;
1794
1794
  }
1795
1795
  function paintInheritedFill(node, element, parentGroupFill) {
1796
- const inherited = chunkFPE5PZMI_cjs.resolveGroupChildFill(element, parentGroupFill);
1796
+ const inherited = chunkSOHTHDYV_cjs.resolveGroupChildFill(element, parentGroupFill);
1797
1797
  if (inherited) {
1798
1798
  applyGroupChildFill(node, inherited);
1799
1799
  }
1800
1800
  if (element.type !== "group") {
1801
1801
  return;
1802
1802
  }
1803
- const childFill = chunkFPE5PZMI_cjs.getGroupChildParentFill(element, parentGroupFill);
1803
+ const childFill = chunkSOHTHDYV_cjs.getGroupChildParentFill(element, parentGroupFill);
1804
1804
  if (!childFill) {
1805
1805
  return;
1806
1806
  }
@@ -1814,7 +1814,7 @@ function paintInheritedFill(node, element, parentGroupFill) {
1814
1814
  }
1815
1815
  var renderGroupElement = (element, zIndex, context) => {
1816
1816
  const el = createEl(context.document, "div", "pptxv-element pptxv-group", {
1817
- ...chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex),
1817
+ ...chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex),
1818
1818
  // A group paints no fill/outline of its own, but `p:grpSpPr/a:effectLst`
1819
1819
  // DOES carry a shadow/glow/soft-edge for the group's own composite
1820
1820
  // raster (see shared `getComputedEffectStyle`), expressed as `filter` /
@@ -1831,7 +1831,7 @@ var renderGroupElement = (element, zIndex, context) => {
1831
1831
  el.appendChild(reflection);
1832
1832
  }
1833
1833
  if (element.type === "group" && element.children?.length) {
1834
- const parentGroupFill = chunkFPE5PZMI_cjs.getGroupChildParentFill(element);
1834
+ const parentGroupFill = chunkSOHTHDYV_cjs.getGroupChildParentFill(element);
1835
1835
  element.children.forEach((child, index) => {
1836
1836
  const childEl = context.renderElement(child, index);
1837
1837
  if (childEl) {
@@ -1846,12 +1846,12 @@ var renderGroupElement = (element, zIndex, context) => {
1846
1846
  // src/pptx/dom/elements/image.ts
1847
1847
  var renderImageElement = (element, zIndex, context) => {
1848
1848
  const doc = context.document;
1849
- const geometry = element.type === "image" || element.type === "picture" ? chunkFPE5PZMI_cjs.resolveShapeGeometry(element) : void 0;
1849
+ const geometry = element.type === "image" || element.type === "picture" ? chunkSOHTHDYV_cjs.resolveShapeGeometry(element) : void 0;
1850
1850
  const geometryClipPath = geometry?.kind === "clipPath" ? geometry.clipPath : void 0;
1851
- const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunkFPE5PZMI_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
1851
+ const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunkSOHTHDYV_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
1852
1852
  const el = createEl(doc, "div", "pptxv-element pptxv-image", {
1853
- ...chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex),
1854
- overflow: chunkFPE5PZMI_cjs.getImageOverflow(element),
1853
+ ...chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex),
1854
+ overflow: chunkSOHTHDYV_cjs.getImageOverflow(element),
1855
1855
  // The picture's own shape geometry (prstGeom / custGeom) clips the frame,
1856
1856
  // not the `<img>` - a pixel-space clip on the img would be scaled and
1857
1857
  // shifted by the crop transform.
@@ -1859,11 +1859,11 @@ var renderImageElement = (element, zIndex, context) => {
1859
1859
  ...geometryClipPath ? { clipPath: geometryClipPath } : cropShapeClipPath ? { clipPath: cropShapeClipPath } : {}
1860
1860
  });
1861
1861
  el.dataset.elementId = element.id;
1862
- const src = chunkFPE5PZMI_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
1862
+ const src = chunkSOHTHDYV_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
1863
1863
  if (!src) {
1864
1864
  return el;
1865
1865
  }
1866
- const fx = chunkFPE5PZMI_cjs.getComputedImageStyle(element);
1866
+ const fx = chunkSOHTHDYV_cjs.getComputedImageStyle(element);
1867
1867
  for (const f of fx.svgFilters) {
1868
1868
  const svg = createSvgEl(doc, "svg", { width: 0, height: 0, "aria-hidden": "true" });
1869
1869
  svg.setAttribute("style", "position:absolute;width:0;height:0;overflow:hidden");
@@ -1876,7 +1876,7 @@ var renderImageElement = (element, zIndex, context) => {
1876
1876
  el.appendChild(svg);
1877
1877
  }
1878
1878
  const reflection = renderReflectionOverlay(doc, element, context.mediaDataUrls);
1879
- const tiling = chunkFPE5PZMI_cjs.getImageTilingStyle(element, chunkFPE5PZMI_cjs.getCachedNativeImageSize(src));
1879
+ const tiling = chunkSOHTHDYV_cjs.getImageTilingStyle(element, chunkSOHTHDYV_cjs.getCachedNativeImageSize(src));
1880
1880
  if (tiling) {
1881
1881
  const tile = createEl(doc, "div", "pptxv-image-tile", tiling);
1882
1882
  if (fx.filter) {
@@ -1885,10 +1885,10 @@ var renderImageElement = (element, zIndex, context) => {
1885
1885
  if (fx.opacity !== void 0) {
1886
1886
  tile.style.opacity = String(fx.opacity);
1887
1887
  }
1888
- if (!chunkFPE5PZMI_cjs.getCachedNativeImageSize(src)) {
1889
- void chunkFPE5PZMI_cjs.probeNativeImageSize(src).then((size) => {
1888
+ if (!chunkSOHTHDYV_cjs.getCachedNativeImageSize(src)) {
1889
+ void chunkSOHTHDYV_cjs.probeNativeImageSize(src).then((size) => {
1890
1890
  if (size) {
1891
- applyStyleMap(tile, chunkFPE5PZMI_cjs.getImageTilingStyle(element, size) ?? {});
1891
+ applyStyleMap(tile, chunkSOHTHDYV_cjs.getImageTilingStyle(element, size) ?? {});
1892
1892
  }
1893
1893
  return void 0;
1894
1894
  });
@@ -1899,8 +1899,8 @@ var renderImageElement = (element, zIndex, context) => {
1899
1899
  }
1900
1900
  return el;
1901
1901
  }
1902
- const fit = chunkFPE5PZMI_cjs.getImageFitStyle(element);
1903
- const fillCounterTransform = chunkFPE5PZMI_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
1902
+ const fit = chunkSOHTHDYV_cjs.getImageFitStyle(element);
1903
+ const fillCounterTransform = chunkSOHTHDYV_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
1904
1904
  const img = createEl(doc, "img", void 0, {
1905
1905
  ...fit,
1906
1906
  display: "block",
@@ -1918,14 +1918,14 @@ var renderImageElement = (element, zIndex, context) => {
1918
1918
  if (element.type === "image" || element.type === "picture") {
1919
1919
  const clrChange = element.imageEffects?.clrChange;
1920
1920
  if (clrChange) {
1921
- void chunkFPE5PZMI_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
1921
+ void chunkSOHTHDYV_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
1922
1922
  if (img.src === src || img.getAttribute("src") === src) {
1923
1923
  img.src = resolved;
1924
1924
  }
1925
1925
  return void 0;
1926
1926
  });
1927
1927
  }
1928
- const wash = chunkFPE5PZMI_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
1928
+ const wash = chunkSOHTHDYV_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
1929
1929
  if (wash) {
1930
1930
  el.appendChild(
1931
1931
  createEl(doc, "div", "pptxv-image-color-wash", {
@@ -1954,7 +1954,7 @@ var renderInkElement = (element, zIndex, context) => {
1954
1954
  doc,
1955
1955
  "div",
1956
1956
  "pptxv-element pptxv-ink",
1957
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
1957
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
1958
1958
  );
1959
1959
  wrapper.dataset.elementId = element.id;
1960
1960
  const paths = element.inkPaths;
@@ -1975,7 +1975,7 @@ var renderInkElement = (element, zIndex, context) => {
1975
1975
  keyframes.textContent = chunkNTXHQHCS_cjs.INK_REPLAY_KEYFRAMES;
1976
1976
  svg.appendChild(keyframes);
1977
1977
  }
1978
- const views = chunkFPE5PZMI_cjs.buildInkGroupStrokes(element, { color: chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR, width: 1 });
1978
+ const views = chunkSOHTHDYV_cjs.buildInkGroupStrokes(element, { color: chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR, width: 1 });
1979
1979
  for (const [i, view] of views.entries()) {
1980
1980
  svg.appendChild(buildStrokeSvg(doc, view, replayStyles[i]));
1981
1981
  }
@@ -2029,12 +2029,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
2029
2029
  let stopButton = null;
2030
2030
  const update = (playing) => {
2031
2031
  const input = { fullScreen: element.fullScreen, presenting: context.presenting, playing };
2032
- const active = chunkFPE5PZMI_cjs.isMediaFullscreenActive(input);
2032
+ const active = chunkSOHTHDYV_cjs.isMediaFullscreenActive(input);
2033
2033
  applyStyleMap(
2034
2034
  container,
2035
- active ? chunkFPE5PZMI_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
2035
+ active ? chunkSOHTHDYV_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
2036
2036
  );
2037
- if (chunkFPE5PZMI_cjs.shouldShowMediaFullscreenStopButton(input)) {
2037
+ if (chunkSOHTHDYV_cjs.shouldShowMediaFullscreenStopButton(input)) {
2038
2038
  if (!stopButton) {
2039
2039
  stopButton = buildFullscreenStopButton(
2040
2040
  doc,
@@ -2059,12 +2059,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
2059
2059
 
2060
2060
  // src/pptx/dom/elements/media.ts
2061
2061
  function applyMediaPresentingState(el, presenting, playback) {
2062
- chunkFPE5PZMI_cjs.applyMediaPlaybackAttributes(el, playback);
2062
+ chunkSOHTHDYV_cjs.applyMediaPlaybackAttributes(el, playback);
2063
2063
  if (presenting) {
2064
- chunkFPE5PZMI_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
2065
- chunkFPE5PZMI_cjs.scheduleMediaTrimAndFade(el, {
2064
+ chunkSOHTHDYV_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
2065
+ chunkSOHTHDYV_cjs.scheduleMediaTrimAndFade(el, {
2066
2066
  ...playback,
2067
- volume: chunkFPE5PZMI_cjs.mediaPlaybackAttributes(playback).volume
2067
+ volume: chunkSOHTHDYV_cjs.mediaPlaybackAttributes(playback).volume
2068
2068
  });
2069
2069
  } else if (!el.paused) {
2070
2070
  el.pause();
@@ -2074,18 +2074,18 @@ var renderMediaElement = (element, zIndex, context) => {
2074
2074
  if (element.type !== "media") {
2075
2075
  return null;
2076
2076
  }
2077
- const surface = chunkFPE5PZMI_cjs.mediaSurfaceOf({
2077
+ const surface = chunkSOHTHDYV_cjs.mediaSurfaceOf({
2078
2078
  interactive: context.interactive === true || context.reading === true,
2079
2079
  presenting: context.presenting
2080
2080
  });
2081
- const showTransport = chunkFPE5PZMI_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
2081
+ const showTransport = chunkSOHTHDYV_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
2082
2082
  const doc = context.document;
2083
- const baseStyle = chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex);
2083
+ const baseStyle = chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex);
2084
2084
  const el = createEl(doc, "div", "pptxv-element pptxv-media", baseStyle);
2085
2085
  el.dataset.elementId = element.id;
2086
2086
  const mediaSrc = element.mediaData ?? (element.mediaPath ? context.mediaDataUrls.get(element.mediaPath) : void 0);
2087
- const posterSrc = chunkFPE5PZMI_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
2088
- const onlineVideoEmbedUrl = chunkFPE5PZMI_cjs.getOnlineVideoEmbed(element)?.embedUrl;
2087
+ const posterSrc = chunkSOHTHDYV_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
2088
+ const onlineVideoEmbedUrl = chunkSOHTHDYV_cjs.getOnlineVideoEmbed(element)?.embedUrl;
2089
2089
  if (onlineVideoEmbedUrl && element.mediaType === "video") {
2090
2090
  const iframe = createEl(doc, "iframe", "pptxv-media-video pptxv-media-iframe", {
2091
2091
  width: "100%",
@@ -2095,8 +2095,8 @@ var renderMediaElement = (element, zIndex, context) => {
2095
2095
  });
2096
2096
  iframe.src = onlineVideoEmbedUrl;
2097
2097
  iframe.title = context.t("pptx.media.onlineVideoTitle");
2098
- iframe.allow = chunkFPE5PZMI_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
2099
- iframe.sandbox.value = chunkFPE5PZMI_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
2098
+ iframe.allow = chunkSOHTHDYV_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
2099
+ iframe.sandbox.value = chunkSOHTHDYV_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
2100
2100
  iframe.allowFullscreen = true;
2101
2101
  el.appendChild(iframe);
2102
2102
  return el;
@@ -2125,21 +2125,21 @@ var renderMediaElement = (element, zIndex, context) => {
2125
2125
  audio.src = mediaSrc;
2126
2126
  audio.controls = showTransport;
2127
2127
  el.appendChild(audio);
2128
- if (context.presenting && chunkFPE5PZMI_cjs.registerCrossSlideAudio(element, mediaSrc)) {
2128
+ if (context.presenting && chunkSOHTHDYV_cjs.registerCrossSlideAudio(element, mediaSrc)) {
2129
2129
  audio.muted = true;
2130
- chunkFPE5PZMI_cjs.applyMediaPlaybackAttributes(audio, element);
2130
+ chunkSOHTHDYV_cjs.applyMediaPlaybackAttributes(audio, element);
2131
2131
  return el;
2132
2132
  }
2133
2133
  applyMediaPresentingState(audio, context.presenting, element);
2134
2134
  wireMediaFullscreenOverlay(doc, el, audio, element, context, baseStyle);
2135
2135
  return el;
2136
2136
  }
2137
- const fallback = chunkFPE5PZMI_cjs.mediaFallbackVisual(surface, {
2137
+ const fallback = chunkSOHTHDYV_cjs.mediaFallbackVisual(surface, {
2138
2138
  hasPoster: Boolean(posterSrc),
2139
2139
  missing: element.mediaMissing === true
2140
2140
  });
2141
- const icon = chunkFPE5PZMI_cjs.mediaFallbackIcon(fallback, element.mediaType);
2142
- const labelKey = chunkFPE5PZMI_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
2141
+ const icon = chunkSOHTHDYV_cjs.mediaFallbackIcon(fallback, element.mediaType);
2142
+ const labelKey = chunkSOHTHDYV_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
2143
2143
  if (fallback.poster && posterSrc) {
2144
2144
  const img = createEl(doc, "img", "pptxv-media-poster", {
2145
2145
  width: "100%",
@@ -2156,7 +2156,7 @@ var renderMediaElement = (element, zIndex, context) => {
2156
2156
  if (fallback.badge === "missing") {
2157
2157
  badge.classList.add("pptxv-media-badge-missing");
2158
2158
  }
2159
- badge.setAttribute(chunkFPE5PZMI_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
2159
+ badge.setAttribute(chunkSOHTHDYV_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
2160
2160
  badge.appendChild(buildIcon(doc, icon));
2161
2161
  if (labelKey !== void 0 && fallback.badge === "missing") {
2162
2162
  const text = createEl(doc, "span");
@@ -2169,7 +2169,7 @@ var renderMediaElement = (element, zIndex, context) => {
2169
2169
  }
2170
2170
  if (fallback.placeholder !== "none") {
2171
2171
  el.classList.add("pptxv-placeholder", "pptxv-media-placeholder");
2172
- el.setAttribute(chunkFPE5PZMI_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
2172
+ el.setAttribute(chunkSOHTHDYV_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
2173
2173
  if (icon.length > 0) {
2174
2174
  el.appendChild(buildIcon(doc, icon));
2175
2175
  }
@@ -2205,7 +2205,7 @@ var renderModel3dElement = (element, zIndex, context) => {
2205
2205
  doc,
2206
2206
  "div",
2207
2207
  "pptxv-element pptxv-model3d",
2208
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
2208
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
2209
2209
  );
2210
2210
  el.dataset.elementId = element.id;
2211
2211
  const label = context.t("pptx.model3d.label");
@@ -2342,7 +2342,7 @@ function buildOleIcon(doc, type, color) {
2342
2342
  fill: "none",
2343
2343
  "aria-hidden": "true"
2344
2344
  });
2345
- for (const shape of chunkFPE5PZMI_cjs.getOleIconShapes(type)) {
2345
+ for (const shape of chunkSOHTHDYV_cjs.getOleIconShapes(type)) {
2346
2346
  const node = createSvgEl(doc, shape.tag, shape.attrs);
2347
2347
  if (shape.tag === "text") {
2348
2348
  node.setAttribute("fill", color);
@@ -2361,21 +2361,21 @@ var renderOleElement = (element, zIndex, context) => {
2361
2361
  return null;
2362
2362
  }
2363
2363
  const doc = context.document;
2364
- const oleType = chunkFPE5PZMI_cjs.resolveOleType(element);
2365
- const typeColor = chunkFPE5PZMI_cjs.getOleTypeColor(oleType);
2366
- const typeLabel = chunkFPE5PZMI_cjs.getOleTypeLabel(oleType);
2367
- const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex));
2364
+ const oleType = chunkSOHTHDYV_cjs.resolveOleType(element);
2365
+ const typeColor = chunkSOHTHDYV_cjs.getOleTypeColor(oleType);
2366
+ const typeLabel = chunkSOHTHDYV_cjs.getOleTypeLabel(oleType);
2367
+ const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex));
2368
2368
  el.dataset.elementId = element.id;
2369
2369
  el.setAttribute("role", "group");
2370
- el.setAttribute("aria-label", chunkFPE5PZMI_cjs.getOleAriaLabel(element));
2370
+ el.setAttribute("aria-label", chunkSOHTHDYV_cjs.getOleAriaLabel(element));
2371
2371
  el.title = infoLines(element, typeLabel).join("\n");
2372
2372
  if (element.previewImageData) {
2373
- el.appendChild(buildPreview(doc, element, typeColor, chunkFPE5PZMI_cjs.getOleBadgeLabel(oleType)));
2373
+ el.appendChild(buildPreview(doc, element, typeColor, chunkSOHTHDYV_cjs.getOleBadgeLabel(oleType)));
2374
2374
  } else {
2375
2375
  el.appendChild(buildPlaceholder2(doc, element, oleType, typeColor, typeLabel));
2376
2376
  }
2377
- const showActions = chunkFPE5PZMI_cjs.oleActionsVisible(
2378
- chunkFPE5PZMI_cjs.mediaSurfaceOf({
2377
+ const showActions = chunkSOHTHDYV_cjs.oleActionsVisible(
2378
+ chunkSOHTHDYV_cjs.mediaSurfaceOf({
2379
2379
  interactive: context.interactive === true,
2380
2380
  presenting: context.presenting
2381
2381
  })
@@ -2391,7 +2391,7 @@ function infoLines(el, typeLabel) {
2391
2391
  if (name) {
2392
2392
  lines.push(name);
2393
2393
  }
2394
- const size = chunkFPE5PZMI_cjs.formatBytes(el.oleEmbeddedByteSize);
2394
+ const size = chunkSOHTHDYV_cjs.formatBytes(el.oleEmbeddedByteSize);
2395
2395
  if (size) {
2396
2396
  lines.push(size);
2397
2397
  }
@@ -2415,7 +2415,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
2415
2415
  display: "block"
2416
2416
  });
2417
2417
  img.src = el.previewImageData ?? "";
2418
- img.alt = chunkFPE5PZMI_cjs.getOleAriaLabel(el);
2418
+ img.alt = chunkSOHTHDYV_cjs.getOleAriaLabel(el);
2419
2419
  img.draggable = false;
2420
2420
  preview.appendChild(img);
2421
2421
  const badge = createSvgEl(doc, "svg", { width: 24, height: 24, viewBox: "0 0 24 24" });
@@ -2442,7 +2442,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
2442
2442
  }
2443
2443
  function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
2444
2444
  const box = createEl(doc, "div", "pptxv-ole-placeholder", {
2445
- ...chunkFPE5PZMI_cjs.getPlaceholderStyle(oleType),
2445
+ ...chunkSOHTHDYV_cjs.getPlaceholderStyle(oleType),
2446
2446
  width: "100%",
2447
2447
  height: "100%",
2448
2448
  display: "flex",
@@ -2463,7 +2463,7 @@ function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
2463
2463
  whiteSpace: "nowrap",
2464
2464
  color: typeColor
2465
2465
  });
2466
- name.textContent = chunkFPE5PZMI_cjs.getOleDisplayName(el);
2466
+ name.textContent = chunkSOHTHDYV_cjs.getOleDisplayName(el);
2467
2467
  box.appendChild(name);
2468
2468
  if (el.fileName) {
2469
2469
  const sublabel = createEl(doc, "span", "pptxv-ole-sublabel", {
@@ -2515,7 +2515,7 @@ function buildActionBar(doc, el, typeLabel, context) {
2515
2515
  for (const type of ["pointerdown", "mousedown", "click"]) {
2516
2516
  bar.addEventListener(type, (event) => event.stopPropagation());
2517
2517
  }
2518
- const size = chunkFPE5PZMI_cjs.formatBytes(el.oleEmbeddedByteSize);
2518
+ const size = chunkSOHTHDYV_cjs.formatBytes(el.oleEmbeddedByteSize);
2519
2519
  if (size) {
2520
2520
  const meta = createEl(doc, "span", "pptxv-ole-meta", {
2521
2521
  marginRight: "auto",
@@ -2535,14 +2535,14 @@ function buildActionBar(doc, el, typeLabel, context) {
2535
2535
  download.title = downloadTitle;
2536
2536
  download.textContent = context.t("pptx.ole.download");
2537
2537
  bar.appendChild(download);
2538
- if (chunkFPE5PZMI_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
2538
+ if (chunkSOHTHDYV_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
2539
2539
  const open = createEl(doc, "button", "pptxv-ole-action", ACTION_STYLE);
2540
2540
  open.type = "button";
2541
2541
  const openTitle = context.t("pptx.ole.openName", { name: downloadName });
2542
2542
  open.setAttribute("aria-label", openTitle);
2543
2543
  open.title = openTitle;
2544
2544
  open.textContent = context.t("pptx.ole.open");
2545
- open.addEventListener("click", () => chunkFPE5PZMI_cjs.openUrlInNewTab(data));
2545
+ open.addEventListener("click", () => chunkSOHTHDYV_cjs.openUrlInNewTab(data));
2546
2546
  bar.appendChild(open);
2547
2547
  }
2548
2548
  return bar;
@@ -2554,7 +2554,7 @@ var renderPlaceholderElement = (element, zIndex, context) => {
2554
2554
  context.document,
2555
2555
  "div",
2556
2556
  "pptxv-element pptxv-placeholder",
2557
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
2557
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
2558
2558
  );
2559
2559
  el.dataset.elementId = element.id;
2560
2560
  el.dataset.elementType = element.type;
@@ -2570,7 +2570,7 @@ var renderZoomElement = (element, zIndex, context) => {
2570
2570
  return null;
2571
2571
  }
2572
2572
  const doc = context.document;
2573
- const summaryView = chunkFPE5PZMI_cjs.buildSummaryZoomView(
2573
+ const summaryView = chunkSOHTHDYV_cjs.buildSummaryZoomView(
2574
2574
  element,
2575
2575
  (index) => {
2576
2576
  const slide = context.slides?.[index];
@@ -2590,7 +2590,7 @@ var renderZoomElement = (element, zIndex, context) => {
2590
2590
  doc,
2591
2591
  "div",
2592
2592
  "pptxv-element pptxv-zoom pptxv-summary-zoom",
2593
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
2593
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
2594
2594
  );
2595
2595
  const content = createEl(doc, "div", "pptxv-summary-zoom-content", summaryView.containerStyle);
2596
2596
  root.dataset.elementId = element.id;
@@ -2656,7 +2656,7 @@ var renderZoomElement = (element, zIndex, context) => {
2656
2656
  const target = element.targetSlideIndex ?? 0;
2657
2657
  const targetSlide = context.slides?.[target];
2658
2658
  const interactive = context.presenting && context.onZoomClick !== void 0;
2659
- const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex));
2659
+ const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex));
2660
2660
  el.dataset.elementId = element.id;
2661
2661
  el.dataset.zoomType = zoomType;
2662
2662
  el.dataset.zoomTarget = String(target);
@@ -2666,7 +2666,7 @@ var renderZoomElement = (element, zIndex, context) => {
2666
2666
  el.tabIndex = 0;
2667
2667
  el.style.cursor = "pointer";
2668
2668
  const activate = () => {
2669
- const zoomTarget = chunkFPE5PZMI_cjs.resolveZoomNavigationTarget(element);
2669
+ const zoomTarget = chunkSOHTHDYV_cjs.resolveZoomNavigationTarget(element);
2670
2670
  if (zoomTarget) {
2671
2671
  context.onZoomClick?.(zoomTarget, context.currentSlideIndex ?? 0);
2672
2672
  }
@@ -2781,7 +2781,7 @@ function registerExtraRenderers(registry) {
2781
2781
  // src/pptx/dom/elements/smartart-3d.ts
2782
2782
  var renderSmartArt3DElement = (element, zIndex, context) => {
2783
2783
  const wrapper = renderSmartArtSvg(element, zIndex, context);
2784
- const spec = wrapper ? chunkFPE5PZMI_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
2784
+ const spec = wrapper ? chunkSOHTHDYV_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
2785
2785
  if (!wrapper || !spec) {
2786
2786
  return wrapper;
2787
2787
  }
@@ -2791,18 +2791,18 @@ var renderSmartArt3DElement = (element, zIndex, context) => {
2791
2791
  textStyle: context.presentationStates?.get(element.id)?.textStyle
2792
2792
  });
2793
2793
  if (context.onSmartArtNodeTextChange && context.interactive && !context.presenting) {
2794
- const layer = renderSmartArtSvg(chunkFPE5PZMI_cjs.elementInLocalFrame(element), 0, context);
2794
+ const layer = renderSmartArtSvg(chunkSOHTHDYV_cjs.elementInLocalFrame(element), 0, context);
2795
2795
  if (layer) {
2796
2796
  layer.classList.add("pptxv-smartart-3d-edit-layer");
2797
2797
  layer.setAttribute("data-smartart-3d-edit-layer", "true");
2798
- chunkFPE5PZMI_cjs.stripEditLayerMarkers(layer);
2798
+ chunkSOHTHDYV_cjs.stripEditLayerMarkers(layer);
2799
2799
  layer.setAttribute("aria-hidden", "true");
2800
2800
  Object.assign(layer.style, { position: "absolute", inset: "0", zIndex: "1" });
2801
2801
  for (const svg of layer.querySelectorAll("svg")) {
2802
2802
  svg.style.opacity = "0";
2803
2803
  }
2804
2804
  wrapper.appendChild(layer);
2805
- chunkFPE5PZMI_cjs.routeEditLayerPointerToNodes(layer);
2805
+ chunkSOHTHDYV_cjs.routeEditLayerPointerToNodes(layer);
2806
2806
  }
2807
2807
  }
2808
2808
  return wrapper;
@@ -2815,7 +2815,7 @@ function nodeTarget(target) {
2815
2815
  }
2816
2816
  function enableSmartArtEditing(chrome, element, context) {
2817
2817
  const data = element.smartArtData;
2818
- if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunkFPE5PZMI_cjs.canDrillDown(element)) {
2818
+ if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunkSOHTHDYV_cjs.canDrillDown(element)) {
2819
2819
  return;
2820
2820
  }
2821
2821
  let editor = null;
@@ -2837,8 +2837,8 @@ function enableSmartArtEditing(chrome, element, context) {
2837
2837
  }
2838
2838
  event.stopPropagation();
2839
2839
  const textNode = target.querySelector("text");
2840
- const textRect = textNode ? chunkFPE5PZMI_cjs.measureSvgViewportRect(textNode) : null;
2841
- const rect = textRect && textRect.width > 0 ? textRect : chunkFPE5PZMI_cjs.measureSvgViewportRect(target);
2840
+ const textRect = textNode ? chunkSOHTHDYV_cjs.measureSvgViewportRect(textNode) : null;
2841
+ const rect = textRect && textRect.width > 0 ? textRect : chunkSOHTHDYV_cjs.measureSvgViewportRect(target);
2842
2842
  if (!rect) {
2843
2843
  return;
2844
2844
  }
@@ -2862,7 +2862,7 @@ function enableSmartArtEditing(chrome, element, context) {
2862
2862
  textAlign: "center"
2863
2863
  });
2864
2864
  editor = input;
2865
- input.value = chunkFPE5PZMI_cjs.findSmartArtNodeText(data, nodeId) ?? "";
2865
+ input.value = chunkSOHTHDYV_cjs.findSmartArtNodeText(data, nodeId) ?? "";
2866
2866
  const commit = () => {
2867
2867
  if (input !== editor) {
2868
2868
  return;
@@ -2894,7 +2894,7 @@ function enableSmartArtEditing(chrome, element, context) {
2894
2894
  }
2895
2895
  cancelHide();
2896
2896
  swatches?.remove();
2897
- const rect = chunkFPE5PZMI_cjs.measureSvgViewportRect(target);
2897
+ const rect = chunkSOHTHDYV_cjs.measureSvgViewportRect(target);
2898
2898
  if (!rect) {
2899
2899
  return;
2900
2900
  }
@@ -2913,7 +2913,7 @@ function enableSmartArtEditing(chrome, element, context) {
2913
2913
  });
2914
2914
  swatches.setAttribute("role", "group");
2915
2915
  swatches.setAttribute("aria-label", context.t("pptx.smartArt.fillColor"));
2916
- for (const color of chunkFPE5PZMI_cjs.resolvePalette(data).slice(0, 6)) {
2916
+ for (const color of chunkSOHTHDYV_cjs.resolvePalette(data).slice(0, 6)) {
2917
2917
  const button = createEl(chrome.ownerDocument, "button", "", {
2918
2918
  width: "18px",
2919
2919
  height: "18px",
@@ -3012,7 +3012,7 @@ function buildSmartArtFallbackSvg(doc, layout, a11yNodes = [], nodeIds = []) {
3012
3012
  svg.setAttribute("class", "pptxv-smartart-svg");
3013
3013
  svg.setAttribute("style", SMARTART_SVG_STYLE);
3014
3014
  for (const conn of layout.connectors) {
3015
- const paint = chunkFPE5PZMI_cjs.smartArtConnectorPaint(conn);
3015
+ const paint = chunkSOHTHDYV_cjs.smartArtConnectorPaint(conn);
3016
3016
  svg.appendChild(
3017
3017
  createSvgEl(doc, "path", {
3018
3018
  d: paint.d,
@@ -3071,7 +3071,7 @@ function buildFallbackNode(doc, node, shadowFilter, a11yLabel, nodeId) {
3071
3071
  })
3072
3072
  );
3073
3073
  }
3074
- const label = chunkFPE5PZMI_cjs.smartArtNodeLabel(node);
3074
+ const label = chunkSOHTHDYV_cjs.smartArtNodeLabel(node);
3075
3075
  if (label.visible) {
3076
3076
  appendSvgTextLines(doc, g, {
3077
3077
  lines: label.lines,
@@ -3107,41 +3107,41 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3107
3107
  doc,
3108
3108
  "div",
3109
3109
  "pptxv-element pptxv-smartart",
3110
- chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex)
3110
+ chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex)
3111
3111
  );
3112
3112
  wrapper.dataset.elementId = element.id;
3113
3113
  wrapper.dataset.testid = `smartart-${data?.layout ?? "diagram"}`;
3114
- const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunkFPE5PZMI_cjs.buildChromeStyle(data?.chrome));
3114
+ const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunkSOHTHDYV_cjs.buildChromeStyle(data?.chrome));
3115
3115
  chrome.style.position = "relative";
3116
3116
  wrapper.appendChild(chrome);
3117
3117
  if (data) {
3118
- const a11y = chunkFPE5PZMI_cjs.buildSmartArtA11y(data);
3118
+ const a11y = chunkSOHTHDYV_cjs.buildSmartArtA11y(data);
3119
3119
  chrome.setAttribute("role", "img");
3120
3120
  chrome.setAttribute("aria-label", a11y.label);
3121
3121
  }
3122
3122
  const nodes = data?.nodes ?? [];
3123
3123
  const drawingShapes = data?.drawingShapes ?? [];
3124
3124
  const animationState = context.presentationStates?.get(element.id);
3125
- const { nodes: revealedNodesFull } = chunkFPE5PZMI_cjs.resolveRevealedSmartArtNodes(
3125
+ const { nodes: revealedNodesFull } = chunkSOHTHDYV_cjs.resolveRevealedSmartArtNodes(
3126
3126
  nodes,
3127
3127
  animationState,
3128
3128
  data?.presLayoutVars
3129
3129
  );
3130
3130
  if (data && drawingShapes.length > 0) {
3131
- const revealedShapes = chunkFPE5PZMI_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
3131
+ const revealedShapes = chunkSOHTHDYV_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
3132
3132
  chrome.appendChild(
3133
- buildDrawingShapesSvg(doc, element.id, data, chunkFPE5PZMI_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
3133
+ buildDrawingShapesSvg(doc, element.id, data, chunkSOHTHDYV_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
3134
3134
  );
3135
3135
  enableSmartArtEditing(chrome, element, context);
3136
3136
  return wrapper;
3137
3137
  }
3138
3138
  if (data && nodes.length > 0) {
3139
3139
  const revealedNodes = revealedNodesFull;
3140
- const layout = chunkFPE5PZMI_cjs.computeSmartArtElementLayout(
3140
+ const layout = chunkSOHTHDYV_cjs.computeSmartArtElementLayout(
3141
3141
  data,
3142
3142
  revealedNodes,
3143
3143
  { width: element.width, height: element.height },
3144
- chunkFPE5PZMI_cjs.resolvePalette(data),
3144
+ chunkSOHTHDYV_cjs.resolvePalette(data),
3145
3145
  data.style ?? "flat",
3146
3146
  element.id
3147
3147
  );
@@ -3149,8 +3149,8 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3149
3149
  buildSmartArtFallbackSvg(
3150
3150
  doc,
3151
3151
  layout,
3152
- chunkFPE5PZMI_cjs.buildSmartArtA11y(data).nodes,
3153
- chunkFPE5PZMI_cjs.flattenNodes(revealedNodes).map((node) => node.id)
3152
+ chunkSOHTHDYV_cjs.buildSmartArtA11y(data).nodes,
3153
+ chunkSOHTHDYV_cjs.flattenNodes(revealedNodes).map((node) => node.id)
3154
3154
  )
3155
3155
  );
3156
3156
  enableSmartArtEditing(chrome, element, context);
@@ -3173,17 +3173,17 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3173
3173
  function buildDrawingShapesSvg(doc, elementId, data, a11yNodes, revealedShapes) {
3174
3174
  const allShapes = data.drawingShapes ?? [];
3175
3175
  const style = data.style ?? "flat";
3176
- const viewBox = chunkFPE5PZMI_cjs.computeDrawingViewBox(allShapes);
3177
- const rendered = chunkFPE5PZMI_cjs.projectDrawingShapes(
3176
+ const viewBox = chunkSOHTHDYV_cjs.computeDrawingViewBox(allShapes);
3177
+ const rendered = chunkSOHTHDYV_cjs.projectDrawingShapes(
3178
3178
  elementId,
3179
3179
  revealedShapes,
3180
3180
  viewBox,
3181
- chunkFPE5PZMI_cjs.resolvePalette(data),
3181
+ chunkSOHTHDYV_cjs.resolvePalette(data),
3182
3182
  style
3183
3183
  );
3184
- const shadow = chunkFPE5PZMI_cjs.styleShadowFilter(style);
3184
+ const shadow = chunkSOHTHDYV_cjs.styleShadowFilter(style);
3185
3185
  const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
3186
- const nodeIds = chunkFPE5PZMI_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
3186
+ const nodeIds = chunkSOHTHDYV_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
3187
3187
  const svg = createSvgEl(doc, "svg", {
3188
3188
  viewBox: `0 0 ${viewBox.width} ${viewBox.height}`,
3189
3189
  preserveAspectRatio: "xMidYMid meet"
@@ -3318,7 +3318,9 @@ function enableTableResize(container, table, element, context) {
3318
3318
  for (const handle of [...colHandles, ...rowHandles]) {
3319
3319
  handle.remove();
3320
3320
  }
3321
- colHandles = chunkFPE5PZMI_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct) => {
3321
+ const crossings = chunkSOHTHDYV_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3322
+ const rowBounds = measureRowBoundaries(table);
3323
+ colHandles = chunkSOHTHDYV_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct, i) => {
3322
3324
  const handle = createEl(doc, "div", "pptxv-table-resize-col", {
3323
3325
  position: "absolute",
3324
3326
  top: "0",
@@ -3326,13 +3328,29 @@ function enableTableResize(container, table, element, context) {
3326
3328
  left: `calc(${leftPct}% - 3px)`,
3327
3329
  width: "6px",
3328
3330
  zIndex: "10",
3329
- cursor: "col-resize",
3330
3331
  pointerEvents: "none"
3331
3332
  });
3333
+ const segments = chunkSOHTHDYV_cjs.columnHandleSegments(
3334
+ crossings.columns[i] ?? [],
3335
+ rowBounds,
3336
+ table.offsetHeight
3337
+ );
3338
+ for (const { top, height } of segments) {
3339
+ handle.appendChild(
3340
+ createEl(doc, "div", "pptxv-table-resize-segment", {
3341
+ position: "absolute",
3342
+ left: "0",
3343
+ right: "0",
3344
+ top: `${top}px`,
3345
+ height: `${height}px`,
3346
+ cursor: "col-resize"
3347
+ })
3348
+ );
3349
+ }
3332
3350
  container.appendChild(handle);
3333
3351
  return handle;
3334
3352
  });
3335
- rowHandles = measureRowBoundaries(table).map((topPx) => {
3353
+ rowHandles = rowBounds.map((topPx, i) => {
3336
3354
  const handle = createEl(doc, "div", "pptxv-table-resize-row", {
3337
3355
  position: "absolute",
3338
3356
  left: "0",
@@ -3340,9 +3358,21 @@ function enableTableResize(container, table, element, context) {
3340
3358
  top: `${topPx - 3}px`,
3341
3359
  height: "6px",
3342
3360
  zIndex: "10",
3343
- cursor: "row-resize",
3344
3361
  pointerEvents: "none"
3345
3362
  });
3363
+ const segments = chunkSOHTHDYV_cjs.rowHandleSegments(crossings.rows[i] ?? [], tableData.columnWidths);
3364
+ for (const { leftPct, widthPct } of segments) {
3365
+ handle.appendChild(
3366
+ createEl(doc, "div", "pptxv-table-resize-segment", {
3367
+ position: "absolute",
3368
+ top: "0",
3369
+ bottom: "0",
3370
+ left: `${leftPct}%`,
3371
+ width: `${widthPct}%`,
3372
+ cursor: "row-resize"
3373
+ })
3374
+ );
3375
+ }
3346
3376
  container.appendChild(handle);
3347
3377
  return handle;
3348
3378
  });
@@ -3374,14 +3404,14 @@ function enableTableResize(container, table, element, context) {
3374
3404
  const deltaProp = (event.clientX - active.startPos) / (rect.width || 1);
3375
3405
  context.onTableResizeColumns?.(
3376
3406
  element,
3377
- chunkFPE5PZMI_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
3407
+ chunkSOHTHDYV_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
3378
3408
  );
3379
3409
  } else if (event.clientY !== active.startPos && active.type === "row") {
3380
3410
  const deltaY = event.clientY - active.startPos;
3381
3411
  context.onTableResizeRow?.(
3382
3412
  element,
3383
3413
  active.index,
3384
- chunkFPE5PZMI_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunkFPE5PZMI_cjs.DEFAULT_ROW_HEIGHT, deltaY)
3414
+ chunkSOHTHDYV_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunkSOHTHDYV_cjs.DEFAULT_ROW_HEIGHT, deltaY)
3385
3415
  );
3386
3416
  }
3387
3417
  drawHandles();
@@ -3390,11 +3420,13 @@ function enableTableResize(container, table, element, context) {
3390
3420
  const rect = container.getBoundingClientRect();
3391
3421
  const localX = event.clientX - rect.left;
3392
3422
  const localY = event.clientY - rect.top;
3393
- const scaleY = chunkFPE5PZMI_cjs.getTableResizeScale(rect.height, container.offsetHeight);
3394
- const colBoundaries = chunkFPE5PZMI_cjs.computeColumnBoundaries(tableData.columnWidths);
3423
+ const scaleY = chunkSOHTHDYV_cjs.getTableResizeScale(rect.height, container.offsetHeight);
3424
+ const crossings = chunkSOHTHDYV_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3425
+ const rowBounds = measureRowBoundaries(table);
3426
+ const colBoundaries = chunkSOHTHDYV_cjs.computeColumnBoundaries(tableData.columnWidths);
3395
3427
  for (let i = 0; i < colBoundaries.length; i++) {
3396
3428
  const boundaryX = colBoundaries[i] / 100 * rect.width;
3397
- if (Math.abs(localX - boundaryX) <= HANDLE_ZONE) {
3429
+ if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !chunkSOHTHDYV_cjs.isColumnBoundaryMergedAt(crossings, i, rowBounds, localY / scaleY)) {
3398
3430
  event.preventDefault();
3399
3431
  event.stopPropagation();
3400
3432
  doc.body.style.cursor = "col-resize";
@@ -3411,9 +3443,8 @@ function enableTableResize(container, table, element, context) {
3411
3443
  return;
3412
3444
  }
3413
3445
  }
3414
- const rowBounds = measureRowBoundaries(table);
3415
3446
  for (let i = 0; i < rowBounds.length; i++) {
3416
- if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE) {
3447
+ if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !chunkSOHTHDYV_cjs.isRowBoundaryMergedAt(crossings, i, tableData.columnWidths, localX / (rect.width || 1))) {
3417
3448
  event.preventDefault();
3418
3449
  event.stopPropagation();
3419
3450
  const tr = table.querySelectorAll("tbody > tr")[i];
@@ -3424,7 +3455,7 @@ function enableTableResize(container, table, element, context) {
3424
3455
  index: i,
3425
3456
  startPos: event.clientY,
3426
3457
  handleEl: rowHandles[i] ?? container,
3427
- initialRowHeight: tr?.offsetHeight ?? chunkFPE5PZMI_cjs.DEFAULT_ROW_HEIGHT
3458
+ initialRowHeight: tr?.offsetHeight ?? chunkSOHTHDYV_cjs.DEFAULT_ROW_HEIGHT
3428
3459
  };
3429
3460
  win.addEventListener("mousemove", onMouseMove);
3430
3461
  win.addEventListener("mouseup", onMouseUp);
@@ -3445,7 +3476,7 @@ var renderTableElement = (element, zIndex, context) => {
3445
3476
  }
3446
3477
  const doc = context.document;
3447
3478
  const container = createEl(doc, "div", "pptxv-element pptxv-table", {
3448
- ...chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex),
3479
+ ...chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex),
3449
3480
  overflow: "hidden"
3450
3481
  });
3451
3482
  container.dataset.elementId = element.id;
@@ -3458,7 +3489,7 @@ var renderTableElement = (element, zIndex, context) => {
3458
3489
  // font stack; all five bindings declare the same shared default here.
3459
3490
  fontFamily: chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY,
3460
3491
  // `a:tblPr@rtl`: mirrors the column order for right-to-left decks.
3461
- ...chunkFPE5PZMI_cjs.tableContainerCss(tableData)
3492
+ ...chunkSOHTHDYV_cjs.tableContainerCss(tableData)
3462
3493
  });
3463
3494
  appendColgroup(doc, table, tableData.columnWidths);
3464
3495
  const tbody = doc.createElement("tbody");
@@ -3519,13 +3550,13 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3519
3550
  if (cell.rowSpan && cell.rowSpan > 1) {
3520
3551
  td.rowSpan = cell.rowSpan;
3521
3552
  }
3522
- const style = chunkFPE5PZMI_cjs.tableCellCss(
3553
+ const style = chunkSOHTHDYV_cjs.tableCellCss(
3523
3554
  tableData,
3524
3555
  cell,
3525
3556
  { rowIndex, cellIndex, rowCount, columnCount },
3526
3557
  styleContext
3527
3558
  );
3528
- const patternFill = cell.style ? chunkFPE5PZMI_cjs.cellPatternFillCss(cell.style) : null;
3559
+ const patternFill = cell.style ? chunkSOHTHDYV_cjs.cellPatternFillCss(cell.style) : null;
3529
3560
  if (patternFill) {
3530
3561
  delete style["backgroundColor"];
3531
3562
  delete style["background"];
@@ -3538,7 +3569,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3538
3569
  }
3539
3570
  applyStyleMap(td, CELL_BASE_STYLE);
3540
3571
  applyStyleMap(td, style);
3541
- const diagonals = chunkFPE5PZMI_cjs.getCellDiagonalBorders(
3572
+ const diagonals = chunkSOHTHDYV_cjs.getCellDiagonalBorders(
3542
3573
  cell.style,
3543
3574
  tableData,
3544
3575
  { rowIndex, cellIndex, rowCount, columnCount },
@@ -3552,7 +3583,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3552
3583
  }
3553
3584
  function diagonalLine(doc, x1, y1, x2, y2, stroke, width) {
3554
3585
  const line = createSvgEl(doc, "line", { x1, y1, x2, y2, stroke, "stroke-width": width });
3555
- line.style.setProperty("stroke-width", chunkKRMMJUCO_cjs.screenStrokeWidth(width));
3586
+ line.style.setProperty("stroke-width", chunk7DMJEYQJ_cjs.screenStrokeWidth(width));
3556
3587
  return line;
3557
3588
  }
3558
3589
  function renderDiagonalOverlay(doc, diagonals) {
@@ -3582,7 +3613,7 @@ function renderDiagonalOverlay(doc, diagonals) {
3582
3613
  return svg;
3583
3614
  }
3584
3615
  function appendCellText(doc, td, cell) {
3585
- const blocks = chunkFPE5PZMI_cjs.cellParagraphBlocks(cell);
3616
+ const blocks = chunkSOHTHDYV_cjs.cellParagraphBlocks(cell);
3586
3617
  if (blocks) {
3587
3618
  for (const block of blocks) {
3588
3619
  const div = createEl(doc, "div", "pptxv-table-para", { display: "block", ...block.css });
@@ -3617,7 +3648,7 @@ function appendRuns(doc, parent, runs) {
3617
3648
  }
3618
3649
  const span = createEl(doc, "span", "pptxv-table-run", {
3619
3650
  position: "relative",
3620
- ...chunkFPE5PZMI_cjs.cellRunStyle(run)
3651
+ ...chunkSOHTHDYV_cjs.cellRunStyle(run)
3621
3652
  });
3622
3653
  span.textContent = run.text;
3623
3654
  parent.appendChild(span);
@@ -3631,8 +3662,8 @@ function registerTableChartRenderers(registry) {
3631
3662
  }
3632
3663
 
3633
3664
  // src/pptx/dom/glyph-outline-cache.ts
3634
- var glyphOutlineFontCache = new chunkFPE5PZMI_cjs.GlyphOutlineFontCache();
3635
- var getGlyphOutline = chunkFPE5PZMI_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
3665
+ var glyphOutlineFontCache = new chunkSOHTHDYV_cjs.GlyphOutlineFontCache();
3666
+ var getGlyphOutline = chunkSOHTHDYV_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
3636
3667
 
3637
3668
  // src/pptx/dom/elements/text-warp.ts
3638
3669
  function renderWarpedText(element, context) {
@@ -3644,12 +3675,12 @@ function renderWarpedText(element, context) {
3644
3675
  if (!preset || preset === "textNoShape" || preset === "textPlain") {
3645
3676
  return null;
3646
3677
  }
3647
- const paragraphs = chunkFPE5PZMI_cjs.groupIntoParagraphs(element);
3678
+ const paragraphs = chunkSOHTHDYV_cjs.groupIntoParagraphs(element);
3648
3679
  if (paragraphs.length === 0) {
3649
3680
  return null;
3650
3681
  }
3651
- if (!chunkFPE5PZMI_cjs.shouldUseSvgWarp(preset)) {
3652
- const transform = chunkFPE5PZMI_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
3682
+ if (!chunkSOHTHDYV_cjs.shouldUseSvgWarp(preset)) {
3683
+ const transform = chunkSOHTHDYV_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
3653
3684
  if (!transform) {
3654
3685
  return null;
3655
3686
  }
@@ -3677,7 +3708,7 @@ function renderWarpedText(element, context) {
3677
3708
  text.textContent = paragraphs.map((p) => p.segments.map((s) => s.text).join("")).join("\n");
3678
3709
  return text;
3679
3710
  }
3680
- if (chunkFPE5PZMI_cjs.hasGlyphEnvelope(preset)) {
3711
+ if (chunkSOHTHDYV_cjs.hasGlyphEnvelope(preset)) {
3681
3712
  return renderGlyphWarp(element, paragraphs, context);
3682
3713
  }
3683
3714
  return renderPathWarp(element, paragraphs, context);
@@ -3703,7 +3734,7 @@ function renderGlyphWarp(element, paragraphs, context) {
3703
3734
  });
3704
3735
  svg.setAttribute("class", "pptxv-wordart");
3705
3736
  svg.setAttribute("style", "position:absolute;inset:0;width:100%;height:100%;overflow:visible");
3706
- const perLine = chunkFPE5PZMI_cjs.buildGlyphEnvelopeBlock(
3737
+ const perLine = chunkSOHTHDYV_cjs.buildGlyphEnvelopeBlock(
3707
3738
  preset,
3708
3739
  paragraphs.map(
3709
3740
  (paragraph) => paragraph.segments.map((seg, i) => ({
@@ -3798,7 +3829,7 @@ function renderPathWarp(element, paragraphs, context) {
3798
3829
  defs.appendChild(
3799
3830
  createSvgEl(context.document, "path", {
3800
3831
  id,
3801
- d: chunkFPE5PZMI_cjs.buildWarpPath(
3832
+ d: chunkSOHTHDYV_cjs.buildWarpPath(
3802
3833
  preset,
3803
3834
  element.width,
3804
3835
  element.height,
@@ -3831,7 +3862,7 @@ function renderPathWarp(element, paragraphs, context) {
3831
3862
 
3832
3863
  // src/pptx/dom/elements/text-shape.ts
3833
3864
  var renderTextShapeElement = (element, zIndex, context) => {
3834
- const container = chunkFPE5PZMI_cjs.getContainerStyle(element, zIndex);
3865
+ const container = chunkSOHTHDYV_cjs.getContainerStyle(element, zIndex);
3835
3866
  const animState = context.presentationStates?.get(element.id);
3836
3867
  const shape = getShapeFillStrokeStyle(
3837
3868
  element,
@@ -3846,7 +3877,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
3846
3877
  const el = createEl(context.document, "div", "pptxv-element pptxv-shape", merged);
3847
3878
  el.dataset.elementId = element.id;
3848
3879
  if (context.interactive && !context.presenting) {
3849
- const hitTargetStyle = chunkFPE5PZMI_cjs.elementHitTargetStyle(element);
3880
+ const hitTargetStyle = chunkSOHTHDYV_cjs.elementHitTargetStyle(element);
3850
3881
  if (hitTargetStyle) {
3851
3882
  const hitTarget = createEl(context.document, "div", void 0, hitTargetStyle);
3852
3883
  hitTarget.setAttribute("aria-hidden", "true");
@@ -3889,8 +3920,8 @@ var renderTextShapeElement = (element, zIndex, context) => {
3889
3920
  } else if (warped) {
3890
3921
  el.appendChild(warped);
3891
3922
  } else {
3892
- const linkedSegments = chunkFPE5PZMI_cjs.getOverflowSegments(element, context.slide?.elements);
3893
- const paragraphs = chunkFPE5PZMI_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
3923
+ const linkedSegments = chunkSOHTHDYV_cjs.getOverflowSegments(element, context.slide?.elements);
3924
+ const paragraphs = chunkSOHTHDYV_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
3894
3925
  const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
3895
3926
  if (hasText) {
3896
3927
  el.appendChild(
@@ -3901,7 +3932,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
3901
3932
  );
3902
3933
  } else {
3903
3934
  const mode = context.interactive && !context.presenting ? "edit" : "present";
3904
- const prompt = chunkFPE5PZMI_cjs.placeholderPromptDescriptor(element, mode);
3935
+ const prompt = chunkSOHTHDYV_cjs.placeholderPromptDescriptor(element, mode);
3905
3936
  if (prompt) {
3906
3937
  const hint = createEl(context.document, "div", "pptxv-placeholder-prompt", {
3907
3938
  ...getTextBlockStyle(element),
@@ -4066,11 +4097,11 @@ async function resolveImageUrls(handler, slides) {
4066
4097
 
4067
4098
  Object.defineProperty(exports, "buildEmbeddedFontStyles", {
4068
4099
  enumerable: true,
4069
- get: function () { return chunkFPE5PZMI_cjs.buildEmbeddedFontStyles; }
4100
+ get: function () { return chunkSOHTHDYV_cjs.buildEmbeddedFontStyles; }
4070
4101
  });
4071
4102
  Object.defineProperty(exports, "buildFieldSubstitutionContext", {
4072
4103
  enumerable: true,
4073
- get: function () { return chunkFPE5PZMI_cjs.buildFieldSubstitutionContext; }
4104
+ get: function () { return chunkSOHTHDYV_cjs.buildFieldSubstitutionContext; }
4074
4105
  });
4075
4106
  Object.defineProperty(exports, "renderChartViewModelSvg", {
4076
4107
  enumerable: true,