/* ============================================================ Atoms — Botões, Inputs, Tags, Avatares, Dividers ============================================================ */ /* ---------- BUTTONS ---------- */ function ButtonsSection() { return ( <>
Variantes
Tamanhos · SM · MD · LG
Estados — primary MD
default
hover
active
focus
disabled
Ícone + texto · Icon-only · Loading · Full-width
); } /* ---------- INPUTS ---------- */ function InputsSection() { const [v1, setV1] = useState(""); const [v2, setV2] = useState("padaria@casadopao.com.br"); const [v3, setV3] = useState("123"); const [v4, setV4] = useState("Pão integral artesanal"); const [check1, setCheck1] = useState(true); const [check2, setCheck2] = useState(false); const [radio, setRadio] = useState("a"); const [toggle1, setToggle1] = useState(true); const [toggle2, setToggle2] = useState(false); const [search, setSearch] = useState(""); return ( <>
Text input — estados
setV1(e.target.value)} />
Aparece no perfil público
setV2(e.target.value)} />
E-mail verificado
setV3(e.target.value)} />
CEP inválido — use 8 dígitos
Bloqueado até validação
Textarea · Select · Search
120 / 280 caracteres
setSearch(e.target.value)} /> {search && ( setSearch("")}> )}
Checkbox · Radio · Toggle
Checkbox
Radio
{["a","b","c"].map((id, i) => ( ))}
Toggle
); } /* ---------- TAGS / BADGES ---------- */ function TagsSection() { return ( <>
Category tags
Alimentos Serviços Tecnologia Educação Causas
Status badges
Novo Verificado Destaque Ativo Pendente
Price tag
R$ 48 ,90 R$ 64,90 R$ 48 ,90 -25%
Notification badge
3
12
2
); } /* ---------- AVATARS ---------- */ function AvatarsSection() { const cores = [ "linear-gradient(135deg, var(--plum-600), var(--plum-800))", "linear-gradient(135deg, var(--ember-400), var(--ember-600))", "linear-gradient(135deg, #2D7A4F, #1F5736)", "linear-gradient(135deg, #2C5F87, #1B405E)", ]; function avatar({ size, initials, bg, verified, status }) { return (
{initials} {verified && } {status && }
); } return ( <>
Tamanhos · com foto
Iniciais (fallback)
{avatar({size: "sm", initials: "JS", bg: cores[0]})} {avatar({size: "md", initials: "MC", bg: cores[1]})} {avatar({size: "lg", initials: "PA", bg: cores[2]})} {avatar({size: "xl", initials: "RD", bg: cores[3]})}
Com selo de verificação
{avatar({size: "md", initials: "CP", bg: cores[0], verified: true})} {avatar({size: "lg", initials: "JM", bg: cores[1], verified: true})} {avatar({size: "xl", initials: "AB", bg: cores[2], verified: true})}
Com status online
{avatar({size: "md", initials: "LF", bg: cores[3], status: "on"})} {avatar({size: "lg", initials: "SA", bg: cores[0], status: "on"})} {avatar({size: "lg", initials: "TR", bg: cores[1], status: "off"})}
); } /* ---------- DIVIDERS ---------- */ function DividersSection() { return ( <>
Horizontal

Produtos em destaque


Empresas verificadas


Mais recentes

Com label
ou continue com
); } Object.assign(window, { ButtonsSection, InputsSection, TagsSection, AvatarsSection, DividersSection });