Gå til hovedinnhold
KOMPONENTER

Varsler brukes for å fange brukerens oppmerksomhet og inneholder korte viktige meldinger som de bør ta hensyn til.

npm install @entur/alert
@import '@entur/alert/dist/styles.css';
Fargemodus

BannerAlertBox-props

Varianter

Alert inneholder varslene BannerAlertBox, SmallAlertBox, ExpandableAlertBox og ToastAlertBox. Til felles har de disse variantene:

  • Information: Informasjonsvarslingen er blå. Den gir brukeren relevante tips eller informasjon som man behøver å vite når man skal utføre en oppgave.

  • Success: Suksessvarselet er grønn og vises når en handling er vellykket. For eksempel i en kjøpsflyt der betalingen ble gjennomført.

  • Warning (ikke toast): Advarselen er gul og brukes for å advare brukeren om viktig informasjon som trenger oppmerksomhet. For eksempel avvik i trafikken eller at man skal benytte bakdører til av- og påstigning.

  • Negative (ikke toast): Feilvarslingen er rød. Den indikerer at noe gikk galt etter å ha utført en handling, eller for å varsle brukeren om en feil som trenger øyeblikkelig oppmerksomhet. For eksempel skjemaet kunne ikke lagres fordi det mangler data på noen felter.

BannerAlertBox

BannerAlertBox har to spesifikke bruksområder: globale varsler og lokale varsler.

Globale varsler

Globale varsler brukes når man ønsker å meddele informasjon på tvers av en applikasjon. Eksempler kan være cookie-info, et API som er nede eller generalstreik som påvirker alt og alle.

Globale varsler finnes i information, warning og negative-utførelse (ikke suksess). De skal dekke hele toppen av siden, og skyver ned sidens innhold. De har vanligvis muligheten til å bli lukket, slik at brukerne kan fjerne den. Beskjeden bør dukke opp igjen neste gang man laster siden, men dette er opp til konsumenten.

Lokale varsler

Lokale varsler brukes for å vise informasjon om en underside, en seksjon eller et skjema. Oppsummering av valideringsfeil, advarsel om manglende tariffkoder og generell avgangsinformasjon kan være gode brukseksempler.

Lokale varsler bør inneholde kort og konsis informasjon, men kan også inneholde mer detaljert informasjon for "proffe" brukere. Slik ekstra informasjon bør skjules bak en ekspanderbar lenke. Disse varslene bør vanligvis ikke være lukkbare, siden de ikke okkuperer like mye plass som de globale.

Dette er den typen varsel vi bruker oftest i løsningene våre, men de bør fortsatt brukes sparsomt. Siden de er ganske sterke visuelle virkemidler, bør hver og en få stå for seg selv og få den oppmerksomheten den fortjener.

SmallAlertBox

SmallAlertBox brukes som kontekstuelle varsler i grensesnittet.

Kontekstuelle varsler finnes i alle typer og vises i direkte tilknytning til innholdet det omtaler. De brukes ofte for å supplere innhold med ekstra informasjon.

Kontekstuelle varsler bør ikke kunne lukkes, og bør være ekstra korte og konsise. Disse brukes ikke så ofte, og man kan ofte benytte valideringsmeldinger istedenfor.

Små alert-bokser brukes når de skal plasseres inni en annen UI-komponent. Default så opptar disse varslene full bredde. Om ønskelig kan du sette width="fit-content" for å la dem ta størrelsen til innholdet.

Fargemodus

ExpandableAlertBox

Av og til vil du vise meldinger som gjerne inneholder mer informasjon, som du ikke alltid har behov for å vise. Da kan man bruke SmallExpandableAlertBox eller BannerExpandableAlertBox for å vise en tittel, og ekstra informasjon skjult bak en ekspanderbart seksjon.

Fargemodus

ToastAlertBox

ToastAlertBox brukes i respons på visse typer handlinger og hendelser, og vises automatisk. De bør forsvinne etter minst 6 sekunder, eller om man trykker på lukke-knappen. Lukke-knappen bør dukke opp når man holder musepekeren over feltet, og "nedtellingen" for å automatisk fjerne knappen bør starte på nytt.

Toast er kun tilgjengelige i typene success og information, begrunnelsen for dette står beskrevet her. De skal kun brukes som reaksjon på en hendelse, eller vise tidssensitiv informasjon. Et godt eksempel kan være at brukeren er oppdatert, eller at en annen bruker har begynt å redigere samme dokument.

