import "./spreadsheet_view.css"; import type * as React from "react"; import { Tabs } from "@base-ui/react/tabs"; import type { PreviewLabels } from "./file_preview"; import type { DisplayFile } from "./file_thumbnail"; import { type StyleProps } from "./style_props"; interface SpreadsheetViewProps extends StyleProps { file: DisplayFile; labels: PreviewLabels; onError?: (error: unknown, meta: { fileId: string; mimeType: string; }) => void; /** Forwarded to the byte fetch — `"include"` for the host's auth-gated proxy * URLs, omitted for an app's presigned URLs. See `FilePreviewProps`. */ credentials?: RequestCredentials; testID?: string; ref?: React.Ref; render?: Tabs.Root.Props["render"]; } /** * Read-only spreadsheet preview: parses Excel/CSV into a `WorkbookModel` and * paints it with the `@lotics/xlsx` canvas renderer. Virtual-scroll — a * transparent scroll layer (sized to the sheet) sits over a viewport-sized * canvas that redraws on scroll. No editing, ribbon, or selection. * * The sheet strip is a real WAI-ARIA tablist over Base UI's Tabs, so the arrows * move between sheets and the selected one is the strip's single tab stop. It * was a row of loose `role="tab"` elements with no list around them, which * announces a tab that belongs to nothing and answers no arrow key. */ export declare function SpreadsheetView(props: SpreadsheetViewProps): React.JSX.Element; export {};