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.
- package/README.md +28 -0
- package/dist/{chunk-CPHFMJOU.js → chunk-EVL7GFC7.js} +1 -1
- package/dist/{chunk-GSWCAZQ3.js → chunk-FHO7TEWA.js} +1 -0
- package/dist/{chunk-GILNGII2.js → chunk-MSXUCINT.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/pptx/{chart-3d-view-scene-6YLA75UQ.mjs → chart-3d-view-scene-6LQRJAM3.mjs} +2 -2
- package/dist/pptx/{chart-3d-view-scene-4GGMVQNN.cjs → chart-3d-view-scene-FAKI4QKT.cjs} +38 -38
- package/dist/pptx/{chunk-6ZMCXJ32.mjs → chunk-73OUATE4.mjs} +1 -1
- package/dist/pptx/{chunk-LF2X2AOK.mjs → chunk-75S3RTSS.mjs} +1 -1
- package/dist/pptx/{chunk-OFGZWYKM.mjs → chunk-AUCJIB3M.mjs} +162 -96
- package/dist/pptx/{chunk-HKHO4GDD.cjs → chunk-G3UVZ5FO.cjs} +122 -404
- package/dist/pptx/{chunk-QG2EEFAW.cjs → chunk-LCB46TH2.cjs} +12 -12
- package/dist/pptx/{chunk-NTWYYXB2.mjs → chunk-PIIYTRLE.mjs} +69 -374
- package/dist/pptx/{chunk-6OK5Z2MQ.cjs → chunk-S2Y3VUNC.cjs} +914 -842
- package/dist/pptx/{chunk-TXMIKRYG.cjs → chunk-W7CBPO77.cjs} +1 -1
- package/dist/pptx/dom/chart-pixel-subscriptions.d.ts +7 -0
- package/dist/pptx/dom/chart-pixel-subscriptions.d.ts.map +1 -0
- package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
- package/dist/pptx/dom/elements/shape-filter-defs.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +340 -285
- package/dist/pptx/dom/index.d.ts +1 -0
- package/dist/pptx/dom/index.d.ts.map +1 -1
- package/dist/pptx/dom/index.mjs +96 -46
- package/dist/pptx/dom/presentation-rerender.d.ts.map +1 -1
- package/dist/pptx/dom/slide-stage.d.ts +5 -0
- package/dist/pptx/dom/slide-stage.d.ts.map +1 -1
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +3202 -3174
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/chart-axis-range.d.ts +2 -36
- package/dist/pptx/render/chart-axis-range.d.ts.map +1 -1
- package/dist/pptx/render/chart-axis-style.d.ts.map +1 -1
- package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts +5 -0
- package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts.map +1 -1
- package/dist/pptx/render/chart-combo-stock.cjs +3 -3
- package/dist/pptx/render/chart-combo-stock.mjs +1 -1
- package/dist/pptx/render/chart-helpers.d.ts +2 -1
- package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
- package/dist/pptx/render/chart-marker-shape.d.ts +4 -50
- package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
- package/dist/pptx/render/chart-overlays.cjs +7 -7
- package/dist/pptx/render/chart-overlays.mjs +1 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
- package/dist/pptx/render/chart-view-model-scale.d.ts +3 -2
- package/dist/pptx/render/chart-view-model-scale.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model.cjs +44 -44
- package/dist/pptx/render/chart-view-model.mjs +1 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
- package/dist/pptx/render/connector-markers.d.ts +3 -1
- package/dist/pptx/render/connector-markers.d.ts.map +1 -1
- package/dist/pptx/render/custom-path-markers.d.ts +11 -0
- package/dist/pptx/render/custom-path-markers.d.ts.map +1 -0
- package/dist/pptx/render/image-color-change.d.ts +3 -1
- package/dist/pptx/render/image-color-change.d.ts.map +1 -1
- package/dist/pptx/render/image-duotone-canvas.d.ts +3 -1
- package/dist/pptx/render/image-duotone-canvas.d.ts.map +1 -1
- package/dist/pptx/render/image-native-size.d.ts +3 -1
- package/dist/pptx/render/image-native-size.d.ts.map +1 -1
- package/dist/pptx/render/image-source-effects.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +2 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/render-cache-lifecycle.d.ts +10 -0
- package/dist/pptx/render/render-cache-lifecycle.d.ts.map +1 -0
- package/dist/pptx/render/render-cache.d.ts +8 -0
- package/dist/pptx/render/render-cache.d.ts.map +1 -0
- package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
- package/dist/pptx/render/stroke-outline.d.ts +3 -0
- package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
- package/dist/pptx/render/text-build-spans.d.ts +1 -0
- package/dist/pptx/render/text-build-spans.d.ts.map +1 -1
- package/dist/{presentation-preview-HMEBDYEL.js → presentation-preview-KY56TONW.js} +1 -1
- package/dist/teams.js +2 -2
- package/dist/xlsx.js +4 -4
- package/package.json +11 -11
package/dist/pptx/dom/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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 -
|
|
145
|
-
top: `${marker.y -
|
|
146
|
-
width: `${
|
|
147
|
-
height: `${
|
|
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 =
|
|
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 :
|
|
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 =
|
|
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 =
|
|
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,
|
|
267
|
-
if (
|
|
266
|
+
merge3dStyle(style, chunkS2Y3VUNC_cjs.getComputed3dStyle(el));
|
|
267
|
+
if (chunkS2Y3VUNC_cjs.isHollowShapeElement(el)) {
|
|
268
268
|
style["pointerEvents"] = "none";
|
|
269
269
|
}
|
|
270
|
-
const geometry =
|
|
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"] =
|
|
290
|
+
style["borderTop"] = chunkW7CBPO77_cjs.screenBorder(
|
|
291
291
|
geometry.strokeWidth,
|
|
292
|
-
|
|
293
|
-
el.shapeStyle?.strokeColor ??
|
|
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 =
|
|
305
|
-
fallbackColor:
|
|
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 =
|
|
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
|
-
...
|
|
414
|
-
...
|
|
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 (!
|
|
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 =
|
|
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" &&
|
|
468
|
-
const hitTargetStyle =
|
|
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
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
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
|
-
|
|
505
|
-
|
|
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
|
-
|
|
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 || !
|
|
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
|
-
|
|
568
|
-
container.classList.add(
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
603
|
-
showBadge(
|
|
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 =
|
|
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
|
-
|
|
616
|
-
showBadge(
|
|
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
|
-
|
|
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,
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
732
|
+
chunkLCB46TH2_cjs.applyChartPartHighlight(container, selected);
|
|
686
733
|
context.onChartPartSelect?.(element, part);
|
|
687
|
-
const vm =
|
|
734
|
+
const vm = chunkG3UVZ5FO_cjs.buildChartViewModel(chart);
|
|
688
735
|
let captured = false;
|
|
689
|
-
const chartKind =
|
|
736
|
+
const chartKind = chunkG3UVZ5FO_cjs.resolveChartKind(chart.chartData.chartType ?? "bar");
|
|
690
737
|
if (part.pointIndex !== void 0 && chartKind !== "unsupported") {
|
|
691
|
-
const markGeometry =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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
|
-
|
|
781
|
-
const view = takeReusableThreeView(options.spec) ?? doc.createElement(
|
|
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)) &&
|
|
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 =
|
|
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
|
-
|
|
834
|
-
(event) =>
|
|
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
|
-
|
|
839
|
-
(event) =>
|
|
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(
|
|
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 ?
|
|
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
|
-
{ ...
|
|
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 ?
|
|
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 =
|
|
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
|
-
|
|
897
|
-
|
|
898
|
-
|
|
943
|
+
target.querySelector("svg")?.remove();
|
|
944
|
+
target.appendChild(
|
|
945
|
+
chunkLCB46TH2_cjs.renderChartViewModelSvg(
|
|
899
946
|
doc,
|
|
900
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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 &&
|
|
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 ?
|
|
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 ?? {}, ...
|
|
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,
|
|
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 ??
|
|
1204
|
+
const strokeColor = ss?.strokeColor ?? chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR;
|
|
1164
1205
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
1165
|
-
const dashArray =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
1222
|
-
const endArrow =
|
|
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 =
|
|
1246
|
-
const widths =
|
|
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 =
|
|
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":
|
|
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",
|
|
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 =
|
|
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 =
|
|
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:
|
|
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
|
-
|
|
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) || !
|
|
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 =
|
|
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 =
|
|
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 =
|
|
1492
|
-
const data =
|
|
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 =
|
|
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 =
|
|
1620
|
+
const childParentFill = chunkS2Y3VUNC_cjs.getGroupChildParentFill(element, parentGroupFill);
|
|
1579
1621
|
for (const child of element.children ?? []) {
|
|
1580
|
-
const childWrap = createEl(doc, "div", void 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 =
|
|
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 =
|
|
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
|
-
...
|
|
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 =
|
|
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 =
|
|
1684
|
+
const style = chunkS2Y3VUNC_cjs.getEffectStyleSource(element);
|
|
1643
1685
|
if (!style) {
|
|
1644
1686
|
return null;
|
|
1645
1687
|
}
|
|
1646
1688
|
const markups = [];
|
|
1647
|
-
const duotone =
|
|
1689
|
+
const duotone = chunkS2Y3VUNC_cjs.getDuotoneSvgFilter(style, element.id);
|
|
1648
1690
|
if (duotone) {
|
|
1649
1691
|
markups.push(duotone.filterMarkup);
|
|
1650
1692
|
}
|
|
1651
|
-
const softEdge =
|
|
1693
|
+
const softEdge = chunkS2Y3VUNC_cjs.getSoftEdgeSvgFilter(style, element.id);
|
|
1652
1694
|
if (softEdge) {
|
|
1653
1695
|
markups.push(softEdge.filterMarkup);
|
|
1654
1696
|
}
|
|
1655
|
-
const bevelLighting =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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:
|
|
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 =
|
|
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 =
|
|
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:
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
...
|
|
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 =
|
|
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" ?
|
|
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" ?
|
|
1872
|
-
const layers =
|
|
1873
|
-
overflow:
|
|
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
|
-
...
|
|
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 =
|
|
1940
|
+
const src = chunkS2Y3VUNC_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
|
|
1891
1941
|
if (!src) {
|
|
1892
1942
|
return el;
|
|
1893
1943
|
}
|
|
1894
|
-
const fx =
|
|
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 =
|
|
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 (!
|
|
1917
|
-
void
|
|
1966
|
+
if (!chunkS2Y3VUNC_cjs.getCachedNativeImageSize(src)) {
|
|
1967
|
+
void chunkS2Y3VUNC_cjs.probeNativeImageSize(src).then((size) => {
|
|
1918
1968
|
if (size) {
|
|
1919
|
-
applyStyleMap(tile,
|
|
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 =
|
|
1931
|
-
const fillCounterTransform =
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
2111
|
+
const active = chunkS2Y3VUNC_cjs.isMediaFullscreenActive(input);
|
|
2062
2112
|
applyStyleMap(
|
|
2063
2113
|
container,
|
|
2064
|
-
active ?
|
|
2114
|
+
active ? chunkS2Y3VUNC_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
|
|
2065
2115
|
);
|
|
2066
|
-
if (
|
|
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
|
-
|
|
2141
|
+
chunkS2Y3VUNC_cjs.applyMediaPlaybackAttributes(el, playback);
|
|
2092
2142
|
if (presenting) {
|
|
2093
|
-
|
|
2094
|
-
|
|
2143
|
+
chunkS2Y3VUNC_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
|
|
2144
|
+
chunkS2Y3VUNC_cjs.scheduleMediaTrimAndFade(el, {
|
|
2095
2145
|
...playback,
|
|
2096
|
-
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 =
|
|
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 =
|
|
2160
|
+
const showTransport = chunkS2Y3VUNC_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
|
|
2111
2161
|
const doc = context.document;
|
|
2112
|
-
const baseStyle =
|
|
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 =
|
|
2117
|
-
const onlineVideoEmbedUrl =
|
|
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 =
|
|
2128
|
-
iframe.sandbox.value =
|
|
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 &&
|
|
2207
|
+
if (context.presenting && chunkS2Y3VUNC_cjs.registerCrossSlideAudio(element, mediaSrc)) {
|
|
2158
2208
|
audio.muted = true;
|
|
2159
|
-
|
|
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 =
|
|
2216
|
+
const fallback = chunkS2Y3VUNC_cjs.mediaFallbackVisual(surface, {
|
|
2167
2217
|
hasPoster: Boolean(posterSrc),
|
|
2168
2218
|
missing: element.mediaMissing === true
|
|
2169
2219
|
});
|
|
2170
|
-
const icon =
|
|
2171
|
-
const labelKey =
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
|
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 =
|
|
2395
|
-
const typeColor =
|
|
2396
|
-
const typeLabel =
|
|
2397
|
-
const el = createEl(doc, "div", "pptxv-element pptxv-ole",
|
|
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",
|
|
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,
|
|
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 =
|
|
2408
|
-
|
|
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 =
|
|
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 =
|
|
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
|
-
...
|
|
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 =
|
|
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 =
|
|
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 (
|
|
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", () =>
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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",
|
|
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 =
|
|
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 ?
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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 || !
|
|
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 ?
|
|
2872
|
-
const rect = textRect && textRect.width > 0 ? textRect :
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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",
|
|
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 =
|
|
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 } =
|
|
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 =
|
|
3212
|
+
const revealedShapes = chunkS2Y3VUNC_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
|
|
3163
3213
|
chrome.appendChild(
|
|
3164
|
-
buildDrawingShapesSvg(doc, element.id, data,
|
|
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 =
|
|
3221
|
+
const layout = chunkS2Y3VUNC_cjs.computeSmartArtElementLayout(
|
|
3172
3222
|
data,
|
|
3173
3223
|
revealedNodes,
|
|
3174
3224
|
{ width: element.width, height: element.height },
|
|
3175
|
-
|
|
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
|
-
|
|
3184
|
-
|
|
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 =
|
|
3208
|
-
const rendered =
|
|
3257
|
+
const viewBox = chunkS2Y3VUNC_cjs.computeDrawingViewBox(allShapes);
|
|
3258
|
+
const rendered = chunkS2Y3VUNC_cjs.projectDrawingShapes(
|
|
3209
3259
|
elementId,
|
|
3210
3260
|
revealedShapes,
|
|
3211
3261
|
viewBox,
|
|
3212
|
-
|
|
3262
|
+
chunkS2Y3VUNC_cjs.resolvePalette(data),
|
|
3213
3263
|
style
|
|
3214
3264
|
);
|
|
3215
|
-
const shadow =
|
|
3265
|
+
const shadow = chunkS2Y3VUNC_cjs.styleShadowFilter(style);
|
|
3216
3266
|
const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
|
|
3217
|
-
const nodeIds =
|
|
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 =
|
|
3402
|
+
const crossings = chunkS2Y3VUNC_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
|
|
3353
3403
|
const rowBounds = measureRowBoundaries(table);
|
|
3354
|
-
colHandles =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
3455
|
-
const crossings =
|
|
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 =
|
|
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 && !
|
|
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 && !
|
|
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 ??
|
|
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
|
-
...
|
|
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:
|
|
3571
|
+
fontFamily: chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
|
|
3522
3572
|
// `a:tblPr@rtl`: mirrors the column order for right-to-left decks.
|
|
3523
|
-
...
|
|
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 =
|
|
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 ?
|
|
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 =
|
|
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",
|
|
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 =
|
|
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
|
-
...
|
|
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
|
|
3698
|
-
var getGlyphOutline =
|
|
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 =
|
|
3760
|
+
const paragraphs = chunkS2Y3VUNC_cjs.groupIntoParagraphs(element);
|
|
3711
3761
|
if (paragraphs.length === 0) {
|
|
3712
3762
|
return null;
|
|
3713
3763
|
}
|
|
3714
|
-
if (!
|
|
3715
|
-
const transform =
|
|
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 (
|
|
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) :
|
|
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 =
|
|
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) :
|
|
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:
|
|
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) :
|
|
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 =
|
|
3947
|
+
const container = chunkS2Y3VUNC_cjs.getContainerStyle(element, zIndex);
|
|
3898
3948
|
const animState = context.presentationStates?.get(element.id);
|
|
3899
|
-
const background =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
3965
|
-
const paragraphs =
|
|
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 =
|
|
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 ??
|
|
4042
|
-
height: parsed.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
|
|
4193
|
+
get: function () { return chunkS2Y3VUNC_cjs.buildEmbeddedFontStyles; }
|
|
4144
4194
|
});
|
|
4145
4195
|
Object.defineProperty(exports, "buildFieldSubstitutionContext", {
|
|
4146
4196
|
enumerable: true,
|
|
4147
|
-
get: function () { return
|
|
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
|
|
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;
|