@epam/pdf-highlighter-kit 0.0.2 → 0.0.4

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.
Files changed (63) hide show
  1. package/README.md +186 -62
  2. package/dist/PDFHighlightViewer.d.ts +31 -24
  3. package/dist/PDFHighlightViewer.d.ts.map +1 -1
  4. package/dist/PDFHighlightViewer.js +332 -292
  5. package/dist/PDFHighlightViewer.js.map +1 -1
  6. package/dist/api.d.ts +7 -12
  7. package/dist/api.d.ts.map +1 -1
  8. package/dist/api.js.map +1 -1
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/core/interaction-handler.d.ts +1 -1
  12. package/dist/core/interaction-handler.d.ts.map +1 -1
  13. package/dist/core/interaction-handler.js +43 -31
  14. package/dist/core/interaction-handler.js.map +1 -1
  15. package/dist/core/pdf-engine.d.ts.map +1 -1
  16. package/dist/core/pdf-engine.js.map +1 -1
  17. package/dist/core/performance-optimizer.d.ts +3 -3
  18. package/dist/core/performance-optimizer.d.ts.map +1 -1
  19. package/dist/core/performance-optimizer.js +7 -8
  20. package/dist/core/performance-optimizer.js.map +1 -1
  21. package/dist/core/text-segmentation.d.ts +8 -7
  22. package/dist/core/text-segmentation.d.ts.map +1 -1
  23. package/dist/core/text-segmentation.js +101 -133
  24. package/dist/core/text-segmentation.js.map +1 -1
  25. package/dist/core/unified-layer-builder.d.ts +7 -8
  26. package/dist/core/unified-layer-builder.d.ts.map +1 -1
  27. package/dist/core/unified-layer-builder.js +124 -174
  28. package/dist/core/unified-layer-builder.js.map +1 -1
  29. package/dist/core/viewport-manager.d.ts.map +1 -1
  30. package/dist/core/viewport-manager.js.map +1 -1
  31. package/dist/index.d.ts +1 -4
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +0 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/types.d.ts +32 -48
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js.map +1 -1
  38. package/dist/utils/highlight-adapter.d.ts +2 -30
  39. package/dist/utils/highlight-adapter.d.ts.map +1 -1
  40. package/dist/utils/highlight-adapter.js +21 -197
  41. package/dist/utils/highlight-adapter.js.map +1 -1
  42. package/dist/utils/pdf-utils.d.ts.map +1 -1
  43. package/dist/utils/pdf-utils.js.map +1 -1
  44. package/dist/utils/worker-loader-simple.d.ts.map +1 -1
  45. package/dist/utils/worker-loader-simple.js.map +1 -1
  46. package/package.json +2 -2
  47. package/dist/core/style-manager.d.ts +0 -88
  48. package/dist/core/style-manager.d.ts.map +0 -1
  49. package/dist/core/style-manager.js +0 -413
  50. package/dist/core/style-manager.js.map +0 -1
  51. package/dist/vite.config.d.ts +0 -3
  52. package/dist/vite.config.d.ts.map +0 -1
  53. package/dist/vite.config.js +0 -20
  54. package/dist/vite.config.js.map +0 -1
  55. package/dist/vitest.config.d.ts +0 -3
  56. package/dist/vitest.config.d.ts.map +0 -1
  57. package/dist/vitest.config.js +0 -24
  58. package/dist/vitest.config.js.map +0 -1
  59. package/dist/vitest.setup.d.ts +0 -2
  60. package/dist/vitest.setup.d.ts.map +0 -1
  61. package/dist/vitest.setup.js +0 -8
  62. package/dist/vitest.setup.js.map +0 -1
  63. package/styles/pdf-highlight-viewer.css +0 -488
package/README.md CHANGED
@@ -8,17 +8,21 @@ High-performance PDF viewer with intelligent highlighting and text selection cap
8
8
  npm install @epam/pdf-highlighter-kit pdfjs-dist
