uiComponents
v0.1.0

BreakpointScanner

Scans your modules and purges unreachable code nodes.

concurrency4
nodes: 0coverage: 0%
accordion.tsxidle
"use client"

import * as React from "react"
import { ChevronDown } from "lucide-react"
import { cn } from "@/lib/utils"

interface AccordionContextValue {
  openValue: string
  setOpenValue: (value: string) => void
}

const AccordionContext = React.createContext<AccordionContextValue | null>(null)

export function Accordion({
  children,
  defaultValue,
  className,
}: {
  children: React.ReactNode
  defaultValue?: string
  className?: string
}) {
  const [openValue, setOpenValue] = React.useState(defaultValue ?? "")
  return (
    <AccordionContext.Provider value={{ openValue, setOpenValue }}>
      <div className={cn("divide-y rounded-lg border", className)}>{children}</div>
    </AccordionContext.Provider>
  )
}

Move your mouse to aim · click to start · click again to pause (boss key).