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

button-group-nested.tsx — ui Source File

Architecture documentation for button-group-nested.tsx, a tsx file in the ui codebase. 4 imports, 1 dependents.

File tsx Internationalization Dictionary 4 imports 1 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7["button-group-nested.tsx"]
  43bb9fc1_6eab_13df_a99b_981eb13b9ec1["button"]
  c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7 --> 43bb9fc1_6eab_13df_a99b_981eb13b9ec1
  fd230760_a26a_f030_5144_d7a206420114["button-group"]
  c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7 --> fd230760_a26a_f030_5144_d7a206420114
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  2c1404ab_bf28_6225_f9a0_b9e29400c66c["language-selector"]
  c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7 --> 2c1404ab_bf28_6225_f9a0_b9e29400c66c
  a20493d4_39f4_bced_97b9_027078a02a91["index.tsx"]
  a20493d4_39f4_bced_97b9_027078a02a91 --> c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7
  style c1d94cc0_fe1b_f253_c09d_03b05ba5fdd7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import { Button } from "@/examples/base/ui-rtl/button"
import { ButtonGroup } from "@/examples/base/ui-rtl/button-group"
import { ArrowLeftIcon, ArrowRightIcon } from "lucide-react"

import { useLanguageContext } from "@/components/language-selector"

const translations = {
  ar: {
    dir: "rtl" as const,
    locale: "ar-SA",
    previous: "السابق",
    next: "التالي",
  },
  he: {
    dir: "rtl" as const,
    locale: "he-IL",
    previous: "הקודם",
    next: "הבא",
  },
}

function formatNumber(value: number, locale: string) {
  return new Intl.NumberFormat(locale).format(value)
}

export function ButtonGroupNested() {
  const context = useLanguageContext()
  const lang = context?.language === "he" ? "he" : "ar"
  const t = translations[lang]

  return (
    <ButtonGroup dir={t.dir}>
      <ButtonGroup>
        <Button variant="outline" size="sm">
          {formatNumber(1, t.locale)}
        </Button>
        <Button variant="outline" size="sm">
          {formatNumber(2, t.locale)}
        </Button>
        <Button variant="outline" size="sm">
          {formatNumber(3, t.locale)}
        </Button>
      </ButtonGroup>
      <ButtonGroup>
        <Button variant="outline" size="icon-sm" aria-label={t.previous}>
          <ArrowLeftIcon className="rtl:rotate-180" />
        </Button>
        <Button variant="outline" size="icon-sm" aria-label={t.next}>
          <ArrowRightIcon className="rtl:rotate-180" />
        </Button>
      </ButtonGroup>
    </ButtonGroup>
  )
}

Subdomains

Dependencies

  • button
  • button-group
  • language-selector
  • lucide-react

Frequently Asked Questions

What does button-group-nested.tsx do?
button-group-nested.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-nested.tsx?
button-group-nested.tsx defines 2 function(s): ButtonGroupNested, formatNumber.
What does button-group-nested.tsx depend on?
button-group-nested.tsx imports 4 module(s): button, button-group, language-selector, lucide-react.
What files import button-group-nested.tsx?
button-group-nested.tsx is imported by 1 file(s): index.tsx.
Where is button-group-nested.tsx in the architecture?
button-group-nested.tsx is located at apps/v4/app/(app)/examples/rtl/components/button-group-nested.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