Skip to content

Slideshow

One slide at a time, edge to edge, with the copy laid over the photograph and a control cluster in the bottom corner. Use it where you have three or four campaign shots that each deserve the full width — a lookbook teaser, a collaboration, the three pieces at the centre of a drop.

Unlike most carousels, this one is a horizontally scroll-snapping strip rather than a stack of transformed slides. The browser does the physics, so a swipe on a phone and a two-finger trackpad flick both work before any of the theme’s scripts load.

SettingTypeDefaultWhat it does
HeadingTextSlideshowAccessible name. It is not displayed — it is read out by screen readers to introduce the carousel.
HeightRange, 40–100, step 580Slide height as a share of the viewport height. The editor labels it %; it is applied as viewport height, with a 420 px floor.
AutoplayCheckboxfalseAdvance slides on a timer. See the conditions below — it is off in more cases than this one checkbox.
Seconds per messageRange, 3–12 s6Seconds per slide when autoplay is running.
Top spacingRange, 0–160 px0Top spacing. Zero so it can butt up against the hero.
Bottom spacingRange, 0–160 px0Bottom spacing.

Add one Slide block per shot. There is no cap on the number of slides.

SettingTypeDefaultWhat it does
ImageImage—The slide photograph, cropped to fill.
KickerText—Small accent eyebrow above the heading.
HeadingInline rich textThe new standardThe slide headline, in the display face.
TextText—One supporting line under the heading.
Result buttonText—Button text.
Button linkURL—Button destination. Both the label and the link must be set for the button to render.
Menu positionSelect — Left / Centre / RightleftWhich corner the copy block sits in.

The preset ships with two empty slides.

Autoplay needs three things to be true at once:

  1. The section’s Autoplay checkbox is on.
  2. The theme’s global Motion setting is on (Theme settings → Motion). Switch motion off for the store and every slideshow stops rotating.
  3. The visitor has not asked their system for reduced motion.

When it is running, it stops on its own whenever someone might be reading: on mouse-over, when anything inside the slideshow takes keyboard focus, and when the browser tab is hidden. A pause button appears in the control cluster — and only when autoplay is on, because a pause button with nothing to pause is noise.

The controls are progressive. Arrows, dots and the pause button are rendered hidden and revealed when the component mounts. If the script never runs, you are left with a horizontally scrollable strip of full-bleed photographs — still usable, still swipeable. With a single slide, no controls render at all.

The dots follow the real scroll position. A swipe moves the track without going through the arrows, so the active dot is computed from where the track actually is, not from where it was last told to go.

Keyboard. Left and right arrow keys move between slides when the slideshow has focus.

Loading. The first slide is requested eagerly at high priority; the rest are lazy. Put your strongest image first.

Copy legibility. The copy block carries its own soft shadow, because the theme cannot know whether your photograph is dark behind the text. It also reserves clearance above the control row so a button never collides with the arrows.