Gå til hovedinnhold
KOMPONENTER

Alerts

npmv0.15.24

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';

BannerAlertBox-props

Komponenter

BannerAlertBox

import { BannerAlertBox } from '@entur/alert';
NavnTypeDefault-verdiBeskrivelse
children?ReactNode

Innholdet i alert-boksen

className?string

Ekstra klassenavn

closeButtonLabel?string

Skjermleser-label for lukkeknappen, om den vises

onClose?(() => void)

Callback som kalles når man lukker boksen

closable?boolean false

Om denne er true, vil boksen få en lukkeknapp i høyre hjørne

title?string

Tittel på boksen - oppsummer virkning

variant"success" | "info" | "warning" | "error"

Farge og uttrykk på alert-boksen

ToastAlertBox

import { ToastAlertBox } from '@entur/alert';
NavnTypeBeskrivelse
children?ReactNode

Innholdet i toasten

className?string

Ekstra klassenavn

closeButtonLabel?string

Skjermleser-label for lukkeknappen, om den vises

onClose?(() => void)

Callback som kalles når man lukker boksen

closable?boolean

Om denne er true, vil boksen få en lukkeknapp i høyre hjørne

title?string

Tittel på boksen - oppsummer virkning

variant"success" | "info"

Farge og uttrykk på toasten

ToastProvider

import { useToast } from '@entur/alert';
import { ToastProvider } from '@entur/alert';
NavnTypeDefault-verdiBeskrivelse
delay?number 6000

Antall millisekunder før toasts forsvinner av seg selv

position?"bottom-right" | "top-right" "bottom-right"

Plasseringen av toasts

className?string

Ekstra klassenavn til ToastProvider-wrapperen

style?CSSProperties

Ekstra styling som sendes til ToastProvider-wrapperen

children?ReactNode

Innholdet


Hvordan bruke toasts

Du får fiks ferdige 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: 'info' // 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} />

SmallAlertBox

import { SmallAlertBox } from '@entur/alert';
NavnTypeDefault-verdiBeskrivelse
children?ReactNode

Innholdet i alert-boksen

className?string

Ekstra klassenavn

closeButtonLabel?string

Skjermleser-label for lukkeknappen, om den vises

closable?boolean false

Om denne er true, vil boksen få en lukkeknapp i høyre hjørne

onClose?(() => void)

Callback som kalles når man lukker boksen

title?string

Tittel på boksen - oppsummer virkning

width?"fluid" | "fit-content"

Bredden på boksen - fullbredde eller tilpasset innholdet

variant"success" | "info" | "warning" | "error"

Farge og uttrykk på alert-boksen

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.

ExpandableAlertBox

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

Denne komponenten har ingen props

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.

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.

Varianter

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:

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.

Error:

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 info, warning og error-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.

Toasts

Toasts 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.

Toasts er kun tilgjengelige i typene success og info, men vi brukes for det meste success-varselet. 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.

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.

Prinsipper

Innafor
  • 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 info, suksess, advarsel og feil.
Uttafor
  • 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
Rediger denne siden på Bitbucket