pptx-angular-viewer 2.20.1 → 2.21.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.
@@ -13997,7 +13997,13 @@ function isoProject(x, y, z) {
13997
13997
  screenY: (x + y) * ISO_SIN30 - z,
13998
13998
  };
13999
13999
  }
14000
- /** Map a normalised value t in [0..1] to a surface colour ramp (blue-green-red). */
14000
+ /**
14001
+ * Map a normalised value t in [0..1] to a surface colour ramp (blue-green-red).
14002
+ *
14003
+ * Exported so the interactive 3D scene adapter (`surface-chart-3d-data.ts`)
14004
+ * tints its mesh with the exact same ramp as this module's flat/isometric SVG
14005
+ * fallback: one colour formula, never two to drift apart.
14006
+ */
14001
14007
  function surfaceColor(t) {
14002
14008
  return {
14003
14009
  r: Math.round(30 + 200 * t),
@@ -41193,6 +41199,185 @@ function buildDashArray(dash, strokeWidth, customDashSegments) {
41193
41199
  return getSvgStrokeDasharray(dashType, strokeWidth, segments);
41194
41200
  }
41195
41201
 
41202
+ /**
41203
+ * Orientation-aware bend geometry for multi-segment elbow connectors
41204
+ * (`bentConnector3/4/5`, `curvedConnector3/4/5`).
41205
+ *
41206
+ * PowerPoint's elbow connectors do NOT avoid obstacles (obstacle-avoiding A*
41207
+ * routing lives in `connector-router.ts` and is applied separately by
41208
+ * `connector-path.ts`, only when a binding supplies an obstacle list; that is
41209
+ * out of scope here). What they DO is pick the bend axis from the actual
41210
+ * relative position of the two connection points: a connector between shapes
41211
+ * that sit roughly side-by-side bends around a vertical mid-line (an
41212
+ * "H-V-H" Z-shape), while one between vertically-stacked shapes bends around
41213
+ * a horizontal mid-line (a "V-H-V" S-shape). The ECMA-376 `bentConnector3/4/5`
41214
+ * / `curvedConnector3/4/5` preset-geometry formulas are always expressed
41215
+ * against the connector's own local box (an `adj1` fraction of `w`, etc), so
41216
+ * the same numeric formula is reused here for both orientations; only which
41217
+ * axis plays the "primary" (adjustment-driven) role changes. This mirrors the
41218
+ * segment-count differentiation `packages/core/src/core/geometry/connector-geometry.ts`
41219
+ * already applies (2/3/4/5-segment paths from `adj1`/`adj2`/`adj3`), extended
41220
+ * with the orientation choice so a connector between stacked shapes no longer
41221
+ * renders the exact same "always exits sideways" shape as one between shapes
41222
+ * side by side.
41223
+ *
41224
+ * No framework imports.
41225
+ */
41226
+ /**
41227
+ * Normalise one of a connector's OOXML adjustment values (`adj1`/`adj2`/`adj3`,
41228
+ * falling back to the generic `adj`) to a 0..1 fraction that positions an
41229
+ * elbow bend line or curve control point. OOXML stores these in 1000ths of a
41230
+ * percent (0..100000); values already in 0..1 are passed through. Defaults to
41231
+ * `fallback` (the spec midpoint, `0.5`) when no usable adjustment is present,
41232
+ * so an explicitly authored `adj1`/`adj2`/`adj3` always wins over the
41233
+ * auto-computed default.
41234
+ */
41235
+ function connectorAdjustmentFraction(element, key, fallback = 0.5) {
41236
+ const adj = element.shapeAdjustments;
41237
+ const raw = adj?.[key] ?? adj?.adj;
41238
+ if (typeof raw !== 'number' || !Number.isFinite(raw)) {
41239
+ return fallback;
41240
+ }
41241
+ const fraction = Math.abs(raw) > 1 ? raw / 100000 : raw;
41242
+ return Math.min(1, Math.max(0, fraction));
41243
+ }
41244
+ /**
41245
+ * Normalise a connector's first adjustment value (`adj1`/`adj`) to a 0..1
41246
+ * fraction. Kept as a named entry point for `adj1` specifically (the only
41247
+ * adjustment a `bentConnector3`/`curvedConnector3` elbow uses); see
41248
+ * {@link connectorAdjustmentFraction} for `adj2`/`adj3`.
41249
+ */
41250
+ function connectorBendFraction(element) {
41251
+ return connectorAdjustmentFraction(element, 'adj1', 0.5);
41252
+ }
41253
+ /**
41254
+ * Segment count implied by a lower-cased `bentConnector*` / `curvedConnector*`
41255
+ * shape type (`bentConnector2`/`curvedConnector2` are handled by their own
41256
+ * fixed-shape branch in `connector-path.ts` before this is consulted).
41257
+ * Unknown/missing suffixes fall back to `3` (the Z-shape), matching the
41258
+ * historical behaviour for a bare `"bentConnector"` / `"curvedConnector"`.
41259
+ */
41260
+ function elbowSegmentCount(lowerShapeType) {
41261
+ if (lowerShapeType.includes('connector4')) {
41262
+ return 4;
41263
+ }
41264
+ if (lowerShapeType.includes('connector5')) {
41265
+ return 5;
41266
+ }
41267
+ return 3;
41268
+ }
41269
+ /**
41270
+ * True when the primary bend axis should run along x, i.e. the two endpoints
41271
+ * differ more in x than in y. There is no explicit connection-site "side"
41272
+ * (top/bottom/left/right) available at this layer (see `connector-path.ts`
41273
+ * module docs), so the dominant axis of the resolved endpoints is the
41274
+ * tractable, well-behaved proxy: shapes mostly side by side get a
41275
+ * vertical-mid-line route, shapes mostly stacked get a horizontal-mid-line
41276
+ * route. Ties favour horizontal, matching the historical (pre-fix) behaviour.
41277
+ */
41278
+ function isHorizontalPrimary(x1, y1, x2, y2) {
41279
+ return Math.abs(x2 - x1) >= Math.abs(y2 - y1);
41280
+ }
41281
+ /** `(u, v)` -> `(x, y)`, transposed when the secondary axis is horizontal. */
41282
+ function axisMapper(horizontalPrimary) {
41283
+ return (u, v) => (horizontalPrimary ? { x: u, y: v } : { x: v, y: u });
41284
+ }
41285
+ /**
41286
+ * Compute the bend waypoints (including the two endpoints) for a
41287
+ * `segments`-segment orthogonal elbow between `(x1,y1)` and `(x2,y2)`,
41288
+ * honouring `adj1`/`adj2`/`adj3` fractions (already normalised to 0..1 by
41289
+ * `connectorAdjustmentFraction`; explicit authored values win, 0.5 is the
41290
+ * spec default when absent).
41291
+ *
41292
+ * Segment counts mirror the OOXML presets:
41293
+ * - `3` (`bentConnector3`, Z-shape): one bend line, positioned by `adj1`.
41294
+ * - `4` (`bentConnector4`): a staircase through `adj1` (primary axis) and
41295
+ * `adj2` (secondary axis).
41296
+ * - `5` (`bentConnector5`): a staircase with two primary-axis bend lines
41297
+ * (`adj1`, `adj3`) joined by one secondary-axis crossing (`adj2`).
41298
+ */
41299
+ function elbowWaypoints(x1, y1, x2, y2, segments, adj1, adj2, adj3) {
41300
+ const horizontalPrimary = isHorizontalPrimary(x1, y1, x2, y2);
41301
+ const u1 = horizontalPrimary ? x1 : y1;
41302
+ const v1 = horizontalPrimary ? y1 : x1;
41303
+ const u2 = horizontalPrimary ? x2 : y2;
41304
+ const v2 = horizontalPrimary ? y2 : x2;
41305
+ const toXY = axisMapper(horizontalPrimary);
41306
+ if (segments === 3) {
41307
+ const mu = u1 + (u2 - u1) * adj1;
41308
+ return [toXY(u1, v1), toXY(mu, v1), toXY(mu, v2), toXY(u2, v2)];
41309
+ }
41310
+ if (segments === 4) {
41311
+ const mu = u1 + (u2 - u1) * adj1;
41312
+ const mv = v1 + (v2 - v1) * adj2;
41313
+ return [toXY(u1, v1), toXY(mu, v1), toXY(mu, mv), toXY(u2, mv), toXY(u2, v2)];
41314
+ }
41315
+ const mu1 = u1 + (u2 - u1) * adj1;
41316
+ const mv = v1 + (v2 - v1) * adj2;
41317
+ const mu2 = u1 + (u2 - u1) * adj3;
41318
+ return [toXY(u1, v1), toXY(mu1, v1), toXY(mu1, mv), toXY(mu2, mv), toXY(mu2, v2), toXY(u2, v2)];
41319
+ }
41320
+ /** Format one `RouterPoint` as `"x,y"` for inline use in an SVG path `d`. */
41321
+ function fmt(p) {
41322
+ return `${p.x},${p.y}`;
41323
+ }
41324
+ /** One cubic-Bezier path segment whose control points collapse onto `ctrl`. */
41325
+ function curveTo(ctrl, end) {
41326
+ return `C${fmt(ctrl)} ${fmt(ctrl)} ${fmt(end)}`;
41327
+ }
41328
+ /**
41329
+ * Render the same `segments`-segment elbow as a smooth path: cubic Beziers
41330
+ * whose control points sit on the elbow's own corners, so curved connectors
41331
+ * get the same orientation-aware, segment-count-aware routing as
41332
+ * {@link elbowWaypoints} while never producing a sharp corner.
41333
+ *
41334
+ * `segments === 3` emits a single cubic Bezier through the two corner points
41335
+ * (already smooth on its own, no interior breakpoint needed). `4` and `5`
41336
+ * each insert one extra breakpoint per interior corner (halfway along the
41337
+ * secondary axis) so the curve visibly bends near the corner instead of
41338
+ * overshooting it, mirroring the multi-segment cubic construction
41339
+ * `packages/core/src/core/geometry/connector-geometry.ts` uses for
41340
+ * `curvedConnector4`/`curvedConnector5`.
41341
+ */
41342
+ function curvedElbowPathD(x1, y1, x2, y2, segments, adj1, adj2, adj3) {
41343
+ const horizontalPrimary = isHorizontalPrimary(x1, y1, x2, y2);
41344
+ const u1 = horizontalPrimary ? x1 : y1;
41345
+ const v1 = horizontalPrimary ? y1 : x1;
41346
+ const u2 = horizontalPrimary ? x2 : y2;
41347
+ const v2 = horizontalPrimary ? y2 : x2;
41348
+ const toXY = axisMapper(horizontalPrimary);
41349
+ const start = toXY(u1, v1);
41350
+ if (segments === 3) {
41351
+ const mu = u1 + (u2 - u1) * adj1;
41352
+ return `M${fmt(start)} C${fmt(toXY(mu, v1))} ${fmt(toXY(mu, v2))} ${fmt(toXY(u2, v2))}`;
41353
+ }
41354
+ if (segments === 4) {
41355
+ const mu = u1 + (u2 - u1) * adj1;
41356
+ const mv = v1 + (v2 - v1) * adj2;
41357
+ const vq = v1 + (mv - v1) * 0.5;
41358
+ const midU = (mu + u2) / 2;
41359
+ return [
41360
+ `M${fmt(start)}`,
41361
+ curveTo(toXY(mu, v1), toXY(mu, vq)),
41362
+ curveTo(toXY(mu, mv), toXY(midU, mv)),
41363
+ curveTo(toXY(u2, mv), toXY(u2, v2)),
41364
+ ].join(' ');
41365
+ }
41366
+ const mu1 = u1 + (u2 - u1) * adj1;
41367
+ const mv = v1 + (v2 - v1) * adj2;
41368
+ const mu2 = u1 + (u2 - u1) * adj3;
41369
+ const vq1 = v1 + (mv - v1) * 0.5;
41370
+ const vq2 = mv + (v2 - mv) * 0.5;
41371
+ const midU = (mu1 + mu2) / 2;
41372
+ return [
41373
+ `M${fmt(start)}`,
41374
+ curveTo(toXY(mu1, v1), toXY(mu1, vq1)),
41375
+ curveTo(toXY(mu1, mv), toXY(midU, mv)),
41376
+ curveTo(toXY(mu2, mv), toXY(mu2, vq2)),
41377
+ curveTo(toXY(mu2, v2), toXY(u2, v2)),
41378
+ ].join(' ');
41379
+ }
41380
+
41196
41381
  /**
41197
41382
  * connector-hit-target.ts: how wide a connector's pointer target has to be.
41198
41383
  *
@@ -41318,7 +41503,10 @@ function buildConnectorGeometry(element, zIndex, routing) {
41318
41503
  const x2 = element.flipHorizontal ? 0 : svgW;
41319
41504
  const y2 = element.flipVertical ? 0 : svgH;
41320
41505
  const shapeType = element.shapeType;
41321
- let pathD = buildConnectorPathD(shapeType, x1, y1, x2, y2, connectorBendFraction(element));
41506
+ const bend1 = connectorAdjustmentFraction(element, 'adj1', 0.5);
41507
+ const bend2 = connectorAdjustmentFraction(element, 'adj2', 0.5);
41508
+ const bend3 = connectorAdjustmentFraction(element, 'adj3', 0.5);
41509
+ let pathD = buildConnectorPathD(shapeType, x1, y1, x2, y2, bend1, bend2, bend3);
41322
41510
  // Obstacle-avoiding A* routing for bent connectors. Routes in absolute slide
41323
41511
  // coordinates (so it can detour outside the connector's own bounding box;
41324
41512
  // the SVG uses `overflow: visible`), then translates waypoints back to
@@ -41381,51 +41569,52 @@ function buildConnectorGeometry(element, zIndex, routing) {
41381
41569
  wrapperStyle,
41382
41570
  };
41383
41571
  }
41384
- /**
41385
- * Normalise a connector's first adjustment value (`adj1`/`adj`) to a 0..1
41386
- * fraction that positions the elbow / curve mid-axis. OOXML stores these in
41387
- * 1000ths of a percent (0..100000); values already in 0..1 are passed through.
41388
- * Defaults to the midpoint (`0.5`) when no usable adjustment is present.
41389
- */
41390
- function connectorBendFraction(element) {
41391
- const adj = element.shapeAdjustments;
41392
- const raw = adj?.adj1 ?? adj?.adj;
41393
- if (typeof raw !== 'number' || !Number.isFinite(raw)) {
41394
- return 0.5;
41395
- }
41396
- const fraction = Math.abs(raw) > 1 ? raw / 100000 : raw;
41397
- return Math.min(1, Math.max(0, fraction));
41398
- }
41399
41572
  /**
41400
41573
  * Build the SVG `path` data for a bent or curved connector, or `undefined`
41401
41574
  * for straight connectors (which render as a `<line>`). Endpoints are already
41402
41575
  * flip-adjusted by the caller.
41403
41576
  *
41404
- * Viewer-first approximation (full A* routing is a TODO):
41577
+ * PowerPoint's elbow connectors do not avoid obstacles (that A* routing is
41578
+ * applied separately by {@link buildConnectorGeometry} when a binding
41579
+ * supplies an obstacle list). What they DO is pick the bend axis from the
41580
+ * actual relative position of the two endpoints, and use the OOXML preset's
41581
+ * full segment count and adjustment values rather than collapsing every
41582
+ * `bentConnector3/4/5` (and `curvedConnector3/4/5`) into the same shape; see
41583
+ * `connector-elbow-geometry.ts` for the orientation/segment-count formulas
41584
+ * (mirroring `packages/core/src/core/geometry/connector-geometry.ts`'s
41585
+ * per-segment-count treatment, extended with the orientation choice):
41405
41586
  * - **bent**: orthogonal elbow polyline. `bentConnector2` is a single L-bend;
41406
- * `bentConnector3..5` route through a vertical mid-axis at `bend`.
41407
- * - **curved**: `curvedConnector2` is a quadratic Bezier; `curvedConnector3..5`
41408
- * are a cubic S-curve with control points on the mid-axis.
41409
- */
41410
- function buildConnectorPathD(shapeType, x1, y1, x2, y2, bend) {
41587
+ * `bentConnector3` is a 2-bend Z routed through one adjustment (`adj1`);
41588
+ * `bentConnector4` is a 3-bend staircase (`adj1`, `adj2`); `bentConnector5`
41589
+ * is a 4-bend staircase (`adj1`, `adj2`, `adj3`).
41590
+ * - **curved**: `curvedConnector2` is a quadratic Bezier; `curvedConnector3/4/5`
41591
+ * are the same elbow shapes rendered as smooth cubic Beziers instead of
41592
+ * sharp corners.
41593
+ *
41594
+ * `bend2`/`bend3` are optional so existing 6-argument call sites (which only
41595
+ * ever needed `bentConnector2/3` / `curvedConnector2/3`) keep compiling and
41596
+ * producing identical output; they default to the spec midpoint (`0.5`).
41597
+ */
41598
+ function buildConnectorPathD(shapeType, x1, y1, x2, y2, bend, bend2 = 0.5, bend3 = 0.5) {
41411
41599
  const kind = connectorKind(shapeType);
41412
41600
  if (kind === 'straight') {
41413
41601
  return undefined;
41414
41602
  }
41415
41603
  const t = (shapeType ?? '').toLowerCase();
41416
- // x of the vertical mid-axis the elbow / control points pivot around.
41417
- const mx = x1 + (x2 - x1) * bend;
41418
41604
  if (kind === 'bent') {
41419
41605
  if (t.includes('bentconnector2')) {
41420
41606
  return `M${x1},${y1} L${x2},${y1} L${x2},${y2}`;
41421
41607
  }
41422
- return `M${x1},${y1} L${mx},${y1} L${mx},${y2} L${x2},${y2}`;
41608
+ const segments = elbowSegmentCount(t);
41609
+ const points = elbowWaypoints(x1, y1, x2, y2, segments, bend, bend2, bend3);
41610
+ return waypointsToPathD(points);
41423
41611
  }
41424
41612
  // curved
41425
41613
  if (t.includes('curvedconnector2')) {
41426
41614
  return `M${x1},${y1} Q${x2},${y1} ${x2},${y2}`;
41427
41615
  }
41428
- return `M${x1},${y1} C${mx},${y1} ${mx},${y2} ${x2},${y2}`;
41616
+ const segments = elbowSegmentCount(t);
41617
+ return curvedElbowPathD(x1, y1, x2, y2, segments, bend, bend2, bend3);
41429
41618
  }
41430
41619
  /**
41431
41620
  * Build the inline `style` string for the connector wrapper `<div>`.
@@ -50983,6 +51172,95 @@ async function mountSurfaceChart3D(container, options) {
50983
51172
  };
50984
51173
  }
50985
51174
 
51175
+ var surfaceChart3dScene = /*#__PURE__*/Object.freeze({
51176
+ __proto__: null,
51177
+ SURFACE_THREE_UNAVAILABLE: SURFACE_THREE_UNAVAILABLE,
51178
+ mountSurfaceChart3D: mountSurfaceChart3D
51179
+ });
51180
+
51181
+ /**
51182
+ * Adapts a chart's `PptxChartData` into the flat typed-array grid the
51183
+ * interactive 3D surface scene ({@link ./surface-chart-3d-scene.ts},
51184
+ * `mountSurfaceChart3D`) needs to mount.
51185
+ *
51186
+ * The SVG surface renderer (`chart-surface-treemap.ts`) and this adapter both
51187
+ * normalise values the same way (`computeValueRange` + `surfaceColor`), so the
51188
+ * 3D view's colour ramp matches the 2D fallback exactly: one set of chart
51189
+ * maths, two presentations.
51190
+ *
51191
+ * @module surface-chart-3d-data
51192
+ */
51193
+ /**
51194
+ * Build the {@link SurfaceChart3DSceneOptions} `mountSurfaceChart3D` needs from
51195
+ * a chart element's data, or `null` when the chart has no plottable grid (no
51196
+ * series, or every series has zero categories).
51197
+ */
51198
+ function buildSurfaceChart3DData(chartData, categoryLabels, options) {
51199
+ const seriesCount = chartData.series.length;
51200
+ const catCount = categoryLabels.length;
51201
+ if (seriesCount === 0 || catCount === 0) {
51202
+ return null;
51203
+ }
51204
+ const range = computeValueRange(chartData.series);
51205
+ const heightMap = new Float32Array(seriesCount * catCount);
51206
+ const colorMap = new Float32Array(seriesCount * catCount * 3);
51207
+ for (let row = 0; row < seriesCount; row++) {
51208
+ for (let col = 0; col < catCount; col++) {
51209
+ const idx = row * catCount + col;
51210
+ const val = chartData.series[row]?.values[col] ?? 0;
51211
+ const t = range.span > 0 ? (val - range.min) / range.span : 0;
51212
+ heightMap[idx] = t;
51213
+ const { r, g, b } = surfaceColor(t);
51214
+ const ci = idx * 3;
51215
+ colorMap[ci] = r / 255;
51216
+ colorMap[ci + 1] = g / 255;
51217
+ colorMap[ci + 2] = b / 255;
51218
+ }
51219
+ }
51220
+ return {
51221
+ cols: catCount,
51222
+ rows: seriesCount,
51223
+ heightMap,
51224
+ colorMap,
51225
+ wireframe: options.wireframe ?? true,
51226
+ categoryLabels,
51227
+ seriesNames: chartData.series.map((s) => s.name),
51228
+ width: options.width,
51229
+ height: options.height,
51230
+ };
51231
+ }
51232
+ /**
51233
+ * Single decision point every binding calls to decide whether a chart element
51234
+ * should mount the interactive 3D surface scene: resolves the chart kind, the
51235
+ * category-label fallback (mirrors `buildChartViewModel`'s `categoryLabels`
51236
+ * derivation exactly, so 2D and 3D never disagree about what a category is
51237
+ * called), and the 3D grid, in one place.
51238
+ *
51239
+ * Returns `null` when the element is not a chart, its kind does not resolve to
51240
+ * `surface` (covers both `surface` and `surface3D` `c:chartType`s), or the
51241
+ * chart has no plottable grid. Callers gate the 3D scene on this alone; a
51242
+ * non-null result means "render the WebGL view", `null` means "fall back to
51243
+ * the SVG isometric/flat surface renderer".
51244
+ */
51245
+ function buildSurfaceChart3DDataForElement(element, options) {
51246
+ if (element.type !== 'chart') {
51247
+ return null;
51248
+ }
51249
+ const chartEl = element;
51250
+ const chartData = chartEl.chartData;
51251
+ if (!chartData || chartData.series.length === 0) {
51252
+ return null;
51253
+ }
51254
+ if (resolveChartKind(chartData.chartType ?? 'bar') !== 'surface') {
51255
+ return null;
51256
+ }
51257
+ const longestLen = chartData.series.reduce((m, s) => Math.max(m, s.values.length), 0);
51258
+ const categoryLabels = chartData.categories.length > 0
51259
+ ? chartData.categories
51260
+ : Array.from({ length: longestLen }, (_, i) => String(i + 1));
51261
+ return buildSurfaceChart3DData(chartData, categoryLabels, options);
51262
+ }
51263
+
50986
51264
  /**
50987
51265
  * Word wrapping for contexts where the real glyph advances cannot be measured.
50988
51266
  *
@@ -71402,7 +71680,7 @@ function createLocalStorageBackend(namespace) {
71402
71680
  /** Try IndexedDB first; fall back to localStorage on any failure. */
71403
71681
  async function resolveBackend(dbName, namespace) {
71404
71682
  try {
71405
- const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-jiV5SRr_.mjs');
71683
+ const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-_NfpGrUm.mjs');
71406
71684
  const db = await openChatDb(dbName);
71407
71685
  return createIdbBackend(db);
71408
71686
  }
@@ -81757,6 +82035,162 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
81757
82035
  }]
81758
82036
  }], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: true }] }] } });
