Stories
This example belongs to the separate @sixsrc/brick-slider-stories plugin.
Live Example
Install
pnpm add @sixsrc/brick-slider @sixsrc/brick-slider-stories
Markup
The trigger option points to any element that should open the Stories modal. It can be a button, card, thumbnail, avatar, or any selector you control.
<button id="open-stories" type="button">
Open Stories
</button>
<div id="stories-slider">
<button class="bs-arrow bs-prev" type="button">Prev</button>
<button class="bs-arrow bs-next" type="button">Next</button>
<div class="bs-track">
<div class="bs-container">
<div class="bs-slide">
<article class="bs-content">
Story 01
</article>
</div>
<div class="bs-slide">
<article class="bs-content">
Story 02
</article>
</div>
<div class="bs-slide">
<article class="bs-content">
Story 03
</article>
</div>
</div>
<ul class="bs-stories-progress">
<li class="bs-stories-progress-item">
<span class="bs-stories-progress-bar"></span>
</li>
<li class="bs-stories-progress-item">
<span class="bs-stories-progress-bar"></span>
</li>
<li class="bs-stories-progress-item">
<span class="bs-stories-progress-bar"></span>
</li>
</ul>
<button class="bs-stories-pause-indicator" type="button">
<span class="bs-stories-pause">Pause</span>
<span class="bs-stories-play hidden">Play</span>
</button>
</div>
</div>
<div class="bs-stories-layer hidden">
<div class="bs-stories-backdrop"></div>
<button class="bs-stories-close" type="button">Close</button>
<button class="bs-stories-mute" type="button">Mute</button>
</div>
Usage
import { BrickSlider } from "@sixsrc/brick-slider"
import StoriesPlugin from "@sixsrc/brick-slider-stories"
const slider = new BrickSlider("#stories-slider", {
slidesPerView: 1,
slidesPerPage: 1,
useLoop: false
})
slider.use(
new StoriesPlugin({
trigger: "#open-stories",
duration: 5000,
maxVideoDuration: 60000,
maxStories: 10,
closeOnEnd: true,
pauseOnHover: true,
useMuted: true
})
)
slider.init()
Notes
- Stories ignores several core layout options internally
- Use it for story-style modal flows, timed progress, and media playback
- Keep the required Stories markup structure from the plugin docs