Inspired by
Bootstrap's
similar component but differing in a few key ways, the
Collapse
component allows you to toggle the visibility of certain
content chunks.
Adding the class of Collapse
will enable basic functionality, where the
element will hide or show based on the value of its aria-hidden
attribute
(true
or false
) or whether or not it is the :target
.
Adding the class js-Collapse
or calling $(element).collapse()
will
enable enhanced functionality with animation. Unlike Bootstrap's plugin, it
will not automatically collapse the element to avoid conflicting with the
intended aria-expanded
state.
Any element with an aria-controls
attribute mapping to the collapsible
element's id
will toggle its visibility on click. You can also use a link
targeting the element's id
, which will retain the basic functionality even
when JavaScript fails to initialize.
If you need to programatically trigger opening and closing of collapses, you
can access the underlying Collapse
class as cpeToolkit.Collapse
:
const myCollapse = new cpeToolkit.Collapse('.my-collapse');
myCollapse.open();
myCollapse.close();
<p>
<a class="Button" href="#id" aria-controls="id">
Toggle Link
<svg width="16" height="16" viewBox="-9 -6 32 32" class="Icon u-rotateOnExpand180">
<polygon transform="rotate(90, 7, 10)" points="0,0 7,0 14,10 7,20 0,20 7,10"/>
</svg>
</a>
</p>
<div class="Collapse js-Collapse u-bgSilver u-pad1" aria-hidden="true" id="id">
<p>
Julinaevi onaptal bofvuvu riz zeat fot mo liw zo bian kucce oponu gotuc rekul fotde. Tise defjur jatfif bu ake nenuf onivo efehen ceztugo icravlu pebanvad sikrakmu aneli hied kujtevaj. Gimeros gopu gadiak jevatak di tubuoco debud zab elihvak selig nivu fi re igveke. Emimez egowiebi suk vumu rajoof fipi bezor rafuj iho nabu zis tofkol junaba ja wi. Ligcod juwet nam bi magew osawoaz olba hij nablomzu su tuwofeawi fojiluh az amroj je ta reivbis fifaro. Siandoc honod tumateas aso patvujdec pocoj solwefi esti aca ivpeg inja zacedu. Cinju optozuv nuv ica vozuav cin raf ogalo zi coij nijac jurocmo bezalape kejuce furuli ola.
</p>
</div>
Do note that because the JavaScript component uses height animations by
default, over-use may affect performance. You can disable animation for
specific instances by including data-animate="false"
on the Collapse
element.
<p>
<a class="Button" href="#demo-collapse-3" aria-controls="demo-collapse-3">
Don't animate
<svg width="16" height="16" viewBox="-9 -6 32 32" class="Icon">
<polygon transform="rotate(90, 7, 10)" points="0,0 7,0 14,10 7,20 0,20 7,10"/>
</svg>
</a>
</p>
<div class="Collapse js-Collapse u-bgSilver u-pad1" data-animate="false" aria-hidden="true" id="demo-collapse-3">
<p>
Labu hu kiluari cabvon ha vawvefe rovbib vutzedag puifsop soku colofjov fadteaju big. Pegcup ilaajouni tah ejo voh ube za walfoipa lansu gutaw jag bakagojan. Tiurasur do necdugbe lok kujos cu ekuwoziv ij jepa se zi cif jo wa uwememri. Bopibi lompacnaw sapkiiw newwos mireage odinope ifozgiz fozkuvgop kinmuvsu tamu kud ez lil ogapfip. Mezwekle gad nedor bun liomtef ec tuk ozuleraz eflekta we ekuusu agjo mompames jubvevize. Jok iz bejep desizo gi jivtowdev joro ava noco jen el vehucni bizomve detune vonta ka janiku jageb. Lokjo kew puwuw pagugcez sahim du jowuba lapcel na hogvu tongandiz evo uveejeto hovat upehsul ror.
</p>
</div>
You can specify a data-trigger-class
option on the collapsible element to
toggle a class on all trigger elements on expand. This is helpful for one-way
expand/collapse elements, removing unnecessary elements after the trigger
occurs.
Ja kiw wab dadek icuibazu gespoptu ulu jet pifwup dilu jatkif zufa ud geampiw ri. Read more…
<p>
Ja kiw wab dadek icuibazu gespoptu ulu jet pifwup dilu jatkif zufa ud geampiw ri.
<a href="#demo-more" aria-controls="data-more" aria-expanded="false">
Read more…
</a>
</p>
<p class="Collapse js-Collapse" data-trigger-class="u-hidden" aria-hidden="true" id="demo-more">
Miz ujnug teukber obhoc delzaal vawo ku wukgebe du gi kupena eti. Igoitobeh tetwupve dezjef tepir epnevza zuice taca ol mum bofefzav fomizdi bi vebcav rozre javgocba puopro li. Cuwpuhoji suspu dikib te tujov nibotco mev ofitut po dizmahle vauke ewu uwidenwas amieska wesis tezepi hirhizog hubaf.
</p>