Hopp til innhold

Komponenter

Chat

Chat-komponenten viser en dialog mellom to eller flere parter.

StabilOppdatert 15. januar 2026

Egnet til:

  • Kommunikasjon mellom bruker og chatbot
  • Direktemeldinger mellom bruker og veileder

Uegnet til:

  • Chat i sanntid (fordi meldinger ikke blir lest opp automatisk)

Eksempler

Plassering av snakkebobler

Komponenten kommer med to plasseringer for selve snakkeboblene og avataren, right/left. Det er en vanlig konvensjon at den som ser dialogen alltid har sine snakkebobler høyrestilt, og den eller de du prater med har venstrestilt.

Endring av farger

Man kan endre farge på både avatar og snakkeboble ved å bruke data-color. Disse kan brukes for å tydeliggjøre hvem som snakker.

Tilgjengelighet

Avataren er skjult fra hjelpemidler (aria-hidden) fordi eventuelle initialer her ville blitt lest opp uten kontekst. Vi anbefaler å bruke name-propen for å kommunisere avsender på en tilgjengelig måte.

Foreløpig er det ikke støtte for automatisk opplesning av meldinger som settes inn dynamisk.

Props

Chat

children

  • Type:
    ReactNode
  • Description:

    Children of type <Chat.Bubble />.

name?

  • Type:
    string
  • Description:

    Name/sender on first bubble.

timestamp?

  • Type:
    string
  • Description:

    Timestamp on first bubble.

avatar?

  • Type:
    ReactNode
  • Description:

    We recommend using an SVG or plain text initials as avatar.

    Hidden for screen readers.

position?

  • Type:
    "left" | "right"
  • Default:
    "left"
  • Description:

    Positions avatar and bubbles.

toptextPosition?

  • Type:
    "left" | "right"
  • Default:
    Same as position
  • Description:

    Horizontal position of toptext.

size?

  • Type:
    "medium" | "small"
  • Default:
    "medium"
  • Description:

    Affects padding and font size in bubbles.

toptextHeadingLevel?

  • Type:
    "2" | "3" | "4" | "5" | "6"
  • Default:
    "3"
  • Description:

    The heading level for the toptext.

data-color?

  • Type:
    AkselMainColorRole | AkselBrandColorRole | AkselMetaColorRole
  • Description:

    Overrides inherited color.

    We have disallowed status-colors. @see 🏷️ {@link AkselColor } @see 📝 Documentation

className?

  • Type:
    string

ref?

  • Type:
    Ref<HTMLDivElement>
  • Description:

    Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). React Docs

variant?

  • Deprecated:
    Use `data-color` prop instead.
  • Type:
    "subtle" | "info" | "neutral"

Chat.Bubble

children

  • Type:
    ReactNode
  • Description:

    Bubble text.

name?

  • Type:
    string
  • Description:

    Name/sender on bubble.

timestamp?

  • Type:
    string
  • Description:

    Timestamp for sent message.

toptextPosition?

  • Type:
    "left" | "right"
  • Description:

    Overrides hoizontal position of toptext.

toptextHeadingLevel?

  • Type:
    "2" | "3" | "4" | "5" | "6"
  • Default:
    3
  • Description:

    The heading level for the toptext.

className?

  • Type:
    string

ref?

  • Type:
    Ref<HTMLDivElement>
  • Description:

    Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). React Docs

Tokens

Komponent-tokens er fjernet i versjon 8

Gammel dokumentasjon for disse finner du på JsDelivery