A zero-setup, Promise-based confirm dialog for React — lightweight, type-safe, and beautifully styled with Tailwind CSS.
- 🧩 Zero configuration — works out of the box.
- ⚛️ Fully compatible with React 16+ and 18.
- 💬 Promise-based API:
await confirm({...}) - 🧠 Type-safe with
ConfirmOptionssupport. - 🎨 Tailwind-ready styling — easily themeable.
- 🪶 Lightweight — under 5 KB gzipped.
npm install @sghere/react-confirm
# or
yarn add @sghere/react-confirm
# or
bun add @sghere/react-confirm
⚠️ Requiresreactandreact-domas peer dependencies.
import { confirm } from "@sghere/react-confirm";
import "@sghere/react-confirm/dist/react-confirm.css";
// Example usage
<button
onClick={() => {
confirm({
heading: "Are you sure?",
body: "This will be deleted",
onConfirm: () => {
alert("Deleted ✅");
},
});
}}
>
Delete Item
</button>| Element | Default Text |
|---|---|
| Heading | “Confirmation” |
| Message | “Are you sure you want to continue?” |
| Confirm Button | “Confirm” |
| Cancel Button | “Cancel” |
| Prop | Type | Default | Description |
|---|---|---|---|
heading |
React.ReactNode |
"Confirmation" |
Dialog title |
body |
React.ReactNode |
undefined |
Optional content above message |
message |
string |
"Are you sure you want to continue?" |
Main dialog text |
confirmText |
string |
"Confirm" |
Text for confirm button |
cancelText |
string |
"Cancel" |
Text for cancel button |
onConfirm |
(e) => void |
undefined |
Confirm callback |
onCancel |
(e) => void |
undefined |
Cancel callback |
footer |
(actions) => React.ReactNode |
undefined |
Custom footer renderer with handlers |
@sghere/react-confirm is Tailwind-ready — include its default stylesheet or use your own theme.
import "@sghere/react-confirm/dist/react-confirm.css";bun install
bun run build
bun run devTo test locally before publishing:
npm pack
npm install ../react-confirm/react-confirm-1.0.0.tgz- ⚛️ React 18
- 🎨 Tailwind CSS 4
- 🧩 TypeScript 5
- ⚡️ Bundled with TSUP
MIT © Shubham Gaikwad
- Fork this repository
- Create a new feature branch
- Commit using Conventional Commits (
feat:,fix:, etc.) - Push and open a Pull Request 🎉
- 📦 NPM Package – @sghere/react-confirm
- 🧠 Documentation & Examples – GitHub Repo
- 🐛 Report Issues – Issue Tracker
- 💬 Author Profile – Shubham Gaikwad