$ -weight: 500;">npm -weight: 500;">install @smazeeapps/file-viewer react react-dom COMMAND_BLOCK: -weight: 500;">npm -weight: 500;">install @smazeeapps/file-viewer react react-dom COMMAND_BLOCK: -weight: 500;">npm -weight: 500;">install @smazeeapps/file-viewer react react-dom CODE_BLOCK: import { FileViewer } from "@smazeeapps/file-viewer"; export function PreviewPanel() { return ( <FileViewer src="https://example.com/files/report.pdf" fileName="report.pdf" height="800px" theme="light" /> ); } CODE_BLOCK: import { FileViewer } from "@smazeeapps/file-viewer"; export function PreviewPanel() { return ( <FileViewer src="https://example.com/files/report.pdf" fileName="report.pdf" height="800px" theme="light" /> ); } CODE_BLOCK: import { FileViewer } from "@smazeeapps/file-viewer"; export function PreviewPanel() { return ( <FileViewer src="https://example.com/files/report.pdf" fileName="report.pdf" height="800px" theme="light" /> ); } COMMAND_BLOCK: <FileViewer src={file} fileName={file.name} fileId={`sample:${file.name}`} onTextSelect={(payload) => { console.log(payload); }} /> COMMAND_BLOCK: <FileViewer src={file} fileName={file.name} fileId={`sample:${file.name}`} onTextSelect={(payload) => { console.log(payload); }} /> COMMAND_BLOCK: <FileViewer src={file} fileName={file.name} fileId={`sample:${file.name}`} onTextSelect={(payload) => { console.log(payload); }} /> CODE_BLOCK: { "file_name": "example.ts", "file_id": "sample:example.ts", "text": "function greet(name)", "page_number": 1, "line_number": "1" } CODE_BLOCK: { "file_name": "example.ts", "file_id": "sample:example.ts", "text": "function greet(name)", "page_number": 1, "line_number": "1" } CODE_BLOCK: { "file_name": "example.ts", "file_id": "sample:example.ts", "text": "function greet(name)", "page_number": 1, "line_number": "1" } - one FileViewer API - one consistent embedding pattern in your app - one place for search - one place for selection - one place for theming - one place for previewing documents, text, code, data, and images - review workflows - annotations - support investigation tools - document intelligence experiences - internal audit and compliance flows - a single FileViewer component API - support for remote file URLs - support for local browser File objects - automatic file-type detection from fileName - lazy-loaded format-specific viewers - keyboard-triggered search with Ctrl+F / Cmd+F - parent-driven search with searchMode - text selection callbacks through onTextSelect - light and dark theme support - TypeScript types for React integration - one browser-based preview flow for documents, code, data, text, and images - a safe unsupported-file fallback - Word documents: docx - PowerPoint files: ppt, pptx - Plain text and logs: txt, log - HTML: html, htm - Markdown: md, markdown - Excel: xls, xlsx - Images: png, jpg, jpeg, gif, webp, svg, bmp, ico - Code files: js, ts, tsx, jsx, py, java, cpp, c, go, rs, php, rb, css, scss, sql, yaml, yml, xml - admin panels - support dashboards - client portals - internal operations tools - engineering review tools - document workflows - data inspection interfaces - knowledge and compliance systems - Name: Naveen Kumar - Email: [email protected] - -weight: 500;">npm package: https://www.npmjs.com/package/@smazeeapps/file-viewer - GitHub https://github.com/smazeestudio/edithly-file-viewer