button-group-input-group.tsx — ui Source File
Architecture documentation for button-group-input-group.tsx, a tsx file in the ui codebase. 6 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 0779e9e9_46ad_e823_893b_e4dce92c2f63["button-group-input-group.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 4b1d2128_46d9_46f0_b915_b6e1925b7876["button"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> 4b1d2128_46d9_46f0_b915_b6e1925b7876 18f6542f_51e6_ba81_129a_f0eef8a35168["button-group"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> 18f6542f_51e6_ba81_129a_f0eef8a35168 d4ae1ebd_39ec_2b17_5c84_fbca1aec26c7["input-group"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> d4ae1ebd_39ec_2b17_5c84_fbca1aec26c7 2e5ffaa4_e254_231d_7f3e_d1b7ff0bfae7["tooltip"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> 2e5ffaa4_e254_231d_7f3e_d1b7ff0bfae7 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] 0779e9e9_46ad_e823_893b_e4dce92c2f63 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 53860de0_4d86_dc1d_c85a_07c01f0d1a07["index.tsx"] 53860de0_4d86_dc1d_c85a_07c01f0d1a07 --> 0779e9e9_46ad_e823_893b_e4dce92c2f63 style 0779e9e9_46ad_e823_893b_e4dce92c2f63 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { Button } from "@/examples/radix/ui/button"
import { ButtonGroup } from "@/examples/radix/ui/button-group"
import {
InputGroup,
InputGroupAddon,
InputGroupButton,
InputGroupInput,
} from "@/examples/radix/ui/input-group"
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@/examples/radix/ui/tooltip"
import { AudioLinesIcon, PlusIcon } from "lucide-react"
export function ButtonGroupInputGroup() {
const [voiceEnabled, setVoiceEnabled] = React.useState(false)
return (
<ButtonGroup className="[--radius:9999rem]">
<ButtonGroup>
<Button variant="outline" size="icon" aria-label="Add">
<PlusIcon />
</Button>
</ButtonGroup>
<ButtonGroup className="flex-1">
<InputGroup>
<InputGroupInput
placeholder={
voiceEnabled ? "Record and send audio..." : "Send a message..."
}
disabled={voiceEnabled}
/>
<InputGroupAddon align="inline-end">
<Tooltip>
<TooltipTrigger asChild>
<InputGroupButton
onClick={() => setVoiceEnabled(!voiceEnabled)}
data-active={voiceEnabled}
className="data-[active=true]:bg-primary data-[active=true]:text-primary-foreground"
aria-pressed={voiceEnabled}
size="icon-xs"
aria-label="Voice Mode"
>
<AudioLinesIcon />
</InputGroupButton>
</TooltipTrigger>
<TooltipContent>Voice Mode</TooltipContent>
</Tooltip>
</InputGroupAddon>
</InputGroup>
</ButtonGroup>
</ButtonGroup>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- button-group
- input-group
- lucide-react
- react
- tooltip
Imported By
Source
Frequently Asked Questions
What does button-group-input-group.tsx do?
button-group-input-group.tsx is a source file in the ui codebase, written in tsx. It belongs to the DocumentationAtlas domain, Changelog subdomain.
What functions are defined in button-group-input-group.tsx?
button-group-input-group.tsx defines 1 function(s): ButtonGroupInputGroup.
What does button-group-input-group.tsx depend on?
button-group-input-group.tsx imports 6 module(s): button, button-group, input-group, lucide-react, react, tooltip.
What files import button-group-input-group.tsx?
button-group-input-group.tsx is imported by 1 file(s): index.tsx.
Where is button-group-input-group.tsx in the architecture?
button-group-input-group.tsx is located at apps/v4/app/(app)/(root)/components/button-group-input-group.tsx (domain: DocumentationAtlas, subdomain: Changelog, directory: apps/v4/app/(app)/(root)/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free