Gå til hovedinnhold
KOMPONENTER

Expandable

npmv3.2.28

Expandables er komponenter for å kollapse og ekspandere innhold.

Komponenter

ExpandablePanel

NavnTypePåkrevd?Default-verdiBeskrivelse
titleReactNode

Teksten som skal stå i panelet

childrenReactNode

Innholdet som skal vises under panelet

defaultOpenboolean false

Hvilken tilstand ExpandablePanel skal ha som default

onToggle(() => void)

Funksjonen som styrer åpningen av ExpandablePanel

contentStyleCSSProperties

Styling som sendes til innholdet av ExpandablePanel

ExpandablePanel kan brukes om man har noe innhold man vil skjule initielt, men som skal kunne åpnes og lukkes ved klikk. ExpandablePanel skal i utgangspunktet ikke stå alene, dvs, det burde være minst to ExpandablePanel ved siden av hverandre til ei hver tid. ExpandableText skal heller brukes om man har et enkeltstående innhold man ønsker å skjule.

Om man har lyst til å kontrollere åpningen og lukkingen selv, så kan man benytte seg av open og onToggle.

Her er et eksempel:

ExpandableText

ExpandableText brukes om man ønsker å skjule et innhold, og i motsetning til ExpandablePanel, så står den gjerne alene uten andre "Expand"-komponenter.

Accordion og AccordionItem

NavnTypePåkrevd?Beskrivelse
childrenReactNode

To eller flere AccordionItem-komponenter

NavnTypePåkrevd?Default-verdiBeskrivelse
titleReactNode

Teksten som skal stå i panelet

childrenReactNode

Innholdet som skal vises under panelet

defaultOpenboolean false

Hvilken tilstand AccordionItem skal ha som default

contentStyleCSSProperties

Styling som sendes til innholdet av AccordionItem

Om du ønsker å gruppere flere ExpandablePanel-komponenter sammen til en accordion, kan du heller bruke Accordion- og AccordionItem-komponenter:

ExpandableTextButton

NavnTypePåkrevd?Beskrivelse
openboolean

Prop for om innholdet er åpent

onToggle() => void

Funksjonen som styrer åpningen av ExpandableTextButton

BaseExpand

NavnTypePåkrevd?Beskrivelse
childrenReactNode

Innholdet som skal være expandable

openboolean

Boolean for om innholdet vises eller ikke

ExpandablePanel, AccordionItem (og andre komponenter i designsystemet) benytter seg av <BaseExpand>, så om man har behov for å benytte seg av åpne/lukkemekanismen direkte, kan man benytte seg av denne.

ExpandArrow

NavnTypePåkrevd?Default-verdiBeskrivelse
openboolean false

Om innholdet er åpent eller ikke, som bestemmer retningen på pila

classNamestring

Ekstra klassenavn

Hvis man bruker BaseExpand, så kan man bruke ExpandArrow samtidig for å få den roterende pila som brukes i alle expandable-komponenter i designsystemet.

Retningslinjer for bruk

Expandables lar brukerne ekspandere og kollapse innhold på en side. Pil-ikonet brukes til å indikere ekspandere/kollapse handlingen, men hele headeren er klikkbar for samme handling. Komponenten gir oss en måte å presentere en stor mengde informasjon, samtidig som brukerne får bestemme over hvor mye de vil se. Den hjelper oss også med å organisere informasjon for å holde grensesnittet ryddig og oversiktlig, slik at brukerne finner det innholdet de trenger.

Expandables er fin å bruke hvis du har en liten plass til å vise mye innhold, for eksempel på en mobil. Ved å bruke expandables kan man også redusere scrolling på en side.

Varianter

ExpandablePanel

ExpansionPanel bruker man hvis det er behov for å se flere paneler oppe om gangen. En ExpansionPanel kan også inneholde flere nivåer/levels. ExpandablePanel skal i utgangspunktet ikke stå alene, og det bør være minst to ExpandablePanels ved siden av hverandre til en hver tid. Bruk heller ExpandableText om man har et enkeltstående innhold man ønsker å skjule.For å kontrollere åpning og lukking selv, så kan man benytte seg av open og onToggle.

ExpandableText

ExpandableText brukes om man ønsker å skjule et innhold. I motsetning til ExpandablePanel så står den gjerne alene uten andre ‘expand’-komponenter.

Accordion og AccordionItem

Accordion er ett sett av collapsible, hvor man ekspanderer en og en panel om gangen. Om du ønsker å gruppere flere ExpandablePanel-komponenter sammen til en accordion, kan du heller bruke Accordion- og AccordionItem-komponenter:

Rediger denne siden på Bitbucket