import { Layers3, Type } from "lucide-react"; import { AppCard } from "@/components/ui/app-card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; type UiKitShowcaseProps = { localeKey: "de" | "en"; }; function UiKitSection({ title, description, children, }: { title: string; description: string; children: React.ReactNode; }) { return ( {title} {description} {children} ); } export function UiKitShowcase({ localeKey }: UiKitShowcaseProps) { const copy = localeKey === "de" ? { title: "UI Kit", intro: "Zentrale Referenz fuer globale Oberflaechen, Steuerelemente und verschachtelte Ebenen.", cards: "Cards", buttons: "Buttons", inputs: "Inputs", badges: "Badges", tabs: "Tabs", surfaces: "Surfaces", typography: "Typography", headers: "Headers", workspace: "Workspace", cardsDesc: "Aussenflaechen, innere Karten und verschachtelte Ebenen mit einheitlicher Hierarchie.", buttonsDesc: "Globale Button Varianten und Groessen aus einer zentralen Quelle.", inputsDesc: "Gemeinsame Feldzustande mit derselben inneren Radius- und Oberflaechenlogik.", badgesDesc: "Kleine Statusmarken mit minimaler, konsistenter Formensprache.", surfacesDesc: "Die gesamte Oberflaechenhierarchie basiert auf Level 1 bis 3 und einer inversen Ebene.", typographyDesc: "Typografische Grundstufen fuer Seiten, Sektionen und Metainformationen.", headersDesc: "Header Muster fuer Seiten und Sektionen innerhalb des Systems.", workspaceDesc: "Editor Muster mit breitem Inhaltsbereich und schmaler Kontextspalte fuer Admin Oberflaechen.", tabsDesc: "Tabs bleiben in einer Route und verwenden dieselbe verschachtelte Steuerlogik.", outerCard: "Aeussere Card", surfaceLevel: "Surface Level 1", innerCard: "Innere Card", nestedContent: "Verschachtelte Inhalte nutzen den zweiten Radius und eine weichere Oberflaeche.", nestedSurface: "Verschachtelte Ebene", nestedSurfaceText: "Mehr Tiefe ohne einen neuen Component Stil zu erfinden.", interactiveOuterCard: "Interaktive aeussere Card", hoverText: "Das Hover Verhalten bleibt an dieselbe Oberflaechenebene gebunden.", inverseOuterCard: "Inverse aeussere Card", inverseOuterCardText: "Nur verwenden, wenn ein starker Kontrastblock wirklich noetig ist.", default: "Standard", secondary: "Sekundaer", outline: "Outline", ghost: "Ghost", destructive: "Destruktiv", linkButton: "Link Button", small: "Klein", large: "Gross", iconButton: "Icon Button", disabled: "Deaktiviert", defaultInput: "Standard Input", placeholderText: "Platzhaltertext", filledInput: "Gefuellter Input", filledValue: "Gefuellter Wert", disabledInput: "Deaktivierter Input", disabledState: "Deaktivierter Zustand", focusPreview: "Focus Vorschau", focusedLook: "Fokussierte Ansicht", errorPreview: "Fehler Vorschau", invalidValue: "Ungueltiger Wert", textarea: "Textarea", textareaValue: "Laengerer Feldzustand fuer mehrzeilige Inhalte.", success: "Erfolg", warning: "Warnung", first: "Erste", second: "Zweite", third: "Dritte", firstTabText: "Inhalt des ersten Tabs innerhalb einer Level 1 Oberflaeche.", secondTabText: "Inhalt des zweiten Tabs mit derselben globalen Hierarchie.", thirdTabText: "Inhalt des dritten Tabs ohne lokale Sonderstile.", surfaceOne: "Surface 1", surfaceOneText: "Aeussere und primaere Container.", surfaceTwo: "Surface 2", surfaceTwoText: "Innere und unterstuetzende Panels.", surfaceThree: "Surface 3", surfaceThreeText: "Mehr Betonung ohne neue Styling-Zweige.", inverse: "Inverse", inverseText: "Reserviert fuer bewusst eingesetzte Kontrastbloecke.", eyebrow: "Eyebrow", pageHeading: "Seitenueberschrift", pageHeadingText: "Begleitender Absatz fuer primaere Seiteneinfuehrungen und Zusammenfassungen.", sectionHeading: "Abschnittsueberschrift", sectionHeadingText: "Fuer gruppierte Bereiche innerhalb einer aeusseren Seitenoberflaeche.", strongSupportingText: "Betonter Begleittext", pageHeader: "Seitenheader", outerSurfaceHeader: "Header der aeusseren Oberflaeche", outerSurfaceHeaderText: "Dieses Muster wird fuer Seitensektionen mit staerkerer Hierarchie genutzt.", sectionHeader: "Abschnittsheader", nestedBlockHeading: "Ueberschrift des verschachtelten Blocks", nestedBlockHeadingText: "Innerhalb einer aeusseren Card verwenden, wenn Inhalte bereits gruppiert sind.", workspaceHeader: "Editor Workspace", workspaceMain: "Breiter Inhaltsbereich", workspaceMainText: "Hier liegen Formschritte, Listen und eigentliche Bearbeitung.", workspaceSide: "Kontextspalte", workspaceSideText: "Status, Checklisten und Fokusdetails bleiben immer sichtbar." } : { title: "UI Kit", intro: "Central reference for global surfaces, controls, and nested interface levels.", cards: "Cards", buttons: "Buttons", inputs: "Inputs", badges: "Badges", tabs: "Tabs", surfaces: "Surfaces", typography: "Typography", headers: "Headers", workspace: "Workspace", cardsDesc: "Outer surfaces, inner cards, and nested levels with one consistent hierarchy.", buttonsDesc: "Global button variants and sizes from one shared source of truth.", inputsDesc: "Shared field states using the same inner radius and surface logic.", badgesDesc: "Small status markers with a minimal and consistent shape language.", surfacesDesc: "The full surface hierarchy is built on level 1 through 3 and one inverse layer.", typographyDesc: "Typography foundations for pages, sections, and supporting copy.", headersDesc: "Header patterns for pages and sections inside the system.", workspaceDesc: "Editor pattern with a wide content area and a narrow context rail for admin workflows.", tabsDesc: "Tabs stay within one route and use the same nested control logic.", outerCard: "Outer card", surfaceLevel: "Surface level 1", innerCard: "Inner card", nestedContent: "Nested content uses the secondary radius and a softer surface.", nestedSurface: "Nested surface", nestedSurfaceText: "Deeper emphasis without inventing a new component style.", interactiveOuterCard: "Interactive outer card", hoverText: "Hover behavior stays attached to the same surface level.", inverseOuterCard: "Inverse outer card", inverseOuterCardText: "Use only when a strong contrast block is truly needed.", default: "Default", secondary: "Secondary", outline: "Outline", ghost: "Ghost", destructive: "Destructive", linkButton: "Link button", small: "Small", large: "Large", iconButton: "Icon button", disabled: "Disabled", defaultInput: "Default input", placeholderText: "Placeholder text", filledInput: "Filled input", filledValue: "Filled value", disabledInput: "Disabled input", disabledState: "Disabled state", focusPreview: "Focus-style preview", focusedLook: "Focused look", errorPreview: "Error-style preview", invalidValue: "Invalid value", textarea: "Textarea", textareaValue: "Longer field state for multiline content.", success: "Success", warning: "Warning", first: "First", second: "Second", third: "Third", firstTabText: "First tab content inside a level 1 surface.", secondTabText: "Second tab content using the same global hierarchy.", thirdTabText: "Third tab content without local custom styling.", surfaceOne: "Surface 1", surfaceOneText: "Outer and primary containers.", surfaceTwo: "Surface 2", surfaceTwoText: "Inner and supporting panels.", surfaceThree: "Surface 3", surfaceThreeText: "Raised emphasis without new styling branches.", inverse: "Inverse", inverseText: "Reserved for deliberate high-contrast blocks.", eyebrow: "Eyebrow", pageHeading: "Page heading", pageHeadingText: "Supporting paragraph text for primary page introductions and summaries.", sectionHeading: "Section heading", sectionHeadingText: "Use this for grouped blocks inside an outer page surface.", strongSupportingText: "Strong supporting text", pageHeader: "Page header", outerSurfaceHeader: "Outer surface header", outerSurfaceHeaderText: "This pattern is used for page-level sections that need stronger hierarchy.", sectionHeader: "Section header", nestedBlockHeading: "Nested block heading", nestedBlockHeadingText: "Use inside an outer card when content is already grouped.", workspaceHeader: "Editor workspace", workspaceMain: "Wide content area", workspaceMainText: "This area carries form steps, lists, and direct editing work.", workspaceSide: "Context rail", workspaceSideText: "Status, checklists, and focus details stay visible at all times." }; return (
{copy.title}

{copy.title}

{copy.intro}

{copy.cards} {copy.buttons} {copy.inputs} {copy.badges} {copy.tabs} {copy.surfaces} {copy.typography} {copy.headers} {copy.workspace}

{copy.outerCard}

{copy.surfaceLevel}

{copy.innerCard}

{copy.nestedContent}

{copy.nestedSurface}

{copy.nestedSurfaceText}

{copy.interactiveOuterCard}

{copy.hoverText}

{copy.inverseOuterCard}

{copy.inverseOuterCardText}