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

input-group-rtl.tsx — ui Source File

Architecture documentation for input-group-rtl.tsx, a tsx file in the ui codebase. 6 imports, 0 dependents.

File tsx DocumentationAtlas Changelog 6 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  15228280_1880_5d4b_21b3_f513adb1dfa3["input-group-rtl.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  68874b2d_841d_f625_bf4f_104dc94b730e["field"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> 68874b2d_841d_f625_bf4f_104dc94b730e
  dfddfdc3_0d43_81b4_1080_a6cdbc966993["input-group"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> dfddfdc3_0d43_81b4_1080_a6cdbc966993
  53501bdc_ab5f_75a7_bdb5_dceaa6b1a775["spinner"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> 53501bdc_ab5f_75a7_bdb5_dceaa6b1a775
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  2c1404ab_bf28_6225_f9a0_b9e29400c66c["language-selector"]
  15228280_1880_5d4b_21b3_f513adb1dfa3 --> 2c1404ab_bf28_6225_f9a0_b9e29400c66c
  style 15228280_1880_5d4b_21b3_f513adb1dfa3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"
import {
  Field,
  FieldDescription,
  FieldGroup,
  FieldLabel,
} from "@/examples/radix/ui-rtl/field"
import {
  InputGroup,
  InputGroupAddon,
  InputGroupButton,
  InputGroupInput,
  InputGroupText,
  InputGroupTextarea,
} from "@/examples/radix/ui-rtl/input-group"
import { Spinner } from "@/examples/radix/ui-rtl/spinner"
import { Search } from "lucide-react"

import {
  useTranslation,
  type Translations,
} from "@/components/language-selector"

const translations: Translations = {
  en: {
    dir: "ltr",
    values: {
      placeholder: "Search...",
      results: "12 results",
      searching: "Searching...",
      saving: "Saving...",
      savingChanges: "Saving changes...",
      textareaLabel: "Textarea",
      textareaPlaceholder: "Write a comment...",
      characterCount: "0/280",
      post: "Post",
      textareaDescription: "Footer positioned below the textarea.",
    },
  },
  ar: {
    dir: "rtl",
    values: {
      placeholder: "بحث...",
      results: "١٢ نتيجة",
      searching: "جاري البحث...",
      saving: "جاري الحفظ...",
      savingChanges: "جاري حفظ التغييرات...",
      textareaLabel: "منطقة النص",
      textareaPlaceholder: "اكتب تعليقًا...",
      characterCount: "٠/٢٨٠",
      post: "نشر",
      textareaDescription: "تذييل موضع أسفل منطقة النص.",
    },
  },
  he: {
    dir: "rtl",
    values: {
      placeholder: "חפש...",
      results: "12 תוצאות",
      searching: "מחפש...",
      saving: "שומר...",
      savingChanges: "שומר שינויים...",
      textareaLabel: "אזור טקסט",
      textareaPlaceholder: "כתוב תגובה...",
      characterCount: "0/280",
      post: "פרסם",
      textareaDescription: "כותרת תחתונה ממוקמת מתחת לאזור הטקסט.",
    },
  },
}

export function InputGroupRtl() {
  const { dir, t } = useTranslation(translations, "ar")

  return (
    <div className="grid w-full max-w-sm gap-6">
      <InputGroup className="max-w-xs" dir={dir}>
        <InputGroupInput placeholder={t.placeholder} />
        <InputGroupAddon>
          <Search />
        </InputGroupAddon>
        <InputGroupAddon align="inline-end">{t.results}</InputGroupAddon>
      </InputGroup>
      <InputGroup dir={dir}>
        <InputGroupInput placeholder={t.searching} />
        <InputGroupAddon align="inline-end">
          <Spinner />
        </InputGroupAddon>
      </InputGroup>
      <InputGroup dir={dir}>
        <InputGroupInput placeholder={t.savingChanges} />
        <InputGroupAddon align="inline-end">
          <InputGroupText>{t.saving}</InputGroupText>
          <Spinner />
        </InputGroupAddon>
      </InputGroup>
      <FieldGroup className="max-w-sm" dir={dir}>
        <Field>
          <FieldLabel htmlFor="rtl-textarea">{t.textareaLabel}</FieldLabel>
          <InputGroup dir={dir}>
            <InputGroupTextarea
              id="rtl-textarea"
              placeholder={t.textareaPlaceholder}
            />
            <InputGroupAddon align="block-end">
              <InputGroupText>{t.characterCount}</InputGroupText>
              <InputGroupButton variant="default" size="sm" className="ml-auto">
                {t.post}
              </InputGroupButton>
            </InputGroupAddon>
          </InputGroup>
          <FieldDescription>{t.textareaDescription}</FieldDescription>
        </Field>
      </FieldGroup>
    </div>
  )
}

Subdomains

Functions

Dependencies

  • field
  • input-group
  • language-selector
  • lucide-react
  • react
  • spinner

Frequently Asked Questions

What does input-group-rtl.tsx do?
input-group-rtl.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 input-group-rtl.tsx?
input-group-rtl.tsx defines 1 function(s): InputGroupRtl.
What does input-group-rtl.tsx depend on?
input-group-rtl.tsx imports 6 module(s): field, input-group, language-selector, lucide-react, react, spinner.
Where is input-group-rtl.tsx in the architecture?
input-group-rtl.tsx is located at apps/v4/examples/radix/input-group-rtl.tsx (domain: DocumentationAtlas, subdomain: Changelog, directory: apps/v4/examples/radix).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free