Patterns
Global search
Search behaviour, results and empty states.
An overlay on the core sheet for finding every CTA mode in one place, with a top-right xmark. The field receives focus when Search opens. Closing restores the prior Home or Nearby page and sheet position; returning from a result keeps a typed query. Mode shortcuts and Recents remain visible before the rider types.
Search
Bus routes
Show all22 ClarkHoward – Harrison
Clark & Belmont
| Area | Rule |
|---|---|
| Order | Header with top-right close · focused search field · Lines · Bus routes · Stations · Bus stops |
| Starting content | Short search hint, Trains and Buses shortcut cards, then Recents |
| Matching | Case-, diacritic- and punctuation-insensitive across route number, route or line name, and stop or station name |
| Ranking | Exact · prefix · word · contains; stable alphabetical order breaks ties |
| Section limit | Three results, then a 44pt Show all control; expanded sections can collapse with Show less |
| Mode shortcuts | Trains and Buses shortcut cards (grey Card rows with a Brand lead, title and one-line description, no type pill) appear only in the empty state, never as search results |
| Result leads | Same as the list rows they reuse: route icon for lines and routes, no lead for stations and bus stops, Surface place mark for places; no tinted leads |
| Rows | Every result reuses its list row unchanged, adding only the type pill (Route, Station, Stop, Place) before the chevron. Recents reuse the corresponding route, station or bus-stop row at the compact standard density: 56pt minimum with normal hairline separators and no extra vertical row inset. Route list row for lines and routes; station list row with LineBar of every line at the station; bus stop list row (name, as many Standard route capsules as fit on one line, then +N); no direction, stop ID or distance; the name column keeps at least 120 |
| Navigation | Mode shortcuts open the Trains or Buses route root inside the Search overlay. Lines and routes open their stops list. Stations and bus stops stack stop detail over Search on the same sheet; closing detail restores Search and its prior position. |
| Keyboard | Dismissing the keyboard (Cancel or a tap outside) never moves the empty state; only results get room above the keyboard |
| Loading | Six redacted list rows |
| No results | No matches for “query” · suggest a route number or shorter name |
| Error | Friendly error with Retry; when partial cached results exist, keep them and label the catalogue incomplete |