mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-07 22:18:39 +00:00
101 lines
3.2 KiB
TypeScript
101 lines
3.2 KiB
TypeScript
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuGroup,
|
|
DropdownMenuItem,
|
|
DropdownMenuTrigger,
|
|
} from "@/examples/radix/ui/dropdown-menu"
|
|
import {
|
|
InputGroup,
|
|
InputGroupAddon,
|
|
InputGroupButton,
|
|
InputGroupInput,
|
|
InputGroupText,
|
|
InputGroupTextarea,
|
|
} from "@/examples/radix/ui/input-group"
|
|
import { Separator } from "@/examples/radix/ui/separator"
|
|
import {
|
|
Tooltip,
|
|
TooltipContent,
|
|
TooltipTrigger,
|
|
} from "@/examples/radix/ui/tooltip"
|
|
import { IconCheck, IconInfoCircle, IconPlus } from "@tabler/icons-react"
|
|
import { ArrowUpIcon, Search } from "lucide-react"
|
|
|
|
export default function InputGroupDemo() {
|
|
return (
|
|
<div className="grid w-full max-w-sm gap-6">
|
|
<InputGroup>
|
|
<InputGroupInput placeholder="Search..." />
|
|
<InputGroupAddon>
|
|
<Search />
|
|
</InputGroupAddon>
|
|
<InputGroupAddon align="inline-end">12 results</InputGroupAddon>
|
|
</InputGroup>
|
|
<InputGroup>
|
|
<InputGroupInput placeholder="example.com" className="!pl-1" />
|
|
<InputGroupAddon>
|
|
<InputGroupText>https://</InputGroupText>
|
|
</InputGroupAddon>
|
|
<InputGroupAddon align="inline-end">
|
|
<Tooltip>
|
|
<TooltipTrigger asChild>
|
|
<InputGroupButton className="rounded-full" size="icon-xs">
|
|
<IconInfoCircle />
|
|
</InputGroupButton>
|
|
</TooltipTrigger>
|
|
<TooltipContent>This is content in a tooltip.</TooltipContent>
|
|
</Tooltip>
|
|
</InputGroupAddon>
|
|
</InputGroup>
|
|
<InputGroup>
|
|
<InputGroupTextarea placeholder="Ask, Search or Chat..." />
|
|
<InputGroupAddon align="block-end">
|
|
<InputGroupButton
|
|
variant="outline"
|
|
className="rounded-full"
|
|
size="icon-xs"
|
|
>
|
|
<IconPlus />
|
|
</InputGroupButton>
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<InputGroupButton variant="ghost">Auto</InputGroupButton>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent
|
|
side="top"
|
|
align="start"
|
|
className="[--radius:0.95rem]"
|
|
>
|
|
<DropdownMenuGroup>
|
|
<DropdownMenuItem>Auto</DropdownMenuItem>
|
|
<DropdownMenuItem>Agent</DropdownMenuItem>
|
|
<DropdownMenuItem>Manual</DropdownMenuItem>
|
|
</DropdownMenuGroup>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
<InputGroupText className="ml-auto">52% used</InputGroupText>
|
|
<Separator orientation="vertical" className="!h-4" />
|
|
<InputGroupButton
|
|
variant="default"
|
|
className="rounded-full"
|
|
size="icon-xs"
|
|
disabled
|
|
>
|
|
<ArrowUpIcon />
|
|
<span className="sr-only">Send</span>
|
|
</InputGroupButton>
|
|
</InputGroupAddon>
|
|
</InputGroup>
|
|
<InputGroup>
|
|
<InputGroupInput placeholder="@shadcn" />
|
|
<InputGroupAddon align="inline-end">
|
|
<div className="bg-primary text-primary-foreground flex size-4 items-center justify-center rounded-full">
|
|
<IconCheck className="size-3" />
|
|
</div>
|
|
</InputGroupAddon>
|
|
</InputGroup>
|
|
</div>
|
|
)
|
|
}
|