# TallStackUI: Accordion > TallStackUI is a TALL Stack (Tailwind CSS, Alpine.js, Laravel, Livewire) > component library providing 65+ Blade components for building modern web interfaces. A collapsible panel group for progressively disclosed content such as FAQs, configuration sections, or grouped detail views. By default the accordion opens one item at a time (opening another closes the current one), matches the Radix/shadcn single-open UX, and animates expansion via the `@alpinejs/collapse` plugin. Supports multi-open mode, flat visual style, chevron positioning, default-open items, rich triggers, and custom icons. ## Basic Usage ```blade A suite of Blade components for the TALL stack. Laravel 10, 11, 12, and 13. ``` Allow multiple panels to stay open: ```blade Content A Content B ``` Flat visual style (no outer border / shadow): ```blade No outer border. Item separators only. ``` Chevron on the left: ```blade The chevron sits before the title. ``` Listening for events: ```blade Content ``` Binding events to a Livewire method: ```blade Answer. ``` ## Attributes | Attribute | Type | Default | Description | |-----------|--------------|-----------|-----------------------------------------------------------------------------------| | multiple | bool\|null | false | When set, multiple items can be open at the same time. Default is single-open. | | flat | bool\|null | false | Removes the outer border, rounding, and shadow. Item separators remain. | | chevron | string\|null | `'right'` | Position of the trigger's trailing icon. Accepts `'right'` (default) or `'left'`. | ## Slots | Slot | Description | |-----------|-----------------------------------------------------| | (default) | `` children defining each panel. | ## Events Events are dispatched as `CustomEvent`s on the accordion's root `
` and bubble up. Listen with `x-on:open` / `x-on:close` on the `` itself or on any ancestor. | Event | Detail | Description | |------------|----------------|--------------------------------------------------| | x-on:open | `{id: string}` | Fired when an item opens. Payload identifies it. | | x-on:close | `{id: string}` | Fired when an item closes. | ## Single-Open vs Multiple Single-open mode (default): opening an item automatically closes any other currently-open sibling. Use the `multiple` attribute to opt out: ```blade Opening B will close this. Opening A will close this. Stays open independently. Stays open independently. ``` ## Validation - `chevron` must be `'left'` or `'right'`. Any other value raises `InvalidArgumentException`. ## Soft Customization Soft customization allows you to override the default Tailwind CSS classes used by this component at runtime, either through a service provider or scoped per-instance. ### Customization ```php TallStackUi::customize() ->accordion() ->block('wrapper.base', 'your-tailwind-classes'); ``` ### Scoped Customization ```php TallStackUi::customize('accordion', scope: 'muted') ->block('wrapper.bordered', 'border border-dashed border-gray-400 rounded-xl'); ``` Then in Blade: ```blade Content ``` ### Available Blocks | Block Name | Purpose | |------------------------------|-----------------------------------------------------------------------------------| | wrapper.base | Base container styles applied to every accordion (background, width). | | wrapper.bordered | Border, radius, shadow, and overflow clipping applied when `flat` is not set. | | wrapper.chevron-left-cascade | Tailwind arbitrary-variant class that flips trigger layout when `chevron="left"`. |