Kinetik UI

Orbit Radar

.md

A radar dish rises from the edge: a beam sweeps round and a small craft climbs the rim as minutes count.

v1.0.0Live on web@shopify/react-native-skiareact-native-reanimatedreact-native-svgreact-native-worklets
Component preview

Installation

Kinetik CLI
npx kinetik-ui add orbit-radar

The CLI copies the source and installs native dependencies with npx expo install, so versions match your Expo SDK. With shadcn: npx shadcn@latest add https://kinetik-ui.dev/r/orbit-radar.json

Install manually

  1. Install dependencies
    npx expo install @shopify/react-native-skia react-native-reanimated react-native-svg react-native-worklets
  2. Copy the source files
    • components/kinetik/orbit-radar.tsx
    View source files

Usage

import { OrbitRadar } from '@/components/kinetik/orbit-radar';

<OrbitRadar name="LUNA-2" minutes={23} progress={0.58} />;

When to use

  • Anything approaching with a known arrival: a satellite pass, a delivery drone, a ferry.
  • A hero widget where a bit of mission control suits the product.

When not to use

  • Real positions: the dish is a picture of progress, not a map.

Notes

  • progress is yours to compute. At 1 the craft reaches the top of the arc.

Props

OrbitRadarProps

PropTypeDefaultDescription
namerequiredstring—Name of what is on its way, e.g. "LUNA-2".
minutesrequirednumber—Minutes until it arrives.
progressrequirednumber—How close it is, 0–1. At 1 it reaches the top of the arc.
labelstring'ARRIVES'Label over the time. Defaults to "ARRIVES".
styleStyleProp<ViewStyle>—

Performance and accessibility

Performance

Budget
The beam and craft are still canvases and views turned on the UI thread, so the beam animates at rest without redrawing.
Measured

Huawei P20 Lite (ANE-LX1), Android 9, release build · 13 ms median frame, 16 ms p90 · keeps drawing at rest · 121 MB app memory

Accessibility

Reduced motion
The beam holds still, the craft jumps to its place and the minutes do not count.
Screen readers
One label ("LUNA-2. ARRIVES in 23 minutes").
Touch target
Not interactive.

Source files

components/kinetik/orbit-radar.tsx is in the Code tab of the preview above.