sh4dcnv2 · atlas
← libraries

@sureui

Open source confirmation components for shadcn/ui: undo, hold to confirm, type to confirm and more. Built on Base UI.

21 components react shadcn-cli MIT

Install this registry

shadcn (npm) npx shadcn@latest add https://sureui.com/r/registry.json
pnpm pnpm dlx shadcn@latest add https://sureui.com/r/registry.json
bun bunx shadcn@latest add https://sureui.com/r/registry.json
fetch registry curl -s https://sureui.com/r/registry.json

Components

21 total
Confirm Button ui

A Button that confirms on a click, a second click or a press and hold. Supports inline undo and a pending state for an async onConfirm.

npx shadcn@latest add https://sureui.com/r/confirm-button.json
Confirm Menu Item ui

A DropdownMenu or ContextMenu item that confirms on a click, a second click or a press and hold. The menu stays open while the item is armed, held, pending or …

npx shadcn@latest add https://sureui.com/r/confirm-menu-item.json
Confirm Switch ui

A Switch that moves right away and can be taken back: flipping it again during the undo window undoes it, and onConfirm(checked) runs when the window ends.

npx shadcn@latest add https://sureui.com/r/confirm-switch.json
Type to Confirm ui

An inline form that calls onConfirm only after the exact phrase is typed and every acknowledgement is checked. Supports inline undo and a pending state for an …

npx shadcn@latest add https://sureui.com/r/type-to-confirm.json
Confirm Dialog ui

An alert dialog with a ConfirmButton or TypeToConfirm as its confirm action, which closes only after an async onConfirm settles. Includes useConfirm, which ret…

npx shadcn@latest add https://sureui.com/r/confirm-dialog.json
Confirm Popover ui

A popover anchored to any trigger, with one line about the consequence and a ConfirmButton, for actions that need a sentence but not a dialog. It stays open wh…

npx shadcn@latest add https://sureui.com/r/confirm-popover.json
Consequences ui

A list of what a confirmation will remove, with counts and names that collapse to "and N more". Pass it to TypeToConfirm or ConfirmDialog through their consequ…

npx shadcn@latest add https://sureui.com/r/consequences.json
Undo Toast lib

undoToast(message) shows a Sonner toast with an Undo button. It resolves true when the toast closes and false if Undo is clicked, so run the action only on tru…

npx shadcn@latest add https://sureui.com/r/undo-toast.json
Undoable ui

Wraps a list item or table row. Removing it collapses the row in place to a label and an Undo button at the same height, then runs onConfirm when the undo wind…

npx shadcn@latest add https://sureui.com/r/undoable.json
Unsaved Changes ui

useUnsavedChanges asks before unsaved changes are lost: the browser's prompt on reload or close, an awaitable confirmLeave() for leaving a page, and Keep editi…

npx shadcn@latest add https://sureui.com/r/unsaved-changes.json
Tool Approval ui

Approve or deny an AI SDK tool call, or a batch of them, with a gesture that matches its risk: undo for low, click again for medium, hold for high and a typed …

npx shadcn@latest add https://sureui.com/r/tool-approval.json
Danger Zone block

A project settings danger zone: pause deployments with an undo window, transfer the project in a dialog that shows what changes, and delete it in a dialog that…

npx shadcn@latest add https://sureui.com/r/danger-zone-01.json
API Keys block

A list of API keys with the last time each was used, hold to revoke, and a Create key dialog that shows the new secret once with a copy button.

npx shadcn@latest add https://sureui.com/r/api-keys-01.json
Delete Account block

An account deletion screen with an export link first, a list of what gets deleted, and a form that unlocks after you type your email and check each acknowledge…

npx shadcn@latest add https://sureui.com/r/delete-account-01.json
Team Members block

A team members list whose row menu removes someone after a second click, and makes someone the owner after a dialog explains what changes.

npx shadcn@latest add https://sureui.com/r/team-members-01.json
File Manager block

A file list where selected files move to trash with an undo toast, a Trash tab restores them one at a time, and an Empty trash dialog lists what goes and asks …

npx shadcn@latest add https://sureui.com/r/file-manager-01.json
Inbox block

A message list where archive and delete collapse the row in place with an Undo, and a reading pane whose toolbar archives on a second click and deletes on a ho…

npx shadcn@latest add https://sureui.com/r/inbox-01.json
Agent Approval block

An agent turn with four tool calls waiting for approval, from a low-risk message that approves with undo to a critical delete that asks for the project name. E…

npx shadcn@latest add https://sureui.com/r/agent-approval-01.json
Bulk Actions block

An issue list with row checkboxes whose delete asks for more as the count grows: an undo window for one or two, a second click for a few, and the typed count f…

npx shadcn@latest add https://sureui.com/r/bulk-actions-01.json
Settings Save Bar block

A team settings form where any edit brings up a save bar. Discard asks for a second click, and leaving the page with unsaved changes asks whether to save, disc…

npx shadcn@latest add https://sureui.com/r/settings-save-bar-01.json
Cancel Subscription block

A plan card whose cancel dialog lists what goes away and when, offers a cheaper plan instead, and cancels on a second click.

npx shadcn@latest add https://sureui.com/r/cancel-subscription-01.json