ooxml-ui 1.1.0 → 1.3.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 +38 -36
- package/custom-elements.json +372 -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-JFJXBYRD.js → chunk-2WLRFPMW.js} +9 -0
- package/dist/{chunk-X7RINDJQ.js → chunk-56A2JK63.js} +1 -1
- package/dist/{chunk-KVKKXRL7.js → chunk-5OFAJDMQ.js} +93 -14
- package/dist/{chunk-M5DTJSOV.js → chunk-723JC3OC.js} +461 -16
- package/dist/{chunk-USDLALB5.js → chunk-IY7QJLQG.js} +1 -1
- package/dist/{chunk-BOX43CZD.js → chunk-M6GF5ED2.js} +2 -1
- package/dist/{chunk-BEN3453I.js → chunk-NYRRH2MD.js} +1 -1
- package/dist/{chunk-3FPW7M6U.js → chunk-TWQ45BFL.js} +1 -1
- package/dist/{chunk-ZU7GX4SY.js → chunk-V6P6KZCO.js} +7 -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 +6 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +5 -5
- package/dist/docx/comments-panel.d.ts +8 -1
- package/dist/docx/editor-chrome.d.ts +8 -1
- package/dist/docx/file-commands.d.ts +1 -1
- package/dist/docx/image-media.d.ts +1 -1
- package/dist/docx/locales/en-app.d.ts +1 -0
- package/dist/docx/locales/en-ribbon.d.ts +1 -0
- package/dist/docx/locales/en.d.ts +2 -0
- package/dist/docx/localization-strings.d.ts +2 -0
- package/dist/docx/localization.d.ts +7 -0
- 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/ribbon-actions.d.ts +22 -0
- package/dist/docx/ruler.d.ts +7 -10
- package/dist/docx/title-bar.d.ts +3 -5
- package/dist/docx.js +342 -362
- package/dist/form/gradient-preset-gallery.d.ts +2 -2
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +9 -9
- package/dist/pptx/{chart-3d-view-scene-2KRQ5667.mjs → chart-3d-view-scene-OYJ4CDCO.mjs} +4 -5
- package/dist/pptx/{chart-3d-view-scene-36DMZWZ3.cjs → chart-3d-view-scene-SE2Y6QRE.cjs} +38 -39
- package/dist/pptx/{chunk-YOGDIDPB.mjs → chunk-CIVA3MLN.mjs} +8 -2
- package/dist/pptx/{chunk-KPZWYF44.cjs → chunk-FPE5PZMI.cjs} +789 -491
- package/dist/pptx/{chunk-AIL3BNZS.cjs → chunk-IURZJAWP.cjs} +529 -387
- package/dist/pptx/{chunk-YHA6XAB3.cjs → chunk-KRMMJUCO.cjs} +83 -1
- package/dist/pptx/{chunk-Y2W4SZER.mjs → chunk-MWHGUEIJ.mjs} +637 -348
- package/dist/pptx/{chunk-YARCML7O.mjs → chunk-STLXPKJJ.mjs} +519 -388
- package/dist/pptx/{chunk-ADOC5JLI.mjs → chunk-TC7HCF5M.mjs} +76 -2
- package/dist/pptx/{chunk-CJU4P5FT.cjs → chunk-WKLHJEPD.cjs} +18 -12
- package/dist/pptx/dom/element-styles.d.ts.map +1 -1
- 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/connector.d.ts.map +1 -1
- package/dist/pptx/dom/elements/shape-filter-defs.d.ts.map +1 -1
- package/dist/pptx/dom/elements/table.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +272 -261
- package/dist/pptx/dom/index.mjs +46 -35
- package/dist/pptx/dom/slide-stage.d.ts.map +1 -1
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +3065 -2993
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/chart-3d-oblique-layout.d.ts.map +1 -1
- package/dist/pptx/render/chart-3d-persp-bars.d.ts.map +1 -1
- package/dist/pptx/render/chart-3d-persp-layout.d.ts.map +1 -1
- 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-bar-cluster-geometry.d.ts +1 -1
- package/dist/pptx/render/chart-bar-cluster-geometry.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-area.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-line-area.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-percent-stacked.d.ts.map +1 -1
- package/dist/pptx/render/chart-cartesian-stacked-labels.d.ts +11 -7
- package/dist/pptx/render/chart-cartesian-stacked-labels.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-data-label-anchor.d.ts +4 -1
- package/dist/pptx/render/chart-data-label-anchor.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-line-path.d.ts +9 -0
- package/dist/pptx/render/chart-line-path.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-plot-clip.d.ts +37 -0
- package/dist/pptx/render/chart-plot-clip.d.ts.map +1 -0
- 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 +32 -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/device-pixel-stroke.d.ts +101 -0
- package/dist/pptx/render/device-pixel-stroke.d.ts.map +1 -0
- package/dist/pptx/render/export-clone.d.ts +4 -0
- package/dist/pptx/render/export-clone.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 +3 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/stroke-outline.d.ts +6 -0
- package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
- package/dist/pptx/render/stroke-style.d.ts +8 -2
- package/dist/pptx/render/stroke-style.d.ts.map +1 -1
- package/dist/pptx/render/tab-row-actions.d.ts +40 -0
- package/dist/pptx/render/tab-row-actions.d.ts.map +1 -0
- 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-borders.d.ts.map +1 -1
- 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 +11 -3
- package/dist/pptx/render/viewer-root-options.d.ts.map +1 -1
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
- package/dist/pptx/web-components/ribbon-actions.d.ts +8 -0
- package/dist/pptx/web-components/ribbon-actions.d.ts.map +1 -0
- package/dist/presence.js +3 -3
- package/dist/ribbon/ribbon-actions.d.ts +119 -0
- package/dist/ribbon/ribbon-actions.d.ts.map +1 -0
- 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 +7 -7
- package/dist/theme.js +2 -2
- package/dist/tokens.d.ts +9 -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 +66 -21
- 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/calc-preparation.d.ts +44 -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 +6 -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 +22 -0
- package/dist/xlsx/shell-commands.d.ts +1 -1
- package/dist/xlsx/title-bar.d.ts +4 -2
- package/dist/xlsx.js +801 -92
- package/package.json +2 -2
- 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 chunkWKLHJEPD_cjs = require('./chunk-WKLHJEPD.cjs');
|
|
8
8
|
var chunkXOAXPD2W_cjs = require('./chunk-XOAXPD2W.cjs');
|
|
9
9
|
var chunkBSGCZ4JZ_cjs = require('./chunk-BSGCZ4JZ.cjs');
|
|
10
10
|
var chunkIOOI63TH_cjs = require('./chunk-IOOI63TH.cjs');
|
|
@@ -12,10 +12,10 @@ var chunkZJFN5POF_cjs = require('./chunk-ZJFN5POF.cjs');
|
|
|
12
12
|
var chunkSTXGHV25_cjs = require('./chunk-STXGHV25.cjs');
|
|
13
13
|
var chunkWB25PCHQ_cjs = require('./chunk-WB25PCHQ.cjs');
|
|
14
14
|
var chunkW3X2UVYQ_cjs = require('./chunk-W3X2UVYQ.cjs');
|
|
15
|
-
var
|
|
15
|
+
var chunkIURZJAWP_cjs = require('./chunk-IURZJAWP.cjs');
|
|
16
16
|
var chunkFOE75Z6N_cjs = require('./chunk-FOE75Z6N.cjs');
|
|
17
17
|
var chunkNTXHQHCS_cjs = require('./chunk-NTXHQHCS.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkKRMMJUCO_cjs = require('./chunk-KRMMJUCO.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');
|
|
@@ -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 = chunkIURZJAWP_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 = chunkIURZJAWP_cjs.normalizeHexColor(style.strokeColor, "#000000");
|
|
1088
|
+
const bg = chunkIURZJAWP_cjs.normalizeHexColor(style.strokePatternBackgroundColor, "#ffffff");
|
|
1089
|
+
const tile4 = chunkIURZJAWP_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 chunkIURZJAWP_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 } = chunkIURZJAWP_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));
|
|
@@ -1278,10 +1278,13 @@ function getPresetShapeVectorGeometry(shapeType, width, height, adjustments) {
|
|
|
1278
1278
|
function outlineStrands(compoundLine, strokeWidth) {
|
|
1279
1279
|
const offsets2 = getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
1280
1280
|
if (offsets2.length <= 1) {
|
|
1281
|
-
return [{ strokeWidth, offset: 0 }];
|
|
1281
|
+
return [{ strokeWidth, cssStrokeWidth: chunkKRMMJUCO_cjs.screenStrokeWidth(strokeWidth), offset: 0 }];
|
|
1282
1282
|
}
|
|
1283
1283
|
const widths = getCompoundLineWidths(compoundLine, strokeWidth);
|
|
1284
|
-
return offsets2.map((offset, idx) =>
|
|
1284
|
+
return offsets2.map((offset, idx) => {
|
|
1285
|
+
const width = widths[idx] ?? strokeWidth;
|
|
1286
|
+
return { strokeWidth: width, cssStrokeWidth: chunkKRMMJUCO_cjs.screenStrokeWidth(width), offset };
|
|
1287
|
+
});
|
|
1285
1288
|
}
|
|
1286
1289
|
function needsCenteredStrokeOverlay(element, style, declaredWidth) {
|
|
1287
1290
|
if (!style || declaredWidth <= 0 || element.type === "connector" || !hasStrokePaint(style)) {
|
|
@@ -1316,11 +1319,11 @@ function buildStrokeOutline(element) {
|
|
|
1316
1319
|
return {
|
|
1317
1320
|
d,
|
|
1318
1321
|
paint,
|
|
1319
|
-
stroke: paint ? svgGradientFillRef(paint) :
|
|
1322
|
+
stroke: paint ? svgGradientFillRef(paint) : chunkIURZJAWP_cjs.colorWithOpacity(style?.strokeColor ?? chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR, style?.strokeOpacity),
|
|
1320
1323
|
strokeWidth,
|
|
1321
1324
|
strands: outlineStrands(style?.compoundLine, strokeWidth),
|
|
1322
|
-
dashArray:
|
|
1323
|
-
|
|
1325
|
+
dashArray: chunkIURZJAWP_cjs.getSvgStrokeDasharray(
|
|
1326
|
+
chunkIURZJAWP_cjs.normalizeStrokeDashType(style?.strokeDash),
|
|
1324
1327
|
Math.max(strokeWidth, 1),
|
|
1325
1328
|
style?.customDashSegments
|
|
1326
1329
|
),
|
|
@@ -1444,6 +1447,7 @@ function resolveShapeGeometry(element) {
|
|
|
1444
1447
|
}
|
|
1445
1448
|
var NO_STROKE = {
|
|
1446
1449
|
borderWidth: 0,
|
|
1450
|
+
cssBorderWidth: "0px",
|
|
1447
1451
|
borderStyle: void 0,
|
|
1448
1452
|
borderColor: void 0,
|
|
1449
1453
|
border: void 0,
|
|
@@ -1499,17 +1503,18 @@ function getComputedStrokeStyle(element) {
|
|
|
1499
1503
|
return { ...NO_STROKE, ...joins };
|
|
1500
1504
|
}
|
|
1501
1505
|
const borderWidth = width;
|
|
1502
|
-
const borderStyle =
|
|
1503
|
-
|
|
1506
|
+
const borderStyle = chunkIURZJAWP_cjs.getCssBorderDashStyle(
|
|
1507
|
+
chunkIURZJAWP_cjs.normalizeStrokeDashType(style.strokeDash),
|
|
1504
1508
|
style.compoundLine
|
|
1505
1509
|
);
|
|
1506
|
-
const rawColor = style.strokeColor ??
|
|
1507
|
-
const borderColor = style.strokeOpacity === void 0 ? rawColor :
|
|
1510
|
+
const rawColor = style.strokeColor ?? chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR;
|
|
1511
|
+
const borderColor = style.strokeOpacity === void 0 ? rawColor : chunkIURZJAWP_cjs.colorWithOpacity(chunkIURZJAWP_cjs.normalizeHexColor(rawColor, chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
1508
1512
|
return {
|
|
1509
1513
|
borderWidth,
|
|
1514
|
+
cssBorderWidth: chunkKRMMJUCO_cjs.screenStrokeWidth(borderWidth),
|
|
1510
1515
|
borderStyle,
|
|
1511
1516
|
borderColor,
|
|
1512
|
-
border:
|
|
1517
|
+
border: chunkKRMMJUCO_cjs.screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
|
|
1513
1518
|
...joins
|
|
1514
1519
|
};
|
|
1515
1520
|
}
|
|
@@ -1665,7 +1670,7 @@ function resolveGroupChildFill(child, parentGroupFill) {
|
|
|
1665
1670
|
if (!parentGroupFill || !pptx.hasShapeProperties(child) || child.shapeStyle?.fillMode !== "group") {
|
|
1666
1671
|
return void 0;
|
|
1667
1672
|
}
|
|
1668
|
-
return
|
|
1673
|
+
return chunkIURZJAWP_cjs.getComputedFillStyle(child, parentGroupFill);
|
|
1669
1674
|
}
|
|
1670
1675
|
function getFrameInverseTransform(element) {
|
|
1671
1676
|
const transforms = [];
|
|
@@ -1717,9 +1722,9 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1717
1722
|
}
|
|
1718
1723
|
if (colorNode["a:scrgbClr"]) {
|
|
1719
1724
|
const scrgb = colorNode["a:scrgbClr"];
|
|
1720
|
-
const red =
|
|
1721
|
-
const green =
|
|
1722
|
-
const blue =
|
|
1725
|
+
const red = chunkIURZJAWP_cjs.parseDrawingPercent(scrgb["@_r"]);
|
|
1726
|
+
const green = chunkIURZJAWP_cjs.parseDrawingPercent(scrgb["@_g"]);
|
|
1727
|
+
const blue = chunkIURZJAWP_cjs.parseDrawingPercent(scrgb["@_b"]);
|
|
1723
1728
|
if (red !== void 0 && green !== void 0 && blue !== void 0) {
|
|
1724
1729
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1725
1730
|
const base2 = `#${toHex2(red * 255)}${toHex2(green * 255)}${toHex2(blue * 255)}`;
|
|
@@ -1759,8 +1764,8 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
|
|
|
1759
1764
|
const lumRaw = Number.parseFloat(String(hslNode["@_lum"] ?? ""));
|
|
1760
1765
|
if (Number.isFinite(hueRaw) && Number.isFinite(satRaw) && Number.isFinite(lumRaw)) {
|
|
1761
1766
|
const h = hueRaw / 6e4;
|
|
1762
|
-
const s =
|
|
1763
|
-
const l =
|
|
1767
|
+
const s = chunkIURZJAWP_cjs.clampUnitInterval(satRaw / 1e5);
|
|
1768
|
+
const l = chunkIURZJAWP_cjs.clampUnitInterval(lumRaw / 1e5);
|
|
1764
1769
|
const rgb = pptx.hslToRgb(h, s, l);
|
|
1765
1770
|
const toHex2 = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
|
|
1766
1771
|
const base2 = `#${toHex2(rgb.r)}${toHex2(rgb.g)}${toHex2(rgb.b)}`;
|
|
@@ -1800,11 +1805,11 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1800
1805
|
if (!colorChoice) {
|
|
1801
1806
|
return void 0;
|
|
1802
1807
|
}
|
|
1803
|
-
const alpha =
|
|
1804
|
-
const alphaMod =
|
|
1808
|
+
const alpha = chunkIURZJAWP_cjs.parseDrawingPercent(colorChoice["a:alpha"]?.["@_val"]);
|
|
1809
|
+
const alphaMod = chunkIURZJAWP_cjs.parseDrawingPercent(
|
|
1805
1810
|
colorChoice["a:alphaMod"]?.["@_val"]
|
|
1806
1811
|
);
|
|
1807
|
-
const alphaOff =
|
|
1812
|
+
const alphaOff = chunkIURZJAWP_cjs.parseDrawingPercent(
|
|
1808
1813
|
colorChoice["a:alphaOff"]?.["@_val"]
|
|
1809
1814
|
);
|
|
1810
1815
|
if (alpha === void 0 && alphaMod === void 0 && alphaOff === void 0) {
|
|
@@ -1817,7 +1822,7 @@ function parseDrawingColorOpacity(colorNode) {
|
|
|
1817
1822
|
if (alphaOff !== void 0) {
|
|
1818
1823
|
opacity += alphaOff;
|
|
1819
1824
|
}
|
|
1820
|
-
return
|
|
1825
|
+
return chunkIURZJAWP_cjs.clampUnitInterval(opacity);
|
|
1821
1826
|
}
|
|
1822
1827
|
function substituteScriptFont(name, panose, baseFontFamily) {
|
|
1823
1828
|
return name ? pptx.getSubstituteFontFamily(name, pptx.parsePanoseString(panose)) : baseFontFamily;
|
|
@@ -2028,7 +2033,7 @@ function buildPatternOverlayTile(pattern) {
|
|
|
2028
2033
|
if (!pattern) {
|
|
2029
2034
|
return void 0;
|
|
2030
2035
|
}
|
|
2031
|
-
const tile4 =
|
|
2036
|
+
const tile4 = chunkIURZJAWP_cjs.getPatternTile(
|
|
2032
2037
|
pattern.preset,
|
|
2033
2038
|
pattern.foreground ?? "#000000",
|
|
2034
2039
|
pattern.background ?? "#ffffff"
|
|
@@ -3582,10 +3587,10 @@ function getMeasureCtx() {
|
|
|
3582
3587
|
return measureCtx;
|
|
3583
3588
|
}
|
|
3584
3589
|
function envelopeFontSizePx(font) {
|
|
3585
|
-
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
3590
|
+
return font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
3586
3591
|
}
|
|
3587
3592
|
function toCanvasFont(font, sizePx = envelopeFontSizePx(font)) {
|
|
3588
|
-
const family2 = font.fontFamily ||
|
|
3593
|
+
const family2 = font.fontFamily || chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY;
|
|
3589
3594
|
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${sizePx}px ${family2}`;
|
|
3590
3595
|
}
|
|
3591
3596
|
function enableKerning(ctx) {
|
|
@@ -4580,7 +4585,7 @@ function createGlyphOutlineLookup(cache) {
|
|
|
4580
4585
|
return (char, font, x, y) => {
|
|
4581
4586
|
const parsed = cache.get(font.fontFamily, font.bold, font.italic);
|
|
4582
4587
|
if (parsed) {
|
|
4583
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx :
|
|
4588
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
4584
4589
|
const commands = extractGlyphOutlineCommands(parsed, char, x, y, size);
|
|
4585
4590
|
if (commands) {
|
|
4586
4591
|
return commands;
|
|
@@ -6768,7 +6773,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6768
6773
|
let rSquared = 0;
|
|
6769
6774
|
switch (trendline.trendlineType) {
|
|
6770
6775
|
case "linear": {
|
|
6771
|
-
const reg =
|
|
6776
|
+
const reg = chunkIURZJAWP_cjs.computeLinearRegression(xVals, yVals);
|
|
6772
6777
|
const intercept = trendline.intercept;
|
|
6773
6778
|
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
6779
|
const b = intercept ?? reg.intercept;
|
|
@@ -6783,7 +6788,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6783
6788
|
if (logY.length < 2) {
|
|
6784
6789
|
return { points: [], equation: "", rSquared: 0 };
|
|
6785
6790
|
}
|
|
6786
|
-
const reg =
|
|
6791
|
+
const reg = chunkIURZJAWP_cjs.computeLinearRegression(filteredX, logY);
|
|
6787
6792
|
const a = Math.exp(reg.intercept);
|
|
6788
6793
|
const b = reg.slope;
|
|
6789
6794
|
evalFn = (x) => a * Math.exp(b * x);
|
|
@@ -6797,7 +6802,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6797
6802
|
if (lnX.length < 2) {
|
|
6798
6803
|
return { points: [], equation: "", rSquared: 0 };
|
|
6799
6804
|
}
|
|
6800
|
-
const reg =
|
|
6805
|
+
const reg = chunkIURZJAWP_cjs.computeLinearRegression(lnX, filteredY);
|
|
6801
6806
|
evalFn = (x) => x > 0 ? reg.slope * Math.log(x) + reg.intercept : 0;
|
|
6802
6807
|
equation = `y = ${reg.slope.toFixed(2)}ln(x) + ${reg.intercept.toFixed(2)}`;
|
|
6803
6808
|
rSquared = reg.rSquared;
|
|
@@ -6809,7 +6814,7 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6809
6814
|
if (logX.length < 2) {
|
|
6810
6815
|
return { points: [], equation: "", rSquared: 0 };
|
|
6811
6816
|
}
|
|
6812
|
-
const reg =
|
|
6817
|
+
const reg = chunkIURZJAWP_cjs.computeLinearRegression(logX, logY);
|
|
6813
6818
|
const a = Math.exp(reg.intercept);
|
|
6814
6819
|
evalFn = (x) => x > 0 ? a * x ** reg.slope : 0;
|
|
6815
6820
|
equation = `y = ${a.toFixed(2)}x^${reg.slope.toFixed(2)}`;
|
|
@@ -6818,10 +6823,10 @@ function computeTrendlinePoints(trendline, values, catCount, layout, range, mode
|
|
|
6818
6823
|
}
|
|
6819
6824
|
case "polynomial": {
|
|
6820
6825
|
const order = Math.min(trendline.order ?? 2, 6);
|
|
6821
|
-
const coeffs =
|
|
6826
|
+
const coeffs = chunkIURZJAWP_cjs.fitPolynomial(xVals, yVals, order);
|
|
6822
6827
|
evalFn = (x) => coeffs.reduce((s, c, i) => s + c * x ** i, 0);
|
|
6823
6828
|
equation = coeffs.map((c, i) => `${c.toFixed(2)}x^${i}`).join(" + ");
|
|
6824
|
-
rSquared =
|
|
6829
|
+
rSquared = chunkIURZJAWP_cjs.computeRSquared(xVals, yVals, evalFn);
|
|
6825
6830
|
break;
|
|
6826
6831
|
}
|
|
6827
6832
|
case "movingAvg": {
|
|
@@ -7159,7 +7164,7 @@ var COMBO_SERIES_TYPE_OPTIONS = [
|
|
|
7159
7164
|
function patchChartData(data, patch) {
|
|
7160
7165
|
const { chartType, ...rest } = patch;
|
|
7161
7166
|
if (chartType === "pareto") {
|
|
7162
|
-
return { ...
|
|
7167
|
+
return { ...chunkIURZJAWP_cjs.applyParetoConversion(data), ...rest };
|
|
7163
7168
|
}
|
|
7164
7169
|
if (chartType && chartType !== data.chartType) {
|
|
7165
7170
|
const adapted = pptx.chartDataChangeType(data, chartType);
|
|
@@ -7221,8 +7226,8 @@ function buildParetoInsertData() {
|
|
|
7221
7226
|
layout: "histogram",
|
|
7222
7227
|
binCount: PARETO_BIN_COUNT
|
|
7223
7228
|
};
|
|
7224
|
-
const bins =
|
|
7225
|
-
const ordered =
|
|
7229
|
+
const bins = chunkIURZJAWP_cjs.computeHistogramBins(PARETO_VALUES, histogramOptions);
|
|
7230
|
+
const ordered = chunkIURZJAWP_cjs.orderParetoEntries(
|
|
7226
7231
|
bins.map((bin, index) => ({ value: bin.value, label: bin.label, sourcePointIndex: index }))
|
|
7227
7232
|
);
|
|
7228
7233
|
return {
|
|
@@ -7235,7 +7240,7 @@ function buildParetoInsertData() {
|
|
|
7235
7240
|
},
|
|
7236
7241
|
{
|
|
7237
7242
|
name: "Cumulative %",
|
|
7238
|
-
values:
|
|
7243
|
+
values: chunkIURZJAWP_cjs.cumulativePercentOfTotal(ordered.map((entry5) => entry5.value)),
|
|
7239
7244
|
histogramOptions: { layout: "pareto" }
|
|
7240
7245
|
}
|
|
7241
7246
|
]
|
|
@@ -7498,7 +7503,7 @@ var FILL_PATTERN_LABEL_KEYS = {
|
|
|
7498
7503
|
trellis: "pptx.fillPatterns.trellis",
|
|
7499
7504
|
zigZag: "pptx.fillPatterns.zigZag"
|
|
7500
7505
|
};
|
|
7501
|
-
var PATTERN_PRESET_OPTIONS =
|
|
7506
|
+
var PATTERN_PRESET_OPTIONS = chunkIURZJAWP_cjs.OOXML_PATTERN_PRESETS.map(
|
|
7502
7507
|
(value) => ({ value, labelKey: FILL_PATTERN_LABEL_KEYS[value] })
|
|
7503
7508
|
);
|
|
7504
7509
|
|
|
@@ -7643,13 +7648,49 @@ function setDataLabelsRangeCache(series, pointIndex, text3) {
|
|
|
7643
7648
|
|
|
7644
7649
|
// src/pptx/render/chart-quick-action-styles.ts
|
|
7645
7650
|
var CHART_STYLE_PRESETS = [
|
|
7646
|
-
{
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7651
|
+
{
|
|
7652
|
+
id: "colorful",
|
|
7653
|
+
labelKey: "pptx.chart.styleColorful",
|
|
7654
|
+
styleId: 2,
|
|
7655
|
+
palette: () => chunkIURZJAWP_cjs.getChartStylePalette(2)
|
|
7656
|
+
},
|
|
7657
|
+
{
|
|
7658
|
+
id: "monochrome",
|
|
7659
|
+
labelKey: "pptx.chart.styleMonochrome",
|
|
7660
|
+
styleId: 3,
|
|
7661
|
+
palette: () => chunkIURZJAWP_cjs.getChartStylePalette(3)
|
|
7662
|
+
},
|
|
7663
|
+
{
|
|
7664
|
+
id: "colorfulLight",
|
|
7665
|
+
labelKey: "pptx.chart.styleColorfulLight",
|
|
7666
|
+
styleId: 18,
|
|
7667
|
+
palette: () => recolour((c) => chunkIURZJAWP_cjs.tint(c, 0.3))
|
|
7668
|
+
},
|
|
7669
|
+
{
|
|
7670
|
+
id: "colorfulDark",
|
|
7671
|
+
labelKey: "pptx.chart.styleColorfulDark",
|
|
7672
|
+
styleId: 26,
|
|
7673
|
+
palette: () => recolour((c) => chunkIURZJAWP_cjs.shade(c, 0.3))
|
|
7674
|
+
},
|
|
7675
|
+
{
|
|
7676
|
+
id: "mutedDark",
|
|
7677
|
+
labelKey: "pptx.chart.styleMutedDark",
|
|
7678
|
+
styleId: 34,
|
|
7679
|
+
palette: () => recolour((c) => chunkIURZJAWP_cjs.shade(chunkIURZJAWP_cjs.tint(c, 0.3), 0.4))
|
|
7680
|
+
},
|
|
7681
|
+
{
|
|
7682
|
+
id: "pastel",
|
|
7683
|
+
labelKey: "pptx.chart.stylePastel",
|
|
7684
|
+
styleId: 42,
|
|
7685
|
+
palette: () => recolour((c) => chunkIURZJAWP_cjs.tint(c, 0.55))
|
|
7686
|
+
}
|
|
7652
7687
|
];
|
|
7688
|
+
function recolour(transform) {
|
|
7689
|
+
return chunkIURZJAWP_cjs.getChartStylePalette(2).map(transform);
|
|
7690
|
+
}
|
|
7691
|
+
function chartStylePresetPalette(id) {
|
|
7692
|
+
return findPreset(id)?.palette();
|
|
7693
|
+
}
|
|
7653
7694
|
function paletteEquals(a, b) {
|
|
7654
7695
|
if (!b || a.length !== b.length) {
|
|
7655
7696
|
return false;
|
|
@@ -7660,8 +7701,8 @@ function findPreset(id) {
|
|
|
7660
7701
|
return CHART_STYLE_PRESETS.find((p) => p.id === id);
|
|
7661
7702
|
}
|
|
7662
7703
|
function buildChartStylePresets(chartData) {
|
|
7663
|
-
return CHART_STYLE_PRESETS.map(({ id, labelKey,
|
|
7664
|
-
const colors =
|
|
7704
|
+
return CHART_STYLE_PRESETS.map(({ id, labelKey, palette }) => {
|
|
7705
|
+
const colors = palette();
|
|
7665
7706
|
return {
|
|
7666
7707
|
id,
|
|
7667
7708
|
labelKey,
|
|
@@ -7695,7 +7736,7 @@ function applyChartStylePreset(chartData, presetId) {
|
|
|
7695
7736
|
if (!preset2) {
|
|
7696
7737
|
return null;
|
|
7697
7738
|
}
|
|
7698
|
-
const colors = [...
|
|
7739
|
+
const colors = [...preset2.palette()];
|
|
7699
7740
|
return {
|
|
7700
7741
|
...chartData,
|
|
7701
7742
|
colorPalette: colors,
|
|
@@ -7759,7 +7800,7 @@ function applyChartElementToggle(chartData, key, checked) {
|
|
|
7759
7800
|
style: { ...chartData.style, ...chartDataLabelsTogglePatch(chartData.style, checked) }
|
|
7760
7801
|
});
|
|
7761
7802
|
case "gridlines":
|
|
7762
|
-
return patchChartData(chartData,
|
|
7803
|
+
return patchChartData(chartData, chunkIURZJAWP_cjs.chartGridlinesPatch(chartData, checked));
|
|
7763
7804
|
case "axes":
|
|
7764
7805
|
return patchChartData(chartData, chartAxesVisibilityPatch(chartData, checked));
|
|
7765
7806
|
case "axisTitles":
|
|
@@ -7798,7 +7839,7 @@ function buildElements(chartData) {
|
|
|
7798
7839
|
{
|
|
7799
7840
|
key: "gridlines",
|
|
7800
7841
|
labelKey: "pptx.chart.showGridlines",
|
|
7801
|
-
checked:
|
|
7842
|
+
checked: chunkIURZJAWP_cjs.chartGridlinesState(chartData)
|
|
7802
7843
|
},
|
|
7803
7844
|
{
|
|
7804
7845
|
key: "dataLabels",
|
|
@@ -8210,17 +8251,17 @@ function chartEventPathElements(event) {
|
|
|
8210
8251
|
}
|
|
8211
8252
|
function findChartPartElementInEvent(event) {
|
|
8212
8253
|
for (const el of chartEventPathElements(event)) {
|
|
8213
|
-
if (el.getAttribute(
|
|
8254
|
+
if (el.getAttribute(chunkWKLHJEPD_cjs.CHART_PART_ATTR) !== null) {
|
|
8214
8255
|
return el;
|
|
8215
8256
|
}
|
|
8216
8257
|
}
|
|
8217
8258
|
return null;
|
|
8218
8259
|
}
|
|
8219
8260
|
function findChartPartInEvent(event) {
|
|
8220
|
-
return
|
|
8261
|
+
return chunkWKLHJEPD_cjs.chartPartFromElement(findChartPartElementInEvent(event));
|
|
8221
8262
|
}
|
|
8222
8263
|
function isChartTitleEvent(event) {
|
|
8223
|
-
return findChartPartElementInEvent(event)?.getAttribute(
|
|
8264
|
+
return findChartPartElementInEvent(event)?.getAttribute(chunkWKLHJEPD_cjs.CHART_PART_ATTR) === "title";
|
|
8224
8265
|
}
|
|
8225
8266
|
|
|
8226
8267
|
// src/pptx/render/chart-interaction-mark-drag.ts
|
|
@@ -8255,14 +8296,14 @@ function advanceChartMarkDrag(state, clientX, clientY, rect3) {
|
|
|
8255
8296
|
return null;
|
|
8256
8297
|
}
|
|
8257
8298
|
const travelled = Math.hypot(clientX - state.startClientX, clientY - state.startClientY);
|
|
8258
|
-
if (!state.moved && travelled <
|
|
8299
|
+
if (!state.moved && travelled < chunkWKLHJEPD_cjs.CHART_DRAG_THRESHOLD_PX) {
|
|
8259
8300
|
return null;
|
|
8260
8301
|
}
|
|
8261
8302
|
if (rect3.width === 0 || rect3.height === 0) {
|
|
8262
8303
|
return null;
|
|
8263
8304
|
}
|
|
8264
8305
|
state.moved = true;
|
|
8265
|
-
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value =
|
|
8306
|
+
const pointer = clientPointToViewBox(clientX, clientY, rect3, state.svgWidth, state.svgHeight), value = chunkWKLHJEPD_cjs.resolveChartDragValue(state.geometry, pointer), chartData = chunkWKLHJEPD_cjs.withChartPointValue(
|
|
8266
8307
|
state.baseChartData,
|
|
8267
8308
|
state.part.seriesIndex,
|
|
8268
8309
|
state.part.pointIndex,
|
|
@@ -11828,7 +11869,7 @@ function getAnimationColorBaseStyle(element, options = {}) {
|
|
|
11828
11869
|
}
|
|
11829
11870
|
const style = {};
|
|
11830
11871
|
if (options.animatesFill) {
|
|
11831
|
-
const fill =
|
|
11872
|
+
const fill = chunkIURZJAWP_cjs.getComputedFillStyle(element, options.parentGroupFill);
|
|
11832
11873
|
style[ANIMATION_COLOR_BASE_PROPERTIES.fill] = fill?.backgroundColor ?? element.shapeStyle?.fillColor ?? "currentColor";
|
|
11833
11874
|
}
|
|
11834
11875
|
if (options.animatesStroke) {
|
|
@@ -19509,7 +19550,7 @@ function borderToCss(border2, resolve) {
|
|
|
19509
19550
|
const width = border2.width ?? 1;
|
|
19510
19551
|
const dash = ooxmlDashToCssBorderStyle(border2.dash);
|
|
19511
19552
|
const color = border2.color ?? resolve(border2.fill) ?? "#000000";
|
|
19512
|
-
return
|
|
19553
|
+
return chunkKRMMJUCO_cjs.screenBorder(width, dash, color);
|
|
19513
19554
|
}
|
|
19514
19555
|
function collectSections(entry5, tableData, pos) {
|
|
19515
19556
|
const { rowIndex, cellIndex, rowCount, columnCount } = pos;
|
|
@@ -19887,7 +19928,7 @@ function gradientCssFromFill(fill, colorScheme) {
|
|
|
19887
19928
|
position: stop.position
|
|
19888
19929
|
}))
|
|
19889
19930
|
};
|
|
19890
|
-
return
|
|
19931
|
+
return chunkIURZJAWP_cjs.buildGradientCss(shapeLike);
|
|
19891
19932
|
}
|
|
19892
19933
|
function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
19893
19934
|
if (fill?.noFill) {
|
|
@@ -19913,13 +19954,13 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19913
19954
|
}
|
|
19914
19955
|
}
|
|
19915
19956
|
if (fill?.pattern) {
|
|
19916
|
-
const fg =
|
|
19957
|
+
const fg = chunkIURZJAWP_cjs.normalizeHexColor(
|
|
19917
19958
|
resolveStyleFillColor(fill.pattern.foreground, colorScheme),
|
|
19918
19959
|
"#000000"
|
|
19919
|
-
), bg =
|
|
19960
|
+
), bg = chunkIURZJAWP_cjs.normalizeHexColor(
|
|
19920
19961
|
resolveStyleFillColor(fill.pattern.background, colorScheme),
|
|
19921
19962
|
"#ffffff"
|
|
19922
|
-
), svg2 =
|
|
19963
|
+
), svg2 = chunkIURZJAWP_cjs.getPatternSvg(fill.pattern.preset, fg, bg);
|
|
19923
19964
|
clearBackground(css);
|
|
19924
19965
|
if (svg2) {
|
|
19925
19966
|
css.backgroundImage = `url("data:image/svg+xml,${encodeURIComponent(svg2)}")`;
|
|
@@ -19928,7 +19969,7 @@ function applyStyleFill(fill, colorScheme, css, fallback) {
|
|
|
19928
19969
|
return true;
|
|
19929
19970
|
}
|
|
19930
19971
|
const resolved = resolveStyleFillColor(fill, colorScheme);
|
|
19931
|
-
const color = (resolved && fill?.alpha !== void 0 ?
|
|
19972
|
+
const color = (resolved && fill?.alpha !== void 0 ? chunkIURZJAWP_cjs.colorWithOpacity(resolved, fill.alpha / 1e5) : resolved) ?? fallback;
|
|
19932
19973
|
if (color) {
|
|
19933
19974
|
layerSolidColor(css, color);
|
|
19934
19975
|
return true;
|
|
@@ -20140,192 +20181,6 @@ function followingText(pieces, i, next) {
|
|
|
20140
20181
|
return next;
|
|
20141
20182
|
}
|
|
20142
20183
|
|
|
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
20184
|
// src/pptx/render/text-decoration.ts
|
|
20330
20185
|
var HEAVY_PX = "2px";
|
|
20331
20186
|
var EMU_PER_PX2 = 9525;
|
|
@@ -20469,6 +20324,131 @@ function splitWordsForUnderline(text3) {
|
|
|
20469
20324
|
return pieces;
|
|
20470
20325
|
}
|
|
20471
20326
|
|
|
20327
|
+
// src/pptx/render/text-metric-tracking.ts
|
|
20328
|
+
var ADVANCE_STEPS_PER_PX = 6;
|
|
20329
|
+
var MAX_TRACKING_PX_PER_CHAR = 1 / (2 * ADVANCE_STEPS_PER_PX);
|
|
20330
|
+
var MAX_CACHE_ENTRIES = 2e4;
|
|
20331
|
+
var measureContext2;
|
|
20332
|
+
var trackingCache = /* @__PURE__ */ new Map();
|
|
20333
|
+
var fontsHookInstalled = false;
|
|
20334
|
+
function installFontLoadHook() {
|
|
20335
|
+
if (fontsHookInstalled || typeof document === "undefined") {
|
|
20336
|
+
return;
|
|
20337
|
+
}
|
|
20338
|
+
fontsHookInstalled = true;
|
|
20339
|
+
document.fonts?.addEventListener?.("loadingdone", () => {
|
|
20340
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20341
|
+
});
|
|
20342
|
+
}
|
|
20343
|
+
function getMeasureContext() {
|
|
20344
|
+
if (measureContext2 !== void 0) {
|
|
20345
|
+
return measureContext2;
|
|
20346
|
+
}
|
|
20347
|
+
if (typeof document === "undefined") {
|
|
20348
|
+
measureContext2 = null;
|
|
20349
|
+
return null;
|
|
20350
|
+
}
|
|
20351
|
+
installFontLoadHook();
|
|
20352
|
+
measureContext2 = document.createElement("canvas").getContext("2d");
|
|
20353
|
+
return measureContext2;
|
|
20354
|
+
}
|
|
20355
|
+
function toCanvasFont2(font) {
|
|
20356
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
20357
|
+
const family2 = font.fontFamily || chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY;
|
|
20358
|
+
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family2}`;
|
|
20359
|
+
}
|
|
20360
|
+
function advancesOf(ctx, canvasFont, chars) {
|
|
20361
|
+
ctx.font = canvasFont;
|
|
20362
|
+
ctx.fontKerning = "none";
|
|
20363
|
+
const advances = [];
|
|
20364
|
+
let previous = 0;
|
|
20365
|
+
let prefix = "";
|
|
20366
|
+
for (const char of chars) {
|
|
20367
|
+
prefix += char;
|
|
20368
|
+
const width = ctx.measureText(prefix).width;
|
|
20369
|
+
advances.push(width - previous);
|
|
20370
|
+
previous = width;
|
|
20371
|
+
}
|
|
20372
|
+
return advances;
|
|
20373
|
+
}
|
|
20374
|
+
function resolveMetricTrackingPx(text3, font) {
|
|
20375
|
+
if (!text3) {
|
|
20376
|
+
return 0;
|
|
20377
|
+
}
|
|
20378
|
+
const canvasFont = toCanvasFont2(font);
|
|
20379
|
+
const key = `${canvasFont}\0${text3}`;
|
|
20380
|
+
const cached = trackingCache.get(key);
|
|
20381
|
+
if (cached !== void 0) {
|
|
20382
|
+
return cached;
|
|
20383
|
+
}
|
|
20384
|
+
const ctx = getMeasureContext();
|
|
20385
|
+
if (!ctx) {
|
|
20386
|
+
return 0;
|
|
20387
|
+
}
|
|
20388
|
+
const chars = [...text3];
|
|
20389
|
+
let powerPoint = 0;
|
|
20390
|
+
for (const advance of advancesOf(ctx, canvasFont, chars)) {
|
|
20391
|
+
powerPoint += Math.round(advance * ADVANCE_STEPS_PER_PX);
|
|
20392
|
+
}
|
|
20393
|
+
ctx.fontKerning = "auto";
|
|
20394
|
+
const natural = ctx.measureText(text3).width;
|
|
20395
|
+
if (!(natural > 0)) {
|
|
20396
|
+
return 0;
|
|
20397
|
+
}
|
|
20398
|
+
powerPoint /= ADVANCE_STEPS_PER_PX;
|
|
20399
|
+
const limit = MAX_TRACKING_PX_PER_CHAR;
|
|
20400
|
+
const raw = (powerPoint - natural) / chars.length;
|
|
20401
|
+
const tracking = Math.min(limit, Math.max(-limit, raw));
|
|
20402
|
+
if (trackingCache.size >= MAX_CACHE_ENTRIES) {
|
|
20403
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20404
|
+
}
|
|
20405
|
+
trackingCache.set(key, tracking);
|
|
20406
|
+
return tracking;
|
|
20407
|
+
}
|
|
20408
|
+
function isBreakBoundary(previous, next) {
|
|
20409
|
+
const previousSpace = /\s/u.test(previous);
|
|
20410
|
+
const nextSpace = /\s/u.test(next);
|
|
20411
|
+
if (previousSpace !== nextSpace) {
|
|
20412
|
+
return true;
|
|
20413
|
+
}
|
|
20414
|
+
return previous === "-" && next !== "-" && !nextSpace;
|
|
20415
|
+
}
|
|
20416
|
+
function splitRunForMetrics(text3, font) {
|
|
20417
|
+
const chars = [...text3];
|
|
20418
|
+
if (chars.length < 2 || !getMeasureContext()) {
|
|
20419
|
+
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20420
|
+
}
|
|
20421
|
+
const pieces = [];
|
|
20422
|
+
let current = chars[0];
|
|
20423
|
+
for (let i = 1; i < chars.length; i++) {
|
|
20424
|
+
if (isBreakBoundary(chars[i - 1], chars[i])) {
|
|
20425
|
+
pieces.push(current);
|
|
20426
|
+
current = "";
|
|
20427
|
+
}
|
|
20428
|
+
current += chars[i];
|
|
20429
|
+
}
|
|
20430
|
+
pieces.push(current);
|
|
20431
|
+
if (pieces.length === 1) {
|
|
20432
|
+
return [{ text: text3, tracking: resolveMetricTrackingPx(text3, font) }];
|
|
20433
|
+
}
|
|
20434
|
+
return pieces.map((piece) => ({ text: piece, tracking: resolveMetricTrackingPx(piece, font) }));
|
|
20435
|
+
}
|
|
20436
|
+
function resolveMetricTracking(text3, font) {
|
|
20437
|
+
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20438
|
+
return tracking === 0 ? void 0 : `${tracking}px`;
|
|
20439
|
+
}
|
|
20440
|
+
function resolveTrackedTextWidth(text3, font, naturalWidth) {
|
|
20441
|
+
if (!text3) {
|
|
20442
|
+
return naturalWidth;
|
|
20443
|
+
}
|
|
20444
|
+
const tracking = resolveMetricTrackingPx(text3, font);
|
|
20445
|
+
return tracking === 0 ? naturalWidth : naturalWidth + tracking * [...text3].length;
|
|
20446
|
+
}
|
|
20447
|
+
function resetMetricTrackingCache() {
|
|
20448
|
+
trackingCache = /* @__PURE__ */ new Map();
|
|
20449
|
+
measureContext2 = void 0;
|
|
20450
|
+
}
|
|
20451
|
+
|
|
20472
20452
|
// src/pptx/render/text-run-spacing.ts
|
|
20473
20453
|
var PX_PER_POINT = 96 / 72;
|
|
20474
20454
|
function authoredLetterSpacingPx(style) {
|
|
@@ -20531,6 +20511,67 @@ function splitStyledRun(text3, style, font, authoredPx, underlineWords = false)
|
|
|
20531
20511
|
return out.length > 0 ? out : [{ text: text3, style }];
|
|
20532
20512
|
}
|
|
20533
20513
|
|
|
20514
|
+
// src/pptx/render/text-outline-dash.ts
|
|
20515
|
+
var DASH_PATTERNS = {
|
|
20516
|
+
dot: [1, 3],
|
|
20517
|
+
sysDot: [1, 1],
|
|
20518
|
+
dash: [4, 3],
|
|
20519
|
+
sysDash: [3, 1],
|
|
20520
|
+
lgDash: [8, 3],
|
|
20521
|
+
dashDot: [4, 3, 1, 3],
|
|
20522
|
+
sysDashDot: [3, 1, 1, 1],
|
|
20523
|
+
lgDashDot: [8, 3, 1, 3],
|
|
20524
|
+
lgDashDotDot: [8, 3, 1, 3, 1, 3],
|
|
20525
|
+
sysDashDotDot: [3, 1, 1, 1, 1, 1]
|
|
20526
|
+
};
|
|
20527
|
+
function dashStripe(pattern, widthPx, color) {
|
|
20528
|
+
const stops = [];
|
|
20529
|
+
let at = 0;
|
|
20530
|
+
pattern.forEach((len, i) => {
|
|
20531
|
+
const end = at + len * widthPx;
|
|
20532
|
+
const paint = i % 2 === 0 ? color : "transparent";
|
|
20533
|
+
stops.push(`${paint} ${round2(at)}px ${round2(end)}px`);
|
|
20534
|
+
at = end;
|
|
20535
|
+
});
|
|
20536
|
+
return `repeating-linear-gradient(45deg, ${stops.join(", ")})`;
|
|
20537
|
+
}
|
|
20538
|
+
function round2(v) {
|
|
20539
|
+
return Math.round(v * 100) / 100;
|
|
20540
|
+
}
|
|
20541
|
+
function resolveTextOutlineDashCss(s, fillColor) {
|
|
20542
|
+
const width = s.textOutlineWidth;
|
|
20543
|
+
const pattern = s.textOutlineDash ? DASH_PATTERNS[s.textOutlineDash] : void 0;
|
|
20544
|
+
if (!width || width <= 0 || !pattern) {
|
|
20545
|
+
return void 0;
|
|
20546
|
+
}
|
|
20547
|
+
if (s.textFillGradient || s.textFillPattern || s.textFillBlipUrl || s.highlightColor) {
|
|
20548
|
+
return void 0;
|
|
20549
|
+
}
|
|
20550
|
+
const strokeColor = chunkIURZJAWP_cjs.normalizeHexColor(s.textOutlineColor, fillColor ?? "#000000");
|
|
20551
|
+
return {
|
|
20552
|
+
WebkitTextStroke: `${width}px transparent`,
|
|
20553
|
+
WebkitTextFillColor: s.textFillNone ? "transparent" : fillColor ?? "currentColor",
|
|
20554
|
+
background: dashStripe(pattern, width, strokeColor),
|
|
20555
|
+
backgroundClip: "text",
|
|
20556
|
+
WebkitBackgroundClip: "text"
|
|
20557
|
+
};
|
|
20558
|
+
}
|
|
20559
|
+
|
|
20560
|
+
// src/pptx/render/text-run-hollow.ts
|
|
20561
|
+
function hollowTextFillStyle(s, painted = {}) {
|
|
20562
|
+
if (!s.textFillNone) {
|
|
20563
|
+
return void 0;
|
|
20564
|
+
}
|
|
20565
|
+
const hollow = {
|
|
20566
|
+
color: "transparent",
|
|
20567
|
+
WebkitTextFillColor: "transparent"
|
|
20568
|
+
};
|
|
20569
|
+
if (painted.textStroke !== void 0 && !s.textOutlineColor) {
|
|
20570
|
+
hollow.WebkitTextStroke = `${s.textOutlineWidth}px ${painted.color ?? "currentColor"}`;
|
|
20571
|
+
}
|
|
20572
|
+
return hollow;
|
|
20573
|
+
}
|
|
20574
|
+
|
|
20534
20575
|
// src/pptx/render/text-line-height.ts
|
|
20535
20576
|
var DEFAULT_LINE_HEIGHT = 1.2;
|
|
20536
20577
|
function resolveLineHeight(textStyle, hasItalicRuns2) {
|
|
@@ -20670,13 +20711,13 @@ function applyExtraRunProps(style, s, text3, font) {
|
|
|
20670
20711
|
style.fontKerning = fontKerning;
|
|
20671
20712
|
}
|
|
20672
20713
|
if (s.highlightColor) {
|
|
20673
|
-
style.backgroundColor =
|
|
20714
|
+
style.backgroundColor = chunkIURZJAWP_cjs.normalizeHexColor(s.highlightColor, "transparent");
|
|
20674
20715
|
}
|
|
20675
20716
|
if (s.underlineColor) {
|
|
20676
|
-
style.textDecorationColor =
|
|
20717
|
+
style.textDecorationColor = chunkIURZJAWP_cjs.normalizeHexColor(s.underlineColor);
|
|
20677
20718
|
}
|
|
20678
20719
|
if (s.textOutlineWidth) {
|
|
20679
|
-
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${
|
|
20720
|
+
style.WebkitTextStroke = s.textOutlineColor ? `${s.textOutlineWidth}px ${chunkIURZJAWP_cjs.normalizeHexColor(s.textOutlineColor, "#000000")}` : `${s.textOutlineWidth}px currentColor`;
|
|
20680
20721
|
style.paintOrder = "stroke fill";
|
|
20681
20722
|
}
|
|
20682
20723
|
if (s.textCaps === "all") {
|
|
@@ -20717,7 +20758,7 @@ function segmentStyleToCss(seg, fontScale = 1, context = {}) {
|
|
|
20717
20758
|
if (s.color) {
|
|
20718
20759
|
style.color = s.color;
|
|
20719
20760
|
} else if (s.hyperlink) {
|
|
20720
|
-
style.color =
|
|
20761
|
+
style.color = chunkIURZJAWP_cjs.HYPERLINK_COLOR;
|
|
20721
20762
|
}
|
|
20722
20763
|
style.fontWeight = s.bold ? "bold" : "normal";
|
|
20723
20764
|
style.fontStyle = s.italic ? "italic" : "normal";
|
|
@@ -20786,6 +20827,10 @@ function cellRunStyle(run) {
|
|
|
20786
20827
|
if (deco.length > 0) {
|
|
20787
20828
|
css.textDecoration = deco.join(" ");
|
|
20788
20829
|
}
|
|
20830
|
+
const letterSpacingPx = authoredLetterSpacingPx(run);
|
|
20831
|
+
if (letterSpacingPx !== 0) {
|
|
20832
|
+
css.letterSpacing = `${letterSpacingPx}px`;
|
|
20833
|
+
}
|
|
20789
20834
|
if (isKoreanLanguage(run.language)) {
|
|
20790
20835
|
css.wordBreak = "keep-all";
|
|
20791
20836
|
}
|
|
@@ -20795,9 +20840,9 @@ function cellPatternFillCss(style) {
|
|
|
20795
20840
|
if (style.fillMode !== "pattern" || !style.patternFillPreset) {
|
|
20796
20841
|
return null;
|
|
20797
20842
|
}
|
|
20798
|
-
const fg =
|
|
20799
|
-
const bg =
|
|
20800
|
-
const svgMarkup =
|
|
20843
|
+
const fg = chunkIURZJAWP_cjs.normalizeHexColor(style.patternFillForeground, "#000000");
|
|
20844
|
+
const bg = chunkIURZJAWP_cjs.normalizeHexColor(style.patternFillBackground, "#ffffff");
|
|
20845
|
+
const svgMarkup = chunkIURZJAWP_cjs.getPatternSvg(style.patternFillPreset, fg, bg);
|
|
20801
20846
|
if (svgMarkup) {
|
|
20802
20847
|
const encoded = encodeURIComponent(svgMarkup);
|
|
20803
20848
|
return {
|
|
@@ -20961,7 +21006,7 @@ function cellStyleToCss(style) {
|
|
|
20961
21006
|
const w = edge.width ?? 1;
|
|
20962
21007
|
const c = edge.color ?? style.borderColor ?? "#000000";
|
|
20963
21008
|
const s = ooxmlDashToCssBorderStyle(edge.dash);
|
|
20964
|
-
css[edge.prefix] =
|
|
21009
|
+
css[edge.prefix] = chunkKRMMJUCO_cjs.screenBorder(w, s, c);
|
|
20965
21010
|
}
|
|
20966
21011
|
}
|
|
20967
21012
|
Object.assign(css, cellPaddingCss(style));
|
|
@@ -21183,11 +21228,186 @@ function tableCellCss(tableData, cell, position, context, base2) {
|
|
|
21183
21228
|
);
|
|
21184
21229
|
const css = { ...base2, ...band, ...cellStyleToCss(cell?.style) };
|
|
21185
21230
|
if (css.color === void 0) {
|
|
21186
|
-
css.color =
|
|
21231
|
+
css.color = chunkIURZJAWP_cjs.DEFAULT_TEXT_COLOR;
|
|
21187
21232
|
}
|
|
21188
21233
|
return { ...TABLE_CELL_TEXT_DEFAULTS, ...css };
|
|
21189
21234
|
}
|
|
21190
21235
|
|
|
21236
|
+
// src/pptx/render/paragraph-spacing.ts
|
|
21237
|
+
var PT_TO_PX = 96 / 72;
|
|
21238
|
+
function resolveParagraphSpacing(input) {
|
|
21239
|
+
const {
|
|
21240
|
+
paraProps,
|
|
21241
|
+
bodyStyle,
|
|
21242
|
+
isFirst = false,
|
|
21243
|
+
isLast = false,
|
|
21244
|
+
spaceFirstLast = false,
|
|
21245
|
+
lineSpacingReduction
|
|
21246
|
+
} = input;
|
|
21247
|
+
const out = {};
|
|
21248
|
+
const before = paraProps?.paragraphSpacingBefore ?? bodyStyle?.paragraphSpacingBefore;
|
|
21249
|
+
const effectiveBefore = typeof before === "number" && before > 0 && (!isFirst || spaceFirstLast) ? before : 0;
|
|
21250
|
+
const after = paraProps?.paragraphSpacingAfter ?? bodyStyle?.paragraphSpacingAfter;
|
|
21251
|
+
const effectiveAfter = typeof after === "number" && after > 0 && (!isLast || spaceFirstLast) ? after : 0;
|
|
21252
|
+
const combinedAfter = effectiveBefore + effectiveAfter;
|
|
21253
|
+
if (combinedAfter > 0) {
|
|
21254
|
+
out.spaceAfterPx = combinedAfter;
|
|
21255
|
+
}
|
|
21256
|
+
const hasOwnLineSpacing = paraProps?.lineSpacing !== void 0 || paraProps?.lineSpacingExactPt !== void 0;
|
|
21257
|
+
const lineSource = hasOwnLineSpacing ? paraProps : bodyStyle;
|
|
21258
|
+
const exactPt = lineSource?.lineSpacingExactPt;
|
|
21259
|
+
const multiplier = lineSource?.lineSpacing;
|
|
21260
|
+
if (typeof exactPt === "number" && exactPt > 0) {
|
|
21261
|
+
out.lineHeight = `${exactPt * PT_TO_PX}px`;
|
|
21262
|
+
} else if (typeof multiplier === "number" && multiplier > 0) {
|
|
21263
|
+
const proportional = proportionalLineHeight(multiplier, bodyStyle?.compatibleLineSpacing);
|
|
21264
|
+
out.lineHeight = typeof lineSpacingReduction === "number" && lineSpacingReduction > 0 ? proportional * (1 - lineSpacingReduction) : proportional;
|
|
21265
|
+
}
|
|
21266
|
+
return out;
|
|
21267
|
+
}
|
|
21268
|
+
|
|
21269
|
+
// src/pptx/render/text-paragraph-style.ts
|
|
21270
|
+
function resolveParagraphRtl(paraSegments, elementRtl) {
|
|
21271
|
+
for (const entry5 of paraSegments) {
|
|
21272
|
+
const paraRtl = entry5.segment.paragraphProperties?.rtl;
|
|
21273
|
+
if (paraRtl !== void 0) {
|
|
21274
|
+
return paraRtl;
|
|
21275
|
+
}
|
|
21276
|
+
}
|
|
21277
|
+
for (const entry5 of paraSegments) {
|
|
21278
|
+
const segRtl = entry5.segment.style?.rtl;
|
|
21279
|
+
if (segRtl !== void 0) {
|
|
21280
|
+
return segRtl;
|
|
21281
|
+
}
|
|
21282
|
+
}
|
|
21283
|
+
return elementRtl;
|
|
21284
|
+
}
|
|
21285
|
+
function resolveParagraphAlign(paraSegments, elementAlign) {
|
|
21286
|
+
for (const entry5 of paraSegments) {
|
|
21287
|
+
const segAlign = entry5.segment.style?.align;
|
|
21288
|
+
if (segAlign !== void 0) {
|
|
21289
|
+
return segAlign;
|
|
21290
|
+
}
|
|
21291
|
+
}
|
|
21292
|
+
return elementAlign;
|
|
21293
|
+
}
|
|
21294
|
+
function resolveCssTextAlign(align, isRtl) {
|
|
21295
|
+
if (align === "justLow" || align === "dist" || align === "thaiDist") {
|
|
21296
|
+
return "justify";
|
|
21297
|
+
}
|
|
21298
|
+
if (align) {
|
|
21299
|
+
return align;
|
|
21300
|
+
}
|
|
21301
|
+
return isRtl ? "right" : void 0;
|
|
21302
|
+
}
|
|
21303
|
+
function resolveTextAlignLast(align) {
|
|
21304
|
+
return align === "dist" ? "justify" : void 0;
|
|
21305
|
+
}
|
|
21306
|
+
|
|
21307
|
+
// src/pptx/render/table-cell-paragraphs.ts
|
|
21308
|
+
var BLANK_LINE = { text: "", isLineBreak: true };
|
|
21309
|
+
function groupRuns(runs) {
|
|
21310
|
+
const groups = [[]];
|
|
21311
|
+
for (const run of runs) {
|
|
21312
|
+
if (run.isParagraphBreak) {
|
|
21313
|
+
groups.push([]);
|
|
21314
|
+
} else {
|
|
21315
|
+
groups[groups.length - 1].push(run);
|
|
21316
|
+
}
|
|
21317
|
+
}
|
|
21318
|
+
return groups;
|
|
21319
|
+
}
|
|
21320
|
+
function strutFontSizePt(runs) {
|
|
21321
|
+
let smallest;
|
|
21322
|
+
for (const run of runs) {
|
|
21323
|
+
if (!run.text) {
|
|
21324
|
+
continue;
|
|
21325
|
+
}
|
|
21326
|
+
if (typeof run.fontSize !== "number" || run.fontSize <= 0) {
|
|
21327
|
+
return void 0;
|
|
21328
|
+
}
|
|
21329
|
+
smallest = smallest === void 0 ? run.fontSize : Math.min(smallest, run.fontSize);
|
|
21330
|
+
}
|
|
21331
|
+
return smallest;
|
|
21332
|
+
}
|
|
21333
|
+
function paragraphLayoutCss(paragraph2, followsCell, isFirst, isLast) {
|
|
21334
|
+
const css = {};
|
|
21335
|
+
const rtl = paragraph2?.rtl === true;
|
|
21336
|
+
if (!followsCell) {
|
|
21337
|
+
css.textAlign = resolveCssTextAlign(paragraph2?.align, rtl) ?? "start";
|
|
21338
|
+
const textAlignLast = resolveTextAlignLast(paragraph2?.align);
|
|
21339
|
+
if (textAlignLast !== void 0) {
|
|
21340
|
+
css.textAlignLast = textAlignLast;
|
|
21341
|
+
}
|
|
21342
|
+
}
|
|
21343
|
+
if (paragraph2?.rtl !== void 0) {
|
|
21344
|
+
css.direction = rtl ? "rtl" : "ltr";
|
|
21345
|
+
css.unicodeBidi = "embed";
|
|
21346
|
+
}
|
|
21347
|
+
const indent = bulletList.resolveParagraphIndent(
|
|
21348
|
+
{ marginLeft: paragraph2?.paragraphMarginLeft, indent: paragraph2?.paragraphIndent },
|
|
21349
|
+
void 0
|
|
21350
|
+
);
|
|
21351
|
+
if (indent.marginLeftPx !== void 0) {
|
|
21352
|
+
css.marginInlineStart = `${indent.marginLeftPx}px`;
|
|
21353
|
+
}
|
|
21354
|
+
if (indent.textIndentPx !== void 0 && (indent.textIndentPx > 0 || indent.marginLeftPx !== void 0)) {
|
|
21355
|
+
css.textIndent = `${indent.textIndentPx}px`;
|
|
21356
|
+
}
|
|
21357
|
+
const spacing = resolveParagraphSpacing({ paraProps: paragraph2, isFirst, isLast });
|
|
21358
|
+
if (spacing.lineHeight !== void 0) {
|
|
21359
|
+
css.lineHeight = spacing.lineHeight;
|
|
21360
|
+
}
|
|
21361
|
+
if (spacing.spaceAfterPx !== void 0) {
|
|
21362
|
+
css.marginBlockEnd = `${spacing.spaceAfterPx}px`;
|
|
21363
|
+
}
|
|
21364
|
+
return css;
|
|
21365
|
+
}
|
|
21366
|
+
function alignOf(paragraph2) {
|
|
21367
|
+
return paragraph2?.align ?? "left";
|
|
21368
|
+
}
|
|
21369
|
+
function followsCellAlign(cell, paragraph2, first) {
|
|
21370
|
+
return alignOf(paragraph2) === alignOf(first) && (paragraph2?.rtl !== true || cell.style?.align !== void 0);
|
|
21371
|
+
}
|
|
21372
|
+
function needsBlocks(paragraphs2, follows, layouts) {
|
|
21373
|
+
return follows.some(
|
|
21374
|
+
(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
|
|
21375
|
+
);
|
|
21376
|
+
}
|
|
21377
|
+
function cellParagraphBlocks(cell) {
|
|
21378
|
+
const { paragraphs: paragraphs2 } = cell;
|
|
21379
|
+
if (!paragraphs2 || paragraphs2.length === 0) {
|
|
21380
|
+
return void 0;
|
|
21381
|
+
}
|
|
21382
|
+
const runs = cell.textRuns && cell.textRuns.length > 0 ? cell.textRuns : [{ text: cell.text }];
|
|
21383
|
+
const groups = groupRuns(runs);
|
|
21384
|
+
const follows = groups.map(
|
|
21385
|
+
(_, index) => followsCellAlign(cell, paragraphs2[index], paragraphs2[0])
|
|
21386
|
+
);
|
|
21387
|
+
const layouts = groups.map(
|
|
21388
|
+
(_, index) => paragraphLayoutCss(paragraphs2[index], follows[index], index === 0, index === groups.length - 1)
|
|
21389
|
+
);
|
|
21390
|
+
if (!needsBlocks(paragraphs2, follows, layouts)) {
|
|
21391
|
+
return void 0;
|
|
21392
|
+
}
|
|
21393
|
+
return groups.map((group, index) => {
|
|
21394
|
+
const css = layouts[index];
|
|
21395
|
+
const hasContent = group.some((run) => run.text !== "" || run.isLineBreak);
|
|
21396
|
+
if (!hasContent) {
|
|
21397
|
+
const endPt = paragraphs2[index]?.endParaFontSize;
|
|
21398
|
+
if (endPt !== void 0) {
|
|
21399
|
+
css.fontSize = `${endPt}pt`;
|
|
21400
|
+
}
|
|
21401
|
+
return { css, runs: [BLANK_LINE] };
|
|
21402
|
+
}
|
|
21403
|
+
const strutPt = strutFontSizePt(group);
|
|
21404
|
+
if (strutPt !== void 0) {
|
|
21405
|
+
css.fontSize = `${strutPt}pt`;
|
|
21406
|
+
}
|
|
21407
|
+
return { css, runs: group };
|
|
21408
|
+
});
|
|
21409
|
+
}
|
|
21410
|
+
|
|
21191
21411
|
// src/pptx/render/table-cell-pointer.ts
|
|
21192
21412
|
function tableCellPointerIntent(input) {
|
|
21193
21413
|
if (!input.isTableCell) {
|
|
@@ -21334,7 +21554,7 @@ var GRADIENT_TYPE_OPTIONS = [
|
|
|
21334
21554
|
{ value: "linear", i18nKey: "pptx.table.gradientLinear" },
|
|
21335
21555
|
{ value: "radial", i18nKey: "pptx.table.gradientRadial" }
|
|
21336
21556
|
];
|
|
21337
|
-
var PATTERN_OPTIONS =
|
|
21557
|
+
var PATTERN_OPTIONS = chunkIURZJAWP_cjs.OOXML_PATTERN_PRESETS.slice(0, 20);
|
|
21338
21558
|
|
|
21339
21559
|
// src/pptx/render/table-resize.ts
|
|
21340
21560
|
var MIN_COLUMN_PROPORTION = 0.03;
|
|
@@ -22078,10 +22298,10 @@ function imageFitTransformParts(el) {
|
|
|
22078
22298
|
return { placement: "", crop: "" };
|
|
22079
22299
|
}
|
|
22080
22300
|
return fitTransformsFromInsets({
|
|
22081
|
-
cropLeft:
|
|
22082
|
-
cropTop:
|
|
22083
|
-
cropRight:
|
|
22084
|
-
cropBottom:
|
|
22301
|
+
cropLeft: chunkIURZJAWP_cjs.clampCropValue(el.cropLeft),
|
|
22302
|
+
cropTop: chunkIURZJAWP_cjs.clampCropValue(el.cropTop),
|
|
22303
|
+
cropRight: chunkIURZJAWP_cjs.clampCropValue(el.cropRight),
|
|
22304
|
+
cropBottom: chunkIURZJAWP_cjs.clampCropValue(el.cropBottom),
|
|
22085
22305
|
fillRectLeft: el.fillRectLeft ?? 0,
|
|
22086
22306
|
fillRectTop: el.fillRectTop ?? 0,
|
|
22087
22307
|
fillRectRight: el.fillRectRight ?? 0,
|
|
@@ -22105,10 +22325,10 @@ function fitTransformsFromInsets(insets) {
|
|
|
22105
22325
|
if (hasCrop2) {
|
|
22106
22326
|
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
22107
22327
|
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
22108
|
-
cropLeft =
|
|
22109
|
-
cropRight =
|
|
22110
|
-
cropTop =
|
|
22111
|
-
cropBottom =
|
|
22328
|
+
cropLeft = chunkIURZJAWP_cjs.clampCropValue(cropLeft * horizontalScale);
|
|
22329
|
+
cropRight = chunkIURZJAWP_cjs.clampCropValue(cropRight * horizontalScale);
|
|
22330
|
+
cropTop = chunkIURZJAWP_cjs.clampCropValue(cropTop * verticalScale);
|
|
22331
|
+
cropBottom = chunkIURZJAWP_cjs.clampCropValue(cropBottom * verticalScale);
|
|
22112
22332
|
const remainingWidth = Math.max(0.01, 1 - cropLeft - cropRight);
|
|
22113
22333
|
const remainingHeight = Math.max(0.01, 1 - cropTop - cropBottom);
|
|
22114
22334
|
const tx = Math.round(-cropLeft / remainingWidth * 1e4) / 100;
|
|
@@ -22223,7 +22443,7 @@ function resolveShadeToTitleBackgroundImage(slide, slideWidthPx, slideHeightPx)
|
|
|
22223
22443
|
if (stops.length === 0) {
|
|
22224
22444
|
return void 0;
|
|
22225
22445
|
}
|
|
22226
|
-
return
|
|
22446
|
+
return chunkIURZJAWP_cjs.buildRectPathGradientImage(stops, void 0, fillToRect);
|
|
22227
22447
|
}
|
|
22228
22448
|
|
|
22229
22449
|
// src/pptx/render/slide-background.ts
|
|
@@ -22245,7 +22465,7 @@ function getSlideBackgroundStyle(slide, slideSize) {
|
|
|
22245
22465
|
style["background-repeat"] = "no-repeat";
|
|
22246
22466
|
}
|
|
22247
22467
|
} else if (pattern) {
|
|
22248
|
-
const svg2 =
|
|
22468
|
+
const svg2 = chunkIURZJAWP_cjs.getPatternSvg(
|
|
22249
22469
|
pattern.preset,
|
|
22250
22470
|
pattern.fgColor ?? solid ?? "#000000",
|
|
22251
22471
|
pattern.bgColor ?? DEFAULT_SLIDE_BACKGROUND
|
|
@@ -23653,12 +23873,12 @@ function buildRunTabLines(text3, ctx, nestedDecoration, measure2 = (t) => measur
|
|
|
23653
23873
|
// src/pptx/render/paragraph-run-enrich.ts
|
|
23654
23874
|
function resolveRunExtrasContext(input) {
|
|
23655
23875
|
const { seg, runFont, blockFont, blockScriptStyle, tabStops, defaultTabSize, rtl } = input;
|
|
23656
|
-
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ??
|
|
23876
|
+
const baseFontFamily = runFont.fontFamily ?? blockFont.fontFamily ?? chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY;
|
|
23657
23877
|
const scriptFonts = resolveScriptFontSet(seg.style, blockScriptStyle, baseFontFamily);
|
|
23658
23878
|
const tabContext = tabStops && tabStops.length > 0 ? buildTabContext(
|
|
23659
23879
|
tabStops,
|
|
23660
23880
|
defaultTabSize,
|
|
23661
|
-
runFont.fontSizePx ?? blockFont.fontSizePx ??
|
|
23881
|
+
runFont.fontSizePx ?? blockFont.fontSizePx ?? chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
23662
23882
|
baseFontFamily,
|
|
23663
23883
|
Boolean(seg.style?.bold),
|
|
23664
23884
|
Boolean(seg.style?.italic),
|
|
@@ -23690,7 +23910,7 @@ function resolveRunReflection(segStyle, blockFont) {
|
|
|
23690
23910
|
if (!segStyle) {
|
|
23691
23911
|
return void 0;
|
|
23692
23912
|
}
|
|
23693
|
-
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ??
|
|
23913
|
+
const height = typeof segStyle.fontSize === "number" ? segStyle.fontSize : blockFont.fontSizePx ?? chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
23694
23914
|
return getTextReflectionWrapperStyle(segStyle, height);
|
|
23695
23915
|
}
|
|
23696
23916
|
function applyRunReflection(run, reflection2) {
|
|
@@ -23852,7 +24072,7 @@ function buildTextShadowCss(style) {
|
|
|
23852
24072
|
const ox = style.textShadowOffsetX ?? 0;
|
|
23853
24073
|
const oy = style.textShadowOffsetY ?? 0;
|
|
23854
24074
|
const blur = style.textShadowBlur ?? 4;
|
|
23855
|
-
const color =
|
|
24075
|
+
const color = chunkIURZJAWP_cjs.normalizeHexColor(style.textShadowColor, "#000000");
|
|
23856
24076
|
const opacity = style.textShadowOpacity ?? 0.5;
|
|
23857
24077
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23858
24078
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23865,7 +24085,7 @@ function buildTextShadowCss(style) {
|
|
|
23865
24085
|
const dirRad = dir * Math.PI / 180;
|
|
23866
24086
|
const psOx = Math.round(Math.cos(dirRad) * dist2 * 100) / 100;
|
|
23867
24087
|
const psOy = Math.round(Math.sin(dirRad) * dist2 * 100) / 100;
|
|
23868
|
-
const psColor =
|
|
24088
|
+
const psColor = chunkIURZJAWP_cjs.normalizeHexColor(style.textPresetShadowColor, "#000000");
|
|
23869
24089
|
const psOpacity = style.textPresetShadowOpacity ?? 0.5;
|
|
23870
24090
|
const psR = parseInt(psColor.slice(1, 3), 16);
|
|
23871
24091
|
const psG = parseInt(psColor.slice(3, 5), 16);
|
|
@@ -23882,7 +24102,7 @@ function buildTextInnerShadowCss(style) {
|
|
|
23882
24102
|
const ox = style.textInnerShadowOffsetX ?? 0;
|
|
23883
24103
|
const oy = style.textInnerShadowOffsetY ?? 0;
|
|
23884
24104
|
const blur = style.textInnerShadowBlur ?? 3;
|
|
23885
|
-
const color =
|
|
24105
|
+
const color = chunkIURZJAWP_cjs.normalizeHexColor(style.textInnerShadowColor, "#000000");
|
|
23886
24106
|
const opacity = style.textInnerShadowOpacity ?? 0.5;
|
|
23887
24107
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23888
24108
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23929,7 +24149,7 @@ function buildTextGlowFilter(style) {
|
|
|
23929
24149
|
return void 0;
|
|
23930
24150
|
}
|
|
23931
24151
|
const radius = style.textGlowRadius ?? 6;
|
|
23932
|
-
const color =
|
|
24152
|
+
const color = chunkIURZJAWP_cjs.normalizeHexColor(style.textGlowColor, "#ffff00");
|
|
23933
24153
|
const opacity = style.textGlowOpacity ?? 0.6;
|
|
23934
24154
|
const r = parseInt(color.slice(1, 3), 16);
|
|
23935
24155
|
const g = parseInt(color.slice(3, 5), 16);
|
|
@@ -23957,9 +24177,9 @@ function buildTextFillCss(style) {
|
|
|
23957
24177
|
};
|
|
23958
24178
|
}
|
|
23959
24179
|
if (style.textFillPattern) {
|
|
23960
|
-
const fg =
|
|
23961
|
-
const bg =
|
|
23962
|
-
const svgPattern =
|
|
24180
|
+
const fg = chunkIURZJAWP_cjs.normalizeHexColor(style.textFillPatternForeground, "#000000");
|
|
24181
|
+
const bg = chunkIURZJAWP_cjs.normalizeHexColor(style.textFillPatternBackground, "#ffffff");
|
|
24182
|
+
const svgPattern = chunkIURZJAWP_cjs.getPatternSvg(style.textFillPattern, fg, bg);
|
|
23963
24183
|
if (svgPattern) {
|
|
23964
24184
|
const encoded = encodeURIComponent(svgPattern);
|
|
23965
24185
|
return {
|
|
@@ -24104,15 +24324,15 @@ function resolveRunRuby(segment, baseFontSizePx, blockFont, baseColor) {
|
|
|
24104
24324
|
return void 0;
|
|
24105
24325
|
}
|
|
24106
24326
|
const authoredFamily = segment.rubyStyle?.fontFamily ?? segment.style?.fontFamily;
|
|
24107
|
-
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx :
|
|
24327
|
+
const baseSize = Number.isFinite(baseFontSizePx) ? baseFontSizePx : chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24108
24328
|
const style = {
|
|
24109
24329
|
fontSize: `${segment.rubyFontSize ?? baseSize * RUBY_SIZE_RATIO}px`,
|
|
24110
|
-
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ??
|
|
24330
|
+
fontFamily: authoredFamily ? pptx.getSubstituteFontFamily(authoredFamily) : blockFont.fontFamily ?? chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY,
|
|
24111
24331
|
textAlign: rubyTextAlign(segment.rubyAlignment)
|
|
24112
24332
|
};
|
|
24113
24333
|
const color = segment.rubyStyle?.color;
|
|
24114
24334
|
if (color) {
|
|
24115
|
-
style.color =
|
|
24335
|
+
style.color = chunkIURZJAWP_cjs.normalizeHexColor(color, baseColor);
|
|
24116
24336
|
}
|
|
24117
24337
|
return { text: text3, style };
|
|
24118
24338
|
}
|
|
@@ -24184,7 +24404,7 @@ function buildParagraphRuns(input) {
|
|
|
24184
24404
|
bodyFontSizeRaw,
|
|
24185
24405
|
fontScale
|
|
24186
24406
|
);
|
|
24187
|
-
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ??
|
|
24407
|
+
const fallbackFontSize = strutFontSize ?? blockFont.fontSizePx ?? chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
24188
24408
|
equationStyle.fontSize = `${fallbackFontSize}px`;
|
|
24189
24409
|
}
|
|
24190
24410
|
runs.push({
|
|
@@ -24221,7 +24441,7 @@ function buildParagraphRuns(input) {
|
|
|
24221
24441
|
});
|
|
24222
24442
|
const ruby = resolveRunRuby(
|
|
24223
24443
|
seg,
|
|
24224
|
-
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ??
|
|
24444
|
+
typeof seg.style?.fontSize === "number" ? seg.style.fontSize : blockFont.fontSizePx ?? chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE,
|
|
24225
24445
|
blockFont,
|
|
24226
24446
|
typeof style.color === "string" ? style.color : void 0
|
|
24227
24447
|
);
|
|
@@ -24272,39 +24492,6 @@ function buildParagraphRuns(input) {
|
|
|
24272
24492
|
return runs;
|
|
24273
24493
|
}
|
|
24274
24494
|
|
|
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
24495
|
// src/pptx/render/paragraph-trailing-space.ts
|
|
24309
24496
|
function alignsTrailingEdge(cssAlign, rtl) {
|
|
24310
24497
|
if (cssAlign === "center" || cssAlign === "justify") {
|
|
@@ -24337,44 +24524,6 @@ function trimParagraphTrailingSpaces(runs, cssAlign, rtl) {
|
|
|
24337
24524
|
return changed ? out : runs;
|
|
24338
24525
|
}
|
|
24339
24526
|
|
|
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
24527
|
// src/pptx/render/text-paragraphs.ts
|
|
24379
24528
|
function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
24380
24529
|
if (!pptx.hasTextProperties(element)) {
|
|
@@ -24386,8 +24535,8 @@ function buildParagraphs(element, fieldContext, segmentOverrides, options) {
|
|
|
24386
24535
|
}
|
|
24387
24536
|
const fontScale = resolveAutoFitFontScale(element.textStyle);
|
|
24388
24537
|
const blockFont = {
|
|
24389
|
-
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) :
|
|
24390
|
-
fontSizePx: (element.textStyle?.fontSize ||
|
|
24538
|
+
fontFamily: element.textStyle?.fontFamily ? pptx.getSubstituteFontFamily(element.textStyle.fontFamily) : chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY,
|
|
24539
|
+
fontSizePx: (element.textStyle?.fontSize || chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE) * fontScale
|
|
24391
24540
|
};
|
|
24392
24541
|
const blockScriptStyle = element.textStyle;
|
|
24393
24542
|
const tabStops = element.textStyle?.tabStops;
|
|
@@ -27340,17 +27489,17 @@ function hasItalicRuns(element) {
|
|
|
27340
27489
|
);
|
|
27341
27490
|
}
|
|
27342
27491
|
function buildTextBlockStyle(element, options = {}) {
|
|
27343
|
-
const fallbackColor = options.fallbackColor ??
|
|
27492
|
+
const fallbackColor = options.fallbackColor ?? chunkIURZJAWP_cjs.DEFAULT_TEXT_COLOR;
|
|
27344
27493
|
if (!pptx.hasTextProperties(element)) {
|
|
27345
27494
|
return { color: fallbackColor };
|
|
27346
27495
|
}
|
|
27347
27496
|
const ts = element.textStyle;
|
|
27348
27497
|
const italic = hasItalicRuns(element);
|
|
27349
27498
|
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 ??
|
|
27499
|
+
const bodyTop = ts?.bodyInsetTop ?? chunkIURZJAWP_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27500
|
+
const bodyBottom = ts?.bodyInsetBottom ?? chunkIURZJAWP_cjs.DEFAULT_BODY_INSET_TB_PX;
|
|
27501
|
+
const bodyLeft = ts?.bodyInsetLeft ?? chunkIURZJAWP_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27502
|
+
const bodyRight = ts?.bodyInsetRight ?? chunkIURZJAWP_cjs.DEFAULT_BODY_INSET_LR_PX;
|
|
27354
27503
|
const hasParagraphIndents = (element.paragraphIndents?.length ?? 0) > 0;
|
|
27355
27504
|
const bodyIndent = hasParagraphIndents ? 0 : ts?.paragraphIndent || 0;
|
|
27356
27505
|
const bodyMarginLeft = hasParagraphIndents ? 0 : ts?.paragraphMarginLeft || 0;
|
|
@@ -27379,17 +27528,17 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27379
27528
|
style.transformOrigin = "center";
|
|
27380
27529
|
}
|
|
27381
27530
|
}
|
|
27382
|
-
style.color = ts?.hyperlink ?
|
|
27531
|
+
style.color = ts?.hyperlink ? chunkIURZJAWP_cjs.normalizeHexColor(ts?.color, chunkIURZJAWP_cjs.HYPERLINK_COLOR) : chunkIURZJAWP_cjs.normalizeHexColor(ts?.color, fallbackColor);
|
|
27383
27532
|
if (!hasTextSegments && ts?.highlightColor) {
|
|
27384
|
-
style.backgroundColor =
|
|
27533
|
+
style.backgroundColor = chunkIURZJAWP_cjs.normalizeHexColor(ts.highlightColor, void 0);
|
|
27385
27534
|
}
|
|
27386
27535
|
style.textAlign = resolveCssTextAlign(ts?.align, isRtl) ?? "left";
|
|
27387
27536
|
style.direction = toCssVerticalDirection(ts?.textDirection) ?? (isRtl ? "rtl" : bodyLayoutStyle?.direction ?? "ltr");
|
|
27388
27537
|
if (isRtl) {
|
|
27389
27538
|
style.unicodeBidi = "plaintext";
|
|
27390
27539
|
}
|
|
27391
|
-
style.fontSize = ts?.fontSize ||
|
|
27392
|
-
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) :
|
|
27540
|
+
style.fontSize = ts?.fontSize || chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27541
|
+
style.fontFamily = ts?.fontFamily ? pptx.getSubstituteFontFamily(ts.fontFamily, pptx.parsePanoseString(ts.latinFontPanose)) : chunkIURZJAWP_cjs.DEFAULT_FONT_FAMILY;
|
|
27393
27542
|
style.fontWeight = ts?.bold ? 700 : 400;
|
|
27394
27543
|
style.fontStyle = ts?.italic ? "italic" : "normal";
|
|
27395
27544
|
style.textDecorationLine = decorations.length > 0 ? decorations.join(" ") : "none";
|
|
@@ -27429,7 +27578,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27429
27578
|
text: element.text ?? "",
|
|
27430
27579
|
width: element.width,
|
|
27431
27580
|
height: element.height,
|
|
27432
|
-
defaultFontSize:
|
|
27581
|
+
defaultFontSize: chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE
|
|
27433
27582
|
});
|
|
27434
27583
|
if (autoFit.fontSize !== void 0) {
|
|
27435
27584
|
style.fontSize = autoFit.fontSize;
|
|
@@ -27437,7 +27586,7 @@ function buildTextBlockStyle(element, options = {}) {
|
|
|
27437
27586
|
if (autoFit.lineHeight !== void 0) {
|
|
27438
27587
|
style.lineHeight = autoFit.lineHeight;
|
|
27439
27588
|
}
|
|
27440
|
-
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize :
|
|
27589
|
+
const fontSizePx = typeof style.fontSize === "number" ? style.fontSize : chunkIURZJAWP_cjs.DEFAULT_TEXT_FONT_SIZE;
|
|
27441
27590
|
const lineHeightPx = lineHeightToPx(fontSizePx, style.lineHeight);
|
|
27442
27591
|
const contentHeightPx = element.height - style.paddingTop - style.paddingBottom;
|
|
27443
27592
|
Object.assign(style, resolveVertOverflowEllipsisStyle(ts, contentHeightPx, lineHeightPx));
|
|
@@ -30831,9 +30980,9 @@ function normalizeArrow(a) {
|
|
|
30831
30980
|
function buildConnectorGeometry(element, zIndex, routing) {
|
|
30832
30981
|
const ss = pptx.hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
30833
30982
|
const strokeWidth = Math.max(0, ss?.strokeWidth ?? 2);
|
|
30834
|
-
const strokeColor = ss?.strokeColor ??
|
|
30983
|
+
const strokeColor = ss?.strokeColor ?? chunkIURZJAWP_cjs.DEFAULT_STROKE_COLOR;
|
|
30835
30984
|
const strokeOpacity = ss?.strokeOpacity ?? 1;
|
|
30836
|
-
const dashArray =
|
|
30985
|
+
const dashArray = chunkIURZJAWP_cjs.buildDashArray(ss?.strokeDash, strokeWidth, ss?.customDashSegments);
|
|
30837
30986
|
const strokeLinecap = svgLineCap(ss?.lineCap);
|
|
30838
30987
|
const compoundOffsets = getCompoundLineOffsets(ss?.compoundLine, strokeWidth);
|
|
30839
30988
|
const compoundWidths = getCompoundLineWidths(ss?.compoundLine, strokeWidth);
|
|
@@ -37525,7 +37674,7 @@ function drawingShapeMeshOpacity(shape) {
|
|
|
37525
37674
|
// src/pptx/render/svg-text-lines.ts
|
|
37526
37675
|
var LINE_HEIGHT_RATIO = 1.2;
|
|
37527
37676
|
function centeredSvgTextLines(text3, fontSize, options = {}) {
|
|
37528
|
-
const lines = options.maxWidth !== void 0 ?
|
|
37677
|
+
const lines = options.maxWidth !== void 0 ? chunkIURZJAWP_cjs.wrapTextByEstimatedWidth(text3, options.maxWidth, fontSize) : text3.split("\n").filter((line4) => line4.length > 0);
|
|
37529
37678
|
const centerY = options.centerY ?? 0;
|
|
37530
37679
|
if (lines.length === 0) {
|
|
37531
37680
|
return [{ text: "", y: centerY }];
|
|
@@ -38322,7 +38471,7 @@ function buildObliqueLabels(layout, input) {
|
|
|
38322
38471
|
const { w, h, d } = layout.box;
|
|
38323
38472
|
const span = layout.range.max - layout.range.min;
|
|
38324
38473
|
const fontSize = input.fontSize;
|
|
38325
|
-
for (const v of
|
|
38474
|
+
for (const v of chunkIURZJAWP_cjs.axisTickValues({ ...layout.range, span })) {
|
|
38326
38475
|
const p = (v - layout.range.min) * layout.valueScale;
|
|
38327
38476
|
if (layout.horizontal) {
|
|
38328
38477
|
const at = screen2(layout, p, 0, 0);
|
|
@@ -38406,7 +38555,6 @@ var TOP_WITH_TITLE = 46.5 * PT2;
|
|
|
38406
38555
|
var TOP_NO_TITLE = 14 * PT2;
|
|
38407
38556
|
var BOTTOM_WITH_LEGEND = 57.5 * PT2;
|
|
38408
38557
|
var BOTTOM_NO_LEGEND = 31 * PT2;
|
|
38409
|
-
var DEFAULT_GAP_WIDTH = 150;
|
|
38410
38558
|
var DEFAULT_GAP_DEPTH = 150;
|
|
38411
38559
|
function resolveGrouping(chartData) {
|
|
38412
38560
|
const g = chartData.grouping;
|
|
@@ -38445,7 +38593,7 @@ function dataExtent(chartData, grouping, nCat) {
|
|
|
38445
38593
|
function valueRange(chartData, grouping, nCat, valueLengthPx) {
|
|
38446
38594
|
const axis = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38447
38595
|
const [lo, hi] = dataExtent(chartData, grouping, nCat);
|
|
38448
|
-
const auto =
|
|
38596
|
+
const auto = chunkIURZJAWP_cjs.niceValueAxisBounds(lo, hi, chunkIURZJAWP_cjs.axisTargetIntervals(valueLengthPx), 0);
|
|
38449
38597
|
const min = typeof axis?.min === "number" ? axis.min : auto.min;
|
|
38450
38598
|
let max = typeof axis?.max === "number" ? axis.max : auto.max;
|
|
38451
38599
|
if (max <= min) {
|
|
@@ -38469,22 +38617,22 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38469
38617
|
const rotX = (chartData.view3D?.rotX ?? 15) * Math.PI / 180;
|
|
38470
38618
|
const rotY = (chartData.view3D?.rotY ?? 20) * Math.PI / 180;
|
|
38471
38619
|
const shear = { x: Math.sin(rotY), y: -Math.sin(rotX) };
|
|
38472
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38620
|
+
const gapWidth = (chartData.barGapWidth ?? chunkIURZJAWP_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38473
38621
|
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH) / 100;
|
|
38474
38622
|
const slots = grouping === "clustered" ? nSer : 1;
|
|
38475
38623
|
const rows = grouping === "standard" ? nSer : 1;
|
|
38476
38624
|
const labelFont = vm.axisLabels[0]?.fontSize ?? 16;
|
|
38477
38625
|
const catLabels = chartData.categories.length > 0 ? chartData.categories : Array.from({ length: nCat }, (_, i) => String(i + 1));
|
|
38478
|
-
const widest = (texts) => texts.reduce((m, t) => Math.max(m,
|
|
38626
|
+
const widest = (texts) => texts.reduce((m, t) => Math.max(m, chunkIURZJAWP_cjs.estimateTextWidth(t, labelFont)), 0);
|
|
38479
38627
|
const top = vm.title ? TOP_WITH_TITLE : TOP_NO_TITLE;
|
|
38480
38628
|
const hasBottomLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38481
38629
|
const bottom = vm.svgHeight - (hasBottomLegend ? BOTTOM_WITH_LEGEND : BOTTOM_NO_LEGEND);
|
|
38482
38630
|
const regionH = Math.max(1, bottom - top);
|
|
38483
38631
|
const provisional = valueRange(chartData, grouping, nCat, regionH);
|
|
38484
|
-
const valueTexts =
|
|
38632
|
+
const valueTexts = chunkIURZJAWP_cjs.axisTickValues({
|
|
38485
38633
|
...provisional,
|
|
38486
38634
|
span: provisional.max - provisional.min
|
|
38487
|
-
}).map((v) =>
|
|
38635
|
+
}).map((v) => chunkWKLHJEPD_cjs.formatValueLabel(chartData, grouping, v));
|
|
38488
38636
|
const leftBand = (horizontal ? widest(catLabels) : widest(valueTexts)) + (horizontal ? OBLIQUE_CATEGORY_LABEL_GAP : OBLIQUE_VALUE_LABEL_GAP);
|
|
38489
38637
|
const seriesLabelW = grouping === "standard" && !horizontal ? widest(chartData.series.map((s) => s.name)) : 0;
|
|
38490
38638
|
const seriesOverhang = (depth2) => seriesLabelW > 0 ? Math.max(0, OBLIQUE_CATEGORY_LABEL_GAP + seriesLabelW - depth2 * shear.x / (2 * rows)) : 0;
|
|
@@ -38540,13 +38688,13 @@ function computeObliqueBarLayout(element, vm) {
|
|
|
38540
38688
|
gridlines: [],
|
|
38541
38689
|
labels: []
|
|
38542
38690
|
};
|
|
38543
|
-
layout.bars =
|
|
38544
|
-
layout.gridlines =
|
|
38691
|
+
layout.bars = chunkWKLHJEPD_cjs.buildBars(chartData, vm, layout, { nCat, slots, rows, gapWidth, gapDepth });
|
|
38692
|
+
layout.gridlines = chunkWKLHJEPD_cjs.buildGridlines(layout);
|
|
38545
38693
|
layout.labels = buildObliqueLabels(layout, {
|
|
38546
38694
|
fontSize: labelFont,
|
|
38547
38695
|
categories: catLabels,
|
|
38548
38696
|
seriesNames: chartData.series.map((s) => s.name),
|
|
38549
|
-
valueText: (v) =>
|
|
38697
|
+
valueText: (v) => chunkWKLHJEPD_cjs.formatValueLabel(chartData, grouping, v)
|
|
38550
38698
|
});
|
|
38551
38699
|
return layout;
|
|
38552
38700
|
}
|
|
@@ -38559,7 +38707,7 @@ function buildPerspGridlines(box, range, horizontal) {
|
|
|
38559
38707
|
{ from: [w, 0, 0], to: [w, 0, d] }
|
|
38560
38708
|
];
|
|
38561
38709
|
const span = range.max - range.min;
|
|
38562
|
-
for (const v of
|
|
38710
|
+
for (const v of chunkIURZJAWP_cjs.axisTickValues({ ...range, span })) {
|
|
38563
38711
|
const t = (v - range.min) / span;
|
|
38564
38712
|
if (horizontal) {
|
|
38565
38713
|
const x = t * w;
|
|
@@ -38585,11 +38733,11 @@ function buildPerspLabels(layout, input) {
|
|
|
38585
38733
|
const span = range.max - range.min;
|
|
38586
38734
|
const labels = [];
|
|
38587
38735
|
const fontSize = input.fontSize;
|
|
38588
|
-
for (const v of
|
|
38736
|
+
for (const v of chunkIURZJAWP_cjs.axisTickValues({ ...range, span })) {
|
|
38589
38737
|
const t = (v - range.min) / span;
|
|
38590
|
-
const text3 = input.percent ? `${Math.round(v * 100)}%` :
|
|
38738
|
+
const text3 = input.percent ? `${Math.round(v * 100)}%` : chunkIURZJAWP_cjs.formatAxisValueWithUnits(v, input.valueAxis);
|
|
38591
38739
|
if (layout.horizontal) {
|
|
38592
|
-
const at =
|
|
38740
|
+
const at = chunkWKLHJEPD_cjs.perspToScreen(view, [t * w, 0, 0]);
|
|
38593
38741
|
labels.push({
|
|
38594
38742
|
role: "value",
|
|
38595
38743
|
text: text3,
|
|
@@ -38599,7 +38747,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38599
38747
|
fontSize
|
|
38600
38748
|
});
|
|
38601
38749
|
} else {
|
|
38602
|
-
const at =
|
|
38750
|
+
const at = chunkWKLHJEPD_cjs.perspToScreen(view, [0, t * h, 0]);
|
|
38603
38751
|
labels.push({ role: "value", text: text3, x: at.x - VALUE_GAP2, y: at.y, anchor: "end", fontSize });
|
|
38604
38752
|
}
|
|
38605
38753
|
}
|
|
@@ -38609,7 +38757,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38609
38757
|
return;
|
|
38610
38758
|
}
|
|
38611
38759
|
if (layout.horizontal) {
|
|
38612
|
-
const at2 =
|
|
38760
|
+
const at2 = chunkWKLHJEPD_cjs.perspToScreen(view, [0, pos, 0]);
|
|
38613
38761
|
labels.push({
|
|
38614
38762
|
role: "category",
|
|
38615
38763
|
text: text3,
|
|
@@ -38620,7 +38768,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38620
38768
|
});
|
|
38621
38769
|
return;
|
|
38622
38770
|
}
|
|
38623
|
-
const at =
|
|
38771
|
+
const at = chunkWKLHJEPD_cjs.perspToScreen(view, [pos, 0, 0]);
|
|
38624
38772
|
labels.push({
|
|
38625
38773
|
role: "category",
|
|
38626
38774
|
text: text3,
|
|
@@ -38633,7 +38781,7 @@ function buildPerspLabels(layout, input) {
|
|
|
38633
38781
|
const rows = input.seriesNames.length;
|
|
38634
38782
|
input.seriesNames.forEach((text3, s) => {
|
|
38635
38783
|
const z = layout.kind === "surface" ? rows > 1 ? s / (rows - 1) * d : d / 2 : (s + 0.5) / rows * d;
|
|
38636
|
-
const at =
|
|
38784
|
+
const at = chunkWKLHJEPD_cjs.perspToScreen(view, [w, 0, z]);
|
|
38637
38785
|
labels.push({
|
|
38638
38786
|
role: "series",
|
|
38639
38787
|
text: text3,
|
|
@@ -38657,7 +38805,7 @@ var RECT_TOP_WITH_TITLE = 48 * PT4;
|
|
|
38657
38805
|
var RECT_TOP_NO_TITLE = 14 * PT4;
|
|
38658
38806
|
var RECT_BOTTOM_WITH_LEGEND = 62 * PT4;
|
|
38659
38807
|
var RECT_BOTTOM_NO_LEGEND = 31 * PT4;
|
|
38660
|
-
var
|
|
38808
|
+
var DEFAULT_GAP_DEPTH2 = 150;
|
|
38661
38809
|
var HORIZONTAL_CATEGORY_EXTENT = 0.483;
|
|
38662
38810
|
var DEPTH_FIT_MULTI_ROW = 0.96;
|
|
38663
38811
|
var DEPTH_FIT_SINGLE_ROW = 1.04;
|
|
@@ -38726,8 +38874,8 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
38726
38874
|
const valAx = chartData.axes?.find((a) => a.axisType === "valAx");
|
|
38727
38875
|
const midCat = (valAx?.crossBetween ?? (kind === "area" || kind === "surface" ? "midCat" : "between")) === "midCat";
|
|
38728
38876
|
const view3D = chartData.view3D;
|
|
38729
|
-
const gapWidth = (chartData.barGapWidth ??
|
|
38730
|
-
const gapDepth = (chartData.gapDepth ??
|
|
38877
|
+
const gapWidth = (chartData.barGapWidth ?? chunkIURZJAWP_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
|
|
38878
|
+
const gapDepth = (chartData.gapDepth ?? DEFAULT_GAP_DEPTH2) / 100;
|
|
38731
38879
|
const slot = 1 / nCat;
|
|
38732
38880
|
const rows = kind === "surface" ? nSer : grouping === "standard" ? nSer : 1;
|
|
38733
38881
|
const markDepth = slot / (1 + gapWidth);
|
|
@@ -38739,16 +38887,16 @@ function computePerspChartLayout(element, vm, options = {}) {
|
|
|
38739
38887
|
const valueExtent = horizontal ? 1 : baseHeight * heightScale;
|
|
38740
38888
|
const catExtent = horizontal ? HORIZONTAL_CATEGORY_EXTENT * heightScale : 1;
|
|
38741
38889
|
const box = horizontal ? { w: valueExtent, h: catExtent, d } : { w: 1, h: valueExtent, d };
|
|
38742
|
-
const camera = options.oblique ?
|
|
38890
|
+
const camera = options.oblique ? chunkWKLHJEPD_cjs.perspObliqueCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20) : chunkWKLHJEPD_cjs.perspCameraFor(box, view3D?.rotX ?? 15, view3D?.rotY ?? 20, view3D?.perspective ?? void 0);
|
|
38743
38891
|
const hasLegend = chartData.style?.hasLegend !== false && (chartData.style?.legendPosition ?? "b") === "b";
|
|
38744
|
-
const view =
|
|
38892
|
+
const view = chunkWKLHJEPD_cjs.fitPerspView(camera, {
|
|
38745
38893
|
left: RECT_LEFT,
|
|
38746
38894
|
right: vm.svgWidth - (rows > 1 ? RECT_RIGHT_WITH_SERIES : RECT_RIGHT_NO_SERIES),
|
|
38747
38895
|
top: vm.title ? RECT_TOP_WITH_TITLE : RECT_TOP_NO_TITLE,
|
|
38748
38896
|
bottom: vm.svgHeight - (hasLegend ? RECT_BOTTOM_WITH_LEGEND : RECT_BOTTOM_NO_LEGEND)
|
|
38749
38897
|
});
|
|
38750
38898
|
const [lo, hi] = dataExtent2(chartData, grouping, nCat);
|
|
38751
|
-
const auto =
|
|
38899
|
+
const auto = chunkIURZJAWP_cjs.niceValueAxisBounds(lo, hi, chunkIURZJAWP_cjs.axisTargetIntervals(view.focal * valueExtent), 0);
|
|
38752
38900
|
const min = typeof valAx?.min === "number" ? valAx.min : auto.min;
|
|
38753
38901
|
let max = typeof valAx?.max === "number" ? valAx.max : auto.max;
|
|
38754
38902
|
if (max <= min) {
|
|
@@ -38840,7 +38988,7 @@ function buildBarGeometry(element, vm) {
|
|
|
38840
38988
|
}
|
|
38841
38989
|
var PERSP_BOX_TYPES = /* @__PURE__ */ new Set(["line3D", "area3D", "surface", "bar3D"]);
|
|
38842
38990
|
function buildPieGeometry(element, vm) {
|
|
38843
|
-
const layout =
|
|
38991
|
+
const layout = chunkWKLHJEPD_cjs.computePieChartLayout(element, chunkWKLHJEPD_cjs.widenPieViewModel(vm, element));
|
|
38844
38992
|
return layout ? { kind: "pie", layout } : null;
|
|
38845
38993
|
}
|
|
38846
38994
|
function buildPerspGeometry(element, vm, oblique) {
|
|
@@ -38860,7 +39008,7 @@ function buildChart3DSpecForElement(element) {
|
|
|
38860
39008
|
if (!chartData || !is3DChartType(chartType)) {
|
|
38861
39009
|
return null;
|
|
38862
39010
|
}
|
|
38863
|
-
const vm =
|
|
39011
|
+
const vm = chunkIURZJAWP_cjs.buildChartViewModel(element);
|
|
38864
39012
|
const projection = resolveChart3DProjection(chartType, chartData.view3D);
|
|
38865
39013
|
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;
|
|
38866
39014
|
if (!geometry) {
|
|
@@ -52958,7 +53106,7 @@ function axisTitle(current, show) {
|
|
|
52958
53106
|
return show ? current || AXIS_TITLE : void 0;
|
|
52959
53107
|
}
|
|
52960
53108
|
function applyChartQuickLayout(chartData, layout) {
|
|
52961
|
-
const withGrid = patchChartData(chartData,
|
|
53109
|
+
const withGrid = patchChartData(chartData, chunkIURZJAWP_cjs.chartGridlinesPatch(chartData, layout.majorGridlines));
|
|
52962
53110
|
const axes = (withGrid.axes ?? []).map((axis) => {
|
|
52963
53111
|
if (axis.axisType === "valAx") {
|
|
52964
53112
|
return {
|
|
@@ -53012,7 +53160,7 @@ function matchesLayout(chartData, layout) {
|
|
|
53012
53160
|
const legend = style.hasLegend ? style.legendPosition ?? "r" : null;
|
|
53013
53161
|
const isBar = chartData.chartType === "bar" || chartData.chartType === "bar3D";
|
|
53014
53162
|
const barMatches = !isBar || (chartData.barGapWidth ?? 150) === layout.gapWidth && (chartData.barOverlap ?? 0) === layout.overlap;
|
|
53015
|
-
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 &&
|
|
53163
|
+
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 && chunkIURZJAWP_cjs.chartGridlinesState(chartData) === layout.majorGridlines && Boolean(valAxis?.minorGridlines) === layout.minorGridlines && !valAxis?.deleted === layout.valueAxis;
|
|
53016
53164
|
}
|
|
53017
53165
|
var CHART_QUICK_LAYOUT_GALLERY = {
|
|
53018
53166
|
build(ctx) {
|
|
@@ -58461,7 +58609,7 @@ function isSeriesUsingSecondaryAxis(chartData, seriesIndex) {
|
|
|
58461
58609
|
if (!series) {
|
|
58462
58610
|
return false;
|
|
58463
58611
|
}
|
|
58464
|
-
return
|
|
58612
|
+
return chunkIURZJAWP_cjs.isSeriesOnSecondaryAxis(series, chartData.axes);
|
|
58465
58613
|
}
|
|
58466
58614
|
function resolveSecondaryAxisId(chartData, useSecondary) {
|
|
58467
58615
|
const axPos = useSecondary ? "r" : "l";
|
|
@@ -58989,8 +59137,8 @@ async function embedImagesOnClone(root) {
|
|
|
58989
59137
|
}
|
|
58990
59138
|
|
|
58991
59139
|
// src/pptx/render/foreign-object-svg-document.ts
|
|
58992
|
-
function
|
|
58993
|
-
return
|
|
59140
|
+
function cssCdata(css) {
|
|
59141
|
+
return `<![CDATA[${css.replaceAll("]]>", "]]]]><![CDATA[>")}]]>`;
|
|
58994
59142
|
}
|
|
58995
59143
|
async function buildForeignObjectSvgBody(element, doc, options) {
|
|
58996
59144
|
const {
|
|
@@ -58999,19 +59147,22 @@ async function buildForeignObjectSvgBody(element, doc, options) {
|
|
|
58999
59147
|
backgroundColor,
|
|
59000
59148
|
readComputedStyle = (el) => window.getComputedStyle(el)
|
|
59001
59149
|
} = options;
|
|
59002
|
-
await
|
|
59150
|
+
await chunkKRMMJUCO_cjs.settleThreeViews(element);
|
|
59003
59151
|
const clone = element.cloneNode(true);
|
|
59004
|
-
|
|
59005
|
-
|
|
59006
|
-
|
|
59152
|
+
chunkKRMMJUCO_cjs.withAuthoredStrokeWidths(
|
|
59153
|
+
element,
|
|
59154
|
+
() => inlineComputedStylesOnClone(element, clone, readComputedStyle)
|
|
59155
|
+
);
|
|
59156
|
+
chunkKRMMJUCO_cjs.snapshotThreeViewsIntoClone(element, clone);
|
|
59157
|
+
chunkKRMMJUCO_cjs.prepareExportClone(clone);
|
|
59007
59158
|
const [{ allEmbedded: imagesEmbedded }, externalFonts] = await Promise.all([
|
|
59008
59159
|
embedImagesOnClone(clone),
|
|
59009
59160
|
collectExternalFontFaceCss(doc, fetchAsDataUrl)
|
|
59010
59161
|
]);
|
|
59011
59162
|
const allEmbedded = imagesEmbedded && externalFonts.allEmbedded;
|
|
59012
59163
|
const fontFaceCss = [collectFontFaceCss(doc), externalFonts.css].filter(Boolean).join("\n\n");
|
|
59013
|
-
const defs = fontFaceCss ? `<defs><style type="text/css"
|
|
59014
|
-
const bgRect = backgroundColor ? `<rect width="${width}" height="${height}" fill="${
|
|
59164
|
+
const defs = fontFaceCss ? `<defs><style type="text/css">${cssCdata(fontFaceCss)}</style></defs>` : "";
|
|
59165
|
+
const bgRect = backgroundColor ? `<rect width="${width}" height="${height}" fill="${escapeSvgAttr(backgroundColor)}" />` : "";
|
|
59015
59166
|
const bodyMarkup = [
|
|
59016
59167
|
defs,
|
|
59017
59168
|
bgRect,
|
|
@@ -64338,6 +64489,37 @@ function buildTitleBarState(input) {
|
|
|
64338
64489
|
};
|
|
64339
64490
|
}
|
|
64340
64491
|
|
|
64492
|
+
// src/pptx/render/tab-row-actions.ts
|
|
64493
|
+
function buildTabRowActionsState(input) {
|
|
64494
|
+
const t = input.translate;
|
|
64495
|
+
const share = t("pptx.toolbar.share");
|
|
64496
|
+
return {
|
|
64497
|
+
commentsLabel: t("pptx.toolbar.comments"),
|
|
64498
|
+
commentsTitle: t("pptx.toolbar.comments"),
|
|
64499
|
+
commentsPressed: input.commentsOpen,
|
|
64500
|
+
commentsCount: Math.max(0, input.commentCount ?? 0),
|
|
64501
|
+
noComments: !input.showComments,
|
|
64502
|
+
shareLabel: share,
|
|
64503
|
+
shareTitle: input.isCollaborating && input.collaboratorCount !== void 0 ? t("pptx.toolbar.sharingUsers", { count: input.collaboratorCount }) : share,
|
|
64504
|
+
sharePressed: input.isCollaborating,
|
|
64505
|
+
noShare: !input.showShare
|
|
64506
|
+
};
|
|
64507
|
+
}
|
|
64508
|
+
function tabRowActionsAttributes(state) {
|
|
64509
|
+
const flag2 = (on) => on ? "" : void 0;
|
|
64510
|
+
return {
|
|
64511
|
+
"comments-label": state.commentsLabel,
|
|
64512
|
+
"comments-title": state.commentsTitle,
|
|
64513
|
+
"comments-pressed": flag2(state.commentsPressed),
|
|
64514
|
+
"comments-count": String(state.commentsCount),
|
|
64515
|
+
"no-comments": flag2(state.noComments),
|
|
64516
|
+
"share-label": state.shareLabel,
|
|
64517
|
+
"share-title": state.shareTitle,
|
|
64518
|
+
"share-pressed": flag2(state.sharePressed),
|
|
64519
|
+
"no-share": flag2(state.noShare)
|
|
64520
|
+
};
|
|
64521
|
+
}
|
|
64522
|
+
|
|
64341
64523
|
// src/pptx/render/slide-sorter-state.ts
|
|
64342
64524
|
function createSlideSorterState(slides, active2) {
|
|
64343
64525
|
return {
|
|
@@ -64430,14 +64612,16 @@ function applySorterAction(state, slides, action, active2) {
|
|
|
64430
64612
|
var VIEWER_ROOT_OPTION_DEFAULTS = Object.freeze({
|
|
64431
64613
|
initialSlide: 0,
|
|
64432
64614
|
showToolbar: true,
|
|
64433
|
-
showThumbnails: true
|
|
64615
|
+
showThumbnails: true,
|
|
64616
|
+
showCompatibilityToasts: true
|
|
64434
64617
|
});
|
|
64435
64618
|
function resolveViewerRootOptions(options) {
|
|
64436
64619
|
const initialSlide = options?.initialSlide;
|
|
64437
64620
|
return {
|
|
64438
64621
|
initialSlide: typeof initialSlide === "number" && Number.isFinite(initialSlide) ? initialSlide : VIEWER_ROOT_OPTION_DEFAULTS.initialSlide,
|
|
64439
64622
|
showToolbar: options?.showToolbar ?? VIEWER_ROOT_OPTION_DEFAULTS.showToolbar,
|
|
64440
|
-
showThumbnails: options?.showThumbnails ?? VIEWER_ROOT_OPTION_DEFAULTS.showThumbnails
|
|
64623
|
+
showThumbnails: options?.showThumbnails ?? VIEWER_ROOT_OPTION_DEFAULTS.showThumbnails,
|
|
64624
|
+
showCompatibilityToasts: options?.showCompatibilityToasts ?? VIEWER_ROOT_OPTION_DEFAULTS.showCompatibilityToasts
|
|
64441
64625
|
};
|
|
64442
64626
|
}
|
|
64443
64627
|
function resolveInitialSlideIndex(initialSlide, slideCount) {
|
|
@@ -65477,6 +65661,8 @@ var OFFICE_TOKENS = {
|
|
|
65477
65661
|
"--office-font-size-md": "14px",
|
|
65478
65662
|
"--office-font-size-lg": "15px",
|
|
65479
65663
|
"--office-font-size-xl": "18px",
|
|
65664
|
+
/** Smallest text size that keeps mobile browsers from zooming a focused field. */
|
|
65665
|
+
"--office-font-size-touch": "16px",
|
|
65480
65666
|
"--office-font-weight-medium": "500",
|
|
65481
65667
|
"--office-font-weight-bold": "600",
|
|
65482
65668
|
"--office-line-height": "1.4",
|
|
@@ -65509,6 +65695,8 @@ var OFFICE_TOKENS = {
|
|
|
65509
65695
|
// Sizes
|
|
65510
65696
|
"--office-target-size": "28px",
|
|
65511
65697
|
"--office-target-size-touch": "44px",
|
|
65698
|
+
/** Minimum pointer target on touch layouts. */
|
|
65699
|
+
"--office-touch-target": "36px",
|
|
65512
65700
|
"--office-control-height": "24px",
|
|
65513
65701
|
"--office-control-height-md": "28px",
|
|
65514
65702
|
"--office-control-height-lg": "32px",
|
|
@@ -65597,6 +65785,7 @@ var OFFICE_TOKENS = {
|
|
|
65597
65785
|
"--office-launcher-height": "14px",
|
|
65598
65786
|
"--office-tab-indicator-width": "2.5px",
|
|
65599
65787
|
"--office-status-bar-height": "24px",
|
|
65788
|
+
"--office-status-bar-separator-opacity": "1",
|
|
65600
65789
|
"--office-tab-height": "28px",
|
|
65601
65790
|
"--office-tab-max-width": "220px",
|
|
65602
65791
|
"--office-zoom-slider-width": "120px",
|
|
@@ -65646,6 +65835,8 @@ var OFFICE_TOKENS = {
|
|
|
65646
65835
|
"--office-avatar-size": "48px",
|
|
65647
65836
|
"--office-avatar-color": "var(--office-muted-foreground, #6b7280)",
|
|
65648
65837
|
"--office-toast-width": "360px",
|
|
65838
|
+
"--office-comments-pane-width": "300px",
|
|
65839
|
+
"--office-comment-avatar-size": "24px",
|
|
65649
65840
|
"--office-account-field-width": "320px",
|
|
65650
65841
|
// Component: galleries
|
|
65651
65842
|
"--office-gallery-trigger-height": "24px",
|
|
@@ -65664,6 +65855,8 @@ var OFFICE_TOKENS = {
|
|
|
65664
65855
|
"--office-title-bar-mark-size": "20px",
|
|
65665
65856
|
"--office-title-bar-mark-background": "var(--office-accent, #2563eb)",
|
|
65666
65857
|
"--office-title-bar-mark-foreground": "var(--office-accent-foreground, #ffffff)",
|
|
65858
|
+
"--office-title-bar-name-foreground": "var(--office-title-bar-foreground, var(--office-foreground, #1f2937))",
|
|
65859
|
+
"--office-title-bar-result-selected": "var(--office-selected, #e5e7eb)",
|
|
65667
65860
|
"--office-title-bar-name-max-width": "240px",
|
|
65668
65861
|
"--office-title-bar-name-max-width-narrow": "140px",
|
|
65669
65862
|
"--office-title-bar-search-max-width": "448px",
|
|
@@ -65993,7 +66186,8 @@ var BUILT_IN = {
|
|
|
65993
66186
|
warning: "M10 3l7.5 13H2.5ZM10 8v3.5M10 14v.1",
|
|
65994
66187
|
info: "M3 10a7 7 0 1 0 14 0 7 7 0 1 0-14 0M10 9v4.5M10 6.3v.1",
|
|
65995
66188
|
restore: "M3.5 10a6.5 6.5 0 1 0 2-4.6M3.5 3v3.5H7M10 6.5v3.8l2.5 1.6",
|
|
65996
|
-
print: "M5.5 7.5V3h9v4.5M5.5 14.5H3V8h14v6.5h-2.5M5.5 12h9v5h-9Z"
|
|
66189
|
+
print: "M5.5 7.5V3h9v4.5M5.5 14.5H3V8h14v6.5h-2.5M5.5 12h9v5h-9Z",
|
|
66190
|
+
share: "m12 4 5 5-5 5M17 9h-6a7 7 0 0 0-7 7"
|
|
65997
66191
|
};
|
|
65998
66192
|
for (const [name, d] of Object.entries(BUILT_IN)) registry.set(name, { d });
|
|
65999
66193
|
function registerIcon(name, icon2) {
|
|
@@ -66733,6 +66927,72 @@ var OfficeUiSearch = class extends OfficeElement {
|
|
|
66733
66927
|
};
|
|
66734
66928
|
var defineSearchField = definer("office-ui-search", () => OfficeUiSearch);
|
|
66735
66929
|
|
|
66930
|
+
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/ribbon-actions.css?raw
|
|
66931
|
+
var ribbon_actions_default = ":host {\n display: inline-flex;\n flex: none;\n align-items: center;\n gap: var(--office-space-1-5);\n padding-inline-start: var(--office-space-2);\n color: var(--office-foreground);\n font: inherit;\n font-size: var(--office-font-size);\n}\n[hidden] {\n display: none !important;\n}\n.glyph {\n flex: none;\n width: var(--office-icon-size-md);\n height: var(--office-icon-size-md);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n.glyph:not([data-painted]) {\n display: none;\n}\n.mode {\n position: relative;\n display: inline-flex;\n align-items: center;\n height: var(--office-control-height-md);\n}\n.mode > .glyph {\n position: absolute;\n inset-inline-start: var(--office-space-2);\n pointer-events: none;\n}\n.mode-select {\n height: var(--office-control-height-md);\n padding: 0 var(--office-space-1-5) 0 calc(var(--office-space-2) * 2 + var(--office-icon-size-md));\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-sm);\n background: var(--office-background);\n color: var(--office-foreground);\n font: inherit;\n cursor: pointer;\n}\nbutton {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--office-space-1-5);\n height: var(--office-control-height-md);\n padding: 0 var(--office-space-2-5);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-sm);\n background: transparent;\n color: var(--office-foreground);\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n}\n.comments:hover {\n background: var(--office-surface);\n}\n.comments[aria-pressed='true'] {\n background: var(--office-selected);\n}\n.badge {\n min-width: var(--office-space-4);\n padding: 0 var(--office-space-1);\n border-radius: var(--office-radius-full);\n background: var(--office-accent);\n color: var(--office-accent-foreground);\n font-size: var(--office-font-size-2xs);\n line-height: var(--office-space-4);\n text-align: center;\n}\n.share {\n padding: 0 var(--office-space-3);\n border-color: var(--office-accent);\n background: var(--office-accent);\n color: var(--office-accent-foreground);\n}\n.share:hover,\n.share[aria-pressed='true'] {\n /* Darkened here rather than read from --office-accent-hover, which resolves where the theme\n is installed and so would miss a product's own accent. */\n filter: brightness(0.88);\n}\n.mode-select:focus-visible,\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n/* Narrow windows keep the icons and drop the labels, as Office's simplified layout does. */\n@media (max-width: 900px) {\n .label {\n display: none;\n }\n button {\n padding: 0 var(--office-space-1-5);\n }\n}\n";
|
|
66932
|
+
|
|
66933
|
+
// src/ribbon/ribbon-actions.ts
|
|
66934
|
+
var OfficeUiRibbonActions = class extends OfficeElement {
|
|
66935
|
+
static modeEvent = "office-ribbon-mode";
|
|
66936
|
+
static commentsEvent = "office-ribbon-comments";
|
|
66937
|
+
static shareEvent = "office-ribbon-share";
|
|
66938
|
+
static styles = controlStyles(ribbon_actions_default);
|
|
66939
|
+
static properties = {
|
|
66940
|
+
modes: { attribute: false },
|
|
66941
|
+
mode: { type: String },
|
|
66942
|
+
modeLabel: { attribute: "mode-label", type: String },
|
|
66943
|
+
commentsLabel: { attribute: "comments-label", type: String },
|
|
66944
|
+
commentsTitle: { attribute: "comments-title", type: String },
|
|
66945
|
+
commentsPressed: { attribute: "comments-pressed", ...flag },
|
|
66946
|
+
commentsCount: { attribute: "comments-count", type: Number },
|
|
66947
|
+
noComments: { attribute: "no-comments", ...flag },
|
|
66948
|
+
shareLabel: { attribute: "share-label", type: String },
|
|
66949
|
+
shareTitle: { attribute: "share-title", type: String },
|
|
66950
|
+
sharePressed: { attribute: "share-pressed", ...flag },
|
|
66951
|
+
noShare: { attribute: "no-share", ...flag }
|
|
66952
|
+
};
|
|
66953
|
+
constructor() {
|
|
66954
|
+
super();
|
|
66955
|
+
this.modes = [];
|
|
66956
|
+
this.mode = "";
|
|
66957
|
+
this.modeLabel = "Editing mode";
|
|
66958
|
+
this.commentsLabel = "Comments";
|
|
66959
|
+
this.commentsTitle = null;
|
|
66960
|
+
this.commentsPressed = false;
|
|
66961
|
+
this.commentsCount = 0;
|
|
66962
|
+
this.noComments = false;
|
|
66963
|
+
this.shareLabel = "Share";
|
|
66964
|
+
this.shareTitle = null;
|
|
66965
|
+
this.sharePressed = false;
|
|
66966
|
+
this.noShare = false;
|
|
66967
|
+
}
|
|
66968
|
+
/** The rendered control of a part, or null before the first render. */
|
|
66969
|
+
control(part) {
|
|
66970
|
+
return this.renderRoot.querySelector(`[part="${part}"]`);
|
|
66971
|
+
}
|
|
66972
|
+
onMode(event) {
|
|
66973
|
+
event.stopPropagation();
|
|
66974
|
+
const select2 = event.target;
|
|
66975
|
+
const mode = select2.value;
|
|
66976
|
+
select2.value = this.mode;
|
|
66977
|
+
if (mode !== this.mode) this.fire(this.events().modeEvent, { mode });
|
|
66978
|
+
}
|
|
66979
|
+
events() {
|
|
66980
|
+
return this.constructor;
|
|
66981
|
+
}
|
|
66982
|
+
updated() {
|
|
66983
|
+
const select2 = this.control("mode-select");
|
|
66984
|
+
if (select2 && select2.value !== this.mode) select2.value = this.mode;
|
|
66985
|
+
}
|
|
66986
|
+
render() {
|
|
66987
|
+
const modes = this.modes ?? [];
|
|
66988
|
+
const count = Number(this.commentsCount) || 0;
|
|
66989
|
+
const commentsTitle = this.commentsTitle ?? this.commentsLabel;
|
|
66990
|
+
const shareTitle = this.shareTitle ?? this.shareLabel;
|
|
66991
|
+
return lit.html`<label class="mode" part="mode" ?hidden=${modes.length === 0}>${glyph("pencil", "glyph")}<select class="mode-select" part="mode-select" aria-label=${this.modeLabel} title=${this.modeLabel} @change=${this.onMode}>${modes.map((option) => lit.html`<option value=${option.value} ?selected=${option.value === this.mode}>${option.label}</option>`)}</select></label><button class="comments" part="comments" type="button" aria-label=${this.commentsLabel} title=${count > 0 ? `${commentsTitle} (${count})` : commentsTitle} aria-pressed=${String(present(this.commentsPressed))} ?hidden=${present(this.noComments)} @click=${() => this.fire(this.events().commentsEvent, {})}>${glyph("message", "glyph")}<span class="label">${this.commentsLabel}</span>${count > 0 ? lit.html`<span class="badge" aria-hidden="true">${count}</span>` : ""}</button><button class="share" part="share" type="button" aria-label=${this.shareLabel} title=${shareTitle} aria-pressed=${String(present(this.sharePressed))} ?hidden=${present(this.noShare)} @click=${() => this.fire(this.events().shareEvent, {})}>${glyph("share", "glyph")}<span class="label">${this.shareLabel}</span></button>`;
|
|
66992
|
+
}
|
|
66993
|
+
};
|
|
66994
|
+
var defineRibbonActions = definer("office-ui-ribbon-actions", () => OfficeUiRibbonActions);
|
|
66995
|
+
|
|
66736
66996
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/ribbon/button.css?raw
|
|
66737
66997
|
var button_default = ":host {\n display: inline-flex;\n vertical-align: middle;\n}\nbutton {\n box-sizing: border-box;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--office-space-1-5);\n min-width: var(--office-target-size);\n min-height: var(--office-target-size);\n padding: 0 var(--office-space-2);\n border: var(--office-border-width) solid transparent;\n border-radius: var(--office-radius);\n background: transparent;\n color: var(--office-foreground);\n font: inherit;\n font-size: var(--office-font-size-sm);\n cursor: pointer;\n white-space: nowrap;\n}\n:host([variant='stacked']) button {\n flex-direction: column;\n padding: var(--office-space-1) var(--office-space-2);\n}\nbutton:hover:not(:disabled) {\n background: var(--office-surface);\n}\nbutton:active:not(:disabled) {\n background: var(--office-selected);\n}\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: calc(var(--office-focus-offset) / 2);\n}\nbutton[aria-pressed='true'],\nbutton[aria-expanded='true'] {\n border-color: var(--office-accent);\n background: var(--office-surface);\n}\n:host([active]) button {\n background: var(--office-command-active);\n color: var(--office-accent);\n}\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\nsvg {\n width: var(--office-icon-size-ml);\n height: var(--office-icon-size-ml);\n flex: none;\n color: var(--office-command-icon-color);\n fill: none;\n stroke: currentColor;\n stroke-width: var(--office-icon-stroke);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\nsvg.glyph:not([data-painted]) {\n display: none;\n}\n.label[hidden],\n.caret[hidden],\n.badge[hidden] {\n display: none;\n}\n/* Office trails a menu chevron after the last line of the label. */\n.caret {\n display: inline-block;\n width: var(--office-icon-size-xs);\n height: var(--office-icon-size-xs);\n margin-inline-start: var(--office-space-0);\n vertical-align: middle;\n color: var(--office-muted-foreground);\n}\n.badge {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n padding: 0 var(--office-space-0);\n border-radius: var(--office-radius-full);\n background: var(--office-accent);\n color: var(--office-accent-foreground);\n font-size: var(--office-font-size-3xs);\n}\n\n/* Large ribbon command: a big glyph above a two-line label. */\n:host([size='large']) button {\n flex-direction: column;\n justify-content: flex-start;\n gap: var(--office-space-0);\n min-width: var(--office-command-large-min-width);\n max-width: var(--office-command-large-max-width);\n height: var(--office-command-large-height);\n padding: var(--office-space-0) var(--office-space-1);\n border: 0;\n white-space: normal;\n text-align: center;\n line-height: var(--office-line-height-tight);\n}\n:host([size='large']) svg.glyph {\n width: var(--office-command-large-icon);\n height: var(--office-command-large-icon);\n}\n\n/* Small ribbon command: icon and label in one row. */\n:host([size='small']) button {\n justify-content: flex-start;\n min-width: 0;\n height: var(--office-control-height);\n min-height: var(--office-control-height);\n padding: 0 var(--office-space-1-5);\n border: 0;\n text-align: start;\n}\n:host([size='small']) svg.glyph {\n width: var(--office-command-small-icon);\n height: var(--office-command-small-icon);\n}\n\n/* Tall, label-less tool tiles (pens, erasers). */\n:host([icon-only][tall]) button {\n min-width: var(--office-command-tall-min-width);\n height: var(--office-command-tall-height);\n padding: var(--office-space-1);\n}\n:host([icon-only][tall]) svg.glyph {\n width: var(--office-command-tall-icon);\n height: var(--office-command-tall-icon);\n}\n:host([icon-only][tall][active]) button {\n box-shadow: inset 0 0 0 var(--office-border-width) var(--office-accent);\n}\n\n@media (pointer: coarse), (max-width: 767px) {\n :host([size='small']) button {\n min-height: var(--office-target-size-touch);\n }\n :host([icon-only]) button {\n min-width: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n button {\n border-color: ButtonText;\n color: ButtonText;\n background: ButtonFace;\n }\n svg {\n color: ButtonText;\n }\n button:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n button[aria-pressed='true'],\n button[aria-expanded='true'],\n :host([active]) button {\n background: Highlight;\n color: HighlightText;\n }\n}\n";
|
|
66738
66998
|
|
|
@@ -68169,7 +68429,7 @@ var OfficeUiSelect = class extends OfficeElement {
|
|
|
68169
68429
|
var defineSelect = definer("office-ui-select", () => OfficeUiSelect);
|
|
68170
68430
|
|
|
68171
68431
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/status-bar.css?raw
|
|
68172
|
-
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";
|
|
68432
|
+
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";
|
|
68173
68433
|
|
|
68174
68434
|
// src/chrome/status-bar.ts
|
|
68175
68435
|
var OfficeUiStatusBar = class extends OfficeElement {
|
|
@@ -68260,6 +68520,7 @@ var OfficeUiStatusBar = class extends OfficeElement {
|
|
|
68260
68520
|
</span>
|
|
68261
68521
|
<slot></slot>
|
|
68262
68522
|
<span class="spacer" ?hidden=${!state}></span>
|
|
68523
|
+
<slot name="summary"></slot>
|
|
68263
68524
|
<span class="toggles" ?hidden=${togglesHidden}>
|
|
68264
68525
|
${repeat_js.repeat(
|
|
68265
68526
|
toggles,
|
|
@@ -68310,7 +68571,7 @@ function matchTitleBarCommands(search, query) {
|
|
|
68310
68571
|
}
|
|
68311
68572
|
|
|
68312
68573
|
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/title-bar.css?raw
|
|
68313
|
-
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";
|
|
68574
|
+
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";
|
|
68314
68575
|
|
|
68315
68576
|
// src/chrome/title-bar.ts
|
|
68316
68577
|
var EMPTY = { fileName: "" };
|
|
@@ -68590,59 +68851,6 @@ var defineTitleBar = definer("office-ui-title-bar", () => OfficeUiTitleBar, [
|
|
|
68590
68851
|
defineSwitch
|
|
68591
68852
|
]);
|
|
68592
68853
|
|
|
68593
|
-
// src/pptx/web-components/status-bar-styles.ts
|
|
68594
|
-
var STATUS_BAR_BRIDGE = `
|
|
68595
|
-
:host {
|
|
68596
|
-
--office-status-bar-height: ${STATUS_BAR_METRICS.height}px;
|
|
68597
|
-
--office-surface: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 50%, transparent);
|
|
68598
|
-
--office-border: var(--pptx-border, #33334d);
|
|
68599
|
-
--office-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68600
|
-
--office-font-size-xs: 10px;
|
|
68601
|
-
--office-control-height-xs: 24px;
|
|
68602
|
-
--office-icon-stroke: 1.45;
|
|
68603
|
-
--office-warning: #facc15;
|
|
68604
|
-
--office-danger: #f87171;
|
|
68605
|
-
}
|
|
68606
|
-
.bar { font: 10px/1.2 system-ui, sans-serif; }
|
|
68607
|
-
.sep, .item + .item::before { opacity: .6; }
|
|
68608
|
-
.zoom-fit { min-width: 3rem; padding: 2px 6px; }
|
|
68609
|
-
`;
|
|
68610
|
-
|
|
68611
|
-
// src/pptx/web-components/title-bar-styles.ts
|
|
68612
|
-
var TITLE_BAR_BRIDGE = `
|
|
68613
|
-
:host {
|
|
68614
|
-
--office-title-bar-height: ${TITLE_BAR_METRICS.height}px;
|
|
68615
|
-
--office-title-bar-background: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 80%, transparent);
|
|
68616
|
-
--office-title-bar-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68617
|
-
--office-title-bar-border: color-mix(in srgb, var(--pptx-border, #33334d) 60%, transparent);
|
|
68618
|
-
--office-title-bar-mark-size: ${TITLE_BAR_METRICS.logoSize}px;
|
|
68619
|
-
--office-title-bar-mark-background: ${TITLE_BAR_METRICS.logoBackground};
|
|
68620
|
-
--office-title-bar-mark-foreground: #fff;
|
|
68621
|
-
--office-font-size-xs: ${TITLE_BAR_METRICS.fontSize}px;
|
|
68622
|
-
--office-font-size-sm: ${TITLE_BAR_METRICS.fileNameFontSize}px;
|
|
68623
|
-
--office-font-size-2xs: ${TITLE_BAR_METRICS.logoFontSize}px;
|
|
68624
|
-
--office-font-weight-medium: ${TITLE_BAR_METRICS.fileNameFontWeight};
|
|
68625
|
-
--office-icon-size: 14px;
|
|
68626
|
-
--office-icon-stroke: 1.4;
|
|
68627
|
-
--office-control-height-md: 24px;
|
|
68628
|
-
--office-selected: color-mix(in srgb, var(--pptx-accent, #33334d) 60%, transparent);
|
|
68629
|
-
--office-warning: #eab308;
|
|
68630
|
-
--office-danger: #f87171;
|
|
68631
|
-
--office-popover: var(--pptx-popover, var(--pptx-card, #1e1e2e));
|
|
68632
|
-
--office-shadow-lg: 0 14px 28px rgb(0 0 0 / 40%);
|
|
68633
|
-
}
|
|
68634
|
-
.results button[aria-selected="true"], .results button:hover { background: var(--pptx-accent, #33334d); }
|
|
68635
|
-
.name { color: var(--pptx-foreground, #f1f5f9); }
|
|
68636
|
-
.switch {
|
|
68637
|
-
--pptx-switch-width: ${TITLE_BAR_METRICS.switchTrackWidth}px; --pptx-switch-height: ${TITLE_BAR_METRICS.switchTrackHeight}px;
|
|
68638
|
-
--pptx-switch-knob-size: ${TITLE_BAR_METRICS.switchKnobSize}px; --pptx-switch-knob-offset: ${TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68639
|
-
--pptx-switch-knob-travel: ${TITLE_BAR_METRICS.switchKnobOffsetOn - TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68640
|
-
--pptx-switch-track: color-mix(in srgb, var(--pptx-muted-foreground, #a5a5b5) 40%, transparent);
|
|
68641
|
-
--pptx-switch-thumb: #fff;
|
|
68642
|
-
}
|
|
68643
|
-
@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) { :host { display: none !important; } }
|
|
68644
|
-
`;
|
|
68645
|
-
|
|
68646
68854
|
// src/pptx/web-components/office-token-bridge.ts
|
|
68647
68855
|
var BASE = `
|
|
68648
68856
|
--office-font: system-ui, sans-serif;
|
|
@@ -68700,9 +68908,53 @@ var BASE = `
|
|
|
68700
68908
|
--office-switch-thumb: ${tok("--pptx-switch-thumb")};
|
|
68701
68909
|
--office-switch-thumb-on: ${tok("--pptx-switch-thumb")};
|
|
68702
68910
|
`;
|
|
68911
|
+
var TITLE_BAR = `:host {
|
|
68912
|
+
--office-title-bar-height: ${TITLE_BAR_METRICS.height}px;
|
|
68913
|
+
--office-title-bar-background: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 80%, transparent);
|
|
68914
|
+
--office-title-bar-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68915
|
+
--office-title-bar-name-foreground: var(--pptx-foreground, #f1f5f9);
|
|
68916
|
+
--office-title-bar-border: color-mix(in srgb, var(--pptx-border, #33334d) 60%, transparent);
|
|
68917
|
+
--office-title-bar-mark-size: ${TITLE_BAR_METRICS.logoSize}px;
|
|
68918
|
+
--office-title-bar-mark-background: ${TITLE_BAR_METRICS.logoBackground};
|
|
68919
|
+
--office-title-bar-mark-foreground: #fff;
|
|
68920
|
+
--office-title-bar-result-selected: var(--pptx-accent, #33334d);
|
|
68921
|
+
--office-font-size-xs: ${TITLE_BAR_METRICS.fontSize}px;
|
|
68922
|
+
--office-font-size-sm: ${TITLE_BAR_METRICS.fileNameFontSize}px;
|
|
68923
|
+
--office-font-size-2xs: ${TITLE_BAR_METRICS.logoFontSize}px;
|
|
68924
|
+
--office-font-weight-medium: ${TITLE_BAR_METRICS.fileNameFontWeight};
|
|
68925
|
+
--office-icon-size: 14px;
|
|
68926
|
+
--office-icon-stroke: 1.4;
|
|
68927
|
+
--office-control-height-md: 24px;
|
|
68928
|
+
--office-selected: color-mix(in srgb, var(--pptx-accent, #33334d) 60%, transparent);
|
|
68929
|
+
--office-warning: #eab308;
|
|
68930
|
+
--office-danger: #f87171;
|
|
68931
|
+
--office-popover: var(--pptx-popover, var(--pptx-card, #1e1e2e));
|
|
68932
|
+
--office-shadow-lg: 0 14px 28px rgb(0 0 0 / 40%);
|
|
68933
|
+
--pptx-switch-width: ${TITLE_BAR_METRICS.switchTrackWidth}px;
|
|
68934
|
+
--pptx-switch-height: ${TITLE_BAR_METRICS.switchTrackHeight}px;
|
|
68935
|
+
--pptx-switch-knob-size: ${TITLE_BAR_METRICS.switchKnobSize}px;
|
|
68936
|
+
--pptx-switch-knob-offset: ${TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68937
|
+
--pptx-switch-knob-travel: ${TITLE_BAR_METRICS.switchKnobOffsetOn - TITLE_BAR_METRICS.switchKnobOffsetOff}px;
|
|
68938
|
+
--pptx-switch-track: color-mix(in srgb, var(--pptx-muted-foreground, #a5a5b5) 40%, transparent);
|
|
68939
|
+
--pptx-switch-thumb: #fff;
|
|
68940
|
+
}
|
|
68941
|
+
@media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) { :host { display: none !important; } }`;
|
|
68942
|
+
var STATUS_BAR = `:host {
|
|
68943
|
+
--office-status-bar-height: ${STATUS_BAR_METRICS.height}px;
|
|
68944
|
+
--office-status-bar-separator-opacity: 0.6;
|
|
68945
|
+
--office-surface: color-mix(in srgb, var(--pptx-secondary, #1e1e2e) 50%, transparent);
|
|
68946
|
+
--office-border: var(--pptx-border, #33334d);
|
|
68947
|
+
--office-foreground: var(--pptx-card-foreground, #e2e8f0);
|
|
68948
|
+
--office-font-size-xs: 10px;
|
|
68949
|
+
--office-control-height-xs: 24px;
|
|
68950
|
+
--office-icon-stroke: 1.45;
|
|
68951
|
+
--office-warning: #facc15;
|
|
68952
|
+
--office-danger: #f87171;
|
|
68953
|
+
line-height: 1.2;
|
|
68954
|
+
}`;
|
|
68703
68955
|
var EXTRAS = {
|
|
68704
|
-
"pptx-ui-title-bar":
|
|
68705
|
-
"pptx-ui-status-bar":
|
|
68956
|
+
"pptx-ui-title-bar": TITLE_BAR,
|
|
68957
|
+
"pptx-ui-status-bar": STATUS_BAR,
|
|
68706
68958
|
"pptx-ui-ribbon-gallery": `:host { --office-foreground: var(--pptx-foreground, #f9fafb); --office-background: var(--pptx-background, #111827);
|
|
68707
68959
|
--office-gallery-strip-background: color-mix(in srgb, var(--pptx-muted, #2a2a3d) 30%, transparent);
|
|
68708
68960
|
--office-command-icon-color: var(--pptx-primary, #6366f1); --office-z-popover: 1200;
|
|
@@ -68720,6 +68972,9 @@ var EXTRAS = {
|
|
|
68720
68972
|
--office-launcher-inset-end: -2px; --office-launcher-inset-bottom: 1px; --office-launcher-width: 14px;
|
|
68721
68973
|
--office-launcher-height: 14px; --office-ribbon-collapse-x: var(--pptx-collapse-x, 8px);
|
|
68722
68974
|
--office-ribbon-collapse-y: var(--pptx-collapse-y, 120px); }`,
|
|
68975
|
+
// The tab row's Comments and Share at the pptx tab-row scale (11px labels, 24px controls).
|
|
68976
|
+
"pptx-ui-ribbon-actions": `:host { --office-font-size: 11px; --office-control-height-md: 24px;
|
|
68977
|
+
--office-icon-size-md: 14px; --office-font-size-2xs: 8px; padding-inline-start: 0; }`,
|
|
68723
68978
|
"pptx-ui-context-menu": `:host { --office-menu-min-width: 180px; --office-danger: var(--pptx-destructive, #f87171);
|
|
68724
68979
|
--office-selected: var(--pptx-accent, #33334d); --office-radius-md: var(--pptx-radius, 6px); }`
|
|
68725
68980
|
};
|
|
@@ -72930,6 +73185,39 @@ function definePptxStatusBar(registry2) {
|
|
|
72930
73185
|
registry2.define("pptx-ui-status-bar", PptxStatusBar);
|
|
72931
73186
|
}
|
|
72932
73187
|
|
|
73188
|
+
// src/pptx/web-components/ribbon-actions.ts
|
|
73189
|
+
function definePptxRibbonActions(registry2) {
|
|
73190
|
+
if (registry2.get("pptx-ui-ribbon-actions")) {
|
|
73191
|
+
return;
|
|
73192
|
+
}
|
|
73193
|
+
defineRibbonActions(registry2);
|
|
73194
|
+
const Base = registry2.get("office-ui-ribbon-actions");
|
|
73195
|
+
class PptxRibbonActions extends Base {
|
|
73196
|
+
static commentsEvent = "comments-toggle";
|
|
73197
|
+
static shareEvent = "share-request";
|
|
73198
|
+
#model;
|
|
73199
|
+
constructor() {
|
|
73200
|
+
super();
|
|
73201
|
+
if (this.shadowRoot) {
|
|
73202
|
+
attachControlStyles(this.shadowRoot, bridgeCss("pptx-ui-ribbon-actions"));
|
|
73203
|
+
}
|
|
73204
|
+
}
|
|
73205
|
+
get state() {
|
|
73206
|
+
return this.#model;
|
|
73207
|
+
}
|
|
73208
|
+
set state(value) {
|
|
73209
|
+
this.#model = value;
|
|
73210
|
+
if (value) {
|
|
73211
|
+
Object.assign(this, value);
|
|
73212
|
+
}
|
|
73213
|
+
}
|
|
73214
|
+
}
|
|
73215
|
+
registry2.define(
|
|
73216
|
+
"pptx-ui-ribbon-actions",
|
|
73217
|
+
PptxRibbonActions
|
|
73218
|
+
);
|
|
73219
|
+
}
|
|
73220
|
+
|
|
72933
73221
|
// src/pptx/web-components/subtitle-settings-styles.ts
|
|
72934
73222
|
var SUBTITLE_SETTINGS_STYLES = `
|
|
72935
73223
|
:host { display: inline-flex; }
|
|
@@ -73997,6 +74285,7 @@ var controls = [
|
|
|
73997
74285
|
["pptx-ui-ribbon-gallery", definePptxRibbonGallery],
|
|
73998
74286
|
["pptx-ui-ribbon-toggle", definePptxRibbonToggle],
|
|
73999
74287
|
["pptx-ui-status-bar", definePptxStatusBar],
|
|
74288
|
+
["pptx-ui-ribbon-actions", definePptxRibbonActions],
|
|
74000
74289
|
["pptx-ui-notes-toolbar", definePptxNotesToolbar],
|
|
74001
74290
|
["pptx-ui-context-menu", definePptxContextMenu],
|
|
74002
74291
|
["pptx-ui-subtitle-settings", definePptxSubtitleSettings],
|
|
@@ -74127,7 +74416,7 @@ function applyChart3DDrag(bridge, detail) {
|
|
|
74127
74416
|
return;
|
|
74128
74417
|
}
|
|
74129
74418
|
bridge.commitChartData(
|
|
74130
|
-
|
|
74419
|
+
chunkWKLHJEPD_cjs.withChartPointValue(bridge.chartData, part.seriesIndex, part.pointIndex, value)
|
|
74131
74420
|
);
|
|
74132
74421
|
}
|
|
74133
74422
|
function detailOf(event) {
|
|
@@ -74604,7 +74893,7 @@ function calculateNotesPageLayout(slideWidth, slideHeight) {
|
|
|
74604
74893
|
};
|
|
74605
74894
|
}
|
|
74606
74895
|
function wrapNotesText(text3, maxWidth, fontSize) {
|
|
74607
|
-
return
|
|
74896
|
+
return chunkIURZJAWP_cjs.wrapTextByEstimatedWidth(text3, maxWidth, fontSize, { keepBlankLines: true });
|
|
74608
74897
|
}
|
|
74609
74898
|
function calculateContinuationPageMaxLines() {
|
|
74610
74899
|
const contentHeight = NOTES_PAGE_H - 2 * NOTES_MARGIN;
|
|
@@ -76116,6 +76405,22 @@ Object.defineProperty(exports, "withChartUserShapeUpdated", {
|
|
|
76116
76405
|
enumerable: true,
|
|
76117
76406
|
get: function () { return chartUserShapeEdit.withChartUserShapeUpdated; }
|
|
76118
76407
|
});
|
|
76408
|
+
Object.defineProperty(exports, "bulletIndentPx", {
|
|
76409
|
+
enumerable: true,
|
|
76410
|
+
get: function () { return bulletList.bulletIndentPx; }
|
|
76411
|
+
});
|
|
76412
|
+
Object.defineProperty(exports, "resolveParagraphBullet", {
|
|
76413
|
+
enumerable: true,
|
|
76414
|
+
get: function () { return bulletList.resolveParagraphBullet; }
|
|
76415
|
+
});
|
|
76416
|
+
Object.defineProperty(exports, "resolveParagraphIndent", {
|
|
76417
|
+
enumerable: true,
|
|
76418
|
+
get: function () { return bulletList.resolveParagraphIndent; }
|
|
76419
|
+
});
|
|
76420
|
+
Object.defineProperty(exports, "resolvePictureBullet", {
|
|
76421
|
+
enumerable: true,
|
|
76422
|
+
get: function () { return bulletList.resolvePictureBullet; }
|
|
76423
|
+
});
|
|
76119
76424
|
Object.defineProperty(exports, "canMergeCells", {
|
|
76120
76425
|
enumerable: true,
|
|
76121
76426
|
get: function () { return tableMerge.canMergeCells; }
|
|
@@ -76176,6 +76481,10 @@ Object.defineProperty(exports, "setCellText", {
|
|
|
76176
76481
|
enumerable: true,
|
|
76177
76482
|
get: function () { return tableCellEdit.setCellText; }
|
|
76178
76483
|
});
|
|
76484
|
+
Object.defineProperty(exports, "withCellStyle", {
|
|
76485
|
+
enumerable: true,
|
|
76486
|
+
get: function () { return tableCellEdit.withCellStyle; }
|
|
76487
|
+
});
|
|
76179
76488
|
Object.defineProperty(exports, "withCellText", {
|
|
76180
76489
|
enumerable: true,
|
|
76181
76490
|
get: function () { return tableCellEdit.withCellText; }
|
|
@@ -76512,22 +76821,6 @@ Object.defineProperty(exports, "romanNumeral", {
|
|
|
76512
76821
|
enumerable: true,
|
|
76513
76822
|
get: function () { return bulletAutonum.romanNumeral; }
|
|
76514
76823
|
});
|
|
76515
|
-
Object.defineProperty(exports, "bulletIndentPx", {
|
|
76516
|
-
enumerable: true,
|
|
76517
|
-
get: function () { return bulletList.bulletIndentPx; }
|
|
76518
|
-
});
|
|
76519
|
-
Object.defineProperty(exports, "resolveParagraphBullet", {
|
|
76520
|
-
enumerable: true,
|
|
76521
|
-
get: function () { return bulletList.resolveParagraphBullet; }
|
|
76522
|
-
});
|
|
76523
|
-
Object.defineProperty(exports, "resolveParagraphIndent", {
|
|
76524
|
-
enumerable: true,
|
|
76525
|
-
get: function () { return bulletList.resolveParagraphIndent; }
|
|
76526
|
-
});
|
|
76527
|
-
Object.defineProperty(exports, "resolvePictureBullet", {
|
|
76528
|
-
enumerable: true,
|
|
76529
|
-
get: function () { return bulletList.resolvePictureBullet; }
|
|
76530
|
-
});
|
|
76531
76824
|
Object.defineProperty(exports, "THEME_COLOR_LABELS", {
|
|
76532
76825
|
enumerable: true,
|
|
76533
76826
|
get: function () { return textTheme.THEME_COLOR_LABELS; }
|
|
@@ -77861,6 +78154,7 @@ exports.buildSvgGradientDef = buildSvgGradientDef;
|
|
|
77861
78154
|
exports.buildSvgStrokeGradientDef = buildSvgStrokeGradientDef;
|
|
77862
78155
|
exports.buildSvgStrokePatternDef = buildSvgStrokePatternDef;
|
|
77863
78156
|
exports.buildTabContext = buildTabContext;
|
|
78157
|
+
exports.buildTabRowActionsState = buildTabRowActionsState;
|
|
77864
78158
|
exports.buildTableDataGrid = buildTableDataGrid;
|
|
77865
78159
|
exports.buildTextBlockStyle = buildTextBlockStyle;
|
|
77866
78160
|
exports.buildTextBlurFilter = buildTextBlurFilter;
|
|
@@ -77920,6 +78214,7 @@ exports.cascadeDownPath = cascadeDownPath;
|
|
|
77920
78214
|
exports.cascadeUpPath = cascadeUpPath;
|
|
77921
78215
|
exports.cell3DBevelCss = cell3DBevelCss;
|
|
77922
78216
|
exports.cellImageFillCss = cellImageFillCss;
|
|
78217
|
+
exports.cellParagraphBlocks = cellParagraphBlocks;
|
|
77923
78218
|
exports.cellPatternFillCss = cellPatternFillCss;
|
|
77924
78219
|
exports.cellRunStyle = cellRunStyle;
|
|
77925
78220
|
exports.cellStyleToCss = cellStyleToCss;
|
|
@@ -77932,6 +78227,7 @@ exports.chartAxisTitlesState = chartAxisTitlesState;
|
|
|
77932
78227
|
exports.chartDataLabelsTogglePatch = chartDataLabelsTogglePatch;
|
|
77933
78228
|
exports.chartEventPathElements = chartEventPathElements;
|
|
77934
78229
|
exports.chartPlaceholderLabel = chartPlaceholderLabel;
|
|
78230
|
+
exports.chartStylePresetPalette = chartStylePresetPalette;
|
|
77935
78231
|
exports.chartThreeViewSpec = chartThreeViewSpec;
|
|
77936
78232
|
exports.checkModifyPassword = checkModifyPassword;
|
|
77937
78233
|
exports.checkerboardDecl = checkerboardDecl;
|
|
@@ -78109,6 +78405,7 @@ exports.cropResetState = cropResetState;
|
|
|
78109
78405
|
exports.cropSessionChanged = cropSessionChanged;
|
|
78110
78406
|
exports.cropToAspectRatio = cropToAspectRatio;
|
|
78111
78407
|
exports.cropUpdateFromRects = cropUpdateFromRects;
|
|
78408
|
+
exports.cssCdata = cssCdata;
|
|
78112
78409
|
exports.cssEasingForAccelDecel = cssEasingForAccelDecel;
|
|
78113
78410
|
exports.cssEasingForTimingCurve = cssEasingForTimingCurve;
|
|
78114
78411
|
exports.cssKeyframeName = cssKeyframeName;
|
|
@@ -79333,6 +79630,7 @@ exports.svgToDataUrl = svgToDataUrl;
|
|
|
79333
79630
|
exports.swapPresentationWindows = swapPresentationWindows;
|
|
79334
79631
|
exports.switchSmartArtLayoutData = switchSmartArtLayoutData;
|
|
79335
79632
|
exports.syncGoogleWebfontStylesheet = syncGoogleWebfontStylesheet;
|
|
79633
|
+
exports.tabRowActionsAttributes = tabRowActionsAttributes;
|
|
79336
79634
|
exports.tableCellCss = tableCellCss;
|
|
79337
79635
|
exports.tableCellFillColorCommitPatch = tableCellFillColorCommitPatch;
|
|
79338
79636
|
exports.tableCellPointerIntent = tableCellPointerIntent;
|