Brickslab.Libv2.1.5

@brickslab./ui-web

HeaderBar flexible (logo, title, navigation, actions) avec positionnement dynamique de la navigation et support glassmorphism.

Aperçu

Navigation centrée + blur

Logo
BricksLab

Brand uniquement

Navigation à droite

Logo
Catalog

Props

PropTypeDéfautRequisDescription
logostring | ReactNodeLogo optionnel (URL d’image ou ReactNode).
logoHeightnumber | stringHauteur du logo si `logo` est une URL (ex: `28`, `"40px"`, `"2rem"`).
logoAltstringAttribut alt de l’image si `logo` est une URL.
titlestringTitre / brand optionnel.
titleSizenumber | stringTaille du titre sur desktop/tablette (ex: `16`, `"18px"`, `"1.1rem"`).
titleMobileSizenumber | stringTaille du titre dans le panneau mobile (menu).
navigationReactNodeNavigation (contenu libre).
actionsReactNodeZone d’actions (boutons, icônes...).
navPosition"left" | "center" | "right""left"Position de la navigation dans le layout.
backgroundColorstringCouleur de fond (supporte rgba/transparent).
blurbooleanfalseActive l’effet glassmorphism (backdrop blur).
withBorderbooleanfalseAffiche une bordure basse optionnelle.
classNamestringClasse CSS racine.
styleReact.CSSPropertiesStyles inline sur la racine.
Override rapide

Tous les paramètres listés dans cette table sont overrideables via les props. Utilisez ce squelette comme point de départ.

<MyComponent
  logo="..."
  logoHeight="..."
  logoAlt="..."
  title="..."
  titleSize="..."
  titleMobileSize="..."
  navigation={<span>...</span>}
  actions={<span>...</span>}
  // +6 autres props disponibles
/>
logologoHeightlogoAlttitletitleSizetitleMobileSizenavigationactionsnavPositionbackgroundColorblurwithBorderclassNamestyle

Utilisation

API

tsx
import { HeaderBar } from "@brickslab./ui-web";

<HeaderBar
  logo="/logo.svg"
  logoHeight={32}
  logoAlt="BricksLab"
  title="BricksLab"
  titleSize="18px"
  titleMobileSize="14px"
  navPosition="center"
  blur
  withBorder
  backgroundColor="color-mix(in srgb, var(--color-bg) 60%, transparent)"
  navigation={
    <nav style={{ display: "flex", gap: 20 }}>
      <a href="/components">Composants</a>
      <a href="/docs">Docs</a>
      <a href="/about">À propos</a>
    </nav>
  }
  actions={
    <>
      <button>Se connecter</button>
      <button>S’inscrire</button>
    </>
  }
/>