Button

Komponentbygger

Her kan du teste ut alle egenskapene til PktButton, og få ferdig kode for React og HTML. For Vue-bruk kan du i de fleste tilfeller bruke samme kode som React, men vær oppmerksom på at Vue har enkelte forskjeller i hvordan props sendes inn og hvordan hendelser håndteres.

Hvordan ta i bruk?

// React
import { PktButton } from "@oslokommune/punkt-react";

// Custom Element:
import "@oslokommune/punkt-elements/dist/pkt-button.js";

// Custom Element fra CDN:
<script src="https://punkt-cdn.oslo.kommune.no/latest/elements/pkt-button.js"></script>;

Testing

Dersom dere skal skrive tester med JSDOM eller liknende, er det viktig at dere lar komponenten bli rendret ferdig før dere tester den. Dette kan gjøres ved å kjøre denne kodelinjen før testene kjøres:

await window.customElements.whenDefined("pkt-button");

CSS oversikt

Block:

  • .pkt-btn

Elements:

  • .pkt-btn__text
  • .pkt-btn__icon

Modifiers:

  • .pkt-btn--primary
  • .pkt-btn--secondary
  • .pkt-btn--tertiary
  • .pkt-btn--label-only
  • .pkt-btn--icon-left
  • .pkt-btn--icon-right
  • .pkt-btn--icon-only
  • .pkt-btn--icon-right-and-left
  • .pkt-btn--small
  • .pkt-btn--large
  • .pkt-btn--blue
  • .pkt-btn--blue-outline
  • .pkt-btn--green
  • .pkt-btn--green-outline
  • .pkt-btn--green-dark
  • .pkt-btn--green-dark-outline
  • .pkt-btn--beige-light
  • .pkt-btn--beige-dark-outline
  • .pkt-btn--yellow
  • .pkt-btn--yellow-outline
  • .pkt-btn--red
  • .pkt-btn--red-outline
  • .pkt-btn--full-small

Klassen .pkt-btn--full-small kan sendes inn hvis man ønsker at knappen skal ta full bredde på skjermer fra 576px/36rem og ned. Dette er en responsiv klasse og vil ikke påvirke knappen på større skjermer.

Props, slots og events

PropsTypeValidationDefaultBeskrivelse
disabledbooleanfalse
sizestringsmall, medium, largemedium
skinstringprimary, secondary, tertiaryprimary
colorstringblue, blue-outline, green, green-outline, green-dark, green-dark-outline, beige-light, beige-dark-outline, yellow, yellow-outline, red, red-outline
typestringbutton, submit, resetbutton
variantstringlabel-only, icon-left,icon-right,icon-only,icons-right-and-leftlabel-only
iconNamestringLegger til ikon basert på navn
secondIconNamestring
Legger til andre ikon basert på navn
isLoadingbooleantrue, falsefalseViser en spinner dersom onLoading er satt til true