9
9
  ```
10
10
 
11
+ > Peer dependency: `pdfjs-dist` (see Requirements).
12
+
11
13
  ## Quick Start
12
14
 
13
- ```typescript
15
+ ```ts
14
16
  import { PDFHighlightViewer } from '@epam/pdf-highlighter-kit';
17
+ import type { InputHighlightData } from '@epam/pdf-highlighter-kit';
15
18
  import '@epam/pdf-highlighter-kit/styles/pdf-highlight-viewer.css';
16
19
 
17
20
  // Create viewer instance
18
21
  const viewer = new PDFHighlightViewer();
19
22
 
20
23
  // Initialize with container element
21
- const container = document.getElementById('pdf-container');
24
+ const container = document.getElementById('pdf-container') as HTMLElement;
25
+
22
26
  await viewer.init(container, {
23
27
  enableTextSelection: true,
24
28
  enableVirtualScrolling: true,
@@ -30,34 +34,73 @@ await viewer.init(container, {
30
34
  // Load PDF document
31
35
  await viewer.loadPDF('/path/to/document.pdf');
32
36
 
33
- // Add highlights
34
- viewer.loadHighlights({
35
- category1: {
36
- pages: {
37
- '1': [
38
- {
39
- termId: 'term-001',
40
- coordinates: [{ x1: 100, y1: 200, x2: 300, y2: 220 }],
41
- },
42
- ],
37
+ // Highlights
38
+ const highlights: InputHighlightData[] = [
39
+ {
40
+ id: 'term-001',
41
+ bboxes: [
42
+ // page is 1-based
43
+ { page: 1, x1: 100, y1: 200, x2: 300, y2: 220 },
44
+ { page: 3, x1: 80, y1: 140, x2: 260, y2: 160 },
45
+ ],
46
+ style: {
47
+ backgroundColor: '#ffeb3b',
48
+ opacity: 0.3,
49
+ borderColor: '#d4c400',
50
+ borderWidth: '1px',
43
51
  },
44
- terms: {
45
- 'term-001': {
46
- term: 'Important Term',
47
- category: 'category1',
48
- frequency: 5,
49
- pages: [1, 3, 7],
50
- },
52
+ tooltipText: 'Important Term',
53
+ metadata: {
54
+ frequency: 5,
55
+ tags: ['important', 'glossary'],
51
56
  },
52
57
  },
53
- });
58
+ ];
59
+
60
+ viewer.loadHighlights(highlights);
61
+
62
+ // Navigate to a highlight occurrence
63
+ viewer.goToHighlight('term-001', 0);
64
+ ```
65
+
66
+ ## Data Model
67
+
68
+ ### `InputHighlightData`
69
+
70
+ Each highlight carries its own style. No categories are required.
71
+
72
+ ```ts
73
+ export interface BBox {
74
+ x1: number;
75
+ y1: number;
76
+ x2: number;
77
+ y2: number;
78
+ page: number;
79
+ }
80
+
81
+ export interface HighlightStyle {
82
+ backgroundColor: string;
83
+ borderColor?: string;
84
+ borderWidth?: string;
85
+ opacity?: number;
86
+ hoverOpacity?: number;
87
+ pulseAnimation?: boolean;
88
+ }
89
+
90
+ export interface InputHighlightData {
91
+ id: string;
92
+ bboxes: BBox[];
93
+ style?: HighlightStyle;
94
+ tooltipText?: string;
95
+ metadata?: Record<string, any>;
96
+ }
54
97
  ```
55
98
 
56
99
  ## Configuration Options
57
100
 
58
101
  ### ViewerConfig
59
102
 
