Components
Use these UI components to construct interactive, layout-level surfaces on BHDicaire.com.
Every component represents a named interface piece with a stable purpose. Reuse existing patterns whenever possible; create new ones only when functional differences are intentional and repeatable. For author-facing Markdown tags, jump to Shortcodes.
Accordion, blockquote, and tab behaviour are authoring shortcodes — details, pullquote, and tabs — not duplicated here. A page opening with a missing-artifacts callout describes a component that is specified but not yet built; the missing artifacts page tracks them all.
Component pages use shared interface metadata so this section can be grouped, filtered, and cross-linked with the shortcode reference over time. The canonical fields are interface_kind, interface_category, interface_status, interface_preview, interface_implementation, interface_consumers, and related_interfaces. Every implemented component has a source-backed interface_implementation map and an Interface manifest; specified components intentionally wait for source evidence. Follow the component migration recipe before adding a manifest.
Every implemented component needs observable evidence. Use component-preview for a self-contained state, including mode="inline" for small utilities. Direct real markup or an active shortcode is valid when an extra frame adds no information. Declare interface_preview: "page" when the current page shell renders the component, "render-hook" when the example is produced by Markdown rendering, or "consumer" with interface_preview_page when real page data supplies the state. Consumer evidence uses component-relationship; specified interfaces use implementation-status until implementation exists. Do not invent decorative mock-ups.
Navigation
| Anchor index | A labelled row of compact links that jumps to repeated page sections | |
| Back to top | A fixed fragment link that returns the reader to the top of a long page | |
| Breadcrumbs | The navigation trail that shows where a documentation page sits in the hierarchy | |
| Collection navigation | An end-of-article list that connects entries belonging to the same editorial collection | |
| Companion link | A top-of-page pointer from a focused note to its broader companion article | |
| Documentation sidebar | The generated left-rail navigation for the documentation section | |
| Language toggle | The EN / FR pair in the site header linking to the current page’s translation | |
| Navigation | The primary header navigation with menu-driven links and hover- or focus-revealed dropdown submenus | |
| Pagination | Page controls for long server-rendered lists and client-side datasets | |
| Related posts | An end-of-page list of closely related pages declared in front matter | |
| Skip link | The hidden first link that lets keyboard users jump past the header to the main content |
Action
| Button | Single-action controls, styled by per-context classes that share one shape | |
| Button groups | Grouped controls for related choices: connected clusters and spaced action rows | |
| Copy as Markdown | A reader-facing button that copies the canonical Markdown version of an article | |
| Search | The header-triggered Pagefind modal that searches the current site from any page | |
| Select | An expandable list control for choosing one option from a set | |
| Theme toggle | A light and dark scheme picker that starts from the system preference |
Content
| Announcement | A full-width banner at the top of the page for news or promotions | |
| Avatar | A circular thumbnail that identifies a person in mastheads, cards, and attributions | |
| Badge | The small non-interactive chip naming what kind of resource a link points to | |
| Cards | Framed, repeated content blocks rendered by templates as linked grid tiles | |
| Code block | The dark viewer that wraps every fenced code block with syntax highlighting and a copy button | |
| Site status | A linked operational indicator for the site or a domain | |
| Tooltip | Brief contextual text shown on hover, focus, or tap | |
| Video embed | An accessible preview that defers an embedded video until activation |
Data
| Changelog | Data-backed change history for system pages | |
| Data table | Structured tabular data with predictable controls | |
| Description list | A semantic two-column list for compact labelled facts and values | |
| Filter row | A compact row of active controls that changes the visible dataset | |
| Metadata row | The strip under an article title carrying the dates, the reading time, and the copy button |
Layout
| Footer | The site-wide footer with copyright, per-site information links, and optional social icons | |
| Page header | The standard title block: kind link, title, metadata row, and optional description |