@versini/ui-modal
v3.3.3
Published
[](https://www.npmjs.com/package/@versini/ui-modal)  {
const [isOpen, setIsOpen] = useState(false);
return (
<>
<button onClick={() => setIsOpen(true)}>Open Modal</button>
<Modal open={isOpen} onClose={() => setIsOpen(false)} title="Modal Title">
<p>Modal content goes here.</p>
</Modal>
</>
);
}Confirmation Modal
import { Modal } from "@versini/ui-modal";
import { Button } from "@versini/ui-button";
function ConfirmationModal({ open, onClose, onConfirm }) {
return (
<Modal open={open} onClose={onClose} title="Confirm Action">
<p>Are you sure you want to proceed?</p>
<div className="flex space-x-2 mt-4">
<Button variant="danger" onClick={onConfirm}>
Confirm
</Button>
<Button variant="secondary" onClick={onClose}>
Cancel
</Button>
</div>
</Modal>
);
}Examples
Settings Modal
import { Modal } from "@versini/ui-modal";
import { TextInput } from "@versini/ui-textinput";
import { Toggle } from "@versini/ui-toggle";
function SettingsModal({ open, onClose }) {
return (
<Modal open={open} onClose={onClose} title="Settings" size="medium">
<div className="space-y-4">
<TextInput label="Username" name="username" />
<TextInput label="Email" name="email" type="email" />
<Toggle label="Enable notifications" />
<div className="flex justify-end space-x-2">
<Button variant="secondary" onClick={onClose}>
Cancel
</Button>
<Button variant="primary">Save Changes</Button>
</div>
</div>
</Modal>
);
}