81759
82037
 
82038
+ /**
82039
+ * SurfaceChart3DRendererComponent: Angular interactive 3D surface-chart view.
82040
+ *
82041
+ * When the chart resolves to a plottable grid (see
82042
+ * {@link buildSurfaceChart3DDataForElement}) and the optional `three` peer
82043
+ * dependency is installed, this mounts the shared, framework-agnostic
82044
+ * vanilla-three controller ({@link MountSurfaceChart3D} from
82045
+ * `pptx-viewer-shared`) into a container `<div>` for a camera-orbitable
82046
+ * surface mesh (OrbitControls: drag to rotate, scroll to zoom). The
82047
+ * controller's scene runtime (and `three`) is imported lazily via dynamic
82048
+ * `import()` so it never lands in the main bundle.
82049
+ *
82050
+ * Falls back to the plain SVG `<pptx-chart-renderer>` when:
82051
+ * - the chart has no plottable grid,
82052
+ * - `three` is not installed (`mountSurfaceChart3D` resolves to the
82053
+ * `ok: false` sentinel),
82054
+ * - or the scene fails to load.
82055
+ *
82056
+ * Marks are not selectable/draggable in this mode: a mesh facet has no 2D
82057
+ * screen geometry to hit-test against, so value-drag editing stays SVG-only
82058
+ * (`ChartElementViewComponent` only mounts this component when NOT editing
82059
+ * marks would matter, i.e. it swaps in for the plain renderer, not the
82060
+ * interactive one).
82061
+ */
82062
+ class SurfaceChart3DRendererComponent {
82063
+ constructor() {
82064
+ this.element = input.required(/* @ts-ignore */
82065
+ ...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
82066
+ this.sceneRef = viewChild('scene', /* @ts-ignore */
82067
+ ...(ngDevMode ? [{ debugName: "sceneRef" }] : /* istanbul ignore next */ []));
82068
+ /** Pure grid data for the current element, or `null` when not plottable. */
82069
+ this.options = computed(() => buildSurfaceChart3DDataForElement(this.element(), {
82070
+ width: this.element().width,
82071
+ height: this.element().height,
82072
+ }), /* @ts-ignore */
82073
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
82074
+ this.sceneStyle = computed(() => ({
82075
+ width: `${this.element().width}px`,
82076
+ height: `${this.element().height}px`,
82077
+ }), /* @ts-ignore */
82078
+ ...(ngDevMode ? [{ debugName: "sceneStyle" }] : /* istanbul ignore next */ []));
82079
+ /** Lazily-loaded shared mount fn; `null` until the scene runtime resolves. */
82080
+ this.mountFn = signal(null, /* @ts-ignore */
82081
+ ...(ngDevMode ? [{ debugName: "mountFn" }] : /* istanbul ignore next */ []));
82082
+ /** `true` once a grid is mountable and the runtime has not failed. */
82083
+ this.showScene = computed(() => this.options() !== null && !this.failed(), /* @ts-ignore */
82084
+ ...(ngDevMode ? [{ debugName: "showScene" }] : /* istanbul ignore next */ []));
82085
+ /** Set when `three` is missing or the scene failed to load: forces the SVG fallback. */
82086
+ this.failed = signal(false, /* @ts-ignore */
82087
+ ...(ngDevMode ? [{ debugName: "failed" }] : /* istanbul ignore next */ []));
82088
+ this.handle = null;
82089
+ /** The options identity the live handle was mounted with. */
82090
+ this.mountedOptions = null;
82091
+ afterNextRender(() => void this.loadScene());
82092
+ // Mount when the scene container exists, the runtime has loaded, and we
82093
+ // have (new) grid data. Re-mounts when the underlying data changes.
82094
+ effect(() => {
82095
+ const container = this.sceneRef()?.nativeElement;
82096
+ const fn = this.mountFn();
82097
+ const opts = this.options();
82098
+ if (!container || !fn || !opts) {
82099
+ return;
82100
+ }
82101
+ if (this.mountedOptions === opts && this.handle) {
82102
+ return;
82103
+ }
82104
+ this.mount(fn, container, opts);
82105
+ });
82106
+ // Push size changes to the live handle without re-mounting.
82107
+ effect(() => {
82108
+ const opts = this.options();
82109
+ if (opts) {
82110
+ this.handle?.resize(opts.width, opts.height);
82111
+ }
82112
+ });
82113
+ }
82114
+ async loadScene() {
82115
+ if (!this.options()) {
82116
+ return; // No plottable grid: stay on the SVG fallback.
82117
+ }
82118
+ try {
82119
+ const mod = await Promise.resolve().then(function () { return surfaceChart3dScene; });
82120
+ this.mountFn.set(mod.mountSurfaceChart3D);
82121
+ }
82122
+ catch {
82123
+ this.failed.set(true);
82124
+ }
82125
+ }
82126
+ mount(fn, container, options) {
82127
+ this.teardownHandle();
82128
+ this.mountedOptions = options;
82129
+ void fn(container, options).then((handle) => {
82130
+ // Newer data (or a teardown) superseded this mount while loading.
82131
+ if (this.mountedOptions !== options) {
82132
+ handle.dispose();
82133
+ return undefined;
82134
+ }
82135
+ if (!handle.ok) {
82136
+ handle.dispose();
82137
+ this.failed.set(true);
82138
+ this.mountedOptions = null;
82139
+ return undefined;
82140
+ }
82141
+ this.handle = handle;
82142
+ return undefined;
82143
+ });
82144
+ }
82145
+ teardownHandle() {
82146
+ this.handle?.dispose();
82147
+ this.handle = null;
82148
+ }
82149
+ ngOnDestroy() {
82150
+ this.teardownHandle();
82151
+ }
82152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SurfaceChart3DRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SurfaceChart3DRendererComponent, isStandalone: true, selector: "pptx-surface-chart-3d-renderer", inputs: { element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "sceneRef", first: true, predicate: ["scene"], descendants: true, isSignal: true }], ngImport: i0, template: `
82154
+ @if (showScene()) {
82155
+ <div #scene class="pptx-ng-surface-chart-3d-scene" [ngStyle]="sceneStyle()"></div>
82156
+ } @else {
82157
+ <pptx-chart-renderer [element]="element()" />
82158
+ }
82159
+ `, isInline: true, styles: [".pptx-ng-surface-chart-3d-scene{width:100%;height:100%;display:block}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ChartRendererComponent, selector: "pptx-chart-renderer", inputs: ["element"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82160
+ }
82161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SurfaceChart3DRendererComponent, decorators: [{
82162
+ type: Component,
82163
+ args: [{ selector: 'pptx-surface-chart-3d-renderer', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgStyle, ChartRendererComponent], template: `
82164
+ @if (showScene()) {
82165
+ <div #scene class="pptx-ng-surface-chart-3d-scene" [ngStyle]="sceneStyle()"></div>
82166
+ } @else {
82167
+ <pptx-chart-renderer [element]="element()" />
82168
+ }
82169
+ `, styles: [".pptx-ng-surface-chart-3d-scene{width:100%;height:100%;display:block}\n"] }]
82170
+ }], ctorParameters: () => [], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: true }] }], sceneRef: [{ type: i0.ViewChild, args: ['scene', { isSignal: true }] }] } });
82171
+
82172
+ /**
82173
+ * Opt-in flag for the Three.js interactive surface-chart renderer (Angular).
82174
+ *
82175
+ * Provided by `PowerPointViewerComponent`, which syncs it from the
82176
+ * `surfaceChart3D` input; `ChartElementViewComponent` injects it (optionally)
82177
+ * to choose the WebGL scene (camera orbit/zoom via OrbitControls) over the
82178
+ * static SVG isometric projection for `surface`/`surface3D` charts. Mirrors
82179
+ * `SmartArt3DService`, the established shape for this opt-in pattern.
82180
+ */
82181
+ class SurfaceChart3DService {
82182
+ constructor() {
82183
+ /** `true` when a surface chart should render via the Three.js scene. */
82184
+ this.enabled = signal(false, /* @ts-ignore */
82185
+ ...(ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []));
82186
+ }
82187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SurfaceChart3DService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82188
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SurfaceChart3DService }); }
82189
+ }
82190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SurfaceChart3DService, decorators: [{
82191
+ type: Injectable
82192
+ }] });
82193
+
81760
82194
  /* oxlint-disable eslint/one-var -- pervasive pre-existing pattern in this file:
81761
82195
  independent handler-local `const`s, not one statement */
