Spoiler

Hide long sections of content under spoiler
Import

Usage

Use Spoiler to hide long section of content. Pass maxHeight prop to control point at which content will be hidden under spoiler and control to show/hide extra appears. If content height is less than maxHeight spoiler will just render children.

Props hideLabel and showLabel are required – they are used as spoiler toggle button label in corresponding state.

We Butter the Bread with Butter
We Butter the Bread with Butter was founded in 2007 by Marcel Neumann, who was originally guitarist for Martin Kesici's band, and Tobias Schultka. The band was originally meant as a joke, but progressed into being a more serious musical duo. The name for the band has no particular meaning, although its origins were suggested from when the two original members were driving in a car operated by Marcel Neumann and an accident almost occurred. Neumann found Schultka "so funny that he briefly lost control of the vehicle." Many of their songs from this point were covers of German folk tales and nursery rhymes.
import { Spoiler } from '@mantine/core';
function Demo() {
return (
<Spoiler maxHeight={120} showLabel="Show more" hideLabel="Hide">
{/* Content here */}
</Spoiler>
);
}

Transition duration

Control transition duration by setting transitionDuration prop (transition-duration CSS property in ms). To disable animations, set prop to 0:

We Butter the Bread with Butter
We Butter the Bread with Butter was founded in 2007 by Marcel Neumann, who was originally guitarist for Martin Kesici's band, and Tobias Schultka. The band was originally meant as a joke, but progressed into being a more serious musical duo. The name for the band has no particular meaning, although its origins were suggested from when the two original members were driving in a car operated by Marcel Neumann and an accident almost occurred. Neumann found Schultka "so funny that he briefly lost control of the vehicle." Many of their songs from this point were covers of German folk tales and nursery rhymes.
import { Spoiler } from '@mantine/core';
function Demo() {
return (
<Spoiler maxHeight={120} showLabel="Show more" hideLabel="Hide" transitionDuration={0}>
{/* Content here */}
</Spoiler>
);
}

Get control ref

import { useRef } from 'react';
import { Spoiler } from '@mantine/core';
function Demo() {
const spoilerControlRef = useRef<HTMLButtonElement>();
return <Spoiler controlRef={spoilerControlRef} />;
}