Files
upstream-mirror 1416db152c
All checks were successful
Release / Create Version PR or Publish Stable Release (push) Has been skipped
Release / Publish Prerelease to NPM (push) Has been skipped
Monitor Registries / Monitor registry health (push) Has been skipped
snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 22:44:43 +05:00

101 lines
3.1 KiB
TypeScript

"use client"
import { Button } from "@/registry/bases/radix/ui/button"
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/registry/bases/radix/ui/card"
import { Field, FieldLabel } from "@/registry/bases/radix/ui/field"
import { Input } from "@/registry/bases/radix/ui/input"
import {
InputGroup,
InputGroupAddon,
InputGroupButton,
InputGroupInput,
} from "@/registry/bases/radix/ui/input-group"
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/registry/bases/radix/ui/select"
import { Separator } from "@/registry/bases/radix/ui/separator"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
export function InviteTeam() {
return (
<Card>
<CardHeader>
<CardTitle>Invite Team</CardTitle>
<CardDescription>Add members to your workspace</CardDescription>
</CardHeader>
<CardContent className="flex flex-col gap-4">
<div className="flex flex-col gap-3">
{[
{ email: "alex@example.com", role: "Editor" },
{ email: "sam@example.com", role: "Viewer" },
].map((invite) => (
<div key={invite.email} className="flex items-center gap-2">
<Input defaultValue={invite.email} className="flex-1" />
<Select defaultValue={invite.role.toLowerCase()}>
<SelectTrigger className="w-24">
<SelectValue />
</SelectTrigger>
<SelectContent position="popper" align="end">
<SelectGroup>
<SelectItem value="admin">Admin</SelectItem>
<SelectItem value="editor">Editor</SelectItem>
<SelectItem value="viewer">Viewer</SelectItem>
</SelectGroup>
</SelectContent>
</Select>
</div>
))}
</div>
<Button variant="outline">
<IconPlaceholder
lucide="PlusIcon"
tabler="IconPlus"
hugeicons="PlusSignIcon"
phosphor="PlusIcon"
remixicon="RiAddLine"
data-icon="inline-start"
/>
Add another
</Button>
<Separator />
<Field>
<FieldLabel htmlFor="invite-link">Or share invite link</FieldLabel>
<InputGroup>
<InputGroupInput
id="invite-link"
defaultValue="https://app.co/invite/x8f2k"
readOnly
/>
<InputGroupAddon align="inline-end">
<InputGroupButton size="icon-xs" aria-label="Copy link">
<IconPlaceholder
lucide="CopyIcon"
tabler="IconCopy"
hugeicons="Copy01Icon"
phosphor="CopyIcon"
remixicon="RiFileCopyLine"
/>
</InputGroupButton>
</InputGroupAddon>
</InputGroup>
</Field>
</CardContent>
<CardFooter>
<Button className="w-full">Send Invites</Button>
</CardFooter>
</Card>
)
}