Zinc
Slate
Violet
Rose
Emerald
Blue
Orange
Star
ESC
Components/File Upload & Dropzone

File Upload & Dropzone

Tier 2: Light-DOM

Drag-and-drop file uploader with clipboard paste, validation, and file list

Installation

$npx nnui add file-upload
copy

Interactive Preview & Code

📁

Drag and drop files here, or

Supports images, PDF, and ZIP up to 10 MB

    How to Utilize

    NNUI-KIT components live directly in the document Light DOM. You can use them via declarative HTML, with our first-class React wrapper, or platform-natively in Svelte, Vue, Astro, and HTMX:

    React 18 & 19 (Next.js 15 App Router)
    import 'nnui-kit/css';
    import 'nnui-kit/client';
    import { FileUploadDropzone } from 'nnui-kit/react';
    Universal Web Components (Vue 3, Svelte 5, Astro, HTMX)
    <!-- Automatically registers <ui-file-upload> and <nnui-file-upload> -->
    import 'nnui-kit/css';
    import 'nnui-kit/client';

    Platform Features

    Zero Shadow DOM
    Element lives in the Light DOM. Tailwind and global CSS apply directly.
    persist="url | local"
    Add declarative persistence attribute to auto-sync state with URL search params.
    sync="cross-tab"
    Synchronize changes across all open browser tabs via BroadcastChannel.