pptx-angular-viewer 1.1.15 → 1.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-angular-viewer",
3
- "version": "1.1.15",
3
+ "version": "1.1.16",
4
4
  "description": "Angular PowerPoint viewer/editor component — depends on pptx-viewer-core. Angular counterpart of the React `pptx-viewer` and Vue `pptx-vue-viewer` packages.",
5
5
  "keywords": [
6
6
  "angular",
@@ -41,7 +41,7 @@
41
41
  "peerDependencies": {
42
42
  "@angular/common": "^22.0.1",
43
43
  "@angular/core": "^22.0.1",
44
- "pptx-viewer-core": "^1.1.15",
44
+ "pptx-viewer-core": "^1.1.16",
45
45
  "rxjs": "^7.8.0"
46
46
  },
47
47
  "module": "fesm2022/pptx-angular-viewer.mjs",
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, OnInit, OnDestroy, InjectionToken, Provider } from '@angular/core';
3
3
  import * as pptx_viewer_core from 'pptx-viewer-core';
4
- import { PptxSlide, AccessibilityCheckOptions, AccessibilityIssue, PptxElement, PptxTheme, PptxSlideMaster, PptxEmbeddedFont, PptxCoreProperties, PptxComment, PptxTableCell, Model3DPptxElement, ZoomPptxElement, TextSegment, XmlObject, ParsedSignature, SignatureStatus, AccessibilityIssueSeverity, AccessibilityIssueType, PptxElementAnimation, PptxTransitionType, PptxSlideTransition, ShapeStyle } from 'pptx-viewer-core';
4
+ import { PptxSlide, AccessibilityCheckOptions, AccessibilityIssue, PptxElement, PptxTheme, PptxSlideMaster, PptxEmbeddedFont, PptxCoreProperties, PptxComment, TextSegment, TextStyle, PptxTableCell, Model3DPptxElement, ZoomPptxElement, XmlObject, ParsedSignature, SignatureStatus, AccessibilityIssueSeverity, AccessibilityIssueType, PptxElementAnimation, PptxTransitionType, PptxSlideTransition, ShapeStyle } from 'pptx-viewer-core';
5
5
  import { Options } from 'html2canvas-pro';
6
6
  import { SafeHtml } from '@angular/platform-browser';
7
7
  import * as pptx_angular_viewer from 'pptx-angular-viewer';
