Utils

I tillegg til komponenter er det også publisert noen nyttefunksjoner og hooks som kan være fine å bruke.

Hooks

useMediaQuery

Brukes for å sjekke om ett eller flere media queries er aktive eller ikke.

Import

import { useMediaQuery } from "@aneo-org/design-react/clientComponents";

Returverdi

Hooken gir tilbake en Array<boolean> hvor hvert element korresponderer til en media query sendt inn. Rekkefølgen på listen er lik som rekkefølgen av media queries som sendes inn.

Bruk

Denne hooken brukes for å teste om en eller flere media queries er aktive eller ikke. Den aksepterer én eller flere media queries.

function Component() {
  const [isSmallerThan500, isLargerThan800] = useMediaQuery(['(max-width: 500px)', '(min-width: 800px)']);
  
  return (
    <ul>
      <li>Mindre enn 500px: {isSmallerThan500 ? "Jepp!" : "Nope!"}</li>
      <li>Større enn 800px: {isLargerThan800 ? "Jepp!" : "Nope!"}</li>
    </ul>
  );
};

useCurrentBreakpoint

Brukes for å hente ut nåværende brekkpunkt basert på skjermstørrelse. Oppdateres automatisk hvis skjermstørrelsen endrer seg.

Import

import { useCurrentBreakpoint } from "@aneo-org/design-react/clientComponents";

Returverdi

useCurrentBreakpoint returnerer det nåværende aktive brekkpunktet. Verdien oppdateres dersom sidebredden endres. Returverdi er:

"base" | "extraSmall" | "small" | "medium" | "large" | "extraLarge"

Bruk

function Component() {
  const breakpoint = useCurrentBreakpoint();
  
  return (
    <div>Nåværende brekkpunkt: {breakpoint}</div>
  );
};

useBreakpointValue

Brukes for å hente ut en verdi basert på nåværende brekkpunkt.

Import

import { useBreakpointValue } from "@aneo-org/design-react/clientComponents";

Bruk

Hooken tar inn et objekt som inneholder verdier som argument. Objektet må ha med en base-verdi, og eventuelt et sett med andre brekkpunkt-verdier. Dersom en brekkpunkt-verdi ikke angis vil hooken regne ut nærmeste gyldige brekkpunkt.

NB! Denne funksjonen registrerer media-query lyttere hver gang den brukes, så hvis du trenger å regne ut flere verdier basert på brekkpunkt anbefales det å bruke en kombinasjon av useCurrentBreakpoint og calcBreakpointValue istedenfor å kalle denne hooken mange ganger.

function Component() {
  const value = useBreakpointValue({
    base: "0px",
    medium: "100px",
    large: "200px"
  });
  
  return (
    <div>Brekkpunkt-verdi: {value}</div>
  );
};

Returverdi

Hooken returnerer en verdi fra input-argumentet avhengig av hvilket brekkpunkt som er aktivt.

Nyttefunksjoner

calcBreakpointValue

Import

import { calcBreakpointValue } from "@aneo-org/design-react/clientComponents";

Bruk

Denne nyttefunksjonen brukes sammen med useCurrentBreakpoint for å regne ut en verdi basert på et breakpoint. Den tar inn et objekt som inneholder verdier, samt nåværende brekkpunkt, som argumenter. Objektet må ha med en base-verdi, og eventuelt et sett med andre brekkpunkt-verdier. Dersom en brekkpunkt-verdi ikke angis vil hooken returnere verdien for nærmeste gyldige brekkpunkt.

function Component() {
  const breakpoint = useCurrentBreakpoint();

  const value = calcBreakpointValue({
    base: "0px",
    medium: "100px",
    large: "200px"
  }, breakpoint);
  
  return (
    <div>Brekkpunkt-verdi: {value}</div>
  );
};

Returverdi

Funksjonen returnerer en verdi fra input-argumentet avhengig av hvilket brekkpunkt som sendes inn som argument.