pptx-angular-viewer 4.1.5 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, 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, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, PptxGridSpacing, ChartPptxElement, RenderedNode, RenderedCircleNode, RenderedPolygonNode, RenderedRectNode, SmartArtLayoutResult, Model3DPptxElement, ZoomPptxElement, SmartArtPptxElement, PptxAnimationTimelineAnchor, MaterialPresetType, Text3DStyle, BevelPresetType, PptxBar3DShape, PptxChartDataLabelOptions, PptxChartAxisType, PptxChartAxisFormatting, PptxChartMarker, PptxChartDataPoint, PptxChartTrendline, PptxChartErrBars, PptxTextStyleLevels, SignatureStatus, ElementAction, PptxImageEffects, MediaBookmark, ColorMapAliasKey, ChartAxisEdit, ChartDataPointLabelEdit, PptxChartLegendPosition, PptxChartStyle, ChartAxisTitleStyleEdit, PptxChartMarkerSymbol, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, PptxLayoutPreview, MediaCaptionTrack, PptxMediaType } from 'pptx-viewer-core';
2
+ import { PptxThemePreset, PptxElement, PptxSlide, ShapeStyle, PptxTextWarpPreset, XmlObject, PptxChartSeries, PptxChartLegendTextStyle, PptxChartMarkerSymbol, PptxChartDataPointPicture, PptxChartData, PptxChartDataLabelPosition, PptxChartType, PptxElementAnimation, PptxAnimationPreset, PptxAnimationSequence, PptxAnimationTrigger, PptxAnimationTimingCurve, PptxAnimationRepeatMode, PptxAnimationDirection, PptxAfterAnimationAction, ParsedTableStyleMap, PptxThemeColorScheme, PptxThemeFontScheme, TablePptxElement, PptxSection, OlePptxElement, TextSegment, TextStyle, PptxTransitionType, PptxSlideTransition, PptxBar3DShape, SmartArtLayoutType, SmartArtColorScheme, PptxSmartArtChrome, PptxSmartArtDrawingShape, 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, PptxTableCell, PptxTableCellStyle, PptxTableRow, PptxTableData, SvgExportOptions, 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, ChartGridlineStyleEdit, PptxSmartArtNode, PptxSmartArtNodeStyle, PptxLayoutPreview, 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';
@@ -1539,6 +1539,71 @@ interface ChartViewModel {
1539
1539
  defs?: ChartSvgDef[];
1540
1540
  }
1541
1541
 
1542
+ /**
1543
+ * chart-datapoint-style.ts: framework-agnostic resolution of per-data-point
1544
+ * formatting overrides (`c:dPt`).
1545
+ *
1546
+ * A chart series may override the appearance of individual data points: a
1547
+ * per-point fill colour, or (for pie/doughnut) a slice "explosion" pull-out
1548
+ * distance. These helpers resolve the effective value for a given point index,
1549
+ * falling back to the series-level default, so every binding (React/Vue/Angular)
1550
+ * can render edited per-point formatting identically without re-implementing the
1551
+ * lookup.
1552
+ *
1553
+ * @module chart-datapoint-style
1554
+ */
1555
+
1556
+ /** Minimal shape props subset needed to resolve a point fill. */
1557
+ interface PointShapeProps {
1558
+ fillColor?: string;
1559
+ }
1560
+ /** Minimal marker shape consumed here (mirrors `PptxChartMarker`). */
1561
+ interface ChartMarkerLike {
1562
+ symbol?: PptxChartMarkerSymbol;
1563
+ size?: number;
1564
+ spPr?: PointShapeProps;
1565
+ }
1566
+ /** Minimal data-point shape consumed here (mirrors `PptxChartDataPoint`). */
1567
+ interface ChartDataPointLike {
1568
+ idx: number;
1569
+ spPr?: PointShapeProps;
1570
+ explosion?: number;
1571
+ marker?: ChartMarkerLike;
1572
+ picture?: PptxChartDataPointPicture;
1573
+ /**
1574
+ * A picture fill implied by a bare `c:dPt/c:spPr/a:blipFill` with no
1575
+ * sibling `c:pictureOptions` (mirrors `PptxChartDataPoint.impliedPicture`).
1576
+ * {@link resolveActiveDataPointPicture} falls back to this only when
1577
+ * {@link picture} did not resolve an image of its own.
1578
+ */
1579
+ impliedPicture?: PptxChartDataPointPicture;
1580
+ }
1581
+ /** Minimal series shape consumed here (mirrors `PptxChartSeries`). */
1582
+ interface ChartSeriesLike {
1583
+ color?: string;
1584
+ marker?: ChartMarkerLike;
1585
+ dataPoints?: ChartDataPointLike[];
1586
+ /**
1587
+ * This series' `c:ser/c:idx/@val` (mirrors `PptxChartSeries.idx`). Used to
1588
+ * key the automatic marker-symbol cycle so a chart with non-sequential or
1589
+ * gapped indices (a deleted/filtered series) still lands on the same shape
1590
+ * PowerPoint does; falls back to the caller-supplied array position when
1591
+ * absent.
1592
+ */
1593
+ idx?: number;
1594
+ /**
1595
+ * Series-level picture-fill flags (`c:ser/c:pictureOptions`): paints every
1596
+ * point in the series with one picture unless a `c:dPt` resolves its own
1597
+ * (see {@link resolveActiveDataPointPicture}).
1598
+ */
1599
+ picture?: PptxChartDataPointPicture;
1600
+ /**
1601
+ * A picture fill implied by a bare `c:ser/c:spPr/a:blipFill` with no
1602
+ * sibling `c:pictureOptions` (mirrors `PptxChartSeries.impliedPicture`).
1603
+ */
1604
+ impliedPicture?: PptxChartDataPointPicture;
1605
+ }
1606
+
1542
1607
  /**
1543
1608
  * chart-legend-build.ts: builds the base `LegendEntry[]` (colour + label +
1544
1609
  * optional line-style swatch) and the legend's anchor position for a chart
@@ -5728,6 +5793,725 @@ declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* \u2500\u2500 Conveyor (transl
5728
5793
  */
5729
5794
  declare function getP14TransitionAnimations(type: PptxTransitionType, durationMs: number, direction: string | undefined, orient?: string | undefined, pattern?: string | undefined): SlideTransitionAnimations | undefined;
5730
5795
 
5796
+ /**
5797
+ * Three.js SmartArt renderer - pure model types (phase 1: extruded layouts).
5798
+ *
5799
+ * These describe a framework-agnostic, three.js-agnostic 3D scene derived from
5800
+ * the 2D {@link SmartArtLayoutResult}. The pure model is built by
5801
+ * `buildSmartArt3DModel` (no `three` import, fully testable) and consumed by the
5802
+ * vanilla-three scene builder under `pptx-viewer-shared/smartart-3d`, which is
5803
+ * shared verbatim by the React, Vue, and Angular bindings.
5804
+ *
5805
+ * Coordinate convention: world space is y-up, centred on the origin, with the
5806
+ * front face of every extruded block facing +z. Layout (SVG) space is y-down
5807
+ * with the origin at the top-left; the model builder performs the flip.
5808
+ */
5809
+ /** A point in the world's XZ-agnostic 2D outline space (y-up). */
5810
+ interface Point2 {
5811
+ x: number;
5812
+ y: number;
5813
+ }
5814
+ /** A world-space position (y-up). */
5815
+ interface Vec3 {
5816
+ x: number;
5817
+ y: number;
5818
+ z: number;
5819
+ }
5820
+ /**
5821
+ * A single extruded shape (one SmartArt node) in the 3D scene.
5822
+ *
5823
+ * The {@link outline} is a closed polygon centred on the mesh's own origin
5824
+ * (y-up); the scene builder extrudes it by {@link depth} along +z and positions
5825
+ * the result at {@link position}.
5826
+ */
5827
+ interface SmartArt3DMesh {
5828
+ id: string;
5829
+ /** Closed 2D outline to extrude, centred on the mesh origin (y-up). */
5830
+ outline: Point2[];
5831
+ /**
5832
+ * Additional closed loops cut out of {@link outline} as holes (e.g. a
5833
+ * compound custom-geometry shape), in the same mesh-local space. Empty for
5834
+ * the common single-loop case.
5835
+ */
5836
+ holes?: Point2[][];
5837
+ /** Hint that the outline approximates a circle (drives tessellation). */
5838
+ rounded: boolean;
5839
+ /** Extrusion depth along +z, in layout pixels. */
5840
+ depth: number;
5841
+ /** Bevel size; 0 disables bevelling. */
5842
+ bevel: number;
5843
+ /**
5844
+ * True when this mesh should render as a flat, unlit, zero-depth face
5845
+ * (`ShapeGeometry`) rather than an extruded/bevelled solid
5846
+ * (`ExtrudeGeometry`), matching a PowerPoint flat SmartArt quick style.
5847
+ */
5848
+ flat?: boolean;
5849
+ /** Fill colour, `#rrggbb`. Ignored (nothing painted) when {@link fillNone}. */
5850
+ fill: string;
5851
+ /**
5852
+ * The source shape declared `a:noFill`: paint nothing, but the mesh may
5853
+ * still carry a {@link textBlock} (SmartArt commonly stacks an unfilled
5854
+ * label shape over a painted one).
5855
+ */
5856
+ fillNone?: boolean;
5857
+ /** Resolved data-URI/URL of a picture fill, when the source shape has one (not yet textured). */
5858
+ imageUrl?: string;
5859
+ /** Edge/stroke colour, `#rrggbb`. */
5860
+ stroke: string;
5861
+ /** Stroke width in layout pixels (0 = no visible edge line). */
5862
+ strokeWidth: number;
5863
+ /** Mesh opacity, 0..1. */
5864
+ opacity: number;
5865
+ /** World-space centre of the mesh (y-up, z = 0 base plane). */
5866
+ position: Vec3;
5867
+ /**
5868
+ * Euler rotation (radians, XYZ order) applied to the mesh. `{0,0,0}` for the
5869
+ * extruded (phase 1) layout and the flat drawing-shape model (rotation is
5870
+ * baked into {@link outline} there); spatial layouts (e.g. the cycle
5871
+ * carousel) rotate blocks to face along the arrangement.
5872
+ */
5873
+ rotation: Vec3;
5874
+ /** Text label drawn on the front (+z) face (single string; legacy consumers). */
5875
+ text: string;
5876
+ /**
5877
+ * Pre-laid-out multi-line text matching the 2D SVG projection. Preferred
5878
+ * over {@link text} when present.
5879
+ */
5880
+ textBlock?: SmartArt3DTextBlock;
5881
+ /** Text colour, `#rrggbb`. */
5882
+ textColor: string;
5883
+ /** Font size in layout pixels. */
5884
+ fontSize: number;
5885
+ /** Half-width of the footprint (for sizing the text plane). */
5886
+ halfWidth: number;
5887
+ /** Half-height of the footprint. */
5888
+ halfHeight: number;
5889
+ }
5890
+ /**
5891
+ * A multi-line text label, pre-laid-out to match the 2D SVG projection
5892
+ * (`centeredSvgTextLines`), for the renderer to draw onto a texture/plane
5893
+ * rather than re-wrapping text itself.
5894
+ */
5895
+ interface SmartArt3DTextBlock {
5896
+ /** One entry per line; `dy` is the line's offset from the block centre (y-up, layout px). */
5897
+ lines: Array<{
5898
+ text: string;
5899
+ dy: number;
5900
+ }>;
5901
+ /** World-space centre of the text block. */
5902
+ x: number;
5903
+ y: number;
5904
+ z: number;
5905
+ /** Available width/height for the block, in layout pixels. */
5906
+ maxWidth: number;
5907
+ maxHeight: number;
5908
+ /** Text colour, `#rrggbb`. */
5909
+ color: string;
5910
+ /** Font size in layout pixels. */
5911
+ fontSize: number;
5912
+ fontFamily?: string;
5913
+ fontWeight?: number;
5914
+ fontStyle?: 'normal' | 'italic';
5915
+ }
5916
+ /** A connector poly-line drawn between meshes on the base plane. */
5917
+ interface SmartArt3DConnector {
5918
+ id: string;
5919
+ /** World-space points (y-up). */
5920
+ points: Vec3[];
5921
+ /** Line colour, `#rrggbb`. */
5922
+ color: string;
5923
+ /** Line width in layout pixels. */
5924
+ width: number;
5925
+ }
5926
+ /** Camera-framing bounds of the whole model, in layout pixels. */
5927
+ interface SmartArt3DBounds {
5928
+ width: number;
5929
+ height: number;
5930
+ }
5931
+ /** The layout family the model was built from (drives the spatial transform). */
5932
+ type SmartArt3DFamily = 'list' | 'process' | 'cycle' | 'hierarchy' | 'matrix' | 'radial' | 'pyramid' | 'venn' | 'funnel' | 'target';
5933
+ /**
5934
+ * Which PowerPoint quick-style family this model was built for, so the scene
5935
+ * builder can pick the right camera/shading/geometry pipeline: `'flat'`
5936
+ * (unlit, zero-depth, orthographic matching the 2D viewBox), `'bevel'`
5937
+ * (per-shape `orthographicFront` camera + `shape3d` bevel/material, not yet
5938
+ * built by any model builder), or `'scene'` (one whole-diagram camera from
5939
+ * the quick style, not yet built). Undefined for the legacy layout-engine
5940
+ * model (`buildSmartArt3DModel`), which predates this distinction.
5941
+ */
5942
+ type SmartArt3DStyleCategory = 'flat' | 'bevel' | 'scene';
5943
+ /** The complete pure 3D model for one SmartArt element. */
5944
+ interface SmartArt3DModel {
5945
+ meshes: SmartArt3DMesh[];
5946
+ connectors: SmartArt3DConnector[];
5947
+ bounds: SmartArt3DBounds;
5948
+ /** Layout family, used to choose a spatial arrangement. */
5949
+ family?: SmartArt3DFamily;
5950
+ /** Optional background chrome colour, `#rrggbb`. */
5951
+ background?: string;
5952
+ /** See {@link SmartArt3DStyleCategory}. */
5953
+ styleCategory?: SmartArt3DStyleCategory;
5954
+ }
5955
+
5956
+ /**
5957
+ * Pure surface-chart 3D geometry helpers (framework- and three-agnostic).
5958
+ *
5959
+ * The hosted surface scene ({@link createSurfaceChart3DScene}) feeds these
5960
+ * the `three` module `<pptx-three-view>` loaded, so the library stays an
5961
+ * optional import while the grid maths (plane subdivision -> height/colour displacement,
5962
+ * world-space label anchors) lives here as small, separately testable units.
5963
+ */
5964
+
5965
+ /** The `c:view3D` fields the camera placement cares about. */
5966
+ interface SurfaceCameraView3D {
5967
+ /** X-axis rotation in degrees (-90...90); PowerPoint's "elevation". */
5968
+ rotX?: number;
5969
+ /** Y-axis rotation in degrees (0...360); PowerPoint's "rotation". */
5970
+ rotY?: number;
5971
+ }
5972
+
5973
+ /** The `c:view3D` fields a cartesian 3D scene's camera placement cares about. */
5974
+ interface CartesianCameraView3D {
5975
+ /** X-axis rotation in degrees (-90...90); PowerPoint's "elevation". */
5976
+ rotX?: number;
5977
+ /** Y-axis rotation in degrees (0...360); PowerPoint's "rotation". */
5978
+ rotY?: number;
5979
+ /** Perspective angle in degrees (0...240, `c:view3D/c:perspective`). Ignored when `rAngAx` is set. */
5980
+ rperspective?: number;
5981
+ /** Chart depth as a percentage of base width (`c:view3D/@depthPercent`). */
5982
+ depthPercent?: number;
5983
+ /** Right-angle axes (`c:view3D/@rAngAx`): PowerPoint renders near-orthographically. */
5984
+ rAngAx?: boolean;
5985
+ }
5986
+
5987
+ /** One path vertex, positioned in true 3D world space. */
5988
+ interface CartesianLine3DVertex {
5989
+ seriesIndex: number;
5990
+ categoryIndex: number;
5991
+ value: number;
5992
+ position: readonly [number, number, number];
5993
+ }
5994
+ /** One series' full 3D path: its depth plane + ordered (by category) vertices. */
5995
+ interface CartesianLine3DSeriesPath {
5996
+ seriesIndex: number;
5997
+ color: string;
5998
+ vertices: CartesianLine3DVertex[];
5999
+ /** World Z this series' depth plane sits at. */
6000
+ depthZ: number;
6001
+ /** World Y for value = 0 on this plane (area3D ribbon baseline / floor). */
6002
+ baselineY: number;
6003
+ }
6004
+
6005
+ /**
6006
+ * Floor/side-wall/back-wall backdrop planes for an interactive 3D chart scene.
6007
+ *
6008
+ * `c:floor`, `c:sideWall`, and `c:backWall` are parsed onto `PptxChartData`
6009
+ * but, before this module, only the flat SVG isometric renderer painted
6010
+ * them; a WebGL scene showed a fixed grey `GridHelper` regardless of what
6011
+ * was authored. Each authored surface becomes one semi-transparent plane
6012
+ * mesh so the interactive view agrees with the SVG one. A surface with no
6013
+ * authored fill colour gets no plane, so an untouched chart's WebGL scene is
6014
+ * unchanged.
6015
+ *
6016
+ * Shared by every interactive chart scene that has a category/series grid to
6017
+ * wall in: the surface chart ({@link ./surface-chart-3d-scene.ts}) and the
6018
+ * cartesian bar3D scene ({@link ./bar-chart-3d-scene.ts}), and (pending
6019
+ * follow-up) line3D/area3D. Each caller passes its OWN grid extent (a
6020
+ * cartesian chart's depth axis is scaled by `c:view3D/@depthPercent`, unlike
6021
+ * the surface chart's 1:1 row spacing), so this module never recomputes an
6022
+ * extent that could disagree with the caller's own mesh layout.
6023
+ *
6024
+ * @module surface-chart-3d-walls
6025
+ */
6026
+
6027
+ /** `c:floor`/`c:sideWall`/`c:backWall` fill colours (`#RRGGBB`), when authored. */
6028
+ interface SurfaceWallColors {
6029
+ floor?: string;
6030
+ sideWall?: string;
6031
+ backWall?: string;
6032
+ }
6033
+
6034
+ /**
6035
+ * Shared point/series data-shaping for the interactive `line3D` and `area3D`
6036
+ * true-3D scenes ({@link ./line-chart-3d-data.ts}, {@link ./area-chart-3d-data.ts}).
6037
+ *
6038
+ * Both chart kinds share IDENTICAL per-series depth-plane geometry (see
6039
+ * {@link ./cartesian-line-chart-3d-layout.ts}): the only difference is
6040
+ * presentation, line3D draws a tube along each series' path, area3D
6041
+ * additionally fills a ribbon from that path down to its baseline. Colour
6042
+ * resolution (`seriesColor` / `resolveDataPointFill`) and value-range maths
6043
+ * (`computeValueRange`) are the SAME functions the flat SVG oblique-projection
6044
+ * engine uses ({@link ./chart-cartesian-line-area.ts}), so a chart's true-3D
6045
+ * and 2D-fallback presentations always agree on colour and scale (mirrors
6046
+ * {@link ./bar-chart-3d-data.ts}).
6047
+ *
6048
+ * @module cartesian-line-chart-3d-data
6049
+ */
6050
+
6051
+ /** Inputs the interactive line3D/area3D scene needs to mount. */
6052
+ interface CartesianLine3DSceneOptions {
6053
+ cols: number;
6054
+ rows: number;
6055
+ series: CartesianLine3DSeriesPath[];
6056
+ categoryLabels: ReadonlyArray<string>;
6057
+ seriesNames: ReadonlyArray<string>;
6058
+ numberFormats?: ReadonlyArray<string | undefined>;
6059
+ width: number;
6060
+ height: number;
6061
+ /** Authored `c:view3D` driving the initial camera + depth extent. */
6062
+ view3D?: CartesianCameraView3D;
6063
+ /** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
6064
+ wallColors?: SurfaceWallColors;
6065
+ /** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
6066
+ textStyle?: TextStyleAnimationDescriptor;
6067
+ }
6068
+
6069
+ /**
6070
+ * `area3D`-specific entry point onto the shared cartesian line/area 3D data
6071
+ * shaping ({@link ./cartesian-line-chart-3d-data.ts}).
6072
+ *
6073
+ * @module area-chart-3d-data
6074
+ */
6075
+
6076
+ type AreaChart3DSceneOptions = CartesianLine3DSceneOptions;
6077
+
6078
+ /**
6079
+ * Box-mesh layout maths for the interactive `bar3D` scene
6080
+ * ({@link ./bar-chart-3d-data.ts}). Split out of that module to stay under the
6081
+ * repo's ~300-LOC file cap.
6082
+ *
6083
+ * Clustered layout gives every series its own depth ("Z") plane, side by
6084
+ * side along the series axis, matching PowerPoint's real 3-D Column chart.
6085
+ * Stacked/percentStacked keeps every series coplanar (one Z plane) and
6086
+ * stacks segments vertically, matching the flat engine's
6087
+ * `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
6088
+ * per-series depth stagger; only clustered does).
6089
+ *
6090
+ * @module bar-chart-3d-layout
6091
+ */
6092
+
6093
+ /** One box mesh: world-space center + size (width=X, height=Y, depth=Z). */
6094
+ interface BarChart3DBox {
6095
+ seriesIndex: number;
6096
+ categoryIndex: number;
6097
+ value: number;
6098
+ color: string;
6099
+ center: readonly [number, number, number];
6100
+ size: readonly [number, number, number];
6101
+ /** See {@link CartesianChart3DPoint.shape}. */
6102
+ shape?: PptxBar3DShape;
6103
+ /**
6104
+ * `coneToMax` / `pyramidToMax` only: the mesh's top radius as a fraction
6105
+ * (0-1) of its base radius, so the geometry looks like a slice of one
6106
+ * imaginary cone/pyramid whose apex sits exactly at the value-axis
6107
+ * maximum: `0` (a full point) when this box's value equals the axis max,
6108
+ * approaching `1` (nearly cylindrical) as the value approaches zero.
6109
+ */
6110
+ coneToMaxTopRadiusFactor?: number;
6111
+ }
6112
+
6113
+ /**
6114
+ * bar-chart-3d-materials.ts: turns {@link resolveBarBoxFaceFills}'s (or, for a
6115
+ * round shape, {@link resolveBarRoundFaceFills}'s) pure per-face fill
6116
+ * descriptors into the actual `THREE.Material`(s) for one bar3D mesh, loading
6117
+ * `c:pictureOptions` picture-fill textures asynchronously.
6118
+ *
6119
+ * A mesh with no picture fill anywhere keeps the pre-existing single uniform
6120
+ * `MeshPhongMaterial` (no behaviour change, no texture-loader overhead) - see
6121
+ * {@link resolveBarBoxFaceFills}/{@link resolveBarRoundFaceFills}'s own "all
6122
+ * plain colour" fast path. Once a picture is resolved for at least one face,
6123
+ * this always builds a face-material array (a 6-entry array in three's own
6124
+ * `BoxGeometry` per-face order, `+x,-x,+y,-y,+z,-z`, for a `box`; a 3-entry
6125
+ * array in `CylinderGeometry`/`ConeGeometry`'s own material-group order,
6126
+ * lateral surface/top cap/bottom cap, for a round shape), even for faces that
6127
+ * stay plain-coloured, since a `THREE.Mesh` cannot mix a single material with
6128
+ * a per-face array on the same geometry.
6129
+ *
6130
+ * Texture loads are async: every picture-targeted face mounts with a plain
6131
+ * white `MeshPhongMaterial` (so the box is never invisible/black while
6132
+ * loading) and swaps in `material.map` once the image decodes. The scene's
6133
+ * own render loop is continuous (`requestAnimationFrame` every frame, not
6134
+ * on-demand), so the swapped-in texture appears on the very next frame with
6135
+ * no extra "re-render" plumbing needed here.
6136
+ *
6137
+ * @module bar-chart-3d-materials
6138
+ */
6139
+
6140
+ /** `c:ser`/`c:dPt` picture-fill inputs threaded into the interactive bar3D scene. */
6141
+ interface BarBoxPictureContext {
6142
+ series: ReadonlyArray<ChartSeriesLike>;
6143
+ }
6144
+
6145
+ /**
6146
+ * Adapts a `bar3D` chart's `PptxChartData` into the box-mesh layout the
6147
+ * interactive 3D scene ({@link ./bar-chart-3d-scene.ts}, `createBarChart3DScene`)
6148
+ * needs to mount: one {@link BarChart3DBox} per (series, category) data point,
6149
+ * positioned in true 3D space (category = X, value = Y, series = Z/depth for
6150
+ * the default vertical `c:barDir val="col"`; a horizontal `val="bar"` chart
6151
+ * remaps every box center into value = X, category = Y, series unchanged on
6152
+ * Z, see `layoutBarChart3D`'s `horizontal` flag and `BarChart3DSceneOptions
6153
+ * .horizontal`).
6154
+ *
6155
+ * Colour resolution (`seriesColor` / `resolveDataPointFill`) and value-range
6156
+ * maths (`computeValueRange` / `computeStackedValueRange`) are the SAME
6157
+ * functions the flat SVG oblique-projection engine uses
6158
+ * ({@link ./chart-cartesian-bars.ts}), so a bar3D chart's true-3D and 2D-
6159
+ * fallback presentations always agree on colour and scale: one set of chart
6160
+ * maths, two presentations (mirrors {@link ./surface-chart-3d-data.ts}).
6161
+ *
6162
+ * Clustered layout gives every series its own depth ("Z") plane, side by
6163
+ * side along the series axis, matching PowerPoint's real 3-D Column chart.
6164
+ * Stacked/percentStacked keeps every series coplanar (one Z plane) and
6165
+ * stacks segments vertically, matching the flat engine's
6166
+ * `chart-bar3d-series-depth.ts` semantics (a stacked 3D column has no
6167
+ * per-series depth stagger; only clustered does).
6168
+ *
6169
+ * @module bar-chart-3d-data
6170
+ */
6171
+
6172
+ /** Inputs the interactive bar3D scene needs to mount. */
6173
+ interface BarChart3DSceneOptions {
6174
+ cols: number;
6175
+ rows: number;
6176
+ boxes: BarChart3DBox[];
6177
+ categoryLabels: ReadonlyArray<string>;
6178
+ seriesNames: ReadonlyArray<string>;
6179
+ numberFormats?: ReadonlyArray<string | undefined>;
6180
+ grouping: 'clustered' | 'stacked' | 'percentStacked';
6181
+ width: number;
6182
+ height: number;
6183
+ /** Authored `c:view3D` driving the initial camera + depth extent. */
6184
+ view3D?: CartesianCameraView3D;
6185
+ /** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
6186
+ wallColors?: SurfaceWallColors;
6187
+ /**
6188
+ * `c:barDir val="bar"`: a horizontal 3-D Bar chart. Box centers are already
6189
+ * remapped into the horizontal frame (see `layoutBarChart3D`); the scene
6190
+ * mounter uses this flag only to rotate every box mesh `-Math.PI / 2` about
6191
+ * Z so non-box shapes (cylinder/cone/pyramid) keep a true cross-section.
6192
+ */
6193
+ horizontal?: boolean;
6194
+ /** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
6195
+ textStyle?: TextStyleAnimationDescriptor;
6196
+ /**
6197
+ * `c:ser`/`c:dPt` picture-fill inputs for `c:pictureOptions` face
6198
+ * targeting (see `bar-chart-3d-face-fill.ts`). Always populated by
6199
+ * {@link buildBarChart3DData} (the chart's own series list); a hand-built
6200
+ * `BarChart3DSceneOptions` fixture may omit it, which keeps every box a
6201
+ * single uniform coloured material (the pre-existing behaviour).
6202
+ */
6203
+ picture?: BarBoxPictureContext;
6204
+ }
6205
+
6206
+ /**
6207
+ * chart-3d-projection.ts: resolve a chart's `c:view3D` into the projection
6208
+ * PowerPoint actually draws it with.
6209
+ *
6210
+ * PowerPoint's 3D charts use ONE of two fundamentally different projections,
6211
+ * picked by `c:view3D/@rAngAx` ("right angle axes"):
6212
+ *
6213
+ * - `rAngAx=1` (bar3D's own default, verified against `gt/chart-01.webp`):
6214
+ * an OBLIQUE (cavalier-style) parallel projection. The front-facing plot
6215
+ * (axes, gridlines, front face of every mark) is drawn perfectly flat and
6216
+ * undistorted, exactly like the 2D chart; only each mark's own depth
6217
+ * ("thickness") recedes along a fixed screen-space direction set by
6218
+ * `rotX`/`rotY`. This is the SAME depth vector the flat 2D fallback already
6219
+ * computes (`chart-3d-depth.ts#computeDepthVector`); this module exposes it
6220
+ * as a unitless per-world-Z shear so a true WebGL scene's camera can
6221
+ * reproduce it exactly instead of hand-drawn 2D parallelograms.
6222
+ * - `rAngAx=0` (line3D/area3D/pie3D/surface's own default, verified against
6223
+ * `gt/chart-10.webp` and `gt/chart-16.webp`, which both show a genuine
6224
+ * receding 3-axis box: category/series gridlines converge, unlike the
6225
+ * orthogonal bar3D case): a real PERSPECTIVE camera, elevation `rotX`,
6226
+ * azimuth `rotY`, field of view from `c:view3D/c:perspective`.
6227
+ *
6228
+ * Absent `rAngAx` defaults to PowerPoint's own per-chart-type default:
6229
+ * `true` for `bar3D`, `false` for everything else. `pie3D`'s own rotX/rotY
6230
+ * defaults (30/0, "tilt" with no azimuth) differ from every other 3D chart
6231
+ * type's (15/20), matching PowerPoint's Insert Chart gallery defaults.
6232
+ *
6233
+ * @module chart-3d-projection
6234
+ */
6235
+
6236
+ /** `rAngAx=1`: flat front faces, marks recede along a fixed screen-space shear. */
6237
+ interface Chart3DObliqueProjection {
6238
+ mode: 'oblique';
6239
+ /** World-X screen shift per world unit of depth (receding into the scene). */
6240
+ shearX: number;
6241
+ /** World-Y screen shift per world unit of depth. */
6242
+ shearY: number;
6243
+ rotXDeg: number;
6244
+ rotYDeg: number;
6245
+ }
6246
+ /** `rAngAx=0`: a real perspective camera framing the whole 3D grid. */
6247
+ interface Chart3DPerspectiveProjection {
6248
+ mode: 'perspective';
6249
+ /** Elevation in degrees (`c:view3D/@rotX`, -90..90). */
6250
+ rotXDeg: number;
6251
+ /** Azimuth in degrees (`c:view3D/@rotY`, 0..360). */
6252
+ rotYDeg: number;
6253
+ /** Resolved vertical field of view in degrees. */
6254
+ fovDeg: number;
6255
+ }
6256
+ type Chart3DProjection = Chart3DObliqueProjection | Chart3DPerspectiveProjection;
6257
+
6258
+ /**
6259
+ * `line3D`-specific entry point onto the shared cartesian line/area 3D data
6260
+ * shaping ({@link ./cartesian-line-chart-3d-data.ts}).
6261
+ *
6262
+ * @module line-chart-3d-data
6263
+ */
6264
+
6265
+ type LineChart3DSceneOptions = CartesianLine3DSceneOptions;
6266
+
6267
+ /**
6268
+ * Pure geometry helpers for an interactive 3D `pie3D` chart scene, three-agnostic
6269
+ * so the wedge-angle / explosion / camera maths is unit-testable without
6270
+ * mocking WebGL.
6271
+ *
6272
+ * A pie chart has no category/series grid to speak of, so this module does NOT
6273
+ * reuse {@link ./cartesian-chart-3d-geom.ts} wholesale; it reuses only the
6274
+ * generic piece of that module that fits (the sphere camera placement,
6275
+ * {@link computeSphericalCameraPlacement}) and supplies pie-appropriate
6276
+ * siblings for the rest: a fixed disc radius, a thickness driven by the
6277
+ * authored `c:view3D/@hPercent` (height as a percentage of chart width - the
6278
+ * ECMA-376 field pie3D actually authors for its "puck" thickness, distinct
6279
+ * from `depthPercent` which only applies to cartesian 3D kinds), and per-slice
6280
+ * wedge angles that mirror the flat SVG engine's `computePieSlices` angle
6281
+ * bookkeeping (see `./chart-view-model.ts`) so the true-3D and 2D-fallback
6282
+ * presentations always agree on slice proportions, start angle, and explosion
6283
+ * direction.
6284
+ *
6285
+ * @module pie-chart-3d-geom
6286
+ */
6287
+
6288
+ /** The `c:view3D` fields a pie3D scene's camera + wedge thickness care about. */
6289
+ interface PieChart3DView3D extends CartesianCameraView3D {
6290
+ /** Pie "puck" height as a percentage of chart width (`c:view3D/@hPercent`). */
6291
+ hPercent?: number;
6292
+ }
6293
+ /** One pie3D wedge's angle range + explosion pull-out direction. */
6294
+ interface PieChart3DSliceAngle {
6295
+ pointIndex: number;
6296
+ value: number;
6297
+ /**
6298
+ * Arc start angle in radians, in the SAME convention `computePieSlices`
6299
+ * uses (`-PI/2` = 12 o'clock, increasing clockwise-on-screen), passed
6300
+ * straight through to `THREE.CylinderGeometry`'s `thetaStart`. A
6301
+ * documented approximation of PowerPoint's own pie3D orientation, not a
6302
+ * claimed pixel-exact camera-frame match (mirrors this module's other
6303
+ * `c:view3D` maths).
6304
+ */
6305
+ startAngle: number;
6306
+ /** Arc sweep in radians (`CylinderGeometry`'s `thetaLength`). */
6307
+ thetaLength: number;
6308
+ /** World-space [x, z] offset applied to the wedge centre for `c:explosion` pull-out. */
6309
+ explodeOffset: readonly [number, number];
6310
+ }
6311
+
6312
+ /**
6313
+ * Adapts a `pie3D` chart's `PptxChartData` into the wedge-mesh layout the
6314
+ * interactive 3D scene ({@link ./pie-chart-3d-scene.ts}, `createPieChart3DScene`)
6315
+ * needs to mount: one {@link PieChart3DWedge} per data point, positioned
6316
+ * around a shared centre in true 3D space.
6317
+ *
6318
+ * Colour resolution (`resolveVaryColorFill` / `paletteColor`) and explosion
6319
+ * resolution (`resolveDataPointExplosion`) are the SAME functions the flat
6320
+ * SVG oblique-projection pie3D engine uses (`buildPieViewModel` in
6321
+ * `./chart-view-model.ts`), so a pie3D chart's true-3D and 2D-fallback
6322
+ * presentations always agree on colour, value, and pull-out distance: one set
6323
+ * of chart maths, two presentations (mirrors {@link ./bar-chart-3d-data.ts}).
6324
+ *
6325
+ * @module pie-chart-3d-data
6326
+ */
6327
+
6328
+ /** One resolved wedge mesh: angle range, explosion offset, colour, and tooltip data. */
6329
+ interface PieChart3DWedge extends PieChart3DSliceAngle {
6330
+ color: string;
6331
+ }
6332
+ /** Inputs the interactive pie3D scene needs to mount. */
6333
+ interface PieChart3DSceneOptions {
6334
+ wedges: PieChart3DWedge[];
6335
+ categoryLabels: ReadonlyArray<string>;
6336
+ seriesName: string | undefined;
6337
+ numberFormat: string | undefined;
6338
+ outerRadius: number;
6339
+ thickness: number;
6340
+ width: number;
6341
+ height: number;
6342
+ /** Authored `c:view3D` driving the initial camera + wedge thickness. */
6343
+ view3D?: PieChart3DView3D;
6344
+ /**
6345
+ * Series 0's raw values, `c:explosion` percentages (index-aligned with
6346
+ * `wedges`), and `c:firstSliceAng` - everything
6347
+ * `computePieChart3DSliceAngles` needs to recompute every wedge's angle
6348
+ * from a live-dragged value, so a value drag can renormalise the WHOLE
6349
+ * disc locally (rebuilding wedge geometry in the scene) rather than only
6350
+ * the dragged wedge.
6351
+ */
6352
+ values: ReadonlyArray<number>;
6353
+ explosions: ReadonlyArray<number>;
6354
+ firstSliceAngleDeg: number | undefined;
6355
+ }
6356
+
6357
+ /** A value drag on a chart mark, in progress (`move`) or finished (`commit`). */
6358
+ interface ThreeViewDragDetail {
6359
+ part: ChartPartRef;
6360
+ value: number;
6361
+ phase: 'move' | 'commit';
6362
+ }
6363
+ /** Everything `<pptx-three-view>` can show; `kind` picks the lazily-loaded scene module. */
6364
+ type ThreeViewSpec = {
6365
+ kind: 'chart';
6366
+ spec: Chart3DSpec;
6367
+ } | {
6368
+ kind: 'smartart';
6369
+ spec: SmartArt3DModel;
6370
+ };
6371
+
6372
+ /**
6373
+ * three.js 3D surface-chart scene for `<pptx-three-view>` (framework-agnostic).
6374
+ *
6375
+ * Builds an interactive surface chart as a `<pptx-three-view>` scene: a
6376
+ * colour-displaced surface mesh (with optional wireframe), grid floor,
6377
+ * lights, an isometric camera, and DOM axis labels re-projected to screen
6378
+ * after each frame. Raycasts pointer moves against the mesh for a native
6379
+ * hover tooltip (see {@link ./surface-chart-3d-hit-test.ts}) and clicks/drags
6380
+ * for selection and value editing (see
6381
+ * {@link ./surface-chart-3d-interaction-wiring.ts}).
6382
+ *
6383
+ * @module surface-chart-3d-scene
6384
+ */
6385
+
6386
+ /** Inputs describing the surface to render and its container size. */
6387
+ interface SurfaceChart3DSceneOptions {
6388
+ cols: number;
6389
+ rows: number;
6390
+ /** Normalised heights, row-major, length rows*cols, each in [0, 1]. */
6391
+ heightMap: Float32Array;
6392
+ /** Flat RGB triplets, length rows*cols*3, each channel in [0, 1]. */
6393
+ colorMap: Float32Array;
6394
+ /** Draw wireframe grid lines over the surface. */
6395
+ wireframe: boolean;
6396
+ categoryLabels: ReadonlyArray<string>;
6397
+ seriesNames: ReadonlyArray<string>;
6398
+ width: number;
6399
+ height: number;
6400
+ /** Device pixel-ratio cap. Default `2`. */
6401
+ maxPixelRatio?: number;
6402
+ /** Authored `c:view3D` rotation (`rotX`/`rotY`) driving the initial camera. */
6403
+ view3D?: SurfaceCameraView3D;
6404
+ /** Authored `c:floor`/`c:sideWall`/`c:backWall` fill colours, when set. */
6405
+ surfaceColors?: SurfaceWallColors;
6406
+ /**
6407
+ * Raw (un-normalised) values, row-major, length rows*cols. Feeds the
6408
+ * pointer-raycast hover tooltip (see {@link buildSurfaceHoverTooltip}); a
6409
+ * caller that omits it gets a mesh with no hover tooltip.
6410
+ */
6411
+ values?: Float32Array;
6412
+ /** Per-series number-format codes, aligned to `seriesNames`. */
6413
+ numberFormats?: ReadonlyArray<string | undefined>;
6414
+ /** Active font-style emphasis override (bold/italic/underline/size/colour) for the axis labels. */
6415
+ textStyle?: TextStyleAnimationDescriptor;
6416
+ }
6417
+
6418
+ /**
6419
+ * The pure, three-free description of a 3D chart that `<pptx-three-view>`
6420
+ * mounts (`kind: 'chart'`). Built from a chart element by
6421
+ * `buildChart3DSpecForElement`; consumed by `chart-3d-view-scene.ts`.
6422
+ *
6423
+ * The spec is deliberately built ON TOP of the existing flat 2D chart engine
6424
+ * (`buildChartViewModel`) rather than beside it: for a `bar3D` chart with
6425
+ * PowerPoint's own default `c:view3D/@rAngAx=1` (an oblique, not perspective,
6426
+ * projection - see `chart-3d-projection.ts`), the flat 2D fallback's plot
6427
+ * (gridlines, axis ticks, title, legend) is ALREADY pixel-correct and
6428
+ * perfectly undistorted (verified against `gt/chart-01.webp`), and its
6429
+ * `bar` cartesian layout already gets category/series positioning, gap
6430
+ * width and stacking exactly right. This spec reuses that chrome and those
6431
+ * front-face rectangles directly; `chart-3d-view-scene.ts` only has to draw
6432
+ * REAL boxes (instead of flat 2D parallelograms) behind the SAME chrome.
6433
+ *
6434
+ * @module chart-3d-spec
6435
+ */
6436
+
6437
+ /**
6438
+ * One `bar3D` box: front-face rectangle in the flat 2D view-model's own SVG
6439
+ * pixel space (already gap-width/clustering/stacking-correct), extruded
6440
+ * backward in world Z by `depthMagnitude`.
6441
+ */
6442
+ interface Chart3DBarBox {
6443
+ x: number;
6444
+ y: number;
6445
+ w: number;
6446
+ h: number;
6447
+ color: string;
6448
+ seriesIndex: number;
6449
+ categoryIndex: number;
6450
+ /** The point's authored value (hover tooltip, drag start). */
6451
+ value: number;
6452
+ shape: PptxBar3DShape | undefined;
6453
+ /**
6454
+ * World-Z extrusion depth (SVG px units), the SAME quantity the flat 2D
6455
+ * fallback's `chart-3d-depth.ts#computeDepthVector` uses for its
6456
+ * `magnitude`. Every box in a supported (`clustered` / `stacked` /
6457
+ * `percentStacked`) grouping shares one chart-wide depth: those groupings
6458
+ * keep every series COPLANAR (one Z plane), matching PowerPoint's own
6459
+ * `gt/chart-01.webp` (no visible per-series depth separation). `standard`
6460
+ * grouping (each series its own full depth ROW, see `gt/chart-04.webp`)
6461
+ * is NOT yet modelled; see the chart track's progress log.
6462
+ */
6463
+ depthMagnitude: number;
6464
+ }
6465
+ interface Chart3DBarGeometry {
6466
+ kind: 'bar';
6467
+ boxes: readonly Chart3DBarBox[];
6468
+ }
6469
+ /** `null` until a chart type/grouping's oblique geometry is implemented; the scene then uses {@link Chart3DSpec.perspective}. */
6470
+ type Chart3DGeometry = Chart3DBarGeometry | null;
6471
+ /**
6472
+ * The perspective scene a chart falls back to when the oblique geometry does
6473
+ * not cover it yet (line/area/pie/surface, and bar3D's `standard` grouping,
6474
+ * horizontal bars and round shapes). Each is a hosted scene module from the
6475
+ * pre-`<pptx-three-view>` renderer, now drawn through the shared renderer.
6476
+ */
6477
+ type Chart3DPerspectiveScene = {
6478
+ kind: 'bar';
6479
+ options: BarChart3DSceneOptions;
6480
+ } | {
6481
+ kind: 'line';
6482
+ options: LineChart3DSceneOptions;
6483
+ } | {
6484
+ kind: 'area';
6485
+ options: AreaChart3DSceneOptions;
6486
+ } | {
6487
+ kind: 'pie';
6488
+ options: PieChart3DSceneOptions;
6489
+ } | {
6490
+ kind: 'surface';
6491
+ options: SurfaceChart3DSceneOptions;
6492
+ };
6493
+ interface Chart3DSpec {
6494
+ /** The chart element the spec was built from (identity drives remounts). */
6495
+ element: PptxElement;
6496
+ width: number;
6497
+ height: number;
6498
+ chartType: string;
6499
+ projection: Chart3DProjection;
6500
+ /**
6501
+ * The full flat 2D view-model, reused for chrome (title, legend, axis
6502
+ * ticks, gridlines, area/plot fill). The scene draws these via
6503
+ * `chart-view-model-dom.ts`'s piece renderers and skips `vm.primitives`/
6504
+ * `vm.dataLabels` (the flat oblique bars/extrusion), replacing them with
6505
+ * real WebGL geometry from `geometry`.
6506
+ */
6507
+ vm: ChartViewModel;
6508
+ geometry: Chart3DGeometry;
6509
+ /** Category labels (authored, or 1..n when the chart has none). */
6510
+ categoryLabels: readonly string[];
6511
+ /** The perspective scene used when `geometry` is `null`; `null` when neither applies (the 2D fallback stays). */
6512
+ perspective: Chart3DPerspectiveScene | null;
6513
+ }
6514
+
5731
6515
  /**
5732
6516
  * smartart-accessibility.ts: framework-agnostic accessibility metadata for the
5733
6517
  * SmartArt renderer, shared across the React, Vue, and Angular bindings.
@@ -8870,6 +9654,16 @@ interface PrintHtmlDocumentOptions {
8870
9654
  */
8871
9655
  declare function buildPrintHtmlDocument(options: PrintHtmlDocumentOptions): string;
8872
9656
 
9657
+ /** The six opt-in interactive-3D scene flags every binding exposes as host props. */
9658
+ interface Rendering3DFlags {
9659
+ smartArt3D: boolean;
9660
+ surfaceChart3D: boolean;
9661
+ barChart3D: boolean;
9662
+ lineChart3D: boolean;
9663
+ areaChart3D: boolean;
9664
+ pieChart3D: boolean;
9665
+ }
9666
+
8873
9667
  /**
8874
9668
  * Control/section/tab descriptor types for the File > Options schema, plus
8875
9669
  * the terse constructors the tab-definition modules build panes with.
@@ -9381,6 +10175,19 @@ interface RasterizeElementTilesResult {
9381
10175
  tiles: RasterizedTile[];
9382
10176
  }
9383
10177
 
10178
+ /** Public DOM shape used by all bindings; the element is not a native select. */
10179
+ interface PptxUiSelectElement extends HTMLElement {
10180
+ value: string;
10181
+ disabled: boolean;
10182
+ readonly options: HTMLOptionElement[];
10183
+ selectedIndex: number;
10184
+ }
10185
+ declare global {
10186
+ interface HTMLElementTagNameMap {
10187
+ 'pptx-ui-select': PptxUiSelectElement;
10188
+ }
10189
+ }
10190
+
9384
10191
  /**
9385
10192
  * `slide-transition-cinematic`: animation resolver + `@keyframes` for the
9386
10193
  * Office 2013+ (`p15` namespace) "cinematic" slide-transition family: the 3-D
@@ -13444,12 +14251,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
13444
14251
  protected readonly autosaveRecovery: AutosaveRecoveryService;
13445
14252
  protected readonly print: PrintService;
13446
14253
  protected readonly mobile: IsMobileService;
13447
- private readonly smartArt3DSvc;
13448
- private readonly surfaceChart3DSvc;
13449
- private readonly barChart3DSvc;
13450
- private readonly lineChart3DSvc;
13451
- private readonly areaChart3DSvc;
13452
- private readonly pieChart3DSvc;
14254
+ private readonly rendering3D;
13453
14255
  private readonly zoomTarget;
13454
14256
  protected readonly presenterWindow: PresenterWindowService;
13455
14257
  private readonly destroyRef;
@@ -13637,7 +14439,7 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
13637
14439
  /** Flip the AutoSave preference, unless the host forbade autosave outright. */
13638
14440
  protected toggleAutosave(): void;
13639
14441
  /** Active drawing tool (from the ribbon Draw tab). */
13640
- protected readonly activeDrawTool: _angular_core.WritableSignal<"pen" | "highlighter" | "eraser" | "select" | "freeform">;
14442
+ protected readonly activeDrawTool: _angular_core.WritableSignal<"select" | "pen" | "highlighter" | "eraser" | "freeform">;
13641
14443
  /** Active ink stroke colour. */
13642
14444
  protected readonly activeDrawColor: _angular_core.WritableSignal<string>;
13643
14445
  /** Active ink stroke width in stage pixels. */
@@ -14018,38 +14820,6 @@ declare class PowerPointViewerComponent implements PowerPointViewerAPI {
14018
14820
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PowerPointViewerComponent, "pptx-viewer", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "fontsInput": { "alias": "fonts"; "required": false; "isSignal": true; }; "canEditInput": { "alias": "canEdit"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "defaultThemeKey": { "alias": "defaultThemeKey"; "required": false; "isSignal": true; }; "availableThemes": { "alias": "availableThemes"; "required": false; "isSignal": true; }; "onThemeChange": { "alias": "onThemeChange"; "required": false; "isSignal": true; }; "defaultLocale": { "alias": "defaultLocale"; "required": false; "isSignal": true; }; "availableLocales": { "alias": "availableLocales"; "required": false; "isSignal": true; }; "onLocaleChange": { "alias": "onLocaleChange"; "required": false; "isSignal": true; }; "accountAuth": { "alias": "accountAuth"; "required": false; "isSignal": true; }; "filePath": { "alias": "filePath"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "fitPadding": { "alias": "fitPadding"; "required": false; "isSignal": true; }; "maxFitScale": { "alias": "maxFitScale"; "required": false; "isSignal": true; }; "autosaveInput": { "alias": "autosave"; "required": false; "isSignal": true; }; "autosaveIntervalMs": { "alias": "autosaveIntervalMs"; "required": false; "isSignal": true; }; "collaboration": { "alias": "collaboration"; "required": false; "isSignal": true; }; "authorName": { "alias": "authorName"; "required": false; "isSignal": true; }; "shareDefaults": { "alias": "shareDefaults"; "required": false; "isSignal": true; }; "onOpenFile": { "alias": "onOpenFile"; "required": false; "isSignal": true; }; "smartArt3D": { "alias": "smartArt3D"; "required": false; "isSignal": true; }; "surfaceChart3D": { "alias": "surfaceChart3D"; "required": false; "isSignal": true; }; "barChart3D": { "alias": "barChart3D"; "required": false; "isSignal": true; }; "lineChart3D": { "alias": "lineChart3D"; "required": false; "isSignal": true; }; "areaChart3D": { "alias": "areaChart3D"; "required": false; "isSignal": true; }; "pieChart3D": { "alias": "pieChart3D"; "required": false; "isSignal": true; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; "isSignal": true; }; "ai": { "alias": "ai"; "required": false; "isSignal": true; }; }, { "activeSlideChange": "activeSlideChange"; "dirtyChange": "dirtyChange"; "contentChange": "contentChange"; "propertiesChange": "propertiesChange"; "modeChange": "modeChange"; "zoomChange": "zoomChange"; "selectionChange": "selectionChange"; "slideCountChange": "slideCountChange"; "startCollaboration": "startCollaboration"; "stopCollaboration": "stopCollaboration"; }, never, never, true, never>;
14019
14821
  }
14020
14822
 
14021
- /**
14022
- * Opt-in flag for the Three.js interactive area3D-chart renderer (Angular).
14023
- *
14024
- * Provided by `PowerPointViewerComponent`, which syncs it from the
14025
- * `areaChart3D` input; `ChartElementViewComponent` injects it (optionally)
14026
- * to choose the WebGL ribbon scene (camera orbit/zoom via OrbitControls)
14027
- * over the flat SVG oblique-projection illusion for `area3D` charts. Mirrors
14028
- * `BarChart3DService`, the established shape for this opt-in pattern.
14029
- */
14030
- declare class AreaChart3DService {
14031
- /** `true` when an area3D chart should render via the Three.js scene. */
14032
- readonly enabled: _angular_core.WritableSignal<boolean>;
14033
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AreaChart3DService, never>;
14034
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14035
- }
14036
-
14037
- /**
14038
- * Opt-in flag for the Three.js interactive bar3D-chart renderer (Angular).
14039
- *
14040
- * Provided by `PowerPointViewerComponent`, which syncs it from the
14041
- * `barChart3D` input; `ChartElementViewComponent` injects it (optionally)
14042
- * to choose the WebGL box-mesh scene (camera orbit/zoom via OrbitControls)
14043
- * over the flat SVG oblique-projection illusion for `bar3D` charts. Mirrors
14044
- * `SurfaceChart3DService`, the established shape for this opt-in pattern.
14045
- */
14046
- declare class BarChart3DService {
14047
- /** `true` when a bar3D chart should render via the Three.js scene. */
14048
- readonly enabled: _angular_core.WritableSignal<boolean>;
14049
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChart3DService, never>;
14050
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14051
- }
14052
-
14053
14823
  /** A selected chart sub-part, scoped to the chart element that owns it. */
14054
14824
  interface ChartPartSelection {
14055
14825
  elementId: string;
@@ -14199,66 +14969,19 @@ declare class GoogleWebfontsService {
14199
14969
  }
14200
14970
 
14201
14971
  /**
14202
- * Opt-in flag for the Three.js interactive line3D-chart renderer (Angular).
14203
- *
14204
- * Provided by `PowerPointViewerComponent`, which syncs it from the
14205
- * `lineChart3D` input; `ChartElementViewComponent` injects it (optionally)
14206
- * to choose the WebGL tube-path scene (camera orbit/zoom via OrbitControls)
14207
- * over the flat SVG oblique-projection illusion for `line3D` charts. Mirrors
14208
- * `BarChart3DService`, the established shape for this opt-in pattern.
14209
- */
14210
- declare class LineChart3DService {
14211
- /** `true` when a line3D chart should render via the Three.js scene. */
14212
- readonly enabled: _angular_core.WritableSignal<boolean>;
14213
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChart3DService, never>;
14214
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14215
- }
14216
-
14217
- /**
14218
- * Opt-in flag for the Three.js interactive pie3D-chart renderer (Angular).
14972
+ * The host's opt-in 3D rendering flags (`smartArt3D`, `surfaceChart3D`,
14973
+ * `barChart3D`, `lineChart3D`, `areaChart3D`, `pieChart3D`), already narrowed
14974
+ * by the viewer user's Options > Advanced > "Disable 3D rendering" override
14975
+ * (see `resolve3DRenderingFlags`).
14219
14976
  *
14220
- * Provided by `PowerPointViewerComponent`, which syncs it from the
14221
- * `pieChart3D` input; `ChartElementViewComponent` injects it (optionally)
14222
- * to choose the WebGL wedge-mesh scene (camera orbit/zoom via OrbitControls)
14223
- * over the flat SVG oblique-projection illusion for `pie3D` charts. Mirrors
14224
- * `BarChart3DService`, the established shape for this opt-in pattern.
14977
+ * Provided by `PowerPointViewerComponent`, which syncs it from its six
14978
+ * inputs. ONE service replaces the six per-kind ones; every chart / SmartArt
14979
+ * element hands the flags to `resolveChartThreeViewSpec` /
14980
+ * `resolveSmartArtThreeViewSpec`. Mirrors React's `Rendering3DFlagsContext`.
14225
14981
  */
14226
- declare class PieChart3DService {
14227
- /** `true` when a pie3D chart should render via the Three.js scene. */
14228
- readonly enabled: _angular_core.WritableSignal<boolean>;
14229
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieChart3DService, never>;
14230
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14231
- }
14232
-
14233
- /**
14234
- * Opt-in flag for the Three.js SmartArt renderer (Angular).
14235
- *
14236
- * Provided by `PowerPointViewerComponent`, which syncs it from the `smartArt3D`
14237
- * input; the element dispatcher injects it (optionally) to choose the WebGL
14238
- * renderer over the SVG one. Mirrors the React `SmartArt3DContext` and the Vue
14239
- * `SmartArt3DKey` provide/inject. Scoped to the viewer subtree, so renderers
14240
- * used outside the viewer (thumbnails, export) fall back to `false`.
14241
- */
14242
- declare class SmartArt3DService {
14243
- /** `true` when SmartArt should render via the Three.js scene. */
14244
- readonly enabled: _angular_core.WritableSignal<boolean>;
14245
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DService, never>;
14246
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14247
- }
14248
-
14249
- /**
14250
- * Opt-in flag for the Three.js interactive surface-chart renderer (Angular).
14251
- *
14252
- * Provided by `PowerPointViewerComponent`, which syncs it from the
14253
- * `surfaceChart3D` input; `ChartElementViewComponent` injects it (optionally)
14254
- * to choose the WebGL scene (camera orbit/zoom via OrbitControls) over the
14255
- * static SVG isometric projection for `surface`/`surface3D` charts. Mirrors
14256
- * `SmartArt3DService`, the established shape for this opt-in pattern.
14257
- */
14258
- declare class SurfaceChart3DService {
14259
- /** `true` when a surface chart should render via the Three.js scene. */
14260
- readonly enabled: _angular_core.WritableSignal<boolean>;
14261
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SurfaceChart3DService, never>;
14982
+ declare class Rendering3DService {
14983
+ readonly flags: _angular_core.WritableSignal<Rendering3DFlags>;
14984
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Rendering3DService, never>;
14262
14985
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
14263
14986
  }
14264
14987
 
@@ -14472,7 +15195,7 @@ declare class ZoomTargetService {
14472
15195
  * `PowerPointViewerComponent`'s children (ribbon, slide canvas, inspector,
14473
15196
  * dialogs, ...) rely on via `inject()`.
14474
15197
  */
14475
- declare const POWER_POINT_VIEWER_PROVIDERS: readonly [typeof LoadContentService, typeof LoadNoticesService, typeof ExportService, typeof EditorStateService, typeof ChartPartSelectionService, typeof TableSelectionService, typeof EmbeddedFontsService, typeof GoogleWebfontsService, typeof CollaborationService, typeof CustomFontsService, typeof AccessibilityService, typeof AutosaveService, typeof AutosaveRecoveryService, typeof PrintService, typeof IsMobileService, typeof SmartArt3DService, typeof SurfaceChart3DService, typeof BarChart3DService, typeof LineChart3DService, typeof AreaChart3DService, typeof PieChart3DService, typeof FieldContextService, typeof RecentColorsService, typeof ZoomTargetService, typeof AiPanelStore, typeof ViewerDialogsService, typeof ViewerCompareService, typeof ViewerExportService, typeof ViewerFindReplaceService, typeof ViewerCustomShowsService, typeof ViewerCollaborationSessionService, typeof ViewerCanvasEditingService, typeof ViewerCollabCursorService, typeof ViewerDocumentPropertiesService, typeof ViewerFileIOService, typeof ViewerFormatPainterService, typeof ViewerInspectorPanelService, typeof ViewerKeyboardService, typeof ViewerMobileSheetService, typeof ViewerOptionsService, typeof ViewerPresentationModeService, typeof ViewerThemeGalleryService, typeof ViewerTouchGesturesService, typeof ViewerZoomService];
15198
+ declare const POWER_POINT_VIEWER_PROVIDERS: readonly [typeof LoadContentService, typeof LoadNoticesService, typeof ExportService, typeof EditorStateService, typeof ChartPartSelectionService, typeof TableSelectionService, typeof EmbeddedFontsService, typeof GoogleWebfontsService, typeof CollaborationService, typeof CustomFontsService, typeof AccessibilityService, typeof AutosaveService, typeof AutosaveRecoveryService, typeof PrintService, typeof IsMobileService, typeof Rendering3DService, typeof FieldContextService, typeof RecentColorsService, typeof ZoomTargetService, typeof AiPanelStore, typeof ViewerDialogsService, typeof ViewerCompareService, typeof ViewerExportService, typeof ViewerFindReplaceService, typeof ViewerCustomShowsService, typeof ViewerCollaborationSessionService, typeof ViewerCanvasEditingService, typeof ViewerCollabCursorService, typeof ViewerDocumentPropertiesService, typeof ViewerFileIOService, typeof ViewerFormatPainterService, typeof ViewerInspectorPanelService, typeof ViewerKeyboardService, typeof ViewerMobileSheetService, typeof ViewerOptionsService, typeof ViewerPresentationModeService, typeof ViewerThemeGalleryService, typeof ViewerTouchGesturesService, typeof ViewerZoomService];
14476
15199
 
14477
15200
  /** Lifecycle of the AI session bootstrap. */
14478
15201
  type AiChatInitState = 'checking' | 'unavailable' | 'ready' | 'error';
@@ -15554,7 +16277,7 @@ declare class SlideCanvasComponent implements SlideContext {
15554
16277
  */
15555
16278
  readonly aiPickMode: _angular_core.InputSignal<boolean>;
15556
16279
  /** Active draw tool. When not 'select', pointer gestures draw ink strokes. */
15557
- readonly drawTool: _angular_core.InputSignal<"pen" | "highlighter" | "eraser" | "select" | "freeform">;
16280
+ readonly drawTool: _angular_core.InputSignal<"select" | "pen" | "highlighter" | "eraser" | "freeform">;
15558
16281
  /** Active ink stroke colour (CSS colour string). */
15559
16282
  readonly drawColor: _angular_core.InputSignal<string>;
15560
16283
  /** Active ink stroke width in stage pixels. */
@@ -16005,7 +16728,7 @@ declare class ElementRendererComponent {
16005
16728
  * Host opt-in to the Three.js SmartArt renderer. Optional so renderers used
16006
16729
  * outside the viewer subtree (thumbnails, export) default to the SVG one.
16007
16730
  */
16008
- private readonly smartArt3DService;
16731
+ private readonly rendering3D;
16009
16732
  /**
16010
16733
  * Native-animation playback, present only inside a running presentation.
16011
16734
  * Optional so the editor/thumbnails/export render with no animation state.
@@ -16388,16 +17111,8 @@ declare class ChartElementViewComponent {
16388
17111
  private readonly partSelection;
16389
17112
  /** The hosting canvas's slide, for resolving template (master/layout) charts. */
16390
17113
  private readonly slideContext;
16391
- /** Viewer-scoped opt-in flag for the interactive 3D surface-chart renderer. */
16392
- private readonly surfaceChart3DSvc;
16393
- /** Viewer-scoped opt-in flag for the interactive 3D bar3D-chart renderer. */
16394
- private readonly barChart3DSvc;
16395
- /** Viewer-scoped opt-in flag for the interactive 3D line3D-chart renderer. */
16396
- private readonly lineChart3DSvc;
16397
- /** Viewer-scoped opt-in flag for the interactive 3D area3D-chart renderer. */
16398
- private readonly areaChart3DSvc;
16399
- /** Viewer-scoped opt-in flag for the interactive 3D pie3D-chart renderer. */
16400
- private readonly pieChart3DSvc;
17114
+ /** Viewer-scoped resolved 3D flags (host opt-ins ANDed with Options > Advanced). */
17115
+ private readonly rendering3D;
16401
17116
  private readonly injector;
16402
17117
  private readonly wrapper;
16403
17118
  private readonly titleEditor;
@@ -16417,42 +17132,12 @@ declare class ChartElementViewComponent {
16417
17132
  protected readonly titleDraft: _angular_core.WritableSignal<string | null>;
16418
17133
  private readonly chartData;
16419
17134
  /**
16420
- * Opt-in interactive 3D surface scene (camera orbit/zoom via OrbitControls).
16421
- * Click-to-select only: the grid is a single mesh with no per-cell geometry
16422
- * to drag a value against, so value-drag editing stays SVG-only (see the
16423
- * shared `SurfaceChart3DInteraction` doc comment).
16424
- */
16425
- protected readonly use3D: _angular_core.Signal<boolean>;
16426
- protected readonly isSurfaceKind: _angular_core.Signal<boolean>;
16427
- /**
16428
- * Opt-in interactive 3D bar scene (real box meshes, camera orbit/zoom via
16429
- * OrbitControls). Clustered boxes are click-to-select AND drag-to-value
16430
- * (`onChartPart3DSelect`/`onChart3DValueDragCommit` below); stacked/
16431
- * percentStacked boxes are select-only. `chartType` is checked directly
16432
- * (NOT via `resolveChartKind`, which folds `bar`/`bar3D` onto the same
16433
- * 'bar' kind), so a plain 2-D bar chart never mounts the 3D scene.
16434
- */
16435
- protected readonly use3DBar: _angular_core.Signal<boolean>;
16436
- protected readonly isBar3DKind: _angular_core.Signal<boolean>;
16437
- /**
16438
- * Opt-in interactive 3D line/area scenes (tube path / ribbon meshes, camera
16439
- * orbit/zoom via OrbitControls). Point markers are click-to-select AND
16440
- * drag-to-value, same as the bar scene above.
16441
- */
16442
- protected readonly use3DLine: _angular_core.Signal<boolean>;
16443
- protected readonly isLine3DKind: _angular_core.Signal<boolean>;
16444
- protected readonly use3DArea: _angular_core.Signal<boolean>;
16445
- protected readonly isArea3DKind: _angular_core.Signal<boolean>;
16446
- /**
16447
- * Opt-in interactive 3D pie scene (real wedge meshes, camera orbit/zoom via
16448
- * OrbitControls). Click-to-select only: a pie/doughnut slice has no single
16449
- * value axis to drag along (see the shared `PieChart3DInteraction` doc
16450
- * comment). `chartType` is checked directly (NOT via `resolveChartKind`,
16451
- * which folds `pie`/`pie3D`/`doughnut` onto the same 'pie' kind), so a
16452
- * plain 2-D pie or doughnut chart never mounts the 3D scene.
16453
- */
16454
- protected readonly use3DPie: _angular_core.Signal<boolean>;
16455
- protected readonly isPie3DKind: _angular_core.Signal<boolean>;
17135
+ * Opt-in 3D scene (`<pptx-three-view>`): `null` unless the host opted this
17136
+ * raw `c:chartType` into 3D (see `resolveChartThreeViewSpec`). Built from
17137
+ * the COMMITTED element, not the drag preview, so a value drag on a 3D
17138
+ * mark never remounts the scene under the pointer.
17139
+ */
17140
+ protected readonly threeSpec: _angular_core.Signal<ThreeViewSpec | null>;
16456
17141
  /** Whether this chart element is currently selected in the editor. */
16457
17142
  private readonly isSelected;
16458
17143
  /** Direct part editing is active: selected + editable + a commit channel. */
@@ -16467,12 +17152,11 @@ declare class ChartElementViewComponent {
16467
17152
  */
16468
17153
  protected readonly renderedElement: _angular_core.Signal<PptxElement>;
16469
17154
  protected readonly dragBadge: _angular_core.Signal<string>;
16470
- /** The part selected for THIS chart, or null. Also fed to the 3D chart
16471
- * renderers so an external selection change (inspector, keyboard) re-applies
16472
- * the mesh highlight in the mounted scene. */
17155
+ /** The part selected for THIS chart, or null. Also fed to the 3D scene so
17156
+ * an external selection change (inspector, keyboard) re-applies its
17157
+ * highlight. */
16473
17158
  protected readonly selectedPart: _angular_core.Signal<ChartPartRef | null>;
16474
- /** Active font-style emphasis override for a 3D chart scene's own axis
16475
- * labels (bar3D/line3D/area3D/surface3D; pie3D draws none). */
17159
+ /** Active font-style emphasis override for the 3D scene's own labels. */
16476
17160
  protected readonly chartTextStyle: _angular_core.Signal<TextStyleAnimationDescriptor | undefined>;
16477
17161
  constructor();
16478
17162
  protected onPointerDown(event: PointerEvent): void;
@@ -16482,33 +17166,16 @@ declare class ChartElementViewComponent {
16482
17166
  protected onEscape(): void;
16483
17167
  private endDrag;
16484
17168
  /**
16485
- * A 3D scene's own click-to-select fired (or empty space, clearing). Routes
16486
- * to the SAME `ChartPartSelectionService` the 2D `onPointerDown` above uses,
16487
- * so the inspector reacts identically to a 3D mark. Gated on `canEdit()`
16488
- * exactly like the 2D path: every read-only mount of this same chart
16489
- * element (thumbnail rail, export) shares the one injected service
16490
- * instance, so an un-gated write here would fight the canvas copy's
16491
- * selection (see the constructor's `clearForElement` effect comment).
17169
+ * A 3D mark's click / value drag goes through the shared
17170
+ * `applyChart3DSelect` / `applyChart3DDrag` onto the SAME
17171
+ * `ChartPartSelectionService`, drag badge and commit channel the 2D marks
17172
+ * above use, so the inspector and undo history react identically. Gated on
17173
+ * `canEdit()` like the 2D path: every read-only mount of this chart
17174
+ * (thumbnail rail, export) shares the one injected selection service.
16492
17175
  */
17176
+ private chart3DBridge;
16493
17177
  protected onChartPart3DSelect(part: ChartPartRef | null): void;
16494
- /**
16495
- * Live value while dragging a 3D mark. Only drives the floating badge
16496
- * (`dragValue`/`dragBadge`, shared with the 2D drag UI): unlike the 2D SVG
16497
- * drag, previewing the new value in the mesh itself would require
16498
- * re-mounting the WebGL scene on every pointer-move, which would tear down
16499
- * the in-flight pointer capture the shared scene's own drag state machine
16500
- * relies on.
16501
- */
16502
- protected onChart3DValueDragPreview(event: {
16503
- part: ChartPartRef;
16504
- value: number;
16505
- }): void;
16506
- /** Final value from a 3D mark drag: commits through the same channel the
16507
- * 2D value-drag / mark-drag paths use above. */
16508
- protected onChart3DValueDragCommit(event: {
16509
- part: ChartPartRef;
16510
- value: number;
16511
- }): void;
17178
+ protected onChart3DValueDrag(detail: ThreeViewDragDetail): void;
16512
17179
  protected onDblClick(event: MouseEvent): void;
16513
17180
  protected onTitleInput(event: Event): void;
16514
17181
  protected onTitleKeydown(event: KeyboardEvent): void;
@@ -19333,7 +20000,7 @@ declare class TableCellAdvancedFillComponent {
19333
20000
  /** Optional: absent in a standalone unit test with no viewer-level DI tree. */
19334
20001
  private readonly recentColors;
19335
20002
  protected readonly fillModes: {
19336
- value: "image" | "none" | "solid" | "gradient" | "pattern";
20003
+ value: "image" | "pattern" | "none" | "solid" | "gradient";
19337
20004
  i18nKey: string;
19338
20005
  }[];
19339
20006
  protected readonly gradientTypes: {
@@ -19344,7 +20011,7 @@ declare class TableCellAdvancedFillComponent {
19344
20011
  protected readonly patternPreset: _angular_core.Signal<string>;
19345
20012
  /**
19346
20013
  * Offered presets, widened to include the current one when it sits outside
19347
- * the offered slice (the fallback preset does), so the `<select>` cannot show
20014
+ * the offered slice (the fallback preset does), so the `<pptx-ui-select>` cannot show
19348
20015
  * a value the cell does not have and then commit it on the next change.
19349
20016
  */
19350
20017
  protected readonly patterns: _angular_core.Signal<readonly string[]>;
@@ -19354,7 +20021,7 @@ declare class TableCellAdvancedFillComponent {
19354
20021
  key: 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight';
19355
20022
  label: string;
19356
20023
  }>;
19357
- protected readonly fillMode: _angular_core.Signal<"image" | "none" | "solid" | "gradient" | "pattern">;
20024
+ protected readonly fillMode: _angular_core.Signal<"image" | "pattern" | "none" | "solid" | "gradient">;
19358
20025
  protected readonly gradType: _angular_core.Signal<"linear" | "radial">;
19359
20026
  protected readonly stops: _angular_core.Signal<GradientStop[]>;
19360
20027
  protected marginValue(key: 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight'): number;
@@ -19519,7 +20186,7 @@ declare class ChartDisplayOptionsComponent {
19519
20186
  protected readonly legendPositions: readonly ChartOption<string>[];
19520
20187
  protected readonly bar3DShapeOptions: readonly ChartSubtypeOption<PptxBar3DShape>[];
19521
20188
  protected readonly radarStyleOptions: readonly ChartSubtypeOption<NonNullable<"marker" | "standard" | "filled" | undefined>>[];
19522
- protected readonly surfaceWireframeOptions: readonly ChartSubtypeOption<"true" | "false">[];
20189
+ protected readonly surfaceWireframeOptions: readonly ChartSubtypeOption<"false" | "true">[];
19523
20190
  protected readonly style: _angular_core.Signal<pptx_viewer_core.PptxChartStyle>;
19524
20191
  protected readonly chartData: _angular_core.Signal<PptxChartData | undefined>;
19525
20192
  protected readonly isBar3D: _angular_core.Signal<boolean>;
@@ -19936,7 +20603,7 @@ declare class AnimationAuthorPanelComponent {
19936
20603
  private emit;
19937
20604
  protected onPreview(): void;
19938
20605
  /**
19939
- * Every `<select>` in the panel commits through here. The field name picks the
20606
+ * Every `<pptx-ui-select>` in the panel commits through here. The field name picks the
19940
20607
  * shared patch builder out of {@link ANIMATION_SELECT_SETTERS}; see that
19941
20608
  * module for why there is one handler rather than seven.
19942
20609
  */
@@ -20831,7 +21498,7 @@ declare class ActionSettingsPanelComponent {
20831
21498
  protected actionFor(trigger: Trigger): ElementAction | undefined;
20832
21499
  /** The action type this trigger's controls should render right now. */
20833
21500
  protected typeFor(trigger: Trigger): ElementActionType;
20834
- /** `data.customShows`, for the `customShow` type's target `<select>`. */
21501
+ /** `data.customShows`, for the `customShow` type's target `<pptx-ui-select>`. */
20835
21502
  private readonly loader;
20836
21503
  protected readonly customShows: _angular_core.Signal<readonly PptxCustomShow[]>;
20837
21504
  private update;
@@ -21374,7 +22041,7 @@ declare class ViewerExtraDialogsComponent {
21374
22041
  protected readonly editor: EditorStateService;
21375
22042
  protected readonly loader: LoadContentService;
21376
22043
  private readonly fonts;
21377
- private readonly smartArt3D;
22044
+ private readonly rendering3D;
21378
22045
  private readonly collab;
21379
22046
  /** Real runtime availability for the Options > Add-ins pane; see {@link resolveViewerExtraAddinStatus}. */
21380
22047
  protected readonly addinStatus: _angular_core.Signal<ViewerAddinStatus>;
@@ -21889,7 +22556,7 @@ declare class AccountPageComponent {
21889
22556
  readonly accountAuth: _angular_core.InputSignal<AccountAuthConfig | undefined>;
21890
22557
  private readonly translate;
21891
22558
  protected readonly swatches: readonly string[];
21892
- protected readonly version = "4.1.4";
22559
+ protected readonly version = "4.1.6";
21893
22560
  protected readonly profile: _angular_core.WritableSignal<ViewerProfile>;
21894
22561
  protected readonly initial: _angular_core.Signal<string>;
21895
22562
  protected readonly usage: _angular_core.WritableSignal<LocalStorageUsageSummary | null>;
@@ -23302,21 +23969,20 @@ declare function boolFromEvent(event: Event): boolean;
23302
23969
  declare function numFromEvent(event: Event): number | null | undefined;
23303
23970
 
23304
23971
  /**
23305
- * SmartArt3DRendererComponent: Angular Three.js SmartArt renderer.
23972
+ * SmartArt3DRendererComponent: Angular 3D SmartArt view on the shared
23973
+ * `<pptx-three-view>`. The spec (`resolveSmartArtThreeViewSpec`) and the whole
23974
+ * scene live in the shared package; this component projects the SVG
23975
+ * `<pptx-smart-art-renderer>` as the element's fallback (shown while the scene
23976
+ * loads, and kept when `three` is missing or the scene fails). A diagram with
23977
+ * nothing to draw renders the plain SVG. Mirrors React's `SmartArt3DView.tsx`.
23306
23978
  *
23307
- * Builds the pure 3D model from the shared layout engine (no `three` import),
23308
- * then lazily imports the vanilla scene runtime from the vendored
23309
- * `pptx-viewer-shared/smartart-3d` and mounts it on a canvas. `three` is an
23310
- * optional peer dependency: when it is missing, the diagram has no geometry, or
23311
- * the scene errors, the component falls back to the SVG SmartArt renderer.
23312
- *
23313
- * When `canEdit` is true and the 3D scene is active, an invisible
23314
- * `<pptx-smart-art-renderer>` overlay is stacked over the canvas. Double-clicking
23979
+ * When `canEdit` is true, an invisible `<pptx-smart-art-renderer>` overlay is
23980
+ * stacked over the scene. Double-clicking
23315
23981
  * on the overlay uses `document.elementsFromPoint` to locate the `<g>` bearing
23316
23982
  * `data-smartart-node-id`, then opens an inline textarea editor over that node
23317
23983
  * (same commit path as the SVG renderer: `EditorStateService.updateElement`).
23318
23984
  */
23319
- declare class SmartArt3DRendererComponent implements OnDestroy {
23985
+ declare class SmartArt3DRendererComponent {
23320
23986
  readonly element: _angular_core.InputSignal<PptxElement>;
23321
23987
  readonly zIndex: _angular_core.InputSignal<number>;
23322
23988
  /** When true and the 3D scene is active, enables inline node text editing. */
@@ -23337,18 +24003,16 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
23337
24003
  * animation playback. Mirrors `ChartElementViewComponent`'s `textStyle`
23338
24004
  * threading for the 3D chart scenes: a canvas-texture caption has no DOM
23339
24005
  * text node the CSS-injection path (`buildTextStyleOverrideCss`) can reach,
23340
- * so the scene's own `setTextStyle` handle method is the only way in.
24006
+ * so the scene's own text style is the only way in.
23341
24007
  */
23342
24008
  readonly textStyle: _angular_core.InputSignal<TextStyleAnimationDescriptor | undefined>;
23343
- private readonly canvas;
23344
24009
  private readonly containerEl;
23345
24010
  private readonly nodeEditor3d;
23346
- /** `true` until the 3D scene is known to be mountable; renders the SVG fallback. */
23347
- readonly useFallback: _angular_core.WritableSignal<boolean>;
23348
- private readonly mountFn;
23349
- /** The live mounted handle, or `null` while unmounted. A signal so
23350
- * `setTextStyle` re-applies as soon as it (or the input) changes. */
23351
- private readonly handle;
24011
+ private readonly rendering3D;
24012
+ /** The scene spec, or `null` (flag off, or nothing to draw): render the plain SVG. */
24013
+ protected readonly spec: _angular_core.Signal<ThreeViewSpec | null>;
24014
+ /** `true` when no 3D scene applies; renders the SVG renderer on its own. */
24015
+ readonly useFallback: _angular_core.Signal<boolean>;
23352
24016
  protected readonly editState: _angular_core.WritableSignal<InlineEditState | null>;
23353
24017
  /** Live draft text, updated on every input event. */
23354
24018
  protected draftText: string;
@@ -23365,9 +24029,7 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
23365
24029
  */
23366
24030
  readonly hitTargetStyle: _angular_core.Signal<CssStyleMap | undefined>;
23367
24031
  private readonly smartArtData;
23368
- private readonly model;
23369
24032
  constructor();
23370
- private loadScene;
23371
24033
  /**
23372
24034
  * Locate the SmartArt node at the click position using `elementsFromPoint`
23373
24035
  * (which includes pointer-events:none SVG elements) and open the inline editor.
@@ -23382,7 +24044,6 @@ declare class SmartArt3DRendererComponent implements OnDestroy {
23382
24044
  /** Discard the current edit without committing. */
23383
24045
  cancelEdit(): void;
23384
24046
  private applyCommit;
23385
- ngOnDestroy(): void;
23386
24047
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SmartArt3DRendererComponent, never>;
23387
24048
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SmartArt3DRendererComponent, "pptx-smart-art-3d-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "markElement": { "alias": "markElement"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "presenting": { "alias": "presenting"; "required": false; "isSignal": true; }; "textStyle": { "alias": "textStyle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23388
24049
  }
@@ -23856,11 +24517,6 @@ interface BackstageAction {
23856
24517
  };
23857
24518
  }
23858
24519
  declare class RibbonFileSectionComponent {
23859
- protected readonly searchClasses: {
23860
- readonly box: "mt-8 flex h-10 w-full max-w-[540px] items-center gap-2 border border-input bg-card px-3 text-muted-foreground focus-within:border-ring";
23861
- readonly icon: "size-4 shrink-0";
23862
- readonly input: "h-full min-w-0 flex-1 border-0 bg-transparent text-[13px] text-card-foreground outline-none placeholder:text-muted-foreground";
23863
- };
23864
24520
  readonly fileName: _angular_core.InputSignal<string | undefined>;
23865
24521
  readonly slideCount: _angular_core.InputSignal<number>;
23866
24522
  readonly exporting: _angular_core.InputSignal<boolean>;
@@ -25208,31 +25864,6 @@ declare class TitleBarSearchComponent {
25208
25864
  /** The user asked to search slide CONTENT rather than commands. */
25209
25865
  readonly toggleFindReplace: _angular_core.OutputEmitterRef<void>;
25210
25866
  private readonly translate;
25211
- protected readonly tb: {
25212
- readonly container: "flex items-center gap-1 h-9 px-2 border-b border-border/60 bg-secondary/80 text-[11px] select-none max-md:hidden";
25213
- readonly logo: "flex items-center justify-center w-5 h-5 rounded-sm bg-[#c43e1c] text-white text-[10px] font-bold shrink-0";
25214
- readonly autosaveGroup: "flex items-center gap-1.5 pl-1.5 pr-0.5 shrink-0";
25215
- readonly autosaveLabel: "text-[11px] text-muted-foreground whitespace-nowrap";
25216
- readonly toggleTrack: "relative inline-flex items-center w-7 h-3.5 rounded-full transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed";
25217
- readonly toggleTrackOn: "bg-primary";
25218
- readonly toggleTrackOff: "bg-muted-foreground/40";
25219
- readonly toggleKnob: "absolute w-2.5 h-2.5 rounded-full bg-white shadow-sm transition-transform";
25220
- readonly toggleKnobOn: "translate-x-[15px]";
25221
- readonly toggleKnobOff: "translate-x-0.5";
25222
- readonly quickButton: "p-1 rounded-sm transition-colors hover:bg-accent/60 text-muted-foreground disabled:opacity-40 disabled:cursor-not-allowed active:scale-90 active:opacity-70";
25223
- readonly separator: "w-px h-4 bg-border/60 mx-1 shrink-0";
25224
- readonly fileGroup: "flex items-baseline gap-1.5 px-1 min-w-0 shrink";
25225
- readonly fileName: "text-[12px] font-medium text-foreground whitespace-nowrap overflow-hidden text-ellipsis max-w-[240px]";
25226
- readonly statusDot: "text-muted-foreground/70";
25227
- readonly statusText: "text-[11px] text-muted-foreground whitespace-nowrap";
25228
- readonly statusError: "text-red-400";
25229
- readonly statusSaving: "text-yellow-500";
25230
- readonly searchWrap: "flex-1 flex justify-center min-w-0 px-2";
25231
- readonly searchBox: "flex items-center gap-2 w-full max-w-md px-3 py-[3px] rounded-md bg-background/70 border border-border/60 text-muted-foreground hover:bg-background hover:text-foreground focus-within:border-ring transition-colors";
25232
- readonly searchIcon: "w-3 h-3 shrink-0";
25233
- readonly searchLabel: "text-[11px] truncate";
25234
- readonly rightSpacer: "flex items-center justify-end gap-1 shrink-0";
25235
- };
25236
25867
  protected readonly searchQuery: _angular_core.WritableSignal<string>;
25237
25868
  protected readonly searchFocused: _angular_core.WritableSignal<boolean>;
25238
25869
  protected readonly commandResults: _angular_core.Signal<CommandSearchEntry[]>;
@@ -25300,6 +25931,6 @@ declare function thumbnailHeight(canvasW: number, canvasH: number, thumbW: numbe
25300
25931
  */
25301
25932
  declare function gridColumns(containerW: number, thumbW: number, gap: number, maxCols: number): number;
25302
25933
 
25303
- export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EASE, EFFECT_SOUND_CATALOGUE, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRANSITION_SPEED_DURATION_MS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
25934
+ export { AFTER_ANIMATION_VALUES, ALIGN_OPTIONS, ANIMATION_PRESET_CATEGORIES, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AVATAR_COLOR_SWATCHES, AXIS_LABEL_COLOR, AccessibilityPanelComponent, AccessibilityService, AccessibilityTextPanelComponent, AccountPageComponent, ActionSettingsPanelComponent, AdvancedChartEditorComponent, AiChangeOverlayComponent, AiChatPanelComponent, AiChatService, AiComposerComponent, AiFocusBarComponent, AiFocusHighlightOverlayComponent, AiHistoryMenuComponent, AiHistoryService, AiMessageListComponent, AiPanelStore, AiProposalCardComponent, AiSettingsSectionComponent, AiToolCallCardComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveRecoveryDialogComponent, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CINEMATIC_TRANSITION_KEYFRAMES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointMarkerOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, ChartTypeSelectorComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentMarkersOverlayComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_MORPH_DURATION_MS, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PATTERN_FILL_PRESET, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR, DEFAULT_VIEWER_PROFILE, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, DocumentPropertiesCardComponent, EASE, EFFECT_SOUND_CATALOGUE, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GOOGLE_WEBFONTS_LINK_ID, GRIDLINE_COLOR, GoogleWebfontsService, GradientPickerComponent, HANDOUT_OPTIONS, HeaderFooterDialogComponent, HyperlinkDialogComponent, INSTANT, ImagePropertiesPanelComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPaneHeaderComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LOCALE_CATALOG, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MOTION_PATH_COLUMNS, MediaPreviewComponent, MediaPropertiesPanelComponent, MediaRendererComponent, MediaTrimTimelineComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesHandoutCardComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, OutlineViewOverlayComponent, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, POWER_POINT_VIEWER_PROVIDERS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PRESENTER_TIMER_SEGMENT_MS, PX_PER_CM, PX_PER_INCH, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentToolbarAutoHide, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationPropertiesPanelComponent, PresentationSettingsCardComponent, PresentationSubtitleBarComponent, PresentationToolbarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RANDOM_ELIGIBLE_TYPES, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_FONT_SIZE, RULER_THICKNESS, ReadingViewOverlayComponent, RemoteSelectionOverlayComponent, Rendering3DService, RibbonAnimationGalleryComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonHyperlinkButtonComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonMotionPathGalleryComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonShapeExtrasComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, DEFAULT_TRANSITION_DURATION_MS as SHARED_DEFAULT_TRANSITION_DURATION_MS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, SettingsAppearanceTabComponent, SettingsDialogComponent, SettingsLanguageTabComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideBackgroundCardComponent, SlideCanvasComponent, SlideDefaultInspectorComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSizeCardComponent, SlideSorterOverlayComponent, SlideThemeOverridePanelComponent, SlideTransitionCardComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_3D_BOTTOM_BEVEL_KEYS, TEXT_3D_TOP_BEVEL_KEYS, TEXT_DIRECTION_OPTIONS, THEME_CATALOG, TIMING_CURVE_OPTIONS, TRANSITION_SPEED_DURATION_MS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TagsCardComponent, Text3DBevelSectionComponent, Text3DPanelComponent, TextAdvancedPanelComponent, ThemeEditorFieldsComponent, ThemeGalleryComponent, ThemeSelectorCardComponent, TitleBarComponent, TitleBarSearchComponent, TransitionDirectionPickerComponent, TransitionPreviewComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCollaborationShellService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, WriteBackScheduler, ZERO_LINE_COLOR, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, affordanceElements, aiToggleVisible, alignPatch, animationFor, animationPresetLabelKey, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, asMediaElement, assignUserColor, attachShowVisibilityPause, attachTouchGestures, axisTickValues, beginDrawingNodeEdit, beginNodeEdit, bevelSizePatch, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChatLogExport, buildChatLogMarkdown, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildLiveInkStrokeView, buildMarkTooltip, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPieViewModel, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRadarViewModel, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canEditSmartArtNodes, canGroupSelection, canRemoveTopLevelNode, canSetStrokeWidth, canStartBroadcast, canStartShare, canUngroupSelection, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, chartPreserveAspectRatio, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAllLocalViewerData, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectStoredChats, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeFocusTargets, computeGridSpacingPx, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeResizeHandleBoxes, computeRotateHandleBox, computeScatterDots, computeScatterXDomain, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createAngularAiBridge, createCustomShow, createImageElementFromFile, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeCollaborationShellState, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, endShowMediaCleanup, estimatePageCount, exitPresentationFullscreen, exportAiChatLogs, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, firstVisibleIndex, fitPolynomial, fitZoom, focusTargetChips, fontMimeForFormat, fontSizeOf, forgetSessionDeck, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatInlineListStyle, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateTicks, getCinematicTransitionAnimations, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getEffectSoundAsset, getEffectSoundState, getImageSrc, getLocalStorageUsageSummary, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getP14TransitionAnimations, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getSessionTabId, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, gridColumns, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, hasVisibleSlideAfter, headerLabel, imageDimensions, inkViewBox, insertTableElementColumn as insertColumn, insertTableElementRow as insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isLegacyBinaryPresentation, isPpactionUrl, isPresenterMessage, isSigned, isSupportedPresentationFile, isTextElement, isTwoTableFocus, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, lastVisibleIndex, latexToMathml, layoutConnectorPaints, layoutNodeLabels, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, loadSessionDeck, mediaFallbackFor, mediaSurfaceFor, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, mergeTablesDirective, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newPresetShapeElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, patternPresetOptions, pendingElementStyles, pickColorByClickFallback, pickFile, pickSupportedMimeType, planGifFrames, planVideoSegments, pointFromPointerEvent, pointsToSvgPathD, presenceToCursors, presentationBaseName, presentationStageStyle, presenterTimerProgress, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, readAsDataUrl, recordWebm, registerCrossSlideAudio, rememberSessionDeck, removeAnimation, removeCategory, removeTableElementColumn as removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeTableElementRow as removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveDirection, resolveDirection8, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveOrientation, resolveParagraphBullet, resolvePresenterNotes, resolveProfileInitial, resolveRegionCode, resolveRibbonCanGroup, resolveSlideAutoAdvanceMs, resolveSlideTransition, resolvePalette as resolveSmartArtPalette, resolveThemeCatalogEntry, resolveTransitionDuration, resolveTransitionDurationMs, resolveWheelSpokeCount, restoreSessionDeck, revealedElementStyles, routeOrthogonalConnector, rowStyle, rulerDragToGuidePosition, rulerHighlight, rulerStripTicks, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, saveViewerProfile, savedPresentationFileName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAfterAnimation, setAfterAnimationColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDataPointMarker, setDelay, setDirection, setDuration, setEffectSound, setEffectStockSound, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldBlockClickAdvance, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, slidesWithReappliedLayout, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent, strokeColorOf, strokeToInkElement, strokeWidthOf, styleShadowFilter, surfaceColor, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textFontSizePatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, withManualLayouts, worstStatus, zoomTargetSlideIndex };
25304
25935
  export type { AccessibilityIssueGroup, AccountAuthConfig, ActionDescriptor, ActiveShow, AiCanvasHighlight, AiChatInitState, AiHistoryInitDeps, AiLogChat, AiLogExport, AiLogFormat, AiLogMessage, AiPanelSelectionAccessors, AlignBox, AlignMode, AnimationClickGroup, AnimationGroup, AnimationPresetCategory, AnimationPresetEntry, AnimationPresetPick, AnnotationInkInsert, AnnotationStroke, AttachTouchGesturesConfig, AuthoredRange, AwarenessLike, BarRect, Box, BridgeDeps, BroadcastConfig, BroadcastDefaults, BubbleRadiusOptions, CSSProperties, CanvasSize, CellCoord, CellParagraph, CellTextRun, ChartPartRef, ChartPartSelection, ChartSvgDef, ChartSvgPatternDef, ChartValueDrag, ChartViewModel, ClassValue, ClrChangeParams, CollaborationConfig, CollaborationRole, CollaborationShellState, ConnectionStatus, RouterRect as ConnectorObstacle, RouterPoint as ConnectorPoint, ConnectorRouting, CopiedFormat, CornerHandleBox, CustomShow, CustomThemeEdit, DeckSaveState, DestroyableYDoc, DiagonalBorderInfo, DistributeMode, DocumentProperties, DrawingViewBox, DuotoneFilterDef, EffectSoundState, EffectsState, ElementUpdate, ElementUpdateOptions, EmbeddedFontStyles, EquationTemplate, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, EyedropperResult, FindOptions, FindResult, FocusChip, FocusSelectionInput, GifFrame, GifFramePlan, GifPlanOptions, GlowState, GradientState, GradientStop$1 as GradientStop, HandleBox, HandoutSlidesPerPage, HyperlinkDraft, InkPoint, InkStroke, InkStrokeView, InlineEditState, InnerShadowState, LegendEntry, LinePoint, LinearFit, LocalIdentity, LocalStorageUsageSummary, LocaleCatalogEntry, MobileSheetKey, Model3DViewModel, MotionPathColumn, MotionPathEntry, NodeEditBox, NotesSegmentViewModel, ObjectUrlFactory, OleActionModel, OleInfoRow, OuterShadowState, OutlineCommit, OverallSignatureStatus, PartitionedSlides, PathPoint, PieSliceGeometry, PieSliceOptions, PlotLayout, PlotLayoutOptions, PositionUpdate, PowerPointViewerAPI, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiElementUpdate, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy, PresentToolbarAction, PresentationTool, PresenterExitMessage, PresenterMessage, PresenterNotes, PresenterSlideChangeMessage, PresenterTimerProgress, PressureCircle, PrintColorMode, PrintHtmlDocumentOptions as PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, ProposalView, ProviderBundle, ProviderLike, RadarPoint, RecordWebmOptions, RecoveryVersion, ReflectionState, RemoteCursor, SanitizedPresence as RemotePresence, RenderedShape, ReplaceResult, ResizeHandle, ResolvedCaptionTrack, ResolvedDirection, ResolvedDirection8, ResolvedFontVariant, ResolvedOleType, RulerUnit, SanitizedPresence, SavedPresentationFormat, ScatterDot, ScatterXDomain, SelectionBox, SessionDeck, ShapeStyleChanges, ShareDefaults$1 as ShareDefaults, ShareFormFields, ShortcutReferenceItem, SignatureStatusKind, SlideInspectorTab, SlideTransitionAnimations, SmartArtInsertEvent, SmartArtNodeBounds, SnapBox, SnapGuide, SnapResult, SoftEdgeState, SpeechAlternative, SpeechRecognitionCtor, SpeechRecognitionEventLite, SpeechRecognitionLite, SpeechResult, SpeechResultList, SpeechSupportState, StagedProposal, StrokeToInkElementOpts, StyleMap, SupportedChartKind, SvgAreaGradient, SvgCircle, SvgLine, SvgPath, SvgPolygon, SvgPolyline, SvgPrimitive, SvgRect, SvgText, SwipeDismissDrag, TableBooleanFlag, TableCellSelection, TableCellViewModel, TableRowViewModel, TemplateElementsBySlideId, Text3DBevelKeys, TextAdvancedChanges, TextAdvancedState, TextStyleChanges, TextWarpCssDef, TextWarpDef, TextWarpPathDef, ThemeCatalogEntry, Tick, ToolbarActionId, TouchGestureCallbacks, TranslationKey, ValueRange, VideoPlanOptions, VideoSegmentPlan, ViewerCollaborationShellOptions, ViewerMode, ViewerProfile, ViewerSettings, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, ZoomTranslate, ZoomViewModel };
25305
25936
  //# sourceMappingURL=pptx-angular-viewer.d.ts.map