Skip to content
Velkin LogoVelkin Logo
Velkin
VELKIN/UI

Modern UI components for product teams and their AI agents. Lit core, typed wrappers, live MCP.

sales@velkinui.com

Product

  • Docs
  • Components
  • Studio
  • Pricing

Resources

  • Quick start
  • Blog
  • Changelog
  • Roadmap
  • Status

Project

  • About
  • Contact
  • License
  • Privacy
  • Terms

© 2026 Velkin. MIT core · Pro licenses available.

VELKIN

File Viewer

Pro

A file viewer component for previewing uploaded or linked files.

vu-file-viewer · @velkin/react-pro/file-viewer

Copy page

Import

React
npm i @velkin/react-pro

import { LicenseInfo } from "@velkin/license";
// Vite: import.meta.env.VITE_VELKIN_LICENSE_KEY
// Next: process.env.NEXT_PUBLIC_VELKIN_LICENSE_KEY
LicenseInfo.setLicenseKey(import.meta.env.VITE_VELKIN_LICENSE_KEY ?? process.env.NEXT_PUBLIC_VELKIN_LICENSE_KEY ?? "");

// @velkin-pro
import { VuFileViewer } from "@velkin/react-pro/file-viewer";

Examples

API

Props

PropTypeDefaultDescription
filepairIdstring""Paired picker id that matches `filepairid` on `<vu-file-picker>`.
srcSetstring[][]Direct URLs to preview before paired picker files.
emptyTextstring""Empty-state message shown when no previews are available.
layoutVuFileViewerLayout"grid"Preview layout mode (`grid` or `list`).
densityVuFileViewerDensity"default"Preview density (`compact`, `default`, `comfortable`); matches `<vu-file-picker density>`.
gridMinWidthnumber320Minimum grid column width (px) when auto columns are used.
gridColumnsnumber0Fixed grid column count (`0` uses auto-fill).
gapnumber16Spacing between preview cards (px).
showViewButtonbooleantrueShows per-file full-size preview action.
viewLabelstring""Label for the full-size preview action.
showRemoveFromPickerbooleantrueShows remove action for files from a paired picker.
removeLabelstring""Label for the remove-from-selection action.

Slots

SlotDescription
—- No slots are exposed; file previews are rendered internally.

CSS parts

PartDescription
panelRoot preview panel.
previews-rootContainer for all preview cards (grid or list).
file-itemOuter card (container query root for responsive list layout).
file-item-layoutInner flex row/column: preview + header.
file-headerFile name and plain-text meta line.
preview-stagePreview surface outer region (contains type chrome + viewport).
preview-toolbarPer-kind label row (icon + uppercase type) above the preview media.
preview-viewportInner area that holds `img`, `video`, `iframe`, `pre`, etc.
previewAlias of `preview-stage`.
metaPlain-text detail line under the file name.
imgImage preview (direct child of preview-stage).
videoVideo preview.
iframePDF preview.
audioAudio preview.
textText preview (`pre`).
model-viewer3D preview (`vu-model-viewer` for GLB/GLTF/STL/OBJ).
other“No inline preview” card when type is unsupported.
fullscreen-rootFixed full-viewport preview layer.
fullscreen-backdropDim + blur; click closes.
fullscreen-barTop row: filename (start) + close (end).
fullscreen-closeClose control.
fullscreen-contentThe file preview only (no inner type chrome).
downloadDownload action link.
view-buttonOpens the full-size preview dialog for that file.
remove-buttonRemoves this file from the paired `vu-file-picker` selection.

Methods

MethodDescription
refreshFromPairReloads preview files from the paired `vu-file-picker`.
clearClears loaded files and resets preview state.

Types

NameDefinition
VuFileViewerDensity
"default" | "compact" | "comfortable"
VuFileViewerLayout
"grid" | "list"

Related

Data display

  • AvatarAn avatar component with image, initials, icon, or custom content.
  • Avatar GroupAn avatar group component that stacks overlapping avatars.
  • BadgeA badge component for counts, status dots, and overlay marks.
  • ChipA chip component for tags and filters with dismiss or toggle actions.
  • Data TableA data table component with sorting, filtering, and selection.
  • DividerA divider component for horizontal or vertical layout separation.

Guides

  • Pro licenseLicenseInfo and Pro imports
  • AppearanceShared visual props
  • EventsSelection and change events

Browse

  • Previous: DividerEarlier in the sidebar
  • Next: FlowLater in the sidebar
  • All componentsBrowse the full index