Dialog
Installation
npx gbs-add-block@latest -a Dialog
The Dialog component is a reusable modal dialog that allows users to display messages and confirm actions. It can be customized with different messages and button labels, and can be styled using Tailwind CSS.
Props Table
showDialog
boolean
false
Controls the visibility of the dialog.
dialogMessage
string
"Are you sure?"
The message displayed in the dialog.
dialogActionOne
string
"OK"
Label for the first action button.
dialogActionTwo
string
"Cancel"
Label for the second action button.
onDialogActionOneClick
() => void
undefined
Callback function triggered when the first action button is clicked.
onDialogActionTwoClick
() => void
undefined
Callback function triggered when the second action button is clicked.
dialogClass
string
"bg-white p-4 rounded-lg shadow-lg w-96"
Custom class for styling the dialog.
dialogContentClass
string
"text-lg"
Custom class for styling the dialog content.
dialogActionOneStyle
string
"bg-black hover:bg-black text-white font-bold px-2 py-1 rounded mt-4"
Custom class for styling the first action button.
dialogActionTwoStyle
string
"border text-black font-bold px-2 py-1 rounded mt-4 ml-2"
Custom class for styling the second action button.
Usage Example
Here's an example of how to use the Dialog component in your application:
import React, { useState } from 'react';
import Dialog from './Dialog';
const App = () => {
const [showDialog, setShowDialog] = useState(false);
const handleOpenDialog = () => {
setShowDialog(true);
};
const handleActionOne = () => {
console.log("Action One Clicked");
setShowDialog(false);
};
const handleActionTwo = () => {
console.log("Action Two Clicked");
setShowDialog(false);
};
return (
<div className="app-container">
<h1 className="text-xl font-bold mb-4">Dialog Example</h1>
<button
onClick={handleOpenDialog}
className="bg-blue-500 text-white px-4 py-2 rounded"
>
Open Dialog
</button>
<Dialog
showDialog={showDialog}
dialogMessage="Do you want to proceed with this action?"
dialogActionOne="Yes"
dialogActionTwo="No"
onDialogActionOneClick={handleActionOne}
onDialogActionTwoClick={handleActionTwo}
/>
</div>
);
};
export default App;
Last updated