Hellow UI

Composants prêts à l'emploi, animations et templates SaaS. Chaque élément est conçu dans l'esprit Hellow brut, direct, mémorable. Preview visuelle + code HTML/CSS copié en un clic.

Buttons
UINew
button class="btn-primary"Primary/button

.btn-primary {
  font-weight: 800; letter-spacing: 1px;
  background: #000; color: #fff;
  border: 2px solid #000; padding: 12px 28px;
  border-radius: 100px; cursor: pointer;
  box-shadow: 4px 4px 0 #000;
  transition: transform .15s, box-shadow .15s;
}
.btn-primary:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 #000;
}
Cards
UI
Projet
Hellow UI
Composants propres, directs, mémorables.
Status
En cours ?
Construction en public, pas à pas.
div class="card"
  div class="card-label"Projet/div
  div class="card-title"Hellow UI/div
  div class="card-body"Description.../div
/div

.card {
  border: 2px solid #000;
  border-radius: 16px; padding: 20px;
  box-shadow: 5px 5px 0 #000;
  transition:
    transform .2s cubic-bezier(.34,1.56,.64,1),
    box-shadow .2s;
}
.card:hover {
  transform: translate(-3px, -3px);
  box-shadow: 8px 8px 0 #000;
}
Inputs
UI
<input class="input" type="text" placeholder="...">

.input {
  font-weight: 600;
  background: #fff; color: #000;
  border: 2px solid #000; padding: 12px 16px;
  border-radius: 10px; outline: none;
  box-shadow: 4px 4px 0 #000;
  transition: transform .15s, box-shadow .15s;
}
.input:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 #000;
}
Badges & Tags
UI
En ligne En cours Beta Nouveau
<span class="badge badge-green">En ligne</span>

.badge {
  font-size: 10px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1.5px;
  padding: 5px 12px; border-radius: 100px;
  border: 2px solid #000;
}
.badge-green  { background: #c4e8d5; }
.badge-orange { background: #fde8cc; }
.badge-blue   { background: #ccd8fd; }
.badge-dark   { background: #000; color: #fff; }
Toggle Switch
UI
Notifications
Mode sombre
<div class="toggle on"
     onclick="this.classList.toggle('on')"></div>

.toggle {
  width: 52px; height: 28px;
  border-radius: 100px; background: #ebebeb;
  border: 2px solid #000; cursor: pointer;
  position: relative; box-shadow: 3px 3px 0 #000;
}
.toggle::after {
  content: ''; position: absolute;
  top: 3px; left: 3px; width: 18px; height: 18px;
  border-radius: 50%; background: #000;
  transition: transform .2s cubic-bezier(.34,1.56,.64,1);
}
.toggle.on { background: #c4e8d5; }
.toggle.on::after { transform: translateX(24px); }
Tooltip
UI
? Composant Hellow
Survoler ici
<div class="tooltip-wrap">
  <div class="tooltip-box">Mon texte</div>
  <span class="tooltip-trigger">Survole moi</span>
</div>

.tooltip-box {
  position: absolute;
  bottom: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: #000; color: #fff; font-size: 12px;
  padding: 7px 12px; border-radius: 8px;
  opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
}
.tooltip-wrap:hover .tooltip-box {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
Avatar Group
UI
M
A
J
L
+9
<div class="avatar-group">
  <div class="avatar">M</div>
  <div class="avatar">A</div>
  <div class="avatar av-more">+9</div>
</div>

.avatar-group { display: flex; }
.avatar {
  width: 40px; height: 40px; border-radius: 50%;
  border: 3px solid #fff; font-weight: 900; color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin-left: -10px; box-shadow: 3px 3px 0 #000;
}
.avatar:first-child { margin-left: 0; }
Float & Pulse
Anim
?
?
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.1); }
}

.float { animation: float 2.5s ease-in-out infinite; }
.pulse { animation: pulse 1.5s ease-in-out infinite; }
Loader / Spinner
Anim
@keyframes spin { to { transform: rotate(360deg); } }

.spinner {
  width: 46px; height: 46px; border-radius: 50%;
  border: 4px solid #ebebeb;
  border-top-color: #000;
  animation: spin .8s linear infinite;
}
Shimmer Skeleton
Anim
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

.shimmer {
  background: linear-gradient(
    90deg, #ebebeb 25%, #fff 50%, #ebebeb 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 6px;
}
Progress Bars
Anim
Design
85%
Code
62%
SaaS
30%
<div class="progress-track">
  <div class="progress-fill" style="width:85%"></div>
</div>

.progress-track {
  height: 12px; border-radius: 100px;
  background: #ebebeb; border: 2px solid #000;
  overflow: hidden; box-shadow: 2px 2px 0 #000;
}
.progress-fill {
  height: 100%; background: #000;
  border-radius: 100px;
  transition: width 1s cubic-bezier(.34,1.56,.64,1);
}
Pricing Card
SaaSNew
Pro
29EUR
par mois
? Projets illimités
? Accès API complet
? Support prioritaire
<div class="pricing-card">
  <div class="pricing-top">
    <div class="plan">Pro</div>
    <div class="price">29EUR</div>
    <div class="per">par mois</div>
  </div>
  <div class="pricing-body">
    <div class="feature">? Projets illimités</div>
    <button class="cta">Commencer</button>
  </div>
</div>

.pricing-card {
  border: 2px solid #000; border-radius: 18px;
  overflow: hidden; box-shadow: 5px 5px 0 #000;
}
.pricing-top {
  background: #000; color: #fff; padding: 20px;
}
.pricing-price {
  font-size: 38px; font-weight: 900; letter-spacing: -2px;
}
Stats Dashboard
SaaS
Revenus
4.2kEUR
? +12% ce mois
Utilisateurs
843
? +31 cette semaine
<div class="stats-card">
  <div class="stats-label">Revenus</div>
  <div class="stats-value">4.2kEUR</div>
  <div class="delta delta-up">? +12%</div>
</div>

.stats-card {
  border: 2px solid #000; border-radius: 16px;
  padding: 20px 24px; box-shadow: 5px 5px 0 #000;
}
.stats-value {
  font-size: 38px; font-weight: 900;
  letter-spacing: -2px; line-height: 1;
}
.delta-up   { color: #2ecc71; font-weight: 700; }
.delta-down { color: #e74c3c; font-weight: 700; }
Navbar SaaS
SaaS
<nav class="navbar">
  <span class="logo">Hellow</span>
  <div class="links">
    <a href="#">Produit</a>
    <a href="#">Tarifs</a>
  </div>
  <button class="cta">Démarrer</button>
</nav>

.navbar {
  background: #fff; border: 2px solid #000;
  border-radius: 100px; padding: 12px 20px;
  display: flex; align-items: center;
  justify-content: space-between;
  box-shadow: 4px 4px 0 #000;
}