Collapsible

An interactive component that expands/collapses a panel.

shadcn/ui docs

@peduarte starred 3 repositories

@base-ui/react

Installation

pnpm dlx shadcn@latest add https://neobrutal-ui.andongmin.com/r/collapsible.json

Usage

import { ChevronsUpDown } from "lucide-react";
 
import * as React from "react";
 
import { Button } from "@/components/ui/button";
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible";
const [isOpen, setIsOpen] = React.useState(false);
<Collapsible open={isOpen} onOpenChange={setIsOpen} className="w-[350px] space-y-2">
  <div className="rounded-base flex items-center justify-between space-x-4 border-2 border-border text-main-foreground bg-main px-4 py-2">
    <h4 className="text-sm font-heading">@peduarte starred 3 repositories</h4>
    <CollapsibleTrigger asChild>
      <Button
        variant="noShadow"
        size="sm"
        className="w-9 bg-secondary-background text-foreground p-0"
      >
        <ChevronsUpDown className="size-4" />
        <span className="sr-only">Toggle</span>
      </Button>
    </CollapsibleTrigger>
  </div>
  <div className="rounded-base border-2 border-border bg-main px-4 py-3 font-mono font-base text-main-foreground text-sm">
    @base-ui/react
  </div>
  <CollapsibleContent className="space-y-2 text-main-foreground font-base">
    <div className="rounded-base border-2 border-border bg-main px-4 py-3 font-mono text-sm">
      shadcn/tailwind.css
    </div>
    <div className="rounded-base border-2 border-border bg-main px-4 py-3 font-mono text-sm">
      @stitches/react
    </div>
  </CollapsibleContent>
</Collapsible>