DocsComponentsOverlays
Popover
React example follows below.
ts
import { Popover } from "@grassroot/ui-react"; <Popover trigger="ledger-api"> <div className="px-1.5 py-1 font-semibold text-heading">ledger-api</div> <div className="px-1.5 pb-2 text-body">Event-sourced payments ledger.</div></Popover>ts
<script setup lang="ts">import { Popover } from "@grassroot/ui-vue";</script> <template> <Popover trigger="ledger-api" > <div className="px-1.5 py-1 font-semibold text-heading">ledger-api</div> <div className="px-1.5 pb-2 text-body">Event-sourced payments ledger.</div> </Popover></template>ts
import { Component } from "@angular/core";import { GrassrootPopover } from "@grassroot/ui-angular"; @Component({ selector: "app-example", standalone: true, imports: [GrassrootPopover], template: ` <grassroot-popover trigger="ledger-api" > <div className="px-1.5 py-1 font-semibold text-heading">ledger-api</div> <div className="px-1.5 pb-2 text-body">Event-sourced payments ledger.</div> </grassroot-popover> `,})export class ExampleComponent {}ts
<script lang="ts"> import { Popover } from "@grassroot/ui-svelte";</script> <Popover >{#snippet trigger()}ledger-api{/snippet} <div className="px-1.5 py-1 font-semibold text-heading">ledger-api</div> <div className="px-1.5 pb-2 text-body">Event-sourced payments ledger.</div></Popover>ts
import { Popover } from "@grassroot/ui-solid"; export function Example() { return ( <> <Popover trigger="ledger-api" > <div className="px-1.5 py-1 font-semibold text-heading">ledger-api</div> <div className="px-1.5 pb-2 text-body">Event-sourced payments ledger.</div> </Popover> </> );}Installation
bash
pnpm dlx grassroot add ui/popoverbash
npx grassroot@latest add ui/popoverbash
yarn dlx grassroot add ui/popoverbash
bunx grassroot add ui/popoverAPI Reference
| Prop | Type | Default |
|---|---|---|
triggerrequiredContent rendered inside the trigger button. | React.ReactNode | — |
childrenrequired | React.ReactNode | — |
side | "top" | "bottom" | undefined | "bottom" |
alignHorizontal edge the panel anchors to. | "start" | "end" | undefined | "start" (left) |
defaultOpen | boolean | undefined | — |
className | string | undefined | — |
contentClassName | string | undefined | — |
triggerClassNameOverride the trigger button styling (e.g. a borderless icon button). Replaces the default chip. | string | undefined | — |