ooxml-ui 1.0.0 → 1.2.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 +40 -36
- package/custom-elements.json +211 -4
- package/dist/chrome/ruler.d.ts +60 -2
- package/dist/chrome/ruler.d.ts.map +1 -1
- package/dist/chrome/status-bar.d.ts +3 -1
- package/dist/chrome/status-bar.d.ts.map +1 -1
- package/dist/{chunk-T3HB5LMH.js → chunk-7FNDOWTX.js} +393 -15
- package/dist/{chunk-FLHM5Q4O.js → chunk-AYXFLBSV.js} +92 -13
- package/dist/{chunk-X7RINDJQ.js → chunk-JAJFLFAV.js} +1 -1
- package/dist/{chunk-OXKWNNNJ.js → chunk-VUB44CAJ.js} +1 -1
- package/dist/{chunk-JFJXBYRD.js → chunk-XNCWB2X6.js} +5 -0
- package/dist/{chunk-XDUYS4KK.js → chunk-Y2E22JVO.js} +1 -1
- package/dist/{chunk-ZV2Z4IWH.js → chunk-YK2DPYMU.js} +5 -2
- package/dist/{chunk-4QQASR5A.js → chunk-YP5S7DTT.js} +6 -5
- package/dist/comments/comments-pane.d.ts +116 -0
- package/dist/comments/comments-pane.d.ts.map +1 -0
- package/dist/comments/types.d.ts +80 -0
- package/dist/comments/types.d.ts.map +1 -0
- package/dist/controls.d.ts +4 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +4 -4
- package/dist/docx/comments-panel.d.ts +8 -1
- package/dist/docx/image-media.d.ts +1 -1
- package/dist/docx/locales/en-ribbon.d.ts +1 -0
- package/dist/docx/locales/en.d.ts +1 -0
- package/dist/docx/localization-strings.d.ts +2 -1
- package/dist/docx/localization.d.ts +7 -1
- package/dist/docx/print-layout.d.ts +2 -2
- package/dist/docx/print-picture.d.ts +12 -0
- package/dist/docx/review-controller.d.ts +2 -0
- package/dist/docx/ruler.d.ts +7 -10
- package/dist/docx.js +289 -339
- package/dist/form/gradient-preset-gallery.d.ts +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -8
- package/dist/pptx/{chart-3d-view-scene-2KRQ5667.mjs → chart-3d-view-scene-6B5TOWB6.mjs} +3 -3
- package/dist/pptx/{chart-3d-view-scene-36DMZWZ3.cjs → chart-3d-view-scene-MJ6YNT56.cjs} +37 -37
- package/dist/pptx/{chunk-YOGDIDPB.mjs → chunk-AWKKC3VW.mjs} +8 -2
- package/dist/pptx/{chunk-XQZWZMGZ.cjs → chunk-SM3CWDIQ.cjs} +7 -17
- package/dist/pptx/{chunk-CJU4P5FT.cjs → chunk-STKGUT5S.cjs} +18 -12
- package/dist/pptx/{chunk-JSBGBVBH.mjs → chunk-VRFNAF3Q.mjs} +7 -17
- package/dist/pptx/{chunk-YHA6XAB3.cjs → chunk-XIQMFSNG.cjs} +1 -1
- package/dist/pptx/{chunk-YARCML7O.mjs → chunk-XQVKQD5Z.mjs} +294 -265
- package/dist/pptx/{chunk-XWE5GSE7.mjs → chunk-YI5LH5NN.mjs} +533 -428
- package/dist/pptx/{chunk-ADOC5JLI.mjs → chunk-YMTQLZ2I.mjs} +1 -1
- package/dist/pptx/{chunk-AIL3BNZS.cjs → chunk-YRHK45AB.cjs} +301 -265
- package/dist/pptx/{chunk-FEFQTZDM.cjs → chunk-ZK344LOB.cjs} +689 -574
- package/dist/pptx/dom/elements/chart.d.ts +2 -3
- package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
- package/dist/pptx/dom/elements/table.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +257 -246
- package/dist/pptx/dom/index.mjs +28 -17
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/i18n/index.cjs +6 -6
- package/dist/pptx/i18n/index.mjs +1 -1
- package/dist/pptx/i18n/translator.d.ts.map +1 -1
- package/dist/pptx/index.cjs +3035 -2991
- package/dist/pptx/index.mjs +5 -5
- package/dist/pptx/render/chart-axis-range.d.ts +7 -0
- package/dist/pptx/render/chart-axis-range.d.ts.map +1 -1
- package/dist/pptx/render/chart-axis-render.d.ts +3 -1
- package/dist/pptx/render/chart-axis-render.d.ts.map +1 -1
- package/dist/pptx/render/chart-axis-style.d.ts +5 -0
- package/dist/pptx/render/chart-axis-style.d.ts.map +1 -1
- package/dist/pptx/render/chart-axis.d.ts +1 -1
- package/dist/pptx/render/chart-axis.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-axes.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-bars.d.ts +3 -3
- package/dist/pptx/render/chart-cartesian-bars.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-percent-stacked.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian.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-combo.d.ts.map +1 -1
- package/dist/pptx/render/chart-gridlines-toggle.d.ts +13 -1
- package/dist/pptx/render/chart-gridlines-toggle.d.ts.map +1 -1
- package/dist/pptx/render/chart-helpers.d.ts +13 -13
- package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
- package/dist/pptx/render/chart-horizontal-bars-helpers.d.ts +7 -3
- package/dist/pptx/render/chart-horizontal-bars-helpers.d.ts.map +1 -1
- package/dist/pptx/render/chart-horizontal-bars.d.ts.map +1 -1
- package/dist/pptx/render/chart-interaction-stacked.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-palette.d.ts +5 -14
- package/dist/pptx/render/chart-palette.d.ts.map +1 -1
- package/dist/pptx/render/chart-quick-action-styles.d.ts +5 -3
- package/dist/pptx/render/chart-quick-action-styles.d.ts.map +1 -1
- package/dist/pptx/render/chart-scatter-x-axis.d.ts.map +1 -1
- package/dist/pptx/render/chart-style-palette.d.ts +52 -0
- package/dist/pptx/render/chart-style-palette.d.ts.map +1 -0
- 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-bars.d.ts +31 -1
- package/dist/pptx/render/chart-view-model-bars.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model-build.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model.cjs +53 -41
- 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-elbow-geometry.d.ts +7 -43
- package/dist/pptx/render/connector-elbow-geometry.d.ts.map +1 -1
- package/dist/pptx/render/foreign-object-svg-document.d.ts +12 -0
- package/dist/pptx/render/foreign-object-svg-document.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +2 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/table-cell-css.d.ts +3 -2
- package/dist/pptx/render/table-cell-css.d.ts.map +1 -1
- package/dist/pptx/render/table-cell-edit.d.ts +1 -1
- package/dist/pptx/render/table-cell-edit.d.ts.map +1 -1
- package/dist/pptx/render/table-cell-paragraphs.d.ts +29 -0
- package/dist/pptx/render/table-cell-paragraphs.d.ts.map +1 -0
- package/dist/pptx/render/table-style.d.ts +2 -0
- package/dist/pptx/render/table-style.d.ts.map +1 -1
- package/dist/pptx/render/title-bar.d.ts +5 -0
- package/dist/pptx/render/title-bar.d.ts.map +1 -1
- package/dist/pptx/render/viewer-root-options.d.ts +54 -0
- package/dist/pptx/render/viewer-root-options.d.ts.map +1 -0
- package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
- package/dist/pptx/web-components/registration-contract.d.ts.map +1 -1
- package/dist/presence.js +3 -3
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/ribbon/ribbon-tabs.d.ts +2 -1
- package/dist/ribbon/ribbon-tabs.d.ts.map +1 -1
- package/dist/smartart/smartart-svg.d.ts +3 -2
- package/dist/smartart.js +3 -3
- package/dist/suite/attachment-store.d.ts +13 -0
- package/dist/suite/document-store.d.ts +31 -0
- package/dist/suite/index.d.ts +2 -0
- package/dist/suite.js +132 -1
- package/dist/teams/app/channel-tab.d.ts +5 -0
- package/dist/teams/chat-composer.d.ts +3 -0
- package/dist/teams.js +6 -6
- package/dist/theme.js +2 -2
- package/dist/tokens.d.ts +5 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/visio/styles/index.d.ts +2 -0
- package/dist/visio/styles/theme.d.ts +11 -0
- package/dist/visio/styles.d.ts +2 -2
- package/dist/visio.js +76 -25
- package/dist/xlsx/backstage/index.d.ts +4 -1
- package/dist/xlsx/backstage/pages-share.d.ts +19 -0
- package/dist/xlsx/backstage/parts.d.ts +3 -0
- package/dist/xlsx/chart-fill-binding.d.ts +2 -2
- package/dist/xlsx/chart-series-gradient-type.d.ts +3 -2
- package/dist/xlsx/collaboration-session.d.ts +9 -0
- package/dist/xlsx/collaboration-types.d.ts +41 -0
- package/dist/xlsx/collaboration.d.ts +56 -0
- package/dist/xlsx/component.d.ts +8 -0
- package/dist/xlsx/dialogs/comments-list.d.ts +4 -0
- package/dist/xlsx/dialogs/help-dialogs.d.ts +1 -1
- package/dist/xlsx/editor-core.d.ts +3 -0
- package/dist/xlsx/element-api.d.ts +19 -1
- package/dist/xlsx/events.d.ts +4 -1
- package/dist/xlsx/grid/remote-layer.d.ts +3 -0
- package/dist/xlsx/grid/sparkline.d.ts +3 -0
- package/dist/xlsx/grid/styles.d.ts +1 -1
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/ribbon-actions.d.ts +21 -0
- package/dist/xlsx/shell-commands.d.ts +1 -1
- package/dist/xlsx/title-bar.d.ts +4 -2
- package/dist/xlsx.js +712 -90
- package/package.json +3 -3
- package/dist/pptx/web-components/status-bar-styles.d.ts +0 -3
- package/dist/pptx/web-components/status-bar-styles.d.ts.map +0 -1
- package/dist/pptx/web-components/title-bar-styles.d.ts +0 -7
- package/dist/pptx/web-components/title-bar-styles.d.ts.map +0 -1
|
@@ -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 chunkSTKGUT5S_cjs = require('./chunk-STKGUT5S.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,15 +12,15 @@ 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 chunkYRHK45AB_cjs = require('./chunk-YRHK45AB.cjs');
|
|
16
16
|
var chunkFOE75Z6N_cjs = require('./chunk-FOE75Z6N.cjs');
|
|
17
17
|
var chunkNTXHQHCS_cjs = require('./chunk-NTXHQHCS.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkXIQMFSNG_cjs = require('./chunk-XIQMFSNG.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');
|
|
22
22
|
var chunkUSBRSEJK_cjs = require('./chunk-USBRSEJK.cjs');
|
|
23
|
-
var
|
|
23
|
+
var chunkSM3CWDIQ_cjs = require('./chunk-SM3CWDIQ.cjs');
|
|
24
24
|
var chunkOGJRSAGH_cjs = require('./chunk-OGJRSAGH.cjs');
|
|
25
25
|
var chunkEW5DW5KR_cjs = require('./chunk-EW5DW5KR.cjs');
|
|
26
26
|
var pptx = require('ooxml-core/pptx');
|
|
@@ -31,6 +31,7 @@ var opentypeModule = require('opentype.js');
|
|
|
31
31
|
var math = require('ooxml-core/math');
|
|
32
32
|
var schemaLabelKeys = require('ooxml-core/pptx/editor/render/schema-label-keys');
|
|
33
33
|
var chartUserShapeEdit = require('ooxml-core/pptx/editor/render/chart-user-shape-edit');
|
|
34
|
+
var bulletList = require('ooxml-core/pptx/editor/render/bullet-list');
|
|
34
35
|
var tableMerge = require('ooxml-core/pptx/editor/render/table-merge');
|
|
35
36
|
var tableLayout = require('ooxml-core/pptx/editor/render/table-layout');
|
|
36
37
|
var tableCellEdit = require('ooxml-core/pptx/editor/render/table-cell-edit');
|
|
@@ -47,7 +48,6 @@ var editorHistory = require('ooxml-core/pptx/editor/render/editor-history');
|
|
|
47
48
|
var sectionOperations = require('ooxml-core/pptx/editor/render/section-operations');
|
|
48
49
|
var slideOperations = require('ooxml-core/pptx/editor/render/slide-operations');
|
|
49
50
|
var bulletAutonum = require('ooxml-core/pptx/editor/render/bullet-autonum');
|
|
50
|
-
var bulletList = require('ooxml-core/pptx/editor/render/bullet-list');
|
|
51
51
|
var textTheme = require('ooxml-core/pptx/editor/render/text-theme');
|
|
52
52
|
var collaborationReconcile = require('ooxml-core/pptx/editor/render/collaboration-reconcile');
|
|
53
53
|
var collaborationSync = require('ooxml-core/pptx/editor/render/collaboration-sync');
|
|
@@ -1070,7 +1070,7 @@ function buildRectPathGradientDef(stops, id, focalPoint, fillToRect) {
|
|
|
1070
1070
|
color: stop.color,
|
|
1071
1071
|
...typeof stop.opacity === "number" ? { opacity: stop.opacity } : {}
|
|
1072
1072
|
}));
|
|
1073
|
-
const markup =
|
|
1073
|
+
const markup = chunkYRHK45AB_cjs.buildRectPathGradientSvg(rectStops, focalPoint, fillToRect);
|
|
1074
1074
|
return { kind: "rectPath", id, href: `data:image/svg+xml,${encodeURIComponent(markup)}` };
|
|
1075
1075
|
}
|
|
1076
1076
|
function rectPathGradientMarkup(def) {
|
|
@@ -1084,9 +1084,9 @@ function buildSvgStrokePatternDef(style, elementId) {
|
|
|
1084
1084
|
if (!style || style.strokeFillMode !== "pattern" || !style.strokePatternPreset) {
|
|
1085
1085
|
return void 0;
|
|
1086
1086
|
}
|
|
1087
|
-
const fg =
|
|
1088
|
-
const bg =
|
|
1089
|
-
const tile4 =
|
|
1087
|
+
const fg = chunkYRHK45AB_cjs.normalizeHexColor(style.strokeColor, "#000000");
|
|
1088
|
+
const bg = chunkYRHK45AB_cjs.normalizeHexColor(style.strokePatternBackgroundColor, "#ffffff");
|
|
1089
|
+
const tile4 = chunkYRHK45AB_cjs.getPatternTile(style.strokePatternPreset, fg, bg);
|
|
1090
1090
|
if (!tile4) {
|
|
1091
1091
|
return void 0;
|
|
1092
1092
|
}
|
|
@@ -1109,7 +1109,7 @@ function svgGradientId(elementId, suffix = "grad") {
|
|
|
1109
1109
|
return `pptx-${suffix}-${seed}`;
|
|
1110
1110
|
}
|
|
1111
1111
|
function toSvgStops(stops) {
|
|
1112
|
-
return
|
|
1112
|
+
return chunkYRHK45AB_cjs.sanitizeGradientStops(stops).map((stop) => ({
|
|
1113
1113
|
offset: round4(stop.position / 100),
|
|
1114
1114
|
color: stop.color,
|
|
1115
1115
|
...typeof stop.opacity === "number" ? { opacity: round4(stop.opacity) } : {}
|
|
@@ -1136,7 +1136,7 @@ function buildFromSource(source, id) {
|
|
|
1136
1136
|
if ((source.pathType || "circle") === "rect") {
|
|
1137
1137
|
return buildRectPathGradientDef(stops, id, source.focalPoint, source.fillToRect);
|
|
1138
1138
|
}
|
|
1139
|
-
const { cx, cy } =
|
|
1139
|
+
const { cx, cy } = chunkYRHK45AB_cjs.computeGradientCenter(source.fillToRect, source.focalPoint);
|
|
1140
1140
|
const fx = cx / 100;
|
|
1141
1141
|
const fy = cy / 100;
|
|
1142
1142
|
const r = Math.hypot(Math.max(fx, 1 - fx), Math.max(fy, 1 - fy));
|
|
@@ -1316,11 +1316,11 @@ function buildStrokeOutline(element) {
|
|
|
1316
1316
|
return {
|
|
1317
1317
|
d,
|
|
1318
1318
|
paint,
|
|
1319
|
-
stroke: paint ? svgGradientFillRef(paint) :
|
|
1319
|
+
stroke: paint ? svgGradientFillRef(paint) : chunkYRHK45AB_cjs.colorWithOpacity(style?.strokeColor ?? chunkYRHK45AB_cjs.DEFAULT_STROKE_COLOR, style?.strokeOpacity),
|
|
1320
1320
|
strokeWidth,
|
|
1321
1321
|
strands: outlineStrands(style?.compoundLine, strokeWidth),
|
|
1322
|
-
dashArray:
|
|
1323
|
-
|
|
1322
|
+
dashArray: chunkYRHK45AB_cjs.getSvgStrokeDasharray(
|
|
1323
|
+
chunkYRHK45AB_cjs.normalizeStrokeDashType(style?.strokeDash),
|
|
1324
1324
|
Math.max(strokeWidth, 1),
|
|
1325
1325
|
style?.customDashSegments
|
|
1326
1326
|
),
|
|
@@ -1499,12 +1499,12 @@ function getComputedStrokeStyle(element) {
|
|
|
1499
1499
|
return { ...NO_STROKE, ...joins };
|
|
1500
1500
|
}
|
|
1501
1501
|
const borderWidth = width;
|
|
1502
|
-
const borderStyle =
|
|
1503
|
-
|
|
1502
|
+
const borderStyle = chunkYRHK45AB_cjs.getCssBorderDashStyle(
|
|
1503
|
+
chunkYRHK45AB_cjs.normalizeStrokeDashType(style.strokeDash),
|
|
1504
1504
|
style.compoundLine
|
|
1505
1505
|
);
|
|
1506
|
-
const rawColor = style.strokeColor ??
|
|
1507
|
-
const borderColor = style.strokeOpacity === void 0 ? rawColor :
|
|
1506
|
+
const rawColor = style.strokeColor ?? chunkYRHK45AB_cjs.DEFAULT_STROKE_COLOR;
|
|
1507
|
+
const borderColor = style.strokeOpacity === void 0 ? rawColor : chunkYRHK45AB_cjs.colorWithOpacity(chunkYRHK45AB_cjs.normalizeHexColor(rawColor, chunkYRHK45AB_cjs.DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
1508
1508
|
return {
|
|
1509
1509
|
borderWidth,
|
|
1510
1510
|
borderStyle,
|
|
@@ -1665,7 +1665,7 @@ function resolveGroupChildFill(child, parentGroupFill) {
|
|
|
1665
1665
|
if (!parentGroupFill || !pptx.hasShapeProperties(child) || child.shapeStyle?.fillMode !== "group") {
|
|
1666
1666
|
return void 0;
|
|
1667
1667
|
}
|
|
1668
|
-
return
|
|
1668
|
+
return chunkYRHK45AB_cjs.getComputedFillStyle(child, parentGroupFill);
|
|
1669
1669
|
}
|
|
1670
1670
|
function getFrameInverseTransform(element) {
|
|
1671
1671
|
const transforms = [];
|
|
@@ -1717,9 +1717,9 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1717
1717
|
}
|
|
1718
1718
|
if (colorNode["a:scrgbClr"]) {
|
|
1719
1719
|
const scrgb = colorNode["a:scrgbClr"];
|
|
1720
|
-
const red =
|
|
1721
|
-
const green =
|
|
1722
|
-
const blue =
|
|
1720
|
+
const red = chunkYRHK45AB_cjs.parseDrawingPercent(scrgb["@_r"]);
|
|
1721
|
+
const green = chunkYRHK45AB_cjs.parseDrawingPercent(scrgb["@_g"]);
|
|
1722
|
+
const blue = chunkYRHK45AB_cjs.parseDrawingPercent(scrgb["@_b"]);
|
|
1723
1723
|
if (red !== void 0 && green !== void 0 && blue !== void 0) {
|
|
1724
1724
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1725
1725
|
const base2 = `#${toHex2(red * 255)}${toHex2(green * 255)}${toHex2(blue * 255)}`;
|
|
@@ -1759,8 +1759,8 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1759
1759
|
const lumRaw = Number.parseFloat(String(hslNode["@_lum"] ?? ""));
|
|
1760
1760
|
if (Number.isFinite(hueRaw) && Number.isFinite(satRaw) && Number.isFinite(lumRaw)) {
|
|
1761
1761
|
const h = hueRaw / 6e4;
|
|
1762
|
-
const s =
|
|
1763
|
-
const l =
|
|
1762
|
+
const s = chunkYRHK45AB_cjs.clampUnitInterval(satRaw / 1e5);
|
|
1763
|
+
const l = chunkYRHK45AB_cjs.clampUnitInterval(lumRaw / 1e5);
|
|
1764
1764
|
const rgb = pptx.hslToRgb(h, s, l);
|
|
1765
1765
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1766
1766
|
const base2 = `#${toHex2(rgb.r)}${toHex2(rgb.g)}${toHex2(rgb.b)}`;
|
|
@@ -1800,11 +1800,11 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1800
1800
|
if (!colorChoice) {
|
|
1801
1801
|
return void 0;
|
|
1802
1802
|
}
|
|
1803
|
-
const alpha =
|
|
1804
|
-
const alphaMod =
|
|
1803
|
+
const alpha = chunkYRHK45AB_cjs.parseDrawingPercent(colorChoice["a:alpha"]?.["@_val"]);
|
|
1804
|
+
const alphaMod = chunkYRHK45AB_cjs.parseDrawingPercent(
|
|
1805
1805
|
colorChoice["a:alphaMod"]?.["@_val"]
|
|
1806
1806
|
);
|
|
1807
|
-
const alphaOff =
|
|
1807
|
+
const alphaOff = chunkYRHK45AB_cjs.parseDrawingPercent(
|
|
1808
1808
|
colorChoice["a:alphaOff"]?.["@_val"]
|
|
1809
1809
|
);
|
|
1810
1810
|
if (alpha === void 0 && alphaMod === void 0 && alphaOff === void 0) {
|
|
@@ -1817,7 +1817,7 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1817
1817
|
if (alphaOff !== void 0) {
|
|
1818
1818
|
opacity += alphaOff;
|
|
1819
1819
|
}
|
|
1820
|
-
return
|
|
1820
|
+
return chunkYRHK45AB_cjs.clampUnitInterval(opacity);
|
|
1821
1821
|
}
|
|
1822
1822
|
function substituteScriptFont(name, panose, baseFontFamily) {
|
|
1823
1823
|
return name ? pptx.getSubstituteFontFamily(name, pptx.parsePanoseString(panose)) : baseFontFamily;
|
|
@@ -2028,7 +2028,7 @@ function buildPatternOverlayTile(pattern) {
|
|
|
2028
2028
|
if (!pattern) {
|
|
2029
2029
|
return void 0;
|
|
2030
2030
|
}
|
|
2031
|
-
const tile4 =
|
|
2031
|
+
const tile4 = chunkYRHK45AB_cjs.getPatternTile(
|
|
2032
2032
|
pattern.preset,
|
|
2033
2033
|
pattern.foreground ?? "#000000",
|
|
2034
2034
|
pattern.background ?? "#ffffff"
|
|
@@ -3582,10 +3582,10 @@ function getMeasureCtx() {
|
|
|
3582
3582
|
return measureCtx;
|
|
3583
3583
|
}
|
|
3584
3584
|
function envelopeFontSizePx(font) {
|
|
3585
|
-
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
3585
|
+
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
3586
3586
|
}
|
|
3587
3587
|
function toCanvasFont(font, sizePx = envelopeFontSizePx(font)) {
|
|
3588
|
-
const family2 = font.fontFamily ||
|
|
3588
|
+
const family2 = font.fontFamily || chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY;
|
|
3589
3589
|
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${sizePx}px ${family2}`;
|
|
3590
3590
|
}
|
|
3591
3591
|
function enableKerning(ctx) {
|
|
@@ -4580,7 +4580,7 @@ function createGlyphOutlineLookup(cache) {
|
|
|
4580
4580
|
return (char, font, x, y) => {
|
|
4581
4581
|
const parsed = cache.get(font.fontFamily, font.bold, font.italic);
|
|
4582
4582
|
if (parsed) {
|
|
4583
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
4583
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
4584
4584
|
const commands = extractGlyphOutlineCommands(parsed, char, x, y, size);
|
|
4585
4585
|
if (commands) {
|
|
4586
4586
|
return commands;
|
|
@@ -6768,7 +6768,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6768
6768
|
let rSquared = 0;
|
|
6769
6769
|
switch (trendline.trendlineType) {
|
|
6770
6770
|
case "linear": {
|
|
6771
|
-
const reg =
|
|
6771
|
+
const reg = chunkYRHK45AB_cjs.computeLinearRegression(xVals, yVals);
|
|
6772
6772
|
const intercept = trendline.intercept;
|
|
6773
6773
|
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;
|
|
6774
6774
|
const b = intercept ?? reg.intercept;
|
|
@@ -6783,7 +6783,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6783
6783
|
if (logY.length < 2) {
|
|
6784
6784
|
return { points: [], equation: "", rSquared: 0 };
|
|
6785
6785
|
}
|
|
6786
|
-
const reg =
|
|
6786
|
+
const reg = chunkYRHK45AB_cjs.computeLinearRegression(filteredX, logY);
|
|
6787
6787
|
const a = Math.exp(reg.intercept);
|
|
6788
6788
|
const b = reg.slope;
|
|
6789
6789
|
evalFn = (x) => a * Math.exp(b * x);
|
|
@@ -6797,7 +6797,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6797
6797
|
if (lnX.length < 2) {
|
|
6798
6798
|
return { points: [], equation: "", rSquared: 0 };
|
|
6799
6799
|
}
|
|
6800
|
-
const reg =
|
|
6800
|
+
const reg = chunkYRHK45AB_cjs.computeLinearRegression(lnX, filteredY);
|
|
6801
6801
|
evalFn = (x) => x > 0 ? reg.slope * Math.log(x) + reg.intercept : 0;
|
|
6802
6802
|
equation = `y = ${reg.slope.toFixed(2)}ln(x) + ${reg.intercept.toFixed(2)}`;
|
|
6803
6803
|
rSquared = reg.rSquared;
|
|
@@ -6809,7 +6809,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6809
6809
|
if (logX.length < 2) {
|
|
6810
6810
|
return { points: [], equation: "", rSquared: 0 };
|
|
6811
6811
|
}
|
|
6812
|
-
const reg =
|
|
6812
|
+
const reg = chunkYRHK45AB_cjs.computeLinearRegression(logX, logY);
|
|
6813
6813
|
const a = Math.exp(reg.intercept);
|
|
6814
6814
|
evalFn = (x) => x > 0 ? a * x ** reg.slope : 0;
|
|
6815
6815
|
equation = `y = ${a.toFixed(2)}x^${reg.slope.toFixed(2)}`;
|
|
@@ -6818,10 +6818,10 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6818
6818
|
}
|
|
6819
6819
|
case "polynomial": {
|
|
6820
6820
|
const order = Math.min(trendline.order ?? 2, 6);
|
|
6821
|
-
const coeffs =
|
|
6821
|
+
const coeffs = chunkYRHK45AB_cjs.fitPolynomial(xVals, yVals, order);
|
|
6822
6822
|
evalFn = (x) => coeffs.reduce((s, c, i) => s + c * x ** i, 0);
|
|
6823
6823
|
equation = coeffs.map((c, i) => `${c.toFixed(2)}x^${i}`).join(" + ");
|
|
6824
|
-
rSquared =
|
|
6824
|
+
rSquared = chunkYRHK45AB_cjs.computeRSquared(xVals, yVals, evalFn);
|
|
6825
6825
|
break;
|
|
6826
6826
|
}
|
|
6827
6827
|
case "movingAvg": {
|
|
@@ -7159,7 +7159,7 @@ var COMBO_SERIES_TYPE_OPTIONS = [
|
|
|
7159
7159
|
function patchChartData(data, patch) {
|
|
7160
7160
|
const { chartType, ...rest } = patch;
|
|
7161
7161
|
if (chartType === "pareto") {
|
|
7162
|
-
return { ...
|
|
7162
|
+
return { ...chunkYRHK45AB_cjs.applyParetoConversion(data), ...rest };
|
|
7163
7163
|
}
|
|
7164
7164
|
if (chartType && chartType !== data.chartType) {
|
|
7165
7165
|
const adapted = pptx.chartDataChangeType(data, chartType);
|
|
@@ -7221,8 +7221,8 @@ function buildParetoInsertData() {
|
|
|
7221
7221
|
layout: "histogram",
|
|
7222
7222
|
binCount: PARETO_BIN_COUNT
|
|
7223
7223
|
};
|
|
7224
|
-
const bins =
|
|
7225
|
-
const ordered =
|
|
7224
|
+
const bins = chunkYRHK45AB_cjs.computeHistogramBins(PARETO_VALUES, histogramOptions);
|
|
7225
|
+
const ordered = chunkYRHK45AB_cjs.orderParetoEntries(
|
|
7226
7226
|
bins.map((bin, index) => ({ value: bin.value, label: bin.label, sourcePointIndex: index }))
|
|
7227
7227
|
);
|
|
7228
7228
|
return {
|
|
@@ -7235,7 +7235,7 @@ function buildParetoInsertData() {
|
|
|
7235
7235
|
},
|
|
7236
7236
|
{
|
|
7237
7237
|
name: "Cumulative %",
|
|
7238
|
-
values:
|
|
7238
|
+
values: chunkYRHK45AB_cjs.cumulativePercentOfTotal(ordered.map((entry5) => entry5.value)),
|
|
7239
7239
|
histogramOptions: { layout: "pareto" }
|
|
7240
7240
|
}
|
|
7241
7241
|
]
|
|
@@ -7498,7 +7498,7 @@ var FILL_PATTERN_LABEL_KEYS = {
|
|
|
7498
7498
|
trellis: "pptx.fillPatterns.trellis",
|
|
7499
7499
|
zigZag: "pptx.fillPatterns.zigZag"
|
|
7500
7500
|
};
|
|
7501
|
-
var PATTERN_PRESET_OPTIONS =
|
|
7501
|
+
var PATTERN_PRESET_OPTIONS = chunkYRHK45AB_cjs.OOXML_PATTERN_PRESETS.map(
|
|
7502
7502
|
(value) => ({ value, labelKey: FILL_PATTERN_LABEL_KEYS[value] })
|
|
7503
7503
|
);
|
|
7504
7504
|
|
|
@@ -7643,13 +7643,49 @@ function setDataLabelsRangeCache(series, pointIndex, text3) {
|
|
|
7643
7643
|
|
|
7644
7644
|
// src/pptx/render/chart-quick-action-styles.ts
|
|
7645
7645
|
var CHART_STYLE_PRESETS = [
|
|
7646
|
-
{
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7646
|
+
{
|
|
7647
|
+
id: "colorful",
|
|
7648
|
+
labelKey: "pptx.chart.styleColorful",
|
|
7649
|
+
styleId: 2,
|
|
7650
|
+
palette: () => chunkYRHK45AB_cjs.getChartStylePalette(2)
|
|
7651
|
+
},
|
|
7652
|
+
{
|
|
7653
|
+
id: "monochrome",
|
|
7654
|
+
labelKey: "pptx.chart.styleMonochrome",
|
|
7655
|
+
styleId: 3,
|
|
7656
|
+
palette: () => chunkYRHK45AB_cjs.getChartStylePalette(3)
|
|
7657
|
+
},
|
|
7658
|
+
{
|
|
7659
|
+
id: "colorfulLight",
|
|
7660
|
+
labelKey: "pptx.chart.styleColorfulLight",
|
|
7661
|
+
styleId: 18,
|
|
7662
|
+
palette: () => recolour((c) => chunkYRHK45AB_cjs.tint(c, 0.3))
|
|
7663
|
+
},
|
|
7664
|
+
{
|
|
7665
|
+
id: "colorfulDark",
|
|
7666
|
+
labelKey: "pptx.chart.styleColorfulDark",
|
|
7667
|
+
styleId: 26,
|
|
7668
|
+
palette: () => recolour((c) => chunkYRHK45AB_cjs.shade(c, 0.3))
|
|
7669
|
+
},
|
|
7670
|
+
{
|
|
7671
|
+
id: "mutedDark",
|
|
7672
|
+
labelKey: "pptx.chart.styleMutedDark",
|
|
7673
|
+
styleId: 34,
|
|
7674
|
+
palette: () => recolour((c) => chunkYRHK45AB_cjs.shade(chunkYRHK45AB_cjs.tint(c, 0.3), 0.4))
|
|
7675
|
+
},
|
|
7676
|
+
{
|
|
7677
|
+
id: "pastel",
|
|
7678
|
+
labelKey: "pptx.chart.stylePastel",
|
|
7679
|
+
styleId: 42,
|
|
7680
|
+
palette: () => recolour((c) => chunkYRHK45AB_cjs.tint(c, 0.55))
|
|
7681
|
+
}
|
|
7652
7682
|
];
|
|
7683
|
+
function recolour(transform) {
|
|
7684
|
+
return chunkYRHK45AB_cjs.getChartStylePalette(2).map(transform);
|
|
7685
|
+
}
|
|
7686
|
+
function chartStylePresetPalette(id) {
|
|
7687
|
+
return findPreset(id)?.palette();
|
|
7688
|
+
}
|
|
7653
7689
|
function paletteEquals(a, b) {
|
|
7654
7690
|
if (!b || a.length !== b.length) {
|
|
7655
7691
|
return false;
|
|
@@ -7660,8 +7696,8 @@ function findPreset(id) {
|
|
|
7660
7696
|
return CHART_STYLE_PRESETS.find((p) => p.id === id);
|
|
7661
7697
|
}
|
|
7662
7698
|
function buildChartStylePresets(chartData) {
|
|
7663
|
-
return CHART_STYLE_PRESETS.map(({ id, labelKey,
|
|
7664
|
-
const colors =
|
|
7699
|
+
return CHART_STYLE_PRESETS.map(({ id, labelKey, palette }) => {
|
|
7700
|
+
const colors = palette();
|
|
7665
7701
|
return {
|
|
7666
7702
|
id,
|
|
7667
7703
|
labelKey,
|
|
@@ -7695,7 +7731,7 @@ function applyChartStylePreset(chartData, presetId) {
|
|
|
7695
7731
|
if (!preset2) {
|
|
7696
7732
|
return null;
|
|
7697
7733
|
}
|
|
7698
|
-
const colors = [...
|
|
7734
|
+
const colors = [...preset2.palette()];
|
|
7699
7735
|
return {
|
|
7700
7736
|
...chartData,
|
|
7701
7737
|
colorPalette: colors,
|
|
@@ -7759,7 +7795,7 @@ function applyChartElementToggle(chartData, key, checked) {
|
|
|
7759
7795
|
style: { ...chartData.style, ...chartDataLabelsTogglePatch(chartData.style, checked) }
|
|
7760
7796
|
});
|
|
7761
7797
|
case "gridlines":
|
|
7762
|
-
return patchChartData(chartData,
|
|
7798
|
+
return patchChartData(chartData, chunkYRHK45AB_cjs.chartGridlinesPatch(chartData, checked));
|
|
7763
7799
|
case "axes":
|
|
7764
7800
|
return patchChartData(chartData, chartAxesVisibilityPatch(chartData, checked));
|
|
7765
7801
|
case "axisTitles":
|
|
@@ -7798,7 +7834,7 @@ function buildElements(chartData) {
|
|
|
7798
7834
|
{
|
|
7799
7835
|
key: "gridlines",
|
|
7800
7836
|
labelKey: "pptx.chart.showGridlines",
|
|
7801
|
-
checked:
|
|
7837
|
+
checked: chunkYRHK45AB_cjs.chartGridlinesState(chartData)
|
|
7802
7838
|
},
|
|
7803
7839
|
{
|
|
7804
7840
|
key: "dataLabels",
|
|
@@ -8210,17 +8246,17 @@ function chartEventPathElements(event) {
|
|
|
8210
8246
|
}
|
|
8211
8247
|
function findChartPartElementInEvent(event) {
|
|
8212
8248
|
for (const el of chartEventPathElements(event)) {
|
|
8213
|
-
if (el.getAttribute(
|
|
8249
|
+
if (el.getAttribute(chunkSTKGUT5S_cjs.CHART_PART_ATTR) !== null) {
|
|
8214
8250
|
return el;
|
|
8215
8251
|
}
|
|
8216
8252
|
}
|
|
8217
8253
|
return null;
|
|
8218
8254
|
}
|
|
8219
8255
|
function findChartPartInEvent(event) {
|
|
8220
|
-
return
|
|
8256
|
+
return chunkSTKGUT5S_cjs.chartPartFromElement(findChartPartElementInEvent(event));
|
|
8221
8257
|
}
|
|
8222
8258
|
function isChartTitleEvent(event) {
|
|
8223
|
-
return findChartPartElementInEvent(event)?.getAttribute(
|
|
8259
|
+
return findChartPartElementInEvent(event)?.getAttribute(chunkSTKGUT5S_cjs.CHART_PART_ATTR) === "title";
|
|
8224
8260
|
}
|
|
8225
8261
|
|
|
8226
8262
|
// src/pptx/render/chart-interaction-mark-drag.ts
|
|
@@ -8255,14 +8291,14 @@ function advanceChartMarkDrag(state, clientX, clientY, rect3) {
|
|
|
8255
8291
|
return null;
|
|
8256
8292
|
}
|
|
8257
8293
|
const travelled = Math.hypot(clientX - state.startClientX, clientY - state.startClientY);
|
|
8258
|
-
if (!state.moved && travelled <
|
|
8294
|
+
if (!state.moved && travelled < chunkSTKGUT5S_cjs.CHART_DRAG_THRESHOLD_PX) {
|
|
8259
8295
|
return null;
|
|
8260
8296
|
}
|
|
8261
8297
|
if (rect3.width === 0 || rect3.height === 0) {
|
|
8262
8298
|
return null;
|
|
8263
8299
|
}
|
|
8264
8300
|
state.moved = true;
|
|
8265
|
-
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value =
|
|
8301
|
+
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value = chunkSTKGUT5S_cjs.resolveChartDragValue(state.geometry, pointer), chartData = chunkSTKGUT5S_cjs.withChartPointValue(
|
|
8266
8302
|
state.baseChartData,
|
|
8267
8303
|
state.part.seriesIndex,
|
|
8268
8304
|
state.part.pointIndex,
|
|
@@ -11828,7 +11864,7 @@ function getAnimationColorBaseStyle(element, options = {}) {
|
|
|
11828
11864
|
}
|
|
11829
11865
|
const style = {};
|
|
11830
11866
|
if (options.animatesFill) {
|
|
11831
|
-
const fill =
|
|
11867
|
+
const fill = chunkYRHK45AB_cjs.getComputedFillStyle(element, options.parentGroupFill);
|
|
11832
11868
|
style[ANIMATION_COLOR_BASE_PROPERTIES.fill] = fill?.backgroundColor ?? element.shapeStyle?.fillColor ?? "currentColor";
|
|
11833
11869
|
}
|
|
11834
11870
|
if (options.animatesStroke) {
|
|
@@ -19887,7 +19923,7 @@ function gradientCssFromFill(fill, colorScheme) {
|
|
|
19887
19923
|
position: stop.position
|
|
19888
19924
|
}))
|
|
19889
19925
|
};
|
|
19890
|
-
return
|
|
19926
|
+
return chunkYRHK45AB_cjs.buildGradientCss(shapeLike);
|
|
19891
19927
|
}
|
|
19892
19928
|
function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
19893
19929
|
if (fill?.noFill) {
|
|
@@ -19913,13 +19949,13 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19913
19949
|
}
|
|
19914
19950
|
}
|
|
19915
19951
|
if (fill?.pattern) {
|
|
19916
|
-
const fg =
|
|
19952
|
+
const fg = chunkYRHK45AB_cjs.normalizeHexColor(
|
|
19917
19953
|
resolveStyleFillColor(fill.pattern.foreground, colorScheme),
|
|
19918
19954
|
"#000000"
|
|
19919
|
-
), bg =
|
|
19955
|
+
), bg = chunkYRHK45AB_cjs.normalizeHexColor(
|
|
19920
19956
|
resolveStyleFillColor(fill.pattern.background, colorScheme),
|
|
19921
19957
|
"#ffffff"
|
|
19922
|
-
), svg2 =
|
|
19958
|
+
), svg2 = chunkYRHK45AB_cjs.getPatternSvg(fill.pattern.preset, fg, bg);
|
|
19923
19959
|
clearBackground(css);
|
|
19924
19960
|
if (svg2) {
|
|
19925
19961
|
css.backgroundImage = `url("data:image/svg+xml,${encodeURIComponent(svg2)}")`;
|
|
@@ -19928,7 +19964,7 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19928
19964
|
return true;
|
|
19929
19965
|
}
|
|
19930
19966
|
const resolved = resolveStyleFillColor(fill, colorScheme);
|
|
19931
|
-
const color = (resolved && fill?.alpha !== void 0 ?
|
|
19967
|
+
const color = (resolved && fill?.alpha !== void 0 ? chunkYRHK45AB_cjs.colorWithOpacity(resolved, fill.alpha / 1e5) : resolved) ?? fallback;
|
|
19932
19968
|
if (color) {
|
|
19933
19969
|
layerSolidColor(css, color);
|
|
19934
19970
|
return true;
|
|
@@ -20140,192 +20176,6 @@ function followingText(pieces, i, next) {
|
|
|
20140
20176
|
return next;
|
|
20141
20177
|
}
|
|
20142
20178
|
|
|
20143
|
-
// src/pptx/render/text-metric-tracking.ts
|
|
20144
|
-
var ADVANCE_STEPS_PER_PX = 6;
|
|
20145
|
-
var MAX_TRACKING_PX_PER_CHAR = 1 / (2 * ADVANCE_STEPS_PER_PX);
|
|
20146
|
-
var MAX_CACHE_ENTRIES = 2e4;
|
|
20147
|
-
var measureContext2;
|
|
20148
|
-
var trackingCache = /* @__PURE__ */ new Map();
|
|
20149
|
-
var fontsHookInstalled = false;
|
|
20150
|
-
function installFontLoadHook() {
|
|
20151
|
-
if (fontsHookInstalled || typeof document === "undefined") {
|
|
20152
|
-
return;
|
|
20153
|
-
}
|
|
20154
|
-
fontsHookInstalled = true;
|
|
20155
|
-
document.fonts?.addEventListener?.("loadingdone", () => {
|
|
20156
|
-
trackingCache = /* @__PURE__ */ new Map();
|
|
20157
|
-
});
|
|
20158
|
-
}
|
|
20159
|
-
function getMeasureContext() {
|
|
20160
|
-
if (measureContext2 !== void 0) {
|
|
20161
|
-
return measureContext2;
|
|
20162
|
-
}
|
|
20163
|
-
if (typeof document === "undefined") {
|
|
20164
|
-
measureContext2 = null;
|
|
20165
|
-
return null;
|
|
20166
|
-
}
|
|
20167
|
-
installFontLoadHook();
|
|
20168
|
-
measureContext2 = document.createElement("canvas").getContext("2d");
|
|
20169
|
-
return measureContext2;
|
|
20170
|
-
}
|
|
20171
|
-
function toCanvasFont2(font) {
|
|
20172
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkAIL3BNZS_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
20173
|
-
const family2 = font.fontFamily || chunkAIL3BNZS_cjs.DEFAULT_FONT_FAMILY;
|
|
20174
|
-
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family2}`;
|
|
20175
|
-
}
|
|
20176
|
-
function advancesOf(ctx, canvasFont, chars) {
|
|
20177
|
-
ctx.font = canvasFont;
|
|
20178
|
-
ctx.fontKerning = "none";
|
|
20179
|
-
const advances = [];
|
|
20180
|
-
let previous = 0;
|
|
20181
|
-
let prefix = "";
|
|
20182
|
-
for (const char of chars) {
|
|
20183
|
-
prefix += char;
|
|
20184
|
-
const width = ctx.measureText(prefix).width;
|
|
20185
|
-
advances.push(width - previous);
|
|
20186
|
-
previous = width;
|
|
20187
|
-
}
|
|
20188
|
-
return advances;
|
|
20189
|
-
}
|
|
20190
|
-
function resolveMetricTrackingPx(text3, font) {
|
|
20191
|
-
if (!text3) {
|
|
20192
|
-
return 0;
|
|
20193
|
-
}
|
|
20194
|
-
const canvasFont = toCanvasFont2(font);
|
|
20195
|
-
const key = `${canvasFont}\0${text3}`;
|
|
20196
|
-
const cached = trackingCache.get(key);
|
|
20197
|
-
if (cached !== void 0) {
|
|
20198
|
-
return cached;
|
|
20199
|
-
}
|
|
20200
|
-
const ctx = getMeasureContext();
|
|
20201
|
-
if (!ctx) {
|
|
20202
|
-
return 0;
|
|
20203
|
-
}
|
|
20204
|
-
const chars = [...text3];
|
|
20205
|
-
let powerPoint = 0;
|
|
20206
|
-
for (const advance of advancesOf(ctx, canvasFont, chars)) {
|
|
20207
|
-
powerPoint += Math.round(advance * ADVANCE_STEPS_PER_PX);
|
|
20208
|
-
}
|
|
20209
|
-
ctx.fontKerning = "auto";
|
|
20210
|
-
const natural = ctx.measureText(text3).width;
|
|
20211
|
-
if (!(natural > 0)) {
|
|
20212
|
-
return 0;
|
|
20213
|
-
}
|
|
20214
|
-
powerPoint /= ADVANCE_STEPS_PER_PX;
|
|
20215
|
-
const limit = MAX_TRACKING_PX_PER_CHAR;
|
|
20216
|
-
const raw = (powerPoint - natural) / chars.length;
|
|
20217
|
-
const tracking = Math.min(limit, Math.max(-limit, raw));
|
|
20218
|
-
if (trackingCache.size >= MAX_CACHE_ENTRIES) {
|
|
20219
|
-
trackingCache = /* @__PURE__ */ new Map();
|
|
20220
|
-
}
|
|
20221
|
-
trackingCache.set(key, tracking);
|
|
20222
|
-
return tracking;
|
|
20223
|
-
}
|
|
20224
|
-
function isBreakBoundary(previous, next) {
|
|
20225
|
-
const previousSpace = /\s/u.test(previous);
|
|
20226
|
-
const nextSpace = /\s/u.test(next);
|
|
20227
|
-
if (previousSpace !== nextSpace) {
|
|
20228
|
-
return true;
|
|
20229
|
-
}
|
|
20230
|
-
return previous === "-" && next !== "-" && !nextSpace;
|
|
20231
|
-
}
|
|
20232
|
-
function splitRunForMetrics(text3, font) {
|
|
20233
|
-
const chars = [...text3];
|
|
20234
|
-
if (chars.length < 2 || !getMeasureContext()) {
|
|
20235
|
-
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20236
|
-
}
|
|
20237
|
-
const pieces = [];
|
|
20238
|
-
let current = chars[0];
|
|
20239
|
-
for (let i = 1; i < chars.length; i++) {
|
|
20240
|
-
if (isBreakBoundary(chars[i - 1], chars[i])) {
|
|
20241
|
-
pieces.push(current);
|
|
20242
|
-
current = "";
|
|
20243
|
-
}
|
|
20244
|
-
current += chars[i];
|
|
20245
|
-
}
|
|
20246
|
-
pieces.push(current);
|
|
20247
|
-
if (pieces.length === 1) {
|
|
20248
|
-
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20249
|
-
}
|
|
20250
|
-
return pieces.map((piece) => ({ text: piece, tracking: resolveMetricTrackingPx(piece, font) }));
|
|
20251
|
-
}
|
|
20252
|
-
function resolveMetricTracking(text3, font) {
|
|
20253
|
-
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20254
|
-
return tracking === 0 ? void 0 : `${tracking}px`;
|
|
20255
|
-
}
|
|
20256
|
-
function resolveTrackedTextWidth(text3, font, naturalWidth) {
|
|
20257
|
-
if (!text3) {
|
|
20258
|
-
return naturalWidth;
|
|
20259
|
-
}
|
|
20260
|
-
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20261
|
-
return tracking === 0 ? naturalWidth : naturalWidth + tracking * [...text3].length;
|
|
20262
|
-
}
|
|
20263
|
-
function resetMetricTrackingCache() {
|
|
20264
|
-
trackingCache = /* @__PURE__ */ new Map();
|
|
20265
|
-
measureContext2 = void 0;
|
|
20266
|
-
}
|
|
20267
|
-
|
|
20268
|
-
// src/pptx/render/text-outline-dash.ts
|
|
20269
|
-
var DASH_PATTERNS = {
|
|
20270
|
-
dot: [1, 3],
|
|
20271
|
-
sysDot: [1, 1],
|
|
20272
|
-
dash: [4, 3],
|
|
20273
|
-
sysDash: [3, 1],
|
|
20274
|
-
lgDash: [8, 3],
|
|
20275
|
-
dashDot: [4, 3, 1, 3],
|
|
20276
|
-
sysDashDot: [3, 1, 1, 1],
|
|
20277
|
-
lgDashDot: [8, 3, 1, 3],
|
|
20278
|
-
lgDashDotDot: [8, 3, 1, 3, 1, 3],
|
|
20279
|
-
sysDashDotDot: [3, 1, 1, 1, 1, 1]
|
|
20280
|
-
};
|
|
20281
|
-
function dashStripe(pattern, widthPx, color) {
|
|
20282
|
-
const stops = [];
|
|
20283
|
-
let at = 0;
|
|
20284
|
-
pattern.forEach((len, i) => {
|
|
20285
|
-
const end = at + len * widthPx;
|
|
20286
|
-
const paint = i % 2 === 0 ? color : "transparent";
|
|
20287
|
-
stops.push(`${paint} ${round2(at)}px ${round2(end)}px`);
|
|
20288
|
-
at = end;
|
|
20289
|
-
});
|
|
20290
|
-
return `repeating-linear-gradient(45deg, ${stops.join(", ")})`;
|
|
20291
|
-
}
|
|
20292
|
-
function round2(v) {
|
|
20293
|
-
return Math.round(v * 100) / 100;
|
|
20294
|
-
}
|
|
20295
|
-
function resolveTextOutlineDashCss(s, fillColor) {
|
|
20296
|
-
const width = s.textOutlineWidth;
|
|
20297
|
-
const pattern = s.textOutlineDash ? DASH_PATTERNS[s.textOutlineDash] : void 0;
|
|
20298
|
-
if (!width || width <= 0 || !pattern) {
|
|
20299
|
-
return void 0;
|
|
20300
|
-
}
|
|
20301
|
-
if (s.textFillGradient || s.textFillPattern || s.textFillBlipUrl || s.highlightColor) {
|
|
20302
|
-
return void 0;
|
|
20303
|
-
}
|
|
20304
|
-
const strokeColor = chunkAIL3BNZS_cjs.normalizeHexColor(s.textOutlineColor, fillColor ?? "#000000");
|
|
20305
|
-
return {
|
|
20306
|
-
WebkitTextStroke: `${width}px transparent`,
|
|
20307
|
-
WebkitTextFillColor: s.textFillNone ? "transparent" : fillColor ?? "currentColor",
|
|
20308
|
-
background: dashStripe(pattern, width, strokeColor),
|
|
20309
|
-
backgroundClip: "text",
|
|
20310
|
-
WebkitBackgroundClip: "text"
|
|
20311
|
-
};
|
|
20312
|
-
}
|
|
20313
|
-
|
|
20314
|
-
// src/pptx/render/text-run-hollow.ts
|
|
20315
|
-
function hollowTextFillStyle(s, painted = {}) {
|
|
20316
|
-
if (!s.textFillNone) {
|
|
20317
|
-
return void 0;
|
|
20318
|
-
}
|
|
20319
|
-
const hollow = {
|
|
20320
|
-
color: "transparent",
|
|
20321
|
-
WebkitTextFillColor: "transparent"
|
|
20322
|
-
};
|
|
20323
|
-
if (painted.textStroke !== void 0 && !s.textOutlineColor) {
|
|
20324
|
-
hollow.WebkitTextStroke = `${s.textOutlineWidth}px ${painted.color ?? "currentColor"}`;
|
|
20325
|
-
}
|
|
20326
|
-
return hollow;
|
|
20327
|
-
}
|
|
20328
|
-
|
|
20329
20179
|
// src/pptx/render/text-decoration.ts
|
|
20330
20180
|
var HEAVY_PX = "2px";
|
|
20331
20181
|
var EMU_PER_PX2 = 9525;
|
|
@@ -20469,6 +20319,131 @@ function splitWordsForUnderline(text3) {
|
|
|
20469
20319
|
return pieces;
|
|
20470
20320
|
}
|
|
20471
20321
|
|
|
20322
|
+
// src/pptx/render/text-metric-tracking.ts
|
|
20323
|
+
var ADVANCE_STEPS_PER_PX = 6;
|
|
20324
|
+
var MAX_TRACKING_PX_PER_CHAR = 1 / (2 * ADVANCE_STEPS_PER_PX);
|
|
20325
|
+
var MAX_CACHE_ENTRIES = 2e4;
|
|
20326
|
+
var measureContext2;
|
|
20327
|
+
var trackingCache = /* @__PURE__ */ new Map();
|
|
20328
|
+
var fontsHookInstalled = false;
|
|
20329
|
+
function installFontLoadHook() {
|
|
20330
|
+
if (fontsHookInstalled || typeof document === "undefined") {
|
|
20331
|
+
return;
|
|
20332
|
+
}
|
|
20333
|
+
fontsHookInstalled = true;
|
|
20334
|
+
document.fonts?.addEventListener?.("loadingdone", () => {
|
|
20335
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20336
|
+
});
|
|
20337
|
+
}
|
|
20338
|
+
function getMeasureContext() {
|
|
20339
|
+
if (measureContext2 !== void 0) {
|
|
20340
|
+
return measureContext2;
|
|
20341
|
+
}
|
|
20342
|
+
if (typeof document === "undefined") {
|
|
20343
|
+
measureContext2 = null;
|
|
20344
|
+
return null;
|
|
20345
|
+
}
|
|
20346
|
+
installFontLoadHook();
|
|
20347
|
+
measureContext2 = document.createElement("canvas").getContext("2d");
|
|
20348
|
+
return measureContext2;
|
|
20349
|
+
}
|
|
20350
|
+
function toCanvasFont2(font) {
|
|
20351
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
20352
|
+
const family2 = font.fontFamily || chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY;
|
|
20353
|
+
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family2}`;
|
|
20354
|
+
}
|
|
20355
|
+
function advancesOf(ctx, canvasFont, chars) {
|
|
20356
|
+
ctx.font = canvasFont;
|
|
20357
|
+
ctx.fontKerning = "none";
|
|
20358
|
+
const advances = [];
|
|
20359
|
+
let previous = 0;
|
|
20360
|
+
let prefix = "";
|
|
20361
|
+
for (const char of chars) {
|
|
20362
|
+
prefix += char;
|
|
20363
|
+
const width = ctx.measureText(prefix).width;
|
|
20364
|
+
advances.push(width - previous);
|
|
20365
|
+
previous = width;
|
|
20366
|
+
}
|
|
20367
|
+
return advances;
|
|
20368
|
+
}
|
|
20369
|
+
function resolveMetricTrackingPx(text3, font) {
|
|
20370
|
+
if (!text3) {
|
|
20371
|
+
return 0;
|
|
20372
|
+
}
|
|
20373
|
+
const canvasFont = toCanvasFont2(font);
|
|
20374
|
+
const key = `${canvasFont}\0${text3}`;
|
|
20375
|
+
const cached = trackingCache.get(key);
|
|
20376
|
+
if (cached !== void 0) {
|
|
20377
|
+
return cached;
|
|
20378
|
+
}
|
|
20379
|
+
const ctx = getMeasureContext();
|
|
20380
|
+
if (!ctx) {
|
|
20381
|
+
return 0;
|
|
20382
|
+
}
|
|
20383
|
+
const chars = [...text3];
|
|
20384
|
+
let powerPoint = 0;
|
|
20385
|
+
for (const advance of advancesOf(ctx, canvasFont, chars)) {
|
|
20386
|
+
powerPoint += Math.round(advance * ADVANCE_STEPS_PER_PX);
|
|
20387
|
+
}
|
|
20388
|
+
ctx.fontKerning = "auto";
|
|
20389
|
+
const natural = ctx.measureText(text3).width;
|
|
20390
|
+
if (!(natural > 0)) {
|
|
20391
|
+
return 0;
|
|
20392
|
+
}
|
|
20393
|
+
powerPoint /= ADVANCE_STEPS_PER_PX;
|
|
20394
|
+
const limit = MAX_TRACKING_PX_PER_CHAR;
|
|
20395
|
+
const raw = (powerPoint - natural) / chars.length;
|
|
20396
|
+
const tracking = Math.min(limit, Math.max(-limit, raw));
|
|
20397
|
+
if (trackingCache.size >= MAX_CACHE_ENTRIES) {
|
|
20398
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20399
|
+
}
|
|
20400
|
+
trackingCache.set(key, tracking);
|
|
20401
|
+
return tracking;
|
|
20402
|
+
}
|
|
20403
|
+
function isBreakBoundary(previous, next) {
|
|
20404
|
+
const previousSpace = /\s/u.test(previous);
|
|
20405
|
+
const nextSpace = /\s/u.test(next);
|
|
20406
|
+
if (previousSpace !== nextSpace) {
|
|
20407
|
+
return true;
|
|
20408
|
+
}
|
|
20409
|
+
return previous === "-" && next !== "-" && !nextSpace;
|
|
20410
|
+
}
|
|
20411
|
+
function splitRunForMetrics(text3, font) {
|
|
20412
|
+
const chars = [...text3];
|
|
20413
|
+
if (chars.length < 2 || !getMeasureContext()) {
|
|
20414
|
+
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20415
|
+
}
|
|
20416
|
+
const pieces = [];
|
|
20417
|
+
let current = chars[0];
|
|
20418
|
+
for (let i = 1; i < chars.length; i++) {
|
|
20419
|
+
if (isBreakBoundary(chars[i - 1], chars[i])) {
|
|
20420
|
+
pieces.push(current);
|
|
20421
|
+
current = "";
|
|
20422
|
+
}
|
|
20423
|
+
current += chars[i];
|
|
20424
|
+
}
|
|
20425
|
+
pieces.push(current);
|
|
20426
|
+
if (pieces.length === 1) {
|
|
20427
|
+
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20428
|
+
}
|
|
20429
|
+
return pieces.map((piece) => ({ text: piece, tracking: resolveMetricTrackingPx(piece, font) }));
|
|
20430
|
+
}
|
|
20431
|
+
function resolveMetricTracking(text3, font) {
|
|
20432
|
+
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20433
|
+
return tracking === 0 ? void 0 : `${tracking}px`;
|
|
20434
|
+
}
|
|
20435
|
+
function resolveTrackedTextWidth(text3, font, naturalWidth) {
|
|
20436
|
+
if (!text3) {
|
|
20437
|
+
return naturalWidth;
|
|
20438
|
+
}
|
|
20439
|
+
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20440
|
+
return tracking === 0 ? naturalWidth : naturalWidth + tracking * [...text3].length;
|
|
20441
|
+
}
|
|
20442
|
+
function resetMetricTrackingCache() {
|
|
20443
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20444
|
+
measureContext2 = void 0;
|
|
20445
|
+
}
|
|
20446
|
+
|
|
20472
20447
|
// src/pptx/render/text-run-spacing.ts
|
|
20473
20448
|
var PX_PER_POINT = 96 / 72;
|
|
20474
20449
|
function authoredLetterSpacingPx(style) {
|
|
@@ -20531,6 +20506,67 @@ function splitStyledRun(text3, style, font, authoredPx, underlineWords = false)
|
|
|
20531
20506
|
return out.length > 0 ? out : [{ text: text3, style }];
|
|
20532
20507
|
}
|
|
20533
20508
|
|
|
20509
|
+
// src/pptx/render/text-outline-dash.ts
|
|
20510
|
+
var DASH_PATTERNS = {
|
|
20511
|
+
dot: [1, 3],
|
|
20512
|
+
sysDot: [1, 1],
|
|
20513
|
+
dash: [4, 3],
|
|
20514
|
+
sysDash: [3, 1],
|
|
20515
|
+
lgDash: [8, 3],
|
|
20516
|
+
dashDot: [4, 3, 1, 3],
|
|
20517
|
+
sysDashDot: [3, 1, 1, 1],
|
|
20518
|
+
lgDashDot: [8, 3, 1, 3],
|
|
20519
|
+
lgDashDotDot: [8, 3, 1, 3, 1, 3],
|
|
20520
|
+
sysDashDotDot: [3, 1, 1, 1, 1, 1]
|
|
20521
|
+
};
|
|
20522
|
+
function dashStripe(pattern, widthPx, color) {
|
|
20523
|
+
const stops = [];
|
|
20524
|
+
let at = 0;
|
|
20525
|
+
pattern.forEach((len, i) => {
|
|
20526
|
+
const end = at + len * widthPx;
|
|
20527
|
+
const paint = i % 2 === 0 ? color : "transparent";
|
|
20528
|
+
stops.push(`${paint} ${round2(at)}px ${round2(end)}px`);
|
|
20529
|
+
at = end;
|
|
20530
|
+
});
|
|
20531
|
+
return `repeating-linear-gradient(45deg, ${stops.join(", ")})`;
|
|
20532
|
+
}
|
|
20533
|
+
function round2(v) {
|
|
20534
|
+
return Math.round(v * 100) / 100;
|
|
20535
|
+
}
|
|
20536
|
+
function resolveTextOutlineDashCss(s, fillColor) {
|
|
20537
|
+
const width = s.textOutlineWidth;
|
|
20538
|
+
const pattern = s.textOutlineDash ? DASH_PATTERNS[s.textOutlineDash] : void 0;
|
|
20539
|
+
if (!width || width <= 0 || !pattern) {
|
|
20540
|
+
return void 0;
|
|
20541
|
+
}
|
|
20542
|
+
if (s.textFillGradient || s.textFillPattern || s.textFillBlipUrl || s.highlightColor) {
|
|
20543
|
+
return void 0;
|
|
20544
|
+
}
|
|
20545
|
+
const strokeColor = chunkYRHK45AB_cjs.normalizeHexColor(s.textOutlineColor, fillColor ?? "#000000");
|
|
20546
|
+
return {
|
|
20547
|
+
WebkitTextStroke: `${width}px transparent`,
|
|
20548
|
+
WebkitTextFillColor: s.textFillNone ? "transparent" : fillColor ?? "currentColor",
|
|
20549
|
+
background: dashStripe(pattern, width, strokeColor),
|
|
20550
|
+
backgroundClip: "text",
|
|
20551
|
+
WebkitBackgroundClip: "text"
|
|
20552
|
+
};
|
|
20553
|
+
}
|
|
20554
|
+
|
|
20555
|
+
// src/pptx/render/text-run-hollow.ts
|
|
20556
|
+
function hollowTextFillStyle(s, painted = {}) {
|
|
20557
|
+
if (!s.textFillNone) {
|
|
20558
|
+
return void 0;
|
|
20559
|
+
}
|
|
20560
|
+
const hollow = {
|
|
20561
|
+
color: "transparent",
|
|
20562
|
+
WebkitTextFillColor: "transparent"
|
|
20563
|
+
};
|
|
20564
|
+
if (painted.textStroke !== void 0 && !s.textOutlineColor) {
|
|
20565
|
+
hollow.WebkitTextStroke = `${s.textOutlineWidth}px ${painted.color ?? "currentColor"}`;
|
|
20566
|
+
}
|
|
20567
|
+
return hollow;
|
|
20568
|
+
}
|
|
20569
|
+
|
|
20534
20570
|
// src/pptx/render/text-line-height.ts
|
|
20535
20571
|
var DEFAULT_LINE_HEIGHT = 1.2;
|
|
20536
20572
|
function resolveLineHeight(textStyle, hasItalicRuns2) {
|
|
@@ -20670,13 +20706,13 @@ function applyExtraRunProps(style, s, text3, font) {
|
|
|
20670
20706
|
style.fontKerning = fontKerning;
|
|
20671
20707
|
}
|
|
20672
20708
|
if (s.highlightColor) {
|
|
20673
|
-
style.backgroundColor =
|
|
20709
|
+
style.backgroundColor = chunkYRHK45AB_cjs.normalizeHexColor(s.highlightColor, "transparent");
|
|
20674
20710
|
}
|
|
20675
20711
|
if (s.underlineColor) {
|
|
20676
|
-
style.textDecorationColor =
|
|
20712
|
+
style.textDecorationColor = chunkYRHK45AB_cjs.normalizeHexColor(s.underlineColor);
|
|
20677
20713
|
}
|
|
20678
20714
|
if (s.textOutlineWidth) {
|
|
20679
|
-
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${
|
|
20715
|
+
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${chunkYRHK45AB_cjs.normalizeHexColor(s.textOutlineColor, "#000000")}` : `${s.textOutlineWidth}px currentColor`;
|
|
20680
20716
|
style.paintOrder = "stroke fill";
|
|
20681
20717
|
}
|
|
20682
20718
|
if (s.textCaps === "all") {
|
|
@@ -20717,7 +20753,7 @@ function segmentStyleToCss(seg, fontScale = 1, context = {}) {
|
|
|
20717
20753
|
if (s.color) {
|
|
20718
20754
|
style.color = s.color;
|
|
20719
20755
|
} else if (s.hyperlink) {
|
|
20720
|
-
style.color =
|
|
20756
|
+
style.color = chunkYRHK45AB_cjs.HYPERLINK_COLOR;
|
|
20721
20757
|
}
|
|
20722
20758
|
style.fontWeight = s.bold ? "bold" : "normal";
|
|
20723
20759
|
style.fontStyle = s.italic ? "italic" : "normal";
|
|
@@ -20786,6 +20822,10 @@ function cellRunStyle(run) {
|
|
|
20786
20822
|
if (deco.length > 0) {
|
|
20787
20823
|
css.textDecoration = deco.join(" ");
|
|
20788
20824
|
}
|
|
20825
|
+
const letterSpacingPx = authoredLetterSpacingPx(run);
|
|
20826
|
+
if (letterSpacingPx !== 0) {
|
|
20827
|
+
css.letterSpacing = `${letterSpacingPx}px`;
|
|
20828
|
+
}
|
|
20789
20829
|
if (isKoreanLanguage(run.language)) {
|
|
20790
20830
|
css.wordBreak = "keep-all";
|
|
20791
20831
|
}
|
|
@@ -20795,9 +20835,9 @@ function cellPatternFillCss(style) {
|
|
|
20795
20835
|
if (style.fillMode !== "pattern" || !style.patternFillPreset) {
|
|
20796
20836
|
return null;
|
|
20797
20837
|
}
|
|
20798
|
-
const fg =
|
|
20799
|
-
const bg =
|
|
20800
|
-
const svgMarkup =
|
|
20838
|
+
const fg = chunkYRHK45AB_cjs.normalizeHexColor(style.patternFillForeground, "#000000");
|
|
20839
|
+
const bg = chunkYRHK45AB_cjs.normalizeHexColor(style.patternFillBackground, "#ffffff");
|
|
20840
|
+
const svgMarkup = chunkYRHK45AB_cjs.getPatternSvg(style.patternFillPreset, fg, bg);
|
|
20801
20841
|
if (svgMarkup) {
|
|
20802
20842
|
const encoded = encodeURIComponent(svgMarkup);
|
|
20803
20843
|
return {
|
|
@@ -21183,11 +21223,186 @@ function tableCellCss(tableData, cell, position, context, base2) {
|
|
|
21183
21223
|
);
|
|
21184
21224
|
const css = { ...base2, ...band, ...cellStyleToCss(cell?.style) };
|
|
21185
21225
|
if (css.color === void 0) {
|
|
21186
|
-
css.color =
|
|
21226
|
+
css.color = chunkYRHK45AB_cjs.DEFAULT_TEXT_COLOR;
|
|
21187
21227
|
}
|
|
21188
21228
|
return { ...TABLE_CELL_TEXT_DEFAULTS, ...css };
|
|
21189
21229
|
}
|
|
21190
21230
|
|
|
21231
|
+
// src/pptx/render/paragraph-spacing.ts
|
|
21232
|
+
var PT_TO_PX = 96 / 72;
|
|
21233
|
+
function resolveParagraphSpacing(input) {
|
|
21234
|
+
const {
|
|
21235
|
+
paraProps,
|
|
21236
|
+
bodyStyle,
|
|
21237
|
+
isFirst = false,
|
|
21238
|
+
isLast = false,
|
|
21239
|
+
spaceFirstLast = false,
|
|
21240
|
+
lineSpacingReduction
|
|
21241
|
+
} = input;
|
|
21242
|
+
const out = {};
|
|
21243
|
+
const before = paraProps?.paragraphSpacingBefore ?? bodyStyle?.paragraphSpacingBefore;
|
|
21244
|
+
const effectiveBefore = typeof before === "number" && before > 0 && (!isFirst || spaceFirstLast) ? before : 0;
|
|
21245
|
+
const after = paraProps?.paragraphSpacingAfter ?? bodyStyle?.paragraphSpacingAfter;
|
|
21246
|
+
const effectiveAfter = typeof after === "number" && after > 0 && (!isLast || spaceFirstLast) ? after : 0;
|
|
21247
|
+
const combinedAfter = effectiveBefore + effectiveAfter;
|
|
21248
|
+
if (combinedAfter > 0) {
|
|
21249
|
+
out.spaceAfterPx = combinedAfter;
|
|
21250
|
+
}
|
|
21251
|
+
const hasOwnLineSpacing = paraProps?.lineSpacing !== void 0 || paraProps?.lineSpacingExactPt !== void 0;
|
|
21252
|
+
const lineSource = hasOwnLineSpacing ? paraProps : bodyStyle;
|
|
21253
|
+
const exactPt = lineSource?.lineSpacingExactPt;
|
|
21254
|
+
const multiplier = lineSource?.lineSpacing;
|
|
21255
|
+
if (typeof exactPt === "number" && exactPt > 0) {
|
|
21256
|
+
out.lineHeight = `${exactPt * PT_TO_PX}px`;
|
|
21257
|
+
} else if (typeof multiplier === "number" && multiplier > 0) {
|
|
21258
|
+
const proportional = proportionalLineHeight(multiplier, bodyStyle?.compatibleLineSpacing);
|
|
21259
|
+
out.lineHeight = typeof lineSpacingReduction === "number" && lineSpacingReduction > 0 ? proportional * (1 - lineSpacingReduction) : proportional;
|
|
21260
|
+
}
|
|
21261
|
+
return out;
|
|
21262
|
+
}
|
|
21263
|
+
|
|
21264
|
+
// src/pptx/render/text-paragraph-style.ts
|
|
21265
|
+
function resolveParagraphRtl(paraSegments, elementRtl) {
|
|
21266
|
+
for (const entry5 of paraSegments) {
|
|
21267
|
+
const paraRtl = entry5.segment.paragraphProperties?.rtl;
|
|
21268
|
+
if (paraRtl !== void 0) {
|
|
21269
|
+
return paraRtl;
|
|
21270
|
+
}
|
|
21271
|
+
}
|
|
21272
|
+
for (const entry5 of paraSegments) {
|
|
21273
|
+
const segRtl = entry5.segment.style?.rtl;
|
|
21274
|
+
if (segRtl !== void 0) {
|
|
21275
|
+
return segRtl;
|
|
21276
|
+
}
|
|
21277
|
+
}
|
|
21278
|
+
return elementRtl;
|
|
21279
|
+
}
|
|
21280
|
+
function resolveParagraphAlign(paraSegments, elementAlign) {
|
|
21281
|
+
for (const entry5 of paraSegments) {
|
|
21282
|
+
const segAlign = entry5.segment.style?.align;
|
|
21283
|
+
if (segAlign !== void 0) {
|
|
21284
|
+
return segAlign;
|
|
21285
|
+
}
|
|
21286
|
+
}
|
|
21287
|
+
return elementAlign;
|
|
21288
|
+
}
|
|
21289
|
+
function resolveCssTextAlign(align, isRtl) {
|
|
21290
|
+
if (align === "justLow" || align === "dist" || align === "thaiDist") {
|
|
21291
|
+
return "justify";
|
|
21292
|
+
}
|
|
21293
|
+
if (align) {
|
|
21294
|
+
return align;
|
|
21295
|
+
}
|
|
21296
|
+
return isRtl ? "right" : void 0;
|
|
21297
|
+
}
|
|
21298
|
+
function resolveTextAlignLast(align) {
|
|
21299
|
+
return align === "dist" ? "justify" : void 0;
|
|
21300
|
+
}
|
|
21301
|
+
|
|
21302
|
+
// src/pptx/render/table-cell-paragraphs.ts
|
|
21303
|
+
var BLANK_LINE = { text: "", isLineBreak: true };
|
|
21304
|
+
function groupRuns(runs) {
|
|
21305
|
+
const groups = [[]];
|
|
21306
|
+
for (const run of runs) {
|
|
21307
|
+
if (run.isParagraphBreak) {
|
|
21308
|
+
groups.push([]);
|
|
21309
|
+
} else {
|
|
21310
|
+
groups[groups.length - 1].push(run);
|
|
21311
|
+
}
|
|
21312
|
+
}
|
|
21313
|
+
return groups;
|
|
21314
|
+
}
|
|
21315
|
+
function strutFontSizePt(runs) {
|
|
21316
|
+
let smallest;
|
|
21317
|
+
for (const run of runs) {
|
|
21318
|
+
if (!run.text) {
|
|
21319
|
+
continue;
|
|
21320
|
+
}
|
|
21321
|
+
if (typeof run.fontSize !== "number" || run.fontSize <= 0) {
|
|
21322
|
+
return void 0;
|
|
21323
|
+
}
|
|
21324
|
+
smallest = smallest === void 0 ? run.fontSize : Math.min(smallest, run.fontSize);
|
|
21325
|
+
}
|
|
21326
|
+
return smallest;
|
|
21327
|
+
}
|
|
21328
|
+
function paragraphLayoutCss(paragraph2, followsCell, isFirst, isLast) {
|
|
21329
|
+
const css = {};
|
|
21330
|
+
const rtl = paragraph2?.rtl === true;
|
|
21331
|
+
if (!followsCell) {
|
|
21332
|
+
css.textAlign = resolveCssTextAlign(paragraph2?.align, rtl) ?? "start";
|
|
21333
|
+
const textAlignLast = resolveTextAlignLast(paragraph2?.align);
|
|
21334
|
+
if (textAlignLast !== void 0) {
|
|
21335
|
+
css.textAlignLast = textAlignLast;
|
|
21336
|
+
}
|
|
21337
|
+
}
|
|
21338
|
+
if (paragraph2?.rtl !== void 0) {
|
|
21339
|
+
css.direction = rtl ? "rtl" : "ltr";
|
|
21340
|
+
css.unicodeBidi = "embed";
|
|
21341
|
+
}
|
|
21342
|
+
const indent = bulletList.resolveParagraphIndent(
|
|
21343
|
+
{ marginLeft: paragraph2?.paragraphMarginLeft, indent: paragraph2?.paragraphIndent },
|
|
21344
|
+
void 0
|
|
21345
|
+
);
|
|
21346
|
+
if (indent.marginLeftPx !== void 0) {
|
|
21347
|
+
css.marginInlineStart = `${indent.marginLeftPx}px`;
|
|
21348
|
+
}
|
|
21349
|
+
if (indent.textIndentPx !== void 0 && (indent.textIndentPx > 0 || indent.marginLeftPx !== void 0)) {
|
|
21350
|
+
css.textIndent = `${indent.textIndentPx}px`;
|
|
21351
|
+
}
|
|
21352
|
+
const spacing = resolveParagraphSpacing({ paraProps: paragraph2, isFirst, isLast });
|
|
21353
|
+
if (spacing.lineHeight !== void 0) {
|
|
21354
|
+
css.lineHeight = spacing.lineHeight;
|
|
21355
|
+
}
|
|
21356
|
+
if (spacing.spaceAfterPx !== void 0) {
|
|
21357
|
+
css.marginBlockEnd = `${spacing.spaceAfterPx}px`;
|
|
21358
|
+
}
|
|
21359
|
+
return css;
|
|
21360
|
+
}
|
|
21361
|
+
function alignOf(paragraph2) {
|
|
21362
|
+
return paragraph2?.align ?? "left";
|
|
21363
|
+
}
|
|
21364
|
+
function followsCellAlign(cell, paragraph2, first) {
|
|
21365
|
+
return alignOf(paragraph2) === alignOf(first) && (paragraph2?.rtl !== true || cell.style?.align !== void 0);
|
|
21366
|
+
}
|
|
21367
|
+
function needsBlocks(paragraphs2, follows, layouts) {
|
|
21368
|
+
return follows.some(
|
|
21369
|
+
(followsCell, index) => !followsCell || paragraphs2[index]?.rtl === true || layouts[index].marginInlineStart !== void 0 || layouts[index].textIndent !== void 0 || layouts[index].marginBlockEnd !== void 0 || layouts[index].lineHeight !== void 0 && layouts[index].lineHeight !== DEFAULT_LINE_HEIGHT
|
|
21370
|
+
);
|
|
21371
|
+
}
|
|
21372
|
+
function cellParagraphBlocks(cell) {
|
|
21373
|
+
const { paragraphs: paragraphs2 } = cell;
|
|
21374
|
+
if (!paragraphs2 || paragraphs2.length === 0) {
|
|
21375
|
+
return void 0;
|
|
21376
|
+
}
|
|
21377
|
+
const runs = cell.textRuns && cell.textRuns.length > 0 ? cell.textRuns : [{ text: cell.text }];
|
|
21378
|
+
const groups = groupRuns(runs);
|
|
21379
|
+
const follows = groups.map(
|
|
21380
|
+
(_, index) => followsCellAlign(cell, paragraphs2[index], paragraphs2[0])
|
|
21381
|
+
);
|
|
21382
|
+
const layouts = groups.map(
|
|
21383
|
+
(_, index) => paragraphLayoutCss(paragraphs2[index], follows[index], index === 0, index === groups.length - 1)
|
|
21384
|
+
);
|
|
21385
|
+
if (!needsBlocks(paragraphs2, follows, layouts)) {
|
|
21386
|
+
return void 0;
|
|
21387
|
+
}
|
|
21388
|
+
return groups.map((group, index) => {
|
|
21389
|
+
const css = layouts[index];
|
|
21390
|
+
const hasContent = group.some((run) => run.text !== "" || run.isLineBreak);
|
|
21391
|
+
if (!hasContent) {
|
|
21392
|
+
const endPt = paragraphs2[index]?.endParaFontSize;
|
|
21393
|
+
if (endPt !== void 0) {
|
|
21394
|
+
css.fontSize = `${endPt}pt`;
|
|
21395
|
+
}
|
|
21396
|
+
return { css, runs: [BLANK_LINE] };
|
|
21397
|
+
}
|
|
21398
|
+
const strutPt = strutFontSizePt(group);
|
|
21399
|
+
if (strutPt !== void 0) {
|
|
21400
|
+
css.fontSize = `${strutPt}pt`;
|
|
21401
|
+
}
|
|
21402
|
+
return { css, runs: group };
|
|
21403
|
+
});
|
|
21404
|
+
}
|
|
21405
|
+
|
|
21191
21406
|
// src/pptx/render/table-cell-pointer.ts
|
|
21192
21407
|
function tableCellPointerIntent(input) {
|
|
21193
21408
|
if (!input.isTableCell) {
|
|
@@ -21334,7 +21549,7 @@ var GRADIENT_TYPE_OPTIONS = [
|
|
|
21334
21549
|
{ value: "linear", i18nKey: "pptx.table.gradientLinear" },
|
|
21335
21550
|
{ value: "radial", i18nKey: "pptx.table.gradientRadial" }
|
|
21336
21551
|
];
|
|
21337
|
-
var PATTERN_OPTIONS =
|
|
21552
|
+
var PATTERN_OPTIONS = chunkYRHK45AB_cjs.OOXML_PATTERN_PRESETS.slice(0, 20);
|
|
21338
21553
|
|
|
21339
21554
|
// src/pptx/render/table-resize.ts
|
|
21340
21555
|
var MIN_COLUMN_PROPORTION = 0.03;
|
|
@@ -22078,10 +22293,10 @@ function imageFitTransformParts(el) {
|
|
|
22078
22293
|
return { placement: "", crop: "" };
|
|
22079
22294
|
}
|
|
22080
22295
|
return fitTransformsFromInsets({
|
|
22081
|
-
cropLeft:
|
|
22082
|
-
cropTop:
|
|
22083
|
-
cropRight:
|
|
22084
|
-
cropBottom:
|
|
22296
|
+
cropLeft: chunkYRHK45AB_cjs.clampCropValue(el.cropLeft),
|
|
22297
|
+
cropTop: chunkYRHK45AB_cjs.clampCropValue(el.cropTop),
|
|
22298
|
+
cropRight: chunkYRHK45AB_cjs.clampCropValue(el.cropRight),
|
|
22299
|
+
cropBottom: chunkYRHK45AB_cjs.clampCropValue(el.cropBottom),
|
|
22085
22300
|
fillRectLeft: el.fillRectLeft ?? 0,
|
|
22086
22301
|
fillRectTop: el.fillRectTop ?? 0,
|
|
22087
22302
|
fillRectRight: el.fillRectRight ?? 0,
|
|
@@ -22105,10 +22320,10 @@ function fitTransformsFromInsets(insets) {
|
|
|
22105
22320
|
if (hasCrop2) {
|
|
22106
22321
|
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
22107
22322
|
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
22108
|
-
cropLeft =
|
|
22109
|
-
cropRight =
|
|
22110
|
-
cropTop =
|
|
22111
|
-
cropBottom =
|
|
22323
|
+
cropLeft = chunkYRHK45AB_cjs.clampCropValue(cropLeft * horizontalScale);
|
|
22324
|
+
cropRight = chunkYRHK45AB_cjs.clampCropValue(cropRight * horizontalScale);
|
|
22325
|
+
cropTop = chunkYRHK45AB_cjs.clampCropValue(cropTop * verticalScale);
|
|
22326
|
+
cropBottom = chunkYRHK45AB_cjs.clampCropValue(cropBottom * verticalScale);
|
|
22112
22327
|
const remainingWidth = Math.max(0.01, 1 - cropLeft - cropRight);
|
|
22113
22328
|
const remainingHeight = Math.max(0.01, 1 - cropTop - cropBottom);
|
|
22114
22329
|
const tx = Math.round(-cropLeft / remainingWidth * 1e4) / 100;
|
|
@@ -22223,7 +22438,7 @@ function resolveShadeToTitleBackgroundImage(slide, slideWidthPx, slideHeightPx)
|
|
|
22223
22438
|
if (stops.length === 0) {
|
|
22224
22439
|
return void 0;
|
|
22225
22440
|
}
|
|
22226
|
-
return
|
|
22441
|
+
return chunkYRHK45AB_cjs.buildRectPathGradientImage(stops, void 0, fillToRect);
|
|
22227
22442
|
}
|
|
22228
22443
|
|
|
22229
22444
|
// src/pptx/render/slide-background.ts
|
|
@@ -22245,7 +22460,7 @@ function getSlideBackgroundStyle(slide, slideSize) {
|
|
|
22245
22460
|
style["background-repeat"] = "no-repeat";
|
|
22246
22461
|
}
|
|
22247
22462
|
} else if (pattern) {
|
|
22248
|
-
const svg2 =
|
|
22463
|
+
const svg2 = chunkYRHK45AB_cjs.getPatternSvg(
|
|
22249
22464
|
pattern.preset,
|
|
22250
22465
|
pattern.fgColor ?? solid ?? "#000000",
|
|
22251
22466
|
pattern.bgColor ?? DEFAULT_SLIDE_BACKGROUND
|
|
@@ -22663,7 +22878,7 @@ function createTemplateContext(options = {}) {
|
|
|
22663
22878
|
const scheme = { ...pptx.DEFAULT_SCHEME_COLOR_MAP, ...options.scheme ?? {} };
|
|
22664
22879
|
let counter = 0;
|
|
22665
22880
|
const idFor = options.idFor ?? ((index) => `template-el-${Date.now()}-${index}`);
|
|
22666
|
-
const dictionary =
|
|
22881
|
+
const dictionary = chunkSM3CWDIQ_cjs.translationsEn;
|
|
22667
22882
|
const translate = options.translate ?? ((key) => dictionary[key] ?? key);
|
|
22668
22883
|
return {
|
|
22669
22884
|
scheme,
|
|
@@ -23653,12 +23868,12 @@ function buildRunTabLines(text3, ctx, nestedDecoration, measure2 = (t) => measur
|
|
|
23653
23868
|
// src/pptx/render/paragraph-run-enrich.ts
|
|
23654
23869
|
function resolveRunExtrasContext(input) {
|
|
23655
23870
|
const { seg, runFont, blockFont, blockScriptStyle, tabStops, defaultTabSize, rtl } = input;
|
|
23656
|
-
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ??
|
|
23871
|
+
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ?? chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY;
|
|
23657
23872
|
const scriptFonts = resolveScriptFontSet(seg.style, blockScriptStyle, baseFontFamily);
|
|
23658
23873
|
const tabContext = tabStops && tabStops.length > 0 ? buildTabContext(
|
|
23659
23874
|
tabStops,
|
|
23660
23875
|
defaultTabSize,
|
|
23661
|
-
runFont.fontSizePx ?? blockFont.fontSizePx ??
|
|
23876
|
+
runFont.fontSizePx ?? blockFont.fontSizePx ?? chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
23662
23877
|
baseFontFamily,
|
|
23663
23878
|
Boolean(seg.style?.bold),
|
|
23664
23879
|
Boolean(seg.style?.italic),
|
|
@@ -23690,7 +23905,7 @@ function resolveRunReflection(segStyle, blockFont) {
|
|
|
23690
23905
|
if (!segStyle) {
|
|
23691
23906
|
return void 0;
|
|
23692
23907
|
}
|
|
23693
|
-
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ??
|
|
23908
|
+
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ?? chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
23694
23909
|
return getTextReflectionWrapperStyle(segStyle, height);
|
|
23695
23910
|
}
|
|
23696
23911
|
function applyRunReflection(run, reflection2) {
|
|
@@ -23852,7 +24067,7 @@ function buildTextShadowCss(style) {
|
|
|
23852
24067
|
const ox = style.textShadowOffsetX ?? 0;
|
|
23853
24068
|
const oy = style.textShadowOffsetY ?? 0;
|
|
23854
24069
|
const blur = style.textShadowBlur ?? 4;
|
|
23855
|
-
const color =
|
|
24070
|
+
const color = chunkYRHK45AB_cjs.normalizeHexColor(style.textShadowColor, "#000000");
|
|
23856
24071
|
const opacity = style.textShadowOpacity ?? 0.5;
|
|
23857
24072
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23858
24073
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23865,7 +24080,7 @@ function buildTextShadowCss(style) {
|
|
|
23865
24080
|
const dirRad = dir * Math.PI / 180;
|
|
23866
24081
|
const psOx = Math.round(Math.cos(dirRad) * dist2 * 100) / 100;
|
|
23867
24082
|
const psOy = Math.round(Math.sin(dirRad) * dist2 * 100) / 100;
|
|
23868
|
-
const psColor =
|
|
24083
|
+
const psColor = chunkYRHK45AB_cjs.normalizeHexColor(style.textPresetShadowColor, "#000000");
|
|
23869
24084
|
const psOpacity = style.textPresetShadowOpacity ?? 0.5;
|
|
23870
24085
|
const psR = parseInt(psColor.slice(1, 3), 16);
|
|
23871
24086
|
const psG = parseInt(psColor.slice(3, 5), 16);
|
|
@@ -23882,7 +24097,7 @@ function buildTextInnerShadowCss(style) {
|
|
|
23882
24097
|
const ox = style.textInnerShadowOffsetX ?? 0;
|
|
23883
24098
|
const oy = style.textInnerShadowOffsetY ?? 0;
|
|
23884
24099
|
const blur = style.textInnerShadowBlur ?? 3;
|
|
23885
|
-
const color =
|
|
24100
|
+
const color = chunkYRHK45AB_cjs.normalizeHexColor(style.textInnerShadowColor, "#000000");
|
|
23886
24101
|
const opacity = style.textInnerShadowOpacity ?? 0.5;
|
|
23887
24102
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23888
24103
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23929,7 +24144,7 @@ function buildTextGlowFilter(style) {
|
|
|
23929
24144
|
return void 0;
|
|
23930
24145
|
}
|
|
23931
24146
|
const radius = style.textGlowRadius ?? 6;
|
|
23932
|
-
const color =
|
|
24147
|
+
const color = chunkYRHK45AB_cjs.normalizeHexColor(style.textGlowColor, "#ffff00");
|
|
23933
24148
|
const opacity = style.textGlowOpacity ?? 0.6;
|
|
23934
24149
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23935
24150
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23957,9 +24172,9 @@ function buildTextFillCss(style) {
|
|
|
23957
24172
|
};
|
|
23958
24173
|
}
|
|
23959
24174
|
if (style.textFillPattern) {
|
|
23960
|
-
const fg =
|
|
23961
|
-
const bg =
|
|
23962
|
-
const svgPattern =
|
|
24175
|
+
const fg = chunkYRHK45AB_cjs.normalizeHexColor(style.textFillPatternForeground, "#000000");
|
|
24176
|
+
const bg = chunkYRHK45AB_cjs.normalizeHexColor(style.textFillPatternBackground, "#ffffff");
|
|
24177
|
+
const svgPattern = chunkYRHK45AB_cjs.getPatternSvg(style.textFillPattern, fg, bg);
|
|
23963
24178
|
if (svgPattern) {
|
|
23964
24179
|
const encoded = encodeURIComponent(svgPattern);
|
|
23965
24180
|
return {
|
|
@@ -24104,15 +24319,15 @@ function resolveRunRuby(segment, baseFontSizePx, blockFont, baseColor) {
|
|
|
24104
24319
|
return void 0;
|
|
24105
24320
|
}
|
|
24106
24321
|
const authoredFamily = segment.rubyStyle?.fontFamily ?? segment.style?.fontFamily;
|
|
24107
|
-
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx :
|
|
24322
|
+
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx : chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24108
24323
|
const style = {
|
|
24109
24324
|
fontSize: `${segment.rubyFontSize ?? baseSize * RUBY_SIZE_RATIO}px`,
|
|
24110
|
-
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ??
|
|
24325
|
+
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ?? chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY,
|
|
24111
24326
|
textAlign: rubyTextAlign(segment.rubyAlignment)
|
|
24112
24327
|
};
|
|
24113
24328
|
const color = segment.rubyStyle?.color;
|
|
24114
24329
|
if (color) {
|
|
24115
|
-
style.color =
|
|
24330
|
+
style.color = chunkYRHK45AB_cjs.normalizeHexColor(color, baseColor);
|
|
24116
24331
|
}
|
|
24117
24332
|
return { text: text3, style };
|
|
24118
24333
|
}
|
|
@@ -24184,7 +24399,7 @@ function buildParagraphRuns(input) {
|
|
|
24184
24399
|
bodyFontSizeRaw,
|
|
24185
24400
|
fontScale
|
|
24186
24401
|
);
|
|
24187
|
-
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ??
|
|
24402
|
+
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ?? chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24188
24403
|
equationStyle.fontSize = `${fallbackFontSize}px`;
|
|
24189
24404
|
}
|
|
24190
24405
|
runs.push({
|
|
@@ -24221,7 +24436,7 @@ function buildParagraphRuns(input) {
|
|
|
24221
24436
|
});
|
|
24222
24437
|
const ruby = resolveRunRuby(
|
|
24223
24438
|
seg,
|
|
24224
|
-
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ??
|
|
24439
|
+
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ?? chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
24225
24440
|
blockFont,
|
|
24226
24441
|
typeof style.color === "string" ? style.color : void 0
|
|
24227
24442
|
);
|
|
@@ -24272,39 +24487,6 @@ function buildParagraphRuns(input) {
|
|
|
24272
24487
|
return runs;
|
|
24273
24488
|
}
|
|
24274
24489
|
|
|
24275
|
-
// src/pptx/render/paragraph-spacing.ts
|
|
24276
|
-
var PT_TO_PX = 96 / 72;
|
|
24277
|
-
function resolveParagraphSpacing(input) {
|
|
24278
|
-
const {
|
|
24279
|
-
paraProps,
|
|
24280
|
-
bodyStyle,
|
|
24281
|
-
isFirst = false,
|
|
24282
|
-
isLast = false,
|
|
24283
|
-
spaceFirstLast = false,
|
|
24284
|
-
lineSpacingReduction
|
|
24285
|
-
} = input;
|
|
24286
|
-
const out = {};
|
|
24287
|
-
const before = paraProps?.paragraphSpacingBefore ?? bodyStyle?.paragraphSpacingBefore;
|
|
24288
|
-
const effectiveBefore = typeof before === "number" && before > 0 && (!isFirst || spaceFirstLast) ? before : 0;
|
|
24289
|
-
const after = paraProps?.paragraphSpacingAfter ?? bodyStyle?.paragraphSpacingAfter;
|
|
24290
|
-
const effectiveAfter = typeof after === "number" && after > 0 && (!isLast || spaceFirstLast) ? after : 0;
|
|
24291
|
-
const combinedAfter = effectiveBefore + effectiveAfter;
|
|
24292
|
-
if (combinedAfter > 0) {
|
|
24293
|
-
out.spaceAfterPx = combinedAfter;
|
|
24294
|
-
}
|
|
24295
|
-
const hasOwnLineSpacing = paraProps?.lineSpacing !== void 0 || paraProps?.lineSpacingExactPt !== void 0;
|
|
24296
|
-
const lineSource = hasOwnLineSpacing ? paraProps : bodyStyle;
|
|
24297
|
-
const exactPt = lineSource?.lineSpacingExactPt;
|
|
24298
|
-
const multiplier = lineSource?.lineSpacing;
|
|
24299
|
-
if (typeof exactPt === "number" && exactPt > 0) {
|
|
24300
|
-
out.lineHeight = `${exactPt * PT_TO_PX}px`;
|
|
24301
|
-
} else if (typeof multiplier === "number" && multiplier > 0) {
|
|
24302
|
-
const proportional = proportionalLineHeight(multiplier, bodyStyle?.compatibleLineSpacing);
|
|
24303
|
-
out.lineHeight = typeof lineSpacingReduction === "number" && lineSpacingReduction > 0 ? proportional * (1 - lineSpacingReduction) : proportional;
|
|
24304
|
-
}
|
|
24305
|
-
return out;
|
|
24306
|
-
}
|
|
24307
|
-
|
|
24308
24490
|
// src/pptx/render/paragraph-trailing-space.ts
|
|
24309
24491
|
function alignsTrailingEdge(cssAlign, rtl) {
|
|
24310
24492
|
if (cssAlign === "center" || cssAlign === "justify") {
|
|
@@ -24337,44 +24519,6 @@ function trimParagraphTrailingSpaces(runs, cssAlign, rtl) {
|
|
|
24337
24519
|
return changed ? out : runs;
|
|
24338
24520
|
}
|
|
24339
24521
|
|
|
24340
|
-
// src/pptx/render/text-paragraph-style.ts
|
|
24341
|
-
function resolveParagraphRtl(paraSegments, elementRtl) {
|
|
24342
|
-
for (const entry5 of paraSegments) {
|
|
24343
|
-
const paraRtl = entry5.segment.paragraphProperties?.rtl;
|
|
24344
|
-
if (paraRtl !== void 0) {
|
|
24345
|
-
return paraRtl;
|
|
24346
|
-
}
|
|
24347
|
-
}
|
|
24348
|
-
for (const entry5 of paraSegments) {
|
|
24349
|
-
const segRtl = entry5.segment.style?.rtl;
|
|
24350
|
-
if (segRtl !== void 0) {
|
|
24351
|
-
return segRtl;
|
|
24352
|
-
}
|
|
24353
|
-
}
|
|
24354
|
-
return elementRtl;
|
|
24355
|
-
}
|
|
24356
|
-
function resolveParagraphAlign(paraSegments, elementAlign) {
|
|
24357
|
-
for (const entry5 of paraSegments) {
|
|
24358
|
-
const segAlign = entry5.segment.style?.align;
|
|
24359
|
-
if (segAlign !== void 0) {
|
|
24360
|
-
return segAlign;
|
|
24361
|
-
}
|
|
24362
|
-
}
|
|
24363
|
-
return elementAlign;
|
|
24364
|
-
}
|
|
24365
|
-
function resolveCssTextAlign(align, isRtl) {
|
|
24366
|
-
if (align === "justLow" || align === "dist" || align === "thaiDist") {
|
|
24367
|
-
return "justify";
|
|
24368
|
-
}
|
|
24369
|
-
if (align) {
|
|
24370
|
-
return align;
|
|
24371
|
-
}
|
|
24372
|
-
return isRtl ? "right" : void 0;
|
|
24373
|
-
}
|
|
24374
|
-
function resolveTextAlignLast(align) {
|
|
24375
|
-
return align === "dist" ? "justify" : void 0;
|
|
24376
|
-
}
|
|
24377
|
-
|
|
24378
24522
|
// src/pptx/render/text-paragraphs.ts
|
|
24379
24523
|
function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
24380
24524
|
if (!pptx.hasTextProperties(element)) {
|
|
@@ -24386,8 +24530,8 @@ function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
|
24386
24530
|
}
|
|
24387
24531
|
const fontScale = resolveAutoFitFontScale(element.textStyle);
|
|
24388
24532
|
const blockFont = {
|
|
24389
|
-
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) :
|
|
24390
|
-
fontSizePx: (element.textStyle?.fontSize ||
|
|
24533
|
+
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) : chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY,
|
|
24534
|
+
fontSizePx: (element.textStyle?.fontSize || chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE) * fontScale
|
|
24391
24535
|
};
|
|
24392
24536
|
const blockScriptStyle = element.textStyle;
|
|
24393
24537
|
const tabStops = element.textStyle?.tabStops;
|
|
@@ -27340,17 +27484,17 @@ function hasItalicRuns(element) {
|
|
|
27340
27484
|
);
|
|
27341
27485
|
}
|
|
27342
27486
|
function buildTextBlockStyle(element, options = {}) {
|
|
27343
|
-
const fallbackColor = options.fallbackColor ??
|
|
27487
|
+
const fallbackColor = options.fallbackColor ?? chunkYRHK45AB_cjs.DEFAULT_TEXT_COLOR;
|
|
27344
27488
|
if (!pptx.hasTextProperties(element)) {
|
|
27345
27489
|
return { color: fallbackColor };
|
|
27346
27490
|
}
|
|
27347
27491
|
const ts = element.textStyle;
|
|
27348
27492
|
const italic = hasItalicRuns(element);
|
|
27349
27493
|
const isRtl = ts?.rtl === true;
|
|
27350
|
-
const bodyTop = ts?.bodyInsetTop ??
|
|
27351
|
-
const bodyBottom = ts?.bodyInsetBottom ??
|
|
27352
|
-
const bodyLeft = ts?.bodyInsetLeft ??
|
|
27353
|
-
const bodyRight = ts?.bodyInsetRight ??
|
|
27494
|
+
const bodyTop = ts?.bodyInsetTop ?? chunkYRHK45AB_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27495
|
+
const bodyBottom = ts?.bodyInsetBottom ?? chunkYRHK45AB_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27496
|
+
const bodyLeft = ts?.bodyInsetLeft ?? chunkYRHK45AB_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27497
|
+
const bodyRight = ts?.bodyInsetRight ?? chunkYRHK45AB_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27354
27498
|
const hasParagraphIndents = (element.paragraphIndents?.length ?? 0) > 0;
|
|
27355
27499
|
const bodyIndent = hasParagraphIndents ? 0 : ts?.paragraphIndent || 0;
|
|
27356
27500
|
const bodyMarginLeft = hasParagraphIndents ? 0 : ts?.paragraphMarginLeft || 0;
|
|
@@ -27379,17 +27523,17 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27379
27523
|
style.transformOrigin = "center";
|
|
27380
27524
|
}
|
|
27381
27525
|
}
|
|
27382
|
-
style.color = ts?.hyperlink ?
|
|
27526
|
+
style.color = ts?.hyperlink ? chunkYRHK45AB_cjs.normalizeHexColor(ts?.color, chunkYRHK45AB_cjs.HYPERLINK_COLOR) : chunkYRHK45AB_cjs.normalizeHexColor(ts?.color, fallbackColor);
|
|
27383
27527
|
if (!hasTextSegments && ts?.highlightColor) {
|
|
27384
|
-
style.backgroundColor =
|
|
27528
|
+
style.backgroundColor = chunkYRHK45AB_cjs.normalizeHexColor(ts.highlightColor, void 0);
|
|
27385
27529
|
}
|
|
27386
27530
|
style.textAlign = resolveCssTextAlign(ts?.align, isRtl) ?? "left";
|
|
27387
27531
|
style.direction = toCssVerticalDirection(ts?.textDirection) ?? (isRtl ? "rtl" : bodyLayoutStyle?.direction ?? "ltr");
|
|
27388
27532
|
if (isRtl) {
|
|
27389
27533
|
style.unicodeBidi = "plaintext";
|
|
27390
27534
|
}
|
|
27391
|
-
style.fontSize = ts?.fontSize ||
|
|
27392
|
-
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) :
|
|
27535
|
+
style.fontSize = ts?.fontSize || chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27536
|
+
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) : chunkYRHK45AB_cjs.DEFAULT_FONT_FAMILY;
|
|
27393
27537
|
style.fontWeight = ts?.bold ? 700 : 400;
|
|
27394
27538
|
style.fontStyle = ts?.italic ? "italic" : "normal";
|
|
27395
27539
|
style.textDecorationLine = decorations.length > 0 ? decorations.join(" ") : "none";
|
|
@@ -27429,7 +27573,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27429
27573
|
text: element.text ?? "",
|
|
27430
27574
|
width: element.width,
|
|
27431
27575
|
height: element.height,
|
|
27432
|
-
defaultFontSize:
|
|
27576
|
+
defaultFontSize: chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE
|
|
27433
27577
|
});
|
|
27434
27578
|
if (autoFit.fontSize !== void 0) {
|
|
27435
27579
|
style.fontSize = autoFit.fontSize;
|
|
@@ -27437,7 +27581,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27437
27581
|
if (autoFit.lineHeight !== void 0) {
|
|
27438
27582
|
style.lineHeight = autoFit.lineHeight;
|
|
27439
27583
|
}
|
|
27440
|
-
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize :
|
|
27584
|
+
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize : chunkYRHK45AB_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27441
27585
|
const lineHeightPx = lineHeightToPx(fontSizePx, style.lineHeight);
|
|
27442
27586
|
const contentHeightPx = element.height - style.paddingTop - style.paddingBottom;
|
|
27443
27587
|
Object.assign(style, resolveVertOverflowEllipsisStyle(ts, contentHeightPx, lineHeightPx));
|
|
@@ -30769,8 +30913,6 @@ function clampFlyoutPosition(input) {
|
|
|
30769
30913
|
top: Math.max(margin, input.height > 0 ? Math.min(input.y, maxTop) : input.y)
|
|
30770
30914
|
};
|
|
30771
30915
|
}
|
|
30772
|
-
|
|
30773
|
-
// src/pptx/render/connector-elbow-geometry.ts
|
|
30774
30916
|
function connectorAdjustmentFraction(element, key, fallback = 0.5) {
|
|
30775
30917
|
const adj = element.shapeAdjustments;
|
|
30776
30918
|
const raw = adj?.[key] ?? adj?.adj;
|
|
@@ -30783,80 +30925,19 @@ function connectorAdjustmentFraction(element, key, fallback = 0.5) {
|
|
|
30783
30925
|
function connectorBendFraction(element) {
|
|
30784
30926
|
return connectorAdjustmentFraction(element, "adj1", 0.5);
|
|
30785
30927
|
}
|
|
30786
|
-
function elbowSegmentCount(lowerShapeType) {
|
|
30787
|
-
if (lowerShapeType.includes("connector4")) {
|
|
30788
|
-
return 4;
|
|
30789
|
-
}
|
|
30790
|
-
if (lowerShapeType.includes("connector5")) {
|
|
30791
|
-
return 5;
|
|
30792
|
-
}
|
|
30793
|
-
return 3;
|
|
30794
|
-
}
|
|
30795
|
-
function axisMapper(horizontalPrimary) {
|
|
30796
|
-
return (u, v) => ({ x: u, y: v }) ;
|
|
30797
|
-
}
|
|
30798
30928
|
function elbowWaypoints(x1, y1, x2, y2, segments, adj1, adj2, adj3) {
|
|
30799
|
-
|
|
30800
|
-
|
|
30801
|
-
|
|
30802
|
-
|
|
30803
|
-
|
|
30804
|
-
|
|
30805
|
-
|
|
30806
|
-
|
|
30807
|
-
|
|
30808
|
-
|
|
30809
|
-
|
|
30810
|
-
|
|
30811
|
-
return [toXY(u1, v1), toXY(mu, v1), toXY(mu, mv2), toXY(u2, mv2), toXY(u2, v2)];
|
|
30812
|
-
}
|
|
30813
|
-
const mu1 = u1 + (u2 - u1) * adj1;
|
|
30814
|
-
const mv = v1 + (v2 - v1) * adj2;
|
|
30815
|
-
const mu2 = u1 + (u2 - u1) * adj3;
|
|
30816
|
-
return [toXY(u1, v1), toXY(mu1, v1), toXY(mu1, mv), toXY(mu2, mv), toXY(mu2, v2), toXY(u2, v2)];
|
|
30817
|
-
}
|
|
30818
|
-
function fmt3(p) {
|
|
30819
|
-
return `${p.x},${p.y}`;
|
|
30820
|
-
}
|
|
30821
|
-
function curveTo(ctrl, end) {
|
|
30822
|
-
return `C${fmt3(ctrl)} ${fmt3(ctrl)} ${fmt3(end)}`;
|
|
30823
|
-
}
|
|
30824
|
-
function curvedElbowPathD(x1, y1, x2, y2, segments, adj1, adj2, adj3) {
|
|
30825
|
-
const u1 = x1 ;
|
|
30826
|
-
const v1 = y1 ;
|
|
30827
|
-
const u2 = x2 ;
|
|
30828
|
-
const v2 = y2 ;
|
|
30829
|
-
const toXY = axisMapper();
|
|
30830
|
-
const start = toXY(u1, v1);
|
|
30831
|
-
if (segments === 3) {
|
|
30832
|
-
const mu = u1 + (u2 - u1) * adj1;
|
|
30833
|
-
return `M${fmt3(start)} C${fmt3(toXY(mu, v1))} ${fmt3(toXY(mu, v2))} ${fmt3(toXY(u2, v2))}`;
|
|
30834
|
-
}
|
|
30835
|
-
if (segments === 4) {
|
|
30836
|
-
const mu = u1 + (u2 - u1) * adj1;
|
|
30837
|
-
const mv2 = v1 + (v2 - v1) * adj2;
|
|
30838
|
-
const vq = v1 + (mv2 - v1) * 0.5;
|
|
30839
|
-
const midU2 = (mu + u2) / 2;
|
|
30840
|
-
return [
|
|
30841
|
-
`M${fmt3(start)}`,
|
|
30842
|
-
curveTo(toXY(mu, v1), toXY(mu, vq)),
|
|
30843
|
-
curveTo(toXY(mu, mv2), toXY(midU2, mv2)),
|
|
30844
|
-
curveTo(toXY(u2, mv2), toXY(u2, v2))
|
|
30845
|
-
].join(" ");
|
|
30846
|
-
}
|
|
30847
|
-
const mu1 = u1 + (u2 - u1) * adj1;
|
|
30848
|
-
const mv = v1 + (v2 - v1) * adj2;
|
|
30849
|
-
const mu2 = u1 + (u2 - u1) * adj3;
|
|
30850
|
-
const vq1 = v1 + (mv - v1) * 0.5;
|
|
30851
|
-
const vq2 = mv + (v2 - mv) * 0.5;
|
|
30852
|
-
const midU = (mu1 + mu2) / 2;
|
|
30853
|
-
return [
|
|
30854
|
-
`M${fmt3(start)}`,
|
|
30855
|
-
curveTo(toXY(mu1, v1), toXY(mu1, vq1)),
|
|
30856
|
-
curveTo(toXY(mu1, mv), toXY(midU, mv)),
|
|
30857
|
-
curveTo(toXY(mu2, mv), toXY(mu2, vq2)),
|
|
30858
|
-
curveTo(toXY(mu2, v2), toXY(u2, v2))
|
|
30859
|
-
].join(" ");
|
|
30929
|
+
return geometry.elbowWaypoints(
|
|
30930
|
+
x1,
|
|
30931
|
+
y1,
|
|
30932
|
+
x2,
|
|
30933
|
+
y2,
|
|
30934
|
+
Math.abs(x2 - x1),
|
|
30935
|
+
Math.abs(y2 - y1),
|
|
30936
|
+
segments,
|
|
30937
|
+
adj1,
|
|
30938
|
+
adj2,
|
|
30939
|
+
adj3
|
|
30940
|
+
).map(([x, y]) => ({ x, y }));
|
|
30860
30941
|
}
|
|
30861
30942
|
|
|
30862
30943
|
// src/pptx/render/connector-hit-target.ts
|
|
@@ -30894,9 +30975,9 @@ function normalizeArrow(a) {
|
|
|
30894
30975
|
function buildConnectorGeometry(element, zIndex, routing) {
|
|
30895
30976
|
const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
30896
30977
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
30897
|
-
const strokeColor = ss?.strokeColor ??
|
|
30978
|
+
const strokeColor = ss?.strokeColor ?? chunkYRHK45AB_cjs.DEFAULT_STROKE_COLOR;
|
|
30898
30979
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
30899
|
-
const dashArray =
|
|
30980
|
+
const dashArray = chunkYRHK45AB_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
|
|
30900
30981
|
const strokeLinecap = svgLineCap(ss?.lineCap);
|
|
30901
30982
|
const compoundOffsets = getCompoundLineOffsets(ss?.compoundLine, strokeWidth);
|
|
30902
30983
|
const compoundWidths = getCompoundLineWidths(ss?.compoundLine, strokeWidth);
|
|
@@ -30970,15 +31051,15 @@ function buildConnectorPathD(shapeType, x1, y1, x2, y2, bend, bend2 = 0.5, bend3
|
|
|
30970
31051
|
if (t.includes("bentconnector2")) {
|
|
30971
31052
|
return `M${x1},${y1} L${x2},${y1} L${x2},${y2}`;
|
|
30972
31053
|
}
|
|
30973
|
-
const segments2 = elbowSegmentCount(t);
|
|
31054
|
+
const segments2 = geometry.elbowSegmentCount(t);
|
|
30974
31055
|
const points = elbowWaypoints(x1, y1, x2, y2, segments2, bend, bend2, bend3);
|
|
30975
31056
|
return waypointsToPathD(points);
|
|
30976
31057
|
}
|
|
30977
31058
|
if (t.includes("curvedconnector2")) {
|
|
30978
31059
|
return `M${x1},${y1} Q${x2},${y1} ${x2},${y2}`;
|
|
30979
31060
|
}
|
|
30980
|
-
const segments = elbowSegmentCount(t);
|
|
30981
|
-
return curvedElbowPathD(x1, y1, x2, y2, segments, bend, bend2, bend3);
|
|
31061
|
+
const segments = geometry.elbowSegmentCount(t);
|
|
31062
|
+
return geometry.curvedElbowPathD(x1, y1, x2, y2, segments, bend, bend2, bend3);
|
|
30982
31063
|
}
|
|
30983
31064
|
function connectorWrapperTransform(element) {
|
|
30984
31065
|
return element.rotation ? `rotate(${element.rotation}deg)` : void 0;
|
|
@@ -37588,7 +37669,7 @@ function drawingShapeMeshOpacity(shape) {
|
|
|
37588
37669
|
// src/pptx/render/svg-text-lines.ts
|
|
37589
37670
|
var LINE_HEIGHT_RATIO = 1.2;
|
|
37590
37671
|
function centeredSvgTextLines(text3, fontSize, options = {}) {
|
|
37591
|
-
const lines = options.maxWidth !== void 0 ?
|
|
37672
|
+
const lines = options.maxWidth !== void 0 ? chunkYRHK45AB_cjs.wrapTextByEstimatedWidth(text3, options.maxWidth, fontSize) : text3.split("\n").filter((line4) => line4.length > 0);
|
|
37592
37673
|
const centerY = options.centerY ?? 0;
|
|
37593
37674
|
if (lines.length === 0) {
|
|
37594
37675
|
return [{ text: "", y: centerY }];
|
|
@@ -38385,7 +38466,7 @@ function buildObliqueLabels(layout, input) {
|
|
|
38385
38466
|
const { w, h, d } = layout.box;
|
|
38386
38467
|
const span = layout.range.max - layout.range.min;
|
|
38387
38468
|
const fontSize = input.fontSize;
|
|
38388
|
-
for (const v of
|
|
38469
|
+
for (const v of chunkYRHK45AB_cjs.axisTickValues({ ...layout.range, span })) {
|
|
38389
38470
|
const p = (v - layout.range.min) * layout.valueScale;
|
|
38390
38471
|
if (layout.horizontal) {
|
|
38391
38472
|
const at = screen2(layout, p, 0, 0);
|
|
@@ -38508,7 +38589,7 @@ function dataExtent(chartData, grouping, nCat) {
|
|
|
38508
38589
|
function valueRange(chartData, grouping, nCat, valueLengthPx) {
|
|
38509
38590
|
const axis = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38510
38591
|
const [lo, hi] = dataExtent(chartData, grouping, nCat);
|
|
38511
|
-
const auto =
|
|
38592
|
+
const auto = chunkYRHK45AB_cjs.niceValueAxisBounds(lo, hi, chunkYRHK45AB_cjs.axisTargetIntervals(valueLengthPx), 0);
|
|
38512
38593
|
const min = typeof axis?.min === "number" ? axis.min : auto.min;
|
|
38513
38594
|
let max = typeof axis?.max === "number" ? axis.max : auto.max;
|
|
38514
38595
|
if (max <= min) {
|
|
@@ -38538,16 +38619,16 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38538
38619
|
const rows = grouping === "standard" ? nSer : 1;
|
|
38539
38620
|
const labelFont = vm.axisLabels[0]?.fontSize ?? 16;
|
|
38540
38621
|
const catLabels = chartData.categories.length > 0 ? chartData.categories : Array.from({ length: nCat }, (_, i) => String(i + 1));
|
|
38541
|
-
const widest = (texts) => texts.reduce((m, t) => Math.max(m,
|
|
38622
|
+
const widest = (texts) => texts.reduce((m, t) => Math.max(m, chunkYRHK45AB_cjs.estimateTextWidth(t, labelFont)), 0);
|
|
38542
38623
|
const top = vm.title ? TOP_WITH_TITLE : TOP_NO_TITLE;
|
|
38543
38624
|
const hasBottomLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38544
38625
|
const bottom = vm.svgHeight - (hasBottomLegend ? BOTTOM_WITH_LEGEND : BOTTOM_NO_LEGEND);
|
|
38545
38626
|
const regionH = Math.max(1, bottom - top);
|
|
38546
38627
|
const provisional = valueRange(chartData, grouping, nCat, regionH);
|
|
38547
|
-
const valueTexts =
|
|
38628
|
+
const valueTexts = chunkYRHK45AB_cjs.axisTickValues({
|
|
38548
38629
|
...provisional,
|
|
38549
38630
|
span: provisional.max - provisional.min
|
|
38550
|
-
}).map((v) =>
|
|
38631
|
+
}).map((v) => chunkSTKGUT5S_cjs.formatValueLabel(chartData, grouping, v));
|
|
38551
38632
|
const leftBand = (horizontal ? widest(catLabels) : widest(valueTexts)) + (horizontal ? OBLIQUE_CATEGORY_LABEL_GAP : OBLIQUE_VALUE_LABEL_GAP);
|
|
38552
38633
|
const seriesLabelW = grouping === "standard" && !horizontal ? widest(chartData.series.map((s) => s.name)) : 0;
|
|
38553
38634
|
const seriesOverhang = (depth2) => seriesLabelW > 0 ? Math.max(0, OBLIQUE_CATEGORY_LABEL_GAP + seriesLabelW - depth2 * shear.x / (2 * rows)) : 0;
|
|
@@ -38603,13 +38684,13 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38603
38684
|
gridlines: [],
|
|
38604
38685
|
labels: []
|
|
38605
38686
|
};
|
|
38606
|
-
layout.bars =
|
|
38607
|
-
layout.gridlines =
|
|
38687
|
+
layout.bars = chunkSTKGUT5S_cjs.buildBars(chartData, vm, layout, { nCat, slots, rows, gapWidth, gapDepth });
|
|
38688
|
+
layout.gridlines = chunkSTKGUT5S_cjs.buildGridlines(layout);
|
|
38608
38689
|
layout.labels = buildObliqueLabels(layout, {
|
|
38609
38690
|
fontSize: labelFont,
|
|
38610
38691
|
categories: catLabels,
|
|
38611
38692
|
seriesNames: chartData.series.map((s) => s.name),
|
|
38612
|
-
valueText: (v) =>
|
|
38693
|
+
valueText: (v) => chunkSTKGUT5S_cjs.formatValueLabel(chartData, grouping, v)
|
|
38613
38694
|
});
|
|
38614
38695
|
return layout;
|
|
38615
38696
|
}
|
|
@@ -38622,7 +38703,7 @@ function buildPerspGridlines(box, range, horizontal) {
|
|
|
38622
38703
|
{ from: [w, 0, 0], to: [w, 0, d] }
|
|
38623
38704
|
];
|
|
38624
38705
|
const span = range.max - range.min;
|
|
38625
|
-
for (const v of
|
|
38706
|
+
for (const v of chunkYRHK45AB_cjs.axisTickValues({ ...range, span })) {
|
|
38626
38707
|
const t = (v - range.min) / span;
|
|
38627
38708
|
if (horizontal) {
|
|
38628
38709
|
const x = t * w;
|
|
@@ -38648,11 +38729,11 @@ function buildPerspLabels(layout, input) {
|
|
|
38648
38729
|
const span = range.max - range.min;
|
|
38649
38730
|
const labels = [];
|
|
38650
38731
|
const fontSize = input.fontSize;
|
|
38651
|
-
for (const v of
|
|
38732
|
+
for (const v of chunkYRHK45AB_cjs.axisTickValues({ ...range, span })) {
|
|
38652
38733
|
const t = (v - range.min) / span;
|
|
38653
|
-
const text3 = input.percent ? `${Math.round(v * 100)}%` :
|
|
38734
|
+
const text3 = input.percent ? `${Math.round(v * 100)}%` : chunkYRHK45AB_cjs.formatAxisValueWithUnits(v, input.valueAxis);
|
|
38654
38735
|
if (layout.horizontal) {
|
|
38655
|
-
const at =
|
|
38736
|
+
const at = chunkSTKGUT5S_cjs.perspToScreen(view, [t * w, 0, 0]);
|
|
38656
38737
|
labels.push({
|
|
38657
38738
|
role: "value",
|
|
38658
38739
|
text: text3,
|
|
@@ -38662,7 +38743,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38662
38743
|
fontSize
|
|
38663
38744
|
});
|
|
38664
38745
|
} else {
|
|
38665
|
-
const at =
|
|
38746
|
+
const at = chunkSTKGUT5S_cjs.perspToScreen(view, [0, t * h, 0]);
|
|
38666
38747
|
labels.push({ role: "value", text: text3, x: at.x - VALUE_GAP2, y: at.y, anchor: "end", fontSize });
|
|
38667
38748
|
}
|
|
38668
38749
|
}
|
|
@@ -38672,7 +38753,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38672
38753
|
return;
|
|
38673
38754
|
}
|
|
38674
38755
|
if (layout.horizontal) {
|
|
38675
|
-
const at2 =
|
|
38756
|
+
const at2 = chunkSTKGUT5S_cjs.perspToScreen(view, [0, pos, 0]);
|
|
38676
38757
|
labels.push({
|
|
38677
38758
|
role: "category",
|
|
38678
38759
|
text: text3,
|
|
@@ -38683,7 +38764,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38683
38764
|
});
|
|
38684
38765
|
return;
|
|
38685
38766
|
}
|
|
38686
|
-
const at =
|
|
38767
|
+
const at = chunkSTKGUT5S_cjs.perspToScreen(view, [pos, 0, 0]);
|
|
38687
38768
|
labels.push({
|
|
38688
38769
|
role: "category",
|
|
38689
38770
|
text: text3,
|
|
@@ -38696,7 +38777,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38696
38777
|
const rows = input.seriesNames.length;
|
|
38697
38778
|
input.seriesNames.forEach((text3, s) => {
|
|
38698
38779
|
const z = layout.kind === "surface" ? rows > 1 ? s / (rows - 1) * d : d / 2 : (s + 0.5) / rows * d;
|
|
38699
|
-
const at =
|
|
38780
|
+
const at = chunkSTKGUT5S_cjs.perspToScreen(view, [w, 0, z]);
|
|
38700
38781
|
labels.push({
|
|
38701
38782
|
role: "series",
|
|
38702
38783
|
text: text3,
|
|
@@ -38802,16 +38883,16 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
38802
38883
|
const valueExtent = horizontal ? 1 : baseHeight * heightScale;
|
|
38803
38884
|
const catExtent = horizontal ? HORIZONTAL_CATEGORY_EXTENT * heightScale : 1;
|
|
38804
38885
|
const box = horizontal ? { w: valueExtent, h: catExtent, d } : { w: 1, h: valueExtent, d };
|
|
38805
|
-
const camera = options.oblique ?
|
|
38886
|
+
const camera = options.oblique ? chunkSTKGUT5S_cjs.perspObliqueCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20) : chunkSTKGUT5S_cjs.perspCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20, view3D?.perspective ?? void 0);
|
|
38806
38887
|
const hasLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38807
|
-
const view =
|
|
38888
|
+
const view = chunkSTKGUT5S_cjs.fitPerspView(camera, {
|
|
38808
38889
|
left: RECT_LEFT,
|
|
38809
38890
|
right: vm.svgWidth - (rows > 1 ? RECT_RIGHT_WITH_SERIES : RECT_RIGHT_NO_SERIES),
|
|
38810
38891
|
top: vm.title ? RECT_TOP_WITH_TITLE : RECT_TOP_NO_TITLE,
|
|
38811
38892
|
bottom: vm.svgHeight - (hasLegend ? RECT_BOTTOM_WITH_LEGEND : RECT_BOTTOM_NO_LEGEND)
|
|
38812
38893
|
});
|
|
38813
38894
|
const [lo, hi] = dataExtent2(chartData, grouping, nCat);
|
|
38814
|
-
const auto =
|
|
38895
|
+
const auto = chunkYRHK45AB_cjs.niceValueAxisBounds(lo, hi, chunkYRHK45AB_cjs.axisTargetIntervals(view.focal * valueExtent), 0);
|
|
38815
38896
|
const min = typeof valAx?.min === "number" ? valAx.min : auto.min;
|
|
38816
38897
|
let max = typeof valAx?.max === "number" ? valAx.max : auto.max;
|
|
38817
38898
|
if (max <= min) {
|
|
@@ -38903,7 +38984,7 @@ function buildBarGeometry(element, vm) {
|
|
|
38903
38984
|
}
|
|
38904
38985
|
var PERSP_BOX_TYPES = /* @__PURE__ */ new Set(["line3D", "area3D", "surface", "bar3D"]);
|
|
38905
38986
|
function buildPieGeometry(element, vm) {
|
|
38906
|
-
const layout =
|
|
38987
|
+
const layout = chunkSTKGUT5S_cjs.computePieChartLayout(element, chunkSTKGUT5S_cjs.widenPieViewModel(vm, element));
|
|
38907
38988
|
return layout ? { kind: "pie", layout } : null;
|
|
38908
38989
|
}
|
|
38909
38990
|
function buildPerspGeometry(element, vm, oblique) {
|
|
@@ -38923,7 +39004,7 @@ function buildChart3DSpecForElement(element) {
|
|
|
38923
39004
|
if (!chartData || !is3DChartType(chartType)) {
|
|
38924
39005
|
return null;
|
|
38925
39006
|
}
|
|
38926
|
-
const vm =
|
|
39007
|
+
const vm = chunkYRHK45AB_cjs.buildChartViewModel(element);
|
|
38927
39008
|
const projection = resolveChart3DProjection(chartType, chartData.view3D);
|
|
38928
39009
|
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;
|
|
38929
39010
|
if (!geometry) {
|
|
@@ -53021,7 +53102,7 @@ function axisTitle(current, show) {
|
|
|
53021
53102
|
return show ? current || AXIS_TITLE : void 0;
|
|
53022
53103
|
}
|
|
53023
53104
|
function applyChartQuickLayout(chartData, layout) {
|
|
53024
|
-
const withGrid = patchChartData(chartData,
|
|
53105
|
+
const withGrid = patchChartData(chartData, chunkYRHK45AB_cjs.chartGridlinesPatch(chartData, layout.majorGridlines));
|
|
53025
53106
|
const axes = (withGrid.axes ?? []).map((axis) => {
|
|
53026
53107
|
if (axis.axisType === "valAx") {
|
|
53027
53108
|
return {
|
|
@@ -53075,7 +53156,7 @@ function matchesLayout(chartData, layout) {
|
|
|
53075
53156
|
const legend = style.hasLegend ? style.legendPosition ?? "r" : null;
|
|
53076
53157
|
const isBar = chartData.chartType === "bar" || chartData.chartType === "bar3D";
|
|
53077
53158
|
const barMatches = !isBar || (chartData.barGapWidth ?? 150) === layout.gapWidth && (chartData.barOverlap ?? 0) === layout.overlap;
|
|
53078
|
-
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 &&
|
|
53159
|
+
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 && chunkYRHK45AB_cjs.chartGridlinesState(chartData) === layout.majorGridlines && Boolean(valAxis?.minorGridlines) === layout.minorGridlines && !valAxis?.deleted === layout.valueAxis;
|
|
53079
53160
|
}
|
|
53080
53161
|
var CHART_QUICK_LAYOUT_GALLERY = {
|
|
53081
53162
|
build(ctx) {
|
|
@@ -58524,7 +58605,7 @@ function isSeriesUsingSecondaryAxis(chartData, seriesIndex) {
|
|
|
58524
58605
|
if (!series) {
|
|
58525
58606
|
return false;
|
|
58526
58607
|
}
|
|
58527
|
-
return
|
|
58608
|
+
return chunkYRHK45AB_cjs.isSeriesOnSecondaryAxis(series, chartData.axes);
|
|
58528
58609
|
}
|
|
58529
58610
|
function resolveSecondaryAxisId(chartData, useSecondary) {
|
|
58530
58611
|
const axPos = useSecondary ? "r" : "l";
|
|
@@ -59052,8 +59133,8 @@ async function embedImagesOnClone(root) {
|
|
|
59052
59133
|
}
|
|
59053
59134
|
|
|
59054
59135
|
// src/pptx/render/foreign-object-svg-document.ts
|
|
59055
|
-
function
|
|
59056
|
-
return
|
|
59136
|
+
function cssCdata(css) {
|
|
59137
|
+
return `<![CDATA[${css.replaceAll("]]>", "]]]]><![CDATA[>")}]]>`;
|
|
59057
59138
|
}
|
|
59058
59139
|
async function buildForeignObjectSvgBody(element, doc, options) {
|
|
59059
59140
|
const {
|
|
@@ -59062,19 +59143,19 @@ async function buildForeignObjectSvgBody(element, doc, options) {
|
|
|
59062
59143
|
backgroundColor,
|
|
59063
59144
|
readComputedStyle = (el) => window.getComputedStyle(el)
|
|
59064
59145
|
} = options;
|
|
59065
|
-
await
|
|
59146
|
+
await chunkXIQMFSNG_cjs.settleThreeViews(element);
|
|
59066
59147
|
const clone = element.cloneNode(true);
|
|
59067
59148
|
inlineComputedStylesOnClone(element, clone, readComputedStyle);
|
|
59068
|
-
|
|
59069
|
-
|
|
59149
|
+
chunkXIQMFSNG_cjs.snapshotThreeViewsIntoClone(element, clone);
|
|
59150
|
+
chunkXIQMFSNG_cjs.prepareExportClone(clone);
|
|
59070
59151
|
const [{ allEmbedded: imagesEmbedded }, externalFonts] = await Promise.all([
|
|
59071
59152
|
embedImagesOnClone(clone),
|
|
59072
59153
|
collectExternalFontFaceCss(doc, fetchAsDataUrl)
|
|
59073
59154
|
]);
|
|
59074
59155
|
const allEmbedded = imagesEmbedded && externalFonts.allEmbedded;
|
|
59075
59156
|
const fontFaceCss = [collectFontFaceCss(doc), externalFonts.css].filter(Boolean).join("\n\n");
|
|
59076
|
-
const defs = fontFaceCss ? `<defs><style type="text/css"
|
|
59077
|
-
const bgRect = backgroundColor ? `<rect width="${width}" height="${height}" fill="${
|
|
59157
|
+
const defs = fontFaceCss ? `<defs><style type="text/css">${cssCdata(fontFaceCss)}</style></defs>` : "";
|
|
59158
|
+
const bgRect = backgroundColor ? `<rect width="${width}" height="${height}" fill="${escapeSvgAttr(backgroundColor)}" />` : "";
|
|
59078
59159
|
const bodyMarkup = [
|
|
59079
59160
|
defs,
|
|
59080
59161
|
bgRect,
|
|
@@ -59892,7 +59973,7 @@ function editGeometryBounds(geometry) {
|
|
|
59892
59973
|
}
|
|
59893
59974
|
return { minX, minY, maxX, maxY };
|
|
59894
59975
|
}
|
|
59895
|
-
function
|
|
59976
|
+
function fmt3(value) {
|
|
59896
59977
|
return String(Math.round(value * 1e3) / 1e3);
|
|
59897
59978
|
}
|
|
59898
59979
|
function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POINTS_PATH_SCALE) {
|
|
@@ -59907,7 +59988,7 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
|
|
|
59907
59988
|
const segments = [];
|
|
59908
59989
|
const start = pt(sub.nodes[0]);
|
|
59909
59990
|
segments.push({ type: "moveTo", pt: start });
|
|
59910
|
-
svg2.push(`M ${
|
|
59991
|
+
svg2.push(`M ${fmt3(start.x)} ${fmt3(start.y)}`);
|
|
59911
59992
|
sub.segments.forEach((seg, i) => {
|
|
59912
59993
|
if (sub.closed && seg.kind === "line" && i === sub.segments.length - 1) {
|
|
59913
59994
|
return;
|
|
@@ -59915,13 +59996,13 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
|
|
|
59915
59996
|
const end = pt(sub.nodes[(i + 1) % sub.nodes.length]);
|
|
59916
59997
|
if (seg.kind === "line") {
|
|
59917
59998
|
segments.push({ type: "lineTo", pt: end });
|
|
59918
|
-
svg2.push(`L ${
|
|
59999
|
+
svg2.push(`L ${fmt3(end.x)} ${fmt3(end.y)}`);
|
|
59919
60000
|
} else {
|
|
59920
60001
|
const c1 = pt(seg.c1);
|
|
59921
60002
|
const c2 = pt(seg.c2);
|
|
59922
60003
|
segments.push({ type: "cubicBezTo", pts: [c1, c2, end] });
|
|
59923
60004
|
svg2.push(
|
|
59924
|
-
`C ${
|
|
60005
|
+
`C ${fmt3(c1.x)} ${fmt3(c1.y)} ${fmt3(c2.x)} ${fmt3(c2.y)} ${fmt3(end.x)} ${fmt3(end.y)}`
|
|
59925
60006
|
);
|
|
59926
60007
|
}
|
|
59927
60008
|
});
|
|
@@ -61406,7 +61487,7 @@ var HANDLE_ANCHORS = [
|
|
|
61406
61487
|
["sw", 0, 1],
|
|
61407
61488
|
["w", 0, 0.5]
|
|
61408
61489
|
];
|
|
61409
|
-
function
|
|
61490
|
+
function fmt4(n) {
|
|
61410
61491
|
return String(Math.round(n * 1e3) / 1e3);
|
|
61411
61492
|
}
|
|
61412
61493
|
function handleFor(id, fx, fy, frameW, frameH, len, thick) {
|
|
@@ -61415,7 +61496,7 @@ function handleFor(id, fx, fy, frameW, frameH, len, thick) {
|
|
|
61415
61496
|
const height = fy === 0.5 ? len : isCorner ? len : thick;
|
|
61416
61497
|
const left = fx === 0 ? 0 : fx === 1 ? frameW - width : frameW / 2 - width / 2;
|
|
61417
61498
|
const top = fy === 0 ? 0 : fy === 1 ? frameH - height : frameH / 2 - height / 2;
|
|
61418
|
-
let path = `M0 0 H${
|
|
61499
|
+
let path = `M0 0 H${fmt4(width)} V${fmt4(height)} H0 Z`;
|
|
61419
61500
|
if (isCorner) {
|
|
61420
61501
|
const x0 = fx === 0 ? 0 : len;
|
|
61421
61502
|
const y0 = fy === 0 ? 0 : len;
|
|
@@ -61429,7 +61510,7 @@ function handleFor(id, fx, fy, frameW, frameH, len, thick) {
|
|
|
61429
61510
|
[x0 + sx * thick, y0 + sy * len],
|
|
61430
61511
|
[x0, y0 + sy * len]
|
|
61431
61512
|
];
|
|
61432
|
-
path = `M${pts.map(([x, y]) => `${
|
|
61513
|
+
path = `M${pts.map(([x, y]) => `${fmt4(x)} ${fmt4(y)}`).join(" L")} Z`;
|
|
61433
61514
|
}
|
|
61434
61515
|
return { id, left, top, width, height, path, cursor: CURSORS[id] };
|
|
61435
61516
|
}
|
|
@@ -61447,8 +61528,8 @@ function buildCropOverlay(el, zoom = 1) {
|
|
|
61447
61528
|
};
|
|
61448
61529
|
const hx = frame.x - image.x;
|
|
61449
61530
|
const hy = frame.y - image.y;
|
|
61450
|
-
const outer2 = `M0 0 H${
|
|
61451
|
-
const hole = `M${
|
|
61531
|
+
const outer2 = `M0 0 H${fmt4(image.width)} V${fmt4(image.height)} H0 Z`;
|
|
61532
|
+
const hole = `M${fmt4(hx)} ${fmt4(hy)} H${fmt4(hx + frame.width)} V${fmt4(hy + frame.height)} H${fmt4(hx)} Z`;
|
|
61452
61533
|
const flips = [
|
|
61453
61534
|
start.flipHorizontal ? "scaleX(-1)" : "",
|
|
61454
61535
|
start.flipVertical ? "scaleY(-1)" : ""
|
|
@@ -64489,6 +64570,30 @@ function applySorterAction(state, slides, action, active2) {
|
|
|
64489
64570
|
}
|
|
64490
64571
|
}
|
|
64491
64572
|
|
|
64573
|
+
// src/pptx/render/viewer-root-options.ts
|
|
64574
|
+
var VIEWER_ROOT_OPTION_DEFAULTS = Object.freeze({
|
|
64575
|
+
initialSlide: 0,
|
|
64576
|
+
showToolbar: true,
|
|
64577
|
+
showThumbnails: true,
|
|
64578
|
+
showCompatibilityToasts: true
|
|
64579
|
+
});
|
|
64580
|
+
function resolveViewerRootOptions(options) {
|
|
64581
|
+
const initialSlide = options?.initialSlide;
|
|
64582
|
+
return {
|
|
64583
|
+
initialSlide: typeof initialSlide === "number" && Number.isFinite(initialSlide) ? initialSlide : VIEWER_ROOT_OPTION_DEFAULTS.initialSlide,
|
|
64584
|
+
showToolbar: options?.showToolbar ?? VIEWER_ROOT_OPTION_DEFAULTS.showToolbar,
|
|
64585
|
+
showThumbnails: options?.showThumbnails ?? VIEWER_ROOT_OPTION_DEFAULTS.showThumbnails,
|
|
64586
|
+
showCompatibilityToasts: options?.showCompatibilityToasts ?? VIEWER_ROOT_OPTION_DEFAULTS.showCompatibilityToasts
|
|
64587
|
+
};
|
|
64588
|
+
}
|
|
64589
|
+
function resolveInitialSlideIndex(initialSlide, slideCount) {
|
|
64590
|
+
if (!(slideCount > 0)) {
|
|
64591
|
+
return 0;
|
|
64592
|
+
}
|
|
64593
|
+
const requested = resolveViewerRootOptions({ initialSlide }).initialSlide;
|
|
64594
|
+
return Math.min(Math.max(Math.trunc(requested), 0), Math.trunc(slideCount) - 1);
|
|
64595
|
+
}
|
|
64596
|
+
|
|
64492
64597
|
// src/pptx/web-components/control-styles.ts
|
|
64493
64598
|
var sheetsByDocument = /* @__PURE__ */ new WeakMap();
|
|
64494
64599
|
function attachControlStyles(root, css) {
|
|
@@ -65452,9 +65557,12 @@ function defineOnce(registry2, tag, make) {
|
|
|
65452
65557
|
assertContract(registry2, tag);
|
|
65453
65558
|
if (registry2.get(tag)) return;
|
|
65454
65559
|
const ctor = make();
|
|
65455
|
-
|
|
65560
|
+
markContract(ctor);
|
|
65456
65561
|
registry2.define(tag, ctor);
|
|
65457
65562
|
}
|
|
65563
|
+
function markContract(ctor) {
|
|
65564
|
+
Object.defineProperty(ctor, CONTRACT_KEY, { value: CONTRACT_REVISION });
|
|
65565
|
+
}
|
|
65458
65566
|
function browserRegistry() {
|
|
65459
65567
|
return typeof window === "undefined" ? void 0 : window.customElements;
|
|
65460
65568
|
}
|
|
@@ -65635,6 +65743,7 @@ var OFFICE_TOKENS = {
|
|
|
65635
65743
|
"--office-launcher-height": "14px",
|
|
65636
65744
|
"--office-tab-indicator-width": "2.5px",
|
|
65637
65745
|
"--office-status-bar-height": "24px",
|
|
65746
|
+
"--office-status-bar-separator-opacity": "1",
|
|
65638
65747
|
"--office-tab-height": "28px",
|
|
65639
65748
|
"--office-tab-max-width": "220px",
|
|
65640
65749
|
"--office-zoom-slider-width": "120px",
|
|
@@ -65684,6 +65793,8 @@ var OFFICE_TOKENS = {
|
|
|
65684
65793
|
"--office-avatar-size": "48px",
|
|
65685
65794
|
"--office-avatar-color": "var(--office-muted-foreground, #6b7280)",
|
|
65686
65795
|
"--office-toast-width": "360px",
|
|
65796
|
+
"--office-comments-pane-width": "300px",
|
|
65797
|
+
"--office-comment-avatar-size": "24px",
|
|
65687
65798
|
"--office-account-field-width": "320px",
|
|
65688
65799
|
// Component: galleries
|
|
65689
65800
|
"--office-gallery-trigger-height": "24px",
|
|
@@ -65702,6 +65813,8 @@ var OFFICE_TOKENS = {
|
|
|
65702
65813
|
"--office-title-bar-mark-size": "20px",
|
|
65703
65814
|
"--office-title-bar-mark-background": "var(--office-accent, #2563eb)",
|
|
65704
65815
|
"--office-title-bar-mark-foreground": "var(--office-accent-foreground, #ffffff)",
|
|
65816
|
+
"--office-title-bar-name-foreground": "var(--office-title-bar-foreground, var(--office-foreground, #1f2937))",
|
|
65817
|
+
"--office-title-bar-result-selected": "var(--office-selected, #e5e7eb)",
|
|
65705
65818
|
"--office-title-bar-name-max-width": "240px",
|
|
65706
65819
|
"--office-title-bar-name-max-width-narrow": "140px",
|
|
65707
65820
|
"--office-title-bar-search-max-width": "448px",
|
|
@@ -68207,7 +68320,7 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68207
68320
|
var defineSelect = definer("office-ui-select", () => OfficeUiSelect);
|
|
68208
68321
|
|
|
68209
68322
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/status-bar.css?raw
|
|
68210
|
-
var status_bar_default = ":host {\n display: flex;\n align-items: center;\n gap: var(--office-space-3);\n min-height: var(--office-status-bar-height);\n padding: 0 var(--office-space-2);\n font-size: var(--office-font-size-xs);\n background: var(--office-surface);\n color: var(--office-foreground);\n border-top: var(--office-border-width) solid var(--office-border);\n font-family: var(--office-font);\n}\n::slotted([slot='end']) {\n margin-inline-start: auto;\n}\n.bar {\n display: contents;\n}\n[hidden] {\n display: none !important;\n}\n:host([data-controlled]) {\n display: block;\n flex: none;\n padding: 0;\n gap: 0;\n}\n:host([data-controlled]) .bar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--office-space-1);\n width: 100%;\n min-height: var(--office-status-bar-height);\n padding: var(--office-space-0) var(--office-space-2);\n color: var(--office-muted-foreground);\n}\n:host([data-controlled]) ::slotted([slot='end']) {\n margin-inline-start: 0;\n}\n.items {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.item {\n flex: none;\n white-space: nowrap;\n}\n.item + .item::before {\n content: '';\n display: inline-block;\n width: var(--office-border-width);\n height: var(--office-space-3);\n margin: 0 var(--office-space-2);\n vertical-align: middle;\n background: var(--office-border);\n}\n.item.saving {\n color: var(--office-warning);\n}\n.item.error {\n color: var(--office-danger);\n}\n.spacer {\n flex: 1;\n}\n.toggles,\n.group {\n display: flex;\n align-items: center;\n gap: var(--office-space-0);\n}\n.sep {\n flex: none;\n width: var(--office-border-width);\n height: var(--office-space-3);\n margin: 0 var(--office-space-0);\n background: var(--office-border);\n}\n.bar 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-xs);\n min-height: var(--office-control-height-xs);\n padding: var(--office-space-1);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: inherit;\n font: inherit;\n cursor: pointer;\n touch-action: manipulation;\n}\n.bar button:hover {\n background: var(--office-selected);\n color: var(--office-foreground);\n}\n.bar button[aria-pressed='true'] {\n color: var(--office-accent);\n}\n.bar button:active {\n opacity: 0.8;\n}\n.bar button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n.bar svg {\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.toggle svg,\n.zoom-step svg {\n width: var(--office-icon-size-sm);\n height: var(--office-icon-size-sm);\n}\n.zoom-fit {\n min-width: var(--office-zoom-value-width);\n font-variant-numeric: tabular-nums;\n}\n@media (max-width: 767px) {\n .narrow-hide,\n .toggle .label {\n display: none !important;\n }\n}\n@media (pointer: coarse) {\n .bar button {\n min-width: var(--office-target-size-touch);\n min-height: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n :host {\n background: Canvas;\n color: CanvasText;\n border-top-color: CanvasText;\n }\n .bar button {\n color: ButtonText;\n }\n .bar button:hover {\n background: Highlight;\n color: HighlightText;\n }\n .bar button[aria-pressed='true'] {\n border: var(--office-border-width) solid Highlight;\n }\n .bar button:focus-visible {\n outline-color: Highlight;\n }\n .sep,\n .item + .item::before {\n background: CanvasText;\n }\n}\n";
|
|
68323
|
+
var status_bar_default = ":host {\n display: flex;\n align-items: center;\n gap: var(--office-space-3);\n min-height: var(--office-status-bar-height);\n padding: 0 var(--office-space-2);\n font-size: var(--office-font-size-xs);\n background: var(--office-surface);\n color: var(--office-foreground);\n border-top: var(--office-border-width) solid var(--office-border);\n font-family: var(--office-font);\n}\n::slotted([slot='end']) {\n margin-inline-start: auto;\n}\n.bar {\n display: contents;\n}\n[hidden] {\n display: none !important;\n}\n:host([data-controlled]) {\n display: block;\n flex: none;\n padding: 0;\n gap: 0;\n}\n:host([data-controlled]) .bar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--office-space-1);\n width: 100%;\n min-height: var(--office-status-bar-height);\n padding: var(--office-space-0) var(--office-space-2);\n color: var(--office-muted-foreground);\n}\n:host([data-controlled]) ::slotted([slot='end']) {\n margin-inline-start: 0;\n}\n.items {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.item {\n flex: none;\n white-space: nowrap;\n}\n.item + .item::before {\n content: '';\n display: inline-block;\n width: var(--office-border-width);\n height: var(--office-space-3);\n margin: 0 var(--office-space-2);\n vertical-align: middle;\n background: var(--office-border);\n opacity: var(--office-status-bar-separator-opacity);\n}\n.item.saving {\n color: var(--office-warning);\n}\n.item.error {\n color: var(--office-danger);\n}\n.spacer {\n flex: 1;\n}\n.toggles,\n.group {\n display: flex;\n align-items: center;\n gap: var(--office-space-0);\n}\n.sep {\n flex: none;\n width: var(--office-border-width);\n height: var(--office-space-3);\n margin: 0 var(--office-space-0);\n background: var(--office-border);\n opacity: var(--office-status-bar-separator-opacity);\n}\n.bar 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-xs);\n min-height: var(--office-control-height-xs);\n padding: var(--office-space-1);\n border: 0;\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: inherit;\n font: inherit;\n cursor: pointer;\n touch-action: manipulation;\n}\n.bar button:hover {\n background: var(--office-selected);\n color: var(--office-foreground);\n}\n.bar button[aria-pressed='true'] {\n color: var(--office-accent);\n}\n.bar button:active {\n opacity: 0.8;\n}\n.bar button:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n.bar svg {\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.toggle svg,\n.zoom-step svg {\n width: var(--office-icon-size-sm);\n height: var(--office-icon-size-sm);\n}\n.zoom-fit {\n min-width: var(--office-zoom-value-width);\n font-variant-numeric: tabular-nums;\n}\n@media (max-width: 767px) {\n .narrow-hide,\n .toggle .label {\n display: none !important;\n }\n}\n@media (pointer: coarse) {\n .bar button {\n min-width: var(--office-target-size-touch);\n min-height: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n :host {\n background: Canvas;\n color: CanvasText;\n border-top-color: CanvasText;\n }\n .bar button {\n color: ButtonText;\n }\n .bar button:hover {\n background: Highlight;\n color: HighlightText;\n }\n .bar button[aria-pressed='true'] {\n border: var(--office-border-width) solid Highlight;\n }\n .bar button:focus-visible {\n outline-color: Highlight;\n }\n .sep,\n .item + .item::before {\n background: CanvasText;\n }\n}\n";
|
|
68211
68324
|
|
|
68212
68325
|
// src/chrome/status-bar.ts
|
|
68213
68326
|
var OfficeUiStatusBar = class extends OfficeElement {
|
|
@@ -68298,6 +68411,7 @@ var OfficeUiStatusBar = class extends OfficeElement {
|
|
|
68298
68411
|
</span>
|
|
68299
68412
|
<slot></slot>
|
|
68300
68413
|
<span class="spacer" ?hidden=${!state}></span>
|
|
68414
|
+
<slot name="summary"></slot>
|
|
68301
68415
|
<span class="toggles" ?hidden=${togglesHidden}>
|
|
68302
68416
|
${repeat_js.repeat(
|
|
68303
68417
|
toggles,
|
|
@@ -68348,7 +68462,7 @@ function matchTitleBarCommands(search, query) {
|
|
|
68348
68462
|
}
|
|
68349
68463
|
|
|
68350
68464
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/title-bar.css?raw
|
|
68351
|
-
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-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-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";
|
|
68465
|
+
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";
|
|
68352
68466
|
|
|
68353
68467
|
// src/chrome/title-bar.ts
|
|
68354
68468
|
var EMPTY = { fileName: "" };
|
|
@@ -68628,59 +68742,6 @@ var defineTitleBar = definer("office-ui-title-bar", () => OfficeUiTitleBar, [
|
|
|
68628
68742
|
defineSwitch
|
|
68629
68743
|
]);
|
|
68630
68744
|
|
|
68631
|
-
// src/pptx/web-components/status-bar-styles.ts
|
|
68632
|
-
var STATUS_BAR_BRIDGE = `
|
|
68633
|
-
:host {
|
|
68634
|
-
--office-status-bar-height: ${STATUS_BAR_METRICS.height}px;
|
|
68635
|
-
--office-surface: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 50%, transparent);
|
|
68636
|
-
--office-border: var(--pptx-border, #33334d);
|
|
68637
|
-
--office-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68638
|
-
--office-font-size-xs: 10px;
|
|
68639
|
-
--office-control-height-xs: 24px;
|
|
68640
|
-
--office-icon-stroke: 1.45;
|
|
68641
|
-
--office-warning: #facc15;
|
|
68642
|
-
--office-danger: #f87171;
|
|
68643
|
-
}
|
|
68644
|
-
.bar { font: 10px/1.2 system-ui, sans-serif; }
|
|
68645
|
-
.sep, .item + .item::before { opacity: .6; }
|
|
68646
|
-
.zoom-fit { min-width: 3rem; padding: 2px 6px; }
|
|
68647
|
-
`;
|
|
68648
|
-
|
|
68649
|
-
// src/pptx/web-components/title-bar-styles.ts
|
|
68650
|
-
var TITLE_BAR_BRIDGE = `
|
|
68651
|
-
:host {
|
|
68652
|
-
--office-title-bar-height: ${TITLE_BAR_METRICS.height}px;
|
|
68653
|
-
--office-title-bar-background: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 80%, transparent);
|
|
68654
|
-
--office-title-bar-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68655
|
-
--office-title-bar-border: color-mix(in srgb, var(--pptx-border, #33334d) 60%, transparent);
|
|
68656
|
-
--office-title-bar-mark-size: ${TITLE_BAR_METRICS.logoSize}px;
|
|
68657
|
-
--office-title-bar-mark-background: ${TITLE_BAR_METRICS.logoBackground};
|
|
68658
|
-
--office-title-bar-mark-foreground: #fff;
|
|
68659
|
-
--office-font-size-xs: ${TITLE_BAR_METRICS.fontSize}px;
|
|
68660
|
-
--office-font-size-sm: ${TITLE_BAR_METRICS.fileNameFontSize}px;
|
|
68661
|
-
--office-font-size-2xs: ${TITLE_BAR_METRICS.logoFontSize}px;
|
|
68662
|
-
--office-font-weight-medium: ${TITLE_BAR_METRICS.fileNameFontWeight};
|
|
68663
|
-
--office-icon-size: 14px;
|
|
68664
|
-
--office-icon-stroke: 1.4;
|
|
68665
|
-
--office-control-height-md: 24px;
|
|
68666
|
-
--office-selected: color-mix(in srgb, var(--pptx-accent, #33334d) 60%, transparent);
|
|
68667
|
-
--office-warning: #eab308;
|
|
68668
|
-
--office-danger: #f87171;
|
|
68669
|
-
--office-popover: var(--pptx-popover, var(--pptx-card, #1e1e2e));
|
|
68670
|
-
--office-shadow-lg: 0 14px 28px rgb(0 0 0 / 40%);
|
|
68671
|
-
}
|
|
68672
|
-
.results button[aria-selected="true"], .results button:hover { background: var(--pptx-accent, #33334d); }
|
|
68673
|
-
.name { color: var(--pptx-foreground, #f1f5f9); }
|
|
68674
|
-
.switch {
|
|
68675
|
-
--pptx-switch-width: ${TITLE_BAR_METRICS.switchTrackWidth}px; --pptx-switch-height: ${TITLE_BAR_METRICS.switchTrackHeight}px;
|
|
68676
|
-
--pptx-switch-knob-size: ${TITLE_BAR_METRICS.switchKnobSize}px; --pptx-switch-knob-offset: ${TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68677
|
-
--pptx-switch-knob-travel: ${TITLE_BAR_METRICS.switchKnobOffsetOn - TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68678
|
-
--pptx-switch-track: color-mix(in srgb, var(--pptx-muted-foreground, #a5a5b5) 40%, transparent);
|
|
68679
|
-
--pptx-switch-thumb: #fff;
|
|
68680
|
-
}
|
|
68681
|
-
@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) { :host { display: none !important; } }
|
|
68682
|
-
`;
|
|
68683
|
-
|
|
68684
68745
|
// src/pptx/web-components/office-token-bridge.ts
|
|
68685
68746
|
var BASE = `
|
|
68686
68747
|
--office-font: system-ui, sans-serif;
|
|
@@ -68738,9 +68799,53 @@ var BASE = `
|
|
|
68738
68799
|
--office-switch-thumb: ${tok("--pptx-switch-thumb")};
|
|
68739
68800
|
--office-switch-thumb-on: ${tok("--pptx-switch-thumb")};
|
|
68740
68801
|
`;
|
|
68802
|
+
var TITLE_BAR = `:host {
|
|
68803
|
+
--office-title-bar-height: ${TITLE_BAR_METRICS.height}px;
|
|
68804
|
+
--office-title-bar-background: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 80%, transparent);
|
|
68805
|
+
--office-title-bar-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68806
|
+
--office-title-bar-name-foreground: var(--pptx-foreground, #f1f5f9);
|
|
68807
|
+
--office-title-bar-border: color-mix(in srgb, var(--pptx-border, #33334d) 60%, transparent);
|
|
68808
|
+
--office-title-bar-mark-size: ${TITLE_BAR_METRICS.logoSize}px;
|
|
68809
|
+
--office-title-bar-mark-background: ${TITLE_BAR_METRICS.logoBackground};
|
|
68810
|
+
--office-title-bar-mark-foreground: #fff;
|
|
68811
|
+
--office-title-bar-result-selected: var(--pptx-accent, #33334d);
|
|
68812
|
+
--office-font-size-xs: ${TITLE_BAR_METRICS.fontSize}px;
|
|
68813
|
+
--office-font-size-sm: ${TITLE_BAR_METRICS.fileNameFontSize}px;
|
|
68814
|
+
--office-font-size-2xs: ${TITLE_BAR_METRICS.logoFontSize}px;
|
|
68815
|
+
--office-font-weight-medium: ${TITLE_BAR_METRICS.fileNameFontWeight};
|
|
68816
|
+
--office-icon-size: 14px;
|
|
68817
|
+
--office-icon-stroke: 1.4;
|
|
68818
|
+
--office-control-height-md: 24px;
|
|
68819
|
+
--office-selected: color-mix(in srgb, var(--pptx-accent, #33334d) 60%, transparent);
|
|
68820
|
+
--office-warning: #eab308;
|
|
68821
|
+
--office-danger: #f87171;
|
|
68822
|
+
--office-popover: var(--pptx-popover, var(--pptx-card, #1e1e2e));
|
|
68823
|
+
--office-shadow-lg: 0 14px 28px rgb(0 0 0 / 40%);
|
|
68824
|
+
--pptx-switch-width: ${TITLE_BAR_METRICS.switchTrackWidth}px;
|
|
68825
|
+
--pptx-switch-height: ${TITLE_BAR_METRICS.switchTrackHeight}px;
|
|
68826
|
+
--pptx-switch-knob-size: ${TITLE_BAR_METRICS.switchKnobSize}px;
|
|
68827
|
+
--pptx-switch-knob-offset: ${TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68828
|
+
--pptx-switch-knob-travel: ${TITLE_BAR_METRICS.switchKnobOffsetOn - TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68829
|
+
--pptx-switch-track: color-mix(in srgb, var(--pptx-muted-foreground, #a5a5b5) 40%, transparent);
|
|
68830
|
+
--pptx-switch-thumb: #fff;
|
|
68831
|
+
}
|
|
68832
|
+
@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) { :host { display: none !important; } }`;
|
|
68833
|
+
var STATUS_BAR = `:host {
|
|
68834
|
+
--office-status-bar-height: ${STATUS_BAR_METRICS.height}px;
|
|
68835
|
+
--office-status-bar-separator-opacity: 0.6;
|
|
68836
|
+
--office-surface: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 50%, transparent);
|
|
68837
|
+
--office-border: var(--pptx-border, #33334d);
|
|
68838
|
+
--office-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68839
|
+
--office-font-size-xs: 10px;
|
|
68840
|
+
--office-control-height-xs: 24px;
|
|
68841
|
+
--office-icon-stroke: 1.45;
|
|
68842
|
+
--office-warning: #facc15;
|
|
68843
|
+
--office-danger: #f87171;
|
|
68844
|
+
line-height: 1.2;
|
|
68845
|
+
}`;
|
|
68741
68846
|
var EXTRAS = {
|
|
68742
|
-
"pptx-ui-title-bar":
|
|
68743
|
-
"pptx-ui-status-bar":
|
|
68847
|
+
"pptx-ui-title-bar": TITLE_BAR,
|
|
68848
|
+
"pptx-ui-status-bar": STATUS_BAR,
|
|
68744
68849
|
"pptx-ui-ribbon-gallery": `:host { --office-foreground: var(--pptx-foreground, #f9fafb); --office-background: var(--pptx-background, #111827);
|
|
68745
68850
|
--office-gallery-strip-background: color-mix(in srgb, var(--pptx-muted, #2a2a3d) 30%, transparent);
|
|
68746
68851
|
--office-command-icon-color: var(--pptx-primary, #6366f1); --office-z-popover: 1200;
|
|
@@ -69666,21 +69771,21 @@ function definePptxPresenterConsole(registry2) {
|
|
|
69666
69771
|
}
|
|
69667
69772
|
|
|
69668
69773
|
// src/pptx/web-components/registration-contract.ts
|
|
69669
|
-
var
|
|
69670
|
-
var CONTRACT_KEY2 = /* @__PURE__ */ Symbol.for("pptx-viewer.web-control-contract");
|
|
69774
|
+
var LEGACY_KEY = /* @__PURE__ */ Symbol.for("pptx-viewer.web-control-contract");
|
|
69671
69775
|
function assertWebControlContract(registry2, names) {
|
|
69672
69776
|
for (const name of names) {
|
|
69673
|
-
|
|
69674
|
-
const revision =
|
|
69675
|
-
if (revision !== void 0 && revision !==
|
|
69777
|
+
assertContract(registry2, name);
|
|
69778
|
+
const revision = registry2.get(name)?.[LEGACY_KEY];
|
|
69779
|
+
if (revision !== void 0 && revision !== CONTRACT_REVISION) {
|
|
69676
69780
|
throw new Error(
|
|
69677
|
-
`Incompatible ${name} contract (${revision}; expected ${
|
|
69781
|
+
`Incompatible ${name} contract (${revision}; expected ${CONTRACT_REVISION}). Use matching viewer bindings in this window.`
|
|
69678
69782
|
);
|
|
69679
69783
|
}
|
|
69680
69784
|
}
|
|
69681
69785
|
}
|
|
69682
69786
|
function markWebControlContract(ctor) {
|
|
69683
|
-
|
|
69787
|
+
markContract(ctor);
|
|
69788
|
+
Object.defineProperty(ctor, LEGACY_KEY, { value: CONTRACT_REVISION });
|
|
69684
69789
|
}
|
|
69685
69790
|
|
|
69686
69791
|
// src/pptx/web-components/ribbon-scoped-styles.ts
|
|
@@ -74165,7 +74270,7 @@ function applyChart3DDrag(bridge, detail) {
|
|
|
74165
74270
|
return;
|
|
74166
74271
|
}
|
|
74167
74272
|
bridge.commitChartData(
|
|
74168
|
-
|
|
74273
|
+
chunkSTKGUT5S_cjs.withChartPointValue(bridge.chartData, part.seriesIndex, part.pointIndex, value)
|
|
74169
74274
|
);
|
|
74170
74275
|
}
|
|
74171
74276
|
function detailOf(event) {
|
|
@@ -74642,7 +74747,7 @@ function calculateNotesPageLayout(slideWidth, slideHeight) {
|
|
|
74642
74747
|
};
|
|
74643
74748
|
}
|
|
74644
74749
|
function wrapNotesText(text3, maxWidth, fontSize) {
|
|
74645
|
-
return
|
|
74750
|
+
return chunkYRHK45AB_cjs.wrapTextByEstimatedWidth(text3, maxWidth, fontSize, { keepBlankLines: true });
|
|
74646
74751
|
}
|
|
74647
74752
|
function calculateContinuationPageMaxLines() {
|
|
74648
74753
|
const contentHeight = NOTES_PAGE_H - 2 * NOTES_MARGIN;
|
|
@@ -76154,6 +76259,22 @@ Object.defineProperty(exports, "withChartUserShapeUpdated", {
|
|
|
76154
76259
|
enumerable: true,
|
|
76155
76260
|
get: function () { return chartUserShapeEdit.withChartUserShapeUpdated; }
|
|
76156
76261
|
});
|
|
76262
|
+
Object.defineProperty(exports, "bulletIndentPx", {
|
|
76263
|
+
enumerable: true,
|
|
76264
|
+
get: function () { return bulletList.bulletIndentPx; }
|
|
76265
|
+
});
|
|
76266
|
+
Object.defineProperty(exports, "resolveParagraphBullet", {
|
|
76267
|
+
enumerable: true,
|
|
76268
|
+
get: function () { return bulletList.resolveParagraphBullet; }
|
|
76269
|
+
});
|
|
76270
|
+
Object.defineProperty(exports, "resolveParagraphIndent", {
|
|
76271
|
+
enumerable: true,
|
|
76272
|
+
get: function () { return bulletList.resolveParagraphIndent; }
|
|
76273
|
+
});
|
|
76274
|
+
Object.defineProperty(exports, "resolvePictureBullet", {
|
|
76275
|
+
enumerable: true,
|
|
76276
|
+
get: function () { return bulletList.resolvePictureBullet; }
|
|
76277
|
+
});
|
|
76157
76278
|
Object.defineProperty(exports, "canMergeCells", {
|
|
76158
76279
|
enumerable: true,
|
|
76159
76280
|
get: function () { return tableMerge.canMergeCells; }
|
|
@@ -76214,6 +76335,10 @@ Object.defineProperty(exports, "setCellText", {
|
|
|
76214
76335
|
enumerable: true,
|
|
76215
76336
|
get: function () { return tableCellEdit.setCellText; }
|
|
76216
76337
|
});
|
|
76338
|
+
Object.defineProperty(exports, "withCellStyle", {
|
|
76339
|
+
enumerable: true,
|
|
76340
|
+
get: function () { return tableCellEdit.withCellStyle; }
|
|
76341
|
+
});
|
|
76217
76342
|
Object.defineProperty(exports, "withCellText", {
|
|
76218
76343
|
enumerable: true,
|
|
76219
76344
|
get: function () { return tableCellEdit.withCellText; }
|
|
@@ -76550,22 +76675,6 @@ Object.defineProperty(exports, "romanNumeral", {
|
|
|
76550
76675
|
enumerable: true,
|
|
76551
76676
|
get: function () { return bulletAutonum.romanNumeral; }
|
|
76552
76677
|
});
|
|
76553
|
-
Object.defineProperty(exports, "bulletIndentPx", {
|
|
76554
|
-
enumerable: true,
|
|
76555
|
-
get: function () { return bulletList.bulletIndentPx; }
|
|
76556
|
-
});
|
|
76557
|
-
Object.defineProperty(exports, "resolveParagraphBullet", {
|
|
76558
|
-
enumerable: true,
|
|
76559
|
-
get: function () { return bulletList.resolveParagraphBullet; }
|
|
76560
|
-
});
|
|
76561
|
-
Object.defineProperty(exports, "resolveParagraphIndent", {
|
|
76562
|
-
enumerable: true,
|
|
76563
|
-
get: function () { return bulletList.resolveParagraphIndent; }
|
|
76564
|
-
});
|
|
76565
|
-
Object.defineProperty(exports, "resolvePictureBullet", {
|
|
76566
|
-
enumerable: true,
|
|
76567
|
-
get: function () { return bulletList.resolvePictureBullet; }
|
|
76568
|
-
});
|
|
76569
76678
|
Object.defineProperty(exports, "THEME_COLOR_LABELS", {
|
|
76570
76679
|
enumerable: true,
|
|
76571
76680
|
get: function () { return textTheme.THEME_COLOR_LABELS; }
|
|
@@ -77632,6 +77741,7 @@ exports.VIEWER_PANEL_DESCRIPTIONS = VIEWER_PANEL_DESCRIPTIONS;
|
|
|
77632
77741
|
exports.VIEWER_PANEL_IDS = VIEWER_PANEL_IDS;
|
|
77633
77742
|
exports.VIEWER_PREFERENCE_TOGGLES = VIEWER_PREFERENCE_TOGGLES;
|
|
77634
77743
|
exports.VIEWER_PREFS_STORAGE_KEY = VIEWER_PREFS_STORAGE_KEY;
|
|
77744
|
+
exports.VIEWER_ROOT_OPTION_DEFAULTS = VIEWER_ROOT_OPTION_DEFAULTS;
|
|
77635
77745
|
exports.VIEWER_SHORTCUT_REFERENCE = VIEWER_SHORTCUT_REFERENCE;
|
|
77636
77746
|
exports.VIEW_EDITABLE_COMMANDS = VIEW_EDITABLE_COMMANDS;
|
|
77637
77747
|
exports.WARP_PATH_GENERATORS = WARP_PATH_GENERATORS;
|
|
@@ -77957,6 +78067,7 @@ exports.cascadeDownPath = cascadeDownPath;
|
|
|
77957
78067
|
exports.cascadeUpPath = cascadeUpPath;
|
|
77958
78068
|
exports.cell3DBevelCss = cell3DBevelCss;
|
|
77959
78069
|
exports.cellImageFillCss = cellImageFillCss;
|
|
78070
|
+
exports.cellParagraphBlocks = cellParagraphBlocks;
|
|
77960
78071
|
exports.cellPatternFillCss = cellPatternFillCss;
|
|
77961
78072
|
exports.cellRunStyle = cellRunStyle;
|
|
77962
78073
|
exports.cellStyleToCss = cellStyleToCss;
|
|
@@ -77969,6 +78080,7 @@ exports.chartAxisTitlesState = chartAxisTitlesState;
|
|
|
77969
78080
|
exports.chartDataLabelsTogglePatch = chartDataLabelsTogglePatch;
|
|
77970
78081
|
exports.chartEventPathElements = chartEventPathElements;
|
|
77971
78082
|
exports.chartPlaceholderLabel = chartPlaceholderLabel;
|
|
78083
|
+
exports.chartStylePresetPalette = chartStylePresetPalette;
|
|
77972
78084
|
exports.chartThreeViewSpec = chartThreeViewSpec;
|
|
77973
78085
|
exports.checkModifyPassword = checkModifyPassword;
|
|
77974
78086
|
exports.checkerboardDecl = checkerboardDecl;
|
|
@@ -78146,6 +78258,7 @@ exports.cropResetState = cropResetState;
|
|
|
78146
78258
|
exports.cropSessionChanged = cropSessionChanged;
|
|
78147
78259
|
exports.cropToAspectRatio = cropToAspectRatio;
|
|
78148
78260
|
exports.cropUpdateFromRects = cropUpdateFromRects;
|
|
78261
|
+
exports.cssCdata = cssCdata;
|
|
78149
78262
|
exports.cssEasingForAccelDecel = cssEasingForAccelDecel;
|
|
78150
78263
|
exports.cssEasingForTimingCurve = cssEasingForTimingCurve;
|
|
78151
78264
|
exports.cssKeyframeName = cssKeyframeName;
|
|
@@ -79068,6 +79181,7 @@ exports.resolveHistoryDepth = resolveHistoryDepth;
|
|
|
79068
79181
|
exports.resolveHyperlinkTargetAttrs = resolveHyperlinkTargetAttrs;
|
|
79069
79182
|
exports.resolveImageResolutionPpi = resolveImageResolutionPpi;
|
|
79070
79183
|
exports.resolveImageResolutionScale = resolveImageResolutionScale;
|
|
79184
|
+
exports.resolveInitialSlideIndex = resolveInitialSlideIndex;
|
|
79071
79185
|
exports.resolveInlineEditAutoFitHeight = resolveInlineEditAutoFitHeight;
|
|
79072
79186
|
exports.resolveInlineEditNormAutofitShrink = resolveInlineEditNormAutofitShrink;
|
|
79073
79187
|
exports.resolveInsertedFieldText = resolveInsertedFieldText;
|
|
@@ -79152,6 +79266,7 @@ exports.resolveVertOverflowEllipsisStyle = resolveVertOverflowEllipsisStyle;
|
|
|
79152
79266
|
exports.resolveVerticalAnchorJustifyContent = resolveVerticalAnchorJustifyContent;
|
|
79153
79267
|
exports.resolveViewerAddinRows = resolveViewerAddinRows;
|
|
79154
79268
|
exports.resolveViewerAddinStatus = resolveViewerAddinStatus;
|
|
79269
|
+
exports.resolveViewerRootOptions = resolveViewerRootOptions;
|
|
79155
79270
|
exports.resolveViewportFitOptions = resolveViewportFitOptions;
|
|
79156
79271
|
exports.resolveVisibleRibbonTabs = resolveVisibleRibbonTabs;
|
|
79157
79272
|
exports.resolveWheelSpokeCount = resolveWheelSpokeCount;
|