
Security News
Scaling Socket from Zero to 10,000+ Organizations
Socket CEO Feross Aboukhadijeh shares lessons from scaling a developer security startup to 10,000+ organizations in this founder interview.
@abdulghani/promise-modal
Advanced tools
You can simply create your own modal component with jsx react component and render it as a promise with a function call.
// somewhere in your component
const handleDelete = (e: MouseEvent) => {
showModal()
.then((e) => {
// do something when confirmed
})
.catch((e) => {
// do something when cancelled
});
}
yarn yarn add @abdulghani/promise-modal
npm npm install @abdulghani/promise-modal
Prepare your modal component that's going to render your modal that had at least onConfirm and onCancel props.
with the types of
onConfirm: (e: MouseEvent) => void;
onCancel: (e: MouseEvent) => void;
Then you can import the function from this package.
import {createModal} from "@abdulghani/promise-modal";
You need to create the modal promise instance to call.
const deleteModal = createModal(YourModalComponent);
Then you can call the function away to show the modal in your component.
const YourComponent: React.FC = () => {
const showModal = (e: MouseEvent) => {
deleteModal()
.then(e => {
// do something when confirmed
})
.catch(e => {
// do something when cancelled
});
}
return (
<button type="button" onClick={showModal}>Show the modal</button>
)
}
By default it targets the root node id in your dom to mount the modal element.
you could customize that by passing your root node id to the second argument of createModal function.
like so
const deleteModal = createModal(YourModalComponent, "my-custom-root");
You could pass custom props to your modal for example like title, description, confirmText, cancelText, etc by handling it on your modal component. and passing it to the show modal call.\
const YourModalComponent = (props: any) => {
const {onConfirm: any, onCancel: any, title: string, description: string} = props;
// rest of your modal component
}
and you could pass arguments to the modal like so
// somewhere in your main component
const showModal = (e: MouseEvent) => {
deleteModal({
title: "hello world",
description: "my custom description here"
})
.then(e => {
// do something when confirmed
})
.catch(e => {
// do something when cancelled
});
}
FAQs
react.js promise based modal
The npm package @abdulghani/promise-modal receives a total of 2 weekly downloads. As such, @abdulghani/promise-modal popularity was classified as not popular.
We found that @abdulghani/promise-modal demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh shares lessons from scaling a developer security startup to 10,000+ organizations in this founder interview.

Research
Socket Threat Research maps a rare inside look at OtterCookie’s npm-Vercel-GitHub chain, adding 197 malicious packages and evidence of North Korean operators.

Research
Socket researchers identified a malicious Chrome extension that manipulates Raydium swaps to inject an undisclosed SOL transfer, quietly routing fees to an attacker wallet.