EmptyState

Tyhjä tila

Mitä tässä olisi, miksi sitä ei ole ja mitä tehdä seuraavaksi.

Käyttöpaikat

Suoraan: palvelu tuo osan itse. Välillisesti: osa tulee mukaan toisen paketin osan kautta, ja sen muutos näkyy palvelussa silti. Laskettu julkaisun yhteydessä 23.10.2026.

TP-IAM
TP-MEDIA
TP-NOTIFY
TP-PERUSTUS
TP-TTK
TP-VASTAANOTTO

Ei ajoja

Ajo syntyy, kun luettelosta valitaan tuotteita perustettavaksi.

Esimerkki valitulla teemalla ja sävyllä; vaihda ne yläpalkista.

Käyttö

Paketin README:n luku sellaisenaan.

EmptyState — tyhjä tila

<EmptyState
  icon={Inbox}
  description="Kun toimittajilta saapuu tuoteaineistoa, se näkyy täällä
               kanavasta riippumatta (URL, SFTP, sähköposti, manuaali)."
/>
PropsiMerkitys
descriptionpakollinen — miksi näkymä on tyhjä
iconlucide-ikoni, size-8; kuvaa sisältöä jota ei ole
titlevalinnainen; ks. alla
actionvalinnainen painike; ks. alla
sizecompact pudottaa pehmusteen ja ikonin

> Selitys, ei otsikko. Ekosysteemin 17 tyhjästä tilasta yhdessäkään ei > ole erillistä otsikkoa. Älä kirjoita "Ei tuloksia." — se toistaa sen > minkä käyttäjä näkee. Kerro mistä sisältöä tulee tai mitä pitäisi tehdä. > > title on olemassa pitkille selityksille. Älä lisää sitä pelkästään koska > se on olemassa.

> ⚠️ Jätä `action` pois jos sama painike on jo sivulla. Osoita siihen > tekstissä sen sijaan: *"Lisää ensimmäinen »Lisää toimittaja» > -painikkeesta."* Kaksi samaa painiketta samalla ruudulla on epäselvempi > kuin yksi ja viittaus siihen. Käytä actionia kun tyhjä tila on ainoa > paikka josta toiminto löytyy.

> Mikä on tyhjä tila ja mikä ei. Ekosysteemissä on 30 keskitettyä > vaimennettua lohkoa jotka näyttävät samalta mutta tarkoittavat viittä eri > asiaa: tyhjä tulos (13), virhe (12), lataus (3), ei pääsyä (1), ei valintaa > (1). > > `EmptyState` kattaa vain tyhjän tuloksen. Se on role="status" — *tässä > on tulos, ja tulos on tyhjä*. Virhe on role="alert" ja kuuluu > DataTable.errorille; lataus on luuranko; ei pääsyä on oma näkymänsä. > > Jos käyttäjän seuraava teko on eri, se on eri komponentti. Tyhjä tulos > → odota tai muuta hakua. Virhe → yritä uudelleen. Ei pääsyä → ota > yhteyttä.

Ei kääri itseään korttiin. Kuluttaja päättää: oma Card taulukon tilalla, tai valmiin CardContentin sisällä. Molemmat muodot ovat käytössä samassa repossa, ja itsensä kääriminen tuottaisi toisessa kortin kortin sisään.

role="status" eikä alert — tyhjä tulos on tulos, ei virhe.

Tuonti ja lähde

import { EmptyState } from "@karkkainen/ui";
  • src/components/empty-state.tsx