1'use client';
2
3import { Button } from '@/components/ui/button';
4import { Dialog } from '@/components/ui/dialog';
5import { Input } from '@/components/ui/input';
6import { Label } from '@/components/ui/label';
7import { Select } from '@/components/ui/select';
8
9export function Default() {
10 return (
11 <Dialog>
12 <Dialog.Trigger asChild>
13 <Button>Invite teammate</Button>
14 </Dialog.Trigger>
15 <Dialog.Content>
16 <Dialog.Header>
17 <Dialog.Title>Invite to Northwind</Dialog.Title>
18 <Dialog.Description>
19 They get an email with a join link that expires in 7 days. Each extra seat is billed at
20 $12 per month.
21 </Dialog.Description>
22 </Dialog.Header>
23 <div className="grid gap-4 py-2">
24 <Input
25 id="invite-email"
26 type="email"
27 label="Work email"
28 placeholder="teammate@northwind.io"
29 description="Only addresses on northwind.io skip manual approval."
30 />
31 <div className="grid gap-1.5">
32 <Label htmlFor="invite-role">Role</Label>
33 <Select defaultValue="developer">
34 <Select.Trigger id="invite-role" />
35 <Select.Content>
36 <Select.Item value="admin">Admin, full access including billing</Select.Item>
37 <Select.Item value="developer">Developer, can deploy and read logs</Select.Item>
38 <Select.Item value="viewer">Viewer, read only</Select.Item>
39 </Select.Content>
40 </Select>
41 </div>
42 </div>
43 <Dialog.Footer>
44 <Dialog.Close asChild>
45 <Button variant="outline">Cancel</Button>
46 </Dialog.Close>
47 <Dialog.Close asChild>
48 <Button>Send invite</Button>
49 </Dialog.Close>
50 </Dialog.Footer>
51 </Dialog.Content>
52 </Dialog>
53 );
54}