A dialog is a container that floats on top of another surface. Dialogs focus a user's attention on a single-step task, question, or message.
The DialogResponsive component is a Base UI component.
<DialogResponsive> <DialogResponsiveTrigger render={<Button label="Open dialog" />} /> <DialogResponsivePopup> <img alt="Cat" className="aspect-16-9 rounded-[12px] object-cover select-none max-[640px]:rounded-[20px]" draggable={false} src="https://placecats.com/640/480" /> <Spacer height={16} />
<p className="font-700 text-24 text-center text-gray-12">Welcome!</p> <Spacer height={4} /> <p className="text-center">Anyone to create their own components.</p> <Spacer height={24} />
<Button fullWidth label="Continue" size={48} /> </DialogResponsivePopup></DialogResponsive>By default, DialogResponsive is an uncontrolled component that manages its own state.
<DialogResponsive> <DialogResponsiveTrigger render={<Button label="Open dialog" />} /> <DialogResponsivePopup>Hello!</DialogResponsivePopup></DialogResponsive>Use open and onOpenChange props if you need to access or control the state.
const [isOpen, setIsOpen] = useState(false)
return ( <DialogResponsive onOpenChange={setIsOpen} open={isOpen}> <DialogResponsiveTrigger render={<Button label="Open dialog" />} /> <DialogResponsivePopup>Hello!</DialogResponsivePopup> </DialogResponsive>)