81762
82196
  /**
@@ -81799,6 +82233,8 @@ class ChartElementViewComponent {
81799
82233
  this.partSelection = inject(ChartPartSelectionService, { optional: true });
81800
82234
  /** The hosting canvas's slide, for resolving template (master/layout) charts. */
81801
82235
  this.slideContext = inject(SLIDE_CONTEXT, { optional: true });
82236
+ /** Viewer-scoped opt-in flag for the interactive 3D surface-chart renderer. */
82237
+ this.surfaceChart3DSvc = inject(SurfaceChart3DService, { optional: true });
81802
82238
  this.injector = inject(Injector);
81803
82239
  this.wrapper = viewChild('wrapper', /* @ts-ignore */
81804
82240
  ...(ngDevMode ? [{ debugName: "wrapper" }] : /* istanbul ignore next */ []));
@@ -81820,6 +82256,15 @@ class ChartElementViewComponent {
81820
82256
  return el.type === 'chart' ? el.chartData : undefined;
81821
82257
  }, /* @ts-ignore */
81822
82258
  ...(ngDevMode ? [{ debugName: "chartData" }] : /* istanbul ignore next */ []));
82259
+ /**
82260
+ * Opt-in interactive 3D surface scene (camera orbit/zoom via OrbitControls).
82261
+ * Marks are not selectable/draggable in this mode: a mesh facet has no 2D
82262
+ * screen geometry to hit-test against, so value-drag editing stays SVG-only.
82263
+ */
82264
+ this.use3D = computed(() => this.surfaceChart3DSvc?.enabled() ?? false, /* @ts-ignore */
82265
+ ...(ngDevMode ? [{ debugName: "use3D" }] : /* istanbul ignore next */ []));
82266
+ this.isSurfaceKind = computed(() => resolveChartKind(this.chartData()?.chartType ?? 'bar') === 'surface', /* @ts-ignore */
82267
+ ...(ngDevMode ? [{ debugName: "isSurfaceKind" }] : /* istanbul ignore next */ []));
81823
82268
  /** Whether this chart element is currently selected in the editor. */
81824
82269
  this.isSelected = computed(() => this.editor?.selectedIds().includes(this.element().id) ?? false, /* @ts-ignore */
81825
82270
  ...(ngDevMode ? [{ debugName: "isSelected" }] : /* istanbul ignore next */ []));
