ooxml-ui 1.7.0 → 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 +89 -36
- package/custom-elements.json +251 -4
- package/dist/chrome/ruler.d.ts +7 -1
- package/dist/chrome/ruler.d.ts.map +1 -1
- package/dist/chrome/task-pane.d.ts +2 -0
- package/dist/chrome/task-pane.d.ts.map +1 -1
- package/dist/chrome/title-bar.d.ts +2 -1
- package/dist/chrome/title-bar.d.ts.map +1 -1
- package/dist/{chunk-6UPGM3X2.js → chunk-7US5GCXF.js} +158 -153
- package/dist/{chunk-VAR6O7II.js → chunk-KF72ZA6V.js} +4 -2
- package/dist/{chunk-SCWCZSTE.js → chunk-O7APCA5N.js} +612 -69
- package/dist/chunk-W6AV3GHC.js +112 -0
- package/dist/controls.d.ts +8 -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-XGPLA2OY.cjs → chunk-GCS5KBMR.cjs} +481 -605
- package/dist/pptx/{chunk-RPRC2EG5.cjs → chunk-K3S2A64B.cjs} +13 -13
- package/dist/pptx/{chunk-RCTRRS6E.mjs → chunk-MCHPNO42.mjs} +264 -447
- 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/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 +17 -6
- 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/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 +7 -0
- package/dist/visio/stencil-catalog.d.ts +4 -0
- package/dist/visio/text-measurer.d.ts +25 -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-change-shape.d.ts +8 -4
- package/dist/visio/viewer-chrome.d.ts +3 -2
- package/dist/visio/viewer-color-menus.d.ts +34 -0
- package/dist/visio/viewer-commands.d.ts +4 -3
- 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 +8 -0
- package/dist/visio/viewer-format-pane.d.ts +26 -0
- package/dist/visio/viewer-guides.d.ts +3 -3
- package/dist/visio/viewer-layout-commands.d.ts +5 -1
- package/dist/visio/viewer-more-colors.d.ts +16 -0
- 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 +6688 -5303
- 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-format-shape.d.ts +0 -16
- package/dist/visio/viewer-paint-dialog.d.ts +0 -28
- package/dist/visio/viewer-paint-properties.d.ts +0 -13
|
@@ -4,7 +4,7 @@ var chunkWSTWYZFM_cjs = require('./chunk-WSTWYZFM.cjs');
|
|
|
4
4
|
var chunkX7FS7XHU_cjs = require('./chunk-X7FS7XHU.cjs');
|
|
5
5
|
var chunkUEF4BFW4_cjs = require('./chunk-UEF4BFW4.cjs');
|
|
6
6
|
var chunk52LKIMK3_cjs = require('./chunk-52LKIMK3.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkK3S2A64B_cjs = require('./chunk-K3S2A64B.cjs');
|
|
8
8
|
var chunkXOAXPD2W_cjs = require('./chunk-XOAXPD2W.cjs');
|
|
9
9
|
var chunkBSGCZ4JZ_cjs = require('./chunk-BSGCZ4JZ.cjs');
|
|
10
10
|
var chunkIOOI63TH_cjs = require('./chunk-IOOI63TH.cjs');
|
|
@@ -12,10 +12,10 @@ var chunkZJFN5POF_cjs = require('./chunk-ZJFN5POF.cjs');
|
|
|
12
12
|
var chunkSTXGHV25_cjs = require('./chunk-STXGHV25.cjs');
|
|
13
13
|
var chunkWB25PCHQ_cjs = require('./chunk-WB25PCHQ.cjs');
|
|
14
14
|
var chunkW3X2UVYQ_cjs = require('./chunk-W3X2UVYQ.cjs');
|
|
15
|
-
var
|
|
15
|
+
var chunkVFPVEVF4_cjs = require('./chunk-VFPVEVF4.cjs');
|
|
16
16
|
var chunkFOE75Z6N_cjs = require('./chunk-FOE75Z6N.cjs');
|
|
17
17
|
var chunkNTXHQHCS_cjs = require('./chunk-NTXHQHCS.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunk526IHNIH_cjs = require('./chunk-526IHNIH.cjs');
|
|
19
19
|
var chunkX4FNVH7J_cjs = require('./chunk-X4FNVH7J.cjs');
|
|
20
20
|
var chunkUPN5FFKP_cjs = require('./chunk-UPN5FFKP.cjs');
|
|
21
21
|
var chunkY4LTLCQP_cjs = require('./chunk-Y4LTLCQP.cjs');
|
|
@@ -74,6 +74,7 @@ var templateEditing = require('ooxml-core/pptx/editor/render/template-editing');
|
|
|
74
74
|
var ui = require('ooxml-core/pptx/ui');
|
|
75
75
|
var deckSaveEncryption = require('ooxml-core/pptx/editor/render/deck-save-encryption');
|
|
76
76
|
var tableStyleMapEdits = require('ooxml-core/pptx/editor/render/table-style-map-edits');
|
|
77
|
+
var ribbon = require('ooxml-core/ribbon');
|
|
77
78
|
var editorMutations = require('ooxml-core/pptx/editor/render/editor-mutations');
|
|
78
79
|
var slideSizeRescale = require('ooxml-core/pptx/editor/render/slide-size-rescale');
|
|
79
80
|
var tableStyleEditorParts = require('ooxml-core/pptx/editor/render/table-style-editor-parts');
|
|
@@ -1070,7 +1071,7 @@ function buildRectPathGradientDef(stops, id, focalPoint, fillToRect) {
|
|
|
1070
1071
|
color: stop.color,
|
|
1071
1072
|
...typeof stop.opacity === "number" ? { opacity: stop.opacity } : {}
|
|
1072
1073
|
}));
|
|
1073
|
-
const markup =
|
|
1074
|
+
const markup = chunkVFPVEVF4_cjs.buildRectPathGradientSvg(rectStops, focalPoint, fillToRect);
|
|
1074
1075
|
return { kind: "rectPath", id, href: `data:image/svg+xml,${encodeURIComponent(markup)}` };
|
|
1075
1076
|
}
|
|
1076
1077
|
function rectPathGradientMarkup(def) {
|
|
@@ -1084,9 +1085,9 @@ function buildSvgStrokePatternDef(style, elementId) {
|
|
|
1084
1085
|
if (!style || style.strokeFillMode !== "pattern" || !style.strokePatternPreset) {
|
|
1085
1086
|
return void 0;
|
|
1086
1087
|
}
|
|
1087
|
-
const fg =
|
|
1088
|
-
const bg =
|
|
1089
|
-
const tile4 =
|
|
1088
|
+
const fg = chunkVFPVEVF4_cjs.normalizeHexColor(style.strokeColor, "#000000");
|
|
1089
|
+
const bg = chunkVFPVEVF4_cjs.normalizeHexColor(style.strokePatternBackgroundColor, "#ffffff");
|
|
1090
|
+
const tile4 = chunkVFPVEVF4_cjs.getPatternTile(style.strokePatternPreset, fg, bg);
|
|
1090
1091
|
if (!tile4) {
|
|
1091
1092
|
return void 0;
|
|
1092
1093
|
}
|
|
@@ -1109,7 +1110,7 @@ function svgGradientId(elementId, suffix = "grad") {
|
|
|
1109
1110
|
return `pptx-${suffix}-${seed}`;
|
|
1110
1111
|
}
|
|
1111
1112
|
function toSvgStops(stops) {
|
|
1112
|
-
return
|
|
1113
|
+
return chunkVFPVEVF4_cjs.sanitizeGradientStops(stops).map((stop) => ({
|
|
1113
1114
|
offset: round4(stop.position / 100),
|
|
1114
1115
|
color: stop.color,
|
|
1115
1116
|
...typeof stop.opacity === "number" ? { opacity: round4(stop.opacity) } : {}
|
|
@@ -1136,7 +1137,7 @@ function buildFromSource(source, id) {
|
|
|
1136
1137
|
if ((source.pathType || "circle") === "rect") {
|
|
1137
1138
|
return buildRectPathGradientDef(stops, id, source.focalPoint, source.fillToRect);
|
|
1138
1139
|
}
|
|
1139
|
-
const { cx, cy } =
|
|
1140
|
+
const { cx, cy } = chunkVFPVEVF4_cjs.computeGradientCenter(source.fillToRect, source.focalPoint);
|
|
1140
1141
|
const fx = cx / 100;
|
|
1141
1142
|
const fy = cy / 100;
|
|
1142
1143
|
const r = Math.hypot(Math.max(fx, 1 - fx), Math.max(fy, 1 - fy));
|
|
@@ -1278,12 +1279,12 @@ function getPresetShapeVectorGeometry(shapeType, width, height, adjustments) {
|
|
|
1278
1279
|
function outlineStrands(compoundLine, strokeWidth) {
|
|
1279
1280
|
const offsets2 = getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
1280
1281
|
if (offsets2.length <= 1) {
|
|
1281
|
-
return [{ strokeWidth, cssStrokeWidth:
|
|
1282
|
+
return [{ strokeWidth, cssStrokeWidth: chunk526IHNIH_cjs.screenStrokeWidth(strokeWidth), offset: 0 }];
|
|
1282
1283
|
}
|
|
1283
1284
|
const widths = getCompoundLineWidths(compoundLine, strokeWidth);
|
|
1284
1285
|
return offsets2.map((offset, idx) => {
|
|
1285
1286
|
const width = widths[idx] ?? strokeWidth;
|
|
1286
|
-
return { strokeWidth: width, cssStrokeWidth:
|
|
1287
|
+
return { strokeWidth: width, cssStrokeWidth: chunk526IHNIH_cjs.screenStrokeWidth(width), offset };
|
|
1287
1288
|
});
|
|
1288
1289
|
}
|
|
1289
1290
|
function needsCenteredStrokeOverlay(element, style, declaredWidth) {
|
|
@@ -1319,11 +1320,11 @@ function buildStrokeOutline(element) {
|
|
|
1319
1320
|
return {
|
|
1320
1321
|
d,
|
|
1321
1322
|
paint,
|
|
1322
|
-
stroke: paint ? svgGradientFillRef(paint) :
|
|
1323
|
+
stroke: paint ? svgGradientFillRef(paint) : chunkVFPVEVF4_cjs.colorWithOpacity(style?.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR, style?.strokeOpacity),
|
|
1323
1324
|
strokeWidth,
|
|
1324
1325
|
strands: outlineStrands(style?.compoundLine, strokeWidth),
|
|
1325
|
-
dashArray:
|
|
1326
|
-
|
|
1326
|
+
dashArray: chunkVFPVEVF4_cjs.getSvgStrokeDasharray(
|
|
1327
|
+
chunkVFPVEVF4_cjs.normalizeStrokeDashType(style?.strokeDash),
|
|
1327
1328
|
Math.max(strokeWidth, 1),
|
|
1328
1329
|
style?.customDashSegments
|
|
1329
1330
|
),
|
|
@@ -1503,18 +1504,18 @@ function getComputedStrokeStyle(element) {
|
|
|
1503
1504
|
return { ...NO_STROKE, ...joins };
|
|
1504
1505
|
}
|
|
1505
1506
|
const borderWidth = width;
|
|
1506
|
-
const borderStyle =
|
|
1507
|
-
|
|
1507
|
+
const borderStyle = chunkVFPVEVF4_cjs.getCssBorderDashStyle(
|
|
1508
|
+
chunkVFPVEVF4_cjs.normalizeStrokeDashType(style.strokeDash),
|
|
1508
1509
|
style.compoundLine
|
|
1509
1510
|
);
|
|
1510
|
-
const rawColor = style.strokeColor ??
|
|
1511
|
-
const borderColor = style.strokeOpacity === void 0 ? rawColor :
|
|
1511
|
+
const rawColor = style.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR;
|
|
1512
|
+
const borderColor = style.strokeOpacity === void 0 ? rawColor : chunkVFPVEVF4_cjs.colorWithOpacity(chunkVFPVEVF4_cjs.normalizeHexColor(rawColor, chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
1512
1513
|
return {
|
|
1513
1514
|
borderWidth,
|
|
1514
|
-
cssBorderWidth:
|
|
1515
|
+
cssBorderWidth: chunk526IHNIH_cjs.screenStrokeWidth(borderWidth),
|
|
1515
1516
|
borderStyle,
|
|
1516
1517
|
borderColor,
|
|
1517
|
-
border:
|
|
1518
|
+
border: chunk526IHNIH_cjs.screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
|
|
1518
1519
|
...joins
|
|
1519
1520
|
};
|
|
1520
1521
|
}
|
|
@@ -1670,7 +1671,7 @@ function resolveGroupChildFill(child, parentGroupFill) {
|
|
|
1670
1671
|
if (!parentGroupFill || !pptx.hasShapeProperties(child) || child.shapeStyle?.fillMode !== "group") {
|
|
1671
1672
|
return void 0;
|
|
1672
1673
|
}
|
|
1673
|
-
return
|
|
1674
|
+
return chunkVFPVEVF4_cjs.getComputedFillStyle(child, parentGroupFill);
|
|
1674
1675
|
}
|
|
1675
1676
|
function getFrameInverseTransform(element) {
|
|
1676
1677
|
const transforms = [];
|
|
@@ -1722,9 +1723,9 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1722
1723
|
}
|
|
1723
1724
|
if (colorNode["a:scrgbClr"]) {
|
|
1724
1725
|
const scrgb = colorNode["a:scrgbClr"];
|
|
1725
|
-
const red =
|
|
1726
|
-
const green =
|
|
1727
|
-
const blue =
|
|
1726
|
+
const red = chunkVFPVEVF4_cjs.parseDrawingPercent(scrgb["@_r"]);
|
|
1727
|
+
const green = chunkVFPVEVF4_cjs.parseDrawingPercent(scrgb["@_g"]);
|
|
1728
|
+
const blue = chunkVFPVEVF4_cjs.parseDrawingPercent(scrgb["@_b"]);
|
|
1728
1729
|
if (red !== void 0 && green !== void 0 && blue !== void 0) {
|
|
1729
1730
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1730
1731
|
const base2 = `#${toHex2(red * 255)}${toHex2(green * 255)}${toHex2(blue * 255)}`;
|
|
@@ -1764,8 +1765,8 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1764
1765
|
const lumRaw = Number.parseFloat(String(hslNode["@_lum"] ?? ""));
|
|
1765
1766
|
if (Number.isFinite(hueRaw) && Number.isFinite(satRaw) && Number.isFinite(lumRaw)) {
|
|
1766
1767
|
const h = hueRaw / 6e4;
|
|
1767
|
-
const s =
|
|
1768
|
-
const l =
|
|
1768
|
+
const s = chunkVFPVEVF4_cjs.clampUnitInterval(satRaw / 1e5);
|
|
1769
|
+
const l = chunkVFPVEVF4_cjs.clampUnitInterval(lumRaw / 1e5);
|
|
1769
1770
|
const rgb = pptx.hslToRgb(h, s, l);
|
|
1770
1771
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1771
1772
|
const base2 = `#${toHex2(rgb.r)}${toHex2(rgb.g)}${toHex2(rgb.b)}`;
|
|
@@ -1805,11 +1806,11 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1805
1806
|
if (!colorChoice) {
|
|
1806
1807
|
return void 0;
|
|
1807
1808
|
}
|
|
1808
|
-
const alpha =
|
|
1809
|
-
const alphaMod =
|
|
1809
|
+
const alpha = chunkVFPVEVF4_cjs.parseDrawingPercent(colorChoice["a:alpha"]?.["@_val"]);
|
|
1810
|
+
const alphaMod = chunkVFPVEVF4_cjs.parseDrawingPercent(
|
|
1810
1811
|
colorChoice["a:alphaMod"]?.["@_val"]
|
|
1811
1812
|
);
|
|
1812
|
-
const alphaOff =
|
|
1813
|
+
const alphaOff = chunkVFPVEVF4_cjs.parseDrawingPercent(
|
|
1813
1814
|
colorChoice["a:alphaOff"]?.["@_val"]
|
|
1814
1815
|
);
|
|
1815
1816
|
if (alpha === void 0 && alphaMod === void 0 && alphaOff === void 0) {
|
|
@@ -1822,7 +1823,7 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1822
1823
|
if (alphaOff !== void 0) {
|
|
1823
1824
|
opacity += alphaOff;
|
|
1824
1825
|
}
|
|
1825
|
-
return
|
|
1826
|
+
return chunkVFPVEVF4_cjs.clampUnitInterval(opacity);
|
|
1826
1827
|
}
|
|
1827
1828
|
function substituteScriptFont(name, panose, baseFontFamily) {
|
|
1828
1829
|
return name ? pptx.getSubstituteFontFamily(name, pptx.parsePanoseString(panose)) : baseFontFamily;
|
|
@@ -2033,7 +2034,7 @@ function buildPatternOverlayTile(pattern) {
|
|
|
2033
2034
|
if (!pattern) {
|
|
2034
2035
|
return void 0;
|
|
2035
2036
|
}
|
|
2036
|
-
const tile4 =
|
|
2037
|
+
const tile4 = chunkVFPVEVF4_cjs.getPatternTile(
|
|
2037
2038
|
pattern.preset,
|
|
2038
2039
|
pattern.foreground ?? "#000000",
|
|
2039
2040
|
pattern.background ?? "#ffffff"
|
|
@@ -3587,10 +3588,10 @@ function getMeasureCtx() {
|
|
|
3587
3588
|
return measureCtx;
|
|
3588
3589
|
}
|
|
3589
3590
|
function envelopeFontSizePx(font) {
|
|
3590
|
-
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
3591
|
+
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
3591
3592
|
}
|
|
3592
3593
|
function toCanvasFont(font, sizePx = envelopeFontSizePx(font)) {
|
|
3593
|
-
const family2 = font.fontFamily ||
|
|
3594
|
+
const family2 = font.fontFamily || chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY;
|
|
3594
3595
|
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${sizePx}px ${family2}`;
|
|
3595
3596
|
}
|
|
3596
3597
|
function enableKerning(ctx) {
|
|
@@ -4585,7 +4586,7 @@ function createGlyphOutlineLookup(cache) {
|
|
|
4585
4586
|
return (char, font, x, y) => {
|
|
4586
4587
|
const parsed = cache.get(font.fontFamily, font.bold, font.italic);
|
|
4587
4588
|
if (parsed) {
|
|
4588
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
4589
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
4589
4590
|
const commands = extractGlyphOutlineCommands(parsed, char, x, y, size);
|
|
4590
4591
|
if (commands) {
|
|
4591
4592
|
return commands;
|
|
@@ -6773,7 +6774,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6773
6774
|
let rSquared = 0;
|
|
6774
6775
|
switch (trendline.trendlineType) {
|
|
6775
6776
|
case "linear": {
|
|
6776
|
-
const reg =
|
|
6777
|
+
const reg = chunkVFPVEVF4_cjs.computeLinearRegression(xVals, yVals);
|
|
6777
6778
|
const intercept = trendline.intercept;
|
|
6778
6779
|
const slope = intercept !== void 0 ? yVals.reduce((s, y, i) => s + (y - intercept) * xVals[i], 0) / xVals.reduce((s, x) => s + x * x, 0) : reg.slope;
|
|
6779
6780
|
const b = intercept ?? reg.intercept;
|
|
@@ -6788,7 +6789,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6788
6789
|
if (logY.length < 2) {
|
|
6789
6790
|
return { points: [], equation: "", rSquared: 0 };
|
|
6790
6791
|
}
|
|
6791
|
-
const reg =
|
|
6792
|
+
const reg = chunkVFPVEVF4_cjs.computeLinearRegression(filteredX, logY);
|
|
6792
6793
|
const a = Math.exp(reg.intercept);
|
|
6793
6794
|
const b = reg.slope;
|
|
6794
6795
|
evalFn = (x) => a * Math.exp(b * x);
|
|
@@ -6802,7 +6803,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6802
6803
|
if (lnX.length < 2) {
|
|
6803
6804
|
return { points: [], equation: "", rSquared: 0 };
|
|
6804
6805
|
}
|
|
6805
|
-
const reg =
|
|
6806
|
+
const reg = chunkVFPVEVF4_cjs.computeLinearRegression(lnX, filteredY);
|
|
6806
6807
|
evalFn = (x) => x > 0 ? reg.slope * Math.log(x) + reg.intercept : 0;
|
|
6807
6808
|
equation = `y = ${reg.slope.toFixed(2)}ln(x) + ${reg.intercept.toFixed(2)}`;
|
|
6808
6809
|
rSquared = reg.rSquared;
|
|
@@ -6814,7 +6815,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6814
6815
|
if (logX.length < 2) {
|
|
6815
6816
|
return { points: [], equation: "", rSquared: 0 };
|
|
6816
6817
|
}
|
|
6817
|
-
const reg =
|
|
6818
|
+
const reg = chunkVFPVEVF4_cjs.computeLinearRegression(logX, logY);
|
|
6818
6819
|
const a = Math.exp(reg.intercept);
|
|
6819
6820
|
evalFn = (x) => x > 0 ? a * x ** reg.slope : 0;
|
|
6820
6821
|
equation = `y = ${a.toFixed(2)}x^${reg.slope.toFixed(2)}`;
|
|
@@ -6823,10 +6824,10 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6823
6824
|
}
|
|
6824
6825
|
case "polynomial": {
|
|
6825
6826
|
const order = Math.min(trendline.order ?? 2, 6);
|
|
6826
|
-
const coeffs =
|
|
6827
|
+
const coeffs = chunkVFPVEVF4_cjs.fitPolynomial(xVals, yVals, order);
|
|
6827
6828
|
evalFn = (x) => coeffs.reduce((s, c, i) => s + c * x ** i, 0);
|
|
6828
6829
|
equation = coeffs.map((c, i) => `${c.toFixed(2)}x^${i}`).join(" + ");
|
|
6829
|
-
rSquared =
|
|
6830
|
+
rSquared = chunkVFPVEVF4_cjs.computeRSquared(xVals, yVals, evalFn);
|
|
6830
6831
|
break;
|
|
6831
6832
|
}
|
|
6832
6833
|
case "movingAvg": {
|
|
@@ -7164,7 +7165,7 @@ var COMBO_SERIES_TYPE_OPTIONS = [
|
|
|
7164
7165
|
function patchChartData(data, patch) {
|
|
7165
7166
|
const { chartType, ...rest } = patch;
|
|
7166
7167
|
if (chartType === "pareto") {
|
|
7167
|
-
return { ...
|
|
7168
|
+
return { ...chunkVFPVEVF4_cjs.applyParetoConversion(data), ...rest };
|
|
7168
7169
|
}
|
|
7169
7170
|
if (chartType && chartType !== data.chartType) {
|
|
7170
7171
|
const adapted = pptx.chartDataChangeType(data, chartType);
|
|
@@ -7226,8 +7227,8 @@ function buildParetoInsertData() {
|
|
|
7226
7227
|
layout: "histogram",
|
|
7227
7228
|
binCount: PARETO_BIN_COUNT
|
|
7228
7229
|
};
|
|
7229
|
-
const bins =
|
|
7230
|
-
const ordered =
|
|
7230
|
+
const bins = chunkVFPVEVF4_cjs.computeHistogramBins(PARETO_VALUES, histogramOptions);
|
|
7231
|
+
const ordered = chunkVFPVEVF4_cjs.orderParetoEntries(
|
|
7231
7232
|
bins.map((bin, index) => ({ value: bin.value, label: bin.label, sourcePointIndex: index }))
|
|
7232
7233
|
);
|
|
7233
7234
|
return {
|
|
@@ -7240,7 +7241,7 @@ function buildParetoInsertData() {
|
|
|
7240
7241
|
},
|
|
7241
7242
|
{
|
|
7242
7243
|
name: "Cumulative %",
|
|
7243
|
-
values:
|
|
7244
|
+
values: chunkVFPVEVF4_cjs.cumulativePercentOfTotal(ordered.map((entry5) => entry5.value)),
|
|
7244
7245
|
histogramOptions: { layout: "pareto" }
|
|
7245
7246
|
}
|
|
7246
7247
|
]
|
|
@@ -7503,7 +7504,7 @@ var FILL_PATTERN_LABEL_KEYS = {
|
|
|
7503
7504
|
trellis: "pptx.fillPatterns.trellis",
|
|
7504
7505
|
zigZag: "pptx.fillPatterns.zigZag"
|
|
7505
7506
|
};
|
|
7506
|
-
var PATTERN_PRESET_OPTIONS =
|
|
7507
|
+
var PATTERN_PRESET_OPTIONS = chunkVFPVEVF4_cjs.OOXML_PATTERN_PRESETS.map(
|
|
7507
7508
|
(value) => ({ value, labelKey: FILL_PATTERN_LABEL_KEYS[value] })
|
|
7508
7509
|
);
|
|
7509
7510
|
|
|
@@ -7652,41 +7653,41 @@ var CHART_STYLE_PRESETS = [
|
|
|
7652
7653
|
id: "colorful",
|
|
7653
7654
|
labelKey: "pptx.chart.styleColorful",
|
|
7654
7655
|
styleId: 2,
|
|
7655
|
-
palette: () =>
|
|
7656
|
+
palette: () => chunkVFPVEVF4_cjs.getChartStylePalette(2)
|
|
7656
7657
|
},
|
|
7657
7658
|
{
|
|
7658
7659
|
id: "monochrome",
|
|
7659
7660
|
labelKey: "pptx.chart.styleMonochrome",
|
|
7660
7661
|
styleId: 3,
|
|
7661
|
-
palette: () =>
|
|
7662
|
+
palette: () => chunkVFPVEVF4_cjs.getChartStylePalette(3)
|
|
7662
7663
|
},
|
|
7663
7664
|
{
|
|
7664
7665
|
id: "colorfulLight",
|
|
7665
7666
|
labelKey: "pptx.chart.styleColorfulLight",
|
|
7666
7667
|
styleId: 18,
|
|
7667
|
-
palette: () => recolour((c) =>
|
|
7668
|
+
palette: () => recolour((c) => chunkVFPVEVF4_cjs.tint(c, 0.3))
|
|
7668
7669
|
},
|
|
7669
7670
|
{
|
|
7670
7671
|
id: "colorfulDark",
|
|
7671
7672
|
labelKey: "pptx.chart.styleColorfulDark",
|
|
7672
7673
|
styleId: 26,
|
|
7673
|
-
palette: () => recolour((c) =>
|
|
7674
|
+
palette: () => recolour((c) => chunkVFPVEVF4_cjs.shade(c, 0.3))
|
|
7674
7675
|
},
|
|
7675
7676
|
{
|
|
7676
7677
|
id: "mutedDark",
|
|
7677
7678
|
labelKey: "pptx.chart.styleMutedDark",
|
|
7678
7679
|
styleId: 34,
|
|
7679
|
-
palette: () => recolour((c) =>
|
|
7680
|
+
palette: () => recolour((c) => chunkVFPVEVF4_cjs.shade(chunkVFPVEVF4_cjs.tint(c, 0.3), 0.4))
|
|
7680
7681
|
},
|
|
7681
7682
|
{
|
|
7682
7683
|
id: "pastel",
|
|
7683
7684
|
labelKey: "pptx.chart.stylePastel",
|
|
7684
7685
|
styleId: 42,
|
|
7685
|
-
palette: () => recolour((c) =>
|
|
7686
|
+
palette: () => recolour((c) => chunkVFPVEVF4_cjs.tint(c, 0.55))
|
|
7686
7687
|
}
|
|
7687
7688
|
];
|
|
7688
7689
|
function recolour(transform) {
|
|
7689
|
-
return
|
|
7690
|
+
return chunkVFPVEVF4_cjs.getChartStylePalette(2).map(transform);
|
|
7690
7691
|
}
|
|
7691
7692
|
function chartStylePresetPalette(id) {
|
|
7692
7693
|
return findPreset(id)?.palette();
|
|
@@ -7800,7 +7801,7 @@ function applyChartElementToggle(chartData, key, checked) {
|
|
|
7800
7801
|
style: { ...chartData.style, ...chartDataLabelsTogglePatch(chartData.style, checked) }
|
|
7801
7802
|
});
|
|
7802
7803
|
case "gridlines":
|
|
7803
|
-
return patchChartData(chartData,
|
|
7804
|
+
return patchChartData(chartData, chunkVFPVEVF4_cjs.chartGridlinesPatch(chartData, checked));
|
|
7804
7805
|
case "axes":
|
|
7805
7806
|
return patchChartData(chartData, chartAxesVisibilityPatch(chartData, checked));
|
|
7806
7807
|
case "axisTitles":
|
|
@@ -7839,7 +7840,7 @@ function buildElements(chartData) {
|
|
|
7839
7840
|
{
|
|
7840
7841
|
key: "gridlines",
|
|
7841
7842
|
labelKey: "pptx.chart.showGridlines",
|
|
7842
|
-
checked:
|
|
7843
|
+
checked: chunkVFPVEVF4_cjs.chartGridlinesState(chartData)
|
|
7843
7844
|
},
|
|
7844
7845
|
{
|
|
7845
7846
|
key: "dataLabels",
|
|
@@ -8251,17 +8252,17 @@ function chartEventPathElements(event) {
|
|
|
8251
8252
|
}
|
|
8252
8253
|
function findChartPartElementInEvent(event) {
|
|
8253
8254
|
for (const el of chartEventPathElements(event)) {
|
|
8254
|
-
if (el.getAttribute(
|
|
8255
|
+
if (el.getAttribute(chunkK3S2A64B_cjs.CHART_PART_ATTR) !== null) {
|
|
8255
8256
|
return el;
|
|
8256
8257
|
}
|
|
8257
8258
|
}
|
|
8258
8259
|
return null;
|
|
8259
8260
|
}
|
|
8260
8261
|
function findChartPartInEvent(event) {
|
|
8261
|
-
return
|
|
8262
|
+
return chunkK3S2A64B_cjs.chartPartFromElement(findChartPartElementInEvent(event));
|
|
8262
8263
|
}
|
|
8263
8264
|
function isChartTitleEvent(event) {
|
|
8264
|
-
return findChartPartElementInEvent(event)?.getAttribute(
|
|
8265
|
+
return findChartPartElementInEvent(event)?.getAttribute(chunkK3S2A64B_cjs.CHART_PART_ATTR) === "title";
|
|
8265
8266
|
}
|
|
8266
8267
|
|
|
8267
8268
|
// src/pptx/render/chart-interaction-mark-drag.ts
|
|
@@ -8296,14 +8297,14 @@ function advanceChartMarkDrag(state, clientX, clientY, rect3) {
|
|
|
8296
8297
|
return null;
|
|
8297
8298
|
}
|
|
8298
8299
|
const travelled = Math.hypot(clientX - state.startClientX, clientY - state.startClientY);
|
|
8299
|
-
if (!state.moved && travelled <
|
|
8300
|
+
if (!state.moved && travelled < chunkK3S2A64B_cjs.CHART_DRAG_THRESHOLD_PX) {
|
|
8300
8301
|
return null;
|
|
8301
8302
|
}
|
|
8302
8303
|
if (rect3.width === 0 || rect3.height === 0) {
|
|
8303
8304
|
return null;
|
|
8304
8305
|
}
|
|
8305
8306
|
state.moved = true;
|
|
8306
|
-
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value =
|
|
8307
|
+
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value = chunkK3S2A64B_cjs.resolveChartDragValue(state.geometry, pointer), chartData = chunkK3S2A64B_cjs.withChartPointValue(
|
|
8307
8308
|
state.baseChartData,
|
|
8308
8309
|
state.part.seriesIndex,
|
|
8309
8310
|
state.part.pointIndex,
|
|
@@ -9578,31 +9579,31 @@ function encodeWav(samples, sampleRate = SAMPLE_RATE) {
|
|
|
9578
9579
|
const byteRate = sampleRate * blockAlign;
|
|
9579
9580
|
const dataSize = samples.length * blockAlign;
|
|
9580
9581
|
const buffer = new ArrayBuffer(HEADER_BYTES + dataSize);
|
|
9581
|
-
const
|
|
9582
|
-
writeAscii(
|
|
9583
|
-
|
|
9584
|
-
writeAscii(
|
|
9585
|
-
writeAscii(
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
|
|
9593
|
-
writeAscii(
|
|
9594
|
-
|
|
9582
|
+
const view2 = new DataView(buffer);
|
|
9583
|
+
writeAscii(view2, 0, "RIFF");
|
|
9584
|
+
view2.setUint32(4, 36 + dataSize, true);
|
|
9585
|
+
writeAscii(view2, 8, "WAVE");
|
|
9586
|
+
writeAscii(view2, 12, "fmt ");
|
|
9587
|
+
view2.setUint32(16, 16, true);
|
|
9588
|
+
view2.setUint16(20, 1, true);
|
|
9589
|
+
view2.setUint16(22, NUM_CHANNELS, true);
|
|
9590
|
+
view2.setUint32(24, sampleRate, true);
|
|
9591
|
+
view2.setUint32(28, byteRate, true);
|
|
9592
|
+
view2.setUint16(32, blockAlign, true);
|
|
9593
|
+
view2.setUint16(34, BITS_PER_SAMPLE, true);
|
|
9594
|
+
writeAscii(view2, 36, "data");
|
|
9595
|
+
view2.setUint32(40, dataSize, true);
|
|
9595
9596
|
let offset = HEADER_BYTES;
|
|
9596
9597
|
for (const sample of samples) {
|
|
9597
9598
|
const clamped = Math.max(-1, Math.min(1, sample));
|
|
9598
|
-
|
|
9599
|
+
view2.setInt16(offset, Math.round(clamped < 0 ? clamped * 32768 : clamped * 32767), true);
|
|
9599
9600
|
offset += 2;
|
|
9600
9601
|
}
|
|
9601
9602
|
return new Uint8Array(buffer);
|
|
9602
9603
|
}
|
|
9603
|
-
function writeAscii(
|
|
9604
|
+
function writeAscii(view2, offset, text3) {
|
|
9604
9605
|
for (let i = 0; i < text3.length; i++) {
|
|
9605
|
-
|
|
9606
|
+
view2.setUint8(offset + i, text3.charCodeAt(i));
|
|
9606
9607
|
}
|
|
9607
9608
|
}
|
|
9608
9609
|
var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
@@ -11877,7 +11878,7 @@ function getAnimationColorBaseStyle(element, options = {}) {
|
|
|
11877
11878
|
}
|
|
11878
11879
|
const style = {};
|
|
11879
11880
|
if (options.animatesFill) {
|
|
11880
|
-
const fill =
|
|
11881
|
+
const fill = chunkVFPVEVF4_cjs.getComputedFillStyle(element, options.parentGroupFill);
|
|
11881
11882
|
style[ANIMATION_COLOR_BASE_PROPERTIES.fill] = fill?.backgroundColor ?? element.shapeStyle?.fillColor ?? "currentColor";
|
|
11882
11883
|
}
|
|
11883
11884
|
if (options.animatesStroke) {
|
|
@@ -19558,7 +19559,7 @@ function borderToCss(border2, resolve) {
|
|
|
19558
19559
|
const width = border2.width ?? 1;
|
|
19559
19560
|
const dash = ooxmlDashToCssBorderStyle(border2.dash);
|
|
19560
19561
|
const color = border2.color ?? resolve(border2.fill) ?? "#000000";
|
|
19561
|
-
return
|
|
19562
|
+
return chunk526IHNIH_cjs.screenBorder(width, dash, color);
|
|
19562
19563
|
}
|
|
19563
19564
|
function collectSections(entry5, tableData, pos) {
|
|
19564
19565
|
const { rowIndex, cellIndex, rowCount, columnCount } = pos;
|
|
@@ -19936,7 +19937,7 @@ function gradientCssFromFill(fill, colorScheme) {
|
|
|
19936
19937
|
position: stop.position
|
|
19937
19938
|
}))
|
|
19938
19939
|
};
|
|
19939
|
-
return
|
|
19940
|
+
return chunkVFPVEVF4_cjs.buildGradientCss(shapeLike);
|
|
19940
19941
|
}
|
|
19941
19942
|
function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
19942
19943
|
if (fill?.noFill) {
|
|
@@ -19962,13 +19963,13 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19962
19963
|
}
|
|
19963
19964
|
}
|
|
19964
19965
|
if (fill?.pattern) {
|
|
19965
|
-
const fg =
|
|
19966
|
+
const fg = chunkVFPVEVF4_cjs.normalizeHexColor(
|
|
19966
19967
|
resolveStyleFillColor(fill.pattern.foreground, colorScheme),
|
|
19967
19968
|
"#000000"
|
|
19968
|
-
), bg =
|
|
19969
|
+
), bg = chunkVFPVEVF4_cjs.normalizeHexColor(
|
|
19969
19970
|
resolveStyleFillColor(fill.pattern.background, colorScheme),
|
|
19970
19971
|
"#ffffff"
|
|
19971
|
-
), svg2 =
|
|
19972
|
+
), svg2 = chunkVFPVEVF4_cjs.getPatternSvg(fill.pattern.preset, fg, bg);
|
|
19972
19973
|
clearBackground(css);
|
|
19973
19974
|
if (svg2) {
|
|
19974
19975
|
css.backgroundImage = `url("data:image/svg+xml,${encodeURIComponent(svg2)}")`;
|
|
@@ -19977,7 +19978,7 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19977
19978
|
return true;
|
|
19978
19979
|
}
|
|
19979
19980
|
const resolved = resolveStyleFillColor(fill, colorScheme);
|
|
19980
|
-
const color = (resolved && fill?.alpha !== void 0 ?
|
|
19981
|
+
const color = (resolved && fill?.alpha !== void 0 ? chunkVFPVEVF4_cjs.colorWithOpacity(resolved, fill.alpha / 1e5) : resolved) ?? fallback;
|
|
19981
19982
|
if (color) {
|
|
19982
19983
|
layerSolidColor(css, color);
|
|
19983
19984
|
return true;
|
|
@@ -20361,8 +20362,8 @@ function getMeasureContext() {
|
|
|
20361
20362
|
return measureContext2;
|
|
20362
20363
|
}
|
|
20363
20364
|
function toCanvasFont2(font) {
|
|
20364
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
20365
|
-
const family2 = font.fontFamily ||
|
|
20365
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
20366
|
+
const family2 = font.fontFamily || chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY;
|
|
20366
20367
|
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family2}`;
|
|
20367
20368
|
}
|
|
20368
20369
|
function advancesOf(ctx, canvasFont, chars) {
|
|
@@ -20555,7 +20556,7 @@ function resolveTextOutlineDashCss(s, fillColor) {
|
|
|
20555
20556
|
if (s.textFillGradient || s.textFillPattern || s.textFillBlipUrl || s.highlightColor) {
|
|
20556
20557
|
return void 0;
|
|
20557
20558
|
}
|
|
20558
|
-
const strokeColor =
|
|
20559
|
+
const strokeColor = chunkVFPVEVF4_cjs.normalizeHexColor(s.textOutlineColor, fillColor ?? "#000000");
|
|
20559
20560
|
return {
|
|
20560
20561
|
WebkitTextStroke: `${width}px transparent`,
|
|
20561
20562
|
WebkitTextFillColor: s.textFillNone ? "transparent" : fillColor ?? "currentColor",
|
|
@@ -20719,13 +20720,13 @@ function applyExtraRunProps(style, s, text3, font) {
|
|
|
20719
20720
|
style.fontKerning = fontKerning;
|
|
20720
20721
|
}
|
|
20721
20722
|
if (s.highlightColor) {
|
|
20722
|
-
style.backgroundColor =
|
|
20723
|
+
style.backgroundColor = chunkVFPVEVF4_cjs.normalizeHexColor(s.highlightColor, "transparent");
|
|
20723
20724
|
}
|
|
20724
20725
|
if (s.underlineColor) {
|
|
20725
|
-
style.textDecorationColor =
|
|
20726
|
+
style.textDecorationColor = chunkVFPVEVF4_cjs.normalizeHexColor(s.underlineColor);
|
|
20726
20727
|
}
|
|
20727
20728
|
if (s.textOutlineWidth) {
|
|
20728
|
-
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${
|
|
20729
|
+
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${chunkVFPVEVF4_cjs.normalizeHexColor(s.textOutlineColor, "#000000")}` : `${s.textOutlineWidth}px currentColor`;
|
|
20729
20730
|
style.paintOrder = "stroke fill";
|
|
20730
20731
|
}
|
|
20731
20732
|
if (s.textCaps === "all") {
|
|
@@ -20766,7 +20767,7 @@ function segmentStyleToCss(seg, fontScale = 1, context = {}) {
|
|
|
20766
20767
|
if (s.color) {
|
|
20767
20768
|
style.color = s.color;
|
|
20768
20769
|
} else if (s.hyperlink) {
|
|
20769
|
-
style.color =
|
|
20770
|
+
style.color = chunkVFPVEVF4_cjs.HYPERLINK_COLOR;
|
|
20770
20771
|
}
|
|
20771
20772
|
style.fontWeight = s.bold ? "bold" : "normal";
|
|
20772
20773
|
style.fontStyle = s.italic ? "italic" : "normal";
|
|
@@ -20851,9 +20852,9 @@ function cellPatternFillCss(style) {
|
|
|
20851
20852
|
if (style.fillMode !== "pattern" || !style.patternFillPreset) {
|
|
20852
20853
|
return null;
|
|
20853
20854
|
}
|
|
20854
|
-
const fg =
|
|
20855
|
-
const bg =
|
|
20856
|
-
const svgMarkup =
|
|
20855
|
+
const fg = chunkVFPVEVF4_cjs.normalizeHexColor(style.patternFillForeground, "#000000");
|
|
20856
|
+
const bg = chunkVFPVEVF4_cjs.normalizeHexColor(style.patternFillBackground, "#ffffff");
|
|
20857
|
+
const svgMarkup = chunkVFPVEVF4_cjs.getPatternSvg(style.patternFillPreset, fg, bg);
|
|
20857
20858
|
if (svgMarkup) {
|
|
20858
20859
|
const encoded = encodeURIComponent(svgMarkup);
|
|
20859
20860
|
return {
|
|
@@ -21017,7 +21018,7 @@ function cellStyleToCss(style) {
|
|
|
21017
21018
|
const w = edge.width ?? 1;
|
|
21018
21019
|
const c = edge.color ?? style.borderColor ?? "#000000";
|
|
21019
21020
|
const s = ooxmlDashToCssBorderStyle(edge.dash);
|
|
21020
|
-
css[edge.prefix] =
|
|
21021
|
+
css[edge.prefix] = chunk526IHNIH_cjs.screenBorder(w, s, c);
|
|
21021
21022
|
}
|
|
21022
21023
|
}
|
|
21023
21024
|
Object.assign(css, cellPaddingCss(style));
|
|
@@ -21239,7 +21240,7 @@ function tableCellCss(tableData, cell, position, context, base2) {
|
|
|
21239
21240
|
);
|
|
21240
21241
|
const css = { ...base2, ...band, ...cellStyleToCss(cell?.style) };
|
|
21241
21242
|
if (css.color === void 0) {
|
|
21242
|
-
css.color =
|
|
21243
|
+
css.color = chunkVFPVEVF4_cjs.DEFAULT_TEXT_COLOR;
|
|
21243
21244
|
}
|
|
21244
21245
|
return { ...TABLE_CELL_TEXT_DEFAULTS, ...css };
|
|
21245
21246
|
}
|
|
@@ -21568,7 +21569,7 @@ var GRADIENT_TYPE_OPTIONS = [
|
|
|
21568
21569
|
{ value: "linear", i18nKey: "pptx.table.gradientLinear" },
|
|
21569
21570
|
{ value: "radial", i18nKey: "pptx.table.gradientRadial" }
|
|
21570
21571
|
];
|
|
21571
|
-
var PATTERN_OPTIONS =
|
|
21572
|
+
var PATTERN_OPTIONS = chunkVFPVEVF4_cjs.OOXML_PATTERN_PRESETS.slice(0, 20);
|
|
21572
21573
|
|
|
21573
21574
|
// src/pptx/render/table-resize.ts
|
|
21574
21575
|
var MIN_COLUMN_PROPORTION = 0.03;
|
|
@@ -22392,10 +22393,10 @@ function imageFitTransformParts(el) {
|
|
|
22392
22393
|
return { placement: "", crop: "" };
|
|
22393
22394
|
}
|
|
22394
22395
|
return fitTransformsFromInsets({
|
|
22395
|
-
cropLeft:
|
|
22396
|
-
cropTop:
|
|
22397
|
-
cropRight:
|
|
22398
|
-
cropBottom:
|
|
22396
|
+
cropLeft: chunkVFPVEVF4_cjs.clampCropValue(el.cropLeft),
|
|
22397
|
+
cropTop: chunkVFPVEVF4_cjs.clampCropValue(el.cropTop),
|
|
22398
|
+
cropRight: chunkVFPVEVF4_cjs.clampCropValue(el.cropRight),
|
|
22399
|
+
cropBottom: chunkVFPVEVF4_cjs.clampCropValue(el.cropBottom),
|
|
22399
22400
|
fillRectLeft: el.fillRectLeft ?? 0,
|
|
22400
22401
|
fillRectTop: el.fillRectTop ?? 0,
|
|
22401
22402
|
fillRectRight: el.fillRectRight ?? 0,
|
|
@@ -22419,10 +22420,10 @@ function fitTransformsFromInsets(insets) {
|
|
|
22419
22420
|
if (hasCrop2) {
|
|
22420
22421
|
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
22421
22422
|
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
22422
|
-
cropLeft =
|
|
22423
|
-
cropRight =
|
|
22424
|
-
cropTop =
|
|
22425
|
-
cropBottom =
|
|
22423
|
+
cropLeft = chunkVFPVEVF4_cjs.clampCropValue(cropLeft * horizontalScale);
|
|
22424
|
+
cropRight = chunkVFPVEVF4_cjs.clampCropValue(cropRight * horizontalScale);
|
|
22425
|
+
cropTop = chunkVFPVEVF4_cjs.clampCropValue(cropTop * verticalScale);
|
|
22426
|
+
cropBottom = chunkVFPVEVF4_cjs.clampCropValue(cropBottom * verticalScale);
|
|
22426
22427
|
const remainingWidth = Math.max(0.01, 1 - cropLeft - cropRight);
|
|
22427
22428
|
const remainingHeight = Math.max(0.01, 1 - cropTop - cropBottom);
|
|
22428
22429
|
const tx = Math.round(-cropLeft / remainingWidth * 1e4) / 100;
|
|
@@ -22537,7 +22538,7 @@ function resolveShadeToTitleBackgroundImage(slide, slideWidthPx, slideHeightPx)
|
|
|
22537
22538
|
if (stops.length === 0) {
|
|
22538
22539
|
return void 0;
|
|
22539
22540
|
}
|
|
22540
|
-
return
|
|
22541
|
+
return chunkVFPVEVF4_cjs.buildRectPathGradientImage(stops, void 0, fillToRect);
|
|
22541
22542
|
}
|
|
22542
22543
|
|
|
22543
22544
|
// src/pptx/render/slide-background.ts
|
|
@@ -22559,7 +22560,7 @@ function getSlideBackgroundStyle(slide, slideSize) {
|
|
|
22559
22560
|
style["background-repeat"] = "no-repeat";
|
|
22560
22561
|
}
|
|
22561
22562
|
} else if (pattern) {
|
|
22562
|
-
const svg2 =
|
|
22563
|
+
const svg2 = chunkVFPVEVF4_cjs.getPatternSvg(
|
|
22563
22564
|
pattern.preset,
|
|
22564
22565
|
pattern.fgColor ?? solid ?? "#000000",
|
|
22565
22566
|
pattern.bgColor ?? DEFAULT_SLIDE_BACKGROUND
|
|
@@ -23967,12 +23968,12 @@ function buildRunTabLines(text3, ctx, nestedDecoration, measure2 = (t) => measur
|
|
|
23967
23968
|
// src/pptx/render/paragraph-run-enrich.ts
|
|
23968
23969
|
function resolveRunExtrasContext(input) {
|
|
23969
23970
|
const { seg, runFont, blockFont, blockScriptStyle, tabStops, defaultTabSize, rtl } = input;
|
|
23970
|
-
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ??
|
|
23971
|
+
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ?? chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY;
|
|
23971
23972
|
const scriptFonts = resolveScriptFontSet(seg.style, blockScriptStyle, baseFontFamily);
|
|
23972
23973
|
const tabContext = tabStops && tabStops.length > 0 ? buildTabContext(
|
|
23973
23974
|
tabStops,
|
|
23974
23975
|
defaultTabSize,
|
|
23975
|
-
runFont.fontSizePx ?? blockFont.fontSizePx ??
|
|
23976
|
+
runFont.fontSizePx ?? blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
23976
23977
|
baseFontFamily,
|
|
23977
23978
|
Boolean(seg.style?.bold),
|
|
23978
23979
|
Boolean(seg.style?.italic),
|
|
@@ -24004,7 +24005,7 @@ function resolveRunReflection(segStyle, blockFont) {
|
|
|
24004
24005
|
if (!segStyle) {
|
|
24005
24006
|
return void 0;
|
|
24006
24007
|
}
|
|
24007
|
-
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ??
|
|
24008
|
+
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24008
24009
|
return getTextReflectionWrapperStyle(segStyle, height);
|
|
24009
24010
|
}
|
|
24010
24011
|
function applyRunReflection(run, reflection2) {
|
|
@@ -24171,7 +24172,7 @@ function buildTextShadowCss(style) {
|
|
|
24171
24172
|
const ox = style.textShadowOffsetX ?? 0;
|
|
24172
24173
|
const oy = style.textShadowOffsetY ?? 0;
|
|
24173
24174
|
const blur = style.textShadowBlur ?? 4;
|
|
24174
|
-
const color =
|
|
24175
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textShadowColor, "#000000");
|
|
24175
24176
|
const opacity = style.textShadowOpacity ?? 0.5;
|
|
24176
24177
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24177
24178
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24184,7 +24185,7 @@ function buildTextShadowCss(style) {
|
|
|
24184
24185
|
const dirRad = dir * Math.PI / 180;
|
|
24185
24186
|
const psOx = Math.round(Math.cos(dirRad) * dist2 * 100) / 100;
|
|
24186
24187
|
const psOy = Math.round(Math.sin(dirRad) * dist2 * 100) / 100;
|
|
24187
|
-
const psColor =
|
|
24188
|
+
const psColor = chunkVFPVEVF4_cjs.normalizeHexColor(style.textPresetShadowColor, "#000000");
|
|
24188
24189
|
const psOpacity = style.textPresetShadowOpacity ?? 0.5;
|
|
24189
24190
|
const psR = parseInt(psColor.slice(1, 3), 16);
|
|
24190
24191
|
const psG = parseInt(psColor.slice(3, 5), 16);
|
|
@@ -24201,7 +24202,7 @@ function buildTextInnerShadowCss(style) {
|
|
|
24201
24202
|
const ox = style.textInnerShadowOffsetX ?? 0;
|
|
24202
24203
|
const oy = style.textInnerShadowOffsetY ?? 0;
|
|
24203
24204
|
const blur = style.textInnerShadowBlur ?? 3;
|
|
24204
|
-
const color =
|
|
24205
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textInnerShadowColor, "#000000");
|
|
24205
24206
|
const opacity = style.textInnerShadowOpacity ?? 0.5;
|
|
24206
24207
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24207
24208
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24248,7 +24249,7 @@ function buildTextGlowFilter(style) {
|
|
|
24248
24249
|
return void 0;
|
|
24249
24250
|
}
|
|
24250
24251
|
const radius = style.textGlowRadius ?? 6;
|
|
24251
|
-
const color =
|
|
24252
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textGlowColor, "#ffff00");
|
|
24252
24253
|
const opacity = style.textGlowOpacity ?? 0.6;
|
|
24253
24254
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24254
24255
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24276,9 +24277,9 @@ function buildTextFillCss(style) {
|
|
|
24276
24277
|
};
|
|
24277
24278
|
}
|
|
24278
24279
|
if (style.textFillPattern) {
|
|
24279
|
-
const fg =
|
|
24280
|
-
const bg =
|
|
24281
|
-
const svgPattern =
|
|
24280
|
+
const fg = chunkVFPVEVF4_cjs.normalizeHexColor(style.textFillPatternForeground, "#000000");
|
|
24281
|
+
const bg = chunkVFPVEVF4_cjs.normalizeHexColor(style.textFillPatternBackground, "#ffffff");
|
|
24282
|
+
const svgPattern = chunkVFPVEVF4_cjs.getPatternSvg(style.textFillPattern, fg, bg);
|
|
24282
24283
|
if (svgPattern) {
|
|
24283
24284
|
const encoded = encodeURIComponent(svgPattern);
|
|
24284
24285
|
return {
|
|
@@ -24423,15 +24424,15 @@ function resolveRunRuby(segment, baseFontSizePx, blockFont, baseColor) {
|
|
|
24423
24424
|
return void 0;
|
|
24424
24425
|
}
|
|
24425
24426
|
const authoredFamily = segment.rubyStyle?.fontFamily ?? segment.style?.fontFamily;
|
|
24426
|
-
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx :
|
|
24427
|
+
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24427
24428
|
const style = {
|
|
24428
24429
|
fontSize: `${segment.rubyFontSize ?? baseSize * RUBY_SIZE_RATIO}px`,
|
|
24429
|
-
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ??
|
|
24430
|
+
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ?? chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
24430
24431
|
textAlign: rubyTextAlign(segment.rubyAlignment)
|
|
24431
24432
|
};
|
|
24432
24433
|
const color = segment.rubyStyle?.color;
|
|
24433
24434
|
if (color) {
|
|
24434
|
-
style.color =
|
|
24435
|
+
style.color = chunkVFPVEVF4_cjs.normalizeHexColor(color, baseColor);
|
|
24435
24436
|
}
|
|
24436
24437
|
return { text: text3, style };
|
|
24437
24438
|
}
|
|
@@ -24503,7 +24504,7 @@ function buildParagraphRuns(input) {
|
|
|
24503
24504
|
bodyFontSizeRaw,
|
|
24504
24505
|
fontScale
|
|
24505
24506
|
);
|
|
24506
|
-
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ??
|
|
24507
|
+
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24507
24508
|
equationStyle.fontSize = `${fallbackFontSize}px`;
|
|
24508
24509
|
}
|
|
24509
24510
|
runs.push({
|
|
@@ -24540,7 +24541,7 @@ function buildParagraphRuns(input) {
|
|
|
24540
24541
|
});
|
|
24541
24542
|
const ruby = resolveRunRuby(
|
|
24542
24543
|
seg,
|
|
24543
|
-
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ??
|
|
24544
|
+
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
24544
24545
|
blockFont,
|
|
24545
24546
|
typeof style.color === "string" ? style.color : void 0
|
|
24546
24547
|
);
|
|
@@ -24640,8 +24641,8 @@ function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
|
24640
24641
|
}
|
|
24641
24642
|
const fontScale = resolveAutoFitFontScale(element.textStyle);
|
|
24642
24643
|
const blockFont = {
|
|
24643
|
-
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) :
|
|
24644
|
-
fontSizePx: (element.textStyle?.fontSize ||
|
|
24644
|
+
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) : chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
24645
|
+
fontSizePx: (element.textStyle?.fontSize || chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE) * fontScale
|
|
24645
24646
|
};
|
|
24646
24647
|
const blockScriptStyle = element.textStyle;
|
|
24647
24648
|
const tabStops = element.textStyle?.tabStops;
|
|
@@ -27597,17 +27598,17 @@ function hasItalicRuns(element) {
|
|
|
27597
27598
|
);
|
|
27598
27599
|
}
|
|
27599
27600
|
function buildTextBlockStyle(element, options = {}) {
|
|
27600
|
-
const fallbackColor = options.fallbackColor ??
|
|
27601
|
+
const fallbackColor = options.fallbackColor ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_COLOR;
|
|
27601
27602
|
if (!pptx.hasTextProperties(element)) {
|
|
27602
27603
|
return { color: fallbackColor };
|
|
27603
27604
|
}
|
|
27604
27605
|
const ts = element.textStyle;
|
|
27605
27606
|
const italic = hasItalicRuns(element);
|
|
27606
27607
|
const isRtl = ts?.rtl === true;
|
|
27607
|
-
const bodyTop = ts?.bodyInsetTop ??
|
|
27608
|
-
const bodyBottom = ts?.bodyInsetBottom ??
|
|
27609
|
-
const bodyLeft = ts?.bodyInsetLeft ??
|
|
27610
|
-
const bodyRight = ts?.bodyInsetRight ??
|
|
27608
|
+
const bodyTop = ts?.bodyInsetTop ?? chunkVFPVEVF4_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27609
|
+
const bodyBottom = ts?.bodyInsetBottom ?? chunkVFPVEVF4_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27610
|
+
const bodyLeft = ts?.bodyInsetLeft ?? chunkVFPVEVF4_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27611
|
+
const bodyRight = ts?.bodyInsetRight ?? chunkVFPVEVF4_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27611
27612
|
const hasParagraphIndents = (element.paragraphIndents?.length ?? 0) > 0;
|
|
27612
27613
|
const bodyIndent = hasParagraphIndents ? 0 : ts?.paragraphIndent || 0;
|
|
27613
27614
|
const bodyMarginLeft = hasParagraphIndents ? 0 : ts?.paragraphMarginLeft || 0;
|
|
@@ -27636,17 +27637,17 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27636
27637
|
style.transformOrigin = "center";
|
|
27637
27638
|
}
|
|
27638
27639
|
}
|
|
27639
|
-
style.color = ts?.hyperlink ?
|
|
27640
|
+
style.color = ts?.hyperlink ? chunkVFPVEVF4_cjs.normalizeHexColor(ts?.color, chunkVFPVEVF4_cjs.HYPERLINK_COLOR) : chunkVFPVEVF4_cjs.normalizeHexColor(ts?.color, fallbackColor);
|
|
27640
27641
|
if (!hasTextSegments && ts?.highlightColor) {
|
|
27641
|
-
style.backgroundColor =
|
|
27642
|
+
style.backgroundColor = chunkVFPVEVF4_cjs.normalizeHexColor(ts.highlightColor, void 0);
|
|
27642
27643
|
}
|
|
27643
27644
|
style.textAlign = resolveCssTextAlign(ts?.align, isRtl) ?? "left";
|
|
27644
27645
|
style.direction = toCssVerticalDirection(ts?.textDirection) ?? (isRtl ? "rtl" : bodyLayoutStyle?.direction ?? "ltr");
|
|
27645
27646
|
if (isRtl) {
|
|
27646
27647
|
style.unicodeBidi = "plaintext";
|
|
27647
27648
|
}
|
|
27648
|
-
style.fontSize = ts?.fontSize ||
|
|
27649
|
-
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) :
|
|
27649
|
+
style.fontSize = ts?.fontSize || chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27650
|
+
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) : chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY;
|
|
27650
27651
|
style.fontWeight = ts?.bold ? 700 : 400;
|
|
27651
27652
|
style.fontStyle = ts?.italic ? "italic" : "normal";
|
|
27652
27653
|
style.textDecorationLine = decorations.length > 0 ? decorations.join(" ") : "none";
|
|
@@ -27686,7 +27687,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27686
27687
|
text: element.text ?? "",
|
|
27687
27688
|
width: element.width,
|
|
27688
27689
|
height: element.height,
|
|
27689
|
-
defaultFontSize:
|
|
27690
|
+
defaultFontSize: chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE
|
|
27690
27691
|
});
|
|
27691
27692
|
if (autoFit.fontSize !== void 0) {
|
|
27692
27693
|
style.fontSize = autoFit.fontSize;
|
|
@@ -27694,7 +27695,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27694
27695
|
if (autoFit.lineHeight !== void 0) {
|
|
27695
27696
|
style.lineHeight = autoFit.lineHeight;
|
|
27696
27697
|
}
|
|
27697
|
-
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize :
|
|
27698
|
+
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27698
27699
|
const lineHeightPx = lineHeightToPx(fontSizePx, style.lineHeight);
|
|
27699
27700
|
const contentHeightPx = element.height - style.paddingTop - style.paddingBottom;
|
|
27700
27701
|
Object.assign(style, resolveVertOverflowEllipsisStyle(ts, contentHeightPx, lineHeightPx));
|
|
@@ -30348,317 +30349,6 @@ function placeCaretAt(el, point) {
|
|
|
30348
30349
|
}
|
|
30349
30350
|
placeCaretAtEnd(el);
|
|
30350
30351
|
}
|
|
30351
|
-
|
|
30352
|
-
// src/pptx/render/connector-router-types.ts
|
|
30353
|
-
var PADDING_DEFAULT = 12;
|
|
30354
|
-
var ROUTING_PADDING_DEFAULT = PADDING_DEFAULT;
|
|
30355
|
-
var CANVAS_SENTINEL = 1e5;
|
|
30356
|
-
|
|
30357
|
-
// src/pptx/render/connector-router-graph.ts
|
|
30358
|
-
function inflateRect(r, pad) {
|
|
30359
|
-
return {
|
|
30360
|
-
x: r.x - pad,
|
|
30361
|
-
y: r.y - pad,
|
|
30362
|
-
width: r.width + pad * 2,
|
|
30363
|
-
height: r.height + pad * 2
|
|
30364
|
-
};
|
|
30365
|
-
}
|
|
30366
|
-
function pointInRect(p, r) {
|
|
30367
|
-
return p.x >= r.x && p.x <= r.x + r.width && p.y >= r.y && p.y <= r.y + r.height;
|
|
30368
|
-
}
|
|
30369
|
-
function segmentIntersectsRect(a, b, r) {
|
|
30370
|
-
const minX = Math.min(a.x, b.x);
|
|
30371
|
-
const maxX = Math.max(a.x, b.x);
|
|
30372
|
-
const minY = Math.min(a.y, b.y);
|
|
30373
|
-
const maxY = Math.max(a.y, b.y);
|
|
30374
|
-
const rRight = r.x + r.width;
|
|
30375
|
-
const rBottom = r.y + r.height;
|
|
30376
|
-
if (maxX < r.x || minX > rRight || maxY < r.y || minY > rBottom) {
|
|
30377
|
-
return false;
|
|
30378
|
-
}
|
|
30379
|
-
if (Math.abs(a.y - b.y) < 0.5) {
|
|
30380
|
-
return a.y >= r.y && a.y <= rBottom && maxX >= r.x && minX <= rRight;
|
|
30381
|
-
}
|
|
30382
|
-
if (Math.abs(a.x - b.x) < 0.5) {
|
|
30383
|
-
return a.x >= r.x && a.x <= rRight && maxY >= r.y && minY <= rBottom;
|
|
30384
|
-
}
|
|
30385
|
-
return true;
|
|
30386
|
-
}
|
|
30387
|
-
function directPathClear(start, end, inflated) {
|
|
30388
|
-
for (const rect3 of inflated) {
|
|
30389
|
-
if (segmentIntersectsRect(start, end, rect3)) {
|
|
30390
|
-
return false;
|
|
30391
|
-
}
|
|
30392
|
-
}
|
|
30393
|
-
return true;
|
|
30394
|
-
}
|
|
30395
|
-
function heuristic(a, b) {
|
|
30396
|
-
return Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
|
|
30397
|
-
}
|
|
30398
|
-
function pointKey(p) {
|
|
30399
|
-
return `${Math.round(p.x)},${Math.round(p.y)}`;
|
|
30400
|
-
}
|
|
30401
|
-
function buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight) {
|
|
30402
|
-
const margin = 4;
|
|
30403
|
-
const nodes = [start, end];
|
|
30404
|
-
for (const r of inflated) {
|
|
30405
|
-
const corners = [
|
|
30406
|
-
{ x: r.x - margin, y: r.y - margin },
|
|
30407
|
-
{ x: r.x + r.width + margin, y: r.y - margin },
|
|
30408
|
-
{ x: r.x - margin, y: r.y + r.height + margin },
|
|
30409
|
-
{ x: r.x + r.width + margin, y: r.y + r.height + margin }
|
|
30410
|
-
];
|
|
30411
|
-
for (const c of corners) {
|
|
30412
|
-
if (c.x >= 0 && c.x <= canvasWidth && c.y >= 0 && c.y <= canvasHeight) {
|
|
30413
|
-
let blocked = false;
|
|
30414
|
-
for (const rect3 of inflated) {
|
|
30415
|
-
if (pointInRect(c, rect3)) {
|
|
30416
|
-
blocked = true;
|
|
30417
|
-
break;
|
|
30418
|
-
}
|
|
30419
|
-
}
|
|
30420
|
-
if (!blocked) {
|
|
30421
|
-
nodes.push(c);
|
|
30422
|
-
}
|
|
30423
|
-
}
|
|
30424
|
-
}
|
|
30425
|
-
}
|
|
30426
|
-
const projections = [];
|
|
30427
|
-
for (const node of nodes) {
|
|
30428
|
-
projections.push({ x: start.x, y: node.y });
|
|
30429
|
-
projections.push({ x: node.x, y: start.y });
|
|
30430
|
-
projections.push({ x: end.x, y: node.y });
|
|
30431
|
-
projections.push({ x: node.x, y: end.y });
|
|
30432
|
-
}
|
|
30433
|
-
for (const p of projections) {
|
|
30434
|
-
if (p.x >= 0 && p.x <= canvasWidth && p.y >= 0 && p.y <= canvasHeight) {
|
|
30435
|
-
let blocked = false;
|
|
30436
|
-
for (const rect3 of inflated) {
|
|
30437
|
-
if (pointInRect(p, rect3)) {
|
|
30438
|
-
blocked = true;
|
|
30439
|
-
break;
|
|
30440
|
-
}
|
|
30441
|
-
}
|
|
30442
|
-
if (!blocked) {
|
|
30443
|
-
nodes.push(p);
|
|
30444
|
-
}
|
|
30445
|
-
}
|
|
30446
|
-
}
|
|
30447
|
-
return nodes;
|
|
30448
|
-
}
|
|
30449
|
-
|
|
30450
|
-
// src/pptx/render/connector-router-astar.ts
|
|
30451
|
-
var MAX_ASTAR_ITERATIONS = 2e3;
|
|
30452
|
-
function aStarOrthogonal(nodes, start, end, inflated) {
|
|
30453
|
-
const startKey = pointKey(start);
|
|
30454
|
-
const endKey = pointKey(end);
|
|
30455
|
-
const canConnect = (a, b) => {
|
|
30456
|
-
const isHoriz = Math.abs(a.y - b.y) < 1;
|
|
30457
|
-
const isVert = Math.abs(a.x - b.x) < 1;
|
|
30458
|
-
if (isHoriz || isVert) {
|
|
30459
|
-
for (const rect3 of inflated) {
|
|
30460
|
-
if (segmentIntersectsRect(a, b, rect3)) {
|
|
30461
|
-
return false;
|
|
30462
|
-
}
|
|
30463
|
-
}
|
|
30464
|
-
return true;
|
|
30465
|
-
}
|
|
30466
|
-
const bend1 = { x: b.x, y: a.y };
|
|
30467
|
-
const bend2 = { x: a.x, y: b.y };
|
|
30468
|
-
let path1Clear = true;
|
|
30469
|
-
let path2Clear = true;
|
|
30470
|
-
for (const rect3 of inflated) {
|
|
30471
|
-
if (path1Clear && (segmentIntersectsRect(a, bend1, rect3) || segmentIntersectsRect(bend1, b, rect3))) {
|
|
30472
|
-
path1Clear = false;
|
|
30473
|
-
}
|
|
30474
|
-
if (path2Clear && (segmentIntersectsRect(a, bend2, rect3) || segmentIntersectsRect(bend2, b, rect3))) {
|
|
30475
|
-
path2Clear = false;
|
|
30476
|
-
}
|
|
30477
|
-
if (!path1Clear && !path2Clear) {
|
|
30478
|
-
break;
|
|
30479
|
-
}
|
|
30480
|
-
}
|
|
30481
|
-
return path1Clear || path2Clear;
|
|
30482
|
-
};
|
|
30483
|
-
const gScore = /* @__PURE__ */ new Map();
|
|
30484
|
-
const fScore = /* @__PURE__ */ new Map();
|
|
30485
|
-
const cameFrom = /* @__PURE__ */ new Map();
|
|
30486
|
-
const bendPoint = /* @__PURE__ */ new Map();
|
|
30487
|
-
gScore.set(startKey, 0);
|
|
30488
|
-
fScore.set(startKey, heuristic(start, end));
|
|
30489
|
-
const openSet = /* @__PURE__ */ new Set([startKey]);
|
|
30490
|
-
const nodeMap = /* @__PURE__ */ new Map();
|
|
30491
|
-
for (const n of nodes) {
|
|
30492
|
-
nodeMap.set(pointKey(n), n);
|
|
30493
|
-
}
|
|
30494
|
-
const getLowest = () => {
|
|
30495
|
-
let best;
|
|
30496
|
-
let bestScore = Infinity;
|
|
30497
|
-
for (const key of openSet) {
|
|
30498
|
-
const score = fScore.get(key) ?? Infinity;
|
|
30499
|
-
if (score < bestScore) {
|
|
30500
|
-
bestScore = score;
|
|
30501
|
-
best = key;
|
|
30502
|
-
}
|
|
30503
|
-
}
|
|
30504
|
-
return best;
|
|
30505
|
-
};
|
|
30506
|
-
let iterations = 0;
|
|
30507
|
-
while (openSet.size > 0 && iterations < MAX_ASTAR_ITERATIONS) {
|
|
30508
|
-
iterations++;
|
|
30509
|
-
const currentKey = getLowest();
|
|
30510
|
-
if (currentKey === void 0) {
|
|
30511
|
-
break;
|
|
30512
|
-
}
|
|
30513
|
-
if (currentKey === endKey) {
|
|
30514
|
-
const path = [];
|
|
30515
|
-
let key = endKey;
|
|
30516
|
-
while (key !== void 0) {
|
|
30517
|
-
const node = nodeMap.get(key);
|
|
30518
|
-
if (node !== void 0) {
|
|
30519
|
-
const bp = bendPoint.get(key);
|
|
30520
|
-
if (bp !== void 0 && bp !== null) {
|
|
30521
|
-
path.unshift(node);
|
|
30522
|
-
path.unshift(bp);
|
|
30523
|
-
} else {
|
|
30524
|
-
path.unshift(node);
|
|
30525
|
-
}
|
|
30526
|
-
}
|
|
30527
|
-
key = cameFrom.get(key);
|
|
30528
|
-
}
|
|
30529
|
-
return path;
|
|
30530
|
-
}
|
|
30531
|
-
openSet.delete(currentKey);
|
|
30532
|
-
const current = nodeMap.get(currentKey);
|
|
30533
|
-
if (current === void 0) {
|
|
30534
|
-
continue;
|
|
30535
|
-
}
|
|
30536
|
-
for (const neighbor of nodes) {
|
|
30537
|
-
const neighborKey = pointKey(neighbor);
|
|
30538
|
-
if (neighborKey === currentKey) {
|
|
30539
|
-
continue;
|
|
30540
|
-
}
|
|
30541
|
-
if (!canConnect(current, neighbor)) {
|
|
30542
|
-
continue;
|
|
30543
|
-
}
|
|
30544
|
-
const isHoriz = Math.abs(current.y - neighbor.y) < 1;
|
|
30545
|
-
const isVert = Math.abs(current.x - neighbor.x) < 1;
|
|
30546
|
-
let dist2;
|
|
30547
|
-
let bp = null;
|
|
30548
|
-
if (isHoriz || isVert) {
|
|
30549
|
-
dist2 = heuristic(current, neighbor);
|
|
30550
|
-
} else {
|
|
30551
|
-
const bend1 = { x: neighbor.x, y: current.y };
|
|
30552
|
-
const bend2 = { x: current.x, y: neighbor.y };
|
|
30553
|
-
let use1 = true;
|
|
30554
|
-
for (const rect3 of inflated) {
|
|
30555
|
-
if (segmentIntersectsRect(current, bend1, rect3) || segmentIntersectsRect(bend1, neighbor, rect3)) {
|
|
30556
|
-
use1 = false;
|
|
30557
|
-
break;
|
|
30558
|
-
}
|
|
30559
|
-
}
|
|
30560
|
-
bp = use1 ? bend1 : bend2;
|
|
30561
|
-
dist2 = Math.abs(current.x - bp.x) + Math.abs(current.y - bp.y) + Math.abs(bp.x - neighbor.x) + Math.abs(bp.y - neighbor.y);
|
|
30562
|
-
}
|
|
30563
|
-
const tentativeG = (gScore.get(currentKey) ?? Infinity) + dist2;
|
|
30564
|
-
if (tentativeG < (gScore.get(neighborKey) ?? Infinity)) {
|
|
30565
|
-
cameFrom.set(neighborKey, currentKey);
|
|
30566
|
-
bendPoint.set(neighborKey, bp);
|
|
30567
|
-
gScore.set(neighborKey, tentativeG);
|
|
30568
|
-
fScore.set(neighborKey, tentativeG + heuristic(neighbor, end));
|
|
30569
|
-
openSet.add(neighborKey);
|
|
30570
|
-
}
|
|
30571
|
-
}
|
|
30572
|
-
}
|
|
30573
|
-
return [start, end];
|
|
30574
|
-
}
|
|
30575
|
-
function simplifyPath(points) {
|
|
30576
|
-
if (points.length <= 2) {
|
|
30577
|
-
return [...points];
|
|
30578
|
-
}
|
|
30579
|
-
const result = [points[0]];
|
|
30580
|
-
for (let i = 1; i < points.length - 1; i++) {
|
|
30581
|
-
const prev = result[result.length - 1];
|
|
30582
|
-
const curr = points[i];
|
|
30583
|
-
const next = points[i + 1];
|
|
30584
|
-
const sameX = Math.abs(prev.x - curr.x) < 1 && Math.abs(curr.x - next.x) < 1;
|
|
30585
|
-
const sameY = Math.abs(prev.y - curr.y) < 1 && Math.abs(curr.y - next.y) < 1;
|
|
30586
|
-
if (!sameX && !sameY) {
|
|
30587
|
-
result.push(curr);
|
|
30588
|
-
} else if (!sameX || !sameY) {
|
|
30589
|
-
if (!(sameX || sameY)) {
|
|
30590
|
-
result.push(curr);
|
|
30591
|
-
}
|
|
30592
|
-
}
|
|
30593
|
-
}
|
|
30594
|
-
result.push(points[points.length - 1]);
|
|
30595
|
-
return result;
|
|
30596
|
-
}
|
|
30597
|
-
|
|
30598
|
-
// src/pptx/render/connector-router.ts
|
|
30599
|
-
function routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight) {
|
|
30600
|
-
if (obstacles.length === 0) {
|
|
30601
|
-
return [start, end];
|
|
30602
|
-
}
|
|
30603
|
-
const inflated = obstacles.map((r) => inflateRect(r, padding));
|
|
30604
|
-
if (directPathClear(start, end, inflated)) {
|
|
30605
|
-
return [start, end];
|
|
30606
|
-
}
|
|
30607
|
-
const midH = { x: end.x, y: start.y };
|
|
30608
|
-
const midV = { x: start.x, y: end.y };
|
|
30609
|
-
let elbowHClear = true;
|
|
30610
|
-
let elbowVClear = true;
|
|
30611
|
-
for (const rect3 of inflated) {
|
|
30612
|
-
if (elbowHClear && (segmentIntersectsRect(start, midH, rect3) || segmentIntersectsRect(midH, end, rect3))) {
|
|
30613
|
-
elbowHClear = false;
|
|
30614
|
-
}
|
|
30615
|
-
if (elbowVClear && (segmentIntersectsRect(start, midV, rect3) || segmentIntersectsRect(midV, end, rect3))) {
|
|
30616
|
-
elbowVClear = false;
|
|
30617
|
-
}
|
|
30618
|
-
if (!elbowHClear && !elbowVClear) {
|
|
30619
|
-
break;
|
|
30620
|
-
}
|
|
30621
|
-
}
|
|
30622
|
-
if (elbowHClear) {
|
|
30623
|
-
return [start, midH, end];
|
|
30624
|
-
}
|
|
30625
|
-
if (elbowVClear) {
|
|
30626
|
-
return [start, midV, end];
|
|
30627
|
-
}
|
|
30628
|
-
const nodes = buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight);
|
|
30629
|
-
const path = aStarOrthogonal(nodes, start, end, inflated);
|
|
30630
|
-
return simplifyPath(path);
|
|
30631
|
-
}
|
|
30632
|
-
function routeConnector(options) {
|
|
30633
|
-
const { start, end, obstacles, canvasWidth, canvasHeight, padding = PADDING_DEFAULT } = options;
|
|
30634
|
-
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
30635
|
-
}
|
|
30636
|
-
function waypointsToPathData(waypoints) {
|
|
30637
|
-
if (waypoints.length === 0) {
|
|
30638
|
-
return "";
|
|
30639
|
-
}
|
|
30640
|
-
const parts = [`M ${waypoints[0].x} ${waypoints[0].y}`];
|
|
30641
|
-
for (let i = 1; i < waypoints.length; i++) {
|
|
30642
|
-
parts.push(`L ${waypoints[i].x} ${waypoints[i].y}`);
|
|
30643
|
-
}
|
|
30644
|
-
return parts.join(" ");
|
|
30645
|
-
}
|
|
30646
|
-
function routeOrthogonalConnector(start, end, obstacles, opts) {
|
|
30647
|
-
const padding = opts?.padding ?? PADDING_DEFAULT;
|
|
30648
|
-
const canvasWidth = opts?.canvasWidth ?? CANVAS_SENTINEL;
|
|
30649
|
-
const canvasHeight = opts?.canvasHeight ?? CANVAS_SENTINEL;
|
|
30650
|
-
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
30651
|
-
}
|
|
30652
|
-
function waypointsToPathD(waypoints) {
|
|
30653
|
-
if (waypoints.length === 0) {
|
|
30654
|
-
return "";
|
|
30655
|
-
}
|
|
30656
|
-
const parts = [`M${waypoints[0].x},${waypoints[0].y}`];
|
|
30657
|
-
for (let i = 1; i < waypoints.length; i++) {
|
|
30658
|
-
parts.push(`L${waypoints[i].x},${waypoints[i].y}`);
|
|
30659
|
-
}
|
|
30660
|
-
return parts.join(" ");
|
|
30661
|
-
}
|
|
30662
30352
|
function getConnectionSites(width, height) {
|
|
30663
30353
|
return [
|
|
30664
30354
|
{ x: width / 2, y: 0, index: 0 },
|
|
@@ -31093,9 +30783,9 @@ function normalizeArrow(a) {
|
|
|
31093
30783
|
function buildConnectorGeometry(element, zIndex, routing) {
|
|
31094
30784
|
const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
31095
30785
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
31096
|
-
const strokeColor = ss?.strokeColor ??
|
|
30786
|
+
const strokeColor = ss?.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR;
|
|
31097
30787
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
31098
|
-
const dashArray =
|
|
30788
|
+
const dashArray = chunkVFPVEVF4_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
|
|
31099
30789
|
const strokeLinecap = svgLineCap(ss?.lineCap);
|
|
31100
30790
|
const compoundOffsets = getCompoundLineOffsets(ss?.compoundLine, strokeWidth);
|
|
31101
30791
|
const compoundWidths = getCompoundLineWidths(ss?.compoundLine, strokeWidth);
|
|
@@ -31111,13 +30801,13 @@ function buildConnectorGeometry(element, zIndex, routing) {
|
|
|
31111
30801
|
if (routing && routing.obstacles.length > 0 && connectorKind(shapeType) === "bent" && (element.width > 0 || element.height > 0)) {
|
|
31112
30802
|
const start = { x: element.x + x1, y: element.y + y1 };
|
|
31113
30803
|
const end = { x: element.x + x2, y: element.y + y2 };
|
|
31114
|
-
const waypoints = routeOrthogonalConnector(start, end, routing.obstacles, {
|
|
30804
|
+
const waypoints = geometry.routeOrthogonalConnector(start, end, routing.obstacles, {
|
|
31115
30805
|
canvasWidth: routing.canvasWidth,
|
|
31116
30806
|
canvasHeight: routing.canvasHeight
|
|
31117
30807
|
});
|
|
31118
30808
|
if (waypoints.length > 2) {
|
|
31119
30809
|
const local = waypoints.map((p) => ({ x: p.x - element.x, y: p.y - element.y }));
|
|
31120
|
-
pathD = waypointsToPathD(local);
|
|
30810
|
+
pathD = geometry.waypointsToPathD(local);
|
|
31121
30811
|
}
|
|
31122
30812
|
}
|
|
31123
30813
|
const markerSeed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
@@ -31171,7 +30861,7 @@ function buildConnectorPathD(shapeType, x1, y1, x2, y2, bend, bend2 = 0.5, bend3
|
|
|
31171
30861
|
}
|
|
31172
30862
|
const segments2 = geometry.elbowSegmentCount(t);
|
|
31173
30863
|
const points = elbowWaypoints(x1, y1, x2, y2, segments2, bend, bend2, bend3);
|
|
31174
|
-
return waypointsToPathD(points);
|
|
30864
|
+
return geometry.waypointsToPathD(points);
|
|
31175
30865
|
}
|
|
31176
30866
|
if (t.includes("curvedconnector2")) {
|
|
31177
30867
|
return `M${x1},${y1} Q${x2},${y1} ${x2},${y2}`;
|
|
@@ -37787,7 +37477,7 @@ function drawingShapeMeshOpacity(shape) {
|
|
|
37787
37477
|
// src/pptx/render/svg-text-lines.ts
|
|
37788
37478
|
var LINE_HEIGHT_RATIO = 1.2;
|
|
37789
37479
|
function centeredSvgTextLines(text3, fontSize, options = {}) {
|
|
37790
|
-
const lines = options.maxWidth !== void 0 ?
|
|
37480
|
+
const lines = options.maxWidth !== void 0 ? chunkVFPVEVF4_cjs.wrapTextByEstimatedWidth(text3, options.maxWidth, fontSize) : text3.split("\n").filter((line4) => line4.length > 0);
|
|
37791
37481
|
const centerY = options.centerY ?? 0;
|
|
37792
37482
|
if (lines.length === 0) {
|
|
37793
37483
|
return [{ text: "", y: centerY }];
|
|
@@ -38584,7 +38274,7 @@ function buildObliqueLabels(layout, input) {
|
|
|
38584
38274
|
const { w, h, d } = layout.box;
|
|
38585
38275
|
const span = layout.range.max - layout.range.min;
|
|
38586
38276
|
const fontSize = input.fontSize;
|
|
38587
|
-
for (const v of
|
|
38277
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...layout.range, span })) {
|
|
38588
38278
|
const p = (v - layout.range.min) * layout.valueScale;
|
|
38589
38279
|
if (layout.horizontal) {
|
|
38590
38280
|
const at = screen2(layout, p, 0, 0);
|
|
@@ -38706,7 +38396,7 @@ function dataExtent(chartData, grouping, nCat) {
|
|
|
38706
38396
|
function valueRange(chartData, grouping, nCat, valueLengthPx) {
|
|
38707
38397
|
const axis = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38708
38398
|
const [lo, hi] = dataExtent(chartData, grouping, nCat);
|
|
38709
|
-
const auto =
|
|
38399
|
+
const auto = chunkVFPVEVF4_cjs.niceValueAxisBounds(lo, hi, chunkVFPVEVF4_cjs.axisTargetIntervals(valueLengthPx), 0);
|
|
38710
38400
|
const min = typeof axis?.min === "number" ? axis.min : auto.min;
|
|
38711
38401
|
let max = typeof axis?.max === "number" ? axis.max : auto.max;
|
|
38712
38402
|
if (max <= min) {
|
|
@@ -38730,22 +38420,22 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38730
38420
|
const rotX = (chartData.view3D?.rotX ?? 15) * Math.PI / 180;
|
|
38731
38421
|
const rotY = (chartData.view3D?.rotY ?? 20) * Math.PI / 180;
|
|
38732
38422
|
const shear = { x: Math.sin(rotY), y: -Math.sin(rotX) };
|
|
38733
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38423
|
+
const gapWidth = (chartData.barGapWidth ?? chunkVFPVEVF4_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38734
38424
|
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH) / 100;
|
|
38735
38425
|
const slots = grouping === "clustered" ? nSer : 1;
|
|
38736
38426
|
const rows = grouping === "standard" ? nSer : 1;
|
|
38737
38427
|
const labelFont = vm.axisLabels[0]?.fontSize ?? 16;
|
|
38738
38428
|
const catLabels = chartData.categories.length > 0 ? chartData.categories : Array.from({ length: nCat }, (_, i) => String(i + 1));
|
|
38739
|
-
const widest = (texts) => texts.reduce((m, t) => Math.max(m,
|
|
38429
|
+
const widest = (texts) => texts.reduce((m, t) => Math.max(m, chunkVFPVEVF4_cjs.estimateTextWidth(t, labelFont)), 0);
|
|
38740
38430
|
const top = vm.title ? TOP_WITH_TITLE : TOP_NO_TITLE;
|
|
38741
38431
|
const hasBottomLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38742
38432
|
const bottom = vm.svgHeight - (hasBottomLegend ? BOTTOM_WITH_LEGEND : BOTTOM_NO_LEGEND);
|
|
38743
38433
|
const regionH = Math.max(1, bottom - top);
|
|
38744
38434
|
const provisional = valueRange(chartData, grouping, nCat, regionH);
|
|
38745
|
-
const valueTexts =
|
|
38435
|
+
const valueTexts = chunkVFPVEVF4_cjs.axisTickValues({
|
|
38746
38436
|
...provisional,
|
|
38747
38437
|
span: provisional.max - provisional.min
|
|
38748
|
-
}).map((v) =>
|
|
38438
|
+
}).map((v) => chunkK3S2A64B_cjs.formatValueLabel(chartData, grouping, v));
|
|
38749
38439
|
const leftBand = (horizontal ? widest(catLabels) : widest(valueTexts)) + (horizontal ? OBLIQUE_CATEGORY_LABEL_GAP : OBLIQUE_VALUE_LABEL_GAP);
|
|
38750
38440
|
const seriesLabelW = grouping === "standard" && !horizontal ? widest(chartData.series.map((s) => s.name)) : 0;
|
|
38751
38441
|
const seriesOverhang = (depth2) => seriesLabelW > 0 ? Math.max(0, OBLIQUE_CATEGORY_LABEL_GAP + seriesLabelW - depth2 * shear.x / (2 * rows)) : 0;
|
|
@@ -38801,13 +38491,13 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38801
38491
|
gridlines: [],
|
|
38802
38492
|
labels: []
|
|
38803
38493
|
};
|
|
38804
|
-
layout.bars =
|
|
38805
|
-
layout.gridlines =
|
|
38494
|
+
layout.bars = chunkK3S2A64B_cjs.buildBars(chartData, vm, layout, { nCat, slots, rows, gapWidth, gapDepth });
|
|
38495
|
+
layout.gridlines = chunkK3S2A64B_cjs.buildGridlines(layout);
|
|
38806
38496
|
layout.labels = buildObliqueLabels(layout, {
|
|
38807
38497
|
fontSize: labelFont,
|
|
38808
38498
|
categories: catLabels,
|
|
38809
38499
|
seriesNames: chartData.series.map((s) => s.name),
|
|
38810
|
-
valueText: (v) =>
|
|
38500
|
+
valueText: (v) => chunkK3S2A64B_cjs.formatValueLabel(chartData, grouping, v)
|
|
38811
38501
|
});
|
|
38812
38502
|
return layout;
|
|
38813
38503
|
}
|
|
@@ -38820,7 +38510,7 @@ function buildPerspGridlines(box, range, horizontal) {
|
|
|
38820
38510
|
{ from: [w, 0, 0], to: [w, 0, d] }
|
|
38821
38511
|
];
|
|
38822
38512
|
const span = range.max - range.min;
|
|
38823
|
-
for (const v of
|
|
38513
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...range, span })) {
|
|
38824
38514
|
const t = (v - range.min) / span;
|
|
38825
38515
|
if (horizontal) {
|
|
38826
38516
|
const x = t * w;
|
|
@@ -38841,16 +38531,16 @@ var CATEGORY_DY = 17 * PT3;
|
|
|
38841
38531
|
var SERIES_DX = 9 * PT3;
|
|
38842
38532
|
var SERIES_DY = -4 * PT3;
|
|
38843
38533
|
function buildPerspLabels(layout, input) {
|
|
38844
|
-
const { view, range } = layout;
|
|
38845
|
-
const { h, d, w } =
|
|
38534
|
+
const { view: view2, range } = layout;
|
|
38535
|
+
const { h, d, w } = view2.box;
|
|
38846
38536
|
const span = range.max - range.min;
|
|
38847
38537
|
const labels = [];
|
|
38848
38538
|
const fontSize = input.fontSize;
|
|
38849
|
-
for (const v of
|
|
38539
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...range, span })) {
|
|
38850
38540
|
const t = (v - range.min) / span;
|
|
38851
|
-
const text3 = input.percent ? `${Math.round(v * 100)}%` :
|
|
38541
|
+
const text3 = input.percent ? `${Math.round(v * 100)}%` : chunkVFPVEVF4_cjs.formatAxisValueWithUnits(v, input.valueAxis);
|
|
38852
38542
|
if (layout.horizontal) {
|
|
38853
|
-
const at =
|
|
38543
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [t * w, 0, 0]);
|
|
38854
38544
|
labels.push({
|
|
38855
38545
|
role: "value",
|
|
38856
38546
|
text: text3,
|
|
@@ -38860,7 +38550,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38860
38550
|
fontSize
|
|
38861
38551
|
});
|
|
38862
38552
|
} else {
|
|
38863
|
-
const at =
|
|
38553
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [0, t * h, 0]);
|
|
38864
38554
|
labels.push({ role: "value", text: text3, x: at.x - VALUE_GAP2, y: at.y, anchor: "end", fontSize });
|
|
38865
38555
|
}
|
|
38866
38556
|
}
|
|
@@ -38870,7 +38560,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38870
38560
|
return;
|
|
38871
38561
|
}
|
|
38872
38562
|
if (layout.horizontal) {
|
|
38873
|
-
const at2 =
|
|
38563
|
+
const at2 = chunkK3S2A64B_cjs.perspToScreen(view2, [0, pos, 0]);
|
|
38874
38564
|
labels.push({
|
|
38875
38565
|
role: "category",
|
|
38876
38566
|
text: text3,
|
|
@@ -38881,7 +38571,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38881
38571
|
});
|
|
38882
38572
|
return;
|
|
38883
38573
|
}
|
|
38884
|
-
const at =
|
|
38574
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [pos, 0, 0]);
|
|
38885
38575
|
labels.push({
|
|
38886
38576
|
role: "category",
|
|
38887
38577
|
text: text3,
|
|
@@ -38894,7 +38584,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38894
38584
|
const rows = input.seriesNames.length;
|
|
38895
38585
|
input.seriesNames.forEach((text3, s) => {
|
|
38896
38586
|
const z = layout.kind === "surface" ? rows > 1 ? s / (rows - 1) * d : d / 2 : (s + 0.5) / rows * d;
|
|
38897
|
-
const at =
|
|
38587
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [w, 0, z]);
|
|
38898
38588
|
labels.push({
|
|
38899
38589
|
role: "series",
|
|
38900
38590
|
text: text3,
|
|
@@ -38987,7 +38677,7 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
38987
38677
|
const valAx = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38988
38678
|
const midCat = (valAx?.crossBetween ?? (kind === "area" || kind === "surface" ? "midCat" : "between")) === "midCat";
|
|
38989
38679
|
const view3D = chartData.view3D;
|
|
38990
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38680
|
+
const gapWidth = (chartData.barGapWidth ?? chunkVFPVEVF4_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38991
38681
|
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH2) / 100;
|
|
38992
38682
|
const slot = 1 / nCat;
|
|
38993
38683
|
const rows = kind === "surface" ? nSer : grouping === "standard" ? nSer : 1;
|
|
@@ -39000,16 +38690,16 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
39000
38690
|
const valueExtent = horizontal ? 1 : baseHeight * heightScale;
|
|
39001
38691
|
const catExtent = horizontal ? HORIZONTAL_CATEGORY_EXTENT * heightScale : 1;
|
|
39002
38692
|
const box = horizontal ? { w: valueExtent, h: catExtent, d } : { w: 1, h: valueExtent, d };
|
|
39003
|
-
const camera = options.oblique ?
|
|
38693
|
+
const camera = options.oblique ? chunkK3S2A64B_cjs.perspObliqueCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20) : chunkK3S2A64B_cjs.perspCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20, view3D?.perspective ?? void 0);
|
|
39004
38694
|
const hasLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
39005
|
-
const
|
|
38695
|
+
const view2 = chunkK3S2A64B_cjs.fitPerspView(camera, {
|
|
39006
38696
|
left: RECT_LEFT,
|
|
39007
38697
|
right: vm.svgWidth - (rows > 1 ? RECT_RIGHT_WITH_SERIES : RECT_RIGHT_NO_SERIES),
|
|
39008
38698
|
top: vm.title ? RECT_TOP_WITH_TITLE : RECT_TOP_NO_TITLE,
|
|
39009
38699
|
bottom: vm.svgHeight - (hasLegend ? RECT_BOTTOM_WITH_LEGEND : RECT_BOTTOM_NO_LEGEND)
|
|
39010
38700
|
});
|
|
39011
38701
|
const [lo, hi] = dataExtent2(chartData, grouping, nCat);
|
|
39012
|
-
const auto =
|
|
38702
|
+
const auto = chunkVFPVEVF4_cjs.niceValueAxisBounds(lo, hi, chunkVFPVEVF4_cjs.axisTargetIntervals(view2.focal * valueExtent), 0);
|
|
39013
38703
|
const min = typeof valAx?.min === "number" ? valAx.min : auto.min;
|
|
39014
38704
|
let max = typeof valAx?.max === "number" ? valAx.max : auto.max;
|
|
39015
38705
|
if (max <= min) {
|
|
@@ -39024,7 +38714,7 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
39024
38714
|
const layout = {
|
|
39025
38715
|
kind,
|
|
39026
38716
|
grouping,
|
|
39027
|
-
view,
|
|
38717
|
+
view: view2,
|
|
39028
38718
|
range,
|
|
39029
38719
|
horizontal,
|
|
39030
38720
|
valueScale: valueExtent / (max - min),
|
|
@@ -39101,7 +38791,7 @@ function buildBarGeometry(element, vm) {
|
|
|
39101
38791
|
}
|
|
39102
38792
|
var PERSP_BOX_TYPES = /* @__PURE__ */ new Set(["line3D", "area3D", "surface", "bar3D"]);
|
|
39103
38793
|
function buildPieGeometry(element, vm) {
|
|
39104
|
-
const layout =
|
|
38794
|
+
const layout = chunkK3S2A64B_cjs.computePieChartLayout(element, chunkK3S2A64B_cjs.widenPieViewModel(vm, element));
|
|
39105
38795
|
return layout ? { kind: "pie", layout } : null;
|
|
39106
38796
|
}
|
|
39107
38797
|
function buildPerspGeometry(element, vm, oblique) {
|
|
@@ -39121,7 +38811,7 @@ function buildChart3DSpecForElement(element) {
|
|
|
39121
38811
|
if (!chartData || !is3DChartType(chartType)) {
|
|
39122
38812
|
return null;
|
|
39123
38813
|
}
|
|
39124
|
-
const vm =
|
|
38814
|
+
const vm = chunkVFPVEVF4_cjs.buildChartViewModel(element);
|
|
39125
38815
|
const projection = resolveChart3DProjection(chartType, chartData.view3D);
|
|
39126
38816
|
const geometry = chartType === "bar3D" && projection.mode === "oblique" ? buildBarGeometry(element, vm) : PERSP_BOX_TYPES.has(chartType) && (projection.mode === "perspective" || chartType !== "bar3D") ? buildPerspGeometry(element, vm, projection.mode === "oblique") : chartType === "pie3D" ? buildPieGeometry(element, vm) : null;
|
|
39127
38817
|
if (!geometry) {
|
|
@@ -47373,11 +47063,11 @@ function buildSummaryZoomView(element, lookup, translate) {
|
|
|
47373
47063
|
ariaLabel: translate ? translate("pptx.zoom.ariaLabelSummary", { count: String(tiles.length) }) : `Summary Zoom with ${tiles.length} sections`
|
|
47374
47064
|
};
|
|
47375
47065
|
}
|
|
47376
|
-
function resolveSummaryZoomNavigation(
|
|
47377
|
-
if (!
|
|
47066
|
+
function resolveSummaryZoomNavigation(view2, tileIndex) {
|
|
47067
|
+
if (!view2 || !Number.isInteger(tileIndex) || tileIndex < 0) {
|
|
47378
47068
|
return void 0;
|
|
47379
47069
|
}
|
|
47380
|
-
return
|
|
47070
|
+
return view2.tiles[tileIndex]?.targetSlideIndex;
|
|
47381
47071
|
}
|
|
47382
47072
|
function fixedTileStyle(element, x, y, width, height) {
|
|
47383
47073
|
const safeWidth = Math.max(element.width, 1);
|
|
@@ -53209,7 +52899,7 @@ function axisTitle(current, show) {
|
|
|
53209
52899
|
return show ? current || AXIS_TITLE : void 0;
|
|
53210
52900
|
}
|
|
53211
52901
|
function applyChartQuickLayout(chartData, layout) {
|
|
53212
|
-
const withGrid = patchChartData(chartData,
|
|
52902
|
+
const withGrid = patchChartData(chartData, chunkVFPVEVF4_cjs.chartGridlinesPatch(chartData, layout.majorGridlines));
|
|
53213
52903
|
const axes = (withGrid.axes ?? []).map((axis) => {
|
|
53214
52904
|
if (axis.axisType === "valAx") {
|
|
53215
52905
|
return {
|
|
@@ -53263,7 +52953,7 @@ function matchesLayout(chartData, layout) {
|
|
|
53263
52953
|
const legend = style.hasLegend ? style.legendPosition ?? "r" : null;
|
|
53264
52954
|
const isBar = chartData.chartType === "bar" || chartData.chartType === "bar3D";
|
|
53265
52955
|
const barMatches = !isBar || (chartData.barGapWidth ?? 150) === layout.gapWidth && (chartData.barOverlap ?? 0) === layout.overlap;
|
|
53266
|
-
return barMatches && Boolean(style.hasTitle) === layout.title && legend === layout.legend && Boolean(style.hasDataLabels) === layout.dataLabels && Boolean(chartData.dataTable) === layout.dataTable && Boolean(catAxis?.titleText) === layout.catAxisTitle && Boolean(valAxis?.titleText) === layout.valAxisTitle &&
|
|
52956
|
+
return barMatches && Boolean(style.hasTitle) === layout.title && legend === layout.legend && Boolean(style.hasDataLabels) === layout.dataLabels && Boolean(chartData.dataTable) === layout.dataTable && Boolean(catAxis?.titleText) === layout.catAxisTitle && Boolean(valAxis?.titleText) === layout.valAxisTitle && chunkVFPVEVF4_cjs.chartGridlinesState(chartData) === layout.majorGridlines && Boolean(valAxis?.minorGridlines) === layout.minorGridlines && !valAxis?.deleted === layout.valueAxis;
|
|
53267
52957
|
}
|
|
53268
52958
|
var CHART_QUICK_LAYOUT_GALLERY = {
|
|
53269
52959
|
build(ctx) {
|
|
@@ -57849,6 +57539,86 @@ function galleryTextLabel(translate, key, fallback) {
|
|
|
57849
57539
|
const translated = translate(key);
|
|
57850
57540
|
return translated && translated !== key ? translated : fallback;
|
|
57851
57541
|
}
|
|
57542
|
+
var RIBBON_ADD_IN_TAB_ATTR = "data-ribbon-add-in-tab";
|
|
57543
|
+
var RIBBON_RESERVED_TAB_IDS = [
|
|
57544
|
+
...TOOLBAR_TABS.map((tab) => tab.id),
|
|
57545
|
+
...RIBBON_CONTEXTUAL_TABS.map((tab) => tab.id),
|
|
57546
|
+
// Sections some bindings show as part of Home.
|
|
57547
|
+
"text",
|
|
57548
|
+
"arrange"
|
|
57549
|
+
];
|
|
57550
|
+
function visibleRibbonAddIns(tabs) {
|
|
57551
|
+
return ribbon.acceptedRibbonAddIns(tabs, RIBBON_RESERVED_TAB_IDS);
|
|
57552
|
+
}
|
|
57553
|
+
function findRibbonAddIn(id, tabs) {
|
|
57554
|
+
return id ? visibleRibbonAddIns(tabs).find((tab) => tab.id === id) : void 0;
|
|
57555
|
+
}
|
|
57556
|
+
function resolveActiveRibbonAddIn(active2, tabs, known, fallback) {
|
|
57557
|
+
if (known(active2)) return active2;
|
|
57558
|
+
return findRibbonAddIn(active2, tabs) ? active2 : fallback;
|
|
57559
|
+
}
|
|
57560
|
+
var SMALL_ROWS = 3;
|
|
57561
|
+
function ribbonAddInControlId(tab, command) {
|
|
57562
|
+
return `add-in.${tab}.${command}`;
|
|
57563
|
+
}
|
|
57564
|
+
function ribbonAddInGroupViews(tab) {
|
|
57565
|
+
return tab.groups.map((group, index) => {
|
|
57566
|
+
const commands = [];
|
|
57567
|
+
let column2 = 0;
|
|
57568
|
+
let rows = SMALL_ROWS;
|
|
57569
|
+
const small = (command, parent) => {
|
|
57570
|
+
if (rows >= SMALL_ROWS) {
|
|
57571
|
+
column2 += 1;
|
|
57572
|
+
rows = 0;
|
|
57573
|
+
}
|
|
57574
|
+
rows += 1;
|
|
57575
|
+
commands.push({ ...view(tab, command, parent), compact: true, column: column2 });
|
|
57576
|
+
};
|
|
57577
|
+
for (const command of group.commands) {
|
|
57578
|
+
if (command.items?.length) {
|
|
57579
|
+
for (const item4 of command.items) small(item4, command);
|
|
57580
|
+
} else if (command.size === "small") {
|
|
57581
|
+
small(command);
|
|
57582
|
+
} else {
|
|
57583
|
+
rows = SMALL_ROWS;
|
|
57584
|
+
commands.push(view(tab, command));
|
|
57585
|
+
}
|
|
57586
|
+
}
|
|
57587
|
+
return { id: `add-in.${tab.id}.group-${index}`, label: group.label, commands };
|
|
57588
|
+
});
|
|
57589
|
+
}
|
|
57590
|
+
function view(tab, command, parent) {
|
|
57591
|
+
return {
|
|
57592
|
+
id: ribbonAddInControlId(tab.id, command.id),
|
|
57593
|
+
label: command.label,
|
|
57594
|
+
title: command.title ?? (parent ? `${parent.label}: ${command.label}` : command.label),
|
|
57595
|
+
icon: command.icon ?? parent?.icon ?? "",
|
|
57596
|
+
disabled: command.disabled === true || parent?.disabled === true
|
|
57597
|
+
};
|
|
57598
|
+
}
|
|
57599
|
+
function runRibbonAddInCommand(target, tab, controlId) {
|
|
57600
|
+
const prefix = ribbonAddInControlId(tab.id, "");
|
|
57601
|
+
if (!controlId.startsWith(prefix)) return false;
|
|
57602
|
+
const id = controlId.slice(prefix.length);
|
|
57603
|
+
const command = ribbon.findRibbonAddInCommand(tab, id);
|
|
57604
|
+
if (!command || command.items?.length) return false;
|
|
57605
|
+
if (parentOf(tab, id)?.disabled) return false;
|
|
57606
|
+
command.run?.();
|
|
57607
|
+
target.dispatchEvent(
|
|
57608
|
+
new CustomEvent(ribbon.RIBBON_ADD_IN_EVENT, {
|
|
57609
|
+
detail: { tab: tab.id, command: id },
|
|
57610
|
+
bubbles: true,
|
|
57611
|
+
composed: true
|
|
57612
|
+
})
|
|
57613
|
+
);
|
|
57614
|
+
return true;
|
|
57615
|
+
}
|
|
57616
|
+
function parentOf(tab, id) {
|
|
57617
|
+
for (const group of tab.groups)
|
|
57618
|
+
for (const command of group.commands)
|
|
57619
|
+
if (command.items?.some((item4) => item4.id === id)) return command;
|
|
57620
|
+
return void 0;
|
|
57621
|
+
}
|
|
57852
57622
|
|
|
57853
57623
|
// src/pptx/render/ole-icon-primitives.ts
|
|
57854
57624
|
function rect2(x, y, width, height, rx) {
|
|
@@ -58712,7 +58482,7 @@ function isSeriesUsingSecondaryAxis(chartData, seriesIndex) {
|
|
|
58712
58482
|
if (!series) {
|
|
58713
58483
|
return false;
|
|
58714
58484
|
}
|
|
58715
|
-
return
|
|
58485
|
+
return chunkVFPVEVF4_cjs.isSeriesOnSecondaryAxis(series, chartData.axes);
|
|
58716
58486
|
}
|
|
58717
58487
|
function resolveSecondaryAxisId(chartData, useSecondary) {
|
|
58718
58488
|
const axPos = useSecondary ? "r" : "l";
|
|
@@ -59250,14 +59020,14 @@ async function buildForeignObjectSvgBody(element, doc, options) {
|
|
|
59250
59020
|
backgroundColor,
|
|
59251
59021
|
readComputedStyle = (el) => window.getComputedStyle(el)
|
|
59252
59022
|
} = options;
|
|
59253
|
-
await
|
|
59023
|
+
await chunk526IHNIH_cjs.settleThreeViews(element);
|
|
59254
59024
|
const clone = element.cloneNode(true);
|
|
59255
|
-
|
|
59025
|
+
chunk526IHNIH_cjs.withAuthoredStrokeWidths(
|
|
59256
59026
|
element,
|
|
59257
59027
|
() => inlineComputedStylesOnClone(element, clone, readComputedStyle)
|
|
59258
59028
|
);
|
|
59259
|
-
|
|
59260
|
-
|
|
59029
|
+
chunk526IHNIH_cjs.snapshotThreeViewsIntoClone(element, clone);
|
|
59030
|
+
chunk526IHNIH_cjs.prepareExportClone(clone);
|
|
59261
59031
|
const [{ allEmbedded: imagesEmbedded }, externalFonts] = await Promise.all([
|
|
59262
59032
|
embedImagesOnClone(clone),
|
|
59263
59033
|
collectExternalFontFaceCss(doc, fetchAsDataUrl)
|
|
@@ -65476,11 +65246,11 @@ function createLinkPopover(doc, submit, closed) {
|
|
|
65476
65246
|
if (!anchorEl) {
|
|
65477
65247
|
return;
|
|
65478
65248
|
}
|
|
65479
|
-
const
|
|
65249
|
+
const view2 = doc.defaultView;
|
|
65480
65250
|
const box = anchorEl.getBoundingClientRect();
|
|
65481
65251
|
const own = el.getBoundingClientRect();
|
|
65482
|
-
const width =
|
|
65483
|
-
const height =
|
|
65252
|
+
const width = view2?.innerWidth ?? 1024;
|
|
65253
|
+
const height = view2?.innerHeight ?? 768;
|
|
65484
65254
|
const left = Math.max(8, Math.min(box.left, width - own.width - 8));
|
|
65485
65255
|
const above = box.top - own.height - 4;
|
|
65486
65256
|
el.style.left = `${left}px`;
|
|
@@ -66461,16 +66231,16 @@ var OfficeUiDialogFooter = class extends OfficeElement {
|
|
|
66461
66231
|
this.model.actions,
|
|
66462
66232
|
(action) => action.id,
|
|
66463
66233
|
(action) => lit.html`<button
|
|
66464
|
-
|
|
66465
|
-
|
|
66466
|
-
|
|
66467
|
-
|
|
66468
|
-
|
|
66469
|
-
|
|
66470
|
-
|
|
66471
|
-
|
|
66472
|
-
|
|
66473
|
-
|
|
66234
|
+
type="button"
|
|
66235
|
+
class=${this.classes(action)}
|
|
66236
|
+
data-action=${action.id}
|
|
66237
|
+
data-testid=${ifDefined_js.ifDefined(action.testId)}
|
|
66238
|
+
title=${ifDefined_js.ifDefined(action.title)}
|
|
66239
|
+
aria-busy=${ifDefined_js.ifDefined(action.busy ? "true" : void 0)}
|
|
66240
|
+
?disabled=${action.disabled === true || action.busy === true}
|
|
66241
|
+
@click=${() => this.fire(requestEvent, { id: action.id })}
|
|
66242
|
+
>${action.icon ? glyph(action.icon, "icon") : ""}${action.label}</button
|
|
66243
|
+
>`
|
|
66474
66244
|
)}
|
|
66475
66245
|
</div>
|
|
66476
66246
|
`;
|
|
@@ -66522,22 +66292,22 @@ var OfficeUiToasts = class extends OfficeElement {
|
|
|
66522
66292
|
</div>
|
|
66523
66293
|
${visible.map(
|
|
66524
66294
|
(toast) => lit.html`<div
|
|
66525
|
-
|
|
66526
|
-
|
|
66527
|
-
|
|
66528
|
-
|
|
66529
|
-
|
|
66530
|
-
>
|
|
66531
|
-
${glyph(toast.severity === "warning" ? "warning" : "info", "icon")}
|
|
66532
|
-
<p class="message">${toast.message}</p>
|
|
66533
|
-
<button
|
|
66534
|
-
type="button"
|
|
66535
|
-
data-testid="${p}-dismiss"
|
|
66536
|
-
aria-label=${labels.dismiss ?? "Dismiss"}
|
|
66537
|
-
@click=${() => this.fire(requestEvent, { id: "dismiss", toastId: toast.id })}
|
|
66538
|
-
>${glyph("close", "icon")}</button
|
|
66295
|
+
class="toast"
|
|
66296
|
+
role="status"
|
|
66297
|
+
data-testid=${p}
|
|
66298
|
+
data-code=${ifDefined_js.ifDefined(toast.code)}
|
|
66299
|
+
data-severity=${toast.severity}
|
|
66539
66300
|
>
|
|
66540
|
-
|
|
66301
|
+
${glyph(toast.severity === "warning" ? "warning" : "info", "icon")}
|
|
66302
|
+
<p class="message">${toast.message}</p>
|
|
66303
|
+
<button
|
|
66304
|
+
type="button"
|
|
66305
|
+
data-testid="${p}-dismiss"
|
|
66306
|
+
aria-label=${labels.dismiss ?? "Dismiss"}
|
|
66307
|
+
@click=${() => this.fire(requestEvent, { id: "dismiss", toastId: toast.id })}
|
|
66308
|
+
>${glyph("close", "icon")}</button
|
|
66309
|
+
>
|
|
66310
|
+
</div>`
|
|
66541
66311
|
)}
|
|
66542
66312
|
${hiddenCount > 0 ? lit.html`<p class="overflow">+${hiddenCount}</p>` : ""}
|
|
66543
66313
|
</div>
|
|
@@ -66571,22 +66341,22 @@ var OfficeUiPasteOptions = class extends OfficeElement {
|
|
|
66571
66341
|
}
|
|
66572
66342
|
connectedCallback() {
|
|
66573
66343
|
super.connectedCallback();
|
|
66574
|
-
const
|
|
66575
|
-
if (!
|
|
66344
|
+
const view2 = this.ownerDocument.defaultView;
|
|
66345
|
+
if (!view2) return;
|
|
66576
66346
|
const dismiss = (event) => {
|
|
66577
66347
|
const toolbar = this.renderRoot.querySelector(".toolbar");
|
|
66578
66348
|
if (toolbar && event.composedPath().includes(toolbar) && (!(event instanceof KeyboardEvent) || event.key !== "Escape"))
|
|
66579
66349
|
return;
|
|
66580
66350
|
this.dismiss();
|
|
66581
66351
|
};
|
|
66582
|
-
const timer =
|
|
66583
|
-
|
|
66584
|
-
|
|
66352
|
+
const timer = view2.setTimeout(() => {
|
|
66353
|
+
view2.addEventListener("pointerdown", dismiss, true);
|
|
66354
|
+
view2.addEventListener("keydown", dismiss, true);
|
|
66585
66355
|
}, 0);
|
|
66586
66356
|
this.disarm = () => {
|
|
66587
|
-
|
|
66588
|
-
|
|
66589
|
-
|
|
66357
|
+
view2.clearTimeout(timer);
|
|
66358
|
+
view2.removeEventListener("pointerdown", dismiss, true);
|
|
66359
|
+
view2.removeEventListener("keydown", dismiss, true);
|
|
66590
66360
|
};
|
|
66591
66361
|
}
|
|
66592
66362
|
disconnectedCallback() {
|
|
@@ -66620,12 +66390,12 @@ var OfficeUiPasteOptions = class extends OfficeElement {
|
|
|
66620
66390
|
this.model.options,
|
|
66621
66391
|
(option) => option.id,
|
|
66622
66392
|
(option) => lit.html`<button
|
|
66623
|
-
|
|
66624
|
-
|
|
66625
|
-
|
|
66626
|
-
|
|
66627
|
-
|
|
66628
|
-
|
|
66393
|
+
type="button"
|
|
66394
|
+
data-format=${option.id}
|
|
66395
|
+
title=${option.label}
|
|
66396
|
+
@click=${() => this.choose(option)}
|
|
66397
|
+
>${option.label}</button
|
|
66398
|
+
>`
|
|
66629
66399
|
)}
|
|
66630
66400
|
</div>
|
|
66631
66401
|
`;
|
|
@@ -67964,14 +67734,14 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
67964
67734
|
doc.addEventListener("pointerdown", this.outside, true);
|
|
67965
67735
|
}
|
|
67966
67736
|
this.open = true;
|
|
67967
|
-
const
|
|
67737
|
+
const view2 = doc.defaultView;
|
|
67968
67738
|
const { left, top } = clampFlyoutPosition2({
|
|
67969
67739
|
x,
|
|
67970
67740
|
y,
|
|
67971
67741
|
width: panel.offsetWidth,
|
|
67972
67742
|
height: panel.offsetHeight,
|
|
67973
|
-
viewportWidth:
|
|
67974
|
-
viewportHeight:
|
|
67743
|
+
viewportWidth: view2?.innerWidth ?? x,
|
|
67744
|
+
viewportHeight: view2?.innerHeight ?? y,
|
|
67975
67745
|
margin: 4
|
|
67976
67746
|
});
|
|
67977
67747
|
panel.style.left = `${Math.round(left)}px`;
|
|
@@ -68080,7 +67850,7 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68080
67850
|
for (const name of this.markers) this.setAttribute(name, "true");
|
|
68081
67851
|
}
|
|
68082
67852
|
place() {
|
|
68083
|
-
const
|
|
67853
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68084
67854
|
this.style.left = `${this.model.x}px`;
|
|
68085
67855
|
this.style.top = `${this.model.y}px`;
|
|
68086
67856
|
const box = this.getBoundingClientRect();
|
|
@@ -68089,8 +67859,8 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68089
67859
|
y: this.model.y,
|
|
68090
67860
|
width: box.width,
|
|
68091
67861
|
height: box.height,
|
|
68092
|
-
viewportWidth:
|
|
68093
|
-
viewportHeight:
|
|
67862
|
+
viewportWidth: view2?.innerWidth ?? box.right,
|
|
67863
|
+
viewportHeight: view2?.innerHeight ?? box.bottom
|
|
68094
67864
|
});
|
|
68095
67865
|
this.style.left = `${left}px`;
|
|
68096
67866
|
this.style.top = `${top}px`;
|
|
@@ -68176,9 +67946,11 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68176
67946
|
let group;
|
|
68177
67947
|
const closeGroup = () => {
|
|
68178
67948
|
if (!group) return;
|
|
68179
|
-
out.push(
|
|
68180
|
-
|
|
68181
|
-
|
|
67949
|
+
out.push(
|
|
67950
|
+
lit.html`<div role="group" aria-label=${group.heading}>
|
|
67951
|
+
<div class="heading" aria-hidden="true">${group.heading}</div>${group.rows}</div
|
|
67952
|
+
>`
|
|
67953
|
+
);
|
|
68182
67954
|
group = void 0;
|
|
68183
67955
|
};
|
|
68184
67956
|
this.model.items.forEach((item4, index) => {
|
|
@@ -68257,12 +68029,12 @@ function tokenPx2(el, name, fallback) {
|
|
|
68257
68029
|
return Number.isFinite(px3) ? px3 : fallback;
|
|
68258
68030
|
}
|
|
68259
68031
|
function positionSelectMenu(menu, trigger, host2) {
|
|
68260
|
-
const
|
|
68032
|
+
const view2 = menu.ownerDocument.defaultView;
|
|
68261
68033
|
const rect3 = trigger.getBoundingClientRect();
|
|
68262
68034
|
const margin = tokenPx2(host2, "--office-space-2", 8);
|
|
68263
68035
|
const gap = tokenPx2(host2, "--office-space-1", 4);
|
|
68264
|
-
const width = Math.max(0,
|
|
68265
|
-
const below = Math.max(0,
|
|
68036
|
+
const width = Math.max(0, view2.innerWidth - margin * 2);
|
|
68037
|
+
const below = Math.max(0, view2.innerHeight - rect3.bottom - gap - margin);
|
|
68266
68038
|
const above = Math.max(0, rect3.top - gap - margin);
|
|
68267
68039
|
menu.style.minWidth = `${Math.min(rect3.width, width)}px`;
|
|
68268
68040
|
menu.style.maxWidth = `${width}px`;
|
|
@@ -68273,7 +68045,7 @@ function positionSelectMenu(menu, trigger, host2) {
|
|
|
68273
68045
|
menu.style.maxHeight = `${Math.min(cap, flip ? above : below)}px`;
|
|
68274
68046
|
const { height, width: menuWidth } = menu.getBoundingClientRect();
|
|
68275
68047
|
menu.style.top = `${Math.max(margin, flip ? rect3.top - gap - height : rect3.bottom + gap)}px`;
|
|
68276
|
-
menu.style.left = `${Math.max(margin, Math.min(rect3.left,
|
|
68048
|
+
menu.style.left = `${Math.max(margin, Math.min(rect3.left, view2.innerWidth - menuWidth - margin))}px`;
|
|
68277
68049
|
}
|
|
68278
68050
|
function nextSelectActive(choices2, active2, step) {
|
|
68279
68051
|
for (let i = 0; i < choices2.length; i++) {
|
|
@@ -68335,9 +68107,9 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68335
68107
|
}
|
|
68336
68108
|
const Observer = this.ownerDocument.defaultView?.MutationObserver;
|
|
68337
68109
|
this.observer = Observer ? new Observer(() => {
|
|
68338
|
-
const
|
|
68339
|
-
if (this.refreshFrame || !
|
|
68340
|
-
this.refreshFrame =
|
|
68110
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68111
|
+
if (this.refreshFrame || !view2) return;
|
|
68112
|
+
this.refreshFrame = view2.requestAnimationFrame(() => {
|
|
68341
68113
|
this.refreshFrame = 0;
|
|
68342
68114
|
this.refresh();
|
|
68343
68115
|
});
|
|
@@ -68401,12 +68173,12 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68401
68173
|
super.disconnectedCallback();
|
|
68402
68174
|
this.open = false;
|
|
68403
68175
|
this.closePopup();
|
|
68404
|
-
const
|
|
68405
|
-
|
|
68176
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68177
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68406
68178
|
this.searchTimer = 0;
|
|
68407
68179
|
this.search = "";
|
|
68408
68180
|
this.observer?.disconnect();
|
|
68409
|
-
if (this.refreshFrame)
|
|
68181
|
+
if (this.refreshFrame) view2?.cancelAnimationFrame(this.refreshFrame);
|
|
68410
68182
|
this.refreshFrame = 0;
|
|
68411
68183
|
}
|
|
68412
68184
|
collect() {
|
|
@@ -68445,22 +68217,22 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68445
68217
|
if (!menu) return;
|
|
68446
68218
|
if (typeof menu.showPopover === "function") menu.showPopover();
|
|
68447
68219
|
this.position();
|
|
68448
|
-
const
|
|
68220
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68449
68221
|
this.ownerDocument.addEventListener("pointerdown", this.onOutside, true);
|
|
68450
|
-
|
|
68451
|
-
|
|
68222
|
+
view2?.addEventListener("resize", this.position);
|
|
68223
|
+
view2?.addEventListener("scroll", this.position, true);
|
|
68452
68224
|
}
|
|
68453
68225
|
closePopup() {
|
|
68454
|
-
const
|
|
68455
|
-
|
|
68226
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68227
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68456
68228
|
this.search = "";
|
|
68457
68229
|
try {
|
|
68458
68230
|
if (this.menu?.matches(":popover-open")) this.menu.hidePopover();
|
|
68459
68231
|
} catch {
|
|
68460
68232
|
}
|
|
68461
68233
|
this.ownerDocument.removeEventListener("pointerdown", this.onOutside, true);
|
|
68462
|
-
|
|
68463
|
-
|
|
68234
|
+
view2?.removeEventListener("resize", this.position);
|
|
68235
|
+
view2?.removeEventListener("scroll", this.position, true);
|
|
68464
68236
|
}
|
|
68465
68237
|
onOutside = (event) => {
|
|
68466
68238
|
if (!event.composedPath().includes(this)) this.close();
|
|
@@ -68517,10 +68289,10 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68517
68289
|
}
|
|
68518
68290
|
}
|
|
68519
68291
|
typeAhead(key) {
|
|
68520
|
-
const
|
|
68292
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68521
68293
|
this.search += key.toLocaleLowerCase();
|
|
68522
|
-
|
|
68523
|
-
this.searchTimer =
|
|
68294
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68295
|
+
this.searchTimer = view2?.setTimeout(() => {
|
|
68524
68296
|
this.search = "";
|
|
68525
68297
|
}, 700) ?? 0;
|
|
68526
68298
|
this.show();
|
|
@@ -68772,7 +68544,7 @@ function matchTitleBarCommands(search, query) {
|
|
|
68772
68544
|
}
|
|
68773
68545
|
|
|
68774
68546
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/title-bar.css?raw
|
|
68775
|
-
var title_bar_default = ":host {\n display: block;\n flex: none;\n}\n:host([data-empty]) {\n display: none !important;\n}\n[hidden] {\n display: none !important;\n}\n.bar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--office-space-1);\n width: 100%;\n height: var(--office-title-bar-height);\n padding: 0 var(--office-space-2);\n border-bottom: var(--office-border-width) solid var(--office-title-bar-border);\n background: var(--office-title-bar-background);\n color: var(--office-title-bar-foreground);\n font: var(--office-font-size-xs)/var(--office-line-height-tight) var(--office-font);\n user-select: none;\n}\n:host([placement='belowRibbon']) .bar {\n height: auto;\n min-height: var(--office-title-bar-below-height);\n padding-block: var(--office-space-0);\n}\n.mark {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--office-title-bar-mark-size);\n height: var(--office-title-bar-mark-size);\n border-radius: var(--office-radius-sm);\n background: var(--office-title-bar-mark-background);\n color: var(--office-title-bar-mark-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: var(--office-font-weight-bold);\n}\n.autosave {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--office-space-1-5);\n padding: 0 var(--office-space-0) 0 var(--office-space-1-5);\n white-space: nowrap;\n}\n.label,\n.dot,\n.status {\n color: var(--office-muted-foreground);\n white-space: nowrap;\n}\n.sep {\n flex: none;\n width: var(--office-border-width);\n height: var(--office-space-4);\n margin: 0 var(--office-space-1);\n background: var(--office-title-bar-border);\n}\n.qat {\n display: flex;\n align-items: center;\n gap: var(--office-space-0);\n min-width: 0;\n}\n.qat button,\n.results button {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--office-space-1);\n min-width: var(--office-control-height-md);\n min-height: var(--office-control-height-md);\n padding: var(--office-space-1);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: var(--office-muted-foreground);\n font: inherit;\n cursor: pointer;\n touch-action: manipulation;\n}\n.qat button:hover:not(:disabled) {\n background: var(--office-selected);\n}\n.qat button:active:not(:disabled) {\n opacity: 0.7;\n}\n.qat button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.qat small {\n font-size: var(--office-font-size-xs);\n white-space: nowrap;\n}\nsvg {\n flex: none;\n width: var(--office-icon-size);\n height: var(--office-icon-size);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n.file {\n display: flex;\n align-items: baseline;\n gap: var(--office-space-1-5);\n min-width: 0;\n padding: 0 var(--office-space-1);\n flex: 0 1 auto;\n}\n.name {\n max-width: var(--office-title-bar-name-max-width);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--office-title-bar-name-foreground);\n font-size: var(--office-font-size-sm);\n font-weight: var(--office-font-weight-medium);\n}\n.status.saving {\n color: var(--office-warning);\n}\n.status.error {\n color: var(--office-danger);\n}\n.search {\n position: relative;\n flex: 1;\n display: flex;\n justify-content: center;\n min-width: 0;\n padding: 0 var(--office-space-2);\n}\n.box {\n position: relative;\n width: 100%;\n max-width: var(--office-title-bar-search-max-width);\n min-width: 0;\n}\n.box > [part='search'] {\n width: 100%;\n}\n.results {\n position: absolute;\n z-index: var(--office-z-popover);\n top: calc(100% + var(--office-space-1));\n right: 0;\n left: 0;\n max-height: var(--office-title-bar-results-max-height);\n overflow-y: auto;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-lg);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n.heading {\n padding: var(--office-space-1-5) var(--office-space-3);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: var(--office-font-weight-bold);\n letter-spacing: 0.05em;\n text-transform: uppercase;\n}\n.empty {\n padding: var(--office-space-2) var(--office-space-3);\n color: var(--office-muted-foreground);\n}\n.results button {\n display: flex;\n width: 100%;\n justify-content: flex-start;\n gap: var(--office-space-2);\n padding: var(--office-space-1-5) var(--office-space-3);\n border-radius: 0;\n color: inherit;\n text-align: start;\n}\n.results button:hover,\n.results button[aria-selected='true'] {\n background: var(--office-title-bar-result-selected);\n}\n.results .cat {\n margin-inline-start: auto;\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n text-transform: capitalize;\n}\n.results .content {\n border-top: var(--office-border-width) solid var(--office-border);\n}\n.end {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--office-space-1);\n}\n.sr {\n position: absolute;\n width: var(--office-space-px);\n height: var(--office-space-px);\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) {\n :host(:not([placement='belowRibbon'])) {\n display: none !important;\n }\n}\n@media (max-width: 1100px) {\n .qat small {\n display: none;\n }\n .name {\n max-width: var(--office-title-bar-name-max-width-narrow);\n }\n}\n@media (pointer: coarse) {\n .qat button,\n .results button {\n min-width: var(--office-target-size-touch);\n min-height: var(--office-target-size-touch);\n }\n .bar {\n height: auto;\n min-height: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n .bar {\n border-bottom-color: CanvasText;\n background: Canvas;\n color: CanvasText;\n }\n .mark {\n border: var(--office-border-width) solid CanvasText;\n background: Canvas;\n color: CanvasText;\n }\n .label,\n .dot,\n .status,\n .name,\n .qat button,\n .results button {\n color: CanvasText;\n }\n .sep {\n background: CanvasText;\n }\n .qat button:hover:not(:disabled),\n .results button:hover,\n .results button[aria-selected='true'] {\n background: Highlight;\n color: HighlightText;\n }\n .qat button:disabled {\n color: GrayText;\n opacity: 1;\n }\n .results {\n border-color: CanvasText;\n background: Canvas;\n }\n button:focus-visible {\n outline-color: Highlight;\n }\n}\n";
|
|
68547
|
+
var title_bar_default = ":host {\n display: block;\n flex: none;\n}\n:host([data-empty]) {\n display: none !important;\n}\n[hidden] {\n display: none !important;\n}\n.bar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--office-space-1);\n width: 100%;\n height: var(--office-title-bar-height);\n padding: 0 var(--office-space-2);\n border-bottom: var(--office-border-width) solid var(--office-title-bar-border);\n background: var(--office-title-bar-background);\n color: var(--office-title-bar-foreground);\n font: var(--office-font-size-xs)/var(--office-line-height-tight) var(--office-font);\n user-select: none;\n}\n:host([placement='belowRibbon']) .bar {\n height: auto;\n min-height: var(--office-title-bar-below-height);\n padding-block: var(--office-space-0);\n}\n.mark {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--office-title-bar-mark-size);\n height: var(--office-title-bar-mark-size);\n border-radius: var(--office-radius-sm);\n background: var(--office-title-bar-mark-background);\n color: var(--office-title-bar-mark-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: var(--office-font-weight-bold);\n}\n.autosave {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--office-space-1-5);\n padding: 0 var(--office-space-0) 0 var(--office-space-1-5);\n white-space: nowrap;\n}\n.label,\n.dot,\n.status {\n color: var(--office-muted-foreground);\n white-space: nowrap;\n}\n.sep {\n flex: none;\n width: var(--office-border-width);\n height: var(--office-space-4);\n margin: 0 var(--office-space-1);\n background: var(--office-title-bar-border);\n}\n.qat {\n display: flex;\n align-items: center;\n gap: var(--office-space-0);\n min-width: 0;\n}\n.qat button,\n.results button {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--office-space-1);\n min-width: var(--office-control-height-md);\n min-height: var(--office-control-height-md);\n padding: var(--office-space-1);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: var(--office-muted-foreground);\n font: inherit;\n cursor: pointer;\n touch-action: manipulation;\n}\n.qat button:hover:not(:disabled) {\n background: var(--office-selected);\n}\n.qat button:active:not(:disabled) {\n opacity: 0.7;\n}\n.qat button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.qat small {\n font-size: var(--office-font-size-xs);\n white-space: nowrap;\n}\nsvg {\n flex: none;\n width: var(--office-icon-size);\n height: var(--office-icon-size);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n.file {\n display: flex;\n align-items: baseline;\n gap: var(--office-space-1-5);\n min-width: 0;\n padding: 0 var(--office-space-1);\n flex: 0 1 auto;\n}\n/* `centered`: the file name sits in the middle of the bar, as in Visio's window title. */\n@media (min-width: 761px) {\n :host([centered]) .bar {\n position: relative;\n }\n :host([centered]) .file {\n position: absolute;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n }\n :host([centered][dir='rtl']) .file {\n transform: translateX(50%);\n }\n}\n.name {\n max-width: var(--office-title-bar-name-max-width);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--office-title-bar-name-foreground);\n font-size: var(--office-font-size-sm);\n font-weight: var(--office-font-weight-medium);\n}\n.status.saving {\n color: var(--office-warning);\n}\n.status.error {\n color: var(--office-danger);\n}\n.search {\n position: relative;\n flex: 1;\n display: flex;\n justify-content: center;\n min-width: 0;\n padding: 0 var(--office-space-2);\n}\n.box {\n position: relative;\n width: 100%;\n max-width: var(--office-title-bar-search-max-width);\n min-width: 0;\n}\n.box > [part='search'] {\n width: 100%;\n}\n.results {\n position: absolute;\n z-index: var(--office-z-popover);\n top: calc(100% + var(--office-space-1));\n right: 0;\n left: 0;\n max-height: var(--office-title-bar-results-max-height);\n overflow-y: auto;\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-lg);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n}\n.heading {\n padding: var(--office-space-1-5) var(--office-space-3);\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n font-weight: var(--office-font-weight-bold);\n letter-spacing: 0.05em;\n text-transform: uppercase;\n}\n.empty {\n padding: var(--office-space-2) var(--office-space-3);\n color: var(--office-muted-foreground);\n}\n.results button {\n display: flex;\n width: 100%;\n justify-content: flex-start;\n gap: var(--office-space-2);\n padding: var(--office-space-1-5) var(--office-space-3);\n border-radius: 0;\n color: inherit;\n text-align: start;\n}\n.results button:hover,\n.results button[aria-selected='true'] {\n background: var(--office-title-bar-result-selected);\n}\n.results .cat {\n margin-inline-start: auto;\n color: var(--office-muted-foreground);\n font-size: var(--office-font-size-2xs);\n text-transform: capitalize;\n}\n.results .content {\n border-top: var(--office-border-width) solid var(--office-border);\n}\n.end {\n flex: none;\n /* Without a search box nothing else pushes the account to the far edge. */\n margin-inline-start: auto;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--office-space-1);\n}\n.sr {\n position: absolute;\n width: var(--office-space-px);\n height: var(--office-space-px);\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) {\n :host(:not([placement='belowRibbon'])) {\n display: none !important;\n }\n}\n@media (max-width: 1100px) {\n .qat small {\n display: none;\n }\n .name {\n max-width: var(--office-title-bar-name-max-width-narrow);\n }\n}\n@media (pointer: coarse) {\n .qat button,\n .results button {\n min-width: var(--office-target-size-touch);\n min-height: var(--office-target-size-touch);\n }\n .bar {\n height: auto;\n min-height: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n .bar {\n border-bottom-color: CanvasText;\n background: Canvas;\n color: CanvasText;\n }\n .mark {\n border: var(--office-border-width) solid CanvasText;\n background: Canvas;\n color: CanvasText;\n }\n .label,\n .dot,\n .status,\n .name,\n .qat button,\n .results button {\n color: CanvasText;\n }\n .sep {\n background: CanvasText;\n }\n .qat button:hover:not(:disabled),\n .results button:hover,\n .results button[aria-selected='true'] {\n background: Highlight;\n color: HighlightText;\n }\n .qat button:disabled {\n color: GrayText;\n opacity: 1;\n }\n .results {\n border-color: CanvasText;\n background: Canvas;\n }\n button:focus-visible {\n outline-color: Highlight;\n }\n}\n";
|
|
68776
68548
|
|
|
68777
68549
|
// src/chrome/title-bar.ts
|
|
68778
68550
|
var EMPTY = { fileName: "" };
|
|
@@ -69938,8 +69710,8 @@ function definePptxPresentToolbar(registry2) {
|
|
|
69938
69710
|
connectedCallback() {
|
|
69939
69711
|
this.render();
|
|
69940
69712
|
this.ownerDocument.addEventListener("mousedown", this.onOutside, true);
|
|
69941
|
-
const
|
|
69942
|
-
this.tick =
|
|
69713
|
+
const view2 = this.ownerDocument.defaultView;
|
|
69714
|
+
this.tick = view2?.setInterval(() => this.view.renderElapsed(this.model.startTime), 1e3);
|
|
69943
69715
|
}
|
|
69944
69716
|
disconnectedCallback() {
|
|
69945
69717
|
this.ownerDocument.removeEventListener("mousedown", this.onOutside, true);
|
|
@@ -70943,9 +70715,9 @@ function definePptxRibbonGallery(registry2) {
|
|
|
70943
70715
|
this,
|
|
70944
70716
|
this.#descriptor ? officeGalleryState(this.#descriptor, this.#t) : void 0
|
|
70945
70717
|
);
|
|
70946
|
-
const
|
|
70947
|
-
if (this.#descriptor && !this.isConnected &&
|
|
70948
|
-
this.append(
|
|
70718
|
+
const view2 = this.trigger.parentElement;
|
|
70719
|
+
if (this.#descriptor && !this.isConnected && view2 && view2.parentElement !== this) {
|
|
70720
|
+
this.append(view2);
|
|
70949
70721
|
}
|
|
70950
70722
|
}
|
|
70951
70723
|
}
|
|
@@ -71426,14 +71198,14 @@ function createHomePopup(doc, slot, trigger, role, label, onChange) {
|
|
|
71426
71198
|
let keyboard = false;
|
|
71427
71199
|
el.addEventListener("click", (event) => keyboard = event.detail === 0, true);
|
|
71428
71200
|
const reposition = () => {
|
|
71429
|
-
const
|
|
71430
|
-
if (!
|
|
71201
|
+
const view2 = doc.defaultView;
|
|
71202
|
+
if (!view2 || !opened) {
|
|
71431
71203
|
return;
|
|
71432
71204
|
}
|
|
71433
71205
|
const anchor = slot.getBoundingClientRect();
|
|
71434
71206
|
const { width, height } = el.getBoundingClientRect();
|
|
71435
|
-
const left = Math.min(anchor.left,
|
|
71436
|
-
const top = anchor.bottom + 4 + height >
|
|
71207
|
+
const left = Math.min(anchor.left, view2.innerWidth - width - 8);
|
|
71208
|
+
const top = anchor.bottom + 4 + height > view2.innerHeight - 8 && anchor.top - 4 - height >= 8 ? anchor.top - 4 - height : anchor.bottom + 4;
|
|
71437
71209
|
el.style.left = `${Math.max(8, left)}px`;
|
|
71438
71210
|
el.style.top = `${Math.max(8, top)}px`;
|
|
71439
71211
|
};
|
|
@@ -71451,11 +71223,11 @@ function createHomePopup(doc, slot, trigger, role, label, onChange) {
|
|
|
71451
71223
|
}
|
|
71452
71224
|
};
|
|
71453
71225
|
const listen = (on) => {
|
|
71454
|
-
const
|
|
71226
|
+
const view2 = doc.defaultView;
|
|
71455
71227
|
const method = on ? "addEventListener" : "removeEventListener";
|
|
71456
71228
|
doc[method]("pointerdown", outside, true);
|
|
71457
71229
|
doc[method]("keydown", key);
|
|
71458
|
-
|
|
71230
|
+
view2?.[method]("resize", reposition);
|
|
71459
71231
|
doc[method]("scroll", reposition, true);
|
|
71460
71232
|
};
|
|
71461
71233
|
function close(focusTrigger = false) {
|
|
@@ -72112,10 +71884,10 @@ function createInsertMenu(doc, control2, icon2, pick, options = {}) {
|
|
|
72112
71884
|
return;
|
|
72113
71885
|
}
|
|
72114
71886
|
const rect3 = trigger.getBoundingClientRect();
|
|
72115
|
-
const
|
|
71887
|
+
const view2 = doc.defaultView;
|
|
72116
71888
|
const box = list.getBoundingClientRect();
|
|
72117
|
-
const width =
|
|
72118
|
-
const height =
|
|
71889
|
+
const width = view2?.innerWidth ?? 1024;
|
|
71890
|
+
const height = view2?.innerHeight ?? 768;
|
|
72119
71891
|
list.style.left = `${Math.max(8, Math.min(rect3.left, width - box.width - 8))}px`;
|
|
72120
71892
|
list.style.top = `${Math.max(8, Math.min(rect3.bottom + 4, height - box.height - 8))}px`;
|
|
72121
71893
|
};
|
|
@@ -72468,6 +72240,49 @@ function definePptxRibbonSection(registry2) {
|
|
|
72468
72240
|
registry2.define("pptx-ui-ribbon-section", PptxRibbonSection);
|
|
72469
72241
|
}
|
|
72470
72242
|
|
|
72243
|
+
// src/pptx/web-components/ribbon-add-in.ts
|
|
72244
|
+
function definePptxRibbonAddIn(registry2) {
|
|
72245
|
+
if (registry2.get("pptx-ui-ribbon-add-in")) {
|
|
72246
|
+
return;
|
|
72247
|
+
}
|
|
72248
|
+
definePptxRibbonSection(registry2);
|
|
72249
|
+
class PptxRibbonAddIn extends HTMLElement {
|
|
72250
|
+
#tab = null;
|
|
72251
|
+
#section = null;
|
|
72252
|
+
get tab() {
|
|
72253
|
+
return this.#tab;
|
|
72254
|
+
}
|
|
72255
|
+
set tab(value) {
|
|
72256
|
+
this.#tab = value ?? null;
|
|
72257
|
+
this.#render();
|
|
72258
|
+
}
|
|
72259
|
+
connectedCallback() {
|
|
72260
|
+
this.style.display = "contents";
|
|
72261
|
+
this.addEventListener("command-request", this.#request);
|
|
72262
|
+
this.#render();
|
|
72263
|
+
}
|
|
72264
|
+
disconnectedCallback() {
|
|
72265
|
+
this.removeEventListener("command-request", this.#request);
|
|
72266
|
+
}
|
|
72267
|
+
#request = (event) => {
|
|
72268
|
+
event.stopPropagation();
|
|
72269
|
+
const id = event.detail?.id;
|
|
72270
|
+
if (this.#tab && typeof id === "string") runRibbonAddInCommand(this, this.#tab, id);
|
|
72271
|
+
};
|
|
72272
|
+
#render() {
|
|
72273
|
+
if (!this.isConnected) return;
|
|
72274
|
+
if (!this.#section) {
|
|
72275
|
+
this.#section = this.ownerDocument.createElement("pptx-ui-ribbon-section");
|
|
72276
|
+
this.append(this.#section);
|
|
72277
|
+
}
|
|
72278
|
+
if (this.#tab) this.dataset.ribbonAddIn = this.#tab.id;
|
|
72279
|
+
else delete this.dataset.ribbonAddIn;
|
|
72280
|
+
this.#section.groups = this.#tab ? ribbonAddInGroupViews(this.#tab) : [];
|
|
72281
|
+
}
|
|
72282
|
+
}
|
|
72283
|
+
registry2.define("pptx-ui-ribbon-add-in", PptxRibbonAddIn);
|
|
72284
|
+
}
|
|
72285
|
+
|
|
72471
72286
|
// src/pptx/web-components/ribbon-transitions-styles.ts
|
|
72472
72287
|
var RIBBON_TRANSITIONS_STYLES = `
|
|
72473
72288
|
:host { display:inline-flex; align-items:stretch; flex:none; color:var(--pptx-foreground,#f8fafc); font:inherit; }
|
|
@@ -73302,7 +73117,7 @@ function officeStatusBarState(state) {
|
|
|
73302
73117
|
const t = state.translate ?? ((key) => key);
|
|
73303
73118
|
const count = Math.max(0, state.slideCount);
|
|
73304
73119
|
const views = state.showViewModes !== false;
|
|
73305
|
-
const
|
|
73120
|
+
const view2 = (id, labelKey, shown = true) => ({
|
|
73306
73121
|
id,
|
|
73307
73122
|
icon: `${ICON_PREFIX}${id}`,
|
|
73308
73123
|
label: t(labelKey),
|
|
@@ -73334,9 +73149,9 @@ function officeStatusBarState(state) {
|
|
|
73334
73149
|
],
|
|
73335
73150
|
// Every control stays rendered and named; gating only hides it.
|
|
73336
73151
|
views: [
|
|
73337
|
-
|
|
73338
|
-
|
|
73339
|
-
|
|
73152
|
+
view2("normal", "pptx.statusBar.normalView"),
|
|
73153
|
+
view2("sorter", "pptx.statusBar.slideSorter", state.showSorter !== false),
|
|
73154
|
+
view2("slideShow", "pptx.statusBar.slideShow", state.showSlideShow !== false)
|
|
73340
73155
|
],
|
|
73341
73156
|
zoom: {
|
|
73342
73157
|
percent: state.zoomPercent ?? 100,
|
|
@@ -74306,16 +74121,16 @@ function reflowRibbon(content) {
|
|
|
74306
74121
|
}
|
|
74307
74122
|
function attachRibbonOverflow(content, options = {}) {
|
|
74308
74123
|
const doc = content.ownerDocument;
|
|
74309
|
-
const
|
|
74124
|
+
const view2 = doc.defaultView;
|
|
74310
74125
|
let frame = 0;
|
|
74311
74126
|
let forced = false;
|
|
74312
74127
|
let lastWidth = -1;
|
|
74313
74128
|
const schedule = (force = false) => {
|
|
74314
74129
|
forced ||= force;
|
|
74315
|
-
if (frame || !
|
|
74130
|
+
if (frame || !view2) {
|
|
74316
74131
|
return;
|
|
74317
74132
|
}
|
|
74318
|
-
frame =
|
|
74133
|
+
frame = view2.requestAnimationFrame(() => {
|
|
74319
74134
|
frame = 0;
|
|
74320
74135
|
const rebuild = forced;
|
|
74321
74136
|
forced = false;
|
|
@@ -74339,7 +74154,7 @@ function attachRibbonOverflow(content, options = {}) {
|
|
|
74339
74154
|
observer?.observe(content, { childList: true, subtree: true });
|
|
74340
74155
|
resize?.observe(content);
|
|
74341
74156
|
const onWindowResize = () => schedule();
|
|
74342
|
-
|
|
74157
|
+
view2?.addEventListener("resize", onWindowResize);
|
|
74343
74158
|
const toggleGroup = (group, face) => {
|
|
74344
74159
|
if (!face || !content.contains(group) || !group.hasAttribute("data-collapsed")) {
|
|
74345
74160
|
return;
|
|
@@ -74397,8 +74212,8 @@ function attachRibbonOverflow(content, options = {}) {
|
|
|
74397
74212
|
stopLaunchers?.();
|
|
74398
74213
|
observer?.disconnect();
|
|
74399
74214
|
resize?.disconnect();
|
|
74400
|
-
|
|
74401
|
-
|
|
74215
|
+
view2?.removeEventListener("resize", onWindowResize);
|
|
74216
|
+
view2?.cancelAnimationFrame(frame);
|
|
74402
74217
|
content.removeEventListener("click", toggle2);
|
|
74403
74218
|
content.removeEventListener("ribbon-collapse-toggle", toggleShared);
|
|
74404
74219
|
content.removeEventListener("click", afterCommand);
|
|
@@ -74483,6 +74298,7 @@ var controls = [
|
|
|
74483
74298
|
["pptx-ui-ribbon-transitions", definePptxRibbonTransitions],
|
|
74484
74299
|
["pptx-ui-ribbon-group", definePptxRibbonGroup],
|
|
74485
74300
|
["pptx-ui-ribbon-section", definePptxRibbonSection],
|
|
74301
|
+
["pptx-ui-ribbon-add-in", definePptxRibbonAddIn],
|
|
74486
74302
|
["pptx-ui-ribbon-gallery", definePptxRibbonGallery],
|
|
74487
74303
|
["pptx-ui-ribbon-toggle", definePptxRibbonToggle],
|
|
74488
74304
|
["pptx-ui-status-bar", definePptxStatusBar],
|
|
@@ -74557,10 +74373,10 @@ function memoised(element, byObject, byId, build7) {
|
|
|
74557
74373
|
return byObject.get(element) ?? null;
|
|
74558
74374
|
}
|
|
74559
74375
|
const last = byId.get(element.id);
|
|
74560
|
-
const
|
|
74561
|
-
byObject.set(element,
|
|
74562
|
-
byId.set(element.id, { element, view });
|
|
74563
|
-
return
|
|
74376
|
+
const view2 = last && differsOnlyInPosition(last.element, element) ? last.view : build7();
|
|
74377
|
+
byObject.set(element, view2);
|
|
74378
|
+
byId.set(element.id, { element, view: view2 });
|
|
74379
|
+
return view2;
|
|
74564
74380
|
}
|
|
74565
74381
|
function chartThreeViewSpec(element) {
|
|
74566
74382
|
return memoised(element, chartSpecs, lastByIdChart, () => {
|
|
@@ -74617,7 +74433,7 @@ function applyChart3DDrag(bridge, detail) {
|
|
|
74617
74433
|
return;
|
|
74618
74434
|
}
|
|
74619
74435
|
bridge.commitChartData(
|
|
74620
|
-
|
|
74436
|
+
chunkK3S2A64B_cjs.withChartPointValue(bridge.chartData, part.seriesIndex, part.pointIndex, value)
|
|
74621
74437
|
);
|
|
74622
74438
|
}
|
|
74623
74439
|
function detailOf(event) {
|
|
@@ -75094,7 +74910,7 @@ function calculateNotesPageLayout(slideWidth, slideHeight) {
|
|
|
75094
74910
|
};
|
|
75095
74911
|
}
|
|
75096
74912
|
function wrapNotesText(text3, maxWidth, fontSize) {
|
|
75097
|
-
return
|
|
74913
|
+
return chunkVFPVEVF4_cjs.wrapTextByEstimatedWidth(text3, maxWidth, fontSize, { keepBlankLines: true });
|
|
75098
74914
|
}
|
|
75099
74915
|
function calculateContinuationPageMaxLines() {
|
|
75100
74916
|
const contentHeight = NOTES_PAGE_H - 2 * NOTES_MARGIN;
|
|
@@ -76810,14 +76626,34 @@ Object.defineProperty(exports, "isTemplateElementId", {
|
|
|
76810
76626
|
enumerable: true,
|
|
76811
76627
|
get: function () { return element.isTemplateElementId; }
|
|
76812
76628
|
});
|
|
76629
|
+
Object.defineProperty(exports, "CANVAS_SENTINEL", {
|
|
76630
|
+
enumerable: true,
|
|
76631
|
+
get: function () { return geometry.CANVAS_SENTINEL; }
|
|
76632
|
+
});
|
|
76633
|
+
Object.defineProperty(exports, "PADDING_DEFAULT", {
|
|
76634
|
+
enumerable: true,
|
|
76635
|
+
get: function () { return geometry.PADDING_DEFAULT; }
|
|
76636
|
+
});
|
|
76637
|
+
Object.defineProperty(exports, "ROUTING_PADDING_DEFAULT", {
|
|
76638
|
+
enumerable: true,
|
|
76639
|
+
get: function () { return geometry.ROUTING_PADDING_DEFAULT; }
|
|
76640
|
+
});
|
|
76813
76641
|
Object.defineProperty(exports, "SNAP_THRESHOLD", {
|
|
76814
76642
|
enumerable: true,
|
|
76815
76643
|
get: function () { return geometry.SNAP_THRESHOLD; }
|
|
76816
76644
|
});
|
|
76645
|
+
Object.defineProperty(exports, "aStarOrthogonal", {
|
|
76646
|
+
enumerable: true,
|
|
76647
|
+
get: function () { return geometry.aStarOrthogonal; }
|
|
76648
|
+
});
|
|
76817
76649
|
Object.defineProperty(exports, "alignElements", {
|
|
76818
76650
|
enumerable: true,
|
|
76819
76651
|
get: function () { return geometry.alignElements; }
|
|
76820
76652
|
});
|
|
76653
|
+
Object.defineProperty(exports, "buildGraphNodes", {
|
|
76654
|
+
enumerable: true,
|
|
76655
|
+
get: function () { return geometry.buildGraphNodes; }
|
|
76656
|
+
});
|
|
76821
76657
|
Object.defineProperty(exports, "computeAlign", {
|
|
76822
76658
|
enumerable: true,
|
|
76823
76659
|
get: function () { return geometry.computeAlign; }
|
|
@@ -76842,14 +76678,50 @@ Object.defineProperty(exports, "createRotationDrag", {
|
|
|
76842
76678
|
enumerable: true,
|
|
76843
76679
|
get: function () { return geometry.createRotationDrag; }
|
|
76844
76680
|
});
|
|
76681
|
+
Object.defineProperty(exports, "directPathClear", {
|
|
76682
|
+
enumerable: true,
|
|
76683
|
+
get: function () { return geometry.directPathClear; }
|
|
76684
|
+
});
|
|
76845
76685
|
Object.defineProperty(exports, "distributeElements", {
|
|
76846
76686
|
enumerable: true,
|
|
76847
76687
|
get: function () { return geometry.distributeElements; }
|
|
76848
76688
|
});
|
|
76689
|
+
Object.defineProperty(exports, "heuristic", {
|
|
76690
|
+
enumerable: true,
|
|
76691
|
+
get: function () { return geometry.heuristic; }
|
|
76692
|
+
});
|
|
76693
|
+
Object.defineProperty(exports, "inflateRect", {
|
|
76694
|
+
enumerable: true,
|
|
76695
|
+
get: function () { return geometry.inflateRect; }
|
|
76696
|
+
});
|
|
76697
|
+
Object.defineProperty(exports, "pointInRect", {
|
|
76698
|
+
enumerable: true,
|
|
76699
|
+
get: function () { return geometry.pointInRect; }
|
|
76700
|
+
});
|
|
76701
|
+
Object.defineProperty(exports, "pointKey", {
|
|
76702
|
+
enumerable: true,
|
|
76703
|
+
get: function () { return geometry.pointKey; }
|
|
76704
|
+
});
|
|
76849
76705
|
Object.defineProperty(exports, "resolveAlignReferenceBox", {
|
|
76850
76706
|
enumerable: true,
|
|
76851
76707
|
get: function () { return geometry.resolveAlignReferenceBox; }
|
|
76852
76708
|
});
|
|
76709
|
+
Object.defineProperty(exports, "routeConnector", {
|
|
76710
|
+
enumerable: true,
|
|
76711
|
+
get: function () { return geometry.routeConnector; }
|
|
76712
|
+
});
|
|
76713
|
+
Object.defineProperty(exports, "routeOrthogonalConnector", {
|
|
76714
|
+
enumerable: true,
|
|
76715
|
+
get: function () { return geometry.routeOrthogonalConnector; }
|
|
76716
|
+
});
|
|
76717
|
+
Object.defineProperty(exports, "segmentIntersectsRect", {
|
|
76718
|
+
enumerable: true,
|
|
76719
|
+
get: function () { return geometry.segmentIntersectsRect; }
|
|
76720
|
+
});
|
|
76721
|
+
Object.defineProperty(exports, "simplifyPath", {
|
|
76722
|
+
enumerable: true,
|
|
76723
|
+
get: function () { return geometry.simplifyPath; }
|
|
76724
|
+
});
|
|
76853
76725
|
Object.defineProperty(exports, "snapAngle", {
|
|
76854
76726
|
enumerable: true,
|
|
76855
76727
|
get: function () { return geometry.snapAngle; }
|
|
@@ -76870,6 +76742,14 @@ Object.defineProperty(exports, "usesSlideReference", {
|
|
|
76870
76742
|
enumerable: true,
|
|
76871
76743
|
get: function () { return geometry.usesSlideReference; }
|
|
76872
76744
|
});
|
|
76745
|
+
Object.defineProperty(exports, "waypointsToPathD", {
|
|
76746
|
+
enumerable: true,
|
|
76747
|
+
get: function () { return geometry.waypointsToPathD; }
|
|
76748
|
+
});
|
|
76749
|
+
Object.defineProperty(exports, "waypointsToPathData", {
|
|
76750
|
+
enumerable: true,
|
|
76751
|
+
get: function () { return geometry.waypointsToPathData; }
|
|
76752
|
+
});
|
|
76873
76753
|
Object.defineProperty(exports, "canDrillDown", {
|
|
76874
76754
|
enumerable: true,
|
|
76875
76755
|
get: function () { return elementLocks.canDrillDown; }
|
|
@@ -77430,6 +77310,10 @@ Object.defineProperty(exports, "tableStyleSaveOptions", {
|
|
|
77430
77310
|
enumerable: true,
|
|
77431
77311
|
get: function () { return tableStyleMapEdits.tableStyleSaveOptions; }
|
|
77432
77312
|
});
|
|
77313
|
+
Object.defineProperty(exports, "RIBBON_ADD_IN_EVENT", {
|
|
77314
|
+
enumerable: true,
|
|
77315
|
+
get: function () { return ribbon.RIBBON_ADD_IN_EVENT; }
|
|
77316
|
+
});
|
|
77433
77317
|
Object.defineProperty(exports, "appendElementOnSlide", {
|
|
77434
77318
|
enumerable: true,
|
|
77435
77319
|
get: function () { return editorMutations.appendElementOnSlide; }
|
|
@@ -77592,7 +77476,6 @@ exports.BRIGHTNESS_CONTRAST_STEPS = BRIGHTNESS_CONTRAST_STEPS;
|
|
|
77592
77476
|
exports.BROADCAST_THROTTLE_MS = BROADCAST_THROTTLE_MS;
|
|
77593
77477
|
exports.CANVAS_CONTEXT_MENU_COMMAND_IDS = CANVAS_CONTEXT_MENU_COMMAND_IDS;
|
|
77594
77478
|
exports.CANVAS_DIMENSION_CANDIDATES = CANVAS_DIMENSION_CANDIDATES;
|
|
77595
|
-
exports.CANVAS_SENTINEL = CANVAS_SENTINEL;
|
|
77596
77479
|
exports.CATEGORIES = CATEGORIES;
|
|
77597
77480
|
exports.CHART_3D_TYPES = CHART_3D_TYPES;
|
|
77598
77481
|
exports.CHART_AXIS_TYPE_LABEL_KEYS = CHART_AXIS_TYPE_LABEL_KEYS;
|
|
@@ -77885,7 +77768,6 @@ exports.OUTLINE_VIEW_ATTR = OUTLINE_VIEW_ATTR;
|
|
|
77885
77768
|
exports.P14_TRANSITION_KEYFRAMES = P14_TRANSITION_KEYFRAMES;
|
|
77886
77769
|
exports.P14_TRANSITION_KEYFRAMES_2 = P14_TRANSITION_KEYFRAMES_2;
|
|
77887
77770
|
exports.P14_TRANSITION_KEYFRAMES_ALL = P14_TRANSITION_KEYFRAMES_ALL;
|
|
77888
|
-
exports.PADDING_DEFAULT = PADDING_DEFAULT;
|
|
77889
77771
|
exports.PALETTES = PALETTES;
|
|
77890
77772
|
exports.PASTE_OFFSET_PX = PASTE_OFFSET_PX;
|
|
77891
77773
|
exports.PASTE_SPECIAL_OPTIONS = PASTE_SPECIAL_OPTIONS;
|
|
@@ -77959,6 +77841,7 @@ exports.RECORD_COMMAND_GROUPS = RECORD_COMMAND_GROUPS;
|
|
|
77959
77841
|
exports.RESIZE_HANDLES = RESIZE_HANDLES;
|
|
77960
77842
|
exports.RESIZE_HANDLE_GEOMETRY = RESIZE_HANDLE_GEOMETRY;
|
|
77961
77843
|
exports.RGBA_BYTES_PER_PIXEL = RGBA_BYTES_PER_PIXEL;
|
|
77844
|
+
exports.RIBBON_ADD_IN_TAB_ATTR = RIBBON_ADD_IN_TAB_ATTR;
|
|
77962
77845
|
exports.RIBBON_CONTEXTUAL_TABS = RIBBON_CONTEXTUAL_TABS;
|
|
77963
77846
|
exports.RIBBON_CONTEXTUAL_TAB_ATTR = RIBBON_CONTEXTUAL_TAB_ATTR;
|
|
77964
77847
|
exports.RIBBON_CONTROL_ATTR = RIBBON_CONTROL_ATTR;
|
|
@@ -77975,13 +77858,13 @@ exports.RIBBON_GROUP_IDS = RIBBON_GROUP_IDS;
|
|
|
77975
77858
|
exports.RIBBON_HOME_FAMILIES = RIBBON_HOME_FAMILIES;
|
|
77976
77859
|
exports.RIBBON_HOME_INDENT_STEP = RIBBON_HOME_INDENT_STEP;
|
|
77977
77860
|
exports.RIBBON_MENU_COMMAND_IDS = RIBBON_MENU_COMMAND_IDS;
|
|
77861
|
+
exports.RIBBON_RESERVED_TAB_IDS = RIBBON_RESERVED_TAB_IDS;
|
|
77978
77862
|
exports.RIBBON_SCOPE_ATTR = RIBBON_SCOPE_ATTR;
|
|
77979
77863
|
exports.RIBBON_SHAPE_SWATCHES = RIBBON_SHAPE_SWATCHES;
|
|
77980
77864
|
exports.RIBBON_TAB = RIBBON_TAB;
|
|
77981
77865
|
exports.RIBBON_TAB_IDS = RIBBON_TAB_IDS;
|
|
77982
77866
|
exports.RIBBON_TRANSITION_PRESETS = RIBBON_TRANSITION_PRESETS;
|
|
77983
77867
|
exports.ROTATE_STEM_PX = ROTATE_STEM_PX;
|
|
77984
|
-
exports.ROUTING_PADDING_DEFAULT = ROUTING_PADDING_DEFAULT;
|
|
77985
77868
|
exports.RULER_FONT_SIZE = RULER_FONT_SIZE;
|
|
77986
77869
|
exports.RULER_THICKNESS = RULER_THICKNESS;
|
|
77987
77870
|
exports.RUN_HYPERLINK_ATTR = RUN_HYPERLINK_ATTR;
|
|
@@ -78108,7 +77991,6 @@ exports.ZOOM_MIN_PERCENT = ZOOM_MIN_PERCENT;
|
|
|
78108
77991
|
exports.ZOOM_STEP = ZOOM_STEP;
|
|
78109
77992
|
exports._resetCanvasDimensionCache = _resetCanvasDimensionCache;
|
|
78110
77993
|
exports._resetNativeImageSizeCacheForTests = _resetNativeImageSizeCacheForTests;
|
|
78111
|
-
exports.aStarOrthogonal = aStarOrthogonal;
|
|
78112
77994
|
exports.accentDuotone = accentDuotone;
|
|
78113
77995
|
exports.acceptAutosaveRecovery = acceptAutosaveRecovery;
|
|
78114
77996
|
exports.acceptsPresentationInput = acceptsPresentationInput;
|
|
@@ -78284,7 +78166,6 @@ exports.buildGlyphEnvelope = buildGlyphEnvelope;
|
|
|
78284
78166
|
exports.buildGlyphEnvelopeBlock = buildGlyphEnvelopeBlock;
|
|
78285
78167
|
exports.buildGoogleFontsFragment = buildGoogleFontsFragment;
|
|
78286
78168
|
exports.buildGoogleFontsHref = buildGoogleFontsHref;
|
|
78287
|
-
exports.buildGraphNodes = buildGraphNodes;
|
|
78288
78169
|
exports.buildHollowHitOutline = buildHollowHitOutline;
|
|
78289
78170
|
exports.buildHyperlinkPatch = buildHyperlinkPatch;
|
|
78290
78171
|
exports.buildIdatChunk = buildIdatChunk;
|
|
@@ -78658,7 +78539,6 @@ exports.diffOptionsAgainstBaseline = diffOptionsAgainstBaseline;
|
|
|
78658
78539
|
exports.diffSlideElements = diffSlideElements;
|
|
78659
78540
|
exports.diffTokens = diffTokens;
|
|
78660
78541
|
exports.diffViewerOptions = diffViewerOptions;
|
|
78661
|
-
exports.directPathClear = directPathClear;
|
|
78662
78542
|
exports.disableGlowPatch = disableGlowPatch;
|
|
78663
78543
|
exports.disableInnerShadowPatch = disableInnerShadowPatch;
|
|
78664
78544
|
exports.disableOuterShadowPatch = disableOuterShadowPatch;
|
|
@@ -78769,6 +78649,7 @@ exports.findMediaEndGatedSteps = findMediaEndGatedSteps;
|
|
|
78769
78649
|
exports.findMetricCompatibleGoogleFontsFamily = findMetricCompatibleGoogleFontsFamily;
|
|
78770
78650
|
exports.findOutlineRow = findOutlineRow;
|
|
78771
78651
|
exports.findPresentationActionTarget = findPresentationActionTarget;
|
|
78652
|
+
exports.findRibbonAddIn = findRibbonAddIn;
|
|
78772
78653
|
exports.findSlideStage = findSlideStage;
|
|
78773
78654
|
exports.findSmartArtNodeText = findSmartArtNodeText;
|
|
78774
78655
|
exports.finishAnimationGroupSteps = finishAnimationGroupSteps;
|
|
@@ -79014,7 +78895,6 @@ exports.hasText3dExtrusion = hasText3dExtrusion;
|
|
|
79014
78895
|
exports.hasTextWarp = hasTextWarp;
|
|
79015
78896
|
exports.hasTiltData = hasTiltData;
|
|
79016
78897
|
exports.hasWarpPresetDefinition = hasWarpPresetDefinition;
|
|
79017
|
-
exports.heuristic = heuristic;
|
|
79018
78898
|
exports.hexToRgb = hexToRgb;
|
|
79019
78899
|
exports.hiddenSlideCue = hiddenSlideCue;
|
|
79020
78900
|
exports.hiddenSlideLabelId = hiddenSlideLabelId;
|
|
@@ -79040,7 +78920,6 @@ exports.imageResetPatch = imageResetPatch;
|
|
|
79040
78920
|
exports.imageResetState = imageResetState;
|
|
79041
78921
|
exports.incomingSegmentIndex = incomingSegmentIndex;
|
|
79042
78922
|
exports.inferNodeTypes = inferNodeTypes;
|
|
79043
|
-
exports.inflateRect = inflateRect;
|
|
79044
78923
|
exports.initialHiddenStyle = initialHiddenStyle;
|
|
79045
78924
|
exports.initializeInlineListDom = initializeInlineListDom;
|
|
79046
78925
|
exports.inkGroupViewBox = inkGroupViewBox;
|
|
@@ -79363,8 +79242,6 @@ exports.playFeedbackSound = playFeedbackSound;
|
|
|
79363
79242
|
exports.playGroup = playGroup;
|
|
79364
79243
|
exports.playSlideTransitionPreview = playSlideTransitionPreview;
|
|
79365
79244
|
exports.pointFromPointerEvent = pointFromPointerEvent;
|
|
79366
|
-
exports.pointInRect = pointInRect;
|
|
79367
|
-
exports.pointKey = pointKey;
|
|
79368
79245
|
exports.pointsToSvgPathD = pointsToSvgPathD;
|
|
79369
79246
|
exports.polygonRegionBounds = polygonRegionBounds;
|
|
79370
79247
|
exports.powerPointAccelDecelProgress = powerPointAccelDecelProgress;
|
|
@@ -79483,6 +79360,7 @@ exports.resizeSelection = resizeSelection;
|
|
|
79483
79360
|
exports.resolve3DRenderingFlags = resolve3DRenderingFlags;
|
|
79484
79361
|
exports.resolveAccentHex = resolveAccentHex;
|
|
79485
79362
|
exports.resolveActionType = resolveActionType;
|
|
79363
|
+
exports.resolveActiveRibbonAddIn = resolveActiveRibbonAddIn;
|
|
79486
79364
|
exports.resolveActiveRibbonTab = resolveActiveRibbonTab;
|
|
79487
79365
|
exports.resolveAnimationCss = resolveAnimationCss;
|
|
79488
79366
|
exports.resolveAnimationEnd = resolveAnimationEnd;
|
|
@@ -79647,6 +79525,8 @@ exports.revealedStageCount = revealedStageCount;
|
|
|
79647
79525
|
exports.rgbToHex = rgbToHex;
|
|
79648
79526
|
exports.rgbToHsl = rgbToHsl;
|
|
79649
79527
|
exports.rgbaToHex = rgbaToHex;
|
|
79528
|
+
exports.ribbonAddInControlId = ribbonAddInControlId;
|
|
79529
|
+
exports.ribbonAddInGroupViews = ribbonAddInGroupViews;
|
|
79650
79530
|
exports.ribbonControlAttrs = ribbonControlAttrs;
|
|
79651
79531
|
exports.ribbonCustomizationCss = ribbonCustomizationCss;
|
|
79652
79532
|
exports.ribbonGroupAttrs = ribbonGroupAttrs;
|
|
@@ -79658,9 +79538,7 @@ exports.ribbonTransitionsDraftPatch = ribbonTransitionsDraftPatch;
|
|
|
79658
79538
|
exports.ribbonTransitionsSoundChange = ribbonTransitionsSoundChange;
|
|
79659
79539
|
exports.rotateDelta = rotateDelta;
|
|
79660
79540
|
exports.roundedRectOutline = roundedRectOutline;
|
|
79661
|
-
exports.routeConnector = routeConnector;
|
|
79662
79541
|
exports.routeEditLayerPointerToNodes = routeEditLayerPointerToNodes;
|
|
79663
|
-
exports.routeOrthogonalConnector = routeOrthogonalConnector;
|
|
79664
79542
|
exports.rowHandleSegments = rowHandleSegments;
|
|
79665
79543
|
exports.rowIndexAtOffset = rowIndexAtOffset;
|
|
79666
79544
|
exports.rulerDragToGuidePosition = rulerDragToGuidePosition;
|
|
@@ -79670,6 +79548,7 @@ exports.runMediaCommand = runMediaCommand;
|
|
|
79670
79548
|
exports.runPresentationAction = runPresentationAction;
|
|
79671
79549
|
exports.runProgramNoticeStackStyle = runProgramNoticeStackStyle;
|
|
79672
79550
|
exports.runProgramNoticeStackStyleAttr = runProgramNoticeStackStyleAttr;
|
|
79551
|
+
exports.runRibbonAddInCommand = runRibbonAddInCommand;
|
|
79673
79552
|
exports.safeColor = safeColor;
|
|
79674
79553
|
exports.sameArray = sameArray;
|
|
79675
79554
|
exports.sameHex = sameHex;
|
|
@@ -79704,7 +79583,6 @@ exports.seedHyperlinkDraft = seedHyperlinkDraft;
|
|
|
79704
79583
|
exports.seedRecentColors = seedRecentColors;
|
|
79705
79584
|
exports.seedShareFields = seedShareFields;
|
|
79706
79585
|
exports.seedShareSessionFields = seedShareSessionFields;
|
|
79707
|
-
exports.segmentIntersectsRect = segmentIntersectsRect;
|
|
79708
79586
|
exports.segmentStyleToCss = segmentStyleToCss;
|
|
79709
79587
|
exports.segmentsToEditorHtml = segmentsToEditorHtml;
|
|
79710
79588
|
exports.segmentsToParagraphs = segmentsToParagraphs;
|
|
@@ -79770,7 +79648,6 @@ exports.signedLoopArea = signedLoopArea;
|
|
|
79770
79648
|
exports.signedPercent = signedPercent;
|
|
79771
79649
|
exports.simplifyFreeformVertices = simplifyFreeformVertices;
|
|
79772
79650
|
exports.simplifyLoop = simplifyLoop;
|
|
79773
|
-
exports.simplifyPath = simplifyPath;
|
|
79774
79651
|
exports.slideBackgroundClearPatch = slideBackgroundClearPatch;
|
|
79775
79652
|
exports.slideBackgroundClearState = slideBackgroundClearState;
|
|
79776
79653
|
exports.slidePaneContextMenuLabelKey = slidePaneContextMenuLabelKey;
|
|
@@ -79923,9 +79800,8 @@ exports.viewerOptionsToPreferences = viewerOptionsToPreferences;
|
|
|
79923
79800
|
exports.viewerPreferencesFromViewProperties = viewerPreferencesFromViewProperties;
|
|
79924
79801
|
exports.viewerZoomPercent = viewerZoomPercent;
|
|
79925
79802
|
exports.visibleContextualTabs = visibleContextualTabs;
|
|
79803
|
+
exports.visibleRibbonAddIns = visibleRibbonAddIns;
|
|
79926
79804
|
exports.warpPreviewPath = warpPreviewPath;
|
|
79927
|
-
exports.waypointsToPathD = waypointsToPathD;
|
|
79928
|
-
exports.waypointsToPathData = waypointsToPathData;
|
|
79929
79805
|
exports.wheelDecl = wheelDecl;
|
|
79930
79806
|
exports.wireMediaBookmarkSteps = wireMediaBookmarkSteps;
|
|
79931
79807
|
exports.wireMediaEndedSteps = wireMediaEndedSteps;
|