@progress/kendo-angular-pdfviewer 21.1.1-develop.2 → 21.2.0-develop.2

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.
@@ -16,7 +16,6 @@ import * as i1$1 from '@progress/kendo-angular-dropdowns';
16
16
  import { ComboBoxComponent, ItemTemplateDirective, KENDO_DROPDOWNLIST } from '@progress/kendo-angular-dropdowns';
17
17
  import * as i2 from '@progress/kendo-angular-buttons';
18
18
  import { ButtonGroupComponent, ButtonComponent, KENDO_BUTTON } from '@progress/kendo-angular-buttons';
19
- import { NgFor, NgSwitch, NgSwitchCase, NgIf } from '@angular/common';
20
19
  import { map, take } from 'rxjs/operators';
21
20
  import * as i3 from '@progress/kendo-angular-inputs';
22
21
  import { TextBoxComponent, TextBoxSuffixTemplateDirective, KENDO_FLATCOLORPICKER } from '@progress/kendo-angular-inputs';
@@ -180,8 +179,12 @@ class Messages extends ComponentMessages {
180
179
  * Sets the text of the **Color** section in the annotation editor dialog.
181
180
  */
182
181
  annotationEditorColorTitle;
182
+ /**
183
+ * Sets the label for the PDF viewer canvas container.
184
+ */
185
+ canvasLabel;
183
186
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
184
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: Messages, selector: "kendo-pdfviewer-messages-base", inputs: { zoomInTitle: "zoomInTitle", zoomOutTitle: "zoomOutTitle", selectionTitle: "selectionTitle", panningTitle: "panningTitle", searchTitle: "searchTitle", openTitle: "openTitle", downloadTitle: "downloadTitle", printTitle: "printTitle", pagerInputLabel: "pagerInputLabel", pagerInputTitle: "pagerInputTitle", pagerFirstPage: "pagerFirstPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerLastPage: "pagerLastPage", pagerOf: "pagerOf", pagerPage: "pagerPage", fitToPage: "fitToPage", fitToWidth: "fitToWidth", searchInputPlaceholder: "searchInputPlaceholder", searchMatchesOf: "searchMatchesOf", searchPreviousMatchTitle: "searchPreviousMatchTitle", searchNextMatchTitle: "searchNextMatchTitle", searchCloseTitle: "searchCloseTitle", searchMatchCaseTitle: "searchMatchCaseTitle", zoomInputPlaceholder: "zoomInputPlaceholder", annotationsTitle: "annotationsTitle", annotationEditorTitle: "annotationEditorTitle", deleteAnnotationTitle: "deleteAnnotationTitle", highlightAnnotationTitle: "highlightAnnotationTitle", freeTextAnnotationTitle: "freeTextAnnotationTitle", closeAnnotationsToolbarTitle: "closeAnnotationsToolbarTitle", deleteAnnotationConfirmationDialogTitle: "deleteAnnotationConfirmationDialogTitle", deleteAnnotationConfirmationDialogContent: "deleteAnnotationConfirmationDialogContent", deleteAnnotationConfirmationDialogConfirmText: "deleteAnnotationConfirmationDialogConfirmText", deleteAnnotationConfirmationDialogRejectText: "deleteAnnotationConfirmationDialogRejectText", annotationEditorFontSizeTitle: "annotationEditorFontSizeTitle", annotationEditorColorTitle: "annotationEditorColorTitle" }, usesInheritance: true, ngImport: i0 });
187
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: Messages, selector: "kendo-pdfviewer-messages-base", inputs: { zoomInTitle: "zoomInTitle", zoomOutTitle: "zoomOutTitle", selectionTitle: "selectionTitle", panningTitle: "panningTitle", searchTitle: "searchTitle", openTitle: "openTitle", downloadTitle: "downloadTitle", printTitle: "printTitle", pagerInputLabel: "pagerInputLabel", pagerInputTitle: "pagerInputTitle", pagerFirstPage: "pagerFirstPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerLastPage: "pagerLastPage", pagerOf: "pagerOf", pagerPage: "pagerPage", fitToPage: "fitToPage", fitToWidth: "fitToWidth", searchInputPlaceholder: "searchInputPlaceholder", searchMatchesOf: "searchMatchesOf", searchPreviousMatchTitle: "searchPreviousMatchTitle", searchNextMatchTitle: "searchNextMatchTitle", searchCloseTitle: "searchCloseTitle", searchMatchCaseTitle: "searchMatchCaseTitle", zoomInputPlaceholder: "zoomInputPlaceholder", annotationsTitle: "annotationsTitle", annotationEditorTitle: "annotationEditorTitle", deleteAnnotationTitle: "deleteAnnotationTitle", highlightAnnotationTitle: "highlightAnnotationTitle", freeTextAnnotationTitle: "freeTextAnnotationTitle", closeAnnotationsToolbarTitle: "closeAnnotationsToolbarTitle", deleteAnnotationConfirmationDialogTitle: "deleteAnnotationConfirmationDialogTitle", deleteAnnotationConfirmationDialogContent: "deleteAnnotationConfirmationDialogContent", deleteAnnotationConfirmationDialogConfirmText: "deleteAnnotationConfirmationDialogConfirmText", deleteAnnotationConfirmationDialogRejectText: "deleteAnnotationConfirmationDialogRejectText", annotationEditorFontSizeTitle: "annotationEditorFontSizeTitle", annotationEditorColorTitle: "annotationEditorColorTitle", canvasLabel: "canvasLabel" }, usesInheritance: true, ngImport: i0 });
185
188
  }
186
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Messages, decorators: [{
187
190
  type: Directive,
@@ -263,6 +266,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
263
266
  type: Input
264
267
  }], annotationEditorColorTitle: [{
265
268
  type: Input
269
+ }], canvasLabel: [{
270
+ type: Input
266
271
  }] } });
267
272
 
