Passer au contenu principal

AdminFooter

Implemented

Slim admin chrome footer: copyright line on the left, inline link row on the right. Uses text-ep-xs + text-ep-text-muted for legal text, border-ep-border-subtle top border, gap-4 spacing. All colors via DS tokens (no raw hex).

Categoryorganisms
Sourcecomponents/organisms/AdminFooter/AdminFooter.tsx
AI HintUse for admin chrome footers (DashboardShell, admin panels). Compose with AdminLayout + AdminHeader. locale prop keys the bilingual nav aria-label; ariaLabel overrides it. All links get 44x44 tap targets (min-h + min-w --ep-tap-min) and focus-visible ring.

Slim admin chrome footer: copyright left, inline link row right. Bilingual nav aria-label via locale prop.

AdminFooter

design-system

AdminFooter component preview and API reference.

Props

Preview

AdminFooter

Prop
Type
Required
Default
Description
copyright
string
Required
—

Copyright line rendered on the left (prop-driven — consumer supplies the localized string).

links
AdminFooterLink[]
Required
—

Array of { id, label, href } objects rendered as inline links on the right.

locale
"en" | "fr"
Optional
"en"

Locale for the default nav aria-label (bilingual chrome string). AdminHeader SEARCH precedent.

ariaLabel
string
Optional
—

Overrides the nav aria-label (defaults to the locale-keyed chrome string).

className
string
Optional
—

Extra classes on the root <footer>.

id
string
Optional
—

Stable id on the root <footer>.

Quick use:<AdminFooter />

Accessibility

ARIA rolecontentinfo

Type

1 rule

NASA Rule 5

copyright and links required

ARIA

1 rule

WCAG 1.3.1

Must be <footer role='contentinfo'>; links <nav> with aria-label keyed by locale (en='Footer', fr='Pied de page')

Usage

Import

tsxSnippet
import { AdminFooter } from "@epasslive/design-system"

Example 1

tsxSnippet
<AdminFooter copyright="© 2026 ePassLive" links={footerLinks} locale="fr" />

Anti-patterns

— Do not hardcode copyright strings — consumer supplies localized text via the copyright prop

— Do not use raw hex colors — use text-ep-text-muted, border-ep-border-subtle, ring-ep-teal (theme-agnostic)

— Do not bypass the locale prop for aria-label — use ariaLabel override only when the bilingual default is insufficient

— Do not render without required props (copyright, links) — bare <AdminFooter /> crashes at render time

Design System v4.1.0 | ePassLive