@@ -82026,7 +82471,11 @@ class ChartElementViewComponent {
82026
82471
  (pointerup)="onPointerUp()"
82027
82472
  (dblclick)="onDblClick($event)"
82028
82473
  >
82029
- <pptx-chart-renderer [element]="renderedElement()" />
82474
+ @if (use3D() && isSurfaceKind()) {
82475
+ <pptx-surface-chart-3d-renderer [element]="renderedElement()" />
82476
+ } @else {
82477
+ <pptx-chart-renderer [element]="renderedElement()" />
82478
+ }
82030
82479
  @if (dragValue() !== null) {
82031
82480
  <div class="pptx-ng-chart-drag-badge">{{ dragBadge() }}</div>
82032
82481
  }
@@ -82044,7 +82493,7 @@ class ChartElementViewComponent {
82044
82493
  />
82045
82494
  }
82046
82495
  </div>
82047
- `, isInline: true, dependencies: [{ kind: "component", type: ChartRendererComponent, selector: "pptx-chart-renderer", inputs: ["element"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82496
+ `, isInline: true, dependencies: [{ kind: "component", type: ChartRendererComponent, selector: "pptx-chart-renderer", inputs: ["element"] }, { kind: "component", type: SurfaceChart3DRendererComponent, selector: "pptx-surface-chart-3d-renderer", inputs: ["element"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82048
82497
  }
82049
82498
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ChartElementViewComponent, decorators: [{
82050
82499
  type: Component,
@@ -82052,7 +82501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
82052
82501
  selector: 'pptx-chart-element-view',
82053
82502
  standalone: true,
82054
82503
  changeDetection: ChangeDetectionStrategy.OnPush,
82055
- imports: [ChartRendererComponent],
82504
+ imports: [ChartRendererComponent, SurfaceChart3DRendererComponent],
82056
82505
  template: `
82057
82506
  <div
82058
82507
  #wrapper
@@ -82063,7 +82512,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
82063
82512
  (pointerup)="onPointerUp()"
82064
82513
  (dblclick)="onDblClick($event)"
82065
82514
  >
82066
- <pptx-chart-renderer [element]="renderedElement()" />
82515
+ @if (use3D() && isSurfaceKind()) {
82516
+ <pptx-surface-chart-3d-renderer [element]="renderedElement()" />
82517
+ } @else {
82518
+ <pptx-chart-renderer [element]="renderedElement()" />
82519
+ }
82067
82520
  @if (dragValue() !== null) {
82068
82521
  <div class="pptx-ng-chart-drag-badge">{{ dragBadge() }}</div>
82069
82522
  }
@@ -95635,6 +96088,7 @@ const POWER_POINT_VIEWER_PROVIDERS = [
95635
96088
  PrintService,
95636
96089
  IsMobileService,
95637
96090
  SmartArt3DService,
96091
+ SurfaceChart3DService,
95638
96092
  FieldContextService,
95639
96093
  ZoomTargetService,
95640
96094
  AiPanelStore,
@@ -105249,7 +105703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
105249
105703
  }], propDecorators: { canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: false }] }], selectedElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedElement", required: false }] }] } });
105250
105704
 
105251
105705
  // Generated by scripts/inline-shared.mjs from package.json. Do not edit.
105252
- const PPTX_ANGULAR_VIEWER_VERSION = "2.20.0";
105706
+ const PPTX_ANGULAR_VIEWER_VERSION = "2.20.1";
105253
105707
 
105254
105708
  /**
105255
105709
  * account-page.component.ts: File > Account content.
@@ -132983,6 +133437,17 @@ class PowerPointViewerComponent {
132983
133437
  */
132984
133438
  this.smartArt3D = input(false, /* @ts-ignore */
132985
133439
  ...(ngDevMode ? [{ debugName: "smartArt3D" }] : /* istanbul ignore next */ []));
133440
+ /**
133441
+ * Opt in to the interactive Three.js surface-chart renderer. When `true`,
133442
+ * `surface`/`surface3D` charts render as a camera-orbitable WebGL mesh
133443
+ * (drag to rotate, scroll to zoom) instead of the static SVG isometric
133444
+ * projection. Chart marks are not selectable/draggable in this mode.
133445
+ * Requires the optional `three` peer dependency; when it is not installed
133446
+ * (or the chart has no plottable grid), the viewer transparently falls back
133447
+ * to the SVG surface renderer. Default `false`.
133448
+ */
133449
+ this.surfaceChart3D = input(false, /* @ts-ignore */
133450
+ ...(ngDevMode ? [{ debugName: "surfaceChart3D" }] : /* istanbul ignore next */ []));
132986
133451
  /**
132987
133452
  * Toolbar buttons and ribbon tabs the host wants hidden (share, broadcast,
132988
133453
  * export, undo, redo, record, notes, fullscreen, zoom, navigation, or any
@@ -133033,6 +133498,7 @@ class PowerPointViewerComponent {
133033
133498
  this.print = inject(PrintService);
133034
133499
  this.mobile = inject(IsMobileService);
133035
133500
  this.smartArt3DSvc = inject(SmartArt3DService);
133501
+ this.surfaceChart3DSvc = inject(SurfaceChart3DService);
133036
133502
  this.zoomTarget = inject(ZoomTargetService);
133037
133503
  this.presenterWindow = inject(PresenterWindowService);
133038
133504
  this.destroyRef = inject(DestroyRef);
@@ -133478,6 +133944,11 @@ class PowerPointViewerComponent {
133478
133944
  effect(() => {
133479
133945
  this.smartArt3DSvc.enabled.set(this.smartArt3D());
133480
133946
  });
133947
+ // Surface the `surfaceChart3D` opt-in to the chart element view via the
133948
+ // viewer-scoped SurfaceChart3DService.
133949
+ effect(() => {
133950
+ this.surfaceChart3DSvc.enabled.set(this.surfaceChart3D());
133951
+ });
133481
133952
  // A new host `content` input supersedes any in-place picked file.
133482
133953
  effect(() => {
133483
133954
  this.content();
@@ -134559,7 +135030,7 @@ class PowerPointViewerComponent {
134559
135030
  return (this.mainEl()?.nativeElement.querySelector('.pptx-ng-canvas-stage') ?? undefined);
134560
135031
  }
134561
135032
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: PowerPointViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
134562
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: PowerPointViewerComponent, isStandalone: true, selector: "pptx-viewer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, fontsInput: { classPropertyName: "fontsInput", publicName: "fonts", isSignal: true, isRequired: false, transformFunction: null }, canEditInput: { classPropertyName: "canEditInput", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, defaultThemeKey: { classPropertyName: "defaultThemeKey", publicName: "defaultThemeKey", isSignal: true, isRequired: false, transformFunction: null }, availableThemes: { classPropertyName: "availableThemes", publicName: "availableThemes", isSignal: true, isRequired: false, transformFunction: null }, onThemeChange: { classPropertyName: "onThemeChange", publicName: "onThemeChange", isSignal: true, isRequired: false, transformFunction: null }, defaultLocale: { classPropertyName: "defaultLocale", publicName: "defaultLocale", isSignal: true, isRequired: false, transformFunction: null }, availableLocales: { classPropertyName: "availableLocales", publicName: "availableLocales", isSignal: true, isRequired: false, transformFunction: null }, onLocaleChange: { classPropertyName: "onLocaleChange", publicName: "onLocaleChange", isSignal: true, isRequired: false, transformFunction: null }, accountAuth: { classPropertyName: "accountAuth", publicName: "accountAuth", isSignal: true, isRequired: false, transformFunction: null }, filePath: { classPropertyName: "filePath", publicName: "filePath", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, autosaveInput: { classPropertyName: "autosaveInput", publicName: "autosave", isSignal: true, isRequired: false, transformFunction: null }, autosaveIntervalMs: { classPropertyName: "autosaveIntervalMs", publicName: "autosaveIntervalMs", isSignal: true, isRequired: false, transformFunction: null }, collaboration: { classPropertyName: "collaboration", publicName: "collaboration", isSignal: true, isRequired: false, transformFunction: null }, authorName: { classPropertyName: "authorName", publicName: "authorName", isSignal: true, isRequired: false, transformFunction: null }, shareDefaults: { classPropertyName: "shareDefaults", publicName: "shareDefaults", isSignal: true, isRequired: false, transformFunction: null }, onOpenFile: { classPropertyName: "onOpenFile", publicName: "onOpenFile", isSignal: true, isRequired: false, transformFunction: null }, smartArt3D: { classPropertyName: "smartArt3D", publicName: "smartArt3D", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, ai: { classPropertyName: "ai", publicName: "ai", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeSlideChange: "activeSlideChange", dirtyChange: "dirtyChange", contentChange: "contentChange", propertiesChange: "propertiesChange", modeChange: "modeChange", zoomChange: "zoomChange", selectionChange: "selectionChange", slideCountChange: "slideCountChange", startCollaboration: "startCollaboration", stopCollaboration: "stopCollaboration" }, host: { listeners: { "document:keydown": "onKeyDown($event)" } }, providers: [...POWER_POINT_VIEWER_PROVIDERS], viewQueries: [{ propertyName: "extraDialogs", first: true, predicate: ViewerExtraDialogsComponent, descendants: true, isSignal: true }, { propertyName: "mainEl", first: true, predicate: ["mainEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
135033
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: PowerPointViewerComponent, isStandalone: true, selector: "pptx-viewer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, fontsInput: { classPropertyName: "fontsInput", publicName: "fonts", isSignal: true, isRequired: false, transformFunction: null }, canEditInput: { classPropertyName: "canEditInput", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, defaultThemeKey: { classPropertyName: "defaultThemeKey", publicName: "defaultThemeKey", isSignal: true, isRequired: false, transformFunction: null }, availableThemes: { classPropertyName: "availableThemes", publicName: "availableThemes", isSignal: true, isRequired: false, transformFunction: null }, onThemeChange: { classPropertyName: "onThemeChange", publicName: "onThemeChange", isSignal: true, isRequired: false, transformFunction: null }, defaultLocale: { classPropertyName: "defaultLocale", publicName: "defaultLocale", isSignal: true, isRequired: false, transformFunction: null }, availableLocales: { classPropertyName: "availableLocales", publicName: "availableLocales", isSignal: true, isRequired: false, transformFunction: null }, onLocaleChange: { classPropertyName: "onLocaleChange", publicName: "onLocaleChange", isSignal: true, isRequired: false, transformFunction: null }, accountAuth: { classPropertyName: "accountAuth", publicName: "accountAuth", isSignal: true, isRequired: false, transformFunction: null }, filePath: { classPropertyName: "filePath", publicName: "filePath", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, autosaveInput: { classPropertyName: "autosaveInput", publicName: "autosave", isSignal: true, isRequired: false, transformFunction: null }, autosaveIntervalMs: { classPropertyName: "autosaveIntervalMs", publicName: "autosaveIntervalMs", isSignal: true, isRequired: false, transformFunction: null }, collaboration: { classPropertyName: "collaboration", publicName: "collaboration", isSignal: true, isRequired: false, transformFunction: null }, authorName: { classPropertyName: "authorName", publicName: "authorName", isSignal: true, isRequired: false, transformFunction: null }, shareDefaults: { classPropertyName: "shareDefaults", publicName: "shareDefaults", isSignal: true, isRequired: false, transformFunction: null }, onOpenFile: { classPropertyName: "onOpenFile", publicName: "onOpenFile", isSignal: true, isRequired: false, transformFunction: null }, smartArt3D: { classPropertyName: "smartArt3D", publicName: "smartArt3D", isSignal: true, isRequired: false, transformFunction: null }, surfaceChart3D: { classPropertyName: "surfaceChart3D", publicName: "surfaceChart3D", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, ai: { classPropertyName: "ai", publicName: "ai", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeSlideChange: "activeSlideChange", dirtyChange: "dirtyChange", contentChange: "contentChange", propertiesChange: "propertiesChange", modeChange: "modeChange", zoomChange: "zoomChange", selectionChange: "selectionChange", slideCountChange: "slideCountChange", startCollaboration: "startCollaboration", stopCollaboration: "stopCollaboration" }, host: { listeners: { "document:keydown": "onKeyDown($event)" } }, providers: [...POWER_POINT_VIEWER_PROVIDERS], viewQueries: [{ propertyName: "extraDialogs", first: true, predicate: ViewerExtraDialogsComponent, descendants: true, isSignal: true }, { propertyName: "mainEl", first: true, predicate: ["mainEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
134563
135034
  <div
134564
135035
  class="pptx-ng-viewer"
134565
135036
  [ngClass]="rootClasses()"
@@ -136377,7 +136848,7 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.1.2", ng
136377
136848
  </div>
136378
136849
  `,
136379
136850
  }]
136380
- }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], fontsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "fonts", required: false }] }], canEditInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], defaultThemeKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultThemeKey", required: false }] }], availableThemes: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableThemes", required: false }] }], onThemeChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "onThemeChange", required: false }] }], defaultLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultLocale", required: false }] }], availableLocales: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableLocales", required: false }] }], onLocaleChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "onLocaleChange", required: false }] }], accountAuth: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountAuth", required: false }] }], filePath: [{ type: i0.Input, args: [{ isSignal: true, alias: "filePath", required: false }] }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], autosaveInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosave", required: false }] }], autosaveIntervalMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosaveIntervalMs", required: false }] }], collaboration: [{ type: i0.Input, args: [{ isSignal: true, alias: "collaboration", required: false }] }], authorName: [{ type: i0.Input, args: [{ isSignal: true, alias: "authorName", required: false }] }], shareDefaults: [{ type: i0.Input, args: [{ isSignal: true, alias: "shareDefaults", required: false }] }], onOpenFile: [{ type: i0.Input, args: [{ isSignal: true, alias: "onOpenFile", required: false }] }], smartArt3D: [{ type: i0.Input, args: [{ isSignal: true, alias: "smartArt3D", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], ai: [{ type: i0.Input, args: [{ isSignal: true, alias: "ai", required: false }] }], activeSlideChange: [{ type: i0.Output, args: ["activeSlideChange"] }], dirtyChange: [{ type: i0.Output, args: ["dirtyChange"] }], contentChange: [{ type: i0.Output, args: ["contentChange"] }], propertiesChange: [{ type: i0.Output, args: ["propertiesChange"] }], modeChange: [{ type: i0.Output, args: ["modeChange"] }], zoomChange: [{ type: i0.Output, args: ["zoomChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], slideCountChange: [{ type: i0.Output, args: ["slideCountChange"] }], startCollaboration: [{ type: i0.Output, args: ["startCollaboration"] }], stopCollaboration: [{ type: i0.Output, args: ["stopCollaboration"] }], extraDialogs: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ViewerExtraDialogsComponent), { isSignal: true }] }], mainEl: [{ type: i0.ViewChild, args: ['mainEl', { isSignal: true }] }], onKeyDown: [{
136851
+ }], ctorParameters: () => [], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], fontsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "fonts", required: false }] }], canEditInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], defaultThemeKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultThemeKey", required: false }] }], availableThemes: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableThemes", required: false }] }], onThemeChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "onThemeChange", required: false }] }], defaultLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultLocale", required: false }] }], availableLocales: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableLocales", required: false }] }], onLocaleChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "onLocaleChange", required: false }] }], accountAuth: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountAuth", required: false }] }], filePath: [{ type: i0.Input, args: [{ isSignal: true, alias: "filePath", required: false }] }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], autosaveInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosave", required: false }] }], autosaveIntervalMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosaveIntervalMs", required: false }] }], collaboration: [{ type: i0.Input, args: [{ isSignal: true, alias: "collaboration", required: false }] }], authorName: [{ type: i0.Input, args: [{ isSignal: true, alias: "authorName", required: false }] }], shareDefaults: [{ type: i0.Input, args: [{ isSignal: true, alias: "shareDefaults", required: false }] }], onOpenFile: [{ type: i0.Input, args: [{ isSignal: true, alias: "onOpenFile", required: false }] }], smartArt3D: [{ type: i0.Input, args: [{ isSignal: true, alias: "smartArt3D", required: false }] }], surfaceChart3D: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceChart3D", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], ai: [{ type: i0.Input, args: [{ isSignal: true, alias: "ai", required: false }] }], activeSlideChange: [{ type: i0.Output, args: ["activeSlideChange"] }], dirtyChange: [{ type: i0.Output, args: ["dirtyChange"] }], contentChange: [{ type: i0.Output, args: ["contentChange"] }], propertiesChange: [{ type: i0.Output, args: ["propertiesChange"] }], modeChange: [{ type: i0.Output, args: ["modeChange"] }], zoomChange: [{ type: i0.Output, args: ["zoomChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], slideCountChange: [{ type: i0.Output, args: ["slideCountChange"] }], startCollaboration: [{ type: i0.Output, args: ["startCollaboration"] }], stopCollaboration: [{ type: i0.Output, args: ["stopCollaboration"] }], extraDialogs: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ViewerExtraDialogsComponent), { isSignal: true }] }], mainEl: [{ type: i0.ViewChild, args: ['mainEl', { isSignal: true }] }], onKeyDown: [{
136381
136852
  type: HostListener,
136382
136853
  args: ['document:keydown', ['$event']]
136383
136854
  }] } }) });
