@epam/pdf-highlighter-kit 0.0.3 → 0.0.5

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 (38) hide show
  1. package/README.md +194 -63
  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/core/interaction-handler.d.ts +1 -1
  9. package/dist/core/interaction-handler.d.ts.map +1 -1
  10. package/dist/core/interaction-handler.js +43 -31
  11. package/dist/core/interaction-handler.js.map +1 -1
  12. package/dist/core/performance-optimizer.d.ts +3 -3
  13. package/dist/core/performance-optimizer.d.ts.map +1 -1
  14. package/dist/core/performance-optimizer.js +7 -8
  15. package/dist/core/performance-optimizer.js.map +1 -1
  16. package/dist/core/text-segmentation.d.ts +8 -7
  17. package/dist/core/text-segmentation.d.ts.map +1 -1
  18. package/dist/core/text-segmentation.js +101 -133
  19. package/dist/core/text-segmentation.js.map +1 -1
  20. package/dist/core/unified-layer-builder.d.ts +7 -8
  21. package/dist/core/unified-layer-builder.d.ts.map +1 -1
  22. package/dist/core/unified-layer-builder.js +124 -174
  23. package/dist/core/unified-layer-builder.js.map +1 -1
  24. package/dist/index.d.ts +1 -11
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +0 -44
  27. package/dist/index.js.map +1 -1
  28. package/dist/types.d.ts +32 -48
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/utils/highlight-adapter.d.ts +2 -30
  31. package/dist/utils/highlight-adapter.d.ts.map +1 -1
  32. package/dist/utils/highlight-adapter.js +21 -197
  33. package/dist/utils/highlight-adapter.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/core/style-manager.d.ts +0 -88
  36. package/dist/core/style-manager.d.ts.map +0 -1
  37. package/dist/core/style-manager.js +0 -413
  38. package/dist/core/style-manager.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -6,6 +6,18 @@ export interface BBox {
6
6
  y2: number;
7
7
  page: number;
8
8
  }
