ooxml-ui 1.18.0 → 1.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +28 -0
  2. package/dist/{chunk-CPHFMJOU.js → chunk-EVL7GFC7.js} +1 -1
  3. package/dist/{chunk-GSWCAZQ3.js → chunk-FHO7TEWA.js} +1 -0
  4. package/dist/{chunk-GILNGII2.js → chunk-MSXUCINT.js} +2 -2
  5. package/dist/index.js +3 -3
  6. package/dist/pptx/{chart-3d-view-scene-6YLA75UQ.mjs → chart-3d-view-scene-6LQRJAM3.mjs} +2 -2
  7. package/dist/pptx/{chart-3d-view-scene-4GGMVQNN.cjs → chart-3d-view-scene-FAKI4QKT.cjs} +38 -38
  8. package/dist/pptx/{chunk-6ZMCXJ32.mjs → chunk-73OUATE4.mjs} +1 -1
  9. package/dist/pptx/{chunk-LF2X2AOK.mjs → chunk-75S3RTSS.mjs} +1 -1
  10. package/dist/pptx/{chunk-OFGZWYKM.mjs → chunk-AUCJIB3M.mjs} +162 -96
  11. package/dist/pptx/{chunk-HKHO4GDD.cjs → chunk-G3UVZ5FO.cjs} +122 -404
  12. package/dist/pptx/{chunk-QG2EEFAW.cjs → chunk-LCB46TH2.cjs} +12 -12
  13. package/dist/pptx/{chunk-NTWYYXB2.mjs → chunk-PIIYTRLE.mjs} +69 -374
  14. package/dist/pptx/{chunk-6OK5Z2MQ.cjs → chunk-S2Y3VUNC.cjs} +914 -842
  15. package/dist/pptx/{chunk-TXMIKRYG.cjs → chunk-W7CBPO77.cjs} +1 -1
  16. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts +7 -0
  17. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts.map +1 -0
  18. package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
  19. package/dist/pptx/dom/elements/shape-filter-defs.d.ts.map +1 -1
  20. package/dist/pptx/dom/index.cjs +340 -285
  21. package/dist/pptx/dom/index.d.ts +1 -0
  22. package/dist/pptx/dom/index.d.ts.map +1 -1
  23. package/dist/pptx/dom/index.mjs +96 -46
  24. package/dist/pptx/dom/presentation-rerender.d.ts.map +1 -1
  25. package/dist/pptx/dom/slide-stage.d.ts +5 -0
  26. package/dist/pptx/dom/slide-stage.d.ts.map +1 -1
  27. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  28. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  29. package/dist/pptx/index.cjs +3202 -3174
  30. package/dist/pptx/index.mjs +4 -4
  31. package/dist/pptx/render/chart-axis-range.d.ts +2 -36
  32. package/dist/pptx/render/chart-axis-range.d.ts.map +1 -1
  33. package/dist/pptx/render/chart-axis-style.d.ts.map +1 -1
  34. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts +5 -0
  35. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts.map +1 -1
  36. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  37. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  38. package/dist/pptx/render/chart-helpers.d.ts +2 -1
  39. package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
  40. package/dist/pptx/render/chart-marker-shape.d.ts +4 -50
  41. package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
  42. package/dist/pptx/render/chart-overlays.cjs +7 -7
  43. package/dist/pptx/render/chart-overlays.mjs +1 -1
  44. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  45. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  46. package/dist/pptx/render/chart-view-model-scale.d.ts +3 -2
  47. package/dist/pptx/render/chart-view-model-scale.d.ts.map +1 -1
  48. package/dist/pptx/render/chart-view-model.cjs +44 -44
  49. package/dist/pptx/render/chart-view-model.mjs +1 -1
  50. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  51. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  52. package/dist/pptx/render/connector-markers.d.ts +3 -1
  53. package/dist/pptx/render/connector-markers.d.ts.map +1 -1
  54. package/dist/pptx/render/custom-path-markers.d.ts +11 -0
  55. package/dist/pptx/render/custom-path-markers.d.ts.map +1 -0
  56. package/dist/pptx/render/image-color-change.d.ts +3 -1
  57. package/dist/pptx/render/image-color-change.d.ts.map +1 -1
  58. package/dist/pptx/render/image-duotone-canvas.d.ts +3 -1
  59. package/dist/pptx/render/image-duotone-canvas.d.ts.map +1 -1
  60. package/dist/pptx/render/image-native-size.d.ts +3 -1
  61. package/dist/pptx/render/image-native-size.d.ts.map +1 -1
  62. package/dist/pptx/render/image-source-effects.d.ts.map +1 -1
  63. package/dist/pptx/render/index.d.ts +2 -0
  64. package/dist/pptx/render/index.d.ts.map +1 -1
  65. package/dist/pptx/render/render-cache-lifecycle.d.ts +10 -0
  66. package/dist/pptx/render/render-cache-lifecycle.d.ts.map +1 -0
  67. package/dist/pptx/render/render-cache.d.ts +8 -0
  68. package/dist/pptx/render/render-cache.d.ts.map +1 -0
  69. package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
  70. package/dist/pptx/render/stroke-outline.d.ts +3 -0
  71. package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
  72. package/dist/pptx/render/text-build-spans.d.ts +1 -0
  73. package/dist/pptx/render/text-build-spans.d.ts.map +1 -1
  74. package/dist/{presentation-preview-HMEBDYEL.js → presentation-preview-KY56TONW.js} +1 -1
  75. package/dist/teams.js +2 -2
  76. package/dist/xlsx.js +4 -4
  77. package/package.json +11 -11
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunk6OK5Z2MQ_cjs = require('../chunk-6OK5Z2MQ.cjs');
3
+ var chunkS2Y3VUNC_cjs = require('../chunk-S2Y3VUNC.cjs');
4
4
  require('../chunk-WSTWYZFM.cjs');
5
5
  var chunk2JEQHIAL_cjs = require('../chunk-2JEQHIAL.cjs');
6
6
  require('../chunk-IOR4KOGN.cjs');
7
7
  require('../chunk-X7FS7XHU.cjs');
8
8
  require('../chunk-XFQ2RD4I.cjs');
9
9
  require('../chunk-52LKIMK3.cjs');
10
- var chunkQG2EEFAW_cjs = require('../chunk-QG2EEFAW.cjs');
10
+ var chunkLCB46TH2_cjs = require('../chunk-LCB46TH2.cjs');
11
11
  require('../chunk-XOAXPD2W.cjs');
12
12
  require('../chunk-P27CIE4O.cjs');
13
13
  require('../chunk-BSGCZ4JZ.cjs');
@@ -17,12 +17,12 @@ require('../chunk-ZJFN5POF.cjs');
17
17
  require('../chunk-T34B6TZT.cjs');
18
18
  require('../chunk-WB25PCHQ.cjs');
19
19
  require('../chunk-W3X2UVYQ.cjs');
20
- var chunkHKHO4GDD_cjs = require('../chunk-HKHO4GDD.cjs');
20
+ var chunkG3UVZ5FO_cjs = require('../chunk-G3UVZ5FO.cjs');
21
21
  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 chunkTXMIKRYG_cjs = require('../chunk-TXMIKRYG.cjs');
25
+ var chunkW7CBPO77_cjs = require('../chunk-W7CBPO77.cjs');
26
26
  require('../chunk-G4WRLFMJ.cjs');
27
27
  require('../chunk-73IDQGYI.cjs');
28
28
  require('../chunk-X4FNVH7J.cjs');
@@ -96,7 +96,7 @@ function buildActiveXControlsOverlay(doc, controls, canvasSize) {
96
96
  zIndex: "40"
97
97
  });
