@ngstarter-ui/components 21.0.33 → 21.0.34

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ngstarter-ui/components",
3
3
  "description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
4
- "version": "21.0.33",
4
+ "version": "21.0.34",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"
@@ -1,17 +1,38 @@
1
- import * as _angular_core from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
2
  import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
3
3
  import { SafeHtml } from '@angular/platform-browser';
4
+ import { getIcon } from 'iconify-icon';
4
5
 
5
6
  declare class Icon implements OnInit, OnChanges {
6
7
  private _sanitizer;
7
- protected _iconHtml: _angular_core.WritableSignal<SafeHtml | null>;
8
- name: _angular_core.InputSignal<string>;
8
+ private _iconRegistry;
9
+ protected _iconHtml: i0.WritableSignal<SafeHtml | null>;
10
+ name: i0.InputSignal<string>;
9
11
  private loaded;
12
+ private loadId;
10
13
  ngOnInit(): Promise<void>;
11
14
  ngOnChanges(changes: SimpleChanges): Promise<void>;
12
15
  private _loadIcon;
13
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Icon, never>;
14
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Icon, "ngs-icon", ["ngsIcon"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<Icon, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<Icon, "ngs-icon", ["ngsIcon"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
15
18
  }
16
19
 
17
- export { Icon };
20
+ type IconData = NonNullable<ReturnType<typeof getIcon>>;
21
+ declare class IconRegistry {
22
+ private readonly _cache;
23
+ private readonly _pending;
24
+ private readonly _queue;
25
+ private _flushQueued;
26
+ get(name: string): Promise<IconData>;
27
+ clear(): void;
28
+ private _scheduleFlush;
29
+ private _flush;
30
+ private _resolve;
31
+ private _reject;
32
+ private _serializeName;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconRegistry, never>;
34
+ static ɵprov: i0.ɵɵInjectableDeclaration<IconRegistry>;
35
+ }
36
+
37
+ export { Icon, IconRegistry };
38
+ export type { IconData };
@@ -1,8 +1,31 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { Observable } from 'rxjs';
2
4
  import { PluginRegistry } from '@embedpdf/core';
3
5
  import { PdfEngine } from '@embedpdf/models';
4
6
 
5
7
  type PdfViewerSource = string | ArrayBuffer | Uint8Array | Blob | null | undefined;
8
+ interface PdfViewerAnnotationDataSourceContext {
9
+ source: PdfViewerSource;
10
+ documentName: string | null;
11
+ pageCount: number;
12
+ }
13
+ interface PdfViewerAnnotationDataSourceParams extends PdfViewerAnnotationDataSourceContext {
14
+ successCallback(annotations: PdfViewerAnnotationView[]): void;
15
+ failCallback(error?: unknown): void;
16
+ }
17
+ interface PdfViewerServerAnnotationDataSource {
18
+ getAnnotations(params: PdfViewerAnnotationDataSourceParams): void;
19
+ }
20
+ type PdfViewerAnnotationDataSourceResult = PdfViewerAnnotationView[] | Promise<PdfViewerAnnotationView[]> | Observable<PdfViewerAnnotationView[]>;
21
+ type PdfViewerAnnotationDataSource = PdfViewerAnnotationDataSourceResult | PdfViewerServerAnnotationDataSource | ((params: PdfViewerAnnotationDataSourceContext) => PdfViewerAnnotationDataSourceResult);
22
+ type PdfViewerAnnotationWhen = string | ((annotation: PdfViewerAnnotationView, index: number) => boolean);
23
+ interface PdfViewerAnnotationTemplateContext {
24
+ $implicit: PdfViewerAnnotationView;
25
+ annotation: PdfViewerAnnotationView;
26
+ index: number;
27
+ goToPage(pageNumber: number): void;
28
+ }
6
29
  interface PdfViewerLoadedEvent {
7
30
  pageCount: number;
8
31
  }
@@ -28,6 +51,28 @@ interface PdfViewerThumbnailView {
28
51
  width: number;
29
52
  height: number;
30
53
  }
54
+ interface PdfViewerAnnotationView {
55
+ id?: string | number;
56
+ type?: string;
57
+ label?: string;
58
+ author: string;
59
+ time?: string;
60
+ avatarUrl?: string;
61
+ avatarLabel?: string;
62
+ text: string;
63
+ pageNumber: number;
64
+ replyLabel?: string;
65
+ [key: string]: unknown;
66
+ }
67
+ interface PdfViewerSearchResultView {
68
+ id?: string | number;
69
+ pageNumber: number;
70
+ excerpt: string;
71
+ }
72
+ interface PdfViewerSearchOptions {
73
+ caseSensitive: boolean;
74
+ wholeWord: boolean;
75
+ }
31
76
  interface PdfViewerTextRectView {
32
77
  text: string;
33
78
  left: number;
@@ -49,12 +94,26 @@ interface PdfViewerSelectionRectView extends PdfViewerTextRectView {
49
94
  pageNumber: number;
50
95
  }
51
96
 
97
+ declare class PdfViewerAnnotationDef {
98
+ template: TemplateRef<PdfViewerAnnotationTemplateContext>;
99
+ readonly annotationWhen: _angular_core.InputSignal<PdfViewerAnnotationWhen | undefined>;
100
+ readonly defWhen: _angular_core.InputSignal<PdfViewerAnnotationWhen | undefined>;
101
+ readonly when: _angular_core.InputSignal<PdfViewerAnnotationWhen | undefined>;
102
+ constructor(template: TemplateRef<PdfViewerAnnotationTemplateContext>);
103
+ matches(annotation: PdfViewerAnnotationView, index: number, typeProperty: string): boolean;
104
+ hasWhen(): boolean;
105
+ private whenValue;
106
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfViewerAnnotationDef, never>;
107
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PdfViewerAnnotationDef, "[ngsPdfViewerAnnotationDef], [ngsPdfViewerAnnotation]", never, { "annotationWhen": { "alias": "ngsPdfViewerAnnotation"; "required": false; "isSignal": true; }; "defWhen": { "alias": "ngsPdfViewerAnnotationDef"; "required": false; "isSignal": true; }; "when": { "alias": "ngsPdfViewerAnnotationWhen"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
108
+ }
109
+
52
110
  interface PdfViewerPageListItem {
53
111
  pageNumber: number;
54
112
  thumbnail: PdfViewerThumbnailView | null;
55
113
  }
56
114
  type PdfViewerSpreadMode = 'single' | 'two-odd' | 'two-even';
57
115
  type PdfViewerScrollLayout = 'vertical' | 'horizontal';
116
+ type PdfViewerZoomMode = 'custom' | 'fit-page' | 'fit-width';
58
117
  declare class PdfViewer {
59
118
  private readonly textSelectionHorizontalPadding;
60
119
  private readonly textSelectionLineHeight;
@@ -66,16 +125,26 @@ declare class PdfViewer {
66
125
  private readonly isBrowser;
67
126
  private readonly viewerBody;
68
127
  private readonly pageList;
128
+ protected readonly annotationDefs: _angular_core.Signal<readonly PdfViewerAnnotationDef[]>;
69
129
  src: _angular_core.InputSignal<PdfViewerSource>;
130
+ documentName: _angular_core.InputSignal<string | null>;
70
131
  wasmUrl: _angular_core.InputSignal<string>;
71
132
  page: _angular_core.InputSignalWithTransform<number, unknown>;
72
133
  scale: _angular_core.InputSignalWithTransform<number, unknown>;
73
134
  minScale: _angular_core.InputSignalWithTransform<number, unknown>;
74
135
  maxScale: _angular_core.InputSignalWithTransform<number, unknown>;
75
136
  zoomStep: _angular_core.InputSignalWithTransform<number, unknown>;
137
+ maxRenderPixels: _angular_core.InputSignalWithTransform<number, unknown>;
138
+ maxRenderDimension: _angular_core.InputSignalWithTransform<number, unknown>;
76
139
  renderAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
77
140
  showToolbar: _angular_core.InputSignalWithTransform<boolean, unknown>;
78
141
  showPageList: _angular_core.InputSignalWithTransform<boolean, unknown>;
142
+ showSearchPanel: _angular_core.InputSignalWithTransform<boolean, unknown>;
143
+ showAnnotationsPanel: _angular_core.InputSignalWithTransform<boolean, unknown>;
144
+ annotations: _angular_core.InputSignal<PdfViewerAnnotationView[]>;
145
+ annotationsDataSource: _angular_core.InputSignal<PdfViewerAnnotationDataSource | null>;
146
+ annotationTypeProperty: _angular_core.InputSignal<string>;
147
+ searchQuery: _angular_core.InputSignal<string>;
79
148
  withAnnotations: _angular_core.InputSignalWithTransform<boolean, unknown>;
80
149
  withForms: _angular_core.InputSignalWithTransform<boolean, unknown>;
81
150
  loaded: _angular_core.OutputEmitterRef<PdfViewerLoadedEvent>;
@@ -90,11 +159,19 @@ declare class PdfViewer {
90
159
  protected readonly activePage: _angular_core.WritableSignal<number>;
91
160
  protected readonly zoom: _angular_core.WritableSignal<number>;
92
161
  protected readonly pageListVisible: _angular_core.WritableSignal<boolean>;
162
+ protected readonly searchPanelVisible: _angular_core.WritableSignal<boolean>;
163
+ protected readonly annotationsPanelVisible: _angular_core.WritableSignal<boolean>;
93
164
  protected readonly spreadMode: _angular_core.WritableSignal<PdfViewerSpreadMode>;
94
165
  protected readonly scrollLayout: _angular_core.WritableSignal<PdfViewerScrollLayout>;
166
+ protected readonly zoomMode: _angular_core.WritableSignal<PdfViewerZoomMode>;
167
+ protected readonly annotationItems: _angular_core.WritableSignal<PdfViewerAnnotationView[]>;
168
+ protected readonly activeSearchQuery: _angular_core.WritableSignal<string>;
169
+ protected readonly pdfSearchResults: _angular_core.WritableSignal<PdfViewerSearchResultView[]>;
95
170
  protected readonly selectionRects: _angular_core.WritableSignal<PdfViewerSelectionRectView[]>;
96
171
  protected readonly hasDocument: _angular_core.Signal<boolean>;
97
172
  protected readonly isPageListVisible: _angular_core.Signal<boolean>;
173
+ protected readonly isSearchPanelVisible: _angular_core.Signal<boolean>;
174
+ protected readonly isAnnotationsPanelVisible: _angular_core.Signal<boolean>;
98
175
  protected readonly thumbnailPageMap: _angular_core.Signal<Map<number, PdfViewerThumbnailView>>;
99
176
  protected readonly pageItems: _angular_core.Signal<PdfViewerPageListItem[]>;
100
177
  protected readonly canGoPrevious: _angular_core.Signal<boolean>;
@@ -102,6 +179,8 @@ declare class PdfViewer {
102
179
  protected readonly canZoomOut: _angular_core.Signal<boolean>;
103
180
  protected readonly canZoomIn: _angular_core.Signal<boolean>;
104
181
  protected readonly zoomLabel: _angular_core.Signal<string>;
182
+ protected readonly displayDocumentName: _angular_core.Signal<string>;
183
+ protected readonly zoomPresets: number[];
105
184
  private engine;
106
185
  private pdfDocument;
107
186
  private registry;
@@ -109,17 +188,23 @@ declare class PdfViewer {
109
188
  private visiblePageRatios;
110
189
  private loadToken;
111
190
  private renderToken;
191
+ private searchToken;
112
192
  private scrollSyncFrame;
113
193
  private programmaticScrollTargetPage;
114
194
  private programmaticScrollTimeout;
115
195
  private pageObserverFrame;
116
196
  private pageObserverTimeout;
117
197
  private visiblePageRenderFrame;
198
+ private visiblePageRenderTimeout;
118
199
  private pageObserverRefreshAttempts;
119
200
  private selectionStart;
120
201
  private isViewInitialized;
202
+ private annotationDataSourceToken;
203
+ private annotationDataSourceCleanup;
204
+ private lastZoomChangeTime;
121
205
  private readonly programmaticScrollMinDuration;
122
206
  private readonly programmaticScrollMaxDuration;
207
+ private readonly qualityRenderZoomIdleDelay;
123
208
  constructor();
124
209
  ngAfterViewInit(): void;
125
210
  previousPage(): void;
@@ -127,6 +212,18 @@ declare class PdfViewer {
127
212
  zoomIn(): void;
128
213
  zoomOut(): void;
129
214
  togglePageList(): void;
215
+ protected toggleSearchPanel(): void;
216
+ protected toggleAnnotationsPanel(): void;
217
+ protected closeAsidePanel(): void;
218
+ protected updatePdfSearch(event: {
219
+ query: string;
220
+ options: PdfViewerSearchOptions;
221
+ }): Promise<void>;
222
+ protected selectSearchResult(result: PdfViewerSearchResultView): void;
223
+ protected setZoomPreset(scale: number): void;
224
+ protected isZoomPresetSelected(scale: number): boolean;
225
+ protected fitToPage(): void;
226
+ protected fitToWidth(): void;
130
227
  protected setSpreadMode(mode: PdfViewerSpreadMode): void;
131
228
  protected setScrollLayout(layout: PdfViewerScrollLayout): void;
132
229
  protected rotateClockwise(): void;
@@ -134,16 +231,24 @@ declare class PdfViewer {
134
231
  protected toggleFullscreen(): void;
135
232
  setPage(pageNumber: number): void;
136
233
  protected onViewerScroll(): void;
234
+ protected onViewerWheel(event: WheelEvent): void;
137
235
  protected selectionRectsForPage(pageNumber: number): PdfViewerSelectionRectView[];
138
- protected isPageImageFresh(page: PdfViewerPageView): boolean;
139
236
  protected startTextSelection(event: PointerEvent | MouseEvent, page: PdfViewerPageView): void;
140
237
  protected updateTextSelection(event: PointerEvent | MouseEvent, page: PdfViewerPageView): void;
141
238
  protected finishTextSelection(event: PointerEvent | MouseEvent, page: PdfViewerPageView): void;
239
+ private loadAnnotationsDataSource;
240
+ private applyAnnotationDataSourceResult;
241
+ private setAnnotationItems;
242
+ private isServerAnnotationDataSource;
243
+ private isPromiseLike;
142
244
  protected cancelTextSelection(): void;
245
+ private searchPdf;
246
+ private toSearchResultView;
143
247
  private loadDocument;
144
248
  private initializePageShells;
145
249
  private getPageNumbersToDisplay;
146
250
  private scheduleVisiblePagesRender;
251
+ private queueVisiblePageRenderFrame;
147
252
  private scheduleCurrentVisiblePagesRender;
148
253
  private renderVisiblePages;
149
254
  private setZoom;
@@ -164,25 +269,35 @@ declare class PdfViewer {
164
269
  private revokeRenderedPages;
165
270
  private revokeThumbnailPages;
166
271
  private revokeObjectUrl;
272
+ private getSourceName;
167
273
  private sanitizePage;
168
274
  private sanitizeScale;
169
275
  private roundZoom;
276
+ private floorFitZoom;
170
277
  private clamp;
171
278
  private roundCssPixel;
279
+ private parseCssPixel;
172
280
  private getDevicePixelRatio;
281
+ private getPageRasterRenderOptions;
173
282
  private createDocumentId;
174
283
  private isRenderCurrent;
175
284
  private cancelScrollSyncFrame;
176
285
  private cancelPageObserverFrame;
177
286
  private cancelVisiblePageRenderFrame;
287
+ private getCurrentTime;
288
+ private getQualityRenderDelay;
289
+ private getZoomAnchor;
290
+ private restoreZoomAnchor;
178
291
  private disconnectPageObserver;
179
292
  private schedulePageObserverRefresh;
180
293
  private scheduleNextPageObserverRefresh;
181
294
  private setupPageIntersectionObserver;
295
+ private getFitScale;
182
296
  private getScaleBounds;
183
297
  private sanitizeZoomStep;
184
298
  private sanitizePositiveNumber;
185
299
  private getPageDisplaySize;
300
+ private getPageBaseSize;
186
301
  private scrollToPage;
187
302
  private syncActivePageFromViewport;
188
303
  private syncActivePageFromIntersections;
@@ -190,6 +305,7 @@ declare class PdfViewer {
190
305
  private findActivePageInViewport;
191
306
  private scrollPageListToPage;
192
307
  private getPageScrollTop;
308
+ private getPageScrollLeft;
193
309
  private getElementScrollTop;
194
310
  private getProgrammaticScrollTimeout;
195
311
  private startProgrammaticScrollLock;
@@ -198,7 +314,28 @@ declare class PdfViewer {
198
314
  private completeProgrammaticScroll;
199
315
  private clearProgrammaticScrollLock;
200
316
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfViewer, never>;
201
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfViewer, "ngs-pdf-viewer", ["ngsPdfViewer"], { "src": { "alias": "src"; "required": false; "isSignal": true; }; "wasmUrl": { "alias": "wasmUrl"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "minScale": { "alias": "minScale"; "required": false; "isSignal": true; }; "maxScale": { "alias": "maxScale"; "required": false; "isSignal": true; }; "zoomStep": { "alias": "zoomStep"; "required": false; "isSignal": true; }; "renderAll": { "alias": "renderAll"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showPageList": { "alias": "showPageList"; "required": false; "isSignal": true; }; "withAnnotations": { "alias": "withAnnotations"; "required": false; "isSignal": true; }; "withForms": { "alias": "withForms"; "required": false; "isSignal": true; }; }, { "loaded": "loaded"; "pageChanged": "pageChanged"; "pageRendered": "pageRendered"; "error": "error"; }, never, never, true, never>;
317
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfViewer, "ngs-pdf-viewer", ["ngsPdfViewer"], { "src": { "alias": "src"; "required": false; "isSignal": true; }; "documentName": { "alias": "documentName"; "required": false; "isSignal": true; }; "wasmUrl": { "alias": "wasmUrl"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "minScale": { "alias": "minScale"; "required": false; "isSignal": true; }; "maxScale": { "alias": "maxScale"; "required": false; "isSignal": true; }; "zoomStep": { "alias": "zoomStep"; "required": false; "isSignal": true; }; "maxRenderPixels": { "alias": "maxRenderPixels"; "required": false; "isSignal": true; }; "maxRenderDimension": { "alias": "maxRenderDimension"; "required": false; "isSignal": true; }; "renderAll": { "alias": "renderAll"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showPageList": { "alias": "showPageList"; "required": false; "isSignal": true; }; "showSearchPanel": { "alias": "showSearchPanel"; "required": false; "isSignal": true; }; "showAnnotationsPanel": { "alias": "showAnnotationsPanel"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "annotationsDataSource": { "alias": "annotationsDataSource"; "required": false; "isSignal": true; }; "annotationTypeProperty": { "alias": "annotationTypeProperty"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "withAnnotations": { "alias": "withAnnotations"; "required": false; "isSignal": true; }; "withForms": { "alias": "withForms"; "required": false; "isSignal": true; }; }, { "loaded": "loaded"; "pageChanged": "pageChanged"; "pageRendered": "pageRendered"; "error": "error"; }, ["annotationDefs"], never, true, never>;
318
+ }
319
+
320
+ declare class PdfViewerAnnotations {
321
+ annotations: _angular_core.InputSignal<PdfViewerAnnotationView[]>;
322
+ annotationDefs: _angular_core.InputSignal<readonly PdfViewerAnnotationDef[]>;
323
+ annotationTypeProperty: _angular_core.InputSignal<string>;
324
+ closed: _angular_core.OutputEmitterRef<void>;
325
+ pageSelected: _angular_core.OutputEmitterRef<number>;
326
+ protected readonly filterQuery: _angular_core.WritableSignal<string>;
327
+ protected readonly filteredAnnotations: _angular_core.Signal<PdfViewerAnnotationView[]>;
328
+ protected setFilterQuery(event: Event): void;
329
+ protected clearFilterQuery(): void;
330
+ protected getAnnotationTemplate(annotation: PdfViewerAnnotationView, index: number): TemplateRef<PdfViewerAnnotationTemplateContext> | null;
331
+ protected getAnnotationTemplateContext(annotation: PdfViewerAnnotationView, index: number): PdfViewerAnnotationTemplateContext;
332
+ protected getAnnotationTypeLabel(annotation: PdfViewerAnnotationView): string;
333
+ protected getAvatarLabel(annotation: PdfViewerAnnotationView): string;
334
+ protected getAvatarImage(annotation: PdfViewerAnnotationView): string;
335
+ protected getReplyLabel(annotation: PdfViewerAnnotationView): string;
336
+ private annotationMatchesFilter;
337
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfViewerAnnotations, never>;
338
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfViewerAnnotations, "ngs-pdf-viewer-annotations", never, { "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "annotationDefs": { "alias": "annotationDefs"; "required": false; "isSignal": true; }; "annotationTypeProperty": { "alias": "annotationTypeProperty"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "pageSelected": "pageSelected"; }, never, never, true, never>;
202
339
  }
203
340
 
204
341
  declare class PdfViewerEngineService {
@@ -210,5 +347,47 @@ declare class PdfViewerEngineService {
210
347
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PdfViewerEngineService>;
211
348
  }
212
349
 
213
- export { PdfViewer, PdfViewerEngineService };
214
- export type { PdfViewerLoadedEvent, PdfViewerPageRenderedEvent, PdfViewerPageView, PdfViewerSelectionRectView, PdfViewerSource, PdfViewerTextGlyphView, PdfViewerTextRectView, PdfViewerThumbnailView };
350
+ interface PdfViewerSearchResultPart {
351
+ text: string;
352
+ highlight: boolean;
353
+ }
354
+ interface PdfViewerSearchResultGroup {
355
+ pageNumber: number;
356
+ results: Array<{
357
+ result: PdfViewerSearchResultView;
358
+ index: number;
359
+ }>;
360
+ }
361
+ declare class PdfViewerSearch {
362
+ results: _angular_core.InputSignal<PdfViewerSearchResultView[]>;
363
+ query: _angular_core.InputSignal<string>;
364
+ closed: _angular_core.OutputEmitterRef<void>;
365
+ resultSelected: _angular_core.OutputEmitterRef<PdfViewerSearchResultView>;
366
+ searchChanged: _angular_core.OutputEmitterRef<{
367
+ query: string;
368
+ options: PdfViewerSearchOptions;
369
+ }>;
370
+ protected readonly caseSensitive: _angular_core.WritableSignal<boolean>;
371
+ protected readonly wholeWord: _angular_core.WritableSignal<boolean>;
372
+ protected readonly activeResultIndex: _angular_core.WritableSignal<number>;
373
+ protected readonly queryValue: _angular_core.WritableSignal<string>;
374
+ protected readonly hasQuery: _angular_core.Signal<boolean>;
375
+ protected readonly visibleResultGroups: _angular_core.Signal<PdfViewerSearchResultGroup[]>;
376
+ protected readonly resultCountLabel: _angular_core.Signal<string>;
377
+ constructor();
378
+ protected setQuery(event: Event): void;
379
+ protected clearQuery(): void;
380
+ protected setCaseSensitive(value: boolean): void;
381
+ protected setWholeWord(value: boolean): void;
382
+ protected previousResult(): void;
383
+ protected nextResult(): void;
384
+ protected selectResult(result: PdfViewerSearchResultView, index: number): void;
385
+ protected resultParts(result: PdfViewerSearchResultView): PdfViewerSearchResultPart[];
386
+ private emitSearchChanged;
387
+ private escapeRegExp;
388
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfViewerSearch, never>;
389
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfViewerSearch, "ngs-pdf-viewer-search", never, { "results": { "alias": "results"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "resultSelected": "resultSelected"; "searchChanged": "searchChanged"; }, never, never, true, never>;
390
+ }
391
+
392
+ export { PdfViewer, PdfViewerAnnotationDef, PdfViewerAnnotations, PdfViewerEngineService, PdfViewerSearch };
393
+ export type { PdfViewerAnnotationDataSource, PdfViewerAnnotationDataSourceContext, PdfViewerAnnotationDataSourceParams, PdfViewerAnnotationDataSourceResult, PdfViewerAnnotationTemplateContext, PdfViewerAnnotationView, PdfViewerAnnotationWhen, PdfViewerLoadedEvent, PdfViewerPageRenderedEvent, PdfViewerPageView, PdfViewerSearchOptions, PdfViewerSearchResultView, PdfViewerSelectionRectView, PdfViewerServerAnnotationDataSource, PdfViewerSource, PdfViewerTextGlyphView, PdfViewerTextRectView, PdfViewerThumbnailView };