pptx-angular-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 +7 -0
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-DKKITk3s.mjs → pptx-angular-viewer-chat-history-idb-D5YdTW3K.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-DKKITk3s.mjs.map → pptx-angular-viewer-chat-history-idb-D5YdTW3K.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-DAtBsZGj.mjs → pptx-angular-viewer-pptx-angular-viewer-CrXInU5f.mjs} +169 -59
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-DAtBsZGj.mjs.map → pptx-angular-viewer-pptx-angular-viewer-CrXInU5f.mjs.map} +1 -1
- package/fesm2022/pptx-angular-viewer.mjs +1 -1
- package/package.json +2 -2
- package/types/pptx-angular-viewer.d.ts +4 -2
|
@@ -6974,8 +6974,11 @@ function formatAxisValue$1(val, formatCode) {
|
|
|
6974
6974
|
* legend, optional secondary axes, and an optional data table.
|
|
6975
6975
|
*/
|
|
6976
6976
|
function computeLayout(elementWidth, elementHeight, style, hasAxes, legendPos, options) {
|
|
6977
|
-
|
|
6978
|
-
|
|
6977
|
+
// Match the element frame exactly; bindings stretch the viewBox with
|
|
6978
|
+
// preserveAspectRatio "none", so a minimum would scale non-uniformly
|
|
6979
|
+
// (see computePlotLayout in chart-view-model.ts).
|
|
6980
|
+
const svgWidth = Math.max(1, elementWidth);
|
|
6981
|
+
const svgHeight = Math.max(1, elementHeight);
|
|
6979
6982
|
let plotLeft = hasAxes ? 48 : 8;
|
|
6980
6983
|
let plotTop = 8;
|
|
6981
6984
|
let plotRight = svgWidth - 8;
|
|
@@ -7083,6 +7086,49 @@ function plotAreaFill(chartData) {
|
|
|
7083
7086
|
return resolve(chartData?.style?.plotAreaFill, undefined);
|
|
7084
7087
|
}
|
|
7085
7088
|
|
|
7089
|
+
/**
|
|
7090
|
+
* chart-font.ts: the single pt -> px boundary for chart text.
|
|
7091
|
+
*
|
|
7092
|
+
* Core parses every chart font size in POINTS (`c:txPr` run sizes are stored
|
|
7093
|
+
* as `sz / 100`, e.g. `sz="1195"` -> 11.95 pt; see core's chart-axis-parser),
|
|
7094
|
+
* and that unit is part of core's public model: editors and inspectors read
|
|
7095
|
+
* and write points. The SVG chart view-model, however, lives in slide-pixel
|
|
7096
|
+
* space (96 dpi), where PowerPoint paints one point as 4/3 px. Rendering the
|
|
7097
|
+
* parsed number directly as `SvgText.fontSize` therefore drew ALL chart text
|
|
7098
|
+
* at 75% of its true size (issue #132).
|
|
7099
|
+
*
|
|
7100
|
+
* Every parsed chart font size must cross the pt -> px boundary exactly once,
|
|
7101
|
+
* at the moment it enters an `SvgText` descriptor, and that conversion lives
|
|
7102
|
+
* here. Do NOT convert in core (its unit is points by contract) and do NOT
|
|
7103
|
+
* convert again in a binding projector (the view-model is already px).
|
|
7104
|
+
*
|
|
7105
|
+
* The default constants are PowerPoint's chart text defaults expressed in px:
|
|
7106
|
+
* 10 pt body text (axis ticks, category labels, axis titles) and 9 pt data
|
|
7107
|
+
* labels.
|
|
7108
|
+
*
|
|
7109
|
+
* @module chart-font
|
|
7110
|
+
*/
|
|
7111
|
+
/** CSS pixels per typographic point (96 dpi / 72 dpi = 4/3). */
|
|
7112
|
+
const CHART_PX_PER_PT = 4 / 3;
|
|
7113
|
+
/**
|
|
7114
|
+
* Convert a chart font size parsed in points (core's unit) to slide-px for
|
|
7115
|
+
* `SvgText.fontSize`. E.g. 11.95 pt -> 15.93 px.
|
|
7116
|
+
*/
|
|
7117
|
+
function chartFontPx(sizePt) {
|
|
7118
|
+
return sizePt * CHART_PX_PER_PT;
|
|
7119
|
+
}
|
|
7120
|
+
/**
|
|
7121
|
+
* PowerPoint's default chart body text size (10 pt) in slide-px (13.33):
|
|
7122
|
+
* axis tick labels, category labels, axis titles, and display-unit captions
|
|
7123
|
+
* fall back to this when the chart XML declares no explicit size.
|
|
7124
|
+
*/
|
|
7125
|
+
const DEFAULT_CHART_TEXT_PX = chartFontPx(10);
|
|
7126
|
+
/**
|
|
7127
|
+
* PowerPoint's default data-label text size (9 pt) in slide-px (12): value /
|
|
7128
|
+
* category / percent labels attached to data marks fall back to this.
|
|
7129
|
+
*/
|
|
7130
|
+
const DEFAULT_CHART_DATA_LABEL_PX = chartFontPx(9);
|
|
7131
|
+
|
|
7086
7132
|
/**
|
|
7087
7133
|
* Map a (possibly fractional / extrapolated) category index to an X pixel.
|
|
7088
7134
|
* `mode === 'bar'` centres on category slots; `'line'` anchors at points.
|
|
@@ -8719,9 +8765,15 @@ function dashArray(style, width) {
|
|
|
8719
8765
|
}
|
|
8720
8766
|
return `${unit * 3} ${unit * 2}`;
|
|
8721
8767
|
}
|
|
8722
|
-
|
|
8768
|
+
/**
|
|
8769
|
+
* SvgText style for axis-driven chart text (tick labels, category labels,
|
|
8770
|
+
* captions). `axis.fontSize` is parsed in POINTS by core; it crosses the
|
|
8771
|
+
* pt -> px boundary exactly here (see chart-font.ts). `defaultFontSizePx` is
|
|
8772
|
+
* already px and defaults to PowerPoint's 10 pt chart text (13.33 px).
|
|
8773
|
+
*/
|
|
8774
|
+
function chartAxisTextStyle(axis, defaultFontSizePx = DEFAULT_CHART_TEXT_PX) {
|
|
8723
8775
|
return {
|
|
8724
|
-
fontSize: axis?.fontSize
|
|
8776
|
+
fontSize: axis?.fontSize !== undefined ? chartFontPx(axis.fontSize) : defaultFontSizePx,
|
|
8725
8777
|
fill: axis?.fontColor ?? DEFAULT_COLOR$2,
|
|
8726
8778
|
...(axis?.fontBold !== undefined ? { fontWeight: axis.fontBold ? 'bold' : 'normal' } : {}),
|
|
8727
8779
|
...(axis?.fontFamily ? { fontFamily: axis.fontFamily } : {}),
|
|
@@ -8867,7 +8919,7 @@ function buildPrimaryAxis(range, layout, axis, axisX = layout.plotLeft) {
|
|
|
8867
8919
|
x: labelX,
|
|
8868
8920
|
y: midY,
|
|
8869
8921
|
text: unitLabel,
|
|
8870
|
-
...chartAxisTextStyle(axis
|
|
8922
|
+
...chartAxisTextStyle(axis),
|
|
8871
8923
|
textAnchor: 'middle',
|
|
8872
8924
|
transform: `rotate(-90, ${labelX}, ${midY})`,
|
|
8873
8925
|
});
|
|
@@ -8884,7 +8936,7 @@ function buildSecondaryAxis(range, layout, axis, axisX = layout.plotRight) {
|
|
|
8884
8936
|
const gridlines = [];
|
|
8885
8937
|
const axisLabels = [];
|
|
8886
8938
|
const textStyle = chartAxisTextStyle(axis);
|
|
8887
|
-
const captionStyle = chartAxisTextStyle(axis
|
|
8939
|
+
const captionStyle = chartAxisTextStyle(axis);
|
|
8888
8940
|
const axisLine = buildVerticalAxisLine(axis, axisX, layout);
|
|
8889
8941
|
if (axisLine) {
|
|
8890
8942
|
gridlines.push(axisLine);
|
|
@@ -9096,7 +9148,7 @@ function buildBars(chartData, catCount, layout, primaryRange, secondaryRange, se
|
|
|
9096
9148
|
x: x + singleBarWidth / 2,
|
|
9097
9149
|
y: val >= 0 ? y - 4 : y + h + 10,
|
|
9098
9150
|
text: formatAxisValue(val, series[si].numberFormat),
|
|
9099
|
-
fontSize:
|
|
9151
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9100
9152
|
fill: '#334155',
|
|
9101
9153
|
textAnchor: 'middle',
|
|
9102
9154
|
});
|
|
@@ -9174,7 +9226,7 @@ function buildBars(chartData, catCount, layout, primaryRange, secondaryRange, se
|
|
|
9174
9226
|
x: x + barW / 2,
|
|
9175
9227
|
y: y + h / 2 + 3,
|
|
9176
9228
|
text: `${Math.round(val)}%`,
|
|
9177
|
-
fontSize:
|
|
9229
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9178
9230
|
fill: '#ffffff',
|
|
9179
9231
|
textAnchor: 'middle',
|
|
9180
9232
|
fontWeight: 'bold',
|
|
@@ -9218,7 +9270,7 @@ function pushClusteredStackedLabels(series, sourceIndices, catCount, layout, ran
|
|
|
9218
9270
|
x,
|
|
9219
9271
|
y: labelY,
|
|
9220
9272
|
text: formatAxisValue(val, series[si].numberFormat),
|
|
9221
|
-
fontSize:
|
|
9273
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9222
9274
|
fill: '#334155',
|
|
9223
9275
|
textAnchor: 'middle',
|
|
9224
9276
|
});
|
|
@@ -9574,7 +9626,7 @@ function buildLines(chartData, catCount, layout, primaryRange, secondaryRange, s
|
|
|
9574
9626
|
x: pt.x,
|
|
9575
9627
|
y: pt.y - 7,
|
|
9576
9628
|
text: formatAxisValue(val, series.numberFormat),
|
|
9577
|
-
fontSize:
|
|
9629
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9578
9630
|
fill: '#334155',
|
|
9579
9631
|
textAnchor: 'middle',
|
|
9580
9632
|
});
|
|
@@ -9638,7 +9690,7 @@ function buildAreas(chartData, catCount, layout, range, sourceIndices, xPosition
|
|
|
9638
9690
|
x: pt.x,
|
|
9639
9691
|
y: pt.y - 6,
|
|
9640
9692
|
text: formatAxisValue(val, series.numberFormat),
|
|
9641
|
-
fontSize:
|
|
9693
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9642
9694
|
fill: '#334155',
|
|
9643
9695
|
textAnchor: 'middle',
|
|
9644
9696
|
});
|
|
@@ -9674,7 +9726,7 @@ function buildScatter(chartData, layout, range) {
|
|
|
9674
9726
|
x: dot.cx,
|
|
9675
9727
|
y: dot.cy - 6,
|
|
9676
9728
|
text: formatAxisValue(val, series.numberFormat),
|
|
9677
|
-
fontSize:
|
|
9729
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9678
9730
|
fill: '#334155',
|
|
9679
9731
|
textAnchor: 'middle',
|
|
9680
9732
|
});
|
|
@@ -9722,7 +9774,7 @@ function buildBubbles(chartData, layout, range) {
|
|
|
9722
9774
|
x: dot.cx,
|
|
9723
9775
|
y: dot.cy - 10,
|
|
9724
9776
|
text: formatAxisValue(val, series.numberFormat),
|
|
9725
|
-
fontSize:
|
|
9777
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
9726
9778
|
fill: '#334155',
|
|
9727
9779
|
textAnchor: 'middle',
|
|
9728
9780
|
});
|
|
@@ -9918,7 +9970,9 @@ function buildMultiLevelCategoryLabels(categoryLabels, categoryLevels, sourceInd
|
|
|
9918
9970
|
const skip = Math.max(1, axis?.tickLabelSkip ?? 1);
|
|
9919
9971
|
const textAnchor = axis?.labelAlignment === 'l' ? 'start' : axis?.labelAlignment === 'r' ? 'end' : 'middle';
|
|
9920
9972
|
const direction = labelsAbove ? -1 : 1;
|
|
9921
|
-
|
|
9973
|
+
// Band height tracks the rendered px size (axis.fontSize is parsed in points).
|
|
9974
|
+
const fontPx = axis?.fontSize !== undefined ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
9975
|
+
const bandHeight = Math.max(fontPx, 8) + 4;
|
|
9922
9976
|
return levels.flatMap((level, levelIndex) => {
|
|
9923
9977
|
const values = sourceIndices.map((sourceIndex) => level[sourceIndex] ?? '');
|
|
9924
9978
|
return groupedLabels(values).flatMap((group) => {
|
|
@@ -10707,7 +10761,7 @@ function computeTrendlinePrimitives(chartData, catCount, layout, range, mode = '
|
|
|
10707
10761
|
x: last.x,
|
|
10708
10762
|
y: last.y - 6,
|
|
10709
10763
|
text: labelParts.join(' '),
|
|
10710
|
-
fontSize:
|
|
10764
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
10711
10765
|
fill: strokeColor,
|
|
10712
10766
|
textAnchor: 'end',
|
|
10713
10767
|
};
|
|
@@ -10746,6 +10800,10 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
10746
10800
|
if (!axes || axes.length === 0) {
|
|
10747
10801
|
return out;
|
|
10748
10802
|
}
|
|
10803
|
+
// Axis-title font: core folds a parsed/edited title size into `axis.fontSize`
|
|
10804
|
+
// (points); convert at the pt -> px boundary, defaulting to PowerPoint's
|
|
10805
|
+
// 10 pt chart text. See chart-font.ts.
|
|
10806
|
+
const titleFontPx = (axis) => axis.fontSize !== undefined ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
10749
10807
|
// X axis title (category axis at bottom).
|
|
10750
10808
|
const catAxis = axes.find((a) => a.axisType === 'catAx' && a.axPos !== 'r' && a.titleText);
|
|
10751
10809
|
if (catAxis?.titleText) {
|
|
@@ -10754,7 +10812,7 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
10754
10812
|
x: layout.plotLeft + layout.plotWidth / 2,
|
|
10755
10813
|
y: layout.plotBottom + 22,
|
|
10756
10814
|
text: catAxis.titleText,
|
|
10757
|
-
fontSize:
|
|
10815
|
+
fontSize: titleFontPx(catAxis),
|
|
10758
10816
|
fill: AXIS_TITLE_COLOR,
|
|
10759
10817
|
textAnchor: 'middle',
|
|
10760
10818
|
fontWeight: 'bold',
|
|
@@ -10773,7 +10831,7 @@ function computeAxisTitlePrimitives(chartData, layout) {
|
|
|
10773
10831
|
x: yx,
|
|
10774
10832
|
y: yy,
|
|
10775
10833
|
text: valAxis.titleText,
|
|
10776
|
-
fontSize:
|
|
10834
|
+
fontSize: titleFontPx(valAxis),
|
|
10777
10835
|
fill: AXIS_TITLE_COLOR,
|
|
10778
10836
|
textAnchor: 'middle',
|
|
10779
10837
|
fontWeight: 'bold',
|
|
@@ -10800,6 +10858,8 @@ function formatDataValue(val) {
|
|
|
10800
10858
|
/**
|
|
10801
10859
|
* Layout constants for the SVG data table rendered below the plot area.
|
|
10802
10860
|
* Kept as named constants so tests can assert against them without magic numbers.
|
|
10861
|
+
* Cell text stays at 8 px deliberately: it is sized to fit this 14 px row
|
|
10862
|
+
* grid (a geometry fit, not a PowerPoint text-class default; see chart-font.ts).
|
|
10803
10863
|
*/
|
|
10804
10864
|
const DATA_TABLE_ROW_H = 14;
|
|
10805
10865
|
const DATA_TABLE_HEADER_H = 14;
|
|
@@ -11225,7 +11285,7 @@ function buildComboViewModel(element, chartData, categoryLabels) {
|
|
|
11225
11285
|
x: point.x,
|
|
11226
11286
|
y: point.y - 7,
|
|
11227
11287
|
text: formatAxisValue(point.value, series.numberFormat),
|
|
11228
|
-
fontSize:
|
|
11288
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
11229
11289
|
fill: '#334155',
|
|
11230
11290
|
textAnchor: 'middle',
|
|
11231
11291
|
});
|
|
@@ -11277,7 +11337,7 @@ function appendBarLabels(series, chartData, layout, catCount, range, sourceIndic
|
|
|
11277
11337
|
layout.plotLeft + groupWidth * displayIndex + offset + barWidth / 2,
|
|
11278
11338
|
y: value >= 0 ? Math.min(zeroY, valueY) - 4 : Math.max(zeroY, valueY) + 10,
|
|
11279
11339
|
text: formatAxisValue(value, series.numberFormat),
|
|
11280
|
-
fontSize:
|
|
11340
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
11281
11341
|
fill: '#334155',
|
|
11282
11342
|
textAnchor: 'middle',
|
|
11283
11343
|
});
|
|
@@ -11412,7 +11472,7 @@ function buildStockViewModel(element, chartData, categoryLabels) {
|
|
|
11412
11472
|
x: cx,
|
|
11413
11473
|
y: highY - 4,
|
|
11414
11474
|
text: formatAxisValue(close),
|
|
11415
|
-
fontSize:
|
|
11475
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
11416
11476
|
fill: '#334155',
|
|
11417
11477
|
textAnchor: 'middle',
|
|
11418
11478
|
});
|
|
@@ -11851,7 +11911,7 @@ function buildHistogramViewModel(element, chartData, categoryLabels) {
|
|
|
11851
11911
|
x: bar.x + bar.w / 2,
|
|
11852
11912
|
y: bar.y - 4,
|
|
11853
11913
|
text: formatAxisValue(values[index]),
|
|
11854
|
-
fontSize:
|
|
11914
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
11855
11915
|
fill: DATA_LABEL_COLOR,
|
|
11856
11916
|
textAnchor: 'middle',
|
|
11857
11917
|
}))
|
|
@@ -12212,8 +12272,10 @@ function sliceAngles(values) {
|
|
|
12212
12272
|
}
|
|
12213
12273
|
/** Compute the primary + secondary plot placement for a chart element. */
|
|
12214
12274
|
function computeOfPieGeom(element, secondPieSize) {
|
|
12215
|
-
|
|
12216
|
-
|
|
12275
|
+
// Match the element frame exactly; bindings stretch the viewBox with
|
|
12276
|
+
// preserveAspectRatio "none", so a minimum would scale non-uniformly.
|
|
12277
|
+
const svgWidth = Math.max(element.width, 1);
|
|
12278
|
+
const svgHeight = Math.max(element.height, 1);
|
|
12217
12279
|
const primaryR = Math.max(Math.min(svgWidth * 0.28, svgHeight * 0.4), 4);
|
|
12218
12280
|
const secScale = Math.min(Math.max(secondPieSize / 100, 0.3), 1.4);
|
|
12219
12281
|
return {
|
|
@@ -12228,6 +12290,16 @@ function computeOfPieGeom(element, secondPieSize) {
|
|
|
12228
12290
|
};
|
|
12229
12291
|
}
|
|
12230
12292
|
|
|
12293
|
+
/**
|
|
12294
|
+
* chart-ofpie-secondary.ts: secondary-plot + connector builders for the
|
|
12295
|
+
* pie-of-pie / bar-of-pie chart (`c:ofPieChart`).
|
|
12296
|
+
*
|
|
12297
|
+
* Split out of `chart-ofpie.ts` to keep each module within the repo's ~300-LOC
|
|
12298
|
+
* limit. Builds the expanded secondary plot (a smaller pie or a vertical stacked
|
|
12299
|
+
* bar) and the `c:serLines` connectors joining the primary "Other" slice to it.
|
|
12300
|
+
*
|
|
12301
|
+
* @module chart-ofpie-secondary
|
|
12302
|
+
*/
|
|
12231
12303
|
/** A bold centred value label for a slice / bar segment. */
|
|
12232
12304
|
function sliceLabel(x, y, value) {
|
|
12233
12305
|
return {
|
|
@@ -12235,7 +12307,7 @@ function sliceLabel(x, y, value) {
|
|
|
12235
12307
|
x,
|
|
12236
12308
|
y,
|
|
12237
12309
|
text: formatAxisValue(value),
|
|
12238
|
-
fontSize:
|
|
12310
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
12239
12311
|
fill: '#ffffff',
|
|
12240
12312
|
textAnchor: 'middle',
|
|
12241
12313
|
fontWeight: 'bold',
|
|
@@ -12421,7 +12493,7 @@ function buildPieDataLabels(params) {
|
|
|
12421
12493
|
x: slice.labelX,
|
|
12422
12494
|
y: slice.labelY,
|
|
12423
12495
|
text: formatAxisValue(val, numberFormat),
|
|
12424
|
-
fontSize:
|
|
12496
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
12425
12497
|
fill: '#ffffff',
|
|
12426
12498
|
textAnchor: 'middle',
|
|
12427
12499
|
fontWeight: 'bold',
|
|
@@ -12441,7 +12513,7 @@ function buildPieDataLabels(params) {
|
|
|
12441
12513
|
x: labelX + (cos >= 0 ? 2 : -2),
|
|
12442
12514
|
y: labelY,
|
|
12443
12515
|
text: formatAxisValue(val, numberFormat),
|
|
12444
|
-
fontSize:
|
|
12516
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
12445
12517
|
fill: '#334155',
|
|
12446
12518
|
textAnchor: anchor,
|
|
12447
12519
|
dominantBaseline: 'central',
|
|
@@ -12910,7 +12982,10 @@ function textPrimitives(shape, box) {
|
|
|
12910
12982
|
if (!shape.paragraphs || shape.paragraphs.length === 0) {
|
|
12911
12983
|
return [];
|
|
12912
12984
|
}
|
|
12913
|
-
|
|
12985
|
+
// para.fontSize is parsed in POINTS (core's chart-user-shapes-parser); it
|
|
12986
|
+
// crosses the pt -> px boundary here (see chart-font.ts).
|
|
12987
|
+
const fontPxOf = (para) => para.fontSize !== undefined ? chartFontPx(para.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
12988
|
+
const lineH = Math.max(12, ...shape.paragraphs.map((para) => fontPxOf(para) * 1.2));
|
|
12914
12989
|
const totalH = shape.paragraphs.length * lineH;
|
|
12915
12990
|
let cursorY = box.y + Math.max((box.h - totalH) / 2, 0) + lineH * 0.75;
|
|
12916
12991
|
const out = [];
|
|
@@ -12927,7 +13002,7 @@ function textPrimitives(shape, box) {
|
|
|
12927
13002
|
x: tx,
|
|
12928
13003
|
y: cursorY,
|
|
12929
13004
|
text: para.text,
|
|
12930
|
-
fontSize: para
|
|
13005
|
+
fontSize: fontPxOf(para),
|
|
12931
13006
|
fill: para.color ?? '#1e293b',
|
|
12932
13007
|
textAnchor: anchor,
|
|
12933
13008
|
fontWeight: para.bold ? 'bold' : 'normal',
|
|
@@ -13180,7 +13255,7 @@ function buildWaterfallViewModel(element, chartData, categoryLabels) {
|
|
|
13180
13255
|
x: x + barWidth / 2,
|
|
13181
13256
|
y: y - 4,
|
|
13182
13257
|
text: formatAxisValue(value),
|
|
13183
|
-
fontSize:
|
|
13258
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
13184
13259
|
fill: '#334155',
|
|
13185
13260
|
textAnchor: 'middle',
|
|
13186
13261
|
});
|
|
@@ -13528,8 +13603,10 @@ function regionViewBounds(viewedRegionType, regionValues) {
|
|
|
13528
13603
|
* Mirrors `renderMapChart` in React's `chart-map.tsx`.
|
|
13529
13604
|
*/
|
|
13530
13605
|
function buildRegionMapViewModel(element, chartData, categoryLabels) {
|
|
13531
|
-
|
|
13532
|
-
|
|
13606
|
+
// Match the element frame exactly; bindings stretch the viewBox with
|
|
13607
|
+
// preserveAspectRatio "none", so a minimum would scale non-uniformly.
|
|
13608
|
+
const svgWidth = Math.max(element.width, 1);
|
|
13609
|
+
const svgHeight = Math.max(element.height, 1);
|
|
13533
13610
|
const categories = categoryLabels.length > 0 ? categoryLabels : chartData.categories;
|
|
13534
13611
|
const series = chartData.series[0];
|
|
13535
13612
|
const options = series?.regionMapOptions;
|
|
@@ -13999,8 +14076,12 @@ function formatAxisValue(val, formatCode) {
|
|
|
13999
14076
|
* only apply when explicitly requested.
|
|
14000
14077
|
*/
|
|
14001
14078
|
function computePlotLayout(elementWidth, elementHeight, chartData, hasAxes, options) {
|
|
14002
|
-
|
|
14003
|
-
|
|
14079
|
+
// The SVG viewBox must equal the element's frame box exactly: bindings render
|
|
14080
|
+
// it with `preserveAspectRatio="none"`, so ANY minimum here (historically
|
|
14081
|
+
// 320x180) makes the chart scale non-uniformly inside its host (issue #132:
|
|
14082
|
+
// a 475x174 frame got a 475x180 viewBox, squeezing y by 0.967).
|
|
14083
|
+
const svgWidth = Math.max(1, elementWidth);
|
|
14084
|
+
const svgHeight = Math.max(1, elementHeight);
|
|
14004
14085
|
let plotLeft = hasAxes ? 48 : 8;
|
|
14005
14086
|
let plotTop = 8;
|
|
14006
14087
|
let plotRight = svgWidth - 8;
|
|
@@ -14091,7 +14172,7 @@ function buildGridlinesAndLabels(range, layout) {
|
|
|
14091
14172
|
x: layout.plotLeft - 4,
|
|
14092
14173
|
y,
|
|
14093
14174
|
text: formatAxisValue(val),
|
|
14094
|
-
fontSize:
|
|
14175
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
14095
14176
|
fill: AXIS_LABEL_COLOR,
|
|
14096
14177
|
textAnchor: 'end',
|
|
14097
14178
|
dominantBaseline: 'central',
|
|
@@ -14127,7 +14208,7 @@ function buildCategoryLabels(categoryLabels, layout, catSpacing) {
|
|
|
14127
14208
|
x,
|
|
14128
14209
|
y: layout.plotBottom + 12,
|
|
14129
14210
|
text: label,
|
|
14130
|
-
fontSize:
|
|
14211
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
14131
14212
|
fill: AXIS_LABEL_COLOR,
|
|
14132
14213
|
textAnchor: 'middle',
|
|
14133
14214
|
};
|
|
@@ -14506,8 +14587,10 @@ function buildFlatViewModel(element, chartData, categoryLabels, kind) {
|
|
|
14506
14587
|
return buildCartesianViewModel(element, chartData, categoryLabels, kind);
|
|
14507
14588
|
}
|
|
14508
14589
|
function buildFallbackViewModel(width, height, label) {
|
|
14509
|
-
|
|
14510
|
-
|
|
14590
|
+
// Match the frame box exactly (bindings stretch with preserveAspectRatio
|
|
14591
|
+
// "none"; a minimum here would scale the fallback non-uniformly).
|
|
14592
|
+
const svgWidth = Math.max(width, 1);
|
|
14593
|
+
const svgHeight = Math.max(height, 1);
|
|
14511
14594
|
return {
|
|
14512
14595
|
svgWidth,
|
|
14513
14596
|
svgHeight,
|
|
@@ -14669,7 +14752,7 @@ function buildRadarViewModel(element, chartData, categoryLabels) {
|
|
|
14669
14752
|
x: cx + labelR * Math.cos(angle),
|
|
14670
14753
|
y: cy + labelR * Math.sin(angle),
|
|
14671
14754
|
text: categoryLabels[i] ?? '',
|
|
14672
|
-
fontSize:
|
|
14755
|
+
fontSize: DEFAULT_CHART_TEXT_PX,
|
|
14673
14756
|
fill: RADAR_LABEL_COLOR,
|
|
14674
14757
|
textAnchor: 'middle',
|
|
14675
14758
|
dominantBaseline: 'central',
|
|
@@ -14714,7 +14797,7 @@ function buildRadarViewModel(element, chartData, categoryLabels) {
|
|
|
14714
14797
|
x: p.x,
|
|
14715
14798
|
y: p.y - 8,
|
|
14716
14799
|
text: formatAxisValue(val, series.numberFormat),
|
|
14717
|
-
fontSize:
|
|
14800
|
+
fontSize: DEFAULT_CHART_DATA_LABEL_PX,
|
|
14718
14801
|
fill: '#334155',
|
|
14719
14802
|
textAnchor: 'middle',
|
|
14720
14803
|
});
|
|
@@ -34028,6 +34111,10 @@ const SCALAR_ELEMENT_KEYS = new Set([
|
|
|
34028
34111
|
'cropTop',
|
|
34029
34112
|
'cropRight',
|
|
34030
34113
|
'cropBottom',
|
|
34114
|
+
'fillRectLeft',
|
|
34115
|
+
'fillRectTop',
|
|
34116
|
+
'fillRectRight',
|
|
34117
|
+
'fillRectBottom',
|
|
34031
34118
|
'tileOffsetX',
|
|
34032
34119
|
'tileOffsetY',
|
|
34033
34120
|
'tileScaleX',
|
|
@@ -36372,9 +36459,16 @@ const CINEMATIC_TRANSITION_KEYFRAMES = `
|
|
|
36372
36459
|
/* ── Airplane (fly off like a paper plane) ──────────────────────────── */
|
|
36373
36460
|
@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; } }
|
|
36374
36461
|
|
|
36375
|
-
/* ── Origami (fold
|
|
36376
|
-
|
|
36377
|
-
|
|
36462
|
+
/* ── Origami (fold the sheet over its top edge; the next unfolds up) ──
|
|
36463
|
+
The old single-phase rotateY + scaleX compressed the outgoing slide into a
|
|
36464
|
+
narrow vertical sliver for most of the (3+ second) duration, which read as
|
|
36465
|
+
"just a grey line" instead of paper folding (issue #132). The fold is now
|
|
36466
|
+
hinged like a real sheet: the outgoing slide creases over its TOP edge,
|
|
36467
|
+
dims as it tips through edge-on, and tumbles away shrinking; the incoming
|
|
36468
|
+
slide lies folded at its BOTTOM edge and rises into place. The edge-on
|
|
36469
|
+
moment is brief and already mid-fade, so no line artifact survives. */
|
|
36470
|
+
@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); } }
|
|
36471
|
+
@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); } }
|
|
36378
36472
|
`;
|
|
36379
36473
|
|
|
36380
36474
|
/**
|
|
@@ -49063,33 +49157,45 @@ function resumeAllPersistentAudio() {
|
|
|
49063
49157
|
}
|
|
49064
49158
|
|
|
49065
49159
|
/**
|
|
49066
|
-
* Presentation visibility pause: while a slide show is running,
|
|
49067
|
-
*
|
|
49068
|
-
*
|
|
49160
|
+
* Presentation visibility pause: while a slide show is running, backgrounding
|
|
49161
|
+
* the browser must pause what the audience can no longer see or follow,
|
|
49162
|
+
* exactly like pressing pause:
|
|
49069
49163
|
*
|
|
49070
49164
|
* - slide-stage `<audio>` / `<video>` elements that are currently playing,
|
|
49071
49165
|
* - cross-slide persistent audio ({@link pauseAllPersistentAudio}),
|
|
49072
49166
|
* - the auto-advance timer (via the binding's arm/cancel callbacks).
|
|
49073
49167
|
*
|
|
49074
|
-
*
|
|
49075
|
-
*
|
|
49076
|
-
*
|
|
49168
|
+
* "Backgrounded" covers BOTH signals: the tab being hidden (switching tabs,
|
|
49169
|
+
* minimising) via `visibilitychange`, and the window merely losing focus
|
|
49170
|
+
* (clicking another application while the browser stays on screen) via
|
|
49171
|
+
* `window` blur/focus. The issue #132 reporter alt-tabbed away with the
|
|
49172
|
+
* browser still visible and the soundtrack kept playing; visibility alone
|
|
49173
|
+
* never fires for that. Everything resumes when the document is visible AND
|
|
49174
|
+
* focused again. Each binding attaches this once when presentation mode
|
|
49175
|
+
* starts and calls the returned detach function when it ends.
|
|
49077
49176
|
*/
|
|
49078
49177
|
/**
|
|
49079
|
-
* Attach the
|
|
49178
|
+
* Attach the backgrounding handlers for a running presentation.
|
|
49080
49179
|
*
|
|
49081
|
-
* @returns Detach function;
|
|
49082
|
-
*
|
|
49180
|
+
* @returns Detach function; it resumes nothing (a suspended show that exits
|
|
49181
|
+
* presentation mode tears its media down anyway).
|
|
49083
49182
|
*/
|
|
49084
49183
|
function attachPresentationVisibilityPause(options = {}) {
|
|
49085
49184
|
if (typeof document === 'undefined') {
|
|
49086
49185
|
return () => { };
|
|
49087
49186
|
}
|
|
49088
49187
|
const root = options.root ?? document;
|
|
49089
|
-
/** Stage media paused by the last
|
|
49188
|
+
/** Stage media paused by the last suspension, to resume on the next. */
|
|
49090
49189
|
let pausedMedia = [];
|
|
49091
|
-
|
|
49092
|
-
|
|
49190
|
+
/** Whether the show is currently suspended (transition-edge tracking). */
|
|
49191
|
+
let suspended = false;
|
|
49192
|
+
const update = () => {
|
|
49193
|
+
const shouldSuspend = document.visibilityState === 'hidden' || !document.hasFocus();
|
|
49194
|
+
if (shouldSuspend === suspended) {
|
|
49195
|
+
return;
|
|
49196
|
+
}
|
|
49197
|
+
suspended = shouldSuspend;
|
|
49198
|
+
if (shouldSuspend) {
|
|
49093
49199
|
pausedMedia = [];
|
|
49094
49200
|
for (const media of root.querySelectorAll('audio, video')) {
|
|
49095
49201
|
if (!media.paused && !media.ended) {
|
|
@@ -49112,9 +49218,13 @@ function attachPresentationVisibilityPause(options = {}) {
|
|
|
49112
49218
|
resumeAllPersistentAudio();
|
|
49113
49219
|
options.onVisible?.();
|
|
49114
49220
|
};
|
|
49115
|
-
document.addEventListener('visibilitychange',
|
|
49221
|
+
document.addEventListener('visibilitychange', update);
|
|
49222
|
+
window.addEventListener('blur', update);
|
|
49223
|
+
window.addEventListener('focus', update);
|
|
49116
49224
|
return () => {
|
|
49117
|
-
document.removeEventListener('visibilitychange',
|
|
49225
|
+
document.removeEventListener('visibilitychange', update);
|
|
49226
|
+
window.removeEventListener('blur', update);
|
|
49227
|
+
window.removeEventListener('focus', update);
|
|
49118
49228
|
};
|
|
49119
49229
|
}
|
|
49120
49230
|
|
|
@@ -61117,7 +61227,7 @@ function createLocalStorageBackend(namespace) {
|
|
|
61117
61227
|
/** Try IndexedDB first; fall back to localStorage on any failure. */
|
|
61118
61228
|
async function resolveBackend(dbName, namespace) {
|
|
61119
61229
|
try {
|
|
61120
|
-
const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-
|
|
61230
|
+
const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-D5YdTW3K.mjs');
|
|
61121
61231
|
const db = await openChatDb(dbName);
|
|
61122
61232
|
return createIdbBackend(db);
|
|
61123
61233
|
}
|
|
@@ -92125,7 +92235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
92125
92235
|
}], propDecorators: { canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: false }] }] } });
|
|
92126
92236
|
|
|
92127
92237
|
// Generated by scripts/inline-shared.mjs from package.json. Do not edit.
|
|
92128
|
-
const PPTX_ANGULAR_VIEWER_VERSION = "2.13.
|
|
92238
|
+
const PPTX_ANGULAR_VIEWER_VERSION = "2.13.1";
|
|
92129
92239
|
|
|
92130
92240
|
/**
|
|
92131
92241
|
* account-page.component.ts: File > Account content.
|
|
@@ -123209,4 +123319,4 @@ function cn(...values) {
|
|
|
123209
123319
|
*/
|
|
123210
123320
|
|
|
123211
123321
|
export { CustomShowsComponent as $, ALIGN_OPTIONS as A, BroadcastDialogComponent as B, CHART_EDITOR_STYLES as C, CanvasFitService as D, ChartAxisOptionsComponent as E, ChartAxisStyleOptionsComponent as F, ChartComboTypeOptionsComponent as G, ChartDataEditorComponent as H, ChartDataLabelOptionsComponent as I, ChartDatapointMarkerOptionsComponent as J, ChartDatapointOptionsComponent as K, ChartDisplayOptionsComponent as L, ChartElementViewComponent as M, ChartErrorBarOptionsComponent as N, ChartMarkerOptionsComponent as O, ChartPartSelectionService as P, ChartPrimitivesComponent as Q, ChartRendererComponent as R, ChartTrendlineOptionsComponent as S, CollaborationCursorsComponent as T, CollaborationService as U, ColorChangedImageComponent as V, CommentsPanelComponent as W, CommentsService as X, ComparePanelComponent as Y, ConnectorRendererComponent as Z, ConnectorTextOverlayComponent as _, ANIMATION_PRESET_CATEGORIES as a, LoadContentService as a$, DATA_TABLE_HEADER_H as a0, DATA_TABLE_KEY_W as a1, DATA_TABLE_PADDING as a2, DATA_TABLE_ROW_H as a3, DEFAULT_BOUNDS as a4, DEFAULT_BROADCAST_SERVER_URL as a5, DEFAULT_CANVAS_HEIGHT as a6, DEFAULT_CANVAS_WIDTH as a7, DEFAULT_COLOR_SCHEME as a8, DEFAULT_FILL_COLOR as a9, EquationEditorDialogComponent as aA, EquationRendererComponent as aB, EquationTemplateGalleryComponent as aC, ExportProgressModalComponent as aD, ExportService as aE, FieldContextService as aF, FindBarComponent as aG, FindReplaceBarComponent as aH, FollowModeBarComponent as aI, FontEmbeddingListComponent as aJ, FontEmbeddingPanelComponent as aK, GALLERY_THEME_PRESETS as aL, GradientPickerComponent as aM, HANDOUT_OPTIONS as aN, HeaderFooterDialogComponent as aO, HyperlinkDialogComponent as aP, ImagePropertiesPanelComponent as aQ, InkDrawingService as aR, InkRendererComponent as aS, InsertSmartArtDialogComponent as aT, InspectorPaneHeaderComponent as aU, InspectorPanelComponent as aV, IsMobileService as aW, KeepAnnotationsDialogComponent as aX, LOCALE_CATALOG as aY, LONG_PRESS_DURATION_MS as aZ, LONG_PRESS_MOVE_TOLERANCE_PX as a_, DEFAULT_LAYOUT as aa, DEFAULT_PALETTE$1 as ab, DEFAULT_PATTERN_FILL_PRESET as ac, DEFAULT_PRINT_SETTINGS as ad, DEFAULT_SLIDE_BACKGROUND as ae, DEFAULT_STROKE_COLOR as af, DEFAULT_STYLE as ag, DEFAULT_TABLE_ROW_HEIGHT as ah, DEFAULT_TEXT_COLOR$1 as ai, DEFAULT_VIEWER_PROFILE as aj, DIRECTIONAL_PRESETS as ak, DIRECTION_OPTIONS as al, DocumentPropertiesCardComponent as am, EMBEDDED_FONTS_STYLE_ID as an, EMPHASIS_PRESETS as ao, ENTRANCE_PRESETS as ap, TEMPLATES as aq, EXIT_PRESETS as ar, EditorContextMenuComponent as as, EditorHistory as at, EditorStateService as au, EditorToolbarComponent as av, EffectsPanelComponent as aw, ElementRendererComponent as ax, EmbeddedFontsService as ay, EncryptedFileDialogComponent as az, AUDIENCE_HASH as b, RibbonHyperlinkButtonComponent as b$, LocalPresencePublisher as b0, MAX_ZOOM_SCALE as b1, MIN_ZOOM_SCALE as b2, MOTION_PATH_COLUMNS as b3, MediaPreviewComponent as b4, MediaPropertiesPanelComponent as b5, MediaRendererComponent as b6, MediaTrimTimelineComponent as b7, MobileBottomBarComponent as b8, MobileMenuSheetComponent as b9, PresentationSubtitleBarComponent as bA, PresentationToolbarComponent as bB, PresentationTransitionOverlayComponent as bC, PresenterViewComponent as bD, PresenterWindowService as bE, PrintDialogComponent as bF, PrintService as bG, PrintSettingsPanelComponent as bH, PropertiesDialogComponent as bI, REPEAT_MODE_OPTIONS as bJ, RESIZE_HANDLES as bK, RULER_FONT_SIZE as bL, RULER_THICKNESS as bM, ReadingViewOverlayComponent as bN, RemoteSelectionOverlayComponent as bO, RibbonAnimationGalleryComponent as bP, RibbonAnimationsSectionComponent as bQ, RibbonArrangeSectionComponent as bR, RibbonColorPopoverComponent as bS, RibbonComponent as bT, RibbonDesignSectionComponent as bU, RibbonDrawSectionComponent as bV, RibbonDrawingGroupComponent as bW, RibbonEditingSectionComponent as bX, RibbonFileSectionComponent as bY, RibbonFontControlsComponent as bZ, RibbonHomeSectionComponent as b_, MobilePresenterViewComponent as ba, MobileSheetComponent as bb, MobileSlidesSheetComponent as bc, MobileToolbarComponent as bd, ModalDialogComponent as be, Model3DRendererComponent as bf, NotesHandoutCardComponent as bg, NotesPanelComponent as bh, NotesToolbarComponent as bi, OleRendererComponent as bj, OutlineViewOverlayComponent as bk, POWER_POINT_VIEWER_PROVIDERS as bl, PRESENTER_CHANNEL_NAME as bm, PRESENTER_MSG_ORIGIN as bn, PRESENTER_TIMER_SEGMENT_MS as bo, PX_PER_CM as bp, PX_PER_INCH as bq, PasswordProtectionDialogComponent as br, PasswordStrengthMeterComponent as bs, PowerPointViewerComponent as bt, PresentToolbarAutoHide as bu, PresentationAnnotationOverlayComponent as bv, PresentationAnnotationsService as bw, PresentationOverlayComponent as bx, PresentationPropertiesPanelComponent as by, PresentationSettingsCardComponent as bz, AUDIENCE_NONCE_KEY as c, TableDataEditorComponent as c$, RibbonInsertFieldsComponent as c0, RibbonInsertSectionComponent as c1, RibbonMotionPathGalleryComponent as c2, RibbonParagraphControlsComponent as c3, RibbonPrimaryRowComponent as c4, RibbonReviewSectionComponent as c5, RibbonShapeExtrasComponent as c6, RibbonSlideshowSectionComponent as c7, RibbonTransitionsSectionComponent as c8, RibbonViewSectionComponent as c9, SlideBackgroundCardComponent as cA, SlideCanvasComponent as cB, SlideDefaultInspectorComponent as cC, SlideDiffChangesComponent as cD, SlideDiffRowComponent as cE, SlideDiffThumbnailsComponent as cF, SlideSizeCardComponent as cG, SlideSorterOverlayComponent as cH, SlideThemeOverridePanelComponent as cI, SlideTransitionCardComponent as cJ, SlidesPanelComponent as cK, SmartArt3DRendererComponent as cL, SmartArt3DService as cM, SmartArtPreviewComponent as cN, SmartArtPropertiesComponent as cO, SmartArtRendererComponent as cP, StatusBarComponent as cQ, TABLE_STRUCTURE_TOGGLES as cR, TEXT_3D_BOTTOM_BEVEL_KEYS as cS, TEXT_3D_TOP_BEVEL_KEYS as cT, TEXT_DIRECTION_OPTIONS$1 as cU, THEME_CATALOG as cV, TIMING_CURVE_OPTIONS as cW, TRIGGER_OPTIONS as cX, TYPE_LABELS as cY, TableCellAdvancedFillComponent as cZ, TableCellFormattingComponent as c_, RulerGuidesService as ca, SEQUENCE_OPTIONS as cb, SEVERITY_GROUPS as cc, SEVERITY_LABELS as cd, SHORTCUT_REFERENCE_ITEMS as ce, SLIDE_TRANSITION_KEYFRAMES as cf, DEFAULT_PALETTE as cg, PALETTES$1 as ch, SMART_ART_COLOR_SCHEMES as ci, SMART_ART_STYLE_OPTIONS as cj, SUB_ITEM_LABEL as ck, SVG_WARP_PRESETS as cl, SWIPE_MAX_VERTICAL_PX as cm, SWIPE_THRESHOLD_PX as cn, SelectionPaneComponent as co, SetUpSlideShowDialogComponent as cp, SettingsAppearanceTabComponent as cq, SettingsDialogComponent as cr, SettingsLanguageTabComponent as cs, ShareDialogComponent as ct, ShortcutPanelComponent as cu, ShowOptionsFieldsetComponent as cv, ShowSlidesFieldsetComponent as cw, SignatureStrippedDialogComponent as cx, SignaturesPanelComponent as cy, SignaturesService as cz, AVATAR_COLOR_SWATCHES as d, asMediaElement as d$, TablePropertiesComponent as d0, TableRendererComponent as d1, TableResizeOverlayComponent as d2, TableSelectionService as d3, TagsCardComponent as d4, Text3DBevelSectionComponent as d5, Text3DPanelComponent as d6, TextAdvancedPanelComponent as d7, ThemeEditorFieldsComponent as d8, ThemeGalleryComponent as d9, ViewerTouchGesturesService as dA, ViewerZoomService as dB, WEBM_MIME_CANDIDATES as dC, WriteBackScheduler as dD, ZoomNavigationService as dE, ZoomRendererComponent as dF, ZoomTargetService as dG, addCategory as dH, addCommentToList as dI, addGradientStopPatch as dJ, addItem as dK, addSeries as dL, addSubItem as dM, advanceStep as dN, affordanceElements as dO, aiToggleVisible as dP, alignPatch as dQ, animationFor as dR, animationPresetLabelKey as dS, annotationMapToInkInserts as dT, applyAcceptedDiff as dU, applyAnimationPreset as dV, applyFindReplacements as dW, applyFormatToElement as dX, applyMove as dY, applyResize as dZ, applyTableStylePreset as d_, ThemeSelectorCardComponent as da, TitleBarComponent as db, TitleBarSearchComponent as dc, TransitionDirectionPickerComponent as dd, TransitionPreviewComponent as de, VALIGN_OPTIONS as df, VIEWER_THEME as dg, VersionHistoryPanelComponent as dh, ViewerCanvasEditingService as di, ViewerCollabCursorService as dj, ViewerCollaborationSessionService as dk, ViewerCompareService as dl, ViewerCustomShowsService as dm, ViewerDialogsService as dn, ViewerDocumentPropertiesService as dp, ViewerExportService as dq, ViewerExtraDialogsComponent as dr, ViewerFileIOService as ds, ViewerFindReplaceService as dt, ViewerFormatPainterService as du, ViewerInspectorPanelService as dv, ViewerKeyboardService as dw, ViewerMobileSheetService as dx, ViewerPresentationModeService as dy, ViewerThemeGalleryService as dz, AccessibilityPanelComponent as e, canStartShare as e$, assignUserColor as e0, attachShowVisibilityPause as e1, attachTouchGestures as e2, beginNodeEdit as e3, bevelSizePatch as e4, boolFromEvent as e5, bringForward as e6, bringToFront as e7, buildBarActions as e8, buildBroadcastConfig as e9, buildModel3DContainerStyle as eA, buildModel3DViewModel as eB, buildOleActionModel as eC, buildOleInfoRows as eD, buildPatternFillCss as eE, buildPrintHtmlDocument as eF, buildPropertiesPatch as eG, buildRegionMapViewModel as eH, buildSaveSlides as eI, buildShareUrl as eJ, buildSmartArtInsertElement as eK, buildSmartArtNodes as eL, buildStockViewModel as eM, buildSurfaceViewModel as eN, buildTableViewModel as eO, buildTreemapViewModel as eP, buildTrimFragment as eQ, buildWaterfallViewModel as eR, buildZeroLine as eS, buildZoomContainerStyle as eT, buildZoomViewModel as eU, bulletIndentPx as eV, canAddTopLevelNode as eW, canGroupSelection as eX, canRemoveTopLevelNode as eY, canSetStrokeWidth as eZ, canStartBroadcast as e_, buildBroadcastViewerUrl as ea, buildCategoryLabels as eb, buildCellParagraphs as ec, buildChartViewModel as ed, buildChatLogExport as ee, buildChatLogMarkdown as ef, buildChromeStyle as eg, buildClearHyperlinkPatch as eh, buildClickGroups as ei, buildColStyles as ej, buildCollaborationConfig as ek, buildComboViewModel as el, buildCssGradientFromShapeStyle as em, buildDuotoneFilter as en, buildDuotoneFilterId as eo, buildEmbeddedFontStyles as ep, buildEquationElement as eq, buildEquationSegment as er, buildFallbackViewModel as es, buildFontFaceRule as et, buildGradientFillCss as eu, buildGridlinesAndLabels as ev, buildHyperlinkPatch as ew, buildInkContainerStyle as ex, buildInkStrokes as ey, buildLegend as ez, AccessibilityService as f, createAngularAiBridge as f$, canUngroupSelection as f0, canUseClipboard as f1, captionDisplayText as f2, cellRunStyle as f3, cellStyleToStyleMap as f4, cellTdStyle as f5, changeCountLabel as f6, changeIcon as f7, characterSpacingPatch as f8, checkFontAvailable as f9, computeHandleBoxes as fA, computeHandoutLayout as fB, computeIsMobile as fC, computeIsTablet as fD, computeLinePoints as fE, computeLinearRegression as fF, computePageCount as fG, computePieLayout as fH, computePieSlicePath as fI, computePieSlices as fJ, computePlotLayout as fK, computeRSquared as fL, computeRadarPoints as fM, computeScatterDots as fN, computeSelectionBoxes as fO, computeSingleSelected as fP, computeSlideIndices as fQ, computeSnap as fR, computeStackedBarRects as fS, computeStackedValueRange as fT, computeTextLines as fU, computeTrendlinePrimitives as fV, computeValueRange as fW, convertOmmlToMathMl as fX, copyFormatFromElement as fY, countAccessibilityIssues as fZ, countAnnotationStrokes as f_, clampCursorPosition as fa, clampGifDimensions as fb, clampIndex as fc, clampNotesFontSize as fd, clampScale as fe, clampStep as ff, clearAllLocalViewerData as fg, clearAudienceContent as fh, cn as fi, collectAccessibilityIssues as fj, collectElementText as fk, collectSlideText as fl, collectStoredChats as fm, collectUsedFontFamilies as fn, columnWidthStyle as fo, commitNodeText as fp, computeAlign as fq, computeAxisTitlePrimitives as fr, computeBarRects as fs, computeBubbleRadius as ft, computeCornerHandle as fu, computeDataTablePrimitives as fv, computeDistribute as fw, computeDrawingViewBox as fx, computeErrorBarPrimitives as fy, computeFocusTargets as fz, AccountPageComponent as g, getClrChangeParams as g$, createCustomShow as g0, createSwipeDismissDrag as g1, createWebrtcBundle as g2, createWebsocketBundle as g3, cssObjectToStyleMap as g4, currentColorScheme as g5, currentLayout as g6, currentStyle as g7, defaultCssVars as g8, defaultRadius as g9, exportAiChatLogs as gA, extractPathPoints as gB, eyedropperAvailable as gC, fillColorOf as gD, findInSlides as gE, findOwningSlideIndex as gF, findSlideIndexByElementId as gG, firstVisibleIndex as gH, fitPolynomial as gI, fitZoom as gJ, focusTargetChips as gK, fontMimeForFormat as gL, fontSizeOf as gM, formatAutoNumber as gN, formatAxisValue as gO, formatBytes as gP, formatCursorLabel as gQ, formatElapsed as gR, formatFileSize as gS, formatPropertyDate as gT, formatTime as gU, fpsToFrameIntervalMs as gV, generateBroadcastRoomId as gW, generateCommentId as gX, generateCustomShowId as gY, generatePressureCircles as gZ, generateTicks as g_, defaultThemeColors as ga, deleteElementsByIds as gb, deleteVersion as gc, demoteNode as gd, deriveModel3DBlobUrl as ge, derivePresenceList as gf, describeSmartArtBounds as gg, disableGlowPatch as gh, disableInnerShadowPatch as gi, disableOuterShadowPatch as gj, disableReflectionPatch as gk, disableSoftEdgePatch as gl, duplicateElementById as gm, durationOf as gn, effectsStateOf as go, enableGlowPatch as gp, enableInnerShadowPatch as gq, enableOuterShadowPatch as gr, enableReflectionPatch as gs, enableSoftEdgePatch as gt, encodeGif as gu, endShowMediaCleanup as gv, estimatePageCount as gw, evenColumnWidths as gx, evenRowHeights as gy, exitPresentationFullscreen as gz, ActionSettingsPanelComponent as h, issueTypeLabel as h$, getContainerStyle as h0, getDuotoneFilterDef as h1, getImageSrc as h2, getLocalStorageUsageSummary as h3, getOleAriaLabel as h4, getOleBadgeLabel as h5, getOleDisplayName as h6, getOleDownloadFileName as h7, getOleTypeColor as h8, getOleTypeLabel as h9, hasGradientFill as hA, hasPressureVariation as hB, hasVisibleSlideAfter as hC, headerLabel as hD, imageDimensions as hE, inkViewBox as hF, insertTableElementColumn as hG, insertTableElementRow as hH, interpolateWidth as hI, isAudienceTab as hJ, isBold as hK, isBrowserOpenableMime as hL, isChildNode as hM, isElementInteractive as hN, isInjectableUrl as hO, isItalic as hP, isPpactionUrl as hQ, isPresenterMessage as hR, isSigned as hS, isTextElement as hT, isTwoTableFocus as hU, isUnderline as hV, isUrlSafe as hW, isValidRoomId as hX, isViewportBackgroundPressTarget as hY, isZoomActivationKey as hZ, issueTrackKey as h_, getPasswordStrength as ha, getPatternSvg as hb, getPlaceholderStyle as hc, getVersions as hd, getResolvedShapeClipPath as he, getResolvedShapeClipPathFor as hf, getShapeFillStrokeStyle as hg, getSlideBackgroundStyle as hh, getSlideTransitionAnimations as hi, getSmartArtNodeBounds as hj, getSpeechRecognitionCtor as hk, getTextBlockStyle as hl, getTextWarp as hm, getTouchDistance as hn, getWarpCategory as ho, getWarpPath as hp, gradientStateFromStyle as hq, gradientStateOf as hr, gradientStatePatch as hs, gridColumns as ht, groupElements as hu, groupIssuesBySeverity as hv, hasAnimation as hw, hasCopyableFormat as hx, hasExistingLink as hy, hasExitedFullscreen as hz, AdvancedChartEditorComponent as i, prevVisibleIndex as i$, keyToLabel as i0, lastVisibleIndex as i1, latexToMathml as i2, linePointsToSvgString as i3, lineSpacingPatch as i4, loadAudienceContent as i5, mergeCaptionResults as i6, mergeDown as i7, mergeRight as i8, mergeSelection as i9, normalizeValue as iA, numFromEvent as iB, ommlToMathml as iC, ooxmlDashToCssBorderStyle as iD, openNativeEyeDropper as iE, overallStatus as iF, paletteColor as iG, parseAudienceNonce as iH, parseNodeTextarea as iI, partitionSlides as iJ, patchChartData as iK, patchChartStyle as iL, patchTableData as iM, patchTextStyle as iN, patternPresetOptions as iO, pendingElementStyles as iP, pickColorByClickFallback as iQ, pickFile as iR, pickSupportedMimeType as iS, planGifFrames as iT, planVideoSegments as iU, pointsToSvgPathD as iV, presenceToCursors as iW, presenterTimerProgress as iX, presetByLayout as iY, presetsForCategory as iZ, pressuresToWidths as i_, moveElementBy as ia, moveNodeDown as ib, moveNodeUp as ic, msToFrameDelayCs as id, narrowToCircle as ie, narrowToPolygon as ig, narrowToRect as ih, newChartElement as ii, newEquationElement as ij, newPresetShapeElement as ik, newShapeElement as il, newSmartArtElement as im, newTableElement as io, newTextElement as ip, nextVisibleIndex as iq, nodeBold as ir, nodeEditBox as is, nodeFillColor as it, nodeFontColor as iu, nodeIdFromKey as iv, nodeItalic as iw, nodeStyle as ix, normalizeFontFormat as iy, normalizeSlidesPerPage as iz, AiChangeOverlayComponent as j, seriesColor as j$, projectDrawingShapes as j0, promoteNode as j1, provideViewerTheme as j2, radarAngle as j3, radarRingPoints as j4, readAsDataUrl as j5, recordWebm as j6, redistributeColumnWidth as j7, registerCrossSlideAudio as j8, removeAnimation as j9, resolveSlideAutoAdvanceMs as jA, resolvePalette as jB, resolveThemeCatalogEntry as jC, resolveTransitionDuration as jD, revealedElementStyles as jE, routeOrthogonalConnector as jF, rowStyle as jG, rulerDragToGuidePosition as jH, rulerHighlight as jI, rulerStripTicks as jJ, sampleColorFromSlide as jK, sanitizeColor as jL, sanitizeSlideIndex as jM, sanitizeUserName as jN, saveViewerProfile as jO, scanAvailableFonts as jP, searchSlides as jQ, seedBroadcastFields as jR, seedHyperlinkDraft as jS, seedPropertiesDraft as jT, seedShareFields as jU, segmentFrameCount as jV, selectValue$2 as jW, sendBackward as jX, sendToBack as jY, sequentialColorScale as jZ, serializeWriteBack as j_, removeCategory as ja, removeTableElementColumn as jb, removeCommentFromList as jc, removeElementAnimation as jd, removeGradientStopPatch as je, removeNode as jf, removeTableElementRow as jg, removeSeries as jh, renderToCanvas as ji, reorderAnimationDown as jj, reorderAnimationUp as jk, replaceInSlides as jl, replaceMatch as jm, requestPresentationFullscreen as jn, resizeElement as jo, resolveCaptionTracks as jp, resolveChartKind as jq, resolveFontVariant as jr, resolveHyperlinkHref as js, resolveInteractiveElementId as jt, resolveMediaSrc as ju, resolveOleType as jv, resolveParagraphBullet as jw, resolvePresenterNotes as jx, resolveProfileInitial as jy, resolveRegionCode as jz, AiChatPanelComponent as k, textAdvancedPatch as k$, setAnimationEmphasis as k0, setAnimationEntrance as k1, setAnimationExit as k2, setAxis as k3, setAxisLogScale as k4, setAxisTitleStyle as k5, setCategoryLabel as k6, setCellText as k7, setColorScheme as k8, setDataLabels as k9, setTrigger as kA, setTriggerShapeId as kB, shapeStylePatch as kC, sheetAfterNavigate as kD, shouldBlockClickAdvance as kE, shouldUseSvgWarp as kF, showDirectionPicker as kG, showsTemplateAffordance as kH, signatureCountLabel as kI, signatureKey as kJ, signatureTimestamp as kK, signerName as kL, statusLabel as kM, slideNumberOf as kN, smartArtNodes as kO, paletteColour as kP, snapToGridStep as kQ, splitCursorCell as kR, splitMergedCell as kS, statusKind as kT, statusLabel$1 as kU, storeAudienceContent as kV, stringFromEvent$5 as kW, strokeColorOf as kX, strokeToInkElement as kY, strokeWidthOf as kZ, styleShadowFilter as k_, setDataPointExplosion as ka, setDataPointFill as kb, setDataPointLabel as kc, setDataPointMarker as kd, setDelay as ke, setDirection as kf, setDuration as kg, setElementPosition as kh, setGridlineStyle as ki, setLayout as kj, setLegend as kk, setNodeStyle as kl, setNodeText as km, setRepeatCount as kn, setRepeatMode as ko, setSequence as kp, setSeriesChartType as kq, setSeriesColor as kr, setSeriesErrorBars as ks, setSeriesMarker as kt, setSeriesName as ku, setSeriesTrendline as kv, setSeriesValue as kw, setStyle as kx, setTimingCurve as ky, setTitle as kz, AiChatService as l, textAdvancedStateFromStyle as l0, textAdvancedStateOf as l1, textColorOf as l2, textDirectionPatch as l3, textStyleOf as l4, textStylePatch as l5, themeStyle as l6, themeToCssVars as l7, thumbnailHeight as l8, thumbnailZoom as l9, zoomTargetSlideIndex as lA, toggleCommentResolvedInList as la, toggleNodeBold as lb, toggleNodeItalic as lc, toggleSheet as ld, topLevelNodeCount as le, transformSelectedTextCase as lf, translationsEn as lg, ungroupElements as lh, updateElementById as li, updateGlowPatch as lj, updateGradientStopPatch as lk, updateInnerShadowPatch as ll, updateOuterShadowPatch as lm, updateReflectionPatch as ln, vAlignPatch as lo, validatePassword as lp, validatePrintSettings as lq, validateRoomId as lr, valueToY as ls, vermilionDarkColors as lt, vermilionDarkTheme as lu, vermilionLightColors as lv, vermilionLightTheme as lw, vermilionRadius as lx, waypointsToPathD as ly, worstStatus as lz, AiComposerComponent as m, AiFocusBarComponent as n, AiFocusHighlightOverlayComponent as o, AiMessageListComponent as p, AiPanelStore as q, AiProposalCardComponent as r, AiSettingsSectionComponent as s, toChatSummary as t, AiToolCallCardComponent as u, AnimationAuthorPanelComponent as v, AnimationPanelComponent as w, AnimationPlaybackService as x, AutosaveService as y, CURSOR_PALETTE as z };
|
|
123212
|
-
//# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-
|
|
123322
|
+
//# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-CrXInU5f.mjs.map
|