ooxml-ui 1.6.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -37
- package/custom-elements.json +303 -4
- package/dist/chrome/ruler.d.ts +7 -1
- package/dist/chrome/ruler.d.ts.map +1 -1
- package/dist/chrome/status-bar.d.ts.map +1 -1
- package/dist/chrome/tab-strip.d.ts +3 -1
- package/dist/chrome/tab-strip.d.ts.map +1 -1
- package/dist/chrome/task-pane.d.ts +29 -0
- package/dist/chrome/task-pane.d.ts.map +1 -0
- package/dist/chrome/title-bar.d.ts +2 -1
- package/dist/chrome/title-bar.d.ts.map +1 -1
- package/dist/{chunk-QAIVGTQZ.js → chunk-7US5GCXF.js} +158 -153
- package/dist/{chunk-Z7CS3UUK.js → chunk-KF72ZA6V.js} +5 -2
- package/dist/{chunk-QHAE6Y5B.js → chunk-O7APCA5N.js} +680 -98
- package/dist/chunk-W6AV3GHC.js +112 -0
- package/dist/controls.d.ts +9 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +1 -1
- package/dist/dialog/dialog-footer.d.ts.map +1 -1
- package/dist/dialog/options-dialog.d.ts.map +1 -1
- package/dist/docx/editor-core.d.ts +3 -0
- package/dist/docx/editor-shell.d.ts +2 -0
- package/dist/docx/element-api.d.ts +7 -0
- package/dist/docx/events.d.ts +4 -1
- package/dist/docx/index.d.ts +1 -0
- package/dist/docx/ribbon-color-grid.d.ts +3 -4
- package/dist/docx.js +46 -78
- package/dist/edit-worker.js +52 -3
- package/dist/form/color-custom.d.ts +79 -0
- package/dist/form/color-custom.d.ts.map +1 -0
- package/dist/form/color-grid.d.ts +125 -0
- package/dist/form/color-grid.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -3
- package/dist/menu/context-menu.d.ts.map +1 -1
- package/dist/menu/menu-button.d.ts +2 -1
- package/dist/menu/menu-button.d.ts.map +1 -1
- package/dist/notices/paste-options.d.ts.map +1 -1
- package/dist/notices/toasts.d.ts.map +1 -1
- package/dist/pptx/{chart-3d-view-scene-ERX2GRCD.mjs → chart-3d-view-scene-P6MAFEGL.mjs} +2 -2
- package/dist/pptx/{chart-3d-view-scene-55WDENSO.cjs → chart-3d-view-scene-V74F7ZOC.cjs} +38 -38
- package/dist/pptx/{chunk-G2YUKLRX.cjs → chunk-526IHNIH.cjs} +1 -1
- package/dist/pptx/{chunk-SVN6OBG4.mjs → chunk-DPOES4WM.mjs} +26 -11
- package/dist/pptx/{chunk-BLAJIEXA.cjs → chunk-GCS5KBMR.cjs} +511 -653
- package/dist/pptx/{chunk-RPRC2EG5.cjs → chunk-K3S2A64B.cjs} +13 -13
- package/dist/pptx/{chunk-E55NU4BF.mjs → chunk-MCHPNO42.mjs} +289 -493
- package/dist/pptx/{chunk-AWQRQUPL.mjs → chunk-NAFUYAQP.mjs} +1 -1
- package/dist/pptx/{chunk-LCIXR7WE.cjs → chunk-VFPVEVF4.cjs} +26 -11
- package/dist/pptx/{chunk-TKATCPOK.mjs → chunk-ZAOYPCAM.mjs} +1 -1
- package/dist/pptx/dom/activex-controls-overlay.d.ts.map +1 -1
- package/dist/pptx/dom/elements/image.d.ts.map +1 -1
- package/dist/pptx/dom/elements/media.d.ts.map +1 -1
- package/dist/pptx/dom/elements/text-block.d.ts.map +1 -1
- package/dist/pptx/dom/elements/zoom.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +252 -247
- package/dist/pptx/dom/index.mjs +11 -6
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +3059 -3023
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/chart-combo-series.d.ts.map +1 -1
- package/dist/pptx/render/chart-combo-stock.cjs +3 -3
- package/dist/pptx/render/chart-combo-stock.mjs +1 -1
- package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
- package/dist/pptx/render/chart-overlays.cjs +7 -7
- package/dist/pptx/render/chart-overlays.mjs +1 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
- package/dist/pptx/render/chart-view-model.cjs +44 -44
- package/dist/pptx/render/chart-view-model.mjs +1 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
- package/dist/pptx/render/connector-router-types.d.ts +4 -52
- package/dist/pptx/render/connector-router-types.d.ts.map +1 -1
- package/dist/pptx/render/connector-router.d.ts +4 -32
- package/dist/pptx/render/connector-router.d.ts.map +1 -1
- package/dist/pptx/render/editor-keymap-arrows.d.ts +0 -7
- package/dist/pptx/render/editor-keymap-arrows.d.ts.map +1 -1
- package/dist/pptx/render/element-interaction.d.ts +2 -6
- package/dist/pptx/render/element-interaction.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +1 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/ribbon-add-ins.d.ts +53 -0
- package/dist/pptx/render/ribbon-add-ins.d.ts.map +1 -0
- package/dist/pptx/web-components/index.d.ts +1 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-add-in.d.ts +20 -0
- package/dist/pptx/web-components/ribbon-add-in.d.ts.map +1 -0
- package/dist/ribbon/add-in-tabs.d.ts +36 -0
- package/dist/ribbon/group-overflow.d.ts +37 -0
- package/dist/ribbon/group-overflow.d.ts.map +1 -0
- package/dist/ribbon/ribbon-tabs.d.ts.map +1 -1
- package/dist/teams/app/index.d.ts +1 -1
- package/dist/teams.js +2 -2
- package/dist/visio/format-pane-fields.d.ts +42 -0
- package/dist/visio/format-pane-view.d.ts +44 -0
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/page-setup-action.d.ts +4 -0
- package/dist/visio/ribbon-action.d.ts +20 -7
- package/dist/visio/ribbon-change-shape.d.ts +17 -6
- package/dist/visio/ribbon-color-menu.d.ts +29 -0
- package/dist/visio/ribbon-inline-galleries.d.ts +20 -0
- package/dist/visio/ribbon-overflow.d.ts +7 -0
- package/dist/visio/ribbon-review.d.ts +5 -2
- package/dist/visio/ribbon-router.d.ts +3 -3
- package/dist/visio/ribbon-shape-styles.d.ts +4 -1
- package/dist/visio/ribbon-style-options.d.ts +4 -3
- package/dist/visio/ribbon.d.ts +2 -2
- package/dist/visio/shapes-document.d.ts +29 -0
- package/dist/visio/shapes-sections.d.ts +19 -5
- package/dist/visio/shapes-storage.d.ts +15 -0
- package/dist/visio/shapes-window.d.ts +9 -2
- package/dist/visio/status-bar.d.ts +7 -4
- package/dist/visio/stencil-catalog.d.ts +4 -0
- package/dist/visio/styles/theme.d.ts +1 -1
- package/dist/visio/styles.d.ts +1 -1
- package/dist/visio/text-measurer.d.ts +25 -0
- package/dist/visio/title-bar.d.ts +9 -0
- package/dist/visio/viewer-auto-connect-parts.d.ts +12 -0
- package/dist/visio/viewer-auto-connect.d.ts +33 -0
- package/dist/visio/viewer-backstage.d.ts +2 -1
- package/dist/visio/viewer-canvas.d.ts +1 -1
- package/dist/visio/viewer-change-shape.d.ts +8 -4
- package/dist/visio/viewer-chrome.d.ts +13 -5
- package/dist/visio/viewer-color-menus.d.ts +34 -0
- package/dist/visio/viewer-commands.d.ts +4 -1
- package/dist/visio/viewer-connector-tool.d.ts +5 -3
- package/dist/visio/viewer-data-window.d.ts +5 -1
- package/dist/visio/viewer-draw-tool.d.ts +1 -11
- package/dist/visio/viewer-element.d.ts +16 -0
- package/dist/visio/viewer-format-pane.d.ts +26 -0
- package/dist/visio/viewer-guides.d.ts +7 -4
- package/dist/visio/viewer-inline-text.d.ts +31 -0
- package/dist/visio/viewer-input.d.ts +5 -1
- package/dist/visio/viewer-layer-properties.d.ts +18 -0
- package/dist/visio/viewer-layout-commands.d.ts +8 -2
- package/dist/visio/viewer-more-colors.d.ts +16 -0
- package/dist/visio/viewer-options.d.ts +18 -4
- package/dist/visio/viewer-page-setup.d.ts +6 -0
- package/dist/visio/viewer-ruler-grid.d.ts +25 -0
- package/dist/visio/viewer-ruler.d.ts +11 -3
- package/dist/visio/viewer-snap-glue.d.ts +23 -0
- package/dist/visio/viewer-stencil.d.ts +4 -1
- package/dist/visio.js +7595 -5944
- package/dist/xlsx/component.d.ts +8 -0
- package/dist/xlsx/dialogs/format-cells/color-swatches.d.ts +4 -2
- package/dist/xlsx/dialogs/styles.d.ts +1 -1
- package/dist/xlsx/events.d.ts +4 -1
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/ribbon/color-grid.d.ts +25 -7
- package/dist/xlsx/ribbon/ribbon.d.ts +3 -0
- package/dist/xlsx.js +121 -163
- package/package.json +3 -2
- package/dist/pptx/render/connector-router-astar.d.ts +0 -24
- package/dist/pptx/render/connector-router-astar.d.ts.map +0 -1
- package/dist/pptx/render/connector-router-graph.d.ts +0 -38
- package/dist/pptx/render/connector-router-graph.d.ts.map +0 -1
- package/dist/visio/format-shape-dialog.d.ts +0 -21
- package/dist/visio/viewer-edit-controls.d.ts +0 -12
- package/dist/visio/viewer-format-shape.d.ts +0 -16
- package/dist/visio/viewer-geometry-controls.d.ts +0 -14
- package/dist/visio/viewer-layer-controls.d.ts +0 -5
- package/dist/visio/viewer-paint-dialog.d.ts +0 -28
- package/dist/visio/viewer-paint-properties.d.ts +0 -13
|
@@ -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;
|
|
@@ -21806,13 +21807,6 @@ function applyResize(box, handle, dxScreen, dyScreen, zoom, opts = {}) {
|
|
|
21806
21807
|
}
|
|
21807
21808
|
return { x: newX, y: newY, width: newW, height: newH, rotation };
|
|
21808
21809
|
}
|
|
21809
|
-
function snapAngle(angleDeg, step = 15, tolerance = step / 2) {
|
|
21810
|
-
const nearest = Math.round(angleDeg / step) * step;
|
|
21811
|
-
if (Math.abs(angleDeg - nearest) <= tolerance) {
|
|
21812
|
-
return (nearest % 360 + 360) % 360;
|
|
21813
|
-
}
|
|
21814
|
-
return angleDeg;
|
|
21815
|
-
}
|
|
21816
21810
|
function snapBoxToGrid(box, handle, gridSpacingPx, minSize = pptx.MIN_ELEMENT_SIZE) {
|
|
21817
21811
|
if (handle === null || gridSpacingPx <= 0) {
|
|
21818
21812
|
return box;
|
|
@@ -22399,10 +22393,10 @@ function imageFitTransformParts(el) {
|
|
|
22399
22393
|
return { placement: "", crop: "" };
|
|
22400
22394
|
}
|
|
22401
22395
|
return fitTransformsFromInsets({
|
|
22402
|
-
cropLeft:
|
|
22403
|
-
cropTop:
|
|
22404
|
-
cropRight:
|
|
22405
|
-
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),
|
|
22406
22400
|
fillRectLeft: el.fillRectLeft ?? 0,
|
|
22407
22401
|
fillRectTop: el.fillRectTop ?? 0,
|
|
22408
22402
|
fillRectRight: el.fillRectRight ?? 0,
|
|
@@ -22426,10 +22420,10 @@ function fitTransformsFromInsets(insets) {
|
|
|
22426
22420
|
if (hasCrop2) {
|
|
22427
22421
|
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
22428
22422
|
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
22429
|
-
cropLeft =
|
|
22430
|
-
cropRight =
|
|
22431
|
-
cropTop =
|
|
22432
|
-
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);
|
|
22433
22427
|
const remainingWidth = Math.max(0.01, 1 - cropLeft - cropRight);
|
|
22434
22428
|
const remainingHeight = Math.max(0.01, 1 - cropTop - cropBottom);
|
|
22435
22429
|
const tx = Math.round(-cropLeft / remainingWidth * 1e4) / 100;
|
|
@@ -22544,7 +22538,7 @@ function resolveShadeToTitleBackgroundImage(slide, slideWidthPx, slideHeightPx)
|
|
|
22544
22538
|
if (stops.length === 0) {
|
|
22545
22539
|
return void 0;
|
|
22546
22540
|
}
|
|
22547
|
-
return
|
|
22541
|
+
return chunkVFPVEVF4_cjs.buildRectPathGradientImage(stops, void 0, fillToRect);
|
|
22548
22542
|
}
|
|
22549
22543
|
|
|
22550
22544
|
// src/pptx/render/slide-background.ts
|
|
@@ -22566,7 +22560,7 @@ function getSlideBackgroundStyle(slide, slideSize) {
|
|
|
22566
22560
|
style["background-repeat"] = "no-repeat";
|
|
22567
22561
|
}
|
|
22568
22562
|
} else if (pattern) {
|
|
22569
|
-
const svg2 =
|
|
22563
|
+
const svg2 = chunkVFPVEVF4_cjs.getPatternSvg(
|
|
22570
22564
|
pattern.preset,
|
|
22571
22565
|
pattern.fgColor ?? solid ?? "#000000",
|
|
22572
22566
|
pattern.bgColor ?? DEFAULT_SLIDE_BACKGROUND
|
|
@@ -23974,12 +23968,12 @@ function buildRunTabLines(text3, ctx, nestedDecoration, measure2 = (t) => measur
|
|
|
23974
23968
|
// src/pptx/render/paragraph-run-enrich.ts
|
|
23975
23969
|
function resolveRunExtrasContext(input) {
|
|
23976
23970
|
const { seg, runFont, blockFont, blockScriptStyle, tabStops, defaultTabSize, rtl } = input;
|
|
23977
|
-
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ??
|
|
23971
|
+
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ?? chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY;
|
|
23978
23972
|
const scriptFonts = resolveScriptFontSet(seg.style, blockScriptStyle, baseFontFamily);
|
|
23979
23973
|
const tabContext = tabStops && tabStops.length > 0 ? buildTabContext(
|
|
23980
23974
|
tabStops,
|
|
23981
23975
|
defaultTabSize,
|
|
23982
|
-
runFont.fontSizePx ?? blockFont.fontSizePx ??
|
|
23976
|
+
runFont.fontSizePx ?? blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
23983
23977
|
baseFontFamily,
|
|
23984
23978
|
Boolean(seg.style?.bold),
|
|
23985
23979
|
Boolean(seg.style?.italic),
|
|
@@ -24011,7 +24005,7 @@ function resolveRunReflection(segStyle, blockFont) {
|
|
|
24011
24005
|
if (!segStyle) {
|
|
24012
24006
|
return void 0;
|
|
24013
24007
|
}
|
|
24014
|
-
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;
|
|
24015
24009
|
return getTextReflectionWrapperStyle(segStyle, height);
|
|
24016
24010
|
}
|
|
24017
24011
|
function applyRunReflection(run, reflection2) {
|
|
@@ -24178,7 +24172,7 @@ function buildTextShadowCss(style) {
|
|
|
24178
24172
|
const ox = style.textShadowOffsetX ?? 0;
|
|
24179
24173
|
const oy = style.textShadowOffsetY ?? 0;
|
|
24180
24174
|
const blur = style.textShadowBlur ?? 4;
|
|
24181
|
-
const color =
|
|
24175
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textShadowColor, "#000000");
|
|
24182
24176
|
const opacity = style.textShadowOpacity ?? 0.5;
|
|
24183
24177
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24184
24178
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24191,7 +24185,7 @@ function buildTextShadowCss(style) {
|
|
|
24191
24185
|
const dirRad = dir * Math.PI / 180;
|
|
24192
24186
|
const psOx = Math.round(Math.cos(dirRad) * dist2 * 100) / 100;
|
|
24193
24187
|
const psOy = Math.round(Math.sin(dirRad) * dist2 * 100) / 100;
|
|
24194
|
-
const psColor =
|
|
24188
|
+
const psColor = chunkVFPVEVF4_cjs.normalizeHexColor(style.textPresetShadowColor, "#000000");
|
|
24195
24189
|
const psOpacity = style.textPresetShadowOpacity ?? 0.5;
|
|
24196
24190
|
const psR = parseInt(psColor.slice(1, 3), 16);
|
|
24197
24191
|
const psG = parseInt(psColor.slice(3, 5), 16);
|
|
@@ -24208,7 +24202,7 @@ function buildTextInnerShadowCss(style) {
|
|
|
24208
24202
|
const ox = style.textInnerShadowOffsetX ?? 0;
|
|
24209
24203
|
const oy = style.textInnerShadowOffsetY ?? 0;
|
|
24210
24204
|
const blur = style.textInnerShadowBlur ?? 3;
|
|
24211
|
-
const color =
|
|
24205
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textInnerShadowColor, "#000000");
|
|
24212
24206
|
const opacity = style.textInnerShadowOpacity ?? 0.5;
|
|
24213
24207
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24214
24208
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24255,7 +24249,7 @@ function buildTextGlowFilter(style) {
|
|
|
24255
24249
|
return void 0;
|
|
24256
24250
|
}
|
|
24257
24251
|
const radius = style.textGlowRadius ?? 6;
|
|
24258
|
-
const color =
|
|
24252
|
+
const color = chunkVFPVEVF4_cjs.normalizeHexColor(style.textGlowColor, "#ffff00");
|
|
24259
24253
|
const opacity = style.textGlowOpacity ?? 0.6;
|
|
24260
24254
|
const r = parseInt(color.slice(1, 3), 16);
|
|
24261
24255
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -24283,9 +24277,9 @@ function buildTextFillCss(style) {
|
|
|
24283
24277
|
};
|
|
24284
24278
|
}
|
|
24285
24279
|
if (style.textFillPattern) {
|
|
24286
|
-
const fg =
|
|
24287
|
-
const bg =
|
|
24288
|
-
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);
|
|
24289
24283
|
if (svgPattern) {
|
|
24290
24284
|
const encoded = encodeURIComponent(svgPattern);
|
|
24291
24285
|
return {
|
|
@@ -24430,15 +24424,15 @@ function resolveRunRuby(segment, baseFontSizePx, blockFont, baseColor) {
|
|
|
24430
24424
|
return void 0;
|
|
24431
24425
|
}
|
|
24432
24426
|
const authoredFamily = segment.rubyStyle?.fontFamily ?? segment.style?.fontFamily;
|
|
24433
|
-
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx :
|
|
24427
|
+
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24434
24428
|
const style = {
|
|
24435
24429
|
fontSize: `${segment.rubyFontSize ?? baseSize * RUBY_SIZE_RATIO}px`,
|
|
24436
|
-
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ??
|
|
24430
|
+
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ?? chunkVFPVEVF4_cjs.DEFAULT_FONT_FAMILY,
|
|
24437
24431
|
textAlign: rubyTextAlign(segment.rubyAlignment)
|
|
24438
24432
|
};
|
|
24439
24433
|
const color = segment.rubyStyle?.color;
|
|
24440
24434
|
if (color) {
|
|
24441
|
-
style.color =
|
|
24435
|
+
style.color = chunkVFPVEVF4_cjs.normalizeHexColor(color, baseColor);
|
|
24442
24436
|
}
|
|
24443
24437
|
return { text: text3, style };
|
|
24444
24438
|
}
|
|
@@ -24510,7 +24504,7 @@ function buildParagraphRuns(input) {
|
|
|
24510
24504
|
bodyFontSizeRaw,
|
|
24511
24505
|
fontScale
|
|
24512
24506
|
);
|
|
24513
|
-
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ??
|
|
24507
|
+
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24514
24508
|
equationStyle.fontSize = `${fallbackFontSize}px`;
|
|
24515
24509
|
}
|
|
24516
24510
|
runs.push({
|
|
@@ -24547,7 +24541,7 @@ function buildParagraphRuns(input) {
|
|
|
24547
24541
|
});
|
|
24548
24542
|
const ruby = resolveRunRuby(
|
|
24549
24543
|
seg,
|
|
24550
|
-
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,
|
|
24551
24545
|
blockFont,
|
|
24552
24546
|
typeof style.color === "string" ? style.color : void 0
|
|
24553
24547
|
);
|
|
@@ -24647,8 +24641,8 @@ function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
|
24647
24641
|
}
|
|
24648
24642
|
const fontScale = resolveAutoFitFontScale(element.textStyle);
|
|
24649
24643
|
const blockFont = {
|
|
24650
|
-
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) :
|
|
24651
|
-
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
|
|
24652
24646
|
};
|
|
24653
24647
|
const blockScriptStyle = element.textStyle;
|
|
24654
24648
|
const tabStops = element.textStyle?.tabStops;
|
|
@@ -27604,17 +27598,17 @@ function hasItalicRuns(element) {
|
|
|
27604
27598
|
);
|
|
27605
27599
|
}
|
|
27606
27600
|
function buildTextBlockStyle(element, options = {}) {
|
|
27607
|
-
const fallbackColor = options.fallbackColor ??
|
|
27601
|
+
const fallbackColor = options.fallbackColor ?? chunkVFPVEVF4_cjs.DEFAULT_TEXT_COLOR;
|
|
27608
27602
|
if (!pptx.hasTextProperties(element)) {
|
|
27609
27603
|
return { color: fallbackColor };
|
|
27610
27604
|
}
|
|
27611
27605
|
const ts = element.textStyle;
|
|
27612
27606
|
const italic = hasItalicRuns(element);
|
|
27613
27607
|
const isRtl = ts?.rtl === true;
|
|
27614
|
-
const bodyTop = ts?.bodyInsetTop ??
|
|
27615
|
-
const bodyBottom = ts?.bodyInsetBottom ??
|
|
27616
|
-
const bodyLeft = ts?.bodyInsetLeft ??
|
|
27617
|
-
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;
|
|
27618
27612
|
const hasParagraphIndents = (element.paragraphIndents?.length ?? 0) > 0;
|
|
27619
27613
|
const bodyIndent = hasParagraphIndents ? 0 : ts?.paragraphIndent || 0;
|
|
27620
27614
|
const bodyMarginLeft = hasParagraphIndents ? 0 : ts?.paragraphMarginLeft || 0;
|
|
@@ -27643,17 +27637,17 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27643
27637
|
style.transformOrigin = "center";
|
|
27644
27638
|
}
|
|
27645
27639
|
}
|
|
27646
|
-
style.color = ts?.hyperlink ?
|
|
27640
|
+
style.color = ts?.hyperlink ? chunkVFPVEVF4_cjs.normalizeHexColor(ts?.color, chunkVFPVEVF4_cjs.HYPERLINK_COLOR) : chunkVFPVEVF4_cjs.normalizeHexColor(ts?.color, fallbackColor);
|
|
27647
27641
|
if (!hasTextSegments && ts?.highlightColor) {
|
|
27648
|
-
style.backgroundColor =
|
|
27642
|
+
style.backgroundColor = chunkVFPVEVF4_cjs.normalizeHexColor(ts.highlightColor, void 0);
|
|
27649
27643
|
}
|
|
27650
27644
|
style.textAlign = resolveCssTextAlign(ts?.align, isRtl) ?? "left";
|
|
27651
27645
|
style.direction = toCssVerticalDirection(ts?.textDirection) ?? (isRtl ? "rtl" : bodyLayoutStyle?.direction ?? "ltr");
|
|
27652
27646
|
if (isRtl) {
|
|
27653
27647
|
style.unicodeBidi = "plaintext";
|
|
27654
27648
|
}
|
|
27655
|
-
style.fontSize = ts?.fontSize ||
|
|
27656
|
-
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;
|
|
27657
27651
|
style.fontWeight = ts?.bold ? 700 : 400;
|
|
27658
27652
|
style.fontStyle = ts?.italic ? "italic" : "normal";
|
|
27659
27653
|
style.textDecorationLine = decorations.length > 0 ? decorations.join(" ") : "none";
|
|
@@ -27693,7 +27687,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27693
27687
|
text: element.text ?? "",
|
|
27694
27688
|
width: element.width,
|
|
27695
27689
|
height: element.height,
|
|
27696
|
-
defaultFontSize:
|
|
27690
|
+
defaultFontSize: chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE
|
|
27697
27691
|
});
|
|
27698
27692
|
if (autoFit.fontSize !== void 0) {
|
|
27699
27693
|
style.fontSize = autoFit.fontSize;
|
|
@@ -27701,7 +27695,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27701
27695
|
if (autoFit.lineHeight !== void 0) {
|
|
27702
27696
|
style.lineHeight = autoFit.lineHeight;
|
|
27703
27697
|
}
|
|
27704
|
-
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize :
|
|
27698
|
+
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize : chunkVFPVEVF4_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27705
27699
|
const lineHeightPx = lineHeightToPx(fontSizePx, style.lineHeight);
|
|
27706
27700
|
const contentHeightPx = element.height - style.paddingTop - style.paddingBottom;
|
|
27707
27701
|
Object.assign(style, resolveVertOverflowEllipsisStyle(ts, contentHeightPx, lineHeightPx));
|
|
@@ -30355,317 +30349,6 @@ function placeCaretAt(el, point) {
|
|
|
30355
30349
|
}
|
|
30356
30350
|
placeCaretAtEnd(el);
|
|
30357
30351
|
}
|
|
30358
|
-
|
|
30359
|
-
// src/pptx/render/connector-router-types.ts
|
|
30360
|
-
var PADDING_DEFAULT = 12;
|
|
30361
|
-
var ROUTING_PADDING_DEFAULT = PADDING_DEFAULT;
|
|
30362
|
-
var CANVAS_SENTINEL = 1e5;
|
|
30363
|
-
|
|
30364
|
-
// src/pptx/render/connector-router-graph.ts
|
|
30365
|
-
function inflateRect(r, pad) {
|
|
30366
|
-
return {
|
|
30367
|
-
x: r.x - pad,
|
|
30368
|
-
y: r.y - pad,
|
|
30369
|
-
width: r.width + pad * 2,
|
|
30370
|
-
height: r.height + pad * 2
|
|
30371
|
-
};
|
|
30372
|
-
}
|
|
30373
|
-
function pointInRect(p, r) {
|
|
30374
|
-
return p.x >= r.x && p.x <= r.x + r.width && p.y >= r.y && p.y <= r.y + r.height;
|
|
30375
|
-
}
|
|
30376
|
-
function segmentIntersectsRect(a, b, r) {
|
|
30377
|
-
const minX = Math.min(a.x, b.x);
|
|
30378
|
-
const maxX = Math.max(a.x, b.x);
|
|
30379
|
-
const minY = Math.min(a.y, b.y);
|
|
30380
|
-
const maxY = Math.max(a.y, b.y);
|
|
30381
|
-
const rRight = r.x + r.width;
|
|
30382
|
-
const rBottom = r.y + r.height;
|
|
30383
|
-
if (maxX < r.x || minX > rRight || maxY < r.y || minY > rBottom) {
|
|
30384
|
-
return false;
|
|
30385
|
-
}
|
|
30386
|
-
if (Math.abs(a.y - b.y) < 0.5) {
|
|
30387
|
-
return a.y >= r.y && a.y <= rBottom && maxX >= r.x && minX <= rRight;
|
|
30388
|
-
}
|
|
30389
|
-
if (Math.abs(a.x - b.x) < 0.5) {
|
|
30390
|
-
return a.x >= r.x && a.x <= rRight && maxY >= r.y && minY <= rBottom;
|
|
30391
|
-
}
|
|
30392
|
-
return true;
|
|
30393
|
-
}
|
|
30394
|
-
function directPathClear(start, end, inflated) {
|
|
30395
|
-
for (const rect3 of inflated) {
|
|
30396
|
-
if (segmentIntersectsRect(start, end, rect3)) {
|
|
30397
|
-
return false;
|
|
30398
|
-
}
|
|
30399
|
-
}
|
|
30400
|
-
return true;
|
|
30401
|
-
}
|
|
30402
|
-
function heuristic(a, b) {
|
|
30403
|
-
return Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
|
|
30404
|
-
}
|
|
30405
|
-
function pointKey(p) {
|
|
30406
|
-
return `${Math.round(p.x)},${Math.round(p.y)}`;
|
|
30407
|
-
}
|
|
30408
|
-
function buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight) {
|
|
30409
|
-
const margin = 4;
|
|
30410
|
-
const nodes = [start, end];
|
|
30411
|
-
for (const r of inflated) {
|
|
30412
|
-
const corners = [
|
|
30413
|
-
{ x: r.x - margin, y: r.y - margin },
|
|
30414
|
-
{ x: r.x + r.width + margin, y: r.y - margin },
|
|
30415
|
-
{ x: r.x - margin, y: r.y + r.height + margin },
|
|
30416
|
-
{ x: r.x + r.width + margin, y: r.y + r.height + margin }
|
|
30417
|
-
];
|
|
30418
|
-
for (const c of corners) {
|
|
30419
|
-
if (c.x >= 0 && c.x <= canvasWidth && c.y >= 0 && c.y <= canvasHeight) {
|
|
30420
|
-
let blocked = false;
|
|
30421
|
-
for (const rect3 of inflated) {
|
|
30422
|
-
if (pointInRect(c, rect3)) {
|
|
30423
|
-
blocked = true;
|
|
30424
|
-
break;
|
|
30425
|
-
}
|
|
30426
|
-
}
|
|
30427
|
-
if (!blocked) {
|
|
30428
|
-
nodes.push(c);
|
|
30429
|
-
}
|
|
30430
|
-
}
|
|
30431
|
-
}
|
|
30432
|
-
}
|
|
30433
|
-
const projections = [];
|
|
30434
|
-
for (const node of nodes) {
|
|
30435
|
-
projections.push({ x: start.x, y: node.y });
|
|
30436
|
-
projections.push({ x: node.x, y: start.y });
|
|
30437
|
-
projections.push({ x: end.x, y: node.y });
|
|
30438
|
-
projections.push({ x: node.x, y: end.y });
|
|
30439
|
-
}
|
|
30440
|
-
for (const p of projections) {
|
|
30441
|
-
if (p.x >= 0 && p.x <= canvasWidth && p.y >= 0 && p.y <= canvasHeight) {
|
|
30442
|
-
let blocked = false;
|
|
30443
|
-
for (const rect3 of inflated) {
|
|
30444
|
-
if (pointInRect(p, rect3)) {
|
|
30445
|
-
blocked = true;
|
|
30446
|
-
break;
|
|
30447
|
-
}
|
|
30448
|
-
}
|
|
30449
|
-
if (!blocked) {
|
|
30450
|
-
nodes.push(p);
|
|
30451
|
-
}
|
|
30452
|
-
}
|
|
30453
|
-
}
|
|
30454
|
-
return nodes;
|
|
30455
|
-
}
|
|
30456
|
-
|
|
30457
|
-
// src/pptx/render/connector-router-astar.ts
|
|
30458
|
-
var MAX_ASTAR_ITERATIONS = 2e3;
|
|
30459
|
-
function aStarOrthogonal(nodes, start, end, inflated) {
|
|
30460
|
-
const startKey = pointKey(start);
|
|
30461
|
-
const endKey = pointKey(end);
|
|
30462
|
-
const canConnect = (a, b) => {
|
|
30463
|
-
const isHoriz = Math.abs(a.y - b.y) < 1;
|
|
30464
|
-
const isVert = Math.abs(a.x - b.x) < 1;
|
|
30465
|
-
if (isHoriz || isVert) {
|
|
30466
|
-
for (const rect3 of inflated) {
|
|
30467
|
-
if (segmentIntersectsRect(a, b, rect3)) {
|
|
30468
|
-
return false;
|
|
30469
|
-
}
|
|
30470
|
-
}
|
|
30471
|
-
return true;
|
|
30472
|
-
}
|
|
30473
|
-
const bend1 = { x: b.x, y: a.y };
|
|
30474
|
-
const bend2 = { x: a.x, y: b.y };
|
|
30475
|
-
let path1Clear = true;
|
|
30476
|
-
let path2Clear = true;
|
|
30477
|
-
for (const rect3 of inflated) {
|
|
30478
|
-
if (path1Clear && (segmentIntersectsRect(a, bend1, rect3) || segmentIntersectsRect(bend1, b, rect3))) {
|
|
30479
|
-
path1Clear = false;
|
|
30480
|
-
}
|
|
30481
|
-
if (path2Clear && (segmentIntersectsRect(a, bend2, rect3) || segmentIntersectsRect(bend2, b, rect3))) {
|
|
30482
|
-
path2Clear = false;
|
|
30483
|
-
}
|
|
30484
|
-
if (!path1Clear && !path2Clear) {
|
|
30485
|
-
break;
|
|
30486
|
-
}
|
|
30487
|
-
}
|
|
30488
|
-
return path1Clear || path2Clear;
|
|
30489
|
-
};
|
|
30490
|
-
const gScore = /* @__PURE__ */ new Map();
|
|
30491
|
-
const fScore = /* @__PURE__ */ new Map();
|
|
30492
|
-
const cameFrom = /* @__PURE__ */ new Map();
|
|
30493
|
-
const bendPoint = /* @__PURE__ */ new Map();
|
|
30494
|
-
gScore.set(startKey, 0);
|
|
30495
|
-
fScore.set(startKey, heuristic(start, end));
|
|
30496
|
-
const openSet = /* @__PURE__ */ new Set([startKey]);
|
|
30497
|
-
const nodeMap = /* @__PURE__ */ new Map();
|
|
30498
|
-
for (const n of nodes) {
|
|
30499
|
-
nodeMap.set(pointKey(n), n);
|
|
30500
|
-
}
|
|
30501
|
-
const getLowest = () => {
|
|
30502
|
-
let best;
|
|
30503
|
-
let bestScore = Infinity;
|
|
30504
|
-
for (const key of openSet) {
|
|
30505
|
-
const score = fScore.get(key) ?? Infinity;
|
|
30506
|
-
if (score < bestScore) {
|
|
30507
|
-
bestScore = score;
|
|
30508
|
-
best = key;
|
|
30509
|
-
}
|
|
30510
|
-
}
|
|
30511
|
-
return best;
|
|
30512
|
-
};
|
|
30513
|
-
let iterations = 0;
|
|
30514
|
-
while (openSet.size > 0 && iterations < MAX_ASTAR_ITERATIONS) {
|
|
30515
|
-
iterations++;
|
|
30516
|
-
const currentKey = getLowest();
|
|
30517
|
-
if (currentKey === void 0) {
|
|
30518
|
-
break;
|
|
30519
|
-
}
|
|
30520
|
-
if (currentKey === endKey) {
|
|
30521
|
-
const path = [];
|
|
30522
|
-
let key = endKey;
|
|
30523
|
-
while (key !== void 0) {
|
|
30524
|
-
const node = nodeMap.get(key);
|
|
30525
|
-
if (node !== void 0) {
|
|
30526
|
-
const bp = bendPoint.get(key);
|
|
30527
|
-
if (bp !== void 0 && bp !== null) {
|
|
30528
|
-
path.unshift(node);
|
|
30529
|
-
path.unshift(bp);
|
|
30530
|
-
} else {
|
|
30531
|
-
path.unshift(node);
|
|
30532
|
-
}
|
|
30533
|
-
}
|
|
30534
|
-
key = cameFrom.get(key);
|
|
30535
|
-
}
|
|
30536
|
-
return path;
|
|
30537
|
-
}
|
|
30538
|
-
openSet.delete(currentKey);
|
|
30539
|
-
const current = nodeMap.get(currentKey);
|
|
30540
|
-
if (current === void 0) {
|
|
30541
|
-
continue;
|
|
30542
|
-
}
|
|
30543
|
-
for (const neighbor of nodes) {
|
|
30544
|
-
const neighborKey = pointKey(neighbor);
|
|
30545
|
-
if (neighborKey === currentKey) {
|
|
30546
|
-
continue;
|
|
30547
|
-
}
|
|
30548
|
-
if (!canConnect(current, neighbor)) {
|
|
30549
|
-
continue;
|
|
30550
|
-
}
|
|
30551
|
-
const isHoriz = Math.abs(current.y - neighbor.y) < 1;
|
|
30552
|
-
const isVert = Math.abs(current.x - neighbor.x) < 1;
|
|
30553
|
-
let dist2;
|
|
30554
|
-
let bp = null;
|
|
30555
|
-
if (isHoriz || isVert) {
|
|
30556
|
-
dist2 = heuristic(current, neighbor);
|
|
30557
|
-
} else {
|
|
30558
|
-
const bend1 = { x: neighbor.x, y: current.y };
|
|
30559
|
-
const bend2 = { x: current.x, y: neighbor.y };
|
|
30560
|
-
let use1 = true;
|
|
30561
|
-
for (const rect3 of inflated) {
|
|
30562
|
-
if (segmentIntersectsRect(current, bend1, rect3) || segmentIntersectsRect(bend1, neighbor, rect3)) {
|
|
30563
|
-
use1 = false;
|
|
30564
|
-
break;
|
|
30565
|
-
}
|
|
30566
|
-
}
|
|
30567
|
-
bp = use1 ? bend1 : bend2;
|
|
30568
|
-
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);
|
|
30569
|
-
}
|
|
30570
|
-
const tentativeG = (gScore.get(currentKey) ?? Infinity) + dist2;
|
|
30571
|
-
if (tentativeG < (gScore.get(neighborKey) ?? Infinity)) {
|
|
30572
|
-
cameFrom.set(neighborKey, currentKey);
|
|
30573
|
-
bendPoint.set(neighborKey, bp);
|
|
30574
|
-
gScore.set(neighborKey, tentativeG);
|
|
30575
|
-
fScore.set(neighborKey, tentativeG + heuristic(neighbor, end));
|
|
30576
|
-
openSet.add(neighborKey);
|
|
30577
|
-
}
|
|
30578
|
-
}
|
|
30579
|
-
}
|
|
30580
|
-
return [start, end];
|
|
30581
|
-
}
|
|
30582
|
-
function simplifyPath(points) {
|
|
30583
|
-
if (points.length <= 2) {
|
|
30584
|
-
return [...points];
|
|
30585
|
-
}
|
|
30586
|
-
const result = [points[0]];
|
|
30587
|
-
for (let i = 1; i < points.length - 1; i++) {
|
|
30588
|
-
const prev = result[result.length - 1];
|
|
30589
|
-
const curr = points[i];
|
|
30590
|
-
const next = points[i + 1];
|
|
30591
|
-
const sameX = Math.abs(prev.x - curr.x) < 1 && Math.abs(curr.x - next.x) < 1;
|
|
30592
|
-
const sameY = Math.abs(prev.y - curr.y) < 1 && Math.abs(curr.y - next.y) < 1;
|
|
30593
|
-
if (!sameX && !sameY) {
|
|
30594
|
-
result.push(curr);
|
|
30595
|
-
} else if (!sameX || !sameY) {
|
|
30596
|
-
if (!(sameX || sameY)) {
|
|
30597
|
-
result.push(curr);
|
|
30598
|
-
}
|
|
30599
|
-
}
|
|
30600
|
-
}
|
|
30601
|
-
result.push(points[points.length - 1]);
|
|
30602
|
-
return result;
|
|
30603
|
-
}
|
|
30604
|
-
|
|
30605
|
-
// src/pptx/render/connector-router.ts
|
|
30606
|
-
function routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight) {
|
|
30607
|
-
if (obstacles.length === 0) {
|
|
30608
|
-
return [start, end];
|
|
30609
|
-
}
|
|
30610
|
-
const inflated = obstacles.map((r) => inflateRect(r, padding));
|
|
30611
|
-
if (directPathClear(start, end, inflated)) {
|
|
30612
|
-
return [start, end];
|
|
30613
|
-
}
|
|
30614
|
-
const midH = { x: end.x, y: start.y };
|
|
30615
|
-
const midV = { x: start.x, y: end.y };
|
|
30616
|
-
let elbowHClear = true;
|
|
30617
|
-
let elbowVClear = true;
|
|
30618
|
-
for (const rect3 of inflated) {
|
|
30619
|
-
if (elbowHClear && (segmentIntersectsRect(start, midH, rect3) || segmentIntersectsRect(midH, end, rect3))) {
|
|
30620
|
-
elbowHClear = false;
|
|
30621
|
-
}
|
|
30622
|
-
if (elbowVClear && (segmentIntersectsRect(start, midV, rect3) || segmentIntersectsRect(midV, end, rect3))) {
|
|
30623
|
-
elbowVClear = false;
|
|
30624
|
-
}
|
|
30625
|
-
if (!elbowHClear && !elbowVClear) {
|
|
30626
|
-
break;
|
|
30627
|
-
}
|
|
30628
|
-
}
|
|
30629
|
-
if (elbowHClear) {
|
|
30630
|
-
return [start, midH, end];
|
|
30631
|
-
}
|
|
30632
|
-
if (elbowVClear) {
|
|
30633
|
-
return [start, midV, end];
|
|
30634
|
-
}
|
|
30635
|
-
const nodes = buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight);
|
|
30636
|
-
const path = aStarOrthogonal(nodes, start, end, inflated);
|
|
30637
|
-
return simplifyPath(path);
|
|
30638
|
-
}
|
|
30639
|
-
function routeConnector(options) {
|
|
30640
|
-
const { start, end, obstacles, canvasWidth, canvasHeight, padding = PADDING_DEFAULT } = options;
|
|
30641
|
-
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
30642
|
-
}
|
|
30643
|
-
function waypointsToPathData(waypoints) {
|
|
30644
|
-
if (waypoints.length === 0) {
|
|
30645
|
-
return "";
|
|
30646
|
-
}
|
|
30647
|
-
const parts = [`M ${waypoints[0].x} ${waypoints[0].y}`];
|
|
30648
|
-
for (let i = 1; i < waypoints.length; i++) {
|
|
30649
|
-
parts.push(`L ${waypoints[i].x} ${waypoints[i].y}`);
|
|
30650
|
-
}
|
|
30651
|
-
return parts.join(" ");
|
|
30652
|
-
}
|
|
30653
|
-
function routeOrthogonalConnector(start, end, obstacles, opts) {
|
|
30654
|
-
const padding = opts?.padding ?? PADDING_DEFAULT;
|
|
30655
|
-
const canvasWidth = opts?.canvasWidth ?? CANVAS_SENTINEL;
|
|
30656
|
-
const canvasHeight = opts?.canvasHeight ?? CANVAS_SENTINEL;
|
|
30657
|
-
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
30658
|
-
}
|
|
30659
|
-
function waypointsToPathD(waypoints) {
|
|
30660
|
-
if (waypoints.length === 0) {
|
|
30661
|
-
return "";
|
|
30662
|
-
}
|
|
30663
|
-
const parts = [`M${waypoints[0].x},${waypoints[0].y}`];
|
|
30664
|
-
for (let i = 1; i < waypoints.length; i++) {
|
|
30665
|
-
parts.push(`L${waypoints[i].x},${waypoints[i].y}`);
|
|
30666
|
-
}
|
|
30667
|
-
return parts.join(" ");
|
|
30668
|
-
}
|
|
30669
30352
|
function getConnectionSites(width, height) {
|
|
30670
30353
|
return [
|
|
30671
30354
|
{ x: width / 2, y: 0, index: 0 },
|
|
@@ -31100,9 +30783,9 @@ function normalizeArrow(a) {
|
|
|
31100
30783
|
function buildConnectorGeometry(element, zIndex, routing) {
|
|
31101
30784
|
const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
31102
30785
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
31103
|
-
const strokeColor = ss?.strokeColor ??
|
|
30786
|
+
const strokeColor = ss?.strokeColor ?? chunkVFPVEVF4_cjs.DEFAULT_STROKE_COLOR;
|
|
31104
30787
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
31105
|
-
const dashArray =
|
|
30788
|
+
const dashArray = chunkVFPVEVF4_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
|
|
31106
30789
|
const strokeLinecap = svgLineCap(ss?.lineCap);
|
|
31107
30790
|
const compoundOffsets = getCompoundLineOffsets(ss?.compoundLine, strokeWidth);
|
|
31108
30791
|
const compoundWidths = getCompoundLineWidths(ss?.compoundLine, strokeWidth);
|
|
@@ -31118,13 +30801,13 @@ function buildConnectorGeometry(element, zIndex, routing) {
|
|
|
31118
30801
|
if (routing && routing.obstacles.length > 0 && connectorKind(shapeType) === "bent" && (element.width > 0 || element.height > 0)) {
|
|
31119
30802
|
const start = { x: element.x + x1, y: element.y + y1 };
|
|
31120
30803
|
const end = { x: element.x + x2, y: element.y + y2 };
|
|
31121
|
-
const waypoints = routeOrthogonalConnector(start, end, routing.obstacles, {
|
|
30804
|
+
const waypoints = geometry.routeOrthogonalConnector(start, end, routing.obstacles, {
|
|
31122
30805
|
canvasWidth: routing.canvasWidth,
|
|
31123
30806
|
canvasHeight: routing.canvasHeight
|
|
31124
30807
|
});
|
|
31125
30808
|
if (waypoints.length > 2) {
|
|
31126
30809
|
const local = waypoints.map((p) => ({ x: p.x - element.x, y: p.y - element.y }));
|
|
31127
|
-
pathD = waypointsToPathD(local);
|
|
30810
|
+
pathD = geometry.waypointsToPathD(local);
|
|
31128
30811
|
}
|
|
31129
30812
|
}
|
|
31130
30813
|
const markerSeed = element.id.replace(/[^a-zA-Z0-9_-]/gu, "_");
|
|
@@ -31178,7 +30861,7 @@ function buildConnectorPathD(shapeType, x1, y1, x2, y2, bend, bend2 = 0.5, bend3
|
|
|
31178
30861
|
}
|
|
31179
30862
|
const segments2 = geometry.elbowSegmentCount(t);
|
|
31180
30863
|
const points = elbowWaypoints(x1, y1, x2, y2, segments2, bend, bend2, bend3);
|
|
31181
|
-
return waypointsToPathD(points);
|
|
30864
|
+
return geometry.waypointsToPathD(points);
|
|
31182
30865
|
}
|
|
31183
30866
|
if (t.includes("curvedconnector2")) {
|
|
31184
30867
|
return `M${x1},${y1} Q${x2},${y1} ${x2},${y2}`;
|
|
@@ -37794,7 +37477,7 @@ function drawingShapeMeshOpacity(shape) {
|
|
|
37794
37477
|
// src/pptx/render/svg-text-lines.ts
|
|
37795
37478
|
var LINE_HEIGHT_RATIO = 1.2;
|
|
37796
37479
|
function centeredSvgTextLines(text3, fontSize, options = {}) {
|
|
37797
|
-
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);
|
|
37798
37481
|
const centerY = options.centerY ?? 0;
|
|
37799
37482
|
if (lines.length === 0) {
|
|
37800
37483
|
return [{ text: "", y: centerY }];
|
|
@@ -38591,7 +38274,7 @@ function buildObliqueLabels(layout, input) {
|
|
|
38591
38274
|
const { w, h, d } = layout.box;
|
|
38592
38275
|
const span = layout.range.max - layout.range.min;
|
|
38593
38276
|
const fontSize = input.fontSize;
|
|
38594
|
-
for (const v of
|
|
38277
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...layout.range, span })) {
|
|
38595
38278
|
const p = (v - layout.range.min) * layout.valueScale;
|
|
38596
38279
|
if (layout.horizontal) {
|
|
38597
38280
|
const at = screen2(layout, p, 0, 0);
|
|
@@ -38713,7 +38396,7 @@ function dataExtent(chartData, grouping, nCat) {
|
|
|
38713
38396
|
function valueRange(chartData, grouping, nCat, valueLengthPx) {
|
|
38714
38397
|
const axis = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38715
38398
|
const [lo, hi] = dataExtent(chartData, grouping, nCat);
|
|
38716
|
-
const auto =
|
|
38399
|
+
const auto = chunkVFPVEVF4_cjs.niceValueAxisBounds(lo, hi, chunkVFPVEVF4_cjs.axisTargetIntervals(valueLengthPx), 0);
|
|
38717
38400
|
const min = typeof axis?.min === "number" ? axis.min : auto.min;
|
|
38718
38401
|
let max = typeof axis?.max === "number" ? axis.max : auto.max;
|
|
38719
38402
|
if (max <= min) {
|
|
@@ -38737,22 +38420,22 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38737
38420
|
const rotX = (chartData.view3D?.rotX ?? 15) * Math.PI / 180;
|
|
38738
38421
|
const rotY = (chartData.view3D?.rotY ?? 20) * Math.PI / 180;
|
|
38739
38422
|
const shear = { x: Math.sin(rotY), y: -Math.sin(rotX) };
|
|
38740
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38423
|
+
const gapWidth = (chartData.barGapWidth ?? chunkVFPVEVF4_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38741
38424
|
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH) / 100;
|
|
38742
38425
|
const slots = grouping === "clustered" ? nSer : 1;
|
|
38743
38426
|
const rows = grouping === "standard" ? nSer : 1;
|
|
38744
38427
|
const labelFont = vm.axisLabels[0]?.fontSize ?? 16;
|
|
38745
38428
|
const catLabels = chartData.categories.length > 0 ? chartData.categories : Array.from({ length: nCat }, (_, i) => String(i + 1));
|
|
38746
|
-
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);
|
|
38747
38430
|
const top = vm.title ? TOP_WITH_TITLE : TOP_NO_TITLE;
|
|
38748
38431
|
const hasBottomLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38749
38432
|
const bottom = vm.svgHeight - (hasBottomLegend ? BOTTOM_WITH_LEGEND : BOTTOM_NO_LEGEND);
|
|
38750
38433
|
const regionH = Math.max(1, bottom - top);
|
|
38751
38434
|
const provisional = valueRange(chartData, grouping, nCat, regionH);
|
|
38752
|
-
const valueTexts =
|
|
38435
|
+
const valueTexts = chunkVFPVEVF4_cjs.axisTickValues({
|
|
38753
38436
|
...provisional,
|
|
38754
38437
|
span: provisional.max - provisional.min
|
|
38755
|
-
}).map((v) =>
|
|
38438
|
+
}).map((v) => chunkK3S2A64B_cjs.formatValueLabel(chartData, grouping, v));
|
|
38756
38439
|
const leftBand = (horizontal ? widest(catLabels) : widest(valueTexts)) + (horizontal ? OBLIQUE_CATEGORY_LABEL_GAP : OBLIQUE_VALUE_LABEL_GAP);
|
|
38757
38440
|
const seriesLabelW = grouping === "standard" && !horizontal ? widest(chartData.series.map((s) => s.name)) : 0;
|
|
38758
38441
|
const seriesOverhang = (depth2) => seriesLabelW > 0 ? Math.max(0, OBLIQUE_CATEGORY_LABEL_GAP + seriesLabelW - depth2 * shear.x / (2 * rows)) : 0;
|
|
@@ -38808,13 +38491,13 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38808
38491
|
gridlines: [],
|
|
38809
38492
|
labels: []
|
|
38810
38493
|
};
|
|
38811
|
-
layout.bars =
|
|
38812
|
-
layout.gridlines =
|
|
38494
|
+
layout.bars = chunkK3S2A64B_cjs.buildBars(chartData, vm, layout, { nCat, slots, rows, gapWidth, gapDepth });
|
|
38495
|
+
layout.gridlines = chunkK3S2A64B_cjs.buildGridlines(layout);
|
|
38813
38496
|
layout.labels = buildObliqueLabels(layout, {
|
|
38814
38497
|
fontSize: labelFont,
|
|
38815
38498
|
categories: catLabels,
|
|
38816
38499
|
seriesNames: chartData.series.map((s) => s.name),
|
|
38817
|
-
valueText: (v) =>
|
|
38500
|
+
valueText: (v) => chunkK3S2A64B_cjs.formatValueLabel(chartData, grouping, v)
|
|
38818
38501
|
});
|
|
38819
38502
|
return layout;
|
|
38820
38503
|
}
|
|
@@ -38827,7 +38510,7 @@ function buildPerspGridlines(box, range, horizontal) {
|
|
|
38827
38510
|
{ from: [w, 0, 0], to: [w, 0, d] }
|
|
38828
38511
|
];
|
|
38829
38512
|
const span = range.max - range.min;
|
|
38830
|
-
for (const v of
|
|
38513
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...range, span })) {
|
|
38831
38514
|
const t = (v - range.min) / span;
|
|
38832
38515
|
if (horizontal) {
|
|
38833
38516
|
const x = t * w;
|
|
@@ -38848,16 +38531,16 @@ var CATEGORY_DY = 17 * PT3;
|
|
|
38848
38531
|
var SERIES_DX = 9 * PT3;
|
|
38849
38532
|
var SERIES_DY = -4 * PT3;
|
|
38850
38533
|
function buildPerspLabels(layout, input) {
|
|
38851
|
-
const { view, range } = layout;
|
|
38852
|
-
const { h, d, w } =
|
|
38534
|
+
const { view: view2, range } = layout;
|
|
38535
|
+
const { h, d, w } = view2.box;
|
|
38853
38536
|
const span = range.max - range.min;
|
|
38854
38537
|
const labels = [];
|
|
38855
38538
|
const fontSize = input.fontSize;
|
|
38856
|
-
for (const v of
|
|
38539
|
+
for (const v of chunkVFPVEVF4_cjs.axisTickValues({ ...range, span })) {
|
|
38857
38540
|
const t = (v - range.min) / span;
|
|
38858
|
-
const text3 = input.percent ? `${Math.round(v * 100)}%` :
|
|
38541
|
+
const text3 = input.percent ? `${Math.round(v * 100)}%` : chunkVFPVEVF4_cjs.formatAxisValueWithUnits(v, input.valueAxis);
|
|
38859
38542
|
if (layout.horizontal) {
|
|
38860
|
-
const at =
|
|
38543
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [t * w, 0, 0]);
|
|
38861
38544
|
labels.push({
|
|
38862
38545
|
role: "value",
|
|
38863
38546
|
text: text3,
|
|
@@ -38867,7 +38550,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38867
38550
|
fontSize
|
|
38868
38551
|
});
|
|
38869
38552
|
} else {
|
|
38870
|
-
const at =
|
|
38553
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [0, t * h, 0]);
|
|
38871
38554
|
labels.push({ role: "value", text: text3, x: at.x - VALUE_GAP2, y: at.y, anchor: "end", fontSize });
|
|
38872
38555
|
}
|
|
38873
38556
|
}
|
|
@@ -38877,7 +38560,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38877
38560
|
return;
|
|
38878
38561
|
}
|
|
38879
38562
|
if (layout.horizontal) {
|
|
38880
|
-
const at2 =
|
|
38563
|
+
const at2 = chunkK3S2A64B_cjs.perspToScreen(view2, [0, pos, 0]);
|
|
38881
38564
|
labels.push({
|
|
38882
38565
|
role: "category",
|
|
38883
38566
|
text: text3,
|
|
@@ -38888,7 +38571,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38888
38571
|
});
|
|
38889
38572
|
return;
|
|
38890
38573
|
}
|
|
38891
|
-
const at =
|
|
38574
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [pos, 0, 0]);
|
|
38892
38575
|
labels.push({
|
|
38893
38576
|
role: "category",
|
|
38894
38577
|
text: text3,
|
|
@@ -38901,7 +38584,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38901
38584
|
const rows = input.seriesNames.length;
|
|
38902
38585
|
input.seriesNames.forEach((text3, s) => {
|
|
38903
38586
|
const z = layout.kind === "surface" ? rows > 1 ? s / (rows - 1) * d : d / 2 : (s + 0.5) / rows * d;
|
|
38904
|
-
const at =
|
|
38587
|
+
const at = chunkK3S2A64B_cjs.perspToScreen(view2, [w, 0, z]);
|
|
38905
38588
|
labels.push({
|
|
38906
38589
|
role: "series",
|
|
38907
38590
|
text: text3,
|
|
@@ -38994,7 +38677,7 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
38994
38677
|
const valAx = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38995
38678
|
const midCat = (valAx?.crossBetween ?? (kind === "area" || kind === "surface" ? "midCat" : "between")) === "midCat";
|
|
38996
38679
|
const view3D = chartData.view3D;
|
|
38997
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38680
|
+
const gapWidth = (chartData.barGapWidth ?? chunkVFPVEVF4_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38998
38681
|
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH2) / 100;
|
|
38999
38682
|
const slot = 1 / nCat;
|
|
39000
38683
|
const rows = kind === "surface" ? nSer : grouping === "standard" ? nSer : 1;
|
|
@@ -39007,16 +38690,16 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
39007
38690
|
const valueExtent = horizontal ? 1 : baseHeight * heightScale;
|
|
39008
38691
|
const catExtent = horizontal ? HORIZONTAL_CATEGORY_EXTENT * heightScale : 1;
|
|
39009
38692
|
const box = horizontal ? { w: valueExtent, h: catExtent, d } : { w: 1, h: valueExtent, d };
|
|
39010
|
-
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);
|
|
39011
38694
|
const hasLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
39012
|
-
const
|
|
38695
|
+
const view2 = chunkK3S2A64B_cjs.fitPerspView(camera, {
|
|
39013
38696
|
left: RECT_LEFT,
|
|
39014
38697
|
right: vm.svgWidth - (rows > 1 ? RECT_RIGHT_WITH_SERIES : RECT_RIGHT_NO_SERIES),
|
|
39015
38698
|
top: vm.title ? RECT_TOP_WITH_TITLE : RECT_TOP_NO_TITLE,
|
|
39016
38699
|
bottom: vm.svgHeight - (hasLegend ? RECT_BOTTOM_WITH_LEGEND : RECT_BOTTOM_NO_LEGEND)
|
|
39017
38700
|
});
|
|
39018
38701
|
const [lo, hi] = dataExtent2(chartData, grouping, nCat);
|
|
39019
|
-
const auto =
|
|
38702
|
+
const auto = chunkVFPVEVF4_cjs.niceValueAxisBounds(lo, hi, chunkVFPVEVF4_cjs.axisTargetIntervals(view2.focal * valueExtent), 0);
|
|
39020
38703
|
const min = typeof valAx?.min === "number" ? valAx.min : auto.min;
|
|
39021
38704
|
let max = typeof valAx?.max === "number" ? valAx.max : auto.max;
|
|
39022
38705
|
if (max <= min) {
|
|
@@ -39031,7 +38714,7 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
39031
38714
|
const layout = {
|
|
39032
38715
|
kind,
|
|
39033
38716
|
grouping,
|
|
39034
|
-
view,
|
|
38717
|
+
view: view2,
|
|
39035
38718
|
range,
|
|
39036
38719
|
horizontal,
|
|
39037
38720
|
valueScale: valueExtent / (max - min),
|
|
@@ -39108,7 +38791,7 @@ function buildBarGeometry(element, vm) {
|
|
|
39108
38791
|
}
|
|
39109
38792
|
var PERSP_BOX_TYPES = /* @__PURE__ */ new Set(["line3D", "area3D", "surface", "bar3D"]);
|
|
39110
38793
|
function buildPieGeometry(element, vm) {
|
|
39111
|
-
const layout =
|
|
38794
|
+
const layout = chunkK3S2A64B_cjs.computePieChartLayout(element, chunkK3S2A64B_cjs.widenPieViewModel(vm, element));
|
|
39112
38795
|
return layout ? { kind: "pie", layout } : null;
|
|
39113
38796
|
}
|
|
39114
38797
|
function buildPerspGeometry(element, vm, oblique) {
|
|
@@ -39128,7 +38811,7 @@ function buildChart3DSpecForElement(element) {
|
|
|
39128
38811
|
if (!chartData || !is3DChartType(chartType)) {
|
|
39129
38812
|
return null;
|
|
39130
38813
|
}
|
|
39131
|
-
const vm =
|
|
38814
|
+
const vm = chunkVFPVEVF4_cjs.buildChartViewModel(element);
|
|
39132
38815
|
const projection = resolveChart3DProjection(chartType, chartData.view3D);
|
|
39133
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;
|
|
39134
38817
|
if (!geometry) {
|
|
@@ -42915,24 +42598,10 @@ function applyOutlineEdit(slides, edit, options = {}) {
|
|
|
42915
42598
|
return unchanged([...slides], row);
|
|
42916
42599
|
}
|
|
42917
42600
|
}
|
|
42918
|
-
|
|
42919
|
-
// src/pptx/render/editor-keymap-arrows.ts
|
|
42920
42601
|
var NUDGE_SMALL = 1;
|
|
42921
42602
|
var NUDGE_LARGE = 10;
|
|
42922
42603
|
function editorNudgeDelta(key, large) {
|
|
42923
|
-
|
|
42924
|
-
switch (key) {
|
|
42925
|
-
case "ArrowLeft":
|
|
42926
|
-
return { dx: -step, dy: 0 };
|
|
42927
|
-
case "ArrowRight":
|
|
42928
|
-
return { dx: step, dy: 0 };
|
|
42929
|
-
case "ArrowUp":
|
|
42930
|
-
return { dx: 0, dy: -step };
|
|
42931
|
-
case "ArrowDown":
|
|
42932
|
-
return { dx: 0, dy: step };
|
|
42933
|
-
default:
|
|
42934
|
-
return null;
|
|
42935
|
-
}
|
|
42604
|
+
return geometry.arrowKeyDelta(key, large ? NUDGE_LARGE : NUDGE_SMALL);
|
|
42936
42605
|
}
|
|
42937
42606
|
function editorSlideStep(key, hasSelection, withModifier) {
|
|
42938
42607
|
if (withModifier) {
|
|
@@ -47394,11 +47063,11 @@ function buildSummaryZoomView(element, lookup, translate) {
|
|
|
47394
47063
|
ariaLabel: translate ? translate("pptx.zoom.ariaLabelSummary", { count: String(tiles.length) }) : `Summary Zoom with ${tiles.length} sections`
|
|
47395
47064
|
};
|
|
47396
47065
|
}
|
|
47397
|
-
function resolveSummaryZoomNavigation(
|
|
47398
|
-
if (!
|
|
47066
|
+
function resolveSummaryZoomNavigation(view2, tileIndex) {
|
|
47067
|
+
if (!view2 || !Number.isInteger(tileIndex) || tileIndex < 0) {
|
|
47399
47068
|
return void 0;
|
|
47400
47069
|
}
|
|
47401
|
-
return
|
|
47070
|
+
return view2.tiles[tileIndex]?.targetSlideIndex;
|
|
47402
47071
|
}
|
|
47403
47072
|
function fixedTileStyle(element, x, y, width, height) {
|
|
47404
47073
|
const safeWidth = Math.max(element.width, 1);
|
|
@@ -53230,7 +52899,7 @@ function axisTitle(current, show) {
|
|
|
53230
52899
|
return show ? current || AXIS_TITLE : void 0;
|
|
53231
52900
|
}
|
|
53232
52901
|
function applyChartQuickLayout(chartData, layout) {
|
|
53233
|
-
const withGrid = patchChartData(chartData,
|
|
52902
|
+
const withGrid = patchChartData(chartData, chunkVFPVEVF4_cjs.chartGridlinesPatch(chartData, layout.majorGridlines));
|
|
53234
52903
|
const axes = (withGrid.axes ?? []).map((axis) => {
|
|
53235
52904
|
if (axis.axisType === "valAx") {
|
|
53236
52905
|
return {
|
|
@@ -53284,7 +52953,7 @@ function matchesLayout(chartData, layout) {
|
|
|
53284
52953
|
const legend = style.hasLegend ? style.legendPosition ?? "r" : null;
|
|
53285
52954
|
const isBar = chartData.chartType === "bar" || chartData.chartType === "bar3D";
|
|
53286
52955
|
const barMatches = !isBar || (chartData.barGapWidth ?? 150) === layout.gapWidth && (chartData.barOverlap ?? 0) === layout.overlap;
|
|
53287
|
-
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;
|
|
53288
52957
|
}
|
|
53289
52958
|
var CHART_QUICK_LAYOUT_GALLERY = {
|
|
53290
52959
|
build(ctx) {
|
|
@@ -57870,6 +57539,86 @@ function galleryTextLabel(translate, key, fallback) {
|
|
|
57870
57539
|
const translated = translate(key);
|
|
57871
57540
|
return translated && translated !== key ? translated : fallback;
|
|
57872
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
|
+
}
|
|
57873
57622
|
|
|
57874
57623
|
// src/pptx/render/ole-icon-primitives.ts
|
|
57875
57624
|
function rect2(x, y, width, height, rx) {
|
|
@@ -58455,7 +58204,7 @@ function createGestureController(deps) {
|
|
|
58455
58204
|
function computeRotate(g, pointer) {
|
|
58456
58205
|
let angle = g.rotate?.(stagePoint(pointer)) ?? g.startBox.rotation ?? 0;
|
|
58457
58206
|
if (pointer.shiftKey) {
|
|
58458
|
-
angle = snapAngle(angle);
|
|
58207
|
+
angle = geometry.snapAngle(angle);
|
|
58459
58208
|
}
|
|
58460
58209
|
return { ...toTransform(g.id, g.startBox), rotation: angle };
|
|
58461
58210
|
}
|
|
@@ -58733,7 +58482,7 @@ function isSeriesUsingSecondaryAxis(chartData, seriesIndex) {
|
|
|
58733
58482
|
if (!series) {
|
|
58734
58483
|
return false;
|
|
58735
58484
|
}
|
|
58736
|
-
return
|
|
58485
|
+
return chunkVFPVEVF4_cjs.isSeriesOnSecondaryAxis(series, chartData.axes);
|
|
58737
58486
|
}
|
|
58738
58487
|
function resolveSecondaryAxisId(chartData, useSecondary) {
|
|
58739
58488
|
const axPos = useSecondary ? "r" : "l";
|
|
@@ -59271,14 +59020,14 @@ async function buildForeignObjectSvgBody(element, doc, options) {
|
|
|
59271
59020
|
backgroundColor,
|
|
59272
59021
|
readComputedStyle = (el) => window.getComputedStyle(el)
|
|
59273
59022
|
} = options;
|
|
59274
|
-
await
|
|
59023
|
+
await chunk526IHNIH_cjs.settleThreeViews(element);
|
|
59275
59024
|
const clone = element.cloneNode(true);
|
|
59276
|
-
|
|
59025
|
+
chunk526IHNIH_cjs.withAuthoredStrokeWidths(
|
|
59277
59026
|
element,
|
|
59278
59027
|
() => inlineComputedStylesOnClone(element, clone, readComputedStyle)
|
|
59279
59028
|
);
|
|
59280
|
-
|
|
59281
|
-
|
|
59029
|
+
chunk526IHNIH_cjs.snapshotThreeViewsIntoClone(element, clone);
|
|
59030
|
+
chunk526IHNIH_cjs.prepareExportClone(clone);
|
|
59282
59031
|
const [{ allEmbedded: imagesEmbedded }, externalFonts] = await Promise.all([
|
|
59283
59032
|
embedImagesOnClone(clone),
|
|
59284
59033
|
collectExternalFontFaceCss(doc, fetchAsDataUrl)
|
|
@@ -65497,11 +65246,11 @@ function createLinkPopover(doc, submit, closed) {
|
|
|
65497
65246
|
if (!anchorEl) {
|
|
65498
65247
|
return;
|
|
65499
65248
|
}
|
|
65500
|
-
const
|
|
65249
|
+
const view2 = doc.defaultView;
|
|
65501
65250
|
const box = anchorEl.getBoundingClientRect();
|
|
65502
65251
|
const own = el.getBoundingClientRect();
|
|
65503
|
-
const width =
|
|
65504
|
-
const height =
|
|
65252
|
+
const width = view2?.innerWidth ?? 1024;
|
|
65253
|
+
const height = view2?.innerHeight ?? 768;
|
|
65505
65254
|
const left = Math.max(8, Math.min(box.left, width - own.width - 8));
|
|
65506
65255
|
const above = box.top - own.height - 4;
|
|
65507
65256
|
el.style.left = `${left}px`;
|
|
@@ -66482,16 +66231,16 @@ var OfficeUiDialogFooter = class extends OfficeElement {
|
|
|
66482
66231
|
this.model.actions,
|
|
66483
66232
|
(action) => action.id,
|
|
66484
66233
|
(action) => lit.html`<button
|
|
66485
|
-
|
|
66486
|
-
|
|
66487
|
-
|
|
66488
|
-
|
|
66489
|
-
|
|
66490
|
-
|
|
66491
|
-
|
|
66492
|
-
|
|
66493
|
-
|
|
66494
|
-
|
|
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
|
+
>`
|
|
66495
66244
|
)}
|
|
66496
66245
|
</div>
|
|
66497
66246
|
`;
|
|
@@ -66543,22 +66292,22 @@ var OfficeUiToasts = class extends OfficeElement {
|
|
|
66543
66292
|
</div>
|
|
66544
66293
|
${visible.map(
|
|
66545
66294
|
(toast) => lit.html`<div
|
|
66546
|
-
|
|
66547
|
-
|
|
66548
|
-
|
|
66549
|
-
|
|
66550
|
-
|
|
66551
|
-
>
|
|
66552
|
-
${glyph(toast.severity === "warning" ? "warning" : "info", "icon")}
|
|
66553
|
-
<p class="message">${toast.message}</p>
|
|
66554
|
-
<button
|
|
66555
|
-
type="button"
|
|
66556
|
-
data-testid="${p}-dismiss"
|
|
66557
|
-
aria-label=${labels.dismiss ?? "Dismiss"}
|
|
66558
|
-
@click=${() => this.fire(requestEvent, { id: "dismiss", toastId: toast.id })}
|
|
66559
|
-
>${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}
|
|
66560
66300
|
>
|
|
66561
|
-
|
|
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>`
|
|
66562
66311
|
)}
|
|
66563
66312
|
${hiddenCount > 0 ? lit.html`<p class="overflow">+${hiddenCount}</p>` : ""}
|
|
66564
66313
|
</div>
|
|
@@ -66592,22 +66341,22 @@ var OfficeUiPasteOptions = class extends OfficeElement {
|
|
|
66592
66341
|
}
|
|
66593
66342
|
connectedCallback() {
|
|
66594
66343
|
super.connectedCallback();
|
|
66595
|
-
const
|
|
66596
|
-
if (!
|
|
66344
|
+
const view2 = this.ownerDocument.defaultView;
|
|
66345
|
+
if (!view2) return;
|
|
66597
66346
|
const dismiss = (event) => {
|
|
66598
66347
|
const toolbar = this.renderRoot.querySelector(".toolbar");
|
|
66599
66348
|
if (toolbar && event.composedPath().includes(toolbar) && (!(event instanceof KeyboardEvent) || event.key !== "Escape"))
|
|
66600
66349
|
return;
|
|
66601
66350
|
this.dismiss();
|
|
66602
66351
|
};
|
|
66603
|
-
const timer =
|
|
66604
|
-
|
|
66605
|
-
|
|
66352
|
+
const timer = view2.setTimeout(() => {
|
|
66353
|
+
view2.addEventListener("pointerdown", dismiss, true);
|
|
66354
|
+
view2.addEventListener("keydown", dismiss, true);
|
|
66606
66355
|
}, 0);
|
|
66607
66356
|
this.disarm = () => {
|
|
66608
|
-
|
|
66609
|
-
|
|
66610
|
-
|
|
66357
|
+
view2.clearTimeout(timer);
|
|
66358
|
+
view2.removeEventListener("pointerdown", dismiss, true);
|
|
66359
|
+
view2.removeEventListener("keydown", dismiss, true);
|
|
66611
66360
|
};
|
|
66612
66361
|
}
|
|
66613
66362
|
disconnectedCallback() {
|
|
@@ -66641,12 +66390,12 @@ var OfficeUiPasteOptions = class extends OfficeElement {
|
|
|
66641
66390
|
this.model.options,
|
|
66642
66391
|
(option) => option.id,
|
|
66643
66392
|
(option) => lit.html`<button
|
|
66644
|
-
|
|
66645
|
-
|
|
66646
|
-
|
|
66647
|
-
|
|
66648
|
-
|
|
66649
|
-
|
|
66393
|
+
type="button"
|
|
66394
|
+
data-format=${option.id}
|
|
66395
|
+
title=${option.label}
|
|
66396
|
+
@click=${() => this.choose(option)}
|
|
66397
|
+
>${option.label}</button
|
|
66398
|
+
>`
|
|
66650
66399
|
)}
|
|
66651
66400
|
</div>
|
|
66652
66401
|
`;
|
|
@@ -67985,14 +67734,14 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
67985
67734
|
doc.addEventListener("pointerdown", this.outside, true);
|
|
67986
67735
|
}
|
|
67987
67736
|
this.open = true;
|
|
67988
|
-
const
|
|
67737
|
+
const view2 = doc.defaultView;
|
|
67989
67738
|
const { left, top } = clampFlyoutPosition2({
|
|
67990
67739
|
x,
|
|
67991
67740
|
y,
|
|
67992
67741
|
width: panel.offsetWidth,
|
|
67993
67742
|
height: panel.offsetHeight,
|
|
67994
|
-
viewportWidth:
|
|
67995
|
-
viewportHeight:
|
|
67743
|
+
viewportWidth: view2?.innerWidth ?? x,
|
|
67744
|
+
viewportHeight: view2?.innerHeight ?? y,
|
|
67996
67745
|
margin: 4
|
|
67997
67746
|
});
|
|
67998
67747
|
panel.style.left = `${Math.round(left)}px`;
|
|
@@ -68101,7 +67850,7 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68101
67850
|
for (const name of this.markers) this.setAttribute(name, "true");
|
|
68102
67851
|
}
|
|
68103
67852
|
place() {
|
|
68104
|
-
const
|
|
67853
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68105
67854
|
this.style.left = `${this.model.x}px`;
|
|
68106
67855
|
this.style.top = `${this.model.y}px`;
|
|
68107
67856
|
const box = this.getBoundingClientRect();
|
|
@@ -68110,8 +67859,8 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68110
67859
|
y: this.model.y,
|
|
68111
67860
|
width: box.width,
|
|
68112
67861
|
height: box.height,
|
|
68113
|
-
viewportWidth:
|
|
68114
|
-
viewportHeight:
|
|
67862
|
+
viewportWidth: view2?.innerWidth ?? box.right,
|
|
67863
|
+
viewportHeight: view2?.innerHeight ?? box.bottom
|
|
68115
67864
|
});
|
|
68116
67865
|
this.style.left = `${left}px`;
|
|
68117
67866
|
this.style.top = `${top}px`;
|
|
@@ -68197,9 +67946,11 @@ var OfficeUiContextMenu = class extends OfficeElement {
|
|
|
68197
67946
|
let group;
|
|
68198
67947
|
const closeGroup = () => {
|
|
68199
67948
|
if (!group) return;
|
|
68200
|
-
out.push(
|
|
68201
|
-
|
|
68202
|
-
|
|
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
|
+
);
|
|
68203
67954
|
group = void 0;
|
|
68204
67955
|
};
|
|
68205
67956
|
this.model.items.forEach((item4, index) => {
|
|
@@ -68278,12 +68029,12 @@ function tokenPx2(el, name, fallback) {
|
|
|
68278
68029
|
return Number.isFinite(px3) ? px3 : fallback;
|
|
68279
68030
|
}
|
|
68280
68031
|
function positionSelectMenu(menu, trigger, host2) {
|
|
68281
|
-
const
|
|
68032
|
+
const view2 = menu.ownerDocument.defaultView;
|
|
68282
68033
|
const rect3 = trigger.getBoundingClientRect();
|
|
68283
68034
|
const margin = tokenPx2(host2, "--office-space-2", 8);
|
|
68284
68035
|
const gap = tokenPx2(host2, "--office-space-1", 4);
|
|
68285
|
-
const width = Math.max(0,
|
|
68286
|
-
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);
|
|
68287
68038
|
const above = Math.max(0, rect3.top - gap - margin);
|
|
68288
68039
|
menu.style.minWidth = `${Math.min(rect3.width, width)}px`;
|
|
68289
68040
|
menu.style.maxWidth = `${width}px`;
|
|
@@ -68294,7 +68045,7 @@ function positionSelectMenu(menu, trigger, host2) {
|
|
|
68294
68045
|
menu.style.maxHeight = `${Math.min(cap, flip ? above : below)}px`;
|
|
68295
68046
|
const { height, width: menuWidth } = menu.getBoundingClientRect();
|
|
68296
68047
|
menu.style.top = `${Math.max(margin, flip ? rect3.top - gap - height : rect3.bottom + gap)}px`;
|
|
68297
|
-
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`;
|
|
68298
68049
|
}
|
|
68299
68050
|
function nextSelectActive(choices2, active2, step) {
|
|
68300
68051
|
for (let i = 0; i < choices2.length; i++) {
|
|
@@ -68356,9 +68107,9 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68356
68107
|
}
|
|
68357
68108
|
const Observer = this.ownerDocument.defaultView?.MutationObserver;
|
|
68358
68109
|
this.observer = Observer ? new Observer(() => {
|
|
68359
|
-
const
|
|
68360
|
-
if (this.refreshFrame || !
|
|
68361
|
-
this.refreshFrame =
|
|
68110
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68111
|
+
if (this.refreshFrame || !view2) return;
|
|
68112
|
+
this.refreshFrame = view2.requestAnimationFrame(() => {
|
|
68362
68113
|
this.refreshFrame = 0;
|
|
68363
68114
|
this.refresh();
|
|
68364
68115
|
});
|
|
@@ -68422,12 +68173,12 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68422
68173
|
super.disconnectedCallback();
|
|
68423
68174
|
this.open = false;
|
|
68424
68175
|
this.closePopup();
|
|
68425
|
-
const
|
|
68426
|
-
|
|
68176
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68177
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68427
68178
|
this.searchTimer = 0;
|
|
68428
68179
|
this.search = "";
|
|
68429
68180
|
this.observer?.disconnect();
|
|
68430
|
-
if (this.refreshFrame)
|
|
68181
|
+
if (this.refreshFrame) view2?.cancelAnimationFrame(this.refreshFrame);
|
|
68431
68182
|
this.refreshFrame = 0;
|
|
68432
68183
|
}
|
|
68433
68184
|
collect() {
|
|
@@ -68466,22 +68217,22 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68466
68217
|
if (!menu) return;
|
|
68467
68218
|
if (typeof menu.showPopover === "function") menu.showPopover();
|
|
68468
68219
|
this.position();
|
|
68469
|
-
const
|
|
68220
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68470
68221
|
this.ownerDocument.addEventListener("pointerdown", this.onOutside, true);
|
|
68471
|
-
|
|
68472
|
-
|
|
68222
|
+
view2?.addEventListener("resize", this.position);
|
|
68223
|
+
view2?.addEventListener("scroll", this.position, true);
|
|
68473
68224
|
}
|
|
68474
68225
|
closePopup() {
|
|
68475
|
-
const
|
|
68476
|
-
|
|
68226
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68227
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68477
68228
|
this.search = "";
|
|
68478
68229
|
try {
|
|
68479
68230
|
if (this.menu?.matches(":popover-open")) this.menu.hidePopover();
|
|
68480
68231
|
} catch {
|
|
68481
68232
|
}
|
|
68482
68233
|
this.ownerDocument.removeEventListener("pointerdown", this.onOutside, true);
|
|
68483
|
-
|
|
68484
|
-
|
|
68234
|
+
view2?.removeEventListener("resize", this.position);
|
|
68235
|
+
view2?.removeEventListener("scroll", this.position, true);
|
|
68485
68236
|
}
|
|
68486
68237
|
onOutside = (event) => {
|
|
68487
68238
|
if (!event.composedPath().includes(this)) this.close();
|
|
@@ -68538,10 +68289,10 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68538
68289
|
}
|
|
68539
68290
|
}
|
|
68540
68291
|
typeAhead(key) {
|
|
68541
|
-
const
|
|
68292
|
+
const view2 = this.ownerDocument.defaultView;
|
|
68542
68293
|
this.search += key.toLocaleLowerCase();
|
|
68543
|
-
|
|
68544
|
-
this.searchTimer =
|
|
68294
|
+
view2?.clearTimeout(this.searchTimer);
|
|
68295
|
+
this.searchTimer = view2?.setTimeout(() => {
|
|
68545
68296
|
this.search = "";
|
|
68546
68297
|
}, 700) ?? 0;
|
|
68547
68298
|
this.show();
|
|
@@ -68732,12 +68483,12 @@ var OfficeUiStatusBar = class extends OfficeElement {
|
|
|
68732
68483
|
items,
|
|
68733
68484
|
(spec5) => spec5.id,
|
|
68734
68485
|
(spec5) => lit.html`<span
|
|
68735
|
-
|
|
68736
|
-
|
|
68737
|
-
|
|
68738
|
-
|
|
68739
|
-
|
|
68740
|
-
|
|
68486
|
+
class="item${spec5.tone === "saving" ? " saving" : ""}${spec5.tone === "error" ? " error" : ""}${spec5.narrowHide ? " narrow-hide" : ""}"
|
|
68487
|
+
data-item=${spec5.id}
|
|
68488
|
+
title=${ifDefined_js.ifDefined(spec5.title)}
|
|
68489
|
+
aria-live=${ifDefined_js.ifDefined(spec5.live ? "polite" : void 0)}
|
|
68490
|
+
>${spec5.text}</span
|
|
68491
|
+
>`
|
|
68741
68492
|
)}
|
|
68742
68493
|
</span>
|
|
68743
68494
|
<slot></slot>
|
|
@@ -68793,7 +68544,7 @@ function matchTitleBarCommands(search, query) {
|
|
|
68793
68544
|
}
|
|
68794
68545
|
|
|
68795
68546
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/title-bar.css?raw
|
|
68796
|
-
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";
|
|
68797
68548
|
|
|
68798
68549
|
// src/chrome/title-bar.ts
|
|
68799
68550
|
var EMPTY = { fileName: "" };
|
|
@@ -68893,15 +68644,15 @@ var OfficeUiTitleBar = class extends OfficeElement {
|
|
|
68893
68644
|
items,
|
|
68894
68645
|
(item4) => item4.id,
|
|
68895
68646
|
(item4) => lit.html`<button
|
|
68896
|
-
|
|
68897
|
-
|
|
68898
|
-
|
|
68899
|
-
|
|
68900
|
-
|
|
68901
|
-
|
|
68902
|
-
|
|
68903
|
-
|
|
68904
|
-
|
|
68647
|
+
type="button"
|
|
68648
|
+
data-command=${item4.id}
|
|
68649
|
+
aria-label=${item4.label}
|
|
68650
|
+
title=${ifDefined_js.ifDefined(item4.title)}
|
|
68651
|
+
tabindex=${item4 === current ? 0 : -1}
|
|
68652
|
+
?disabled=${item4.disabled === true}
|
|
68653
|
+
@click=${() => this.activate(item4.id)}
|
|
68654
|
+
>${glyph(item4.icon, "icon")}${qa?.showLabels === true ? lit.html`<small>${item4.label}</small>` : ""}</button
|
|
68655
|
+
>`
|
|
68905
68656
|
)}
|
|
68906
68657
|
</div>`;
|
|
68907
68658
|
}
|
|
@@ -68963,15 +68714,15 @@ var OfficeUiTitleBar = class extends OfficeElement {
|
|
|
68963
68714
|
<div class="results" role="listbox" ?hidden=${!this.resultsOpen}>
|
|
68964
68715
|
${this.found.length > 0 ? lit.html`<div class="heading">${search.heading}</div> ${this.found.map(
|
|
68965
68716
|
(entry5, index) => lit.html`<button
|
|
68966
|
-
|
|
68967
|
-
|
|
68968
|
-
|
|
68969
|
-
|
|
68970
|
-
|
|
68971
|
-
|
|
68972
|
-
|
|
68973
|
-
|
|
68974
|
-
|
|
68717
|
+
type="button"
|
|
68718
|
+
role="option"
|
|
68719
|
+
tabindex="-1"
|
|
68720
|
+
aria-selected=${String(index === this.active)}
|
|
68721
|
+
@mousedown=${(event) => pick(event, () => this.commit(entry5))}
|
|
68722
|
+
@mouseenter=${() => this.active = index}
|
|
68723
|
+
><span>${entry5.label}</span
|
|
68724
|
+
><span class="cat">${entry5.category ?? ""}</span></button
|
|
68725
|
+
>`
|
|
68975
68726
|
)}` : lit.html`<div class="empty">${search.empty}</div>`}
|
|
68976
68727
|
${search.content ? lit.html`<button
|
|
68977
68728
|
type="button"
|
|
@@ -69959,8 +69710,8 @@ function definePptxPresentToolbar(registry2) {
|
|
|
69959
69710
|
connectedCallback() {
|
|
69960
69711
|
this.render();
|
|
69961
69712
|
this.ownerDocument.addEventListener("mousedown", this.onOutside, true);
|
|
69962
|
-
const
|
|
69963
|
-
this.tick =
|
|
69713
|
+
const view2 = this.ownerDocument.defaultView;
|
|
69714
|
+
this.tick = view2?.setInterval(() => this.view.renderElapsed(this.model.startTime), 1e3);
|
|
69964
69715
|
}
|
|
69965
69716
|
disconnectedCallback() {
|
|
69966
69717
|
this.ownerDocument.removeEventListener("mousedown", this.onOutside, true);
|
|
@@ -70964,9 +70715,9 @@ function definePptxRibbonGallery(registry2) {
|
|
|
70964
70715
|
this,
|
|
70965
70716
|
this.#descriptor ? officeGalleryState(this.#descriptor, this.#t) : void 0
|
|
70966
70717
|
);
|
|
70967
|
-
const
|
|
70968
|
-
if (this.#descriptor && !this.isConnected &&
|
|
70969
|
-
this.append(
|
|
70718
|
+
const view2 = this.trigger.parentElement;
|
|
70719
|
+
if (this.#descriptor && !this.isConnected && view2 && view2.parentElement !== this) {
|
|
70720
|
+
this.append(view2);
|
|
70970
70721
|
}
|
|
70971
70722
|
}
|
|
70972
70723
|
}
|
|
@@ -71447,14 +71198,14 @@ function createHomePopup(doc, slot, trigger, role, label, onChange) {
|
|
|
71447
71198
|
let keyboard = false;
|
|
71448
71199
|
el.addEventListener("click", (event) => keyboard = event.detail === 0, true);
|
|
71449
71200
|
const reposition = () => {
|
|
71450
|
-
const
|
|
71451
|
-
if (!
|
|
71201
|
+
const view2 = doc.defaultView;
|
|
71202
|
+
if (!view2 || !opened) {
|
|
71452
71203
|
return;
|
|
71453
71204
|
}
|
|
71454
71205
|
const anchor = slot.getBoundingClientRect();
|
|
71455
71206
|
const { width, height } = el.getBoundingClientRect();
|
|
71456
|
-
const left = Math.min(anchor.left,
|
|
71457
|
-
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;
|
|
71458
71209
|
el.style.left = `${Math.max(8, left)}px`;
|
|
71459
71210
|
el.style.top = `${Math.max(8, top)}px`;
|
|
71460
71211
|
};
|
|
@@ -71472,11 +71223,11 @@ function createHomePopup(doc, slot, trigger, role, label, onChange) {
|
|
|
71472
71223
|
}
|
|
71473
71224
|
};
|
|
71474
71225
|
const listen = (on) => {
|
|
71475
|
-
const
|
|
71226
|
+
const view2 = doc.defaultView;
|
|
71476
71227
|
const method = on ? "addEventListener" : "removeEventListener";
|
|
71477
71228
|
doc[method]("pointerdown", outside, true);
|
|
71478
71229
|
doc[method]("keydown", key);
|
|
71479
|
-
|
|
71230
|
+
view2?.[method]("resize", reposition);
|
|
71480
71231
|
doc[method]("scroll", reposition, true);
|
|
71481
71232
|
};
|
|
71482
71233
|
function close(focusTrigger = false) {
|
|
@@ -72133,10 +71884,10 @@ function createInsertMenu(doc, control2, icon2, pick, options = {}) {
|
|
|
72133
71884
|
return;
|
|
72134
71885
|
}
|
|
72135
71886
|
const rect3 = trigger.getBoundingClientRect();
|
|
72136
|
-
const
|
|
71887
|
+
const view2 = doc.defaultView;
|
|
72137
71888
|
const box = list.getBoundingClientRect();
|
|
72138
|
-
const width =
|
|
72139
|
-
const height =
|
|
71889
|
+
const width = view2?.innerWidth ?? 1024;
|
|
71890
|
+
const height = view2?.innerHeight ?? 768;
|
|
72140
71891
|
list.style.left = `${Math.max(8, Math.min(rect3.left, width - box.width - 8))}px`;
|
|
72141
71892
|
list.style.top = `${Math.max(8, Math.min(rect3.bottom + 4, height - box.height - 8))}px`;
|
|
72142
71893
|
};
|
|
@@ -72489,6 +72240,49 @@ function definePptxRibbonSection(registry2) {
|
|
|
72489
72240
|
registry2.define("pptx-ui-ribbon-section", PptxRibbonSection);
|
|
72490
72241
|
}
|
|
72491
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
|
+
|
|
72492
72286
|
// src/pptx/web-components/ribbon-transitions-styles.ts
|
|
72493
72287
|
var RIBBON_TRANSITIONS_STYLES = `
|
|
72494
72288
|
:host { display:inline-flex; align-items:stretch; flex:none; color:var(--pptx-foreground,#f8fafc); font:inherit; }
|
|
@@ -73323,7 +73117,7 @@ function officeStatusBarState(state) {
|
|
|
73323
73117
|
const t = state.translate ?? ((key) => key);
|
|
73324
73118
|
const count = Math.max(0, state.slideCount);
|
|
73325
73119
|
const views = state.showViewModes !== false;
|
|
73326
|
-
const
|
|
73120
|
+
const view2 = (id, labelKey, shown = true) => ({
|
|
73327
73121
|
id,
|
|
73328
73122
|
icon: `${ICON_PREFIX}${id}`,
|
|
73329
73123
|
label: t(labelKey),
|
|
@@ -73355,9 +73149,9 @@ function officeStatusBarState(state) {
|
|
|
73355
73149
|
],
|
|
73356
73150
|
// Every control stays rendered and named; gating only hides it.
|
|
73357
73151
|
views: [
|
|
73358
|
-
|
|
73359
|
-
|
|
73360
|
-
|
|
73152
|
+
view2("normal", "pptx.statusBar.normalView"),
|
|
73153
|
+
view2("sorter", "pptx.statusBar.slideSorter", state.showSorter !== false),
|
|
73154
|
+
view2("slideShow", "pptx.statusBar.slideShow", state.showSlideShow !== false)
|
|
73361
73155
|
],
|
|
73362
73156
|
zoom: {
|
|
73363
73157
|
percent: state.zoomPercent ?? 100,
|
|
@@ -74327,16 +74121,16 @@ function reflowRibbon(content) {
|
|
|
74327
74121
|
}
|
|
74328
74122
|
function attachRibbonOverflow(content, options = {}) {
|
|
74329
74123
|
const doc = content.ownerDocument;
|
|
74330
|
-
const
|
|
74124
|
+
const view2 = doc.defaultView;
|
|
74331
74125
|
let frame = 0;
|
|
74332
74126
|
let forced = false;
|
|
74333
74127
|
let lastWidth = -1;
|
|
74334
74128
|
const schedule = (force = false) => {
|
|
74335
74129
|
forced ||= force;
|
|
74336
|
-
if (frame || !
|
|
74130
|
+
if (frame || !view2) {
|
|
74337
74131
|
return;
|
|
74338
74132
|
}
|
|
74339
|
-
frame =
|
|
74133
|
+
frame = view2.requestAnimationFrame(() => {
|
|
74340
74134
|
frame = 0;
|
|
74341
74135
|
const rebuild = forced;
|
|
74342
74136
|
forced = false;
|
|
@@ -74360,7 +74154,7 @@ function attachRibbonOverflow(content, options = {}) {
|
|
|
74360
74154
|
observer?.observe(content, { childList: true, subtree: true });
|
|
74361
74155
|
resize?.observe(content);
|
|
74362
74156
|
const onWindowResize = () => schedule();
|
|
74363
|
-
|
|
74157
|
+
view2?.addEventListener("resize", onWindowResize);
|
|
74364
74158
|
const toggleGroup = (group, face) => {
|
|
74365
74159
|
if (!face || !content.contains(group) || !group.hasAttribute("data-collapsed")) {
|
|
74366
74160
|
return;
|
|
@@ -74418,8 +74212,8 @@ function attachRibbonOverflow(content, options = {}) {
|
|
|
74418
74212
|
stopLaunchers?.();
|
|
74419
74213
|
observer?.disconnect();
|
|
74420
74214
|
resize?.disconnect();
|
|
74421
|
-
|
|
74422
|
-
|
|
74215
|
+
view2?.removeEventListener("resize", onWindowResize);
|
|
74216
|
+
view2?.cancelAnimationFrame(frame);
|
|
74423
74217
|
content.removeEventListener("click", toggle2);
|
|
74424
74218
|
content.removeEventListener("ribbon-collapse-toggle", toggleShared);
|
|
74425
74219
|
content.removeEventListener("click", afterCommand);
|
|
@@ -74504,6 +74298,7 @@ var controls = [
|
|
|
74504
74298
|
["pptx-ui-ribbon-transitions", definePptxRibbonTransitions],
|
|
74505
74299
|
["pptx-ui-ribbon-group", definePptxRibbonGroup],
|
|
74506
74300
|
["pptx-ui-ribbon-section", definePptxRibbonSection],
|
|
74301
|
+
["pptx-ui-ribbon-add-in", definePptxRibbonAddIn],
|
|
74507
74302
|
["pptx-ui-ribbon-gallery", definePptxRibbonGallery],
|
|
74508
74303
|
["pptx-ui-ribbon-toggle", definePptxRibbonToggle],
|
|
74509
74304
|
["pptx-ui-status-bar", definePptxStatusBar],
|
|
@@ -74578,10 +74373,10 @@ function memoised(element, byObject, byId, build7) {
|
|
|
74578
74373
|
return byObject.get(element) ?? null;
|
|
74579
74374
|
}
|
|
74580
74375
|
const last = byId.get(element.id);
|
|
74581
|
-
const
|
|
74582
|
-
byObject.set(element,
|
|
74583
|
-
byId.set(element.id, { element, view });
|
|
74584
|
-
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;
|
|
74585
74380
|
}
|
|
74586
74381
|
function chartThreeViewSpec(element) {
|
|
74587
74382
|
return memoised(element, chartSpecs, lastByIdChart, () => {
|
|
@@ -74638,7 +74433,7 @@ function applyChart3DDrag(bridge, detail) {
|
|
|
74638
74433
|
return;
|
|
74639
74434
|
}
|
|
74640
74435
|
bridge.commitChartData(
|
|
74641
|
-
|
|
74436
|
+
chunkK3S2A64B_cjs.withChartPointValue(bridge.chartData, part.seriesIndex, part.pointIndex, value)
|
|
74642
74437
|
);
|
|
74643
74438
|
}
|
|
74644
74439
|
function detailOf(event) {
|
|
@@ -75115,7 +74910,7 @@ function calculateNotesPageLayout(slideWidth, slideHeight) {
|
|
|
75115
74910
|
};
|
|
75116
74911
|
}
|
|
75117
74912
|
function wrapNotesText(text3, maxWidth, fontSize) {
|
|
75118
|
-
return
|
|
74913
|
+
return chunkVFPVEVF4_cjs.wrapTextByEstimatedWidth(text3, maxWidth, fontSize, { keepBlankLines: true });
|
|
75119
74914
|
}
|
|
75120
74915
|
function calculateContinuationPageMaxLines() {
|
|
75121
74916
|
const contentHeight = NOTES_PAGE_H - 2 * NOTES_MARGIN;
|
|
@@ -76831,14 +76626,34 @@ Object.defineProperty(exports, "isTemplateElementId", {
|
|
|
76831
76626
|
enumerable: true,
|
|
76832
76627
|
get: function () { return element.isTemplateElementId; }
|
|
76833
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
|
+
});
|
|
76834
76641
|
Object.defineProperty(exports, "SNAP_THRESHOLD", {
|
|
76835
76642
|
enumerable: true,
|
|
76836
76643
|
get: function () { return geometry.SNAP_THRESHOLD; }
|
|
76837
76644
|
});
|
|
76645
|
+
Object.defineProperty(exports, "aStarOrthogonal", {
|
|
76646
|
+
enumerable: true,
|
|
76647
|
+
get: function () { return geometry.aStarOrthogonal; }
|
|
76648
|
+
});
|
|
76838
76649
|
Object.defineProperty(exports, "alignElements", {
|
|
76839
76650
|
enumerable: true,
|
|
76840
76651
|
get: function () { return geometry.alignElements; }
|
|
76841
76652
|
});
|
|
76653
|
+
Object.defineProperty(exports, "buildGraphNodes", {
|
|
76654
|
+
enumerable: true,
|
|
76655
|
+
get: function () { return geometry.buildGraphNodes; }
|
|
76656
|
+
});
|
|
76842
76657
|
Object.defineProperty(exports, "computeAlign", {
|
|
76843
76658
|
enumerable: true,
|
|
76844
76659
|
get: function () { return geometry.computeAlign; }
|
|
@@ -76863,14 +76678,54 @@ Object.defineProperty(exports, "createRotationDrag", {
|
|
|
76863
76678
|
enumerable: true,
|
|
76864
76679
|
get: function () { return geometry.createRotationDrag; }
|
|
76865
76680
|
});
|
|
76681
|
+
Object.defineProperty(exports, "directPathClear", {
|
|
76682
|
+
enumerable: true,
|
|
76683
|
+
get: function () { return geometry.directPathClear; }
|
|
76684
|
+
});
|
|
76866
76685
|
Object.defineProperty(exports, "distributeElements", {
|
|
76867
76686
|
enumerable: true,
|
|
76868
76687
|
get: function () { return geometry.distributeElements; }
|
|
76869
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
|
+
});
|
|
76870
76705
|
Object.defineProperty(exports, "resolveAlignReferenceBox", {
|
|
76871
76706
|
enumerable: true,
|
|
76872
76707
|
get: function () { return geometry.resolveAlignReferenceBox; }
|
|
76873
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
|
+
});
|
|
76725
|
+
Object.defineProperty(exports, "snapAngle", {
|
|
76726
|
+
enumerable: true,
|
|
76727
|
+
get: function () { return geometry.snapAngle; }
|
|
76728
|
+
});
|
|
76874
76729
|
Object.defineProperty(exports, "snapBox", {
|
|
76875
76730
|
enumerable: true,
|
|
76876
76731
|
get: function () { return geometry.snapBox; }
|
|
@@ -76887,6 +76742,14 @@ Object.defineProperty(exports, "usesSlideReference", {
|
|
|
76887
76742
|
enumerable: true,
|
|
76888
76743
|
get: function () { return geometry.usesSlideReference; }
|
|
76889
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
|
+
});
|
|
76890
76753
|
Object.defineProperty(exports, "canDrillDown", {
|
|
76891
76754
|
enumerable: true,
|
|
76892
76755
|
get: function () { return elementLocks.canDrillDown; }
|
|
@@ -77447,6 +77310,10 @@ Object.defineProperty(exports, "tableStyleSaveOptions", {
|
|
|
77447
77310
|
enumerable: true,
|
|
77448
77311
|
get: function () { return tableStyleMapEdits.tableStyleSaveOptions; }
|
|
77449
77312
|
});
|
|
77313
|
+
Object.defineProperty(exports, "RIBBON_ADD_IN_EVENT", {
|
|
77314
|
+
enumerable: true,
|
|
77315
|
+
get: function () { return ribbon.RIBBON_ADD_IN_EVENT; }
|
|
77316
|
+
});
|
|
77450
77317
|
Object.defineProperty(exports, "appendElementOnSlide", {
|
|
77451
77318
|
enumerable: true,
|
|
77452
77319
|
get: function () { return editorMutations.appendElementOnSlide; }
|
|
@@ -77609,7 +77476,6 @@ exports.BRIGHTNESS_CONTRAST_STEPS = BRIGHTNESS_CONTRAST_STEPS;
|
|
|
77609
77476
|
exports.BROADCAST_THROTTLE_MS = BROADCAST_THROTTLE_MS;
|
|
77610
77477
|
exports.CANVAS_CONTEXT_MENU_COMMAND_IDS = CANVAS_CONTEXT_MENU_COMMAND_IDS;
|
|
77611
77478
|
exports.CANVAS_DIMENSION_CANDIDATES = CANVAS_DIMENSION_CANDIDATES;
|
|
77612
|
-
exports.CANVAS_SENTINEL = CANVAS_SENTINEL;
|
|
77613
77479
|
exports.CATEGORIES = CATEGORIES;
|
|
77614
77480
|
exports.CHART_3D_TYPES = CHART_3D_TYPES;
|
|
77615
77481
|
exports.CHART_AXIS_TYPE_LABEL_KEYS = CHART_AXIS_TYPE_LABEL_KEYS;
|
|
@@ -77902,7 +77768,6 @@ exports.OUTLINE_VIEW_ATTR = OUTLINE_VIEW_ATTR;
|
|
|
77902
77768
|
exports.P14_TRANSITION_KEYFRAMES = P14_TRANSITION_KEYFRAMES;
|
|
77903
77769
|
exports.P14_TRANSITION_KEYFRAMES_2 = P14_TRANSITION_KEYFRAMES_2;
|
|
77904
77770
|
exports.P14_TRANSITION_KEYFRAMES_ALL = P14_TRANSITION_KEYFRAMES_ALL;
|
|
77905
|
-
exports.PADDING_DEFAULT = PADDING_DEFAULT;
|
|
77906
77771
|
exports.PALETTES = PALETTES;
|
|
77907
77772
|
exports.PASTE_OFFSET_PX = PASTE_OFFSET_PX;
|
|
77908
77773
|
exports.PASTE_SPECIAL_OPTIONS = PASTE_SPECIAL_OPTIONS;
|
|
@@ -77976,6 +77841,7 @@ exports.RECORD_COMMAND_GROUPS = RECORD_COMMAND_GROUPS;
|
|
|
77976
77841
|
exports.RESIZE_HANDLES = RESIZE_HANDLES;
|
|
77977
77842
|
exports.RESIZE_HANDLE_GEOMETRY = RESIZE_HANDLE_GEOMETRY;
|
|
77978
77843
|
exports.RGBA_BYTES_PER_PIXEL = RGBA_BYTES_PER_PIXEL;
|
|
77844
|
+
exports.RIBBON_ADD_IN_TAB_ATTR = RIBBON_ADD_IN_TAB_ATTR;
|
|
77979
77845
|
exports.RIBBON_CONTEXTUAL_TABS = RIBBON_CONTEXTUAL_TABS;
|
|
77980
77846
|
exports.RIBBON_CONTEXTUAL_TAB_ATTR = RIBBON_CONTEXTUAL_TAB_ATTR;
|
|
77981
77847
|
exports.RIBBON_CONTROL_ATTR = RIBBON_CONTROL_ATTR;
|
|
@@ -77992,13 +77858,13 @@ exports.RIBBON_GROUP_IDS = RIBBON_GROUP_IDS;
|
|
|
77992
77858
|
exports.RIBBON_HOME_FAMILIES = RIBBON_HOME_FAMILIES;
|
|
77993
77859
|
exports.RIBBON_HOME_INDENT_STEP = RIBBON_HOME_INDENT_STEP;
|
|
77994
77860
|
exports.RIBBON_MENU_COMMAND_IDS = RIBBON_MENU_COMMAND_IDS;
|
|
77861
|
+
exports.RIBBON_RESERVED_TAB_IDS = RIBBON_RESERVED_TAB_IDS;
|
|
77995
77862
|
exports.RIBBON_SCOPE_ATTR = RIBBON_SCOPE_ATTR;
|
|
77996
77863
|
exports.RIBBON_SHAPE_SWATCHES = RIBBON_SHAPE_SWATCHES;
|
|
77997
77864
|
exports.RIBBON_TAB = RIBBON_TAB;
|
|
77998
77865
|
exports.RIBBON_TAB_IDS = RIBBON_TAB_IDS;
|
|
77999
77866
|
exports.RIBBON_TRANSITION_PRESETS = RIBBON_TRANSITION_PRESETS;
|
|
78000
77867
|
exports.ROTATE_STEM_PX = ROTATE_STEM_PX;
|
|
78001
|
-
exports.ROUTING_PADDING_DEFAULT = ROUTING_PADDING_DEFAULT;
|
|
78002
77868
|
exports.RULER_FONT_SIZE = RULER_FONT_SIZE;
|
|
78003
77869
|
exports.RULER_THICKNESS = RULER_THICKNESS;
|
|
78004
77870
|
exports.RUN_HYPERLINK_ATTR = RUN_HYPERLINK_ATTR;
|
|
@@ -78125,7 +77991,6 @@ exports.ZOOM_MIN_PERCENT = ZOOM_MIN_PERCENT;
|
|
|
78125
77991
|
exports.ZOOM_STEP = ZOOM_STEP;
|
|
78126
77992
|
exports._resetCanvasDimensionCache = _resetCanvasDimensionCache;
|
|
78127
77993
|
exports._resetNativeImageSizeCacheForTests = _resetNativeImageSizeCacheForTests;
|
|
78128
|
-
exports.aStarOrthogonal = aStarOrthogonal;
|
|
78129
77994
|
exports.accentDuotone = accentDuotone;
|
|
78130
77995
|
exports.acceptAutosaveRecovery = acceptAutosaveRecovery;
|
|
78131
77996
|
exports.acceptsPresentationInput = acceptsPresentationInput;
|
|
@@ -78301,7 +78166,6 @@ exports.buildGlyphEnvelope = buildGlyphEnvelope;
|
|
|
78301
78166
|
exports.buildGlyphEnvelopeBlock = buildGlyphEnvelopeBlock;
|
|
78302
78167
|
exports.buildGoogleFontsFragment = buildGoogleFontsFragment;
|
|
78303
78168
|
exports.buildGoogleFontsHref = buildGoogleFontsHref;
|
|
78304
|
-
exports.buildGraphNodes = buildGraphNodes;
|
|
78305
78169
|
exports.buildHollowHitOutline = buildHollowHitOutline;
|
|
78306
78170
|
exports.buildHyperlinkPatch = buildHyperlinkPatch;
|
|
78307
78171
|
exports.buildIdatChunk = buildIdatChunk;
|
|
@@ -78675,7 +78539,6 @@ exports.diffOptionsAgainstBaseline = diffOptionsAgainstBaseline;
|
|
|
78675
78539
|
exports.diffSlideElements = diffSlideElements;
|
|
78676
78540
|
exports.diffTokens = diffTokens;
|
|
78677
78541
|
exports.diffViewerOptions = diffViewerOptions;
|
|
78678
|
-
exports.directPathClear = directPathClear;
|
|
78679
78542
|
exports.disableGlowPatch = disableGlowPatch;
|
|
78680
78543
|
exports.disableInnerShadowPatch = disableInnerShadowPatch;
|
|
78681
78544
|
exports.disableOuterShadowPatch = disableOuterShadowPatch;
|
|
@@ -78786,6 +78649,7 @@ exports.findMediaEndGatedSteps = findMediaEndGatedSteps;
|
|
|
78786
78649
|
exports.findMetricCompatibleGoogleFontsFamily = findMetricCompatibleGoogleFontsFamily;
|
|
78787
78650
|
exports.findOutlineRow = findOutlineRow;
|
|
78788
78651
|
exports.findPresentationActionTarget = findPresentationActionTarget;
|
|
78652
|
+
exports.findRibbonAddIn = findRibbonAddIn;
|
|
78789
78653
|
exports.findSlideStage = findSlideStage;
|
|
78790
78654
|
exports.findSmartArtNodeText = findSmartArtNodeText;
|
|
78791
78655
|
exports.finishAnimationGroupSteps = finishAnimationGroupSteps;
|
|
@@ -79031,7 +78895,6 @@ exports.hasText3dExtrusion = hasText3dExtrusion;
|
|
|
79031
78895
|
exports.hasTextWarp = hasTextWarp;
|
|
79032
78896
|
exports.hasTiltData = hasTiltData;
|
|
79033
78897
|
exports.hasWarpPresetDefinition = hasWarpPresetDefinition;
|
|
79034
|
-
exports.heuristic = heuristic;
|
|
79035
78898
|
exports.hexToRgb = hexToRgb;
|
|
79036
78899
|
exports.hiddenSlideCue = hiddenSlideCue;
|
|
79037
78900
|
exports.hiddenSlideLabelId = hiddenSlideLabelId;
|
|
@@ -79057,7 +78920,6 @@ exports.imageResetPatch = imageResetPatch;
|
|
|
79057
78920
|
exports.imageResetState = imageResetState;
|
|
79058
78921
|
exports.incomingSegmentIndex = incomingSegmentIndex;
|
|
79059
78922
|
exports.inferNodeTypes = inferNodeTypes;
|
|
79060
|
-
exports.inflateRect = inflateRect;
|
|
79061
78923
|
exports.initialHiddenStyle = initialHiddenStyle;
|
|
79062
78924
|
exports.initializeInlineListDom = initializeInlineListDom;
|
|
79063
78925
|
exports.inkGroupViewBox = inkGroupViewBox;
|
|
@@ -79380,8 +79242,6 @@ exports.playFeedbackSound = playFeedbackSound;
|
|
|
79380
79242
|
exports.playGroup = playGroup;
|
|
79381
79243
|
exports.playSlideTransitionPreview = playSlideTransitionPreview;
|
|
79382
79244
|
exports.pointFromPointerEvent = pointFromPointerEvent;
|
|
79383
|
-
exports.pointInRect = pointInRect;
|
|
79384
|
-
exports.pointKey = pointKey;
|
|
79385
79245
|
exports.pointsToSvgPathD = pointsToSvgPathD;
|
|
79386
79246
|
exports.polygonRegionBounds = polygonRegionBounds;
|
|
79387
79247
|
exports.powerPointAccelDecelProgress = powerPointAccelDecelProgress;
|
|
@@ -79500,6 +79360,7 @@ exports.resizeSelection = resizeSelection;
|
|
|
79500
79360
|
exports.resolve3DRenderingFlags = resolve3DRenderingFlags;
|
|
79501
79361
|
exports.resolveAccentHex = resolveAccentHex;
|
|
79502
79362
|
exports.resolveActionType = resolveActionType;
|
|
79363
|
+
exports.resolveActiveRibbonAddIn = resolveActiveRibbonAddIn;
|
|
79503
79364
|
exports.resolveActiveRibbonTab = resolveActiveRibbonTab;
|
|
79504
79365
|
exports.resolveAnimationCss = resolveAnimationCss;
|
|
79505
79366
|
exports.resolveAnimationEnd = resolveAnimationEnd;
|
|
@@ -79664,6 +79525,8 @@ exports.revealedStageCount = revealedStageCount;
|
|
|
79664
79525
|
exports.rgbToHex = rgbToHex;
|
|
79665
79526
|
exports.rgbToHsl = rgbToHsl;
|
|
79666
79527
|
exports.rgbaToHex = rgbaToHex;
|
|
79528
|
+
exports.ribbonAddInControlId = ribbonAddInControlId;
|
|
79529
|
+
exports.ribbonAddInGroupViews = ribbonAddInGroupViews;
|
|
79667
79530
|
exports.ribbonControlAttrs = ribbonControlAttrs;
|
|
79668
79531
|
exports.ribbonCustomizationCss = ribbonCustomizationCss;
|
|
79669
79532
|
exports.ribbonGroupAttrs = ribbonGroupAttrs;
|
|
@@ -79675,9 +79538,7 @@ exports.ribbonTransitionsDraftPatch = ribbonTransitionsDraftPatch;
|
|
|
79675
79538
|
exports.ribbonTransitionsSoundChange = ribbonTransitionsSoundChange;
|
|
79676
79539
|
exports.rotateDelta = rotateDelta;
|
|
79677
79540
|
exports.roundedRectOutline = roundedRectOutline;
|
|
79678
|
-
exports.routeConnector = routeConnector;
|
|
79679
79541
|
exports.routeEditLayerPointerToNodes = routeEditLayerPointerToNodes;
|
|
79680
|
-
exports.routeOrthogonalConnector = routeOrthogonalConnector;
|
|
79681
79542
|
exports.rowHandleSegments = rowHandleSegments;
|
|
79682
79543
|
exports.rowIndexAtOffset = rowIndexAtOffset;
|
|
79683
79544
|
exports.rulerDragToGuidePosition = rulerDragToGuidePosition;
|
|
@@ -79687,6 +79548,7 @@ exports.runMediaCommand = runMediaCommand;
|
|
|
79687
79548
|
exports.runPresentationAction = runPresentationAction;
|
|
79688
79549
|
exports.runProgramNoticeStackStyle = runProgramNoticeStackStyle;
|
|
79689
79550
|
exports.runProgramNoticeStackStyleAttr = runProgramNoticeStackStyleAttr;
|
|
79551
|
+
exports.runRibbonAddInCommand = runRibbonAddInCommand;
|
|
79690
79552
|
exports.safeColor = safeColor;
|
|
79691
79553
|
exports.sameArray = sameArray;
|
|
79692
79554
|
exports.sameHex = sameHex;
|
|
@@ -79721,7 +79583,6 @@ exports.seedHyperlinkDraft = seedHyperlinkDraft;
|
|
|
79721
79583
|
exports.seedRecentColors = seedRecentColors;
|
|
79722
79584
|
exports.seedShareFields = seedShareFields;
|
|
79723
79585
|
exports.seedShareSessionFields = seedShareSessionFields;
|
|
79724
|
-
exports.segmentIntersectsRect = segmentIntersectsRect;
|
|
79725
79586
|
exports.segmentStyleToCss = segmentStyleToCss;
|
|
79726
79587
|
exports.segmentsToEditorHtml = segmentsToEditorHtml;
|
|
79727
79588
|
exports.segmentsToParagraphs = segmentsToParagraphs;
|
|
@@ -79787,7 +79648,6 @@ exports.signedLoopArea = signedLoopArea;
|
|
|
79787
79648
|
exports.signedPercent = signedPercent;
|
|
79788
79649
|
exports.simplifyFreeformVertices = simplifyFreeformVertices;
|
|
79789
79650
|
exports.simplifyLoop = simplifyLoop;
|
|
79790
|
-
exports.simplifyPath = simplifyPath;
|
|
79791
79651
|
exports.slideBackgroundClearPatch = slideBackgroundClearPatch;
|
|
79792
79652
|
exports.slideBackgroundClearState = slideBackgroundClearState;
|
|
79793
79653
|
exports.slidePaneContextMenuLabelKey = slidePaneContextMenuLabelKey;
|
|
@@ -79809,7 +79669,6 @@ exports.smartArtNodeAriaLabel = smartArtNodeAriaLabel;
|
|
|
79809
79669
|
exports.smartArtNodeAtPoint = smartArtNodeAtPoint;
|
|
79810
79670
|
exports.smartArtNodeLabel = smartArtNodeLabel;
|
|
79811
79671
|
exports.smartArtThreeViewSpec = smartArtThreeViewSpec;
|
|
79812
|
-
exports.snapAngle = snapAngle;
|
|
79813
79672
|
exports.snapBoxToGrid = snapBoxToGrid;
|
|
79814
79673
|
exports.solveShapeAdjustmentValue = solveShapeAdjustmentValue;
|
|
79815
79674
|
exports.solveShapeAdjustments = solveShapeAdjustments;
|
|
@@ -79941,9 +79800,8 @@ exports.viewerOptionsToPreferences = viewerOptionsToPreferences;
|
|
|
79941
79800
|
exports.viewerPreferencesFromViewProperties = viewerPreferencesFromViewProperties;
|
|
79942
79801
|
exports.viewerZoomPercent = viewerZoomPercent;
|
|
79943
79802
|
exports.visibleContextualTabs = visibleContextualTabs;
|
|
79803
|
+
exports.visibleRibbonAddIns = visibleRibbonAddIns;
|
|
79944
79804
|
exports.warpPreviewPath = warpPreviewPath;
|
|
79945
|
-
exports.waypointsToPathD = waypointsToPathD;
|
|
79946
|
-
exports.waypointsToPathData = waypointsToPathData;
|
|
79947
79805
|
exports.wheelDecl = wheelDecl;
|
|
79948
79806
|
exports.wireMediaBookmarkSteps = wireMediaBookmarkSteps;
|
|
79949
79807
|
exports.wireMediaEndedSteps = wireMediaEndedSteps;
|