Widget mapping table
All 62 current component files and what each becomes. The reference list behind the rendered examples.
The rendered versions are on Where the widgets go. This is the full list, including the article, shared and data components that have no homepage widget to show.
maps becomes something that already exists new needed a component built for it keeps no visual output, stays as it is drops it goes
Homepage widgets
| Component | Outcome | Becomes |
|---|---|---|
NewsFeed | maps | Story thumb, plus Tabs and Pagination |
FeaturedCards | maps | Story, card variant |
CategorySpotlight | maps | Story plus a section heading |
TopStoriesSidebar | maps | Story, compact variant |
OriginalsStrip | maps | Strip |
TrendingTopics | maps | Story compact plus Tag |
TrendingSocial | maps | Tabs plus Directory rows |
FXTeaser | maps | Tile |
MessagingChannels | maps | Share with a different label |
SidebarFooter | maps | Footer |
ExploreCategories | new | Link grid |
MarketsWidget | new | Ticker |
DailyBriefBanner | new | Banner |
QuickAccessBanner | new | Banner, or Link grid where it is really navigation |
AmazonPicks | new | Poster in a Strip, labelled as commercial |
MoviesClient | new | Poster in a Strip |
HomepageClient | pattern | A page composition. See Section front |
Article and shared
| Component | Outcome | Becomes |
|---|---|---|
Header | maps | Masthead plus Sub-nav |
SiteFooterConditionalFooter | maps | Footer. One footer on every page |
PageLayoutPageHero | maps | Page hero |
GoDeeper | maps | Next step |
CoverageLabel | maps | Coverage |
SourceBadge | maps | Meta source, or Logo |
BookmarkButtonFollowButtonFollowSourceButton | maps | Toggle. Three become one |
ArticleShareStrip | maps | Share |
NewsletterInlineCTAArticleSubscribeInline | maps | Subscribe |
AdSenseUnitPageAds | maps | Ad slot, budget of two per article |
SkeletonPageSkeletonselections/PageSkeleton | maps | Skeleton. Three become one |
RouteProgress | maps | Route progress |
ContactFormTermsCheckbox | maps | Field |
StockLogo | maps | Logo |
ConsentBannerPushPromptBanner | new | Banner. Consent is the sticky variant |
LinkedText | keeps | Logic, not presentation. Renders into Prose |
ThemeProviderPageTrackerAuthBootstrapToolPageSEOCloudflareTurnstile | keeps | No visual output. Out of scope |
MobileStickyAd | drops | Mobile is 64 per cent of search traffic and the article is a 147 word summary |
Data and domain
| Component | Outcome | Becomes |
|---|---|---|
prices/PartsStatCard, TrendBlock, PricesNav, Attribution | maps | Tile, Chart, Sub-nav, and the Chart source line |
PriceTrendChartSeriesTrendStockPriceChart | maps | Chart, using the validated series palette |
maps/NigeriaMapelections/SeatMapNationalSeatMap | maps | Map |
charts/Hemicycle | maps | Hemicycle |
elections/ResultsDeclarationFeedTicketList | maps | Results list |
elections/StatePickerStocksDirectory | maps | Directory |
reps/MemberBitsAvatar, PartyBadge | maps | Avatar, plus the party abbreviation from Results list |
elections/SeatCode | keeps | A formatter, not a component |
The four that go, and why
- The mobile sticky ad. Mobile is 64 per cent of search traffic and the article is a 147 word summary.
- The conditional footer. One footer on every page. A footer that disappears on some routes is a bug that looks like a feature.
- Two of the three skeleton modules. They are the same thing three times.
- The general related-stories list on articles. Replaced by Next step, matched to why the reader came.
Deliberately not covered
The API documentation, the webhook docs and the MCP pages. They are developer surfaces with their own needs. They should use the foundations, colour, type and space, and stop there.