Spoiler

Spoiler

Collapsible disclosure using native <details>/<summary> — lightweight alternative to Accordion for single items

Installation

npx @ravikumarsurya/mdx-ui add spoiler

Examples

Show answer
The answer is 42.
Implementation details
This section is expanded on load.

Usage

Basic

<Spoiler summary="Show answer">The answer is 42.</Spoiler>

Open by default

<Spoiler summary="Implementation details" open>
  This section is expanded on load.
</Spoiler>

With rich content

<Spoiler summary="View full code example">
  ```tsx
  export function Hello() {
    return <h1>Hello world</h1>
  }
  ```
</Spoiler>

Spoiler vs Accordion

SpoilerAccordion
ElementNative <details><div> with state
JS requiredNoYes
Multiple itemsNo (use Accordion)Yes
AnimationsCSS onlyCSS only
KeyboardBrowser nativeCustom

Use Spoiler for a single collapsible item. Use Accordion when you need multiple items or single-open behavior.

Props

PropTypeDefaultDescription
summarystringText for the toggle button (required)
openbooleanfalseStart expanded
classNamestringExtra classes on the <details> element