ooxml-ui 1.6.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -37
- package/custom-elements.json +303 -4
- package/dist/chrome/ruler.d.ts +7 -1
- package/dist/chrome/ruler.d.ts.map +1 -1
- package/dist/chrome/status-bar.d.ts.map +1 -1
- package/dist/chrome/tab-strip.d.ts +3 -1
- package/dist/chrome/tab-strip.d.ts.map +1 -1
- package/dist/chrome/task-pane.d.ts +29 -0
- package/dist/chrome/task-pane.d.ts.map +1 -0
- package/dist/chrome/title-bar.d.ts +2 -1
- package/dist/chrome/title-bar.d.ts.map +1 -1
- package/dist/{chunk-QAIVGTQZ.js → chunk-7US5GCXF.js} +158 -153
- package/dist/{chunk-Z7CS3UUK.js → chunk-KF72ZA6V.js} +5 -2
- package/dist/{chunk-QHAE6Y5B.js → chunk-O7APCA5N.js} +680 -98
- package/dist/chunk-W6AV3GHC.js +112 -0
- package/dist/controls.d.ts +9 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +1 -1
- package/dist/dialog/dialog-footer.d.ts.map +1 -1
- package/dist/dialog/options-dialog.d.ts.map +1 -1
- package/dist/docx/editor-core.d.ts +3 -0
- package/dist/docx/editor-shell.d.ts +2 -0
- package/dist/docx/element-api.d.ts +7 -0
- package/dist/docx/events.d.ts +4 -1
- package/dist/docx/index.d.ts +1 -0
- package/dist/docx/ribbon-color-grid.d.ts +3 -4
- package/dist/docx.js +46 -78
- package/dist/edit-worker.js +52 -3
- package/dist/form/color-custom.d.ts +79 -0
- package/dist/form/color-custom.d.ts.map +1 -0
- package/dist/form/color-grid.d.ts +125 -0
- package/dist/form/color-grid.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -3
- package/dist/menu/context-menu.d.ts.map +1 -1
- package/dist/menu/menu-button.d.ts +2 -1
- package/dist/menu/menu-button.d.ts.map +1 -1
- package/dist/notices/paste-options.d.ts.map +1 -1
- package/dist/notices/toasts.d.ts.map +1 -1
- package/dist/pptx/{chart-3d-view-scene-ERX2GRCD.mjs → chart-3d-view-scene-P6MAFEGL.mjs} +2 -2
- package/dist/pptx/{chart-3d-view-scene-55WDENSO.cjs → chart-3d-view-scene-V74F7ZOC.cjs} +38 -38
- package/dist/pptx/{chunk-G2YUKLRX.cjs → chunk-526IHNIH.cjs} +1 -1
- package/dist/pptx/{chunk-SVN6OBG4.mjs → chunk-DPOES4WM.mjs} +26 -11
- package/dist/pptx/{chunk-BLAJIEXA.cjs → chunk-GCS5KBMR.cjs} +511 -653
- package/dist/pptx/{chunk-RPRC2EG5.cjs → chunk-K3S2A64B.cjs} +13 -13
- package/dist/pptx/{chunk-E55NU4BF.mjs → chunk-MCHPNO42.mjs} +289 -493
- package/dist/pptx/{chunk-AWQRQUPL.mjs → chunk-NAFUYAQP.mjs} +1 -1
- package/dist/pptx/{chunk-LCIXR7WE.cjs → chunk-VFPVEVF4.cjs} +26 -11
- package/dist/pptx/{chunk-TKATCPOK.mjs → chunk-ZAOYPCAM.mjs} +1 -1
- package/dist/pptx/dom/activex-controls-overlay.d.ts.map +1 -1
- package/dist/pptx/dom/elements/image.d.ts.map +1 -1
- package/dist/pptx/dom/elements/media.d.ts.map +1 -1
- package/dist/pptx/dom/elements/text-block.d.ts.map +1 -1
- package/dist/pptx/dom/elements/zoom.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +252 -247
- package/dist/pptx/dom/index.mjs +11 -6
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +3059 -3023
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/chart-combo-series.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-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.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-router-types.d.ts +4 -52
- package/dist/pptx/render/connector-router-types.d.ts.map +1 -1
- package/dist/pptx/render/connector-router.d.ts +4 -32
- package/dist/pptx/render/connector-router.d.ts.map +1 -1
- package/dist/pptx/render/editor-keymap-arrows.d.ts +0 -7
- package/dist/pptx/render/editor-keymap-arrows.d.ts.map +1 -1
- package/dist/pptx/render/element-interaction.d.ts +2 -6
- package/dist/pptx/render/element-interaction.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +1 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-add-ins.d.ts +53 -0
- package/dist/pptx/render/ribbon-add-ins.d.ts.map +1 -0
- package/dist/pptx/web-components/index.d.ts +1 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-add-in.d.ts +20 -0
- package/dist/pptx/web-components/ribbon-add-in.d.ts.map +1 -0
- package/dist/ribbon/add-in-tabs.d.ts +36 -0
- package/dist/ribbon/group-overflow.d.ts +37 -0
- package/dist/ribbon/group-overflow.d.ts.map +1 -0
- package/dist/ribbon/ribbon-tabs.d.ts.map +1 -1
- package/dist/teams/app/index.d.ts +1 -1
- package/dist/teams.js +2 -2
- package/dist/visio/format-pane-fields.d.ts +42 -0
- package/dist/visio/format-pane-view.d.ts +44 -0
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/page-setup-action.d.ts +4 -0
- package/dist/visio/ribbon-action.d.ts +20 -7
- package/dist/visio/ribbon-change-shape.d.ts +17 -6
- package/dist/visio/ribbon-color-menu.d.ts +29 -0
- package/dist/visio/ribbon-inline-galleries.d.ts +20 -0
- package/dist/visio/ribbon-overflow.d.ts +7 -0
- package/dist/visio/ribbon-review.d.ts +5 -2
- package/dist/visio/ribbon-router.d.ts +3 -3
- package/dist/visio/ribbon-shape-styles.d.ts +4 -1
- package/dist/visio/ribbon-style-options.d.ts +4 -3
- package/dist/visio/ribbon.d.ts +2 -2
- package/dist/visio/shapes-document.d.ts +29 -0
- package/dist/visio/shapes-sections.d.ts +19 -5
- package/dist/visio/shapes-storage.d.ts +15 -0
- package/dist/visio/shapes-window.d.ts +9 -2
- package/dist/visio/status-bar.d.ts +7 -4
- package/dist/visio/stencil-catalog.d.ts +4 -0
- package/dist/visio/styles/theme.d.ts +1 -1
- package/dist/visio/styles.d.ts +1 -1
- package/dist/visio/text-measurer.d.ts +25 -0
- package/dist/visio/title-bar.d.ts +9 -0
- package/dist/visio/viewer-auto-connect-parts.d.ts +12 -0
- package/dist/visio/viewer-auto-connect.d.ts +33 -0
- package/dist/visio/viewer-backstage.d.ts +2 -1
- package/dist/visio/viewer-canvas.d.ts +1 -1
- package/dist/visio/viewer-change-shape.d.ts +8 -4
- package/dist/visio/viewer-chrome.d.ts +13 -5
- package/dist/visio/viewer-color-menus.d.ts +34 -0
- package/dist/visio/viewer-commands.d.ts +4 -1
- package/dist/visio/viewer-connector-tool.d.ts +5 -3
- package/dist/visio/viewer-data-window.d.ts +5 -1
- package/dist/visio/viewer-draw-tool.d.ts +1 -11
- package/dist/visio/viewer-element.d.ts +16 -0
- package/dist/visio/viewer-format-pane.d.ts +26 -0
- package/dist/visio/viewer-guides.d.ts +7 -4
- package/dist/visio/viewer-inline-text.d.ts +31 -0
- package/dist/visio/viewer-input.d.ts +5 -1
- package/dist/visio/viewer-layer-properties.d.ts +18 -0
- package/dist/visio/viewer-layout-commands.d.ts +8 -2
- package/dist/visio/viewer-more-colors.d.ts +16 -0
- package/dist/visio/viewer-options.d.ts +18 -4
- package/dist/visio/viewer-page-setup.d.ts +6 -0
- package/dist/visio/viewer-ruler-grid.d.ts +25 -0
- package/dist/visio/viewer-ruler.d.ts +11 -3
- package/dist/visio/viewer-snap-glue.d.ts +23 -0
- package/dist/visio/viewer-stencil.d.ts +4 -1
- package/dist/visio.js +7595 -5944
- package/dist/xlsx/component.d.ts +8 -0
- package/dist/xlsx/dialogs/format-cells/color-swatches.d.ts +4 -2
- package/dist/xlsx/dialogs/styles.d.ts +1 -1
- package/dist/xlsx/events.d.ts +4 -1
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/ribbon/color-grid.d.ts +25 -7
- package/dist/xlsx/ribbon/ribbon.d.ts +3 -0
- package/dist/xlsx.js +121 -163
- package/package.json +3 -2
- package/dist/pptx/render/connector-router-astar.d.ts +0 -24
- package/dist/pptx/render/connector-router-astar.d.ts.map +0 -1
- package/dist/pptx/render/connector-router-graph.d.ts +0 -38
- package/dist/pptx/render/connector-router-graph.d.ts.map +0 -1
- package/dist/visio/format-shape-dialog.d.ts +0 -21
- package/dist/visio/viewer-edit-controls.d.ts +0 -12
- package/dist/visio/viewer-format-shape.d.ts +0 -16
- package/dist/visio/viewer-geometry-controls.d.ts +0 -14
- package/dist/visio/viewer-layer-controls.d.ts +0 -5
- package/dist/visio/viewer-paint-dialog.d.ts +0 -28
- package/dist/visio/viewer-paint-properties.d.ts +0 -13
package/dist/pptx/dom/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkGCS5KBMR_cjs = require('../chunk-GCS5KBMR.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-UEF4BFW4.cjs');
|
|
9
9
|
require('../chunk-52LKIMK3.cjs');
|
|
10
|
-
var
|
|
10
|
+
var chunkK3S2A64B_cjs = require('../chunk-K3S2A64B.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-STXGHV25.cjs');
|
|
18
18
|
require('../chunk-WB25PCHQ.cjs');
|
|
19
19
|
require('../chunk-W3X2UVYQ.cjs');
|
|
20
|
-
var
|
|
20
|
+
var chunkVFPVEVF4_cjs = require('../chunk-VFPVEVF4.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 chunk526IHNIH_cjs = require('../chunk-526IHNIH.cjs');
|
|
26
26
|
require('../chunk-G4WRLFMJ.cjs');
|
|
27
27
|
require('../chunk-73IDQGYI.cjs');
|
|
28
28
|
require('../chunk-X4FNVH7J.cjs');
|
|
@@ -95,7 +95,7 @@ function buildActiveXControlsOverlay(doc, controls, canvasSize) {
|
|
|
95
95
|
zIndex: "40"
|
|
96
96
|
});
|
|
97
97
|
controls.forEach((control, index) => {
|
|
98
|
-
const view =
|
|
98
|
+
const view = chunkGCS5KBMR_cjs.getActiveXControlOverlayView(control, canvasSize, index);
|
|
99
99
|
const style = {
|
|
100
100
|
position: "absolute",
|
|
101
101
|
left: `${view.left}px`,
|
|
@@ -107,6 +107,7 @@ function buildActiveXControlsOverlay(doc, controls, canvasSize) {
|
|
|
107
107
|
const img = createEl(doc, "img", "pptxv-activex-overlay-image", style);
|
|
108
108
|
img.src = view.imageUrl;
|
|
109
109
|
img.alt = view.label;
|
|
110
|
+
img.setAttribute("draggable", "false");
|
|
110
111
|
img.title = `ActiveX control: ${view.label}`;
|
|
111
112
|
overlay.appendChild(img);
|
|
112
113
|
return;
|
|
@@ -130,7 +131,7 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
|
|
|
130
131
|
pointerEvents: "none",
|
|
131
132
|
zIndex: "45"
|
|
132
133
|
});
|
|
133
|
-
const markers =
|
|
134
|
+
const markers = chunkGCS5KBMR_cjs.buildCommentMarkers(
|
|
134
135
|
comments,
|
|
135
136
|
canvasSize.width,
|
|
136
137
|
canvasSize.height,
|
|
@@ -139,10 +140,10 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
|
|
|
139
140
|
for (const marker of markers) {
|
|
140
141
|
const dot = createEl(doc, "button", "pptxv-comment-marker", {
|
|
141
142
|
position: "absolute",
|
|
142
|
-
left: `${marker.x -
|
|
143
|
-
top: `${marker.y -
|
|
144
|
-
width: `${
|
|
145
|
-
height: `${
|
|
143
|
+
left: `${marker.x - chunkGCS5KBMR_cjs.COMMENT_MARKER_SIZE / 2}px`,
|
|
144
|
+
top: `${marker.y - chunkGCS5KBMR_cjs.COMMENT_MARKER_SIZE / 2}px`,
|
|
145
|
+
width: `${chunkGCS5KBMR_cjs.COMMENT_MARKER_SIZE}px`,
|
|
146
|
+
height: `${chunkGCS5KBMR_cjs.COMMENT_MARKER_SIZE}px`,
|
|
146
147
|
display: "flex",
|
|
147
148
|
alignItems: "center",
|
|
148
149
|
justifyContent: "center",
|
|
@@ -210,7 +211,7 @@ function merge3dStyle(base, computed) {
|
|
|
210
211
|
}
|
|
211
212
|
function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
212
213
|
if (el.type === "group") {
|
|
213
|
-
const fx2 =
|
|
214
|
+
const fx2 = chunkGCS5KBMR_cjs.getComputedEffectStyle(el);
|
|
214
215
|
const groupStyle = {};
|
|
215
216
|
if (fx2.filter) {
|
|
216
217
|
groupStyle.filter = fx2.filter;
|
|
@@ -226,13 +227,13 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
226
227
|
const ss = el.shapeStyle;
|
|
227
228
|
const style = {};
|
|
228
229
|
if (ss) {
|
|
229
|
-
const fill = animatesFill ? void 0 :
|
|
230
|
+
const fill = animatesFill ? void 0 : chunkVFPVEVF4_cjs.getComputedFillStyle(el);
|
|
230
231
|
for (const [key, value] of Object.entries(fill ?? {})) {
|
|
231
232
|
if (value !== void 0) {
|
|
232
233
|
style[key] = value;
|
|
233
234
|
}
|
|
234
235
|
}
|
|
235
|
-
const stroke =
|
|
236
|
+
const stroke = chunkGCS5KBMR_cjs.getComputedStrokeStyle(el);
|
|
236
237
|
if (stroke.borderWidth > 0) {
|
|
237
238
|
if (animatesStroke) {
|
|
238
239
|
style["borderWidth"] = stroke.cssBorderWidth;
|
|
@@ -251,7 +252,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
251
252
|
style["strokeMiterlimit"] = stroke.strokeMiterlimit;
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
|
-
const fx =
|
|
255
|
+
const fx = chunkGCS5KBMR_cjs.getComputedEffectStyle(el);
|
|
255
256
|
if (fx.boxShadow) {
|
|
256
257
|
style["boxShadow"] = fx.boxShadow;
|
|
257
258
|
}
|
|
@@ -268,11 +269,11 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
268
269
|
if (fx.overflowVisible) {
|
|
269
270
|
style["overflow"] = "visible";
|
|
270
271
|
}
|
|
271
|
-
merge3dStyle(style,
|
|
272
|
-
if (
|
|
272
|
+
merge3dStyle(style, chunkGCS5KBMR_cjs.getComputed3dStyle(el));
|
|
273
|
+
if (chunkGCS5KBMR_cjs.isHollowShapeElement(el)) {
|
|
273
274
|
style["pointerEvents"] = "none";
|
|
274
275
|
}
|
|
275
|
-
const geometry =
|
|
276
|
+
const geometry = chunkGCS5KBMR_cjs.resolveShapeGeometry(el);
|
|
276
277
|
switch (geometry.kind) {
|
|
277
278
|
case "bare":
|
|
278
279
|
style["backgroundColor"] = "transparent";
|
|
@@ -292,10 +293,10 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
292
293
|
case "lineEdge":
|
|
293
294
|
style["backgroundColor"] = "transparent";
|
|
294
295
|
style["border"] = "none";
|
|
295
|
-
style["borderTop"] =
|
|
296
|
+
style["borderTop"] = chunk526IHNIH_cjs.screenBorder(
|
|
296
297
|
geometry.strokeWidth,
|
|
297
|
-
|
|
298
|
-
el.shapeStyle?.strokeColor ??
|
|
298
|
+
chunkVFPVEVF4_cjs.getCssBorderDashStyle(el.shapeStyle?.strokeDash),
|
|
299
|
+
el.shapeStyle?.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR
|
|
299
300
|
);
|
|
300
301
|
return style;
|
|
301
302
|
default:
|
|
@@ -306,12 +307,12 @@ function getTextBlockStyle(el) {
|
|
|
306
307
|
if (!pptx.hasTextProperties(el)) {
|
|
307
308
|
return {};
|
|
308
309
|
}
|
|
309
|
-
const base =
|
|
310
|
-
fallbackColor:
|
|
310
|
+
const base = chunkGCS5KBMR_cjs.buildTextBlockStyle(el, {
|
|
311
|
+
fallbackColor: chunkVFPVEVF4_cjs.DEFAULT_TEXT_COLOR,
|
|
311
312
|
bodyLayout: true,
|
|
312
313
|
pxLengths: true
|
|
313
314
|
});
|
|
314
|
-
const scene3d =
|
|
315
|
+
const scene3d = chunkGCS5KBMR_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
|
|
315
316
|
if (!scene3d) {
|
|
316
317
|
return base;
|
|
317
318
|
}
|
|
@@ -415,8 +416,8 @@ function renderSlideStage(options) {
|
|
|
415
416
|
"--pptx-slide-h": `${canvasSize.height}px`,
|
|
416
417
|
"--pptxv-grid-size": `${options.gridSpacingPx ?? 10}px`,
|
|
417
418
|
// One device pixel in slide px: thin strokes stay visible on screen.
|
|
418
|
-
...
|
|
419
|
-
...
|
|
419
|
+
...chunk526IHNIH_cjs.deviceStrokeStageStyle(scale),
|
|
420
|
+
...chunkGCS5KBMR_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
|
|
420
421
|
});
|
|
421
422
|
if (interactive || options.reading) {
|
|
422
423
|
stage.setAttribute("role", "region");
|
|
@@ -457,19 +458,19 @@ function renderSlideStage(options) {
|
|
|
457
458
|
selectedElementIds: options.selectedElementIds,
|
|
458
459
|
registry,
|
|
459
460
|
renderElement(element, zIndex) {
|
|
460
|
-
if (!
|
|
461
|
+
if (!chunkGCS5KBMR_cjs.isElementRendered(element)) {
|
|
461
462
|
return null;
|
|
462
463
|
}
|
|
463
464
|
const node = registry.resolve(element.type)(element, zIndex, context);
|
|
464
465
|
if (node && interactive && "setAttribute" in node) {
|
|
465
|
-
const templateLocked =
|
|
466
|
+
const templateLocked = chunkGCS5KBMR_cjs.isTemplateElementId(element.id) && !options.templateEditing;
|
|
466
467
|
if (templateLocked) {
|
|
467
468
|
node.style.pointerEvents = "none";
|
|
468
469
|
}
|
|
469
470
|
node.setAttribute("data-pptx-element", "true");
|
|
470
471
|
}
|
|
471
|
-
if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" &&
|
|
472
|
-
const hitTargetStyle =
|
|
472
|
+
if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunkGCS5KBMR_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
|
|
473
|
+
const hitTargetStyle = chunkGCS5KBMR_cjs.elementHitTargetStyle(element);
|
|
473
474
|
if (hitTargetStyle) {
|
|
474
475
|
const hitTarget = createEl(doc, "div", void 0, hitTargetStyle);
|
|
475
476
|
hitTarget.setAttribute("aria-hidden", "true");
|
|
@@ -488,20 +489,20 @@ function renderSlideStage(options) {
|
|
|
488
489
|
}
|
|
489
490
|
});
|
|
490
491
|
if (interactive || options.reading) {
|
|
491
|
-
|
|
492
|
+
chunkGCS5KBMR_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
|
|
492
493
|
presenting: options.presenting ?? false
|
|
493
494
|
});
|
|
494
495
|
}
|
|
495
496
|
if (interactive) {
|
|
496
|
-
|
|
497
|
+
chunkGCS5KBMR_cjs.applyElementActionAffordances(
|
|
497
498
|
stage,
|
|
498
499
|
slide.elements.filter(
|
|
499
|
-
(element) => options.templateEditing || !
|
|
500
|
+
(element) => options.templateEditing || !chunkGCS5KBMR_cjs.isTemplateElementId(element.id)
|
|
500
501
|
),
|
|
501
502
|
{
|
|
502
503
|
canInteract: true,
|
|
503
504
|
presenting: options.presenting ?? false,
|
|
504
|
-
labels:
|
|
505
|
+
labels: chunkGCS5KBMR_cjs.actionAffordanceLabels((key) => t(key))
|
|
505
506
|
}
|
|
506
507
|
);
|
|
507
508
|
}
|
|
@@ -557,7 +558,7 @@ function createChartTitleEditor(container, onCommit) {
|
|
|
557
558
|
|
|
558
559
|
// src/pptx/dom/elements/chart-editable.ts
|
|
559
560
|
function attachChartEditing(container, element, context, repaint) {
|
|
560
|
-
if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !
|
|
561
|
+
if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunkGCS5KBMR_cjs.canDrillDown(element)) {
|
|
561
562
|
return;
|
|
562
563
|
}
|
|
563
564
|
const chart = element;
|
|
@@ -567,13 +568,13 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
567
568
|
if (!context.selectedElementIds?.has(element.id)) {
|
|
568
569
|
return;
|
|
569
570
|
}
|
|
570
|
-
|
|
571
|
-
container.classList.add(
|
|
571
|
+
chunkK3S2A64B_cjs.ensureChartInteractionStyles();
|
|
572
|
+
container.classList.add(chunkK3S2A64B_cjs.CHART_INTERACTIVE_CLASS);
|
|
572
573
|
let active = null;
|
|
573
574
|
let activeMark = null;
|
|
574
575
|
let selected = context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
|
|
575
576
|
let badge = null;
|
|
576
|
-
|
|
577
|
+
chunkK3S2A64B_cjs.applyChartPartHighlight(container, selected);
|
|
577
578
|
const showBadge = (text) => {
|
|
578
579
|
if (!badge) {
|
|
579
580
|
badge = container.ownerDocument.createElement("div");
|
|
@@ -597,26 +598,26 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
597
598
|
if (!rect) {
|
|
598
599
|
return;
|
|
599
600
|
}
|
|
600
|
-
const step2 =
|
|
601
|
+
const step2 = chunkGCS5KBMR_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
|
|
601
602
|
if (!step2) {
|
|
602
603
|
return;
|
|
603
604
|
}
|
|
604
605
|
repaint(step2.chartData);
|
|
605
|
-
|
|
606
|
-
showBadge(
|
|
606
|
+
chunkK3S2A64B_cjs.applyChartPartHighlight(container, selected);
|
|
607
|
+
showBadge(chunkVFPVEVF4_cjs.formatAxisValue(step2.value));
|
|
607
608
|
return;
|
|
608
609
|
}
|
|
609
610
|
if (!active) {
|
|
610
611
|
return;
|
|
611
612
|
}
|
|
612
613
|
const height = container.querySelector("svg")?.getBoundingClientRect().height ?? 0;
|
|
613
|
-
const step =
|
|
614
|
+
const step = chunkK3S2A64B_cjs.advanceChartValueDrag(active, event.clientY, height);
|
|
614
615
|
if (!step) {
|
|
615
616
|
return;
|
|
616
617
|
}
|
|
617
618
|
repaint(step.chartData);
|
|
618
|
-
|
|
619
|
-
showBadge(
|
|
619
|
+
chunkK3S2A64B_cjs.applyChartPartHighlight(container, selected);
|
|
620
|
+
showBadge(chunkVFPVEVF4_cjs.formatAxisValue(step.value));
|
|
620
621
|
};
|
|
621
622
|
const onUp = () => {
|
|
622
623
|
if (active || activeMark) {
|
|
@@ -642,12 +643,12 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
642
643
|
}
|
|
643
644
|
if ((finished?.moved || finishedMark?.moved) && chart.chartData) {
|
|
644
645
|
repaint(chart.chartData);
|
|
645
|
-
|
|
646
|
+
chunkK3S2A64B_cjs.applyChartPartHighlight(container, selected);
|
|
646
647
|
}
|
|
647
648
|
}
|
|
648
649
|
const openTitleEditor = createChartTitleEditor(container, (value) => {
|
|
649
650
|
if (chart.chartData) {
|
|
650
|
-
context.onChartPointChange?.(element,
|
|
651
|
+
context.onChartPointChange?.(element, chunkK3S2A64B_cjs.withChartTitle(chart.chartData, value));
|
|
651
652
|
}
|
|
652
653
|
});
|
|
653
654
|
container.addEventListener("dblclick", (event) => {
|
|
@@ -662,24 +663,24 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
662
663
|
}
|
|
663
664
|
return;
|
|
664
665
|
}
|
|
665
|
-
if (
|
|
666
|
+
if (chunkK3S2A64B_cjs.findChartPartTarget(event.target)) {
|
|
666
667
|
event.stopPropagation();
|
|
667
668
|
}
|
|
668
669
|
});
|
|
669
670
|
container.addEventListener("pointerdown", (event) => {
|
|
670
|
-
const part =
|
|
671
|
+
const part = chunkK3S2A64B_cjs.findChartPartTarget(event.target);
|
|
671
672
|
if (!part || !chart.chartData) {
|
|
672
673
|
return;
|
|
673
674
|
}
|
|
674
675
|
event.stopPropagation();
|
|
675
676
|
selected = part;
|
|
676
|
-
|
|
677
|
+
chunkK3S2A64B_cjs.applyChartPartHighlight(container, selected);
|
|
677
678
|
context.onChartPartSelect?.(element, part);
|
|
678
|
-
const vm =
|
|
679
|
+
const vm = chunkVFPVEVF4_cjs.buildChartViewModel(chart);
|
|
679
680
|
let captured = false;
|
|
680
|
-
const chartKind =
|
|
681
|
+
const chartKind = chunkVFPVEVF4_cjs.resolveChartKind(chart.chartData.chartType ?? "bar");
|
|
681
682
|
if (part.pointIndex !== void 0 && chartKind !== "unsupported") {
|
|
682
|
-
const markGeometry =
|
|
683
|
+
const markGeometry = chunkK3S2A64B_cjs.buildChartMarkDragGeometry({
|
|
683
684
|
kind: chartKind,
|
|
684
685
|
element: chart,
|
|
685
686
|
chartData: chart.chartData,
|
|
@@ -687,7 +688,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
687
688
|
seriesIndex: part.seriesIndex,
|
|
688
689
|
pointIndex: part.pointIndex
|
|
689
690
|
});
|
|
690
|
-
const startedMark =
|
|
691
|
+
const startedMark = chunkGCS5KBMR_cjs.beginChartMarkDrag({
|
|
691
692
|
part,
|
|
692
693
|
geometry: markGeometry,
|
|
693
694
|
chartData: chart.chartData,
|
|
@@ -702,7 +703,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
702
703
|
}
|
|
703
704
|
}
|
|
704
705
|
if (!captured) {
|
|
705
|
-
const started =
|
|
706
|
+
const started = chunkK3S2A64B_cjs.beginChartValueDrag({
|
|
706
707
|
part,
|
|
707
708
|
viewModel: vm,
|
|
708
709
|
chartData: chart.chartData,
|
|
@@ -732,7 +733,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
732
733
|
var pool = null;
|
|
733
734
|
function collectThreeViews(root) {
|
|
734
735
|
const views = /* @__PURE__ */ new Map();
|
|
735
|
-
for (const view of root.querySelectorAll(
|
|
736
|
+
for (const view of root.querySelectorAll(chunk526IHNIH_cjs.THREE_VIEW_TAG)) {
|
|
736
737
|
if (view.spec && !views.has(view.spec)) {
|
|
737
738
|
views.set(view.spec, view);
|
|
738
739
|
}
|
|
@@ -768,8 +769,8 @@ function rendering3DFlagsOf(context) {
|
|
|
768
769
|
};
|
|
769
770
|
}
|
|
770
771
|
function mountThreeViewInto(doc, wrapper, options) {
|
|
771
|
-
|
|
772
|
-
const view = takeReusableThreeView(options.spec) ?? doc.createElement(
|
|
772
|
+
chunk526IHNIH_cjs.defineThreeViewElement(doc.defaultView?.customElements);
|
|
773
|
+
const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunk526IHNIH_cjs.THREE_VIEW_TAG);
|
|
773
774
|
view.replaceChildren(...Array.from(wrapper.childNodes));
|
|
774
775
|
view.spec = options.spec;
|
|
775
776
|
view.interactive = options.interactive;
|
|
@@ -779,7 +780,7 @@ function mountThreeViewInto(doc, wrapper, options) {
|
|
|
779
780
|
return view;
|
|
780
781
|
}
|
|
781
782
|
function isChart3DEditable(element, context) {
|
|
782
|
-
return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) &&
|
|
783
|
+
return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunkGCS5KBMR_cjs.canDrillDown(element);
|
|
783
784
|
}
|
|
784
785
|
function selectedChartPartOf(element, context) {
|
|
785
786
|
return context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
|
|
@@ -813,7 +814,7 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
|
|
|
813
814
|
badge.className = "pptxv-chart-drag-badge";
|
|
814
815
|
badgeHost.appendChild(badge);
|
|
815
816
|
}
|
|
816
|
-
badge.textContent =
|
|
817
|
+
badge.textContent = chunkVFPVEVF4_cjs.formatAxisValue(value);
|
|
817
818
|
},
|
|
818
819
|
commitChartData: (next) => context.onChartPointChange?.(element, next)
|
|
819
820
|
};
|
|
@@ -821,19 +822,19 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
|
|
|
821
822
|
const listeners = new AbortController();
|
|
822
823
|
chartViewListeners.set(view, listeners);
|
|
823
824
|
view.addEventListener(
|
|
824
|
-
|
|
825
|
-
(event) =>
|
|
825
|
+
chunkGCS5KBMR_cjs.THREE_VIEW_EVENTS.select,
|
|
826
|
+
(event) => chunkGCS5KBMR_cjs.applyChart3DSelect(bridge, event.detail.part),
|
|
826
827
|
{ signal: listeners.signal }
|
|
827
828
|
);
|
|
828
829
|
view.addEventListener(
|
|
829
|
-
|
|
830
|
-
(event) =>
|
|
830
|
+
chunkGCS5KBMR_cjs.THREE_VIEW_EVENTS.drag,
|
|
831
|
+
(event) => chunkGCS5KBMR_cjs.applyChart3DDrag(bridge, event.detail),
|
|
831
832
|
{ signal: listeners.signal }
|
|
832
833
|
);
|
|
833
834
|
}
|
|
834
835
|
var chartViewListeners = /* @__PURE__ */ new WeakMap();
|
|
835
836
|
function applyThreeViewTextStyle(el, style) {
|
|
836
|
-
for (const view of el.querySelectorAll(
|
|
837
|
+
for (const view of el.querySelectorAll(chunk526IHNIH_cjs.THREE_VIEW_TAG)) {
|
|
837
838
|
view.textStyle = style;
|
|
838
839
|
}
|
|
839
840
|
}
|
|
@@ -841,7 +842,7 @@ function applyThreeViewTextStyle(el, style) {
|
|
|
841
842
|
// src/pptx/dom/elements/chart.ts
|
|
842
843
|
var renderChartElement = (element, zIndex, context) => {
|
|
843
844
|
const wrapper = renderChartSvgElement(element, zIndex, context);
|
|
844
|
-
const spec = wrapper ?
|
|
845
|
+
const spec = wrapper ? chunkGCS5KBMR_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
|
|
845
846
|
if (!wrapper || !spec) {
|
|
846
847
|
return wrapper;
|
|
847
848
|
}
|
|
@@ -863,16 +864,16 @@ var renderChartSvgElement = (element, zIndex, context) => {
|
|
|
863
864
|
doc,
|
|
864
865
|
"div",
|
|
865
866
|
"pptxv-element pptxv-chart",
|
|
866
|
-
|
|
867
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
867
868
|
);
|
|
868
869
|
container.dataset.elementId = element.id;
|
|
869
870
|
const animationState = context.presentationStates?.get(element.id);
|
|
870
|
-
const chartData = element.chartData ?
|
|
871
|
+
const chartData = element.chartData ? chunkGCS5KBMR_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
|
|
871
872
|
if (!chartData || chartData.series.length === 0) {
|
|
872
873
|
container.appendChild(renderChartPlaceholder(doc, chartData?.chartType ?? "bar", context.t));
|
|
873
874
|
return container;
|
|
874
875
|
}
|
|
875
|
-
const kind =
|
|
876
|
+
const kind = chunkVFPVEVF4_cjs.resolveChartKind(chartData.chartType ?? "bar");
|
|
876
877
|
if (kind === "unsupported") {
|
|
877
878
|
container.appendChild(renderChartPlaceholder(doc, chartData.chartType, context.t));
|
|
878
879
|
return container;
|
|
@@ -885,12 +886,12 @@ var renderChartSvgElement = (element, zIndex, context) => {
|
|
|
885
886
|
};
|
|
886
887
|
container.querySelector("svg")?.remove();
|
|
887
888
|
container.appendChild(
|
|
888
|
-
|
|
889
|
+
chunkK3S2A64B_cjs.renderChartViewModelSvg(doc, chunkVFPVEVF4_cjs.buildChartViewModel(themedElement), preserveAspectRatio)
|
|
889
890
|
);
|
|
890
891
|
};
|
|
891
892
|
paint(chartData);
|
|
892
893
|
attachChartEditing(container, element, context, paint);
|
|
893
|
-
const unsubscribe =
|
|
894
|
+
const unsubscribe = chunkVFPVEVF4_cjs.subscribeBarFacePicturePixelSamples(() => {
|
|
894
895
|
if (!container.isConnected) {
|
|
895
896
|
unsubscribe();
|
|
896
897
|
return;
|
|
@@ -900,7 +901,7 @@ var renderChartSvgElement = (element, zIndex, context) => {
|
|
|
900
901
|
return container;
|
|
901
902
|
};
|
|
902
903
|
function resolveChartPalette2(chartData) {
|
|
903
|
-
return
|
|
904
|
+
return chunkVFPVEVF4_cjs.resolveChartPalette(chartData);
|
|
904
905
|
}
|
|
905
906
|
function renderChartPlaceholder(doc, chartType, t) {
|
|
906
907
|
const placeholder = createEl(doc, "div", "pptxv-placeholder pptxv-chart-placeholder", {
|
|
@@ -915,7 +916,7 @@ function renderChartPlaceholder(doc, chartType, t) {
|
|
|
915
916
|
border: "1px dashed #cbd5e1",
|
|
916
917
|
boxSizing: "border-box"
|
|
917
918
|
});
|
|
918
|
-
placeholder.textContent =
|
|
919
|
+
placeholder.textContent = chunkGCS5KBMR_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
|
|
919
920
|
return placeholder;
|
|
920
921
|
}
|
|
921
922
|
|
|
@@ -979,7 +980,7 @@ function createRunBaseNode(doc, run) {
|
|
|
979
980
|
verticalAlign: "middle",
|
|
980
981
|
fontFamily: "'Cambria Math', 'STIX Two Math', serif"
|
|
981
982
|
});
|
|
982
|
-
math.innerHTML =
|
|
983
|
+
math.innerHTML = chunkGCS5KBMR_cjs.runEquationMathMl(run.equation);
|
|
983
984
|
host.appendChild(math);
|
|
984
985
|
if (run.equation.number) {
|
|
985
986
|
const number = createEl(doc, "span", "pptxv-equation-number", {
|
|
@@ -991,7 +992,7 @@ function createRunBaseNode(doc, run) {
|
|
|
991
992
|
}
|
|
992
993
|
return host;
|
|
993
994
|
}
|
|
994
|
-
if (run.hyperlink &&
|
|
995
|
+
if (run.hyperlink && chunkGCS5KBMR_cjs.isRunHyperlinkClickable(run.hyperlink)) {
|
|
995
996
|
const link = createEl(doc, "a", "pptxv-link", run.style);
|
|
996
997
|
link.setAttribute("data-pptx-hyperlink", run.hyperlink.url);
|
|
997
998
|
link.setAttribute("role", "link");
|
|
@@ -1085,6 +1086,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1085
1086
|
});
|
|
1086
1087
|
image.src = picture.src;
|
|
1087
1088
|
image.alt = picture.accessibleLabel;
|
|
1089
|
+
image.setAttribute("draggable", "false");
|
|
1088
1090
|
p.appendChild(image);
|
|
1089
1091
|
} else if (para.bulletMarker !== void 0) {
|
|
1090
1092
|
const bullet = createEl(doc, "span", "pptxv-bullet");
|
|
@@ -1095,7 +1097,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1095
1097
|
bullet.textContent = para.bulletMarker;
|
|
1096
1098
|
p.appendChild(bullet);
|
|
1097
1099
|
}
|
|
1098
|
-
const spec = build ?
|
|
1100
|
+
const spec = build ? chunkGCS5KBMR_cjs.buildTextBuildSpec(
|
|
1099
1101
|
build.elementId,
|
|
1100
1102
|
paragraphs.indexOf(para),
|
|
1101
1103
|
para.runs.filter((run) => run.text !== NEWLINE_RUN).map((run) => ({ text: run.text, style: run.style })),
|
|
@@ -1104,7 +1106,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1104
1106
|
if (spec && spec.granularity !== "paragraph") {
|
|
1105
1107
|
for (const span of spec.spans ?? []) {
|
|
1106
1108
|
const node = createEl(doc, "span");
|
|
1107
|
-
applyStyleMap(node, { ...span.style ?? {}, ...
|
|
1109
|
+
applyStyleMap(node, { ...span.style ?? {}, ...chunkGCS5KBMR_cjs.textBuildSpanStyle(span) });
|
|
1108
1110
|
if (span.animId) {
|
|
1109
1111
|
node.setAttribute("data-anim-id", span.animId);
|
|
1110
1112
|
}
|
|
@@ -1117,7 +1119,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1117
1119
|
let runHost = p;
|
|
1118
1120
|
if (spec) {
|
|
1119
1121
|
const wrapper = createEl(doc, "span");
|
|
1120
|
-
applyStyleMap(wrapper,
|
|
1122
|
+
applyStyleMap(wrapper, chunkGCS5KBMR_cjs.textBuildSpanStyle(spec));
|
|
1121
1123
|
if (spec.animId) {
|
|
1122
1124
|
wrapper.setAttribute("data-anim-id", spec.animId);
|
|
1123
1125
|
}
|
|
@@ -1144,9 +1146,9 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1144
1146
|
const doc = context.document;
|
|
1145
1147
|
const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
1146
1148
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
1147
|
-
const strokeColor = ss?.strokeColor ??
|
|
1149
|
+
const strokeColor = ss?.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR;
|
|
1148
1150
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
1149
|
-
const dashArray =
|
|
1151
|
+
const dashArray = chunkVFPVEVF4_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
|
|
1150
1152
|
const w = Math.max(element.width, 1);
|
|
1151
1153
|
const h = Math.max(element.height, 1);
|
|
1152
1154
|
const wrapper = createEl(doc, "div", "pptxv-element pptxv-connector", {
|
|
@@ -1173,7 +1175,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1173
1175
|
if (element.hidden) {
|
|
1174
1176
|
wrapper.style.display = "none";
|
|
1175
1177
|
}
|
|
1176
|
-
const lineGlow =
|
|
1178
|
+
const lineGlow = chunkGCS5KBMR_cjs.getLineGlowFilterCss(ss);
|
|
1177
1179
|
if (lineGlow) {
|
|
1178
1180
|
wrapper.style.filter = lineGlow;
|
|
1179
1181
|
}
|
|
@@ -1181,7 +1183,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1181
1183
|
svg.setAttribute("style", "overflow:visible;display:block");
|
|
1182
1184
|
const seed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
1183
1185
|
const defs = createSvgEl(doc, "defs");
|
|
1184
|
-
const lineShadow =
|
|
1186
|
+
const lineShadow = chunkGCS5KBMR_cjs.getLineShadowParams(ss);
|
|
1185
1187
|
const shadowId = lineShadow ? `${seed}-line-shadow` : void 0;
|
|
1186
1188
|
if (lineShadow && shadowId) {
|
|
1187
1189
|
const filter = createSvgEl(doc, "filter", {
|
|
@@ -1202,8 +1204,8 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1202
1204
|
);
|
|
1203
1205
|
defs.appendChild(filter);
|
|
1204
1206
|
}
|
|
1205
|
-
const startArrow =
|
|
1206
|
-
const endArrow =
|
|
1207
|
+
const startArrow = chunkGCS5KBMR_cjs.normalizeArrow(ss?.connectorStartArrow);
|
|
1208
|
+
const endArrow = chunkGCS5KBMR_cjs.normalizeArrow(ss?.connectorEndArrow);
|
|
1207
1209
|
const startMarkerId = startArrow ? `${seed}-start` : void 0;
|
|
1208
1210
|
const endMarkerId = endArrow ? `${seed}-end` : void 0;
|
|
1209
1211
|
if (startArrow && startMarkerId) {
|
|
@@ -1226,10 +1228,10 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1226
1228
|
svg.appendChild(defs);
|
|
1227
1229
|
}
|
|
1228
1230
|
const compound = ss?.compoundLine;
|
|
1229
|
-
const offsets =
|
|
1230
|
-
const widths =
|
|
1231
|
+
const offsets = chunkGCS5KBMR_cjs.getCompoundLineOffsets(compound, strokeWidth);
|
|
1232
|
+
const widths = chunkGCS5KBMR_cjs.getCompoundLineWidths(compound, strokeWidth);
|
|
1231
1233
|
const shapeType = pptx.hasShapeProperties(element) ? element.shapeType : void 0;
|
|
1232
|
-
const usePath =
|
|
1234
|
+
const usePath = chunkGCS5KBMR_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
|
|
1233
1235
|
const pathData = usePath ? pptx.getConnectorPathGeometry(element).pathData : void 0;
|
|
1234
1236
|
const x1 = element.flipHorizontal ? w : 0;
|
|
1235
1237
|
const y1 = element.flipVertical ? h : 0;
|
|
@@ -1240,7 +1242,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1240
1242
|
d: pathData ?? `M${x1},${y1} L${x2},${y2}`,
|
|
1241
1243
|
fill: "none",
|
|
1242
1244
|
stroke: "transparent",
|
|
1243
|
-
"stroke-width":
|
|
1245
|
+
"stroke-width": chunkGCS5KBMR_cjs.connectorHitStrokeWidth(strokeWidth),
|
|
1244
1246
|
"stroke-linecap": "round",
|
|
1245
1247
|
"stroke-linejoin": "round"
|
|
1246
1248
|
});
|
|
@@ -1279,7 +1281,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1279
1281
|
...stroke
|
|
1280
1282
|
});
|
|
1281
1283
|
}
|
|
1282
|
-
node.style.setProperty("stroke-width",
|
|
1284
|
+
node.style.setProperty("stroke-width", chunk526IHNIH_cjs.screenStrokeWidth(strandWidth));
|
|
1283
1285
|
svg.appendChild(node);
|
|
1284
1286
|
});
|
|
1285
1287
|
wrapper.appendChild(svg);
|
|
@@ -1290,7 +1292,7 @@ function appendConnectorLabel(wrapper, element, context) {
|
|
|
1290
1292
|
if (!pptx.hasTextProperties(element)) {
|
|
1291
1293
|
return;
|
|
1292
1294
|
}
|
|
1293
|
-
const paragraphs =
|
|
1295
|
+
const paragraphs = chunkGCS5KBMR_cjs.buildParagraphs(element, context.fieldContext);
|
|
1294
1296
|
if (!paragraphs.some((paragraph) => paragraph.runs.length > 0)) {
|
|
1295
1297
|
return;
|
|
1296
1298
|
}
|
|
@@ -1310,7 +1312,7 @@ function appendConnectorLabel(wrapper, element, context) {
|
|
|
1310
1312
|
}
|
|
1311
1313
|
function buildMarker(context, id, arrow, strokeColor, size) {
|
|
1312
1314
|
const doc = context.document;
|
|
1313
|
-
const shape =
|
|
1315
|
+
const shape = chunkGCS5KBMR_cjs.markerPath(arrow, size.width, size.length);
|
|
1314
1316
|
const marker = createSvgEl(doc, "marker", {
|
|
1315
1317
|
id,
|
|
1316
1318
|
viewBox: "0 0 10 10",
|
|
@@ -1394,7 +1396,7 @@ var renderContentPartElement = (element, zIndex, context) => {
|
|
|
1394
1396
|
doc,
|
|
1395
1397
|
"div",
|
|
1396
1398
|
"pptxv-element pptxv-contentpart",
|
|
1397
|
-
|
|
1399
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
1398
1400
|
);
|
|
1399
1401
|
el.dataset.elementId = element.id;
|
|
1400
1402
|
const strokes = element.inkStrokes;
|
|
@@ -1427,7 +1429,7 @@ var renderContentPartElement = (element, zIndex, context) => {
|
|
|
1427
1429
|
return el;
|
|
1428
1430
|
};
|
|
1429
1431
|
function renderEquations(element, context) {
|
|
1430
|
-
if (!pptx.hasTextProperties(element) || !
|
|
1432
|
+
if (!pptx.hasTextProperties(element) || !chunkGCS5KBMR_cjs.isEquationOnlyText(element.textSegments)) {
|
|
1431
1433
|
return null;
|
|
1432
1434
|
}
|
|
1433
1435
|
const equations = (element.textSegments ?? []).filter((segment) => segment.equationXml);
|
|
@@ -1441,7 +1443,7 @@ function renderEquations(element, context) {
|
|
|
1441
1443
|
fontFamily: "'Cambria Math', 'STIX Two Math', serif"
|
|
1442
1444
|
});
|
|
1443
1445
|
for (const segment of equations) {
|
|
1444
|
-
const mathml =
|
|
1446
|
+
const mathml = chunkGCS5KBMR_cjs.convertOmmlToMathMl(segment.equationXml);
|
|
1445
1447
|
if (!mathml) {
|
|
1446
1448
|
continue;
|
|
1447
1449
|
}
|
|
@@ -1455,7 +1457,7 @@ function renderEquations(element, context) {
|
|
|
1455
1457
|
flex: 1,
|
|
1456
1458
|
textAlign: "center"
|
|
1457
1459
|
});
|
|
1458
|
-
math.innerHTML =
|
|
1460
|
+
math.innerHTML = chunkGCS5KBMR_cjs.sanitizeMathMl(mathml);
|
|
1459
1461
|
row.appendChild(math);
|
|
1460
1462
|
if (segment.equationNumber) {
|
|
1461
1463
|
const number = createEl(context.document, "span", "pptxv-equation-number", {
|
|
@@ -1472,8 +1474,8 @@ function renderExtrusionOverlay(doc, element) {
|
|
|
1472
1474
|
if (!pptx.hasShapeProperties(element)) {
|
|
1473
1475
|
return null;
|
|
1474
1476
|
}
|
|
1475
|
-
const fill =
|
|
1476
|
-
const data =
|
|
1477
|
+
const fill = chunkVFPVEVF4_cjs.getComputedFillStyle(element)?.backgroundColor;
|
|
1478
|
+
const data = chunkGCS5KBMR_cjs.build3DExtrusionData(
|
|
1477
1479
|
element.shapeStyle?.shape3d,
|
|
1478
1480
|
element.shapeStyle?.scene3d,
|
|
1479
1481
|
fill,
|
|
@@ -1535,7 +1537,7 @@ function appendOwnReflection(doc, host, element, mediaDataUrls, suppressOwnRefle
|
|
|
1535
1537
|
if (suppressOwnReflection) {
|
|
1536
1538
|
return;
|
|
1537
1539
|
}
|
|
1538
|
-
const wrapperStyle =
|
|
1540
|
+
const wrapperStyle = chunkGCS5KBMR_cjs.getComputedEffectStyle(element).reflection;
|
|
1539
1541
|
if (!wrapperStyle) {
|
|
1540
1542
|
return;
|
|
1541
1543
|
}
|
|
@@ -1559,9 +1561,9 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1559
1561
|
if (groupFilterDefs) {
|
|
1560
1562
|
wrap.appendChild(groupFilterDefs);
|
|
1561
1563
|
}
|
|
1562
|
-
const childParentFill =
|
|
1564
|
+
const childParentFill = chunkGCS5KBMR_cjs.getGroupChildParentFill(element, parentGroupFill);
|
|
1563
1565
|
for (const child of element.children ?? []) {
|
|
1564
|
-
const childWrap = createEl(doc, "div", void 0,
|
|
1566
|
+
const childWrap = createEl(doc, "div", void 0, chunkGCS5KBMR_cjs.getContainerStyle(child, 0));
|
|
1565
1567
|
childWrap.appendChild(
|
|
1566
1568
|
buildReflectionMirrorContent(doc, child, mediaDataUrls, childParentFill)
|
|
1567
1569
|
);
|
|
@@ -1575,7 +1577,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1575
1577
|
height: "100%",
|
|
1576
1578
|
...getShapeFillStrokeStyle(element)
|
|
1577
1579
|
});
|
|
1578
|
-
const inheritedFill =
|
|
1580
|
+
const inheritedFill = chunkGCS5KBMR_cjs.resolveGroupChildFill(element, parentGroupFill);
|
|
1579
1581
|
if (inheritedFill) {
|
|
1580
1582
|
applyInheritedFill(box, inheritedFill);
|
|
1581
1583
|
}
|
|
@@ -1596,12 +1598,12 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1596
1598
|
box.appendChild(gradientOutline);
|
|
1597
1599
|
}
|
|
1598
1600
|
if (pptx.isImageLikeElement(element)) {
|
|
1599
|
-
const src =
|
|
1601
|
+
const src = chunkGCS5KBMR_cjs.getImageSrc(element, new Map(mediaDataUrls));
|
|
1600
1602
|
if (src) {
|
|
1601
1603
|
const img = createEl(doc, "img", void 0, {
|
|
1602
1604
|
width: "100%",
|
|
1603
1605
|
height: "100%",
|
|
1604
|
-
...
|
|
1606
|
+
...chunkGCS5KBMR_cjs.getImageFitStyle(element)
|
|
1605
1607
|
});
|
|
1606
1608
|
img.setAttribute("src", src);
|
|
1607
1609
|
img.setAttribute("alt", "");
|
|
@@ -1611,7 +1613,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1611
1613
|
appendOwnReflection(doc, box, element, mediaDataUrls, suppressOwnReflection);
|
|
1612
1614
|
return box;
|
|
1613
1615
|
}
|
|
1614
|
-
const paragraphs =
|
|
1616
|
+
const paragraphs = chunkGCS5KBMR_cjs.buildParagraphs(element);
|
|
1615
1617
|
const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
|
|
1616
1618
|
if (hasText) {
|
|
1617
1619
|
box.appendChild(renderTextBlock(doc, paragraphs, getTextBlockStyle(element)));
|
|
@@ -1623,20 +1625,20 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1623
1625
|
// src/pptx/dom/elements/shape-filter-defs.ts
|
|
1624
1626
|
var OUTLINE_SVG_STYLE = "position:absolute;inset:0;width:100%;height:100%;min-width:1px;min-height:1px;overflow:visible;pointer-events:none";
|
|
1625
1627
|
function renderShapeFilterDefs(doc, element) {
|
|
1626
|
-
const style =
|
|
1628
|
+
const style = chunkGCS5KBMR_cjs.getEffectStyleSource(element);
|
|
1627
1629
|
if (!style) {
|
|
1628
1630
|
return null;
|
|
1629
1631
|
}
|
|
1630
1632
|
const markups = [];
|
|
1631
|
-
const duotone =
|
|
1633
|
+
const duotone = chunkGCS5KBMR_cjs.getDuotoneSvgFilter(style, element.id);
|
|
1632
1634
|
if (duotone) {
|
|
1633
1635
|
markups.push(duotone.filterMarkup);
|
|
1634
1636
|
}
|
|
1635
|
-
const softEdge =
|
|
1637
|
+
const softEdge = chunkGCS5KBMR_cjs.getSoftEdgeSvgFilter(style, element.id);
|
|
1636
1638
|
if (softEdge) {
|
|
1637
1639
|
markups.push(softEdge.filterMarkup);
|
|
1638
1640
|
}
|
|
1639
|
-
const bevelLighting =
|
|
1641
|
+
const bevelLighting = chunkGCS5KBMR_cjs.getBevelLightingSvgFilter(element);
|
|
1640
1642
|
if (bevelLighting) {
|
|
1641
1643
|
markups.push(bevelLighting.filterMarkup);
|
|
1642
1644
|
}
|
|
@@ -1654,7 +1656,7 @@ function renderShapeFillOverlay(doc, element) {
|
|
|
1654
1656
|
if (!pptx.hasShapeProperties(element)) {
|
|
1655
1657
|
return null;
|
|
1656
1658
|
}
|
|
1657
|
-
const overlay =
|
|
1659
|
+
const overlay = chunkGCS5KBMR_cjs.getComputedEffectStyle(element).fillOverlay;
|
|
1658
1660
|
if (!overlay) {
|
|
1659
1661
|
return null;
|
|
1660
1662
|
}
|
|
@@ -1669,7 +1671,7 @@ function renderShapeFillOverlay(doc, element) {
|
|
|
1669
1671
|
return layer;
|
|
1670
1672
|
}
|
|
1671
1673
|
function renderReflectionOverlay(doc, element, mediaDataUrls) {
|
|
1672
|
-
const wrapperStyle =
|
|
1674
|
+
const wrapperStyle = chunkGCS5KBMR_cjs.getComputedEffectStyle(element).reflection;
|
|
1673
1675
|
if (!wrapperStyle) {
|
|
1674
1676
|
return null;
|
|
1675
1677
|
}
|
|
@@ -1679,13 +1681,13 @@ function renderReflectionOverlay(doc, element, mediaDataUrls) {
|
|
|
1679
1681
|
return layer;
|
|
1680
1682
|
}
|
|
1681
1683
|
function renderHollowHitOutline(doc, element) {
|
|
1682
|
-
const hit =
|
|
1684
|
+
const hit = chunkGCS5KBMR_cjs.buildHollowHitOutline(element);
|
|
1683
1685
|
if (!hit) {
|
|
1684
1686
|
return null;
|
|
1685
1687
|
}
|
|
1686
1688
|
const svg = createSvgEl(doc, "svg", {
|
|
1687
1689
|
"aria-hidden": "true",
|
|
1688
|
-
viewBox:
|
|
1690
|
+
viewBox: chunkGCS5KBMR_cjs.strokeOutlineViewBox(element),
|
|
1689
1691
|
preserveAspectRatio: "none"
|
|
1690
1692
|
});
|
|
1691
1693
|
svg.setAttribute("style", OUTLINE_SVG_STYLE);
|
|
@@ -1700,7 +1702,7 @@ function renderHollowHitOutline(doc, element) {
|
|
|
1700
1702
|
return svg;
|
|
1701
1703
|
}
|
|
1702
1704
|
function renderShapeSubpathFillOverlay(doc, element) {
|
|
1703
|
-
const overlay =
|
|
1705
|
+
const overlay = chunkVFPVEVF4_cjs.buildSubpathFillOverlay(element);
|
|
1704
1706
|
if (!overlay) {
|
|
1705
1707
|
return null;
|
|
1706
1708
|
}
|
|
@@ -1718,20 +1720,20 @@ function renderShapeSubpathFillOverlay(doc, element) {
|
|
|
1718
1720
|
return svg;
|
|
1719
1721
|
}
|
|
1720
1722
|
function renderStrokeOutline(doc, element) {
|
|
1721
|
-
const outline =
|
|
1723
|
+
const outline = chunkGCS5KBMR_cjs.buildStrokeOutline(element);
|
|
1722
1724
|
if (!outline) {
|
|
1723
1725
|
return null;
|
|
1724
1726
|
}
|
|
1725
1727
|
const svg = createSvgEl(doc, "svg", {
|
|
1726
1728
|
class: "pptx-vanilla-gradient-outline",
|
|
1727
1729
|
"aria-hidden": "true",
|
|
1728
|
-
viewBox:
|
|
1730
|
+
viewBox: chunkGCS5KBMR_cjs.strokeOutlineViewBox(element),
|
|
1729
1731
|
preserveAspectRatio: "none"
|
|
1730
1732
|
});
|
|
1731
1733
|
svg.setAttribute("style", OUTLINE_SVG_STYLE);
|
|
1732
1734
|
if (outline.paint) {
|
|
1733
1735
|
const defs = createSvgEl(doc, "defs");
|
|
1734
|
-
if (
|
|
1736
|
+
if (chunkGCS5KBMR_cjs.isPatternPaint(outline.paint)) {
|
|
1735
1737
|
const pattern = createSvgEl(doc, "pattern", {
|
|
1736
1738
|
id: outline.paint.id,
|
|
1737
1739
|
width: outline.paint.width,
|
|
@@ -1746,7 +1748,7 @@ function renderStrokeOutline(doc, element) {
|
|
|
1746
1748
|
pattern.appendChild(image);
|
|
1747
1749
|
defs.appendChild(pattern);
|
|
1748
1750
|
} else {
|
|
1749
|
-
defs.innerHTML =
|
|
1751
|
+
defs.innerHTML = chunkGCS5KBMR_cjs.svgGradientMarkup(outline.paint);
|
|
1750
1752
|
}
|
|
1751
1753
|
svg.appendChild(defs);
|
|
1752
1754
|
}
|
|
@@ -1797,14 +1799,14 @@ function indexRenderedNodes(root) {
|
|
|
1797
1799
|
return byId;
|
|
1798
1800
|
}
|
|
1799
1801
|
function paintInheritedFill(node, element, parentGroupFill) {
|
|
1800
|
-
const inherited =
|
|
1802
|
+
const inherited = chunkGCS5KBMR_cjs.resolveGroupChildFill(element, parentGroupFill);
|
|
1801
1803
|
if (inherited) {
|
|
1802
1804
|
applyGroupChildFill(node, inherited);
|
|
1803
1805
|
}
|
|
1804
1806
|
if (element.type !== "group") {
|
|
1805
1807
|
return;
|
|
1806
1808
|
}
|
|
1807
|
-
const childFill =
|
|
1809
|
+
const childFill = chunkGCS5KBMR_cjs.getGroupChildParentFill(element, parentGroupFill);
|
|
1808
1810
|
if (!childFill) {
|
|
1809
1811
|
return;
|
|
1810
1812
|
}
|
|
@@ -1818,7 +1820,7 @@ function paintInheritedFill(node, element, parentGroupFill) {
|
|
|
1818
1820
|
}
|
|
1819
1821
|
var renderGroupElement = (element, zIndex, context) => {
|
|
1820
1822
|
const el = createEl(context.document, "div", "pptxv-element pptxv-group", {
|
|
1821
|
-
...
|
|
1823
|
+
...chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex),
|
|
1822
1824
|
// A group paints no fill/outline of its own, but `p:grpSpPr/a:effectLst`
|
|
1823
1825
|
// DOES carry a shadow/glow/soft-edge for the group's own composite
|
|
1824
1826
|
// raster (see shared `getComputedEffectStyle`), expressed as `filter` /
|
|
@@ -1835,7 +1837,7 @@ var renderGroupElement = (element, zIndex, context) => {
|
|
|
1835
1837
|
el.appendChild(reflection);
|
|
1836
1838
|
}
|
|
1837
1839
|
if (element.type === "group" && element.children?.length) {
|
|
1838
|
-
const parentGroupFill =
|
|
1840
|
+
const parentGroupFill = chunkGCS5KBMR_cjs.getGroupChildParentFill(element);
|
|
1839
1841
|
element.children.forEach((child, index) => {
|
|
1840
1842
|
const childEl = context.renderElement(child, index);
|
|
1841
1843
|
if (childEl) {
|
|
@@ -1850,12 +1852,12 @@ var renderGroupElement = (element, zIndex, context) => {
|
|
|
1850
1852
|
// src/pptx/dom/elements/image.ts
|
|
1851
1853
|
var renderImageElement = (element, zIndex, context) => {
|
|
1852
1854
|
const doc = context.document;
|
|
1853
|
-
const geometry = element.type === "image" || element.type === "picture" ?
|
|
1855
|
+
const geometry = element.type === "image" || element.type === "picture" ? chunkGCS5KBMR_cjs.resolveShapeGeometry(element) : void 0;
|
|
1854
1856
|
const geometryClipPath = geometry?.kind === "clipPath" ? geometry.clipPath : void 0;
|
|
1855
|
-
const cropShapeClipPath = element.type === "image" || element.type === "picture" ?
|
|
1857
|
+
const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunkGCS5KBMR_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
|
|
1856
1858
|
const el = createEl(doc, "div", "pptxv-element pptxv-image", {
|
|
1857
|
-
...
|
|
1858
|
-
overflow:
|
|
1859
|
+
...chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex),
|
|
1860
|
+
overflow: chunkGCS5KBMR_cjs.getImageOverflow(element),
|
|
1859
1861
|
// The picture's own shape geometry (prstGeom / custGeom) clips the frame,
|
|
1860
1862
|
// not the `<img>` - a pixel-space clip on the img would be scaled and
|
|
1861
1863
|
// shifted by the crop transform.
|
|
@@ -1863,11 +1865,11 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1863
1865
|
...geometryClipPath ? { clipPath: geometryClipPath } : cropShapeClipPath ? { clipPath: cropShapeClipPath } : {}
|
|
1864
1866
|
});
|
|
1865
1867
|
el.dataset.elementId = element.id;
|
|
1866
|
-
const src =
|
|
1868
|
+
const src = chunkGCS5KBMR_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
|
|
1867
1869
|
if (!src) {
|
|
1868
1870
|
return el;
|
|
1869
1871
|
}
|
|
1870
|
-
const fx =
|
|
1872
|
+
const fx = chunkGCS5KBMR_cjs.getComputedImageStyle(element);
|
|
1871
1873
|
for (const f of fx.svgFilters) {
|
|
1872
1874
|
const svg = createSvgEl(doc, "svg", { width: 0, height: 0, "aria-hidden": "true" });
|
|
1873
1875
|
svg.setAttribute("style", "position:absolute;width:0;height:0;overflow:hidden");
|
|
@@ -1880,7 +1882,7 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1880
1882
|
el.appendChild(svg);
|
|
1881
1883
|
}
|
|
1882
1884
|
const reflection = renderReflectionOverlay(doc, element, context.mediaDataUrls);
|
|
1883
|
-
const tiling =
|
|
1885
|
+
const tiling = chunkGCS5KBMR_cjs.getImageTilingStyle(element, chunkGCS5KBMR_cjs.getCachedNativeImageSize(src));
|
|
1884
1886
|
if (tiling) {
|
|
1885
1887
|
const tile = createEl(doc, "div", "pptxv-image-tile", tiling);
|
|
1886
1888
|
if (fx.filter) {
|
|
@@ -1889,10 +1891,10 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1889
1891
|
if (fx.opacity !== void 0) {
|
|
1890
1892
|
tile.style.opacity = String(fx.opacity);
|
|
1891
1893
|
}
|
|
1892
|
-
if (!
|
|
1893
|
-
void
|
|
1894
|
+
if (!chunkGCS5KBMR_cjs.getCachedNativeImageSize(src)) {
|
|
1895
|
+
void chunkGCS5KBMR_cjs.probeNativeImageSize(src).then((size) => {
|
|
1894
1896
|
if (size) {
|
|
1895
|
-
applyStyleMap(tile,
|
|
1897
|
+
applyStyleMap(tile, chunkGCS5KBMR_cjs.getImageTilingStyle(element, size) ?? {});
|
|
1896
1898
|
}
|
|
1897
1899
|
return void 0;
|
|
1898
1900
|
});
|
|
@@ -1903,8 +1905,8 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1903
1905
|
}
|
|
1904
1906
|
return el;
|
|
1905
1907
|
}
|
|
1906
|
-
const fit =
|
|
1907
|
-
const fillCounterTransform =
|
|
1908
|
+
const fit = chunkGCS5KBMR_cjs.getImageFitStyle(element);
|
|
1909
|
+
const fillCounterTransform = chunkGCS5KBMR_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
|
|
1908
1910
|
const img = createEl(doc, "img", void 0, {
|
|
1909
1911
|
...fit,
|
|
1910
1912
|
display: "block",
|
|
@@ -1912,6 +1914,7 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1912
1914
|
});
|
|
1913
1915
|
img.src = src;
|
|
1914
1916
|
img.alt = "";
|
|
1917
|
+
img.setAttribute("draggable", "false");
|
|
1915
1918
|
if (fx.filter) {
|
|
1916
1919
|
img.style.filter = fx.filter;
|
|
1917
1920
|
}
|
|
@@ -1922,14 +1925,14 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1922
1925
|
if (element.type === "image" || element.type === "picture") {
|
|
1923
1926
|
const clrChange = element.imageEffects?.clrChange;
|
|
1924
1927
|
if (clrChange) {
|
|
1925
|
-
void
|
|
1928
|
+
void chunkGCS5KBMR_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
|
|
1926
1929
|
if (img.src === src || img.getAttribute("src") === src) {
|
|
1927
1930
|
img.src = resolved;
|
|
1928
1931
|
}
|
|
1929
1932
|
return void 0;
|
|
1930
1933
|
});
|
|
1931
1934
|
}
|
|
1932
|
-
const wash =
|
|
1935
|
+
const wash = chunkGCS5KBMR_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
|
|
1933
1936
|
if (wash) {
|
|
1934
1937
|
el.appendChild(
|
|
1935
1938
|
createEl(doc, "div", "pptxv-image-color-wash", {
|
|
@@ -1958,7 +1961,7 @@ var renderInkElement = (element, zIndex, context) => {
|
|
|
1958
1961
|
doc,
|
|
1959
1962
|
"div",
|
|
1960
1963
|
"pptxv-element pptxv-ink",
|
|
1961
|
-
|
|
1964
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
1962
1965
|
);
|
|
1963
1966
|
wrapper.dataset.elementId = element.id;
|
|
1964
1967
|
const paths = element.inkPaths;
|
|
@@ -1979,7 +1982,7 @@ var renderInkElement = (element, zIndex, context) => {
|
|
|
1979
1982
|
keyframes.textContent = chunkNTXHQHCS_cjs.INK_REPLAY_KEYFRAMES;
|
|
1980
1983
|
svg.appendChild(keyframes);
|
|
1981
1984
|
}
|
|
1982
|
-
const views =
|
|
1985
|
+
const views = chunkGCS5KBMR_cjs.buildInkGroupStrokes(element, { color: chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR, width: 1 });
|
|
1983
1986
|
for (const [i, view] of views.entries()) {
|
|
1984
1987
|
svg.appendChild(buildStrokeSvg(doc, view, replayStyles[i]));
|
|
1985
1988
|
}
|
|
@@ -2033,12 +2036,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
|
|
|
2033
2036
|
let stopButton = null;
|
|
2034
2037
|
const update = (playing) => {
|
|
2035
2038
|
const input = { fullScreen: element.fullScreen, presenting: context.presenting, playing };
|
|
2036
|
-
const active =
|
|
2039
|
+
const active = chunkGCS5KBMR_cjs.isMediaFullscreenActive(input);
|
|
2037
2040
|
applyStyleMap(
|
|
2038
2041
|
container,
|
|
2039
|
-
active ?
|
|
2042
|
+
active ? chunkGCS5KBMR_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
|
|
2040
2043
|
);
|
|
2041
|
-
if (
|
|
2044
|
+
if (chunkGCS5KBMR_cjs.shouldShowMediaFullscreenStopButton(input)) {
|
|
2042
2045
|
if (!stopButton) {
|
|
2043
2046
|
stopButton = buildFullscreenStopButton(
|
|
2044
2047
|
doc,
|
|
@@ -2063,12 +2066,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
|
|
|
2063
2066
|
|
|
2064
2067
|
// src/pptx/dom/elements/media.ts
|
|
2065
2068
|
function applyMediaPresentingState(el, presenting, playback) {
|
|
2066
|
-
|
|
2069
|
+
chunkGCS5KBMR_cjs.applyMediaPlaybackAttributes(el, playback);
|
|
2067
2070
|
if (presenting) {
|
|
2068
|
-
|
|
2069
|
-
|
|
2071
|
+
chunkGCS5KBMR_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
|
|
2072
|
+
chunkGCS5KBMR_cjs.scheduleMediaTrimAndFade(el, {
|
|
2070
2073
|
...playback,
|
|
2071
|
-
volume:
|
|
2074
|
+
volume: chunkGCS5KBMR_cjs.mediaPlaybackAttributes(playback).volume
|
|
2072
2075
|
});
|
|
2073
2076
|
} else if (!el.paused) {
|
|
2074
2077
|
el.pause();
|
|
@@ -2078,18 +2081,18 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2078
2081
|
if (element.type !== "media") {
|
|
2079
2082
|
return null;
|
|
2080
2083
|
}
|
|
2081
|
-
const surface =
|
|
2084
|
+
const surface = chunkGCS5KBMR_cjs.mediaSurfaceOf({
|
|
2082
2085
|
interactive: context.interactive === true || context.reading === true,
|
|
2083
2086
|
presenting: context.presenting
|
|
2084
2087
|
});
|
|
2085
|
-
const showTransport =
|
|
2088
|
+
const showTransport = chunkGCS5KBMR_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
|
|
2086
2089
|
const doc = context.document;
|
|
2087
|
-
const baseStyle =
|
|
2090
|
+
const baseStyle = chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex);
|
|
2088
2091
|
const el = createEl(doc, "div", "pptxv-element pptxv-media", baseStyle);
|
|
2089
2092
|
el.dataset.elementId = element.id;
|
|
2090
2093
|
const mediaSrc = element.mediaData ?? (element.mediaPath ? context.mediaDataUrls.get(element.mediaPath) : void 0);
|
|
2091
|
-
const posterSrc =
|
|
2092
|
-
const onlineVideoEmbedUrl =
|
|
2094
|
+
const posterSrc = chunkGCS5KBMR_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
|
|
2095
|
+
const onlineVideoEmbedUrl = chunkGCS5KBMR_cjs.getOnlineVideoEmbed(element)?.embedUrl;
|
|
2093
2096
|
if (onlineVideoEmbedUrl && element.mediaType === "video") {
|
|
2094
2097
|
const iframe = createEl(doc, "iframe", "pptxv-media-video pptxv-media-iframe", {
|
|
2095
2098
|
width: "100%",
|
|
@@ -2099,8 +2102,8 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2099
2102
|
});
|
|
2100
2103
|
iframe.src = onlineVideoEmbedUrl;
|
|
2101
2104
|
iframe.title = context.t("pptx.media.onlineVideoTitle");
|
|
2102
|
-
iframe.allow =
|
|
2103
|
-
iframe.sandbox.value =
|
|
2105
|
+
iframe.allow = chunkGCS5KBMR_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
|
|
2106
|
+
iframe.sandbox.value = chunkGCS5KBMR_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
|
|
2104
2107
|
iframe.allowFullscreen = true;
|
|
2105
2108
|
el.appendChild(iframe);
|
|
2106
2109
|
return el;
|
|
@@ -2129,21 +2132,21 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2129
2132
|
audio.src = mediaSrc;
|
|
2130
2133
|
audio.controls = showTransport;
|
|
2131
2134
|
el.appendChild(audio);
|
|
2132
|
-
if (context.presenting &&
|
|
2135
|
+
if (context.presenting && chunkGCS5KBMR_cjs.registerCrossSlideAudio(element, mediaSrc)) {
|
|
2133
2136
|
audio.muted = true;
|
|
2134
|
-
|
|
2137
|
+
chunkGCS5KBMR_cjs.applyMediaPlaybackAttributes(audio, element);
|
|
2135
2138
|
return el;
|
|
2136
2139
|
}
|
|
2137
2140
|
applyMediaPresentingState(audio, context.presenting, element);
|
|
2138
2141
|
wireMediaFullscreenOverlay(doc, el, audio, element, context, baseStyle);
|
|
2139
2142
|
return el;
|
|
2140
2143
|
}
|
|
2141
|
-
const fallback =
|
|
2144
|
+
const fallback = chunkGCS5KBMR_cjs.mediaFallbackVisual(surface, {
|
|
2142
2145
|
hasPoster: Boolean(posterSrc),
|
|
2143
2146
|
missing: element.mediaMissing === true
|
|
2144
2147
|
});
|
|
2145
|
-
const icon =
|
|
2146
|
-
const labelKey =
|
|
2148
|
+
const icon = chunkGCS5KBMR_cjs.mediaFallbackIcon(fallback, element.mediaType);
|
|
2149
|
+
const labelKey = chunkGCS5KBMR_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
|
|
2147
2150
|
if (fallback.poster && posterSrc) {
|
|
2148
2151
|
const img = createEl(doc, "img", "pptxv-media-poster", {
|
|
2149
2152
|
width: "100%",
|
|
@@ -2154,13 +2157,14 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2154
2157
|
});
|
|
2155
2158
|
img.src = posterSrc;
|
|
2156
2159
|
img.alt = "";
|
|
2160
|
+
img.setAttribute("draggable", "false");
|
|
2157
2161
|
el.appendChild(img);
|
|
2158
2162
|
if (fallback.badge !== "none") {
|
|
2159
2163
|
const badge = createEl(doc, "div", "pptxv-media-badge");
|
|
2160
2164
|
if (fallback.badge === "missing") {
|
|
2161
2165
|
badge.classList.add("pptxv-media-badge-missing");
|
|
2162
2166
|
}
|
|
2163
|
-
badge.setAttribute(
|
|
2167
|
+
badge.setAttribute(chunkGCS5KBMR_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
|
|
2164
2168
|
badge.appendChild(buildIcon(doc, icon));
|
|
2165
2169
|
if (labelKey !== void 0 && fallback.badge === "missing") {
|
|
2166
2170
|
const text = createEl(doc, "span");
|
|
@@ -2173,7 +2177,7 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2173
2177
|
}
|
|
2174
2178
|
if (fallback.placeholder !== "none") {
|
|
2175
2179
|
el.classList.add("pptxv-placeholder", "pptxv-media-placeholder");
|
|
2176
|
-
el.setAttribute(
|
|
2180
|
+
el.setAttribute(chunkGCS5KBMR_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
|
|
2177
2181
|
if (icon.length > 0) {
|
|
2178
2182
|
el.appendChild(buildIcon(doc, icon));
|
|
2179
2183
|
}
|
|
@@ -2209,7 +2213,7 @@ var renderModel3dElement = (element, zIndex, context) => {
|
|
|
2209
2213
|
doc,
|
|
2210
2214
|
"div",
|
|
2211
2215
|
"pptxv-element pptxv-model3d",
|
|
2212
|
-
|
|
2216
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
2213
2217
|
);
|
|
2214
2218
|
el.dataset.elementId = element.id;
|
|
2215
2219
|
const label = context.t("pptx.model3d.label");
|
|
@@ -2346,7 +2350,7 @@ function buildOleIcon(doc, type, color) {
|
|
|
2346
2350
|
fill: "none",
|
|
2347
2351
|
"aria-hidden": "true"
|
|
2348
2352
|
});
|
|
2349
|
-
for (const shape of
|
|
2353
|
+
for (const shape of chunkGCS5KBMR_cjs.getOleIconShapes(type)) {
|
|
2350
2354
|
const node = createSvgEl(doc, shape.tag, shape.attrs);
|
|
2351
2355
|
if (shape.tag === "text") {
|
|
2352
2356
|
node.setAttribute("fill", color);
|
|
@@ -2365,21 +2369,21 @@ var renderOleElement = (element, zIndex, context) => {
|
|
|
2365
2369
|
return null;
|
|
2366
2370
|
}
|
|
2367
2371
|
const doc = context.document;
|
|
2368
|
-
const oleType =
|
|
2369
|
-
const typeColor =
|
|
2370
|
-
const typeLabel =
|
|
2371
|
-
const el = createEl(doc, "div", "pptxv-element pptxv-ole",
|
|
2372
|
+
const oleType = chunkGCS5KBMR_cjs.resolveOleType(element);
|
|
2373
|
+
const typeColor = chunkGCS5KBMR_cjs.getOleTypeColor(oleType);
|
|
2374
|
+
const typeLabel = chunkGCS5KBMR_cjs.getOleTypeLabel(oleType);
|
|
2375
|
+
const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex));
|
|
2372
2376
|
el.dataset.elementId = element.id;
|
|
2373
2377
|
el.setAttribute("role", "group");
|
|
2374
|
-
el.setAttribute("aria-label",
|
|
2378
|
+
el.setAttribute("aria-label", chunkGCS5KBMR_cjs.getOleAriaLabel(element));
|
|
2375
2379
|
el.title = infoLines(element, typeLabel).join("\n");
|
|
2376
2380
|
if (element.previewImageData) {
|
|
2377
|
-
el.appendChild(buildPreview(doc, element, typeColor,
|
|
2381
|
+
el.appendChild(buildPreview(doc, element, typeColor, chunkGCS5KBMR_cjs.getOleBadgeLabel(oleType)));
|
|
2378
2382
|
} else {
|
|
2379
2383
|
el.appendChild(buildPlaceholder2(doc, element, oleType, typeColor, typeLabel));
|
|
2380
2384
|
}
|
|
2381
|
-
const showActions =
|
|
2382
|
-
|
|
2385
|
+
const showActions = chunkGCS5KBMR_cjs.oleActionsVisible(
|
|
2386
|
+
chunkGCS5KBMR_cjs.mediaSurfaceOf({
|
|
2383
2387
|
interactive: context.interactive === true,
|
|
2384
2388
|
presenting: context.presenting
|
|
2385
2389
|
})
|
|
@@ -2395,7 +2399,7 @@ function infoLines(el, typeLabel) {
|
|
|
2395
2399
|
if (name) {
|
|
2396
2400
|
lines.push(name);
|
|
2397
2401
|
}
|
|
2398
|
-
const size =
|
|
2402
|
+
const size = chunkGCS5KBMR_cjs.formatBytes(el.oleEmbeddedByteSize);
|
|
2399
2403
|
if (size) {
|
|
2400
2404
|
lines.push(size);
|
|
2401
2405
|
}
|
|
@@ -2419,7 +2423,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
|
|
|
2419
2423
|
display: "block"
|
|
2420
2424
|
});
|
|
2421
2425
|
img.src = el.previewImageData ?? "";
|
|
2422
|
-
img.alt =
|
|
2426
|
+
img.alt = chunkGCS5KBMR_cjs.getOleAriaLabel(el);
|
|
2423
2427
|
img.draggable = false;
|
|
2424
2428
|
preview.appendChild(img);
|
|
2425
2429
|
const badge = createSvgEl(doc, "svg", { width: 24, height: 24, viewBox: "0 0 24 24" });
|
|
@@ -2446,7 +2450,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
|
|
|
2446
2450
|
}
|
|
2447
2451
|
function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
|
|
2448
2452
|
const box = createEl(doc, "div", "pptxv-ole-placeholder", {
|
|
2449
|
-
...
|
|
2453
|
+
...chunkGCS5KBMR_cjs.getPlaceholderStyle(oleType),
|
|
2450
2454
|
width: "100%",
|
|
2451
2455
|
height: "100%",
|
|
2452
2456
|
display: "flex",
|
|
@@ -2467,7 +2471,7 @@ function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
|
|
|
2467
2471
|
whiteSpace: "nowrap",
|
|
2468
2472
|
color: typeColor
|
|
2469
2473
|
});
|
|
2470
|
-
name.textContent =
|
|
2474
|
+
name.textContent = chunkGCS5KBMR_cjs.getOleDisplayName(el);
|
|
2471
2475
|
box.appendChild(name);
|
|
2472
2476
|
if (el.fileName) {
|
|
2473
2477
|
const sublabel = createEl(doc, "span", "pptxv-ole-sublabel", {
|
|
@@ -2519,7 +2523,7 @@ function buildActionBar(doc, el, typeLabel, context) {
|
|
|
2519
2523
|
for (const type of ["pointerdown", "mousedown", "click"]) {
|
|
2520
2524
|
bar.addEventListener(type, (event) => event.stopPropagation());
|
|
2521
2525
|
}
|
|
2522
|
-
const size =
|
|
2526
|
+
const size = chunkGCS5KBMR_cjs.formatBytes(el.oleEmbeddedByteSize);
|
|
2523
2527
|
if (size) {
|
|
2524
2528
|
const meta = createEl(doc, "span", "pptxv-ole-meta", {
|
|
2525
2529
|
marginRight: "auto",
|
|
@@ -2539,14 +2543,14 @@ function buildActionBar(doc, el, typeLabel, context) {
|
|
|
2539
2543
|
download.title = downloadTitle;
|
|
2540
2544
|
download.textContent = context.t("pptx.ole.download");
|
|
2541
2545
|
bar.appendChild(download);
|
|
2542
|
-
if (
|
|
2546
|
+
if (chunkGCS5KBMR_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
|
|
2543
2547
|
const open = createEl(doc, "button", "pptxv-ole-action", ACTION_STYLE);
|
|
2544
2548
|
open.type = "button";
|
|
2545
2549
|
const openTitle = context.t("pptx.ole.openName", { name: downloadName });
|
|
2546
2550
|
open.setAttribute("aria-label", openTitle);
|
|
2547
2551
|
open.title = openTitle;
|
|
2548
2552
|
open.textContent = context.t("pptx.ole.open");
|
|
2549
|
-
open.addEventListener("click", () =>
|
|
2553
|
+
open.addEventListener("click", () => chunkGCS5KBMR_cjs.openUrlInNewTab(data));
|
|
2550
2554
|
bar.appendChild(open);
|
|
2551
2555
|
}
|
|
2552
2556
|
return bar;
|
|
@@ -2558,7 +2562,7 @@ var renderPlaceholderElement = (element, zIndex, context) => {
|
|
|
2558
2562
|
context.document,
|
|
2559
2563
|
"div",
|
|
2560
2564
|
"pptxv-element pptxv-placeholder",
|
|
2561
|
-
|
|
2565
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
2562
2566
|
);
|
|
2563
2567
|
el.dataset.elementId = element.id;
|
|
2564
2568
|
el.dataset.elementType = element.type;
|
|
@@ -2574,7 +2578,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2574
2578
|
return null;
|
|
2575
2579
|
}
|
|
2576
2580
|
const doc = context.document;
|
|
2577
|
-
const summaryView =
|
|
2581
|
+
const summaryView = chunkGCS5KBMR_cjs.buildSummaryZoomView(
|
|
2578
2582
|
element,
|
|
2579
2583
|
(index) => {
|
|
2580
2584
|
const slide = context.slides?.[index];
|
|
@@ -2594,7 +2598,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2594
2598
|
doc,
|
|
2595
2599
|
"div",
|
|
2596
2600
|
"pptxv-element pptxv-zoom pptxv-summary-zoom",
|
|
2597
|
-
|
|
2601
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
2598
2602
|
);
|
|
2599
2603
|
const content = createEl(doc, "div", "pptxv-summary-zoom-content", summaryView.containerStyle);
|
|
2600
2604
|
root.dataset.elementId = element.id;
|
|
@@ -2639,6 +2643,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2639
2643
|
const image = createEl(doc, "img");
|
|
2640
2644
|
image.src = tile2.imageSrc;
|
|
2641
2645
|
image.alt = tile2.ariaLabel;
|
|
2646
|
+
image.setAttribute("draggable", "false");
|
|
2642
2647
|
image.style.cssText = "width:100%;height:100%;object-fit:contain";
|
|
2643
2648
|
tileElement.appendChild(image);
|
|
2644
2649
|
} else {
|
|
@@ -2660,7 +2665,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2660
2665
|
const target = element.targetSlideIndex ?? 0;
|
|
2661
2666
|
const targetSlide = context.slides?.[target];
|
|
2662
2667
|
const interactive = context.presenting && context.onZoomClick !== void 0;
|
|
2663
|
-
const el = createEl(doc, "div", "pptxv-element pptxv-zoom",
|
|
2668
|
+
const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex));
|
|
2664
2669
|
el.dataset.elementId = element.id;
|
|
2665
2670
|
el.dataset.zoomType = zoomType;
|
|
2666
2671
|
el.dataset.zoomTarget = String(target);
|
|
@@ -2670,7 +2675,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2670
2675
|
el.tabIndex = 0;
|
|
2671
2676
|
el.style.cursor = "pointer";
|
|
2672
2677
|
const activate = () => {
|
|
2673
|
-
const zoomTarget =
|
|
2678
|
+
const zoomTarget = chunkGCS5KBMR_cjs.resolveZoomNavigationTarget(element);
|
|
2674
2679
|
if (zoomTarget) {
|
|
2675
2680
|
context.onZoomClick?.(zoomTarget, context.currentSlideIndex ?? 0);
|
|
2676
2681
|
}
|
|
@@ -2785,7 +2790,7 @@ function registerExtraRenderers(registry) {
|
|
|
2785
2790
|
// src/pptx/dom/elements/smartart-3d.ts
|
|
2786
2791
|
var renderSmartArt3DElement = (element, zIndex, context) => {
|
|
2787
2792
|
const wrapper = renderSmartArtSvg(element, zIndex, context);
|
|
2788
|
-
const spec = wrapper ?
|
|
2793
|
+
const spec = wrapper ? chunkGCS5KBMR_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
|
|
2789
2794
|
if (!wrapper || !spec) {
|
|
2790
2795
|
return wrapper;
|
|
2791
2796
|
}
|
|
@@ -2795,18 +2800,18 @@ var renderSmartArt3DElement = (element, zIndex, context) => {
|
|
|
2795
2800
|
textStyle: context.presentationStates?.get(element.id)?.textStyle
|
|
2796
2801
|
});
|
|
2797
2802
|
if (context.onSmartArtNodeTextChange && context.interactive && !context.presenting) {
|
|
2798
|
-
const layer = renderSmartArtSvg(
|
|
2803
|
+
const layer = renderSmartArtSvg(chunkGCS5KBMR_cjs.elementInLocalFrame(element), 0, context);
|
|
2799
2804
|
if (layer) {
|
|
2800
2805
|
layer.classList.add("pptxv-smartart-3d-edit-layer");
|
|
2801
2806
|
layer.setAttribute("data-smartart-3d-edit-layer", "true");
|
|
2802
|
-
|
|
2807
|
+
chunkGCS5KBMR_cjs.stripEditLayerMarkers(layer);
|
|
2803
2808
|
layer.setAttribute("aria-hidden", "true");
|
|
2804
2809
|
Object.assign(layer.style, { position: "absolute", inset: "0", zIndex: "1" });
|
|
2805
2810
|
for (const svg of layer.querySelectorAll("svg")) {
|
|
2806
2811
|
svg.style.opacity = "0";
|
|
2807
2812
|
}
|
|
2808
2813
|
wrapper.appendChild(layer);
|
|
2809
|
-
|
|
2814
|
+
chunkGCS5KBMR_cjs.routeEditLayerPointerToNodes(layer);
|
|
2810
2815
|
}
|
|
2811
2816
|
}
|
|
2812
2817
|
return wrapper;
|
|
@@ -2819,7 +2824,7 @@ function nodeTarget(target) {
|
|
|
2819
2824
|
}
|
|
2820
2825
|
function enableSmartArtEditing(chrome, element, context) {
|
|
2821
2826
|
const data = element.smartArtData;
|
|
2822
|
-
if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !
|
|
2827
|
+
if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunkGCS5KBMR_cjs.canDrillDown(element)) {
|
|
2823
2828
|
return;
|
|
2824
2829
|
}
|
|
2825
2830
|
let editor = null;
|
|
@@ -2841,8 +2846,8 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2841
2846
|
}
|
|
2842
2847
|
event.stopPropagation();
|
|
2843
2848
|
const textNode = target.querySelector("text");
|
|
2844
|
-
const textRect = textNode ?
|
|
2845
|
-
const rect = textRect && textRect.width > 0 ? textRect :
|
|
2849
|
+
const textRect = textNode ? chunkGCS5KBMR_cjs.measureSvgViewportRect(textNode) : null;
|
|
2850
|
+
const rect = textRect && textRect.width > 0 ? textRect : chunkGCS5KBMR_cjs.measureSvgViewportRect(target);
|
|
2846
2851
|
if (!rect) {
|
|
2847
2852
|
return;
|
|
2848
2853
|
}
|
|
@@ -2866,7 +2871,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2866
2871
|
textAlign: "center"
|
|
2867
2872
|
});
|
|
2868
2873
|
editor = input;
|
|
2869
|
-
input.value =
|
|
2874
|
+
input.value = chunkGCS5KBMR_cjs.findSmartArtNodeText(data, nodeId) ?? "";
|
|
2870
2875
|
const commit = () => {
|
|
2871
2876
|
if (input !== editor) {
|
|
2872
2877
|
return;
|
|
@@ -2898,7 +2903,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2898
2903
|
}
|
|
2899
2904
|
cancelHide();
|
|
2900
2905
|
swatches?.remove();
|
|
2901
|
-
const rect =
|
|
2906
|
+
const rect = chunkGCS5KBMR_cjs.measureSvgViewportRect(target);
|
|
2902
2907
|
if (!rect) {
|
|
2903
2908
|
return;
|
|
2904
2909
|
}
|
|
@@ -2917,7 +2922,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2917
2922
|
});
|
|
2918
2923
|
swatches.setAttribute("role", "group");
|
|
2919
2924
|
swatches.setAttribute("aria-label", context.t("pptx.smartArt.fillColor"));
|
|
2920
|
-
for (const color of
|
|
2925
|
+
for (const color of chunkGCS5KBMR_cjs.resolvePalette(data).slice(0, 6)) {
|
|
2921
2926
|
const button = createEl(chrome.ownerDocument, "button", "", {
|
|
2922
2927
|
width: "18px",
|
|
2923
2928
|
height: "18px",
|
|
@@ -3016,7 +3021,7 @@ function buildSmartArtFallbackSvg(doc, layout, a11yNodes = [], nodeIds = []) {
|
|
|
3016
3021
|
svg.setAttribute("class", "pptxv-smartart-svg");
|
|
3017
3022
|
svg.setAttribute("style", SMARTART_SVG_STYLE);
|
|
3018
3023
|
for (const conn of layout.connectors) {
|
|
3019
|
-
const paint =
|
|
3024
|
+
const paint = chunkGCS5KBMR_cjs.smartArtConnectorPaint(conn);
|
|
3020
3025
|
svg.appendChild(
|
|
3021
3026
|
createSvgEl(doc, "path", {
|
|
3022
3027
|
d: paint.d,
|
|
@@ -3075,7 +3080,7 @@ function buildFallbackNode(doc, node, shadowFilter, a11yLabel, nodeId) {
|
|
|
3075
3080
|
})
|
|
3076
3081
|
);
|
|
3077
3082
|
}
|
|
3078
|
-
const label =
|
|
3083
|
+
const label = chunkGCS5KBMR_cjs.smartArtNodeLabel(node);
|
|
3079
3084
|
if (label.visible) {
|
|
3080
3085
|
appendSvgTextLines(doc, g, {
|
|
3081
3086
|
lines: label.lines,
|
|
@@ -3111,41 +3116,41 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3111
3116
|
doc,
|
|
3112
3117
|
"div",
|
|
3113
3118
|
"pptxv-element pptxv-smartart",
|
|
3114
|
-
|
|
3119
|
+
chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex)
|
|
3115
3120
|
);
|
|
3116
3121
|
wrapper.dataset.elementId = element.id;
|
|
3117
3122
|
wrapper.dataset.testid = `smartart-${data?.layout ?? "diagram"}`;
|
|
3118
|
-
const chrome = createEl(doc, "div", "pptxv-smartart-chrome",
|
|
3123
|
+
const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunkGCS5KBMR_cjs.buildChromeStyle(data?.chrome));
|
|
3119
3124
|
chrome.style.position = "relative";
|
|
3120
3125
|
wrapper.appendChild(chrome);
|
|
3121
3126
|
if (data) {
|
|
3122
|
-
const a11y =
|
|
3127
|
+
const a11y = chunkGCS5KBMR_cjs.buildSmartArtA11y(data);
|
|
3123
3128
|
chrome.setAttribute("role", "img");
|
|
3124
3129
|
chrome.setAttribute("aria-label", a11y.label);
|
|
3125
3130
|
}
|
|
3126
3131
|
const nodes = data?.nodes ?? [];
|
|
3127
3132
|
const drawingShapes = data?.drawingShapes ?? [];
|
|
3128
3133
|
const animationState = context.presentationStates?.get(element.id);
|
|
3129
|
-
const { nodes: revealedNodesFull } =
|
|
3134
|
+
const { nodes: revealedNodesFull } = chunkGCS5KBMR_cjs.resolveRevealedSmartArtNodes(
|
|
3130
3135
|
nodes,
|
|
3131
3136
|
animationState,
|
|
3132
3137
|
data?.presLayoutVars
|
|
3133
3138
|
);
|
|
3134
3139
|
if (data && drawingShapes.length > 0) {
|
|
3135
|
-
const revealedShapes =
|
|
3140
|
+
const revealedShapes = chunkGCS5KBMR_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
|
|
3136
3141
|
chrome.appendChild(
|
|
3137
|
-
buildDrawingShapesSvg(doc, element.id, data,
|
|
3142
|
+
buildDrawingShapesSvg(doc, element.id, data, chunkGCS5KBMR_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
|
|
3138
3143
|
);
|
|
3139
3144
|
enableSmartArtEditing(chrome, element, context);
|
|
3140
3145
|
return wrapper;
|
|
3141
3146
|
}
|
|
3142
3147
|
if (data && nodes.length > 0) {
|
|
3143
3148
|
const revealedNodes = revealedNodesFull;
|
|
3144
|
-
const layout =
|
|
3149
|
+
const layout = chunkGCS5KBMR_cjs.computeSmartArtElementLayout(
|
|
3145
3150
|
data,
|
|
3146
3151
|
revealedNodes,
|
|
3147
3152
|
{ width: element.width, height: element.height },
|
|
3148
|
-
|
|
3153
|
+
chunkGCS5KBMR_cjs.resolvePalette(data),
|
|
3149
3154
|
data.style ?? "flat",
|
|
3150
3155
|
element.id
|
|
3151
3156
|
);
|
|
@@ -3153,8 +3158,8 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3153
3158
|
buildSmartArtFallbackSvg(
|
|
3154
3159
|
doc,
|
|
3155
3160
|
layout,
|
|
3156
|
-
|
|
3157
|
-
|
|
3161
|
+
chunkGCS5KBMR_cjs.buildSmartArtA11y(data).nodes,
|
|
3162
|
+
chunkGCS5KBMR_cjs.flattenNodes(revealedNodes).map((node) => node.id)
|
|
3158
3163
|
)
|
|
3159
3164
|
);
|
|
3160
3165
|
enableSmartArtEditing(chrome, element, context);
|
|
@@ -3177,17 +3182,17 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3177
3182
|
function buildDrawingShapesSvg(doc, elementId, data, a11yNodes, revealedShapes) {
|
|
3178
3183
|
const allShapes = data.drawingShapes ?? [];
|
|
3179
3184
|
const style = data.style ?? "flat";
|
|
3180
|
-
const viewBox =
|
|
3181
|
-
const rendered =
|
|
3185
|
+
const viewBox = chunkGCS5KBMR_cjs.computeDrawingViewBox(allShapes);
|
|
3186
|
+
const rendered = chunkGCS5KBMR_cjs.projectDrawingShapes(
|
|
3182
3187
|
elementId,
|
|
3183
3188
|
revealedShapes,
|
|
3184
3189
|
viewBox,
|
|
3185
|
-
|
|
3190
|
+
chunkGCS5KBMR_cjs.resolvePalette(data),
|
|
3186
3191
|
style
|
|
3187
3192
|
);
|
|
3188
|
-
const shadow =
|
|
3193
|
+
const shadow = chunkGCS5KBMR_cjs.styleShadowFilter(style);
|
|
3189
3194
|
const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
|
|
3190
|
-
const nodeIds =
|
|
3195
|
+
const nodeIds = chunkGCS5KBMR_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
|
|
3191
3196
|
const svg = createSvgEl(doc, "svg", {
|
|
3192
3197
|
viewBox: `0 0 ${viewBox.width} ${viewBox.height}`,
|
|
3193
3198
|
preserveAspectRatio: "xMidYMid meet"
|
|
@@ -3322,9 +3327,9 @@ function enableTableResize(container, table, element, context) {
|
|
|
3322
3327
|
for (const handle of [...colHandles, ...rowHandles]) {
|
|
3323
3328
|
handle.remove();
|
|
3324
3329
|
}
|
|
3325
|
-
const crossings =
|
|
3330
|
+
const crossings = chunkGCS5KBMR_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
|
|
3326
3331
|
const rowBounds = measureRowBoundaries(table);
|
|
3327
|
-
colHandles =
|
|
3332
|
+
colHandles = chunkGCS5KBMR_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct, i) => {
|
|
3328
3333
|
const handle = createEl(doc, "div", "pptxv-table-resize-col", {
|
|
3329
3334
|
position: "absolute",
|
|
3330
3335
|
top: "0",
|
|
@@ -3334,7 +3339,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3334
3339
|
zIndex: "10",
|
|
3335
3340
|
pointerEvents: "none"
|
|
3336
3341
|
});
|
|
3337
|
-
const segments =
|
|
3342
|
+
const segments = chunkGCS5KBMR_cjs.columnHandleSegments(
|
|
3338
3343
|
crossings.columns[i] ?? [],
|
|
3339
3344
|
rowBounds,
|
|
3340
3345
|
table.offsetHeight
|
|
@@ -3364,7 +3369,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3364
3369
|
zIndex: "10",
|
|
3365
3370
|
pointerEvents: "none"
|
|
3366
3371
|
});
|
|
3367
|
-
const segments =
|
|
3372
|
+
const segments = chunkGCS5KBMR_cjs.rowHandleSegments(crossings.rows[i] ?? [], tableData.columnWidths);
|
|
3368
3373
|
for (const { leftPct, widthPct } of segments) {
|
|
3369
3374
|
handle.appendChild(
|
|
3370
3375
|
createEl(doc, "div", "pptxv-table-resize-segment", {
|
|
@@ -3408,14 +3413,14 @@ function enableTableResize(container, table, element, context) {
|
|
|
3408
3413
|
const deltaProp = (event.clientX - active.startPos) / (rect.width || 1);
|
|
3409
3414
|
context.onTableResizeColumns?.(
|
|
3410
3415
|
element,
|
|
3411
|
-
|
|
3416
|
+
chunkGCS5KBMR_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
|
|
3412
3417
|
);
|
|
3413
3418
|
} else if (event.clientY !== active.startPos && active.type === "row") {
|
|
3414
3419
|
const deltaY = event.clientY - active.startPos;
|
|
3415
3420
|
context.onTableResizeRow?.(
|
|
3416
3421
|
element,
|
|
3417
3422
|
active.index,
|
|
3418
|
-
|
|
3423
|
+
chunkGCS5KBMR_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunkGCS5KBMR_cjs.DEFAULT_ROW_HEIGHT, deltaY)
|
|
3419
3424
|
);
|
|
3420
3425
|
}
|
|
3421
3426
|
drawHandles();
|
|
@@ -3424,13 +3429,13 @@ function enableTableResize(container, table, element, context) {
|
|
|
3424
3429
|
const rect = container.getBoundingClientRect();
|
|
3425
3430
|
const localX = event.clientX - rect.left;
|
|
3426
3431
|
const localY = event.clientY - rect.top;
|
|
3427
|
-
const scaleY =
|
|
3428
|
-
const crossings =
|
|
3432
|
+
const scaleY = chunkGCS5KBMR_cjs.getTableResizeScale(rect.height, container.offsetHeight);
|
|
3433
|
+
const crossings = chunkGCS5KBMR_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
|
|
3429
3434
|
const rowBounds = measureRowBoundaries(table);
|
|
3430
|
-
const colBoundaries =
|
|
3435
|
+
const colBoundaries = chunkGCS5KBMR_cjs.computeColumnBoundaries(tableData.columnWidths);
|
|
3431
3436
|
for (let i = 0; i < colBoundaries.length; i++) {
|
|
3432
3437
|
const boundaryX = colBoundaries[i] / 100 * rect.width;
|
|
3433
|
-
if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !
|
|
3438
|
+
if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !chunkGCS5KBMR_cjs.isColumnBoundaryMergedAt(crossings, i, rowBounds, localY / scaleY)) {
|
|
3434
3439
|
event.preventDefault();
|
|
3435
3440
|
event.stopPropagation();
|
|
3436
3441
|
doc.body.style.cursor = "col-resize";
|
|
@@ -3448,7 +3453,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3448
3453
|
}
|
|
3449
3454
|
}
|
|
3450
3455
|
for (let i = 0; i < rowBounds.length; i++) {
|
|
3451
|
-
if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !
|
|
3456
|
+
if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !chunkGCS5KBMR_cjs.isRowBoundaryMergedAt(crossings, i, tableData.columnWidths, localX / (rect.width || 1))) {
|
|
3452
3457
|
event.preventDefault();
|
|
3453
3458
|
event.stopPropagation();
|
|
3454
3459
|
const tr = table.querySelectorAll("tbody > tr")[i];
|
|
@@ -3459,7 +3464,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3459
3464
|
index: i,
|
|
3460
3465
|
startPos: event.clientY,
|
|
3461
3466
|
handleEl: rowHandles[i] ?? container,
|
|
3462
|
-
initialRowHeight: tr?.offsetHeight ??
|
|
3467
|
+
initialRowHeight: tr?.offsetHeight ?? chunkGCS5KBMR_cjs.DEFAULT_ROW_HEIGHT
|
|
3463
3468
|
};
|
|
3464
3469
|
win.addEventListener("mousemove", onMouseMove);
|
|
3465
3470
|
win.addEventListener("mouseup", onMouseUp);
|
|
@@ -3480,7 +3485,7 @@ var renderTableElement = (element, zIndex, context) => {
|
|
|
3480
3485
|
}
|
|
3481
3486
|
const doc = context.document;
|
|
3482
3487
|
const container = createEl(doc, "div", "pptxv-element pptxv-table", {
|
|
3483
|
-
...
|
|
3488
|
+
...chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex),
|
|
3484
3489
|
overflow: "hidden"
|
|
3485
3490
|
});
|
|
3486
3491
|
container.dataset.elementId = element.id;
|
|
@@ -3491,9 +3496,9 @@ var renderTableElement = (element, zIndex, context) => {
|
|
|
3491
3496
|
tableLayout: "fixed",
|
|
3492
3497
|
// Load-bearing: an unstyled cell otherwise inherits the HOST chrome's
|
|
3493
3498
|
// font stack; all five bindings declare the same shared default here.
|
|
3494
|
-
fontFamily:
|
|
3499
|
+
fontFamily: chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
3495
3500
|
// `a:tblPr@rtl`: mirrors the column order for right-to-left decks.
|
|
3496
|
-
...
|
|
3501
|
+
...chunkGCS5KBMR_cjs.tableContainerCss(tableData)
|
|
3497
3502
|
});
|
|
3498
3503
|
appendColgroup(doc, table, tableData.columnWidths);
|
|
3499
3504
|
const tbody = doc.createElement("tbody");
|
|
@@ -3554,13 +3559,13 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3554
3559
|
if (cell.rowSpan && cell.rowSpan > 1) {
|
|
3555
3560
|
td.rowSpan = cell.rowSpan;
|
|
3556
3561
|
}
|
|
3557
|
-
const style =
|
|
3562
|
+
const style = chunkGCS5KBMR_cjs.tableCellCss(
|
|
3558
3563
|
tableData,
|
|
3559
3564
|
cell,
|
|
3560
3565
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
3561
3566
|
styleContext
|
|
3562
3567
|
);
|
|
3563
|
-
const patternFill = cell.style ?
|
|
3568
|
+
const patternFill = cell.style ? chunkGCS5KBMR_cjs.cellPatternFillCss(cell.style) : null;
|
|
3564
3569
|
if (patternFill) {
|
|
3565
3570
|
delete style["backgroundColor"];
|
|
3566
3571
|
delete style["background"];
|
|
@@ -3573,7 +3578,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3573
3578
|
}
|
|
3574
3579
|
applyStyleMap(td, CELL_BASE_STYLE);
|
|
3575
3580
|
applyStyleMap(td, style);
|
|
3576
|
-
const diagonals =
|
|
3581
|
+
const diagonals = chunkGCS5KBMR_cjs.getCellDiagonalBorders(
|
|
3577
3582
|
cell.style,
|
|
3578
3583
|
tableData,
|
|
3579
3584
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
@@ -3587,7 +3592,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3587
3592
|
}
|
|
3588
3593
|
function diagonalLine(doc, x1, y1, x2, y2, stroke, width) {
|
|
3589
3594
|
const line = createSvgEl(doc, "line", { x1, y1, x2, y2, stroke, "stroke-width": width });
|
|
3590
|
-
line.style.setProperty("stroke-width",
|
|
3595
|
+
line.style.setProperty("stroke-width", chunk526IHNIH_cjs.screenStrokeWidth(width));
|
|
3591
3596
|
return line;
|
|
3592
3597
|
}
|
|
3593
3598
|
function renderDiagonalOverlay(doc, diagonals) {
|
|
@@ -3617,7 +3622,7 @@ function renderDiagonalOverlay(doc, diagonals) {
|
|
|
3617
3622
|
return svg;
|
|
3618
3623
|
}
|
|
3619
3624
|
function appendCellText(doc, td, cell) {
|
|
3620
|
-
const blocks =
|
|
3625
|
+
const blocks = chunkGCS5KBMR_cjs.cellParagraphBlocks(cell);
|
|
3621
3626
|
if (blocks) {
|
|
3622
3627
|
for (const block of blocks) {
|
|
3623
3628
|
const div = createEl(doc, "div", "pptxv-table-para", { display: "block", ...block.css });
|
|
@@ -3652,7 +3657,7 @@ function appendRuns(doc, parent, runs) {
|
|
|
3652
3657
|
}
|
|
3653
3658
|
const span = createEl(doc, "span", "pptxv-table-run", {
|
|
3654
3659
|
position: "relative",
|
|
3655
|
-
...
|
|
3660
|
+
...chunkGCS5KBMR_cjs.cellRunStyle(run)
|
|
3656
3661
|
});
|
|
3657
3662
|
span.textContent = run.text;
|
|
3658
3663
|
parent.appendChild(span);
|
|
@@ -3666,8 +3671,8 @@ function registerTableChartRenderers(registry) {
|
|
|
3666
3671
|
}
|
|
3667
3672
|
|
|
3668
3673
|
// src/pptx/dom/glyph-outline-cache.ts
|
|
3669
|
-
var glyphOutlineFontCache = new
|
|
3670
|
-
var getGlyphOutline =
|
|
3674
|
+
var glyphOutlineFontCache = new chunkGCS5KBMR_cjs.GlyphOutlineFontCache();
|
|
3675
|
+
var getGlyphOutline = chunkGCS5KBMR_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
|
|
3671
3676
|
|
|
3672
3677
|
// src/pptx/dom/elements/text-warp.ts
|
|
3673
3678
|
function renderWarpedText(element, context) {
|
|
@@ -3679,12 +3684,12 @@ function renderWarpedText(element, context) {
|
|
|
3679
3684
|
if (!preset || preset === "textNoShape" || preset === "textPlain") {
|
|
3680
3685
|
return null;
|
|
3681
3686
|
}
|
|
3682
|
-
const paragraphs =
|
|
3687
|
+
const paragraphs = chunkGCS5KBMR_cjs.groupIntoParagraphs(element);
|
|
3683
3688
|
if (paragraphs.length === 0) {
|
|
3684
3689
|
return null;
|
|
3685
3690
|
}
|
|
3686
|
-
if (!
|
|
3687
|
-
const transform =
|
|
3691
|
+
if (!chunkGCS5KBMR_cjs.shouldUseSvgWarp(preset)) {
|
|
3692
|
+
const transform = chunkGCS5KBMR_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
|
|
3688
3693
|
if (!transform) {
|
|
3689
3694
|
return null;
|
|
3690
3695
|
}
|
|
@@ -3712,7 +3717,7 @@ function renderWarpedText(element, context) {
|
|
|
3712
3717
|
text.textContent = paragraphs.map((p) => p.segments.map((s) => s.text).join("")).join("\n");
|
|
3713
3718
|
return text;
|
|
3714
3719
|
}
|
|
3715
|
-
if (
|
|
3720
|
+
if (chunkGCS5KBMR_cjs.hasGlyphEnvelope(preset)) {
|
|
3716
3721
|
return renderGlyphWarp(element, paragraphs, context);
|
|
3717
3722
|
}
|
|
3718
3723
|
return renderPathWarp(element, paragraphs, context);
|
|
@@ -3721,7 +3726,7 @@ function segmentFont(segment, elementStyle) {
|
|
|
3721
3726
|
const s = segment.style ?? {};
|
|
3722
3727
|
const family = s.fontFamily || elementStyle.fontFamily;
|
|
3723
3728
|
return {
|
|
3724
|
-
fontFamily: family ? pptx.getSubstituteFontFamily(family) :
|
|
3729
|
+
fontFamily: family ? pptx.getSubstituteFontFamily(family) : chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
3725
3730
|
fontSizePx: s.fontSize ?? elementStyle.fontSize ?? 18,
|
|
3726
3731
|
bold: s.bold ?? elementStyle.bold,
|
|
3727
3732
|
italic: s.italic ?? elementStyle.italic
|
|
@@ -3738,7 +3743,7 @@ function renderGlyphWarp(element, paragraphs, context) {
|
|
|
3738
3743
|
});
|
|
3739
3744
|
svg.setAttribute("class", "pptxv-wordart");
|
|
3740
3745
|
svg.setAttribute("style", "position:absolute;inset:0;width:100%;height:100%;overflow:visible");
|
|
3741
|
-
const perLine =
|
|
3746
|
+
const perLine = chunkGCS5KBMR_cjs.buildGlyphEnvelopeBlock(
|
|
3742
3747
|
preset,
|
|
3743
3748
|
paragraphs.map(
|
|
3744
3749
|
(paragraph) => paragraph.segments.map((seg, i) => ({
|
|
@@ -3763,7 +3768,7 @@ function renderGlyphWarp(element, paragraphs, context) {
|
|
|
3763
3768
|
const renderedFamily = s.fontFamily || style.fontFamily;
|
|
3764
3769
|
const textAttrs = {
|
|
3765
3770
|
fill,
|
|
3766
|
-
"font-family": renderedFamily ? pptx.getSubstituteFontFamily(renderedFamily) :
|
|
3771
|
+
"font-family": renderedFamily ? pptx.getSubstituteFontFamily(renderedFamily) : chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
3767
3772
|
"font-size": s.fontSize ?? style.fontSize ?? 18,
|
|
3768
3773
|
"font-weight": s.bold ?? style.bold ? "bold" : void 0,
|
|
3769
3774
|
"font-style": s.italic ?? style.italic ? "italic" : void 0
|
|
@@ -3833,7 +3838,7 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3833
3838
|
defs.appendChild(
|
|
3834
3839
|
createSvgEl(context.document, "path", {
|
|
3835
3840
|
id,
|
|
3836
|
-
d:
|
|
3841
|
+
d: chunkGCS5KBMR_cjs.buildWarpPath(
|
|
3837
3842
|
preset,
|
|
3838
3843
|
element.width,
|
|
3839
3844
|
element.height,
|
|
@@ -3846,7 +3851,7 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3846
3851
|
);
|
|
3847
3852
|
const text = createSvgEl(context.document, "text", {
|
|
3848
3853
|
fill: style.color ?? "#000000",
|
|
3849
|
-
"font-family": style.fontFamily ? pptx.getSubstituteFontFamily(style.fontFamily) :
|
|
3854
|
+
"font-family": style.fontFamily ? pptx.getSubstituteFontFamily(style.fontFamily) : chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
3850
3855
|
"font-size": style.fontSize ?? 18,
|
|
3851
3856
|
"font-weight": style.bold ? "bold" : void 0,
|
|
3852
3857
|
"font-style": style.italic ? "italic" : void 0
|
|
@@ -3866,7 +3871,7 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3866
3871
|
|
|
3867
3872
|
// src/pptx/dom/elements/text-shape.ts
|
|
3868
3873
|
var renderTextShapeElement = (element, zIndex, context) => {
|
|
3869
|
-
const container =
|
|
3874
|
+
const container = chunkGCS5KBMR_cjs.getContainerStyle(element, zIndex);
|
|
3870
3875
|
const animState = context.presentationStates?.get(element.id);
|
|
3871
3876
|
const shape = getShapeFillStrokeStyle(
|
|
3872
3877
|
element,
|
|
@@ -3881,7 +3886,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
3881
3886
|
const el = createEl(context.document, "div", "pptxv-element pptxv-shape", merged);
|
|
3882
3887
|
el.dataset.elementId = element.id;
|
|
3883
3888
|
if (context.interactive && !context.presenting) {
|
|
3884
|
-
const hitTargetStyle =
|
|
3889
|
+
const hitTargetStyle = chunkGCS5KBMR_cjs.elementHitTargetStyle(element);
|
|
3885
3890
|
if (hitTargetStyle) {
|
|
3886
3891
|
const hitTarget = createEl(context.document, "div", void 0, hitTargetStyle);
|
|
3887
3892
|
hitTarget.setAttribute("aria-hidden", "true");
|
|
@@ -3924,8 +3929,8 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
3924
3929
|
} else if (warped) {
|
|
3925
3930
|
el.appendChild(warped);
|
|
3926
3931
|
} else {
|
|
3927
|
-
const linkedSegments =
|
|
3928
|
-
const paragraphs =
|
|
3932
|
+
const linkedSegments = chunkGCS5KBMR_cjs.getOverflowSegments(element, context.slide?.elements);
|
|
3933
|
+
const paragraphs = chunkGCS5KBMR_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
|
|
3929
3934
|
const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
|
|
3930
3935
|
if (hasText) {
|
|
3931
3936
|
el.appendChild(
|
|
@@ -3936,7 +3941,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
3936
3941
|
);
|
|
3937
3942
|
} else {
|
|
3938
3943
|
const mode = context.interactive && !context.presenting ? "edit" : "present";
|
|
3939
|
-
const prompt =
|
|
3944
|
+
const prompt = chunkGCS5KBMR_cjs.placeholderPromptDescriptor(element, mode);
|
|
3940
3945
|
if (prompt) {
|
|
3941
3946
|
const hint = createEl(context.document, "div", "pptxv-placeholder-prompt", {
|
|
3942
3947
|
...getTextBlockStyle(element),
|
|
@@ -4000,8 +4005,8 @@ async function loadPresentation(buffer, options) {
|
|
|
4000
4005
|
digitalSignatureCount: parsed.digitalSignatureCount ?? 0,
|
|
4001
4006
|
isPasswordProtected: parsed.isPasswordProtected ?? false,
|
|
4002
4007
|
canvasSize: {
|
|
4003
|
-
width: parsed.width ??
|
|
4004
|
-
height: parsed.height ??
|
|
4008
|
+
width: parsed.width ?? chunkVFPVEVF4_cjs.DEFAULT_CANVAS_WIDTH,
|
|
4009
|
+
height: parsed.height ?? chunkVFPVEVF4_cjs.DEFAULT_CANVAS_HEIGHT
|
|
4005
4010
|
},
|
|
4006
4011
|
mediaDataUrls,
|
|
4007
4012
|
colorScheme: parsed.theme?.colorScheme,
|
|
@@ -4101,15 +4106,15 @@ async function resolveImageUrls(handler, slides) {
|
|
|
4101
4106
|
|
|
4102
4107
|
Object.defineProperty(exports, "buildEmbeddedFontStyles", {
|
|
4103
4108
|
enumerable: true,
|
|
4104
|
-
get: function () { return
|
|
4109
|
+
get: function () { return chunkGCS5KBMR_cjs.buildEmbeddedFontStyles; }
|
|
4105
4110
|
});
|
|
4106
4111
|
Object.defineProperty(exports, "buildFieldSubstitutionContext", {
|
|
4107
4112
|
enumerable: true,
|
|
4108
|
-
get: function () { return
|
|
4113
|
+
get: function () { return chunkGCS5KBMR_cjs.buildFieldSubstitutionContext; }
|
|
4109
4114
|
});
|
|
4110
4115
|
Object.defineProperty(exports, "renderChartViewModelSvg", {
|
|
4111
4116
|
enumerable: true,
|
|
4112
|
-
get: function () { return
|
|
4117
|
+
get: function () { return chunkK3S2A64B_cjs.renderChartViewModelSvg; }
|
|
4113
4118
|
});
|
|
4114
4119
|
Object.defineProperty(exports, "createTranslator", {
|
|
4115
4120
|
enumerable: true,
|