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

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