BjFooter

Pied de page React : zone supérieure optionnelle dans un conteneur, puis bloc principal avec conteneur pour le bas de page.

import { BjFooter } from '@flrxnt/dsbj/react'

export default function App() {
  return (
    <BjFooter
      top={<p className="bj-text-sm">Liens utiles</p>}
      bottom={
        <ul className="bj-footer__bottom-list">
          <li>
            <a className="bj-footer__bottom-link" href="/mentions-legales">
              Mentions légales
            </a>
          </li>
          <li>
            <a className="bj-footer__bottom-link" href="/accessibilite">
              Accessibilité
            </a>
          </li>
        </ul>
      }
    />
  )
}

Si top est absent, la bande bj-footer__top n’est pas rendue.

import { BjFooter } from '@flrxnt/dsbj/react'

export function BottomOnly() {
  return (
    <BjFooter
      bottom={<p className="bj-text-sm">© 2025 République du Bénin</p>}
    />
  )
}

Bande utile pour liens secondaires ou rappels.

import { BjFooter } from '@flrxnt/dsbj/react'

export function TopAndBottom() {
  return (
    <BjFooter
      top={
        <ul className="bj-footer__bottom-list">
          <li><a className="bj-footer__bottom-link" href="/plan">Plan du site</a></li>
          <li><a className="bj-footer__bottom-link" href="/faq">FAQ</a></li>
        </ul>
      }
      bottom={
        <p className="bj-text-sm">Service public — Tous droits réservés</p>
      }
    />
  )
}

children s’affiche après bottom dans le même conteneur du bas.

import { BjFooter } from '@flrxnt/dsbj/react'

export function BottomPlusChildren() {
  return (
    <BjFooter
      bottom={
        <ul className="bj-footer__bottom-list">
          <li><a className="bj-footer__bottom-link" href="/legal">Mentions</a></li>
        </ul>
      }
    >
      <p className="bj-text-sm" style={{ marginTop: '1rem' }}>
        Version 2.1 — Dernière mise à jour : mars 2025
      </p>
    </BjFooter>
  )
}

Les trois zones : bande haute, contenu principal, contenu additionnel.

import { BjFooter } from '@flrxnt/dsbj/react'

export function FullFooter() {
  return (
    <BjFooter
      top={<p className="bj-text-sm">Contacts institutionnels</p>}
      bottom={<p>© République du Bénin</p>}
    >
      <nav aria-label="Liens pied de page">
        <a href="/accessibilite">Accessibilité : partiellement conforme</a>
      </nav>
    </BjFooter>
  )
}

id, className, role, data-* et autres attributs HTML du <footer> sont fusionnés sur la racine.

import { BjFooter } from '@flrxnt/dsbj/react'

export function WithNativeAttrs() {
  return (
    <BjFooter
      id="site-footer"
      className="app-footer"
      role="contentinfo"
      data-testid="footer"
      bottom={<p>© Bénin</p>}
    />
  )
}
PropDescription
topContenu de la bande supérieure (bj-footer__top), optionnel.
bottomContenu principal du bas (copyright, liens légaux, etc.).
childrenContenu additionnel rendu dans le conteneur du bas après bottom.
…restAttributs natifs du footer et className fusionnés sur l’élément racine.