Popover

Rich floating content anchored to a trigger.

<script lang="ts">
  import {
    Popover,
    PopoverTrigger,
    PopoverContent
  } from "$lib/components/ui/popover";
  import { Button } from "$lib/components/ui/button";
  import { Label } from "$lib/components/ui/label";
  import { Input } from "$lib/components/ui/input";
</script>
 
<Popover>
  <PopoverTrigger>
    {#snippet child({ props })}
      <Button variant="ghost" {...props}>Open popover</Button>
    {/snippet}
  </PopoverTrigger>
  <PopoverContent>
    <div class="flex flex-col gap-3">
      <div class="flex flex-col gap-1">
        <p class="text-sm font-medium tracking-[-0.39px]">Dimensions</p>
        <p class="text-xs tracking-[-0.3px] text-(--text)/56">
          Set the layout dimensions.
        </p>
      </div>
      <div class="flex flex-col gap-2">
        <Label for="width">Width</Label>
        <Input id="width" value="100%" />
      </div>
    </div>
  </PopoverContent>
</Popover>

Installation

npx lily-svelte@latest add popover

Usage

<script lang="ts">
	import { Popover, PopoverTrigger, PopoverContent } from '$lib/components/ui/popover';
	import { Button } from '$lib/components/ui/button';
</script>
 
<Popover>
	<PopoverTrigger>
		{#snippet child({ props })}
			<Button variant="ghost" {...props}>Open</Button>
		{/snippet}
	</PopoverTrigger>
	<PopoverContent>Place content here.</PopoverContent>
</Popover>

Built by levish. The source code is available on GitHub.

Quiet by design.