HomeBookmarks
ExtendExtend
Extend

Extend

EXby Extend
13components29.3Kviews75bookmarks

Installs all 41 components. Without our CLI, run instead.

Auto-indexed

Extend contents

  • Layout Blocks

    Layout Blocks

  • Color PickerColor Picker

    Color Picker

  • AutocompleteAutocomplete

    Autocomplete

  • Command

    Command

  • Dialog

    Dialog

  • Bounding Box Citations

    Bounding Box Citations

  • Tabs

    Tabs

  • Tooltip

    Tooltip

  • Popover

    Popover

  • Separator

    Separator

  • Input

    Input

  • Spinner

    Spinner

  • PDF Viewer

    PDF Viewer

  • That's all 13 components

    About Extend

    Extend publishes a shadcn registry at ui.extend.ai, with 41 components installable through the shadcn CLI.

    Components
    41
    GitHub stars
    1,643
    Last commit
    Nov 9, 2026
    Repository
    extend-hq/ui

    Also in the Extend registry

    Copy a prompt for your agent, copy the install command, or open the docs that ship it.

    • Bounding Box Citations

      bounding-box-citations-block

      An extraction citation block linked to source PDF bounding boxes.

      1 file
    • CSV Viewer

      csv-viewer

      A CSV and TSV viewer with parsing, upload, search, zoom, theme-aware grid rendering, and Glide Data Grid.

      @glideapps/glide-data-grid@6.0.4-alpha24, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, papaparse@^5.5.31 file
    • document-controls

    • document-preview-card

    • document-scroll-area

    • Document Splits

      document-splits

      A split-group review panel for organizing pages into output documents.

      @dnd-kit/core@^6.3.1, @dnd-kit/sortable@^10.0.0, @dnd-kit/utilities@^3.2.2, @hugeicons/core-free-icons@^4.2.01 file
    • Document Splits

      document-splits-block

      A split-group review block for organizing PDF pages into output documents.

      1 file
    • document-toast

    • Document Viewer Sidebar

      document-viewer-sidebar

      Shared thumbnail sidebar behavior for document viewers, including viewer-width responsive overlay and inline modes.

      utils1 file
    • DOCX Editor

      docx-editor

      An experimental DOCX editor with a Word-style toolbar, page thumbnails, import, export, and live document mutation.

      @base-ui/react@^1.4.1, @extend-ai/react-docx@^0.8.2, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.62 files
    • DOCX Editor

      docx-editor-block

      A full DOCX editor block with a Word-style toolbar, page thumbnails, and export controls.

      1 file
    • DOCX Viewer

      docx-viewer

      A DOCX viewer with upload, zoom, theme controls, and read-only rendering.

      @extend-ai/react-docx@^0.8.2, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, @tanstack/react-virtual@^3.13.122 files
    • E-Signature

      A PDF signature review block with field overlays and signing actions.

      @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, pdf-lib@^1.17.1, signature_pad@^5.1.31 file
    • Excel Editor

      excel-editor

      A full Excel editor block with workbook upload, cell formatting, merge tools, sheets, zoom, and export controls.

      1 file
    • File System (Finder)

      file-system

      A macOS Finder-style file browser for flat object-store manifests with icon, list, column, and gallery views.

      @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, @pierre/trees@1.0.0-beta.41 file
    • File System (Finder)

      file-system-block

      A Finder-style file browser block that opens PDF, DOCX, PowerPoint, XLSX, and image files in large viewer dialogs.

      1 file
    • File Thumbnail

      file-thumbnail

      A compact file preview thumbnail shell for externally generated images, loading states, and fallback states.

      1 file
    • File Upload

      file-upload

      A drag-and-drop file upload surface with accepted file type icons and a compact file list.

      @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, border-beam@^1.0.11 file
    • Group

      A connected control group primitive for buttons, inputs, separators, and text addons.

      @base-ui/react@^1.4.1, class-variance-authority@^0.7.11 file
    • Kbd

      A keyboard shortcut display primitive.

      utils1 file
    • Layout Blocks

      layout-blocks-block

      A structured layout review block with confidence cards and PDF region overlays.

      1 file
    • layout-blocks-panel

      utils
    • PDF Block Resizable Shell

      pdf-block-resizable-shell

      A reusable resizable left document viewer and right review panel shell for PDF-style blocks.

      utils1 file
    • PDF Dropzone

      pdf-dropzone

      A PDF-only upload dropzone that opens the dropped file in the shared PDF viewer.

      @hugeicons/core-free-icons@^4.2.01 file
    • pdf-editor

    • pdf-editor-block

    • pdf-editor-core

    • PowerPoint Viewer

      pptx-viewer

      A PowerPoint viewer with slide navigation, zoom, upload, download, custom scroll areas, and virtualized thumbnails.

      @extend-ai/react-pptx@0.1.2, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.6, @tanstack/react-virtual@^3.13.121 file
    • registry-icon-props

    • Schema Builder

      schema-builder

      A JSON schema builder with form and JSON views for extraction schemas.

      @dnd-kit/core@^6.3.1, @dnd-kit/sortable@^10.0.0, @dnd-kit/utilities@^3.2.2, @hugeicons/core-free-icons@^4.2.01 file
    • Excel Editor

      xlsx-editor

      An experimental XLSX editor with formula input, undo and redo, sheet controls, export, and live workbook mutation.

      @extend-ai/react-xlsx@0.15.0, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.61 file
    • Excel Viewer

      xlsx-viewer

      An XLSX viewer with workbook loading, thumbnails, sheet tabs, upload, zoom, and theme controls.

      @extend-ai/react-xlsx@0.15.0, @hugeicons/core-free-icons@^4.2.0, @hugeicons/react@^1.1.61 file

    From the Extend readme

    Extend UI

    Extend UI is a set of open-source components for document agents, user-facing document flows, and internal tools.

    The library includes 14 components and examples for PDF, DOCX, and XLSX viewers, plus bounding box citations, file upload, file thumbnails, e-signature, document splitting, layout blocks, and Finder-style file browsing. Components are fully customizable, MIT licensed, and available through the shadcn component registry.

    Extend UI started as the internal component layer for Extend. We built it after evaluating existing file viewer and document component libraries and needing more complete, polished building blocks for document-heavy products. The components are maintained in production at Extend and are used across workflows that process millions of pages, so fixes and improvements continue to flow back into the project.

    Use Extend UI when you need document viewers, review surfaces, file-management interfaces, or agent-facing document tools without starting from a generic viewer library. Because each component is installed as source, it also works well with design-system agents and prototyping tools that need editable React and Tailwind code.

    Links

    • Documentation: https://www.extend.ai/ui
    • GitHub: extend-hq/ui
    • Registry namespace: @extend/*

    Getting Started

    Configure the style-aware registry in your components.json:

    {
      "registries": {
        "@extend": "https://www.extend.ai/ui/r/styles/{style}/{name}.json"
      }
    }
    

    Then install a component with the shadcn CLI:

    npx shadcn@latest add @extend/pdf-viewer
    

    Then render the installed component from your app:

    import { PDFViewer } from "@/components/extend/pdf-viewer"
    
    export default function Page() {
      return 
    }
    

    The react-pdf version of the PDF viewer is available at pdf-viewer.tsx.

    Extend UI components are copied into your project as source, so you can adapt them to your app. Shared primitives such as Button, Select, Dialog, and Tooltip are imported directly from your existing UI components. The registry selects Base or Radix source using your configured style and transforms icons for your selected icon library. Keep existing primitives when the CLI asks about overwriting them. If your project uses a different alias or design-system path, update the generated imports to match, for example changing @/components/ui/button or @/components/ui/select to your local primitive paths. You can also set those aliases in components.json before installing so new components are generated closer to your app structure.

    Use current shadcn primitive APIs. The historical default style is deprecated upstream and must be migrated before installing.

    Examples

    Layout Blocks

    Inspect OCR and layout output with selectable blocks, confidence, markdown text, and PDF overlays that stay connected to the rendered page.

    npx shadcn@latest add @extend/layout-blocks-block
    
    import type { ParsedOcrOutput } from "@/components/extend/layout-blocks"
    import { OcrBlocksBlock } from "@/components/blocks/layout-blocks-block"
    
    const output: ParsedOcrOutput = {
      chunks: [
        {
          blocks: [
            {
              id: "title",
              type: "heading",
              content: "Statement of Work",
              metadata: {
                page: { number: 1, width: 612, height: 792 },
                avgOcrConfidence: 0.99,
              },
              boundingBox: { left: 72, top: 96, right: 360, bottom: 124 },
            },
          ],
        },
      ],
    }
    
    export default function Page() {
      return 
    }
    

    Bounding Box Citations

    Review extracted values against the source PDF with field-level citations, editable form controls, JSON diffing, and page overlays.

    npx shadcn@latest add @extend/bounding-box-citations-block
    
    import type { ReviewField } from "@/components/extend/bounding-box-citations"
    import { HumanReviewBlock } from "@/components/blocks/bounding-box-citations-block"
    
    const fields: ReviewField[] = [
      {
        key: "invoice_total",
        schema: {
          type: "number",
          title: "Invoice total",
          description: "Total amount due on the invoice.",
        },
        actual: 1280.5,
        expected: 1280.5,
        location: {
          page: 1,
          area: { left: 62, top: 82, width: 22, height: 4 },
        },
      },
    ]
    
    export default function Page() {
      return (
        
      )
    }
    

    File System

    A Finder-style file browser for object-store manifests. It supports icon, list, column, and gallery views, and opens PDF, DOCX, XLSX, and image files in viewer dialogs.

    npx shadcn@latest add @extend/file-system-block
    
    import type { FileSystemItem } from "@/components/extend/file-system"
    import { FileSystemBlock } from "@/components/blocks/file-system-block"
    
    const items: FileSystemItem[] = [
      {
        kind: "folder",
        path: "reports/",
        hasChildren: true,
      },
      {
        kind: "file",
        path: "bank-statement.pdf",
        contentType: "application/pdf",
        url: "/documents/bank-statement.pdf",
        previewImageUrl: "/documents/bank-statement-preview.png",
      },
    ]
    
    export default function Page() {
      return (
        
            `/api/files/sign?path=${encodeURIComponent(file.path)}`
          }
          loadChildren={async ({ path }) => {
            const response = await fetch(
              `/api/files?prefix=${encodeURIComponent(path)}`
            )
            return response.json()
          }}
        />
      )
    }
    

    Popular Components

    npx shadcn@latest add @extend/pdf-viewer
    npx shadcn@latest add @extend/docx-viewer
    npx shadcn@latest add @extend/xlsx-viewer
    npx shadcn@latest add @extend/file-upload
    npx shadcn@latest add @extend/file-thumbnail
    npx shadcn@latest add @extend/e-signature
    

    Development

    Use Node.js 24.22.1, as specified in .nvmrc, before installing dependencies.

    pnpm install
    pnpm v4:dev
    

    The site runs at http://localhost:4000.

    Created By

    Extend UI is built and maintained by Extend for teams building modern document processing products.

    License

    Licensed under the MIT license.

    Read the rest on GitHub →

    What Extend builds on

    The packages and primitives its components pull in, counted across the registry.

    utils46

    Hooks and utilities

    • accordion
    • alert
    • aspect-ratio
    • badge
    • breadcrumb
    • button
    • card
    • collapsible
    • command
    • context-menu
    • dialog
    • dropdown-menu
    • input
    • popover
    • resizable
    • scroll-area
    • select
    • separator
    • sheet
    • sidebar
    • skeleton
    • sonner
    • switch
    • tabs
    • toast
    • toggle
    • tooltip
    • use-mobile

    What Extend shipped recently

    Every appearance and removal our crawl has seen in the registry index.

    • docx-layout-blocksaddedNov 6, 2026
    • layout-blocks-paneladdedNov 6, 2026
    • context-menuaddedOct 21, 2026
    • document-color-pickeraddedSep 14, 2026
    • document-color-popoveraddedSep 14, 2026
    • document-controlsaddedSep 14, 2026
    • document-preview-cardaddedSep 14, 2026
    • document-scroll-areaaddedSep 14, 2026
    • document-toastaddedSep 14, 2026
    • pdf-editoraddedSep 14, 2026
    • pdf-editor-blockaddedSep 14, 2026

    Browse every shadcn registry we track →

  • pdf-editor-coreaddedSep 14, 2026
  • registry-icon-propsaddedSep 14, 2026
  • switchaddedSep 14, 2026
  • toastaddedSep 14, 2026
    1. Components
    2. /
    3. Extend
    4. /
    5. Extend

    Related libraries

    Ruixen UI

    Ruixen UI

    by Ruixen UI

    347

    components

    Cnippet

    Cnippet

    by Cnippet

    347

    components

    shadcn/ui

    shadcn/ui

    by shadcn

    88

    components

    Jolly UI

    Jolly UI

    by James Shopland

    49

    components

    Origin UI

    Origin UI

    by Origin UI

    44

    components

    Tailark

    Tailark

    by Méschac Irung

    56

    components

    About Extend

    Extend is a component library on 21st.dev by Extend with 13 public React components. Every component ships with a live interactive preview and full TSX source — copy the code, install it through the shadcn CLI, or pull it into Cursor or Claude Code over MCP.

    All 13 Extend components

    • Autocomplete
    • Bounding Box Citations
    • Color Picker
    • Command
    • Dialog
    • Input
    • Layout Blocks
    • PDF Viewer
    • Popover
    • Separator
    • Spinner
    • Tabs
    • Tooltip

    Browse all component libraries →