Komponenter
Tooltip
Tooltip viser kort informasjon når brukeren holder musepekeren over eller fokuserer på et element. Den brukes til sekundær informasjon, for eksempel til å forklare hva et symbol betyr.
React
Unable to parse html
const Preview = () => { return ( <Tooltip content='Kopier' placement='top'> <Button icon aria-label='Kopier'> <FilesIcon aria-hidden /> </Button> </Tooltip> ); }; render(<Preview />)
- children
- Description
The element or string that triggers the tooltip. @note If it is a string, it will be wrapped in a span. @note If it is an element, it needs to be able to receive a ref.
- Type
string | (ReactElement<unknown, string | JSXElementConstructor<any>> & RefAttributes<HTMLElement>)
- content
- Description
Content of the tooltip
- Type
string
- placement
- Description
Placement of the tooltip on the trigger.
- Type
Placement- Default
top
- autoPlacement
- Description
Whether to enable auto placement.
- Type
boolean- Default
true
- open
- Description
Whether the tooltip is open or not. This overrides the internal state of the tooltip. @deprecated This should not be used on Tooltip. Use a Popover instead @TODO Look at this prop
- Type
boolean
- type
- Description
Override if `aria-describedby` or `aria-labelledby` is used. By default, if the trigger element has no inner text, `aria-labelledby` is used.
- Type
"describedby" | "labelledby"
| Name | Type | Default | Description |
|---|---|---|---|
| children | string | (ReactElement<unknown, string | JSXElementConstructor<any>> & RefAttributes<HTMLElement>) | - | The element or string that triggers the tooltip. @note If it is a string, it will be wrapped in a span. @note If it is an element, it needs to be able to receive a ref. |
| content | string | - | Content of the tooltip |
| placement | Placement | top | Placement of the tooltip on the trigger. |
| autoPlacement | boolean | true | Whether to enable auto placement. |
| open | boolean | - | Whether the tooltip is open or not. This overrides the internal state of the tooltip. @deprecated This should not be used on Tooltip. Use a Popover instead @TODO Look at this prop |
| type | "describedby" | "labelledby" | - | Override if `aria-describedby` or `aria-labelledby` is used. By default, if the trigger element has no inner text, `aria-labelledby` is used. |
Bruk
Eksempel
Med tekst
React
Unable to parse html
const WithString = () => { return <Tooltip content='Organisasjonsnummer'>Org.nr.</Tooltip>; }; render(<WithString />)
Plassering
Bruk placement-prop'en for å justere plasseringen av Tooltip.
React
Unable to parse html
const Placement = () => { return ( <Tooltip content='Kopier' placement='bottom'> <Button icon aria-label='Kopier'> <FilesIcon aria-hidden /> </Button> </Tooltip> ); }; render(<Placement />)
HTML
Bruk pakken @digdir/designsystemet-web for å implementere Tooltip.
Du trenger kun å legge på data-tooltip-attributtet på elementet som skal trigge tooltipen.
For tilgjengelighet vil elementet automatisk få aria-label eller aria-description, avhengig av om det inneholder tekstinnhold.
Egendefinert element
Bruk funksjonen setTooltipElement for å sette et egendefinert tooltip-element.
Elementet vil automatisk bli lagt til i document.body hvis det ikke allerede er i dokumentet.
CSS variablar og data-attributter
| Navn | Verdi |
|---|---|
| --dsc-tooltip-background | var(--ds-color-neutral-text-default) |
| --dsc-tooltip-color | var(--ds-color-neutral-background-default) |
| --dsc-tooltip-border-radius | var(--ds-border-radius-default) |
| --dsc-tooltip-padding | var(--ds-size-1) var(--ds-size-2) |
| --dsc-tooltip-arrow-size | var(--ds-size-2) |
| --dsc-tooltip-transition-duration | 0.2s |
| --dsc-tooltip-transition-delay | 150ms |
| --dsc-tooltip-placement | top |
| Navn | Verdi |
|---|---|
| data-tooltip | |
| data-overscroll | contain |
| data-floating| | top, right, bottom, left |
| data-floating | bottom, top, left, right |