include icon.pug mixin lightbox(images) - let classes = { 'o-lightbox': true, 'o-lightbox--interactive': attributes.interactive, } let linksClasses = { 's-links': true, } let thumbnailClasses = { 'o-thumbnail': true, 'o-lightbox__thumbnail': true, } let inverseTheme = { "static-black": "static-white", "static-white": "static-black", }[attributes.theme] if (attributes.theme) { classes[`o-lightbox--${attributes.theme}`] = true; linksClasses[`s-links--${inverseTheme}`] = true; thumbnailClasses[`o-thumbnail--${inverseTheme}`] = true; } div(class=classes) each img, i in images img(src=images[i] id=('image-' + i) class=`o-lightbox__img ${attributes.interactive && !i ? 'is-visible' : ''}`) .o-lightbox__controls if images.length > 1 +button(theme=inverseTheme pill=true quiet=true icon='chevron-left' class='o-lightbox__nav-btn o-lightbox__nav-btn--prev') +button(theme=inverseTheme pill=true quiet=true icon='chevron-right' class='o-lightbox__nav-btn o-lightbox__nav-btn--next') +button(theme=inverseTheme pill=true quiet=true icon='x' class='o-lightbox__close-btn') .o-lightbox__thumbnails each img, i in images - let classes = { 'is-selected': i === 0 } Object.assign(classes, thumbnailClasses) a(class=classes href='#image-' + i) img.o-thumbnail__image(src=img) button(class=thumbnailClasses) +icon('volume-2')(class='o-thumbnail__icon') button(class=thumbnailClasses) +icon('video')(class='o-thumbnail__icon')