Home / File/ code-block-wrapper.tsx — ui Source File

code-block-wrapper.tsx — ui Source File

Architecture documentation for code-block-wrapper.tsx, a tsx file in the ui codebase. 4 imports, 0 dependents.

File tsx ComponentRegistry UIPrimitives 4 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  07a31757_1e77_19bc_f032_a1b218a23f8e["code-block-wrapper.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  07a31757_1e77_19bc_f032_a1b218a23f8e --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"]
  07a31757_1e77_19bc_f032_a1b218a23f8e --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81
  aa2f3ec6_f291_3763_88ec_65a3f5ad5939["button"]
  07a31757_1e77_19bc_f032_a1b218a23f8e --> aa2f3ec6_f291_3763_88ec_65a3f5ad5939
  3569d809_9117_156a_db42_ebbe426ff35a["collapsible"]
  07a31757_1e77_19bc_f032_a1b218a23f8e --> 3569d809_9117_156a_db42_ebbe426ff35a
  style 07a31757_1e77_19bc_f032_a1b218a23f8e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"

import { cn } from "@/lib/utils"
import { Button } from "@/registry/new-york/ui/button"
import {
  Collapsible,
  CollapsibleContent,
  CollapsibleTrigger,
} from "@/registry/new-york/ui/collapsible"

interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {
  expandButtonTitle?: string
}

export function CodeBlockWrapper({
  expandButtonTitle = "View Code",
  className,
  children,
  ...props
}: CodeBlockProps) {
  const [isOpened, setIsOpened] = React.useState(false)

  return (
    <Collapsible open={isOpened} onOpenChange={setIsOpened}>
      <div className={cn("relative overflow-hidden", className)} {...props}>
        <CollapsibleContent
          forceMount
          className={cn("overflow-hidden", !isOpened && "max-h-32")}
        >
          <div
            className={cn(
              "[&_pre]:my-0 [&_pre]:max-h-[650px] [&_pre]:pb-[100px]",
              !isOpened ? "[&_pre]:overflow-hidden" : "[&_pre]:overflow-auto]"
            )}
          >
            {children}
          </div>
        </CollapsibleContent>
        <div
          className={cn(
            "absolute flex items-center justify-center bg-gradient-to-b from-zinc-700/30 to-zinc-950/90 p-2",
            isOpened ? "inset-x-0 bottom-0 h-12" : "inset-0"
          )}
        >
          <CollapsibleTrigger asChild>
            <Button variant="secondary" className="h-8 text-xs">
              {isOpened ? "Collapse" : expandButtonTitle}
            </Button>
          </CollapsibleTrigger>
        </div>
      </div>
    </Collapsible>
  )
}

Subdomains

Functions

Dependencies

  • button
  • collapsible
  • react
  • utils

Frequently Asked Questions

What does code-block-wrapper.tsx do?
code-block-wrapper.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, UIPrimitives subdomain.
What functions are defined in code-block-wrapper.tsx?
code-block-wrapper.tsx defines 1 function(s): CodeBlockWrapper.
What does code-block-wrapper.tsx depend on?
code-block-wrapper.tsx imports 4 module(s): button, collapsible, react, utils.
Where is code-block-wrapper.tsx in the architecture?
code-block-wrapper.tsx is located at deprecated/www/components/code-block-wrapper.tsx (domain: ComponentRegistry, subdomain: UIPrimitives, directory: deprecated/www/components).

Analyze Your Own Codebase

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

Try Supermodel Free