Popconfirm

A lightweight inline confirmation popup, lighter than ConfirmDialog. Built on Radix UI Popover — no backdrop, no modal, opens next to the trigger.

Import

tsx
import { Popconfirm } from 'fxui-core';

Usage

tsx
<Popconfirm
  title="Are you sure?"
  onConfirm={() => deleteItem()}
  trigger={<Button variant="danger">Delete</Button>}
/>

Variants

tsx
<Popconfirm variant="default" title="Confirm" trigger={<Button>Default</Button>} />
<Popconfirm variant="danger"  title="Delete?" trigger={<Button>Danger</Button>} />
<Popconfirm variant="warning" title="Leave?"  trigger={<Button>Warning</Button>} />

With Description

tsx
<Popconfirm
  variant="danger"
  title="Delete account?"
  description="All your data will be permanently removed."
  confirmText="Delete"
  cancelText="Cancel"
  onConfirm={handleDelete}
  trigger={<Button>Delete account</Button>}
/>

Placement

tsx
<Popconfirm title="Confirm" side="top"    trigger={<Button>Top</Button>} />
<Popconfirm title="Confirm" side="bottom" trigger={<Button>Bottom</Button>} />
<Popconfirm title="Confirm" side="left"   trigger={<Button>Left</Button>} />
<Popconfirm title="Confirm" side="right"  trigger={<Button>Right</Button>} />

Disabled

tsx
<Popconfirm title="Won't open" disabled trigger={<Button>Disabled</Button>} />

Props

| Prop | Type | Default | |------|------|---------| | trigger | ReactNode | required | | title | string | required | | description | string | — | | variant | 'default' \| 'danger' \| 'warning' | 'default' | | confirmText | string | 'Confirm' | | cancelText | string | 'Cancel' | | side | 'top' \| 'bottom' \| 'left' \| 'right' | 'top' | | disabled | boolean | false | | onConfirm | () => void | — | | onCancel | () => void | — |