File target.

The component#

html
<label class="grid cursor-pointer place-items-center gap-2 rounded-2xl border-2 border-dashed p-12 text-center hover:border-blue-500 hover:bg-blue-50 transition"><span class="text-3xl">📁</span><p class="font-medium">Drop files here</p></label>

Responsive & dark#

Add dark: twins to every surface and text color (bg-white dark:bg-slate-900, border-slate-200 dark:border-slate-800). Because this recipe is pure utilities, dark mode is a per-class decision — see concepts/dark-mode-strategies|dark mode strategies.

Customization#

  • Swap palette classes to re-theme instantly
  • Adjust radii (rounded-lg → rounded-2xl) for tone
  • Add transition + state variants for polish
  • Extract into a framework component when reused 3+ times

recipes/index|Recipe index · components/index|Design components