98
98
  controls.forEach((control, index) => {
99
- const view = chunk6OK5Z2MQ_cjs.getActiveXControlOverlayView(control, canvasSize, index);
99
+ const view = chunkS2Y3VUNC_cjs.getActiveXControlOverlayView(control, canvasSize, index);
100
100
  const style = {
101
101
  position: "absolute",
102
102
  left: `${view.left}px`,
@@ -132,7 +132,7 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
132
132
  pointerEvents: "none",
133
133
  zIndex: "45"
134
134
  });
135
- const markers = chunk6OK5Z2MQ_cjs.buildCommentMarkers(
135
+ const markers = chunkS2Y3VUNC_cjs.buildCommentMarkers(
136
136
  comments,
137
137
  canvasSize.width,
138
138
  canvasSize.height,
@@ -141,10 +141,10 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
141
141
  for (const marker of markers) {
142
142
  const dot = createEl(doc, "button", "pptxv-comment-marker", {
143
143
  position: "absolute",
144
- left: `${marker.x - chunk6OK5Z2MQ_cjs.COMMENT_MARKER_SIZE / 2}px`,
145
- top: `${marker.y - chunk6OK5Z2MQ_cjs.COMMENT_MARKER_SIZE / 2}px`,
146
- width: `${chunk6OK5Z2MQ_cjs.COMMENT_MARKER_SIZE}px`,
147
- height: `${chunk6OK5Z2MQ_cjs.COMMENT_MARKER_SIZE}px`,
144
+ left: `${marker.x - chunkS2Y3VUNC_cjs.COMMENT_MARKER_SIZE / 2}px`,
145
+ top: `${marker.y - chunkS2Y3VUNC_cjs.COMMENT_MARKER_SIZE / 2}px`,
146
+ width: `${chunkS2Y3VUNC_cjs.COMMENT_MARKER_SIZE}px`,
147
+ height: `${chunkS2Y3VUNC_cjs.COMMENT_MARKER_SIZE}px`,
148
148
  display: "flex",
149
149
  alignItems: "center",
150
150
  justifyContent: "center",
@@ -211,7 +211,7 @@ function merge3dStyle(base, computed) {
211
211
  }
212
212
  }
213
213
  function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
214
- const frame = chunk6OK5Z2MQ_cjs.getFrameEffectStyle(el);
214
+ const frame = chunkS2Y3VUNC_cjs.getFrameEffectStyle(el);
215
215
  if (frame) {
216
216
  return { ...frame };
217
217
  }
@@ -221,13 +221,13 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
221
221
  const ss = el.shapeStyle;
222
222
  const style = {};
223
223
  if (ss) {
224
- const fill = animatesFill ? void 0 : chunkHKHO4GDD_cjs.getComputedFillStyle(el);
224
+ const fill = animatesFill ? void 0 : chunkG3UVZ5FO_cjs.getComputedFillStyle(el);
225
225
  for (const [key, value] of Object.entries(fill ?? {})) {
226
226
  if (value !== void 0) {
227
227
  style[key] = value;
228
228
  }
229
229
  }
230
- const stroke = chunk6OK5Z2MQ_cjs.getComputedStrokeStyle(el);
230
+ const stroke = chunkS2Y3VUNC_cjs.getComputedStrokeStyle(el);
231
231
  if (stroke.borderWidth > 0) {
232
232
  if (animatesStroke) {
233
233
  style["borderWidth"] = stroke.cssBorderWidth;
@@ -246,7 +246,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
246
246
  style["strokeMiterlimit"] = stroke.strokeMiterlimit;
247
247
  }
248
248
  }
249
- const fx = chunk6OK5Z2MQ_cjs.getComputedEffectStyle(el);
249
+ const fx = chunkS2Y3VUNC_cjs.getComputedEffectStyle(el);
250
250
  if (fx.boxShadow) {
251
251
  style["boxShadow"] = fx.boxShadow;
252
252
  }
@@ -263,11 +263,11 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
263
263
  if (fx.overflowVisible) {
264
264
  style["overflow"] = "visible";
265
265
  }
266
- merge3dStyle(style, chunk6OK5Z2MQ_cjs.getComputed3dStyle(el));
267
- if (chunk6OK5Z2MQ_cjs.isHollowShapeElement(el)) {
266
+ merge3dStyle(style, chunkS2Y3VUNC_cjs.getComputed3dStyle(el));
267
+ if (chunkS2Y3VUNC_cjs.isHollowShapeElement(el)) {
268
268
  style["pointerEvents"] = "none";
269
269
  }
270
- const geometry = chunk6OK5Z2MQ_cjs.resolveShapeGeometry(el);
270
+ const geometry = chunkS2Y3VUNC_cjs.resolveShapeGeometry(el);
271
271
  switch (geometry.kind) {
272
272
  case "bare":
273
273
  style["backgroundColor"] = "transparent";
@@ -287,10 +287,10 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
287
287
  case "lineEdge":
288
288
  style["backgroundColor"] = "transparent";
289
289
  style["border"] = "none";
290
- style["borderTop"] = chunkTXMIKRYG_cjs.screenBorder(
290
+ style["borderTop"] = chunkW7CBPO77_cjs.screenBorder(
291
291
  geometry.strokeWidth,
292
- chunkHKHO4GDD_cjs.getCssBorderDashStyle(el.shapeStyle?.strokeDash),
293
- el.shapeStyle?.strokeColor ?? chunkHKHO4GDD_cjs.DEFAULT_STROKE_COLOR
292
+ chunkG3UVZ5FO_cjs.getCssBorderDashStyle(el.shapeStyle?.strokeDash),
293
+ el.shapeStyle?.strokeColor ?? chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR
294
294
  );
295
295
  return style;
296
296
  default:
@@ -301,12 +301,12 @@ function getTextBlockStyle(el) {
301
301
  if (!pptx.hasTextProperties(el)) {
302
302
  return {};
303
303
  }
304
- const base = chunk6OK5Z2MQ_cjs.buildTextBlockStyle(el, {
305
- fallbackColor: chunkHKHO4GDD_cjs.DEFAULT_TEXT_COLOR,
304
+ const base = chunkS2Y3VUNC_cjs.buildTextBlockStyle(el, {
305
+ fallbackColor: chunkG3UVZ5FO_cjs.DEFAULT_TEXT_COLOR,
306
306
  bodyLayout: true,
307
307
  pxLengths: true
308
308
  });
309
- const scene3d = chunk6OK5Z2MQ_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
309
+ const scene3d = chunkS2Y3VUNC_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
310
310
  if (!scene3d) {
311
311
  return base;
312
312
  }
@@ -318,6 +318,38 @@ function getTextBlockStyle(el) {
318
318
  return merged;
319
319
  }
320
320
 
321
+ // src/pptx/dom/chart-pixel-subscriptions.ts
322
+ var subscriptions = /* @__PURE__ */ new WeakMap();
323
+ function subscribeChartPixelRepaint(container, repaint) {
324
+ const entry = { container, unsubscribe: () => {
325
+ } };
326
+ entry.unsubscribe = chunkG3UVZ5FO_cjs.subscribeBarFacePicturePixelSamples(() => {
327
+ if (!entry.container.isConnected) {
328
+ disposeChartPixelSubscriptions(entry.container);
329
+ return;
330
+ }
331
+ repaint(entry.container);
332
+ });
333
+ subscriptions.set(container, entry);
334
+ }
335
+ function disposeChartPixelSubscriptions(root) {
336
+ const dispose = (node) => {
337
+ subscriptions.get(node)?.unsubscribe();
338
+ subscriptions.delete(node);
339
+ };
340
+ dispose(root);
341
+ for (const node of root.querySelectorAll(".pptxv-chart")) dispose(node);
342
+ }
343
+ function adoptChartPixelSubscription(from, to) {
344
+ disposeChartPixelSubscriptions(to);
345
+ const entry = subscriptions.get(from);
346
+ if (entry) {
347
+ subscriptions.delete(from);
348
+ entry.container = to;
349
+ subscriptions.set(to, entry);
350
+ }
351
+ }
352
+
321
353
  // src/pptx/dom/presentation-rerender.ts
322
354
  function findRenderable(elements, id) {
323
355
  for (const [index, element] of elements.entries()) {
@@ -353,8 +385,10 @@ function reRenderPresentationElements(context, stage, ids) {
353
385
  continue;
354
386
  }
355
387
  if (found.element.type === "chart" || found.element.type === "smartArt") {
388
+ adoptChartPixelSubscription(fresh, old);
356
389
  old.replaceChildren(...Array.from(fresh.childNodes));
357
390
  } else {
391
+ disposeChartPixelSubscriptions(old);
358
392
  old.replaceWith(fresh);
359
393
  }
360
394
  }
@@ -410,14 +444,15 @@ function renderSlideStage(options) {
410
444
  "--pptx-slide-h": `${canvasSize.height}px`,
411
445
  "--pptxv-grid-size": `${options.gridSpacingPx ?? 10}px`,
412
446
  // One device pixel in slide px: thin strokes stay visible on screen.
413
- ...chunkTXMIKRYG_cjs.deviceStrokeStageStyle(scale),
414
- ...chunk6OK5Z2MQ_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
447
+ ...chunkW7CBPO77_cjs.deviceStrokeStageStyle(scale),
448
+ ...chunkS2Y3VUNC_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
415
449
  });
416
450
  if (interactive || options.reading) {
417
451
  stage.setAttribute("role", "region");
418
452
  stage.setAttribute("aria-roledescription", "slide");
419
453
  stage.setAttribute("aria-label", t("pptx.canvas.slide"));
420
454
  }
455
+ let renderedNodes = [];
421
456
  const context = {
422
457
  reading: options.reading,
423
458
  document: doc,
@@ -453,19 +488,20 @@ function renderSlideStage(options) {
453
488
  selectedElementIds: options.selectedElementIds,
454
489
  registry,
455
490
  renderElement(element, zIndex) {
456
- if (!chunk6OK5Z2MQ_cjs.isElementRendered(element)) {
491
+ if (!chunkS2Y3VUNC_cjs.isElementRendered(element)) {
457
492
  return null;
458
493
  }
459
494
  const node = registry.resolve(element.type)(element, zIndex, context);
495
+ if (node) renderedNodes?.push(node);
460
496
  if (node && interactive && "setAttribute" in node) {
461
- const templateLocked = chunk6OK5Z2MQ_cjs.isTemplateElementId(element.id) && !options.templateEditing;
497
+ const templateLocked = chunkS2Y3VUNC_cjs.isTemplateElementId(element.id) && !options.templateEditing;
462
498
  if (templateLocked) {
463
499
  node.style.pointerEvents = "none";
464
500
  }
465
501
  node.setAttribute("data-pptx-element", "true");
466
502
  }
467
- if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunk6OK5Z2MQ_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
468
- const hitTargetStyle = chunk6OK5Z2MQ_cjs.elementHitTargetStyle(element);
503
+ if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunkS2Y3VUNC_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
504
+ const hitTargetStyle = chunkS2Y3VUNC_cjs.elementHitTargetStyle(element);
469
505
  if (hitTargetStyle) {
470
506
  const hitTarget = createEl(doc, "div", void 0, hitTargetStyle);
471
507
  hitTarget.setAttribute("aria-hidden", "true");
@@ -476,35 +512,46 @@ function renderSlideStage(options) {
476
512
  return node;
477
513
  }
478
514
  };
479
- options.captureContext?.(context);
480
- slide.elements.forEach((element, index) => {
481
- const node = context.renderElement(element, index);
482
- if (node) {
483
- stage.appendChild(node);
484
- }
485
- });
486
- if (interactive || options.reading) {
487
- chunk6OK5Z2MQ_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
488
- presenting: options.presenting ?? false
489
- });
490
- }
491
- if (interactive) {
492
- chunk6OK5Z2MQ_cjs.applyElementActionAffordances(
493
- stage,
494
- slide.elements.filter(
495
- (element) => options.templateEditing || !chunk6OK5Z2MQ_cjs.isTemplateElementId(element.id)
496
- ),
497
- {
498
- canInteract: true,
499
- presenting: options.presenting ?? false,
500
- labels: chunk6OK5Z2MQ_cjs.actionAffordanceLabels((key) => t(key))
515
+ try {
516
+ options.captureContext?.(context);
517
+ slide.elements.forEach((element, index) => {
518
+ const node = context.renderElement(element, index);
519
+ if (node) {
520
+ stage.appendChild(node);
501
521
  }
502
- );
503
- }
504
- if (slide.activeXControls && slide.activeXControls.length > 0) {
505
- stage.appendChild(buildActiveXControlsOverlay(doc, slide.activeXControls, canvasSize));
522
+ });
523
+ if (interactive || options.reading) {
524
+ chunkS2Y3VUNC_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
525
+ presenting: options.presenting ?? false
526
+ });
527
+ }
528
+ if (interactive) {
529
+ chunkS2Y3VUNC_cjs.applyElementActionAffordances(
530
+ stage,
531
+ slide.elements.filter(
532
+ (element) => options.templateEditing || !chunkS2Y3VUNC_cjs.isTemplateElementId(element.id)
533
+ ),
534
+ {
535
+ canInteract: true,
536
+ presenting: options.presenting ?? false,
537
+ labels: chunkS2Y3VUNC_cjs.actionAffordanceLabels((key) => t(key))
538
+ }
539
+ );
540
+ }
541
+ if (slide.activeXControls && slide.activeXControls.length > 0) {
542
+ stage.appendChild(buildActiveXControlsOverlay(doc, slide.activeXControls, canvasSize));
543
+ }
544
+ return stage;
545
+ } catch (error) {
546
+ for (const node of renderedNodes ?? []) disposeChartPixelSubscriptions(node);
547
+ disposePptxRenderStage(stage);
548
+ throw error;
549
+ } finally {
550
+ renderedNodes = void 0;
506
551
  }
507
- return stage;
552
+ }
553
+ function disposePptxRenderStage(stage) {
554
+ disposeChartPixelSubscriptions(stage);
508
555
  }
509
556
 
510
557
  // src/pptx/dom/elements/chart-title-editor.ts
@@ -554,7 +601,7 @@ function createChartTitleEditor(container, onCommit) {
554
601
  // src/pptx/dom/elements/chart-editable.ts
555
602
  var CHART_FORMAT_REQUEST_EVENT = "pptx-chart-format-request";
556
603
  function attachChartEditing(container, element, context, repaint) {
557
- if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunk6OK5Z2MQ_cjs.canDrillDown(element)) {
604
+ if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunkS2Y3VUNC_cjs.canDrillDown(element)) {
558
605
  return;
559
606
  }
560
607
  const chart = element;
@@ -564,13 +611,13 @@ function attachChartEditing(container, element, context, repaint) {
564
611
  if (!context.selectedElementIds?.has(element.id)) {
565
612
  return;
566
613
  }
567
- chunkQG2EEFAW_cjs.ensureChartInteractionStyles();
568
- container.classList.add(chunkQG2EEFAW_cjs.CHART_INTERACTIVE_CLASS);
614
+ chunkLCB46TH2_cjs.ensureChartInteractionStyles();
615
+ container.classList.add(chunkLCB46TH2_cjs.CHART_INTERACTIVE_CLASS);
569
616
  let active = null;
570
617
  let activeMark = null;
571
618
  let selected = context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
572
619
  let badge = null;
573
- chunkQG2EEFAW_cjs.applyChartPartHighlight(container, selected);
620
+ chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
574
621
  const showBadge = (text) => {
575
622
  if (!badge) {
576
623
  badge = container.ownerDocument.createElement("div");
@@ -594,26 +641,26 @@ function attachChartEditing(container, element, context, repaint) {
594
641
  if (!rect) {
595
642
  return;
596
643
  }
597
- const step2 = chunk6OK5Z2MQ_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
644
+ const step2 = chunkS2Y3VUNC_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
598
645
  if (!step2) {
599
646
  return;
600
647
  }
601
648
  repaint(step2.chartData);
602
- chunkQG2EEFAW_cjs.applyChartPartHighlight(container, selected);
603
- showBadge(chunkHKHO4GDD_cjs.formatAxisValue(step2.value));
649
+ chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
650
+ showBadge(chunkG3UVZ5FO_cjs.formatAxisValue(step2.value));
604
651
  return;
605
652
  }
606
653
  if (!active) {
607
654
  return;
608
655
  }
609
656
  const height = container.querySelector("svg")?.getBoundingClientRect().height ?? 0;
610
- const step = chunkQG2EEFAW_cjs.advanceChartValueDrag(active, event.clientY, height);
657
+ const step = chunkLCB46TH2_cjs.advanceChartValueDrag(active, event.clientY, height);
611
658
  if (!step) {
612
659
  return;
613
660
  }
614
661
  repaint(step.chartData);
615
- chunkQG2EEFAW_cjs.applyChartPartHighlight(container, selected);
616
- showBadge(chunkHKHO4GDD_cjs.formatAxisValue(step.value));
662
+ chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
663
+ showBadge(chunkG3UVZ5FO_cjs.formatAxisValue(step.value));
617
664
  };
618
665
  const onUp = () => {
619
666
  if (active || activeMark) {
@@ -639,12 +686,12 @@ function attachChartEditing(container, element, context, repaint) {
639
686
  }
640
687
  if ((finished?.moved || finishedMark?.moved) && chart.chartData) {
641
688
  repaint(chart.chartData);
642
- chunkQG2EEFAW_cjs.applyChartPartHighlight(container, selected);
689
+ chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
643
690
  }
644
691
  }
645
692
  const openTitleEditor = createChartTitleEditor(container, (value) => {
646
693
  if (chart.chartData) {
647
- context.onChartPointChange?.(element, chunkQG2EEFAW_cjs.withChartTitle(chart.chartData, value));
694
+ context.onChartPointChange?.(element, chunkLCB46TH2_cjs.withChartTitle(chart.chartData, value));
648
695
  }
649
696
  });
650
697
  const requestFormat = (event, open) => {
@@ -653,7 +700,7 @@ function attachChartEditing(container, element, context, repaint) {
653
700
  bubbles: true,
654
701
  detail: {
655
702
  elementId: element.id,
656
- target: chunk6OK5Z2MQ_cjs.chartFormatTargetFromEvent(event, container, chart),
703
+ target: chunkS2Y3VUNC_cjs.chartFormatTargetFromEvent(event, container, chart),
657
704
  open
658
705
  }
659
706
  })
@@ -676,19 +723,19 @@ function attachChartEditing(container, element, context, repaint) {
676
723
  });
677
724
  container.addEventListener("pointerdown", (event) => {
678
725
  requestFormat(event, false);
679
- const part = chunkQG2EEFAW_cjs.findChartPartTarget(event.target);
726
+ const part = chunkLCB46TH2_cjs.findChartPartTarget(event.target);
680
727
  if (!part || !chart.chartData) {
681
728
  return;
682
729
  }
683
730
  event.stopPropagation();
684
731
  selected = part;
685
- chunkQG2EEFAW_cjs.applyChartPartHighlight(container, selected);
732
+ chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
686
733
  context.onChartPartSelect?.(element, part);
687
- const vm = chunkHKHO4GDD_cjs.buildChartViewModel(chart);
734
+ const vm = chunkG3UVZ5FO_cjs.buildChartViewModel(chart);
688
735
  let captured = false;
689
- const chartKind = chunkHKHO4GDD_cjs.resolveChartKind(chart.chartData.chartType ?? "bar");
736
+ const chartKind = chunkG3UVZ5FO_cjs.resolveChartKind(chart.chartData.chartType ?? "bar");
690
737
  if (part.pointIndex !== void 0 && chartKind !== "unsupported") {
691
- const markGeometry = chunkQG2EEFAW_cjs.buildChartMarkDragGeometry({
738
+ const markGeometry = chunkLCB46TH2_cjs.buildChartMarkDragGeometry({
692
739
  kind: chartKind,
693
740
  element: chart,
694
741
  chartData: chart.chartData,
@@ -696,7 +743,7 @@ function attachChartEditing(container, element, context, repaint) {
696
743
  seriesIndex: part.seriesIndex,
697
744
  pointIndex: part.pointIndex
698
745
  });
699
- const startedMark = chunk6OK5Z2MQ_cjs.beginChartMarkDrag({
746
+ const startedMark = chunkS2Y3VUNC_cjs.beginChartMarkDrag({
700
747
  part,
701
748
  geometry: markGeometry,
702
749
  chartData: chart.chartData,
@@ -711,7 +758,7 @@ function attachChartEditing(container, element, context, repaint) {
711
758
  }
712
759
  }
713
760
  if (!captured) {
714
- const started = chunkQG2EEFAW_cjs.beginChartValueDrag({
761
+ const started = chunkLCB46TH2_cjs.beginChartValueDrag({
715
762
  part,
716
763
  viewModel: vm,
717
764
  chartData: chart.chartData,
@@ -741,7 +788,7 @@ function attachChartEditing(container, element, context, repaint) {
741
788
  var pool = null;
742
789
  function collectThreeViews(root) {
743
790
  const views = /* @__PURE__ */ new Map();
744
- for (const view of root.querySelectorAll(chunkTXMIKRYG_cjs.THREE_VIEW_TAG)) {
791
+ for (const view of root.querySelectorAll(chunkW7CBPO77_cjs.THREE_VIEW_TAG)) {
745
792
  if (view.spec && !views.has(view.spec)) {
746
793
  views.set(view.spec, view);
747
794
  }
@@ -777,8 +824,8 @@ function rendering3DFlagsOf(context) {
777
824
  };
778
825
  }
779
826
  function mountThreeViewInto(doc, wrapper, options) {
780
- chunkTXMIKRYG_cjs.defineThreeViewElement(doc.defaultView?.customElements);
781
- const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunkTXMIKRYG_cjs.THREE_VIEW_TAG);
827
+ chunkW7CBPO77_cjs.defineThreeViewElement(doc.defaultView?.customElements);
828
+ const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunkW7CBPO77_cjs.THREE_VIEW_TAG);
782
829
  view.replaceChildren(...Array.from(wrapper.childNodes));
783
830
  view.spec = options.spec;
784
831
  view.interactive = options.interactive;
@@ -788,7 +835,7 @@ function mountThreeViewInto(doc, wrapper, options) {
788
835
  return view;
789
836
  }
790
837
  function isChart3DEditable(element, context) {
791
- return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunk6OK5Z2MQ_cjs.canDrillDown(element);
838
+ return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunkS2Y3VUNC_cjs.canDrillDown(element);
792
839
  }
793
840
  function selectedChartPartOf(element, context) {
794
841
  return context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
@@ -822,7 +869,7 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
822
869
  badge.className = "pptxv-chart-drag-badge";
823
870
  badgeHost.appendChild(badge);
824
871
  }
825
- badge.textContent = chunkHKHO4GDD_cjs.formatAxisValue(value);
872
+ badge.textContent = chunkG3UVZ5FO_cjs.formatAxisValue(value);
826
873
  },
827
874
  commitChartData: (next) => context.onChartPointChange?.(element, next)
828
875
  };
@@ -830,19 +877,19 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
830
877
  const listeners = new AbortController();
831
878
  chartViewListeners.set(view, listeners);
832
879
  view.addEventListener(
833
- chunk6OK5Z2MQ_cjs.THREE_VIEW_EVENTS.select,
834
- (event) => chunk6OK5Z2MQ_cjs.applyChart3DSelect(bridge, event.detail.part),
880
+ chunkS2Y3VUNC_cjs.THREE_VIEW_EVENTS.select,
881
+ (event) => chunkS2Y3VUNC_cjs.applyChart3DSelect(bridge, event.detail.part),
835
882
  { signal: listeners.signal }
836
883
  );
837
884
  view.addEventListener(
838
- chunk6OK5Z2MQ_cjs.THREE_VIEW_EVENTS.drag,
839
- (event) => chunk6OK5Z2MQ_cjs.applyChart3DDrag(bridge, event.detail),
885
+ chunkS2Y3VUNC_cjs.THREE_VIEW_EVENTS.drag,
886
+ (event) => chunkS2Y3VUNC_cjs.applyChart3DDrag(bridge, event.detail),
840
887
  { signal: listeners.signal }
841
888
  );
842
889
  }
843
890
  var chartViewListeners = /* @__PURE__ */ new WeakMap();
844
891
  function applyThreeViewTextStyle(el, style) {
845
- for (const view of el.querySelectorAll(chunkTXMIKRYG_cjs.THREE_VIEW_TAG)) {
892
+ for (const view of el.querySelectorAll(chunkW7CBPO77_cjs.THREE_VIEW_TAG)) {
846
893
  view.textStyle = style;
847
894
  }
848
895
  }
@@ -850,7 +897,7 @@ function applyThreeViewTextStyle(el, style) {
850
897
  // src/pptx/dom/elements/chart.ts
851
898
  var renderChartElement = (element, zIndex, context) => {
852
899
  const wrapper = renderChartSvgElement(element, zIndex, context);
853
- const spec = wrapper ? chunk6OK5Z2MQ_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
900
+ const spec = wrapper ? chunkS2Y3VUNC_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
854
901
  if (!wrapper || !spec) {
855
902
  return wrapper;
856
903
  }
@@ -873,31 +920,31 @@ var renderChartSvgElement = (element, zIndex, context) => {
873
920
  "div",
874
921
  "pptxv-element pptxv-chart",
875
922
  // The chart area's outer shadow and glow sit on the frame, outside the chart.
876
- { ...chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex), ...chunk6OK5Z2MQ_cjs.getFrameEffectStyle(element) }
923
+ { ...chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex), ...chunkS2Y3VUNC_cjs.getFrameEffectStyle(element) }
877
924
  );
878
925
  container.dataset.elementId = element.id;
879
926
  const animationState = context.presentationStates?.get(element.id);
880
- const chartData = element.chartData ? chunk6OK5Z2MQ_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
927
+ const chartData = element.chartData ? chunkS2Y3VUNC_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
881
928
  if (!chartData || chartData.series.length === 0) {
882
929
  container.appendChild(renderChartPlaceholder(doc, chartData?.chartType ?? "bar", context.t));
883
930
  return container;
884
931
  }
885
- const kind = chunkHKHO4GDD_cjs.resolveChartKind(chartData.chartType ?? "bar");
932
+ const kind = chunkG3UVZ5FO_cjs.resolveChartKind(chartData.chartType ?? "bar");
886
933
  if (kind === "unsupported") {
887
934
  container.appendChild(renderChartPlaceholder(doc, chartData.chartType, context.t));
888
935
  return container;
889
936
  }
890
937
  const preserveAspectRatio = kind === "pie" || kind === "doughnut" || kind === "radar" || kind === "regionMap" ? "xMidYMid meet" : "none";
891
- const paint = (data) => {
938
+ const paint = (data, target = container) => {
892
939
  const themedElement = {
893
940
  ...element,
894
941
  chartData: { ...data, colorPalette: resolveChartPalette2(data) }
895
942
  };
896
- container.querySelector("svg")?.remove();
897
- container.appendChild(
898
- chunkQG2EEFAW_cjs.renderChartViewModelSvg(
943
+ target.querySelector("svg")?.remove();
944
+ target.appendChild(
945
+ chunkLCB46TH2_cjs.renderChartViewModelSvg(
899
946
  doc,
900
- chunkHKHO4GDD_cjs.buildChartViewModel(themedElement),
947
+ chunkG3UVZ5FO_cjs.buildChartViewModel(themedElement),
901
948
  preserveAspectRatio,
902
949
  (key) => context.t(key)
903
950
  )
@@ -905,17 +952,11 @@ var renderChartSvgElement = (element, zIndex, context) => {
905
952
  };
906
953
  paint(chartData);
907
954
  attachChartEditing(container, element, context, paint);
908
- const unsubscribe = chunkHKHO4GDD_cjs.subscribeBarFacePicturePixelSamples(() => {
909
- if (!container.isConnected) {
910
- unsubscribe();
911
- return;
912
- }
913
- paint(chartData);
914
- });
955
+ subscribeChartPixelRepaint(container, (target) => paint(chartData, target));
915
956
  return container;
916
957
  };
917
958
  function resolveChartPalette2(chartData) {
918
- return chunkHKHO4GDD_cjs.resolveChartPalette(chartData);
959
+ return chunkG3UVZ5FO_cjs.resolveChartPalette(chartData);
919
960
  }
920
961
  function renderChartPlaceholder(doc, chartType, t) {
921
962
  const placeholder = createEl(doc, "div", "pptxv-placeholder pptxv-chart-placeholder", {
@@ -930,7 +971,7 @@ function renderChartPlaceholder(doc, chartType, t) {
930
971
  border: "1px dashed #cbd5e1",
931
972
  boxSizing: "border-box"
932
973
  });
933
- placeholder.textContent = chunk6OK5Z2MQ_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
974
+ placeholder.textContent = chunkS2Y3VUNC_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
934
975
  return placeholder;
935
976
  }
936
977
 
@@ -994,7 +1035,7 @@ function createRunBaseNode(doc, run) {
994
1035
  verticalAlign: "middle",
995
1036
  fontFamily: "'Cambria Math', 'STIX Two Math', serif"
996
1037
  });
997
- math.innerHTML = chunk6OK5Z2MQ_cjs.runEquationMathMl(run.equation);
1038
+ math.innerHTML = chunkS2Y3VUNC_cjs.runEquationMathMl(run.equation);
998
1039
  host.appendChild(math);
999
1040
  if (run.equation.number) {
1000
1041
  const number = createEl(doc, "span", "pptxv-equation-number", {
@@ -1006,7 +1047,7 @@ function createRunBaseNode(doc, run) {
1006
1047
  }
1007
1048
  return host;
1008
1049
  }
1009
- if (run.hyperlink && chunk6OK5Z2MQ_cjs.isRunHyperlinkClickable(run.hyperlink)) {
1050
+ if (run.hyperlink && chunkS2Y3VUNC_cjs.isRunHyperlinkClickable(run.hyperlink)) {
1010
1051
  const link = createEl(doc, "a", "pptxv-link", run.style);
1011
1052
  link.setAttribute("data-pptx-hyperlink", run.hyperlink.url);
1012
1053
  link.setAttribute("role", "link");
@@ -1111,7 +1152,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1111
1152
  bullet.textContent = para.bulletMarker;
1112
1153
  p.appendChild(bullet);
1113
1154
  }
1114
- const spec = build ? chunk6OK5Z2MQ_cjs.buildTextBuildSpec(
1155
+ const spec = build ? chunkS2Y3VUNC_cjs.buildTextBuildSpec(
1115
1156
  build.elementId,
1116
1157
  paragraphs.indexOf(para),
1117
1158
  para.runs.filter((run) => run.text !== NEWLINE_RUN).map((run) => ({ text: run.text, style: run.style })),
@@ -1120,7 +1161,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1120
1161
  if (spec && spec.granularity !== "paragraph") {
1121
1162
  for (const span of spec.spans ?? []) {
1122
1163
  const node = createEl(doc, "span");
1123
- applyStyleMap(node, { ...span.style ?? {}, ...chunk6OK5Z2MQ_cjs.textBuildSpanStyle(span) });
1164
+ applyStyleMap(node, { ...span.style ?? {}, ...chunkS2Y3VUNC_cjs.textBuildSpanStyle(span) });
1124
1165
  if (span.animId) {
1125
1166
  node.setAttribute("data-anim-id", span.animId);
1126
1167
  }
@@ -1133,7 +1174,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
1133
1174
  let runHost = p;
1134
1175
  if (spec) {
1135
1176
  const wrapper = createEl(doc, "span");
1136
- applyStyleMap(wrapper, chunk6OK5Z2MQ_cjs.textBuildSpanStyle(spec));
1177
+ applyStyleMap(wrapper, chunkS2Y3VUNC_cjs.textBuildSpanStyle(spec));
1137
1178
  if (spec.animId) {
1138
1179
  wrapper.setAttribute("data-anim-id", spec.animId);
1139
1180
  }
@@ -1160,9 +1201,9 @@ var renderConnectorElement = (element, zIndex, context) => {
1160
1201
  const doc = context.document;
1161
1202
  const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
1162
1203
  const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
1163
- const strokeColor = ss?.strokeColor ?? chunkHKHO4GDD_cjs.DEFAULT_STROKE_COLOR;
1204
+ const strokeColor = ss?.strokeColor ?? chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR;
1164
1205
  const strokeOpacity = ss?.strokeOpacity ?? 1;
1165
- const dashArray = chunkHKHO4GDD_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
1206
+ const dashArray = chunkG3UVZ5FO_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
1166
1207
  const w = Math.max(element.width, 1);
1167
1208
  const h = Math.max(element.height, 1);
1168
1209
  const wrapper = createEl(doc, "div", "pptxv-element pptxv-connector", {
@@ -1189,7 +1230,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1189
1230
  if (element.hidden) {
1190
1231
  wrapper.style.display = "none";
1191
1232
  }
1192
- const lineGlow = chunk6OK5Z2MQ_cjs.getLineGlowFilterCss(ss);
1233
+ const lineGlow = chunkS2Y3VUNC_cjs.getLineGlowFilterCss(ss);
1193
1234
  if (lineGlow) {
1194
1235
  wrapper.style.filter = lineGlow;
1195
1236
  }
@@ -1197,7 +1238,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1197
1238
  svg.setAttribute("style", "overflow:visible;display:block");
1198
1239
  const seed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
1199
1240
  const defs = createSvgEl(doc, "defs");
1200
- const lineShadow = chunk6OK5Z2MQ_cjs.getLineShadowParams(ss);
1241
+ const lineShadow = chunkS2Y3VUNC_cjs.getLineShadowParams(ss);
1201
1242
  const shadowId = lineShadow ? `${seed}-line-shadow` : void 0;
1202
1243
  if (lineShadow && shadowId) {
1203
1244
  const filter = createSvgEl(doc, "filter", {
@@ -1218,8 +1259,8 @@ var renderConnectorElement = (element, zIndex, context) => {
1218
1259
  );
1219
1260
  defs.appendChild(filter);
1220
1261
  }
1221
- const startArrow = chunk6OK5Z2MQ_cjs.normalizeArrow(ss?.connectorStartArrow);
1222
- const endArrow = chunk6OK5Z2MQ_cjs.normalizeArrow(ss?.connectorEndArrow);
1262
+ const startArrow = chunkS2Y3VUNC_cjs.normalizeArrow(ss?.connectorStartArrow);
1263
+ const endArrow = chunkS2Y3VUNC_cjs.normalizeArrow(ss?.connectorEndArrow);
1223
1264
  const startMarkerId = startArrow ? `${seed}-start` : void 0;
1224
1265
  const endMarkerId = endArrow ? `${seed}-end` : void 0;
1225
1266
  if (startArrow && startMarkerId) {
@@ -1242,10 +1283,10 @@ var renderConnectorElement = (element, zIndex, context) => {
1242
1283
  svg.appendChild(defs);
1243
1284
  }
1244
1285
  const compound = ss?.compoundLine;
1245
- const offsets = chunk6OK5Z2MQ_cjs.getCompoundLineOffsets(compound, strokeWidth);
1246
- const widths = chunk6OK5Z2MQ_cjs.getCompoundLineWidths(compound, strokeWidth);
1286
+ const offsets = chunkS2Y3VUNC_cjs.getCompoundLineOffsets(compound, strokeWidth);
1287
+ const widths = chunkS2Y3VUNC_cjs.getCompoundLineWidths(compound, strokeWidth);
1247
1288
  const shapeType = pptx.hasShapeProperties(element) ? element.shapeType : void 0;
1248
- const usePath = chunk6OK5Z2MQ_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
1289
+ const usePath = chunkS2Y3VUNC_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
1249
1290
  const pathData = usePath ? pptx.getConnectorPathGeometry(element).pathData : void 0;
1250
1291
  const x1 = element.flipHorizontal ? w : 0;
1251
1292
  const y1 = element.flipVertical ? h : 0;
@@ -1256,7 +1297,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1256
1297
  d: pathData ?? `M${x1},${y1} L${x2},${y2}`,
1257
1298
  fill: "none",
1258
1299
  stroke: "transparent",
1259
- "stroke-width": chunk6OK5Z2MQ_cjs.connectorHitStrokeWidth(strokeWidth),
1300
+ "stroke-width": chunkS2Y3VUNC_cjs.connectorHitStrokeWidth(strokeWidth),
1260
1301
  "stroke-linecap": "round",
1261
1302
  "stroke-linejoin": "round"
1262
1303
  });
@@ -1295,7 +1336,7 @@ var renderConnectorElement = (element, zIndex, context) => {
1295
1336
  ...stroke
1296
1337
  });
1297
1338
  }
1298
- node.style.setProperty("stroke-width", chunkTXMIKRYG_cjs.screenStrokeWidth(strandWidth));
1339
+ node.style.setProperty("stroke-width", chunkW7CBPO77_cjs.screenStrokeWidth(strandWidth));
1299
1340
  svg.appendChild(node);
1300
1341
  });
1301
1342
  wrapper.appendChild(svg);
@@ -1306,7 +1347,7 @@ function appendConnectorLabel(wrapper, element, context) {
1306
1347
  if (!pptx.hasTextProperties(element)) {
1307
1348
  return;
1308
1349
  }
1309
- const paragraphs = chunk6OK5Z2MQ_cjs.buildParagraphs(element, context.fieldContext);
1350
+ const paragraphs = chunkS2Y3VUNC_cjs.buildParagraphs(element, context.fieldContext);
1310
1351
  if (!paragraphs.some((paragraph) => paragraph.runs.length > 0)) {
1311
1352
  return;
1312
1353
  }
@@ -1326,16 +1367,17 @@ function appendConnectorLabel(wrapper, element, context) {
1326
1367
  }
1327
1368
  function buildMarker(context, id, arrow, strokeColor, size) {
1328
1369
  const doc = context.document;
1329
- const shape = chunk6OK5Z2MQ_cjs.markerPath(arrow, size.width, size.length);
1370
+ const shape = chunkS2Y3VUNC_cjs.markerPath(arrow, size.width, size.length);
1330
1371
  const marker = createSvgEl(doc, "marker", {
1331
1372
  id,
1332
1373
  viewBox: "0 0 10 10",
1333
- refX: 5,
1374
+ refX: shape.refX,
1334
1375
  refY: 5,
1335
1376
  markerWidth: shape.markerWidth,
1336
1377
  markerHeight: shape.markerHeight,
1337
1378
  orient: "auto-start-reverse",
1338
- markerUnits: "strokeWidth"
1379
+ markerUnits: "strokeWidth",
1380
+ preserveAspectRatio: "none"
1339
1381
  });
1340
1382
  if (shape.shape === "circle") {
1341
1383
  marker.appendChild(createSvgEl(doc, "circle", { cx: 5, cy: 5, r: 4, fill: strokeColor }));
@@ -1410,7 +1452,7 @@ var renderContentPartElement = (element, zIndex, context) => {
1410
1452
  doc,
1411
1453
  "div",
1412
1454
  "pptxv-element pptxv-contentpart",
1413
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
1455
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
1414
1456
  );
1415
1457
  el.dataset.elementId = element.id;
1416
1458
  const strokes = element.inkStrokes;
@@ -1443,7 +1485,7 @@ var renderContentPartElement = (element, zIndex, context) => {
1443
1485
  return el;
1444
1486
  };
1445
1487
  function renderEquations(element, context) {
1446
- if (!pptx.hasTextProperties(element) || !chunk6OK5Z2MQ_cjs.isEquationOnlyText(element.textSegments)) {
1488
+ if (!pptx.hasTextProperties(element) || !chunkS2Y3VUNC_cjs.isEquationOnlyText(element.textSegments)) {
1447
1489
  return null;
1448
1490
  }
1449
1491
  const equations = (element.textSegments ?? []).filter((segment) => segment.equationXml);
@@ -1457,7 +1499,7 @@ function renderEquations(element, context) {
1457
1499
  fontFamily: "'Cambria Math', 'STIX Two Math', serif"
1458
1500
  });
1459
1501
  for (const segment of equations) {
1460
- const mathml = chunk6OK5Z2MQ_cjs.convertOmmlToMathMl(segment.equationXml);
1502
+ const mathml = chunkS2Y3VUNC_cjs.convertOmmlToMathMl(segment.equationXml);
1461
1503
  if (!mathml) {
1462
1504
  continue;
1463
1505
  }
@@ -1471,7 +1513,7 @@ function renderEquations(element, context) {
1471
1513
  flex: 1,
1472
1514
  textAlign: "center"
1473
1515
  });
1474
- math.innerHTML = chunk6OK5Z2MQ_cjs.sanitizeMathMl(mathml);
1516
+ math.innerHTML = chunkS2Y3VUNC_cjs.sanitizeMathMl(mathml);
1475
1517
  row.appendChild(math);
1476
1518
  if (segment.equationNumber) {
1477
1519
  const number = createEl(context.document, "span", "pptxv-equation-number", {
@@ -1488,8 +1530,8 @@ function renderExtrusionOverlay(doc, element) {
1488
1530
  if (!pptx.hasShapeProperties(element)) {
1489
1531
  return null;
1490
1532
  }
1491
- const fill = chunkHKHO4GDD_cjs.getComputedFillStyle(element)?.backgroundColor;
1492
- const data = chunk6OK5Z2MQ_cjs.build3DExtrusionData(
1533
+ const fill = chunkG3UVZ5FO_cjs.getComputedFillStyle(element)?.backgroundColor;
1534
+ const data = chunkS2Y3VUNC_cjs.build3DExtrusionData(
1493
1535
  element.shapeStyle?.shape3d,
1494
1536
  element.shapeStyle?.scene3d,
1495
1537
  fill,
@@ -1551,7 +1593,7 @@ function appendOwnReflection(doc, host, element, mediaDataUrls, suppressOwnRefle
1551
1593
  if (suppressOwnReflection) {
1552
1594
  return;
1553
1595
  }
1554
- const wrapperStyle = chunk6OK5Z2MQ_cjs.getComputedEffectStyle(element).reflection;
1596
+ const wrapperStyle = chunkS2Y3VUNC_cjs.getComputedEffectStyle(element).reflection;
1555
1597
  if (!wrapperStyle) {
1556
1598
  return;
1557
1599
  }
@@ -1575,9 +1617,9 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1575
1617
  if (groupFilterDefs) {
1576
1618
  wrap.appendChild(groupFilterDefs);
1577
1619
  }
1578
- const childParentFill = chunk6OK5Z2MQ_cjs.getGroupChildParentFill(element, parentGroupFill);
1620
+ const childParentFill = chunkS2Y3VUNC_cjs.getGroupChildParentFill(element, parentGroupFill);
1579
1621
  for (const child of element.children ?? []) {
1580
- const childWrap = createEl(doc, "div", void 0, chunk6OK5Z2MQ_cjs.getContainerStyle(child, 0));
1622
+ const childWrap = createEl(doc, "div", void 0, chunkS2Y3VUNC_cjs.getContainerStyle(child, 0));
1581
1623
  childWrap.appendChild(
1582
1624
  buildReflectionMirrorContent(doc, child, mediaDataUrls, childParentFill)
1583
1625
  );
@@ -1591,7 +1633,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1591
1633
  height: "100%",
1592
1634
  ...getShapeFillStrokeStyle(element)
1593
1635
  });
1594
- const inheritedFill = chunk6OK5Z2MQ_cjs.resolveGroupChildFill(element, parentGroupFill);
1636
+ const inheritedFill = chunkS2Y3VUNC_cjs.resolveGroupChildFill(element, parentGroupFill);
1595
1637
  if (inheritedFill) {
1596
1638
  applyInheritedFill(box, inheritedFill);
1597
1639
  }
@@ -1612,12 +1654,12 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1612
1654
  box.appendChild(gradientOutline);
1613
1655
  }
1614
1656
  if (pptx.isImageLikeElement(element)) {
1615
- const src = chunk6OK5Z2MQ_cjs.getImageSrc(element, new Map(mediaDataUrls));
1657
+ const src = chunkS2Y3VUNC_cjs.getImageSrc(element, new Map(mediaDataUrls));
1616
1658
  if (src) {
1617
1659
  const img = createEl(doc, "img", void 0, {
1618
1660
  width: "100%",
1619
1661
  height: "100%",
1620
- ...chunk6OK5Z2MQ_cjs.getImageFitStyle(element)
1662
+ ...chunkS2Y3VUNC_cjs.getImageFitStyle(element)
1621
1663
  });
1622
1664
  img.setAttribute("src", src);
1623
1665
  img.setAttribute("alt", "");
@@ -1627,7 +1669,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1627
1669
  appendOwnReflection(doc, box, element, mediaDataUrls, suppressOwnReflection);
1628
1670
  return box;
1629
1671
  }
1630
- const paragraphs = chunk6OK5Z2MQ_cjs.buildParagraphs(element);
1672
+ const paragraphs = chunkS2Y3VUNC_cjs.buildParagraphs(element);
1631
1673
  const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
1632
1674
  if (hasText) {
1633
1675
  box.appendChild(renderTextBlock(doc, paragraphs, getTextBlockStyle(element)));
@@ -1639,20 +1681,20 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
1639
1681
  // src/pptx/dom/elements/shape-filter-defs.ts
1640
1682
  var OUTLINE_SVG_STYLE = "position:absolute;inset:0;width:100%;height:100%;min-width:1px;min-height:1px;overflow:visible;pointer-events:none";
1641
1683
  function renderShapeFilterDefs(doc, element) {
1642
- const style = chunk6OK5Z2MQ_cjs.getEffectStyleSource(element);
1684
+ const style = chunkS2Y3VUNC_cjs.getEffectStyleSource(element);
1643
1685
  if (!style) {
1644
1686
  return null;
1645
1687
  }
1646
1688
  const markups = [];
1647
- const duotone = chunk6OK5Z2MQ_cjs.getDuotoneSvgFilter(style, element.id);
1689
+ const duotone = chunkS2Y3VUNC_cjs.getDuotoneSvgFilter(style, element.id);
1648
1690
  if (duotone) {
1649
1691
  markups.push(duotone.filterMarkup);
1650
1692
  }
1651
- const softEdge = chunk6OK5Z2MQ_cjs.getSoftEdgeSvgFilter(style, element.id);
1693
+ const softEdge = chunkS2Y3VUNC_cjs.getSoftEdgeSvgFilter(style, element.id);
1652
1694
  if (softEdge) {
1653
1695
  markups.push(softEdge.filterMarkup);
1654
1696
  }
1655
- const bevelLighting = chunk6OK5Z2MQ_cjs.getBevelLightingSvgFilter(element);
1697
+ const bevelLighting = chunkS2Y3VUNC_cjs.getBevelLightingSvgFilter(element);
1656
1698
  if (bevelLighting) {
1657
1699
  markups.push(bevelLighting.filterMarkup);
1658
1700
  }
@@ -1670,7 +1712,7 @@ function renderShapeFillOverlay(doc, element) {
1670
1712
  if (!pptx.hasShapeProperties(element)) {
1671
1713
  return null;
1672
1714
  }
1673
- const overlay = chunk6OK5Z2MQ_cjs.getComputedEffectStyle(element).fillOverlay;
1715
+ const overlay = chunkS2Y3VUNC_cjs.getComputedEffectStyle(element).fillOverlay;
1674
1716
  if (!overlay) {
1675
1717
  return null;
1676
1718
  }
@@ -1685,7 +1727,7 @@ function renderShapeFillOverlay(doc, element) {
1685
1727
  return layer;
1686
1728
  }
1687
1729
  function renderReflectionOverlay(doc, element, mediaDataUrls) {
1688
- const wrapperStyle = chunk6OK5Z2MQ_cjs.getComputedEffectStyle(element).reflection;
1730
+ const wrapperStyle = chunkS2Y3VUNC_cjs.getComputedEffectStyle(element).reflection;
1689
1731
  if (!wrapperStyle) {
1690
1732
  return null;
1691
1733
  }
@@ -1695,13 +1737,13 @@ function renderReflectionOverlay(doc, element, mediaDataUrls) {
1695
1737
  return layer;
1696
1738
  }
1697
1739
  function renderHollowHitOutline(doc, element) {
1698
- const hit = chunk6OK5Z2MQ_cjs.buildHollowHitOutline(element);
1740
+ const hit = chunkS2Y3VUNC_cjs.buildHollowHitOutline(element);
1699
1741
  if (!hit) {
1700
1742
  return null;
1701
1743
  }
1702
1744
  const svg = createSvgEl(doc, "svg", {
1703
1745
  "aria-hidden": "true",
1704
- viewBox: chunk6OK5Z2MQ_cjs.strokeOutlineViewBox(element),
1746
+ viewBox: chunkS2Y3VUNC_cjs.strokeOutlineViewBox(element),
1705
1747
  preserveAspectRatio: "none"
1706
1748
  });
1707
1749
  svg.setAttribute("style", OUTLINE_SVG_STYLE);
@@ -1716,7 +1758,7 @@ function renderHollowHitOutline(doc, element) {
1716
1758
  return svg;
1717
1759
  }
1718
1760
  function renderShapeSubpathFillOverlay(doc, element) {
1719
- const overlay = chunkHKHO4GDD_cjs.buildSubpathFillOverlay(element);
1761
+ const overlay = chunkG3UVZ5FO_cjs.buildSubpathFillOverlay(element);
1720
1762
  if (!overlay) {
1721
1763
  return null;
1722
1764
  }
@@ -1734,20 +1776,20 @@ function renderShapeSubpathFillOverlay(doc, element) {
1734
1776
  return svg;
1735
1777
  }
1736
1778
  function renderStrokeOutline(doc, element) {
1737
- const outline = chunk6OK5Z2MQ_cjs.buildStrokeOutline(element);
1779
+ const outline = chunkS2Y3VUNC_cjs.buildStrokeOutline(element);
1738
1780
  if (!outline) {
1739
1781
  return null;
1740
1782
  }
1741
1783
  const svg = createSvgEl(doc, "svg", {
1742
1784
  class: "pptx-vanilla-gradient-outline",
1743
1785
  "aria-hidden": "true",
1744
- viewBox: chunk6OK5Z2MQ_cjs.strokeOutlineViewBox(element),
1786
+ viewBox: chunkS2Y3VUNC_cjs.strokeOutlineViewBox(element),
1745
1787
  preserveAspectRatio: "none"
1746
1788
  });
1747
1789
  svg.setAttribute("style", OUTLINE_SVG_STYLE);
1748
1790
  if (outline.paint) {
1749
1791
  const defs = createSvgEl(doc, "defs");
1750
- if (chunk6OK5Z2MQ_cjs.isPatternPaint(outline.paint)) {
1792
+ if (chunkS2Y3VUNC_cjs.isPatternPaint(outline.paint)) {
1751
1793
  const pattern = createSvgEl(doc, "pattern", {
1752
1794
  id: outline.paint.id,
1753
1795
  width: outline.paint.width,
@@ -1762,7 +1804,7 @@ function renderStrokeOutline(doc, element) {
1762
1804
  pattern.appendChild(image);
1763
1805
  defs.appendChild(pattern);
1764
1806
  } else {
1765
- defs.innerHTML = chunk6OK5Z2MQ_cjs.svgGradientMarkup(outline.paint);
1807
+ defs.innerHTML = chunkS2Y3VUNC_cjs.svgGradientMarkup(outline.paint);
1766
1808
  }
1767
1809
  svg.appendChild(defs);
1768
1810
  }
@@ -1784,6 +1826,14 @@ function renderStrokeOutline(doc, element) {
1784
1826
  }
1785
1827
  svg.appendChild(path);
1786
1828
  }
1829
+ if (outline.markers) {
1830
+ const defs = createSvgEl(doc, "defs");
1831
+ defs.innerHTML = outline.markers.markup;
1832
+ svg.prepend(defs);
1833
+ const path = svg.querySelector(":scope > path");
1834
+ if (path && outline.markers.start) path.setAttribute("marker-start", outline.markers.start);
1835
+ if (path && outline.markers.end) path.setAttribute("marker-end", outline.markers.end);
1836
+ }
1787
1837
  return svg;
1788
1838
  }
1789
1839
 
@@ -1813,14 +1863,14 @@ function indexRenderedNodes(root) {
1813
1863
  return byId;
1814
1864
  }
1815
1865
  function paintInheritedFill(node, element, parentGroupFill) {
1816
- const inherited = chunk6OK5Z2MQ_cjs.resolveGroupChildFill(element, parentGroupFill);
1866
+ const inherited = chunkS2Y3VUNC_cjs.resolveGroupChildFill(element, parentGroupFill);
1817
1867
  if (inherited) {
1818
1868
  applyGroupChildFill(node, inherited);
1819
1869
  }
1820
1870
  if (element.type !== "group") {
1821
1871
  return;
1822
1872
  }
1823
- const childFill = chunk6OK5Z2MQ_cjs.getGroupChildParentFill(element, parentGroupFill);
1873
+ const childFill = chunkS2Y3VUNC_cjs.getGroupChildParentFill(element, parentGroupFill);
1824
1874
  if (!childFill) {
1825
1875
  return;
1826
1876
  }
@@ -1834,7 +1884,7 @@ function paintInheritedFill(node, element, parentGroupFill) {
1834
1884
  }
1835
1885
  var renderGroupElement = (element, zIndex, context) => {
1836
1886
  const el = createEl(context.document, "div", "pptxv-element pptxv-group", {
1837
- ...chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex),
1887
+ ...chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex),
1838
1888
  // A group paints no fill/outline of its own, but `p:grpSpPr/a:effectLst`
1839
1889
  // DOES carry a shadow/glow/soft-edge for the group's own composite
1840
1890
  // raster (see shared `getComputedEffectStyle`), expressed as `filter` /
@@ -1851,7 +1901,7 @@ var renderGroupElement = (element, zIndex, context) => {
1851
1901
  el.appendChild(reflection);
1852
1902
  }
1853
1903
  if (element.type === "group" && element.children?.length) {
1854
- const parentGroupFill = chunk6OK5Z2MQ_cjs.getGroupChildParentFill(element);
1904
+ const parentGroupFill = chunkS2Y3VUNC_cjs.getGroupChildParentFill(element);
1855
1905
  element.children.forEach((child, index) => {
1856
1906
  const childEl = context.renderElement(child, index);
1857
1907
  if (childEl) {
@@ -1866,16 +1916,16 @@ var renderGroupElement = (element, zIndex, context) => {
1866
1916
  // src/pptx/dom/elements/image.ts
1867
1917
  var renderImageElement = (element, zIndex, context) => {
1868
1918
  const doc = context.document;
1869
- const geometry = element.type === "image" || element.type === "picture" ? chunk6OK5Z2MQ_cjs.resolveShapeGeometry(element) : void 0;
1919
+ const geometry = element.type === "image" || element.type === "picture" ? chunkS2Y3VUNC_cjs.resolveShapeGeometry(element) : void 0;
1870
1920
  const geometryClipPath = geometry?.kind === "clipPath" ? geometry.clipPath : void 0;
1871
- const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunk6OK5Z2MQ_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
1872
- const layers = chunk6OK5Z2MQ_cjs.getPictureFrameLayers(element, {
1873
- overflow: chunk6OK5Z2MQ_cjs.getImageOverflow(element),
1921
+ const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunkS2Y3VUNC_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
1922
+ const layers = chunkS2Y3VUNC_cjs.getPictureFrameLayers(element, {
1923
+ overflow: chunkS2Y3VUNC_cjs.getImageOverflow(element),
1874
1924
  borderRadius: geometry?.kind === "borderRadius" ? geometry.radius : void 0,
1875
1925
  clipPath: geometryClipPath ?? cropShapeClipPath
1876
1926
  });
1877
1927
  const el = createEl(doc, "div", "pptxv-element pptxv-image", {
1878
- ...chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex),
1928
+ ...chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex),
1879
1929
  ...layers.box
1880
1930
  });
1881
1931
  el.dataset.elementId = element.id;
@@ -1887,11 +1937,11 @@ var renderImageElement = (element, zIndex, context) => {
1887
1937
  el.appendChild(outline);
1888
1938
  }
1889
1939
  }
1890
- const src = chunk6OK5Z2MQ_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
1940
+ const src = chunkS2Y3VUNC_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
1891
1941
  if (!src) {
1892
1942
  return el;
1893
1943
  }
1894
- const fx = chunk6OK5Z2MQ_cjs.getComputedImageStyle(element);
1944
+ const fx = chunkS2Y3VUNC_cjs.getComputedImageStyle(element);
1895
1945
  for (const f of fx.svgFilters) {
1896
1946
  const svg = createSvgEl(doc, "svg", { width: 0, height: 0, "aria-hidden": "true" });
1897
1947
  svg.setAttribute("style", "position:absolute;width:0;height:0;overflow:hidden");
@@ -1904,7 +1954,7 @@ var renderImageElement = (element, zIndex, context) => {
1904
1954
  surface.appendChild(svg);
1905
1955
  }
1906
1956
  const reflection = renderReflectionOverlay(doc, element, context.mediaDataUrls);
1907
- const tiling = chunk6OK5Z2MQ_cjs.getImageTilingStyle(element, chunk6OK5Z2MQ_cjs.getCachedNativeImageSize(src));
1957
+ const tiling = chunkS2Y3VUNC_cjs.getImageTilingStyle(element, chunkS2Y3VUNC_cjs.getCachedNativeImageSize(src));
1908
1958
  if (tiling) {
1909
1959
  const tile = createEl(doc, "div", "pptxv-image-tile", tiling);
1910
1960
  if (fx.filter) {
@@ -1913,10 +1963,10 @@ var renderImageElement = (element, zIndex, context) => {
1913
1963
  if (fx.opacity !== void 0) {
1914
1964
  tile.style.opacity = String(fx.opacity);
1915
1965
  }
1916
- if (!chunk6OK5Z2MQ_cjs.getCachedNativeImageSize(src)) {
1917
- void chunk6OK5Z2MQ_cjs.probeNativeImageSize(src).then((size) => {
1966
+ if (!chunkS2Y3VUNC_cjs.getCachedNativeImageSize(src)) {
1967
+ void chunkS2Y3VUNC_cjs.probeNativeImageSize(src).then((size) => {
1918
1968
  if (size) {
1919
- applyStyleMap(tile, chunk6OK5Z2MQ_cjs.getImageTilingStyle(element, size) ?? {});
1969
+ applyStyleMap(tile, chunkS2Y3VUNC_cjs.getImageTilingStyle(element, size) ?? {});
1920
1970
  }
1921
1971
  return void 0;
1922
1972
  });
@@ -1927,8 +1977,8 @@ var renderImageElement = (element, zIndex, context) => {
1927
1977
  }
1928
1978
  return el;
1929
1979
  }
1930
- const fit = chunk6OK5Z2MQ_cjs.getImageFitStyle(element);
1931
- const fillCounterTransform = chunk6OK5Z2MQ_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
1980
+ const fit = chunkS2Y3VUNC_cjs.getImageFitStyle(element);
1981
+ const fillCounterTransform = chunkS2Y3VUNC_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
1932
1982
  const img = createEl(doc, "img", void 0, {
1933
1983
  ...fit,
1934
1984
  display: "block",
@@ -1947,14 +1997,14 @@ var renderImageElement = (element, zIndex, context) => {
1947
1997
  if (element.type === "image" || element.type === "picture") {
1948
1998
  const clrChange = element.imageEffects?.clrChange;
1949
1999
  if (clrChange) {
1950
- void chunk6OK5Z2MQ_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
2000
+ void chunkS2Y3VUNC_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
1951
2001
  if (img.src === src || img.getAttribute("src") === src) {
1952
2002
  img.src = resolved;
1953
2003
  }
1954
2004
  return void 0;
1955
2005
  });
1956
2006
  }
1957
- const wash = chunk6OK5Z2MQ_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
2007
+ const wash = chunkS2Y3VUNC_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
1958
2008
  if (wash) {
1959
2009
  surface.appendChild(
1960
2010
  createEl(doc, "div", "pptxv-image-color-wash", {
@@ -1983,7 +2033,7 @@ var renderInkElement = (element, zIndex, context) => {
1983
2033
  doc,
1984
2034
  "div",
1985
2035
  "pptxv-element pptxv-ink",
1986
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
2036
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
1987
2037
  );
1988
2038
  wrapper.dataset.elementId = element.id;
1989
2039
  const paths = element.inkPaths;
@@ -2004,7 +2054,7 @@ var renderInkElement = (element, zIndex, context) => {
2004
2054
  keyframes.textContent = chunkNTXHQHCS_cjs.INK_REPLAY_KEYFRAMES;
2005
2055
  svg.appendChild(keyframes);
2006
2056
  }
2007
- const views = chunk6OK5Z2MQ_cjs.buildInkGroupStrokes(element, { color: chunkHKHO4GDD_cjs.DEFAULT_STROKE_COLOR, width: 1 });
2057
+ const views = chunkS2Y3VUNC_cjs.buildInkGroupStrokes(element, { color: chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR, width: 1 });
2008
2058
  for (const [i, view] of views.entries()) {
2009
2059
  svg.appendChild(buildStrokeSvg(doc, view, replayStyles[i]));
2010
2060
  }
@@ -2058,12 +2108,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
2058
2108
  let stopButton = null;
2059
2109
  const update = (playing) => {
2060
2110
  const input = { fullScreen: element.fullScreen, presenting: context.presenting, playing };
2061
- const active = chunk6OK5Z2MQ_cjs.isMediaFullscreenActive(input);
2111
+ const active = chunkS2Y3VUNC_cjs.isMediaFullscreenActive(input);
2062
2112
  applyStyleMap(
2063
2113
  container,
2064
- active ? chunk6OK5Z2MQ_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
2114
+ active ? chunkS2Y3VUNC_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
2065
2115
  );
2066
- if (chunk6OK5Z2MQ_cjs.shouldShowMediaFullscreenStopButton(input)) {
2116
+ if (chunkS2Y3VUNC_cjs.shouldShowMediaFullscreenStopButton(input)) {
2067
2117
  if (!stopButton) {
2068
2118
  stopButton = buildFullscreenStopButton(
2069
2119
  doc,
@@ -2088,12 +2138,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
2088
2138
 
2089
2139
  // src/pptx/dom/elements/media.ts
2090
2140
  function applyMediaPresentingState(el, presenting, playback) {
2091
- chunk6OK5Z2MQ_cjs.applyMediaPlaybackAttributes(el, playback);
2141
+ chunkS2Y3VUNC_cjs.applyMediaPlaybackAttributes(el, playback);
2092
2142
  if (presenting) {
2093
- chunk6OK5Z2MQ_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
2094
- chunk6OK5Z2MQ_cjs.scheduleMediaTrimAndFade(el, {
2143
+ chunkS2Y3VUNC_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
2144
+ chunkS2Y3VUNC_cjs.scheduleMediaTrimAndFade(el, {
2095
2145
  ...playback,
2096
- volume: chunk6OK5Z2MQ_cjs.mediaPlaybackAttributes(playback).volume
2146
+ volume: chunkS2Y3VUNC_cjs.mediaPlaybackAttributes(playback).volume
2097
2147
  });
2098
2148
  } else if (!el.paused) {
2099
2149
  el.pause();
@@ -2103,18 +2153,18 @@ var renderMediaElement = (element, zIndex, context) => {
2103
2153
  if (element.type !== "media") {
2104
2154
  return null;
2105
2155
  }
2106
- const surface = chunk6OK5Z2MQ_cjs.mediaSurfaceOf({
2156
+ const surface = chunkS2Y3VUNC_cjs.mediaSurfaceOf({
2107
2157
  interactive: context.interactive === true || context.reading === true,
2108
2158
  presenting: context.presenting
2109
2159
  });
2110
- const showTransport = chunk6OK5Z2MQ_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
2160
+ const showTransport = chunkS2Y3VUNC_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
2111
2161
  const doc = context.document;
2112
- const baseStyle = chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex);
2162
+ const baseStyle = chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex);
2113
2163
  const el = createEl(doc, "div", "pptxv-element pptxv-media", baseStyle);
2114
2164
  el.dataset.elementId = element.id;
2115
2165
  const mediaSrc = element.mediaData ?? (element.mediaPath ? context.mediaDataUrls.get(element.mediaPath) : void 0);
2116
- const posterSrc = chunk6OK5Z2MQ_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
2117
- const onlineVideoEmbedUrl = chunk6OK5Z2MQ_cjs.getOnlineVideoEmbed(element)?.embedUrl;
2166
+ const posterSrc = chunkS2Y3VUNC_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
2167
+ const onlineVideoEmbedUrl = chunkS2Y3VUNC_cjs.getOnlineVideoEmbed(element)?.embedUrl;
2118
2168
  if (onlineVideoEmbedUrl && element.mediaType === "video") {
2119
2169
  const iframe = createEl(doc, "iframe", "pptxv-media-video pptxv-media-iframe", {
2120
2170
  width: "100%",
@@ -2124,8 +2174,8 @@ var renderMediaElement = (element, zIndex, context) => {
2124
2174
  });
2125
2175
  iframe.src = onlineVideoEmbedUrl;
2126
2176
  iframe.title = context.t("pptx.media.onlineVideoTitle");
2127
- iframe.allow = chunk6OK5Z2MQ_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
2128
- iframe.sandbox.value = chunk6OK5Z2MQ_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
2177
+ iframe.allow = chunkS2Y3VUNC_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
2178
+ iframe.sandbox.value = chunkS2Y3VUNC_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
2129
2179
  iframe.allowFullscreen = true;
2130
2180
  el.appendChild(iframe);
2131
2181
  return el;
@@ -2154,21 +2204,21 @@ var renderMediaElement = (element, zIndex, context) => {
2154
2204
  audio.src = mediaSrc;
2155
2205
  audio.controls = showTransport;
2156
2206
  el.appendChild(audio);
2157
- if (context.presenting && chunk6OK5Z2MQ_cjs.registerCrossSlideAudio(element, mediaSrc)) {
2207
+ if (context.presenting && chunkS2Y3VUNC_cjs.registerCrossSlideAudio(element, mediaSrc)) {
2158
2208
  audio.muted = true;
2159
- chunk6OK5Z2MQ_cjs.applyMediaPlaybackAttributes(audio, element);
2209
+ chunkS2Y3VUNC_cjs.applyMediaPlaybackAttributes(audio, element);
2160
2210
  return el;
2161
2211
  }
2162
2212
  applyMediaPresentingState(audio, context.presenting, element);
2163
2213
  wireMediaFullscreenOverlay(doc, el, audio, element, context, baseStyle);
2164
2214
  return el;
2165
2215
  }
2166
- const fallback = chunk6OK5Z2MQ_cjs.mediaFallbackVisual(surface, {
2216
+ const fallback = chunkS2Y3VUNC_cjs.mediaFallbackVisual(surface, {
2167
2217
  hasPoster: Boolean(posterSrc),
2168
2218
  missing: element.mediaMissing === true
2169
2219
  });
2170
- const icon = chunk6OK5Z2MQ_cjs.mediaFallbackIcon(fallback, element.mediaType);
2171
- const labelKey = chunk6OK5Z2MQ_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
2220
+ const icon = chunkS2Y3VUNC_cjs.mediaFallbackIcon(fallback, element.mediaType);
2221
+ const labelKey = chunkS2Y3VUNC_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
2172
2222
  if (fallback.poster && posterSrc) {
2173
2223
  const img = createEl(doc, "img", "pptxv-media-poster", {
2174
2224
  width: "100%",
@@ -2186,7 +2236,7 @@ var renderMediaElement = (element, zIndex, context) => {
2186
2236
  if (fallback.badge === "missing") {
2187
2237
  badge.classList.add("pptxv-media-badge-missing");
2188
2238
  }
2189
- badge.setAttribute(chunk6OK5Z2MQ_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
2239
+ badge.setAttribute(chunkS2Y3VUNC_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
2190
2240
  badge.appendChild(buildIcon(doc, icon));
2191
2241
  if (labelKey !== void 0 && fallback.badge === "missing") {
2192
2242
  const text = createEl(doc, "span");
@@ -2199,7 +2249,7 @@ var renderMediaElement = (element, zIndex, context) => {
2199
2249
  }
2200
2250
  if (fallback.placeholder !== "none") {
2201
2251
  el.classList.add("pptxv-placeholder", "pptxv-media-placeholder");
2202
- el.setAttribute(chunk6OK5Z2MQ_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
2252
+ el.setAttribute(chunkS2Y3VUNC_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
2203
2253
  if (icon.length > 0) {
2204
2254
  el.appendChild(buildIcon(doc, icon));
2205
2255
  }
@@ -2235,7 +2285,7 @@ var renderModel3dElement = (element, zIndex, context) => {
2235
2285
  doc,
2236
2286
  "div",
2237
2287
  "pptxv-element pptxv-model3d",
2238
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
2288
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
2239
2289
  );
2240
2290
  el.dataset.elementId = element.id;
2241
2291
  const label = context.t("pptx.model3d.label");
@@ -2372,7 +2422,7 @@ function buildOleIcon(doc, type, color) {
2372
2422
  fill: "none",
2373
2423
  "aria-hidden": "true"
2374
2424
  });
2375
- for (const shape of chunk6OK5Z2MQ_cjs.getOleIconShapes(type)) {
2425
+ for (const shape of chunkS2Y3VUNC_cjs.getOleIconShapes(type)) {
2376
2426
  const node = createSvgEl(doc, shape.tag, shape.attrs);
2377
2427
  if (shape.tag === "text") {
2378
2428
  node.setAttribute("fill", color);
@@ -2391,21 +2441,21 @@ var renderOleElement = (element, zIndex, context) => {
2391
2441
  return null;
2392
2442
  }
2393
2443
  const doc = context.document;
2394
- const oleType = chunk6OK5Z2MQ_cjs.resolveOleType(element);
2395
- const typeColor = chunk6OK5Z2MQ_cjs.getOleTypeColor(oleType);
2396
- const typeLabel = chunk6OK5Z2MQ_cjs.getOleTypeLabel(oleType);
2397
- const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex));
2444
+ const oleType = chunkS2Y3VUNC_cjs.resolveOleType(element);
2445
+ const typeColor = chunkS2Y3VUNC_cjs.getOleTypeColor(oleType);
2446
+ const typeLabel = chunkS2Y3VUNC_cjs.getOleTypeLabel(oleType);
2447
+ const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex));
2398
2448
  el.dataset.elementId = element.id;
2399
2449
  el.setAttribute("role", "group");
2400
- el.setAttribute("aria-label", chunk6OK5Z2MQ_cjs.getOleAriaLabel(element));
2450
+ el.setAttribute("aria-label", chunkS2Y3VUNC_cjs.getOleAriaLabel(element));
2401
2451
  el.title = infoLines(element, typeLabel).join("\n");
2402
2452
  if (element.previewImageData) {
2403
- el.appendChild(buildPreview(doc, element, typeColor, chunk6OK5Z2MQ_cjs.getOleBadgeLabel(oleType)));
2453
+ el.appendChild(buildPreview(doc, element, typeColor, chunkS2Y3VUNC_cjs.getOleBadgeLabel(oleType)));
2404
2454
  } else {
2405
2455
  el.appendChild(buildPlaceholder2(doc, element, oleType, typeColor, typeLabel));
2406
2456
  }
2407
- const showActions = chunk6OK5Z2MQ_cjs.oleActionsVisible(
2408
- chunk6OK5Z2MQ_cjs.mediaSurfaceOf({
2457
+ const showActions = chunkS2Y3VUNC_cjs.oleActionsVisible(
2458
+ chunkS2Y3VUNC_cjs.mediaSurfaceOf({
2409
2459
  interactive: context.interactive === true,
2410
2460
  presenting: context.presenting
2411
2461
  })
@@ -2421,7 +2471,7 @@ function infoLines(el, typeLabel) {
2421
2471
  if (name) {
2422
2472
  lines.push(name);
2423
2473
  }
2424
- const size = chunk6OK5Z2MQ_cjs.formatBytes(el.oleEmbeddedByteSize);
2474
+ const size = chunkS2Y3VUNC_cjs.formatBytes(el.oleEmbeddedByteSize);
2425
2475
  if (size) {
2426
2476
  lines.push(size);
2427
2477
  }
@@ -2445,7 +2495,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
2445
2495
  display: "block"
2446
2496
  });
2447
2497
  img.src = el.previewImageData ?? "";
2448
- img.alt = chunk6OK5Z2MQ_cjs.getOleAriaLabel(el);
2498
+ img.alt = chunkS2Y3VUNC_cjs.getOleAriaLabel(el);
2449
2499
  img.draggable = false;
2450
2500
  preview.appendChild(img);
2451
2501
  const badge = createSvgEl(doc, "svg", { width: 24, height: 24, viewBox: "0 0 24 24" });
@@ -2472,7 +2522,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
2472
2522
  }
2473
2523
  function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
2474
2524
  const box = createEl(doc, "div", "pptxv-ole-placeholder", {
2475
- ...chunk6OK5Z2MQ_cjs.getPlaceholderStyle(oleType),
2525
+ ...chunkS2Y3VUNC_cjs.getPlaceholderStyle(oleType),
2476
2526
  width: "100%",
2477
2527
  height: "100%",
2478
2528
  display: "flex",
@@ -2493,7 +2543,7 @@ function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
2493
2543
  whiteSpace: "nowrap",
2494
2544
  color: typeColor
2495
2545
  });
2496
- name.textContent = chunk6OK5Z2MQ_cjs.getOleDisplayName(el);
2546
+ name.textContent = chunkS2Y3VUNC_cjs.getOleDisplayName(el);
2497
2547
  box.appendChild(name);
2498
2548
  if (el.fileName) {
2499
2549
  const sublabel = createEl(doc, "span", "pptxv-ole-sublabel", {
@@ -2545,7 +2595,7 @@ function buildActionBar(doc, el, typeLabel, context) {
2545
2595
  for (const type of ["pointerdown", "mousedown", "click"]) {
2546
2596
  bar.addEventListener(type, (event) => event.stopPropagation());
2547
2597
  }
2548
- const size = chunk6OK5Z2MQ_cjs.formatBytes(el.oleEmbeddedByteSize);
2598
+ const size = chunkS2Y3VUNC_cjs.formatBytes(el.oleEmbeddedByteSize);
2549
2599
  if (size) {
2550
2600
  const meta = createEl(doc, "span", "pptxv-ole-meta", {
2551
2601
  marginRight: "auto",
@@ -2565,14 +2615,14 @@ function buildActionBar(doc, el, typeLabel, context) {
2565
2615
  download.title = downloadTitle;
2566
2616
  download.textContent = context.t("pptx.ole.download");
2567
2617
  bar.appendChild(download);
2568
- if (chunk6OK5Z2MQ_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
2618
+ if (chunkS2Y3VUNC_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
2569
2619
  const open = createEl(doc, "button", "pptxv-ole-action", ACTION_STYLE);
2570
2620
  open.type = "button";
2571
2621
  const openTitle = context.t("pptx.ole.openName", { name: downloadName });
2572
2622
  open.setAttribute("aria-label", openTitle);
2573
2623
  open.title = openTitle;
2574
2624
  open.textContent = context.t("pptx.ole.open");
2575
- open.addEventListener("click", () => chunk6OK5Z2MQ_cjs.openUrlInNewTab(data));
2625
+ open.addEventListener("click", () => chunkS2Y3VUNC_cjs.openUrlInNewTab(data));
2576
2626
  bar.appendChild(open);
2577
2627
  }
2578
2628
  return bar;
@@ -2584,7 +2634,7 @@ var renderPlaceholderElement = (element, zIndex, context) => {
2584
2634
  context.document,
2585
2635
  "div",
2586
2636
  "pptxv-element pptxv-placeholder",
2587
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
2637
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
2588
2638
  );
2589
2639
  el.dataset.elementId = element.id;
2590
2640
  el.dataset.elementType = element.type;
@@ -2600,7 +2650,7 @@ var renderZoomElement = (element, zIndex, context) => {
2600
2650
  return null;
2601
2651
  }
2602
2652
  const doc = context.document;
2603
- const summaryView = chunk6OK5Z2MQ_cjs.buildSummaryZoomView(
2653
+ const summaryView = chunkS2Y3VUNC_cjs.buildSummaryZoomView(
2604
2654
  element,
2605
2655
  (index) => {
2606
2656
  const slide = context.slides?.[index];
@@ -2620,7 +2670,7 @@ var renderZoomElement = (element, zIndex, context) => {
2620
2670
  doc,
2621
2671
  "div",
2622
2672
  "pptxv-element pptxv-zoom pptxv-summary-zoom",
2623
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
2673
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
2624
2674
  );
2625
2675
  const content = createEl(doc, "div", "pptxv-summary-zoom-content", summaryView.containerStyle);
2626
2676
  root.dataset.elementId = element.id;
@@ -2687,7 +2737,7 @@ var renderZoomElement = (element, zIndex, context) => {
2687
2737
  const target = element.targetSlideIndex ?? 0;
2688
2738
  const targetSlide = context.slides?.[target];
2689
2739
  const interactive = context.presenting && context.onZoomClick !== void 0;
2690
- const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex));
2740
+ const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex));
2691
2741
  el.dataset.elementId = element.id;
2692
2742
  el.dataset.zoomType = zoomType;
2693
2743
  el.dataset.zoomTarget = String(target);
@@ -2697,7 +2747,7 @@ var renderZoomElement = (element, zIndex, context) => {
2697
2747
  el.tabIndex = 0;
2698
2748
  el.style.cursor = "pointer";
2699
2749
  const activate = () => {
2700
- const zoomTarget = chunk6OK5Z2MQ_cjs.resolveZoomNavigationTarget(element);
2750
+ const zoomTarget = chunkS2Y3VUNC_cjs.resolveZoomNavigationTarget(element);
2701
2751
  if (zoomTarget) {
2702
2752
  context.onZoomClick?.(zoomTarget, context.currentSlideIndex ?? 0);
2703
2753
  }
@@ -2812,7 +2862,7 @@ function registerExtraRenderers(registry) {
2812
2862
  // src/pptx/dom/elements/smartart-3d.ts
2813
2863
  var renderSmartArt3DElement = (element, zIndex, context) => {
2814
2864
  const wrapper = renderSmartArtSvg(element, zIndex, context);
2815
- const spec = wrapper ? chunk6OK5Z2MQ_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
2865
+ const spec = wrapper ? chunkS2Y3VUNC_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
2816
2866
  if (!wrapper || !spec) {
2817
2867
  return wrapper;
2818
2868
  }
@@ -2822,18 +2872,18 @@ var renderSmartArt3DElement = (element, zIndex, context) => {
2822
2872
  textStyle: context.presentationStates?.get(element.id)?.textStyle
2823
2873
  });
2824
2874
  if (context.onSmartArtNodeTextChange && context.interactive && !context.presenting) {
2825
- const layer = renderSmartArtSvg(chunk6OK5Z2MQ_cjs.elementInLocalFrame(element), 0, context);
2875
+ const layer = renderSmartArtSvg(chunkS2Y3VUNC_cjs.elementInLocalFrame(element), 0, context);
2826
2876
  if (layer) {
2827
2877
  layer.classList.add("pptxv-smartart-3d-edit-layer");
2828
2878
  layer.setAttribute("data-smartart-3d-edit-layer", "true");
2829
- chunk6OK5Z2MQ_cjs.stripEditLayerMarkers(layer);
2879
+ chunkS2Y3VUNC_cjs.stripEditLayerMarkers(layer);
2830
2880
  layer.setAttribute("aria-hidden", "true");
2831
2881
  Object.assign(layer.style, { position: "absolute", inset: "0", zIndex: "1" });
2832
2882
  for (const svg of layer.querySelectorAll("svg")) {
2833
2883
  svg.style.opacity = "0";
2834
2884
  }
2835
2885
  wrapper.appendChild(layer);
2836
- chunk6OK5Z2MQ_cjs.routeEditLayerPointerToNodes(layer);
2886
+ chunkS2Y3VUNC_cjs.routeEditLayerPointerToNodes(layer);
2837
2887
  }
2838
2888
  }
2839
2889
  return wrapper;
@@ -2846,7 +2896,7 @@ function nodeTarget(target) {
2846
2896
  }
2847
2897
  function enableSmartArtEditing(chrome, element, context) {
2848
2898
  const data = element.smartArtData;
2849
- if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunk6OK5Z2MQ_cjs.canDrillDown(element)) {
2899
+ if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunkS2Y3VUNC_cjs.canDrillDown(element)) {
2850
2900
  return;
2851
2901
  }
2852
2902
  let editor = null;
@@ -2868,8 +2918,8 @@ function enableSmartArtEditing(chrome, element, context) {
2868
2918
  }
2869
2919
  event.stopPropagation();
2870
2920
  const textNode = target.querySelector("text");
2871
- const textRect = textNode ? chunk6OK5Z2MQ_cjs.measureSvgViewportRect(textNode) : null;
2872
- const rect = textRect && textRect.width > 0 ? textRect : chunk6OK5Z2MQ_cjs.measureSvgViewportRect(target);
2921
+ const textRect = textNode ? chunkS2Y3VUNC_cjs.measureSvgViewportRect(textNode) : null;
2922
+ const rect = textRect && textRect.width > 0 ? textRect : chunkS2Y3VUNC_cjs.measureSvgViewportRect(target);
2873
2923
  if (!rect) {
2874
2924
  return;
2875
2925
  }
@@ -2893,7 +2943,7 @@ function enableSmartArtEditing(chrome, element, context) {
2893
2943
  textAlign: "center"
2894
2944
  });
2895
2945
  editor = input;
2896
- input.value = chunk6OK5Z2MQ_cjs.findSmartArtNodeText(data, nodeId) ?? "";
2946
+ input.value = chunkS2Y3VUNC_cjs.findSmartArtNodeText(data, nodeId) ?? "";
2897
2947
  const commit = () => {
2898
2948
  if (input !== editor) {
2899
2949
  return;
@@ -2925,7 +2975,7 @@ function enableSmartArtEditing(chrome, element, context) {
2925
2975
  }
2926
2976
  cancelHide();
2927
2977
  swatches?.remove();
2928
- const rect = chunk6OK5Z2MQ_cjs.measureSvgViewportRect(target);
2978
+ const rect = chunkS2Y3VUNC_cjs.measureSvgViewportRect(target);
2929
2979
  if (!rect) {
2930
2980
  return;
2931
2981
  }
@@ -2944,7 +2994,7 @@ function enableSmartArtEditing(chrome, element, context) {
2944
2994
  });
2945
2995
  swatches.setAttribute("role", "group");
2946
2996
  swatches.setAttribute("aria-label", context.t("pptx.smartArt.fillColor"));
2947
- for (const color of chunk6OK5Z2MQ_cjs.resolvePalette(data).slice(0, 6)) {
2997
+ for (const color of chunkS2Y3VUNC_cjs.resolvePalette(data).slice(0, 6)) {
2948
2998
  const button = createEl(chrome.ownerDocument, "button", "", {
2949
2999
  width: "18px",
2950
3000
  height: "18px",
@@ -3043,7 +3093,7 @@ function buildSmartArtFallbackSvg(doc, layout, a11yNodes = [], nodeIds = []) {
3043
3093
  svg.setAttribute("class", "pptxv-smartart-svg");
3044
3094
  svg.setAttribute("style", SMARTART_SVG_STYLE);
3045
3095
  for (const conn of layout.connectors) {
3046
- const paint = chunk6OK5Z2MQ_cjs.smartArtConnectorPaint(conn);
3096
+ const paint = chunkS2Y3VUNC_cjs.smartArtConnectorPaint(conn);
3047
3097
  svg.appendChild(
3048
3098
  createSvgEl(doc, "path", {
3049
3099
  d: paint.d,
@@ -3102,7 +3152,7 @@ function buildFallbackNode(doc, node, shadowFilter, a11yLabel, nodeId) {
3102
3152
  })
3103
3153
  );
3104
3154
  }
3105
- const label = chunk6OK5Z2MQ_cjs.smartArtNodeLabel(node);
3155
+ const label = chunkS2Y3VUNC_cjs.smartArtNodeLabel(node);
3106
3156
  if (label.visible) {
3107
3157
  appendSvgTextLines(doc, g, {
3108
3158
  lines: label.lines,
@@ -3138,41 +3188,41 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3138
3188
  doc,
3139
3189
  "div",
3140
3190
  "pptxv-element pptxv-smartart",
3141
- chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex)
3191
+ chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex)
3142
3192
  );
3143
3193
  wrapper.dataset.elementId = element.id;
3144
3194
  wrapper.dataset.testid = `smartart-${data?.layout ?? "diagram"}`;
3145
- const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunk6OK5Z2MQ_cjs.buildChromeStyle(data?.chrome));
3195
+ const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunkS2Y3VUNC_cjs.buildChromeStyle(data?.chrome));
3146
3196
  chrome.style.position = "relative";
3147
3197
  wrapper.appendChild(chrome);
3148
3198
  if (data) {
3149
- const a11y = chunk6OK5Z2MQ_cjs.buildSmartArtA11y(data);
3199
+ const a11y = chunkS2Y3VUNC_cjs.buildSmartArtA11y(data);
3150
3200
  chrome.setAttribute("role", "img");
3151
3201
  chrome.setAttribute("aria-label", a11y.label);
3152
3202
  }
3153
3203
  const nodes = data?.nodes ?? [];
3154
3204
  const drawingShapes = data?.drawingShapes ?? [];
3155
3205
  const animationState = context.presentationStates?.get(element.id);
3156
- const { nodes: revealedNodesFull } = chunk6OK5Z2MQ_cjs.resolveRevealedSmartArtNodes(
3206
+ const { nodes: revealedNodesFull } = chunkS2Y3VUNC_cjs.resolveRevealedSmartArtNodes(
3157
3207
  nodes,
3158
3208
  animationState,
3159
3209
  data?.presLayoutVars
3160
3210
  );
3161
3211
  if (data && drawingShapes.length > 0) {
3162
- const revealedShapes = chunk6OK5Z2MQ_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
3212
+ const revealedShapes = chunkS2Y3VUNC_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
3163
3213
  chrome.appendChild(
3164
- buildDrawingShapesSvg(doc, element.id, data, chunk6OK5Z2MQ_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
3214
+ buildDrawingShapesSvg(doc, element.id, data, chunkS2Y3VUNC_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
3165
3215
  );
3166
3216
  enableSmartArtEditing(chrome, element, context);
3167
3217
  return wrapper;
3168
3218
  }
3169
3219
  if (data && nodes.length > 0) {
3170
3220
  const revealedNodes = revealedNodesFull;
3171
- const layout = chunk6OK5Z2MQ_cjs.computeSmartArtElementLayout(
3221
+ const layout = chunkS2Y3VUNC_cjs.computeSmartArtElementLayout(
3172
3222
  data,
3173
3223
  revealedNodes,
3174
3224
  { width: element.width, height: element.height },
3175
- chunk6OK5Z2MQ_cjs.resolvePalette(data),
3225
+ chunkS2Y3VUNC_cjs.resolvePalette(data),
3176
3226
  data.style ?? "flat",
3177
3227
  element.id
3178
3228
  );
@@ -3180,8 +3230,8 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3180
3230
  buildSmartArtFallbackSvg(
3181
3231
  doc,
3182
3232
  layout,
3183
- chunk6OK5Z2MQ_cjs.buildSmartArtA11y(data).nodes,
3184
- chunk6OK5Z2MQ_cjs.flattenNodes(revealedNodes).map((node) => node.id)
3233
+ chunkS2Y3VUNC_cjs.buildSmartArtA11y(data).nodes,
3234
+ chunkS2Y3VUNC_cjs.flattenNodes(revealedNodes).map((node) => node.id)
3185
3235
  )
3186
3236
  );
3187
3237
  enableSmartArtEditing(chrome, element, context);
@@ -3204,17 +3254,17 @@ var renderSmartArtSvg = (element, zIndex, context) => {
3204
3254
  function buildDrawingShapesSvg(doc, elementId, data, a11yNodes, revealedShapes) {
3205
3255
  const allShapes = data.drawingShapes ?? [];
3206
3256
  const style = data.style ?? "flat";
3207
- const viewBox = chunk6OK5Z2MQ_cjs.computeDrawingViewBox(allShapes);
3208
- const rendered = chunk6OK5Z2MQ_cjs.projectDrawingShapes(
3257
+ const viewBox = chunkS2Y3VUNC_cjs.computeDrawingViewBox(allShapes);
3258
+ const rendered = chunkS2Y3VUNC_cjs.projectDrawingShapes(
3209
3259
  elementId,
3210
3260
  revealedShapes,
3211
3261
  viewBox,
3212
- chunk6OK5Z2MQ_cjs.resolvePalette(data),
3262
+ chunkS2Y3VUNC_cjs.resolvePalette(data),
3213
3263
  style
3214
3264
  );
3215
- const shadow = chunk6OK5Z2MQ_cjs.styleShadowFilter(style);
3265
+ const shadow = chunkS2Y3VUNC_cjs.styleShadowFilter(style);
3216
3266
  const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
3217
- const nodeIds = chunk6OK5Z2MQ_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
3267
+ const nodeIds = chunkS2Y3VUNC_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
3218
3268
  const svg = createSvgEl(doc, "svg", {
3219
3269
  viewBox: `0 0 ${viewBox.width} ${viewBox.height}`,
3220
3270
  preserveAspectRatio: "xMidYMid meet"
@@ -3349,9 +3399,9 @@ function enableTableResize(container, table, element, context) {
3349
3399
  for (const handle of [...colHandles, ...rowHandles]) {
3350
3400
  handle.remove();
3351
3401
  }
3352
- const crossings = chunk6OK5Z2MQ_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3402
+ const crossings = chunkS2Y3VUNC_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3353
3403
  const rowBounds = measureRowBoundaries(table);
3354
- colHandles = chunk6OK5Z2MQ_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct, i) => {
3404
+ colHandles = chunkS2Y3VUNC_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct, i) => {
3355
3405
  const handle = createEl(doc, "div", "pptxv-table-resize-col", {
3356
3406
  position: "absolute",
3357
3407
  top: "0",
@@ -3361,7 +3411,7 @@ function enableTableResize(container, table, element, context) {
3361
3411
  zIndex: "10",
3362
3412
  pointerEvents: "none"
3363
3413
  });
3364
- const segments = chunk6OK5Z2MQ_cjs.columnHandleSegments(
3414
+ const segments = chunkS2Y3VUNC_cjs.columnHandleSegments(
3365
3415
  crossings.columns[i] ?? [],
3366
3416
  rowBounds,
3367
3417
  table.offsetHeight
@@ -3391,7 +3441,7 @@ function enableTableResize(container, table, element, context) {
3391
3441
  zIndex: "10",
3392
3442
  pointerEvents: "none"
3393
3443
  });
3394
- const segments = chunk6OK5Z2MQ_cjs.rowHandleSegments(crossings.rows[i] ?? [], tableData.columnWidths);
3444
+ const segments = chunkS2Y3VUNC_cjs.rowHandleSegments(crossings.rows[i] ?? [], tableData.columnWidths);
3395
3445
  for (const { leftPct, widthPct } of segments) {
3396
3446
  handle.appendChild(
3397
3447
  createEl(doc, "div", "pptxv-table-resize-segment", {
@@ -3435,14 +3485,14 @@ function enableTableResize(container, table, element, context) {
3435
3485
  const deltaProp = (event.clientX - active.startPos) / (rect.width || 1);
3436
3486
  context.onTableResizeColumns?.(
3437
3487
  element,
3438
- chunk6OK5Z2MQ_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
3488
+ chunkS2Y3VUNC_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
3439
3489
  );
3440
3490
  } else if (event.clientY !== active.startPos && active.type === "row") {
3441
3491
  const deltaY = event.clientY - active.startPos;
3442
3492
  context.onTableResizeRow?.(
3443
3493
  element,
3444
3494
  active.index,
3445
- chunk6OK5Z2MQ_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunk6OK5Z2MQ_cjs.DEFAULT_ROW_HEIGHT, deltaY)
3495
+ chunkS2Y3VUNC_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunkS2Y3VUNC_cjs.DEFAULT_ROW_HEIGHT, deltaY)
3446
3496
  );
3447
3497
  }
3448
3498
  drawHandles();
@@ -3451,13 +3501,13 @@ function enableTableResize(container, table, element, context) {
3451
3501
  const rect = container.getBoundingClientRect();
3452
3502
  const localX = event.clientX - rect.left;
3453
3503
  const localY = event.clientY - rect.top;
3454
- const scaleY = chunk6OK5Z2MQ_cjs.getTableResizeScale(rect.height, container.offsetHeight);
3455
- const crossings = chunk6OK5Z2MQ_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3504
+ const scaleY = chunkS2Y3VUNC_cjs.getTableResizeScale(rect.height, container.offsetHeight);
3505
+ const crossings = chunkS2Y3VUNC_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
3456
3506
  const rowBounds = measureRowBoundaries(table);
3457
- const colBoundaries = chunk6OK5Z2MQ_cjs.computeColumnBoundaries(tableData.columnWidths);
3507
+ const colBoundaries = chunkS2Y3VUNC_cjs.computeColumnBoundaries(tableData.columnWidths);
3458
3508
  for (let i = 0; i < colBoundaries.length; i++) {
3459
3509
  const boundaryX = colBoundaries[i] / 100 * rect.width;
3460
- if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !chunk6OK5Z2MQ_cjs.isColumnBoundaryMergedAt(crossings, i, rowBounds, localY / scaleY)) {
3510
+ if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !chunkS2Y3VUNC_cjs.isColumnBoundaryMergedAt(crossings, i, rowBounds, localY / scaleY)) {
3461
3511
  event.preventDefault();
3462
3512
  event.stopPropagation();
3463
3513
  doc.body.style.cursor = "col-resize";
@@ -3475,7 +3525,7 @@ function enableTableResize(container, table, element, context) {
3475
3525
  }
3476
3526
  }
3477
3527
  for (let i = 0; i < rowBounds.length; i++) {
3478
- if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !chunk6OK5Z2MQ_cjs.isRowBoundaryMergedAt(crossings, i, tableData.columnWidths, localX / (rect.width || 1))) {
3528
+ if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !chunkS2Y3VUNC_cjs.isRowBoundaryMergedAt(crossings, i, tableData.columnWidths, localX / (rect.width || 1))) {
3479
3529
  event.preventDefault();
3480
3530
  event.stopPropagation();
3481
3531
  const tr = table.querySelectorAll("tbody > tr")[i];
@@ -3486,7 +3536,7 @@ function enableTableResize(container, table, element, context) {
3486
3536
  index: i,
3487
3537
  startPos: event.clientY,
3488
3538
  handleEl: rowHandles[i] ?? container,
3489
- initialRowHeight: tr?.offsetHeight ?? chunk6OK5Z2MQ_cjs.DEFAULT_ROW_HEIGHT
3539
+ initialRowHeight: tr?.offsetHeight ?? chunkS2Y3VUNC_cjs.DEFAULT_ROW_HEIGHT
3490
3540
  };
3491
3541
  win.addEventListener("mousemove", onMouseMove);
3492
3542
  win.addEventListener("mouseup", onMouseUp);
@@ -3507,7 +3557,7 @@ var renderTableElement = (element, zIndex, context) => {
3507
3557
  }
3508
3558
  const doc = context.document;
3509
3559
  const container = createEl(doc, "div", "pptxv-element pptxv-table", {
3510
- ...chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex),
3560
+ ...chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex),
3511
3561
  overflow: "hidden"
3512
3562
  });
3513
3563
  container.dataset.elementId = element.id;
@@ -3518,9 +3568,9 @@ var renderTableElement = (element, zIndex, context) => {
3518
3568
  tableLayout: "fixed",
3519
3569
  // Load-bearing: an unstyled cell otherwise inherits the HOST chrome's
3520
3570
  // font stack; all five bindings declare the same shared default here.
3521
- fontFamily: chunkHKHO4GDD_cjs.DEFAULT_FONT_FAMILY,
3571
+ fontFamily: chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
3522
3572
  // `a:tblPr@rtl`: mirrors the column order for right-to-left decks.
3523
- ...chunk6OK5Z2MQ_cjs.tableContainerCss(tableData)
3573
+ ...chunkS2Y3VUNC_cjs.tableContainerCss(tableData)
3524
3574
  });
3525
3575
  appendColgroup(doc, table, tableData.columnWidths);
3526
3576
  const tbody = doc.createElement("tbody");
@@ -3582,13 +3632,13 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3582
3632
  if (cell.rowSpan && cell.rowSpan > 1) {
3583
3633
  td.rowSpan = cell.rowSpan;
3584
3634
  }
3585
- const style = chunk6OK5Z2MQ_cjs.tableCellCss(
3635
+ const style = chunkS2Y3VUNC_cjs.tableCellCss(
3586
3636
  tableData,
3587
3637
  cell,
3588
3638
  { rowIndex, cellIndex, rowCount, columnCount },
3589
3639
  styleContext
3590
3640
  );
3591
- const patternFill = cell.style ? chunk6OK5Z2MQ_cjs.cellPatternFillCss(cell.style) : null;
3641
+ const patternFill = cell.style ? chunkS2Y3VUNC_cjs.cellPatternFillCss(cell.style) : null;
3592
3642
  if (patternFill) {
3593
3643
  delete style["backgroundColor"];
3594
3644
  delete style["background"];
@@ -3601,7 +3651,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3601
3651
  }
3602
3652
  applyStyleMap(td, CELL_BASE_STYLE);
3603
3653
  applyStyleMap(td, style);
3604
- const diagonals = chunk6OK5Z2MQ_cjs.getCellDiagonalBorders(
3654
+ const diagonals = chunkS2Y3VUNC_cjs.getCellDiagonalBorders(
3605
3655
  cell.style,
3606
3656
  tableData,
3607
3657
  { rowIndex, cellIndex, rowCount, columnCount },
@@ -3615,7 +3665,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
3615
3665
  }
3616
3666
  function diagonalLine(doc, x1, y1, x2, y2, stroke, width) {
3617
3667
  const line = createSvgEl(doc, "line", { x1, y1, x2, y2, stroke, "stroke-width": width });
3618
- line.style.setProperty("stroke-width", chunkTXMIKRYG_cjs.screenStrokeWidth(width));
3668
+ line.style.setProperty("stroke-width", chunkW7CBPO77_cjs.screenStrokeWidth(width));
3619
3669
  return line;
3620
3670
  }
3621
3671
  function renderDiagonalOverlay(doc, diagonals) {
@@ -3645,7 +3695,7 @@ function renderDiagonalOverlay(doc, diagonals) {
3645
3695
  return svg;
3646
3696
  }
3647
3697
  function appendCellText(doc, td, cell) {
3648
- const blocks = chunk6OK5Z2MQ_cjs.cellParagraphBlocks(cell);
3698
+ const blocks = chunkS2Y3VUNC_cjs.cellParagraphBlocks(cell);
3649
3699
  if (blocks) {
3650
3700
  for (const block of blocks) {
3651
3701
  const div = createEl(doc, "div", "pptxv-table-para", { display: "block", ...block.css });
@@ -3680,7 +3730,7 @@ function appendRuns(doc, parent, runs) {
3680
3730
  }
3681
3731
  const span = createEl(doc, "span", "pptxv-table-run", {
3682
3732
  position: "relative",
3683
- ...chunk6OK5Z2MQ_cjs.cellRunStyle(run)
3733
+ ...chunkS2Y3VUNC_cjs.cellRunStyle(run)
3684
3734
  });
3685
3735
  span.textContent = run.text;
3686
3736
  parent.appendChild(span);
@@ -3694,8 +3744,8 @@ function registerTableChartRenderers(registry) {
3694
3744
  }
3695
3745
 
3696
3746
  // src/pptx/dom/glyph-outline-cache.ts
3697
- var glyphOutlineFontCache = new chunk6OK5Z2MQ_cjs.GlyphOutlineFontCache();
3698
- var getGlyphOutline = chunk6OK5Z2MQ_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
3747
+ var glyphOutlineFontCache = new chunkS2Y3VUNC_cjs.GlyphOutlineFontCache();
3748
+ var getGlyphOutline = chunkS2Y3VUNC_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
3699
3749
 
3700
3750
  // src/pptx/dom/elements/text-warp.ts
3701
3751
  function renderWarpedText(element, context) {
@@ -3707,12 +3757,12 @@ function renderWarpedText(element, context) {
3707
3757
  if (!preset || preset === "textNoShape" || preset === "textPlain") {
3708
3758
  return null;
3709
3759
  }
3710
- const paragraphs = chunk6OK5Z2MQ_cjs.groupIntoParagraphs(element);
3760
+ const paragraphs = chunkS2Y3VUNC_cjs.groupIntoParagraphs(element);
3711
3761
  if (paragraphs.length === 0) {
3712
3762
  return null;
3713
3763
  }
3714
- if (!chunk6OK5Z2MQ_cjs.shouldUseSvgWarp(preset)) {
3715
- const transform = chunk6OK5Z2MQ_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
3764
+ if (!chunkS2Y3VUNC_cjs.shouldUseSvgWarp(preset)) {
3765
+ const transform = chunkS2Y3VUNC_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
3716
3766
  if (!transform) {
3717
3767
  return null;
3718
3768
  }
@@ -3740,7 +3790,7 @@ function renderWarpedText(element, context) {
3740
3790
  text.textContent = paragraphs.map((p) => p.segments.map((s) => s.text).join("")).join("\n");
3741
3791
  return text;
3742
3792
  }
3743
- if (chunk6OK5Z2MQ_cjs.hasGlyphEnvelope(preset)) {
3793
+ if (chunkS2Y3VUNC_cjs.hasGlyphEnvelope(preset)) {
3744
3794
  return renderGlyphWarp(element, paragraphs, context);
3745
3795
  }
3746
3796
  return renderPathWarp(element, paragraphs, context);
@@ -3749,7 +3799,7 @@ function segmentFont(segment, elementStyle) {
3749
3799
  const s = segment.style ?? {};
3750
3800
  const family = s.fontFamily || elementStyle.fontFamily;
3751
3801
  return {
3752
- fontFamily: family ? pptx.getSubstituteFontFamily(family) : chunkHKHO4GDD_cjs.DEFAULT_FONT_FAMILY,
3802
+ fontFamily: family ? pptx.getSubstituteFontFamily(family) : chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
3753
3803
  fontSizePx: s.fontSize ?? elementStyle.fontSize ?? 18,
3754
3804
  bold: s.bold ?? elementStyle.bold,
3755
3805
  italic: s.italic ?? elementStyle.italic
@@ -3766,7 +3816,7 @@ function renderGlyphWarp(element, paragraphs, context) {
3766
3816
  });
3767
3817
  svg.setAttribute("class", "pptxv-wordart");
3768
3818
  svg.setAttribute("style", "position:absolute;inset:0;width:100%;height:100%;overflow:visible");
3769
- const perLine = chunk6OK5Z2MQ_cjs.buildGlyphEnvelopeBlock(
3819
+ const perLine = chunkS2Y3VUNC_cjs.buildGlyphEnvelopeBlock(
3770
3820
  preset,
3771
3821
  paragraphs.map(
3772
3822
  (paragraph) => paragraph.segments.map((seg, i) => ({
@@ -3791,7 +3841,7 @@ function renderGlyphWarp(element, paragraphs, context) {
3791
3841
  const renderedFamily = s.fontFamily || style.fontFamily;
3792
3842
  const textAttrs = {
3793
3843
  fill,
3794
- "font-family": renderedFamily ? pptx.getSubstituteFontFamily(renderedFamily) : chunkHKHO4GDD_cjs.DEFAULT_FONT_FAMILY,
3844
+ "font-family": renderedFamily ? pptx.getSubstituteFontFamily(renderedFamily) : chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
3795
3845
  "font-size": s.fontSize ?? style.fontSize ?? 18,
3796
3846
  "font-weight": s.bold ?? style.bold ? "bold" : void 0,
3797
3847
  "font-style": s.italic ?? style.italic ? "italic" : void 0
@@ -3861,7 +3911,7 @@ function renderPathWarp(element, paragraphs, context) {
3861
3911
  defs.appendChild(
3862
3912
  createSvgEl(context.document, "path", {
3863
3913
  id,
3864
- d: chunk6OK5Z2MQ_cjs.buildWarpPath(
3914
+ d: chunkS2Y3VUNC_cjs.buildWarpPath(
3865
3915
  preset,
3866
3916
  element.width,
3867
3917
  element.height,
@@ -3874,7 +3924,7 @@ function renderPathWarp(element, paragraphs, context) {
3874
3924
  );
3875
3925
  const text = createSvgEl(context.document, "text", {
3876
3926
  fill: style.color ?? "#000000",
3877
- "font-family": style.fontFamily ? pptx.getSubstituteFontFamily(style.fontFamily) : chunkHKHO4GDD_cjs.DEFAULT_FONT_FAMILY,
3927
+ "font-family": style.fontFamily ? pptx.getSubstituteFontFamily(style.fontFamily) : chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
3878
3928
  "font-size": style.fontSize ?? 18,
3879
3929
  "font-weight": style.bold ? "bold" : void 0,
3880
3930
  "font-style": style.italic ? "italic" : void 0
@@ -3894,9 +3944,9 @@ function renderPathWarp(element, paragraphs, context) {
3894
3944
 
3895
3945
  // src/pptx/dom/elements/text-shape.ts
3896
3946
  var renderTextShapeElement = (element, zIndex, context) => {
3897
- const container = chunk6OK5Z2MQ_cjs.getContainerStyle(element, zIndex);
3947
+ const container = chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex);
3898
3948
  const animState = context.presentationStates?.get(element.id);
3899
- const background = chunk6OK5Z2MQ_cjs.getBackgroundAnimationState(element, context.presentationStates);
3949
+ const background = chunkS2Y3VUNC_cjs.getBackgroundAnimationState(element, context.presentationStates);
3900
3950
  const visualState = background ?? animState;
3901
3951
  const shape = getShapeFillStrokeStyle(
3902
3952
  element,
@@ -3908,7 +3958,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
3908
3958
  if (transform !== void 0) {
3909
3959
  merged["transform"] = transform;
3910
3960
  }
3911
- const layers = chunk6OK5Z2MQ_cjs.getBackgroundAnimationLayers(element, merged, background);
3961
+ const layers = chunkS2Y3VUNC_cjs.getBackgroundAnimationLayers(element, merged, background);
3912
3962
  const el = createEl(context.document, "div", "pptxv-element pptxv-shape", layers.box);
3913
3963
  el.dataset.elementId = element.id;
3914
3964
  const paint = layers.paint ? createEl(context.document, "div", void 0, layers.paint) : el;
@@ -3918,7 +3968,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
3918
3968
  el.appendChild(paint);
3919
3969
  }
3920
3970
  if (context.interactive && !context.presenting) {
3921
- const hitTargetStyle = chunk6OK5Z2MQ_cjs.elementHitTargetStyle(element);
3971
+ const hitTargetStyle = chunkS2Y3VUNC_cjs.elementHitTargetStyle(element);
3922
3972
  if (hitTargetStyle) {
3923
3973
  const hitTarget = createEl(context.document, "div", void 0, hitTargetStyle);
3924
3974
  hitTarget.setAttribute("aria-hidden", "true");
@@ -3961,8 +4011,8 @@ var renderTextShapeElement = (element, zIndex, context) => {
3961
4011
  } else if (warped) {
3962
4012
  el.appendChild(warped);
3963
4013
  } else {
3964
- const linkedSegments = chunk6OK5Z2MQ_cjs.getOverflowSegments(element, context.slide?.elements);
3965
- const paragraphs = chunk6OK5Z2MQ_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
4014
+ const linkedSegments = chunkS2Y3VUNC_cjs.getOverflowSegments(element, context.slide?.elements);
4015
+ const paragraphs = chunkS2Y3VUNC_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
3966
4016
  const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
3967
4017
  if (hasText) {
3968
4018
  el.appendChild(
@@ -3973,7 +4023,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
3973
4023
  );
3974
4024
  } else {
3975
4025
  const mode = context.interactive && !context.presenting ? "edit" : "present";
3976
- const prompt = chunk6OK5Z2MQ_cjs.placeholderPromptDescriptor(element, mode);
4026
+ const prompt = chunkS2Y3VUNC_cjs.placeholderPromptDescriptor(element, mode);
3977
4027
  if (prompt) {
3978
4028
  const hint = createEl(context.document, "div", "pptxv-placeholder-prompt", {
3979
4029
  ...getTextBlockStyle(element),
@@ -4038,8 +4088,8 @@ async function loadPresentation(buffer, options) {
4038
4088
  digitalSignatureCount: parsed.digitalSignatureCount ?? 0,
4039
4089
  isPasswordProtected: parsed.isPasswordProtected ?? false,
4040
4090
  canvasSize: {
4041
- width: parsed.width ?? chunkHKHO4GDD_cjs.DEFAULT_CANVAS_WIDTH,
4042
- height: parsed.height ?? chunkHKHO4GDD_cjs.DEFAULT_CANVAS_HEIGHT
4091
+ width: parsed.width ?? chunkG3UVZ5FO_cjs.DEFAULT_CANVAS_WIDTH,
4092
+ height: parsed.height ?? chunkG3UVZ5FO_cjs.DEFAULT_CANVAS_HEIGHT
4043
4093
  },
4044
4094
  mediaDataUrls,
4045
4095
  colorScheme: parsed.theme?.colorScheme,
@@ -4140,15 +4190,19 @@ async function resolveImageUrls(handler, slides) {
4140
4190
 
4141
4191
  Object.defineProperty(exports, "buildEmbeddedFontStyles", {
4142
4192
  enumerable: true,
4143
- get: function () { return chunk6OK5Z2MQ_cjs.buildEmbeddedFontStyles; }
4193
+ get: function () { return chunkS2Y3VUNC_cjs.buildEmbeddedFontStyles; }
4144
4194
  });
4145
4195
  Object.defineProperty(exports, "buildFieldSubstitutionContext", {
4146
4196
  enumerable: true,
4147
- get: function () { return chunk6OK5Z2MQ_cjs.buildFieldSubstitutionContext; }
4197
+ get: function () { return chunkS2Y3VUNC_cjs.buildFieldSubstitutionContext; }
4198
+ });
4199
+ Object.defineProperty(exports, "releasePptxRenderCaches", {
4200
+ enumerable: true,
4201
+ get: function () { return chunkS2Y3VUNC_cjs.releasePptxRenderCaches; }
4148
4202
  });
4149
4203
  Object.defineProperty(exports, "renderChartViewModelSvg", {
4150
4204
  enumerable: true,
4151
- get: function () { return chunkQG2EEFAW_cjs.renderChartViewModelSvg; }
4205
+ get: function () { return chunkLCB46TH2_cjs.renderChartViewModelSvg; }
4152
4206
  });
4153
4207
  Object.defineProperty(exports, "createTranslator", {
4154
4208
  enumerable: true,
@@ -4176,6 +4230,7 @@ exports.createDefaultRegistry = createDefaultRegistry;
4176
4230
  exports.createEl = createEl;
4177
4231
  exports.createElementRendererRegistry = createElementRendererRegistry;
4178
4232
  exports.createSvgEl = createSvgEl;
4233
+ exports.disposePptxRenderStage = disposePptxRenderStage;
4179
4234
  exports.enableSmartArtEditing = enableSmartArtEditing;
4180
4235
  exports.enableTableResize = enableTableResize;
4181
4236
  exports.getGlyphOutline = getGlyphOutline;