pptx-react-viewer 2.13.1 → 2.13.2
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/CHANGELOG.md +6 -0
- package/dist/{AiChatPanel-FXPGFU6H.js → AiChatPanel-F4E3A2DE.js} +22 -22
- package/dist/AiChatPanel-F4E3A2DE.js.br +0 -0
- package/dist/AiChatPanel-F4E3A2DE.js.gz +0 -0
- package/dist/{AiChatPanel-WMGS5TNX.mjs → AiChatPanel-VEULATXX.mjs} +3 -3
- package/dist/AiChatPanel-VEULATXX.mjs.br +0 -0
- package/dist/AiChatPanel-VEULATXX.mjs.gz +0 -0
- package/dist/{Model3DScene-E2XRQAMR.mjs → Model3DScene-KIPEODEJ.mjs} +1 -1
- package/dist/{Model3DScene-E2XRQAMR.mjs.br → Model3DScene-KIPEODEJ.mjs.br} +0 -0
- package/dist/Model3DScene-KIPEODEJ.mjs.gz +0 -0
- package/dist/{Model3DScene-K5FPZTRG.js → Model3DScene-TD2LIHYP.js} +2 -2
- package/dist/Model3DScene-TD2LIHYP.js.br +0 -0
- package/dist/Model3DScene-TD2LIHYP.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-2W2IFPLE.mjs → SurfaceChart3DScene-GRBWZ52S.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-2W2IFPLE.mjs.br → SurfaceChart3DScene-GRBWZ52S.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-GRBWZ52S.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-JDCFTXYT.js → SurfaceChart3DScene-OTKXQH5O.js} +2 -2
- package/dist/SurfaceChart3DScene-OTKXQH5O.js.br +0 -0
- package/dist/SurfaceChart3DScene-OTKXQH5O.js.gz +0 -0
- package/dist/{chunk-3OV4FR6S.mjs → chunk-3HWE6QZG.mjs} +7 -7
- package/dist/chunk-3HWE6QZG.mjs.br +0 -0
- package/dist/chunk-3HWE6QZG.mjs.gz +0 -0
- package/dist/{chunk-QFNJCEMS.js → chunk-BNSCH4WT.js} +327 -327
- package/dist/chunk-BNSCH4WT.js.br +0 -0
- package/dist/chunk-BNSCH4WT.js.gz +0 -0
- package/dist/{chunk-66ZHD7Y4.js → chunk-DOS7NY7C.js} +244 -244
- package/dist/chunk-DOS7NY7C.js.br +0 -0
- package/dist/chunk-DOS7NY7C.js.gz +0 -0
- package/dist/{chunk-ZMIFFURL.js → chunk-EUQ2IER3.js} +1037 -1037
- package/dist/chunk-EUQ2IER3.js.br +0 -0
- package/dist/chunk-EUQ2IER3.js.gz +0 -0
- package/dist/{chunk-DD2YRS6Z.js → chunk-FDR5W67L.js} +160 -50
- package/dist/chunk-FDR5W67L.js.br +0 -0
- package/dist/chunk-FDR5W67L.js.gz +0 -0
- package/dist/{chunk-OWGPRVRK.mjs → chunk-GKOKCOXR.mjs} +160 -50
- package/dist/chunk-GKOKCOXR.mjs.br +0 -0
- package/dist/chunk-GKOKCOXR.mjs.gz +0 -0
- package/dist/{chunk-GJEH27GD.mjs → chunk-GZ6TXBEO.mjs} +2 -2
- package/dist/chunk-GZ6TXBEO.mjs.br +0 -0
- package/dist/{chunk-GJEH27GD.mjs.gz → chunk-GZ6TXBEO.mjs.gz} +0 -0
- package/dist/{chunk-CQ2CKMG4.mjs → chunk-L5YGPCQW.mjs} +1 -1
- package/dist/chunk-L5YGPCQW.mjs.br +0 -0
- package/dist/chunk-L5YGPCQW.mjs.gz +0 -0
- package/dist/{chunk-PTFCMG3A.js → chunk-VY3KLDJF.js} +3 -3
- package/dist/chunk-VY3KLDJF.js.br +0 -0
- package/dist/chunk-VY3KLDJF.js.gz +0 -0
- package/dist/{chunk-H5H57XMH.mjs → chunk-ZFRPPY2N.mjs} +2 -2
- package/dist/chunk-ZFRPPY2N.mjs.br +0 -0
- package/dist/chunk-ZFRPPY2N.mjs.gz +0 -0
- package/dist/index.js +34 -34
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.js +78 -78
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/viewer/index.js +21 -21
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-FXPGFU6H.js.br +0 -0
- package/dist/AiChatPanel-FXPGFU6H.js.gz +0 -0
- package/dist/AiChatPanel-WMGS5TNX.mjs.br +0 -0
- package/dist/AiChatPanel-WMGS5TNX.mjs.gz +0 -0
- package/dist/Model3DScene-E2XRQAMR.mjs.gz +0 -0
- package/dist/Model3DScene-K5FPZTRG.js.br +0 -0
- package/dist/Model3DScene-K5FPZTRG.js.gz +0 -0
- package/dist/SurfaceChart3DScene-2W2IFPLE.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-JDCFTXYT.js.br +0 -0
- package/dist/SurfaceChart3DScene-JDCFTXYT.js.gz +0 -0
- package/dist/chunk-3OV4FR6S.mjs.br +0 -0
- package/dist/chunk-3OV4FR6S.mjs.gz +0 -0
- package/dist/chunk-66ZHD7Y4.js.br +0 -0
- package/dist/chunk-66ZHD7Y4.js.gz +0 -0
- package/dist/chunk-CQ2CKMG4.mjs.br +0 -0
- package/dist/chunk-CQ2CKMG4.mjs.gz +0 -0
- package/dist/chunk-DD2YRS6Z.js.br +0 -0
- package/dist/chunk-DD2YRS6Z.js.gz +0 -0
- package/dist/chunk-GJEH27GD.mjs.br +0 -0
- package/dist/chunk-H5H57XMH.mjs.br +0 -0
- package/dist/chunk-H5H57XMH.mjs.gz +0 -0
- package/dist/chunk-OWGPRVRK.mjs.br +0 -0
- package/dist/chunk-OWGPRVRK.mjs.gz +0 -0
- package/dist/chunk-PTFCMG3A.js.br +0 -0
- package/dist/chunk-PTFCMG3A.js.gz +0 -0
- package/dist/chunk-QFNJCEMS.js.br +0 -0
- package/dist/chunk-QFNJCEMS.js.gz +0 -0
- package/dist/chunk-ZMIFFURL.js.br +0 -0
- package/dist/chunk-ZMIFFURL.js.gz +0 -0
|
@@ -41533,6 +41533,30 @@ var FONT_SUBSTITUTION_MAP = {
|
|
|
41533
41533
|
Gulim: ["Noto Sans CJK KR", "AppleGothic", "sans-serif"],
|
|
41534
41534
|
Malgun: ["Noto Sans CJK KR", "Apple SD Gothic Neo", "sans-serif"],
|
|
41535
41535
|
"Malgun Gothic": ["Noto Sans CJK KR", "Apple SD Gothic Neo", "sans-serif"],
|
|
41536
|
+
// Source Han Sans (Adobe/Google) ships the same glyphs as Noto Sans CJK;
|
|
41537
|
+
// the zh-CN name 思源黑体 is how decks authored in Chinese reference it.
|
|
41538
|
+
"\u601D\u6E90\u9ED1\u4F53 CN": [
|
|
41539
|
+
"Source Han Sans CN",
|
|
41540
|
+
"Noto Sans CJK SC",
|
|
41541
|
+
"Noto Sans SC",
|
|
41542
|
+
"Microsoft YaHei",
|
|
41543
|
+
"sans-serif"
|
|
41544
|
+
],
|
|
41545
|
+
\u601D\u6E90\u9ED1\u4F53: [
|
|
41546
|
+
"Source Han Sans SC",
|
|
41547
|
+
"Noto Sans CJK SC",
|
|
41548
|
+
"Noto Sans SC",
|
|
41549
|
+
"Microsoft YaHei",
|
|
41550
|
+
"sans-serif"
|
|
41551
|
+
],
|
|
41552
|
+
"Source Han Sans CN": [
|
|
41553
|
+
"\u601D\u6E90\u9ED1\u4F53 CN",
|
|
41554
|
+
"Noto Sans CJK SC",
|
|
41555
|
+
"Noto Sans SC",
|
|
41556
|
+
"Microsoft YaHei",
|
|
41557
|
+
"sans-serif"
|
|
41558
|
+
],
|
|
41559
|
+
\u5FAE\u8F6F\u96C5\u9ED1: ["Microsoft YaHei", "Noto Sans CJK SC", "PingFang SC", "sans-serif"],
|
|
41536
41560
|
// Complex script fonts
|
|
41537
41561
|
"Arabic Typesetting": ["Noto Naskh Arabic", "serif"],
|
|
41538
41562
|
"Simplified Arabic": ["Noto Sans Arabic", "sans-serif"],
|
|
@@ -41552,6 +41576,11 @@ var FONT_SUBSTITUTION_MAP = {
|
|
|
41552
41576
|
Nyala: ["Noto Sans Ethiopic", "sans-serif"],
|
|
41553
41577
|
MoolBoran: ["Noto Sans Khmer", "sans-serif"],
|
|
41554
41578
|
// Decorative / Display
|
|
41579
|
+
// Condensed display faces: decks often reference the FULL style name
|
|
41580
|
+
// ("Bebas Neue Regular"); the suffix-stripped base resolves here. The
|
|
41581
|
+
// fallbacks must stay condensed, or short numeric labels sized to the
|
|
41582
|
+
// narrow face overflow their text boxes and wrap (issue #132, "77%").
|
|
41583
|
+
"Bebas Neue": ["Oswald", "Arial Narrow", "Impact", "sans-serif"],
|
|
41555
41584
|
"Century Gothic": ["URW Gothic", "Futura", "sans-serif"],
|
|
41556
41585
|
Oswald: ["Agency FB", "Arial Narrow", "sans-serif"],
|
|
41557
41586
|
"Franklin Gothic": ["Liberation Sans", "Helvetica Neue", "sans-serif"],
|
|
@@ -41563,6 +41592,48 @@ var FONT_SUBSTITUTION_MAP = {
|
|
|
41563
41592
|
Constantia: ["Liberation Serif", "Palatino", "serif"],
|
|
41564
41593
|
Corbel: ["Liberation Sans", "Lucida Grande", "sans-serif"]
|
|
41565
41594
|
};
|
|
41595
|
+
var FONT_STYLE_SUFFIX_TOKENS = /* @__PURE__ */ new Set([
|
|
41596
|
+
"regular",
|
|
41597
|
+
"normal",
|
|
41598
|
+
"book",
|
|
41599
|
+
"roman",
|
|
41600
|
+
"thin",
|
|
41601
|
+
"hairline",
|
|
41602
|
+
"extralight",
|
|
41603
|
+
"ultralight",
|
|
41604
|
+
"demilight",
|
|
41605
|
+
"semilight",
|
|
41606
|
+
"light",
|
|
41607
|
+
"medium",
|
|
41608
|
+
"demibold",
|
|
41609
|
+
"semibold",
|
|
41610
|
+
"bold",
|
|
41611
|
+
"extrabold",
|
|
41612
|
+
"ultrabold",
|
|
41613
|
+
"heavy",
|
|
41614
|
+
"black",
|
|
41615
|
+
"extrablack",
|
|
41616
|
+
"ultra",
|
|
41617
|
+
"italic",
|
|
41618
|
+
"oblique"
|
|
41619
|
+
]);
|
|
41620
|
+
function stripFontStyleSuffix(fontName) {
|
|
41621
|
+
let name = fontName.trim();
|
|
41622
|
+
let stripped = false;
|
|
41623
|
+
for (let i = 0; i < 2; i++) {
|
|
41624
|
+
const idx = name.lastIndexOf(" ");
|
|
41625
|
+
if (idx <= 0) {
|
|
41626
|
+
break;
|
|
41627
|
+
}
|
|
41628
|
+
const token2 = name.slice(idx + 1).toLowerCase().replace(/-/g, "");
|
|
41629
|
+
if (!FONT_STYLE_SUFFIX_TOKENS.has(token2)) {
|
|
41630
|
+
break;
|
|
41631
|
+
}
|
|
41632
|
+
name = name.slice(0, idx).trim();
|
|
41633
|
+
stripped = true;
|
|
41634
|
+
}
|
|
41635
|
+
return stripped && name.length > 0 ? name : void 0;
|
|
41636
|
+
}
|
|
41566
41637
|
var PANOSE_FAMILY_MAP = {
|
|
41567
41638
|
0: "sans-serif",
|
|
41568
41639
|
// Any — default to sans-serif
|
|
@@ -41636,18 +41707,27 @@ function getSubstituteFontFamily(fontName, panose) {
|
|
|
41636
41707
|
if (!trimmed) {
|
|
41637
41708
|
return "sans-serif";
|
|
41638
41709
|
}
|
|
41639
|
-
|
|
41710
|
+
return buildFontFamilyString(trimmed, getSubstituteFonts(trimmed, panose));
|
|
41711
|
+
}
|
|
41712
|
+
function getSubstituteFonts(fontName, panose) {
|
|
41713
|
+
const trimmed = fontName.trim();
|
|
41714
|
+
if (!trimmed) {
|
|
41715
|
+
return ["sans-serif"];
|
|
41716
|
+
}
|
|
41717
|
+
const baseName = stripFontStyleSuffix(trimmed);
|
|
41718
|
+
const basePrefix = baseName ? [baseName] : [];
|
|
41719
|
+
const directSubs = FONT_SUBSTITUTION_MAP[trimmed] ?? (baseName ? FONT_SUBSTITUTION_MAP[baseName] : void 0);
|
|
41640
41720
|
if (directSubs) {
|
|
41641
|
-
return
|
|
41721
|
+
return [...basePrefix, ...directSubs];
|
|
41642
41722
|
}
|
|
41643
41723
|
if (panose && panose.length >= 4) {
|
|
41644
41724
|
const genericFamily = classifyPanose(panose);
|
|
41645
41725
|
const concreteFonts = GENERIC_FAMILY_CONCRETE_FONTS[genericFamily];
|
|
41646
41726
|
if (concreteFonts) {
|
|
41647
|
-
return
|
|
41727
|
+
return [...basePrefix, ...concreteFonts];
|
|
41648
41728
|
}
|
|
41649
41729
|
}
|
|
41650
|
-
return
|
|
41730
|
+
return [...basePrefix, "sans-serif"];
|
|
41651
41731
|
}
|
|
41652
41732
|
var CSS_GENERIC_FAMILIES = /* @__PURE__ */ new Set([
|
|
41653
41733
|
"serif",
|
|
@@ -87363,8 +87443,8 @@ function formatAxisValue(val2, formatCode) {
|
|
|
87363
87443
|
return val2.toFixed(1);
|
|
87364
87444
|
}
|
|
87365
87445
|
function computeLayout(elementWidth, elementHeight, style, hasAxes, legendPos, options) {
|
|
87366
|
-
const svgWidth = Math.max(
|
|
87367
|
-
const svgHeight = Math.max(
|
|
87446
|
+
const svgWidth = Math.max(1, elementWidth);
|
|
87447
|
+
const svgHeight = Math.max(1, elementHeight);
|
|
87368
87448
|
let plotLeft = hasAxes ? 48 : 8;
|
|
87369
87449
|
let plotTop = 8;
|
|
87370
87450
|
let plotRight = svgWidth - 8;
|
|
@@ -87419,6 +87499,12 @@ function chartAreaFill(chartData) {
|
|
|
87419
87499
|
function plotAreaFill(chartData) {
|
|
87420
87500
|
return resolve(chartData?.style?.plotAreaFill, void 0);
|
|
87421
87501
|
}
|
|
87502
|
+
var CHART_PX_PER_PT = 4 / 3;
|
|
87503
|
+
function chartFontPx(sizePt) {
|
|
87504
|
+
return sizePt * CHART_PX_PER_PT;
|
|
87505
|
+
}
|
|
87506
|
+
var DEFAULT_CHART_TEXT_PX = chartFontPx(10);
|
|
87507
|
+
var DEFAULT_CHART_DATA_LABEL_PX = chartFontPx(9);
|
|
87422
87508
|
var LOG_EXPONENT_TOLERANCE = 1e-12;
|
|
87423
87509
|
function computeLogValueRange(series, logBase) {
|
|
87424
87510
|
const allValues = series.flatMap((item) => item.values).filter((value) => value > 0);
|
|
@@ -87997,9 +88083,9 @@ function dashArray(style, width) {
|
|
|
87997
88083
|
}
|
|
87998
88084
|
return `${unit * 3} ${unit * 2}`;
|
|
87999
88085
|
}
|
|
88000
|
-
function chartAxisTextStyle(axis,
|
|
88086
|
+
function chartAxisTextStyle(axis, defaultFontSizePx = DEFAULT_CHART_TEXT_PX) {
|
|
88001
88087
|
return {
|
|
88002
|
-
fontSize: axis?.fontSize
|
|
88088
|
+
fontSize: axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : defaultFontSizePx,
|
|
88003
88089
|
fill: axis?.fontColor ?? DEFAULT_COLOR2,
|
|
88004
88090
|
...axis?.fontBold !== void 0 ? { fontWeight: axis.fontBold ? "bold" : "normal" } : {},
|
|
88005
88091
|
...axis?.fontFamily ? { fontFamily: axis.fontFamily } : {}
|
|
@@ -88146,7 +88232,7 @@ function buildPrimaryAxis(range, layout, axis, axisX = layout.plotLeft) {
|
|
|
88146
88232
|
x: labelX,
|
|
88147
88233
|
y: midY,
|
|
88148
88234
|
text: unitLabel,
|
|
88149
|
-
...chartAxisTextStyle(axis
|
|
88235
|
+
...chartAxisTextStyle(axis),
|
|
88150
88236
|
textAnchor: "middle",
|
|
88151
88237
|
transform: `rotate(-90, ${labelX}, ${midY})`
|
|
88152
88238
|
});
|
|
@@ -88158,7 +88244,7 @@ function buildSecondaryAxis(range, layout, axis, axisX = layout.plotRight) {
|
|
|
88158
88244
|
const gridlines = [];
|
|
88159
88245
|
const axisLabels = [];
|
|
88160
88246
|
const textStyle = chartAxisTextStyle(axis);
|
|
88161
|
-
const captionStyle = chartAxisTextStyle(axis
|
|
88247
|
+
const captionStyle = chartAxisTextStyle(axis);
|
|
88162
88248
|
const axisLine = buildVerticalAxisLine(axis, axisX, layout);
|
|
88163
88249
|
if (axisLine) {
|
|
88164
88250
|
gridlines.push(axisLine);
|
|
@@ -88380,7 +88466,7 @@ function buildBars(chartData, catCount, layout, primaryRange, secondaryRange, se
|
|
|
88380
88466
|
x: x + singleBarWidth / 2,
|
|
88381
88467
|
y: val2 >= 0 ? y - 4 : y + h + 10,
|
|
88382
88468
|
text: formatAxisValue2(val2, series[si].numberFormat),
|
|
88383
|
-
fontSize:
|
|
88469
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88384
88470
|
fill: "#334155",
|
|
88385
88471
|
textAnchor: "middle"
|
|
88386
88472
|
});
|
|
@@ -88452,7 +88538,7 @@ function buildBars(chartData, catCount, layout, primaryRange, secondaryRange, se
|
|
|
88452
88538
|
x: x + barW / 2,
|
|
88453
88539
|
y: y + h / 2 + 3,
|
|
88454
88540
|
text: `${Math.round(val2)}%`,
|
|
88455
|
-
fontSize:
|
|
88541
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88456
88542
|
fill: "#ffffff",
|
|
88457
88543
|
textAnchor: "middle",
|
|
88458
88544
|
fontWeight: "bold"
|
|
@@ -88485,7 +88571,7 @@ function pushClusteredStackedLabels(series, sourceIndices2, catCount, layout, ra
|
|
|
88485
88571
|
x,
|
|
88486
88572
|
y: labelY,
|
|
88487
88573
|
text: formatAxisValue2(val2, series[si].numberFormat),
|
|
88488
|
-
fontSize:
|
|
88574
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88489
88575
|
fill: "#334155",
|
|
88490
88576
|
textAnchor: "middle"
|
|
88491
88577
|
});
|
|
@@ -88771,7 +88857,7 @@ function buildLines(chartData, catCount, layout, primaryRange, secondaryRange, s
|
|
|
88771
88857
|
x: pt.x,
|
|
88772
88858
|
y: pt.y - 7,
|
|
88773
88859
|
text: formatAxisValue2(val2, series.numberFormat),
|
|
88774
|
-
fontSize:
|
|
88860
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88775
88861
|
fill: "#334155",
|
|
88776
88862
|
textAnchor: "middle"
|
|
88777
88863
|
});
|
|
@@ -88843,7 +88929,7 @@ function buildAreas(chartData, catCount, layout, range, sourceIndices2, xPositio
|
|
|
88843
88929
|
x: pt.x,
|
|
88844
88930
|
y: pt.y - 6,
|
|
88845
88931
|
text: formatAxisValue2(val2, series.numberFormat),
|
|
88846
|
-
fontSize:
|
|
88932
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88847
88933
|
fill: "#334155",
|
|
88848
88934
|
textAnchor: "middle"
|
|
88849
88935
|
});
|
|
@@ -88888,7 +88974,7 @@ function buildScatter(chartData, layout, range) {
|
|
|
88888
88974
|
x: dot.cx,
|
|
88889
88975
|
y: dot.cy - 6,
|
|
88890
88976
|
text: formatAxisValue2(val2, series.numberFormat),
|
|
88891
|
-
fontSize:
|
|
88977
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88892
88978
|
fill: "#334155",
|
|
88893
88979
|
textAnchor: "middle"
|
|
88894
88980
|
});
|
|
@@ -88935,7 +89021,7 @@ function buildBubbles(chartData, layout, range) {
|
|
|
88935
89021
|
x: dot.cx,
|
|
88936
89022
|
y: dot.cy - 10,
|
|
88937
89023
|
text: formatAxisValue2(val2, series.numberFormat),
|
|
88938
|
-
fontSize:
|
|
89024
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
88939
89025
|
fill: "#334155",
|
|
88940
89026
|
textAnchor: "middle"
|
|
88941
89027
|
});
|
|
@@ -89085,7 +89171,8 @@ function buildMultiLevelCategoryLabels(categoryLabels, categoryLevels, sourceInd
|
|
|
89085
89171
|
const skip = Math.max(1, axis?.tickLabelSkip ?? 1);
|
|
89086
89172
|
const textAnchor = axis?.labelAlignment === "l" ? "start" : axis?.labelAlignment === "r" ? "end" : "middle";
|
|
89087
89173
|
const direction = labelsAbove ? -1 : 1;
|
|
89088
|
-
const
|
|
89174
|
+
const fontPx = axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
89175
|
+
const bandHeight = Math.max(fontPx, 8) + 4;
|
|
89089
89176
|
return levels.flatMap((level, levelIndex) => {
|
|
89090
89177
|
const values = sourceIndices2.map((sourceIndex) => level[sourceIndex] ?? "");
|
|
89091
89178
|
return groupedLabels(values).flatMap((group2) => {
|
|
@@ -89820,7 +89907,7 @@ function computeTrendlinePrimitives(chartData, catCount, layout, range, mode = "
|
|
|
89820
89907
|
x: last.x,
|
|
89821
89908
|
y: last.y - 6,
|
|
89822
89909
|
text: labelParts.join(" "),
|
|
89823
|
-
fontSize:
|
|
89910
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
89824
89911
|
fill: strokeColor,
|
|
89825
89912
|
textAnchor: "end"
|
|
89826
89913
|
};
|
|
@@ -89837,6 +89924,7 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
89837
89924
|
if (!axes || axes.length === 0) {
|
|
89838
89925
|
return out;
|
|
89839
89926
|
}
|
|
89927
|
+
const titleFontPx = (axis) => axis.fontSize !== void 0 ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
89840
89928
|
const catAxis = axes.find((a) => a.axisType === "catAx" && a.axPos !== "r" && a.titleText);
|
|
89841
89929
|
if (catAxis?.titleText) {
|
|
89842
89930
|
const xTitle = {
|
|
@@ -89844,7 +89932,7 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
89844
89932
|
x: layout.plotLeft + layout.plotWidth / 2,
|
|
89845
89933
|
y: layout.plotBottom + 22,
|
|
89846
89934
|
text: catAxis.titleText,
|
|
89847
|
-
fontSize:
|
|
89935
|
+
fontSize: titleFontPx(catAxis),
|
|
89848
89936
|
fill: AXIS_TITLE_COLOR,
|
|
89849
89937
|
textAnchor: "middle",
|
|
89850
89938
|
fontWeight: "bold"
|
|
@@ -89860,7 +89948,7 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
89860
89948
|
x: yx,
|
|
89861
89949
|
y: yy,
|
|
89862
89950
|
text: valAxis.titleText,
|
|
89863
|
-
fontSize:
|
|
89951
|
+
fontSize: titleFontPx(valAxis),
|
|
89864
89952
|
fill: AXIS_TITLE_COLOR,
|
|
89865
89953
|
textAnchor: "middle",
|
|
89866
89954
|
fontWeight: "bold",
|
|
@@ -90345,7 +90433,7 @@ function buildComboViewModel(element, chartData, categoryLabels) {
|
|
|
90345
90433
|
x: point.x,
|
|
90346
90434
|
y: point.y - 7,
|
|
90347
90435
|
text: formatAxisValue2(point.value, series.numberFormat),
|
|
90348
|
-
fontSize:
|
|
90436
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
90349
90437
|
fill: "#334155",
|
|
90350
90438
|
textAnchor: "middle"
|
|
90351
90439
|
});
|
|
@@ -90400,7 +90488,7 @@ function appendBarLabels(series, chartData, layout, catCount, range, sourceIndic
|
|
|
90400
90488
|
x: xPositions?.[displayIndex] ?? layout.plotLeft + groupWidth * displayIndex + offset + barWidth / 2,
|
|
90401
90489
|
y: value >= 0 ? Math.min(zeroY, valueY) - 4 : Math.max(zeroY, valueY) + 10,
|
|
90402
90490
|
text: formatAxisValue2(value, series.numberFormat),
|
|
90403
|
-
fontSize:
|
|
90491
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
90404
90492
|
fill: "#334155",
|
|
90405
90493
|
textAnchor: "middle"
|
|
90406
90494
|
});
|
|
@@ -90501,7 +90589,7 @@ function buildStockViewModel(element, chartData, categoryLabels) {
|
|
|
90501
90589
|
x: cx,
|
|
90502
90590
|
y: highY - 4,
|
|
90503
90591
|
text: formatAxisValue2(close),
|
|
90504
|
-
fontSize:
|
|
90592
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
90505
90593
|
fill: "#334155",
|
|
90506
90594
|
textAnchor: "middle"
|
|
90507
90595
|
});
|
|
@@ -90946,7 +91034,7 @@ function buildHistogramViewModel(element, chartData, categoryLabels) {
|
|
|
90946
91034
|
x: bar.x + bar.w / 2,
|
|
90947
91035
|
y: bar.y - 4,
|
|
90948
91036
|
text: formatAxisValue2(values[index]),
|
|
90949
|
-
fontSize:
|
|
91037
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
90950
91038
|
fill: DATA_LABEL_COLOR,
|
|
90951
91039
|
textAnchor: "middle"
|
|
90952
91040
|
})) : [];
|
|
@@ -91255,8 +91343,8 @@ function sliceAngles(values) {
|
|
|
91255
91343
|
});
|
|
91256
91344
|
}
|
|
91257
91345
|
function computeOfPieGeom(element, secondPieSize) {
|
|
91258
|
-
const svgWidth = Math.max(element.width,
|
|
91259
|
-
const svgHeight = Math.max(element.height,
|
|
91346
|
+
const svgWidth = Math.max(element.width, 1);
|
|
91347
|
+
const svgHeight = Math.max(element.height, 1);
|
|
91260
91348
|
const primaryR = Math.max(Math.min(svgWidth * 0.28, svgHeight * 0.4), 4);
|
|
91261
91349
|
const secScale = Math.min(Math.max(secondPieSize / 100, 0.3), 1.4);
|
|
91262
91350
|
return {
|
|
@@ -91276,7 +91364,7 @@ function sliceLabel(x, y, value) {
|
|
|
91276
91364
|
x,
|
|
91277
91365
|
y,
|
|
91278
91366
|
text: formatAxisValue2(value),
|
|
91279
|
-
fontSize:
|
|
91367
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
91280
91368
|
fill: "#ffffff",
|
|
91281
91369
|
textAnchor: "middle",
|
|
91282
91370
|
fontWeight: "bold",
|
|
@@ -91451,7 +91539,7 @@ function buildPieDataLabels(params) {
|
|
|
91451
91539
|
x: slice.labelX,
|
|
91452
91540
|
y: slice.labelY,
|
|
91453
91541
|
text: formatAxisValue2(val2, numberFormat),
|
|
91454
|
-
fontSize:
|
|
91542
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
91455
91543
|
fill: "#ffffff",
|
|
91456
91544
|
textAnchor: "middle",
|
|
91457
91545
|
fontWeight: "bold",
|
|
@@ -91471,7 +91559,7 @@ function buildPieDataLabels(params) {
|
|
|
91471
91559
|
x: labelX + (cos >= 0 ? 2 : -2),
|
|
91472
91560
|
y: labelY,
|
|
91473
91561
|
text: formatAxisValue2(val2, numberFormat),
|
|
91474
|
-
fontSize:
|
|
91562
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
91475
91563
|
fill: "#334155",
|
|
91476
91564
|
textAnchor: anchor,
|
|
91477
91565
|
dominantBaseline: "central"
|
|
@@ -91895,7 +91983,8 @@ function textPrimitives(shape, box) {
|
|
|
91895
91983
|
if (!shape.paragraphs || shape.paragraphs.length === 0) {
|
|
91896
91984
|
return [];
|
|
91897
91985
|
}
|
|
91898
|
-
const
|
|
91986
|
+
const fontPxOf = (para) => para.fontSize !== void 0 ? chartFontPx(para.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
91987
|
+
const lineH = Math.max(12, ...shape.paragraphs.map((para) => fontPxOf(para) * 1.2));
|
|
91899
91988
|
const totalH = shape.paragraphs.length * lineH;
|
|
91900
91989
|
let cursorY = box.y + Math.max((box.h - totalH) / 2, 0) + lineH * 0.75;
|
|
91901
91990
|
const out = [];
|
|
@@ -91912,7 +92001,7 @@ function textPrimitives(shape, box) {
|
|
|
91912
92001
|
x: tx,
|
|
91913
92002
|
y: cursorY,
|
|
91914
92003
|
text: para.text,
|
|
91915
|
-
fontSize: para
|
|
92004
|
+
fontSize: fontPxOf(para),
|
|
91916
92005
|
fill: para.color ?? "#1e293b",
|
|
91917
92006
|
textAnchor: anchor,
|
|
91918
92007
|
fontWeight: para.bold ? "bold" : "normal"
|
|
@@ -92108,7 +92197,7 @@ function buildWaterfallViewModel(element, chartData, categoryLabels) {
|
|
|
92108
92197
|
x: x + barWidth / 2,
|
|
92109
92198
|
y: y - 4,
|
|
92110
92199
|
text: formatAxisValue2(value),
|
|
92111
|
-
fontSize:
|
|
92200
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
92112
92201
|
fill: "#334155",
|
|
92113
92202
|
textAnchor: "middle"
|
|
92114
92203
|
});
|
|
@@ -92430,8 +92519,8 @@ function regionViewBounds(viewedRegionType, regionValues) {
|
|
|
92430
92519
|
};
|
|
92431
92520
|
}
|
|
92432
92521
|
function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
92433
|
-
const svgWidth = Math.max(element.width,
|
|
92434
|
-
const svgHeight = Math.max(element.height,
|
|
92522
|
+
const svgWidth = Math.max(element.width, 1);
|
|
92523
|
+
const svgHeight = Math.max(element.height, 1);
|
|
92435
92524
|
const categories = categoryLabels.length > 0 ? categoryLabels : chartData.categories;
|
|
92436
92525
|
const series = chartData.series[0];
|
|
92437
92526
|
const options = series?.regionMapOptions;
|
|
@@ -92793,8 +92882,8 @@ function formatAxisValue2(val2, formatCode) {
|
|
|
92793
92882
|
return val2.toFixed(1);
|
|
92794
92883
|
}
|
|
92795
92884
|
function computePlotLayout(elementWidth, elementHeight, chartData, hasAxes, options) {
|
|
92796
|
-
const svgWidth = Math.max(
|
|
92797
|
-
const svgHeight = Math.max(
|
|
92885
|
+
const svgWidth = Math.max(1, elementWidth);
|
|
92886
|
+
const svgHeight = Math.max(1, elementHeight);
|
|
92798
92887
|
let plotLeft = hasAxes ? 48 : 8;
|
|
92799
92888
|
let plotTop = 8;
|
|
92800
92889
|
let plotRight = svgWidth - 8;
|
|
@@ -92874,7 +92963,7 @@ function buildGridlinesAndLabels(range, layout) {
|
|
|
92874
92963
|
x: layout.plotLeft - 4,
|
|
92875
92964
|
y,
|
|
92876
92965
|
text: formatAxisValue2(val2),
|
|
92877
|
-
fontSize:
|
|
92966
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
92878
92967
|
fill: AXIS_LABEL_COLOR,
|
|
92879
92968
|
textAnchor: "end",
|
|
92880
92969
|
dominantBaseline: "central"
|
|
@@ -92906,7 +92995,7 @@ function buildCategoryLabels(categoryLabels, layout, catSpacing) {
|
|
|
92906
92995
|
x,
|
|
92907
92996
|
y: layout.plotBottom + 12,
|
|
92908
92997
|
text: label,
|
|
92909
|
-
fontSize:
|
|
92998
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
92910
92999
|
fill: AXIS_LABEL_COLOR,
|
|
92911
93000
|
textAnchor: "middle"
|
|
92912
93001
|
};
|
|
@@ -93251,8 +93340,8 @@ function buildFlatViewModel(element, chartData, categoryLabels, kind) {
|
|
|
93251
93340
|
return buildCartesianViewModel(element, chartData, categoryLabels, kind);
|
|
93252
93341
|
}
|
|
93253
93342
|
function buildFallbackViewModel(width, height, label) {
|
|
93254
|
-
const svgWidth = Math.max(width,
|
|
93255
|
-
const svgHeight = Math.max(height,
|
|
93343
|
+
const svgWidth = Math.max(width, 1);
|
|
93344
|
+
const svgHeight = Math.max(height, 1);
|
|
93256
93345
|
return {
|
|
93257
93346
|
svgWidth,
|
|
93258
93347
|
svgHeight,
|
|
@@ -93406,7 +93495,7 @@ function buildRadarViewModel(element, chartData, categoryLabels) {
|
|
|
93406
93495
|
x: cx + labelR * Math.cos(angle),
|
|
93407
93496
|
y: cy + labelR * Math.sin(angle),
|
|
93408
93497
|
text: categoryLabels[i] ?? "",
|
|
93409
|
-
fontSize:
|
|
93498
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
93410
93499
|
fill: RADAR_LABEL_COLOR,
|
|
93411
93500
|
textAnchor: "middle",
|
|
93412
93501
|
dominantBaseline: "central"
|
|
@@ -93450,7 +93539,7 @@ function buildRadarViewModel(element, chartData, categoryLabels) {
|
|
|
93450
93539
|
x: p.x,
|
|
93451
93540
|
y: p.y - 8,
|
|
93452
93541
|
text: formatAxisValue2(val2, series.numberFormat),
|
|
93453
|
-
fontSize:
|
|
93542
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
93454
93543
|
fill: "#334155",
|
|
93455
93544
|
textAnchor: "middle"
|
|
93456
93545
|
});
|
|
@@ -102345,6 +102434,10 @@ var SCALAR_ELEMENT_KEYS = /* @__PURE__ */ new Set([
|
|
|
102345
102434
|
"cropTop",
|
|
102346
102435
|
"cropRight",
|
|
102347
102436
|
"cropBottom",
|
|
102437
|
+
"fillRectLeft",
|
|
102438
|
+
"fillRectTop",
|
|
102439
|
+
"fillRectRight",
|
|
102440
|
+
"fillRectBottom",
|
|
102348
102441
|
"tileOffsetX",
|
|
102349
102442
|
"tileOffsetY",
|
|
102350
102443
|
"tileScaleX",
|
|
@@ -103959,9 +104052,16 @@ var CINEMATIC_TRANSITION_KEYFRAMES = `
|
|
|
103959
104052
|
/* \u2500\u2500 Airplane (fly off like a paper plane) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
103960
104053
|
@keyframes pptx-tr-airplane-out { 0% { transform: perspective(1200px) translate3d(0, 0, 0) rotate3d(1, -1, 0, 0deg) scale(1); opacity: 1; } 40% { transform: perspective(1200px) translate3d(10%, -10%, 0) rotate3d(1, -1, 0, 25deg) scale(.85); opacity: 1; } 100% { transform: perspective(1200px) translate3d(150%, -70%, 0) rotate3d(1, -1, 1, 70deg) scale(.05); opacity: 0; } }
|
|
103961
104054
|
|
|
103962
|
-
/* \u2500\u2500 Origami (fold
|
|
103963
|
-
|
|
103964
|
-
|
|
104055
|
+
/* \u2500\u2500 Origami (fold the sheet over its top edge; the next unfolds up) \u2500\u2500
|
|
104056
|
+
The old single-phase rotateY + scaleX compressed the outgoing slide into a
|
|
104057
|
+
narrow vertical sliver for most of the (3+ second) duration, which read as
|
|
104058
|
+
"just a grey line" instead of paper folding (issue #132). The fold is now
|
|
104059
|
+
hinged like a real sheet: the outgoing slide creases over its TOP edge,
|
|
104060
|
+
dims as it tips through edge-on, and tumbles away shrinking; the incoming
|
|
104061
|
+
slide lies folded at its BOTTOM edge and rises into place. The edge-on
|
|
104062
|
+
moment is brief and already mid-fade, so no line artifact survives. */
|
|
104063
|
+
@keyframes pptx-tr-origami-out { 0% { transform: perspective(1400px) rotateX(0deg) translateY(0) scale(1); transform-origin: top center; opacity: 1; filter: brightness(1); } 45% { transform: perspective(1400px) rotateX(-52deg) translateY(2%) scale(.96); transform-origin: top center; opacity: 1; filter: brightness(.82); } 70% { transform: perspective(1400px) rotateX(-84deg) translateY(8%) scale(.88); transform-origin: top center; opacity: .8; filter: brightness(.68); } 100% { transform: perspective(1400px) rotateX(-125deg) translateY(30%) scale(.68); transform-origin: top center; opacity: 0; filter: brightness(.55); } }
|
|
104064
|
+
@keyframes pptx-tr-origami-in { 0% { transform: perspective(1400px) rotateX(62deg) scale(.94); transform-origin: bottom center; opacity: 0; filter: brightness(.7); } 30% { transform: perspective(1400px) rotateX(62deg) scale(.94); transform-origin: bottom center; opacity: .65; filter: brightness(.75); } 100% { transform: perspective(1400px) rotateX(0deg) scale(1); transform-origin: bottom center; opacity: 1; filter: brightness(1); } }
|
|
103965
104065
|
`;
|
|
103966
104066
|
var CORE_SLIDE_TRANSITION_KEYFRAMES = `
|
|
103967
104067
|
/* \u2500\u2500 Fade \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
@@ -110745,8 +110845,14 @@ function attachPresentationVisibilityPause(options = {}) {
|
|
|
110745
110845
|
}
|
|
110746
110846
|
const root = options.root ?? document;
|
|
110747
110847
|
let pausedMedia = [];
|
|
110748
|
-
|
|
110749
|
-
|
|
110848
|
+
let suspended = false;
|
|
110849
|
+
const update = () => {
|
|
110850
|
+
const shouldSuspend = document.visibilityState === "hidden" || !document.hasFocus();
|
|
110851
|
+
if (shouldSuspend === suspended) {
|
|
110852
|
+
return;
|
|
110853
|
+
}
|
|
110854
|
+
suspended = shouldSuspend;
|
|
110855
|
+
if (shouldSuspend) {
|
|
110750
110856
|
pausedMedia = [];
|
|
110751
110857
|
for (const media of root.querySelectorAll("audio, video")) {
|
|
110752
110858
|
if (!media.paused && !media.ended) {
|
|
@@ -110768,9 +110874,13 @@ function attachPresentationVisibilityPause(options = {}) {
|
|
|
110768
110874
|
resumeAllPersistentAudio();
|
|
110769
110875
|
options.onVisible?.();
|
|
110770
110876
|
};
|
|
110771
|
-
document.addEventListener("visibilitychange",
|
|
110877
|
+
document.addEventListener("visibilitychange", update);
|
|
110878
|
+
window.addEventListener("blur", update);
|
|
110879
|
+
window.addEventListener("focus", update);
|
|
110772
110880
|
return () => {
|
|
110773
|
-
document.removeEventListener("visibilitychange",
|
|
110881
|
+
document.removeEventListener("visibilitychange", update);
|
|
110882
|
+
window.removeEventListener("blur", update);
|
|
110883
|
+
window.removeEventListener("focus", update);
|
|
110774
110884
|
};
|
|
110775
110885
|
}
|
|
110776
110886
|
function buildSummaryZoomView(element, lookup) {
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { translationsEn } from './chunk-TEXIGSA6.mjs';
|
|
2
|
-
import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx, registerPersistentAudio, proportionalLineHeight, substituteFieldText, resolveUnderlineDecorationStyle, POWERPOINT_METRIC_TRACKING, resolveAutoFitFontScale, getSubstituteFontFamily, parsePanoseString, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, chartAreaFill, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-
|
|
2
|
+
import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx, registerPersistentAudio, proportionalLineHeight, substituteFieldText, resolveUnderlineDecorationStyle, POWERPOINT_METRIC_TRACKING, resolveAutoFitFontScale, getSubstituteFontFamily, parsePanoseString, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, chartAreaFill, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-GKOKCOXR.mjs';
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import React6, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useLayoutEffect } from 'react';
|
|
@@ -6198,7 +6198,7 @@ function FailedToLoad() {
|
|
|
6198
6198
|
var LazySurfaceChart3DScene = React6.lazy(
|
|
6199
6199
|
async () => {
|
|
6200
6200
|
try {
|
|
6201
|
-
return await import('./SurfaceChart3DScene-
|
|
6201
|
+
return await import('./SurfaceChart3DScene-GRBWZ52S.mjs');
|
|
6202
6202
|
} catch {
|
|
6203
6203
|
return { default: FailedToLoad };
|
|
6204
6204
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemePresets, PptxMarkdownConverter } from './chunk-
|
|
1
|
+
import { ThemePresets, PptxMarkdownConverter } from './chunk-GKOKCOXR.mjs';
|
|
2
2
|
import { __export } from './chunk-XGB3TDIC.mjs';
|
|
3
3
|
import * as mcp from 'pptx-viewer-mcp';
|
|
4
4
|
import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFDR5W67L_js = require('./chunk-FDR5W67L.js');
|
|
4
4
|
var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
|
|
5
5
|
var mcp = require('pptx-viewer-mcp');
|
|
6
6
|
var mcpSchemas = require('pptx-viewer-mcp/schemas');
|
|
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
|
|
|
14879
14879
|
};
|
|
14880
14880
|
let markdown;
|
|
14881
14881
|
try {
|
|
14882
|
-
const converter = new
|
|
14882
|
+
const converter = new chunkFDR5W67L_js.PptxMarkdownConverter(
|
|
14883
14883
|
"",
|
|
14884
14884
|
{
|
|
14885
14885
|
sourceName: meta3.title ?? "deck.pptx",
|
|
@@ -15470,7 +15470,7 @@ var getTheme = (ctx) => {
|
|
|
15470
15470
|
name: theme?.name,
|
|
15471
15471
|
colorScheme: theme?.colorScheme,
|
|
15472
15472
|
fontScheme: theme?.fontScheme,
|
|
15473
|
-
availablePresets: Object.keys(
|
|
15473
|
+
availablePresets: Object.keys(chunkFDR5W67L_js.ThemePresets)
|
|
15474
15474
|
};
|
|
15475
15475
|
};
|
|
15476
15476
|
var readExecutors = {
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-
|
|
1
|
+
import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-GZ6TXBEO.mjs';
|
|
2
2
|
import { translationsEn } from './chunk-TEXIGSA6.mjs';
|
|
3
|
-
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, clampZoomScale, zoomInScale, zoomOutScale, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, createPresenterShowGuard, attachPresentationVisibilityPause, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, stopAllPersistentAudio, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, lastShowSlideIndex, firstShowSlideIndex, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, runPresentationAction, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, resolveShowSlideIndexes, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-
|
|
3
|
+
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, clampZoomScale, zoomInScale, zoomOutScale, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, createPresenterShowGuard, attachPresentationVisibilityPause, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, stopAllPersistentAudio, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, lastShowSlideIndex, firstShowSlideIndex, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, runPresentationAction, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, resolveShowSlideIndexes, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-GKOKCOXR.mjs';
|
|
4
4
|
import { useRef, useState, useEffect, useCallback, useMemo, useSyncExternalStore, useImperativeHandle } from 'react';
|
|
5
5
|
import JSZip from 'jszip';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
Binary file
|
|
Binary file
|