Skip to content
Signal

Components

Core sheet

One inset, rounded floating sheet is always present above the full-screen map. Home and Nearby are its base pages; Search and stop detail stack over them.

Nearby

Halsted & Roosevelt
Nearest stop · 0.1 mi
812
8WavelandDelayed
12Central/Harrison7 min
SurfacePaper, 6pt leading/trailing/bottom inset, radius 28 on all corners, grabber 40 × 5 Inactive in a 28pt zone, shadow / sheet; no backdrop dimming
PositionsLow 180 (Nearby 120) · half 50% · full to safe-area top + 4. Search opens at full and has no low or half. Home opens at half. A gesture normally moves one adjacent position; momentum cannot skip half. Only one drag that physically crosses half may continue from low to full or full to low. Rubber-banding remains on; list scrolling hands off at the top
MotionOne spring for every sheet move: drag release (seeded with the finger’s velocity), detent changes made by the app, and the station open and close slide. Duration 0.42 s, bounce 0.15 (damping 0.85, about 1% overshoot). Reduce Motion: 0.17 s, critically damped
HomeFavorites only; it never shows Nearby cards. Moving Home between low, half and full never recentres the map. Pull to refresh refetches favorites and the Live Activity; at full the pull never starts a sheet drag. While a Live Activity runs, the Live Tracking header and the compact tracking bar lead with an 8pt Good dot that pulses (scale 0.92 to 1.18, opacity 1 to 0.58, ease in-out, repeating); it holds still under Reduce Motion
Nearby dataCards, arrivals and refreshes use only the rider’s location, within 0.5 mi, never the map viewport. Low shows no list content; half and full show up to 12 cards with arrivals. Map stops and lines may independently follow the settled viewport
Nearby modeA glass circle menu button in the Nearby header: Trains and buses (default), Trains, Buses. Filters both the list and the map stops, and is remembered
Nearby map gestureA rider pan collapses the sheet to low when no stop, vehicle or Search overlay is selected. A zoom-only gesture does not collapse it. Panning with a detail selected never collapses the sheet
Nearby pull-upDragging Nearby upward from low recentres on the rider at the normal Nearby zoom
Detail layersSelecting a stop opens its overlay at half and moves the camera: the stop is centred in the map area above the half sheet, zooming in to 1,400 m when further out (smooth, 0.45 s). The stop detail slides up as its own panel while the page sheet slides away on the shared spring; closing reverses both and returns the page sheet to its stored position. Reduce Motion: 0.17 s fade. Search opens as an overlay on the same sheet. Each overlay has a top-right xmark
Low detailOne Live-Activity-style row, 44 high: the name (Body bold, one line, tail-truncated; tapping it re-pans the map), then the soonest arrival for the selected direction: mini route icon, destination (Caption, Muted) and time (Sub semibold; Due bold Good). No chips, no close button, no direction control, no timelines
Half detailSame order as full: title and close, metadata row, chips with Live and Favorite, direction, then three arrival rows. Rows expand to their timelines; tapping a row also pans the map to its vehicle
FullSame as half with every arrival row
Closexmark, 44 Card circle, Ink, top trailing. Restores the exact prior Home, Nearby or Search page and sheet position
GrabberOne 44-high accessibility element over the visual grabber, adjustable: label Sheet position, values Low / Half / Full. Swipe up or down, or Expand and Collapse, moves one adjacent position; Escape moves down one. Moves use the Reduce Motion timing when it is on
EmptyNearby shows the shared location recovery card when permission is unavailable, Finding your location… while waiting for an authorized location, and Finding nearby stops… while loading. When an authorized user-location search returns nothing: No nearby stops found. Camera zoom never changes this state. Sub, Muted
Tab barThe system Liquid Glass tab bar floats over the sheet bottom at every position: Home, Nearby, and Search in the search role, with system symbols and titles. Tabs carry no content of their own; they only choose the sheet’s page