268
273
  /**
@@ -316,8 +321,8 @@ const packageMetadata = {
316
321
  productName: 'Kendo UI for Angular',
317
322
  productCode: 'KENDOUIANGULAR',
318
323
  productCodes: ['KENDOUIANGULAR'],
319
- publishDate: 1763729385,
320
- version: '21.1.1-develop.2',
324
+ publishDate: 1764002478,
325
+ version: '21.2.0-develop.2',
321
326
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
322
327
  };
323
328
 
@@ -747,257 +752,268 @@ class ToolbarComponent {
747
752
  };
748
753
  }));
749
754
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.LocalizationService }, { token: ToolbarNavigationService }], target: i0.ɵɵFactoryTarget.Component });
750
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ToolbarComponent, isStandalone: true, selector: "[kendoPDFViewerToolbar]", inputs: { zoomLevel: "zoomLevel", calculatedComboBoxValue: "calculatedComboBoxValue", skip: "skip", pageSize: "pageSize", total: "total", zoomInDisabled: "zoomInDisabled", zoomOutDisabled: "zoomOutDisabled", disabledTools: "disabledTools", zoomLevelChooserValue: "zoomLevelChooserValue", zoomOptionsData: "zoomOptionsData", pagesContainerId: "pagesContainerId", tools: "tools", type: "type", wrapperId: "wrapperId", isAnnotationsToolbarVisible: "isAnnotationsToolbarVisible", annotationsToolId: "annotationsToolId", isSelectionEnabled: "isSelectionEnabled" }, outputs: { fileSelect: "fileSelect", fileSelectStart: "fileSelectStart", fileSelectError: "fileSelectError", download: "download", selectionEnabled: "selectionEnabled", panningEnabled: "panningEnabled", pageChange: "pageChange", zoomIn: "zoomIn", zoomOut: "zoomOut", zoomLevelChange: "zoomLevelChange", print: "print", search: "search", toggleAnnotationsToolbar: "toggleAnnotationsToolbar", setAnnotationMode: "setAnnotationMode" }, host: { properties: { "class.k-toolbar": "this.toolbarClasses", "class.k-toolbar-md": "this.toolbarClasses", "class.k-toolbar-flat": "this.toolbarClasses" } }, providers: [ToolbarNavigationService], viewQueries: [{ propertyName: "fileSelectEl", first: true, predicate: ["fileSelectEl"], descendants: true }], ngImport: i0, template: `
751
- <ng-container *ngIf="type === 'tools'">
752
- <ng-container *ngFor="let tool of tools">
753
- <ng-container [ngSwitch]="tool">
754
- <kendo-toolbar-input-wrapper
755
- *ngSwitchCase="'pager'"
756
- kendoPDFViewerToolbarFocusable
757
- [toolbarTool]="pager">
758
- <kendo-datapager
759
- #pager
760
- [attr.aria-controls]="pagesContainerId"
761
- [attr.aria-label]="messageFor('page') + ' ' + (skip + 1) + ' ' + messageFor('of') + total"
762
- [class.k-disabled]="disabledTools"
763
- [navigable]="true"
764
- [pageSize]="pageSize"
765
- [skip]="skip"
766
- [total]="total"
767
- [pageSizeValues]="false"
768
- [info]="false"
769
- [type]="pagerType"
770
- (pageChange)="pageChange.emit($event)">
771
- <kendo-datapager-messages
772
- [firstPage]="messageFor('pagerFirstPage')"
773
- [previousPage]="messageFor('pagerPreviousPage')"
774
- [nextPage]="messageFor('pagerNextPage')"
775
- [lastPage]="messageFor('pagerLastPage')"
776
- [inputLabel]="messageFor('pagerInputLabel')"
777
- [pageNumberInputTitle]="messageFor('pagerInputTitle')"
778
- [of]="messageFor('pagerOf')"
779
- [page]="messageFor('pagerPage')"></kendo-datapager-messages>
780
- </kendo-datapager>
781
- </kendo-toolbar-input-wrapper>
782
- <span
783
- *ngSwitchCase="'spacer'"
784
- class="k-spacer"></span>
785
- <kendo-buttongroup
786
- *ngSwitchCase="'zoomInOut'"
787
- [attr.aria-controls]="pagesContainerId"
788
- class="k-button-group-flat k-toolbar-button-group"
789
- [navigable]="false">
790
- <button
791
- type="button"
792
- kendoButton
793
- fillMode="flat"
794
- kendoPDFViewerToolbarFocusable
795
- icon="zoom-out"
796
- [disabled]="disabledTools || zoomOutDisabled"
797
- [svgIcon]="zoomOutIcon"
798
- [attr.title]="messageFor('zoomOutTitle')"
799
- [attr.aria-label]="messageFor('zoomOutTitle')"
800
- (click)="zoomOut.emit()"></button>
801
- <button
802
- type="button"
803
- kendoButton
804
- fillMode="flat"
805
- kendoPDFViewerToolbarFocusable
806
- icon="zoom-in"
807
- [disabled]="disabledTools || zoomInDisabled"
808
- [svgIcon]="zoomInIcon"
809
- [attr.title]="messageFor('zoomInTitle')"
810
- [attr.aria-label]="messageFor('zoomInTitle')"
811
- (click)="zoomIn.emit()"></button>
812
- </kendo-buttongroup>
813
- <kendo-toolbar-input-wrapper
814
- *ngSwitchCase="'zoom'"
815
- kendoPDFViewerToolbarFocusable
816
- [toolbarTool]="combobox">
817
- <kendo-combobox
818
- #combobox
819
- kendoPDFViewerComboBox
820
- class="k-toolbar-combobox"
821
- fillMode="flat"
822
- [attr.aria-controls]="pagesContainerId"
823
- [tabindex]="-1"
824
- [data]="zoomOptionsData"
825
- [disabled]="disabledTools"
826
- [placeholder]="messageFor('zoomInputPlaceholder')"
827
- textField="displayValue"
828
- valueField="id"
829
- [value]="zoomLevelChooserValue"
830
- [allowCustom]="true"
831
- [valueNormalizer]="valueNormalizer"
832
- [clearButton]="false"
833
- (valueChange)="onZoomLevelChooserValueChange($event)">
834
- <ng-template kendoComboBoxItemTemplate let-dataItem>
835
- {{ dataItem.type ? messageFor('f' + dataItem.type.slice(1)) : dataItem.text }}
836
- </ng-template>
837
- </kendo-combobox>
838
- </kendo-toolbar-input-wrapper>
839
- <kendo-buttongroup
840
- *ngSwitchCase="'selection'"
841
- [attr.aria-controls]="pagesContainerId"
842
- [navigable]="false"
843
- class="k-button-group-flat k-toolbar-button-group"
844
- selection="single">
845
- <button
846
- type="button"
847
- kendoButton
848
- kendoPDFViewerToolbarFocusable
849
- fillMode="flat"
850
- icon="pointer"
851
- [selected]="isSelectionEnabled"
852
- [toggleable]="true"
853
- [svgIcon]="pointerIcon"
854
- [attr.title]="messageFor('selectionTitle')"
855
- [attr.aria-label]="messageFor('selectionTitle')"
856
- (click)="selectionEnabled.emit(); isSelectionEnabled = true;"></button>
857
- <button
858
- type="button"
859
- kendoButton
860
- kendoPDFViewerToolbarFocusable
861
- fillMode="flat"
862
- icon="hand"
863
- [svgIcon]="handIcon"
864
- [toggleable]="true"
865
- [selected]="!isSelectionEnabled"
866
- [attr.title]="messageFor('panningTitle')"
867
- [attr.aria-label]="messageFor('panningTitle')"
868
- (click)="panningEnabled.emit(); isSelectionEnabled = false;"></button>
869
- </kendo-buttongroup>
870
- <button
871
- *ngSwitchCase="'search'"
872
- type="button"
873
- kendoPDFViewerToolbarFocusable
874
- kendoButton
875
- class="k-toolbar-button"
876
- fillMode="flat"
877
- icon="search"
878
- [disabled]="disabledTools"
879
- [attr.title]="messageFor('searchTitle')"
880
- [attr.aria-label]="messageFor('searchTitle')"
881
- aria-haspopup="dialog"
882
- [svgIcon]="searchIcon"
883
- (click)="search.emit()"></button>
884
- <button
885
- *ngSwitchCase="'open'"
886
- type="button"
887
- fillMode="flat"
888
- kendoPDFViewerToolbarFocusable
889
- kendoButton
890
- class="k-toolbar-button"
891
- fillMode="flat"
892
- icon="folder-open"
893
- [svgIcon]="folderOpenIcon"
894
- [attr.title]="messageFor('openTitle')"
895
- [attr.aria-label]="messageFor('openTitle')"
896
- [attr.aria-controls]="pagesContainerId"
897
- (click)="fileSelectEl?.nativeElement.click()">
898
- </button>
899
- <button
900
- *ngSwitchCase="'download'"
901
- type="button"
902
- fillMode="flat"
903
- kendoPDFViewerToolbarFocusable
904
- kendoButton
905
- class="k-toolbar-button"
906
- icon="download"
907
- [svgIcon]="downloadIcon"
908
- [disabled]="disabledTools"
909
- [attr.title]="messageFor('downloadTitle')"
910
- [attr.aria-label]="messageFor('downloadTitle')"
911
- (click)="download.emit()"></button>
912
- <button
913
- *ngSwitchCase="'print'"
914
- type="button"
915
- fillMode="flat"
916
- kendoPDFViewerToolbarFocusable
917
- kendoButton
918
- class="k-toolbar-button"
919
- icon="print"
920
- [svgIcon]="printIcon"
921
- [disabled]="disabledTools"
922
- [attr.title]="messageFor('printTitle')"
923
- [attr.aria-label]="messageFor('printTitle')"
924
- (click)="print.emit()"></button>
925
- <button
926
- *ngSwitchCase="'annotations'"
927
- type="button"
928
- [attr.id]="annotationsToolId"
929
- kendoPDFViewerToolbarFocusable
930
- kendoButton
931
- class="k-toolbar-button"
932
- fillMode="flat"
933
- icon="track-changes"
934
- [selected]="isAnnotationsToolbarVisible"
935
- [disabled]="disabledTools || !isSelectionEnabled"
936
- [attr.title]="messageFor('annotationsTitle')"
937
- [attr.aria-label]="messageFor('annotationsTitle')"
938
- [attr.aria-controls]="wrapperId"
939
- [attr.aria-expanded]="isAnnotationsToolbarVisible"
940
- [svgIcon]="trackChangesIcon"
941
- (click)="toggleAnnotationsToolbar.emit();"></button>
942
- </ng-container>
943
- </ng-container>
944
- </ng-container>
945
- <ng-container *ngIf="type === 'annotations'">
946
- <button
947
- type="button"
948
- kendoPDFViewerToolbarFocusable
949
- kendoButton
950
- class="k-toolbar-button"
951
- fillMode="flat"
952
- icon="highlight"
953
- [selected]="isHighlightMode"
954
- [disabled]="disabledTools"
955
- [attr.title]="messageFor('highlightAnnotationTitle')"
956
- [attr.aria-label]="messageFor('highlightAnnotationTitle')"
957
- aria-haspopup="dialog"
958
- [svgIcon]="highlightIcon"
959
- (click)="onHighlightClick()"></button>
960
- <div class="k-toolbar-separator k-separator"></div>
961
- <button
962
- type="button"
963
- fillMode="flat"
964
- kendoPDFViewerToolbarFocusable
965
- kendoButton
966
- [selected]="isFreeTextMode"
967
- class="k-toolbar-button"
968
- fillMode="flat"
969
- icon="free-text"
970
- [svgIcon]="freeTextIcon"
971
- [attr.title]="messageFor('freeTextAnnotationTitle')"
972
- [attr.aria-label]="messageFor('freeTextAnnotationTitle')"
973
- [attr.aria-controls]="pagesContainerId"
974
- (click)="onFreeTextClick()">
975
- </button>
976
- <span class="k-spacer"></span>
977
- <button
978
- type="button"
979
- fillMode="flat"
980
- kendoPDFViewerToolbarFocusable
981
- kendoButton
982
- class="k-toolbar-button"
983
- fillMode="flat"
984
- icon="x"
985
- [svgIcon]="xIcon"
986
- [attr.title]="messageFor('closeAnnotationsToolbarTitle')"
987
- [attr.aria-label]="messageFor('closeAnnotationsToolbarTitle')"
988
- [attr.aria-controls]="pagesContainerId"
989
- (click)="toggleAnnotationsToolbar.emit();">
990
- </button>
991
- </ng-container>
992
- <input
755
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolbarComponent, isStandalone: true, selector: "[kendoPDFViewerToolbar]", inputs: { zoomLevel: "zoomLevel", calculatedComboBoxValue: "calculatedComboBoxValue", skip: "skip", pageSize: "pageSize", total: "total", zoomInDisabled: "zoomInDisabled", zoomOutDisabled: "zoomOutDisabled", disabledTools: "disabledTools", zoomLevelChooserValue: "zoomLevelChooserValue", zoomOptionsData: "zoomOptionsData", pagesContainerId: "pagesContainerId", tools: "tools", type: "type", wrapperId: "wrapperId", isAnnotationsToolbarVisible: "isAnnotationsToolbarVisible", annotationsToolId: "annotationsToolId", isSelectionEnabled: "isSelectionEnabled" }, outputs: { fileSelect: "fileSelect", fileSelectStart: "fileSelectStart", fileSelectError: "fileSelectError", download: "download", selectionEnabled: "selectionEnabled", panningEnabled: "panningEnabled", pageChange: "pageChange", zoomIn: "zoomIn", zoomOut: "zoomOut", zoomLevelChange: "zoomLevelChange", print: "print", search: "search", toggleAnnotationsToolbar: "toggleAnnotationsToolbar", setAnnotationMode: "setAnnotationMode" }, host: { properties: { "class.k-toolbar": "this.toolbarClasses", "class.k-toolbar-md": "this.toolbarClasses", "class.k-toolbar-flat": "this.toolbarClasses" } }, providers: [ToolbarNavigationService], viewQueries: [{ propertyName: "fileSelectEl", first: true, predicate: ["fileSelectEl"], descendants: true }], ngImport: i0, template: `
756
+ @if (type === 'tools') {
757
+ @for (tool of tools; track tool) {
758
+ @switch (tool) {
759
+ @case ('pager') {
760
+ <kendo-toolbar-input-wrapper
761
+ kendoPDFViewerToolbarFocusable
762
+ [toolbarTool]="pager">
763
+ <kendo-datapager
764
+ #pager
765
+ [attr.aria-controls]="pagesContainerId"
766
+ [attr.aria-label]="messageFor('page') + ' ' + (skip + 1) + ' ' + messageFor('of') + total"
767
+ [class.k-disabled]="disabledTools"
768
+ [navigable]="true"
769
+ [pageSize]="pageSize"
770
+ [skip]="skip"
771
+ [total]="total"
772
+ [pageSizeValues]="false"
773
+ [info]="false"
774
+ [type]="pagerType"
775
+ (pageChange)="pageChange.emit($event)">
776
+ <kendo-datapager-messages
777
+ [firstPage]="messageFor('pagerFirstPage')"
778
+ [previousPage]="messageFor('pagerPreviousPage')"
779
+ [nextPage]="messageFor('pagerNextPage')"
780
+ [lastPage]="messageFor('pagerLastPage')"
781
+ [inputLabel]="messageFor('pagerInputLabel')"
782
+ [pageNumberInputTitle]="messageFor('pagerInputTitle')"
783
+ [of]="messageFor('pagerOf')"
784
+ [page]="messageFor('pagerPage')"></kendo-datapager-messages>
785
+ </kendo-datapager>
786
+ </kendo-toolbar-input-wrapper>
787
+ }
788
+ @case ('spacer') {
789
+ <span
790
+ class="k-spacer"></span>
791
+ }
792
+ @case ('zoomInOut') {
793
+ <kendo-buttongroup
794
+ [attr.aria-controls]="pagesContainerId"
795
+ class="k-button-group-flat k-toolbar-button-group"
796
+ [navigable]="false">
797
+ <button
798
+ type="button"
799
+ kendoButton
800
+ fillMode="flat"
801
+ kendoPDFViewerToolbarFocusable
802
+ icon="zoom-out"
803
+ [disabled]="disabledTools || zoomOutDisabled"
804
+ [svgIcon]="zoomOutIcon"
805
+ [attr.title]="messageFor('zoomOutTitle')"
806
+ [attr.aria-label]="messageFor('zoomOutTitle')"
807
+ (click)="zoomOut.emit()"></button>
808
+ <button
809
+ type="button"
810
+ kendoButton
811
+ fillMode="flat"
812
+ kendoPDFViewerToolbarFocusable
813
+ icon="zoom-in"
814
+ [disabled]="disabledTools || zoomInDisabled"
815
+ [svgIcon]="zoomInIcon"
816
+ [attr.title]="messageFor('zoomInTitle')"
817
+ [attr.aria-label]="messageFor('zoomInTitle')"
818
+ (click)="zoomIn.emit()"></button>
819
+ </kendo-buttongroup>
820
+ }
821
+ @case ('zoom') {
822
+ <kendo-toolbar-input-wrapper
823
+ kendoPDFViewerToolbarFocusable
824
+ [toolbarTool]="combobox">
825
+ <kendo-combobox
826
+ #combobox
827
+ kendoPDFViewerComboBox
828
+ class="k-toolbar-combobox"
829
+ fillMode="flat"
830
+ [attr.aria-controls]="pagesContainerId"
831
+ [tabindex]="-1"
832
+ [data]="zoomOptionsData"
833
+ [disabled]="disabledTools"
834
+ [placeholder]="messageFor('zoomInputPlaceholder')"
835
+ textField="displayValue"
836
+ valueField="id"
837
+ [value]="zoomLevelChooserValue"
838
+ [allowCustom]="true"
839
+ [valueNormalizer]="valueNormalizer"
840
+ [clearButton]="false"
841
+ (valueChange)="onZoomLevelChooserValueChange($event)">
842
+ <ng-template kendoComboBoxItemTemplate let-dataItem>
843
+ {{ dataItem.type ? messageFor('f' + dataItem.type.slice(1)) : dataItem.text }}
844
+ </ng-template>
845
+ </kendo-combobox>
846
+ </kendo-toolbar-input-wrapper>
847
+ }
848
+ @case ('selection') {
849
+ <kendo-buttongroup
850
+ [attr.aria-controls]="pagesContainerId"
851
+ [navigable]="false"
852
+ class="k-button-group-flat k-toolbar-button-group"
853
+ selection="single">
854
+ <button
855
+ type="button"
856
+ kendoButton
857
+ kendoPDFViewerToolbarFocusable
858
+ fillMode="flat"
859
+ icon="pointer"
860
+ [selected]="isSelectionEnabled"
861
+ [toggleable]="true"
862
+ [svgIcon]="pointerIcon"
863
+ [attr.title]="messageFor('selectionTitle')"
864
+ [attr.aria-label]="messageFor('selectionTitle')"
865
+ (click)="selectionEnabled.emit(); isSelectionEnabled = true;"></button>
866
+ <button
867
+ type="button"
868
+ kendoButton
869
+ kendoPDFViewerToolbarFocusable
870
+ fillMode="flat"
871
+ icon="hand"
872
+ [svgIcon]="handIcon"
873
+ [toggleable]="true"
874
+ [selected]="!isSelectionEnabled"
875
+ [attr.title]="messageFor('panningTitle')"
876
+ [attr.aria-label]="messageFor('panningTitle')"
877
+ (click)="panningEnabled.emit(); isSelectionEnabled = false;"></button>
878
+ </kendo-buttongroup>
879
+ }
880
+ @case ('search') {
881
+ <button
882
+ type="button"
883
+ kendoPDFViewerToolbarFocusable
884
+ kendoButton
885
+ class="k-toolbar-button"
886
+ fillMode="flat"
887
+ icon="search"
888
+ [disabled]="disabledTools"
889
+ [attr.title]="messageFor('searchTitle')"
890
+ [attr.aria-label]="messageFor('searchTitle')"
891
+ aria-haspopup="dialog"
892
+ [svgIcon]="searchIcon"
893
+ (click)="search.emit()"></button>
894
+ }
895
+ @case ('open') {
896
+ <button
897
+ type="button"
898
+ fillMode="flat"
899
+ kendoPDFViewerToolbarFocusable
900
+ kendoButton
901
+ class="k-toolbar-button"
902
+ fillMode="flat"
903
+ icon="folder-open"
904
+ [svgIcon]="folderOpenIcon"
905
+ [attr.title]="messageFor('openTitle')"
906
+ [attr.aria-label]="messageFor('openTitle')"
907
+ [attr.aria-controls]="pagesContainerId"
908
+ (click)="fileSelectEl?.nativeElement.click()">
909
+ </button>
910
+ }
911
+ @case ('download') {
912
+ <button
913
+ type="button"
914
+ fillMode="flat"
915
+ kendoPDFViewerToolbarFocusable
916
+ kendoButton
917
+ class="k-toolbar-button"
918
+ icon="download"
919
+ [svgIcon]="downloadIcon"
920
+ [disabled]="disabledTools"
921
+ [attr.title]="messageFor('downloadTitle')"
922
+ [attr.aria-label]="messageFor('downloadTitle')"
923
+ (click)="download.emit()"></button>
924
+ }
925
+ @case ('print') {
926
+ <button
927
+ type="button"
928
+ fillMode="flat"
929
+ kendoPDFViewerToolbarFocusable
930
+ kendoButton
931
+ class="k-toolbar-button"
932
+ icon="print"
933
+ [svgIcon]="printIcon"
934
+ [disabled]="disabledTools"
935
+ [attr.title]="messageFor('printTitle')"
936
+ [attr.aria-label]="messageFor('printTitle')"
937
+ (click)="print.emit()"></button>
938
+ }
939
+ @case ('annotations') {
940
+ <button
941
+ type="button"
942
+ [attr.id]="annotationsToolId"
943
+ kendoPDFViewerToolbarFocusable
944
+ kendoButton
945
+ class="k-toolbar-button"
946
+ fillMode="flat"
947
+ icon="track-changes"
948
+ [selected]="isAnnotationsToolbarVisible"
949
+ [disabled]="disabledTools || !isSelectionEnabled"
950
+ [attr.title]="messageFor('annotationsTitle')"
951
+ [attr.aria-label]="messageFor('annotationsTitle')"
952
+ [attr.aria-controls]="wrapperId"
953
+ [attr.aria-expanded]="isAnnotationsToolbarVisible"
954
+ [svgIcon]="trackChangesIcon"
955
+ (click)="toggleAnnotationsToolbar.emit();"></button>
956
+ }
957
+ }
958
+ }
959
+ }
960
+ @if (type === 'annotations') {
961
+ <button
962
+ type="button"
963
+ kendoPDFViewerToolbarFocusable
964
+ kendoButton
965
+ class="k-toolbar-button"
966
+ fillMode="flat"
967
+ icon="highlight"
968
+ [selected]="isHighlightMode"
969
+ [disabled]="disabledTools"
970
+ [attr.title]="messageFor('highlightAnnotationTitle')"
971
+ [attr.aria-label]="messageFor('highlightAnnotationTitle')"
972
+ aria-haspopup="dialog"
973
+ [svgIcon]="highlightIcon"
974
+ (click)="onHighlightClick()"></button>
975
+ <div class="k-toolbar-separator k-separator"></div>
976
+ <button
977
+ type="button"
978
+ fillMode="flat"
979
+ kendoPDFViewerToolbarFocusable
980
+ kendoButton
981
+ [selected]="isFreeTextMode"
982
+ class="k-toolbar-button"
983
+ fillMode="flat"
984
+ icon="free-text"
985
+ [svgIcon]="freeTextIcon"
986
+ [attr.title]="messageFor('freeTextAnnotationTitle')"
987
+ [attr.aria-label]="messageFor('freeTextAnnotationTitle')"
988
+ [attr.aria-controls]="pagesContainerId"
989
+ (click)="onFreeTextClick()">
990
+ </button>
991
+ <span class="k-spacer"></span>
992
+ <button
993
+ type="button"
994
+ fillMode="flat"
995
+ kendoPDFViewerToolbarFocusable
996
+ kendoButton
997
+ class="k-toolbar-button"
998
+ fillMode="flat"
999
+ icon="x"
1000
+ [svgIcon]="xIcon"
1001
+ [attr.title]="messageFor('closeAnnotationsToolbarTitle')"
1002
+ [attr.aria-label]="messageFor('closeAnnotationsToolbarTitle')"
1003
+ [attr.aria-controls]="pagesContainerId"
1004
+ (click)="toggleAnnotationsToolbar.emit();">
1005
+ </button>
1006
+ }
1007
+ @if (type === 'tools' &&tools?.indexOf('open') > -1;) {
1008
+ <input
993
1009
  #fileSelectEl
994
- *ngIf="type === 'tools' &&tools?.indexOf('open') > -1;"
995
1010
  type="file"
996
1011
  [style.display]="'none'"
997
1012
  aria-hidden="true"
998
1013
  accept=".pdf, .PDF"
999
1014
  (change)="onFileSelect($event)" />
1000
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ToolbarInputWrapperComponent, selector: "kendo-toolbar-input-wrapper", inputs: ["toolbarTool"] }, { kind: "directive", type: ToolbarFocusableDirective, selector: "[kendoPDFViewerToolbarFocusable]" }, { kind: "component", type: PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "component", type: CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "directive", type: ToolbarComboBoxDirective, selector: "[kendoPDFViewerComboBox]" }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1015
+ }
1016
+ `, isInline: true, dependencies: [{ kind: "component", type: ToolbarInputWrapperComponent, selector: "kendo-toolbar-input-wrapper", inputs: ["toolbarTool"] }, { kind: "directive", type: ToolbarFocusableDirective, selector: "[kendoPDFViewerToolbarFocusable]" }, { kind: "component", type: PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange", "pagerInputVisibilityChange", "pageTextVisibilityChange", "itemsTextVisibilityChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "component", type: CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "directive", type: ToolbarComboBoxDirective, selector: "[kendoPDFViewerComboBox]" }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
1001
1017
  }
1002
1018
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, decorators: [{
1003
1019
  type: Component,
@@ -1005,258 +1021,269 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1005
1021
  selector: '[kendoPDFViewerToolbar]',
1006
1022
  providers: [ToolbarNavigationService],
1007
1023
  template: `
1008
- <ng-container *ngIf="type === 'tools'">
1009
- <ng-container *ngFor="let tool of tools">
1010
- <ng-container [ngSwitch]="tool">
1011
- <kendo-toolbar-input-wrapper
1012
- *ngSwitchCase="'pager'"
1013
- kendoPDFViewerToolbarFocusable
1014
- [toolbarTool]="pager">
1015
- <kendo-datapager
1016
- #pager
1017
- [attr.aria-controls]="pagesContainerId"
1018
- [attr.aria-label]="messageFor('page') + ' ' + (skip + 1) + ' ' + messageFor('of') + total"
1019
- [class.k-disabled]="disabledTools"
1020
- [navigable]="true"
1021
- [pageSize]="pageSize"
1022
- [skip]="skip"
1023
- [total]="total"
1024
- [pageSizeValues]="false"
1025
- [info]="false"
1026
- [type]="pagerType"
1027
- (pageChange)="pageChange.emit($event)">
1028
- <kendo-datapager-messages
1029
- [firstPage]="messageFor('pagerFirstPage')"
1030
- [previousPage]="messageFor('pagerPreviousPage')"
1031
- [nextPage]="messageFor('pagerNextPage')"
1032
- [lastPage]="messageFor('pagerLastPage')"
1033
- [inputLabel]="messageFor('pagerInputLabel')"
1034
- [pageNumberInputTitle]="messageFor('pagerInputTitle')"
1035
- [of]="messageFor('pagerOf')"
1036
- [page]="messageFor('pagerPage')"></kendo-datapager-messages>
1037
- </kendo-datapager>
1038
- </kendo-toolbar-input-wrapper>
1039
- <span
1040
- *ngSwitchCase="'spacer'"
1041
- class="k-spacer"></span>
1042
- <kendo-buttongroup
1043
- *ngSwitchCase="'zoomInOut'"
1044
- [attr.aria-controls]="pagesContainerId"
1045
- class="k-button-group-flat k-toolbar-button-group"
1046
- [navigable]="false">
1047
- <button
1048
- type="button"
1049
- kendoButton
1050
- fillMode="flat"
1051
- kendoPDFViewerToolbarFocusable
1052
- icon="zoom-out"
1053
- [disabled]="disabledTools || zoomOutDisabled"
1054
- [svgIcon]="zoomOutIcon"
1055
- [attr.title]="messageFor('zoomOutTitle')"
1056
- [attr.aria-label]="messageFor('zoomOutTitle')"
1057
- (click)="zoomOut.emit()"></button>
1058
- <button
1059
- type="button"
1060
- kendoButton
1061
- fillMode="flat"
1062
- kendoPDFViewerToolbarFocusable
1063
- icon="zoom-in"
1064
- [disabled]="disabledTools || zoomInDisabled"
1065
- [svgIcon]="zoomInIcon"
1066
- [attr.title]="messageFor('zoomInTitle')"
1067
- [attr.aria-label]="messageFor('zoomInTitle')"
1068
- (click)="zoomIn.emit()"></button>
1069
- </kendo-buttongroup>
1070
- <kendo-toolbar-input-wrapper
1071
- *ngSwitchCase="'zoom'"
1072
- kendoPDFViewerToolbarFocusable
1073
- [toolbarTool]="combobox">
1074
- <kendo-combobox
1075
- #combobox
1076
- kendoPDFViewerComboBox
1077
- class="k-toolbar-combobox"
1078
- fillMode="flat"
1079
- [attr.aria-controls]="pagesContainerId"
1080
- [tabindex]="-1"
1081
- [data]="zoomOptionsData"
1082
- [disabled]="disabledTools"
1083
- [placeholder]="messageFor('zoomInputPlaceholder')"
1084
- textField="displayValue"
1085
- valueField="id"
1086
- [value]="zoomLevelChooserValue"
1087
- [allowCustom]="true"
1088
- [valueNormalizer]="valueNormalizer"
1089
- [clearButton]="false"
1090
- (valueChange)="onZoomLevelChooserValueChange($event)">
1091
- <ng-template kendoComboBoxItemTemplate let-dataItem>
1092
- {{ dataItem.type ? messageFor('f' + dataItem.type.slice(1)) : dataItem.text }}
1093
- </ng-template>
1094
- </kendo-combobox>
1095
- </kendo-toolbar-input-wrapper>
1096
- <kendo-buttongroup
1097
- *ngSwitchCase="'selection'"
1098
- [attr.aria-controls]="pagesContainerId"
1099
- [navigable]="false"
1100
- class="k-button-group-flat k-toolbar-button-group"
1101
- selection="single">
1102
- <button
1103
- type="button"
1104
- kendoButton
1105
- kendoPDFViewerToolbarFocusable
1106
- fillMode="flat"
1107
- icon="pointer"
1108
- [selected]="isSelectionEnabled"
1109
- [toggleable]="true"
1110
- [svgIcon]="pointerIcon"
1111
- [attr.title]="messageFor('selectionTitle')"
1112
- [attr.aria-label]="messageFor('selectionTitle')"
1113
- (click)="selectionEnabled.emit(); isSelectionEnabled = true;"></button>
1114
- <button
1115
- type="button"
1116
- kendoButton
1117
- kendoPDFViewerToolbarFocusable
1118
- fillMode="flat"
1119
- icon="hand"
1120
- [svgIcon]="handIcon"
1121
- [toggleable]="true"
1122
- [selected]="!isSelectionEnabled"
1123
- [attr.title]="messageFor('panningTitle')"
1124
- [attr.aria-label]="messageFor('panningTitle')"
1125
- (click)="panningEnabled.emit(); isSelectionEnabled = false;"></button>
1126
- </kendo-buttongroup>
1127
- <button
1128
- *ngSwitchCase="'search'"
1129
- type="button"
1130
- kendoPDFViewerToolbarFocusable
1131
- kendoButton
1132
- class="k-toolbar-button"
1133
- fillMode="flat"
1134
- icon="search"
1135
- [disabled]="disabledTools"
1136
- [attr.title]="messageFor('searchTitle')"
1137
- [attr.aria-label]="messageFor('searchTitle')"
1138
- aria-haspopup="dialog"
1139
- [svgIcon]="searchIcon"
1140
- (click)="search.emit()"></button>
1141
- <button
1142
- *ngSwitchCase="'open'"
1143
- type="button"
1144
- fillMode="flat"
1145
- kendoPDFViewerToolbarFocusable
1146
- kendoButton
1147
- class="k-toolbar-button"
1148
- fillMode="flat"
1149
- icon="folder-open"
1150
- [svgIcon]="folderOpenIcon"
1151
- [attr.title]="messageFor('openTitle')"
1152
- [attr.aria-label]="messageFor('openTitle')"
1153
- [attr.aria-controls]="pagesContainerId"
1154
- (click)="fileSelectEl?.nativeElement.click()">
1155
- </button>
1156
- <button
1157
- *ngSwitchCase="'download'"
1158
- type="button"
1159
- fillMode="flat"
1160
- kendoPDFViewerToolbarFocusable
1161
- kendoButton
1162
- class="k-toolbar-button"
1163
- icon="download"
1164
- [svgIcon]="downloadIcon"
1165
- [disabled]="disabledTools"
1166
- [attr.title]="messageFor('downloadTitle')"
1167
- [attr.aria-label]="messageFor('downloadTitle')"
1168
- (click)="download.emit()"></button>
1169
- <button
1170
- *ngSwitchCase="'print'"
1171
- type="button"
1172
- fillMode="flat"
1173
- kendoPDFViewerToolbarFocusable
1174
- kendoButton
1175
- class="k-toolbar-button"
1176
- icon="print"
1177
- [svgIcon]="printIcon"
1178
- [disabled]="disabledTools"
1179
- [attr.title]="messageFor('printTitle')"
1180
- [attr.aria-label]="messageFor('printTitle')"
1181
- (click)="print.emit()"></button>
1182
- <button
1183
- *ngSwitchCase="'annotations'"
1184
- type="button"
1185
- [attr.id]="annotationsToolId"
1186
- kendoPDFViewerToolbarFocusable
1187
- kendoButton
1188
- class="k-toolbar-button"
1189
- fillMode="flat"
1190
- icon="track-changes"
1191
- [selected]="isAnnotationsToolbarVisible"
1192
- [disabled]="disabledTools || !isSelectionEnabled"
1193
- [attr.title]="messageFor('annotationsTitle')"
1194
- [attr.aria-label]="messageFor('annotationsTitle')"
1195
- [attr.aria-controls]="wrapperId"
1196
- [attr.aria-expanded]="isAnnotationsToolbarVisible"
1197
- [svgIcon]="trackChangesIcon"
1198
- (click)="toggleAnnotationsToolbar.emit();"></button>
1199
- </ng-container>
1200
- </ng-container>
1201
- </ng-container>
1202
- <ng-container *ngIf="type === 'annotations'">
1203
- <button
1204
- type="button"
1205
- kendoPDFViewerToolbarFocusable
1206
- kendoButton
1207
- class="k-toolbar-button"
1208
- fillMode="flat"
1209
- icon="highlight"
1210
- [selected]="isHighlightMode"
1211
- [disabled]="disabledTools"
1212
- [attr.title]="messageFor('highlightAnnotationTitle')"
1213
- [attr.aria-label]="messageFor('highlightAnnotationTitle')"
1214
- aria-haspopup="dialog"
1215
- [svgIcon]="highlightIcon"
1216
- (click)="onHighlightClick()"></button>
1217
- <div class="k-toolbar-separator k-separator"></div>
1218
- <button
1219
- type="button"
1220
- fillMode="flat"
1221
- kendoPDFViewerToolbarFocusable
1222
- kendoButton
1223
- [selected]="isFreeTextMode"
1224
- class="k-toolbar-button"
1225
- fillMode="flat"
1226
- icon="free-text"
1227
- [svgIcon]="freeTextIcon"
1228
- [attr.title]="messageFor('freeTextAnnotationTitle')"
1229
- [attr.aria-label]="messageFor('freeTextAnnotationTitle')"
1230
- [attr.aria-controls]="pagesContainerId"
1231
- (click)="onFreeTextClick()">
1232
- </button>
1233
- <span class="k-spacer"></span>
1234
- <button
1235
- type="button"
1236
- fillMode="flat"
1237
- kendoPDFViewerToolbarFocusable
1238
- kendoButton
1239
- class="k-toolbar-button"
1240
- fillMode="flat"
1241
- icon="x"
1242
- [svgIcon]="xIcon"
1243
- [attr.title]="messageFor('closeAnnotationsToolbarTitle')"
1244
- [attr.aria-label]="messageFor('closeAnnotationsToolbarTitle')"
1245
- [attr.aria-controls]="pagesContainerId"
1246
- (click)="toggleAnnotationsToolbar.emit();">
1247
- </button>
1248
- </ng-container>
1249
- <input
1024
+ @if (type === 'tools') {
1025
+ @for (tool of tools; track tool) {
1026
+ @switch (tool) {
1027
+ @case ('pager') {
1028
+ <kendo-toolbar-input-wrapper
1029
+ kendoPDFViewerToolbarFocusable
1030
+ [toolbarTool]="pager">
1031
+ <kendo-datapager
1032
+ #pager
1033
+ [attr.aria-controls]="pagesContainerId"
1034
+ [attr.aria-label]="messageFor('page') + ' ' + (skip + 1) + ' ' + messageFor('of') + total"
1035
+ [class.k-disabled]="disabledTools"
1036
+ [navigable]="true"
1037
+ [pageSize]="pageSize"
1038
+ [skip]="skip"
1039
+ [total]="total"
1040
+ [pageSizeValues]="false"
1041
+ [info]="false"
1042
+ [type]="pagerType"
1043
+ (pageChange)="pageChange.emit($event)">
1044
+ <kendo-datapager-messages
1045
+ [firstPage]="messageFor('pagerFirstPage')"
1046
+ [previousPage]="messageFor('pagerPreviousPage')"
1047
+ [nextPage]="messageFor('pagerNextPage')"
1048
+ [lastPage]="messageFor('pagerLastPage')"
1049
+ [inputLabel]="messageFor('pagerInputLabel')"
1050
+ [pageNumberInputTitle]="messageFor('pagerInputTitle')"
1051
+ [of]="messageFor('pagerOf')"
1052
+ [page]="messageFor('pagerPage')"></kendo-datapager-messages>
1053
+ </kendo-datapager>
1054
+ </kendo-toolbar-input-wrapper>
1055
+ }
1056
+ @case ('spacer') {
1057
+ <span
1058
+ class="k-spacer"></span>
1059
+ }
1060
+ @case ('zoomInOut') {
1061
+ <kendo-buttongroup
1062
+ [attr.aria-controls]="pagesContainerId"
1063
+ class="k-button-group-flat k-toolbar-button-group"
1064
+ [navigable]="false">
1065
+ <button
1066
+ type="button"
1067
+ kendoButton
1068
+ fillMode="flat"
1069
+ kendoPDFViewerToolbarFocusable
1070
+ icon="zoom-out"
1071
+ [disabled]="disabledTools || zoomOutDisabled"
1072
+ [svgIcon]="zoomOutIcon"
1073
+ [attr.title]="messageFor('zoomOutTitle')"
1074
+ [attr.aria-label]="messageFor('zoomOutTitle')"
1075
+ (click)="zoomOut.emit()"></button>
1076
+ <button
1077
+ type="button"
1078
+ kendoButton
1079
+ fillMode="flat"
1080
+ kendoPDFViewerToolbarFocusable
1081
+ icon="zoom-in"
1082
+ [disabled]="disabledTools || zoomInDisabled"
1083
+ [svgIcon]="zoomInIcon"
1084
+ [attr.title]="messageFor('zoomInTitle')"
1085
+ [attr.aria-label]="messageFor('zoomInTitle')"
1086
+ (click)="zoomIn.emit()"></button>
1087
+ </kendo-buttongroup>
1088
+ }
1089
+ @case ('zoom') {
1090
+ <kendo-toolbar-input-wrapper
1091
+ kendoPDFViewerToolbarFocusable
1092
+ [toolbarTool]="combobox">
1093
+ <kendo-combobox
1094
+ #combobox
1095
+ kendoPDFViewerComboBox
1096
+ class="k-toolbar-combobox"
1097
+ fillMode="flat"
1098
+ [attr.aria-controls]="pagesContainerId"
1099
+ [tabindex]="-1"
1100
+ [data]="zoomOptionsData"
1101
+ [disabled]="disabledTools"
1102
+ [placeholder]="messageFor('zoomInputPlaceholder')"
1103
+ textField="displayValue"
1104
+ valueField="id"
1105
+ [value]="zoomLevelChooserValue"
1106
+ [allowCustom]="true"
1107
+ [valueNormalizer]="valueNormalizer"
1108
+ [clearButton]="false"
1109
+ (valueChange)="onZoomLevelChooserValueChange($event)">
1110
+ <ng-template kendoComboBoxItemTemplate let-dataItem>
1111
+ {{ dataItem.type ? messageFor('f' + dataItem.type.slice(1)) : dataItem.text }}
1112
+ </ng-template>
1113
+ </kendo-combobox>
1114
+ </kendo-toolbar-input-wrapper>
1115
+ }
1116
+ @case ('selection') {
1117
+ <kendo-buttongroup
1118
+ [attr.aria-controls]="pagesContainerId"
1119
+ [navigable]="false"
1120
+ class="k-button-group-flat k-toolbar-button-group"
1121
+ selection="single">
1122
+ <button
1123
+ type="button"
1124
+ kendoButton
1125
+ kendoPDFViewerToolbarFocusable
1126
+ fillMode="flat"
1127
+ icon="pointer"
1128
+ [selected]="isSelectionEnabled"
1129
+ [toggleable]="true"
1130
+ [svgIcon]="pointerIcon"
1131
+ [attr.title]="messageFor('selectionTitle')"
1132
+ [attr.aria-label]="messageFor('selectionTitle')"
1133
+ (click)="selectionEnabled.emit(); isSelectionEnabled = true;"></button>
1134
+ <button
1135
+ type="button"
1136
+ kendoButton
1137
+ kendoPDFViewerToolbarFocusable
1138
+ fillMode="flat"
1139
+ icon="hand"
1140
+ [svgIcon]="handIcon"
1141
+ [toggleable]="true"
1142
+ [selected]="!isSelectionEnabled"
1143
+ [attr.title]="messageFor('panningTitle')"
1144
+ [attr.aria-label]="messageFor('panningTitle')"
1145
+ (click)="panningEnabled.emit(); isSelectionEnabled = false;"></button>
1146
+ </kendo-buttongroup>
1147
+ }
1148
+ @case ('search') {
1149
+ <button
1150
+ type="button"
1151
+ kendoPDFViewerToolbarFocusable
1152
+ kendoButton
1153
+ class="k-toolbar-button"
1154
+ fillMode="flat"
1155
+ icon="search"
1156
+ [disabled]="disabledTools"
1157
+ [attr.title]="messageFor('searchTitle')"
1158
+ [attr.aria-label]="messageFor('searchTitle')"
1159
+ aria-haspopup="dialog"
1160
+ [svgIcon]="searchIcon"
1161
+ (click)="search.emit()"></button>
1162
+ }
1163
+ @case ('open') {
1164
+ <button
1165
+ type="button"
1166
+ fillMode="flat"
1167
+ kendoPDFViewerToolbarFocusable
1168
+ kendoButton
1169
+ class="k-toolbar-button"
1170
+ fillMode="flat"
1171
+ icon="folder-open"
1172
+ [svgIcon]="folderOpenIcon"
1173
+ [attr.title]="messageFor('openTitle')"
1174
+ [attr.aria-label]="messageFor('openTitle')"
1175
+ [attr.aria-controls]="pagesContainerId"
1176
+ (click)="fileSelectEl?.nativeElement.click()">
1177
+ </button>
1178
+ }
1179
+ @case ('download') {
1180
+ <button
1181
+ type="button"
1182
+ fillMode="flat"
1183
+ kendoPDFViewerToolbarFocusable
1184
+ kendoButton
1185
+ class="k-toolbar-button"
1186
+ icon="download"
1187
+ [svgIcon]="downloadIcon"
1188
+ [disabled]="disabledTools"
1189
+ [attr.title]="messageFor('downloadTitle')"
1190
+ [attr.aria-label]="messageFor('downloadTitle')"
1191
+ (click)="download.emit()"></button>
1192
+ }
1193
+ @case ('print') {
1194
+ <button
1195
+ type="button"
1196
+ fillMode="flat"
1197
+ kendoPDFViewerToolbarFocusable
1198
+ kendoButton
1199
+ class="k-toolbar-button"
1200
+ icon="print"
1201
+ [svgIcon]="printIcon"
1202
+ [disabled]="disabledTools"
1203
+ [attr.title]="messageFor('printTitle')"
1204
+ [attr.aria-label]="messageFor('printTitle')"
1205
+ (click)="print.emit()"></button>
1206
+ }
1207
+ @case ('annotations') {
1208
+ <button
1209
+ type="button"
1210
+ [attr.id]="annotationsToolId"
1211
+ kendoPDFViewerToolbarFocusable
1212
+ kendoButton
1213
+ class="k-toolbar-button"
1214
+ fillMode="flat"
1215
+ icon="track-changes"
1216
+ [selected]="isAnnotationsToolbarVisible"
1217
+ [disabled]="disabledTools || !isSelectionEnabled"
1218
+ [attr.title]="messageFor('annotationsTitle')"
1219
+ [attr.aria-label]="messageFor('annotationsTitle')"
1220
+ [attr.aria-controls]="wrapperId"
1221
+ [attr.aria-expanded]="isAnnotationsToolbarVisible"
1222
+ [svgIcon]="trackChangesIcon"
1223
+ (click)="toggleAnnotationsToolbar.emit();"></button>
1224
+ }
1225
+ }
1226
+ }
1227
+ }
1228
+ @if (type === 'annotations') {
1229
+ <button
1230
+ type="button"
1231
+ kendoPDFViewerToolbarFocusable
1232
+ kendoButton
1233
+ class="k-toolbar-button"
1234
+ fillMode="flat"
1235
+ icon="highlight"
1236
+ [selected]="isHighlightMode"
1237
+ [disabled]="disabledTools"
1238
+ [attr.title]="messageFor('highlightAnnotationTitle')"
1239
+ [attr.aria-label]="messageFor('highlightAnnotationTitle')"
1240
+ aria-haspopup="dialog"
1241
+ [svgIcon]="highlightIcon"
1242
+ (click)="onHighlightClick()"></button>
1243
+ <div class="k-toolbar-separator k-separator"></div>
1244
+ <button
1245
+ type="button"
1246
+ fillMode="flat"
1247
+ kendoPDFViewerToolbarFocusable
1248
+ kendoButton
1249
+ [selected]="isFreeTextMode"
1250
+ class="k-toolbar-button"
1251
+ fillMode="flat"
1252
+ icon="free-text"
1253
+ [svgIcon]="freeTextIcon"
1254
+ [attr.title]="messageFor('freeTextAnnotationTitle')"
1255
+ [attr.aria-label]="messageFor('freeTextAnnotationTitle')"
1256
+ [attr.aria-controls]="pagesContainerId"
1257
+ (click)="onFreeTextClick()">
1258
+ </button>
1259
+ <span class="k-spacer"></span>
1260
+ <button
1261
+ type="button"
1262
+ fillMode="flat"
1263
+ kendoPDFViewerToolbarFocusable
1264
+ kendoButton
1265
+ class="k-toolbar-button"
1266
+ fillMode="flat"
1267
+ icon="x"
1268
+ [svgIcon]="xIcon"
1269
+ [attr.title]="messageFor('closeAnnotationsToolbarTitle')"
1270
+ [attr.aria-label]="messageFor('closeAnnotationsToolbarTitle')"
1271
+ [attr.aria-controls]="pagesContainerId"
1272
+ (click)="toggleAnnotationsToolbar.emit();">
1273
+ </button>
1274
+ }
1275
+ @if (type === 'tools' &&tools?.indexOf('open') > -1;) {
1276
+ <input
1250
1277
  #fileSelectEl
1251
- *ngIf="type === 'tools' &&tools?.indexOf('open') > -1;"
1252
1278
  type="file"
1253
1279
  [style.display]="'none'"
1254
1280
  aria-hidden="true"
1255
1281
  accept=".pdf, .PDF"
1256
1282
  (change)="onFileSelect($event)" />
1257
- `,
1283
+ }
1284
+ `,
1258
1285
  standalone: true,
1259
- imports: [NgFor, NgSwitch, NgSwitchCase, ToolbarInputWrapperComponent, ToolbarFocusableDirective, PagerComponent, CustomMessagesComponent, ButtonGroupComponent, ButtonComponent, ComboBoxComponent, ToolbarComboBoxDirective, ItemTemplateDirective, NgIf]
1286
+ imports: [ToolbarInputWrapperComponent, ToolbarFocusableDirective, PagerComponent, CustomMessagesComponent, ButtonGroupComponent, ButtonComponent, ComboBoxComponent, ToolbarComboBoxDirective, ItemTemplateDirective]
1260
1287
  }]
1261
1288
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: ToolbarNavigationService }], propDecorators: { toolbarClasses: [{
1262
1289
  type: HostBinding,
@@ -1342,6 +1369,9 @@ class PDFViewerSearchComponent {
1342
1369
  textbox;
1343
1370
  closeButton;
1344
1371
  ariaRole = 'dialog';
1372
+ get ariaLabel() {
1373
+ return this.messageFor('searchTitle');
1374
+ }
1345
1375
  onEscape() {
1346
1376
  this.close.emit();
1347
1377
  }
@@ -1373,7 +1403,7 @@ class PDFViewerSearchComponent {
1373
1403
  }
1374
1404
  }
1375
1405
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFViewerSearchComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1376
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PDFViewerSearchComponent, isStandalone: true, selector: "[kendoPDFViewerSearch]", inputs: { matches: "matches", currentMatch: "currentMatch" }, outputs: { searchChange: "searchChange", prevMatch: "prevMatch", nextMatch: "nextMatch", close: "close" }, host: { listeners: { "keydown.escape": "onEscape()" }, properties: { "attr.role": "this.ariaRole" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }, { propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
1406
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PDFViewerSearchComponent, isStandalone: true, selector: "[kendoPDFViewerSearch]", inputs: { matches: "matches", currentMatch: "currentMatch" }, outputs: { searchChange: "searchChange", prevMatch: "prevMatch", nextMatch: "nextMatch", close: "close" }, host: { listeners: { "keydown.escape": "onEscape()" }, properties: { "attr.role": "this.ariaRole", "attr.aria-label": "this.ariaLabel" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }, { propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, read: ElementRef }], ngImport: i0, template: `
1377
1407
  <kendo-textbox
1378
1408
  #textbox
1379
1409
  [placeholder]="messageFor('searchInputPlaceholder')"
@@ -1492,6 +1522,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1492
1522
  }], ariaRole: [{
1493
1523
  type: HostBinding,
1494
1524
  args: ['attr.role']
1525
+ }], ariaLabel: [{
1526
+ type: HostBinding,
1527
+ args: ['attr.aria-label']
1495
1528
  }], onEscape: [{
1496
1529
  type: HostListener,
1497
1530
  args: ['keydown.escape']
@@ -1672,50 +1705,50 @@ class AnnotationPopupToolbarContentComponent {
1672
1705
  this.pdfViewerWidget[this.annotationEditorType === 'highlight' ? 'setHighlightColor' : 'setFreeTextColor'](value);
1673
1706
  }
1674
1707
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AnnotationPopupToolbarContentComponent, deps: [{ token: i1$2.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1675
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AnnotationPopupToolbarContentComponent, isStandalone: true, selector: "[kendoPDFViewerAnnotationPopupToolbar]", host: { properties: { "class.k-toolbar": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "class.k-toolbar-flat": "this.hostClasses" } }, providers: [DialogService], ngImport: i0, template: `
1676
- <ng-container *ngIf="showToolbar">
1677
- <button
1678
- kendoButton
1679
- [attr.title]="localizationService?.get('annotationEditorTitle')"
1680
- [attr.aria-label]="localizationService?.get('annotationEditorTitle')"
1681
- [svgIcon]="paletteIcon"
1682
- icon="palette"
1683
- fillMode="flat"
1684
- type="button"
1685
- (click)="editAnnotation()"></button>
1686
- <button
1687
- kendoButton
1688
- [attr.title]="localizationService?.get('deleteAnnotationTitle')"
1689
- [attr.aria-label]="localizationService?.get('deleteAnnotationTitle')"
1690
- [svgIcon]="trashIcon"
1691
- icon="trash"
1692
- fillMode="flat"
1693
- type="button"
1694
- (click)="deleteAnnotation()"></button>
1695
- </ng-container>
1696
- <ng-container *ngIf="!showToolbar">
1697
- <ng-container *ngIf="annotationEditorType === 'freeText'">
1698
- <span class="k-column-menu-group-header">
1699
- <span id="text-font-size-label" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorFontSizeTitle') }}</span>
1700
- </span>
1701
- <kendo-dropdownlist
1702
- [data]="fontSizes"
1703
- [value]="initialFontSize"
1704
- (valueChange)="pdfViewerWidget.setFreeTextFontSize($event)"
1705
- fillMode="flat"
1706
- aria-labelledby="text-font-size-label"></kendo-dropdownlist>
1707
- </ng-container>
1708
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AnnotationPopupToolbarContentComponent, isStandalone: true, selector: "[kendoPDFViewerAnnotationPopupToolbar]", host: { properties: { "class.k-toolbar": "this.hostClasses", "class.k-toolbar-md": "this.hostClasses", "class.k-toolbar-flat": "this.hostClasses" } }, providers: [DialogService], ngImport: i0, template: `
1709
+ @if (showToolbar) {
1710
+ <button
1711
+ kendoButton
1712
+ [attr.title]="localizationService?.get('annotationEditorTitle')"
1713
+ [attr.aria-label]="localizationService?.get('annotationEditorTitle')"
1714
+ [svgIcon]="paletteIcon"
1715
+ icon="palette"
1716
+ fillMode="flat"
1717
+ type="button"
1718
+ (click)="editAnnotation()"></button>
1719
+ <button
1720
+ kendoButton
1721
+ [attr.title]="localizationService?.get('deleteAnnotationTitle')"
1722
+ [attr.aria-label]="localizationService?.get('deleteAnnotationTitle')"
1723
+ [svgIcon]="trashIcon"
1724
+ icon="trash"
1725
+ fillMode="flat"
1726
+ type="button"
1727
+ (click)="deleteAnnotation()"></button>
1728
+ }
1729
+ @if (!showToolbar) {
1730
+ @if (annotationEditorType === 'freeText') {
1708
1731
  <span class="k-column-menu-group-header">
1709
- <label [for]="flatColorPicker" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorColorTitle') }}</label>
1732
+ <span id="text-font-size-label" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorFontSizeTitle') }}</span>
1710
1733
  </span>
1711
- <kendo-flatcolorpicker
1712
- #flatColorPicker
1713
- [preview]="false"
1714
- [value]="initialColor"
1715
- (valueChange)="onColorValueChange($event)"
1716
- fillMode="flat"></kendo-flatcolorpicker>
1717
- <ng-container>
1718
- `, isInline: true, dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i3.FlatColorPickerComponent, selector: "kendo-flatcolorpicker", inputs: ["readonly", "disabled", "format", "value", "tabindex", "clearButton", "preview", "actionsLayout", "activeView", "views", "gradientSettings", "adaptiveMode", "paletteSettings", "size"], outputs: ["valueChange", "cancel", "activeViewChange", "clearButtonClick", "actionButtonClick"], exportAs: ["kendoFlatColorPicker"] }, { kind: "component", type: i1$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1734
+ <kendo-dropdownlist
1735
+ [data]="fontSizes"
1736
+ [value]="initialFontSize"
1737
+ (valueChange)="pdfViewerWidget.setFreeTextFontSize($event)"
1738
+ fillMode="flat"
1739
+ aria-labelledby="text-font-size-label"></kendo-dropdownlist>
1740
+ }
1741
+ <span class="k-column-menu-group-header">
1742
+ <label [for]="flatColorPicker" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorColorTitle') }}</label>
1743
+ </span>
1744
+ <kendo-flatcolorpicker
1745
+ #flatColorPicker
1746
+ [preview]="false"
1747
+ [value]="initialColor"
1748
+ (valueChange)="onColorValueChange($event)"
1749
+ fillMode="flat"></kendo-flatcolorpicker>
1750
+ }
1751
+ `, isInline: true, dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i3.FlatColorPickerComponent, selector: "kendo-flatcolorpicker", inputs: ["readonly", "disabled", "format", "value", "tabindex", "clearButton", "preview", "actionsLayout", "activeView", "views", "gradientSettings", "adaptiveMode", "paletteSettings", "size"], outputs: ["valueChange", "cancel", "activeViewChange", "clearButtonClick", "actionButtonClick"], exportAs: ["kendoFlatColorPicker"] }, { kind: "component", type: i1$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
1719
1752
  }
1720
1753
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AnnotationPopupToolbarContentComponent, decorators: [{
1721
1754
  type: Component,
@@ -1723,50 +1756,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1723
1756
  selector: '[kendoPDFViewerAnnotationPopupToolbar]',
1724
1757
  standalone: true,
1725
1758
  providers: [DialogService],
1726
- imports: [KENDO_BUTTON, KENDO_FLATCOLORPICKER, KENDO_DROPDOWNLIST, NgIf],
1759
+ imports: [KENDO_BUTTON, KENDO_FLATCOLORPICKER, KENDO_DROPDOWNLIST],
1727
1760
  template: `
1728
- <ng-container *ngIf="showToolbar">
1729
- <button
1730
- kendoButton
1731
- [attr.title]="localizationService?.get('annotationEditorTitle')"
1732
- [attr.aria-label]="localizationService?.get('annotationEditorTitle')"
1733
- [svgIcon]="paletteIcon"
1734
- icon="palette"
1735
- fillMode="flat"
1736
- type="button"
1737
- (click)="editAnnotation()"></button>
1738
- <button
1739
- kendoButton
1740
- [attr.title]="localizationService?.get('deleteAnnotationTitle')"
1741
- [attr.aria-label]="localizationService?.get('deleteAnnotationTitle')"
1742
- [svgIcon]="trashIcon"
1743
- icon="trash"
1744
- fillMode="flat"
1745
- type="button"
1746
- (click)="deleteAnnotation()"></button>
1747
- </ng-container>
1748
- <ng-container *ngIf="!showToolbar">
1749
- <ng-container *ngIf="annotationEditorType === 'freeText'">
1750
- <span class="k-column-menu-group-header">
1751
- <span id="text-font-size-label" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorFontSizeTitle') }}</span>
1752
- </span>
1753
- <kendo-dropdownlist
1754
- [data]="fontSizes"
1755
- [value]="initialFontSize"
1756
- (valueChange)="pdfViewerWidget.setFreeTextFontSize($event)"
1757
- fillMode="flat"
1758
- aria-labelledby="text-font-size-label"></kendo-dropdownlist>
1759
- </ng-container>
1761
+ @if (showToolbar) {
1762
+ <button
1763
+ kendoButton
1764
+ [attr.title]="localizationService?.get('annotationEditorTitle')"
1765
+ [attr.aria-label]="localizationService?.get('annotationEditorTitle')"
1766
+ [svgIcon]="paletteIcon"
1767
+ icon="palette"
1768
+ fillMode="flat"
1769
+ type="button"
1770
+ (click)="editAnnotation()"></button>
1771
+ <button
1772
+ kendoButton
1773
+ [attr.title]="localizationService?.get('deleteAnnotationTitle')"
1774
+ [attr.aria-label]="localizationService?.get('deleteAnnotationTitle')"
1775
+ [svgIcon]="trashIcon"
1776
+ icon="trash"
1777
+ fillMode="flat"
1778
+ type="button"
1779
+ (click)="deleteAnnotation()"></button>
1780
+ }
1781
+ @if (!showToolbar) {
1782
+ @if (annotationEditorType === 'freeText') {
1760
1783
  <span class="k-column-menu-group-header">
1761
- <label [for]="flatColorPicker" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorColorTitle') }}</label>
1784
+ <span id="text-font-size-label" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorFontSizeTitle') }}</span>
1762
1785
  </span>
1763
- <kendo-flatcolorpicker
1764
- #flatColorPicker
1765
- [preview]="false"
1766
- [value]="initialColor"
1767
- (valueChange)="onColorValueChange($event)"
1768
- fillMode="flat"></kendo-flatcolorpicker>
1769
- <ng-container>
1786
+ <kendo-dropdownlist
1787
+ [data]="fontSizes"
1788
+ [value]="initialFontSize"
1789
+ (valueChange)="pdfViewerWidget.setFreeTextFontSize($event)"
1790
+ fillMode="flat"
1791
+ aria-labelledby="text-font-size-label"></kendo-dropdownlist>
1792
+ }
1793
+ <span class="k-column-menu-group-header">
1794
+ <label [for]="flatColorPicker" class="k-column-menu-group-header-text">{{ localizationService?.get('annotationEditorColorTitle') }}</label>
1795
+ </span>
1796
+ <kendo-flatcolorpicker
1797
+ #flatColorPicker
1798
+ [preview]="false"
1799
+ [value]="initialColor"
1800
+ (valueChange)="onColorValueChange($event)"
1801
+ fillMode="flat"></kendo-flatcolorpicker>
1802
+ }
1770
1803
  `
1771
1804
  }]
1772
1805
  }], ctorParameters: () => [{ type: i1$2.DialogService }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
@@ -2088,6 +2121,12 @@ class PDFViewerComponent {
2088
2121
  scrollToPage(page) {
2089
2122
  this.pdfViewerWidget?.scrollToPage({ pageNumber: page });
2090
2123
  }
2124
+ /**
2125
+ * @hidden
2126
+ */
2127
+ messageFor(key) {
2128
+ return this.localizationService.get(key);
2129
+ }
2091
2130
  /**
2092
2131
  * @hidden
2093
2132
  */
