
Installs all 13 components. Without our CLI, run instead.
flightcn publishes a shadcn registry at flightcn.yencheng.dev, with 13 components installable through the shadcn CLI.
Copy a prompt for your agent, copy the install command, or open the docs that ship it.
Composable flight map components for routes, live tracking, weighted networks, geodesic ranges, aircraft trails, traffic flow, and a built-in 515-airport database.
A globe-based satellite orbit overlay with animated motion, ground tracks, and custom SVG marker support.
Beautiful flight visualizations for React.
Routes, live tracking, networks, trails and satellite orbits — built with MapLibre and mapcn.
npx shadcn@latest add @flightcn/flight
flightcn gives you flight visualization components you own. Start with two IATA codes, add airport labels, animate an aircraft, or build a complete route network.
mapcnTPE, HND, and LAXcode, name, city, country, latitude, and longitudeAdd the flight components from the shadcn registry:
npx shadcn@latest add @flightcn/flight
The registry item depends on mapcn, so the required map component will also be pulled in through the registry dependency chain.
Installed files:
components/ui/flight.tsxcomponents/ui/flight-airports.tscomponents/ui/flight-airports-utils.tscomponents/ui/flight-visualizations.tsxAdd the satellite overlay component from the shadcn registry:
npx shadcn@latest add @flightcn/satellite
Installed files:
components/ui/satellite-orbit.tsxAfter installing from the shadcn registry, import the generated local Map and FlightRoute components, then render a route with airport markers:
import { Map } from "@/components/ui/map";
import { FlightRoute } from "@/components/ui/flight";
export default function Demo() {
return (
);
}
FlightAirportRender a single airport marker from an IATA code or custom coordinates.
FlightRouteRender one route between two airports. Use this for the common point-to-point case.
FlightRoutesRender multiple independent routes in one map. Use this when each route should remain separate.
FlightMultiRouteRender a single journey across multiple waypoints. Use this when one trip should connect several legs in sequence.
FlightTrackerTrack one flight with controlled progress, split completed/remaining paths, aircraft heading, and operational details.
FlightRouteLabelPlace fixed labels at a percentage along a great-circle route, or use mode="aircraft" to show a plane with a horizontal label that follows it along the route. Supports optional route-aligned rotation and sm, md, or lg sizing.
FlightNetworkRender a weighted airport network with scalable routes and nodes plus connected-route focus interactions. Each route's optional value is a relative weight: higher values produce thicker routes and contribute more to the size of both connected airport nodes. It defaults to 1.
FlightRangeDraw one or more true geodesic distance bands from an airport or coordinate. Use a globe projection for long ranges when geographic shape matters; Mercator intentionally distorts high-latitude circles.
AircraftTrailDraw ordered recorded positions as a fading actual flight path with a current-aircraft marker, optional smooth altitudeColorStops, and a dashed continuation to a destination or explicit planned waypoints. Automatic destination routes support adjustable plannedCurvature.
FlightFlowShow multiple aircraft sharing weighted routes as either a live animated traffic flow or a static traffic snapshot. Route value controls relative aircraft density, while an optional per-route aircraftCount sets an exact count.
SatelliteOrbitRender a single globe-based orbital path with an animated satellite marker, ground track, and optional custom SVG icon.
SatelliteOrbitsRender multiple orbital overlays from one dataset while sharing animation, connector, and label behavior.
Prebuilt, full-page examples composed from flightcn components. Browse them at flightcn.yencheng.dev/blocks, then install any block with the shadcn CLI:
npx shadcn@latest add @flightcn/flight-tracker-dashboard
| Block | Description |
|---|---|
flight-route-picker | Search airports, explore featured routes, and arrange multi-stop journeys with distance and time estimates |
flight-tracker-dashboard | Live flight progress beside an operations card with altitude, speed, and a playback scrubber |
airline-network-dashboard | Weighted hub-and-spoke network with a ranked destination sidebar and two-way highlighting |
airport-search-map | Searchable panel over the built-in airport database with fly-to markers |
aircraft-trail-replay | Recorded track replay with an altitude-graded trail and dashed planned continuation |
flight-ops-overview | Operations dashboard with live KPI cards, a multi-flight map, and an en-route sidebar |
live-traffic-flow | Animated aircraft flowing along weighted global corridors with density presets |
departures-board | Status-filterable departure list that draws the selected flight on the map |
aircraft-range-explorer | Compare aircraft reach from a departure airport with labeled range boundaries |
network-coverage-grid | Region-filtered coverage map with two-way selection between stat cards and markers |
satellite-orbit-tracker | Multi-satellite constellation on a globe with visibility toggles and orbital metadata |
Compose visualizations live at flightcn.yencheng.dev/playground — stack routes, trackers, networks, and trails on one map, tune every prop, and copy the generated React code. Share any composition with a copyable view-only link, or tune orbits in the satellite playground.
The built-in dataset is sourced from OurAirports and bundled locally in this project.
Current AirportInfo fields:
codenamecitycountrylatitudelongitudeFor local development:
pnpm install
pnpm dev
Useful commands:
pnpm lint
pnpm build
pnpm registry:build
pnpm format
MIT License - see the LICENSE file for details.
The packages and primitives its components pull in, counted across the registry.
Every appearance and removal our crawl has seen in the registry index.
flightcn is a component library on 21st.dev by flightcn with 1 public React component. Every component ships with a live interactive preview and full TSX source — copy the code, install it through the shadcn CLI, or pull it into Cursor or Claude Code over MCP.