@progress/kendo-angular-pdfviewer 24.2.2 → 25.0.0-develop.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -2,19 +2,972 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- export { PDFViewerModule } from './pdfviewer.module';
6
- export { PDFViewerComponent } from './pdfviewer.component';
7
- export { ToolbarComponent } from './toolbar/toolbar.component';
8
- export { LoaderComponent } from './loader/loader.component';
9
- export { PDFViewerContext } from './models/pdfviewer-context';
10
- export { PDFViewerSearchComponent } from './toolbar/search.component';
11
- export { PDFViewerTool } from './models/toolbar-tool';
12
- export { PDFViewerErrorEvent, PDFViewerLoadEvent, PDFViewerDownloadEvent, PDFViewerPageChangeEvent, PDFViewerZoomChangeEvent } from './models/events';
13
- export { LoaderSettings } from './models/loader-settings';
14
- export { PDFViewerCustomMessagesComponent } from './localization/custom-messages.component';
15
- export { LocalizedPDFViewerMessagesDirective } from './localization/localized-messages.directive';
16
- export { BlankPageTemplateDirective } from './templates/blank-page-template.directive';
17
- export { ToolbarFocusableDirective } from './toolbar/toolbar-focusable.directive';
18
- export { ToolbarInputWrapperComponent } from './toolbar/input-wrapper.component';
19
- export { ToolbarComboBoxDirective } from './toolbar/toolbar-combobox.directive';
20
- export * from './directives';
5
+ import * as i0 from '@angular/core';
6
+ import { ElementRef, Renderer2, EventEmitter, TemplateRef, OnInit, OnDestroy, NgZone, ChangeDetectorRef, SimpleChanges, AfterViewInit } from '@angular/core';
7
+ import { LicenseMessage } from '@progress/kendo-licensing';
8
+ import { LoaderSize, LoaderType, LoaderThemeColor } from '@progress/kendo-angular-indicators';
9
+ import { PDFDocumentProxy, TypedArray } from '@progress/kendo-pdfviewer-common';
10
+ import { PDFPageProxy } from 'pdfjs-dist';
11
+ import { LocalizationService, ComponentMessages } from '@progress/kendo-angular-l10n';
12
+ import { PreventableEvent } from '@progress/kendo-angular-common';
13
+ import { SaveOptions } from '@progress/kendo-file-saver';
14
+ import { PageChangeEvent, PagerType } from '@progress/kendo-angular-pager';
15
+ import { SelectEvent } from '@progress/kendo-angular-upload';
16
+ import { SVGIcon } from '@progress/kendo-svg-icons';
17
+ import { Observable } from 'rxjs';
18
+ import { PopupService } from '@progress/kendo-angular-popup';
19
+ import { ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
20
+
21
+ /**
22
+ * Defines the configuration options for the Loader component displayed while loading a PDF document.
23
+ */
24
+ interface LoaderSettings {
25
+ /**
26
+ * Specifies the size of the Loader.
27
+ */
28
+ size: LoaderSize;
29
+ /**
30
+ * Specifies the Loader animation type.
31
+ */
32
+ type: LoaderType;
33
+ /**
34
+ * Specifies the Loader theme color.
35
+ */
36
+ themeColor: LoaderThemeColor;
37
+ }
38
+
39
+ /**
40
+ * Represents the currently loaded `PDF.js` document, its pages, and their DOM element wrapper.
41
+ */
42
+ interface PDFViewerContext {
43
+ /**
44
+ * Represents the loaded `PDF.js` document.
45
+ */
46
+ pdfDoc: PDFDocumentProxy;
47
+ /**
48
+ * Defines the root DOM element wrapper for the PDF document.
49
+ */
50
+ element: HTMLDivElement;
51
+ /**
52
+ * Defines the loaded `PDF.js` pages.
53
+ */
54
+ pdfPages: PDFPageProxy[];
55
+ /**
56
+ * Represents the current zoom level.
57
+ */
58
+ zoom: number;
59
+ }
60
+
61
+ /**
62
+ * Represents the event data object of the `LoadEvent`.
63
+ */
64
+ interface PDFViewerLoadEvent {
65
+ /**
66
+ * Represents the loaded `PDF.js` document, its pages, and their DOM element wrapper.
67
+ */
68
+ context: PDFViewerContext;
69
+ }
70
+ /**
71
+ * Represents the event data object of the `ErrorEvent`.
72
+ */
73
+ interface PDFViewerErrorEvent {
74
+ /**
75
+ * Provides the original `Error` object.
76
+ */
77
+ error: Error;
78
+ /**
79
+ * Represents the loaded `PDF.js` document, its pages, and their DOM element wrapper.
80
+ */
81
+ context: PDFViewerContext;
82
+ }
83
+ /**
84
+ * Represents the arguments for the PDFViewer `download` event. The event fires when the user clicks the **Download** tool. Canceling the event prevents the download.
85
+ */
86
+ declare class PDFViewerDownloadEvent extends PreventableEvent {
87
+ /**
88
+ * Provides the file name for saving.
89
+ */
90
+ readonly fileName: string;
91
+ /**
92
+ * Provides the save options.
93
+ */
94
+ readonly saveOptions: SaveOptions;
95
+ /**
96
+ * Represents the loaded `PDF.js` document, its pages, and their DOM element wrapper.
97
+ */
98
+ readonly context: PDFViewerContext;
99
+ /**
100
+ * @hidden
101
+ */
102
+ constructor(fileName: string, saveOptions: SaveOptions, context: PDFViewerContext);
103
+ }
104
+ /**
105
+ * Represents the data object of the `PDFViewerPageChangeEvent`
106
+ */
107
+ interface PDFViewerPageChangeEvent {
108
+ /**
109
+ * Provides the previous active page before triggering the event.
110
+ */
111
+ previousPage: number;
112
+ /**
113
+ * Provides the current active page after triggering the event.
114
+ */
115
+ currentPage: number;
116
+ }
117
+ /**
118
+ * Represents the data object of the `PDFViewerZoomChangeEvent`
119
+ */
120
+ interface PDFViewerZoomChangeEvent {
121
+ /**
122
+ * Provides the previous zoom level.
123
+ */
124
+ previousZoomLevel: number;
125
+ /**
126
+ * Provides the current zoom level.
127
+ */
128
+ currentZoomLevel: number;
129
+ }
130
+
131
+ /**
132
+ * @hidden
133
+ */
134
+ interface ZoomLevel {
135
+ id?: number;
136
+ text?: string;
137
+ displayValue?: string;
138
+ type?: string;
139
+ value?: number;
140
+ }
141
+
142
+ /**
143
+ * Defines the possible types of PDFViewer toolbar tools.
144
+ */
145
+ type PDFViewerTool = 'pager' | 'spacer' | 'zoomInOut' | 'zoom' | 'selection' | 'search' | 'open' | 'download' | 'print' | 'annotations';
146
+
147
+ /**
148
+ * @hidden
149
+ */
150
+ declare class ToolbarFocusableDirective {
151
+ private host;
152
+ private navigationService;
153
+ private renderer;
154
+ constructor(host: ElementRef, navigationService: ToolbarNavigationService, renderer: Renderer2);
155
+ ngAfterViewInit(): void;
156
+ ngOnDestroy(): void;
157
+ activate(): void;
158
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarFocusableDirective, never>;
159
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ToolbarFocusableDirective, "[kendoPDFViewerToolbarFocusable]", never, {}, {}, never, never, true, never>;
160
+ }
161
+
162
+ /**
163
+ * @hidden
164
+ */
165
+ declare class ToolbarNavigationService {
166
+ private localizationService;
167
+ focusableTools: ToolbarFocusableDirective[];
168
+ currentFocusIndex: number;
169
+ constructor(localizationService: LocalizationService);
170
+ register(tool: ToolbarFocusableDirective): void;
171
+ unregister(tool: ToolbarFocusableDirective): void;
172
+ isActive(focusable: ToolbarFocusableDirective): boolean;
173
+ setActiveIndex(tool: ToolbarFocusableDirective): void;
174
+ move(direction: 'left' | 'right'): void;
175
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarNavigationService, never>;
176
+ static ɵprov: i0.ɵɵInjectableDeclaration<ToolbarNavigationService>;
177
+ }
178
+
179
+ /**
180
+ * @hidden
181
+ */
182
+ declare const AnnotationEditorTypes: {
183
+ disable: number;
184
+ none: number;
185
+ freeText: number;
186
+ highlight: number;
187
+ };
188
+ /**
189
+ * @hidden
190
+ */
191
+ type AnnotationEditorType = keyof typeof AnnotationEditorTypes;
192
+
193
+ /**
194
+ * @hidden
195
+ */
196
+ declare class ToolbarComponent {
197
+ private localization;
198
+ private navigationService;
199
+ toolbarClasses: boolean;
200
+ get ariaLabel(): string;
201
+ fileSelectEl: ElementRef;
202
+ zoomLevel: ZoomLevel;
203
+ calculatedComboBoxValue: {
204
+ text: string;
205
+ displayValue: any;
206
+ value: any;
207
+ };
208
+ skip: number;
209
+ pageSize: number;
210
+ total: number;
211
+ zoomInDisabled: boolean;
212
+ zoomOutDisabled: boolean;
213
+ disabledTools: boolean;
214
+ zoomLevelChooserValue: ZoomLevel;
215
+ zoomOptionsData: ZoomLevel[];
216
+ pagesContainerId: string;
217
+ tools: PDFViewerTool[];
218
+ type: 'tools' | 'annotations';
219
+ wrapperId: string;
220
+ isAnnotationsToolbarVisible: boolean;
221
+ annotationsToolId: string;
222
+ isSelectionEnabled: boolean;
223
+ fileSelect: EventEmitter<string | ArrayBuffer>;
224
+ fileSelectStart: EventEmitter<any>;
225
+ fileSelectError: EventEmitter<any>;
226
+ download: EventEmitter<any>;
227
+ selectionEnabled: EventEmitter<any>;
228
+ panningEnabled: EventEmitter<any>;
229
+ pageChange: EventEmitter<PageChangeEvent>;
230
+ zoomIn: EventEmitter<any>;
231
+ zoomOut: EventEmitter<any>;
232
+ zoomLevelChange: EventEmitter<ZoomLevel>;
233
+ print: EventEmitter<any>;
234
+ search: EventEmitter<any>;
235
+ toggleAnnotationsToolbar: EventEmitter<any>;
236
+ setAnnotationMode: EventEmitter<AnnotationEditorType>;
237
+ zoomInIcon: SVGIcon;
238
+ zoomOutIcon: SVGIcon;
239
+ handIcon: SVGIcon;
240
+ pointerIcon: SVGIcon;
241
+ searchIcon: SVGIcon;
242
+ folderOpenIcon: SVGIcon;
243
+ downloadIcon: SVGIcon;
244
+ printIcon: SVGIcon;
245
+ editAnnotationsIcon: SVGIcon;
246
+ highlightIcon: SVGIcon;
247
+ freeTextIcon: SVGIcon;
248
+ xIcon: SVGIcon;
249
+ pagerType: PagerType;
250
+ isHighlightMode: boolean;
251
+ isFreeTextMode: boolean;
252
+ constructor(localization: LocalizationService, navigationService: ToolbarNavigationService);
253
+ messageFor(key: string): string;
254
+ onFileSelect(e: any): void;
255
+ onZoomLevelChooserValueChange(zoomLevel: ZoomLevel): void;
256
+ focus(): void;
257
+ onHighlightClick(): void;
258
+ onFreeTextClick(): void;
259
+ valueNormalizer: (text: Observable<string>) => Observable<{
260
+ value: number;
261
+ displayValue: string;
262
+ text: string;
263
+ }>;
264
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
265
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "[kendoPDFViewerToolbar]", never, { "zoomLevel": { "alias": "zoomLevel"; "required": false; }; "calculatedComboBoxValue": { "alias": "calculatedComboBoxValue"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "zoomInDisabled": { "alias": "zoomInDisabled"; "required": false; }; "zoomOutDisabled": { "alias": "zoomOutDisabled"; "required": false; }; "disabledTools": { "alias": "disabledTools"; "required": false; }; "zoomLevelChooserValue": { "alias": "zoomLevelChooserValue"; "required": false; }; "zoomOptionsData": { "alias": "zoomOptionsData"; "required": false; }; "pagesContainerId": { "alias": "pagesContainerId"; "required": false; }; "tools": { "alias": "tools"; "required": false; }; "type": { "alias": "type"; "required": false; }; "wrapperId": { "alias": "wrapperId"; "required": false; }; "isAnnotationsToolbarVisible": { "alias": "isAnnotationsToolbarVisible"; "required": false; }; "annotationsToolId": { "alias": "annotationsToolId"; "required": false; }; "isSelectionEnabled": { "alias": "isSelectionEnabled"; "required": false; }; }, { "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"; }, never, never, true, never>;
266
+ }
267
+
268
+ /**
269
+ * Renders the content of the blank page in the PDFViewer component.
270
+ *
271
+ * To define a blank page template, nest an `<ng-template>` tag with the `kendoPdfViewerBlankPageTemplate` directive inside the `<kendo-pdfviewer>` tag.
272
+ *
273
+ * @example
274
+ * ```html
275
+ * <kendo-pdfviewer>
276
+ * <ng-template kendoPdfViewerBlankPageTemplate>
277
+ * <div class="custom-blank-page">
278
+ * <p>Drop a PDF file here or click to select</p>
279
+ * </div>
280
+ * </ng-template>
281
+ * </kendo-pdfviewer>
282
+ * ```
283
+ */
284
+ declare class BlankPageTemplateDirective {
285
+ templateRef: TemplateRef<any>;
286
+ constructor(templateRef: TemplateRef<any>);
287
+ static ɵfac: i0.ɵɵFactoryDeclaration<BlankPageTemplateDirective, never>;
288
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BlankPageTemplateDirective, "[kendoPdfViewerBlankPageTemplate]", never, {}, {}, never, never, true, never>;
289
+ }
290
+
291
+ /**
292
+ * Represents the [Kendo UI PDFViewer component for Angular](https://www.telerik.com/kendo-angular-ui/components/pdfviewer).
293
+ *
294
+ * @example
295
+ * ```html
296
+ * <kendo-pdfviewer
297
+ * [url]="pdfUrl"
298
+ * [zoom]="1.25"
299
+ * [tools]="['pager', 'zoomInOut', 'zoom', 'download', 'print']">
300
+ * </kendo-pdfviewer>
301
+ * ```
302
+ *
303
+ * @remarks
304
+ * Supported children components are: {@link PDFViewerCustomMessagesComponent}
305
+ */
306
+ declare class PDFViewerComponent implements OnInit, OnDestroy {
307
+ private ngZone;
308
+ private renderer;
309
+ private localizationService;
310
+ private cdr;
311
+ private host;
312
+ private popupService;
313
+ hostClass: boolean;
314
+ direction: string;
315
+ display: string;
316
+ /**
317
+ * Represents the tools collection rendered in the toolbar.
318
+ * @default ['pager', 'spacer', 'zoomInOut', 'zoom', 'selection', 'spacer', 'search', 'open', 'download', 'print', 'annotations' ]
319
+ */
320
+ tools: PDFViewerTool[];
321
+ /**
322
+ * The configuration of the internal Loader component.
323
+ * @default { size: 'large', type: 'pulsing', themeColor: 'primary' }
324
+ */
325
+ loaderSettings: LoaderSettings;
326
+ /**
327
+ * Enables form filling capabilities by rendering widgets such as:
328
+ *
329
+ * - Text Box&mdash;Enables users to input and edit text within designated form fields.
330
+ * - Password Box&mdash;Provides secure entry of sensitive information through password-protected fields.
331
+ * - Check Box&mdash;Lets users toggle between selected and deselected states for predefined options.
332
+ * - Radio Button&mdash;Implements radio button functionality for selecting exclusive options within a group.
333
+ * - Select&mdash;Allows users to select one or multiple options from a list of predefined items.
334
+ * @default false
335
+ */
336
+ renderForms: boolean;
337
+ /**
338
+ * The name of the file that will be saved when the end user clicks the Download tool.
339
+ * @default 'Download'
340
+ */
341
+ saveFileName: string;
342
+ /**
343
+ * Represents the options for saving the file when the end user clicks the Download tool.
344
+ * @default {}
345
+ */
346
+ saveOptions: SaveOptions;
347
+ /**
348
+ * Represents the url of the PDF file.
349
+ */
350
+ url: string | undefined;
351
+ /**
352
+ * Represents the data of the PDF file in [Base64 format](https://developer.mozilla.org/en-US/docs/Glossary/Base64).
353
+ */
354
+ data: string | undefined;
355
+ /**
356
+ * Represents the raw [binary data buffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) of the PDF file.
357
+ */
358
+ arrayBuffer: ArrayBuffer | undefined;
359
+ /**
360
+ * Represents the data of the PDF file in [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) format.
361
+ */
362
+ typedArray: TypedArray | undefined;
363
+ /**
364
+ * Sets the initial zoom level of the PDF document
365
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdfviewer/tools#zooming-tools)).
366
+ *
367
+ * @default 1.25
368
+ */
369
+ set zoom(value: number | 'fitToPage' | 'fitToWidth');
370
+ get zoom(): number;
371
+ /**
372
+ * Represents the step the zoom level will be changed with when using the **ZoomIn** and **ZoomOut** tools.
373
+ * @default 0.25
374
+ */
375
+ zoomRate: number;
376
+ /**
377
+ * Represents minimum allowed zoom value.
378
+ * @default 0.5
379
+ */
380
+ minZoom: number;
381
+ /**
382
+ * Represents maximum allowed zoom value.
383
+ * @default 4
384
+ */
385
+ maxZoom: number;
386
+ /**
387
+ * Sets whether the component loads all PDF document pages at once or loads new pages on demand when needed.
388
+ *
389
+ * @default false
390
+ */
391
+ loadOnDemand: boolean;
392
+ /**
393
+ * Sets the number of pages to load on demand when the `loadOnDemand` property is `true`.
394
+ *
395
+ * @default 1
396
+ */
397
+ loadOnDemandPageSize: number;
398
+ /**
399
+ * Determines whether a confirmation dialog is shown when the user tries to delete an annotation.
400
+ *
401
+ * @default true
402
+ */
403
+ removeAnnotationConfirmation: boolean;
404
+ /**
405
+ * Fires when the user selects a file, from the blank page, to be loaded in the PDFViewer.
406
+ */
407
+ fileSelect: EventEmitter<SelectEvent>;
408
+ /**
409
+ * Fires when the component loads a PDF document successfully.
410
+ */
411
+ load: EventEmitter<PDFViewerLoadEvent>;
412
+ /**
413
+ * Fires when an error occurs while loading or downloading the PDF document.
414
+ */
415
+ error: EventEmitter<PDFViewerErrorEvent>;
416
+ /**
417
+ * Fires when the user clicks the **Download** tool of the loaded PDF document.
418
+ */
419
+ download: EventEmitter<PDFViewerDownloadEvent>;
420
+ /**
421
+ * Fires when the user changes the page of the loaded PDF document.
422
+ */
423
+ pageChange: EventEmitter<PDFViewerPageChangeEvent>;
424
+ /**
425
+ * Fires when the user changes the zoom level of the loaded PDF document.
426
+ */
427
+ zoomLevelChange: EventEmitter<PDFViewerZoomChangeEvent>;
428
+ private pagesContainer;
429
+ private pagesContainerViewContainerRef;
430
+ private dialogContainerViewContainerRef;
431
+ /**
432
+ * The template for the blank page displayed before a PDF document is loaded.
433
+ * Use this to customize the appearance of the blank page.
434
+ */
435
+ blankPageTemplate: BlankPageTemplateDirective;
436
+ /**
437
+ * Returns the current page number of the loaded PDF document.
438
+ */
439
+ get currentPage(): number;
440
+ set pdfContext(doc: PDFViewerContext);
441
+ /**
442
+ * Exposes the loaded `PDF.js` document, its pages, and their DOM element wrapper.
443
+ */
444
+ get pdfContext(): PDFViewerContext;
445
+ /**
446
+ * @hidden
447
+ */
448
+ get activePageId(): string;
449
+ /**
450
+ * @hidden
451
+ */
452
+ get pagesContainerId(): string;
453
+ /**
454
+ * @hidden
455
+ */
456
+ get annotationsToolbarId(): string;
457
+ /**
458
+ * @hidden
459
+ */
460
+ get annotationsToolId(): string;
461
+ /**
462
+ * @hidden
463
+ */
464
+ get pdfId(): string;
465
+ loading: boolean;
466
+ searchActive: boolean;
467
+ matchCase: boolean;
468
+ currentMatches: any[];
469
+ currentMatch: number;
470
+ showAnnotationsToolbar: boolean;
471
+ /**
472
+ * @hidden
473
+ */
474
+ set enabledSelection(value: boolean);
475
+ /**
476
+ * @hidden
477
+ */
478
+ get enabledSelection(): boolean;
479
+ /**
480
+ * @hidden
481
+ */
482
+ get isBlankPage(): boolean;
483
+ /**
484
+ * @hidden
485
+ */
486
+ onSetAnnotationMode(mode: AnnotationEditorType): void;
487
+ /**
488
+ * @hidden
489
+ */
490
+ showLicenseWatermark: boolean;
491
+ /**
492
+ * @hidden
493
+ */
494
+ licenseMessage?: LicenseMessage;
495
+ skip: number;
496
+ zoomOptionsData: ({
497
+ id: number;
498
+ text: string;
499
+ type: string;
500
+ displayValue: string;
501
+ value: number;
502
+ } | {
503
+ id: number;
504
+ text: string;
505
+ displayValue: string;
506
+ value: number;
507
+ type?: undefined;
508
+ })[];
509
+ zoomLevel: ZoomLevel;
510
+ private _pdfContext;
511
+ private _enabledSelection;
512
+ private _zoom;
513
+ private _fitType;
514
+ private _zoomToFit;
515
+ private subs;
516
+ private popupSub;
517
+ private emitLoad;
518
+ private pdfViewerWidget;
519
+ constructor(ngZone: NgZone, renderer: Renderer2, localizationService: LocalizationService, cdr: ChangeDetectorRef, host: ElementRef, popupService: PopupService);
520
+ ngOnInit(): void;
521
+ ngOnDestroy(): void;
522
+ ngOnChanges(changes: SimpleChanges): void;
523
+ /**
524
+ * Scrolls the PDFViewer document to the specified page number, treating 0 as the first page
525
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdfviewer/tools#programmatically-scrolling-the-pdfviewer)).
526
+ */
527
+ scrollToPage(page: number): void;
528
+ /**
529
+ * Unloads the PDF document and displays a blank page.
530
+ */
531
+ unloadDocument(): void;
532
+ /**
533
+ * @hidden
534
+ */
535
+ messageFor(key: string): string;
536
+ /**
537
+ * @hidden
538
+ */
539
+ onFileSelect(e: string | ArrayBuffer): void;
540
+ /**
541
+ * @hidden
542
+ */
543
+ onFileSelectError(e: any): void;
544
+ /**
545
+ * @hidden
546
+ */
547
+ onPageChange(e: PageChangeEvent): void;
548
+ /**
549
+ * @hidden
550
+ */
551
+ onPanningEnabled(): void;
552
+ /**
553
+ * @hidden
554
+ */
555
+ onSelectionEnabled(): void;
556
+ /**
557
+ * @hidden
558
+ */
559
+ onDownload(): void;
560
+ /**
561
+ * @hidden
562
+ */
563
+ stopPropagation: (e: any) => void;
564
+ /**
565
+ * @hidden
566
+ */
567
+ onZoomIn(): void;
568
+ /**
569
+ * @hidden
570
+ */
571
+ onZoomOut(): void;
572
+ /**
573
+ * @hidden
574
+ */
575
+ onZoomLevelChange(zoomLevel: ZoomLevel, emit?: boolean): void;
576
+ /**
577
+ * @hidden
578
+ */
579
+ onSearch(): void;
580
+ /**
581
+ * @hidden
582
+ */
583
+ onPrint(): void;
584
+ /**
585
+ * @hidden
586
+ */
587
+ onSearchChange(e: {
588
+ text: string;
589
+ matchCase: boolean;
590
+ }): void;
591
+ /**
592
+ * @hidden
593
+ */
594
+ closeSearch(toolbar: ToolbarComponent): void;
595
+ /**
596
+ * @hidden
597
+ */
598
+ onNextMatch(): void;
599
+ /**
600
+ * @hidden
601
+ */
602
+ onPreviousMatch(): void;
603
+ /**
604
+ * @hidden
605
+ */
606
+ onSelectFile(e: SelectEvent): void;
607
+ /**
608
+ * @hidden
609
+ */
610
+ toggleAnnotationsToolbar(): void;
611
+ private loadPdf;
612
+ private removePdfPageElements;
613
+ private assignPageIds;
614
+ private setZoomLevel;
615
+ private verifySettings;
616
+ private isSet;
617
+ private scrollHandler;
618
+ private loadHandler;
619
+ private zoomEndHandler;
620
+ private errorHandler;
621
+ private annotationPopup;
622
+ private observer;
623
+ private onAnnotationEditorToolBarShowHandler;
624
+ private onAnnotationEditorToolBarHideHandler;
625
+ private zoneAwareEmitter;
626
+ private classMutationObserver;
627
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFViewerComponent, never>;
628
+ static ɵcmp: i0.ɵɵComponentDeclaration<PDFViewerComponent, "kendo-pdfviewer", ["kendo-pdfviewer"], { "tools": { "alias": "tools"; "required": false; }; "loaderSettings": { "alias": "loaderSettings"; "required": false; }; "renderForms": { "alias": "renderForms"; "required": false; }; "saveFileName": { "alias": "saveFileName"; "required": false; }; "saveOptions": { "alias": "saveOptions"; "required": false; }; "url": { "alias": "url"; "required": false; }; "data": { "alias": "data"; "required": false; }; "arrayBuffer": { "alias": "arrayBuffer"; "required": false; }; "typedArray": { "alias": "typedArray"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "zoomRate": { "alias": "zoomRate"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "loadOnDemand": { "alias": "loadOnDemand"; "required": false; }; "loadOnDemandPageSize": { "alias": "loadOnDemandPageSize"; "required": false; }; "removeAnnotationConfirmation": { "alias": "removeAnnotationConfirmation"; "required": false; }; }, { "fileSelect": "fileSelect"; "load": "load"; "error": "error"; "download": "download"; "pageChange": "pageChange"; "zoomLevelChange": "zoomLevelChange"; }, ["blankPageTemplate"], never, true, never>;
629
+ }
630
+
631
+ /**
632
+ * @hidden
633
+ */
634
+ declare class Messages extends ComponentMessages {
635
+ /**
636
+ * Sets the title and label for the **ZoomIn** tool.
637
+ */
638
+ zoomInTitle: string;
639
+ /**
640
+ * Sets the title and label for the **ZoomOut** tool.
641
+ */
642
+ zoomOutTitle: string;
643
+ /**
644
+ * Sets the title and label for the **Selection** tool.
645
+ */
646
+ selectionTitle: string;
647
+ /**
648
+ * Sets the title and label for the **Panning** tool.
649
+ */
650
+ panningTitle: string;
651
+ /**
652
+ * Sets the title and label for the **Search** tool.
653
+ */
654
+ searchTitle: string;
655
+ /**
656
+ * Sets the title and label for the **Open** tool.
657
+ */
658
+ openTitle: string;
659
+ /**
660
+ * Sets the title and label for the **Download** tool.
661
+ */
662
+ downloadTitle: string;
663
+ /**
664
+ * Sets the title and label for the **Print** tool.
665
+ */
666
+ printTitle: string;
667
+ /**
668
+ * Sets the `aria-label` attribute for the Pager input element.
669
+ */
670
+ pagerInputLabel: string;
671
+ /**
672
+ * Sets the `title` attribute for the Pager input element.
673
+ */
674
+ pagerInputTitle: string;
675
+ /**
676
+ * Sets the label for the Pager **First page** button.
677
+ */
678
+ pagerFirstPage: string;
679
+ /**
680
+ * Sets the label for the Pager **Previous page** button.
681
+ */
682
+ pagerPreviousPage: string;
683
+ /**
684
+ * Sets the label for the Pager **Next page** button.
685
+ */
686
+ pagerNextPage: string;
687
+ /**
688
+ * Sets the label for the Pager **Last page** button.
689
+ */
690
+ pagerLastPage: string;
691
+ /**
692
+ * Sets the text before the Pager total-page number.
693
+ */
694
+ pagerOf: string;
695
+ /**
696
+ * Sets the text before the Pager input.
697
+ */
698
+ pagerPage: string;
699
+ /**
700
+ * Sets the text for the zoom level chooser **Fit to page** option.
701
+ */
702
+ fitToPage: string;
703
+ /**
704
+ * Sets the text for the zoom level chooser **Fit to width** option.
705
+ */
706
+ fitToWidth: string;
707
+ /**
708
+ * Sets the placeholder text for the search input.
709
+ */
710
+ searchInputPlaceholder: string;
711
+ /**
712
+ * Sets the text before the total number of matches in the **Search** tool.
713
+ */
714
+ searchMatchesOf: string;
715
+ /**
716
+ * Sets the title for the **Search** previous match button.
717
+ */
718
+ searchPreviousMatchTitle: string;
719
+ /**
720
+ * Sets the title for the **Search** next match button.
721
+ */
722
+ searchNextMatchTitle: string;
723
+ /**
724
+ * Sets the title for the **Search** close button.
725
+ */
726
+ searchCloseTitle: string;
727
+ /**
728
+ * Sets the title for the **Search** drag handle button.
729
+ */
730
+ searchDragHandleTitle: string;
731
+ /**
732
+ * Sets the title for the **Search** match case button.
733
+ */
734
+ searchMatchCaseTitle: string;
735
+ /**
736
+ * Sets the placeholder text for the zoom tool input.
737
+ */
738
+ zoomInputPlaceholder: string;
739
+ /**
740
+ * Sets the title and label for the **Annotation Editor** tool.
741
+ */
742
+ annotationsTitle: string;
743
+ /**
744
+ * Sets the title and label for the **Annotation Editor** tool.
745
+ */
746
+ annotationEditorTitle: string;
747
+ /**
748
+ * Sets the title and label for the **Delete Annotation** tool.
749
+ */
750
+ deleteAnnotationTitle: string;
751
+ /**
752
+ * Sets the title and label for the **Highligh Annotation** tool.
753
+ */
754
+ highlightAnnotationTitle: string;
755
+ /**
756
+ * Sets the title and label for the **Free Text Annotation** tool.
757
+ */
758
+ freeTextAnnotationTitle: string;
759
+ /**
760
+ * Sets the title and label for the **Close Annotations Toolbar** tool.
761
+ */
762
+ closeAnnotationsToolbarTitle: string;
763
+ /**
764
+ * Sets the title of the **Delete Annotation** confirmation dialog.
765
+ */
766
+ deleteAnnotationConfirmationDialogTitle: string;
767
+ /**
768
+ * Sets the content text of the **Delete Annotation** confirmation dialog.
769
+ */
770
+ deleteAnnotationConfirmationDialogContent: string;
771
+ /**
772
+ * Sets the text of the **Delete Annotation** confirmation dialog confirm action button.
773
+ */
774
+ deleteAnnotationConfirmationDialogConfirmText: string;
775
+ /**
776
+ * Sets the text of the **Delete Annotation** confirmation dialog reject action button.
777
+ */
778
+ deleteAnnotationConfirmationDialogRejectText: string;
779
+ /**
780
+ * Sets the text of the **Font Size** section in the annotation editor dialog.
781
+ */
782
+ annotationEditorFontSizeTitle: string;
783
+ /**
784
+ * Sets the text of the **Color** section in the annotation editor dialog.
785
+ */
786
+ annotationEditorColorTitle: string;
787
+ /**
788
+ * Sets the label for the PDF viewer canvas container.
789
+ */
790
+ canvasLabel: string;
791
+ /**
792
+ * Sets the text for the FileSelect drop zone hint when no file is being dragged.
793
+ */
794
+ blankPageDropFilesHere: string;
795
+ /**
796
+ * Sets the text for the FileSelect external drop zone hint when no file is being dragged.
797
+ */
798
+ blankPageExternalDropFilesHere: string;
799
+ /**
800
+ * Sets the text for the FileSelect button in the blank page drop zone.
801
+ */
802
+ blankPageSelect: string;
803
+ /**
804
+ * Sets the `aria-label` attribute for the toolbar.
805
+ */
806
+ toolbarLabel: string;
807
+ /**
808
+ * Sets the `aria-label` attribute for the inner input of the zoom level ComboBox.
809
+ */
810
+ zoomLevelAriaLabel: string;
811
+ /**
812
+ * Sets the `aria-label` attribute for the inner input of the search TextBox.
813
+ */
814
+ searchAriaLabel: string;
815
+ static ɵfac: i0.ɵɵFactoryDeclaration<Messages, never>;
816
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, "kendo-pdfviewer-messages-base", never, { "zoomInTitle": { "alias": "zoomInTitle"; "required": false; }; "zoomOutTitle": { "alias": "zoomOutTitle"; "required": false; }; "selectionTitle": { "alias": "selectionTitle"; "required": false; }; "panningTitle": { "alias": "panningTitle"; "required": false; }; "searchTitle": { "alias": "searchTitle"; "required": false; }; "openTitle": { "alias": "openTitle"; "required": false; }; "downloadTitle": { "alias": "downloadTitle"; "required": false; }; "printTitle": { "alias": "printTitle"; "required": false; }; "pagerInputLabel": { "alias": "pagerInputLabel"; "required": false; }; "pagerInputTitle": { "alias": "pagerInputTitle"; "required": false; }; "pagerFirstPage": { "alias": "pagerFirstPage"; "required": false; }; "pagerPreviousPage": { "alias": "pagerPreviousPage"; "required": false; }; "pagerNextPage": { "alias": "pagerNextPage"; "required": false; }; "pagerLastPage": { "alias": "pagerLastPage"; "required": false; }; "pagerOf": { "alias": "pagerOf"; "required": false; }; "pagerPage": { "alias": "pagerPage"; "required": false; }; "fitToPage": { "alias": "fitToPage"; "required": false; }; "fitToWidth": { "alias": "fitToWidth"; "required": false; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; }; "searchMatchesOf": { "alias": "searchMatchesOf"; "required": false; }; "searchPreviousMatchTitle": { "alias": "searchPreviousMatchTitle"; "required": false; }; "searchNextMatchTitle": { "alias": "searchNextMatchTitle"; "required": false; }; "searchCloseTitle": { "alias": "searchCloseTitle"; "required": false; }; "searchDragHandleTitle": { "alias": "searchDragHandleTitle"; "required": false; }; "searchMatchCaseTitle": { "alias": "searchMatchCaseTitle"; "required": false; }; "zoomInputPlaceholder": { "alias": "zoomInputPlaceholder"; "required": false; }; "annotationsTitle": { "alias": "annotationsTitle"; "required": false; }; "annotationEditorTitle": { "alias": "annotationEditorTitle"; "required": false; }; "deleteAnnotationTitle": { "alias": "deleteAnnotationTitle"; "required": false; }; "highlightAnnotationTitle": { "alias": "highlightAnnotationTitle"; "required": false; }; "freeTextAnnotationTitle": { "alias": "freeTextAnnotationTitle"; "required": false; }; "closeAnnotationsToolbarTitle": { "alias": "closeAnnotationsToolbarTitle"; "required": false; }; "deleteAnnotationConfirmationDialogTitle": { "alias": "deleteAnnotationConfirmationDialogTitle"; "required": false; }; "deleteAnnotationConfirmationDialogContent": { "alias": "deleteAnnotationConfirmationDialogContent"; "required": false; }; "deleteAnnotationConfirmationDialogConfirmText": { "alias": "deleteAnnotationConfirmationDialogConfirmText"; "required": false; }; "deleteAnnotationConfirmationDialogRejectText": { "alias": "deleteAnnotationConfirmationDialogRejectText"; "required": false; }; "annotationEditorFontSizeTitle": { "alias": "annotationEditorFontSizeTitle"; "required": false; }; "annotationEditorColorTitle": { "alias": "annotationEditorColorTitle"; "required": false; }; "canvasLabel": { "alias": "canvasLabel"; "required": false; }; "blankPageDropFilesHere": { "alias": "blankPageDropFilesHere"; "required": false; }; "blankPageExternalDropFilesHere": { "alias": "blankPageExternalDropFilesHere"; "required": false; }; "blankPageSelect": { "alias": "blankPageSelect"; "required": false; }; "toolbarLabel": { "alias": "toolbarLabel"; "required": false; }; "zoomLevelAriaLabel": { "alias": "zoomLevelAriaLabel"; "required": false; }; "searchAriaLabel": { "alias": "searchAriaLabel"; "required": false; }; }, {}, never, never, true, never>;
817
+ }
818
+
819
+ /**
820
+ * Represents the custom messages component of the PDFViewer.
821
+ *
822
+ * Use this component to override default messages for the PDFViewer.
823
+ *
824
+ * @example
825
+ * ```html
826
+ * <kendo-pdfviewer [url]="pdfUrl">
827
+ * <kendo-pdfviewer-messages
828
+ * downloadTitle="Download PDF"
829
+ * printTitle="Print PDF">
830
+ * </kendo-pdfviewer-messages>
831
+ * </kendo-pdfviewer>
832
+ * ```
833
+ */
834
+ declare class PDFViewerCustomMessagesComponent extends Messages {
835
+ protected service: LocalizationService;
836
+ constructor(service: LocalizationService);
837
+ protected get override(): boolean;
838
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFViewerCustomMessagesComponent, never>;
839
+ static ɵcmp: i0.ɵɵComponentDeclaration<PDFViewerCustomMessagesComponent, "kendo-pdfviewer-messages", never, {}, {}, never, never, true, never>;
840
+ }
841
+
842
+ /**
843
+ * Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi']) definition for the PDFViewer component.
844
+ *
845
+ * @example
846
+ * ```typescript
847
+ * import { NgModule } from '@angular/core';
848
+ * import { BrowserModule } from '@angular/platform-browser';
849
+ * import { PDFViewerModule } from '@progress/kendo-angular-pdf-viewer';
850
+ * import { AppComponent } from './app.component';
851
+ *
852
+ * @NgModule({
853
+ * declarations: [AppComponent],
854
+ * imports: [BrowserModule, PDFViewerModule],
855
+ * bootstrap: [AppComponent]
856
+ * })
857
+ * export class AppModule {}
858
+ * ```
859
+ */
860
+ declare class PDFViewerModule {
861
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFViewerModule, never>;
862
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PDFViewerModule, never, [typeof PDFViewerComponent, typeof PDFViewerCustomMessagesComponent, typeof BlankPageTemplateDirective], [typeof PDFViewerComponent, typeof PDFViewerCustomMessagesComponent, typeof BlankPageTemplateDirective]>;
863
+ static ɵinj: i0.ɵɵInjectorDeclaration<PDFViewerModule>;
864
+ }
865
+
866
+ /**
867
+ * @hidden
868
+ */
869
+ declare class LoaderComponent {
870
+ settings: LoaderSettings;
871
+ loaderContainerClass: boolean;
872
+ loaderContainerSizingClass: boolean;
873
+ loaderPositionClass: boolean;
874
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
875
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "[kendoPDFViewerLoader]", never, { "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, true, never>;
876
+ }
877
+
878
+ /**
879
+ * @hidden
880
+ */
881
+ declare class PDFViewerSearchComponent implements AfterViewInit {
882
+ private localization;
883
+ private textbox;
884
+ private closeButton;
885
+ ariaRole: string;
886
+ get ariaLabel(): string;
887
+ onEscape(): void;
888
+ matches: number;
889
+ currentMatch: number;
890
+ searchChange: EventEmitter<{
891
+ text: string;
892
+ matchCase: boolean;
893
+ }>;
894
+ prevMatch: EventEmitter<any>;
895
+ nextMatch: EventEmitter<any>;
896
+ close: EventEmitter<any>;
897
+ convertLowercaseIcon: SVGIcon;
898
+ arrowUpIcon: SVGIcon;
899
+ arrowDownIcon: SVGIcon;
900
+ handleDragIcon: SVGIcon;
901
+ xIcon: SVGIcon;
902
+ value: string;
903
+ matchCase: boolean;
904
+ constructor(localization: LocalizationService);
905
+ ngAfterViewInit(): void;
906
+ messageFor(key: string): string;
907
+ onShiftTab(e: Event): void;
908
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFViewerSearchComponent, never>;
909
+ static ɵcmp: i0.ɵɵComponentDeclaration<PDFViewerSearchComponent, "[kendoPDFViewerSearch]", never, { "matches": { "alias": "matches"; "required": false; }; "currentMatch": { "alias": "currentMatch"; "required": false; }; }, { "searchChange": "searchChange"; "prevMatch": "prevMatch"; "nextMatch": "nextMatch"; "close": "close"; }, never, never, true, never>;
910
+ }
911
+
912
+ /**
913
+ * @hidden
914
+ */
915
+ declare class LocalizedPDFViewerMessagesDirective extends Messages {
916
+ protected service: LocalizationService;
917
+ constructor(service: LocalizationService);
918
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedPDFViewerMessagesDirective, never>;
919
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedPDFViewerMessagesDirective, "[kendoPDFViewerLocalizedMessages]", never, {}, {}, never, never, true, never>;
920
+ }
921
+
922
+ /**
923
+ * @hidden
924
+ */
925
+ declare class ToolbarInputWrapperComponent {
926
+ private host;
927
+ private renderer;
928
+ toolbarTool: any;
929
+ hostClass: boolean;
930
+ private subs;
931
+ constructor(host: ElementRef, renderer: Renderer2);
932
+ ngAfterViewInit(): void;
933
+ ngOnDestroy(): void;
934
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarInputWrapperComponent, never>;
935
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarInputWrapperComponent, "kendo-toolbar-input-wrapper", never, { "toolbarTool": { "alias": "toolbarTool"; "required": false; }; }, {}, never, ["*"], true, never>;
936
+ }
937
+
938
+ /**
939
+ * @hidden
940
+ */
941
+ declare class ToolbarComboBoxDirective {
942
+ private combo;
943
+ private hostEl;
944
+ private inputElement;
945
+ constructor(combo: ComboBoxComponent, hostEl: ElementRef);
946
+ ngAfterViewInit(): void;
947
+ ngOnDestroy(): void;
948
+ private keydownHandler;
949
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComboBoxDirective, never>;
950
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ToolbarComboBoxDirective, "[kendoPDFViewerComboBox]", never, {}, {}, never, never, true, never>;
951
+ }
952
+
953
+ /**
954
+ * Use the `KENDO_PDFVIEWER` utility array to add all `@progress/kendo-angular-pdf-viewer`-related components and directives to a standalone Angular component.
955
+ *
956
+ * @example
957
+ * ```typescript
958
+ * import { Component } from '@angular/core';
959
+ * import { KENDO_PDFVIEWER } from "@progress/kendo-angular-pdf-viewer";
960
+ *
961
+ * @Component({
962
+ * standalone: true,
963
+ * imports: [KENDO_PDFVIEWER],
964
+ * selector: 'my-app',
965
+ * template: `<kendo-pdf-viewer [url]="pdfUrl"></kendo-pdf-viewer>`
966
+ * })
967
+ * export class AppComponent {}
968
+ * ```
969
+ */
970
+ declare const KENDO_PDFVIEWER: readonly [typeof PDFViewerComponent, typeof PDFViewerCustomMessagesComponent, typeof BlankPageTemplateDirective];
971
+
972
+ export { BlankPageTemplateDirective, KENDO_PDFVIEWER, LoaderComponent, LocalizedPDFViewerMessagesDirective, PDFViewerComponent, PDFViewerCustomMessagesComponent, PDFViewerDownloadEvent, PDFViewerModule, PDFViewerSearchComponent, ToolbarComboBoxDirective, ToolbarComponent, ToolbarFocusableDirective, ToolbarInputWrapperComponent };
973
+ export type { LoaderSettings, PDFViewerContext, PDFViewerErrorEvent, PDFViewerLoadEvent, PDFViewerPageChangeEvent, PDFViewerTool, PDFViewerZoomChangeEvent };