@@ -2431,7 +2470,7 @@ class PDFViewerComponent {
2431
2470
  return observer;
2432
2471
  };
2433
2472
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFViewerComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2$1.PopupService }], target: i0.ɵɵFactoryTarget.Component });
2434
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PDFViewerComponent, isStandalone: true, selector: "kendo-pdfviewer", inputs: { tools: "tools", loaderSettings: "loaderSettings", renderForms: "renderForms", saveFileName: "saveFileName", saveOptions: "saveOptions", url: "url", data: "data", arrayBuffer: "arrayBuffer", typedArray: "typedArray", zoom: "zoom", zoomRate: "zoomRate", minZoom: "minZoom", maxZoom: "maxZoom", loadOnDemand: "loadOnDemand", loadOnDemandPageSize: "loadOnDemandPageSize", removeAnnotationConfirmation: "removeAnnotationConfirmation" }, outputs: { load: "load", error: "error", download: "download", pageChange: "pageChange", zoomLevelChange: "zoomLevelChange" }, host: { properties: { "class.k-pdf-viewer": "this.hostClass", "attr.dir": "this.direction", "attr.display": "this.display" } }, providers: [
2473
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PDFViewerComponent, isStandalone: true, selector: "kendo-pdfviewer", inputs: { tools: "tools", loaderSettings: "loaderSettings", renderForms: "renderForms", saveFileName: "saveFileName", saveOptions: "saveOptions", url: "url", data: "data", arrayBuffer: "arrayBuffer", typedArray: "typedArray", zoom: "zoom", zoomRate: "zoomRate", minZoom: "minZoom", maxZoom: "maxZoom", loadOnDemand: "loadOnDemand", loadOnDemandPageSize: "loadOnDemandPageSize", removeAnnotationConfirmation: "removeAnnotationConfirmation" }, outputs: { load: "load", error: "error", download: "download", pageChange: "pageChange", zoomLevelChange: "zoomLevelChange" }, host: { properties: { "class.k-pdf-viewer": "this.hostClass", "attr.dir": "this.direction", "attr.display": "this.display" } }, providers: [
2435
2474
  LocalizationService,
2436
2475
  {
2437
2476
  provide: L10N_PREFIX,
@@ -2439,151 +2478,156 @@ class PDFViewerComponent {
2439
2478
  }
2440
2479
  ], viewQueries: [{ propertyName: "pagesContainer", first: true, predicate: ["pagesContainer"], descendants: true }, { propertyName: "pagesContainerViewContainerRef", first: true, predicate: ["pagesContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dialogContainerViewContainerRef", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }], exportAs: ["kendo-pdfviewer"], usesOnChanges: true, ngImport: i0, template: `
2441
2480
  <ng-container kendoPDFViewerLocalizedMessages
2442
- i18n-pagerFirstPage="kendo.pdfviewer.pagerFirstPage|The label for the first page button in the Pager"
2443
- pagerFirstPage="Go to the first page"
2444
-
2445
- i18n-pagerPreviousPage="kendo.pdfviewer.pagerPreviousPage|The label for the previous page button in the Pager"
2446
- pagerPreviousPage="Go to the previous page"
2447
-
2448
- i18n-pagerNextPage="kendo.pdfviewer.pagerNextPage|The label for the next page button in the Pager"
2449
- pagerNextPage="Go to the next page"
2450
-
2451
- i18n-pagerLastPage="kendo.pdfviewer.pagerLastPage|The label for the last page button in the Pager"
2452
- pagerLastPage="Go to the last page"
2453
-
2454
- i18n-pagerPage="kendo.pdfviewer.pagerPage|The text before the current page number in the Pager"
2455
- pagerPage="Page"
2456
-
2457
- i18n-pagerOf="kendo.pdfviewer.pagerOf|The text before the total pages number in the Pager"
2458
- pagerOf="of"
2459
-
2460
- i18n-pagerInputTitle="kendo.pdfviewer.pagerInputTitle|The label of the pager input element"
2461
- pagerInputTitle="Page Number"
2462
-
2463
- i18n-pagerInputLabel="kendo.pdfviewer.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number."
2464
- pagerInputLabel="Type a page number"
2465
-
2466
- i18n-zoomInTitle="kendo.pdfviewer.zoomInTitle|The ZoomIn tool title and label."
2467
- zoomInTitle="Zoom in"
2468
-
2469
- i18n-zoomOutTitle="kendo.pdfviewer.zoomOutTitle|The ZoomOut tool title and label."
2470
- zoomOutTitle="Zoom out"
2471
-
2472
- i18n-selectionTitle="kendo.pdfviewer.selectionTitle|The Selection tool title and label."
2473
- selectionTitle="Enable selection"
2474
-
2475
- i18n-panningTitle="kendo.pdfviewer.panningTitle|The Panning tool title and label."
2476
- panningTitle="Enable panning"
2477
-
2478
- i18n-searchTitle="kendo.pdfviewer.searchTitle|The Search tool title and label."
2479
- searchTitle="Search"
2480
-
2481
- i18n-openTitle="kendo.pdfviewer.openTitle|The Open tool title and label."
2482
- openTitle="Open"
2483
-
2484
- i18n-downloadTitle="kendo.pdfviewer.downloadTitle|The Download tool title and label."
2485
- downloadTitle="Download"
2486
-
2487
- i18n-printTitle="kendo.pdfviewer.printTitle|The Print tool title and label."
2488
- printTitle="Print"
2489
-
2490
- i18n-fitToPage="kendo.pdfviewer.fitToPage|The text for the zoom level chooser Fit to page option."
2491
- fitToPage="Fit to page"
2492
-
2493
- i18n-fitToWidth="kendo.pdfviewer.fitToWidth|The text for the zoom level chooser Fit to width option."
2494
- fitToWidth="Fit to width"
2495
-
2496
- i18n-searchInputPlaceholder="kendo.pdfviewer.searchInputPlaceholder|The text for the search input placeholder."
2497
- searchInputPlaceholder="Search"
2498
-
2499
- i18n-searchMatchesOf="kendo.pdfviewer.searchMatchesOf|The text before the total number of matches in the Search tool."
2500
- searchMatchesOf="of"
2501
-
2502
- i18n-searchPreviousMatchTitle="kendo.pdfviewer.searchPreviousMatchTitle|The title of the Search tool previous match button."
2503
- searchPreviousMatchTitle="Previous match"
2504
-
2505
- i18n-searchNextMatchTitle="kendo.pdfviewer.searchNextMatchTitle|The title of the Search tool next match button."
2506
- searchNextMatchTitle="Next match"
2507
-
2508
- i18n-searchCloseTitle="kendo.pdfviewer.searchCloseTitle|The title of the Search tool close button."
2509
- searchCloseTitle="Close"
2510
-
2511
- i18n-searchMatchCaseTitle="kendo.pdfviewer.searchMatchCaseTitle|The title of the Search tool match case button."
2512
- searchMatchCaseTitle="Match case"
2513
-
2514
- i18n-zoomInputPlaceholder="kendo.pdfviewer.zoomInputPlaceholder|The text for the zoom tool input placeholder."
2515
- zoomInputPlaceholder="Choose zoom level"
2516
-
2517
- i18n-annotationsTitle="kendo.pdfviewer.annotationsTitle|The Annotations tool title and label."
2518
- annotationsTitle="Annotations"
2519
-
2520
- i18n-annotationEditorTitle="kendo.pdfviewer.annotationEditorTitle|The annotation editor tool title and label."
2521
- annotationEditorTitle="Annotation editor"
2522
-
2523
- i18n-deleteAnnotationTitle="kendo.pdfviewer.deleteAnnotationTitle|The delete annotation tool title and label."
2524
- deleteAnnotationTitle="Delete annotation"
2525
-
2526
- i18n-highlightAnnotationTitle="kendo.pdfviewer.highlightAnnotationTitle|The highlight annotation tool title and label."
2527
- highlightAnnotationTitle="Highlight"
2528
-
2529
- i18n-freeTextAnnotationTitle="kendo.pdfviewer.freeTextAnnotationTitle|The free text annotation tool title and label."
2530
- freeTextAnnotationTitle="Free text"
2531
-
2532
- i18n-closeAnnotationsToolbarTitle="kendo.pdfviewer.closeAnnotationsToolbarTitle|The close annotations toolbar tool title and label."
2533
- closeAnnotationsToolbarTitle="Close"
2534
-
2535
- i18n-deleteAnnotationConfirmationDialogTitle="kendo.pdfviewer.deleteAnnotationConfirmationDialogTitle|The delete annotation confirmation dialog title."
2536
- deleteAnnotationConfirmationDialogTitle="Delete annotation"
2537
-
2538
- i18n-deleteAnnotationConfirmationDialogContent="kendo.pdfviewer.deleteAnnotationConfirmationDialogContent|The delete annotation confirmation dialog content."
2539
- deleteAnnotationConfirmationDialogContent="Are you sure you want to delete this annotation?"
2540
-
2541
- i18n-deleteAnnotationConfirmationDialogConfirmText="kendo.pdfviewer.deleteAnnotationConfirmationDialogConfirmText|The delete annotation confirmation dialog confirm button text."
2542
- deleteAnnotationConfirmationDialogConfirmText="Delete"
2543
-
2544
- i18n-deleteAnnotationConfirmationDialogRejectText="kendo.pdfviewer.deleteAnnotationConfirmationDialogRejectText|The delete annotation confirmation dialog reject button text."
2545
- deleteAnnotationConfirmationDialogRejectText="Cancel"
2546
-
2547
- i18n-annotationEditorFontSizeTitle="kendo.pdfviewer.annotationEditorFontSizeTitle|The annotation editor font size section title."
2548
- annotationEditorFontSizeTitle="Font size"
2549
-
2550
- i18n-annotationEditorColorTitle="kendo.pdfviewer.annotationEditorColorTitle|The annotation editor color section title."
2551
- annotationEditorColorTitle="Color">
2481
+ i18n-pagerFirstPage="kendo.pdfviewer.pagerFirstPage|The label for the first page button in the Pager"
2482
+ pagerFirstPage="Go to the first page"
2483
+
2484
+ i18n-pagerPreviousPage="kendo.pdfviewer.pagerPreviousPage|The label for the previous page button in the Pager"
2485
+ pagerPreviousPage="Go to the previous page"
2486
+
2487
+ i18n-pagerNextPage="kendo.pdfviewer.pagerNextPage|The label for the next page button in the Pager"
2488
+ pagerNextPage="Go to the next page"
2489
+
2490
+ i18n-pagerLastPage="kendo.pdfviewer.pagerLastPage|The label for the last page button in the Pager"
2491
+ pagerLastPage="Go to the last page"
2492
+
2493
+ i18n-pagerPage="kendo.pdfviewer.pagerPage|The text before the current page number in the Pager"
2494
+ pagerPage="Page"
2495
+
2496
+ i18n-pagerOf="kendo.pdfviewer.pagerOf|The text before the total pages number in the Pager"
2497
+ pagerOf="of"
2498
+
2499
+ i18n-pagerInputTitle="kendo.pdfviewer.pagerInputTitle|The label of the pager input element"
2500
+ pagerInputTitle="Page Number"
2501
+
2502
+ i18n-pagerInputLabel="kendo.pdfviewer.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number."
2503
+ pagerInputLabel="Type a page number"
2504
+
2505
+ i18n-zoomInTitle="kendo.pdfviewer.zoomInTitle|The ZoomIn tool title and label."
2506
+ zoomInTitle="Zoom in"
2507
+
2508
+ i18n-zoomOutTitle="kendo.pdfviewer.zoomOutTitle|The ZoomOut tool title and label."
2509
+ zoomOutTitle="Zoom out"
2510
+
2511
+ i18n-selectionTitle="kendo.pdfviewer.selectionTitle|The Selection tool title and label."
2512
+ selectionTitle="Enable selection"
2513
+
2514
+ i18n-panningTitle="kendo.pdfviewer.panningTitle|The Panning tool title and label."
2515
+ panningTitle="Enable panning"
2516
+
2517
+ i18n-searchTitle="kendo.pdfviewer.searchTitle|The Search tool title and label."
2518
+ searchTitle="Search"
2519
+
2520
+ i18n-openTitle="kendo.pdfviewer.openTitle|The Open tool title and label."
2521
+ openTitle="Open"
2522
+
2523
+ i18n-downloadTitle="kendo.pdfviewer.downloadTitle|The Download tool title and label."
2524
+ downloadTitle="Download"
2525
+
2526
+ i18n-printTitle="kendo.pdfviewer.printTitle|The Print tool title and label."
2527
+ printTitle="Print"
2528
+
2529
+ i18n-fitToPage="kendo.pdfviewer.fitToPage|The text for the zoom level chooser Fit to page option."
2530
+ fitToPage="Fit to page"
2531
+
2532
+ i18n-fitToWidth="kendo.pdfviewer.fitToWidth|The text for the zoom level chooser Fit to width option."
2533
+ fitToWidth="Fit to width"
2534
+
2535
+ i18n-searchInputPlaceholder="kendo.pdfviewer.searchInputPlaceholder|The text for the search input placeholder."
2536
+ searchInputPlaceholder="Search"
2537
+
2538
+ i18n-searchMatchesOf="kendo.pdfviewer.searchMatchesOf|The text before the total number of matches in the Search tool."
2539
+ searchMatchesOf="of"
2540
+
2541
+ i18n-searchPreviousMatchTitle="kendo.pdfviewer.searchPreviousMatchTitle|The title of the Search tool previous match button."
2542
+ searchPreviousMatchTitle="Previous match"
2543
+
2544
+ i18n-searchNextMatchTitle="kendo.pdfviewer.searchNextMatchTitle|The title of the Search tool next match button."
2545
+ searchNextMatchTitle="Next match"
2546
+
2547
+ i18n-searchCloseTitle="kendo.pdfviewer.searchCloseTitle|The title of the Search tool close button."
2548
+ searchCloseTitle="Close"
2549
+
2550
+ i18n-searchMatchCaseTitle="kendo.pdfviewer.searchMatchCaseTitle|The title of the Search tool match case button."
2551
+ searchMatchCaseTitle="Match case"
2552
+
2553
+ i18n-zoomInputPlaceholder="kendo.pdfviewer.zoomInputPlaceholder|The text for the zoom tool input placeholder."
2554
+ zoomInputPlaceholder="Choose zoom level"
2555
+
2556
+ i18n-annotationsTitle="kendo.pdfviewer.annotationsTitle|The Annotations tool title and label."
2557
+ annotationsTitle="Annotations"
2558
+
2559
+ i18n-annotationEditorTitle="kendo.pdfviewer.annotationEditorTitle|The annotation editor tool title and label."
2560
+ annotationEditorTitle="Annotation editor"
2561
+
2562
+ i18n-deleteAnnotationTitle="kendo.pdfviewer.deleteAnnotationTitle|The delete annotation tool title and label."
2563
+ deleteAnnotationTitle="Delete annotation"
2564
+
2565
+ i18n-highlightAnnotationTitle="kendo.pdfviewer.highlightAnnotationTitle|The highlight annotation tool title and label."
2566
+ highlightAnnotationTitle="Highlight"
2567
+
2568
+ i18n-freeTextAnnotationTitle="kendo.pdfviewer.freeTextAnnotationTitle|The free text annotation tool title and label."
2569
+ freeTextAnnotationTitle="Free text"
2570
+
2571
+ i18n-closeAnnotationsToolbarTitle="kendo.pdfviewer.closeAnnotationsToolbarTitle|The close annotations toolbar tool title and label."
2572
+ closeAnnotationsToolbarTitle="Close"
2573
+
2574
+ i18n-deleteAnnotationConfirmationDialogTitle="kendo.pdfviewer.deleteAnnotationConfirmationDialogTitle|The delete annotation confirmation dialog title."
2575
+ deleteAnnotationConfirmationDialogTitle="Delete annotation"
2576
+
2577
+ i18n-deleteAnnotationConfirmationDialogContent="kendo.pdfviewer.deleteAnnotationConfirmationDialogContent|The delete annotation confirmation dialog content."
2578
+ deleteAnnotationConfirmationDialogContent="Are you sure you want to delete this annotation?"
2579
+
2580
+ i18n-deleteAnnotationConfirmationDialogConfirmText="kendo.pdfviewer.deleteAnnotationConfirmationDialogConfirmText|The delete annotation confirmation dialog confirm button text."
2581
+ deleteAnnotationConfirmationDialogConfirmText="Delete"
2582
+
2583
+ i18n-deleteAnnotationConfirmationDialogRejectText="kendo.pdfviewer.deleteAnnotationConfirmationDialogRejectText|The delete annotation confirmation dialog reject button text."
2584
+ deleteAnnotationConfirmationDialogRejectText="Cancel"
2585
+
2586
+ i18n-annotationEditorFontSizeTitle="kendo.pdfviewer.annotationEditorFontSizeTitle|The annotation editor font size section title."
2587
+ annotationEditorFontSizeTitle="Font size"
2588
+
2589
+ i18n-annotationEditorColorTitle="kendo.pdfviewer.annotationEditorColorTitle|The annotation editor color section title."
2590
+ annotationEditorColorTitle="Color"
2591
+
2592
+ i18n-canvasLabel="kendo.pdfviewer.canvasLabel|The label for the PDF viewer canvas container."
2593
+ canvasLabel="PDF document">
2552
2594
  </ng-container>
2553
- <div kendoPDFViewerLoader
2554
- *ngIf="loading"
2555
- [settings]="loaderSettings"></div>
2595
+ @if (loading) {
2596
+ <div kendoPDFViewerLoader
2597
+ [settings]="loaderSettings"></div>
2598
+ }
2556
2599
  <div kendoPDFViewerToolbar
2557
- #toolbar
2558
- role="toolbar"
2559
- [attr.aria-controls]="pagesContainerId"
2560
- [tools]="tools"
2561
- [skip]="skip"
2562
- [total]="pdfContext?.pdfPages.length ? pdfContext?.pdfPages.length : 1"
2563
- [pageSize]="1"
2564
- [zoomInDisabled]="zoom >= maxZoom || !pdfContext?.pdfDoc"
2565
- [zoomOutDisabled]="zoom <= minZoom || !pdfContext?.pdfDoc"
2566
- [zoomOptionsData]="zoomOptionsData"
2567
- [zoomLevelChooserValue]="zoomLevel"
2568
- [disabledTools]="!pdfContext?.pdfDoc"
2569
- [isAnnotationsToolbarVisible]="showAnnotationsToolbar"
2570
- [wrapperId]="showAnnotationsToolbar ? annotationsToolbarId : undefined"
2571
- [annotationsToolId]="annotationsToolId"
2572
- [isSelectionEnabled]="enabledSelection"
2573
- (pageChange)="onPageChange($event)"
2574
- (fileSelect)="onFileSelect($event)"
2575
- (fileSelectStart)="loading = true;"
2576
- (fileSelectError)="onFileSelectError($event)"
2577
- (download)="onDownload()"
2578
- (panningEnabled)="onPanningEnabled();"
2579
- (selectionEnabled)="onSelectionEnabled();"
2580
- (zoomIn)="onZoomIn()"
2581
- (zoomOut)="onZoomOut()"
2582
- (zoomLevelChange)="onZoomLevelChange($event)"
2583
- (print)="onPrint()"
2584
- (search)="onSearch()"
2585
- (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2586
- <div *ngIf="showAnnotationsToolbar"
2600
+ #toolbar
2601
+ role="toolbar"
2602
+ [attr.aria-controls]="pagesContainerId"
2603
+ [tools]="tools"
2604
+ [skip]="skip"
2605
+ [total]="pdfContext?.pdfPages.length ? pdfContext?.pdfPages.length : 1"
2606
+ [pageSize]="1"
2607
+ [zoomInDisabled]="zoom >= maxZoom || !pdfContext?.pdfDoc"
2608
+ [zoomOutDisabled]="zoom <= minZoom || !pdfContext?.pdfDoc"
2609
+ [zoomOptionsData]="zoomOptionsData"
2610
+ [zoomLevelChooserValue]="zoomLevel"
2611
+ [disabledTools]="!pdfContext?.pdfDoc"
2612
+ [isAnnotationsToolbarVisible]="showAnnotationsToolbar"
2613
+ [wrapperId]="showAnnotationsToolbar ? annotationsToolbarId : undefined"
2614
+ [annotationsToolId]="annotationsToolId"
2615
+ [isSelectionEnabled]="enabledSelection"
2616
+ (pageChange)="onPageChange($event)"
2617
+ (fileSelect)="onFileSelect($event)"
2618
+ (fileSelectStart)="loading = true;"
2619
+ (fileSelectError)="onFileSelectError($event)"
2620
+ (download)="onDownload()"
2621
+ (panningEnabled)="onPanningEnabled();"
2622
+ (selectionEnabled)="onSelectionEnabled();"
2623
+ (zoomIn)="onZoomIn()"
2624
+ (zoomOut)="onZoomOut()"
2625
+ (zoomLevelChange)="onZoomLevelChange($event)"
2626
+ (print)="onPrint()"
2627
+ (search)="onSearch()"
2628
+ (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2629
+ @if (showAnnotationsToolbar) {
2630
+ <div
2587
2631
  [attr.id]="annotationsToolbarId"
2588
2632
  kendoPDFViewerToolbar
2589
2633
  role="toolbar"
@@ -2591,35 +2635,41 @@ class PDFViewerComponent {
2591
2635
  (setAnnotationMode)="onSetAnnotationMode($event)"
2592
2636
  [attr.aria-controls]="pagesContainerId"
2593
2637
  [disabledTools]="!pdfContext?.pdfDoc"
2594
- (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2638
+ (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2639
+ }
2595
2640
  <div
2596
- class="k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto"
2597
- [class.k-enable-text-select]="enabledSelection"
2598
- [class.k-enable-panning]="!enabledSelection"
2599
- [attr.aria-describedby]="activePageId"
2600
- tabindex="0">
2601
- <div
2602
- kendoPDFViewerSearch
2603
- *ngIf="searchActive"
2604
- [currentMatch]="currentMatch"
2605
- [matches]="currentMatches.length"
2606
- class="k-search-panel k-pos-sticky k-top-center"
2607
- (searchChange)="onSearchChange($event)"
2608
- (prevMatch)="onPreviousMatch()"
2609
- (nextMatch)="onNextMatch()"
2610
- (close)="closeSearch(toolbar)"></div>
2641
+ class="k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto"
2642
+ [class.k-enable-text-select]="enabledSelection"
2643
+ [class.k-enable-panning]="!enabledSelection"
2644
+ [attr.aria-describedby]="activePageId"
2645
+ [attr.aria-label]="messageFor('canvasLabel')"
2646
+ role="document"
2647
+ tabindex="0">
2648
+ @if (searchActive) {
2611
2649
  <div
2612
- #pagesContainer
2650
+ kendoPDFViewerSearch
2651
+ [currentMatch]="currentMatch"
2652
+ [matches]="currentMatches.length"
2653
+ class="k-search-panel k-pos-sticky k-top-center"
2654
+ (searchChange)="onSearchChange($event)"
2655
+ (prevMatch)="onPreviousMatch()"
2656
+ (nextMatch)="onNextMatch()"
2657
+ (close)="closeSearch(toolbar)"></div>
2658
+ }
2659
+ <div
2660
+ #pagesContainer
2613
2661
  [kendoEventsOutsideAngular]="{
2614
2662
  wheel: stopPropagation
2615
2663
  }"
2616
- class="k-pdf-viewer-pages"
2617
- [attr.id]="pagesContainerId"></div>
2664
+ class="k-pdf-viewer-pages"
2665
+ [attr.id]="pagesContainerId"></div>
2618
2666
  </div>
2619
-
2667
+
2620
2668
  <div #dialogContainer></div>
2621
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
2622
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedPDFViewerMessagesDirective, selector: "[kendoPDFViewerLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: LoaderComponent, selector: "[kendoPDFViewerLoader]", inputs: ["settings"] }, { kind: "component", type: ToolbarComponent, selector: "[kendoPDFViewerToolbar]", inputs: ["zoomLevel", "calculatedComboBoxValue", "skip", "pageSize", "total", "zoomInDisabled", "zoomOutDisabled", "disabledTools", "zoomLevelChooserValue", "zoomOptionsData", "pagesContainerId", "tools", "type", "wrapperId", "isAnnotationsToolbarVisible", "annotationsToolId", "isSelectionEnabled"], outputs: ["fileSelect", "fileSelectStart", "fileSelectError", "download", "selectionEnabled", "panningEnabled", "pageChange", "zoomIn", "zoomOut", "zoomLevelChange", "print", "search", "toggleAnnotationsToolbar", "setAnnotationMode"] }, { kind: "component", type: PDFViewerSearchComponent, selector: "[kendoPDFViewerSearch]", inputs: ["matches", "currentMatch"], outputs: ["searchChange", "prevMatch", "nextMatch", "close"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
2669
+ @if (showLicenseWatermark) {
2670
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
2671
+ }
2672
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedPDFViewerMessagesDirective, selector: "[kendoPDFViewerLocalizedMessages]" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: LoaderComponent, selector: "[kendoPDFViewerLoader]", inputs: ["settings"] }, { kind: "component", type: ToolbarComponent, selector: "[kendoPDFViewerToolbar]", inputs: ["zoomLevel", "calculatedComboBoxValue", "skip", "pageSize", "total", "zoomInDisabled", "zoomOutDisabled", "disabledTools", "zoomLevelChooserValue", "zoomOptionsData", "pagesContainerId", "tools", "type", "wrapperId", "isAnnotationsToolbarVisible", "annotationsToolId", "isSelectionEnabled"], outputs: ["fileSelect", "fileSelectStart", "fileSelectError", "download", "selectionEnabled", "panningEnabled", "pageChange", "zoomIn", "zoomOut", "zoomLevelChange", "print", "search", "toggleAnnotationsToolbar", "setAnnotationMode"] }, { kind: "component", type: PDFViewerSearchComponent, selector: "[kendoPDFViewerSearch]", inputs: ["matches", "currentMatch"], outputs: ["searchChange", "prevMatch", "nextMatch", "close"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
2623
2673
  }
2624
2674
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PDFViewerComponent, decorators: [{
2625
2675
  type: Component,
@@ -2635,151 +2685,156 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2635
2685
  ],
2636
2686
  template: `
2637
2687
  <ng-container kendoPDFViewerLocalizedMessages
2638
- i18n-pagerFirstPage="kendo.pdfviewer.pagerFirstPage|The label for the first page button in the Pager"
2639
- pagerFirstPage="Go to the first page"
2640
-
2641
- i18n-pagerPreviousPage="kendo.pdfviewer.pagerPreviousPage|The label for the previous page button in the Pager"
2642
- pagerPreviousPage="Go to the previous page"
2643
-
2644
- i18n-pagerNextPage="kendo.pdfviewer.pagerNextPage|The label for the next page button in the Pager"
2645
- pagerNextPage="Go to the next page"
2646
-
2647
- i18n-pagerLastPage="kendo.pdfviewer.pagerLastPage|The label for the last page button in the Pager"
2648
- pagerLastPage="Go to the last page"
2649
-
2650
- i18n-pagerPage="kendo.pdfviewer.pagerPage|The text before the current page number in the Pager"
2651
- pagerPage="Page"
2652
-
2653
- i18n-pagerOf="kendo.pdfviewer.pagerOf|The text before the total pages number in the Pager"
2654
- pagerOf="of"
2655
-
2656
- i18n-pagerInputTitle="kendo.pdfviewer.pagerInputTitle|The label of the pager input element"
2657
- pagerInputTitle="Page Number"
2658
-
2659
- i18n-pagerInputLabel="kendo.pdfviewer.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number."
2660
- pagerInputLabel="Type a page number"
2661
-
2662
- i18n-zoomInTitle="kendo.pdfviewer.zoomInTitle|The ZoomIn tool title and label."
2663
- zoomInTitle="Zoom in"
2664
-
2665
- i18n-zoomOutTitle="kendo.pdfviewer.zoomOutTitle|The ZoomOut tool title and label."
2666
- zoomOutTitle="Zoom out"
2667
-
2668
- i18n-selectionTitle="kendo.pdfviewer.selectionTitle|The Selection tool title and label."
2669
- selectionTitle="Enable selection"
2670
-
2671
- i18n-panningTitle="kendo.pdfviewer.panningTitle|The Panning tool title and label."
2672
- panningTitle="Enable panning"
2673
-
2674
- i18n-searchTitle="kendo.pdfviewer.searchTitle|The Search tool title and label."
2675
- searchTitle="Search"
2676
-
2677
- i18n-openTitle="kendo.pdfviewer.openTitle|The Open tool title and label."
2678
- openTitle="Open"
2679
-
2680
- i18n-downloadTitle="kendo.pdfviewer.downloadTitle|The Download tool title and label."
2681
- downloadTitle="Download"
2682
-
2683
- i18n-printTitle="kendo.pdfviewer.printTitle|The Print tool title and label."
2684
- printTitle="Print"
2685
-
2686
- i18n-fitToPage="kendo.pdfviewer.fitToPage|The text for the zoom level chooser Fit to page option."
2687
- fitToPage="Fit to page"
2688
-
2689
- i18n-fitToWidth="kendo.pdfviewer.fitToWidth|The text for the zoom level chooser Fit to width option."
2690
- fitToWidth="Fit to width"
2691
-
2692
- i18n-searchInputPlaceholder="kendo.pdfviewer.searchInputPlaceholder|The text for the search input placeholder."
2693
- searchInputPlaceholder="Search"
2694
-
2695
- i18n-searchMatchesOf="kendo.pdfviewer.searchMatchesOf|The text before the total number of matches in the Search tool."
2696
- searchMatchesOf="of"
2697
-
2698
- i18n-searchPreviousMatchTitle="kendo.pdfviewer.searchPreviousMatchTitle|The title of the Search tool previous match button."
2699
- searchPreviousMatchTitle="Previous match"
2700
-
2701
- i18n-searchNextMatchTitle="kendo.pdfviewer.searchNextMatchTitle|The title of the Search tool next match button."
2702
- searchNextMatchTitle="Next match"
2703
-
2704
- i18n-searchCloseTitle="kendo.pdfviewer.searchCloseTitle|The title of the Search tool close button."
2705
- searchCloseTitle="Close"
2706
-
2707
- i18n-searchMatchCaseTitle="kendo.pdfviewer.searchMatchCaseTitle|The title of the Search tool match case button."
2708
- searchMatchCaseTitle="Match case"
2709
-
2710
- i18n-zoomInputPlaceholder="kendo.pdfviewer.zoomInputPlaceholder|The text for the zoom tool input placeholder."
2711
- zoomInputPlaceholder="Choose zoom level"
2712
-
2713
- i18n-annotationsTitle="kendo.pdfviewer.annotationsTitle|The Annotations tool title and label."
2714
- annotationsTitle="Annotations"
2715
-
2716
- i18n-annotationEditorTitle="kendo.pdfviewer.annotationEditorTitle|The annotation editor tool title and label."
2717
- annotationEditorTitle="Annotation editor"
2718
-
2719
- i18n-deleteAnnotationTitle="kendo.pdfviewer.deleteAnnotationTitle|The delete annotation tool title and label."
2720
- deleteAnnotationTitle="Delete annotation"
2721
-
2722
- i18n-highlightAnnotationTitle="kendo.pdfviewer.highlightAnnotationTitle|The highlight annotation tool title and label."
2723
- highlightAnnotationTitle="Highlight"
2724
-
2725
- i18n-freeTextAnnotationTitle="kendo.pdfviewer.freeTextAnnotationTitle|The free text annotation tool title and label."
2726
- freeTextAnnotationTitle="Free text"
2727
-
2728
- i18n-closeAnnotationsToolbarTitle="kendo.pdfviewer.closeAnnotationsToolbarTitle|The close annotations toolbar tool title and label."
2729
- closeAnnotationsToolbarTitle="Close"
2730
-
2731
- i18n-deleteAnnotationConfirmationDialogTitle="kendo.pdfviewer.deleteAnnotationConfirmationDialogTitle|The delete annotation confirmation dialog title."
2732
- deleteAnnotationConfirmationDialogTitle="Delete annotation"
2733
-
2734
- i18n-deleteAnnotationConfirmationDialogContent="kendo.pdfviewer.deleteAnnotationConfirmationDialogContent|The delete annotation confirmation dialog content."
2735
- deleteAnnotationConfirmationDialogContent="Are you sure you want to delete this annotation?"
2736
-
2737
- i18n-deleteAnnotationConfirmationDialogConfirmText="kendo.pdfviewer.deleteAnnotationConfirmationDialogConfirmText|The delete annotation confirmation dialog confirm button text."
2738
- deleteAnnotationConfirmationDialogConfirmText="Delete"
2739
-
2740
- i18n-deleteAnnotationConfirmationDialogRejectText="kendo.pdfviewer.deleteAnnotationConfirmationDialogRejectText|The delete annotation confirmation dialog reject button text."
2741
- deleteAnnotationConfirmationDialogRejectText="Cancel"
2742
-
2743
- i18n-annotationEditorFontSizeTitle="kendo.pdfviewer.annotationEditorFontSizeTitle|The annotation editor font size section title."
2744
- annotationEditorFontSizeTitle="Font size"
2745
-
2746
- i18n-annotationEditorColorTitle="kendo.pdfviewer.annotationEditorColorTitle|The annotation editor color section title."
2747
- annotationEditorColorTitle="Color">
2688
+ i18n-pagerFirstPage="kendo.pdfviewer.pagerFirstPage|The label for the first page button in the Pager"
2689
+ pagerFirstPage="Go to the first page"
2690
+
2691
+ i18n-pagerPreviousPage="kendo.pdfviewer.pagerPreviousPage|The label for the previous page button in the Pager"
2692
+ pagerPreviousPage="Go to the previous page"
2693
+
2694
+ i18n-pagerNextPage="kendo.pdfviewer.pagerNextPage|The label for the next page button in the Pager"
2695
+ pagerNextPage="Go to the next page"
2696
+
2697
+ i18n-pagerLastPage="kendo.pdfviewer.pagerLastPage|The label for the last page button in the Pager"
2698
+ pagerLastPage="Go to the last page"
2699
+
2700
+ i18n-pagerPage="kendo.pdfviewer.pagerPage|The text before the current page number in the Pager"
2701
+ pagerPage="Page"
2702
+
2703
+ i18n-pagerOf="kendo.pdfviewer.pagerOf|The text before the total pages number in the Pager"
2704
+ pagerOf="of"
2705
+
2706
+ i18n-pagerInputTitle="kendo.pdfviewer.pagerInputTitle|The label of the pager input element"
2707
+ pagerInputTitle="Page Number"
2708
+
2709
+ i18n-pagerInputLabel="kendo.pdfviewer.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number."
2710
+ pagerInputLabel="Type a page number"
2711
+
2712
+ i18n-zoomInTitle="kendo.pdfviewer.zoomInTitle|The ZoomIn tool title and label."
2713
+ zoomInTitle="Zoom in"
2714
+
2715
+ i18n-zoomOutTitle="kendo.pdfviewer.zoomOutTitle|The ZoomOut tool title and label."
2716
+ zoomOutTitle="Zoom out"
2717
+
2718
+ i18n-selectionTitle="kendo.pdfviewer.selectionTitle|The Selection tool title and label."
2719
+ selectionTitle="Enable selection"
2720
+
2721
+ i18n-panningTitle="kendo.pdfviewer.panningTitle|The Panning tool title and label."
2722
+ panningTitle="Enable panning"
2723
+
2724
+ i18n-searchTitle="kendo.pdfviewer.searchTitle|The Search tool title and label."
2725
+ searchTitle="Search"
2726
+
2727
+ i18n-openTitle="kendo.pdfviewer.openTitle|The Open tool title and label."
2728
+ openTitle="Open"
2729
+
2730
+ i18n-downloadTitle="kendo.pdfviewer.downloadTitle|The Download tool title and label."
2731
+ downloadTitle="Download"
2732
+
2733
+ i18n-printTitle="kendo.pdfviewer.printTitle|The Print tool title and label."
2734
+ printTitle="Print"
2735
+
2736
+ i18n-fitToPage="kendo.pdfviewer.fitToPage|The text for the zoom level chooser Fit to page option."
2737
+ fitToPage="Fit to page"
2738
+
2739
+ i18n-fitToWidth="kendo.pdfviewer.fitToWidth|The text for the zoom level chooser Fit to width option."
2740
+ fitToWidth="Fit to width"
2741
+
2742
+ i18n-searchInputPlaceholder="kendo.pdfviewer.searchInputPlaceholder|The text for the search input placeholder."
2743
+ searchInputPlaceholder="Search"
2744
+
2745
+ i18n-searchMatchesOf="kendo.pdfviewer.searchMatchesOf|The text before the total number of matches in the Search tool."
2746
+ searchMatchesOf="of"
2747
+
2748
+ i18n-searchPreviousMatchTitle="kendo.pdfviewer.searchPreviousMatchTitle|The title of the Search tool previous match button."
2749
+ searchPreviousMatchTitle="Previous match"
2750
+
2751
+ i18n-searchNextMatchTitle="kendo.pdfviewer.searchNextMatchTitle|The title of the Search tool next match button."
2752
+ searchNextMatchTitle="Next match"
2753
+
2754
+ i18n-searchCloseTitle="kendo.pdfviewer.searchCloseTitle|The title of the Search tool close button."
2755
+ searchCloseTitle="Close"
2756
+
2757
+ i18n-searchMatchCaseTitle="kendo.pdfviewer.searchMatchCaseTitle|The title of the Search tool match case button."
2758
+ searchMatchCaseTitle="Match case"
2759
+
2760
+ i18n-zoomInputPlaceholder="kendo.pdfviewer.zoomInputPlaceholder|The text for the zoom tool input placeholder."
2761
+ zoomInputPlaceholder="Choose zoom level"
2762
+
2763
+ i18n-annotationsTitle="kendo.pdfviewer.annotationsTitle|The Annotations tool title and label."
2764
+ annotationsTitle="Annotations"
2765
+
2766
+ i18n-annotationEditorTitle="kendo.pdfviewer.annotationEditorTitle|The annotation editor tool title and label."
2767
+ annotationEditorTitle="Annotation editor"
2768
+
2769
+ i18n-deleteAnnotationTitle="kendo.pdfviewer.deleteAnnotationTitle|The delete annotation tool title and label."
2770
+ deleteAnnotationTitle="Delete annotation"
2771
+
2772
+ i18n-highlightAnnotationTitle="kendo.pdfviewer.highlightAnnotationTitle|The highlight annotation tool title and label."
2773
+ highlightAnnotationTitle="Highlight"
2774
+
2775
+ i18n-freeTextAnnotationTitle="kendo.pdfviewer.freeTextAnnotationTitle|The free text annotation tool title and label."
2776
+ freeTextAnnotationTitle="Free text"
2777
+
2778
+ i18n-closeAnnotationsToolbarTitle="kendo.pdfviewer.closeAnnotationsToolbarTitle|The close annotations toolbar tool title and label."
2779
+ closeAnnotationsToolbarTitle="Close"
2780
+
2781
+ i18n-deleteAnnotationConfirmationDialogTitle="kendo.pdfviewer.deleteAnnotationConfirmationDialogTitle|The delete annotation confirmation dialog title."
2782
+ deleteAnnotationConfirmationDialogTitle="Delete annotation"
2783
+
2784
+ i18n-deleteAnnotationConfirmationDialogContent="kendo.pdfviewer.deleteAnnotationConfirmationDialogContent|The delete annotation confirmation dialog content."
2785
+ deleteAnnotationConfirmationDialogContent="Are you sure you want to delete this annotation?"
2786
+
2787
+ i18n-deleteAnnotationConfirmationDialogConfirmText="kendo.pdfviewer.deleteAnnotationConfirmationDialogConfirmText|The delete annotation confirmation dialog confirm button text."
2788
+ deleteAnnotationConfirmationDialogConfirmText="Delete"
2789
+
2790
+ i18n-deleteAnnotationConfirmationDialogRejectText="kendo.pdfviewer.deleteAnnotationConfirmationDialogRejectText|The delete annotation confirmation dialog reject button text."
2791
+ deleteAnnotationConfirmationDialogRejectText="Cancel"
2792
+
2793
+ i18n-annotationEditorFontSizeTitle="kendo.pdfviewer.annotationEditorFontSizeTitle|The annotation editor font size section title."
2794
+ annotationEditorFontSizeTitle="Font size"
2795
+
2796
+ i18n-annotationEditorColorTitle="kendo.pdfviewer.annotationEditorColorTitle|The annotation editor color section title."
2797
+ annotationEditorColorTitle="Color"
2798
+
2799
+ i18n-canvasLabel="kendo.pdfviewer.canvasLabel|The label for the PDF viewer canvas container."
2800
+ canvasLabel="PDF document">
2748
2801
  </ng-container>
2749
- <div kendoPDFViewerLoader
2750
- *ngIf="loading"
2751
- [settings]="loaderSettings"></div>
2802
+ @if (loading) {
2803
+ <div kendoPDFViewerLoader
2804
+ [settings]="loaderSettings"></div>
2805
+ }
2752
2806
  <div kendoPDFViewerToolbar
2753
- #toolbar
2754
- role="toolbar"
2755
- [attr.aria-controls]="pagesContainerId"
2756
- [tools]="tools"
2757
- [skip]="skip"
2758
- [total]="pdfContext?.pdfPages.length ? pdfContext?.pdfPages.length : 1"
2759
- [pageSize]="1"
2760
- [zoomInDisabled]="zoom >= maxZoom || !pdfContext?.pdfDoc"
2761
- [zoomOutDisabled]="zoom <= minZoom || !pdfContext?.pdfDoc"
2762
- [zoomOptionsData]="zoomOptionsData"
2763
- [zoomLevelChooserValue]="zoomLevel"
2764
- [disabledTools]="!pdfContext?.pdfDoc"
2765
- [isAnnotationsToolbarVisible]="showAnnotationsToolbar"
2766
- [wrapperId]="showAnnotationsToolbar ? annotationsToolbarId : undefined"
2767
- [annotationsToolId]="annotationsToolId"
2768
- [isSelectionEnabled]="enabledSelection"
2769
- (pageChange)="onPageChange($event)"
2770
- (fileSelect)="onFileSelect($event)"
2771
- (fileSelectStart)="loading = true;"
2772
- (fileSelectError)="onFileSelectError($event)"
2773
- (download)="onDownload()"
2774
- (panningEnabled)="onPanningEnabled();"
2775
- (selectionEnabled)="onSelectionEnabled();"
2776
- (zoomIn)="onZoomIn()"
2777
- (zoomOut)="onZoomOut()"
2778
- (zoomLevelChange)="onZoomLevelChange($event)"
2779
- (print)="onPrint()"
2780
- (search)="onSearch()"
2781
- (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2782
- <div *ngIf="showAnnotationsToolbar"
2807
+ #toolbar
2808
+ role="toolbar"
2809
+ [attr.aria-controls]="pagesContainerId"
2810
+ [tools]="tools"
2811
+ [skip]="skip"
2812
+ [total]="pdfContext?.pdfPages.length ? pdfContext?.pdfPages.length : 1"
2813
+ [pageSize]="1"
2814
+ [zoomInDisabled]="zoom >= maxZoom || !pdfContext?.pdfDoc"
2815
+ [zoomOutDisabled]="zoom <= minZoom || !pdfContext?.pdfDoc"
2816
+ [zoomOptionsData]="zoomOptionsData"
2817
+ [zoomLevelChooserValue]="zoomLevel"
2818
+ [disabledTools]="!pdfContext?.pdfDoc"
2819
+ [isAnnotationsToolbarVisible]="showAnnotationsToolbar"
2820
+ [wrapperId]="showAnnotationsToolbar ? annotationsToolbarId : undefined"
2821
+ [annotationsToolId]="annotationsToolId"
2822
+ [isSelectionEnabled]="enabledSelection"
2823
+ (pageChange)="onPageChange($event)"
2824
+ (fileSelect)="onFileSelect($event)"
2825
+ (fileSelectStart)="loading = true;"
2826
+ (fileSelectError)="onFileSelectError($event)"
2827
+ (download)="onDownload()"
2828
+ (panningEnabled)="onPanningEnabled();"
2829
+ (selectionEnabled)="onSelectionEnabled();"
2830
+ (zoomIn)="onZoomIn()"
2831
+ (zoomOut)="onZoomOut()"
2832
+ (zoomLevelChange)="onZoomLevelChange($event)"
2833
+ (print)="onPrint()"
2834
+ (search)="onSearch()"
2835
+ (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2836
+ @if (showAnnotationsToolbar) {
2837
+ <div
2783
2838
  [attr.id]="annotationsToolbarId"
2784
2839
  kendoPDFViewerToolbar
2785
2840
  role="toolbar"
@@ -2787,37 +2842,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2787
2842
  (setAnnotationMode)="onSetAnnotationMode($event)"
2788
2843
  [attr.aria-controls]="pagesContainerId"
2789
2844
  [disabledTools]="!pdfContext?.pdfDoc"
2790
- (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2845
+ (toggleAnnotationsToolbar)="toggleAnnotationsToolbar()"></div>
2846
+ }
2791
2847
  <div
2792
- class="k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto"
2793
- [class.k-enable-text-select]="enabledSelection"
2794
- [class.k-enable-panning]="!enabledSelection"
2795
- [attr.aria-describedby]="activePageId"
2796
- tabindex="0">
2797
- <div
2798
- kendoPDFViewerSearch
2799
- *ngIf="searchActive"
2800
- [currentMatch]="currentMatch"
2801
- [matches]="currentMatches.length"
2802
- class="k-search-panel k-pos-sticky k-top-center"
2803
- (searchChange)="onSearchChange($event)"
2804
- (prevMatch)="onPreviousMatch()"
2805
- (nextMatch)="onNextMatch()"
2806
- (close)="closeSearch(toolbar)"></div>
2848
+ class="k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto"
2849
+ [class.k-enable-text-select]="enabledSelection"
2850
+ [class.k-enable-panning]="!enabledSelection"
2851
+ [attr.aria-describedby]="activePageId"
2852
+ [attr.aria-label]="messageFor('canvasLabel')"
2853
+ role="document"
2854
+ tabindex="0">
2855
+ @if (searchActive) {
2807
2856
  <div
2808
- #pagesContainer
2857
+ kendoPDFViewerSearch
2858
+ [currentMatch]="currentMatch"
2859
+ [matches]="currentMatches.length"
2860
+ class="k-search-panel k-pos-sticky k-top-center"
2861
+ (searchChange)="onSearchChange($event)"
2862
+ (prevMatch)="onPreviousMatch()"
2863
+ (nextMatch)="onNextMatch()"
2864
+ (close)="closeSearch(toolbar)"></div>
2865
+ }
2866
+ <div
2867
+ #pagesContainer
2809
2868
  [kendoEventsOutsideAngular]="{
2810
2869
  wheel: stopPropagation
2811
2870
  }"
2812
- class="k-pdf-viewer-pages"
2813
- [attr.id]="pagesContainerId"></div>
2871
+ class="k-pdf-viewer-pages"
2872
+ [attr.id]="pagesContainerId"></div>
2814
2873
  </div>
2815
-
2874
+
2816
2875
  <div #dialogContainer></div>
2817
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
2818
- `,
2876
+ @if (showLicenseWatermark) {
2877
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
2878
+ }
2879
+ `,
2819
2880
  standalone: true,
2820
- imports: [LocalizedPDFViewerMessagesDirective, NgIf, EventsOutsideAngularDirective, LoaderComponent, ToolbarComponent, PDFViewerSearchComponent, WatermarkOverlayComponent]
2881
+ imports: [LocalizedPDFViewerMessagesDirective, EventsOutsideAngularDirective, LoaderComponent, ToolbarComponent, PDFViewerSearchComponent, WatermarkOverlayComponent]
2821
2882
  }]
2822
2883
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2$1.PopupService }], propDecorators: { hostClass: [{
2823
2884
  type: HostBinding,