60
- ```typescript
103
+ ```ts
61
104
  interface ViewerConfig {
62
105
  // Enable text selection functionality
63
106
  enableTextSelection?: boolean;
@@ -74,11 +117,16 @@ interface ViewerConfig {
74
117
  // Interaction mode: 'select' | 'highlight' | 'hybrid'
75
118
  interactionMode?: 'select' | 'highlight' | 'hybrid';
76
119
 
77
- // Custom styles configuration
120
+ // Custom styles configuration (viewer/selection CSS). Highlight styles are per-highlight.
78
121
  customStyles?: StyleConfig;
79
122
 
80
123
  // PDF.js worker source URL
81
124
  workerSrc?: string;
125
+
126
+ // Highlight UI config (style is per highlight)
127
+ highlightsConfig?: {
128
+ enableMultilineHover?: boolean;
129
+ };
82
130
  }
83
131
  ```
84
132
 
@@ -94,13 +142,36 @@ Initialize the viewer with a container element and optional configuration.
94
142
 
95
143
  Load a PDF document from URL or ArrayBuffer.
96
144
 
97
- #### `loadHighlights(highlights: HighlightData): void`
145
+ #### `loadHighlights(highlights: InputHighlightData[]): void`
146
+
147
+ Replace current highlights with the provided list.
148
+
149
+ #### `addHighlight(highlight: InputHighlightData): void`
150
+
151
+ Add a single highlight (incremental update).
152
+
153
+ #### `removeHighlight(termId: string): void`
154
+
155
+ Remove highlight by its `id`.
156
+
157
+ #### `updateHighlightStyle(termId: string, stylePatch: Partial<HighlightStyle>): void`
98
158
 
99
- Load highlight data to display in the PDF.
159
+ Update highlight style by id (patch merge).
160
+
161
+ #### `goToHighlight(termId: string, bboxIndex?: number): void`
162
+
163
+ Navigate to a specific highlight occurrence. `bboxIndex` defaults to `0`.
164
+
165
+ #### `nextHighlight(termId?: string): void` / `previousHighlight(termId?: string): void`
166
+
167
+ Navigate across highlight occurrences:
168
+
169
+ - without `termId` → across all highlights in document order
170
+ - with `termId` → only within that highlight’s occurrences
100
171
 
101
172
  #### `goToPage(pageNumber: number): void`
102
173
 
103
- Navigate to a specific page.
174
+ Navigate to a specific page (1-based).
104
175
 
105
176
  #### `zoomIn(): void` / `zoomOut(): void`
106
177
 
@@ -110,46 +181,95 @@ Zoom in or out of the PDF.
110
181
 
111
182
  Set a specific zoom level (e.g., 1.0 for 100%, 1.5 for 150%).
112
183
 
113
- #### `search(query: string): Promise<SearchResult[]>`
114
-
115
- Search for text in the PDF document.
116
-
117
184
  #### `destroy(): void`
118
185
 
119
186
  Clean up and destroy the viewer instance.
120
187
 
121
- ### Events
188
+ ## Events
122
189
 
123
190
  The viewer emits various events that you can listen to:
124
191
 
125
- ```typescript
126
- viewer.on('pageChange', (pageNumber: number) => {
127
- console.log('Current page:', pageNumber);
192
+ ```ts
193
+ viewer.addEventListener('initialized', () => {
194
+ console.log('Viewer initialized');
128
195
  });
129
196
 
130
- viewer.on('textSelected', (selection: SelectionData) => {
131
- console.log('Text selected:', selection.text);
197
+ viewer.addEventListener('pdfLoaded', (e) => {
198
+ console.log('PDF loaded. Total pages:', e.totalPages);
132
199
  });
133
200
 
134
- viewer.on('highlightClick', (highlight: HighlightInfo) => {
135
- console.log('Highlight clicked:', highlight.term);
201
+ viewer.addEventListener('pageChanged', (e) => {
202
+ console.log('Current page:', e.pageNumber);
203
+ });
204
+
205
+ viewer.addEventListener('zoomChanged', (e) => {
206
+ console.log('Zoom changed:', e.scale);
207
+ });
208
+
209
+ viewer.addEventListener('renderComplete', (e) => {
210
+ console.log('Page rendered:', e.pageNumber);
211
+ });
212
+
213
+ viewer.addEventListener('renderError', (e) => {
214
+ console.error('Render error:', e.pageNumber, e.error);
215
+ });
216
+
217
+ viewer.addEventListener('highlightsLoaded', (e) => {
218
+ console.log('Highlights loaded:', e.data?.length ?? 0);
219
+ });
220
+
221
+ viewer.addEventListener('highlightHover', (e) => {
222
+ console.log('Highlight hover:', e.termId, 'page', e.pageNumber, 'bbox', e.bboxIndex);
223
+ });
224
+
225
+ viewer.addEventListener('highlightBlur', (e) => {
226
+ console.log('Highlight blur:', e.termId);
227
+ });
228
+
229
+ viewer.addEventListener('highlightClick', (e) => {
230
+ console.log('Highlight clicked:', e.termId, 'page', e.pageNumber, 'bbox', e.bboxIndex);
231
+ });
232
+
233
+ viewer.addEventListener('navigationComplete', (e) => {
234
+ console.log('Navigation complete:', e.termId, e.pageNumber, e.occurrenceIndex);
235
+ });
236
+
237
+ viewer.addEventListener('selectionChanged', (e) => {
238
+ console.log('Text selected:', e.text);
239
+ console.log('Pages:', e.pageNumbers);
240
+ console.log('Overlapping highlights:', e.highlights); // array of bbox refs
241
+ });
242
+
243
+ viewer.addEventListener('selectionHighlighted', (e) => {
244
+ console.log('Selection highlighted:', e.termId);
245
+ });
246
+
247
+ viewer.addEventListener('error', (e) => {
248
+ console.error('Viewer error:', e);
136
249
  });
137
250
  ```
138
251
 
139
- ## Advanced Usage
252
+ > Event payload fields may include `termId`, `pageNumber`, `bboxIndex`, and `bbox` depending on event type.
140
253
 
141
- ### Custom Styling
254
+ ## Advanced Usage
142
255
 
143
- ```typescript
144
- const viewer = new PDFHighlightViewer();
145
- await viewer.init(container, {
146
- customStyles: {
147
- highlightColor: '#ffeb3b',
148
- highlightOpacity: 0.3,
149
- selectionColor: '#2196f3',
150
- selectionOpacity: 0.4,
256
+ ### Custom Styling (per highlight)
257
+
258
+ ```ts
259
+ const highlight: InputHighlightData = {
260
+ id: 'note-001',
261
+ bboxes: [{ page: 2, x1: 120, y1: 330, x2: 420, y2: 355 }],
262
+ style: {
263
+ backgroundColor: '#ffd54f',
264
+ opacity: 0.25,
265
+ borderColor: '#ff8f00',
266
+ borderWidth: '1px',
267
+ hoverOpacity: 0.6,
151
268
  },
152
- });
269
+ tooltipText: 'My note',
270
+ };
271
+
272
+ viewer.addHighlight(highlight);
153
273
  ```
154
274
 
155
275
  ### React Integration
@@ -157,9 +277,16 @@ await viewer.init(container, {
157
277
  ```tsx
158
278
  import { useEffect, useRef } from 'react';
159
279
  import { PDFHighlightViewer } from '@epam/pdf-highlighter-kit';
280
+ import type { InputHighlightData } from '@epam/pdf-highlighter-kit';
160
281
  import '@epam/pdf-highlighter-kit/styles/pdf-highlight-viewer.css';
161
282
 
162
- function PDFViewer({ pdfUrl, highlights }) {
283
+ export function PDFViewer({
284
+ pdfUrl,
285
+ highlights,
286
+ }: {
287
+ pdfUrl: string;
288
+ highlights: InputHighlightData[];
289
+ }) {
163
290
  const containerRef = useRef<HTMLDivElement>(null);
164
291
  const viewerRef = useRef<PDFHighlightViewer | null>(null);
165
292
 
@@ -169,27 +296,24 @@ function PDFViewer({ pdfUrl, highlights }) {
169
296
  const viewer = new PDFHighlightViewer();
170
297
  viewerRef.current = viewer;
171
298
 
172
- viewer
173
- .init(containerRef.current, {
299
+ (async () => {
300
+ await viewer.init(containerRef.current!, {
174
301
  enableTextSelection: true,
175
302
  enableVirtualScrolling: true,
176
- })
177
- .then(() => {
178
- viewer.loadPDF(pdfUrl);
179
- if (highlights) {
180
- viewer.loadHighlights(highlights);
181
- }
182
303
  });
183
304
 
305
+ await viewer.loadPDF(pdfUrl);
306
+ viewer.loadHighlights(highlights);
307
+ })();
308
+
184
309
  return () => {
185
310
  viewer.destroy();
311
+ viewerRef.current = null;
186
312
  };
187
313
  }, [pdfUrl]);
188
314
 
189
315
  useEffect(() => {
190
- if (viewerRef.current && highlights) {
191
- viewerRef.current.loadHighlights(highlights);
192
- }
316
+ viewerRef.current?.loadHighlights(highlights);
193
317
  }, [highlights]);
194
318
 
195
319
  return <div ref={containerRef} style={{ width: '100%', height: '100vh' }} />;
@@ -208,7 +332,7 @@ function PDFViewer({ pdfUrl, highlights }) {
208
332
 
209
333
  ## License
210
334
 
211
- MIT
335
+ Apache-2.0
212
336
 
213
337
  ## Contributing
214
338
 
@@ -216,4 +340,4 @@ Contributions are welcome! Please feel free to submit a Pull Request.
216
340
 
217
341
  ## Support
218
342
 
219
- For issues and questions, please use the [GitHub Issues](https://github.com/epam/pdf-highlighter-kit/issues) page.
343
+ For issues and questions, please use the GitHub Issues page.
@@ -1,22 +1,22 @@
1
1
  import { PDFHighlightViewer as IPDFHighlightViewer } from './api';
2
- import { ViewerOptions, HighlightData, TermOccurrence, CategoryStyle, TextRange, SelectionWithMetadata, PerformanceMetrics, HighlightAnalytics, AccessibilityFeatures, InteractionMode, TermMetadata, InputHighlightData } from './types';
2
+ import { ViewerOptions, TextRange, SelectionWithMetadata, PerformanceMetrics, HighlightAnalytics, AccessibilityFeatures, InteractionMode, InputHighlightData, HighlightStyle } from './types';
3
3
  export declare class PDFHighlightViewer implements IPDFHighlightViewer {
4
4
  private pdfEngine;
5
5
  private viewportManager;
6
6
  private layerBuilder;
7
7
  private interactionHandler;
8
8
  private performanceOptimizer;
9
- private styleManager;
10
9
  private container;
11
10
  private pdfContainer;
12
11
  private pageContainers;
13
12
  private options;
14
- private highlightData;
13
+ private highlightsIndex;
15
14
  private currentPage;
16
15
  private currentScale;
17
16
  private totalPages;
18
17
  private selectedTermId;
19
18
  private isInitialized;
19
+ private navIndex;
20
20
  private pageDimensions;
21
21
  private defaultPageHeight;
22
22
  private eventListeners;
@@ -36,6 +36,7 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
36
36
  * Setup scroll handling for virtual viewport management
37
37
  */
38
38
  private setupScrollHandling;
39
+ private getPageScrollTop;
39
40
  /**
40
41
  * Handle scroll events for virtual viewport management
41
42
  */
@@ -65,6 +66,7 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
65
66
  * Load initial pages (simple and reliable)
66
67
  */
67
68
  private loadInitialPages;
69
+ private renderAllPagesBatched;
68
70
  /**
69
71
  * Render a specific page
70
72
  */
@@ -94,11 +96,10 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
94
96
  * Check if text selection is currently enabled
95
97
  */
96
98
  isTextSelectionEnabled(): boolean;
97
- loadHighlights(data: HighlightData | InputHighlightData[]): void;
98
- addHighlight(pageNumber: number, highlight: TermOccurrence): void;
99
+ loadHighlights(data: InputHighlightData[]): void;
100
+ addHighlight(highlight: InputHighlightData): void;
99
101
  removeHighlight(termId: string): void;
100
- updateHighlightStyle(category: string, style: Partial<CategoryStyle>): void;
101
- getHighlightsForPage(pageNumber: number): TermOccurrence[];
102
+ updateHighlightStyle(termId: string, stylePatch: Partial<HighlightStyle>): void;
102
103
  /**
103
104
  * Update unified layer for a specific page
104
105
  */
@@ -119,16 +120,14 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
119
120
  clearSelection: () => void;
120
121
  selectText: (range: TextRange) => void;
121
122
  copySelection: (format?: "plain" | "formatted" | "citation") => void;
122
- createHighlightFromSelection: (category: string) => TermOccurrence | null;
123
+ createHighlightFromSelection: (style?: HighlightStyle) => InputHighlightData | null;
123
124
  };
125
+ private getNavOccurrences;
124
126
  goToHighlight(termId: string, occurrenceIndex?: number): void;
125
- nextHighlight(category?: string): void;
126
- previousHighlight(category?: string): void;
127
+ nextHighlight(): void;
128
+ previousHighlight(): void;
127
129
  goToCoordinate(pageNumber: number, x: number, y: number): void;
128
- searchTerms(query: string): TermMetadata[];
129
- filterByCategory(categories: string[]): void;
130
- highlightSearchResults(query: string): void;
131
- clearSearchResults(): void;
130
+ searchHighlights(query: string): InputHighlightData[];
132
131
  setInteractionMode(mode: InteractionMode): void;
133
132
  getInteractionMode(): InteractionMode;
134
133
  getPerformanceMetrics(): PerformanceMetrics;
@@ -161,22 +160,17 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
161
160
  };
162
161
  };
163
162
  refresh(): void;
163
+ private refreshHighlightLayerForPage;
164
164
  /**
165
165
  * Add highlights to a rendered page
166
166
  */
167
167
  private addHighlightsToPage;
168
+ private getHighlightById;
169
+ private getHighlightStyle;
168
170
  /**
169
171
  * Update highlights colors for specified page
170
172
  * */
171
173
  updateHighlightsStyles(pageNumber: number, hoveredIds?: string[]): void;
172
- /**
173
- * Get highlight color
174
- */
175
- private getHighlightColor;
176
- /**
177
- * Get color for highlight category
178
- */
179
- private getCategoryColor;
180
174
  /**
181
175
  * Build spatial index for a specific page
182
176
  */
@@ -186,11 +180,24 @@ export declare class PDFHighlightViewer implements IPDFHighlightViewer {
186
180
  */
187
181
  private buildAllSpatialIndices;
188
182
  /**
189
- * Get highlight count for a page
183
+ * Get the number of highlights on a given page.
184
+ *
185
+ * This reads from the precomputed `highlightsIndex.pages` map, which stores
186
+ * arrays of highlight references keyed by the page number as a string.
187
+ * If there are no references for the requested page, an empty array is used,
188
+ * and the method returns 0.
189
+ *
190
+ * @param pageNumber - The 1-based page number to count highlights for.
191
+ * @returns The total number of highlight references on the page.
190
192
  */
191
193
  private getHighlightCountForPage;
192
194
  /**
193
- * Update analytics data
195
+ * Update analytics information based on the current highlights index.
196
+ *
197
+ * This method recalculates the total number of highlights by reading the
198
+ * length of `this.highlightsIndex.highlights` and updates the
199
+ * `this.analytics` object with the new `totalHighlights` value, while
200
+ * preserving all other existing analytics properties.
194
201
  */
195
202
  private updateAnalytics;
196
203
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PDFHighlightViewer.d.ts","sourceRoot":"","sources":["../PDFHighlightViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDFHighlightViewer.d.ts","sourceRoot":"","sources":["../src/PDFHighlightViewer.ts"],"names":[],"mappings":"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"}