button-group-input-group.tsx — ui Source File
Architecture documentation for button-group-input-group.tsx, a tsx file in the ui codebase. 7 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11["button-group-input-group.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 43bb9fc1_6eab_13df_a99b_981eb13b9ec1["button"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> 43bb9fc1_6eab_13df_a99b_981eb13b9ec1 fd230760_a26a_f030_5144_d7a206420114["button-group"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> fd230760_a26a_f030_5144_d7a206420114 5a7da2d0_5f0c_be7c_cec3_d1c492aa50f7["input-group"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> 5a7da2d0_5f0c_be7c_cec3_d1c492aa50f7 6544c2c5_b5c4_9182_1e6a_d512018c1eb1["tooltip"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> 6544c2c5_b5c4_9182_1e6a_d512018c1eb1 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 2c1404ab_bf28_6225_f9a0_b9e29400c66c["language-selector"] eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 --> 2c1404ab_bf28_6225_f9a0_b9e29400c66c a20493d4_39f4_bced_97b9_027078a02a91["index.tsx"] a20493d4_39f4_bced_97b9_027078a02a91 --> eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 style eaab3f2c_aa35_2a4c_12ab_b6a1cc24ec11 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { Button } from "@/examples/base/ui-rtl/button"
import { ButtonGroup } from "@/examples/base/ui-rtl/button-group"
import {
InputGroup,
InputGroupAddon,
InputGroupButton,
InputGroupInput,
} from "@/examples/base/ui-rtl/input-group"
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@/examples/base/ui-rtl/tooltip"
import { AudioLinesIcon, PlusIcon } from "lucide-react"
import { useLanguageContext } from "@/components/language-selector"
const translations = {
ar: {
dir: "rtl" as const,
add: "إضافة",
voicePlaceholder: "سجل وأرسل صوتًا...",
messagePlaceholder: "أرسل رسالة...",
voiceMode: "الوضع الصوتي",
},
he: {
dir: "rtl" as const,
add: "הוסף",
voicePlaceholder: "הקלט ושלח אודיו...",
messagePlaceholder: "שלח הודעה...",
voiceMode: "מצב קולי",
},
}
export function ButtonGroupInputGroup() {
const context = useLanguageContext()
const lang = context?.language === "he" ? "he" : "ar"
const t = translations[lang]
const [voiceEnabled, setVoiceEnabled] = React.useState(false)
return (
<ButtonGroup dir={t.dir}>
<ButtonGroup>
<Button variant="outline" size="icon" aria-label={t.add}>
<PlusIcon />
</Button>
</ButtonGroup>
<ButtonGroup className="flex-1">
<InputGroup>
<InputGroupInput
placeholder={
voiceEnabled ? t.voicePlaceholder : t.messagePlaceholder
}
disabled={voiceEnabled}
/>
<InputGroupAddon align="inline-end">
<Tooltip>
<TooltipTrigger
render={
<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={t.voiceMode}
/>
}
>
<AudioLinesIcon />
</TooltipTrigger>
<TooltipContent>{t.voiceMode}</TooltipContent>
</Tooltip>
</InputGroupAddon>
</InputGroup>
</ButtonGroup>
</ButtonGroup>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- button-group
- input-group
- language-selector
- lucide-react
- react
- tooltip
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 Internationalization domain, Dictionary 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 7 module(s): button, button-group, input-group, language-selector, 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)/examples/rtl/components/button-group-input-group.tsx (domain: Internationalization, subdomain: Dictionary, directory: apps/v4/app/(app)/examples/rtl/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free