---
title: "collapsible"
description: "An interactive panel that expands and collapses its content."
category: "Layout"
---
# collapsible
An interactive panel that expands and collapses its content.
## Installation
```bash
php artisan ui:add collapsible
```
## Dependencies
- composer: `gehrisandro/tailwind-merge-laravel`
## Usage
```blade
Toggle
Hidden content revealed on toggle.
```
## Example
The demo rendered on the docs page.
```blade
@peduarte starred 3 repositories
Toggle
@radix-ui/primitives
@radix-ui/colors
@stitches/react
```
## Source
Copy each file to the path shown above it.
`resources/views/components/ui/collapsible/index.blade.php`
```blade
@props([
'open' => false,
])
@php
$classes = \TailwindMerge\Laravel\Facades\TailwindMerge::merge(
'group/collapsible',
$attributes->get('class'),
);
@endphp
@once
@endonce
```
`resources/views/components/ui/collapsible/trigger.blade.php`
```blade
@props([])
@php
$classes = \TailwindMerge\Laravel\Facades\TailwindMerge::merge(
'outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px]',
$attributes->get('class'),
);
@endphp
{{-- aria-expanded is seeded from the parent's data-state on load, then kept in
sync by the script that ships with . --}}
```
`resources/views/components/ui/collapsible/content.blade.php`
```blade
@props([])
@php
// Hidden by default; a collapsible with :open="true" flips it on via the
// group-data-[state=open] rule its parent sets.
$classes = \TailwindMerge\Laravel\Facades\TailwindMerge::merge(
'hidden group-data-[state=open]/collapsible:block',
$attributes->get('class'),
);
@endphp