bit Bheadless

Sortable

Reorder a list by dragging with a pointer or entirely with the keyboard, with live screen-reader announcements.

Implementation: CSS Tailwind

Reorderable task list

Bind the list with @bind-Items; ItemKey keeps each row's identity stable and ItemLabel names it in announcements. Drag a grip with a mouse, pen or finger — or focus a grip, press Space / Enter to pick the task up, ↑ / ↓ to move it, Space / Enter to drop it and Escape to cancel. Each step is announced automatically.

  • Write release notes Docs
  • Fix flaky login test Bug
  • Review pull requests Team
  • Update dependencies Chore

Bound order (ids): 1 · 2 · 3 · 4

OnReorder event log

OnReorder fires once per committed move with the item and its old and new index — handy for persisting the order or sending a PATCH. Moves cancelled with Escape (or dropped in place) don't fire it.

  • Login page
  • Password reset
  • Audit log
  • Dark mode
  • CSV export
  1. No moves yet — reorder an item.

Horizontal orientation

Set Orientation="BitBhOrientation.Horizontal" for a row: pointer drags shift siblings sideways and, once picked up, ← / → move the item. Here the whole chip is the BitBhSortableHandle, so its text becomes the accessible name.

Ranking: Speed › Quality › Cost › Scope

Custom announcements

Pass a BitBhSortableAnnouncements to localize or reword what screen readers hear: the Instructions every handle is described by, plus the PickedUp, Moved, Dropped and Cancelled messages. The template's Index is the live (preview) position.

  • 1 Blue in Green
  • 2 So What
  • 3 Naima
  • 4 Take Five

Disabled

Disabled="true" stops pointer and keyboard reordering. The root and every item get data-disabled and the handles aria-disabled="true". The lock below is a BitBhToggle.

  • Create account
  • Verify email
  • Invite teammates
  • Connect a repository
An unhandled error has occurred. Reload 🗙