ooxml-ui 1.22.0 → 1.23.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/dist/{chunk-REJECZGV.js → chunk-6RCASLEC.js} +1 -1
- package/dist/{chunk-DRBAJ5UO.js → chunk-FX6CF43K.js} +2 -1
- package/dist/chunk-HTIJ2EAA.js +364 -0
- package/dist/docx/backstage-pages.d.ts +5 -0
- package/dist/docx/backstage.d.ts +7 -0
- package/dist/docx/component.d.ts +1 -0
- package/dist/docx/context-menu.d.ts +6 -0
- package/dist/docx/customization-apply.d.ts +12 -0
- package/dist/docx/customization.d.ts +52 -0
- package/dist/docx/editor-chrome.d.ts +19 -0
- package/dist/docx/editor-core.d.ts +23 -1
- package/dist/docx/element-api.d.ts +18 -0
- package/dist/docx/events.d.ts +13 -2
- package/dist/docx/file-commands.d.ts +12 -6
- package/dist/docx/index.d.ts +3 -0
- package/dist/docx/keyboard.d.ts +2 -0
- package/dist/docx/shortcut-help.d.ts +2 -1
- package/dist/docx/title-bar.d.ts +2 -0
- package/dist/docx/view-options.d.ts +5 -0
- package/dist/docx.js +355 -108
- package/dist/embedding/host-backstage.d.ts +33 -0
- package/dist/embedding/host-menu.d.ts +33 -0
- package/dist/embedding/index.d.ts +3 -0
- package/dist/embedding/region-host.d.ts +38 -0
- package/dist/embedding/region-host.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -3
- package/dist/parse-worker.js +3 -1
- package/dist/pptx/ai/index.cjs +4 -5
- package/dist/pptx/ai/index.mjs +2 -3
- package/dist/pptx/{chart-3d-view-scene-6LQRJAM3.mjs → chart-3d-view-scene-CDIMM5T3.mjs} +0 -1
- package/dist/pptx/{chart-3d-view-scene-FAKI4QKT.cjs → chart-3d-view-scene-RYL7F65H.cjs} +0 -1
- package/dist/pptx/{chat-history-idb-FJWHIDOK.cjs → chat-history-idb-PGLJPVOI.cjs} +2 -3
- package/dist/pptx/{chat-history-idb-XWRFLX2R.mjs → chat-history-idb-XXPB3Q4U.mjs} +1 -2
- package/dist/pptx/{chunk-C22MU5CA.cjs → chunk-43NFRLCD.cjs} +2 -2
- package/dist/pptx/{chunk-3IN66FIL.mjs → chunk-72P6AWRA.mjs} +1 -1
- package/dist/pptx/{chunk-ANKJE2PT.mjs → chunk-7DIZOCO4.mjs} +5 -9
- package/dist/pptx/{chunk-G2LGZNTI.cjs → chunk-A5MANNJR.cjs} +1 -1
- package/dist/pptx/{chunk-T34B6TZT.cjs → chunk-B4GBGPNL.cjs} +35 -29
- package/dist/pptx/{chunk-75S3RTSS.mjs → chunk-B5FR65LB.mjs} +2 -2
- package/dist/pptx/{chunk-LLENQTWZ.mjs → chunk-LVDF75JU.mjs} +1 -1
- package/dist/pptx/{chunk-VGOIAVPA.mjs → chunk-TK5LA3Z6.mjs} +441 -7154
- package/dist/pptx/{chunk-72NIN6QF.cjs → chunk-WX77UUR5.cjs} +418 -7099
- package/dist/pptx/{chunk-W7CBPO77.cjs → chunk-ZO43VVWQ.cjs} +2 -2
- package/dist/pptx/dom/index.cjs +220 -221
- package/dist/pptx/dom/index.mjs +5 -6
- package/dist/pptx/export/canvas-color-fix.cjs +0 -1
- package/dist/pptx/export/canvas-color-fix.mjs +0 -1
- package/dist/pptx/export/handout-layout.cjs +0 -1
- package/dist/pptx/export/handout-layout.mjs +0 -1
- package/dist/pptx/export/handout-master-chrome.cjs +0 -1
- package/dist/pptx/export/handout-master-chrome.mjs +0 -1
- package/dist/pptx/export/html-escape.cjs +0 -1
- package/dist/pptx/export/html-escape.mjs +0 -1
- package/dist/pptx/export/html2canvas-clone.cjs +2 -3
- package/dist/pptx/export/html2canvas-clone.mjs +1 -2
- package/dist/pptx/export/index.d.ts +1 -0
- package/dist/pptx/export/index.d.ts.map +1 -1
- package/dist/pptx/export/pdf-page-size.cjs +0 -1
- package/dist/pptx/export/pdf-page-size.mjs +0 -1
- package/dist/pptx/export/presentation-save.d.ts +40 -0
- package/dist/pptx/export/presentation-save.d.ts.map +1 -0
- package/dist/pptx/export/print-document.cjs +0 -1
- package/dist/pptx/export/print-document.mjs +0 -1
- package/dist/pptx/export/video-plan.cjs +0 -1
- package/dist/pptx/export/video-plan.mjs +0 -1
- package/dist/pptx/i18n/index.cjs +0 -1
- package/dist/pptx/i18n/index.mjs +0 -1
- package/dist/pptx/index.cjs +3027 -2952
- package/dist/pptx/index.mjs +4 -5
- package/dist/pptx/loader/index.cjs +0 -1
- package/dist/pptx/loader/index.mjs +0 -1
- package/dist/pptx/render/account.d.ts +8 -3
- package/dist/pptx/render/account.d.ts.map +1 -1
- package/dist/pptx/render/animation-authoring.cjs +0 -1
- package/dist/pptx/render/animation-authoring.mjs +0 -1
- package/dist/pptx/render/animation-preset-labels.cjs +0 -1
- package/dist/pptx/render/animation-preset-labels.mjs +0 -1
- package/dist/pptx/render/autosave-host-store.d.ts +28 -0
- package/dist/pptx/render/autosave-host-store.d.ts.map +1 -0
- package/dist/pptx/render/autosave-maintenance.d.ts +18 -0
- package/dist/pptx/render/autosave-maintenance.d.ts.map +1 -0
- package/dist/pptx/render/autosave-recovery.d.ts +5 -3
- package/dist/pptx/render/autosave-recovery.d.ts.map +1 -1
- package/dist/pptx/render/autosave-store.d.ts +9 -11
- package/dist/pptx/render/autosave-store.d.ts.map +1 -1
- package/dist/pptx/render/backstage.d.ts +3 -2
- package/dist/pptx/render/backstage.d.ts.map +1 -1
- package/dist/pptx/render/chart-combo-stock.cjs +0 -1
- package/dist/pptx/render/chart-combo-stock.mjs +0 -1
- package/dist/pptx/render/chart-overlays.cjs +0 -1
- package/dist/pptx/render/chart-overlays.mjs +0 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +0 -1
- package/dist/pptx/render/chart-surface-treemap.mjs +0 -1
- package/dist/pptx/render/chart-view-model.cjs +0 -1
- package/dist/pptx/render/chart-view-model.mjs +0 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +0 -1
- package/dist/pptx/render/chart-waterfall-map.mjs +0 -1
- package/dist/pptx/render/content-part-strokes.cjs +0 -1
- package/dist/pptx/render/content-part-strokes.mjs +0 -1
- package/dist/pptx/render/context-menu-target.cjs +0 -1
- package/dist/pptx/render/context-menu-target.mjs +0 -1
- package/dist/pptx/render/custom-fonts.cjs +0 -1
- package/dist/pptx/render/custom-fonts.mjs +0 -1
- package/dist/pptx/render/customization/customization-regions.d.ts +15 -32
- package/dist/pptx/render/customization/customization-regions.d.ts.map +1 -1
- package/dist/pptx/render/customization/customization-surfaces.d.ts.map +1 -1
- package/dist/pptx/render/customization/customization-types.d.ts +3 -2
- package/dist/pptx/render/customization/customization-types.d.ts.map +1 -1
- package/dist/pptx/render/customization/host-menu-commands.d.ts +6 -25
- package/dist/pptx/render/customization/host-menu-commands.d.ts.map +1 -1
- package/dist/pptx/render/element-hit-test.cjs +0 -1
- package/dist/pptx/render/element-hit-test.mjs +0 -1
- package/dist/pptx/render/font-catalog.cjs +0 -1
- package/dist/pptx/render/font-catalog.mjs +0 -1
- package/dist/pptx/render/format-painter.cjs +5 -6
- package/dist/pptx/render/format-painter.mjs +2 -3
- package/dist/pptx/render/hyperlink-security.cjs +0 -1
- package/dist/pptx/render/hyperlink-security.mjs +0 -1
- package/dist/pptx/render/image-file-insertion.cjs +0 -1
- package/dist/pptx/render/image-file-insertion.mjs +0 -1
- package/dist/pptx/render/index.d.ts +2 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/ink-rendering.cjs +0 -1
- package/dist/pptx/render/ink-rendering.mjs +0 -1
- package/dist/pptx/render/inspector-helpers.cjs +13 -14
- package/dist/pptx/render/inspector-helpers.mjs +1 -2
- package/dist/pptx/render/layout-gallery.cjs +0 -1
- package/dist/pptx/render/layout-gallery.mjs +0 -1
- package/dist/pptx/render/layout-preview.cjs +0 -1
- package/dist/pptx/render/layout-preview.mjs +0 -1
- package/dist/pptx/render/model3d-scene.cjs +0 -1
- package/dist/pptx/render/model3d-scene.mjs +0 -1
- package/dist/pptx/render/paragraph-geometry-overrides.d.ts +2 -1
- package/dist/pptx/render/paragraph-geometry-overrides.d.ts.map +1 -1
- package/dist/pptx/render/presentation-print-settings.cjs +0 -1
- package/dist/pptx/render/presentation-print-settings.mjs +0 -1
- package/dist/pptx/render/remap-text.cjs +0 -1
- package/dist/pptx/render/remap-text.mjs +0 -1
- package/dist/pptx/render/ribbon-animations-state.cjs +0 -1
- package/dist/pptx/render/ribbon-animations-state.mjs +0 -1
- package/dist/pptx/render/session-restore.d.ts +4 -2
- package/dist/pptx/render/session-restore.d.ts.map +1 -1
- package/dist/pptx/render/text-case-transform.cjs +0 -1
- package/dist/pptx/render/text-case-transform.mjs +0 -1
- package/dist/pptx/render/text-style-scope.d.ts +2 -1
- package/dist/pptx/render/text-style-scope.d.ts.map +1 -1
- package/dist/pptx/render/viewer-event-payloads.d.ts +21 -0
- package/dist/pptx/render/viewer-event-payloads.d.ts.map +1 -0
- package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
- package/dist/pptx/theme/index.cjs +0 -1
- package/dist/pptx/theme/index.mjs +0 -1
- package/dist/pptx/{view-scene-CKYHS2OP.cjs → view-scene-4ZFUCP6S.cjs} +0 -1
- package/dist/pptx/{view-scene-BSTOVMHA.mjs → view-scene-GHBN7QMR.mjs} +0 -1
- package/dist/teams.js +1 -1
- package/dist/visio/controller.d.ts +11 -0
- package/dist/visio/index.d.ts +2 -0
- package/dist/visio/viewer-autorecover.d.ts +10 -2
- package/dist/visio/viewer-backstage.d.ts +23 -0
- package/dist/visio/viewer-commands.d.ts +2 -0
- package/dist/visio/viewer-context-menu.d.ts +3 -1
- package/dist/visio/viewer-customization.d.ts +42 -0
- package/dist/visio/viewer-element.d.ts +25 -0
- package/dist/visio/viewer-file-commands.d.ts +12 -0
- package/dist/visio/worker-parser.d.ts +9 -1
- package/dist/visio.js +351 -37
- package/dist/xlsx/backstage/index.d.ts +4 -0
- package/dist/xlsx/backstage/parts.d.ts +6 -0
- package/dist/xlsx/collaboration.d.ts +2 -1
- package/dist/xlsx/component.d.ts +9 -1
- package/dist/xlsx/context-menu/hidden.d.ts +9 -0
- package/dist/xlsx/context-menu/menu.d.ts +7 -1
- package/dist/xlsx/customization.d.ts +27 -0
- package/dist/xlsx/editor-core.d.ts +22 -0
- package/dist/xlsx/editor-files.d.ts +2 -4
- package/dist/xlsx/element-api.d.ts +10 -0
- package/dist/xlsx/events.d.ts +13 -7
- package/dist/xlsx/file-commands.d.ts +0 -5
- package/dist/xlsx/index.d.ts +2 -0
- package/dist/xlsx.js +245 -48
- package/package.json +3 -2
- package/dist/chunk-C7B7TJ2J.js +0 -112
- package/dist/pptx/chunk-MF3JURQN.cjs +0 -22
- package/dist/pptx/chunk-U5DDQYSF.mjs +0 -19
package/dist/pptx/dom/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkWX77UUR5_cjs = require('../chunk-WX77UUR5.cjs');
|
|
4
4
|
require('../chunk-WSTWYZFM.cjs');
|
|
5
5
|
var chunk2JEQHIAL_cjs = require('../chunk-2JEQHIAL.cjs');
|
|
6
6
|
require('../chunk-IOR4KOGN.cjs');
|
|
@@ -11,10 +11,10 @@ var chunkLCB46TH2_cjs = require('../chunk-LCB46TH2.cjs');
|
|
|
11
11
|
require('../chunk-XOAXPD2W.cjs');
|
|
12
12
|
require('../chunk-P27CIE4O.cjs');
|
|
13
13
|
require('../chunk-BSGCZ4JZ.cjs');
|
|
14
|
-
require('../chunk-
|
|
14
|
+
require('../chunk-43NFRLCD.cjs');
|
|
15
15
|
require('../chunk-IOOI63TH.cjs');
|
|
16
16
|
require('../chunk-ZJFN5POF.cjs');
|
|
17
|
-
require('../chunk-
|
|
17
|
+
require('../chunk-B4GBGPNL.cjs');
|
|
18
18
|
require('../chunk-WB25PCHQ.cjs');
|
|
19
19
|
require('../chunk-W3X2UVYQ.cjs');
|
|
20
20
|
var chunkG3UVZ5FO_cjs = require('../chunk-G3UVZ5FO.cjs');
|
|
@@ -22,7 +22,7 @@ var chunkFOE75Z6N_cjs = require('../chunk-FOE75Z6N.cjs');
|
|
|
22
22
|
var chunkNTXHQHCS_cjs = require('../chunk-NTXHQHCS.cjs');
|
|
23
23
|
require('../chunk-JJP5HOLA.cjs');
|
|
24
24
|
require('../chunk-QWF3PGUX.cjs');
|
|
25
|
-
var
|
|
25
|
+
var chunkZO43VVWQ_cjs = require('../chunk-ZO43VVWQ.cjs');
|
|
26
26
|
require('../chunk-G4WRLFMJ.cjs');
|
|
27
27
|
require('../chunk-73IDQGYI.cjs');
|
|
28
28
|
require('../chunk-X4FNVH7J.cjs');
|
|
@@ -37,7 +37,6 @@ var chunkA2X5BP7J_cjs = require('../chunk-A2X5BP7J.cjs');
|
|
|
37
37
|
require('../chunk-PBZWDEXQ.cjs');
|
|
38
38
|
require('../chunk-HJ3JZXOL.cjs');
|
|
39
39
|
require('../chunk-EW5DW5KR.cjs');
|
|
40
|
-
require('../chunk-MF3JURQN.cjs');
|
|
41
40
|
var pptx = require('ooxml-core/pptx');
|
|
42
41
|
|
|
43
42
|
// src/pptx/dom/dom.ts
|
|
@@ -96,7 +95,7 @@ function buildActiveXControlsOverlay(doc, controls, canvasSize) {
|
|
|
96
95
|
zIndex: "40"
|
|
97
96
|
});
|
|
98
97
|
controls.forEach((control, index) => {
|
|
99
|
-
const view =
|
|
98
|
+
const view = chunkWX77UUR5_cjs.getActiveXControlOverlayView(control, canvasSize, index);
|
|
100
99
|
const style = {
|
|
101
100
|
position: "absolute",
|
|
102
101
|
left: `${view.left}px`,
|
|
@@ -132,7 +131,7 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
|
|
|
132
131
|
pointerEvents: "none",
|
|
133
132
|
zIndex: "45"
|
|
134
133
|
});
|
|
135
|
-
const markers =
|
|
134
|
+
const markers = chunkWX77UUR5_cjs.buildCommentMarkers(
|
|
136
135
|
comments,
|
|
137
136
|
canvasSize.width,
|
|
138
137
|
canvasSize.height,
|
|
@@ -141,10 +140,10 @@ function appendCommentMarkers(doc, stage, comments, canvasSize, t, onMarkerClick
|
|
|
141
140
|
for (const marker of markers) {
|
|
142
141
|
const dot = createEl(doc, "button", "pptxv-comment-marker", {
|
|
143
142
|
position: "absolute",
|
|
144
|
-
left: `${marker.x -
|
|
145
|
-
top: `${marker.y -
|
|
146
|
-
width: `${
|
|
147
|
-
height: `${
|
|
143
|
+
left: `${marker.x - chunkWX77UUR5_cjs.COMMENT_MARKER_SIZE / 2}px`,
|
|
144
|
+
top: `${marker.y - chunkWX77UUR5_cjs.COMMENT_MARKER_SIZE / 2}px`,
|
|
145
|
+
width: `${chunkWX77UUR5_cjs.COMMENT_MARKER_SIZE}px`,
|
|
146
|
+
height: `${chunkWX77UUR5_cjs.COMMENT_MARKER_SIZE}px`,
|
|
148
147
|
display: "flex",
|
|
149
148
|
alignItems: "center",
|
|
150
149
|
justifyContent: "center",
|
|
@@ -211,7 +210,7 @@ function merge3dStyle(base, computed) {
|
|
|
211
210
|
}
|
|
212
211
|
}
|
|
213
212
|
function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
214
|
-
const frame =
|
|
213
|
+
const frame = chunkWX77UUR5_cjs.getFrameEffectStyle(el);
|
|
215
214
|
if (frame) {
|
|
216
215
|
return { ...frame };
|
|
217
216
|
}
|
|
@@ -227,7 +226,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
227
226
|
style[key] = value;
|
|
228
227
|
}
|
|
229
228
|
}
|
|
230
|
-
const stroke =
|
|
229
|
+
const stroke = chunkWX77UUR5_cjs.getComputedStrokeStyle(el);
|
|
231
230
|
if (stroke.borderWidth > 0) {
|
|
232
231
|
if (animatesStroke) {
|
|
233
232
|
style["borderWidth"] = stroke.cssBorderWidth;
|
|
@@ -246,7 +245,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
246
245
|
style["strokeMiterlimit"] = stroke.strokeMiterlimit;
|
|
247
246
|
}
|
|
248
247
|
}
|
|
249
|
-
const fx =
|
|
248
|
+
const fx = chunkWX77UUR5_cjs.getComputedEffectStyle(el);
|
|
250
249
|
if (fx.boxShadow) {
|
|
251
250
|
style["boxShadow"] = fx.boxShadow;
|
|
252
251
|
}
|
|
@@ -263,11 +262,11 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
263
262
|
if (fx.overflowVisible) {
|
|
264
263
|
style["overflow"] = "visible";
|
|
265
264
|
}
|
|
266
|
-
merge3dStyle(style,
|
|
267
|
-
if (
|
|
265
|
+
merge3dStyle(style, chunkWX77UUR5_cjs.getComputed3dStyle(el));
|
|
266
|
+
if (chunkWX77UUR5_cjs.isHollowShapeElement(el)) {
|
|
268
267
|
style["pointerEvents"] = "none";
|
|
269
268
|
}
|
|
270
|
-
const geometry =
|
|
269
|
+
const geometry = chunkWX77UUR5_cjs.resolveShapeGeometry(el);
|
|
271
270
|
switch (geometry.kind) {
|
|
272
271
|
case "bare":
|
|
273
272
|
style["backgroundColor"] = "transparent";
|
|
@@ -287,7 +286,7 @@ function getShapeFillStrokeStyle(el, animatesFill, animatesStroke) {
|
|
|
287
286
|
case "lineEdge":
|
|
288
287
|
style["backgroundColor"] = "transparent";
|
|
289
288
|
style["border"] = "none";
|
|
290
|
-
style["borderTop"] =
|
|
289
|
+
style["borderTop"] = chunkZO43VVWQ_cjs.screenBorder(
|
|
291
290
|
geometry.strokeWidth,
|
|
292
291
|
chunkG3UVZ5FO_cjs.getCssBorderDashStyle(el.shapeStyle?.strokeDash),
|
|
293
292
|
el.shapeStyle?.strokeColor ?? chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR
|
|
@@ -301,12 +300,12 @@ function getTextBlockStyle(el) {
|
|
|
301
300
|
if (!pptx.hasTextProperties(el)) {
|
|
302
301
|
return {};
|
|
303
302
|
}
|
|
304
|
-
const base =
|
|
303
|
+
const base = chunkWX77UUR5_cjs.buildTextBlockStyle(el, {
|
|
305
304
|
fallbackColor: chunkG3UVZ5FO_cjs.DEFAULT_TEXT_COLOR,
|
|
306
305
|
bodyLayout: true,
|
|
307
306
|
pxLengths: true
|
|
308
307
|
});
|
|
309
|
-
const scene3d =
|
|
308
|
+
const scene3d = chunkWX77UUR5_cjs.buildTextBody3DSceneStyle(el.textStyle, { width: el.width, height: el.height });
|
|
310
309
|
if (!scene3d) {
|
|
311
310
|
return base;
|
|
312
311
|
}
|
|
@@ -444,8 +443,8 @@ function renderSlideStage(options) {
|
|
|
444
443
|
"--pptx-slide-h": `${canvasSize.height}px`,
|
|
445
444
|
"--pptxv-grid-size": `${options.gridSpacingPx ?? 10}px`,
|
|
446
445
|
// One device pixel in slide px: thin strokes stay visible on screen.
|
|
447
|
-
...
|
|
448
|
-
...
|
|
446
|
+
...chunkZO43VVWQ_cjs.deviceStrokeStageStyle(scale),
|
|
447
|
+
...chunkWX77UUR5_cjs.getSlideBackgroundStyle(slide, { widthPx: canvasSize.width, heightPx: canvasSize.height })
|
|
449
448
|
});
|
|
450
449
|
if (interactive || options.reading) {
|
|
451
450
|
stage.setAttribute("role", "region");
|
|
@@ -488,20 +487,20 @@ function renderSlideStage(options) {
|
|
|
488
487
|
selectedElementIds: options.selectedElementIds,
|
|
489
488
|
registry,
|
|
490
489
|
renderElement(element, zIndex) {
|
|
491
|
-
if (!
|
|
490
|
+
if (!chunkWX77UUR5_cjs.isElementRendered(element)) {
|
|
492
491
|
return null;
|
|
493
492
|
}
|
|
494
493
|
const node = registry.resolve(element.type)(element, zIndex, context);
|
|
495
494
|
if (node) renderedNodes?.push(node);
|
|
496
495
|
if (node && interactive && "setAttribute" in node) {
|
|
497
|
-
const templateLocked =
|
|
496
|
+
const templateLocked = chunkWX77UUR5_cjs.isTemplateElementId(element.id) && !options.templateEditing;
|
|
498
497
|
if (templateLocked) {
|
|
499
498
|
node.style.pointerEvents = "none";
|
|
500
499
|
}
|
|
501
500
|
node.setAttribute("data-pptx-element", "true");
|
|
502
501
|
}
|
|
503
|
-
if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" &&
|
|
504
|
-
const hitTargetStyle =
|
|
502
|
+
if (node && element.type !== "text" && element.type !== "shape" && element.type !== "connector" && chunkWX77UUR5_cjs.shouldRenderHitTarget(interactive, options.presenting ?? false)) {
|
|
503
|
+
const hitTargetStyle = chunkWX77UUR5_cjs.elementHitTargetStyle(element);
|
|
505
504
|
if (hitTargetStyle) {
|
|
506
505
|
const hitTarget = createEl(doc, "div", void 0, hitTargetStyle);
|
|
507
506
|
hitTarget.setAttribute("aria-hidden", "true");
|
|
@@ -521,20 +520,20 @@ function renderSlideStage(options) {
|
|
|
521
520
|
}
|
|
522
521
|
});
|
|
523
522
|
if (interactive || options.reading) {
|
|
524
|
-
|
|
523
|
+
chunkWX77UUR5_cjs.applyRenderedElementAccessibility(stage, slide.elements, {
|
|
525
524
|
presenting: options.presenting ?? false
|
|
526
525
|
});
|
|
527
526
|
}
|
|
528
527
|
if (interactive) {
|
|
529
|
-
|
|
528
|
+
chunkWX77UUR5_cjs.applyElementActionAffordances(
|
|
530
529
|
stage,
|
|
531
530
|
slide.elements.filter(
|
|
532
|
-
(element) => options.templateEditing || !
|
|
531
|
+
(element) => options.templateEditing || !chunkWX77UUR5_cjs.isTemplateElementId(element.id)
|
|
533
532
|
),
|
|
534
533
|
{
|
|
535
534
|
canInteract: true,
|
|
536
535
|
presenting: options.presenting ?? false,
|
|
537
|
-
labels:
|
|
536
|
+
labels: chunkWX77UUR5_cjs.actionAffordanceLabels((key) => t(key))
|
|
538
537
|
}
|
|
539
538
|
);
|
|
540
539
|
}
|
|
@@ -601,7 +600,7 @@ function createChartTitleEditor(container, onCommit) {
|
|
|
601
600
|
// src/pptx/dom/elements/chart-editable.ts
|
|
602
601
|
var CHART_FORMAT_REQUEST_EVENT = "pptx-chart-format-request";
|
|
603
602
|
function attachChartEditing(container, element, context, repaint) {
|
|
604
|
-
if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !
|
|
603
|
+
if (element.type !== "chart" || !context.interactive || !context.onChartPointChange || !chunkWX77UUR5_cjs.canDrillDown(element)) {
|
|
605
604
|
return;
|
|
606
605
|
}
|
|
607
606
|
const chart = element;
|
|
@@ -641,7 +640,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
641
640
|
if (!rect) {
|
|
642
641
|
return;
|
|
643
642
|
}
|
|
644
|
-
const step2 =
|
|
643
|
+
const step2 = chunkWX77UUR5_cjs.advanceChartMarkDrag(activeMark, event.clientX, event.clientY, rect);
|
|
645
644
|
if (!step2) {
|
|
646
645
|
return;
|
|
647
646
|
}
|
|
@@ -700,7 +699,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
700
699
|
bubbles: true,
|
|
701
700
|
detail: {
|
|
702
701
|
elementId: element.id,
|
|
703
|
-
target:
|
|
702
|
+
target: chunkWX77UUR5_cjs.chartFormatTargetFromEvent(event, container, chart),
|
|
704
703
|
open
|
|
705
704
|
}
|
|
706
705
|
})
|
|
@@ -743,7 +742,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
743
742
|
seriesIndex: part.seriesIndex,
|
|
744
743
|
pointIndex: part.pointIndex
|
|
745
744
|
});
|
|
746
|
-
const startedMark =
|
|
745
|
+
const startedMark = chunkWX77UUR5_cjs.beginChartMarkDrag({
|
|
747
746
|
part,
|
|
748
747
|
geometry: markGeometry,
|
|
749
748
|
chartData: chart.chartData,
|
|
@@ -788,7 +787,7 @@ function attachChartEditing(container, element, context, repaint) {
|
|
|
788
787
|
var pool = null;
|
|
789
788
|
function collectThreeViews(root) {
|
|
790
789
|
const views = /* @__PURE__ */ new Map();
|
|
791
|
-
for (const view of root.querySelectorAll(
|
|
790
|
+
for (const view of root.querySelectorAll(chunkZO43VVWQ_cjs.THREE_VIEW_TAG)) {
|
|
792
791
|
if (view.spec && !views.has(view.spec)) {
|
|
793
792
|
views.set(view.spec, view);
|
|
794
793
|
}
|
|
@@ -824,8 +823,8 @@ function rendering3DFlagsOf(context) {
|
|
|
824
823
|
};
|
|
825
824
|
}
|
|
826
825
|
function mountThreeViewInto(doc, wrapper, options) {
|
|
827
|
-
|
|
828
|
-
const view = takeReusableThreeView(options.spec) ?? doc.createElement(
|
|
826
|
+
chunkZO43VVWQ_cjs.defineThreeViewElement(doc.defaultView?.customElements);
|
|
827
|
+
const view = takeReusableThreeView(options.spec) ?? doc.createElement(chunkZO43VVWQ_cjs.THREE_VIEW_TAG);
|
|
829
828
|
view.replaceChildren(...Array.from(wrapper.childNodes));
|
|
830
829
|
view.spec = options.spec;
|
|
831
830
|
view.interactive = options.interactive;
|
|
@@ -835,7 +834,7 @@ function mountThreeViewInto(doc, wrapper, options) {
|
|
|
835
834
|
return view;
|
|
836
835
|
}
|
|
837
836
|
function isChart3DEditable(element, context) {
|
|
838
|
-
return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) &&
|
|
837
|
+
return element.type === "chart" && Boolean(context.interactive) && Boolean(context.onChartPointChange) && Boolean(context.selectedElementIds?.has(element.id)) && chunkWX77UUR5_cjs.canDrillDown(element);
|
|
839
838
|
}
|
|
840
839
|
function selectedChartPartOf(element, context) {
|
|
841
840
|
return context.chartPartSelection?.elementId === element.id ? context.chartPartSelection.part : null;
|
|
@@ -877,19 +876,19 @@ function wireChartThreeViewEvents(view, element, context, badgeHost) {
|
|
|
877
876
|
const listeners = new AbortController();
|
|
878
877
|
chartViewListeners.set(view, listeners);
|
|
879
878
|
view.addEventListener(
|
|
880
|
-
|
|
881
|
-
(event) =>
|
|
879
|
+
chunkWX77UUR5_cjs.THREE_VIEW_EVENTS.select,
|
|
880
|
+
(event) => chunkWX77UUR5_cjs.applyChart3DSelect(bridge, event.detail.part),
|
|
882
881
|
{ signal: listeners.signal }
|
|
883
882
|
);
|
|
884
883
|
view.addEventListener(
|
|
885
|
-
|
|
886
|
-
(event) =>
|
|
884
|
+
chunkWX77UUR5_cjs.THREE_VIEW_EVENTS.drag,
|
|
885
|
+
(event) => chunkWX77UUR5_cjs.applyChart3DDrag(bridge, event.detail),
|
|
887
886
|
{ signal: listeners.signal }
|
|
888
887
|
);
|
|
889
888
|
}
|
|
890
889
|
var chartViewListeners = /* @__PURE__ */ new WeakMap();
|
|
891
890
|
function applyThreeViewTextStyle(el, style) {
|
|
892
|
-
for (const view of el.querySelectorAll(
|
|
891
|
+
for (const view of el.querySelectorAll(chunkZO43VVWQ_cjs.THREE_VIEW_TAG)) {
|
|
893
892
|
view.textStyle = style;
|
|
894
893
|
}
|
|
895
894
|
}
|
|
@@ -897,7 +896,7 @@ function applyThreeViewTextStyle(el, style) {
|
|
|
897
896
|
// src/pptx/dom/elements/chart.ts
|
|
898
897
|
var renderChartElement = (element, zIndex, context) => {
|
|
899
898
|
const wrapper = renderChartSvgElement(element, zIndex, context);
|
|
900
|
-
const spec = wrapper ?
|
|
899
|
+
const spec = wrapper ? chunkWX77UUR5_cjs.resolveChartThreeViewSpec(element, rendering3DFlagsOf(context)) : null;
|
|
901
900
|
if (!wrapper || !spec) {
|
|
902
901
|
return wrapper;
|
|
903
902
|
}
|
|
@@ -920,11 +919,11 @@ var renderChartSvgElement = (element, zIndex, context) => {
|
|
|
920
919
|
"div",
|
|
921
920
|
"pptxv-element pptxv-chart",
|
|
922
921
|
// The chart area's outer shadow and glow sit on the frame, outside the chart.
|
|
923
|
-
{ ...
|
|
922
|
+
{ ...chunkWX77UUR5_cjs.getContainerStyle(element, zIndex), ...chunkWX77UUR5_cjs.getFrameEffectStyle(element) }
|
|
924
923
|
);
|
|
925
924
|
container.dataset.elementId = element.id;
|
|
926
925
|
const animationState = context.presentationStates?.get(element.id);
|
|
927
|
-
const chartData = element.chartData ?
|
|
926
|
+
const chartData = element.chartData ? chunkWX77UUR5_cjs.resolveRevealedChartData(element.chartData, animationState) : element.chartData;
|
|
928
927
|
if (!chartData || chartData.series.length === 0) {
|
|
929
928
|
container.appendChild(renderChartPlaceholder(doc, chartData?.chartType ?? "bar", context.t));
|
|
930
929
|
return container;
|
|
@@ -971,7 +970,7 @@ function renderChartPlaceholder(doc, chartType, t) {
|
|
|
971
970
|
border: "1px dashed #cbd5e1",
|
|
972
971
|
boxSizing: "border-box"
|
|
973
972
|
});
|
|
974
|
-
placeholder.textContent =
|
|
973
|
+
placeholder.textContent = chunkWX77UUR5_cjs.chartPlaceholderLabel(chartType, (key, params) => t(key, params));
|
|
975
974
|
return placeholder;
|
|
976
975
|
}
|
|
977
976
|
|
|
@@ -1035,7 +1034,7 @@ function createRunBaseNode(doc, run) {
|
|
|
1035
1034
|
verticalAlign: "middle",
|
|
1036
1035
|
fontFamily: "'Cambria Math', 'STIX Two Math', serif"
|
|
1037
1036
|
});
|
|
1038
|
-
math.innerHTML =
|
|
1037
|
+
math.innerHTML = chunkWX77UUR5_cjs.runEquationMathMl(run.equation);
|
|
1039
1038
|
host.appendChild(math);
|
|
1040
1039
|
if (run.equation.number) {
|
|
1041
1040
|
const number = createEl(doc, "span", "pptxv-equation-number", {
|
|
@@ -1047,7 +1046,7 @@ function createRunBaseNode(doc, run) {
|
|
|
1047
1046
|
}
|
|
1048
1047
|
return host;
|
|
1049
1048
|
}
|
|
1050
|
-
if (run.hyperlink &&
|
|
1049
|
+
if (run.hyperlink && chunkWX77UUR5_cjs.isRunHyperlinkClickable(run.hyperlink)) {
|
|
1051
1050
|
const link = createEl(doc, "a", "pptxv-link", run.style);
|
|
1052
1051
|
link.setAttribute("data-pptx-hyperlink", run.hyperlink.url);
|
|
1053
1052
|
link.setAttribute("role", "link");
|
|
@@ -1152,7 +1151,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1152
1151
|
bullet.textContent = para.bulletMarker;
|
|
1153
1152
|
p.appendChild(bullet);
|
|
1154
1153
|
}
|
|
1155
|
-
const spec = build ?
|
|
1154
|
+
const spec = build ? chunkWX77UUR5_cjs.buildTextBuildSpec(
|
|
1156
1155
|
build.elementId,
|
|
1157
1156
|
paragraphs.indexOf(para),
|
|
1158
1157
|
para.runs.filter((run) => run.text !== NEWLINE_RUN).map((run) => ({ text: run.text, style: run.style })),
|
|
@@ -1161,7 +1160,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1161
1160
|
if (spec && spec.granularity !== "paragraph") {
|
|
1162
1161
|
for (const span of spec.spans ?? []) {
|
|
1163
1162
|
const node = createEl(doc, "span");
|
|
1164
|
-
applyStyleMap(node, { ...span.style ?? {}, ...
|
|
1163
|
+
applyStyleMap(node, { ...span.style ?? {}, ...chunkWX77UUR5_cjs.textBuildSpanStyle(span) });
|
|
1165
1164
|
if (span.animId) {
|
|
1166
1165
|
node.setAttribute("data-anim-id", span.animId);
|
|
1167
1166
|
}
|
|
@@ -1174,7 +1173,7 @@ function renderTextBlock(doc, paragraphs, textStyle, build) {
|
|
|
1174
1173
|
let runHost = p;
|
|
1175
1174
|
if (spec) {
|
|
1176
1175
|
const wrapper = createEl(doc, "span");
|
|
1177
|
-
applyStyleMap(wrapper,
|
|
1176
|
+
applyStyleMap(wrapper, chunkWX77UUR5_cjs.textBuildSpanStyle(spec));
|
|
1178
1177
|
if (spec.animId) {
|
|
1179
1178
|
wrapper.setAttribute("data-anim-id", spec.animId);
|
|
1180
1179
|
}
|
|
@@ -1230,7 +1229,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1230
1229
|
if (element.hidden) {
|
|
1231
1230
|
wrapper.style.display = "none";
|
|
1232
1231
|
}
|
|
1233
|
-
const lineGlow =
|
|
1232
|
+
const lineGlow = chunkWX77UUR5_cjs.getLineGlowFilterCss(ss);
|
|
1234
1233
|
if (lineGlow) {
|
|
1235
1234
|
wrapper.style.filter = lineGlow;
|
|
1236
1235
|
}
|
|
@@ -1238,7 +1237,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1238
1237
|
svg.setAttribute("style", "overflow:visible;display:block");
|
|
1239
1238
|
const seed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
1240
1239
|
const defs = createSvgEl(doc, "defs");
|
|
1241
|
-
const lineShadow =
|
|
1240
|
+
const lineShadow = chunkWX77UUR5_cjs.getLineShadowParams(ss);
|
|
1242
1241
|
const shadowId = lineShadow ? `${seed}-line-shadow` : void 0;
|
|
1243
1242
|
if (lineShadow && shadowId) {
|
|
1244
1243
|
const filter = createSvgEl(doc, "filter", {
|
|
@@ -1259,8 +1258,8 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1259
1258
|
);
|
|
1260
1259
|
defs.appendChild(filter);
|
|
1261
1260
|
}
|
|
1262
|
-
const startArrow =
|
|
1263
|
-
const endArrow =
|
|
1261
|
+
const startArrow = chunkWX77UUR5_cjs.normalizeArrow(ss?.connectorStartArrow);
|
|
1262
|
+
const endArrow = chunkWX77UUR5_cjs.normalizeArrow(ss?.connectorEndArrow);
|
|
1264
1263
|
const startMarkerId = startArrow ? `${seed}-start` : void 0;
|
|
1265
1264
|
const endMarkerId = endArrow ? `${seed}-end` : void 0;
|
|
1266
1265
|
if (startArrow && startMarkerId) {
|
|
@@ -1283,10 +1282,10 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1283
1282
|
svg.appendChild(defs);
|
|
1284
1283
|
}
|
|
1285
1284
|
const compound = ss?.compoundLine;
|
|
1286
|
-
const offsets =
|
|
1287
|
-
const widths =
|
|
1285
|
+
const offsets = chunkWX77UUR5_cjs.getCompoundLineOffsets(compound, strokeWidth);
|
|
1286
|
+
const widths = chunkWX77UUR5_cjs.getCompoundLineWidths(compound, strokeWidth);
|
|
1288
1287
|
const shapeType = pptx.hasShapeProperties(element) ? element.shapeType : void 0;
|
|
1289
|
-
const usePath =
|
|
1288
|
+
const usePath = chunkWX77UUR5_cjs.connectorNeedsPath(shapeType) && pptx.hasShapeProperties(element);
|
|
1290
1289
|
const pathData = usePath ? pptx.getConnectorPathGeometry(element).pathData : void 0;
|
|
1291
1290
|
const x1 = element.flipHorizontal ? w : 0;
|
|
1292
1291
|
const y1 = element.flipVertical ? h : 0;
|
|
@@ -1297,7 +1296,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1297
1296
|
d: pathData ?? `M${x1},${y1} L${x2},${y2}`,
|
|
1298
1297
|
fill: "none",
|
|
1299
1298
|
stroke: "transparent",
|
|
1300
|
-
"stroke-width":
|
|
1299
|
+
"stroke-width": chunkWX77UUR5_cjs.connectorHitStrokeWidth(strokeWidth),
|
|
1301
1300
|
"stroke-linecap": "round",
|
|
1302
1301
|
"stroke-linejoin": "round"
|
|
1303
1302
|
});
|
|
@@ -1336,7 +1335,7 @@ var renderConnectorElement = (element, zIndex, context) => {
|
|
|
1336
1335
|
...stroke
|
|
1337
1336
|
});
|
|
1338
1337
|
}
|
|
1339
|
-
node.style.setProperty("stroke-width",
|
|
1338
|
+
node.style.setProperty("stroke-width", chunkZO43VVWQ_cjs.screenStrokeWidth(strandWidth));
|
|
1340
1339
|
svg.appendChild(node);
|
|
1341
1340
|
});
|
|
1342
1341
|
wrapper.appendChild(svg);
|
|
@@ -1347,7 +1346,7 @@ function appendConnectorLabel(wrapper, element, context) {
|
|
|
1347
1346
|
if (!pptx.hasTextProperties(element)) {
|
|
1348
1347
|
return;
|
|
1349
1348
|
}
|
|
1350
|
-
const paragraphs =
|
|
1349
|
+
const paragraphs = chunkWX77UUR5_cjs.buildParagraphs(element, context.fieldContext);
|
|
1351
1350
|
if (!paragraphs.some((paragraph) => paragraph.runs.length > 0)) {
|
|
1352
1351
|
return;
|
|
1353
1352
|
}
|
|
@@ -1367,7 +1366,7 @@ function appendConnectorLabel(wrapper, element, context) {
|
|
|
1367
1366
|
}
|
|
1368
1367
|
function buildMarker(context, id, arrow, strokeColor, size) {
|
|
1369
1368
|
const doc = context.document;
|
|
1370
|
-
const shape =
|
|
1369
|
+
const shape = chunkWX77UUR5_cjs.markerPath(arrow, size.width, size.length);
|
|
1371
1370
|
const marker = createSvgEl(doc, "marker", {
|
|
1372
1371
|
id,
|
|
1373
1372
|
viewBox: "0 0 10 10",
|
|
@@ -1452,7 +1451,7 @@ var renderContentPartElement = (element, zIndex, context) => {
|
|
|
1452
1451
|
doc,
|
|
1453
1452
|
"div",
|
|
1454
1453
|
"pptxv-element pptxv-contentpart",
|
|
1455
|
-
|
|
1454
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
1456
1455
|
);
|
|
1457
1456
|
el.dataset.elementId = element.id;
|
|
1458
1457
|
const strokes = element.inkStrokes;
|
|
@@ -1485,7 +1484,7 @@ var renderContentPartElement = (element, zIndex, context) => {
|
|
|
1485
1484
|
return el;
|
|
1486
1485
|
};
|
|
1487
1486
|
function renderEquations(element, context) {
|
|
1488
|
-
if (!pptx.hasTextProperties(element) || !
|
|
1487
|
+
if (!pptx.hasTextProperties(element) || !chunkWX77UUR5_cjs.isEquationOnlyText(element.textSegments)) {
|
|
1489
1488
|
return null;
|
|
1490
1489
|
}
|
|
1491
1490
|
const equations = (element.textSegments ?? []).filter((segment) => segment.equationXml);
|
|
@@ -1499,7 +1498,7 @@ function renderEquations(element, context) {
|
|
|
1499
1498
|
fontFamily: "'Cambria Math', 'STIX Two Math', serif"
|
|
1500
1499
|
});
|
|
1501
1500
|
for (const segment of equations) {
|
|
1502
|
-
const mathml =
|
|
1501
|
+
const mathml = chunkWX77UUR5_cjs.convertOmmlToMathMl(segment.equationXml);
|
|
1503
1502
|
if (!mathml) {
|
|
1504
1503
|
continue;
|
|
1505
1504
|
}
|
|
@@ -1513,7 +1512,7 @@ function renderEquations(element, context) {
|
|
|
1513
1512
|
flex: 1,
|
|
1514
1513
|
textAlign: "center"
|
|
1515
1514
|
});
|
|
1516
|
-
math.innerHTML =
|
|
1515
|
+
math.innerHTML = chunkWX77UUR5_cjs.sanitizeMathMl(mathml);
|
|
1517
1516
|
row.appendChild(math);
|
|
1518
1517
|
if (segment.equationNumber) {
|
|
1519
1518
|
const number = createEl(context.document, "span", "pptxv-equation-number", {
|
|
@@ -1531,7 +1530,7 @@ function renderExtrusionOverlay(doc, element) {
|
|
|
1531
1530
|
return null;
|
|
1532
1531
|
}
|
|
1533
1532
|
const fill = chunkG3UVZ5FO_cjs.getComputedFillStyle(element)?.backgroundColor;
|
|
1534
|
-
const data =
|
|
1533
|
+
const data = chunkWX77UUR5_cjs.build3DExtrusionData(
|
|
1535
1534
|
element.shapeStyle?.shape3d,
|
|
1536
1535
|
element.shapeStyle?.scene3d,
|
|
1537
1536
|
fill,
|
|
@@ -1593,7 +1592,7 @@ function appendOwnReflection(doc, host, element, mediaDataUrls, suppressOwnRefle
|
|
|
1593
1592
|
if (suppressOwnReflection) {
|
|
1594
1593
|
return;
|
|
1595
1594
|
}
|
|
1596
|
-
const wrapperStyle =
|
|
1595
|
+
const wrapperStyle = chunkWX77UUR5_cjs.getComputedEffectStyle(element).reflection;
|
|
1597
1596
|
if (!wrapperStyle) {
|
|
1598
1597
|
return;
|
|
1599
1598
|
}
|
|
@@ -1617,9 +1616,9 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1617
1616
|
if (groupFilterDefs) {
|
|
1618
1617
|
wrap.appendChild(groupFilterDefs);
|
|
1619
1618
|
}
|
|
1620
|
-
const childParentFill =
|
|
1619
|
+
const childParentFill = chunkWX77UUR5_cjs.getGroupChildParentFill(element, parentGroupFill);
|
|
1621
1620
|
for (const child of element.children ?? []) {
|
|
1622
|
-
const childWrap = createEl(doc, "div", void 0,
|
|
1621
|
+
const childWrap = createEl(doc, "div", void 0, chunkWX77UUR5_cjs.getContainerStyle(child, 0));
|
|
1623
1622
|
childWrap.appendChild(
|
|
1624
1623
|
buildReflectionMirrorContent(doc, child, mediaDataUrls, childParentFill)
|
|
1625
1624
|
);
|
|
@@ -1633,7 +1632,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1633
1632
|
height: "100%",
|
|
1634
1633
|
...getShapeFillStrokeStyle(element)
|
|
1635
1634
|
});
|
|
1636
|
-
const inheritedFill =
|
|
1635
|
+
const inheritedFill = chunkWX77UUR5_cjs.resolveGroupChildFill(element, parentGroupFill);
|
|
1637
1636
|
if (inheritedFill) {
|
|
1638
1637
|
applyInheritedFill(box, inheritedFill);
|
|
1639
1638
|
}
|
|
@@ -1654,12 +1653,12 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1654
1653
|
box.appendChild(gradientOutline);
|
|
1655
1654
|
}
|
|
1656
1655
|
if (pptx.isImageLikeElement(element)) {
|
|
1657
|
-
const src =
|
|
1656
|
+
const src = chunkWX77UUR5_cjs.getImageSrc(element, new Map(mediaDataUrls));
|
|
1658
1657
|
if (src) {
|
|
1659
1658
|
const img = createEl(doc, "img", void 0, {
|
|
1660
1659
|
width: "100%",
|
|
1661
1660
|
height: "100%",
|
|
1662
|
-
...
|
|
1661
|
+
...chunkWX77UUR5_cjs.getImageFitStyle(element)
|
|
1663
1662
|
});
|
|
1664
1663
|
img.setAttribute("src", src);
|
|
1665
1664
|
img.setAttribute("alt", "");
|
|
@@ -1669,7 +1668,7 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1669
1668
|
appendOwnReflection(doc, box, element, mediaDataUrls, suppressOwnReflection);
|
|
1670
1669
|
return box;
|
|
1671
1670
|
}
|
|
1672
|
-
const paragraphs =
|
|
1671
|
+
const paragraphs = chunkWX77UUR5_cjs.buildParagraphs(element);
|
|
1673
1672
|
const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
|
|
1674
1673
|
if (hasText) {
|
|
1675
1674
|
box.appendChild(renderTextBlock(doc, paragraphs, getTextBlockStyle(element)));
|
|
@@ -1681,20 +1680,20 @@ function buildReflectionMirrorContent(doc, element, mediaDataUrls, parentGroupFi
|
|
|
1681
1680
|
// src/pptx/dom/elements/shape-filter-defs.ts
|
|
1682
1681
|
var OUTLINE_SVG_STYLE = "position:absolute;inset:0;width:100%;height:100%;min-width:1px;min-height:1px;overflow:visible;pointer-events:none";
|
|
1683
1682
|
function renderShapeFilterDefs(doc, element) {
|
|
1684
|
-
const style =
|
|
1683
|
+
const style = chunkWX77UUR5_cjs.getEffectStyleSource(element);
|
|
1685
1684
|
if (!style) {
|
|
1686
1685
|
return null;
|
|
1687
1686
|
}
|
|
1688
1687
|
const markups = [];
|
|
1689
|
-
const duotone =
|
|
1688
|
+
const duotone = chunkWX77UUR5_cjs.getDuotoneSvgFilter(style, element.id);
|
|
1690
1689
|
if (duotone) {
|
|
1691
1690
|
markups.push(duotone.filterMarkup);
|
|
1692
1691
|
}
|
|
1693
|
-
const softEdge =
|
|
1692
|
+
const softEdge = chunkWX77UUR5_cjs.getSoftEdgeSvgFilter(style, element.id);
|
|
1694
1693
|
if (softEdge) {
|
|
1695
1694
|
markups.push(softEdge.filterMarkup);
|
|
1696
1695
|
}
|
|
1697
|
-
const bevelLighting =
|
|
1696
|
+
const bevelLighting = chunkWX77UUR5_cjs.getBevelLightingSvgFilter(element);
|
|
1698
1697
|
if (bevelLighting) {
|
|
1699
1698
|
markups.push(bevelLighting.filterMarkup);
|
|
1700
1699
|
}
|
|
@@ -1712,7 +1711,7 @@ function renderShapeFillOverlay(doc, element) {
|
|
|
1712
1711
|
if (!pptx.hasShapeProperties(element)) {
|
|
1713
1712
|
return null;
|
|
1714
1713
|
}
|
|
1715
|
-
const overlay =
|
|
1714
|
+
const overlay = chunkWX77UUR5_cjs.getComputedEffectStyle(element).fillOverlay;
|
|
1716
1715
|
if (!overlay) {
|
|
1717
1716
|
return null;
|
|
1718
1717
|
}
|
|
@@ -1727,7 +1726,7 @@ function renderShapeFillOverlay(doc, element) {
|
|
|
1727
1726
|
return layer;
|
|
1728
1727
|
}
|
|
1729
1728
|
function renderReflectionOverlay(doc, element, mediaDataUrls) {
|
|
1730
|
-
const wrapperStyle =
|
|
1729
|
+
const wrapperStyle = chunkWX77UUR5_cjs.getComputedEffectStyle(element).reflection;
|
|
1731
1730
|
if (!wrapperStyle) {
|
|
1732
1731
|
return null;
|
|
1733
1732
|
}
|
|
@@ -1737,13 +1736,13 @@ function renderReflectionOverlay(doc, element, mediaDataUrls) {
|
|
|
1737
1736
|
return layer;
|
|
1738
1737
|
}
|
|
1739
1738
|
function renderHollowHitOutline(doc, element) {
|
|
1740
|
-
const hit =
|
|
1739
|
+
const hit = chunkWX77UUR5_cjs.buildHollowHitOutline(element);
|
|
1741
1740
|
if (!hit) {
|
|
1742
1741
|
return null;
|
|
1743
1742
|
}
|
|
1744
1743
|
const svg = createSvgEl(doc, "svg", {
|
|
1745
1744
|
"aria-hidden": "true",
|
|
1746
|
-
viewBox:
|
|
1745
|
+
viewBox: chunkWX77UUR5_cjs.strokeOutlineViewBox(element),
|
|
1747
1746
|
preserveAspectRatio: "none"
|
|
1748
1747
|
});
|
|
1749
1748
|
svg.setAttribute("style", OUTLINE_SVG_STYLE);
|
|
@@ -1776,20 +1775,20 @@ function renderShapeSubpathFillOverlay(doc, element) {
|
|
|
1776
1775
|
return svg;
|
|
1777
1776
|
}
|
|
1778
1777
|
function renderStrokeOutline(doc, element) {
|
|
1779
|
-
const outline =
|
|
1778
|
+
const outline = chunkWX77UUR5_cjs.buildStrokeOutline(element);
|
|
1780
1779
|
if (!outline) {
|
|
1781
1780
|
return null;
|
|
1782
1781
|
}
|
|
1783
1782
|
const svg = createSvgEl(doc, "svg", {
|
|
1784
1783
|
class: "pptx-vanilla-gradient-outline",
|
|
1785
1784
|
"aria-hidden": "true",
|
|
1786
|
-
viewBox:
|
|
1785
|
+
viewBox: chunkWX77UUR5_cjs.strokeOutlineViewBox(element),
|
|
1787
1786
|
preserveAspectRatio: "none"
|
|
1788
1787
|
});
|
|
1789
1788
|
svg.setAttribute("style", OUTLINE_SVG_STYLE);
|
|
1790
1789
|
if (outline.paint) {
|
|
1791
1790
|
const defs = createSvgEl(doc, "defs");
|
|
1792
|
-
if (
|
|
1791
|
+
if (chunkWX77UUR5_cjs.isPatternPaint(outline.paint)) {
|
|
1793
1792
|
const pattern = createSvgEl(doc, "pattern", {
|
|
1794
1793
|
id: outline.paint.id,
|
|
1795
1794
|
width: outline.paint.width,
|
|
@@ -1804,7 +1803,7 @@ function renderStrokeOutline(doc, element) {
|
|
|
1804
1803
|
pattern.appendChild(image);
|
|
1805
1804
|
defs.appendChild(pattern);
|
|
1806
1805
|
} else {
|
|
1807
|
-
defs.innerHTML =
|
|
1806
|
+
defs.innerHTML = chunkWX77UUR5_cjs.svgGradientMarkup(outline.paint);
|
|
1808
1807
|
}
|
|
1809
1808
|
svg.appendChild(defs);
|
|
1810
1809
|
}
|
|
@@ -1863,14 +1862,14 @@ function indexRenderedNodes(root) {
|
|
|
1863
1862
|
return byId;
|
|
1864
1863
|
}
|
|
1865
1864
|
function paintInheritedFill(node, element, parentGroupFill) {
|
|
1866
|
-
const inherited =
|
|
1865
|
+
const inherited = chunkWX77UUR5_cjs.resolveGroupChildFill(element, parentGroupFill);
|
|
1867
1866
|
if (inherited) {
|
|
1868
1867
|
applyGroupChildFill(node, inherited);
|
|
1869
1868
|
}
|
|
1870
1869
|
if (element.type !== "group") {
|
|
1871
1870
|
return;
|
|
1872
1871
|
}
|
|
1873
|
-
const childFill =
|
|
1872
|
+
const childFill = chunkWX77UUR5_cjs.getGroupChildParentFill(element, parentGroupFill);
|
|
1874
1873
|
if (!childFill) {
|
|
1875
1874
|
return;
|
|
1876
1875
|
}
|
|
@@ -1884,7 +1883,7 @@ function paintInheritedFill(node, element, parentGroupFill) {
|
|
|
1884
1883
|
}
|
|
1885
1884
|
var renderGroupElement = (element, zIndex, context) => {
|
|
1886
1885
|
const el = createEl(context.document, "div", "pptxv-element pptxv-group", {
|
|
1887
|
-
...
|
|
1886
|
+
...chunkWX77UUR5_cjs.getContainerStyle(element, zIndex),
|
|
1888
1887
|
// A group paints no fill/outline of its own, but `p:grpSpPr/a:effectLst`
|
|
1889
1888
|
// DOES carry a shadow/glow/soft-edge for the group's own composite
|
|
1890
1889
|
// raster (see shared `getComputedEffectStyle`), expressed as `filter` /
|
|
@@ -1901,7 +1900,7 @@ var renderGroupElement = (element, zIndex, context) => {
|
|
|
1901
1900
|
el.appendChild(reflection);
|
|
1902
1901
|
}
|
|
1903
1902
|
if (element.type === "group" && element.children?.length) {
|
|
1904
|
-
const parentGroupFill =
|
|
1903
|
+
const parentGroupFill = chunkWX77UUR5_cjs.getGroupChildParentFill(element);
|
|
1905
1904
|
element.children.forEach((child, index) => {
|
|
1906
1905
|
const childEl = context.renderElement(child, index);
|
|
1907
1906
|
if (childEl) {
|
|
@@ -1916,16 +1915,16 @@ var renderGroupElement = (element, zIndex, context) => {
|
|
|
1916
1915
|
// src/pptx/dom/elements/image.ts
|
|
1917
1916
|
var renderImageElement = (element, zIndex, context) => {
|
|
1918
1917
|
const doc = context.document;
|
|
1919
|
-
const geometry = element.type === "image" || element.type === "picture" ?
|
|
1918
|
+
const geometry = element.type === "image" || element.type === "picture" ? chunkWX77UUR5_cjs.resolveShapeGeometry(element) : void 0;
|
|
1920
1919
|
const geometryClipPath = geometry?.kind === "clipPath" ? geometry.clipPath : void 0;
|
|
1921
|
-
const cropShapeClipPath = element.type === "image" || element.type === "picture" ?
|
|
1922
|
-
const layers =
|
|
1923
|
-
overflow:
|
|
1920
|
+
const cropShapeClipPath = element.type === "image" || element.type === "picture" ? chunkWX77UUR5_cjs.getCropShapeClipPath(element.cropShape, element.width, element.height) : void 0;
|
|
1921
|
+
const layers = chunkWX77UUR5_cjs.getPictureFrameLayers(element, {
|
|
1922
|
+
overflow: chunkWX77UUR5_cjs.getImageOverflow(element),
|
|
1924
1923
|
borderRadius: geometry?.kind === "borderRadius" ? geometry.radius : void 0,
|
|
1925
1924
|
clipPath: geometryClipPath ?? cropShapeClipPath
|
|
1926
1925
|
});
|
|
1927
1926
|
const el = createEl(doc, "div", "pptxv-element pptxv-image", {
|
|
1928
|
-
...
|
|
1927
|
+
...chunkWX77UUR5_cjs.getContainerStyle(element, zIndex),
|
|
1929
1928
|
...layers.box
|
|
1930
1929
|
});
|
|
1931
1930
|
el.dataset.elementId = element.id;
|
|
@@ -1937,11 +1936,11 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1937
1936
|
el.appendChild(outline);
|
|
1938
1937
|
}
|
|
1939
1938
|
}
|
|
1940
|
-
const src =
|
|
1939
|
+
const src = chunkWX77UUR5_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
|
|
1941
1940
|
if (!src) {
|
|
1942
1941
|
return el;
|
|
1943
1942
|
}
|
|
1944
|
-
const fx =
|
|
1943
|
+
const fx = chunkWX77UUR5_cjs.getComputedImageStyle(element);
|
|
1945
1944
|
for (const f of fx.svgFilters) {
|
|
1946
1945
|
const svg = createSvgEl(doc, "svg", { width: 0, height: 0, "aria-hidden": "true" });
|
|
1947
1946
|
svg.setAttribute("style", "position:absolute;width:0;height:0;overflow:hidden");
|
|
@@ -1954,7 +1953,7 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1954
1953
|
surface.appendChild(svg);
|
|
1955
1954
|
}
|
|
1956
1955
|
const reflection = renderReflectionOverlay(doc, element, context.mediaDataUrls);
|
|
1957
|
-
const tiling =
|
|
1956
|
+
const tiling = chunkWX77UUR5_cjs.getImageTilingStyle(element, chunkWX77UUR5_cjs.getCachedNativeImageSize(src));
|
|
1958
1957
|
if (tiling) {
|
|
1959
1958
|
const tile = createEl(doc, "div", "pptxv-image-tile", tiling);
|
|
1960
1959
|
if (fx.filter) {
|
|
@@ -1963,10 +1962,10 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1963
1962
|
if (fx.opacity !== void 0) {
|
|
1964
1963
|
tile.style.opacity = String(fx.opacity);
|
|
1965
1964
|
}
|
|
1966
|
-
if (!
|
|
1967
|
-
void
|
|
1965
|
+
if (!chunkWX77UUR5_cjs.getCachedNativeImageSize(src)) {
|
|
1966
|
+
void chunkWX77UUR5_cjs.probeNativeImageSize(src).then((size) => {
|
|
1968
1967
|
if (size) {
|
|
1969
|
-
applyStyleMap(tile,
|
|
1968
|
+
applyStyleMap(tile, chunkWX77UUR5_cjs.getImageTilingStyle(element, size) ?? {});
|
|
1970
1969
|
}
|
|
1971
1970
|
return void 0;
|
|
1972
1971
|
});
|
|
@@ -1977,8 +1976,8 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1977
1976
|
}
|
|
1978
1977
|
return el;
|
|
1979
1978
|
}
|
|
1980
|
-
const fit =
|
|
1981
|
-
const fillCounterTransform =
|
|
1979
|
+
const fit = chunkWX77UUR5_cjs.getImageFitStyle(element);
|
|
1980
|
+
const fillCounterTransform = chunkWX77UUR5_cjs.getImageFillCounterTransform(element, Boolean(fit.transform));
|
|
1982
1981
|
const img = createEl(doc, "img", void 0, {
|
|
1983
1982
|
...fit,
|
|
1984
1983
|
display: "block",
|
|
@@ -1997,14 +1996,14 @@ var renderImageElement = (element, zIndex, context) => {
|
|
|
1997
1996
|
if (element.type === "image" || element.type === "picture") {
|
|
1998
1997
|
const clrChange = element.imageEffects?.clrChange;
|
|
1999
1998
|
if (clrChange) {
|
|
2000
|
-
void
|
|
1999
|
+
void chunkWX77UUR5_cjs.resolveColorChangedImageSource(src, clrChange).then((resolved) => {
|
|
2001
2000
|
if (img.src === src || img.getAttribute("src") === src) {
|
|
2002
2001
|
img.src = resolved;
|
|
2003
2002
|
}
|
|
2004
2003
|
return void 0;
|
|
2005
2004
|
});
|
|
2006
2005
|
}
|
|
2007
|
-
const wash =
|
|
2006
|
+
const wash = chunkWX77UUR5_cjs.getImageColorWashStyle(element.imageEffects?.colorWash);
|
|
2008
2007
|
if (wash) {
|
|
2009
2008
|
surface.appendChild(
|
|
2010
2009
|
createEl(doc, "div", "pptxv-image-color-wash", {
|
|
@@ -2033,7 +2032,7 @@ var renderInkElement = (element, zIndex, context) => {
|
|
|
2033
2032
|
doc,
|
|
2034
2033
|
"div",
|
|
2035
2034
|
"pptxv-element pptxv-ink",
|
|
2036
|
-
|
|
2035
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
2037
2036
|
);
|
|
2038
2037
|
wrapper.dataset.elementId = element.id;
|
|
2039
2038
|
const paths = element.inkPaths;
|
|
@@ -2054,7 +2053,7 @@ var renderInkElement = (element, zIndex, context) => {
|
|
|
2054
2053
|
keyframes.textContent = chunkNTXHQHCS_cjs.INK_REPLAY_KEYFRAMES;
|
|
2055
2054
|
svg.appendChild(keyframes);
|
|
2056
2055
|
}
|
|
2057
|
-
const views =
|
|
2056
|
+
const views = chunkWX77UUR5_cjs.buildInkGroupStrokes(element, { color: chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR, width: 1 });
|
|
2058
2057
|
for (const [i, view] of views.entries()) {
|
|
2059
2058
|
svg.appendChild(buildStrokeSvg(doc, view, replayStyles[i]));
|
|
2060
2059
|
}
|
|
@@ -2108,12 +2107,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
|
|
|
2108
2107
|
let stopButton = null;
|
|
2109
2108
|
const update = (playing) => {
|
|
2110
2109
|
const input = { fullScreen: element.fullScreen, presenting: context.presenting, playing };
|
|
2111
|
-
const active =
|
|
2110
|
+
const active = chunkWX77UUR5_cjs.isMediaFullscreenActive(input);
|
|
2112
2111
|
applyStyleMap(
|
|
2113
2112
|
container,
|
|
2114
|
-
active ?
|
|
2113
|
+
active ? chunkWX77UUR5_cjs.MEDIA_FULLSCREEN_OVERLAY_STYLE : mediaFullscreenResetStyle(baseStyle)
|
|
2115
2114
|
);
|
|
2116
|
-
if (
|
|
2115
|
+
if (chunkWX77UUR5_cjs.shouldShowMediaFullscreenStopButton(input)) {
|
|
2117
2116
|
if (!stopButton) {
|
|
2118
2117
|
stopButton = buildFullscreenStopButton(
|
|
2119
2118
|
doc,
|
|
@@ -2138,12 +2137,12 @@ function wireMediaFullscreenOverlay(doc, container, mediaNode, element, context,
|
|
|
2138
2137
|
|
|
2139
2138
|
// src/pptx/dom/elements/media.ts
|
|
2140
2139
|
function applyMediaPresentingState(el, presenting, playback) {
|
|
2141
|
-
|
|
2140
|
+
chunkWX77UUR5_cjs.applyMediaPlaybackAttributes(el, playback);
|
|
2142
2141
|
if (presenting) {
|
|
2143
|
-
|
|
2144
|
-
|
|
2142
|
+
chunkWX77UUR5_cjs.startMediaAutoplay(el, { trimStartMs: playback.trimStartMs });
|
|
2143
|
+
chunkWX77UUR5_cjs.scheduleMediaTrimAndFade(el, {
|
|
2145
2144
|
...playback,
|
|
2146
|
-
volume:
|
|
2145
|
+
volume: chunkWX77UUR5_cjs.mediaPlaybackAttributes(playback).volume
|
|
2147
2146
|
});
|
|
2148
2147
|
} else if (!el.paused) {
|
|
2149
2148
|
el.pause();
|
|
@@ -2153,18 +2152,18 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2153
2152
|
if (element.type !== "media") {
|
|
2154
2153
|
return null;
|
|
2155
2154
|
}
|
|
2156
|
-
const surface =
|
|
2155
|
+
const surface = chunkWX77UUR5_cjs.mediaSurfaceOf({
|
|
2157
2156
|
interactive: context.interactive === true || context.reading === true,
|
|
2158
2157
|
presenting: context.presenting
|
|
2159
2158
|
});
|
|
2160
|
-
const showTransport =
|
|
2159
|
+
const showTransport = chunkWX77UUR5_cjs.mediaTransportVisible({ ...surface, canvasTransport: true });
|
|
2161
2160
|
const doc = context.document;
|
|
2162
|
-
const baseStyle =
|
|
2161
|
+
const baseStyle = chunkWX77UUR5_cjs.getContainerStyle(element, zIndex);
|
|
2163
2162
|
const el = createEl(doc, "div", "pptxv-element pptxv-media", baseStyle);
|
|
2164
2163
|
el.dataset.elementId = element.id;
|
|
2165
2164
|
const mediaSrc = element.mediaData ?? (element.mediaPath ? context.mediaDataUrls.get(element.mediaPath) : void 0);
|
|
2166
|
-
const posterSrc =
|
|
2167
|
-
const onlineVideoEmbedUrl =
|
|
2165
|
+
const posterSrc = chunkWX77UUR5_cjs.getImageSrc(element, new Map(context.mediaDataUrls));
|
|
2166
|
+
const onlineVideoEmbedUrl = chunkWX77UUR5_cjs.getOnlineVideoEmbed(element)?.embedUrl;
|
|
2168
2167
|
if (onlineVideoEmbedUrl && element.mediaType === "video") {
|
|
2169
2168
|
const iframe = createEl(doc, "iframe", "pptxv-media-video pptxv-media-iframe", {
|
|
2170
2169
|
width: "100%",
|
|
@@ -2174,8 +2173,8 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2174
2173
|
});
|
|
2175
2174
|
iframe.src = onlineVideoEmbedUrl;
|
|
2176
2175
|
iframe.title = context.t("pptx.media.onlineVideoTitle");
|
|
2177
|
-
iframe.allow =
|
|
2178
|
-
iframe.sandbox.value =
|
|
2176
|
+
iframe.allow = chunkWX77UUR5_cjs.ONLINE_VIDEO_IFRAME_ALLOW;
|
|
2177
|
+
iframe.sandbox.value = chunkWX77UUR5_cjs.ONLINE_VIDEO_IFRAME_SANDBOX;
|
|
2179
2178
|
iframe.allowFullscreen = true;
|
|
2180
2179
|
el.appendChild(iframe);
|
|
2181
2180
|
return el;
|
|
@@ -2204,21 +2203,21 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2204
2203
|
audio.src = mediaSrc;
|
|
2205
2204
|
audio.controls = showTransport;
|
|
2206
2205
|
el.appendChild(audio);
|
|
2207
|
-
if (context.presenting &&
|
|
2206
|
+
if (context.presenting && chunkWX77UUR5_cjs.registerCrossSlideAudio(element, mediaSrc)) {
|
|
2208
2207
|
audio.muted = true;
|
|
2209
|
-
|
|
2208
|
+
chunkWX77UUR5_cjs.applyMediaPlaybackAttributes(audio, element);
|
|
2210
2209
|
return el;
|
|
2211
2210
|
}
|
|
2212
2211
|
applyMediaPresentingState(audio, context.presenting, element);
|
|
2213
2212
|
wireMediaFullscreenOverlay(doc, el, audio, element, context, baseStyle);
|
|
2214
2213
|
return el;
|
|
2215
2214
|
}
|
|
2216
|
-
const fallback =
|
|
2215
|
+
const fallback = chunkWX77UUR5_cjs.mediaFallbackVisual(surface, {
|
|
2217
2216
|
hasPoster: Boolean(posterSrc),
|
|
2218
2217
|
missing: element.mediaMissing === true
|
|
2219
2218
|
});
|
|
2220
|
-
const icon =
|
|
2221
|
-
const labelKey =
|
|
2219
|
+
const icon = chunkWX77UUR5_cjs.mediaFallbackIcon(fallback, element.mediaType);
|
|
2220
|
+
const labelKey = chunkWX77UUR5_cjs.mediaFallbackLabelKey(fallback, element.mediaType);
|
|
2222
2221
|
if (fallback.poster && posterSrc) {
|
|
2223
2222
|
const img = createEl(doc, "img", "pptxv-media-poster", {
|
|
2224
2223
|
width: "100%",
|
|
@@ -2236,7 +2235,7 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2236
2235
|
if (fallback.badge === "missing") {
|
|
2237
2236
|
badge.classList.add("pptxv-media-badge-missing");
|
|
2238
2237
|
}
|
|
2239
|
-
badge.setAttribute(
|
|
2238
|
+
badge.setAttribute(chunkWX77UUR5_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.badge);
|
|
2240
2239
|
badge.appendChild(buildIcon(doc, icon));
|
|
2241
2240
|
if (labelKey !== void 0 && fallback.badge === "missing") {
|
|
2242
2241
|
const text = createEl(doc, "span");
|
|
@@ -2249,7 +2248,7 @@ var renderMediaElement = (element, zIndex, context) => {
|
|
|
2249
2248
|
}
|
|
2250
2249
|
if (fallback.placeholder !== "none") {
|
|
2251
2250
|
el.classList.add("pptxv-placeholder", "pptxv-media-placeholder");
|
|
2252
|
-
el.setAttribute(
|
|
2251
|
+
el.setAttribute(chunkWX77UUR5_cjs.MEDIA_CHROME_ATTRIBUTE, fallback.placeholder);
|
|
2253
2252
|
if (icon.length > 0) {
|
|
2254
2253
|
el.appendChild(buildIcon(doc, icon));
|
|
2255
2254
|
}
|
|
@@ -2285,7 +2284,7 @@ var renderModel3dElement = (element, zIndex, context) => {
|
|
|
2285
2284
|
doc,
|
|
2286
2285
|
"div",
|
|
2287
2286
|
"pptxv-element pptxv-model3d",
|
|
2288
|
-
|
|
2287
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
2289
2288
|
);
|
|
2290
2289
|
el.dataset.elementId = element.id;
|
|
2291
2290
|
const label = context.t("pptx.model3d.label");
|
|
@@ -2422,7 +2421,7 @@ function buildOleIcon(doc, type, color) {
|
|
|
2422
2421
|
fill: "none",
|
|
2423
2422
|
"aria-hidden": "true"
|
|
2424
2423
|
});
|
|
2425
|
-
for (const shape of
|
|
2424
|
+
for (const shape of chunkWX77UUR5_cjs.getOleIconShapes(type)) {
|
|
2426
2425
|
const node = createSvgEl(doc, shape.tag, shape.attrs);
|
|
2427
2426
|
if (shape.tag === "text") {
|
|
2428
2427
|
node.setAttribute("fill", color);
|
|
@@ -2441,21 +2440,21 @@ var renderOleElement = (element, zIndex, context) => {
|
|
|
2441
2440
|
return null;
|
|
2442
2441
|
}
|
|
2443
2442
|
const doc = context.document;
|
|
2444
|
-
const oleType =
|
|
2445
|
-
const typeColor =
|
|
2446
|
-
const typeLabel =
|
|
2447
|
-
const el = createEl(doc, "div", "pptxv-element pptxv-ole",
|
|
2443
|
+
const oleType = chunkWX77UUR5_cjs.resolveOleType(element);
|
|
2444
|
+
const typeColor = chunkWX77UUR5_cjs.getOleTypeColor(oleType);
|
|
2445
|
+
const typeLabel = chunkWX77UUR5_cjs.getOleTypeLabel(oleType);
|
|
2446
|
+
const el = createEl(doc, "div", "pptxv-element pptxv-ole", chunkWX77UUR5_cjs.getContainerStyle(element, zIndex));
|
|
2448
2447
|
el.dataset.elementId = element.id;
|
|
2449
2448
|
el.setAttribute("role", "group");
|
|
2450
|
-
el.setAttribute("aria-label",
|
|
2449
|
+
el.setAttribute("aria-label", chunkWX77UUR5_cjs.getOleAriaLabel(element));
|
|
2451
2450
|
el.title = infoLines(element, typeLabel).join("\n");
|
|
2452
2451
|
if (element.previewImageData) {
|
|
2453
|
-
el.appendChild(buildPreview(doc, element, typeColor,
|
|
2452
|
+
el.appendChild(buildPreview(doc, element, typeColor, chunkWX77UUR5_cjs.getOleBadgeLabel(oleType)));
|
|
2454
2453
|
} else {
|
|
2455
2454
|
el.appendChild(buildPlaceholder2(doc, element, oleType, typeColor, typeLabel));
|
|
2456
2455
|
}
|
|
2457
|
-
const showActions =
|
|
2458
|
-
|
|
2456
|
+
const showActions = chunkWX77UUR5_cjs.oleActionsVisible(
|
|
2457
|
+
chunkWX77UUR5_cjs.mediaSurfaceOf({
|
|
2459
2458
|
interactive: context.interactive === true,
|
|
2460
2459
|
presenting: context.presenting
|
|
2461
2460
|
})
|
|
@@ -2471,7 +2470,7 @@ function infoLines(el, typeLabel) {
|
|
|
2471
2470
|
if (name) {
|
|
2472
2471
|
lines.push(name);
|
|
2473
2472
|
}
|
|
2474
|
-
const size =
|
|
2473
|
+
const size = chunkWX77UUR5_cjs.formatBytes(el.oleEmbeddedByteSize);
|
|
2475
2474
|
if (size) {
|
|
2476
2475
|
lines.push(size);
|
|
2477
2476
|
}
|
|
@@ -2495,7 +2494,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
|
|
|
2495
2494
|
display: "block"
|
|
2496
2495
|
});
|
|
2497
2496
|
img.src = el.previewImageData ?? "";
|
|
2498
|
-
img.alt =
|
|
2497
|
+
img.alt = chunkWX77UUR5_cjs.getOleAriaLabel(el);
|
|
2499
2498
|
img.draggable = false;
|
|
2500
2499
|
preview.appendChild(img);
|
|
2501
2500
|
const badge = createSvgEl(doc, "svg", { width: 24, height: 24, viewBox: "0 0 24 24" });
|
|
@@ -2522,7 +2521,7 @@ function buildPreview(doc, el, typeColor, badgeLabel) {
|
|
|
2522
2521
|
}
|
|
2523
2522
|
function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
|
|
2524
2523
|
const box = createEl(doc, "div", "pptxv-ole-placeholder", {
|
|
2525
|
-
...
|
|
2524
|
+
...chunkWX77UUR5_cjs.getPlaceholderStyle(oleType),
|
|
2526
2525
|
width: "100%",
|
|
2527
2526
|
height: "100%",
|
|
2528
2527
|
display: "flex",
|
|
@@ -2543,7 +2542,7 @@ function buildPlaceholder2(doc, el, oleType, typeColor, typeLabel) {
|
|
|
2543
2542
|
whiteSpace: "nowrap",
|
|
2544
2543
|
color: typeColor
|
|
2545
2544
|
});
|
|
2546
|
-
name.textContent =
|
|
2545
|
+
name.textContent = chunkWX77UUR5_cjs.getOleDisplayName(el);
|
|
2547
2546
|
box.appendChild(name);
|
|
2548
2547
|
if (el.fileName) {
|
|
2549
2548
|
const sublabel = createEl(doc, "span", "pptxv-ole-sublabel", {
|
|
@@ -2595,7 +2594,7 @@ function buildActionBar(doc, el, typeLabel, context) {
|
|
|
2595
2594
|
for (const type of ["pointerdown", "mousedown", "click"]) {
|
|
2596
2595
|
bar.addEventListener(type, (event) => event.stopPropagation());
|
|
2597
2596
|
}
|
|
2598
|
-
const size =
|
|
2597
|
+
const size = chunkWX77UUR5_cjs.formatBytes(el.oleEmbeddedByteSize);
|
|
2599
2598
|
if (size) {
|
|
2600
2599
|
const meta = createEl(doc, "span", "pptxv-ole-meta", {
|
|
2601
2600
|
marginRight: "auto",
|
|
@@ -2615,14 +2614,14 @@ function buildActionBar(doc, el, typeLabel, context) {
|
|
|
2615
2614
|
download.title = downloadTitle;
|
|
2616
2615
|
download.textContent = context.t("pptx.ole.download");
|
|
2617
2616
|
bar.appendChild(download);
|
|
2618
|
-
if (
|
|
2617
|
+
if (chunkWX77UUR5_cjs.isBrowserOpenableMime(el.oleEmbeddedMimeType)) {
|
|
2619
2618
|
const open = createEl(doc, "button", "pptxv-ole-action", ACTION_STYLE);
|
|
2620
2619
|
open.type = "button";
|
|
2621
2620
|
const openTitle = context.t("pptx.ole.openName", { name: downloadName });
|
|
2622
2621
|
open.setAttribute("aria-label", openTitle);
|
|
2623
2622
|
open.title = openTitle;
|
|
2624
2623
|
open.textContent = context.t("pptx.ole.open");
|
|
2625
|
-
open.addEventListener("click", () =>
|
|
2624
|
+
open.addEventListener("click", () => chunkWX77UUR5_cjs.openUrlInNewTab(data));
|
|
2626
2625
|
bar.appendChild(open);
|
|
2627
2626
|
}
|
|
2628
2627
|
return bar;
|
|
@@ -2634,7 +2633,7 @@ var renderPlaceholderElement = (element, zIndex, context) => {
|
|
|
2634
2633
|
context.document,
|
|
2635
2634
|
"div",
|
|
2636
2635
|
"pptxv-element pptxv-placeholder",
|
|
2637
|
-
|
|
2636
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
2638
2637
|
);
|
|
2639
2638
|
el.dataset.elementId = element.id;
|
|
2640
2639
|
el.dataset.elementType = element.type;
|
|
@@ -2650,7 +2649,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2650
2649
|
return null;
|
|
2651
2650
|
}
|
|
2652
2651
|
const doc = context.document;
|
|
2653
|
-
const summaryView =
|
|
2652
|
+
const summaryView = chunkWX77UUR5_cjs.buildSummaryZoomView(
|
|
2654
2653
|
element,
|
|
2655
2654
|
(index) => {
|
|
2656
2655
|
const slide = context.slides?.[index];
|
|
@@ -2670,7 +2669,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2670
2669
|
doc,
|
|
2671
2670
|
"div",
|
|
2672
2671
|
"pptxv-element pptxv-zoom pptxv-summary-zoom",
|
|
2673
|
-
|
|
2672
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
2674
2673
|
);
|
|
2675
2674
|
const content = createEl(doc, "div", "pptxv-summary-zoom-content", summaryView.containerStyle);
|
|
2676
2675
|
root.dataset.elementId = element.id;
|
|
@@ -2737,7 +2736,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2737
2736
|
const target = element.targetSlideIndex ?? 0;
|
|
2738
2737
|
const targetSlide = context.slides?.[target];
|
|
2739
2738
|
const interactive = context.presenting && context.onZoomClick !== void 0;
|
|
2740
|
-
const el = createEl(doc, "div", "pptxv-element pptxv-zoom",
|
|
2739
|
+
const el = createEl(doc, "div", "pptxv-element pptxv-zoom", chunkWX77UUR5_cjs.getContainerStyle(element, zIndex));
|
|
2741
2740
|
el.dataset.elementId = element.id;
|
|
2742
2741
|
el.dataset.zoomType = zoomType;
|
|
2743
2742
|
el.dataset.zoomTarget = String(target);
|
|
@@ -2747,7 +2746,7 @@ var renderZoomElement = (element, zIndex, context) => {
|
|
|
2747
2746
|
el.tabIndex = 0;
|
|
2748
2747
|
el.style.cursor = "pointer";
|
|
2749
2748
|
const activate = () => {
|
|
2750
|
-
const zoomTarget =
|
|
2749
|
+
const zoomTarget = chunkWX77UUR5_cjs.resolveZoomNavigationTarget(element);
|
|
2751
2750
|
if (zoomTarget) {
|
|
2752
2751
|
context.onZoomClick?.(zoomTarget, context.currentSlideIndex ?? 0);
|
|
2753
2752
|
}
|
|
@@ -2862,7 +2861,7 @@ function registerExtraRenderers(registry) {
|
|
|
2862
2861
|
// src/pptx/dom/elements/smartart-3d.ts
|
|
2863
2862
|
var renderSmartArt3DElement = (element, zIndex, context) => {
|
|
2864
2863
|
const wrapper = renderSmartArtSvg(element, zIndex, context);
|
|
2865
|
-
const spec = wrapper ?
|
|
2864
|
+
const spec = wrapper ? chunkWX77UUR5_cjs.resolveSmartArtThreeViewSpec(element, context.smartArt3D) : null;
|
|
2866
2865
|
if (!wrapper || !spec) {
|
|
2867
2866
|
return wrapper;
|
|
2868
2867
|
}
|
|
@@ -2872,18 +2871,18 @@ var renderSmartArt3DElement = (element, zIndex, context) => {
|
|
|
2872
2871
|
textStyle: context.presentationStates?.get(element.id)?.textStyle
|
|
2873
2872
|
});
|
|
2874
2873
|
if (context.onSmartArtNodeTextChange && context.interactive && !context.presenting) {
|
|
2875
|
-
const layer = renderSmartArtSvg(
|
|
2874
|
+
const layer = renderSmartArtSvg(chunkWX77UUR5_cjs.elementInLocalFrame(element), 0, context);
|
|
2876
2875
|
if (layer) {
|
|
2877
2876
|
layer.classList.add("pptxv-smartart-3d-edit-layer");
|
|
2878
2877
|
layer.setAttribute("data-smartart-3d-edit-layer", "true");
|
|
2879
|
-
|
|
2878
|
+
chunkWX77UUR5_cjs.stripEditLayerMarkers(layer);
|
|
2880
2879
|
layer.setAttribute("aria-hidden", "true");
|
|
2881
2880
|
Object.assign(layer.style, { position: "absolute", inset: "0", zIndex: "1" });
|
|
2882
2881
|
for (const svg of layer.querySelectorAll("svg")) {
|
|
2883
2882
|
svg.style.opacity = "0";
|
|
2884
2883
|
}
|
|
2885
2884
|
wrapper.appendChild(layer);
|
|
2886
|
-
|
|
2885
|
+
chunkWX77UUR5_cjs.routeEditLayerPointerToNodes(layer);
|
|
2887
2886
|
}
|
|
2888
2887
|
}
|
|
2889
2888
|
return wrapper;
|
|
@@ -2896,7 +2895,7 @@ function nodeTarget(target) {
|
|
|
2896
2895
|
}
|
|
2897
2896
|
function enableSmartArtEditing(chrome, element, context) {
|
|
2898
2897
|
const data = element.smartArtData;
|
|
2899
|
-
if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !
|
|
2898
|
+
if (!data || !context.onSmartArtNodeTextChange && !context.onSmartArtNodeFillChange || !chunkWX77UUR5_cjs.canDrillDown(element)) {
|
|
2900
2899
|
return;
|
|
2901
2900
|
}
|
|
2902
2901
|
let editor = null;
|
|
@@ -2918,8 +2917,8 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2918
2917
|
}
|
|
2919
2918
|
event.stopPropagation();
|
|
2920
2919
|
const textNode = target.querySelector("text");
|
|
2921
|
-
const textRect = textNode ?
|
|
2922
|
-
const rect = textRect && textRect.width > 0 ? textRect :
|
|
2920
|
+
const textRect = textNode ? chunkWX77UUR5_cjs.measureSvgViewportRect(textNode) : null;
|
|
2921
|
+
const rect = textRect && textRect.width > 0 ? textRect : chunkWX77UUR5_cjs.measureSvgViewportRect(target);
|
|
2923
2922
|
if (!rect) {
|
|
2924
2923
|
return;
|
|
2925
2924
|
}
|
|
@@ -2943,7 +2942,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2943
2942
|
textAlign: "center"
|
|
2944
2943
|
});
|
|
2945
2944
|
editor = input;
|
|
2946
|
-
input.value =
|
|
2945
|
+
input.value = chunkWX77UUR5_cjs.findSmartArtNodeText(data, nodeId) ?? "";
|
|
2947
2946
|
const commit = () => {
|
|
2948
2947
|
if (input !== editor) {
|
|
2949
2948
|
return;
|
|
@@ -2975,7 +2974,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2975
2974
|
}
|
|
2976
2975
|
cancelHide();
|
|
2977
2976
|
swatches?.remove();
|
|
2978
|
-
const rect =
|
|
2977
|
+
const rect = chunkWX77UUR5_cjs.measureSvgViewportRect(target);
|
|
2979
2978
|
if (!rect) {
|
|
2980
2979
|
return;
|
|
2981
2980
|
}
|
|
@@ -2994,7 +2993,7 @@ function enableSmartArtEditing(chrome, element, context) {
|
|
|
2994
2993
|
});
|
|
2995
2994
|
swatches.setAttribute("role", "group");
|
|
2996
2995
|
swatches.setAttribute("aria-label", context.t("pptx.smartArt.fillColor"));
|
|
2997
|
-
for (const color of
|
|
2996
|
+
for (const color of chunkWX77UUR5_cjs.resolvePalette(data).slice(0, 6)) {
|
|
2998
2997
|
const button = createEl(chrome.ownerDocument, "button", "", {
|
|
2999
2998
|
width: "18px",
|
|
3000
2999
|
height: "18px",
|
|
@@ -3093,7 +3092,7 @@ function buildSmartArtFallbackSvg(doc, layout, a11yNodes = [], nodeIds = []) {
|
|
|
3093
3092
|
svg.setAttribute("class", "pptxv-smartart-svg");
|
|
3094
3093
|
svg.setAttribute("style", SMARTART_SVG_STYLE);
|
|
3095
3094
|
for (const conn of layout.connectors) {
|
|
3096
|
-
const paint =
|
|
3095
|
+
const paint = chunkWX77UUR5_cjs.smartArtConnectorPaint(conn);
|
|
3097
3096
|
svg.appendChild(
|
|
3098
3097
|
createSvgEl(doc, "path", {
|
|
3099
3098
|
d: paint.d,
|
|
@@ -3152,7 +3151,7 @@ function buildFallbackNode(doc, node, shadowFilter, a11yLabel, nodeId) {
|
|
|
3152
3151
|
})
|
|
3153
3152
|
);
|
|
3154
3153
|
}
|
|
3155
|
-
const label =
|
|
3154
|
+
const label = chunkWX77UUR5_cjs.smartArtNodeLabel(node);
|
|
3156
3155
|
if (label.visible) {
|
|
3157
3156
|
appendSvgTextLines(doc, g, {
|
|
3158
3157
|
lines: label.lines,
|
|
@@ -3188,41 +3187,41 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3188
3187
|
doc,
|
|
3189
3188
|
"div",
|
|
3190
3189
|
"pptxv-element pptxv-smartart",
|
|
3191
|
-
|
|
3190
|
+
chunkWX77UUR5_cjs.getContainerStyle(element, zIndex)
|
|
3192
3191
|
);
|
|
3193
3192
|
wrapper.dataset.elementId = element.id;
|
|
3194
3193
|
wrapper.dataset.testid = `smartart-${data?.layout ?? "diagram"}`;
|
|
3195
|
-
const chrome = createEl(doc, "div", "pptxv-smartart-chrome",
|
|
3194
|
+
const chrome = createEl(doc, "div", "pptxv-smartart-chrome", chunkWX77UUR5_cjs.buildChromeStyle(data?.chrome));
|
|
3196
3195
|
chrome.style.position = "relative";
|
|
3197
3196
|
wrapper.appendChild(chrome);
|
|
3198
3197
|
if (data) {
|
|
3199
|
-
const a11y =
|
|
3198
|
+
const a11y = chunkWX77UUR5_cjs.buildSmartArtA11y(data);
|
|
3200
3199
|
chrome.setAttribute("role", "img");
|
|
3201
3200
|
chrome.setAttribute("aria-label", a11y.label);
|
|
3202
3201
|
}
|
|
3203
3202
|
const nodes = data?.nodes ?? [];
|
|
3204
3203
|
const drawingShapes = data?.drawingShapes ?? [];
|
|
3205
3204
|
const animationState = context.presentationStates?.get(element.id);
|
|
3206
|
-
const { nodes: revealedNodesFull } =
|
|
3205
|
+
const { nodes: revealedNodesFull } = chunkWX77UUR5_cjs.resolveRevealedSmartArtNodes(
|
|
3207
3206
|
nodes,
|
|
3208
3207
|
animationState,
|
|
3209
3208
|
data?.presLayoutVars
|
|
3210
3209
|
);
|
|
3211
3210
|
if (data && drawingShapes.length > 0) {
|
|
3212
|
-
const revealedShapes =
|
|
3211
|
+
const revealedShapes = chunkWX77UUR5_cjs.resolveRevealedDrawingShapes(drawingShapes, nodes, animationState);
|
|
3213
3212
|
chrome.appendChild(
|
|
3214
|
-
buildDrawingShapesSvg(doc, element.id, data,
|
|
3213
|
+
buildDrawingShapesSvg(doc, element.id, data, chunkWX77UUR5_cjs.buildSmartArtA11y(data).nodes, revealedShapes)
|
|
3215
3214
|
);
|
|
3216
3215
|
enableSmartArtEditing(chrome, element, context);
|
|
3217
3216
|
return wrapper;
|
|
3218
3217
|
}
|
|
3219
3218
|
if (data && nodes.length > 0) {
|
|
3220
3219
|
const revealedNodes = revealedNodesFull;
|
|
3221
|
-
const layout =
|
|
3220
|
+
const layout = chunkWX77UUR5_cjs.computeSmartArtElementLayout(
|
|
3222
3221
|
data,
|
|
3223
3222
|
revealedNodes,
|
|
3224
3223
|
{ width: element.width, height: element.height },
|
|
3225
|
-
|
|
3224
|
+
chunkWX77UUR5_cjs.resolvePalette(data),
|
|
3226
3225
|
data.style ?? "flat",
|
|
3227
3226
|
element.id
|
|
3228
3227
|
);
|
|
@@ -3230,8 +3229,8 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3230
3229
|
buildSmartArtFallbackSvg(
|
|
3231
3230
|
doc,
|
|
3232
3231
|
layout,
|
|
3233
|
-
|
|
3234
|
-
|
|
3232
|
+
chunkWX77UUR5_cjs.buildSmartArtA11y(data).nodes,
|
|
3233
|
+
chunkWX77UUR5_cjs.flattenNodes(revealedNodes).map((node) => node.id)
|
|
3235
3234
|
)
|
|
3236
3235
|
);
|
|
3237
3236
|
enableSmartArtEditing(chrome, element, context);
|
|
@@ -3254,17 +3253,17 @@ var renderSmartArtSvg = (element, zIndex, context) => {
|
|
|
3254
3253
|
function buildDrawingShapesSvg(doc, elementId, data, a11yNodes, revealedShapes) {
|
|
3255
3254
|
const allShapes = data.drawingShapes ?? [];
|
|
3256
3255
|
const style = data.style ?? "flat";
|
|
3257
|
-
const viewBox =
|
|
3258
|
-
const rendered =
|
|
3256
|
+
const viewBox = chunkWX77UUR5_cjs.computeDrawingViewBox(allShapes);
|
|
3257
|
+
const rendered = chunkWX77UUR5_cjs.projectDrawingShapes(
|
|
3259
3258
|
elementId,
|
|
3260
3259
|
revealedShapes,
|
|
3261
3260
|
viewBox,
|
|
3262
|
-
|
|
3261
|
+
chunkWX77UUR5_cjs.resolvePalette(data),
|
|
3263
3262
|
style
|
|
3264
3263
|
);
|
|
3265
|
-
const shadow =
|
|
3264
|
+
const shadow = chunkWX77UUR5_cjs.styleShadowFilter(style);
|
|
3266
3265
|
const labelsById = new Map(a11yNodes.map((node) => [node.id, node.label]));
|
|
3267
|
-
const nodeIds =
|
|
3266
|
+
const nodeIds = chunkWX77UUR5_cjs.resolveRevealedDrawingShapeNodeIds(allShapes, revealedShapes, data.nodes);
|
|
3268
3267
|
const svg = createSvgEl(doc, "svg", {
|
|
3269
3268
|
viewBox: `0 0 ${viewBox.width} ${viewBox.height}`,
|
|
3270
3269
|
preserveAspectRatio: "xMidYMid meet"
|
|
@@ -3399,9 +3398,9 @@ function enableTableResize(container, table, element, context) {
|
|
|
3399
3398
|
for (const handle of [...colHandles, ...rowHandles]) {
|
|
3400
3399
|
handle.remove();
|
|
3401
3400
|
}
|
|
3402
|
-
const crossings =
|
|
3401
|
+
const crossings = chunkWX77UUR5_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
|
|
3403
3402
|
const rowBounds = measureRowBoundaries(table);
|
|
3404
|
-
colHandles =
|
|
3403
|
+
colHandles = chunkWX77UUR5_cjs.computeColumnBoundaries(tableData.columnWidths).map((leftPct, i) => {
|
|
3405
3404
|
const handle = createEl(doc, "div", "pptxv-table-resize-col", {
|
|
3406
3405
|
position: "absolute",
|
|
3407
3406
|
top: "0",
|
|
@@ -3411,7 +3410,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3411
3410
|
zIndex: "10",
|
|
3412
3411
|
pointerEvents: "none"
|
|
3413
3412
|
});
|
|
3414
|
-
const segments =
|
|
3413
|
+
const segments = chunkWX77UUR5_cjs.columnHandleSegments(
|
|
3415
3414
|
crossings.columns[i] ?? [],
|
|
3416
3415
|
rowBounds,
|
|
3417
3416
|
table.offsetHeight
|
|
@@ -3441,7 +3440,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3441
3440
|
zIndex: "10",
|
|
3442
3441
|
pointerEvents: "none"
|
|
3443
3442
|
});
|
|
3444
|
-
const segments =
|
|
3443
|
+
const segments = chunkWX77UUR5_cjs.rowHandleSegments(crossings.rows[i] ?? [], tableData.columnWidths);
|
|
3445
3444
|
for (const { leftPct, widthPct } of segments) {
|
|
3446
3445
|
handle.appendChild(
|
|
3447
3446
|
createEl(doc, "div", "pptxv-table-resize-segment", {
|
|
@@ -3485,14 +3484,14 @@ function enableTableResize(container, table, element, context) {
|
|
|
3485
3484
|
const deltaProp = (event.clientX - active.startPos) / (rect.width || 1);
|
|
3486
3485
|
context.onTableResizeColumns?.(
|
|
3487
3486
|
element,
|
|
3488
|
-
|
|
3487
|
+
chunkWX77UUR5_cjs.computeResizedColumnWidths(active.initialWidths, active.index, deltaProp)
|
|
3489
3488
|
);
|
|
3490
3489
|
} else if (event.clientY !== active.startPos && active.type === "row") {
|
|
3491
3490
|
const deltaY = event.clientY - active.startPos;
|
|
3492
3491
|
context.onTableResizeRow?.(
|
|
3493
3492
|
element,
|
|
3494
3493
|
active.index,
|
|
3495
|
-
|
|
3494
|
+
chunkWX77UUR5_cjs.computeResizedRowHeight(active.initialRowHeight ?? chunkWX77UUR5_cjs.DEFAULT_ROW_HEIGHT, deltaY)
|
|
3496
3495
|
);
|
|
3497
3496
|
}
|
|
3498
3497
|
drawHandles();
|
|
@@ -3501,13 +3500,13 @@ function enableTableResize(container, table, element, context) {
|
|
|
3501
3500
|
const rect = container.getBoundingClientRect();
|
|
3502
3501
|
const localX = event.clientX - rect.left;
|
|
3503
3502
|
const localY = event.clientY - rect.top;
|
|
3504
|
-
const scaleY =
|
|
3505
|
-
const crossings =
|
|
3503
|
+
const scaleY = chunkWX77UUR5_cjs.getTableResizeScale(rect.height, container.offsetHeight);
|
|
3504
|
+
const crossings = chunkWX77UUR5_cjs.computeTableMergeCrossings(tableData.rows, tableData.columnWidths.length);
|
|
3506
3505
|
const rowBounds = measureRowBoundaries(table);
|
|
3507
|
-
const colBoundaries =
|
|
3506
|
+
const colBoundaries = chunkWX77UUR5_cjs.computeColumnBoundaries(tableData.columnWidths);
|
|
3508
3507
|
for (let i = 0; i < colBoundaries.length; i++) {
|
|
3509
3508
|
const boundaryX = colBoundaries[i] / 100 * rect.width;
|
|
3510
|
-
if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !
|
|
3509
|
+
if (Math.abs(localX - boundaryX) <= HANDLE_ZONE && !chunkWX77UUR5_cjs.isColumnBoundaryMergedAt(crossings, i, rowBounds, localY / scaleY)) {
|
|
3511
3510
|
event.preventDefault();
|
|
3512
3511
|
event.stopPropagation();
|
|
3513
3512
|
doc.body.style.cursor = "col-resize";
|
|
@@ -3525,7 +3524,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3525
3524
|
}
|
|
3526
3525
|
}
|
|
3527
3526
|
for (let i = 0; i < rowBounds.length; i++) {
|
|
3528
|
-
if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !
|
|
3527
|
+
if (Math.abs(localY - rowBounds[i] * scaleY) <= HANDLE_ZONE && !chunkWX77UUR5_cjs.isRowBoundaryMergedAt(crossings, i, tableData.columnWidths, localX / (rect.width || 1))) {
|
|
3529
3528
|
event.preventDefault();
|
|
3530
3529
|
event.stopPropagation();
|
|
3531
3530
|
const tr = table.querySelectorAll("tbody > tr")[i];
|
|
@@ -3536,7 +3535,7 @@ function enableTableResize(container, table, element, context) {
|
|
|
3536
3535
|
index: i,
|
|
3537
3536
|
startPos: event.clientY,
|
|
3538
3537
|
handleEl: rowHandles[i] ?? container,
|
|
3539
|
-
initialRowHeight: tr?.offsetHeight ??
|
|
3538
|
+
initialRowHeight: tr?.offsetHeight ?? chunkWX77UUR5_cjs.DEFAULT_ROW_HEIGHT
|
|
3540
3539
|
};
|
|
3541
3540
|
win.addEventListener("mousemove", onMouseMove);
|
|
3542
3541
|
win.addEventListener("mouseup", onMouseUp);
|
|
@@ -3557,7 +3556,7 @@ var renderTableElement = (element, zIndex, context) => {
|
|
|
3557
3556
|
}
|
|
3558
3557
|
const doc = context.document;
|
|
3559
3558
|
const container = createEl(doc, "div", "pptxv-element pptxv-table", {
|
|
3560
|
-
...
|
|
3559
|
+
...chunkWX77UUR5_cjs.getContainerStyle(element, zIndex),
|
|
3561
3560
|
overflow: "hidden"
|
|
3562
3561
|
});
|
|
3563
3562
|
container.dataset.elementId = element.id;
|
|
@@ -3570,7 +3569,7 @@ var renderTableElement = (element, zIndex, context) => {
|
|
|
3570
3569
|
// font stack; all five bindings declare the same shared default here.
|
|
3571
3570
|
fontFamily: chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
|
|
3572
3571
|
// `a:tblPr@rtl`: mirrors the column order for right-to-left decks.
|
|
3573
|
-
...
|
|
3572
|
+
...chunkWX77UUR5_cjs.tableContainerCss(tableData)
|
|
3574
3573
|
});
|
|
3575
3574
|
appendColgroup(doc, table, tableData.columnWidths);
|
|
3576
3575
|
const tbody = doc.createElement("tbody");
|
|
@@ -3632,13 +3631,13 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3632
3631
|
if (cell.rowSpan && cell.rowSpan > 1) {
|
|
3633
3632
|
td.rowSpan = cell.rowSpan;
|
|
3634
3633
|
}
|
|
3635
|
-
const style =
|
|
3634
|
+
const style = chunkWX77UUR5_cjs.tableCellCss(
|
|
3636
3635
|
tableData,
|
|
3637
3636
|
cell,
|
|
3638
3637
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
3639
3638
|
styleContext
|
|
3640
3639
|
);
|
|
3641
|
-
const patternFill = cell.style ?
|
|
3640
|
+
const patternFill = cell.style ? chunkWX77UUR5_cjs.cellPatternFillCss(cell.style) : null;
|
|
3642
3641
|
if (patternFill) {
|
|
3643
3642
|
delete style["backgroundColor"];
|
|
3644
3643
|
delete style["background"];
|
|
@@ -3651,7 +3650,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3651
3650
|
}
|
|
3652
3651
|
applyStyleMap(td, CELL_BASE_STYLE);
|
|
3653
3652
|
applyStyleMap(td, style);
|
|
3654
|
-
const diagonals =
|
|
3653
|
+
const diagonals = chunkWX77UUR5_cjs.getCellDiagonalBorders(
|
|
3655
3654
|
cell.style,
|
|
3656
3655
|
tableData,
|
|
3657
3656
|
{ rowIndex, cellIndex, rowCount, columnCount },
|
|
@@ -3665,7 +3664,7 @@ function renderCell(doc, tableData, cell, rowIndex, cellIndex, rowCount, columnC
|
|
|
3665
3664
|
}
|
|
3666
3665
|
function diagonalLine(doc, x1, y1, x2, y2, stroke, width) {
|
|
3667
3666
|
const line = createSvgEl(doc, "line", { x1, y1, x2, y2, stroke, "stroke-width": width });
|
|
3668
|
-
line.style.setProperty("stroke-width",
|
|
3667
|
+
line.style.setProperty("stroke-width", chunkZO43VVWQ_cjs.screenStrokeWidth(width));
|
|
3669
3668
|
return line;
|
|
3670
3669
|
}
|
|
3671
3670
|
function renderDiagonalOverlay(doc, diagonals) {
|
|
@@ -3695,7 +3694,7 @@ function renderDiagonalOverlay(doc, diagonals) {
|
|
|
3695
3694
|
return svg;
|
|
3696
3695
|
}
|
|
3697
3696
|
function appendCellText(doc, td, cell, cellCss) {
|
|
3698
|
-
const blocks =
|
|
3697
|
+
const blocks = chunkWX77UUR5_cjs.cellParagraphBlocks(cell);
|
|
3699
3698
|
if (blocks) {
|
|
3700
3699
|
for (const block of blocks) {
|
|
3701
3700
|
const div = createEl(doc, "div", "pptxv-table-para", { display: "block", ...block.css });
|
|
@@ -3730,7 +3729,7 @@ function appendRuns(doc, parent, runs, cellCss) {
|
|
|
3730
3729
|
}
|
|
3731
3730
|
const span = createEl(doc, "span", "pptxv-table-run", {
|
|
3732
3731
|
position: "relative",
|
|
3733
|
-
...
|
|
3732
|
+
...chunkWX77UUR5_cjs.cellRunStyle(run, cellCss)
|
|
3734
3733
|
});
|
|
3735
3734
|
span.textContent = run.text;
|
|
3736
3735
|
parent.appendChild(span);
|
|
@@ -3744,8 +3743,8 @@ function registerTableChartRenderers(registry) {
|
|
|
3744
3743
|
}
|
|
3745
3744
|
|
|
3746
3745
|
// src/pptx/dom/glyph-outline-cache.ts
|
|
3747
|
-
var glyphOutlineFontCache = new
|
|
3748
|
-
var getGlyphOutline =
|
|
3746
|
+
var glyphOutlineFontCache = new chunkWX77UUR5_cjs.GlyphOutlineFontCache();
|
|
3747
|
+
var getGlyphOutline = chunkWX77UUR5_cjs.createGlyphOutlineLookup(glyphOutlineFontCache);
|
|
3749
3748
|
|
|
3750
3749
|
// src/pptx/dom/elements/text-warp.ts
|
|
3751
3750
|
function renderWarpedText(element, context) {
|
|
@@ -3757,12 +3756,12 @@ function renderWarpedText(element, context) {
|
|
|
3757
3756
|
if (!preset || preset === "textNoShape" || preset === "textPlain") {
|
|
3758
3757
|
return null;
|
|
3759
3758
|
}
|
|
3760
|
-
const paragraphs =
|
|
3759
|
+
const paragraphs = chunkWX77UUR5_cjs.groupIntoParagraphs(element);
|
|
3761
3760
|
if (paragraphs.length === 0) {
|
|
3762
3761
|
return null;
|
|
3763
3762
|
}
|
|
3764
|
-
if (!
|
|
3765
|
-
const transform =
|
|
3763
|
+
if (!chunkWX77UUR5_cjs.shouldUseSvgWarp(preset)) {
|
|
3764
|
+
const transform = chunkWX77UUR5_cjs.getWarpCssTransform(preset, style?.textWarpAdj, style?.textWarpAdj2);
|
|
3766
3765
|
if (!transform) {
|
|
3767
3766
|
return null;
|
|
3768
3767
|
}
|
|
@@ -3784,14 +3783,14 @@ function renderWarpedText(element, context) {
|
|
|
3784
3783
|
if (style?.fontSize) {
|
|
3785
3784
|
text.style.fontSize = `${style.fontSize}px`;
|
|
3786
3785
|
}
|
|
3787
|
-
const fontWeight =
|
|
3786
|
+
const fontWeight = chunkWX77UUR5_cjs.fontWeightAttribute(style?.fontFamily, style?.bold);
|
|
3788
3787
|
if (fontWeight) {
|
|
3789
3788
|
text.style.fontWeight = fontWeight;
|
|
3790
3789
|
}
|
|
3791
3790
|
text.textContent = paragraphs.map((p) => p.segments.map((s) => s.text).join("")).join("\n");
|
|
3792
3791
|
return text;
|
|
3793
3792
|
}
|
|
3794
|
-
if (
|
|
3793
|
+
if (chunkWX77UUR5_cjs.hasGlyphEnvelope(preset)) {
|
|
3795
3794
|
return renderGlyphWarp(element, paragraphs, context);
|
|
3796
3795
|
}
|
|
3797
3796
|
return renderPathWarp(element, paragraphs, context);
|
|
@@ -3817,7 +3816,7 @@ function renderGlyphWarp(element, paragraphs, context) {
|
|
|
3817
3816
|
});
|
|
3818
3817
|
svg.setAttribute("class", "pptxv-wordart");
|
|
3819
3818
|
svg.setAttribute("style", "position:absolute;inset:0;width:100%;height:100%;overflow:visible");
|
|
3820
|
-
const perLine =
|
|
3819
|
+
const perLine = chunkWX77UUR5_cjs.buildGlyphEnvelopeBlock(
|
|
3821
3820
|
preset,
|
|
3822
3821
|
paragraphs.map(
|
|
3823
3822
|
(paragraph) => paragraph.segments.map((seg, i) => ({
|
|
@@ -3844,8 +3843,8 @@ function renderGlyphWarp(element, paragraphs, context) {
|
|
|
3844
3843
|
fill,
|
|
3845
3844
|
"font-family": renderedFamily ? pptx.getSubstituteFontFamily(renderedFamily) : chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
|
|
3846
3845
|
"font-size": s.fontSize ?? style.fontSize ?? 18,
|
|
3847
|
-
"font-weight":
|
|
3848
|
-
"font-style":
|
|
3846
|
+
"font-weight": chunkWX77UUR5_cjs.fontWeightAttribute(renderedFamily, s.bold ?? style.bold),
|
|
3847
|
+
"font-style": chunkWX77UUR5_cjs.resolveFontItalic(renderedFamily, s.italic ?? style.italic) ? "italic" : void 0
|
|
3849
3848
|
};
|
|
3850
3849
|
if (g.outlinePath) {
|
|
3851
3850
|
const path = createSvgEl(context.document, "path", { d: g.outlinePath, fill });
|
|
@@ -3912,7 +3911,7 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3912
3911
|
defs.appendChild(
|
|
3913
3912
|
createSvgEl(context.document, "path", {
|
|
3914
3913
|
id,
|
|
3915
|
-
d:
|
|
3914
|
+
d: chunkWX77UUR5_cjs.buildWarpPath(
|
|
3916
3915
|
preset,
|
|
3917
3916
|
element.width,
|
|
3918
3917
|
element.height,
|
|
@@ -3927,8 +3926,8 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3927
3926
|
fill: style.color ?? "#000000",
|
|
3928
3927
|
"font-family": style.fontFamily ? pptx.getSubstituteFontFamily(style.fontFamily) : chunkG3UVZ5FO_cjs.DEFAULT_FONT_FAMILY,
|
|
3929
3928
|
"font-size": style.fontSize ?? 18,
|
|
3930
|
-
"font-weight":
|
|
3931
|
-
"font-style":
|
|
3929
|
+
"font-weight": chunkWX77UUR5_cjs.fontWeightAttribute(style.fontFamily, style.bold),
|
|
3930
|
+
"font-style": chunkWX77UUR5_cjs.resolveFontItalic(style.fontFamily, style.italic) ? "italic" : void 0
|
|
3932
3931
|
});
|
|
3933
3932
|
const textPath = createSvgEl(context.document, "textPath", {
|
|
3934
3933
|
href: `#${id}`,
|
|
@@ -3945,9 +3944,9 @@ function renderPathWarp(element, paragraphs, context) {
|
|
|
3945
3944
|
|
|
3946
3945
|
// src/pptx/dom/elements/text-shape.ts
|
|
3947
3946
|
var renderTextShapeElement = (element, zIndex, context) => {
|
|
3948
|
-
const container =
|
|
3947
|
+
const container = chunkWX77UUR5_cjs.getContainerStyle(element, zIndex);
|
|
3949
3948
|
const animState = context.presentationStates?.get(element.id);
|
|
3950
|
-
const background =
|
|
3949
|
+
const background = chunkWX77UUR5_cjs.getBackgroundAnimationState(element, context.presentationStates);
|
|
3951
3950
|
const visualState = background ?? animState;
|
|
3952
3951
|
const shape = getShapeFillStrokeStyle(
|
|
3953
3952
|
element,
|
|
@@ -3959,7 +3958,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
3959
3958
|
if (transform !== void 0) {
|
|
3960
3959
|
merged["transform"] = transform;
|
|
3961
3960
|
}
|
|
3962
|
-
const layers =
|
|
3961
|
+
const layers = chunkWX77UUR5_cjs.getBackgroundAnimationLayers(element, merged, background);
|
|
3963
3962
|
const el = createEl(context.document, "div", "pptxv-element pptxv-shape", layers.box);
|
|
3964
3963
|
el.dataset.elementId = element.id;
|
|
3965
3964
|
const paint = layers.paint ? createEl(context.document, "div", void 0, layers.paint) : el;
|
|
@@ -3969,7 +3968,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
3969
3968
|
el.appendChild(paint);
|
|
3970
3969
|
}
|
|
3971
3970
|
if (context.interactive && !context.presenting) {
|
|
3972
|
-
const hitTargetStyle =
|
|
3971
|
+
const hitTargetStyle = chunkWX77UUR5_cjs.elementHitTargetStyle(element);
|
|
3973
3972
|
if (hitTargetStyle) {
|
|
3974
3973
|
const hitTarget = createEl(context.document, "div", void 0, hitTargetStyle);
|
|
3975
3974
|
hitTarget.setAttribute("aria-hidden", "true");
|
|
@@ -4012,8 +4011,8 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
4012
4011
|
} else if (warped) {
|
|
4013
4012
|
el.appendChild(warped);
|
|
4014
4013
|
} else {
|
|
4015
|
-
const linkedSegments =
|
|
4016
|
-
const paragraphs =
|
|
4014
|
+
const linkedSegments = chunkWX77UUR5_cjs.getOverflowSegments(element, context.slide?.elements);
|
|
4015
|
+
const paragraphs = chunkWX77UUR5_cjs.buildParagraphs(element, context.fieldContext, linkedSegments);
|
|
4017
4016
|
const hasText = paragraphs.some((p) => p.runs.length > 0 || p.bulletMarker !== void 0);
|
|
4018
4017
|
if (hasText) {
|
|
4019
4018
|
el.appendChild(
|
|
@@ -4024,7 +4023,7 @@ var renderTextShapeElement = (element, zIndex, context) => {
|
|
|
4024
4023
|
);
|
|
4025
4024
|
} else {
|
|
4026
4025
|
const mode = context.interactive && !context.presenting ? "edit" : "present";
|
|
4027
|
-
const prompt =
|
|
4026
|
+
const prompt = chunkWX77UUR5_cjs.placeholderPromptDescriptor(element, mode);
|
|
4028
4027
|
if (prompt) {
|
|
4029
4028
|
const hint = createEl(context.document, "div", "pptxv-placeholder-prompt", {
|
|
4030
4029
|
...getTextBlockStyle(element),
|
|
@@ -4191,15 +4190,15 @@ async function resolveImageUrls(handler, slides) {
|
|
|
4191
4190
|
|
|
4192
4191
|
Object.defineProperty(exports, "buildEmbeddedFontStyles", {
|
|
4193
4192
|
enumerable: true,
|
|
4194
|
-
get: function () { return
|
|
4193
|
+
get: function () { return chunkWX77UUR5_cjs.buildEmbeddedFontStyles; }
|
|
4195
4194
|
});
|
|
4196
4195
|
Object.defineProperty(exports, "buildFieldSubstitutionContext", {
|
|
4197
4196
|
enumerable: true,
|
|
4198
|
-
get: function () { return
|
|
4197
|
+
get: function () { return chunkWX77UUR5_cjs.buildFieldSubstitutionContext; }
|
|
4199
4198
|
});
|
|
4200
4199
|
Object.defineProperty(exports, "releasePptxRenderCaches", {
|
|
4201
4200
|
enumerable: true,
|
|
4202
|
-
get: function () { return
|
|
4201
|
+
get: function () { return chunkWX77UUR5_cjs.releasePptxRenderCaches; }
|
|
4203
4202
|
});
|
|
4204
4203
|
Object.defineProperty(exports, "renderChartViewModelSvg", {
|
|
4205
4204
|
enumerable: true,
|