Accent theme

Base radius

Accent theme

Base radius

Colour scheme
Components

Popover

popover="auto" on the content, and popoverTarget on the trigger, that's it: outside-click dismissal, Escape to close, and top-layer stacking are all native HTML attribute behaviour, not JavaScript click-outside listeners. Positioning is CSS anchor positioning where supported, a computed fallback otherwise.

Distance from me
Usage
import { useState } from "react";
import { Button, Popover, RadioGroup, RadioGroupItem } from "@kernelui/react";

function DistanceFilter() {
  const [distance, setDistance] = useState("5");

  return (
    <Popover render={<Button variant="secondary">Distance</Button>}>
      <RadioGroup label="Distance from me" value={distance} onValueChange={setDistance}>
        <RadioGroupItem value="1">Within 1 mile</RadioGroupItem>
        <RadioGroupItem value="5">Within 5 miles</RadioGroupItem>
      </RadioGroup>
    </Popover>
  );
}

Props

PropTypeDefault
renderthe trigger element (required)
placement"top" | "bottom" | "left" | "right""bottom"
open / onOpenChangeboolean / (open) => void