UncontrolledResponsiveDialog
Prefer UncontrolledResponsiveDialog when opening the dialog should not re-render the parent — control via ref.open() / ref.close().
TSXuncontrolled
1import { useRef } from "react";
2import {
3 Button,
4 ResponsiveContent,
5 UncontrolledResponsiveDialog,
6 type ResponsiveDialogRefType,
7} from "@quan-erp/shared-ui";
8
9export function MyPage() {
10 const dialogRef = useRef<ResponsiveDialogRefType>(null);
11
12 return (
13 <>
14 <Button onClick={() => dialogRef.current?.open()}>Open</Button>
15 <UncontrolledResponsiveDialog ref={dialogRef}>
16 <ResponsiveContent>
17 <h2>Dialog content</h2>
18 <Button onClick={() => dialogRef.current?.close()}>Close</Button>
19 </ResponsiveContent>
20 </UncontrolledResponsiveDialog>
21 </>
22 );
23}Controlled sheet
TSXcontrolled-sheet
1import {
2 DesktopDialogType,
3 ResponsiveContent,
4 ResponsiveDialog,
5} from "@quan-erp/shared-ui";
6
7<ResponsiveDialog open={open} onOpenChange={setOpen} desktopDialogType={DesktopDialogType.SHEET}>
8 <ResponsiveContent>{/* ... */}</ResponsiveContent>
9</ResponsiveDialog>