@@ -1049,6 +1049,17 @@ declare class SlideCanvasComponent {
1049
1049
  */
1050
1050
  private recomputeFit;
1051
1051
  readonly elements: _angular_core.Signal<PptxElement[]>;
1052
+ /**
1053
+ * Obstacle rects (absolute slide coords) for connector A* routing: every
1054
+ * non-connector element with a positive footprint. Bent connectors detour
1055
+ * around these instead of cutting straight through neighbouring shapes.
1056
+ */
1057
+ readonly connectorObstacles: _angular_core.Signal<{
1058
+ x: number;
1059
+ y: number;
1060
+ width: number;
1061
+ height: number;
1062
+ }[]>;
1052
1063
  /** Bounding boxes (stage coords) for the selected elements. */
1053
1064
  readonly selectionBoxes: _angular_core.Signal<{
1054
1065
  id: string;
@@ -1099,6 +1110,86 @@ declare class SlideCanvasComponent {
1099
1110
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideCanvasComponent, "pptx-slide-canvas", never, { "slide": { "alias": "slide"; "required": false; "isSignal": true; }; "canvasSize": { "alias": "canvasSize"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "editingId": { "alias": "editingId"; "required": false; "isSignal": true; }; }, { "elementSelect": "elementSelect"; "backgroundClick": "backgroundClick"; "transformStart": "transformStart"; "transformUpdate": "transformUpdate"; "contextMenu": "contextMenu"; "textEditStart": "textEditStart"; "textCommit": "textCommit"; "textCancel": "textCancel"; "rotateUpdate": "rotateUpdate"; "marqueeSelect": "marqueeSelect"; }, never, never, true, never>;
1100
1111
  }
1101
1112
 
1113
+ /**
1114
+ * Pure, framework-agnostic A* orthogonal connector router.
1115
+ *
1116
+ * Angular port of the React connector-router suite:
1117
+ * packages/react/src/viewer/utils/connector-router.ts
1118
+ * packages/react/src/viewer/utils/connector-router-graph.ts
1119
+ * packages/react/src/viewer/utils/connector-router-astar.ts
1120
+ *
1121
+ * All logic is consolidated into this single file (no barrel split needed for
1122
+ * an Angular helper module). Compatible with `connector-path.ts` / the
1123
+ * `ConnectorRendererComponent`: pass the returned `Point[]` to
1124
+ * `waypointsToPathD()` to obtain the SVG `d` attribute string that the
1125
+ * component renders on a `<path>`.
1126
+ *
1127
+ * Constraints kept from the React source:
1128
+ * - No `any`.
1129
+ * - No `String.prototype.replaceAll` / named regex capture groups.
1130
+ * - No `Math.random` / `Date` — fully deterministic.
1131
+ * - No Angular / Vue / React imports.
1132
+ */
1133
+ /** A 2-D point in pixel space. */
1134
+ interface Point {
1135
+ x: number;
1136
+ y: number;
1137
+ }
1138
+ /** An axis-aligned bounding rectangle in pixel space. */
1139
+ interface Rect {
1140
+ x: number;
1141
+ y: number;
1142
+ width: number;
1143
+ height: number;
1144
+ }
1145
+ /** Options for {@link routeOrthogonalConnector}. */
1146
+ interface OrthogonalRouterOptions {
1147
+ /** Start point (absolute pixel coordinates). */
1148
+ start: Point;
1149
+ /** End point (absolute pixel coordinates). */
1150
+ end: Point;
1151
+ /** Obstacle bounding boxes the path must avoid. */
1152
+ obstacles: ReadonlyArray<Rect>;
1153
+ /**
1154
+ * Width of the routing canvas (used to clip candidate nodes to valid area).
1155
+ * Defaults to a large sentinel when omitted.
1156
+ */
1157
+ canvasWidth?: number;
1158
+ /**
1159
+ * Height of the routing canvas.
1160
+ * Defaults to a large sentinel when omitted.
1161
+ */
1162
+ canvasHeight?: number;
1163
+ /**
1164
+ * Padding (in pixels) expanded around each obstacle to keep the path
1165
+ * away from obstacle edges. Default: {@link ROUTING_PADDING_DEFAULT}.
1166
+ */
1167
+ padding?: number;
1168
+ }
1169
+ /**
1170
+ * Route an orthogonal connector between `start` and `end`, avoiding all
1171
+ * `obstacles`. Returns a list of waypoints (including the start and end
1172
+ * points) that form an axis-aligned polyline.
1173
+ *
1174
+ * Strategy (fast-path first, A* as fallback):
1175
+ * 1. No obstacles → return `[start, end]` directly.
1176
+ * 2. Direct line clear → return `[start, end]`.
1177
+ * 3. Single horizontal elbow (`start → (end.x, start.y) → end`) clear → use it.
1178
+ * 4. Single vertical elbow (`start → (start.x, end.y) → end`) clear → use it.
1179
+ * 5. Full A* search on the navigation graph.
1180
+ */
1181
+ declare function routeOrthogonalConnector(start: Point, end: Point, obstacles: ReadonlyArray<Rect>, opts?: Pick<OrthogonalRouterOptions, 'canvasWidth' | 'canvasHeight' | 'padding'>): Point[];
1182
+ /**
1183
+ * Convert an array of waypoints to an SVG `path` `d` attribute string.
1184
+ *
1185
+ * Returns an empty string for an empty waypoint array, `"M x y"` for a
1186
+ * single point, and `"M x y L x1 y1 …"` for a polyline.
1187
+ *
1188
+ * This output is compatible with the `pathD` field on `ConnectorGeometry`
1189
+ * from `connector-path.ts` and can be bound directly to a `<path [attr.d]>`.
1190
+ */
1191
+ declare function waypointsToPathD(waypoints: ReadonlyArray<Point>): string;
1192
+
1102
1193
  interface TextRun {
1103
1194
  text: string;
1104
1195
  style: StyleMap;
@@ -1146,6 +1237,10 @@ declare class ElementRendererComponent {
1146
1237
  readonly element: _angular_core.InputSignal<PptxElement>;
1147
1238
  readonly mediaDataUrls: _angular_core.InputSignal<Map<string, string>>;
1148
1239
  readonly zIndex: _angular_core.InputSignal<number>;
1240
+ /** Obstacle rects (absolute slide coords) for connector A* routing. */
1241
+ readonly obstacles: _angular_core.InputSignal<readonly Rect[]>;
1242
+ readonly canvasWidth: _angular_core.InputSignal<number>;
1243
+ readonly canvasHeight: _angular_core.InputSignal<number>;
1149
1244
  readonly containerStyle: _angular_core.Signal<StyleMap>;
1150
1245
  readonly shapeContainerStyle: _angular_core.Signal<StyleMap>;
1151
1246
  readonly textStyle: _angular_core.Signal<StyleMap>;
@@ -1158,7 +1253,7 @@ declare class ElementRendererComponent {
1158
1253
  readonly placeholderLabel: _angular_core.Signal<string>;
1159
1254
  private segmentStyle;
1160
1255
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
1161
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementRendererComponent, "pptx-element-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1256
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementRendererComponent, "pptx-element-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "mediaDataUrls": { "alias": "mediaDataUrls"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1162
1257
  }
1163
1258
 
1164
1259
  /**
@@ -1172,6 +1267,17 @@ declare class ElementRendererComponent {
1172
1267
  * `ConnectorElementRenderer` path logic (basic straight-line subset).
1173
1268
  */
1174
1269
 
1270
+ /**
1271
+ * Optional obstacle-avoidance routing context for bent connectors. When
1272
+ * supplied with a non-empty obstacle list, a bent connector's elbow path is
1273
+ * replaced by an A* orthogonal route that detours around the obstacle rects
1274
+ * (absolute slide coordinates). Straight/curved connectors ignore this.
1275
+ */
1276
+ interface ConnectorRouting {
1277
+ obstacles: ReadonlyArray<Rect>;
1278
+ canvasWidth: number;
1279
+ canvasHeight: number;
1280
+ }
1175
1281
  /** Shape description for a SVG `<marker>` element (viewBox 0 0 10 10). */
1176
1282
  interface MarkerShape {
1177
1283
  shape: 'path' | 'circle';
@@ -1216,21 +1322,84 @@ interface ConnectorGeometry {
1216
1322
  * is baked into the endpoints (not a CSS transform) so arrowheads point the
1217
1323
  * right way.
1218
1324
  *
1219
- * All path/style math lives in `connector-path.ts` (pure TS, no Angular
1220
- * dependency) so it can be unit-tested without TestBed.
1325
+ * Renders straight (`<line>`), bent (elbow) and curved (Bézier) connectors via
1326
+ * `connector-path.ts`. When obstacle rects are supplied (`obstacles` input,
1327
+ * absolute slide coords), bent connectors are routed around them with an A*
1328
+ * orthogonal router. A connector's optional text label is painted on top via
1329
+ * `ConnectorTextOverlayComponent`.
1221
1330
  *
1222
- * Not yet ported (TODO, see PORTING.md): bent/curved connector routing
1223
- * (`getConnectorPathGeometry`), compound lines, connector text overlay, line
1224
- * shadows/glow. Bent/curved connectors currently fall back to a straight line.
1331
+ * All path/style math lives in `connector-path.ts` / `connector-routing.ts`
1332
+ * (pure TS, no Angular dependency) so it can be unit-tested without TestBed.
1333
+ *
1334
+ * Not yet ported (TODO, see PORTING.md): compound (double/triple) lines, line
1335
+ * shadows/glow.
1225
1336
  */
1226
1337
  declare class ConnectorRendererComponent {
1227
1338
  readonly element: _angular_core.InputSignal<PptxElement>;
1228
1339
  readonly zIndex: _angular_core.InputSignal<number>;
1340
+ /** Obstacle rects (absolute slide coords) for A* routing of bent connectors. */
1341
+ readonly obstacles: _angular_core.InputSignal<readonly Rect[]>;
1342
+ readonly canvasWidth: _angular_core.InputSignal<number>;
1343
+ readonly canvasHeight: _angular_core.InputSignal<number>;
1229
1344
  /** All derived geometry, recomputed on every input change. */
1230
1345
  readonly geo: _angular_core.Signal<ConnectorGeometry>;
1231
1346
  readonly viewBox: _angular_core.Signal<string>;
1347
+ private readonly textProps;
1348
+ readonly connectorText: _angular_core.Signal<string | undefined>;
1349
+ readonly connectorSegments: _angular_core.Signal<TextSegment[] | undefined>;
1350
+ readonly connectorTextStyle: _angular_core.Signal<TextStyle | undefined>;
1232
1351
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectorRendererComponent, never>;
1233
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectorRendererComponent, "pptx-connector-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1352
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectorRendererComponent, "pptx-connector-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "obstacles": { "alias": "obstacles"; "required": false; "isSignal": true; }; "canvasWidth": { "alias": "canvasWidth"; "required": false; "isSignal": true; }; "canvasHeight": { "alias": "canvasHeight"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1353
+ }
1354
+
1355
+ /** A `TextSegment` pre-processed with its computed inline style. */
1356
+ interface StyledSegment {
1357
+ text: string;
1358
+ style: string;
1359
+ }
1360
+ /**
1361
+ * `<pptx-connector-text-overlay>` — renders a connector's text label.
1362
+ *
1363
+ * **Usage** (inside `ConnectorRendererComponent`'s host wrapper `<div>`):
1364
+ * ```html
1365
+ * @if (hasLabel()) {
1366
+ * <pptx-connector-text-overlay
1367
+ * [text]="element().text"
1368
+ * [segments]="element().textSegments"
1369
+ * [textStyle]="element().textStyle"
1370
+ * />
1371
+ * }
1372
+ * ```
1373
+ *
1374
+ * All inputs are optional; the component renders nothing when `text` is falsy
1375
+ * or `segments` is empty.
1376
+ */
1377
+ declare class ConnectorTextOverlayComponent {
1378
+ /**
1379
+ * Trimmed plain-text label. When falsy the overlay is not rendered.
1380
+ * This is the `text` property from `ConnectorPptxElement`.
1381
+ */
1382
+ readonly text: _angular_core.InputSignal<string | undefined>;
1383
+ /**
1384
+ * Per-run rich-text segments from `ConnectorPptxElement.textSegments`.
1385
+ * When absent or empty the overlay is not rendered.
1386
+ */
1387
+ readonly segments: _angular_core.InputSignal<readonly TextSegment[] | undefined>;
1388
+ /**
1389
+ * Paragraph-level text style from `ConnectorPptxElement.textStyle`.
1390
+ * Controls alignment, default font, colour, etc.
1391
+ */
1392
+ readonly textStyle: _angular_core.InputSignal<TextStyle | undefined>;
1393
+ /** True when there is a non-empty label to display. */
1394
+ readonly hasText: _angular_core.Signal<boolean>;
1395
+ /** Inline style for the outer flex container. */
1396
+ readonly containerStyle: _angular_core.Signal<string>;
1397
+ /** Inline style for the inner paragraph block. */
1398
+ readonly blockStyle: _angular_core.Signal<string>;
1399
+ /** Pre-computed segments with their individual inline style strings. */
1400
+ readonly styledSegments: _angular_core.Signal<StyledSegment[]>;
1401
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConnectorTextOverlayComponent, never>;
1402
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConnectorTextOverlayComponent, "pptx-connector-text-overlay", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "segments": { "alias": "segments"; "required": false; "isSignal": true; }; "textStyle": { "alias": "textStyle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1234
1403
  }
1235
1404
 
1236
1405
  /**
@@ -1361,9 +1530,11 @@ declare class TableRendererComponent {
1361
1530
  * area / area3D -> polygon fill + polyline
1362
1531
  * pie / doughnut / pie3D / ofPie -> arc paths
1363
1532
  * scatter -> circle dots
1533
+ * bubble -> circle dots sized by a 3rd series
1534
+ * radar / radar3D -> polar polygons + spokes
1364
1535
  *
1365
1536
  * Deferred (fallback box rendered instead):
1366
- * bubble, radar, stock, waterfall, combo, surface, treemap, sunburst,
1537
+ * stock, waterfall, combo, surface, treemap, sunburst,
1367
1538
  * funnel, boxWhisker, histogram, regionMap, bar3D (complex 3-D shading),
1368
1539
  * error bars, trendlines, secondary axes, data tables.
1369
1540
  *
@@ -1426,12 +1597,21 @@ interface SvgText {
1426
1597
  dominantBaseline?: string;
1427
1598
  opacity?: number;
1428
1599
  }
1600
+ interface SvgPolygon {
1601
+ kind: 'polygon';
1602
+ points: string;
1603
+ fill: string;
1604
+ stroke: string;
1605
+ strokeWidth: number;
1606
+ opacity?: number;
1607
+ dashArray?: string;
1608
+ }
1429
1609
  interface SvgAreaGradient {
1430
1610
  kind: 'areaGradient';
1431
1611
  id: string;
1432
1612
  color: string;
1433
1613
  }
1434
- type SvgPrimitive = SvgRect | SvgPath | SvgPolyline | SvgCircle | SvgLine | SvgText | SvgAreaGradient;
1614
+ type SvgPrimitive = SvgRect | SvgPath | SvgPolyline | SvgCircle | SvgLine | SvgPolygon | SvgText | SvgAreaGradient;
1435
1615
  interface LegendEntry {
1436
1616
  color: string;
1437
1617
  label: string;
@@ -1465,6 +1645,7 @@ declare class ChartRendererComponent {
1465
1645
  asPolyline(p: SvgPrimitive): SvgPolyline;
1466
1646
  asCircle(p: SvgPrimitive): SvgCircle;
1467
1647
  asLine(p: SvgPrimitive): SvgLine;
1648
+ asPolygon(p: SvgPrimitive): SvgPolygon;
1468
1649
  asText(p: SvgPrimitive): SvgText;
1469
1650
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartRendererComponent, never>;
1470
1651
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartRendererComponent, "pptx-chart-renderer", never, { "element": { "alias": "element"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -4006,5 +4187,5 @@ declare function themeStyle(theme: ViewerTheme | undefined): Record<string, stri
4006
4187
  type ClassValue = string | number | false | null | undefined;
4007
4188
  declare function cn(...values: ClassValue[]): string;
4008
4189
 
4009
- export { AccessibilityPanelComponent, AccessibilityService, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartRendererComponent, CollaborationCursorsComponent, CollaborationService, CommentsPanelComponent, CommentsService, ConnectorRendererComponent, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, EMBEDDED_FONTS_STYLE_ID, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, ElementRendererComponent, EmbeddedFontsService, EquationRendererComponent, ExportService, FindBarComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkRendererComponent, InspectorPanelComponent, LoadContentService, ModalDialogComponent, Model3DRendererComponent, OleRendererComponent, PowerPointViewerComponent, PresentationOverlayComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RESIZE_HANDLES, SEVERITY_GROUPS, SEVERITY_LABELS, SLIDE_TRANSITION_KEYFRAMES, ShareDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArtRendererComponent, TYPE_LABELS, TableRendererComponent, VIEWER_THEME, ZoomRendererComponent, addCommentToList, advanceStep, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampNotesFontSize, clampStep, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, countAccessibilityIssues, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, derivePresenceList, duplicateElementById, durationOf, estimatePageCount, fontMimeForFormat, formatAutoNumber, formatCursorLabel, formatElapsed, formatPropertyDate, formatTime, generateBroadcastRoomId, generateCommentId, getContainerStyle, getImageSrc, getPatternSvg, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getTextBlockStyle, groupIssuesBySeverity, hasExistingLink, headerLabel, isInjectableUrl, isPpactionUrl, isSigned, isUrlSafe, isValidRoomId, issueTrackKey, issueTypeLabel, moveElementBy, normalizeFontFormat, normalizeSlidesPerPage, ommlToMathml, overallStatus, pendingElementStyles, presenceToCursors, provideViewerTheme, removeCommentFromList, renderToCanvas, resizeElement, resolveFontVariant, resolveHyperlinkHref, resolveParagraphBullet, resolvePresenterNotes, resolveTransitionDuration, revealedElementStyles, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, sendBackward, sendToBack, setElementPosition, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusKind, statusLabel, themeStyle, themeToCssVars, toggleCommentResolvedInList, updateElementById, validatePrintSettings, validateRoomId, worstStatus };
4010
- export type { AccessibilityIssueGroup, AnimationClickGroup, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, DocumentProperties, EmbeddedFontStyles, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresenterNotes, PrintColorMode, PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RemoteCursor, RemotePresence, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TimerProgress, ViewerTheme, ViewerThemeColors };
4190
+ export { AccessibilityPanelComponent, AccessibilityService, AnimationPanelComponent, AnimationPlaybackService, BroadcastDialogComponent, CURSOR_PALETTE, ChartRendererComponent, CollaborationCursorsComponent, CollaborationService, CommentsPanelComponent, CommentsService, ConnectorRendererComponent, ConnectorTextOverlayComponent, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, EMBEDDED_FONTS_STYLE_ID, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, ElementRendererComponent, EmbeddedFontsService, EquationRendererComponent, ExportService, FindBarComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkRendererComponent, InspectorPanelComponent, LoadContentService, ModalDialogComponent, Model3DRendererComponent, OleRendererComponent, PowerPointViewerComponent, PresentationOverlayComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, RESIZE_HANDLES, SEVERITY_GROUPS, SEVERITY_LABELS, SLIDE_TRANSITION_KEYFRAMES, ShareDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArtRendererComponent, TYPE_LABELS, TableRendererComponent, VIEWER_THEME, ZoomRendererComponent, addCommentToList, advanceStep, applyMove, applyResize, assignUserColor, bringForward, bringToFront, buildBroadcastConfig, buildBroadcastViewerUrl, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationConfig, buildCssGradientFromShapeStyle, buildEmbeddedFontStyles, buildFontFaceRule, buildHyperlinkPatch, buildPatternFillCss, buildPrintDocument, buildPropertiesPatch, buildShareUrl, bulletIndentPx, canStartBroadcast, canStartShare, canUseClipboard, clampCursorPosition, clampNotesFontSize, clampStep, cn, collectAccessibilityIssues, collectElementText, collectSlideText, computeHandoutLayout, computePageCount, computeSlideIndices, computeTimerProgress, convertOmmlToMathMl, countAccessibilityIssues, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, derivePresenceList, duplicateElementById, durationOf, estimatePageCount, fontMimeForFormat, formatAutoNumber, formatCursorLabel, formatElapsed, formatPropertyDate, formatTime, generateBroadcastRoomId, generateCommentId, getContainerStyle, getImageSrc, getPatternSvg, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getTextBlockStyle, groupIssuesBySeverity, hasExistingLink, headerLabel, isInjectableUrl, isPpactionUrl, isSigned, isUrlSafe, isValidRoomId, issueTrackKey, issueTypeLabel, moveElementBy, normalizeFontFormat, normalizeSlidesPerPage, ommlToMathml, overallStatus, pendingElementStyles, presenceToCursors, provideViewerTheme, removeCommentFromList, renderToCanvas, resizeElement, resolveFontVariant, resolveHyperlinkHref, resolveParagraphBullet, resolvePresenterNotes, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, sendBackward, sendToBack, setElementPosition, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusKind, statusLabel, themeStyle, themeToCssVars, toggleCommentResolvedInList, updateElementById, validatePrintSettings, validateRoomId, waypointsToPathD, worstStatus };
4191
+ export type { AccessibilityIssueGroup, AnimationClickGroup, Box, BroadcastConfig, BroadcastDefaults, CSSProperties, CanvasSize, ClassValue, CollaborationConfig, CollaborationRole, Rect as ConnectorObstacle, Point as ConnectorPoint, ConnectorRouting, DocumentProperties, EmbeddedFontStyles, HandoutSlidesPerPage, HyperlinkDraft, NotesSegmentViewModel, ObjectUrlFactory, OverallSignatureStatus, PresenterNotes, PrintColorMode, PrintDocumentOptions, PrintOrientation, PrintSettings, PrintSlideRange, PrintWhat, PropertiesDraft, RemoteCursor, RemotePresence, ResizeHandle, ResolvedFontVariant, ShareDefaults, ShareFormFields, SignatureStatusKind, SlideTransitionAnimations, StyleMap, TimerProgress, ViewerTheme, ViewerThemeColors };