Stepper

Om komponenten

Stepper-komponenten er designet for Ä veilede brukere gjennom en sekvens av trinn eller oppgaver, og tilbyr en visuell fremstilling av progresjonen gjennom disse trinnene. Den stÞtter bÄde vertikal og horisontal orientering, noe som gir fleksibilitet i ulike bruksscenarioer.

Stepper-komponenten bestÄr av to hovedelementer: <Stepper> og <Step>. Stepper-elementet er kontaineren for alle Step-elementene, og Step-elementene representerer de ulike trinnene i sekvensen.

Stepper-elementet har en prop hideNonActiveStepsContent som skjuler beskrivelsene til trinn som ikke er aktive. I React, har <Stepper> ogsÄ en prop activeStep som bistÄr med Ä gjemme disse beskrivelsene. Hvert Step-element har en tittel og en status som indikerer om trinnet er fullfÞrt, aktivt eller ikke fullfÞrt.

  1. Title
    Content
  2. Title
    Content
  3. Title
    Content
// React
<PktStepper activeStep={0} >
  <PktStep  title="Title" status="completed">
    Content
  </PktStep>
  <PktStep  title="Title" status="current">
    Content
  </PktStep>
  <PktStep  title="Step 3" status="incomplete">
    Content
  </PktStep>
</PktStepper>

Varianter

Komponenten finnes i to ulike varianter: vertikal stepper og horisontal stepper. Som standard, vil komponenten vises som en vertikal stepper. For Ä bruke horisontal stepper i React eller Vue, sett prop-en orientation til horizontal. Komponenten kan brukes i ren html ved Ä legge til klassen pkt-stepper--horizontal pÄ pkt-stepper-elementet.

Vertikal

(standard)

  1. Step 1
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  2. Step 2
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  3. Step 3
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  4. Step 4
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  5. Step 5
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.

Vertikal

(vis alle steg beskrivelser)

  1. Step 1
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  2. Step 2
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  3. Step 3
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  4. Step 4
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  5. Step 5
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.

Horisontal

  1. Step 1
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  2. Step 2
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  3. Step 3
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  4. Step 4
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.
  5. Step 5
    Bruk dette tekstfeltet til Ă„ beskrive hva steget handler om.

CSS oversikt

I Punkt brukes BEM-styling. Under er Stepper sin CSS-struktur.

Block:

  • .pkt-stepper
  • .pkt-step

Elements:

  • .pkt-step__indicator
  • .pkt-step__line
  • .pkt-step__line--1
  • .pkt-step__line--2
  • .pkt-step__line--3
  • .pkt-step__wrapper
  • .pkt-step__title
  • .pkt-step__content

Modifiers:

  • .pkt-stepper--vertical
  • .pkt-stepper--horizontal
  • .pkt-step--completed
  • .pkt-step--current
  • .pkt-step--incomplete
  • .pkt-step--hidden

Props, slots og events

I React, brukes activeStep i kombinasjon med hideNonActiveStepContent i <Stepper> til Ä gjemme stegbeskrivelser som ikke er aktive. I Vue, bruker man hideNonActiveStepsContent fra <Stepper> og status inni <Step> til Ä gjÞre det samme. Dette har noe med hvordan props, datadeling og slots fungerer i de to rammeverkene og er et bevisst valg vi har tatt slik at mÄten komponentene brukes pÄ er like pÄ tvers av rammeverkene til tross for at Vue versjonen da ikke vil ha prop-en activeStep.

Utenom activeStep-propen i React, er disse propsene ellers like pÄ tvers av React og Vue komponentene.

<Stepper/>

PropsTypeValidationDefaultDescription
children / slot<Step/> og/eller en liste av <Step>PÄkrevd
activeStep (react)numberPÄkrevd0I React, er denne med pÄ Ä bestemme hvilke steg beskrivelser som skal gjemmes
orientationvertical, horizontal-verticalBestemmer retningen til stepper-komponenten
hideNonActiveSteps boolean-falseSkjuler alle steg sin beskrivelse som ikke er aktivt

<Step/>

PropsTypeValidationDefaultDescription
children / slotReactNode, VNode-Innhold i stedet
titlestringPÄkrevdTittel/Tekst for steget
statuscompleted, current eller incompletePÄkrevdincompleteStatusen til steget. Denne bestemmer hvilken styling steget fÄr