SYMBOL INDEX (28 symbols across 8 files) FILE: app/api/toHtml/route.ts function POST (line 8) | async function POST(request: Request) { FILE: app/layout.tsx function RootLayout (line 12) | function RootLayout({ FILE: app/page.tsx function Home (line 16) | function Home() { function ExportButton (line 54) | function ExportButton({ setHtml }: { setHtml: (html: string) => void }) { FILE: components/PreviewModal.tsx function PreviewModal (line 9) | function PreviewModal({ type TabButtonProps (line 95) | interface TabButtonProps extends React.HTMLAttributes { function TabButton (line 99) | function TabButton({ active, ...buttonProps }: TabButtonProps) { FILE: lib/blobToBase64.ts function blobToBase64 (line 1) | function blobToBase64(blob: Blob) { FILE: lib/getBrowserCanvasMaxSize.ts type CanvasMaxSize (line 3) | type CanvasMaxSize = { function getBrowserCanvasMaxSize (line 11) | function getBrowserCanvasMaxSize() { function calculateBrowserCanvasMaxSize (line 19) | async function calculateBrowserCanvasMaxSize(): Promise { FILE: lib/getSvgAsImage.ts type TLCopyType (line 4) | type TLCopyType = "jpeg" | "json" | "png" | "svg"; type TLExportType (line 5) | type TLExportType = "jpeg" | "json" | "png" | "svg" | "webp"; function getSvgAsImage (line 10) | async function getSvgAsImage( function getSvgAsDataUrl (line 102) | async function getSvgAsDataUrl(svg: SVGElement) { function getSvgAsDataUrlSync (line 127) | function getSvgAsDataUrlSync(node: SVGElement) { FILE: lib/png.ts type BufferInput (line 1) | type BufferInput = string | ArrayBuffer | Buffer; type CRCCalculator (line 3) | interface CRCCalculator { constant TABLE (line 7) | let TABLE: Array | Int32Array = [ constant LEN_SIZE (line 68) | const LEN_SIZE = 4; constant CRC_SIZE (line 69) | const CRC_SIZE = 4; class PngHelpers (line 72) | class PngHelpers { method isPng (line 73) | static isPng(view: DataView, offset: number) { method getChunkType (line 89) | static getChunkType(view: DataView, offset: number) { method readChunks (line 98) | static readChunks(view: DataView, offset = 0) { method parsePhys (line 134) | static parsePhys(view: DataView, offset: number) { method findChunk (line 142) | static findChunk(view: DataView, type: string) { method setPhysChunk (line 147) | static setPhysChunk(view: DataView, dpr = 1, options?: BlobPropertyBag) {