Toast-varsler skal ikke plasseres over kritisk funksjonalitet, som knapper, navigasjon og andre funksjoner. De dukker opp nedenfra på små flater, og ligger øverst i høyre hjørne på store flater.

Fargemodus
Fargemodus

Kom i gang med toast

Du får fiks ferdig toast-funksjonalitet på null komma niks med @entur/alert. Først må du wrappe appen din i en <ToastProvider />.

import { ToastProvider } from '@entur/alert';

const App = () => {
  return (
    <ToastProvider>
      <Router>{/* Osv */}</Router>
    </ToastProvider>
  );
};

For å lage en toast, så må du bruke hooken useToast.

import { useToast } from '@entur/alert';

const SaveButton = ({ children }) => {
  const { addToast } = useToast();
  return <button onClick={() => addToast('Lagret!')}>
}

Du kan enten sende inn en string, eller et objekt med følgende form:

{
  title: 'Tittelen på toasten',
  content: <>Mer <em>utfyllende</em> informasjon</>
  variant: 'information' // eller 'success', som er default
}

Toasts vil lukkes automatisk etter 6 sekunder, med mindre du flytter musepekeren over dem, eller lukker dem manuelt. Du kan sette den automatiske lukketiden for toasts i din app ved å sette delay propen på <ToastProvider /> (antall millisekunder):

<ToastProvider delay={10000} />

Retningslinjer

Komponenten skal brukes som en valideringsmelding som varsler brukeren om at noe de nettopp gjorde må korrigeres eller som en bekreftelse på at en handling ble fullført. Varsler brukes også som en utrop eller varsling for viktig informasjon som brukeren bør ta stilling til. Skriv en informativ tekst som gir brukeren en utfyllende beskrivelse av situasjonen, dens konsekvenser og måter å komme seg ut av.

God praksis
  • Bruk varsler sparsomt
  • Hold det kort og konsist
  • Hvis feilen er knyttet til et spesifikk tekstfelt, bør man også gi disse feltene en feiltilstand

  • Hvis det kreves at brukeren må gjøre noe som svar på et varsel, må man gi beskjed om hva de trenger å gjøre for å gjennomføre oppgaven.

  • Tillatt brukeren å avvise et varsel der det er aktuelt.
  • Bruk standardikonet for information, suksess, advarsel og feil.
Unngå
  • Ikke legg varsler over innhold på siden
  • Ikke overdriv bruken av varsler. For mange vil enten overvelde eller irritere brukeren

  • Ikke legg skylden på brukeren ved en feilmelding. Ha en vennlig tone og hold språket forståelig

  • Ikke ta med varsler som ikke er relevant for brukerens nåværende oppgave

Universell utforming

Toasts

Toast-varsler kan være utfordrende med tanke på universell utforming. Derfor har vi valgt å ikke tilby variantene error og warning. Feilmeldinger og advarsler bør presenteres permanent og i kontekst, nær det aktuelle problemet, med tydelige forslag til rettelser.

WCAG-punkter som er relatert til bruk av toasts:

  • Brukeren skal få tydelige instruksjoner eller forslag når en feil oppstår, noe som kan være vanskelig å oppnå i en toast.
  • Gi brukerne nok tid til å lese og bruke innhold.
  • Informasjon skal ha logiske relasjoner. Om toasten ikke er implementert riktig og feilmeldingen bare visuelt er koblet til relatert informasjon vil ikke alle brukere forstå sammenhengen med informasjonen.
  • Viktig innhold som vises midlertidig må være tilgjengelig via tastatur, og forbli synlig til brukeren aktivt lukker det, eller så lenge det er nødvendig for å forstå meldingen.

Kilder:

Props

BannerAlertBox

import { BannerAlertBox } from '@entur/alert';

Denne komponenten har ingen props

SmallAlertBox

import { SmallAlertBox } from '@entur/alert';

Denne komponenten har ingen props

ExpandableAlertBox

import { SmallExpandableAlertBox, BannerExpandableAlertBox } from '@entur/alert';

Denne komponenten har ingen props

ToastAlertBox

import { ToastAlertBox } from '@entur/alert';

Denne komponenten har ingen props

ToastProvider

import { useToast } from '@entur/alert';
import { ToastProvider } from '@entur/alert';

Denne komponenten har ingen props

Rediger denne siden på GitHub