Sheet
A panel that slides in from the side of the screen.
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import {
Sheet,
SheetClose,
SheetContent,
SheetDescription,
SheetFooter,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
export default function Basic() {
return (
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Add Task</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Add Task</SheetTitle>
<SheetDescription>
New tasks are added to the default category.
</SheetDescription>
</SheetHeader>
<div className="grid gap-4 px-4">
<div className="grid gap-2">
<Label htmlFor="name">Task Name</Label>
<Input id="name" placeholder="Enter task name here" />
</div>
<div className="grid gap-2">
<Label htmlFor="assignee">Assignee</Label>
<Select>
<SelectTrigger>
<SelectValue id="assignee" placeholder="Select someone" />
</SelectTrigger>
<SelectContent>
<SelectItem value="1">Adam</SelectItem>
<SelectItem value="2">Ruth</SelectItem>
<SelectItem value="3">Taylor</SelectItem>
</SelectContent>
</Select>
</div>
</div>
<SheetFooter>
<SheetClose asChild>
<Button type="button" variant="outline">
Cancel
</Button>
</SheetClose>
<Button type="submit">Add</Button>
</SheetFooter>
</SheetContent>
</Sheet>
);
}
import { Button } from "@/components/ui/button";
import {
Sheet,
SheetClose,
SheetContent,
SheetFooter,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
export default function Content() {
return (
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Only Content</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Please login again.</SheetTitle>
</SheetHeader>
<p className="px-4 text-muted-foreground">
Your session has expired. Please login again to continue using the
application.
</p>
<SheetFooter>
<SheetClose asChild>
<Button type="button" variant="outline">
Cancel
</Button>
</SheetClose>
<Button type="submit">Login</Button>
</SheetFooter>
</SheetContent>
</Sheet>
);
}
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
Sheet,
SheetClose,
SheetContent,
SheetDescription,
SheetFooter,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet";
export default function Login() {
return (
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Login</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Login</SheetTitle>
<SheetDescription>
Please login again to continue using the application.
</SheetDescription>
</SheetHeader>
<form className="grid gap-4 px-4">
<div className="grid gap-2">
<Label htmlFor="email">Email</Label>
<Input
required
id="email"
type="email"
autoComplete="username"
placeholder="team@mynaui.com"
/>
</div>
<div className="grid gap-2">
<Label htmlFor="password">Password</Label>
<Input
required
id="password"
type="password"
placeholder="••••••••••"
autoComplete="current-password"
/>
</div>
</form>
<SheetFooter>
<SheetClose asChild>
<Button type="button" variant="outline">
Cancel
</Button>
</SheetClose>
<Button type="submit">Login</Button>
</SheetFooter>
</SheetContent>
</Sheet>
);
}