Card
Kildekode på GitHub · Les som Markdown
Card er en container-komponent som grupperer relatert innhold med en tydelig visuell avgrensning. Brukes for å vise features, eksempler, profiler og annet innhold som hører sammen.
Importering
import {
Card,
CardHeader,
CardTitle,
CardDescription,
CardContent,
CardFooter,
} from "@kilden/designsystem";Grunnleggende bruk
<Card className="w-[350px]"> <CardHeader> <CardTitle>Opprett prosjekt</CardTitle> <CardDescription>Lag et nytt prosjekt med et par klikk.</CardDescription> </CardHeader> <CardContent> <div style={{ display: "grid", gap: "1rem" }}> <div style={{ display: "grid", gap: "0.25rem" }}> <Label htmlFor="project-name">Prosjektnavn</Label> <Input id="project-name" placeholder="Mitt prosjekt" /> </div> </div> </CardContent> <CardFooter style={{ justifyContent: "space-between" }}> <Button variant="outline">Avbryt</Button> <Button>Opprett</Button> </CardFooter> </Card>
Kun innhold
Card kan brukes uten header og footer for enklere bruk.
<Card className="w-[350px]"> <CardContent style={{ paddingTop: "1.5rem" }}> <p style={{ margin: 0, fontSize: "0.875rem" }}> Dette er et enkelt kort med kun innhold. Nyttig for korte meldinger eller informasjonsbokser. </p> </CardContent> </Card>
Komponent-showcase
<div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(250px, 1fr))", gap: "1rem" }}> <Card> <CardHeader> <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}> <CardTitle style={{ fontSize: "1.125rem" }}>Button</CardTitle> <Badge variant="success">Stabil</Badge> </div> <CardDescription>Allsidig knapp med varianter og størrelser.</CardDescription> </CardHeader> <CardFooter> <Button variant="outline" size="sm">Dokumentasjon</Button> </CardFooter> </Card> <Card> <CardHeader> <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}> <CardTitle style={{ fontSize: "1.125rem" }}>Dialog</CardTitle> <Badge variant="success">Stabil</Badge> </div> <CardDescription>Modal-vindu for viktige handlinger.</CardDescription> </CardHeader> <CardFooter> <Button variant="outline" size="sm">Dokumentasjon</Button> </CardFooter> </Card> <Card> <CardHeader> <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}> <CardTitle style={{ fontSize: "1.125rem" }}>Select</CardTitle> <Badge variant="warning">Beta</Badge> </div> <CardDescription>Nedtrekksmeny for valg mellom alternativer.</CardDescription> </CardHeader> <CardFooter> <Button variant="outline" size="sm">Dokumentasjon</Button> </CardFooter> </Card> </div>
Med skillelinje
<Card className="w-[350px]"> <CardHeader> <CardTitle>Ola Nordmann</CardTitle> <CardDescription>Utvikler hos Bekk</CardDescription> </CardHeader> <CardContent> <Separator /> <div style={{ display: "grid", gap: "0.5rem", marginTop: "1rem", fontSize: "0.875rem" }}> <div style={{ display: "flex", justifyContent: "space-between" }}> <span style={{ opacity: 0.7 }}>E-post</span> <span>ola@bekk.no</span> </div> <div style={{ display: "flex", justifyContent: "space-between" }}> <span style={{ opacity: 0.7 }}>Team</span> <span>Designsystem</span> </div> <div style={{ display: "flex", justifyContent: "space-between" }}> <span style={{ opacity: 0.7 }}>Rolle</span> <span>Tech lead</span> </div> </div> </CardContent> </Card>
Bruksanbefalinger
Feature
En beskrivelse av featuren.
Bruk for å gruppere relatert innhold
Card gir visuell avgrensning og struktur. Bruk det for innhold som henger sammen — som en feature, en profil eller et skjema.
Ikke bruk for enkeltlinjer
Card med lite innhold føles overdrevet. Bruk det bare når innholdet har nok substans til å trenge visuell gruppering.
Tilgjengelighet
- Card bruker standard HTML-elementer (
<div>,<h3>,<p>) med riktig semantikk CardTitlerendres som<h3>for overskriftshierarki- Legg til
role="region"ogaria-labelom kortet representerer en selvstendig seksjon
Props
Alle delkomponenter arver standard <div>-props (unntatt CardTitle som arver <h3> og CardDescription som arver <p>). De mest relevante:
Card
Arver alle props fra <div>. Ingen ekstra props.
CardHeader / CardContent / CardFooter
Arver alle props fra <div>. Gir konsistent padding og layout.
CardTitle
Arver alle props fra <h3>.
CardDescription
Arver alle props fra <p>. Rendres med dempet farge.