pptx-angular-viewer 1.17.0 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,22 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [1.17.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.17.0) - 2026-07-13
8
+
9
+ ### Bug Fixes
10
+
11
+ - **build:** Restore compatibility after dependency updates (by @ChristopherVR) ([ddbfae6](https://github.com/ChristopherVR/pptx-viewer/commit/ddbfae687669b9e6c64fd3c3b16a592623b79c10))
12
+
13
+ ### Dependencies
14
+
15
+ - **deps:** Update html2canvas-pro to 2.2.3 (by @dependabot[bot]) ([0fe015b](https://github.com/ChristopherVR/pptx-viewer/commit/0fe015b83722534f14864b2054ce6561b09386ca))
16
+ - **deps:** Update angular compiler to 22.0.6 (by @dependabot[bot]) ([3990f82](https://github.com/ChristopherVR/pptx-viewer/commit/3990f821128012438f9e72337b293fce7110d0fc))
17
+ - **deps:** Update fast-xml-parser to 5.10.0 (by @dependabot[bot]) ([6080273](https://github.com/ChristopherVR/pptx-viewer/commit/6080273f6a6f603d10d69a71d54faad1e6d9bf05))
18
+ - **deps:** Update angular vite plugin to 2.6.3 (by @dependabot[bot]) ([f3c664e](https://github.com/ChristopherVR/pptx-viewer/commit/f3c664e28425ff0059073b3119f215e981f56d00))
19
+ - **deps:** Update dompurify to 3.4.12 (by @dependabot[bot]) ([00a6ca4](https://github.com/ChristopherVR/pptx-viewer/commit/00a6ca49609d5a0e922a9e20447460b11ec690ba))
20
+ - **deps:** Update minor and patch dependencies (by @dependabot[bot]) ([5cd81fb](https://github.com/ChristopherVR/pptx-viewer/commit/5cd81fb0c8708e53990ac4858660d0b6a4b17a7a))
21
+ - **deps:** Update typescript to 7.0.2 (by @dependabot[bot]) ([0a7c1f1](https://github.com/ChristopherVR/pptx-viewer/commit/0a7c1f1f7f0ccdee9537f1e11177b6a39839d221))
22
+
7
23
  ## [1.16.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.16.1) - 2026-07-13
8
24
 
9
25
  ## [1.16.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.16.0) - 2026-07-11
@@ -39841,7 +39841,7 @@ const translationsEn = {
39841
39841
  'pptx.collaboration.status.connecting': 'Connecting...',
39842
39842
  'pptx.collaboration.status.disconnected': 'Disconnected',
39843
39843
  'pptx.collaboration.status.error': 'Connection error',
39844
- 'pptx.collaboration.statusAriaLabel': 'Collaboration: {{status}}. {{count}} user(s) connected.',
39844
+ 'pptx.collaboration.statusAriaLabel': 'Collaboration: {{status}}',
39845
39845
  'pptx.collaboration.userCount': '{{count}} user(s)',
39846
39846
  'pptx.collaboration.youLabel': '{{name}} (you)',
39847
39847
  'pptx.collaboration.usersConnected': '{{count}} user(s) connected',
@@ -53475,6 +53475,7 @@ class SmartArtPropertiesComponent {
53475
53475
  @for (layout of layoutTypes; track layout) {
53476
53476
  <button
53477
53477
  type="button"
53478
+ [attr.data-testid]="'smartart-layout-' + layout"
53478
53479
  class="pptx-sa-props__layout"
53479
53480
  [class.is-active]="activeLayout() === layout"
53480
53481
  [disabled]="!canEdit()"
@@ -53492,6 +53493,8 @@ class SmartArtPropertiesComponent {
53492
53493
  <span class="pptx-sa-props__label">{{ 'pptx.smartart.colorScheme' | translate }}</span>
53493
53494
  <select
53494
53495
  class="pptx-sa-props__select"
53496
+ data-testid="smartart-color-scheme"
53497
+ [attr.aria-label]="'pptx.smartart.colorScheme' | translate"
53495
53498
  [disabled]="!canEdit()"
53496
53499
  [value]="activeColorScheme()"
53497
53500
  (change)="onColorScheme($event)"
@@ -53555,11 +53558,13 @@ class SmartArtPropertiesComponent {
53555
53558
  <span class="pptx-sa-props__bullet">{{ isChild(node) ? '•' : i + 1 }}</span>
53556
53559
  <input
53557
53560
  type="text"
53561
+ data-testid="smartart-node-text"
53562
+ [attr.aria-label]="node.text"
53558
53563
  class="pptx-sa-props__node-input"
53559
53564
  [disabled]="!canEdit()"
53560
53565
  [value]="node.text"
53561
53566
  [attr.placeholder]="'pptx.smartArt.nodePlaceholder' | translate"
53562
- (change)="onNodeText($event, node.id)"
53567
+ (input)="onNodeText($event, node.id)"
53563
53568
  (keydown)="onNodeKeydown($event, node.id)"
53564
53569
  />
53565
53570
  <div class="pptx-sa-props__node-actions">
@@ -53701,6 +53706,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
53701
53706
  @for (layout of layoutTypes; track layout) {
53702
53707
  <button
53703
53708
  type="button"
53709
+ [attr.data-testid]="'smartart-layout-' + layout"
53704
53710
  class="pptx-sa-props__layout"
53705
53711
  [class.is-active]="activeLayout() === layout"
53706
53712
  [disabled]="!canEdit()"
@@ -53718,6 +53724,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
53718
53724
  <span class="pptx-sa-props__label">{{ 'pptx.smartart.colorScheme' | translate }}</span>
53719
53725
  <select
53720
53726
  class="pptx-sa-props__select"
53727
+ data-testid="smartart-color-scheme"
53728
+ [attr.aria-label]="'pptx.smartart.colorScheme' | translate"
53721
53729
  [disabled]="!canEdit()"
53722
53730
  [value]="activeColorScheme()"
53723
53731
  (change)="onColorScheme($event)"
@@ -53781,11 +53789,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
53781
53789
  <span class="pptx-sa-props__bullet">{{ isChild(node) ? '•' : i + 1 }}</span>
53782
53790
  <input
53783
53791
  type="text"
53792
+ data-testid="smartart-node-text"
53793
+ [attr.aria-label]="node.text"
53784
53794
  class="pptx-sa-props__node-input"
53785
53795
  [disabled]="!canEdit()"
53786
53796
  [value]="node.text"
53787
53797
  [attr.placeholder]="'pptx.smartArt.nodePlaceholder' | translate"
53788
- (change)="onNodeText($event, node.id)"
53798
+ (input)="onNodeText($event, node.id)"
53789
53799
  (keydown)="onNodeKeydown($event, node.id)"
53790
53800
  />
53791
53801
  <div class="pptx-sa-props__node-actions">
@@ -56357,10 +56367,7 @@ class InspectorPanelComponent {
56357
56367
  mid-edit: the caret stays put and the on-screen keyboard does not dismiss.
56358
56368
  All commits happen on (change) (blur), reading event.target.value.
56359
56369
  -->
56360
- <aside
56361
- [class]="inspectorClass()"
56362
- [attr.aria-label]="'pptx.inspector.elementProperties' | translate"
56363
- >
56370
+ <aside [class]="inspectorClass()" [attr.aria-label]="'pptx.inspector.properties' | translate">
56364
56371
  <!-- ── Transform: Position & Size ─────────────────────────────────── -->
56365
56372
  <section class="pptx-ng-inspector__section">
56366
56373
  <h3 class="pptx-ng-inspector__heading">{{ 'pptx.inspector.transform' | translate }}</h3>
@@ -56735,10 +56742,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
56735
56742
  mid-edit: the caret stays put and the on-screen keyboard does not dismiss.
56736
56743
  All commits happen on (change) (blur), reading event.target.value.
56737
56744
  -->
56738
- <aside
56739
- [class]="inspectorClass()"
56740
- [attr.aria-label]="'pptx.inspector.elementProperties' | translate"
56741
- >
56745
+ <aside [class]="inspectorClass()" [attr.aria-label]="'pptx.inspector.properties' | translate">
56742
56746
  <!-- ── Transform: Position & Size ─────────────────────────────────── -->
56743
56747
  <section class="pptx-ng-inspector__section">
56744
56748
  <h3 class="pptx-ng-inspector__heading">{{ 'pptx.inspector.transform' | translate }}</h3>
@@ -57215,6 +57219,7 @@ class MobileBottomBarComponent {
57215
57219
  {
57216
57220
  key: 'notes',
57217
57221
  labelKey: 'pptx.notes.title',
57222
+ ariaLabelKey: 'pptx.statusBar.toggleNotes',
57218
57223
  // Note / document-text icon
57219
57224
  svgPath: 'M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6 M8 13h8 M8 17h5',
57220
57225
  disabled: noSlides,
@@ -57233,7 +57238,7 @@ class MobileBottomBarComponent {
57233
57238
  class="pptx-ng-mbar-btn"
57234
57239
  [class.is-active]="action.active"
57235
57240
  [attr.aria-pressed]="action.active ? true : null"
57236
- [attr.aria-label]="action.labelKey | translate"
57241
+ [attr.aria-label]="action.ariaLabelKey ?? action.labelKey | translate"
57237
57242
  [disabled]="action.disabled"
57238
57243
  (click)="action.emit()"
57239
57244
  >
@@ -57274,7 +57279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
57274
57279
  class="pptx-ng-mbar-btn"
57275
57280
  [class.is-active]="action.active"
57276
57281
  [attr.aria-pressed]="action.active ? true : null"
57277
- [attr.aria-label]="action.labelKey | translate"
57282
+ [attr.aria-label]="action.ariaLabelKey ?? action.labelKey | translate"
57278
57283
  [disabled]="action.disabled"
57279
57284
  (click)="action.emit()"
57280
57285
  >
@@ -57725,7 +57730,6 @@ class MobileMenuSheetComponent {
57725
57730
  [class.is-active]="row.active"
57726
57731
  [class.is-danger]="row.danger"
57727
57732
  [disabled]="row.disabled"
57728
- role="menuitem"
57729
57733
  [attr.aria-label]="row.labelKey | translate"
57730
57734
  (click)="onRowClick(row)"
57731
57735
  >
@@ -57778,7 +57782,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
57778
57782
  [class.is-active]="row.active"
57779
57783
  [class.is-danger]="row.danger"
57780
57784
  [disabled]="row.disabled"
57781
- role="menuitem"
57782
57785
  [attr.aria-label]="row.labelKey | translate"
57783
57786
  (click)="onRowClick(row)"
57784
57787
  >
@@ -68940,8 +68943,12 @@ class PresentationTransitionOverlayComponent {
68940
68943
  }
68941
68944
  }
68942
68945
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PresentationTransitionOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68943
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: PresentationTransitionOverlayComponent, isStandalone: true, selector: "pptx-presentation-transition-overlay", inputs: { outgoingSlide: { classPropertyName: "outgoingSlide", publicName: "outgoingSlide", isSignal: true, isRequired: true, transformFunction: null }, canvasSize: { classPropertyName: "canvasSize", publicName: "canvasSize", isSignal: true, isRequired: true, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: true, transformFunction: null }, templateElements: { classPropertyName: "templateElements", publicName: "templateElements", isSignal: true, isRequired: false, transformFunction: null }, mediaDataUrls: { classPropertyName: "mediaDataUrls", publicName: "mediaDataUrls", isSignal: true, isRequired: false, transformFunction: null }, durationMs: { classPropertyName: "durationMs", publicName: "durationMs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { complete: "complete" }, ngImport: i0, template: `
68944
- <div class="pptx-ng-transition-layer" [ngStyle]="layerStyle()">
68946
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: PresentationTransitionOverlayComponent, isStandalone: true, selector: "pptx-presentation-transition-overlay", inputs: { outgoingSlide: { classPropertyName: "outgoingSlide", publicName: "outgoingSlide", isSignal: true, isRequired: true, transformFunction: null }, canvasSize: { classPropertyName: "canvasSize", publicName: "canvasSize", isSignal: true, isRequired: true, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: true, transformFunction: null }, templateElements: { classPropertyName: "templateElements", publicName: "templateElements", isSignal: true, isRequired: false, transformFunction: null }, mediaDataUrls: { classPropertyName: "mediaDataUrls", publicName: "mediaDataUrls", isSignal: true, isRequired: false, transformFunction: null }, durationMs: { classPropertyName: "durationMs", publicName: "durationMs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { complete: "complete" }, host: { attributes: { "data-pptx-transition-overlay": "" } }, ngImport: i0, template: `
68947
+ <div
68948
+ class="pptx-ng-transition-layer"
68949
+ data-pptx-transition-layer="outgoing"
68950
+ [ngStyle]="layerStyle()"
68951
+ >
68945
68952
  <div [ngStyle]="slideBoxStyle()">
68946
68953
  <pptx-slide-canvas
68947
68954
  [slide]="layerSlide()"
@@ -68956,8 +68963,12 @@ class PresentationTransitionOverlayComponent {
68956
68963
  }
68957
68964
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PresentationTransitionOverlayComponent, decorators: [{
68958
68965
  type: Component,
68959
- args: [{ selector: 'pptx-presentation-transition-overlay', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgStyle, SlideCanvasComponent], template: `
68960
- <div class="pptx-ng-transition-layer" [ngStyle]="layerStyle()">
68966
+ args: [{ selector: 'pptx-presentation-transition-overlay', host: { 'data-pptx-transition-overlay': '' }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgStyle, SlideCanvasComponent], template: `
68967
+ <div
68968
+ class="pptx-ng-transition-layer"
68969
+ data-pptx-transition-layer="outgoing"
68970
+ [ngStyle]="layerStyle()"
68971
+ >
68961
68972
  <div [ngStyle]="slideBoxStyle()">
68962
68973
  <pptx-slide-canvas
68963
68974
  [slide]="layerSlide()"
@@ -73286,6 +73297,7 @@ class RibbonFileSectionComponent {
73286
73297
  class="pptx-rb-pill"
73287
73298
  [disabled]="slideCount() === 0"
73288
73299
  (click)="save.emit()"
73300
+ [attr.aria-label]="'pptx.file.saveAsPptx' | translate"
73289
73301
  [title]="'pptx.ribbon.saveAsPptx' | translate"
73290
73302
  >
73291
73303
  {{ 'pptx.toolbar.save' | translate }}
@@ -73391,6 +73403,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
73391
73403
  class="pptx-rb-pill"
73392
73404
  [disabled]="slideCount() === 0"
73393
73405
  (click)="save.emit()"
73406
+ [attr.aria-label]="'pptx.file.saveAsPptx' | translate"
73394
73407
  [title]="'pptx.ribbon.saveAsPptx' | translate"
73395
73408
  >
73396
73409
  {{ 'pptx.toolbar.save' | translate }}
@@ -77100,7 +77113,7 @@ class RibbonComponent {
77100
77113
  />
77101
77114
 
77102
77115
  <!-- ── Tab bar ───────────────────────────────────────────────────── -->
77103
- <div class="flex items-center border-b border-border/60 px-1">
77116
+ <div role="tablist" class="flex items-center border-b border-border/60 px-1">
77104
77117
  <!-- Scrollable tab strip: on narrow widths the tabs scroll instead of
77105
77118
  clipping (mirrors React's max-md:overflow-x-auto scrollbar-none),
77106
77119
  while the Record/Share actions and collapse toggle stay pinned. -->
@@ -77108,6 +77121,8 @@ class RibbonComponent {
77108
77121
  @for (t of tabs; track t.id) {
77109
77122
  <button
77110
77123
  type="button"
77124
+ role="tab"
77125
+ [attr.aria-selected]="activeTab() === t.id"
77111
77126
  (click)="activeTab.set(t.id)"
77112
77127
  class="relative whitespace-nowrap px-3.5 py-2 text-[12px] font-medium transition-colors"
77113
77128
  [ngClass]="
@@ -77135,29 +77150,39 @@ class RibbonComponent {
77135
77150
  <span>{{ 'pptx.titleBar.record' | translate }}</span>
77136
77151
  </button>
77137
77152
  }
77138
- <button
77139
- type="button"
77140
- class="relative inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-2.5 py-1 text-[11px] font-medium text-white transition-colors"
77141
- [ngClass]="
77142
- collabConnected()
77143
- ? 'bg-green-600 hover:bg-green-500'
77144
- : 'bg-primary hover:bg-primary/90'
77145
- "
77146
- [title]="
77153
+ <div
77154
+ role="status"
77155
+ [attr.aria-label]="
77147
77156
  collabConnected()
77148
- ? ('pptx.toolbar.sharingUsers' | translate: { count: connectedCount() })
77149
- : ('pptx.toolbar.share' | translate)
77157
+ ? ('pptx.collaboration.statusAriaLabel'
77158
+ | translate: { status: 'pptx.collaboration.status.connected' | translate })
77159
+ : null
77150
77160
  "
77151
- [attr.aria-label]="'pptx.toolbar.share' | translate"
77152
- (click)="share.emit()"
77153
77161
  >
77154
- <svg lucideShare2 class="h-3.5 w-3.5"></svg>
77155
- <span>{{
77156
- collabConnected()
77157
- ? ('pptx.toolbar.sharingCount' | translate: { count: connectedCount() })
77158
- : ('pptx.toolbar.share' | translate)
77159
- }}</span>
77160
- </button>
77162
+ <button
77163
+ type="button"
77164
+ class="relative inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-2.5 py-1 text-[11px] font-medium text-white transition-colors"
77165
+ [ngClass]="
77166
+ collabConnected()
77167
+ ? 'bg-green-600 hover:bg-green-500'
77168
+ : 'bg-primary hover:bg-primary/90'
77169
+ "
77170
+ [title]="
77171
+ collabConnected()
77172
+ ? ('pptx.toolbar.sharingUsers' | translate: { count: connectedCount() })
77173
+ : ('pptx.toolbar.share' | translate)
77174
+ "
77175
+ [attr.aria-label]="'pptx.toolbar.share' | translate"
77176
+ (click)="share.emit()"
77177
+ >
77178
+ <svg lucideShare2 class="h-3.5 w-3.5"></svg>
77179
+ <span>{{
77180
+ collabConnected()
77181
+ ? ('pptx.toolbar.sharingCount' | translate: { count: connectedCount() })
77182
+ : ('pptx.toolbar.share' | translate)
77183
+ }}</span>
77184
+ </button>
77185
+ </div>
77161
77186
  </div>
77162
77187
 
77163
77188
  <button
@@ -77406,7 +77431,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
77406
77431
  />
77407
77432
 
77408
77433
  <!-- ── Tab bar ───────────────────────────────────────────────────── -->
77409
- <div class="flex items-center border-b border-border/60 px-1">
77434
+ <div role="tablist" class="flex items-center border-b border-border/60 px-1">
77410
77435
  <!-- Scrollable tab strip: on narrow widths the tabs scroll instead of
77411
77436
  clipping (mirrors React's max-md:overflow-x-auto scrollbar-none),
77412
77437
  while the Record/Share actions and collapse toggle stay pinned. -->
@@ -77414,6 +77439,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
77414
77439
  @for (t of tabs; track t.id) {
77415
77440
  <button
77416
77441
  type="button"
77442
+ role="tab"
77443
+ [attr.aria-selected]="activeTab() === t.id"
77417
77444
  (click)="activeTab.set(t.id)"
77418
77445
  class="relative whitespace-nowrap px-3.5 py-2 text-[12px] font-medium transition-colors"
77419
77446
  [ngClass]="
@@ -77441,29 +77468,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
77441
77468
  <span>{{ 'pptx.titleBar.record' | translate }}</span>
77442
77469
  </button>
77443
77470
  }
77444
- <button
77445
- type="button"
77446
- class="relative inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-2.5 py-1 text-[11px] font-medium text-white transition-colors"
77447
- [ngClass]="
77448
- collabConnected()
77449
- ? 'bg-green-600 hover:bg-green-500'
77450
- : 'bg-primary hover:bg-primary/90'
77451
- "
77452
- [title]="
77471
+ <div
77472
+ role="status"
77473
+ [attr.aria-label]="
77453
77474
  collabConnected()
77454
- ? ('pptx.toolbar.sharingUsers' | translate: { count: connectedCount() })
77455
- : ('pptx.toolbar.share' | translate)
77475
+ ? ('pptx.collaboration.statusAriaLabel'
77476
+ | translate: { status: 'pptx.collaboration.status.connected' | translate })
77477
+ : null
77456
77478
  "
77457
- [attr.aria-label]="'pptx.toolbar.share' | translate"
77458
- (click)="share.emit()"
77459
77479
  >
77460
- <svg lucideShare2 class="h-3.5 w-3.5"></svg>
77461
- <span>{{
77462
- collabConnected()
77463
- ? ('pptx.toolbar.sharingCount' | translate: { count: connectedCount() })
77464
- : ('pptx.toolbar.share' | translate)
77465
- }}</span>
77466
- </button>
77480
+ <button
77481
+ type="button"
77482
+ class="relative inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-2.5 py-1 text-[11px] font-medium text-white transition-colors"
77483
+ [ngClass]="
77484
+ collabConnected()
77485
+ ? 'bg-green-600 hover:bg-green-500'
77486
+ : 'bg-primary hover:bg-primary/90'
77487
+ "
77488
+ [title]="
77489
+ collabConnected()
77490
+ ? ('pptx.toolbar.sharingUsers' | translate: { count: connectedCount() })
77491
+ : ('pptx.toolbar.share' | translate)
77492
+ "
77493
+ [attr.aria-label]="'pptx.toolbar.share' | translate"
77494
+ (click)="share.emit()"
77495
+ >
77496
+ <svg lucideShare2 class="h-3.5 w-3.5"></svg>
77497
+ <span>{{
77498
+ collabConnected()
77499
+ ? ('pptx.toolbar.sharingCount' | translate: { count: connectedCount() })
77500
+ : ('pptx.toolbar.share' | translate)
77501
+ }}</span>
77502
+ </button>
77503
+ </div>
77467
77504
  </div>
77468
77505
 
77469
77506
  <button
@@ -85255,9 +85292,9 @@ class ViewerInspectorPanelService {
85255
85292
  case 'selection':
85256
85293
  return 'pptx.selectionPane.title';
85257
85294
  case 'element':
85258
- return 'pptx.viewer.elementProperties';
85295
+ return 'pptx.inspector.properties';
85259
85296
  case 'slide':
85260
- return 'pptx.viewer.slideProperties';
85297
+ return 'pptx.inspector.properties';
85261
85298
  default:
85262
85299
  return '';
85263
85300
  }
@@ -86925,6 +86962,7 @@ class PowerPointViewerComponent {
86925
86962
  -->
86926
86963
  @if (inspectorPanel.visibleInspectorKind(); as kind) {
86927
86964
  <aside
86965
+ data-pptx-inspector
86928
86966
  class="pptx-ng-inspector-host"
86929
86967
  [attr.aria-label]="inspectorPanel.inspectorLabel() | translate"
86930
86968
  [style.transform]="
@@ -87602,6 +87640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
87602
87640
  -->
87603
87641
  @if (inspectorPanel.visibleInspectorKind(); as kind) {
87604
87642
  <aside
87643
+ data-pptx-inspector
87605
87644
  class="pptx-ng-inspector-host"
87606
87645
  [attr.aria-label]="inspectorPanel.inspectorLabel() | translate"
87607
87646
  [style.transform]="