UploadKit
SDK@uploadkitdev/react

UploadStickyBoard

A Miro/FigJam-inspired corkboard where each uploaded file becomes a colored sticky note with random tilt.

Each uploaded file becomes a pastel-colored sticky note on a warm corkboard surface. Notes have random rotations, corner folds, and hover lift effects. Colors cycle through yellow, red, green, blue, purple, and orange. Playful and collaborative.

Design inspiration: Miro, FigJam, physical sticky notes.

motion is an optional peerDependency. Without it, notes appear with CSS transforms. pnpm add motion for spring-based entrance with rotation and whileHover lift.

Miro · FigJam — sticky note board

Basic usage

import { UploadStickyBoard } from '@uploadkitdev/react';

export default function Page() {
  return (
    <UploadStickyBoard
      route="noteUploader"
      maxFiles={12}
      onUploadComplete={(results) => {
        console.log('Notes posted:', results.length);
      }}
    />
  );
}

Props

PropTypeDefaultDescription
routestringRequired. Route name from your file router.
acceptstring[]Accepted MIME types.
maxSizenumberMaximum file size in bytes.
maxFilesnumberMaximum number of files.
metadataRecord<string, unknown>Metadata forwarded to the server.
onUploadComplete(results: UploadResult[]) => voidCalled after all files upload.
onUploadError(error: Error) => voidCalled on failure.
classNamestringAdditional CSS class(es).

Note colors

Colors cycle through: yellow (#fef08a), red (#fca5a5), green (#86efac), blue (#93c5fd), purple (#c4b5fd), orange (#fdba74).

Visual details

  • Corkboard surface with warm tan background
  • Each note: 100x100px, random rotation -6 to +6 degrees
  • Corner fold in top-right for tactile feel
  • Status dot: uploading (blue), success (green), error (red)
  • Progress bar at bottom of each note
  • Hover: lift effect with stronger shadow

Accessibility

  • Board is role="button" with keyboard support
  • "Add note" button in bottom-right
  • Respects prefers-reduced-motion

On this page