ns-ui

Seatmap ASCII Pick

An ASCII venue floor plan where dragging a marquee selects a contiguous block of seats — taken seats and the centre aisle break the run, and the selection visibly snaps to the longest unbroken block inside the drag, with a live seat count.

Use when picking a contiguous block of seats (or any grid of discrete slots that must stay together) where taken slots need to visibly break a run rather than being silently skipped — pick this over grid-magnetic-lattice (ambient cursor field, nothing is actually selected) or filter-facet-mesh (toggling a set of independent facet chips, not a contiguous run of grid cells). Not a fit for a click-one-seat-at-a-time picker; the mechanic here is specifically the marquee-to-block snap.

Install

npx shadcn add https://design.helpmarq.com/r/seatmap-ascii-pick.json
  • seatmap
  • selection
  • grid
  • ascii
  • mono
  • drag
  • keyboard-navigation
  • booking

ns-ui / seatmap-ascii-pick

SECTION Cdrag to select a block
— STAGE —
ROW 8
ROW 9
ROW 10
ROW 11
ROW 12
ROW 13
no seats selected — drag across an available block

Drag a marquee across the plan — taken seats and the aisle break the block, and the selection snaps to the longest unbroken run.

Props

PropTypeDefaultDescription
seats?SeatStatus[][]rows x cols seat status grid
rowLabels?string[]
colLabels?string[]
sectionLabel?string
className?string