Home / File/ button-group-input-group.tsx — ui Source File

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.

File tsx DocumentationAtlas Changelog 6 imports 1 dependents 1 functions

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>
  )
}

Subdomains

Dependencies

  • button
  • button-group
  • input-group
  • lucide-react
  • react
  • tooltip

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