Checkbox

Komponentbygger

Her kan du teste ut alle egenskapene til PktCheckbox, og få ferdig kode for React og Elements.

Hvordan ta i bruk?

Det anbefales at PktCheckbox brukes sammen med PktInputWrapper for å få en konsistent skjemalayout. Ved grupper av checkboxes brukes hasFieldset som wrapper gruppen med fieldset og legend.

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

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

// Custom Element fra CDN:
<script src="https://punkt-cdn.oslo.kommune.no/latest/elements/pkt-checkbox.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-checkbox");

Om dere bruker data-testid for å hente ut elementer i testene, vil attributten videresendes til selve skjemaelementet. Dersom dere heller ønsker å bruke data-testid på elementet <pkt-checkbox>, må dere sette attributten skipForwardTestid på elementet.

Dersom dere skal teste tilstanden på checked bør dere teste på den visuelle tilstanden med en query mot :checked istedenfor å teste property .checked. Grunnen til dette har vi ikke helt klart å komme til bunns i, da det fungerer helt fint med riktig property i nettleseren. Det kan tenkes at dette kan løses ved å vente et øyeblikk, om det er helt nødvendig å teste property istedenfor synlig tilstand.

I punkt-testing-utils har vi skrevet testen slik: element.querySelectorAll(':checked').length > 0.