https://framer.com/m/CMSGallary-uxXRoT.js

Io / Enhancements / CMSGallerySlider

CMSGallerySlider

CMSGallerySlider pairs one large image with a thumbnail strip and arrows, fed either from a CMS gallery field or from a plain list of images set in the panel.

Enhancements9 controlsCMS or panel imagesthumbnails

Examples

Live specimens for every control the component exposes.

Default

The Gallery Source toggle decides where pictures come from. These specimens run in Normal mode with three images set in the panel; in CMS mode you bind a gallery field instead.

Gallery image 1
Thumbnail 1
Thumbnail 2
Thumbnail 3

Spacing

containerGap sets the distance between the large image and the thumbnail strip. The two containers, the thumbnails and the arrows each carry their own grouped controls.

gap 8

Gallery image 1
Thumbnail 1
Thumbnail 2
Thumbnail 3

gap 32

Gallery image 1
Thumbnail 1
Thumbnail 2
Thumbnail 3

Props

The controls exposed on the instance panel.

PropTypeBehaviour
useNormalGallerybooleanNormal reads the panel list; CMS binds a gallery field.
cmsGalleryarrayThe CMS gallery field, when the source is CMS.
galleryImagesarrayImages set in the panel, when the source is Normal.
containerGapnumberDistance between the large image and the thumbnail strip.
largeImageContainerobjectSize, fill and radius of the large image box.
largeImage_settingsobjectHow the large image fits and transitions.
thumbnailContainerobjectLayout of the thumbnail strip.
thumbnailsobjectSize, radius and active state of each thumbnail.
arrowsobjectWhether arrows show, and how they look.
PropTypeBehaviour
useNormalGallerybooleanNormal reads the panel list; CMS binds a gallery field.
cmsGalleryarrayThe CMS gallery field, when the source is CMS.
galleryImagesarrayImages set in the panel, when the source is Normal.
containerGapnumberDistance between the large image and the thumbnail strip.
largeImageContainerobjectSize, fill and radius of the large image box.
largeImage_settingsobjectHow the large image fits and transitions.
thumbnailContainerobjectLayout of the thumbnail strip.
thumbnailsobjectSize, radius and active state of each thumbnail.
arrowsobjectWhether arrows show, and how they look.

Usage

Guidance carried over from the component definition.

Reach for CMSGallerySlider

A product or project needs one hero image with the rest reachable underneath.

The pictures live in a CMS gallery field and should stay bound to it.

Readers need both thumbnails and arrows to move through the set.

The large image and the strip need to be styled apart from each other.

Reach for something else

Every image deserves equal weight — use a grid.

The set should advance on its own — use Slideshow or Carousel.

You need one image reacting to scroll — use ImageParallax.

Io — Enhancements

Every specimen above is a live component instance. Colour, type and radius resolve from the project theme tokens.

io

An experiment in what a design system becomes when AI can consume it.

© 2026 io

Contact me

Create a free website with Framer, the website builder loved by startups, designers and agencies.