react-promise-confirmation-dialog
v1.1.3
Published
Simple promise-based confirmation dialogs
Downloads
6
Maintainers
Readme
Intro
React Promise Confirmation Dialog is a simple and easy-to-use package that allows you to create dynamic and customizable confirmation dialogs. You can easily handle user confirmation and rejection responses using promises.
This package is customizable, allowing you to easily tailor the look and feel of your dialogs to match the style of your application.
✨ Live Demo
Install
Install react-promise-confirmation-dialog
via yarn
or npm
yarn add react-promise-confirmation-dialog
npm i react-promise-confirmation-dialog
Usage
import { PromiseConfirmationContextProvider } from 'react-promise-confirmation-dialog'
function Index() {
return (
<PromiseConfirmationContextProvider>
<App />
</PromiseConfirmationContextProvider>
);
}
function App() {
const handleConfirmClick = async () => {
try {
await confirmation.confirm()
// Your code after confirmation is resolved ...
} catch (rejectReason) {
// Your code after confirmation is declined ...
}
};
return (
<div>
<button onClick={handleConfirmClick}>Confirm</button>
</div>
);
}
Props and Configurations
You can provide default configuration to PromiseConfirmationContextProvider
function Index() {
return (
<PromiseConfirmationContextProvider config={{
portalElementId: '',
text: '',
confirmButtonLabel: '',
cancelButtonLabel: ''
}}>
<App />
</PromiseConfirmationContextProvider>
);
}
| name | type | default | description |
|-------------------| --------- |---------------|-------------------------------------------------|
| portalElementId
| string
| undefined | Custom element to render the confirmation modal |
| text
| string
| Are you sure? | Modal title. |
| confirmButtonLabel
| string
| Confirm
| Confirm button text |
| cancelButtonLabel
| string
| Cancel | Decline button text | |
You can also provide custom params everytime you open a confirmation dialog
function App() {
const handleConfirmClick = async () => {
try {
await confirmation.confirm({
text: '',
confirmButtonLabel: '',
cancelButtonLabel: '',
customData: '',
customComponent: ''
})
// Your code after confirmation is resolved ...
} catch (rejectReason) {
// Your code after confirmation is declined ...
}
};
return (
<div>
<button onClick={handleConfirmClick}>Confirm</button>
</div>
);
}
| name | type | default | description |
|----------------------|--------|-------------|----------------------------------------|
| text
| string
| Are you sure? | Modal title |
| confirmButtonLabel
| string
| Confirm | Confirm button text |
| cancelButtonLabel
| string
| Cancel | Decline button text | |
| customData
| any
| undefined | Custom data when using custom components | |
| customComponent
| (params: Omit<PromiseConfirmationData, 'customComponent'>) => ReactNode
| undefined | Custom component | |
Todos
- [ ] Default custom component support
Author
- Github: @gentrithalili1