Drag & Drop

Sortable lists, kanban boards, and file drop zones with neumorphic drag states.

Sortable List

Drag items to reorder. Items lift with a raised shadow when dragged, and the target shows an inset effect.

Design homepage mockup
Write API documentation
Review pull requests
Fix navigation bug
Deploy to staging
<div class="sui-sortable">
  <div class="sui-sortable-item">Design homepage mockup</div>
  <div class="sui-sortable-item">Write API documentation</div>
  <div class="sui-sortable-item">Review pull requests</div>
  <div class="sui-sortable-item">Fix navigation bug</div>
  <div class="sui-sortable-item">Deploy to staging</div>
</div>

With Handle

Add a .sui-sortable-handle inside each item. Only the grip icon initiates the drag.

Set up CI/CD pipeline
Migrate database schema
Add unit tests
Performance audit
<div class="sui-sortable">
  <div class="sui-sortable-item">
    <span class="sui-sortable-handle">
      <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
        <circle cx="5" cy="3" r="1.5"/>
        <circle cx="11" cy="3" r="1.5"/>
        <circle cx="5" cy="8" r="1.5"/>
        <circle cx="11" cy="8" r="1.5"/>
        <circle cx="5" cy="13" r="1.5"/>
        <circle cx="11" cy="13" r="1.5"/>
      </svg>
    </span>
    <span>Set up CI/CD pipeline</span>
  </div>
  <div class="sui-sortable-item">
    <span class="sui-sortable-handle">...</span>
    <span>Migrate database schema</span>
  </div>
  <!-- more items... -->
</div>

Kanban Board

Drag cards between columns. Drop zones highlight with a primary border when a card hovers over them.

To Do
Research competitors
Create wireframes
Write test cases
In Progress
Build component library
Design system tokens
Done
Project setup
Define color palette
<div class="sui-kanban">
  <div class="sui-kanban-col">
    <div class="sui-kanban-col-header">To Do</div>
    <div class="sui-kanban-col-body">
      <div class="sui-kanban-card">Research competitors</div>
      <div class="sui-kanban-card">Create wireframes</div>
      <div class="sui-kanban-card">Write test cases</div>
    </div>
  </div>
  <div class="sui-kanban-col">
    <div class="sui-kanban-col-header">In Progress</div>
    <div class="sui-kanban-col-body">
      <div class="sui-kanban-card">Build component library</div>
      <div class="sui-kanban-card">Design system tokens</div>
    </div>
  </div>
  <div class="sui-kanban-col">
    <div class="sui-kanban-col-header">Done</div>
    <div class="sui-kanban-col-body">
      <div class="sui-kanban-card">Project setup</div>
      <div class="sui-kanban-card">Define color palette</div>
    </div>
  </div>
</div>

Drop Zone

A file upload area that highlights when files are dragged over it. Dropped files appear as a list below.

Click to upload or drag and drop
PNG, JPG, PDF up to 10MB
<div class="sui-dropzone">
  <svg class="sui-dropzone-icon" viewBox="0 0 24 24" fill="none"
    stroke="currentColor" stroke-width="1.5">
    <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
    <polyline points="17 8 12 3 7 8"/>
    <line x1="12" y1="3" x2="12" y2="15"/>
  </svg>
  <div class="sui-dropzone-text">
    <strong>Click to upload</strong> or drag and drop
  </div>
  <div class="sui-dropzone-hint">PNG, JPG, PDF up to 10MB</div>
</div>

Delete this item?

This action cannot be undone. This will permanently delete the item and remove all associated data.