@@ -138677,5 +139148,5 @@ function cn(...values) {
138677
139148
  * Generated bundle index. Do not edit.
138678
139149
  */
138679
139150
 
138680
- export { CommentMarkersOverlayComponent as $, ALIGN_OPTIONS as A, AnimationPlaybackService as B, AutosaveRecoveryDialogComponent as C, AutosaveService as D, BroadcastDialogComponent as E, CHART_EDITOR_STYLES as F, CURSOR_PALETTE as G, CanvasFitService as H, ChartAxisOptionsComponent as I, ChartAxisStyleOptionsComponent as J, ChartComboTypeOptionsComponent as K, ChartDataEditorComponent as L, ChartDataLabelOptionsComponent as M, ChartDatapointMarkerOptionsComponent as N, ChartDatapointOptionsComponent as O, ChartDisplayOptionsComponent as P, ChartElementViewComponent as Q, ChartErrorBarOptionsComponent as R, ChartMarkerOptionsComponent as S, ChartPartSelectionService as T, ChartPrimitivesComponent as U, ChartRendererComponent as V, ChartTrendlineOptionsComponent as W, ChartTypeSelectorComponent as X, CollaborationCursorsComponent as Y, CollaborationService as Z, ColorChangedImageComponent as _, ANIMATION_PRESET_CATEGORIES as a, InspectorPaneHeaderComponent as a$, CommentsPanelComponent as a0, CommentsService as a1, ComparePanelComponent as a2, ConnectorRendererComponent as a3, ConnectorTextOverlayComponent as a4, CustomShowsComponent as a5, DATA_TABLE_HEADER_H as a6, DATA_TABLE_KEY_W as a7, DATA_TABLE_PADDING as a8, DATA_TABLE_ROW_H as a9, EditorStateService as aA, EditorToolbarComponent as aB, EffectsPanelComponent as aC, ElementRendererComponent as aD, EmbeddedFontsService as aE, EncryptedFileDialogComponent as aF, EquationEditorDialogComponent as aG, EquationRendererComponent as aH, EquationTemplateGalleryComponent as aI, ExportProgressModalComponent as aJ, ExportService as aK, FieldContextService as aL, FindBarComponent as aM, FindReplaceBarComponent as aN, FollowModeBarComponent as aO, FontEmbeddingListComponent as aP, FontEmbeddingPanelComponent as aQ, GALLERY_THEME_PRESETS as aR, GRIDLINE_COLOR as aS, GradientPickerComponent as aT, HANDOUT_OPTIONS as aU, HeaderFooterDialogComponent as aV, HyperlinkDialogComponent as aW, ImagePropertiesPanelComponent as aX, InkDrawingService as aY, InkRendererComponent as aZ, InsertSmartArtDialogComponent as a_, DEFAULT_BOUNDS as aa, DEFAULT_BROADCAST_SERVER_URL as ab, DEFAULT_CANVAS_HEIGHT as ac, DEFAULT_CANVAS_WIDTH as ad, DEFAULT_COLOR_SCHEME as ae, DEFAULT_FILL_COLOR$1 as af, DEFAULT_LAYOUT as ag, DEFAULT_PALETTE$1 as ah, DEFAULT_PATTERN_FILL_PRESET as ai, DEFAULT_PRINT_SETTINGS as aj, DEFAULT_SLIDE_BACKGROUND as ak, DEFAULT_STROKE_COLOR as al, DEFAULT_STYLE as am, DEFAULT_TABLE_ROW_HEIGHT as an, DEFAULT_TEXT_COLOR$1 as ao, DEFAULT_VIEWER_PROFILE as ap, DIRECTIONAL_PRESETS as aq, DIRECTION_OPTIONS as ar, DocumentPropertiesCardComponent as as, EMBEDDED_FONTS_STYLE_ID as at, EMPHASIS_PRESETS as au, ENTRANCE_PRESETS as av, TEMPLATES as aw, EXIT_PRESETS as ax, EditorContextMenuComponent as ay, EditorHistory as az, AUDIENCE_HASH as b, RibbonColorPopoverComponent as b$, InspectorPanelComponent as b0, IsMobileService as b1, KeepAnnotationsDialogComponent as b2, LOCALE_CATALOG as b3, LONG_PRESS_DURATION_MS as b4, LONG_PRESS_MOVE_TOLERANCE_PX as b5, LoadContentService as b6, LocalPresencePublisher as b7, MAX_ZOOM_SCALE as b8, MIN_ZOOM_SCALE as b9, PasswordProtectionDialogComponent as bA, PasswordStrengthMeterComponent as bB, PowerPointViewerComponent as bC, PresentToolbarAutoHide as bD, PresentationAnnotationOverlayComponent as bE, PresentationAnnotationsService as bF, PresentationOverlayComponent as bG, PresentationPropertiesPanelComponent as bH, PresentationSettingsCardComponent as bI, PresentationSubtitleBarComponent as bJ, PresentationToolbarComponent as bK, PresentationTransitionOverlayComponent as bL, PresenterViewComponent as bM, PresenterWindowService as bN, PrintDialogComponent as bO, PrintService as bP, PrintSettingsPanelComponent as bQ, PropertiesDialogComponent as bR, REPEAT_MODE_OPTIONS as bS, RESIZE_HANDLES as bT, RULER_FONT_SIZE as bU, RULER_THICKNESS as bV, ReadingViewOverlayComponent as bW, RemoteSelectionOverlayComponent as bX, RibbonAnimationGalleryComponent as bY, RibbonAnimationsSectionComponent as bZ, RibbonArrangeSectionComponent as b_, MOTION_PATH_COLUMNS as ba, MediaPreviewComponent as bb, MediaPropertiesPanelComponent as bc, MediaRendererComponent as bd, MediaTrimTimelineComponent as be, MobileBottomBarComponent as bf, MobileMenuSheetComponent as bg, MobilePresenterViewComponent as bh, MobileSheetComponent as bi, MobileSlidesSheetComponent as bj, MobileToolbarComponent as bk, ModalDialogComponent as bl, Model3DRendererComponent as bm, NotesHandoutCardComponent as bn, NotesPanelComponent as bo, NotesToolbarComponent as bp, OleRendererComponent as bq, OutlineViewOverlayComponent as br, POWER_POINT_VIEWER_PROVIDERS as bs, PPTX_OPEN_ACCEPT as bt, PRESENTATION_OPEN_EXTENSIONS as bu, PRESENTER_CHANNEL_NAME as bv, PRESENTER_MSG_ORIGIN as bw, PRESENTER_TIMER_SEGMENT_MS as bx, PX_PER_CM as by, PX_PER_INCH as bz, AUDIENCE_NONCE_KEY as c, TEXT_3D_BOTTOM_BEVEL_KEYS as c$, RibbonComponent as c0, RibbonDesignSectionComponent as c1, RibbonDrawSectionComponent as c2, RibbonDrawingGroupComponent as c3, RibbonEditingSectionComponent as c4, RibbonFileSectionComponent as c5, RibbonFontControlsComponent as c6, RibbonHomeSectionComponent as c7, RibbonHyperlinkButtonComponent as c8, RibbonInsertFieldsComponent as c9, SettingsDialogComponent as cA, SettingsLanguageTabComponent as cB, ShareDialogComponent as cC, ShortcutPanelComponent as cD, ShowOptionsFieldsetComponent as cE, ShowSlidesFieldsetComponent as cF, SignatureStrippedDialogComponent as cG, SignaturesPanelComponent as cH, SignaturesService as cI, SlideBackgroundCardComponent as cJ, SlideCanvasComponent as cK, SlideDefaultInspectorComponent as cL, SlideDiffChangesComponent as cM, SlideDiffRowComponent as cN, SlideDiffThumbnailsComponent as cO, SlideSizeCardComponent as cP, SlideSorterOverlayComponent as cQ, SlideThemeOverridePanelComponent as cR, SlideTransitionCardComponent as cS, SlidesPanelComponent as cT, SmartArt3DRendererComponent as cU, SmartArt3DService as cV, SmartArtPreviewComponent as cW, SmartArtPropertiesComponent as cX, SmartArtRendererComponent as cY, StatusBarComponent as cZ, TABLE_STRUCTURE_TOGGLES as c_, RibbonInsertSectionComponent as ca, RibbonMotionPathGalleryComponent as cb, RibbonParagraphControlsComponent as cc, RibbonPrimaryRowComponent as cd, RibbonReviewSectionComponent as ce, RibbonShapeExtrasComponent as cf, RibbonSlideshowSectionComponent as cg, RibbonTransitionsSectionComponent as ch, RibbonViewSectionComponent as ci, RulerGuidesService as cj, SEQUENCE_OPTIONS as ck, SEVERITY_GROUPS as cl, SEVERITY_LABELS as cm, SHORTCUT_REFERENCE_ITEMS as cn, SLIDE_TRANSITION_KEYFRAMES as co, DEFAULT_PALETTE as cp, PALETTES$1 as cq, SMART_ART_COLOR_SCHEMES as cr, SMART_ART_STYLE_OPTIONS as cs, SUB_ITEM_LABEL as ct, SVG_WARP_PRESETS as cu, SWIPE_MAX_VERTICAL_PX as cv, SWIPE_THRESHOLD_PX as cw, SelectionPaneComponent as cx, SetUpSlideShowDialogComponent as cy, SettingsAppearanceTabComponent as cz, AVATAR_COLOR_SWATCHES as d, animationFor as d$, TEXT_3D_TOP_BEVEL_KEYS as d0, TEXT_DIRECTION_OPTIONS$1 as d1, THEME_CATALOG as d2, TIMING_CURVE_OPTIONS as d3, TRIGGER_OPTIONS as d4, TYPE_LABELS as d5, TableCellAdvancedFillComponent as d6, TableCellFormattingComponent as d7, TableDataEditorComponent as d8, TablePropertiesComponent as d9, ViewerExtraDialogsComponent as dA, ViewerFileIOService as dB, ViewerFindReplaceService as dC, ViewerFormatPainterService as dD, ViewerInspectorPanelService as dE, ViewerKeyboardService as dF, ViewerMobileSheetService as dG, ViewerPresentationModeService as dH, ViewerThemeGalleryService as dI, ViewerTouchGesturesService as dJ, ViewerZoomService as dK, WEBM_MIME_CANDIDATES as dL, WriteBackScheduler as dM, ZERO_LINE_COLOR as dN, ZoomNavigationService as dO, ZoomRendererComponent as dP, ZoomTargetService as dQ, addCategory as dR, addCommentToList as dS, addGradientStopPatch as dT, addItem as dU, addSeries as dV, addSubItem as dW, advanceStep as dX, affordanceElements as dY, aiToggleVisible as dZ, alignPatch as d_, TableRendererComponent as da, TableResizeOverlayComponent as db, TableSelectionService as dc, TagsCardComponent as dd, Text3DBevelSectionComponent as de, Text3DPanelComponent as df, TextAdvancedPanelComponent as dg, ThemeEditorFieldsComponent as dh, ThemeGalleryComponent as di, ThemeSelectorCardComponent as dj, TitleBarComponent as dk, TitleBarSearchComponent as dl, TransitionDirectionPickerComponent as dm, TransitionPreviewComponent as dn, VALIGN_OPTIONS as dp, VIEWER_THEME as dq, VersionHistoryPanelComponent as dr, ViewerCanvasEditingService as ds, ViewerCollabCursorService as dt, ViewerCollaborationSessionService as du, ViewerCompareService as dv, ViewerCustomShowsService as dw, ViewerDialogsService as dx, ViewerDocumentPropertiesService as dy, ViewerExportService as dz, AXIS_LABEL_COLOR as e, buildTrimFragment as e$, animationPresetLabelKey as e0, annotationMapToInkInserts as e1, applyAcceptedDiff as e2, applyAnimationPreset as e3, applyFindReplacements as e4, applyFormatToElement as e5, applyMove as e6, applyResize as e7, asMediaElement as e8, assignUserColor as e9, buildEquationElement as eA, buildEquationSegment as eB, buildFallbackViewModel as eC, buildFontFaceRule as eD, buildGradientFillCss as eE, buildGridlinesAndLabels as eF, buildHyperlinkPatch as eG, buildInkContainerStyle as eH, buildInkStrokes as eI, buildLegend as eJ, buildMarkTooltip as eK, buildModel3DContainerStyle as eL, buildModel3DViewModel as eM, buildOleActionModel as eN, buildOleInfoRows as eO, buildPatternFillCss as eP, buildPrintHtmlDocument as eQ, buildPropertiesPatch as eR, buildRegionMapViewModel as eS, buildSaveSlides as eT, buildShareUrl as eU, buildSmartArtInsertElement as eV, buildSmartArtNodes as eW, buildStockViewModel as eX, buildSurfaceViewModel as eY, buildTableViewModel as eZ, buildTreemapViewModel as e_, attachShowVisibilityPause as ea, attachTouchGestures as eb, axisTickValues as ec, beginNodeEdit as ed, bevelSizePatch as ee, boolFromEvent as ef, bringForward as eg, bringToFront as eh, buildBarActions as ei, buildBroadcastConfig as ej, buildBroadcastViewerUrl as ek, buildCategoryLabels as el, buildCellParagraphs as em, buildChartViewModel as en, buildChatLogExport as eo, buildChatLogMarkdown as ep, buildChromeStyle as eq, buildClearHyperlinkPatch as er, buildClickGroups as es, buildColStyles as et, buildCollaborationConfig as eu, buildComboViewModel as ev, buildCssGradientFromShapeStyle as ew, buildDuotoneFilter as ex, buildDuotoneFilterId as ey, buildEmbeddedFontStyles as ez, AccessibilityPanelComponent as f, computeScatterDots as f$, buildWaterfallViewModel as f0, buildZeroLine as f1, buildZoomContainerStyle as f2, buildZoomViewModel as f3, bulletIndentPx as f4, canAddTopLevelNode as f5, canGroupSelection as f6, canRemoveTopLevelNode as f7, canSetStrokeWidth as f8, canStartBroadcast as f9, columnWidthStyle as fA, commitNodeText as fB, computeAlign as fC, computeAxisTitlePrimitives as fD, computeBarRects as fE, computeBubbleRadius as fF, computeCornerHandle as fG, computeDataTablePrimitives as fH, computeDistribute as fI, computeDrawingViewBox as fJ, computeErrorBarPrimitives as fK, computeFocusTargets as fL, computeHandleBoxes as fM, computeHandoutLayout as fN, computeIsMobile as fO, computeIsTablet as fP, computeLinePoints as fQ, computeLinearRegression as fR, computePageCount as fS, computePieLayout as fT, computePieSlicePath as fU, computePieSlices as fV, computePlotLayout as fW, computeRSquared as fX, computeRadarPoints as fY, computeResizeHandleBoxes as fZ, computeRotateHandleBox as f_, canStartShare as fa, canUngroupSelection as fb, canUseClipboard as fc, captionDisplayText as fd, cellRunStyle as fe, cellStyleToStyleMap as ff, cellTdStyle as fg, changeCountLabel as fh, changeIcon as fi, characterSpacingPatch as fj, chartPreserveAspectRatio as fk, checkFontAvailable as fl, clampCursorPosition as fm, clampGifDimensions as fn, clampIndex as fo, clampNotesFontSize as fp, clampScale as fq, clampStep as fr, clearAllLocalViewerData as fs, clearAudienceContent as ft, cn as fu, collectAccessibilityIssues as fv, collectElementText as fw, collectSlideText as fx, collectStoredChats as fy, collectUsedFontFamilies as fz, AccessibilityService as g, formatBytes as g$, computeScatterXDomain as g0, computeSelectionBoxes as g1, computeSingleSelected as g2, computeSlideIndices as g3, computeSnap as g4, computeStackedBarRects as g5, computeStackedValueRange as g6, computeTrendlinePrimitives as g7, computeValueRange as g8, convertOmmlToMathMl as g9, duplicateElementById as gA, durationOf as gB, effectsStateOf as gC, enableGlowPatch as gD, enableInnerShadowPatch as gE, enableOuterShadowPatch as gF, enableReflectionPatch as gG, enableSoftEdgePatch as gH, encodeGif as gI, endShowMediaCleanup as gJ, estimatePageCount as gK, exitPresentationFullscreen as gL, exportAiChatLogs as gM, extractPathPoints as gN, eyedropperAvailable as gO, fillColorOf$1 as gP, findInSlides as gQ, findOwningSlideIndex as gR, findSlideIndexByElementId as gS, firstVisibleIndex as gT, fitPolynomial as gU, fitZoom as gV, focusTargetChips as gW, fontMimeForFormat as gX, fontSizeOf as gY, forgetSessionDeck as gZ, formatAxisValue as g_, copyFormatFromElement as ga, countAccessibilityIssues as gb, countAnnotationStrokes as gc, createAngularAiBridge as gd, createCustomShow as ge, createSwipeDismissDrag as gf, createWebrtcBundle as gg, createWebsocketBundle as gh, cssObjectToStyleMap as gi, currentColorScheme as gj, currentLayout as gk, currentStyle as gl, defaultCssVars as gm, defaultRadius as gn, defaultThemeColors as go, deleteElementsByIds as gp, deleteVersion as gq, demoteNode as gr, deriveModel3DBlobUrl as gs, derivePresenceList as gt, describeSmartArtBounds as gu, disableGlowPatch as gv, disableInnerShadowPatch as gw, disableOuterShadowPatch as gx, disableReflectionPatch as gy, disableSoftEdgePatch as gz, AccountPageComponent as h, isItalic as h$, formatCursorLabel as h0, formatElapsed as h1, formatFileSize as h2, formatPropertyDate as h3, formatTime as h4, fpsToFrameIntervalMs as h5, generateBroadcastRoomId as h6, generateCommentId as h7, generateCustomShowId as h8, generatePressureCircles as h9, getTouchDistance as hA, getWarpCategory as hB, getWarpPath as hC, gradientStateFromStyle as hD, gradientStateOf as hE, gradientStatePatch as hF, gridColumns as hG, groupIssuesBySeverity as hH, hasAnimation as hI, hasCopyableFormat as hJ, hasExistingLink as hK, hasExitedFullscreen as hL, hasGradientFill as hM, hasPressureVariation as hN, hasVisibleSlideAfter as hO, headerLabel as hP, imageDimensions as hQ, inkViewBox as hR, insertTableElementColumn as hS, insertTableElementRow as hT, interpolateWidth as hU, isAudienceTab as hV, isBold as hW, isBrowserOpenableMime as hX, isChildNode as hY, isElementInteractive as hZ, isInjectableUrl as h_, generateTicks as ha, getClrChangeParams as hb, getContainerStyle as hc, getDuotoneFilterDef as hd, getImageSrc as he, getLocalStorageUsageSummary as hf, getOleAriaLabel as hg, getOleBadgeLabel as hh, getOleDisplayName as hi, getOleDownloadFileName as hj, getOleTypeColor as hk, getOleTypeLabel as hl, getPasswordStrength as hm, getPatternSvg as hn, getPlaceholderStyle as ho, getVersions as hp, getResolvedShapeClipPath as hq, getResolvedShapeClipPathFor as hr, getSessionTabId as hs, getShapeFillStrokeStyle as ht, getSlideBackgroundStyle as hu, getSlideTransitionAnimations as hv, getSmartArtNodeBounds as hw, getSpeechRecognitionCtor as hx, getTextBlockStyle as hy, getTextWarp as hz, ActionSettingsPanelComponent as i, parseNodeTextarea as i$, isLegacyBinaryPresentation as i0, isPpactionUrl as i1, isPresenterMessage as i2, isSigned as i3, isSupportedPresentationFile as i4, isTextElement as i5, isTwoTableFocus as i6, isUnderline as i7, isUrlSafe as i8, isValidRoomId as i9, narrowToPolygon as iA, narrowToRect as iB, newChartElement as iC, newEquationElement as iD, newPresetShapeElement as iE, newShapeElement as iF, newSmartArtElement as iG, newTableElement as iH, newTextElement as iI, nextVisibleIndex as iJ, nodeBold as iK, nodeEditBox as iL, nodeFillColor as iM, nodeFontColor as iN, nodeIdFromKey as iO, nodeItalic as iP, nodeStyle as iQ, normalizeFontFormat as iR, normalizeSlidesPerPage as iS, normalizeValue as iT, numFromEvent as iU, ommlToMathml as iV, ooxmlDashToCssBorderStyle as iW, openNativeEyeDropper as iX, overallStatus as iY, paletteColor as iZ, parseAudienceNonce as i_, isViewportBackgroundPressTarget as ia, isZoomActivationKey as ib, issueTrackKey as ic, issueTypeLabel as id, keyToLabel as ie, lastVisibleIndex as ig, latexToMathml as ih, layoutConnectorPaints as ii, layoutNodeLabels as ij, linePointsToSvgString as ik, lineSpacingPatch as il, loadAudienceContent as im, loadSessionDeck as io, mediaFallbackFor as ip, mediaSurfaceFor as iq, mergeCaptionResults as ir, mergeDown as is, mergeRight as it, mergeSelection as iu, moveElementBy as iv, moveNodeDown as iw, moveNodeUp as ix, msToFrameDelayCs as iy, narrowToCircle as iz, AdvancedChartEditorComponent as j, routeOrthogonalConnector as j$, partitionSlides as j0, patchChartData as j1, patchChartStyle as j2, patchTableData as j3, patchTextStyle as j4, patternPresetOptions as j5, pendingElementStyles as j6, pickColorByClickFallback as j7, pickFile as j8, pickSupportedMimeType as j9, removeNode as jA, removeTableElementRow as jB, removeSeries as jC, renderToCanvas as jD, reorderAnimationDown as jE, reorderAnimationUp as jF, replaceInSlides as jG, replaceMatch as jH, requestPresentationFullscreen as jI, resizeElement as jJ, resolveCaptionTracks as jK, resolveChartKind as jL, resolveFontVariant as jM, resolveHyperlinkHref as jN, resolveInteractiveElementId as jO, resolveMediaSrc as jP, resolveOleType as jQ, resolveParagraphBullet as jR, resolvePresenterNotes as jS, resolveProfileInitial as jT, resolveRegionCode as jU, resolveSlideAutoAdvanceMs as jV, resolvePalette as jW, resolveThemeCatalogEntry as jX, resolveTransitionDuration as jY, restoreSessionDeck as jZ, revealedElementStyles as j_, planGifFrames as ja, planVideoSegments as jb, pointsToSvgPathD as jc, presenceToCursors as jd, presentationBaseName as je, presentationStageStyle as jf, presenterTimerProgress as jg, presetByLayout as jh, presetsForCategory as ji, pressuresToWidths as jj, prevVisibleIndex as jk, projectDrawingShapes as jl, promoteNode as jm, provideViewerTheme as jn, radarAngle as jo, radarRingPoints as jp, readAsDataUrl as jq, recordWebm as jr, registerCrossSlideAudio as js, rememberSessionDeck as jt, removeAnimation as ju, removeCategory as jv, removeTableElementColumn as jw, removeCommentFromList as jx, removeElementAnimation as jy, removeGradientStopPatch as jz, AiChangeOverlayComponent as k, shouldBlockClickAdvance as k$, rowStyle as k0, rulerDragToGuidePosition as k1, rulerHighlight as k2, rulerStripTicks as k3, sampleColorFromSlide as k4, sanitizeColor as k5, sanitizeSlideIndex as k6, sanitizeUserName as k7, saveViewerProfile as k8, savedPresentationFileName as k9, setDataPointMarker as kA, setDelay as kB, setDirection as kC, setDuration as kD, setElementPosition as kE, setGridlineStyle as kF, setLayout as kG, setLegend as kH, setNodeStyle as kI, setNodeText as kJ, setRepeatCount as kK, setRepeatMode as kL, setSequence as kM, setSeriesChartType as kN, setSeriesColor as kO, setSeriesErrorBars as kP, setSeriesMarker as kQ, setSeriesName as kR, setSeriesTrendline as kS, setSeriesValue as kT, setStyle as kU, setTimingCurve as kV, setTitle as kW, setTrigger as kX, setTriggerShapeId as kY, shapeStylePatch$1 as kZ, sheetAfterNavigate as k_, scanAvailableFonts as ka, searchSlides as kb, seedBroadcastFields as kc, seedHyperlinkDraft as kd, seedPropertiesDraft as ke, seedShareFields as kf, segmentFrameCount as kg, selectValue$2 as kh, sendBackward as ki, sendToBack as kj, sequentialColorScale as kk, serializeWriteBack as kl, seriesColor as km, setAnimationEmphasis as kn, setAnimationEntrance as ko, setAnimationExit as kp, setAxis as kq, setAxisLogScale as kr, setAxisTitleStyle as ks, setCategoryLabel as kt, setCellText as ku, setColorScheme as kv, setDataLabels as kw, setDataPointExplosion as kx, setDataPointFill as ky, setDataPointLabel as kz, AiChatPanelComponent as l, shouldUseSvgWarp as l0, showDirectionPicker as l1, showsTemplateAffordance as l2, signatureCountLabel as l3, signatureKey as l4, signatureTimestamp as l5, signerName as l6, statusLabel as l7, slideNumberOf as l8, slidesWithReappliedLayout as l9, toggleNodeItalic as lA, toggleSheet as lB, topLevelNodeCount as lC, transformSelectedTextCase as lD, translationsEn as lE, updateElementById as lF, updateGlowPatch as lG, updateGradientStopPatch as lH, updateInnerShadowPatch as lI, updateOuterShadowPatch as lJ, updateReflectionPatch as lK, vAlignPatch as lL, validatePassword as lM, validatePrintSettings as lN, validateRoomId as lO, valueToY as lP, vermilionDarkColors as lQ, vermilionDarkTheme as lR, vermilionLightColors as lS, vermilionLightTheme as lT, vermilionRadius as lU, waypointsToPathD as lV, worstStatus as lW, zoomTargetSlideIndex as lX, smartArtNodes as la, paletteColour as lb, snapToGridStep as lc, splitCursorCell as ld, splitMergedCell as le, statusKind as lf, statusLabel$1 as lg, storeAudienceContent as lh, stringFromEvent$5 as li, strokeColorOf as lj, strokeToInkElement as lk, strokeWidthOf as ll, styleShadowFilter as lm, textAdvancedPatch as ln, textAdvancedStateFromStyle as lo, textAdvancedStateOf as lp, textColorOf as lq, textDirectionPatch as lr, textStyleOf as ls, textStylePatch as lt, themeStyle as lu, themeToCssVars as lv, thumbnailHeight as lw, thumbnailZoom as lx, toggleCommentResolvedInList as ly, toggleNodeBold as lz, AiChatService as m, AiComposerComponent as n, AiFocusBarComponent as o, AiFocusHighlightOverlayComponent as p, AiHistoryMenuComponent as q, AiHistoryService as r, AiMessageListComponent as s, toChatSummary as t, AiPanelStore as u, AiProposalCardComponent as v, AiSettingsSectionComponent as w, AiToolCallCardComponent as x, AnimationAuthorPanelComponent as y, AnimationPanelComponent as z };
138681
- //# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-CrwHoTrs.mjs.map
139151
+ export { CommentMarkersOverlayComponent as $, ALIGN_OPTIONS as A, AnimationPlaybackService as B, AutosaveRecoveryDialogComponent as C, AutosaveService as D, BroadcastDialogComponent as E, CHART_EDITOR_STYLES as F, CURSOR_PALETTE as G, CanvasFitService as H, ChartAxisOptionsComponent as I, ChartAxisStyleOptionsComponent as J, ChartComboTypeOptionsComponent as K, ChartDataEditorComponent as L, ChartDataLabelOptionsComponent as M, ChartDatapointMarkerOptionsComponent as N, ChartDatapointOptionsComponent as O, ChartDisplayOptionsComponent as P, ChartElementViewComponent as Q, ChartErrorBarOptionsComponent as R, ChartMarkerOptionsComponent as S, ChartPartSelectionService as T, ChartPrimitivesComponent as U, ChartRendererComponent as V, ChartTrendlineOptionsComponent as W, ChartTypeSelectorComponent as X, CollaborationCursorsComponent as Y, CollaborationService as Z, ColorChangedImageComponent as _, ANIMATION_PRESET_CATEGORIES as a, InspectorPaneHeaderComponent as a$, CommentsPanelComponent as a0, CommentsService as a1, ComparePanelComponent as a2, ConnectorRendererComponent as a3, ConnectorTextOverlayComponent as a4, CustomShowsComponent as a5, DATA_TABLE_HEADER_H as a6, DATA_TABLE_KEY_W as a7, DATA_TABLE_PADDING as a8, DATA_TABLE_ROW_H as a9, EditorStateService as aA, EditorToolbarComponent as aB, EffectsPanelComponent as aC, ElementRendererComponent as aD, EmbeddedFontsService as aE, EncryptedFileDialogComponent as aF, EquationEditorDialogComponent as aG, EquationRendererComponent as aH, EquationTemplateGalleryComponent as aI, ExportProgressModalComponent as aJ, ExportService as aK, FieldContextService as aL, FindBarComponent as aM, FindReplaceBarComponent as aN, FollowModeBarComponent as aO, FontEmbeddingListComponent as aP, FontEmbeddingPanelComponent as aQ, GALLERY_THEME_PRESETS as aR, GRIDLINE_COLOR as aS, GradientPickerComponent as aT, HANDOUT_OPTIONS as aU, HeaderFooterDialogComponent as aV, HyperlinkDialogComponent as aW, ImagePropertiesPanelComponent as aX, InkDrawingService as aY, InkRendererComponent as aZ, InsertSmartArtDialogComponent as a_, DEFAULT_BOUNDS as aa, DEFAULT_BROADCAST_SERVER_URL as ab, DEFAULT_CANVAS_HEIGHT as ac, DEFAULT_CANVAS_WIDTH as ad, DEFAULT_COLOR_SCHEME as ae, DEFAULT_FILL_COLOR$1 as af, DEFAULT_LAYOUT as ag, DEFAULT_PALETTE$1 as ah, DEFAULT_PATTERN_FILL_PRESET as ai, DEFAULT_PRINT_SETTINGS as aj, DEFAULT_SLIDE_BACKGROUND as ak, DEFAULT_STROKE_COLOR as al, DEFAULT_STYLE as am, DEFAULT_TABLE_ROW_HEIGHT as an, DEFAULT_TEXT_COLOR$1 as ao, DEFAULT_VIEWER_PROFILE as ap, DIRECTIONAL_PRESETS as aq, DIRECTION_OPTIONS as ar, DocumentPropertiesCardComponent as as, EMBEDDED_FONTS_STYLE_ID as at, EMPHASIS_PRESETS as au, ENTRANCE_PRESETS as av, TEMPLATES as aw, EXIT_PRESETS as ax, EditorContextMenuComponent as ay, EditorHistory as az, AUDIENCE_HASH as b, RibbonColorPopoverComponent as b$, InspectorPanelComponent as b0, IsMobileService as b1, KeepAnnotationsDialogComponent as b2, LOCALE_CATALOG as b3, LONG_PRESS_DURATION_MS as b4, LONG_PRESS_MOVE_TOLERANCE_PX as b5, LoadContentService as b6, LocalPresencePublisher as b7, MAX_ZOOM_SCALE as b8, MIN_ZOOM_SCALE as b9, PasswordProtectionDialogComponent as bA, PasswordStrengthMeterComponent as bB, PowerPointViewerComponent as bC, PresentToolbarAutoHide as bD, PresentationAnnotationOverlayComponent as bE, PresentationAnnotationsService as bF, PresentationOverlayComponent as bG, PresentationPropertiesPanelComponent as bH, PresentationSettingsCardComponent as bI, PresentationSubtitleBarComponent as bJ, PresentationToolbarComponent as bK, PresentationTransitionOverlayComponent as bL, PresenterViewComponent as bM, PresenterWindowService as bN, PrintDialogComponent as bO, PrintService as bP, PrintSettingsPanelComponent as bQ, PropertiesDialogComponent as bR, REPEAT_MODE_OPTIONS as bS, RESIZE_HANDLES as bT, RULER_FONT_SIZE as bU, RULER_THICKNESS as bV, ReadingViewOverlayComponent as bW, RemoteSelectionOverlayComponent as bX, RibbonAnimationGalleryComponent as bY, RibbonAnimationsSectionComponent as bZ, RibbonArrangeSectionComponent as b_, MOTION_PATH_COLUMNS as ba, MediaPreviewComponent as bb, MediaPropertiesPanelComponent as bc, MediaRendererComponent as bd, MediaTrimTimelineComponent as be, MobileBottomBarComponent as bf, MobileMenuSheetComponent as bg, MobilePresenterViewComponent as bh, MobileSheetComponent as bi, MobileSlidesSheetComponent as bj, MobileToolbarComponent as bk, ModalDialogComponent as bl, Model3DRendererComponent as bm, NotesHandoutCardComponent as bn, NotesPanelComponent as bo, NotesToolbarComponent as bp, OleRendererComponent as bq, OutlineViewOverlayComponent as br, POWER_POINT_VIEWER_PROVIDERS as bs, PPTX_OPEN_ACCEPT as bt, PRESENTATION_OPEN_EXTENSIONS as bu, PRESENTER_CHANNEL_NAME as bv, PRESENTER_MSG_ORIGIN as bw, PRESENTER_TIMER_SEGMENT_MS as bx, PX_PER_CM as by, PX_PER_INCH as bz, AUDIENCE_NONCE_KEY as c, TEXT_3D_BOTTOM_BEVEL_KEYS as c$, RibbonComponent as c0, RibbonDesignSectionComponent as c1, RibbonDrawSectionComponent as c2, RibbonDrawingGroupComponent as c3, RibbonEditingSectionComponent as c4, RibbonFileSectionComponent as c5, RibbonFontControlsComponent as c6, RibbonHomeSectionComponent as c7, RibbonHyperlinkButtonComponent as c8, RibbonInsertFieldsComponent as c9, SettingsDialogComponent as cA, SettingsLanguageTabComponent as cB, ShareDialogComponent as cC, ShortcutPanelComponent as cD, ShowOptionsFieldsetComponent as cE, ShowSlidesFieldsetComponent as cF, SignatureStrippedDialogComponent as cG, SignaturesPanelComponent as cH, SignaturesService as cI, SlideBackgroundCardComponent as cJ, SlideCanvasComponent as cK, SlideDefaultInspectorComponent as cL, SlideDiffChangesComponent as cM, SlideDiffRowComponent as cN, SlideDiffThumbnailsComponent as cO, SlideSizeCardComponent as cP, SlideSorterOverlayComponent as cQ, SlideThemeOverridePanelComponent as cR, SlideTransitionCardComponent as cS, SlidesPanelComponent as cT, SmartArt3DRendererComponent as cU, SmartArt3DService as cV, SmartArtPreviewComponent as cW, SmartArtPropertiesComponent as cX, SmartArtRendererComponent as cY, StatusBarComponent as cZ, TABLE_STRUCTURE_TOGGLES as c_, RibbonInsertSectionComponent as ca, RibbonMotionPathGalleryComponent as cb, RibbonParagraphControlsComponent as cc, RibbonPrimaryRowComponent as cd, RibbonReviewSectionComponent as ce, RibbonShapeExtrasComponent as cf, RibbonSlideshowSectionComponent as cg, RibbonTransitionsSectionComponent as ch, RibbonViewSectionComponent as ci, RulerGuidesService as cj, SEQUENCE_OPTIONS as ck, SEVERITY_GROUPS as cl, SEVERITY_LABELS as cm, SHORTCUT_REFERENCE_ITEMS as cn, SLIDE_TRANSITION_KEYFRAMES as co, DEFAULT_PALETTE as cp, PALETTES$1 as cq, SMART_ART_COLOR_SCHEMES as cr, SMART_ART_STYLE_OPTIONS as cs, SUB_ITEM_LABEL as ct, SVG_WARP_PRESETS as cu, SWIPE_MAX_VERTICAL_PX as cv, SWIPE_THRESHOLD_PX as cw, SelectionPaneComponent as cx, SetUpSlideShowDialogComponent as cy, SettingsAppearanceTabComponent as cz, AVATAR_COLOR_SWATCHES as d, animationFor as d$, TEXT_3D_TOP_BEVEL_KEYS as d0, TEXT_DIRECTION_OPTIONS$1 as d1, THEME_CATALOG as d2, TIMING_CURVE_OPTIONS as d3, TRIGGER_OPTIONS as d4, TYPE_LABELS as d5, TableCellAdvancedFillComponent as d6, TableCellFormattingComponent as d7, TableDataEditorComponent as d8, TablePropertiesComponent as d9, ViewerExtraDialogsComponent as dA, ViewerFileIOService as dB, ViewerFindReplaceService as dC, ViewerFormatPainterService as dD, ViewerInspectorPanelService as dE, ViewerKeyboardService as dF, ViewerMobileSheetService as dG, ViewerPresentationModeService as dH, ViewerThemeGalleryService as dI, ViewerTouchGesturesService as dJ, ViewerZoomService as dK, WEBM_MIME_CANDIDATES as dL, WriteBackScheduler as dM, ZERO_LINE_COLOR as dN, ZoomNavigationService as dO, ZoomRendererComponent as dP, ZoomTargetService as dQ, addCategory as dR, addCommentToList as dS, addGradientStopPatch as dT, addItem as dU, addSeries as dV, addSubItem as dW, advanceStep as dX, affordanceElements as dY, aiToggleVisible as dZ, alignPatch as d_, TableRendererComponent as da, TableResizeOverlayComponent as db, TableSelectionService as dc, TagsCardComponent as dd, Text3DBevelSectionComponent as de, Text3DPanelComponent as df, TextAdvancedPanelComponent as dg, ThemeEditorFieldsComponent as dh, ThemeGalleryComponent as di, ThemeSelectorCardComponent as dj, TitleBarComponent as dk, TitleBarSearchComponent as dl, TransitionDirectionPickerComponent as dm, TransitionPreviewComponent as dn, VALIGN_OPTIONS as dp, VIEWER_THEME as dq, VersionHistoryPanelComponent as dr, ViewerCanvasEditingService as ds, ViewerCollabCursorService as dt, ViewerCollaborationSessionService as du, ViewerCompareService as dv, ViewerCustomShowsService as dw, ViewerDialogsService as dx, ViewerDocumentPropertiesService as dy, ViewerExportService as dz, AXIS_LABEL_COLOR as e, buildTrimFragment as e$, animationPresetLabelKey as e0, annotationMapToInkInserts as e1, applyAcceptedDiff as e2, applyAnimationPreset as e3, applyFindReplacements as e4, applyFormatToElement as e5, applyMove as e6, applyResize as e7, asMediaElement as e8, assignUserColor as e9, buildEquationElement as eA, buildEquationSegment as eB, buildFallbackViewModel as eC, buildFontFaceRule as eD, buildGradientFillCss as eE, buildGridlinesAndLabels as eF, buildHyperlinkPatch as eG, buildInkContainerStyle as eH, buildInkStrokes as eI, buildLegend as eJ, buildMarkTooltip as eK, buildModel3DContainerStyle as eL, buildModel3DViewModel as eM, buildOleActionModel as eN, buildOleInfoRows as eO, buildPatternFillCss as eP, buildPrintHtmlDocument as eQ, buildPropertiesPatch as eR, buildRegionMapViewModel as eS, buildSaveSlides as eT, buildShareUrl as eU, buildSmartArtInsertElement as eV, buildSmartArtNodes as eW, buildStockViewModel as eX, buildSurfaceViewModel as eY, buildTableViewModel as eZ, buildTreemapViewModel as e_, attachShowVisibilityPause as ea, attachTouchGestures as eb, axisTickValues as ec, beginNodeEdit as ed, bevelSizePatch as ee, boolFromEvent as ef, bringForward as eg, bringToFront as eh, buildBarActions as ei, buildBroadcastConfig as ej, buildBroadcastViewerUrl as ek, buildCategoryLabels as el, buildCellParagraphs as em, buildChartViewModel as en, buildChatLogExport as eo, buildChatLogMarkdown as ep, buildChromeStyle as eq, buildClearHyperlinkPatch as er, buildClickGroups as es, buildColStyles as et, buildCollaborationConfig as eu, buildComboViewModel as ev, buildCssGradientFromShapeStyle as ew, buildDuotoneFilter as ex, buildDuotoneFilterId as ey, buildEmbeddedFontStyles as ez, AccessibilityPanelComponent as f, computeScatterDots as f$, buildWaterfallViewModel as f0, buildZeroLine as f1, buildZoomContainerStyle as f2, buildZoomViewModel as f3, bulletIndentPx as f4, canAddTopLevelNode as f5, canGroupSelection as f6, canRemoveTopLevelNode as f7, canSetStrokeWidth as f8, canStartBroadcast as f9, columnWidthStyle as fA, commitNodeText as fB, computeAlign as fC, computeAxisTitlePrimitives as fD, computeBarRects as fE, computeBubbleRadius as fF, computeCornerHandle as fG, computeDataTablePrimitives as fH, computeDistribute as fI, computeDrawingViewBox as fJ, computeErrorBarPrimitives as fK, computeFocusTargets as fL, computeHandleBoxes as fM, computeHandoutLayout as fN, computeIsMobile as fO, computeIsTablet as fP, computeLinePoints as fQ, computeLinearRegression as fR, computePageCount as fS, computePieLayout as fT, computePieSlicePath as fU, computePieSlices as fV, computePlotLayout as fW, computeRSquared as fX, computeRadarPoints as fY, computeResizeHandleBoxes as fZ, computeRotateHandleBox as f_, canStartShare as fa, canUngroupSelection as fb, canUseClipboard as fc, captionDisplayText as fd, cellRunStyle as fe, cellStyleToStyleMap as ff, cellTdStyle as fg, changeCountLabel as fh, changeIcon as fi, characterSpacingPatch as fj, chartPreserveAspectRatio as fk, checkFontAvailable as fl, clampCursorPosition as fm, clampGifDimensions as fn, clampIndex as fo, clampNotesFontSize as fp, clampScale as fq, clampStep as fr, clearAllLocalViewerData as fs, clearAudienceContent as ft, cn as fu, collectAccessibilityIssues as fv, collectElementText as fw, collectSlideText as fx, collectStoredChats as fy, collectUsedFontFamilies as fz, AccessibilityService as g, formatBytes as g$, computeScatterXDomain as g0, computeSelectionBoxes as g1, computeSingleSelected as g2, computeSlideIndices as g3, computeSnap as g4, computeStackedBarRects as g5, computeStackedValueRange as g6, computeTrendlinePrimitives as g7, computeValueRange as g8, convertOmmlToMathMl as g9, duplicateElementById as gA, durationOf as gB, effectsStateOf as gC, enableGlowPatch as gD, enableInnerShadowPatch as gE, enableOuterShadowPatch as gF, enableReflectionPatch as gG, enableSoftEdgePatch as gH, encodeGif as gI, endShowMediaCleanup as gJ, estimatePageCount as gK, exitPresentationFullscreen as gL, exportAiChatLogs as gM, extractPathPoints as gN, eyedropperAvailable as gO, fillColorOf$1 as gP, findInSlides as gQ, findOwningSlideIndex as gR, findSlideIndexByElementId as gS, firstVisibleIndex as gT, fitPolynomial as gU, fitZoom as gV, focusTargetChips as gW, fontMimeForFormat as gX, fontSizeOf as gY, forgetSessionDeck as gZ, formatAxisValue as g_, copyFormatFromElement as ga, countAccessibilityIssues as gb, countAnnotationStrokes as gc, createAngularAiBridge as gd, createCustomShow as ge, createSwipeDismissDrag as gf, createWebrtcBundle as gg, createWebsocketBundle as gh, cssObjectToStyleMap as gi, currentColorScheme as gj, currentLayout as gk, currentStyle as gl, defaultCssVars as gm, defaultRadius as gn, defaultThemeColors as go, deleteElementsByIds as gp, deleteVersion as gq, demoteNode as gr, deriveModel3DBlobUrl as gs, derivePresenceList as gt, describeSmartArtBounds as gu, disableGlowPatch as gv, disableInnerShadowPatch as gw, disableOuterShadowPatch as gx, disableReflectionPatch as gy, disableSoftEdgePatch as gz, AccountPageComponent as h, isItalic as h$, formatCursorLabel as h0, formatElapsed as h1, formatFileSize as h2, formatPropertyDate as h3, formatTime as h4, fpsToFrameIntervalMs as h5, generateBroadcastRoomId as h6, generateCommentId as h7, generateCustomShowId as h8, generatePressureCircles as h9, getTouchDistance as hA, getWarpCategory as hB, getWarpPath as hC, gradientStateFromStyle as hD, gradientStateOf as hE, gradientStatePatch as hF, gridColumns as hG, groupIssuesBySeverity as hH, hasAnimation as hI, hasCopyableFormat as hJ, hasExistingLink as hK, hasExitedFullscreen as hL, hasGradientFill as hM, hasPressureVariation as hN, hasVisibleSlideAfter as hO, headerLabel as hP, imageDimensions as hQ, inkViewBox as hR, insertTableElementColumn as hS, insertTableElementRow as hT, interpolateWidth as hU, isAudienceTab as hV, isBold as hW, isBrowserOpenableMime as hX, isChildNode as hY, isElementInteractive as hZ, isInjectableUrl as h_, generateTicks as ha, getClrChangeParams as hb, getContainerStyle as hc, getDuotoneFilterDef as hd, getImageSrc as he, getLocalStorageUsageSummary as hf, getOleAriaLabel as hg, getOleBadgeLabel as hh, getOleDisplayName as hi, getOleDownloadFileName as hj, getOleTypeColor as hk, getOleTypeLabel as hl, getPasswordStrength as hm, getPatternSvg as hn, getPlaceholderStyle as ho, getVersions as hp, getResolvedShapeClipPath as hq, getResolvedShapeClipPathFor as hr, getSessionTabId as hs, getShapeFillStrokeStyle as ht, getSlideBackgroundStyle as hu, getSlideTransitionAnimations as hv, getSmartArtNodeBounds as hw, getSpeechRecognitionCtor as hx, getTextBlockStyle as hy, getTextWarp as hz, ActionSettingsPanelComponent as i, parseNodeTextarea as i$, isLegacyBinaryPresentation as i0, isPpactionUrl as i1, isPresenterMessage as i2, isSigned as i3, isSupportedPresentationFile as i4, isTextElement as i5, isTwoTableFocus as i6, isUnderline as i7, isUrlSafe as i8, isValidRoomId as i9, narrowToPolygon as iA, narrowToRect as iB, newChartElement as iC, newEquationElement as iD, newPresetShapeElement as iE, newShapeElement as iF, newSmartArtElement as iG, newTableElement as iH, newTextElement as iI, nextVisibleIndex as iJ, nodeBold as iK, nodeEditBox as iL, nodeFillColor as iM, nodeFontColor as iN, nodeIdFromKey as iO, nodeItalic as iP, nodeStyle as iQ, normalizeFontFormat as iR, normalizeSlidesPerPage as iS, normalizeValue as iT, numFromEvent as iU, ommlToMathml as iV, ooxmlDashToCssBorderStyle as iW, openNativeEyeDropper as iX, overallStatus as iY, paletteColor as iZ, parseAudienceNonce as i_, isViewportBackgroundPressTarget as ia, isZoomActivationKey as ib, issueTrackKey as ic, issueTypeLabel as id, keyToLabel as ie, lastVisibleIndex as ig, latexToMathml as ih, layoutConnectorPaints as ii, layoutNodeLabels as ij, linePointsToSvgString as ik, lineSpacingPatch as il, loadAudienceContent as im, loadSessionDeck as io, mediaFallbackFor as ip, mediaSurfaceFor as iq, mergeCaptionResults as ir, mergeDown as is, mergeRight as it, mergeSelection as iu, moveElementBy as iv, moveNodeDown as iw, moveNodeUp as ix, msToFrameDelayCs as iy, narrowToCircle as iz, AdvancedChartEditorComponent as j, routeOrthogonalConnector as j$, partitionSlides as j0, patchChartData as j1, patchChartStyle as j2, patchTableData as j3, patchTextStyle as j4, patternPresetOptions as j5, pendingElementStyles as j6, pickColorByClickFallback as j7, pickFile as j8, pickSupportedMimeType as j9, removeNode as jA, removeTableElementRow as jB, removeSeries as jC, renderToCanvas as jD, reorderAnimationDown as jE, reorderAnimationUp as jF, replaceInSlides as jG, replaceMatch as jH, requestPresentationFullscreen as jI, resizeElement as jJ, resolveCaptionTracks as jK, resolveChartKind as jL, resolveFontVariant as jM, resolveHyperlinkHref as jN, resolveInteractiveElementId as jO, resolveMediaSrc as jP, resolveOleType as jQ, resolveParagraphBullet as jR, resolvePresenterNotes as jS, resolveProfileInitial as jT, resolveRegionCode as jU, resolveSlideAutoAdvanceMs as jV, resolvePalette as jW, resolveThemeCatalogEntry as jX, resolveTransitionDuration as jY, restoreSessionDeck as jZ, revealedElementStyles as j_, planGifFrames as ja, planVideoSegments as jb, pointsToSvgPathD as jc, presenceToCursors as jd, presentationBaseName as je, presentationStageStyle as jf, presenterTimerProgress as jg, presetByLayout as jh, presetsForCategory as ji, pressuresToWidths as jj, prevVisibleIndex as jk, projectDrawingShapes as jl, promoteNode as jm, provideViewerTheme as jn, radarAngle as jo, radarRingPoints as jp, readAsDataUrl as jq, recordWebm as jr, registerCrossSlideAudio as js, rememberSessionDeck as jt, removeAnimation as ju, removeCategory as jv, removeTableElementColumn as jw, removeCommentFromList as jx, removeElementAnimation as jy, removeGradientStopPatch as jz, AiChangeOverlayComponent as k, shouldBlockClickAdvance as k$, rowStyle as k0, rulerDragToGuidePosition as k1, rulerHighlight as k2, rulerStripTicks as k3, sampleColorFromSlide as k4, sanitizeColor as k5, sanitizeSlideIndex as k6, sanitizeUserName as k7, saveViewerProfile as k8, savedPresentationFileName as k9, setDataPointMarker as kA, setDelay as kB, setDirection as kC, setDuration as kD, setElementPosition as kE, setGridlineStyle as kF, setLayout as kG, setLegend as kH, setNodeStyle as kI, setNodeText as kJ, setRepeatCount as kK, setRepeatMode as kL, setSequence as kM, setSeriesChartType as kN, setSeriesColor as kO, setSeriesErrorBars as kP, setSeriesMarker as kQ, setSeriesName as kR, setSeriesTrendline as kS, setSeriesValue as kT, setStyle as kU, setTimingCurve as kV, setTitle as kW, setTrigger as kX, setTriggerShapeId as kY, shapeStylePatch$1 as kZ, sheetAfterNavigate as k_, scanAvailableFonts as ka, searchSlides as kb, seedBroadcastFields as kc, seedHyperlinkDraft as kd, seedPropertiesDraft as ke, seedShareFields as kf, segmentFrameCount as kg, selectValue$2 as kh, sendBackward as ki, sendToBack as kj, sequentialColorScale as kk, serializeWriteBack as kl, seriesColor as km, setAnimationEmphasis as kn, setAnimationEntrance as ko, setAnimationExit as kp, setAxis as kq, setAxisLogScale as kr, setAxisTitleStyle as ks, setCategoryLabel as kt, setCellText as ku, setColorScheme as kv, setDataLabels as kw, setDataPointExplosion as kx, setDataPointFill as ky, setDataPointLabel as kz, AiChatPanelComponent as l, shouldUseSvgWarp as l0, showDirectionPicker as l1, showsTemplateAffordance as l2, signatureCountLabel as l3, signatureKey as l4, signatureTimestamp as l5, signerName as l6, statusLabel as l7, slideNumberOf as l8, slidesWithReappliedLayout as l9, toggleNodeBold as lA, toggleNodeItalic as lB, toggleSheet as lC, topLevelNodeCount as lD, transformSelectedTextCase as lE, translationsEn as lF, updateElementById as lG, updateGlowPatch as lH, updateGradientStopPatch as lI, updateInnerShadowPatch as lJ, updateOuterShadowPatch as lK, updateReflectionPatch as lL, vAlignPatch as lM, validatePassword as lN, validatePrintSettings as lO, validateRoomId as lP, valueToY as lQ, vermilionDarkColors as lR, vermilionDarkTheme as lS, vermilionLightColors as lT, vermilionLightTheme as lU, vermilionRadius as lV, waypointsToPathD as lW, worstStatus as lX, zoomTargetSlideIndex as lY, smartArtNodes as la, paletteColour as lb, snapToGridStep as lc, splitCursorCell as ld, splitMergedCell as le, statusKind as lf, statusLabel$1 as lg, storeAudienceContent as lh, stringFromEvent$5 as li, strokeColorOf as lj, strokeToInkElement as lk, strokeWidthOf as ll, styleShadowFilter as lm, surfaceColor as ln, textAdvancedPatch as lo, textAdvancedStateFromStyle as lp, textAdvancedStateOf as lq, textColorOf as lr, textDirectionPatch as ls, textStyleOf as lt, textStylePatch as lu, themeStyle as lv, themeToCssVars as lw, thumbnailHeight as lx, thumbnailZoom as ly, toggleCommentResolvedInList as lz, AiChatService as m, AiComposerComponent as n, AiFocusBarComponent as o, AiFocusHighlightOverlayComponent as p, AiHistoryMenuComponent as q, AiHistoryService as r, AiMessageListComponent as s, toChatSummary as t, AiPanelStore as u, AiProposalCardComponent as v, AiSettingsSectionComponent as w, AiToolCallCardComponent as x, AnimationAuthorPanelComponent as y, AnimationPanelComponent as z };
139152
+ //# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-BprrML9j.mjs.map