9
+ export interface PageBBoxRef {
10
+ id: string;
11
+ page: number;
12
+ bboxIndex: number;
13
+ bbox: BoundingBox;
14
+ }
15
+ export interface HighlightsIndex {
16
+ highlights: InputHighlightData[];
17
+ byId: Map<string, InputHighlightData>;
18
+ pages: Record<string, PageBBoxRef[]>;
19
+ occurrences: PageBBoxRef[];
20
+ }
9
21
  export interface HighlightStyle {
10
22
  backgroundColor: string;
11
23
  borderColor?: string;
@@ -54,27 +66,6 @@ export interface BoundingBox {
54
66
  x2: number;
55
67
  y2: number;
56
68
  }
57
- export interface TermOccurrence {
58
- termId: string;
59
- coordinates: BoundingBox[];
60
- }
61
- export interface TermMetadata {
62
- term: string;
63
- category: string;
64
- frequency: number;
65
- aliases: string[];
66
- relatedTerms: string[];
67
- pages: number[];
68
- explanations: {
69
- page: number;
70
- coordinates: BoundingBox;
71
- text: string;
72
- }[];
73
- }
74
- export type HighlightData = Record<string, {
75
- pages: Record<string, TermOccurrence[]>;
76
- terms: Record<string, TermMetadata>;
77
- }>;
78
69
  export interface TextContent {
79
70
  items: TextItem[];
80
71
  styles: any;
@@ -93,7 +84,7 @@ export interface Segment {
93
84
  hasHighlight: boolean;
94
85
  highlightInfo?: {
95
86
  termId: string;
96
- category: string;
87
+ style?: HighlightStyle;
97
88
  };
98
89
  transform: number[];
99
90
  fontName: string;
@@ -104,7 +95,6 @@ export interface AnalysisResult {
104
95
  start: number;
105
96
  end: number;
106
97
  termId: string;
107
- category: string;
108
98
  }[];
109
99
  }
110
100
  export type InteractionIntent = 'highlight-interact' | 'text-select' | 'auto';
@@ -120,7 +110,7 @@ export interface SelectionState {
120
110
  y: number;
121
111
  } | null;
122
112
  selectedText: string;
123
- overlappingHighlights: TermOccurrence[];
113
+ overlappingHighlights: PageBBoxRef[];
124
114
  }
125
115
  export interface TextRange {
126
116
  startPage: number;
@@ -131,32 +121,33 @@ export interface TextRange {
131
121
  export interface SelectionWithMetadata {
132
122
  text: string;
133
123
  pages: number[];
134
- highlights: TermOccurrence[];
124
+ highlights: PageBBoxRef[];
135
125
  context: string;
136
126
  range: TextRange;
137
127
  }
138
128
  export interface HighlightHoverEvent {
139
129
  termId: string;
140
- category: string;
141
- coordinates: BoundingBox;
142
130
  pageNumber: number;
131
+ bboxIndex?: number;
132
+ bbox?: BoundingBox;
133
+ highlight?: InputHighlightData;
143
134
  mouseEvent: MouseEvent;
144
135
  }
145
136
  export interface HighlightClickEvent {
146
137
  termId: string;
147
- category: string;
148
- coordinates: BoundingBox;
149
138
  pageNumber: number;
139
+ bboxIndex?: number;
140
+ bbox?: BoundingBox;
141
+ highlight?: InputHighlightData;
150
142
  mouseEvent: MouseEvent;
151
143
  }
152
144
  export interface HighlightSelectEvent {
153
145
  termId: string;
154
- category: string;
155
- occurrences: TermOccurrence[];
146
+ occurrences: PageBBoxRef[];
156
147
  }
157
148
  export interface TextSelectionEvent {
158
149
  text: string;
159
- highlights: TermOccurrence[];
150
+ highlights: PageBBoxRef[];
160
151
  range: Range;
161
152
  pageNumbers: number[];
162
153
  }
@@ -166,8 +157,8 @@ export interface SelectionCopyEvent {
166
157
  }
167
158
  export interface SelectionHighlightEvent {
168
159
  text: string;
169
- category: string;
170
- coordinates: BoundingBox[];
160
+ termId: string;
161
+ highlight: InputHighlightData;
171
162
  }
172
163
  export interface PageChangeEvent {
173
164
  currentPage: number;
@@ -188,17 +179,6 @@ export interface PerformanceWarningEvent {
188
179
  message: string;
189
180
  metrics: any;
190
181
  }
191
- export interface CategoryStyle {
192
- backgroundColor: string;
193
- borderColor: string;
194
- opacity?: number;
195
- hoverOpacity?: number;
196
- pulseAnimation?: boolean;
197
- }
198
- export interface CategoryStyleManager {
199
- registerCategory(name: string, style: CategoryStyle): void;
200
- getComputedStyle(termId: string, state: 'default' | 'hover' | 'selected'): React.CSSProperties;
201
- }
202
182
  export interface MemoryMetrics {
203
183
  pages: number;
204
184
  highlights: number;
@@ -219,7 +199,6 @@ export interface UserAction {
219
199
  }
220
200
  export interface HighlightAnalytics {
221
201
  totalHighlights: number;
222
- categoryBreakdown: Record<string, number>;
223
202
  mostViewedPages: number[];
224
203
  interactionHeatmap: Record<number, number>;
225
204
  averageTimePerPage: number;
@@ -228,7 +207,6 @@ export interface Page {
228
207
  pageNumber: number;
229
208
  canvas?: HTMLCanvasElement;
230
209
  textContent?: TextContent;
231
- highlights?: TermOccurrence[];
232
210
  rendered: boolean;
233
211
  loading: boolean;
234
212
  viewport?: any;
@@ -236,7 +214,7 @@ export interface Page {
236
214
  }
237
215
  export interface HighlightsConfig {
238
216
  enableMultilineHover?: boolean;
239
- getHighlightColor?: (termId: string) => string;
217
+ defaultStyle?: HighlightStyle;
240
218
  }
241
219
  export interface ViewerOptions {
242
220
  enableTextSelection?: boolean;
@@ -259,6 +237,12 @@ export interface HeavyTask {
259
237
  data: any;
260
238
  pageNumber?: number;
261
239
  }
240
+ export interface SpatialHit {
241
+ termId: string;
242
+ pageNumber: number;
243
+ bboxIndex: number;
244
+ coordinates: BoundingBox;
245
+ }
262
246
  export interface RTree {
263
247
  insert(bounds: BoundingBox, data: any): void;
264
248
  search(bounds: BoundingBox): any[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,3 @@
1
- import { HighlightData, InputHighlightData, CategoryStyle } from '../types';
2
- export type { InputHighlightData, BBox, HighlightStyle } from '../types';
3
- export interface AdapterOptions {
4
- categoryResolver?: (highlight: InputHighlightData) => string;
5
- termNameResolver?: (highlight: InputHighlightData) => string;
6
- groupByStyle?: boolean;
7
- useTooltipAsTermName?: boolean;
8
- defaultCategory?: string;
9
- }
10
- export declare function adaptHighlightData(inputData: InputHighlightData[], options?: AdapterOptions): HighlightData;
11
- export declare function extractCategoryStyles(inputData: InputHighlightData[], options?: AdapterOptions): Map<string, CategoryStyle>;
12
- /**
13
- * Validate input highlight data structure
14
- * Useful for debugging and error handling
15
- *
16
- * @param inputData - Data to validate
17
- * @returns Object with validation result and any errors found
18
- */
19
- export declare function validateInputData(inputData: unknown): {
20
- valid: boolean;
21
- errors: string[];
22
- };
23
- /**
24
- * Merge multiple HighlightData objects into one
25
- * Useful when loading highlights from multiple sources
26
- *
27
- * @param highlightDataArray - Array of HighlightData objects to merge
28
- * @returns Merged HighlightData object
29
- */
30
- export declare function mergeHighlightData(...highlightDataArray: HighlightData[]): HighlightData;
1
+ import { InputHighlightData, HighlightsIndex } from '../types';
2
+ export declare function buildHighlightsIndex(highlights: InputHighlightData[]): HighlightsIndex;
31
3
  //# sourceMappingURL=highlight-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highlight-adapter.d.ts","sourceRoot":"","sources":["../../src/utils/highlight-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAElB,aAAa,EAEd,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC7D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,kBAAkB,EAAE,EAC/B,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAqGf;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,kBAAkB,EAAE,EAC/B,OAAO,GAAE,cAAmB,GAC3B,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CA+B5B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG;IACrD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAqCA;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,kBAAkB,EAAE,aAAa,EAAE,GAAG,aAAa,CAoCxF"}
1
+ {"version":3,"file":"highlight-adapter.d.ts","sourceRoot":"","sources":["../../src/utils/highlight-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAA4B,MAAM,UAAU,CAAC;AAEzF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,eAAe,CAiCtF"}
@@ -1,202 +1,26 @@
1
- export function adaptHighlightData(inputData, options = {}) {
2
- const { defaultCategory = 'default', groupByStyle = true, categoryResolver, useTooltipAsTermName = true, termNameResolver, } = options;
3
- const result = {};
4
- const categoryStyles = new Map();
5
- inputData.forEach((highlight) => {
6
- let category;
7
- if (categoryResolver) {
8
- category = categoryResolver(highlight);
9
- }
10
- else if (highlight.metadata?.category) {
11
- category = highlight.metadata.category;
12
- }
13
- else if (groupByStyle && highlight.style) {
14
- category = highlight.style.backgroundColor || defaultCategory;
15
- }
16
- else {
17
- category = defaultCategory;
18
- }
19
- let termName;
20
- if (termNameResolver) {
21
- termName = termNameResolver(highlight);
22
- }
23
- else if (useTooltipAsTermName && highlight.tooltipText) {
24
- termName = highlight.tooltipText;
25
- }
26
- else {
27
- termName = highlight.id;
28
- }
29
- if (!result[category]) {
30
- result[category] = {
31
- pages: {},
32
- terms: {},
33
- };
34
- }
35
- if (highlight.style && !categoryStyles.has(category)) {
36
- categoryStyles.set(category, {
37
- backgroundColor: highlight.style.backgroundColor,
38
- borderColor: highlight.style.borderColor || highlight.style.backgroundColor,
39
- opacity: highlight.style.opacity,
40
- hoverOpacity: highlight.style.hoverOpacity,
41
- pulseAnimation: highlight.style.pulseAnimation,
42
- });
43
- }
44
- const pageGroups = new Map();
45
- highlight.bboxes.forEach((bbox) => {
46
- const { page, ...coords } = bbox;
47
- if (!pageGroups.has(page)) {
48
- pageGroups.set(page, []);
49
- }
50
- pageGroups.get(page).push(coords);
51
- });
52
- const allPages = [];
53
- pageGroups.forEach((coordinates, pageNumber) => {
54
- allPages.push(pageNumber);
55
- const pageKey = pageNumber.toString();
56
- if (!result[category].pages[pageKey]) {
57
- result[category].pages[pageKey] = [];
58
- }
59
- // Add term occurrence to this page
60
- const termOccurrence = {
61
- termId: highlight.id,
62
- coordinates,
63
- };
64
- result[category].pages[pageKey].push(termOccurrence);
65
- });
66
- if (!result[category].terms[highlight.id]) {
67
- result[category].terms[highlight.id] = {
68
- term: termName,
69
- category,
70
- frequency: pageGroups.size,
71
- aliases: [],
72
- relatedTerms: [],
73
- pages: allPages,
74
- explanations: highlight.tooltipText
75
- ? allPages.map((page) => ({
76
- page,
77
- coordinates: pageGroups.get(page)[0],
78
- text: highlight.tooltipText,
79
- }))
80
- : [],
1
+ export function buildHighlightsIndex(highlights) {
2
+ const byId = new Map();
3
+ const pages = {};
4
+ const occurrences = [];
5
+ for (const h of highlights) {
6
+ byId.set(h.id, h);
7
+ for (let bboxIndex = 0; bboxIndex < h.bboxes.length; bboxIndex++) {
8
+ const b = h.bboxes[bboxIndex];
9
+ const bbox = { x1: b.x1, y1: b.y1, x2: b.x2, y2: b.y2 };
10
+ const ref = {
11
+ id: h.id,
12
+ page: b.page,
13
+ bboxIndex,
14
+ bbox,
81
15
  };
82
- if (highlight.metadata) {
83
- result[category].terms[highlight.id].metadata = highlight.metadata;
84
- }
16
+ const key = String(b.page);
17
+ (pages[key] ?? (pages[key] = [])).push(ref);
18
+ occurrences.push(ref);
85
19
  }
86
- });
87
- return result;
88
- }
89
- export function extractCategoryStyles(inputData, options = {}) {
90
- const { defaultCategory = 'default', groupByStyle = true, categoryResolver } = options;
91
- const styles = new Map();
92
- inputData.forEach((highlight) => {
93
- if (!highlight.style)
94
- return;
95
- let category;
96
- if (categoryResolver) {
97
- category = categoryResolver(highlight);
98
- }
99
- else if (highlight.metadata?.category) {
100
- category = highlight.metadata.category;
101
- }
102
- else if (groupByStyle) {
103
- category = highlight.style.backgroundColor || defaultCategory;
104
- }
105
- else {
106
- category = defaultCategory;
107
- }
108
- if (!styles.has(category)) {
109
- styles.set(category, {
110
- backgroundColor: highlight.style.backgroundColor,
111
- borderColor: highlight.style.borderColor || highlight.style.backgroundColor,
112
- opacity: highlight.style.opacity,
113
- hoverOpacity: highlight.style.hoverOpacity,
114
- pulseAnimation: highlight.style.pulseAnimation,
115
- });
116
- }
117
- });
118
- return styles;
119
- }
120
- /**
121
- * Validate input highlight data structure
122
- * Useful for debugging and error handling
123
- *
124
- * @param inputData - Data to validate
125
- * @returns Object with validation result and any errors found
126
- */
127
- export function validateInputData(inputData) {
128
- const errors = [];
129
- if (!Array.isArray(inputData)) {
130
- errors.push('Input data must be an array');
131
- return { valid: false, errors };
132
20
  }
133
- inputData.forEach((item, index) => {
134
- if (!item.id || typeof item.id !== 'string') {
135
- errors.push(`Item ${index}: 'id' is required and must be a string`);
136
- }
137
- if (!Array.isArray(item.bboxes)) {
138
- errors.push(`Item ${index}: 'bboxes' must be an array`);
139
- }
140
- else {
141
- item.bboxes.forEach((bbox, bboxIndex) => {
142
- const requiredProps = ['x1', 'y1', 'x2', 'y2', 'page'];
143
- requiredProps.forEach((prop) => {
144
- if (typeof bbox[prop] !== 'number') {
145
- errors.push(`Item ${index}, bbox ${bboxIndex}: '${prop}' must be a number`);
146
- }
147
- });
148
- });
149
- }
150
- if (item.style) {
151
- if (!item.style.backgroundColor) {
152
- errors.push(`Item ${index}: style.backgroundColor is required when style is provided`);
153
- }
154
- }
155
- });
156
- return {
157
- valid: errors.length === 0,
158
- errors,
159
- };
160
- }
161
- /**
162
- * Merge multiple HighlightData objects into one
163
- * Useful when loading highlights from multiple sources
164
- *
165
- * @param highlightDataArray - Array of HighlightData objects to merge
166
- * @returns Merged HighlightData object
167
- */
168
- export function mergeHighlightData(...highlightDataArray) {
169
- const result = {};
170
- highlightDataArray.forEach((data) => {
171
- Object.entries(data).forEach(([category, categoryData]) => {
172
- if (!result[category]) {
173
- result[category] = {
174
- pages: {},
175
- terms: {},
176
- };
177
- }
178
- Object.entries(categoryData.pages).forEach(([pageKey, occurrences]) => {
179
- if (!result[category].pages[pageKey]) {
180
- result[category].pages[pageKey] = [];
181
- }
182
- result[category].pages[pageKey].push(...occurrences);
183
- });
184
- Object.entries(categoryData.terms).forEach(([termId, termData]) => {
185
- if (!result[category].terms[termId]) {
186
- result[category].terms[termId] = termData;
187
- }
188
- else {
189
- result[category].terms[termId].pages = [
190
- ...new Set([...result[category].terms[termId].pages, ...termData.pages]),
191
- ];
192
- result[category].terms[termId].explanations = [
193
- ...result[category].terms[termId].explanations,
194
- ...termData.explanations,
195
- ];
196
- }
197
- });
198
- });
199
- });
200
- return result;
21
+ const cmp = (a, b) => a.page - b.page || a.bbox.y1 - b.bbox.y1 || a.bbox.x1 - b.bbox.x1;
22
+ occurrences.sort(cmp);
23
+ Object.keys(pages).forEach((k) => pages[k].sort(cmp));
24
+ return { highlights, byId, pages, occurrences };
201
25
  }
202
26
  //# sourceMappingURL=highlight-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"highlight-adapter.js","sourceRoot":"","sources":["../../src/utils/highlight-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight-adapter.js","sourceRoot":"","sources":["../../src/utils/highlight-adapter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,UAAgC;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAC;IACnD,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,MAAM,WAAW,GAAkB,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAElB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YACjE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAErE,MAAM,GAAG,GAAgB;gBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS;gBACT,IAAI;aACL,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,KAAK,CAAC,GAAG,MAAT,KAAK,CAAC,GAAG,IAAM,EAAE,EAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAEpE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epam/pdf-highlighter-kit",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "High-performance PDF viewer with intelligent highlighting and text selection capabilities",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -1,88 +0,0 @@
1
- import { CategoryStyle, CategoryStyleManager as ICategoryStyleManager } from '../types';
2
- export declare class CategoryStyleManager implements ICategoryStyleManager {
3
- private styles;
4
- private styleSheet;
5
- private styleElement;
6
- constructor();
7
- /**
8
- * Initialize CSS style sheet for dynamic styles
9
- */
10
- private initializeStyleSheet;
11
- /**
12
- * Register default category styles
13
- */
14
- private registerDefaultCategories;
15
- /**
16
- * Register a new category style
17
- */
18
- registerCategory(name: string, style: CategoryStyle): void;
19
- /**
20
- * Update existing category style
21
- */
22
- updateCategoryStyle(name: string, partialStyle: Partial<CategoryStyle>): void;
23
- /**
24
- * Ensure CategoryStyle has all required properties
25
- */
26
- private ensureCompleteStyle;
27
- /**
28
- * Generate and inject CSS for a category
29
- */
30
- private updateStyleSheet;
31
- /**
32
- * Generate CSS rules for a category
33
- */
34
- private generateCSSRules;
35
- /**
36
- * Remove existing CSS rules for a category
37
- */
38
- private removeRulesForCategory;
39
- /**
40
- * Get computed style for a term
41
- */
42
- getComputedStyle(termId: string, state?: 'default' | 'hover' | 'selected'): React.CSSProperties;
43
- /**
44
- * Get category for a term (simplified implementation)
45
- */
46
- private getCategoryForTerm;
47
- /**
48
- * Darken a color (utility function)
49
- */
50
- private darkenColor;
51
- /**
52
- * Get all registered categories
53
- */
54
- getCategories(): string[];
55
- /**
56
- * Get style for a category
57
- */
58
- getCategoryStyle(category: string): CategoryStyle | undefined;
59
- /**
60
- * Apply theme (light/dark)
61
- */
62
- applyTheme(theme: 'light' | 'dark'): void;
63
- /**
64
- * Enable/disable animations globally
65
- */
66
- setAnimationsEnabled(enabled: boolean): void;
67
- /**
68
- * Remove CSS rule by content
69
- */
70
- private removeRuleByContent;
71
- /**
72
- * Export current styles as CSS string
73
- */
74
- exportStyles(): string;
75
- /**
76
- * Import styles from CSS string
77
- */
78
- importStyles(cssString: string): void;
79
- /**
80
- * Reset all styles to defaults
81
- */
82
- resetToDefaults(): void;
83
- /**
84
- * Destroy style manager and clean up
85
- */
86
- destroy(): void;
87
- }
88
- //# sourceMappingURL=style-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style-manager.d.ts","sourceRoot":"","sources":["../../src/core/style-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAExF,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,YAAY,CAAiC;;IAOrD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2DjC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAa1D;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAa7E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+ExB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,SAAS,GAAG,OAAO,GAAG,UAAsB,GAClD,KAAK,CAAC,aAAa;IAqCtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI7D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAczC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA2B5C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,YAAY,IAAI,MAAM;IAKtB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}