{"version":3,"file":"index.cjs","sources":["../src/index.js"],"sourcesContent":["/**\n * @ai-annotator/renderer - Public API\n *\n * Single entry point for the Dynamic PDF Annotation Renderer library.\n * Exports all core subsystems, layers, utilities, and types.\n *\n * @module @ai-annotator/renderer\n */\n\n// ============================================================================\n// Core Rendering Engine\n// ============================================================================\n\n// Import statements\nimport { AnnotationRenderer } from './core/AnnotationRenderer.js';\nimport { PDFRenderer } from './core/PDFRenderer.js';\nimport { LayerManager } from './core/LayerManager.js';\nimport { TimelineSync } from './core/TimelineSync.js';\n\n// Export statements\nexport { AnnotationRenderer };\nexport { PDFRenderer };\nexport { LayerManager };\nexport { TimelineSync };\n\n// ============================================================================\n// Annotation Layers\n// ============================================================================\n\n// Framework-agnostic layer classes\n// BaseLayer: Abstract base class for creating custom layers\n// HighlightLayer, TextLayer, DrawingLayer: Built-in layer implementations\n\nimport BaseLayer from './layers/BaseLayer.js';\nimport HighlightLayer from './layers/HighlightLayer.js';\nimport TextLayer from './layers/TextLayer.js';\nimport DrawingLayer from './layers/DrawingLayer.js';\n\nexport { BaseLayer };\nexport { HighlightLayer };\nexport { TextLayer };\nexport { DrawingLayer };\n\n// ============================================================================\n// Utilities\n// ============================================================================\n\nimport * as coordinateUtils from './utils/coordinateUtils.js';\nimport * as viewportUtils from './utils/viewportUtils.js';\n\nexport { coordinateUtils };\nexport { viewportUtils };\n\n// Future: colorUtils, validators\n// import * as colorUtils from './utils/colorUtils.js';\n// export { colorUtils };\n\n// ============================================================================\n// PDF Extraction Utilities\n// ============================================================================\n\n/**\n * PDF data extraction utilities for text and image blocks\n * Uses PDF.js getOperatorList() for efficient metadata extraction without rendering\n */\nimport { extractAllBlocks, extractMultiplePages } from './utils/pdfExtractor.js';\n\nexport { extractAllBlocks };\nexport { extractMultiplePages };\n\n// Alias for backwards compatibility and API consistency\nexport { extractAllBlocks as extractPDFBlocks };\n\n// ============================================================================\n// Type Definitions & Validators\n// ============================================================================\n\n// Type definitions in src/types/annotations.js\n\n/**\n * Type Validators - Optional data normalization\n *\n * Import separately to use defensive normalization for annotation data.\n * These validators are standalone utilities that do not modify the core system.\n */\nexport { normalizeAnnotationArray } from './types/validators.js';\n\n// Namespace export for all validator utilities\nexport * as TypeValidators from './types/index.js';\n\n// ============================================================================\n// Framework Adapters\n// ============================================================================\n// Declarative framework-specific wrappers for AnnotationRenderer\n// These provide idiomatic APIs for React, Vue, and other frameworks\n\n/**\n * React adapter component for declarative PDF annotation rendering\n * @see {@link AnnotPdf}\n */\nexport { AnnotPdf } from './adapters/index.js';\n\n// Future framework adapters will be exported here:\n// export { VuePdfViewer } from './adapters/index.js';\n// export { SveltePdfViewer } from './adapters/index.js';\n\n// ============================================================================\n// Package Metadata\n// ============================================================================\n\n/**\n * Library version\n * @constant {string}\n */\nexport const VERSION = '0.1.0';\n\n/**\n * Library name\n * @constant {string}\n */\nexport const LIB_NAME = 'web-annotation-renderer';\n"],"names":["VERSION","LIB_NAME"],"mappings":"wcAkHaA,EAAU,QAMVC,EAAW"}