pptx-angular-viewer 4.10.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/fesm2022/{pptx-angular-viewer-chart-3d-view-scene-CkW1D-mg.mjs → pptx-angular-viewer-chart-3d-view-scene-Cfk7dMVK.mjs} +111 -24
- package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-Cfk7dMVK.mjs.map +1 -0
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-BboVG09q.mjs → pptx-angular-viewer-chat-history-idb-BnV3ANp_.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-BboVG09q.mjs.map → pptx-angular-viewer-chat-history-idb-BnV3ANp_.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-BWuuwItt.mjs → pptx-angular-viewer-pptx-angular-viewer-Dy62s3Dt.mjs} +160 -3136
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-BWuuwItt.mjs.map → pptx-angular-viewer-pptx-angular-viewer-Dy62s3Dt.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-view-scene-BJXZicXV.mjs → pptx-angular-viewer-view-scene-CNlGt3WC.mjs} +3 -3
- package/fesm2022/{pptx-angular-viewer-view-scene-BJXZicXV.mjs.map → pptx-angular-viewer-view-scene-CNlGt3WC.mjs.map} +1 -1
- package/fesm2022/pptx-angular-viewer.mjs +1 -1
- package/package.json +2 -2
- package/types/pptx-angular-viewer.d.ts +18 -502
- package/types/pptx-angular-viewer.d.ts.map +1 -1
- package/fesm2022/pptx-angular-viewer-chart-3d-view-scene-CkW1D-mg.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pptx_viewer_core from 'pptx-viewer-core';
|
|
2
|
-
import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle,
|
|
2
|
+
import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, PptxSmartArtDrawingShape, SmartArtColorScheme, PptxSmartArtChrome, SmartArtStyle, PptxSmartArtData, PptxThemeColorRef, PlaceholderDefaults, PptxEmbeddedFont, SmartArtLayout, AccessibilityIssueSeverity, AccessibilityIssue, AccessibilityIssueType, AccessibilityCheckOptions, ElementActionType, InkPptxElement, PptxComment, PptxChartBarDirection, ImagePptxElement, MasterViewTab, PptxHeaderFooter, PptxPresentationProperties, PptxViewProperties, PptxCustomShow, PptxCoreProperties, PptxAppProperties, PptxCustomProperty, PptxTagCollection, PptxSlideMaster, PptxNotesMaster, PptxHandoutMaster, PptxSlideSize, PptxSaveFormat, MediaPptxElement, PptxTheme, PptxHandler, PptxData, PptxHandlerSaveOptions, PptxModernCommentAuthor, PptxCommentMention, PptxThemeOption, ParsedSignature, PptxLayoutPreview, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxLayoutOption, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
|
|
3
3
|
export { GroupResult, SWITCHABLE_LAYOUT_TYPES, UngroupResult, addSmartArtNode, addSmartArtNodeAsChild, chartDataChangeType, chartDataUpdatePoint, demoteSmartArtNode, formatAutoNumberMarker as formatAutoNumber, groupElements, promoteSmartArtNode, removeSmartArtNode, reorderSmartArtNode, switchSmartArtLayout, ungroupElements, updateSmartArtNodeText } from 'pptx-viewer-core';
|
|
4
4
|
import { Doc } from 'yjs';
|
|
5
5
|
import * as _angular_core from '@angular/core';
|
|
@@ -1598,71 +1598,6 @@ interface SvgAreaGradient {
|
|
|
1598
1598
|
}
|
|
1599
1599
|
type SvgPrimitive = SvgRect | SvgPath | SvgPolyline | SvgCircle | SvgLine | SvgPolygon | SvgText | SvgAreaGradient;
|
|
1600
1600
|
|
|
1601
|
-
/**
|
|
1602
|
-
* chart-datapoint-style.ts: framework-agnostic resolution of per-data-point
|
|
1603
|
-
* formatting overrides (`c:dPt`).
|
|
1604
|
-
*
|
|
1605
|
-
* A chart series may override the appearance of individual data points: a
|
|
1606
|
-
* per-point fill colour, or (for pie/doughnut) a slice "explosion" pull-out
|
|
1607
|
-
* distance. These helpers resolve the effective value for a given point index,
|
|
1608
|
-
* falling back to the series-level default, so every binding (React/Vue/Angular)
|
|
1609
|
-
* can render edited per-point formatting identically without re-implementing the
|
|
1610
|
-
* lookup.
|
|
1611
|
-
*
|
|
1612
|
-
* @module chart-datapoint-style
|
|
1613
|
-
*/
|
|
1614
|
-
|
|
1615
|
-
/** Minimal shape props subset needed to resolve a point fill. */
|
|
1616
|
-
interface PointShapeProps {
|
|
1617
|
-
fillColor?: string;
|
|
1618
|
-
}
|
|
1619
|
-
/** Minimal marker shape consumed here (mirrors `PptxChartMarker`). */
|
|
1620
|
-
interface ChartMarkerLike {
|
|
1621
|
-
symbol?: PptxChartMarkerSymbol;
|
|
1622
|
-
size?: number;
|
|
1623
|
-
spPr?: PointShapeProps;
|
|
1624
|
-
}
|
|
1625
|
-
/** Minimal data-point shape consumed here (mirrors `PptxChartDataPoint`). */
|
|
1626
|
-
interface ChartDataPointLike {
|
|
1627
|
-
idx: number;
|
|
1628
|
-
spPr?: PointShapeProps;
|
|
1629
|
-
explosion?: number;
|
|
1630
|
-
marker?: ChartMarkerLike;
|
|
1631
|
-
picture?: PptxChartDataPointPicture;
|
|
1632
|
-
/**
|
|
1633
|
-
* A picture fill implied by a bare `c:dPt/c:spPr/a:blipFill` with no
|
|
1634
|
-
* sibling `c:pictureOptions` (mirrors `PptxChartDataPoint.impliedPicture`).
|
|
1635
|
-
* {@link resolveActiveDataPointPicture} falls back to this only when
|
|
1636
|
-
* {@link picture} did not resolve an image of its own.
|
|
1637
|
-
*/
|
|
1638
|
-
impliedPicture?: PptxChartDataPointPicture;
|
|
1639
|
-
}
|
|
1640
|
-
/** Minimal series shape consumed here (mirrors `PptxChartSeries`). */
|
|
1641
|
-
interface ChartSeriesLike {
|
|
1642
|
-
color?: string;
|
|
1643
|
-
marker?: ChartMarkerLike;
|
|
1644
|
-
dataPoints?: ChartDataPointLike[];
|
|
1645
|
-
/**
|
|
1646
|
-
* This series' `c:ser/c:idx/@val` (mirrors `PptxChartSeries.idx`). Used to
|
|
1647
|
-
* key the automatic marker-symbol cycle so a chart with non-sequential or
|
|
1648
|
-
* gapped indices (a deleted/filtered series) still lands on the same shape
|
|
1649
|
-
* PowerPoint does; falls back to the caller-supplied array position when
|
|
1650
|
-
* absent.
|
|
1651
|
-
*/
|
|
1652
|
-
idx?: number;
|
|
1653
|
-
/**
|
|
1654
|
-
* Series-level picture-fill flags (`c:ser/c:pictureOptions`): paints every
|
|
1655
|
-
* point in the series with one picture unless a `c:dPt` resolves its own
|
|
1656
|
-
* (see {@link resolveActiveDataPointPicture}).
|
|
1657
|
-
*/
|
|
1658
|
-
picture?: PptxChartDataPointPicture;
|
|
1659
|
-
/**
|
|
1660
|
-
* A picture fill implied by a bare `c:ser/c:spPr/a:blipFill` with no
|
|
1661
|
-
* sibling `c:pictureOptions` (mirrors `PptxChartSeries.impliedPicture`).
|
|
1662
|
-
*/
|
|
1663
|
-
impliedPicture?: PptxChartDataPointPicture;
|
|
1664
|
-
}
|
|
1665
|
-
|
|
1666
1601
|
/**
|
|
1667
1602
|
* chart-legend-build.ts: builds the base `LegendEntry[]` (colour + label +
|
|
1668
1603
|
* optional line-style swatch) and the legend's anchor position for a chart
|
|
@@ -6323,256 +6258,6 @@ interface SmartArt3DModel {
|
|
|
6323
6258
|
lighting?: SmartArt3DLighting;
|
|
6324
6259
|
}
|
|
6325
6260
|
|
|
6326
|
-
/**
|
|
6327
|
-
* Pure surface-chart 3D geometry helpers (framework- and three-agnostic).
|
|
6328
|
-
*
|
|
6329
|
-
* The hosted surface scene ({@link createSurfaceChart3DScene}) feeds these
|
|
6330
|
-
* the `three` module `<pptx-three-view>` loaded, so the library stays an
|
|
6331
|
-
* optional import while the grid maths (plane subdivision -> height/colour displacement,
|
|
6332
|
-
* world-space label anchors) lives here as small, separately testable units.
|
|
6333
|
-
*/
|
|
6334
|
-
|
|
6335
|
-
/** The `c:view3D` fields the camera placement cares about. */
|
|
6336
|
-
interface SurfaceCameraView3D {
|
|
6337
|
-
/** X-axis rotation in degrees (-90...90); PowerPoint's "elevation". */
|
|
6338
|
-
rotX?: number;
|
|
6339
|
-
/** Y-axis rotation in degrees (0...360); PowerPoint's "rotation". */
|
|
6340
|
-
rotY?: number;
|
|
6341
|
-
}
|
|
6342
|
-
|
|
6343
|
-
/** The `c:view3D` fields a cartesian 3D scene's camera placement cares about. */
|
|
6344
|
-
interface CartesianCameraView3D {
|
|
6345
|
-
/** X-axis rotation in degrees (-90...90); PowerPoint's "elevation". */
|
|
6346
|
-
rotX?: number;
|
|
6347
|
-
/** Y-axis rotation in degrees (0...360); PowerPoint's "rotation". */
|
|
6348
|
-
rotY?: number;
|
|
6349
|
-
/** Perspective angle in degrees (0...240, `c:view3D/c:perspective`). Ignored when `rAngAx` is set. */
|
|
6350
|
-
rperspective?: number;
|
|
6351
|
-
/** Chart depth as a percentage of base width (`c:view3D/@depthPercent`). */
|
|
6352
|
-
depthPercent?: number;
|
|
6353
|
-
/** Right-angle axes (`c:view3D/@rAngAx`): PowerPoint renders near-orthographically. */
|
|
6354
|
-
rAngAx?: boolean;
|
|
6355
|
-
}
|
|
6356
|
-
|
|
6357
|
-
/** One path vertex, positioned in true 3D world space. */
|
|
6358
|
-
interface CartesianLine3DVertex {
|
|
6359
|
-
seriesIndex: number;
|
|
6360
|
-
categoryIndex: number;
|
|
6361
|
-
value: number;
|
|
6362
|
-
position: readonly [number, number, number];
|
|
6363
|
-
}
|
|
6364
|
-
/** One series' full 3D path: its depth plane + ordered (by category) vertices. */
|
|
6365
|
-
interface CartesianLine3DSeriesPath {
|
|
6366
|
-
seriesIndex: number;
|
|
6367
|
-
color: string;
|
|
6368
|
-
vertices: CartesianLine3DVertex[];
|
|
6369
|
-
/** World Z this series' depth plane sits at. */
|
|
6370
|
-
depthZ: number;
|
|
6371
|
-
/** World Y for value = 0 on this plane (area3D ribbon baseline / floor). */
|
|
6372
|
-
baselineY: number;
|
|
6373
|
-
}
|
|
6374
|
-
|
|
6375
|
-
/**
|
|
6376
|
-
* Floor/side-wall/back-wall backdrop planes for an interactive 3D chart scene.
|
|
6377
|
-
*
|
|
6378
|
-
* `c:floor`, `c:sideWall`, and `c:backWall` are parsed onto `PptxChartData`
|
|
6379
|
-
* but, before this module, only the flat SVG isometric renderer painted
|
|
6380
|
-
* them; a WebGL scene showed a fixed grey `GridHelper` regardless of what
|
|
6381
|
-
* was authored. Each authored surface becomes one semi-transparent plane
|
|
6382
|
-
* mesh so the interactive view agrees with the SVG one. A surface with no
|
|
6383
|
-
* authored fill colour gets no plane, so an untouched chart's WebGL scene is
|
|
6384
|
-
* unchanged.
|
|
6385
|
-
*
|
|
6386
|
-
* Shared by every interactive chart scene that has a category/series grid to
|
|
6387
|
-
* wall in: the surface chart ({@link ./surface-chart-3d-scene.ts}) and the
|
|
6388
|
-
* cartesian bar3D scene ({@link ./bar-chart-3d-scene.ts}), and (pending
|
|
6389
|
-
* follow-up) line3D/area3D. Each caller passes its OWN grid extent (a
|
|
6390
|
-
* cartesian chart's depth axis is scaled by `c:view3D/@depthPercent`, unlike
|
|
6391
|
-
* the surface chart's 1:1 row spacing), so this module never recomputes an
|
|
6392
|
-
* extent that could disagree with the caller's own mesh layout.
|
|
6393
|
-
*
|
|
6394
|
-
* @module surface-chart-3d-walls
|
|
6395
|
-
*/
|
|
6396
|
-
|
|
6397
|
-
/** `c:floor`/`c:sideWall`/`c:backWall` fill colours (`#RRGGBB`), when authored. */
|
|
6398
|
-
interface SurfaceWallColors {
|
|
6399
|
-
floor?: string;
|
|
6400
|
-
sideWall?: string;
|
|
6401
|
-
backWall?: string;
|
|
6402
|
-
}
|
|
6403
|
-
|
|
6404
|
-
/**
|
|
6405
|
-
* Shared point/series data-shaping for the interactive `line3D` and `area3D`
|
|
6406
|
-
* true-3D scenes ({@link ./line-chart-3d-data.ts}, {@link ./area-chart-3d-data.ts}).
|
|
6407
|
-
*
|
|
6408
|
-
* Both chart kinds share IDENTICAL per-series depth-plane geometry (see
|
|
6409
|
-
* {@link ./cartesian-line-chart-3d-layout.ts}): the only difference is
|
|
6410
|
-
* presentation, line3D draws a tube along each series' path, area3D
|
|
6411
|
-
* additionally fills a ribbon from that path down to its baseline. Colour
|
|
6412
|
-
* resolution (`seriesColor` / `resolveDataPointFill`) and value-range maths
|
|
6413
|
-
* (`computeValueRange`) are the SAME functions the flat SVG oblique-projection
|
|
6414
|
-
* engine uses ({@link ./chart-cartesian-line-area.ts}), so a chart's true-3D
|
|
6415
|
-
* and 2D-fallback presentations always agree on colour and scale (mirrors
|
|
6416
|
-
* {@link ./bar-chart-3d-data.ts}).
|
|
6417
|
-
*
|
|
6418
|
-
* @module cartesian-line-chart-3d-data
|
|
6419
|
-
*/
|
|
6420
|
-
|
|
6421
|
-
/** Inputs the interactive line3D/area3D scene needs to mount. */
|
|
6422
|
-
interface CartesianLine3DSceneOptions {
|
|
6423
|
-
cols: number;
|
|
6424
|
-
rows: number;
|
|
6425
|
-
series: CartesianLine3DSeriesPath[];
|
|
6426
|
-
categoryLabels: ReadonlyArray<string>;
|
|
6427
|
-
seriesNames: ReadonlyArray<string>;
|
|
6428
|
-
numberFormats?: ReadonlyArray<string | undefined>;
|
|
6429
|
-
width: number;
|
|
6430
|
-
height: number;
|
|
6431
|
-
/** Authored `c:view3D` driving the initial camera + depth extent. */
|
|
6432
|
-
view3D?: CartesianCameraView3D;
|
|
6433
|
-
/** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
|
|
6434
|
-
wallColors?: SurfaceWallColors;
|
|
6435
|
-
/** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
|
|
6436
|
-
textStyle?: TextStyleAnimationDescriptor;
|
|
6437
|
-
}
|
|
6438
|
-
|
|
6439
|
-
/**
|
|
6440
|
-
* `area3D`-specific entry point onto the shared cartesian line/area 3D data
|
|
6441
|
-
* shaping ({@link ./cartesian-line-chart-3d-data.ts}).
|
|
6442
|
-
*
|
|
6443
|
-
* @module area-chart-3d-data
|
|
6444
|
-
*/
|
|
6445
|
-
|
|
6446
|
-
type AreaChart3DSceneOptions = CartesianLine3DSceneOptions;
|
|
6447
|
-
|
|
6448
|
-
/**
|
|
6449
|
-
* Box-mesh layout maths for the interactive `bar3D` scene
|
|
6450
|
-
* ({@link ./bar-chart-3d-data.ts}). Split out of that module to stay under the
|
|
6451
|
-
* repo's ~300-LOC file cap.
|
|
6452
|
-
*
|
|
6453
|
-
* Clustered layout gives every series its own depth ("Z") plane, side by
|
|
6454
|
-
* side along the series axis, matching PowerPoint's real 3-D Column chart.
|
|
6455
|
-
* Stacked/percentStacked keeps every series coplanar (one Z plane) and
|
|
6456
|
-
* stacks segments vertically, matching the flat engine's
|
|
6457
|
-
* `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
|
|
6458
|
-
* per-series depth stagger; only clustered does).
|
|
6459
|
-
*
|
|
6460
|
-
* @module bar-chart-3d-layout
|
|
6461
|
-
*/
|
|
6462
|
-
|
|
6463
|
-
/** One box mesh: world-space center + size (width=X, height=Y, depth=Z). */
|
|
6464
|
-
interface BarChart3DBox {
|
|
6465
|
-
seriesIndex: number;
|
|
6466
|
-
categoryIndex: number;
|
|
6467
|
-
value: number;
|
|
6468
|
-
color: string;
|
|
6469
|
-
center: readonly [number, number, number];
|
|
6470
|
-
size: readonly [number, number, number];
|
|
6471
|
-
/** See {@link CartesianChart3DPoint.shape}. */
|
|
6472
|
-
shape?: PptxBar3DShape;
|
|
6473
|
-
/**
|
|
6474
|
-
* `coneToMax` / `pyramidToMax` only: the mesh's top radius as a fraction
|
|
6475
|
-
* (0-1) of its base radius, so the geometry looks like a slice of one
|
|
6476
|
-
* imaginary cone/pyramid whose apex sits exactly at the value-axis
|
|
6477
|
-
* maximum: `0` (a full point) when this box's value equals the axis max,
|
|
6478
|
-
* approaching `1` (nearly cylindrical) as the value approaches zero.
|
|
6479
|
-
*/
|
|
6480
|
-
coneToMaxTopRadiusFactor?: number;
|
|
6481
|
-
}
|
|
6482
|
-
|
|
6483
|
-
/**
|
|
6484
|
-
* bar-chart-3d-materials.ts: turns {@link resolveBarBoxFaceFills}'s (or, for a
|
|
6485
|
-
* round shape, {@link resolveBarRoundFaceFills}'s) pure per-face fill
|
|
6486
|
-
* descriptors into the actual `THREE.Material`(s) for one bar3D mesh, loading
|
|
6487
|
-
* `c:pictureOptions` picture-fill textures asynchronously.
|
|
6488
|
-
*
|
|
6489
|
-
* A mesh with no picture fill anywhere keeps the pre-existing single uniform
|
|
6490
|
-
* `MeshPhongMaterial` (no behaviour change, no texture-loader overhead) - see
|
|
6491
|
-
* {@link resolveBarBoxFaceFills}/{@link resolveBarRoundFaceFills}'s own "all
|
|
6492
|
-
* plain colour" fast path. Once a picture is resolved for at least one face,
|
|
6493
|
-
* this always builds a face-material array (a 6-entry array in three's own
|
|
6494
|
-
* `BoxGeometry` per-face order, `+x,-x,+y,-y,+z,-z`, for a `box`; a 3-entry
|
|
6495
|
-
* array in `CylinderGeometry`/`ConeGeometry`'s own material-group order,
|
|
6496
|
-
* lateral surface/top cap/bottom cap, for a round shape), even for faces that
|
|
6497
|
-
* stay plain-coloured, since a `THREE.Mesh` cannot mix a single material with
|
|
6498
|
-
* a per-face array on the same geometry.
|
|
6499
|
-
*
|
|
6500
|
-
* Texture loads are async: every picture-targeted face mounts with a plain
|
|
6501
|
-
* white `MeshPhongMaterial` (so the box is never invisible/black while
|
|
6502
|
-
* loading) and swaps in `material.map` once the image decodes. The scene's
|
|
6503
|
-
* own render loop is continuous (`requestAnimationFrame` every frame, not
|
|
6504
|
-
* on-demand), so the swapped-in texture appears on the very next frame with
|
|
6505
|
-
* no extra "re-render" plumbing needed here.
|
|
6506
|
-
*
|
|
6507
|
-
* @module bar-chart-3d-materials
|
|
6508
|
-
*/
|
|
6509
|
-
|
|
6510
|
-
/** `c:ser`/`c:dPt` picture-fill inputs threaded into the interactive bar3D scene. */
|
|
6511
|
-
interface BarBoxPictureContext {
|
|
6512
|
-
series: ReadonlyArray<ChartSeriesLike>;
|
|
6513
|
-
}
|
|
6514
|
-
|
|
6515
|
-
/**
|
|
6516
|
-
* Adapts a `bar3D` chart's `PptxChartData` into the box-mesh layout the
|
|
6517
|
-
* interactive 3D scene ({@link ./bar-chart-3d-scene.ts}, `createBarChart3DScene`)
|
|
6518
|
-
* needs to mount: one {@link BarChart3DBox} per (series, category) data point,
|
|
6519
|
-
* positioned in true 3D space (category = X, value = Y, series = Z/depth for
|
|
6520
|
-
* the default vertical `c:barDir val="col"`; a horizontal `val="bar"` chart
|
|
6521
|
-
* remaps every box center into value = X, category = Y, series unchanged on
|
|
6522
|
-
* Z, see `layoutBarChart3D`'s `horizontal` flag and `BarChart3DSceneOptions
|
|
6523
|
-
* .horizontal`).
|
|
6524
|
-
*
|
|
6525
|
-
* Colour resolution (`seriesColor` / `resolveDataPointFill`) and value-range
|
|
6526
|
-
* maths (`computeValueRange` / `computeStackedValueRange`) are the SAME
|
|
6527
|
-
* functions the flat SVG oblique-projection engine uses
|
|
6528
|
-
* ({@link ./chart-cartesian-bars.ts}), so a bar3D chart's true-3D and 2D-
|
|
6529
|
-
* fallback presentations always agree on colour and scale: one set of chart
|
|
6530
|
-
* maths, two presentations (mirrors {@link ./surface-chart-3d-data.ts}).
|
|
6531
|
-
*
|
|
6532
|
-
* Clustered layout gives every series its own depth ("Z") plane, side by
|
|
6533
|
-
* side along the series axis, matching PowerPoint's real 3-D Column chart.
|
|
6534
|
-
* Stacked/percentStacked keeps every series coplanar (one Z plane) and
|
|
6535
|
-
* stacks segments vertically, matching the flat engine's
|
|
6536
|
-
* `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
|
|
6537
|
-
* per-series depth stagger; only clustered does).
|
|
6538
|
-
*
|
|
6539
|
-
* @module bar-chart-3d-data
|
|
6540
|
-
*/
|
|
6541
|
-
|
|
6542
|
-
/** Inputs the interactive bar3D scene needs to mount. */
|
|
6543
|
-
interface BarChart3DSceneOptions {
|
|
6544
|
-
cols: number;
|
|
6545
|
-
rows: number;
|
|
6546
|
-
boxes: BarChart3DBox[];
|
|
6547
|
-
categoryLabels: ReadonlyArray<string>;
|
|
6548
|
-
seriesNames: ReadonlyArray<string>;
|
|
6549
|
-
numberFormats?: ReadonlyArray<string | undefined>;
|
|
6550
|
-
grouping: 'clustered' | 'stacked' | 'percentStacked';
|
|
6551
|
-
width: number;
|
|
6552
|
-
height: number;
|
|
6553
|
-
/** Authored `c:view3D` driving the initial camera + depth extent. */
|
|
6554
|
-
view3D?: CartesianCameraView3D;
|
|
6555
|
-
/** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
|
|
6556
|
-
wallColors?: SurfaceWallColors;
|
|
6557
|
-
/**
|
|
6558
|
-
* `c:barDir val="bar"`: a horizontal 3-D Bar chart. Box centers are already
|
|
6559
|
-
* remapped into the horizontal frame (see `layoutBarChart3D`); the scene
|
|
6560
|
-
* mounter uses this flag only to rotate every box mesh `-Math.PI / 2` about
|
|
6561
|
-
* Z so non-box shapes (cylinder/cone/pyramid) keep a true cross-section.
|
|
6562
|
-
*/
|
|
6563
|
-
horizontal?: boolean;
|
|
6564
|
-
/** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
|
|
6565
|
-
textStyle?: TextStyleAnimationDescriptor;
|
|
6566
|
-
/**
|
|
6567
|
-
* `c:ser`/`c:dPt` picture-fill inputs for `c:pictureOptions` face
|
|
6568
|
-
* targeting (see `bar-chart-3d-face-fill.ts`). Always populated by
|
|
6569
|
-
* {@link buildBarChart3DData} (the chart's own series list); a hand-built
|
|
6570
|
-
* `BarChart3DSceneOptions` fixture may omit it, which keeps every box a
|
|
6571
|
-
* single uniform coloured material (the pre-existing behaviour).
|
|
6572
|
-
*/
|
|
6573
|
-
picture?: BarBoxPictureContext;
|
|
6574
|
-
}
|
|
6575
|
-
|
|
6576
6261
|
/**
|
|
6577
6262
|
* Axis labels for the right-angle-axes 3D bar chart
|
|
6578
6263
|
* (`chart-3d-oblique-layout.ts`), placed where PowerPoint puts them: off the
|
|
@@ -6914,166 +6599,6 @@ interface Chart3DPerspectiveProjection {
|
|
|
6914
6599
|
}
|
|
6915
6600
|
type Chart3DProjection = Chart3DObliqueProjection | Chart3DPerspectiveProjection;
|
|
6916
6601
|
|
|
6917
|
-
/**
|
|
6918
|
-
* `line3D`-specific entry point onto the shared cartesian line/area 3D data
|
|
6919
|
-
* shaping ({@link ./cartesian-line-chart-3d-data.ts}).
|
|
6920
|
-
*
|
|
6921
|
-
* @module line-chart-3d-data
|
|
6922
|
-
*/
|
|
6923
|
-
|
|
6924
|
-
type LineChart3DSceneOptions = CartesianLine3DSceneOptions;
|
|
6925
|
-
|
|
6926
|
-
/**
|
|
6927
|
-
* Pure geometry helpers for an interactive 3D `pie3D` chart scene, three-agnostic
|
|
6928
|
-
* so the wedge-angle / explosion / camera maths is unit-testable without
|
|
6929
|
-
* mocking WebGL.
|
|
6930
|
-
*
|
|
6931
|
-
* A pie chart has no category/series grid to speak of, so this module does NOT
|
|
6932
|
-
* reuse {@link ./cartesian-chart-3d-geom.ts} wholesale; it reuses only the
|
|
6933
|
-
* generic piece of that module that fits (the sphere camera placement,
|
|
6934
|
-
* {@link computeSphericalCameraPlacement}) and supplies pie-appropriate
|
|
6935
|
-
* siblings for the rest: a fixed disc radius, a thickness driven by the
|
|
6936
|
-
* authored `c:view3D/@hPercent` (height as a percentage of chart width - the
|
|
6937
|
-
* ECMA-376 field pie3D actually authors for its "puck" thickness, distinct
|
|
6938
|
-
* from `depthPercent` which only applies to cartesian 3D kinds), and per-slice
|
|
6939
|
-
* wedge angles that mirror the flat SVG engine's `computePieSlices` angle
|
|
6940
|
-
* bookkeeping (see `./chart-view-model.ts`) so the true-3D and 2D-fallback
|
|
6941
|
-
* presentations always agree on slice proportions, start angle, and explosion
|
|
6942
|
-
* direction.
|
|
6943
|
-
*
|
|
6944
|
-
* @module pie-chart-3d-geom
|
|
6945
|
-
*/
|
|
6946
|
-
|
|
6947
|
-
/** The `c:view3D` fields a pie3D scene's camera + wedge thickness care about. */
|
|
6948
|
-
interface PieChart3DView3D extends CartesianCameraView3D {
|
|
6949
|
-
/** Pie "puck" height as a percentage of chart width (`c:view3D/@hPercent`). */
|
|
6950
|
-
hPercent?: number;
|
|
6951
|
-
}
|
|
6952
|
-
/** One pie3D wedge's angle range + explosion pull-out direction. */
|
|
6953
|
-
interface PieChart3DSliceAngle {
|
|
6954
|
-
pointIndex: number;
|
|
6955
|
-
value: number;
|
|
6956
|
-
/**
|
|
6957
|
-
* Arc start angle in radians, in the SAME convention `computePieSlices`
|
|
6958
|
-
* uses (`-PI/2` = 12 o'clock, increasing clockwise-on-screen), passed
|
|
6959
|
-
* straight through to `THREE.CylinderGeometry`'s `thetaStart`. A
|
|
6960
|
-
* documented approximation of PowerPoint's own pie3D orientation, not a
|
|
6961
|
-
* claimed pixel-exact camera-frame match (mirrors this module's other
|
|
6962
|
-
* `c:view3D` maths).
|
|
6963
|
-
*/
|
|
6964
|
-
startAngle: number;
|
|
6965
|
-
/** Arc sweep in radians (`CylinderGeometry`'s `thetaLength`). */
|
|
6966
|
-
thetaLength: number;
|
|
6967
|
-
/** World-space [x, z] offset applied to the wedge centre for `c:explosion` pull-out. */
|
|
6968
|
-
explodeOffset: readonly [number, number];
|
|
6969
|
-
}
|
|
6970
|
-
|
|
6971
|
-
/**
|
|
6972
|
-
* Adapts a `pie3D` chart's `PptxChartData` into the wedge-mesh layout the
|
|
6973
|
-
* interactive 3D scene ({@link ./pie-chart-3d-scene.ts}, `createPieChart3DScene`)
|
|
6974
|
-
* needs to mount: one {@link PieChart3DWedge} per data point, positioned
|
|
6975
|
-
* around a shared centre in true 3D space.
|
|
6976
|
-
*
|
|
6977
|
-
* Colour resolution (`resolveVaryColorFill` / `paletteColor`) and explosion
|
|
6978
|
-
* resolution (`resolveDataPointExplosion`) are the SAME functions the flat
|
|
6979
|
-
* SVG oblique-projection pie3D engine uses (`buildPieViewModel` in
|
|
6980
|
-
* `./chart-view-model.ts`), so a pie3D chart's true-3D and 2D-fallback
|
|
6981
|
-
* presentations always agree on colour, value, and pull-out distance: one set
|
|
6982
|
-
* of chart maths, two presentations (mirrors {@link ./bar-chart-3d-data.ts}).
|
|
6983
|
-
*
|
|
6984
|
-
* @module pie-chart-3d-data
|
|
6985
|
-
*/
|
|
6986
|
-
|
|
6987
|
-
/** One resolved wedge mesh: angle range, explosion offset, colour, and tooltip data. */
|
|
6988
|
-
interface PieChart3DWedge extends PieChart3DSliceAngle {
|
|
6989
|
-
color: string;
|
|
6990
|
-
}
|
|
6991
|
-
/** Inputs the interactive pie3D scene needs to mount. */
|
|
6992
|
-
interface PieChart3DSceneOptions {
|
|
6993
|
-
wedges: PieChart3DWedge[];
|
|
6994
|
-
categoryLabels: ReadonlyArray<string>;
|
|
6995
|
-
seriesName: string | undefined;
|
|
6996
|
-
numberFormat: string | undefined;
|
|
6997
|
-
outerRadius: number;
|
|
6998
|
-
thickness: number;
|
|
6999
|
-
width: number;
|
|
7000
|
-
height: number;
|
|
7001
|
-
/** Authored `c:view3D` driving the initial camera + wedge thickness. */
|
|
7002
|
-
view3D?: PieChart3DView3D;
|
|
7003
|
-
/**
|
|
7004
|
-
* Series 0's raw values, `c:explosion` percentages (index-aligned with
|
|
7005
|
-
* `wedges`), and `c:firstSliceAng` - everything
|
|
7006
|
-
* `computePieChart3DSliceAngles` needs to recompute every wedge's angle
|
|
7007
|
-
* from a live-dragged value, so a value drag can renormalise the WHOLE
|
|
7008
|
-
* disc locally (rebuilding wedge geometry in the scene) rather than only
|
|
7009
|
-
* the dragged wedge.
|
|
7010
|
-
*/
|
|
7011
|
-
values: ReadonlyArray<number>;
|
|
7012
|
-
explosions: ReadonlyArray<number>;
|
|
7013
|
-
firstSliceAngleDeg: number | undefined;
|
|
7014
|
-
}
|
|
7015
|
-
|
|
7016
|
-
/** A value drag on a chart mark, in progress (`move`) or finished (`commit`). */
|
|
7017
|
-
interface ThreeViewDragDetail {
|
|
7018
|
-
part: ChartPartRef;
|
|
7019
|
-
value: number;
|
|
7020
|
-
phase: 'move' | 'commit';
|
|
7021
|
-
}
|
|
7022
|
-
/** Everything `<pptx-three-view>` can show; `kind` picks the lazily-loaded scene module. */
|
|
7023
|
-
type ThreeViewSpec = {
|
|
7024
|
-
kind: 'chart';
|
|
7025
|
-
spec: Chart3DSpec;
|
|
7026
|
-
} | {
|
|
7027
|
-
kind: 'smartart';
|
|
7028
|
-
spec: SmartArt3DModel;
|
|
7029
|
-
};
|
|
7030
|
-
|
|
7031
|
-
/**
|
|
7032
|
-
* three.js 3D surface-chart scene for `<pptx-three-view>` (framework-agnostic).
|
|
7033
|
-
*
|
|
7034
|
-
* Builds an interactive surface chart as a `<pptx-three-view>` scene: a
|
|
7035
|
-
* colour-displaced surface mesh (with optional wireframe), grid floor,
|
|
7036
|
-
* lights, an isometric camera, and DOM axis labels re-projected to screen
|
|
7037
|
-
* after each frame. Raycasts pointer moves against the mesh for a native
|
|
7038
|
-
* hover tooltip (see {@link ./surface-chart-3d-hit-test.ts}) and clicks/drags
|
|
7039
|
-
* for selection and value editing (see
|
|
7040
|
-
* {@link ./surface-chart-3d-interaction-wiring.ts}).
|
|
7041
|
-
*
|
|
7042
|
-
* @module surface-chart-3d-scene
|
|
7043
|
-
*/
|
|
7044
|
-
|
|
7045
|
-
/** Inputs describing the surface to render and its container size. */
|
|
7046
|
-
interface SurfaceChart3DSceneOptions {
|
|
7047
|
-
cols: number;
|
|
7048
|
-
rows: number;
|
|
7049
|
-
/** Normalised heights, row-major, length rows*cols, each in [0, 1]. */
|
|
7050
|
-
heightMap: Float32Array;
|
|
7051
|
-
/** Flat RGB triplets, length rows*cols*3, each channel in [0, 1]. */
|
|
7052
|
-
colorMap: Float32Array;
|
|
7053
|
-
/** Draw wireframe grid lines over the surface. */
|
|
7054
|
-
wireframe: boolean;
|
|
7055
|
-
categoryLabels: ReadonlyArray<string>;
|
|
7056
|
-
seriesNames: ReadonlyArray<string>;
|
|
7057
|
-
width: number;
|
|
7058
|
-
height: number;
|
|
7059
|
-
/** Device pixel-ratio cap. Default `2`. */
|
|
7060
|
-
maxPixelRatio?: number;
|
|
7061
|
-
/** Authored `c:view3D` rotation (`rotX`/`rotY`) driving the initial camera. */
|
|
7062
|
-
view3D?: SurfaceCameraView3D;
|
|
7063
|
-
/** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
|
|
7064
|
-
surfaceColors?: SurfaceWallColors;
|
|
7065
|
-
/**
|
|
7066
|
-
* Raw (un-normalised) values, row-major, length rows*cols. Feeds the
|
|
7067
|
-
* pointer-raycast hover tooltip (see {@link buildSurfaceHoverTooltip}); a
|
|
7068
|
-
* caller that omits it gets a mesh with no hover tooltip.
|
|
7069
|
-
*/
|
|
7070
|
-
values?: Float32Array;
|
|
7071
|
-
/** Per-series number-format codes, aligned to `seriesNames`. */
|
|
7072
|
-
numberFormats?: ReadonlyArray<string | undefined>;
|
|
7073
|
-
/** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
|
|
7074
|
-
textStyle?: TextStyleAnimationDescriptor;
|
|
7075
|
-
}
|
|
7076
|
-
|
|
7077
6602
|
/**
|
|
7078
6603
|
* The pure, three-free description of a 3D chart that `<pptx-three-view>`
|
|
7079
6604
|
* mounts (`kind: 'chart'`). Built from a chart element by
|
|
@@ -7111,30 +6636,8 @@ interface Chart3DPieGeometry {
|
|
|
7111
6636
|
kind: 'pie';
|
|
7112
6637
|
layout: PieChartLayout;
|
|
7113
6638
|
}
|
|
7114
|
-
/**
|
|
6639
|
+
/** A chart's 3D geometry; `null` when it has nothing to draw (no series or categories). */
|
|
7115
6640
|
type Chart3DGeometry = Chart3DObliqueGeometry | Chart3DPerspGeometry | Chart3DPieGeometry | null;
|
|
7116
|
-
/**
|
|
7117
|
-
* The perspective scene a chart falls back to when the oblique geometry does
|
|
7118
|
-
* not cover it (line/area/pie/surface, and a bar3D chart without right-angle
|
|
7119
|
-
* axes). Each is a hosted scene module from the
|
|
7120
|
-
* pre-`<pptx-three-view>` renderer, now drawn through the shared renderer.
|
|
7121
|
-
*/
|
|
7122
|
-
type Chart3DPerspectiveScene = {
|
|
7123
|
-
kind: 'bar';
|
|
7124
|
-
options: BarChart3DSceneOptions;
|
|
7125
|
-
} | {
|
|
7126
|
-
kind: 'line';
|
|
7127
|
-
options: LineChart3DSceneOptions;
|
|
7128
|
-
} | {
|
|
7129
|
-
kind: 'area';
|
|
7130
|
-
options: AreaChart3DSceneOptions;
|
|
7131
|
-
} | {
|
|
7132
|
-
kind: 'pie';
|
|
7133
|
-
options: PieChart3DSceneOptions;
|
|
7134
|
-
} | {
|
|
7135
|
-
kind: 'surface';
|
|
7136
|
-
options: SurfaceChart3DSceneOptions;
|
|
7137
|
-
};
|
|
7138
6641
|
interface Chart3DSpec {
|
|
7139
6642
|
/** The chart element the spec was built from (identity drives remounts). */
|
|
7140
6643
|
element: PptxElement;
|
|
@@ -7153,8 +6656,6 @@ interface Chart3DSpec {
|
|
|
7153
6656
|
geometry: Chart3DGeometry;
|
|
7154
6657
|
/** Category labels (authored, or 1..n when the chart has none). */
|
|
7155
6658
|
categoryLabels: readonly string[];
|
|
7156
|
-
/** The perspective scene used when `geometry` is `null`; `null` when neither applies (the 2D fallback stays). */
|
|
7157
|
-
perspective: Chart3DPerspectiveScene | null;
|
|
7158
6659
|
}
|
|
7159
6660
|
|
|
7160
6661
|
/**
|
|
@@ -11719,6 +11220,21 @@ interface CropSession {
|
|
|
11719
11220
|
absentInsets: readonly (keyof CropInsets)[];
|
|
11720
11221
|
}
|
|
11721
11222
|
|
|
11223
|
+
/** A value drag on a chart mark, in progress (`move`) or finished (`commit`). */
|
|
11224
|
+
interface ThreeViewDragDetail {
|
|
11225
|
+
part: ChartPartRef;
|
|
11226
|
+
value: number;
|
|
11227
|
+
phase: 'move' | 'commit';
|
|
11228
|
+
}
|
|
11229
|
+
/** Everything `<pptx-three-view>` can show; `kind` picks the lazily-loaded scene module. */
|
|
11230
|
+
type ThreeViewSpec = {
|
|
11231
|
+
kind: 'chart';
|
|
11232
|
+
spec: Chart3DSpec;
|
|
11233
|
+
} | {
|
|
11234
|
+
kind: 'smartart';
|
|
11235
|
+
spec: SmartArt3DModel;
|
|
11236
|
+
};
|
|
11237
|
+
|
|
11722
11238
|
/**
|
|
11723
11239
|
* Minimal GIF89a encoder (pure JS, no external dependency) plus pure
|
|
11724
11240
|
* frame-planning helpers — shared by the React, Vue, and Angular bindings.
|
|
@@ -24800,7 +24316,7 @@ declare class AccountPageComponent {
|
|
|
24800
24316
|
readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
|
|
24801
24317
|
private readonly translate;
|
|
24802
24318
|
protected readonly swatches: readonly string[];
|
|
24803
|
-
protected readonly version = "4.
|
|
24319
|
+
protected readonly version = "4.10.1";
|
|
24804
24320
|
protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
|
|
24805
24321
|
protected readonly initial: _angular_core.Signal<string>;
|
|
24806
24322
|
protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
|