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
Props | Type | Validation | Default | Beskrivelse |
---|---|---|---|---|
disabled | boolean | false | ||
size | string | small, medium, large | medium | |
skin | string | primary, secondary, tertiary | primary | |
color | string | blue, blue-outline, green, green-outline, green-dark, green-dark-outline, beige-light, beige-dark-outline, yellow, yellow-outline, red, red-outline | ||
type | string | button, submit, reset | button | |
variant | string | label-only, icon-left,icon-right,icon-only,icons-right-and-left | label-only | |
iconName | string | Legger til ikon basert på navn | ||
secondIconName | string | |||
Legger til andre ikon basert på navn | ||||
isLoading | boolean | true, false | false | Viser en spinner dersom onLoading er satt til true |