@cannyminds/dms-file-viewers 0.12.0 → 0.13.0
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/dist/{chunk-Y4PY5FOC.js → chunk-7QRYWFCO.js} +4 -4
- package/dist/{chunk-Y4PY5FOC.js.map → chunk-7QRYWFCO.js.map} +1 -1
- package/dist/{chunk-KBST5Z5H.mjs → chunk-7R2KG3PE.mjs} +2 -2
- package/dist/{chunk-7AUCINV2.mjs → chunk-CFYOPDCG.mjs} +2 -2
- package/dist/{chunk-57BAESSV.mjs → chunk-D74R4IKW.mjs} +2 -2
- package/dist/{chunk-VJFXCN5Z.mjs → chunk-DFBVN4MO.mjs} +5 -2
- package/dist/chunk-DFBVN4MO.mjs.map +1 -0
- package/dist/{chunk-ETHSDRF5.js → chunk-EXZCEYLI.js} +4 -4
- package/dist/{chunk-ETHSDRF5.js.map → chunk-EXZCEYLI.js.map} +1 -1
- package/dist/{chunk-FA5L62Y5.js → chunk-J3JKVSAM.js} +5 -2
- package/dist/chunk-J3JKVSAM.js.map +1 -0
- package/dist/{chunk-WNZHGFNC.mjs → chunk-NXVIRFGL.mjs} +2 -2
- package/dist/{chunk-THFHTTQX.mjs → chunk-P2VNW6OE.mjs} +2 -2
- package/dist/{chunk-NXKM7AKY.mjs → chunk-P5FH7LK7.mjs} +2 -2
- package/dist/{chunk-ORL5FTAW.mjs → chunk-PZJSY6OF.mjs} +51 -3
- package/dist/chunk-PZJSY6OF.mjs.map +1 -0
- package/dist/{chunk-LQVHD4FS.js → chunk-RVHIXSUP.js} +4 -4
- package/dist/{chunk-LQVHD4FS.js.map → chunk-RVHIXSUP.js.map} +1 -1
- package/dist/{chunk-QGM5J3SP.js → chunk-TGVFAAIP.js} +4 -4
- package/dist/{chunk-QGM5J3SP.js.map → chunk-TGVFAAIP.js.map} +1 -1
- package/dist/{chunk-RSCUIGVW.js → chunk-VOLQW3NF.js} +99 -51
- package/dist/chunk-VOLQW3NF.js.map +1 -0
- package/dist/{chunk-UUM656JE.js → chunk-VSGX22FQ.js} +4 -4
- package/dist/{chunk-UUM656JE.js.map → chunk-VSGX22FQ.js.map} +1 -1
- package/dist/{chunk-56PP5GHZ.js → chunk-WCAXWJE7.js} +4 -4
- package/dist/{chunk-56PP5GHZ.js.map → chunk-WCAXWJE7.js.map} +1 -1
- package/dist/components/viewers/AudioViewer.d.mts +1 -1
- package/dist/components/viewers/AudioViewer.d.ts +1 -1
- package/dist/components/viewers/AudioViewer.js +3 -3
- package/dist/components/viewers/AudioViewer.mjs +2 -2
- package/dist/components/viewers/DefaultViewer.d.mts +1 -1
- package/dist/components/viewers/DefaultViewer.d.ts +1 -1
- package/dist/components/viewers/DefaultViewer.js +3 -3
- package/dist/components/viewers/DefaultViewer.mjs +2 -2
- package/dist/components/viewers/ImageViewer.d.mts +1 -1
- package/dist/components/viewers/ImageViewer.d.ts +1 -1
- package/dist/components/viewers/ImageViewer.js +3 -3
- package/dist/components/viewers/ImageViewer.mjs +2 -2
- package/dist/components/viewers/PDFViewer.d.mts +4 -1
- package/dist/components/viewers/PDFViewer.d.ts +4 -1
- package/dist/components/viewers/PDFViewer.js +3 -3
- package/dist/components/viewers/PDFViewer.mjs +2 -2
- package/dist/components/viewers/TIFFViewer.d.mts +1 -1
- package/dist/components/viewers/TIFFViewer.d.ts +1 -1
- package/dist/components/viewers/TIFFViewer.js +3 -3
- package/dist/components/viewers/TIFFViewer.mjs +2 -2
- package/dist/components/viewers/TextViewer.d.mts +1 -1
- package/dist/components/viewers/TextViewer.d.ts +1 -1
- package/dist/components/viewers/TextViewer.js +3 -3
- package/dist/components/viewers/TextViewer.mjs +2 -2
- package/dist/components/viewers/VideoViewer.d.mts +1 -1
- package/dist/components/viewers/VideoViewer.d.ts +1 -1
- package/dist/components/viewers/VideoViewer.js +3 -3
- package/dist/components/viewers/VideoViewer.mjs +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -9
- package/dist/index.mjs +8 -8
- package/dist/{types-CQIoF7E1.d.mts → types-DNrkDJdK.d.mts} +1 -0
- package/dist/{types-CQIoF7E1.d.ts → types-DNrkDJdK.d.ts} +1 -0
- package/package.json +2 -2
- package/dist/chunk-FA5L62Y5.js.map +0 -1
- package/dist/chunk-ORL5FTAW.mjs.map +0 -1
- package/dist/chunk-RSCUIGVW.js.map +0 -1
- package/dist/chunk-VJFXCN5Z.mjs.map +0 -1
- /package/dist/{chunk-KBST5Z5H.mjs.map → chunk-7R2KG3PE.mjs.map} +0 -0
- /package/dist/{chunk-7AUCINV2.mjs.map → chunk-CFYOPDCG.mjs.map} +0 -0
- /package/dist/{chunk-57BAESSV.mjs.map → chunk-D74R4IKW.mjs.map} +0 -0
- /package/dist/{chunk-WNZHGFNC.mjs.map → chunk-NXVIRFGL.mjs.map} +0 -0
- /package/dist/{chunk-THFHTTQX.mjs.map → chunk-P2VNW6OE.mjs.map} +0 -0
- /package/dist/{chunk-NXKM7AKY.mjs.map → chunk-P5FH7LK7.mjs.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/viewers/PDFViewer.tsx","../src/components/viewers/pdf/StablePDFViewer.tsx","../src/components/viewers/pdf/PDFToolbar.tsx","../src/components/viewers/pdf/PDFHeader.tsx","../src/components/viewers/pdf/SearchSidebar.tsx","../src/components/viewers/pdf/PasswordDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState, forwardRef, useImperativeHandle } from 'react';\r\nimport { FileViewerProps } from '../../types';\r\nimport { getFileExtension } from '../../utils/fileUtils';\r\nimport { mergeToolbarConfig } from '../../utils/toolbarUtils';\r\nimport {\r\n StablePDFViewer,\r\n PDFToolbar,\r\n PDFHeader,\r\n SearchSidebar,\r\n PasswordDialog,\r\n toolbarStyles,\r\n type CannyMindsPDFViewerRef\r\n} from './pdf';\r\n\r\ntype LoadingState = 'idle' | 'loading' | 'ready' | 'error';\r\n\r\n/**\r\n * IMPORTANT: The @cannyminds/pdf-viewer navigation API is not fully implemented.\r\n * Methods like getCurrentPage(), getTotalPages(), goToPage() return hardcoded values.\r\n * This component implements custom page tracking using DOM inspection and search detection.\r\n */\r\n\r\ninterface PDFViewerContentProps extends FileViewerProps {\r\n sourceDescription: string;\r\n}\r\n\r\nexport interface PDFViewerMethods {\r\n zoomIn: () => void;\r\n zoomOut: () => void;\r\n setZoom: (level: number) => void;\r\n resetZoom: () => void;\r\n getZoom: () => number;\r\n goToPage: (page: number) => void;\r\n getCurrentPage: () => number;\r\n getTotalPages: () => number;\r\n nextPage: () => void;\r\n previousPage: () => void;\r\n goToFirstPage: () => void;\r\n goToLastPage: () => void;\r\n searchText: (keyword: string) => Promise<any>;\r\n nextResult: () => number;\r\n previousResult: () => number;\r\n goToResult: (index: number) => number;\r\n stopSearch: () => void;\r\n getSearchState: () => any;\r\n getSelectedText: () => string;\r\n clearSelection: () => void;\r\n}\r\n\r\n\r\nconst PDFViewerContent = forwardRef<PDFViewerMethods, PDFViewerContentProps>((props, ref) => {\r\n const {\r\n file,\r\n onLoad,\r\n onError,\r\n fileName,\r\n showPageCount = true,\r\n showPageNavigation = true,\r\n showZoomControls = true,\r\n showDownload = true,\r\n showPrint = true,\r\n showSearch = true,\r\n showMetadata = true,\r\n showProperties = true,\r\n onMetadataClick,\r\n onPropertiesClick,\r\n onDownloadClick,\r\n onPrintClick,\r\n initialSearchText,\r\n initialSearchPages\r\n } = props;\r\n const [pdfBuffer, setPdfBuffer] = useState<ArrayBuffer | null>(null);\r\n const [state, setState] = useState<LoadingState>('idle');\r\n const [error, setError] = useState<string | null>(null);\r\n const pdfViewerRef = useRef<CannyMindsPDFViewerRef>(null);\r\n\r\n // File info\r\n const resolvedFileName = useMemo(() => {\r\n if (fileName) return fileName;\r\n if (file instanceof File) return file.name;\r\n if (typeof file === 'string') {\r\n const urlParts = file.split('/');\r\n return urlParts[urlParts.length - 1] || 'document.pdf';\r\n }\r\n return 'document.pdf';\r\n }, [file, fileName]);\r\n\r\n const fileExtension = useMemo(\r\n () => getFileExtension(resolvedFileName),\r\n [resolvedFileName]\r\n );\r\n\r\n // Toolbar state\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [zoom, setZoom] = useState(100);\r\n const [searchQuery, setSearchQuery] = useState('');\r\n const [isSearching, setIsSearching] = useState(false);\r\n const [pdfContainer, setPdfContainer] = useState<HTMLElement | null>(null);\r\n const [isSidebarOpen, setIsSidebarOpen] = useState(false);\r\n const [searchResults, setSearchResults] = useState<any[]>([]);\r\n const [currentSearchResultIndex, setCurrentSearchResultIndex] = useState(0);\r\n const [totalSearchResults, setTotalSearchResults] = useState(0);\r\n const [autoExecuteSearch, setAutoExecuteSearch] = useState(!!initialSearchText);\r\n const [isFullScreen, setIsFullScreen] = useState(false);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n\r\n // Password dialog state\r\n const [isPasswordDialogOpen, setIsPasswordDialogOpen] = useState(false);\r\n const [passwordError, setPasswordError] = useState<string>('');\r\n const [passwordResolve, setPasswordResolve] = useState<((password: string | null) => void) | null>(null);\r\n\r\n const hasExecutedInitialSearch = useRef(false);\r\n\r\n const handleToggleFullScreen = useCallback(() => {\r\n if (!isFullScreen && containerRef.current?.requestFullscreen) {\r\n containerRef.current.requestFullscreen();\r\n setIsFullScreen(true);\r\n } else if (isFullScreen && document.exitFullscreen) {\r\n document.exitFullscreen();\r\n setIsFullScreen(false);\r\n }\r\n }, [isFullScreen]);\r\n\r\n // Handle sidebar close - clear all search state and highlighting\r\n const handleSidebarClose = useCallback(() => {\r\n setIsSidebarOpen(false);\r\n setSearchQuery('');\r\n setSearchResults([]);\r\n setTotalSearchResults(0);\r\n setCurrentSearchResultIndex(0);\r\n pdfViewerRef.current?.search.stopSearch(); // Stop search to remove highlighting\r\n }, []);\r\n\r\n const toolbar = mergeToolbarConfig({ \r\n showDownload, \r\n showPrint, \r\n showMetadata, \r\n showProperties, \r\n onDownloadClick, \r\n onPrintClick, \r\n onMetadataClick, \r\n onPropertiesClick, \r\n toolbarActions: props.toolbarActions \r\n });\r\n\r\n // Create stable callback handlers to prevent re-renders\r\n const toolbarHandlers = useMemo(() => ({\r\n handleZoomIn: () => {\r\n pdfViewerRef.current?.zoom.zoomIn();\r\n requestAnimationFrame(() => {\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n });\r\n },\r\n handleZoomOut: () => {\r\n pdfViewerRef.current?.zoom.zoomOut();\r\n requestAnimationFrame(() => {\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n });\r\n },\r\n handleFitToWidth: () => {\r\n pdfViewerRef.current?.zoom.fitToWidth();\r\n requestAnimationFrame(() => {\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n });\r\n },\r\n handleFitToPage: () => {\r\n pdfViewerRef.current?.zoom.fitToPage();\r\n requestAnimationFrame(() => {\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n });\r\n },\r\n handlePreviousPage: () => {\r\n pdfViewerRef.current?.navigation.previousPage();\r\n requestAnimationFrame(() => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n setCurrentPage(current);\r\n });\r\n },\r\n handleNextPage: () => {\r\n pdfViewerRef.current?.navigation.nextPage();\r\n requestAnimationFrame(() => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n setCurrentPage(current);\r\n });\r\n },\r\n handleFirstPage: () => {\r\n pdfViewerRef.current?.navigation.goToFirstPage();\r\n requestAnimationFrame(() => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n setCurrentPage(current);\r\n });\r\n },\r\n handleLastPage: () => {\r\n pdfViewerRef.current?.navigation.goToLastPage();\r\n requestAnimationFrame(() => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n setCurrentPage(current);\r\n });\r\n },\r\n toggleSidebar: () => {\r\n if (isSidebarOpen) {\r\n // Closing sidebar - clear search state\r\n handleSidebarClose();\r\n } else {\r\n // Opening sidebar\r\n setIsSidebarOpen(true);\r\n }\r\n },\r\n handlePageInput: (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const value = e.target.value;\r\n if (/^\\d*$/.test(value)) {\r\n return;\r\n }\r\n const page = parseInt(value, 10);\r\n if (!isNaN(page) && page >= 1 && (totalPages === 0 || page <= totalPages)) {\r\n pdfViewerRef.current?.navigation.goToPage(page);\r\n setCurrentPage(page);\r\n }\r\n },\r\n handlePageInputKeyPress: (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Enter') {\r\n const value = (e.target as HTMLInputElement).value;\r\n const page = parseInt(value, 10);\r\n if (!isNaN(page) && page >= 1 && (totalPages === 0 || page <= totalPages)) {\r\n pdfViewerRef.current?.navigation.goToPage(page);\r\n setCurrentPage(page);\r\n }\r\n }\r\n },\r\n handleToggleFullScreen\r\n }), [isSidebarOpen, totalPages, handleToggleFullScreen]);\r\n\r\n // Auto-execute initial search when PDF is ready\r\n useEffect(() => {\r\n console.log('came', initialSearchText, pdfViewerRef.current, hasExecutedInitialSearch.current, 'state:', state, 'totalPages:', totalPages);\r\n\r\n // Skip if no search text or already executed\r\n if (!initialSearchText || hasExecutedInitialSearch.current) return;\r\n\r\n // Validate all prerequisites are met\r\n const isPDFReady = state === 'ready';\r\n const isPagesInitialized = totalPages > 0;\r\n const isViewerAvailable = !!pdfViewerRef.current;\r\n const isSearchAPIReady = !!pdfViewerRef.current?.search?.searchText;\r\n\r\n const canExecuteSearch = isPDFReady && isPagesInitialized && isViewerAvailable && isSearchAPIReady;\r\n\r\n if (!canExecuteSearch) return;\r\n\r\n // Mark as executed to prevent duplicate runs\r\n hasExecutedInitialSearch.current = true;\r\n\r\n // Small delay to ensure render completes and search index is stable\r\n const SEARCH_INITIALIZATION_DELAY = 100;\r\n\r\n setTimeout(() => {\r\n // Safety check: Verify search API is still available\r\n if (!pdfViewerRef.current?.search?.searchText) {\r\n console.warn('Search API became unavailable, skipping initial search');\r\n hasExecutedInitialSearch.current = false;\r\n return;\r\n }\r\n\r\n // Execute search after render completes\r\n requestAnimationFrame(() => {\r\n requestAnimationFrame(() => {\r\n setIsSidebarOpen(true);\r\n handleSidebarSearch(initialSearchText, initialSearchPages);\r\n setAutoExecuteSearch(false);\r\n });\r\n });\r\n }, SEARCH_INITIALIZATION_DELAY);\r\n }, [state, totalPages, pdfViewerRef.current, initialSearchText, initialSearchPages]);\r\n\r\n // Reset all state when file changes\r\n useEffect(() => {\r\n // Reset search state\r\n setSearchQuery('');\r\n setSearchResults([]);\r\n setCurrentSearchResultIndex(0);\r\n setTotalSearchResults(0);\r\n setIsSearching(false);\r\n setIsSidebarOpen(false);\r\n hasExecutedInitialSearch.current = false;\r\n\r\n // Reset page state\r\n setCurrentPage(1);\r\n setTotalPages(0);\r\n setZoom(100);\r\n\r\n // Reset PDF state\r\n setState('idle');\r\n setError(null);\r\n setPdfBuffer(null);\r\n }, [file]);\r\n\r\n // Track the PDF container for page detection using MutationObserver\r\n useEffect(() => {\r\n if (state !== 'ready') return;\r\n\r\n const container = document.querySelector('[data-pdf-viewer], .embedpdf-viewport, [role=\"document\"]') as HTMLElement;\r\n if (container) {\r\n setPdfContainer(container);\r\n return;\r\n }\r\n\r\n // Use MutationObserver to wait for container to appear in DOM\r\n const observer = new MutationObserver(() => {\r\n const foundContainer = document.querySelector('[data-pdf-viewer], .embedpdf-viewport, [role=\"document\"]') as HTMLElement;\r\n if (foundContainer) {\r\n setPdfContainer(foundContainer);\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n observer.observe(document.body, { childList: true, subtree: true });\r\n return () => observer.disconnect();\r\n }, [state]);\r\n\r\n // Initialize page count after PDF loads - using async polling with exponential backoff\r\n useEffect(() => {\r\n if (state !== 'ready' || totalPages > 0) return;\r\n\r\n const initializePageCount = async () => {\r\n // Wait for viewer ref with exponential backoff\r\n const waitForViewer = async (maxAttempts = 10): Promise<typeof pdfViewerRef.current> => {\r\n for (let i = 0; i < maxAttempts; i++) {\r\n if (pdfViewerRef.current) return pdfViewerRef.current;\r\n await new Promise(resolve => requestAnimationFrame(() =>\r\n setTimeout(resolve, Math.min(100 * Math.pow(2, i), 1000))\r\n ));\r\n }\r\n return null;\r\n };\r\n\r\n const viewer = await waitForViewer();\r\n if (!viewer) return;\r\n\r\n // Wait for pages to render using requestAnimationFrame\r\n await new Promise(resolve => requestAnimationFrame(resolve));\r\n\r\n // Try navigation API first\r\n try {\r\n const count = viewer.navigation?.getTotalPages?.();\r\n if (count && count > 1) {\r\n setTotalPages(count);\r\n return;\r\n }\r\n } catch (e) {\r\n // Continue to fallback methods\r\n }\r\n\r\n // Fallback: Search for common character and count unique pages\r\n try {\r\n const results = await viewer.search?.searchText?.('e');\r\n\r\n if (results?.results && results.results.length > 0) {\r\n const pageIndices = results.results\r\n .map((m: any) => m.pageIndex as number)\r\n .filter((idx: any): idx is number => typeof idx === 'number');\r\n const count = Math.max(...pageIndices) + 1;\r\n viewer.search?.stopSearch?.();\r\n setTotalPages(count);\r\n return;\r\n }\r\n } catch (error) {\r\n // Continue to next method\r\n }\r\n\r\n // DOM inspection fallback - count rendered pages\r\n // Wait a bit for pages to render in DOM before checking\r\n await new Promise(resolve => setTimeout(resolve, 200));\r\n\r\n try {\r\n const selectors = [\r\n '[data-page-index]',\r\n '[data-page-number]',\r\n '.embedpdf-page',\r\n '[role=\"article\"]',\r\n 'canvas[data-page]',\r\n '.react-pdf__Page'\r\n ];\r\n\r\n for (const selector of selectors) {\r\n const pages = document.querySelectorAll(selector);\r\n if (pages.length > 0) {\r\n setTotalPages(pages.length);\r\n return;\r\n }\r\n }\r\n } catch (error) {\r\n // Continue to fallback\r\n }\r\n\r\n // If we still don't have a count, try one more time with navigation API\r\n try {\r\n const count = viewer.navigation?.getTotalPages?.();\r\n if (count && count > 0) {\r\n setTotalPages(count);\r\n return;\r\n }\r\n } catch (e) {\r\n // Final fallback\r\n }\r\n\r\n // Only set to 1 as last resort (this should rarely happen)\r\n console.warn('Could not determine total pages, using fallback value of 1');\r\n setTotalPages(1);\r\n };\r\n\r\n initializePageCount();\r\n }, [state, totalPages]);\r\n\r\n // Auto-execute search when initialSearchText is provided via props\r\n // useEffect(() => {\r\n // if (state !== 'ready' || !autoExecuteSearch || !initialSearchText) return;\r\n\r\n // // Use requestIdleCallback for better performance, fallback to rAF\r\n // const scheduleSearch = (callback: () => void) => {\r\n // if ('requestIdleCallback' in window) {\r\n // requestIdleCallback(callback, { timeout: 2000 });\r\n // } else {\r\n // requestAnimationFrame(() => setTimeout(callback, 0));\r\n // }\r\n // };\r\n\r\n // scheduleSearch(() => {\r\n // if (!pdfViewerRef.current) return;\r\n\r\n // setIsSidebarOpen(true);\r\n // setSearchQuery(initialSearchText);\r\n // handleSidebarSearch(initialSearchText, initialSearchPages);\r\n // setAutoExecuteSearch(false);\r\n // });\r\n // }, [state, autoExecuteSearch, initialSearchText, initialSearchPages]);\r\n\r\n // Update page info and search state periodically\r\n useEffect(() => {\r\n if (state === 'ready' && pdfViewerRef.current) {\r\n const updateInfo = () => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n const total = pdfViewerRef.current?.navigation.getTotalPages() || 0;\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n const currentSearchState = pdfViewerRef.current?.search.getSearchState();\r\n\r\n setCurrentPage(current);\r\n\r\n // Update total pages if we got a valid count\r\n if (total > 0 && total !== totalPages) {\r\n setTotalPages(total);\r\n }\r\n\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n };\r\n\r\n updateInfo();\r\n const interval = setInterval(updateInfo, 300);\r\n return () => clearInterval(interval);\r\n }\r\n }, [state, totalPages]);\r\n\r\n // Expose methods through ref\r\n useImperativeHandle(ref, () => ({\r\n zoomIn: () => {\r\n pdfViewerRef.current?.zoom.zoomIn();\r\n updateZoomDisplay();\r\n },\r\n zoomOut: () => {\r\n pdfViewerRef.current?.zoom.zoomOut();\r\n updateZoomDisplay();\r\n },\r\n setZoom: (level: number) => {\r\n pdfViewerRef.current?.zoom.setZoom(level);\r\n updateZoomDisplay();\r\n },\r\n resetZoom: () => {\r\n pdfViewerRef.current?.zoom.resetZoom();\r\n updateZoomDisplay();\r\n },\r\n getZoom: () => {\r\n const zoom = pdfViewerRef.current?.zoom.getZoom();\r\n return typeof zoom === 'number' ? zoom : 1.0;\r\n },\r\n goToPage: (page: number) => {\r\n pdfViewerRef.current?.navigation.goToPage(page);\r\n setCurrentPage(page);\r\n },\r\n getCurrentPage: () => pdfViewerRef.current?.navigation.getCurrentPage() || 1,\r\n getTotalPages: () => pdfViewerRef.current?.navigation.getTotalPages() || 0,\r\n nextPage: () => {\r\n pdfViewerRef.current?.navigation.nextPage();\r\n updatePageDisplay();\r\n },\r\n previousPage: () => {\r\n pdfViewerRef.current?.navigation.previousPage();\r\n updatePageDisplay();\r\n },\r\n goToFirstPage: () => {\r\n pdfViewerRef.current?.navigation.goToFirstPage();\r\n updatePageDisplay();\r\n },\r\n goToLastPage: () => {\r\n pdfViewerRef.current?.navigation.goToLastPage();\r\n updatePageDisplay();\r\n },\r\n searchText: async (keyword: string) => {\r\n setIsSearching(true);\r\n const results = await pdfViewerRef.current?.search.searchText(keyword);\r\n setIsSearching(false);\r\n setSearchQuery(keyword);\r\n // Search state will be updated by the interval\r\n return results;\r\n },\r\n nextResult: () => {\r\n const index = pdfViewerRef.current?.search.nextResult() || -1;\r\n return index;\r\n },\r\n previousResult: () => {\r\n const index = pdfViewerRef.current?.search.previousResult() || -1;\r\n return index;\r\n },\r\n goToResult: (index: number) => pdfViewerRef.current?.search.goToResult(index) || -1,\r\n stopSearch: () => {\r\n pdfViewerRef.current?.search.stopSearch();\r\n setSearchQuery('');\r\n },\r\n getSearchState: () => pdfViewerRef.current?.search.getSearchState() || null,\r\n getSelectedText: () => pdfViewerRef.current?.selection.getSelectedText() || '',\r\n clearSelection: () => pdfViewerRef.current?.selection.clearSelection(),\r\n }), []);\r\n\r\n const updatePageDisplay = () => {\r\n requestAnimationFrame(() => {\r\n const current = pdfViewerRef.current?.navigation.getCurrentPage() || 1;\r\n setCurrentPage(current);\r\n });\r\n };\r\n\r\n const updateZoomDisplay = () => {\r\n requestAnimationFrame(() => {\r\n const zoomValue = pdfViewerRef.current?.zoom.getZoom();\r\n if (typeof zoomValue === 'number') {\r\n setZoom(Math.round(zoomValue * 100));\r\n }\r\n });\r\n };\r\n\r\n\r\n const handleSearch = async () => {\r\n if (!searchQuery.trim()) return;\r\n\r\n setIsSearching(true);\r\n const results = await pdfViewerRef.current?.search.searchText(searchQuery);\r\n setIsSearching(false);\r\n\r\n // Validate and format results\r\n if (results?.results && Array.isArray(results.results) && results.results.length > 0) {\r\n const formattedResults = formatSearchResults(results.results);\r\n updateSearchState(formattedResults);\r\n } else {\r\n clearSearchResults();\r\n }\r\n };\r\n\r\n const handleSearchKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Enter') {\r\n handleSearch();\r\n }\r\n };\r\n\r\n const handleSidebarSearch = async (keyword: string, pageNumbers?: number[]) => {\r\n setSearchQuery(keyword);\r\n\r\n // Handle empty search - clear results\r\n if (!keyword.trim()) {\r\n setSearchResults([]);\r\n setTotalSearchResults(0);\r\n setCurrentSearchResultIndex(0);\r\n pdfViewerRef.current?.search.stopSearch();\r\n return;\r\n }\r\n\r\n // Verify search API is available\r\n if (!pdfViewerRef.current?.search?.searchText) {\r\n console.warn('Search functionality not yet available');\r\n return;\r\n }\r\n\r\n setIsSearching(true);\r\n\r\n try {\r\n // Execute PDF text search\r\n const results = await pdfViewerRef.current.search.searchText(keyword);\r\n console.log('Search completed:', results);\r\n setIsSearching(false);\r\n\r\n // Validate search results\r\n const hasValidResults =\r\n results?.results &&\r\n Array.isArray(results.results) &&\r\n results.results.length > 0;\r\n\r\n if (hasValidResults) {\r\n // Format and display PDF search results\r\n const formattedResults = formatSearchResults(results.results);\r\n updateSearchState(formattedResults);\r\n navigateToFirstResult(formattedResults);\r\n } else if (pageNumbers && pageNumbers.length > 0) {\r\n // Fallback: Use OCR-provided page numbers\r\n const fallbackResults = createFallbackResults(pageNumbers, keyword);\r\n updateSearchState(fallbackResults);\r\n navigateToPage(pageNumbers[0]);\r\n } else {\r\n // No results found\r\n clearSearchResults();\r\n }\r\n } catch (error) {\r\n console.error('Search failed:', error);\r\n setIsSearching(false);\r\n clearSearchResults();\r\n }\r\n };\r\n\r\n // Helper: Format raw search results into displayable format\r\n const formatSearchResults = (results: any[]) => {\r\n return results.map((result: any, index: number) => {\r\n let textContent = '';\r\n let contextContent = '';\r\n\r\n // Extract text based on result structure\r\n if (result.context && typeof result.context === 'object') {\r\n const { before = '', match = '', after = '' } = result.context;\r\n textContent = match;\r\n contextContent = `${before}${match}${after}`;\r\n } else if (typeof result === 'string') {\r\n textContent = result;\r\n contextContent = result;\r\n } else {\r\n textContent = String(result.match || result.text || '');\r\n contextContent = textContent;\r\n }\r\n\r\n return {\r\n pageNumber: (result.pageIndex ?? result.pageNumber ?? 0) + 1,\r\n text: textContent,\r\n context: contextContent,\r\n index: index\r\n };\r\n });\r\n };\r\n\r\n // Helper: Create fallback results from OCR page numbers\r\n const createFallbackResults = (pageNumbers: number[], keyword: string) => {\r\n return pageNumbers.map((pageNum, index) => ({\r\n pageNumber: pageNum,\r\n text: keyword,\r\n context: `\"${keyword}\" found on this page ${pageNum}`,\r\n index: index\r\n }));\r\n };\r\n\r\n // Helper: Update search state with results\r\n const updateSearchState = (results: any[]) => {\r\n setSearchResults(results);\r\n setTotalSearchResults(results.length);\r\n setCurrentSearchResultIndex(0);\r\n };\r\n\r\n // Helper: Clear search results\r\n const clearSearchResults = () => {\r\n setSearchResults([]);\r\n setTotalSearchResults(0);\r\n setCurrentSearchResultIndex(0);\r\n };\r\n\r\n // Helper: Navigate to first search result\r\n const navigateToFirstResult = (results: any[]) => {\r\n if (results.length > 0) {\r\n navigateToPage(results[0].pageNumber);\r\n }\r\n };\r\n\r\n // Helper: Navigate to specific page\r\n const navigateToPage = (pageNumber: number) => {\r\n requestAnimationFrame(() => {\r\n pdfViewerRef.current?.navigation.goToPage(pageNumber);\r\n setCurrentPage(pageNumber);\r\n });\r\n };\r\n\r\n const handleSearchResultClick = (pageNumber: number, resultIndex: number) => {\r\n // Navigate to the page first\r\n pdfViewerRef.current?.navigation.goToPage(pageNumber);\r\n setCurrentSearchResultIndex(resultIndex);\r\n setCurrentPage(pageNumber);\r\n\r\n // Then go to the specific result\r\n pdfViewerRef.current?.search.goToResult(resultIndex);\r\n };\r\n\r\n\r\n const handleNextSearchResult = () => {\r\n if (currentSearchResultIndex < totalSearchResults - 1) {\r\n const nextIndex = currentSearchResultIndex + 1;\r\n setCurrentSearchResultIndex(nextIndex);\r\n\r\n pdfViewerRef.current?.search.nextResult();\r\n\r\n // Navigate to the page of the next result\r\n if (searchResults[nextIndex]) {\r\n const pageNumber = searchResults[nextIndex].pageNumber;\r\n pdfViewerRef.current?.navigation.goToPage(pageNumber);\r\n setCurrentPage(pageNumber);\r\n }\r\n }\r\n };\r\n\r\n const handlePreviousSearchResult = () => {\r\n if (currentSearchResultIndex > 0) {\r\n const prevIndex = currentSearchResultIndex - 1;\r\n setCurrentSearchResultIndex(prevIndex);\r\n\r\n pdfViewerRef.current?.search.previousResult();\r\n\r\n // Navigate to the page of the previous result\r\n if (searchResults[prevIndex]) {\r\n const pageNumber = searchResults[prevIndex].pageNumber;\r\n pdfViewerRef.current?.navigation.goToPage(pageNumber);\r\n setCurrentPage(pageNumber);\r\n }\r\n }\r\n };\r\n\r\n // Load PDF from file\r\n useEffect(() => {\r\n if (!file) {\r\n setState('error');\r\n setError('No file provided');\r\n return;\r\n }\r\n\r\n const loadPDF = async () => {\r\n try {\r\n setState('loading');\r\n setError(null);\r\n\r\n let arrayBuffer: ArrayBuffer;\r\n\r\n if (file instanceof File) {\r\n arrayBuffer = await file.arrayBuffer();\r\n } else if (typeof file === 'string') {\r\n // Load from URL\r\n const response = await fetch(file);\r\n if (!response.ok) {\r\n throw new Error(`Failed to load PDF: ${response.statusText}`);\r\n }\r\n arrayBuffer = await response.arrayBuffer();\r\n } else if (file instanceof ArrayBuffer) {\r\n arrayBuffer = file;\r\n } else {\r\n throw new Error('Unsupported file type');\r\n }\r\n\r\n setPdfBuffer(arrayBuffer);\r\n setState('ready');\r\n onLoad?.();\r\n\r\n } catch (err: any) {\r\n const errorMessage = err.message || 'Failed to load PDF';\r\n setState('error');\r\n setError(errorMessage);\r\n onError?.(err);\r\n }\r\n };\r\n\r\n loadPDF();\r\n }, [file, onLoad, onError]);\r\n\r\n // Handle password request for encrypted PDFs\r\n const handlePasswordRequest = useCallback(async (fileName?: string): Promise<string | null> => {\r\n return new Promise((resolve) => {\r\n setPasswordResolve(() => resolve);\r\n setPasswordError('');\r\n setIsPasswordDialogOpen(true);\r\n });\r\n }, []);\r\n\r\n const handlePasswordSubmit = useCallback((password: string) => {\r\n if (passwordResolve) {\r\n passwordResolve(password);\r\n setPasswordResolve(null);\r\n setIsPasswordDialogOpen(false);\r\n setPasswordError('');\r\n }\r\n }, [passwordResolve]);\r\n\r\n const handlePasswordCancel = useCallback(() => {\r\n if (passwordResolve) {\r\n passwordResolve(null);\r\n setPasswordResolve(null);\r\n setIsPasswordDialogOpen(false);\r\n setPasswordError('');\r\n }\r\n }, [passwordResolve]);\r\n\r\n if (state === 'loading') {\r\n return (\r\n <div style={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: '100%',\r\n gap: '16px'\r\n }}>\r\n <div className=\"spinner\" style={{\r\n width: '48px',\r\n height: '48px',\r\n border: '4px solid #f3f3f3',\r\n borderTop: '4px solid #3498db',\r\n borderRadius: '50%',\r\n animation: 'spin 1s linear infinite'\r\n }} />\r\n <p>Loading PDF...</p>\r\n <style>{`\r\n @keyframes spin {\r\n 0% { transform: rotate(0deg); }\r\n 100% { transform: rotate(360deg); }\r\n }\r\n `}</style>\r\n </div>\r\n );\r\n }\r\n\r\n if (state === 'error' || error) {\r\n return (\r\n <div style={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: '100%',\r\n padding: '24px'\r\n }}>\r\n <div style={{\r\n maxWidth: '400px',\r\n padding: '16px',\r\n backgroundColor: '#fee',\r\n border: '1px solid #fcc',\r\n borderRadius: '4px'\r\n }}>\r\n <h3 style={{ marginTop: 0 }}>Failed to Load PDF</h3>\r\n <p>{error || 'Unknown error occurred'}</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n if (!pdfBuffer || state !== 'ready') {\r\n return (\r\n <div style={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: '100%'\r\n }}>\r\n <p>Preparing PDF...</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div ref={containerRef} className=\"pdf-viewer-container\">\r\n <style>{toolbarStyles}</style>\r\n\r\n {/* Header - File Info */}\r\n <PDFHeader\r\n fileName={resolvedFileName}\r\n fileExtension={fileExtension}\r\n />\r\n\r\n {/* Toolbar */}\r\n <PDFToolbar\r\n currentPage={currentPage}\r\n totalPages={totalPages}\r\n zoom={zoom}\r\n isSidebarOpen={isSidebarOpen}\r\n showPageNavigation={showPageNavigation}\r\n showPageCount={showPageCount}\r\n showZoomControls={showZoomControls}\r\n showSearch={showSearch}\r\n showMetadata={!toolbar.isHidden('metadata')}\r\n showProperties={!toolbar.isHidden('properties')}\r\n showDownload={!toolbar.isHidden('download')}\r\n showPrint={!toolbar.isHidden('print')}\r\n disabledMetadata={toolbar.isDisabled('metadata')}\r\n disabledProperties={toolbar.isDisabled('properties')}\r\n disabledDownload={toolbar.isDisabled('download')}\r\n disabledPrint={toolbar.isDisabled('print')}\r\n onFirstPage={toolbarHandlers.handleFirstPage}\r\n onPreviousPage={toolbarHandlers.handlePreviousPage}\r\n onNextPage={toolbarHandlers.handleNextPage}\r\n onLastPage={toolbarHandlers.handleLastPage}\r\n onPageInput={toolbarHandlers.handlePageInput}\r\n onPageInputKeyPress={toolbarHandlers.handlePageInputKeyPress}\r\n onZoomIn={toolbarHandlers.handleZoomIn}\r\n onZoomOut={toolbarHandlers.handleZoomOut}\r\n onFitToWidth={toolbarHandlers.handleFitToWidth}\r\n onFitToPage={toolbarHandlers.handleFitToPage}\r\n onToggleSidebar={toolbarHandlers.toggleSidebar}\r\n onToggleFullScreen={toolbarHandlers.handleToggleFullScreen}\r\n onDownloadClick={toolbar.getHandler('download', onDownloadClick)}\r\n onPrintClick={toolbar.getHandler('print', onPrintClick)}\r\n onMetadataClick={toolbar.getHandler('metadata', onMetadataClick)}\r\n onPropertiesClick={toolbar.getHandler('properties', onPropertiesClick)}\r\n />\r\n\r\n {/* Main Content Area with Sidebar */}\r\n <div className=\"pdf-viewer-main\">\r\n {/* PDF Viewer */}\r\n <div className=\"pdf-viewer-viewer-area\">\r\n <StablePDFViewer\r\n pdfBuffer={pdfBuffer}\r\n onPasswordRequest={handlePasswordRequest}\r\n pdfViewerRef={pdfViewerRef}\r\n />\r\n </div>\r\n\r\n {/* Search Sidebar */}\r\n <SearchSidebar\r\n isOpen={isSidebarOpen}\r\n onClose={handleSidebarClose}\r\n onSearch={handleSidebarSearch}\r\n onSearchResultClick={handleSearchResultClick}\r\n onNextResult={handleNextSearchResult}\r\n onPreviousResult={handlePreviousSearchResult}\r\n currentResultIndex={currentSearchResultIndex}\r\n totalResults={totalSearchResults}\r\n searchKeyword={searchQuery}\r\n searchResults={searchResults}\r\n isSearching={isSearching}\r\n />\r\n </div>\r\n\r\n {/* Password Dialog */}\r\n <PasswordDialog\r\n open={isPasswordDialogOpen}\r\n fileName={resolvedFileName}\r\n onSubmit={handlePasswordSubmit}\r\n onCancel={handlePasswordCancel}\r\n error={passwordError}\r\n />\r\n </div>\r\n );\r\n});\r\n\r\nPDFViewerContent.displayName = 'PDFViewerContent';\r\n\r\nexport const PDFViewer = forwardRef<PDFViewerMethods, FileViewerProps>((props, ref) => {\r\n return <PDFViewerContent {...props} sourceDescription=\"doc.pdf\" ref={ref} />;\r\n});\r\n\r\nPDFViewer.displayName = 'PDFViewer';\r\n","import React from 'react';\nimport { PDFViewer as HeadlessPDFViewerImport } from '@cannyminds/pdf-viewer';\n\n// Ensure we have a valid component\nconst HeadlessPDFViewer: any = HeadlessPDFViewerImport;\n\ninterface CannyMindsPDFViewerRef {\n zoom: {\n zoomIn: () => void;\n zoomOut: () => void;\n setZoom: (level: number) => void;\n resetZoom: () => void;\n getZoom: () => number | any;\n fitToWidth: () => void;\n fitToPage: () => void;\n };\n navigation: {\n goToPage: (page: number) => void;\n getCurrentPage: () => number;\n getTotalPages: () => number;\n nextPage: () => void;\n previousPage: () => void;\n goToFirstPage: () => void;\n goToLastPage: () => void;\n };\n selection: {\n clearSelection: () => void;\n getSelectedText: () => string;\n };\n search: {\n searchText: (keyword: string) => Promise<any>;\n nextResult: () => number;\n previousResult: () => number;\n goToResult: (index: number) => number;\n stopSearch: () => void;\n startSearch: () => void;\n getSearchState: () => any;\n setShowAllResults: (show: boolean) => void;\n };\n document?: {\n isReady: () => boolean;\n isLoading: () => boolean;\n hasPassword: () => boolean;\n getDocumentInfo: () => any;\n };\n scroll?: {\n scrollToPage: (page: number) => void;\n };\n}\n\ninterface StablePDFViewerProps {\n pdfBuffer: ArrayBuffer;\n onPasswordRequest: (fileName?: string) => Promise<string | null>;\n pdfViewerRef: React.RefObject<CannyMindsPDFViewerRef | null>;\n}\n\n// Stable PDF Viewer Component - only re-renders when PDF data changes\nexport const StablePDFViewer = React.memo<StablePDFViewerProps>(({ \n pdfBuffer, \n onPasswordRequest, \n pdfViewerRef \n}) => {\n return (\n <HeadlessPDFViewer\n ref={pdfViewerRef}\n pdfBuffer={pdfBuffer}\n onPasswordRequest={onPasswordRequest}\n />\n );\n});\n\nStablePDFViewer.displayName = 'StablePDFViewer';\n\nexport type { CannyMindsPDFViewerRef };","import React from 'react';\r\nimport FirstPageIcon from '@mui/icons-material/FirstPage';\r\nimport LastPageIcon from '@mui/icons-material/LastPage';\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\r\nimport ZoomInIcon from '@mui/icons-material/ZoomIn';\r\nimport ZoomOutIcon from '@mui/icons-material/ZoomOut';\r\nimport FitScreenIcon from '@mui/icons-material/FitScreen';\r\nimport AspectRatioIcon from '@mui/icons-material/AspectRatio';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\r\nimport DownloadIcon from '@mui/icons-material/Download';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\nimport DescriptionIcon from '@mui/icons-material/Description';\r\n\r\ninterface PDFToolbarProps {\r\n currentPage: number;\r\n totalPages: number;\r\n zoom: number;\r\n isSidebarOpen: boolean;\r\n showPageNavigation: boolean;\r\n showPageCount: boolean;\r\n showZoomControls: boolean;\r\n showSearch: boolean;\r\n showMetadata: boolean;\r\n showProperties: boolean;\r\n showDownload: boolean;\r\n showPrint: boolean;\r\n disabledMetadata?: boolean;\r\n disabledProperties?: boolean;\r\n disabledDownload?: boolean;\r\n disabledPrint?: boolean;\r\n onFirstPage: () => void;\r\n onPreviousPage: () => void;\r\n onNextPage: () => void;\r\n onLastPage: () => void;\r\n onPageInput: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onPageInputKeyPress: (e: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onZoomIn: () => void;\r\n onZoomOut: () => void;\r\n onFitToWidth: () => void;\r\n onFitToPage: () => void;\r\n onToggleSidebar: () => void;\r\n onToggleFullScreen: () => void;\r\n onDownloadClick?: () => void;\r\n onPrintClick?: () => void;\r\n onMetadataClick?: () => void;\r\n onPropertiesClick?: () => void;\r\n}\r\n\r\nexport const PDFToolbar = React.memo<PDFToolbarProps>(({\r\n currentPage,\r\n totalPages,\r\n zoom,\r\n isSidebarOpen,\r\n showPageNavigation,\r\n showPageCount,\r\n showZoomControls,\r\n showSearch,\r\n showMetadata,\r\n showProperties,\r\n showDownload,\r\n showPrint,\r\n disabledMetadata,\r\n disabledProperties,\r\n disabledDownload,\r\n disabledPrint,\r\n onFirstPage,\r\n onPreviousPage,\r\n onNextPage,\r\n onLastPage,\r\n onPageInput,\r\n onPageInputKeyPress,\r\n onZoomIn,\r\n onZoomOut,\r\n onFitToWidth,\r\n onFitToPage,\r\n onToggleSidebar,\r\n onToggleFullScreen,\r\n onDownloadClick,\r\n onPrintClick,\r\n onMetadataClick,\r\n onPropertiesClick\r\n}) => {\r\n return (\r\n <div className=\"pdf-viewer-toolbar\">\r\n {showPageNavigation && (\r\n <>\r\n <div className=\"toolbar-separator\"></div>\r\n <div className=\"toolbar-section\">\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onFirstPage}\r\n disabled={currentPage <= 1}\r\n title=\"First Page\"\r\n >\r\n <FirstPageIcon fontSize=\"small\" />\r\n </button>\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onPreviousPage}\r\n disabled={currentPage <= 1}\r\n title=\"Previous Page\"\r\n >\r\n <ChevronLeftIcon fontSize=\"small\" />\r\n </button>\r\n <input\r\n type=\"number\"\r\n className=\"page-input\"\r\n value={currentPage}\r\n onChange={onPageInput}\r\n onKeyPress={onPageInputKeyPress}\r\n min={1}\r\n max={totalPages || undefined}\r\n />\r\n {showPageCount && <span className=\"page-info\">of {totalPages || '...'}</span>}\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onNextPage}\r\n disabled={currentPage >= totalPages}\r\n title=\"Next Page\"\r\n >\r\n <ChevronRightIcon fontSize=\"small\" />\r\n </button>\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onLastPage}\r\n disabled={currentPage >= totalPages}\r\n title=\"Last Page\"\r\n >\r\n <LastPageIcon fontSize=\"small\" />\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n\r\n {showZoomControls && (\r\n <>\r\n <div className=\"toolbar-separator\"></div>\r\n <div className=\"toolbar-section\">\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onZoomOut}\r\n title=\"Zoom Out\"\r\n >\r\n <ZoomOutIcon fontSize=\"small\" />\r\n </button>\r\n <span className=\"zoom-display\">{zoom}%</span>\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onZoomIn}\r\n title=\"Zoom In\"\r\n >\r\n <ZoomInIcon fontSize=\"small\" />\r\n </button>\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onFitToWidth}\r\n title=\"Fit to Width\"\r\n >\r\n <AspectRatioIcon fontSize=\"small\" />\r\n </button>\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onFitToPage}\r\n title=\"Fit to Page\"\r\n >\r\n <FitScreenIcon fontSize=\"small\" />\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n\r\n {showSearch && (\r\n <>\r\n <div className=\"toolbar-separator\"></div>\r\n <div className=\"toolbar-section\">\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onToggleSidebar}\r\n title=\"Search in PDF\"\r\n style={{\r\n backgroundColor: isSidebarOpen ? '#e3f2fd' : 'transparent',\r\n color: isSidebarOpen ? '#1976d2' : 'inherit'\r\n }}\r\n >\r\n <SearchIcon fontSize=\"small\" />\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n\r\n <div className=\"toolbar-separator\"></div>\r\n <div className=\"toolbar-section\">\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onToggleFullScreen}\r\n title=\"Fullscreen\"\r\n >\r\n <FullscreenIcon fontSize=\"small\" />\r\n </button>\r\n </div>\r\n\r\n {(showMetadata || showProperties || showDownload || showPrint) && (\r\n <>\r\n <div className=\"toolbar-separator\"></div>\r\n <div className=\"toolbar-section\">\r\n {showDownload && (\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onDownloadClick}\r\n disabled={disabledDownload}\r\n title=\"Download PDF\"\r\n >\r\n <DownloadIcon fontSize=\"small\" />\r\n </button>\r\n )}\r\n {showPrint && (\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onPrintClick}\r\n disabled={disabledPrint}\r\n title=\"Print PDF\"\r\n >\r\n <PrintIcon fontSize=\"small\" />\r\n </button>\r\n )}\r\n {showMetadata && (\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onMetadataClick}\r\n disabled={disabledMetadata}\r\n title=\"Document Metadata\"\r\n >\r\n <DescriptionIcon fontSize=\"small\" />\r\n </button>\r\n )}\r\n {showProperties && (\r\n <button\r\n className=\"toolbar-button\"\r\n onClick={onPropertiesClick}\r\n disabled={disabledProperties}\r\n title=\"Document Properties\"\r\n >\r\n <InfoIcon fontSize=\"small\" />\r\n </button>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n});\r\n\r\nPDFToolbar.displayName = 'PDFToolbar';","import React from 'react';\nimport FileIcon from '../../FileIcon';\n\ninterface PDFHeaderProps {\n fileName: string;\n fileExtension: string;\n}\n\nexport const PDFHeader = React.memo<PDFHeaderProps>(({ fileName, fileExtension }) => {\n return (\n <div className=\"pdf-viewer-header\">\n <FileIcon ext={fileExtension} size={26} />\n <div className=\"header-file-name\" title={fileName}>\n {fileName}\n </div>\n </div>\n );\n});\n\nPDFHeader.displayName = 'PDFHeader';","import React, { useState, useLayoutEffect, useEffect, useRef } from 'react';\r\nimport {\r\n Box,\r\n Typography,\r\n TextField,\r\n IconButton,\r\n InputAdornment,\r\n Divider,\r\n CircularProgress\r\n} from '@mui/material';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';\r\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\r\nimport ClearIcon from '@mui/icons-material/Clear';\r\nimport FindInPageIcon from '@mui/icons-material/FindInPage';\r\n\r\ninterface SearchResult {\r\n pageNumber: number;\r\n text: string;\r\n context: string;\r\n index: number;\r\n}\r\n\r\ninterface SearchSidebarProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onSearch: (keyword: string) => void;\r\n onSearchResultClick: (pageNumber: number, resultIndex: number) => void;\r\n onNextResult: () => void;\r\n onPreviousResult: () => void;\r\n currentResultIndex: number;\r\n totalResults: number;\r\n searchKeyword: string;\r\n searchResults?: SearchResult[];\r\n isSearching?: boolean;\r\n isSyntheticResults?: boolean; // Indicates results are from OCR/document analysis\r\n}\r\n\r\nexport const SearchSidebar: React.FC<SearchSidebarProps> = ({\r\n isOpen,\r\n onClose,\r\n onSearch,\r\n onSearchResultClick,\r\n onNextResult,\r\n onPreviousResult,\r\n currentResultIndex,\r\n totalResults,\r\n searchKeyword,\r\n searchResults = [],\r\n isSearching = false,\r\n isSyntheticResults = false\r\n}) => {\r\n const [searchTerm, setSearchTerm] = useState(searchKeyword || '');\r\n const [hasSearched, setHasSearched] = useState(false);\r\n const contentRef = useRef<HTMLDivElement>(null);\r\n\r\n // Sync local search term with prop changes (for URL-based auto-search)\r\n useEffect(() => {\r\n if (searchKeyword && searchKeyword !== searchTerm) {\r\n setSearchTerm(searchKeyword);\r\n }\r\n }, [searchKeyword]);\r\n\r\n // Scrollbar hover handler\r\n useLayoutEffect(() => {\r\n const element = contentRef.current;\r\n if (!element) return;\r\n\r\n const handleMouseMove = (e: MouseEvent) => {\r\n const rect = element.getBoundingClientRect();\r\n const distanceFromRight = rect.right - e.clientX;\r\n const distanceFromBottom = rect.bottom - e.clientY;\r\n\r\n if (distanceFromRight <= 15 || distanceFromBottom <= 15) {\r\n element.classList.add('scrollbar-hover');\r\n } else {\r\n element.classList.remove('scrollbar-hover');\r\n }\r\n };\r\n\r\n const handleMouseLeave = () => element.classList.remove('scrollbar-hover');\r\n\r\n element.addEventListener('mousemove', handleMouseMove);\r\n element.addEventListener('mouseleave', handleMouseLeave);\r\n\r\n return () => {\r\n element.removeEventListener('mousemove', handleMouseMove);\r\n element.removeEventListener('mouseleave', handleMouseLeave);\r\n };\r\n }, []);\r\n\r\n // Inject scrollbar styles\r\n useLayoutEffect(() => {\r\n const style = document.createElement('style');\r\n style.id = 'search-sidebar-scrollbar';\r\n style.textContent = `\r\n @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Tamil:wght@400;600&family=Noto+Sans+Devanagari:wght@400;600&display=swap');\r\n \r\n .search-sidebar-content::-webkit-scrollbar {\r\n width: 12px;\r\n height: 12px;\r\n }\r\n .search-sidebar-content::-webkit-scrollbar-track {\r\n background-color: transparent;\r\n }\r\n .search-sidebar-content::-webkit-scrollbar-thumb {\r\n background-color: rgba(128, 128, 128, 0.3);\r\n border-radius: 8px;\r\n border: 4px solid transparent;\r\n background-clip: padding-box;\r\n transition: all 0.15s ease;\r\n }\r\n .search-sidebar-content.scrollbar-hover::-webkit-scrollbar-thumb {\r\n background-color: rgba(128, 128, 128, 0.5);\r\n border: 2px solid transparent;\r\n }\r\n .search-sidebar-content::-webkit-scrollbar-thumb:active {\r\n background-color: rgba(25, 118, 210, 0.8);\r\n border: 1px solid transparent;\r\n }\r\n\r\n @media (prefers-color-scheme: dark) {\r\n .search-sidebar-content::-webkit-scrollbar-thumb {\r\n background-color: rgba(255, 255, 255, 0.2);\r\n }\r\n .search-sidebar-content.scrollbar-hover::-webkit-scrollbar-thumb {\r\n background-color: rgba(255, 255, 255, 0.35);\r\n }\r\n }\r\n \r\n /* Tamil font support for search results */\r\n .search-result-text {\r\n font-family: 'Noto Sans Tamil', 'Noto Sans Devanagari', Arial, sans-serif !important;\r\n }\r\n `;\r\n document.head.appendChild(style);\r\n return () => {\r\n const el = document.getElementById('search-sidebar-scrollbar');\r\n if (el) el.remove();\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n setSearchTerm(searchKeyword || '');\r\n if (searchKeyword || searchResults.length > 0) {\r\n setHasSearched(true);\r\n }\r\n }, [searchKeyword, searchResults]);\r\n\r\n const handleSearchSubmit = (e?: React.FormEvent) => {\r\n if (e) e.preventDefault();\r\n\r\n if (searchTerm.trim()) {\r\n setHasSearched(true);\r\n onSearch(searchTerm.trim());\r\n }\r\n };\r\n\r\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const value = e.target.value;\r\n setSearchTerm(value);\r\n\r\n if (!value.trim()) {\r\n setHasSearched(false);\r\n onSearch('');\r\n }\r\n };\r\n\r\n const handleClearSearch = () => {\r\n setSearchTerm('');\r\n setHasSearched(false);\r\n onSearch('');\r\n };\r\n\r\n // Group results by page\r\n const resultsByPage = searchResults.reduce((acc, result) => {\r\n if (!acc[result.pageNumber]) {\r\n acc[result.pageNumber] = [];\r\n }\r\n acc[result.pageNumber].push(result);\r\n return acc;\r\n }, {} as Record<number, SearchResult[]>);\r\n\r\n const highlightText = (text: any, keyword: string) => {\r\n if (!keyword) return text;\r\n\r\n const textString = typeof text === 'string' ? text : String(text || '');\r\n if (!textString) return text;\r\n\r\n try {\r\n const escapedKeyword = keyword.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\r\n const regex = new RegExp(`(${escapedKeyword})`, 'gi');\r\n const parts = textString.split(regex);\r\n\r\n return parts.map((part, index) =>\r\n regex.test(part) ? (\r\n <Box\r\n component=\"span\"\r\n key={index}\r\n sx={{\r\n color: 'primary.main',\r\n fontWeight: 600,\r\n fontSize: 'inherit'\r\n }}\r\n >\r\n {part}\r\n </Box>\r\n ) : (\r\n part\r\n )\r\n );\r\n } catch (error) {\r\n // Return plain text if highlighting fails\r\n return textString;\r\n }\r\n };\r\n\r\n if (!isOpen) return null;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n width: '320px',\r\n backgroundColor: 'background.paper',\r\n borderLeft: '1px solid',\r\n borderColor: 'divider',\r\n overflow: 'hidden'\r\n }}\r\n >\r\n {/* Header */}\r\n <Box sx={{ px: 3, py: 2.5, backgroundColor: 'background.default' }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', mb: 2 }}>\r\n <Typography variant=\"h6\" sx={{ fontSize: '1.125rem', fontWeight: 600, color: 'text.primary' }}>\r\n Search\r\n </Typography>\r\n <IconButton\r\n size=\"small\"\r\n onClick={onClose}\r\n sx={{\r\n color: 'text.secondary',\r\n padding: '6px'\r\n }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n\r\n {/* Search Input */}\r\n <form onSubmit={handleSearchSubmit}>\r\n <TextField\r\n fullWidth\r\n size=\"medium\"\r\n placeholder=\"Search in document...\"\r\n value={searchTerm}\r\n onChange={handleSearchChange}\r\n autoComplete=\"off\"\r\n InputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n <SearchIcon sx={{ color: 'text.disabled', fontSize: 20 }} />\r\n </InputAdornment>\r\n ),\r\n endAdornment: searchTerm && (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleClearSearch}\r\n sx={{\r\n color: 'text.secondary',\r\n padding: '4px',\r\n '&:hover': {\r\n backgroundColor: 'action.hover'\r\n }\r\n }}\r\n >\r\n <ClearIcon sx={{ fontSize: 18 }} />\r\n </IconButton>\r\n </InputAdornment>\r\n )\r\n }}\r\n sx={{\r\n '& .MuiOutlinedInput-root': {\r\n fontSize: '0.9375rem',\r\n backgroundColor: 'background.paper',\r\n borderRadius: '8px',\r\n '& fieldset': {\r\n borderColor: 'divider'\r\n },\r\n '&.Mui-focused fieldset': {\r\n borderColor: 'primary.main',\r\n borderWidth: '2px'\r\n }\r\n },\r\n '& .MuiInputBase-input': {\r\n padding: '10px 14px'\r\n }\r\n }}\r\n />\r\n </form>\r\n\r\n {/* Results Summary and Navigation */}\r\n {totalResults > 0 && (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n mt: 2,\r\n pt: 2,\r\n borderTop: '1px solid',\r\n borderColor: 'divider'\r\n }}\r\n >\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', fontSize: '0.875rem', fontWeight: 500 }}>\r\n {currentResultIndex + 1} of {totalResults} results\r\n </Typography>\r\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\r\n <IconButton\r\n size=\"small\"\r\n onClick={onPreviousResult}\r\n disabled={currentResultIndex <= 0}\r\n sx={{\r\n color: currentResultIndex <= 0 ? 'text.disabled' : 'primary.main',\r\n padding: '6px',\r\n borderRadius: '6px',\r\n border: '1px solid',\r\n borderColor: currentResultIndex <= 0 ? 'divider' : 'primary.main'\r\n }}\r\n >\r\n <KeyboardArrowUpIcon sx={{ fontSize: 20 }} />\r\n </IconButton>\r\n <IconButton\r\n size=\"small\"\r\n onClick={onNextResult}\r\n disabled={currentResultIndex >= totalResults - 1}\r\n sx={{\r\n color: currentResultIndex >= totalResults - 1 ? 'text.disabled' : 'primary.main',\r\n padding: '6px',\r\n borderRadius: '6px',\r\n border: '1px solid',\r\n borderColor: currentResultIndex >= totalResults - 1 ? 'divider' : 'primary.main'\r\n }}\r\n >\r\n <KeyboardArrowDownIcon sx={{ fontSize: 20 }} />\r\n </IconButton>\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <Divider />\r\n\r\n {/* Search Results */}\r\n <Box ref={contentRef} className=\"search-sidebar-content\" sx={{\r\n flex: 1,\r\n overflow: 'auto',\r\n backgroundColor: 'background.default'\r\n }}>\r\n {!searchTerm && !hasSearched && (\r\n <Box sx={{ p: 4, textAlign: 'center', mt: 6 }}>\r\n <Box\r\n sx={{\r\n width: 80,\r\n height: 80,\r\n borderRadius: '50%',\r\n backgroundColor: 'action.hover',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: '0 auto',\r\n mb: 3\r\n }}\r\n >\r\n <SearchIcon sx={{ fontSize: 40, color: 'text.disabled' }} />\r\n </Box>\r\n <Typography variant=\"body1\" sx={{ color: 'text.primary', fontWeight: 500, mb: 1 }}>\r\n Search in Document\r\n </Typography>\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', lineHeight: 1.6 }}>\r\n Enter keywords to find text within the PDF document\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n {searchTerm && !hasSearched && !isSearching && (\r\n <Box sx={{ p: 4, textAlign: 'center', mt: 6 }}>\r\n <Box\r\n sx={{\r\n width: 80,\r\n height: 80,\r\n borderRadius: '50%',\r\n backgroundColor: 'primary.light',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: '0 auto',\r\n mb: 3,\r\n opacity: 0.2\r\n }}\r\n >\r\n <FindInPageIcon sx={{ fontSize: 40, color: 'primary.main' }} />\r\n </Box>\r\n <Typography variant=\"body1\" sx={{ color: 'text.primary', fontWeight: 500, mb: 1 }}>\r\n Ready to Search\r\n </Typography>\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', mb: 2, lineHeight: 1.6 }}>\r\n Press Enter to find\r\n </Typography>\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n color: 'white',\r\n fontWeight: 600,\r\n backgroundColor: (theme) => theme.palette.mode === 'dark'\r\n ? 'rgba(144, 202, 249, 0.16)'\r\n : 'primary.light',\r\n padding: '6px 16px',\r\n borderRadius: '16px',\r\n display: 'inline-block',\r\n opacity: 0.9\r\n }}\r\n >\r\n \"{searchTerm}\"\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n {isSearching && (\r\n <Box sx={{ p: 4, textAlign: 'center', mt: 6 }}>\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: '0 auto',\r\n mb: 3\r\n }}\r\n >\r\n <CircularProgress size={60} thickness={4} />\r\n </Box>\r\n <Typography variant=\"body1\" sx={{ color: 'text.primary', fontWeight: 500, mb: 1 }}>\r\n Searching...\r\n </Typography>\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', lineHeight: 1.6 }}>\r\n Finding matches for \"{searchTerm}\"\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n {hasSearched && totalResults === 0 && !isSearching && (\r\n <Box sx={{ p: 4, textAlign: 'center', mt: 6 }}>\r\n <Box\r\n sx={{\r\n width: 80,\r\n height: 80,\r\n borderRadius: '50%',\r\n backgroundColor: (theme) => theme.palette.mode === 'dark'\r\n ? 'rgba(255, 152, 0, 0.12)'\r\n : 'warning.light',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: '0 auto',\r\n mb: 3,\r\n opacity: 0.6\r\n }}\r\n >\r\n <SearchIcon sx={{ fontSize: 40, color: 'warning.main' }} />\r\n </Box>\r\n <Typography variant=\"body1\" sx={{ color: 'text.primary', fontWeight: 500, mb: 1 }}>\r\n No Results Found\r\n </Typography>\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', lineHeight: 1.6 }}>\r\n No matches found for <strong>\"{searchTerm}\"</strong>\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n {totalResults > 0 && (\r\n <Box sx={{ p: 2 }}>\r\n {Object.keys(resultsByPage)\r\n .sort((a, b) => parseInt(a) - parseInt(b))\r\n .map((pageNum) => {\r\n const pageNumber = parseInt(pageNum);\r\n const pageResults = resultsByPage[pageNumber];\r\n\r\n return (\r\n <Box key={pageNumber} sx={{ mb: 3 }}>\r\n {/* Page Header */}\r\n <Typography\r\n variant=\"subtitle2\"\r\n sx={{\r\n color: 'text.secondary',\r\n mb: 1.5,\r\n px: 1,\r\n fontSize: '0.8125rem',\r\n fontWeight: 600,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.5px'\r\n }}\r\n >\r\n Page {pageNumber}\r\n </Typography>\r\n\r\n {/* Results for this page */}\r\n {pageResults.map((result: SearchResult, index: number) => (\r\n <Box\r\n key={index}\r\n onClick={() => onSearchResultClick(result.pageNumber, result.index)}\r\n sx={{\r\n p: 2,\r\n mx: 1,\r\n mb: 1.5,\r\n borderRadius: '8px',\r\n border: '2px solid',\r\n borderColor: result.index === currentResultIndex ? 'primary.main' : 'divider',\r\n backgroundColor: 'background.paper',\r\n cursor: 'pointer',\r\n transition: 'all 0.2s ease',\r\n boxShadow: (theme) => theme.palette.mode === 'dark'\r\n ? '0 1px 3px rgba(0, 0, 0, 0.3)'\r\n : '0 1px 3px rgba(0, 0, 0, 0.05)',\r\n '&:hover': {\r\n borderColor: 'primary.main',\r\n boxShadow: (theme) => theme.palette.mode === 'dark'\r\n ? '0 2px 8px rgba(255, 255, 255, 0.15)'\r\n : '0 2px 8px rgba(0, 0, 0, 0.1)',\r\n transform: 'translateY(-1px)'\r\n }\r\n }}\r\n >\r\n <Typography\r\n variant=\"body2\"\r\n className=\"search-result-text\"\r\n sx={{\r\n fontSize: '0.875rem',\r\n lineHeight: 1.6,\r\n color: result.index === currentResultIndex ? 'text.primary' : 'text.secondary'\r\n }}\r\n >\r\n {highlightText(result.context, searchTerm)}\r\n </Typography>\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport {\r\n Dialog,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions,\r\n TextField,\r\n Button,\r\n Typography,\r\n IconButton,\r\n InputAdornment,\r\n Box,\r\n Alert\r\n} from '@mui/material';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport LockIcon from '@mui/icons-material/Lock';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\n\r\ninterface PasswordDialogProps {\r\n open: boolean;\r\n fileName?: string;\r\n onSubmit: (password: string) => void;\r\n onCancel: () => void;\r\n error?: string;\r\n}\r\n\r\nexport const PasswordDialog: React.FC<PasswordDialogProps> = ({\r\n open,\r\n fileName,\r\n onSubmit,\r\n onCancel,\r\n error\r\n}) => {\r\n const [password, setPassword] = useState('');\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n // Reset password when dialog opens/closes\r\n useEffect(() => {\r\n if (open) {\r\n setPassword('');\r\n setShowPassword(false);\r\n }\r\n }, [open]);\r\n\r\n const handleSubmit = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n if (password.trim()) {\r\n onSubmit(password);\r\n }\r\n };\r\n\r\n const handleTogglePasswordVisibility = () => {\r\n setShowPassword(!showPassword);\r\n };\r\n\r\n const handleKeyPress = (e: React.KeyboardEvent) => {\r\n if (e.key === 'Enter' && password.trim()) {\r\n handleSubmit(e as any);\r\n }\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onCancel}\r\n maxWidth=\"sm\"\r\n fullWidth\r\n PaperProps={{\r\n sx: {\r\n borderRadius: 2\r\n }\r\n }}\r\n >\r\n <DialogTitle sx={{ pb: 1 }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>\r\n <Box\r\n sx={{\r\n width: 40,\r\n height: 40,\r\n borderRadius: '50%',\r\n backgroundColor: 'primary.light',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n opacity: 0.9\r\n }}\r\n >\r\n <LockIcon sx={{ color: 'white', fontSize: 20 }} />\r\n </Box>\r\n <Typography variant=\"h6\" component=\"div\" sx={{ fontWeight: 600 }}>\r\n Password Protected\r\n </Typography>\r\n </Box>\r\n <IconButton\r\n size=\"small\"\r\n onClick={onCancel}\r\n sx={{ color: 'text.secondary' }}\r\n aria-label=\"Close dialog\"\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </DialogTitle>\r\n\r\n <DialogContent sx={{ pt: 2 }}>\r\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', mb: 3 }}>\r\n This PDF is password protected. Please enter the password to view{' '}\r\n {fileName && <strong>\"{fileName}\"</strong>}\r\n </Typography>\r\n\r\n {error && (\r\n <Alert severity=\"error\" sx={{ mb: 2 }}>\r\n {error}\r\n </Alert>\r\n )}\r\n\r\n <form onSubmit={handleSubmit}>\r\n <TextField\r\n fullWidth\r\n autoFocus\r\n type={showPassword ? 'text' : 'password'}\r\n label=\"Password\"\r\n placeholder=\"Enter password\"\r\n value={password}\r\n onChange={(e) => setPassword(e.target.value)}\r\n onKeyPress={handleKeyPress}\r\n error={Boolean(error)}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n onClick={handleTogglePasswordVisibility}\r\n edge=\"end\"\r\n size=\"small\"\r\n aria-label={showPassword ? 'Hide password' : 'Show password'}\r\n >\r\n {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}\r\n </IconButton>\r\n </InputAdornment>\r\n )\r\n }}\r\n sx={{\r\n '& .MuiOutlinedInput-root': {\r\n borderRadius: 2\r\n }\r\n }}\r\n />\r\n </form>\r\n </DialogContent>\r\n\r\n <DialogActions sx={{ px: 3, pb: 3, pt: 2 }}>\r\n <Button\r\n onClick={onCancel}\r\n variant=\"outlined\"\r\n sx={{\r\n borderRadius: 2,\r\n textTransform: 'none',\r\n px: 3\r\n }}\r\n >\r\n Cancel\r\n </Button>\r\n <Button\r\n onClick={handleSubmit}\r\n variant=\"contained\"\r\n disabled={!password.trim()}\r\n sx={{\r\n borderRadius: 2,\r\n textTransform: 'none',\r\n px: 3,\r\n boxShadow: 2\r\n }}\r\n >\r\n Unlock PDF\r\n </Button>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};"],"mappings":"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","names":["useEffect","useRef","useState","React","jsx","React","jsx","jsxs","React","SearchIcon","jsx","jsxs","useState","useEffect","TextField","Typography","IconButton","InputAdornment","Box","CloseIcon","jsx","jsxs","jsx","jsxs","useState","useRef","useEffect","error","zoom","fileName"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-RSCUIGVW.js"],"names":[],"mappings":"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AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,wBAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,wBAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,sBAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,sBAAA;AACA,sBAAA;AACA;AACA;AACA;AACA;AACA,QAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,sBAAA;AACA,sBAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,oBAAA;AACA,oBAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,oBAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,oBAAA;AACA,sBAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,sBAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,oBAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\Projects\\DMS-File-Viewers\\packages\\lib\\dist\\chunk-RSCUIGVW.js","sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/toolbarUtils.ts","../src/components/FileIcon.tsx"],"sourcesContent":["import { ToolbarActionsConfig, FileViewerProps } from '../types';\r\n\r\n/**\r\n * Merges legacy toolbar props with new toolbarActions config\r\n * Priority: toolbarActions > legacy props\r\n */\r\nexport function mergeToolbarConfig(props: FileViewerProps): {\r\n isHidden: (actionId: string) => boolean;\r\n isDisabled: (actionId: string) => boolean;\r\n getHandler: (actionId: string, defaultHandler?: () => void) => (() => void) | undefined;\r\n getIcon: (actionId: string) => React.ReactNode | undefined;\r\n getLabel: (actionId: string) => string | undefined;\r\n} {\r\n const { toolbarActions = {} } = props;\r\n\r\n // Map legacy props to action IDs\r\n const legacyVisibility: Record<string, boolean | undefined> = {\r\n download: props.showDownload,\r\n print: props.showPrint,\r\n search: props.showSearch,\r\n metadata: props.showMetadata,\r\n properties: props.showProperties,\r\n pageNavigation: props.showPageNavigation,\r\n zoomControls: props.showZoomControls,\r\n pageCount: props.showPageCount,\r\n };\r\n\r\n const legacyHandlers: Record<string, (() => void) | undefined> = {\r\n download: props.onDownloadClick,\r\n print: props.onPrintClick,\r\n metadata: props.onMetadataClick,\r\n properties: props.onPropertiesClick,\r\n };\r\n\r\n return {\r\n isHidden: (actionId: string) => {\r\n // Check toolbarActions first - if explicitly set, use it\r\n if (toolbarActions[actionId]?.hidden !== undefined) {\r\n return toolbarActions[actionId].hidden!;\r\n }\r\n // If toolbarActions has disabled set (meaning user wants to show it), don't hide\r\n if (toolbarActions[actionId]?.disabled !== undefined) {\r\n return false;\r\n }\r\n // Fall back to legacy props (if false, it means hidden)\r\n if (legacyVisibility[actionId] !== undefined) {\r\n return !legacyVisibility[actionId];\r\n }\r\n return false;\r\n },\r\n\r\n isDisabled: (actionId: string) => {\r\n // If toolbarActions explicitly sets disabled, use it\r\n if (toolbarActions[actionId]?.disabled !== undefined) {\r\n return toolbarActions[actionId].disabled!;\r\n }\r\n return false;\r\n },\r\n\r\n getHandler: (actionId: string, defaultHandler?: () => void) => {\r\n // Priority: toolbarActions > legacy handlers > default\r\n return toolbarActions[actionId]?.onClick ?? legacyHandlers[actionId] ?? defaultHandler;\r\n },\r\n\r\n getIcon: (actionId: string) => {\r\n return toolbarActions[actionId]?.icon;\r\n },\r\n\r\n getLabel: (actionId: string) => {\r\n return toolbarActions[actionId]?.label;\r\n },\r\n };\r\n}\r\n","import React from 'react';\r\n\r\ninterface FileIconProps {\r\n ext?: string;\r\n size?: number;\r\n sx?: React.CSSProperties;\r\n}\r\n\r\nconst FileIcon: React.FC<FileIconProps> = ({ ext, size = 48, sx = {} }) => {\r\n const extension = (ext?.toLowerCase().replace(/^\\./, '')) || '';\r\n\r\n const getIconConfig = (extension: string) => {\r\n switch (extension) {\r\n case 'pdf':\r\n return { color: '#d32f2f', bgColor: '#ffebee', label: 'PDF' };\r\n case 'doc':\r\n case 'docx':\r\n return { color: '#1976d2', bgColor: '#e3f2fd', label: extension.toUpperCase() };\r\n case 'xls':\r\n case 'xlsx':\r\n return { color: '#388e3c', bgColor: '#e8f5e8', label: extension.toUpperCase() };\r\n case 'ppt':\r\n case 'pptx':\r\n return { color: '#f57c00', bgColor: '#fff3e0', label: extension.toUpperCase() };\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'png':\r\n case 'gif':\r\n case 'svg':\r\n case 'webp':\r\n case 'bmp':\r\n case 'tiff':\r\n case 'tif':\r\n return { color: '#7b1fa2', bgColor: '#f3e5f5', label: extension.toUpperCase() };\r\n case 'mp4':\r\n case 'avi':\r\n case 'mov':\r\n case 'wmv':\r\n case 'webm':\r\n case 'mkv':\r\n return { color: '#c2185b', bgColor: '#fce4ec', label: extension.toUpperCase() };\r\n case 'mp3':\r\n case 'wav':\r\n case 'flac':\r\n case 'aac':\r\n case 'ogg':\r\n case 'm4a':\r\n return { color: '#303f9f', bgColor: '#e8eaf6', label: extension.toUpperCase() };\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'tar':\r\n case 'gz':\r\n return { color: '#f9a825', bgColor: '#fffde7', label: extension.toUpperCase() };\r\n case 'txt':\r\n case 'md':\r\n case 'csv':\r\n return { color: '#424242', bgColor: '#f5f5f5', label: extension.toUpperCase() };\r\n case 'js':\r\n case 'jsx':\r\n case 'ts':\r\n case 'tsx':\r\n case 'html':\r\n case 'css':\r\n case 'json':\r\n case 'xml':\r\n case 'py':\r\n case 'java':\r\n case 'cpp':\r\n case 'c':\r\n return { color: '#424242', bgColor: '#f5f5f5', label: extension.toUpperCase() };\r\n default:\r\n return { color: '#757575', bgColor: '#fafafa', label: extension ? extension.toUpperCase() : 'FILE' };\r\n }\r\n };\r\n\r\n const iconConfig = getIconConfig(extension);\r\n\r\n const getSVGIcon = (ext: string) => {\r\n const iconSize = size * 0.6;\r\n \r\n switch (ext) {\r\n case 'pdf':\r\n case 'doc':\r\n case 'docx':\r\n case 'ppt':\r\n case 'pptx':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"14,2 14,8 20,8\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n <polyline points=\"10,9 9,9 8,9\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n </svg>\r\n );\r\n case 'xls':\r\n case 'xlsx':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"14,2 14,8 20,8\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <line x1=\"8\" y1=\"13\" x2=\"16\" y2=\"13\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n <line x1=\"8\" y1=\"17\" x2=\"16\" y2=\"17\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"21\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n </svg>\r\n );\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'png':\r\n case 'gif':\r\n case 'svg':\r\n case 'webp':\r\n case 'bmp':\r\n case 'tiff':\r\n case 'tif':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"21,15 16,10 5,21\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n case 'mp4':\r\n case 'avi':\r\n case 'mov':\r\n case 'wmv':\r\n case 'webm':\r\n case 'mkv':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <polygon points=\"23 12 8 2 8 22 23 12\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <rect x=\"1\" y=\"5\" width=\"6\" height=\"14\" rx=\"1\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n case 'mp3':\r\n case 'wav':\r\n case 'flac':\r\n case 'aac':\r\n case 'ogg':\r\n case 'm4a':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18V5l12-2v13\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <circle cx=\"6\" cy=\"18\" r=\"3\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <circle cx=\"18\" cy=\"16\" r=\"3\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'tar':\r\n case 'gz':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"10\" rx=\"2\" ry=\"2\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <circle cx=\"12\" cy=\"16\" r=\"1\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n case 'txt':\r\n case 'md':\r\n case 'csv':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"14,2 14,8 20,8\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" stroke={iconConfig.color} strokeWidth=\"2\"/>\r\n </svg>\r\n );\r\n case 'js':\r\n case 'jsx':\r\n case 'ts':\r\n case 'tsx':\r\n case 'html':\r\n case 'css':\r\n case 'json':\r\n case 'xml':\r\n case 'py':\r\n case 'java':\r\n case 'cpp':\r\n case 'c':\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <polyline points=\"16 18 22 12 16 6\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"8 6 2 12 8 18\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n default:\r\n return (\r\n <svg width={iconSize} height={iconSize} viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n <polyline points=\"14,2 14,8 20,8\" stroke={iconConfig.color} strokeWidth=\"2\" fill=\"none\"/>\r\n </svg>\r\n );\r\n }\r\n };\r\n\r\n const containerStyle: React.CSSProperties = {\r\n position: 'relative',\r\n display: 'inline-flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n ...sx\r\n };\r\n\r\n const iconBoxStyle: React.CSSProperties = {\r\n position: 'relative',\r\n width: size,\r\n height: size,\r\n backgroundColor: iconConfig.bgColor,\r\n borderRadius: '8px',\r\n border: '1px solid rgba(0, 0, 0, 0.12)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n transition: 'all 0.2s ease-in-out',\r\n cursor: 'default'\r\n };\r\n\r\n const labelStyle: React.CSSProperties = {\r\n position: 'absolute',\r\n bottom: '-4px',\r\n right: '-4px',\r\n padding: '2px 4px',\r\n backgroundColor: '#ffffff',\r\n border: '1px solid rgba(0, 0, 0, 0.12)',\r\n borderRadius: '4px',\r\n boxShadow: '0px 2px 4px rgba(0, 0, 0, 0.1)',\r\n fontSize: '10px',\r\n fontWeight: 600,\r\n color: iconConfig.color,\r\n lineHeight: 1,\r\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif'\r\n };\r\n\r\n return (\r\n <div style={containerStyle}>\r\n <div \r\n style={iconBoxStyle}\r\n onMouseEnter={(e) => {\r\n e.currentTarget.style.boxShadow = '0px 4px 8px rgba(0, 0, 0, 0.12)';\r\n e.currentTarget.style.transform = 'translateY(-1px)';\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.boxShadow = 'none';\r\n e.currentTarget.style.transform = 'translateY(0)';\r\n }}\r\n >\r\n {getSVGIcon(extension)}\r\n <div style={labelStyle}>\r\n {iconConfig.label}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FileIcon;\r\n"],"mappings":"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","names":["extension","ext"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|