diff options
Diffstat (limited to 'tpl/objects/lightbox.pug')
-rw-r--r-- | tpl/objects/lightbox.pug | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/tpl/objects/lightbox.pug b/tpl/objects/lightbox.pug index 02a3200..842d44a 100644 --- a/tpl/objects/lightbox.pug +++ b/tpl/objects/lightbox.pug | |||
@@ -4,14 +4,19 @@ mixin lightbox(images) | |||
4 | - | 4 | - |
5 | let classes = { | 5 | let classes = { |
6 | 'o-lightbox': true, | 6 | 'o-lightbox': true, |
7 | 'o-lightbox--interactive': attributes.interactive, | ||
7 | } | 8 | } |
8 | let linksClasses = { | 9 | let linksClasses = { |
9 | 's-links': true, | 10 | 's-links': true, |
10 | } | 11 | } |
12 | let thumbnailClasses = { | ||
13 | 'o-thumbnail': true, | ||
14 | } | ||
11 | 15 | ||
12 | if (attributes.theme) { | 16 | if (attributes.theme) { |
13 | classes[`o-lightbox--${attributes.theme}`] = true; | 17 | classes[`o-lightbox--${attributes.theme}`] = true; |
14 | linksClasses[`s-links--${attributes.theme}`] = true; | 18 | linksClasses[`s-links--${attributes.theme}`] = true; |
19 | thumbnailClasses[`o-thumbnail--${attributes.theme}`] = true; | ||
15 | } | 20 | } |
16 | 21 | ||
17 | div(class=classes) | 22 | div(class=classes) |
@@ -19,21 +24,23 @@ mixin lightbox(images) | |||
19 | div(class=linksClasses) | 24 | div(class=linksClasses) |
20 | block | 25 | block |
21 | +action-button(theme=attributes.theme pill=true quiet=true icon='x' class='o-lightbox__close-btn') | 26 | +action-button(theme=attributes.theme pill=true quiet=true icon='x' class='o-lightbox__close-btn') |
27 | |||
22 | each img, i in images | 28 | each img, i in images |
23 | img.o-lightbox__img(src=images[i] id='image-' + i) | 29 | img(src=images[i] id=('image-' + i) class=`o-lightbox__img ${attributes.interactive && !i ? 'is-visible' : ''}`) |
24 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-left' class='o-lightbox__nav-btn o-lightbox__nav-btn--prev') | ||
25 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-right' class='o-lightbox__nav-btn o-lightbox__nav-btn--next') | ||
26 | 30 | ||
27 | img.o-lightbox__img.o-lightbox__img--default(src=images[0]) | ||
28 | if images.length > 1 | 31 | if images.length > 1 |
29 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-left' class='o-lightbox__nav-btn o-lightbox__nav-btn--prev') | 32 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-left' class='o-lightbox__nav-btn o-lightbox__nav-btn--prev') |
30 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-right' class='o-lightbox__nav-btn o-lightbox__nav-btn--next') | 33 | +action-button(theme=attributes.theme pill=true quiet=true icon='chevron-right' class='o-lightbox__nav-btn o-lightbox__nav-btn--next') |
34 | |||
31 | .o-lightbox__thumbnails | 35 | .o-lightbox__thumbnails |
32 | each img, i in images | 36 | each img, i in images |
33 | - classes = i === 0 ? 'is-selected' : '' | 37 | - |
34 | a.o-lightbox__thumbnail(class=classes href='#image-' + i) | 38 | let classes = { 'is-selected': i === 0 } |
35 | img.o-lightbox__thumbnail-img(src=img) | 39 | Object.assign(classes, thumbnailClasses) |
36 | button.o-lightbox__thumbnail | 40 | |
37 | +icon('volume-2')(class='o-lightbox__thumbnail-icon') | 41 | a.o-thumbnail(class=classes href='#image-' + i) |
38 | button.o-lightbox__thumbnail | 42 | img.o-thumbnail__image(src=img) |
39 | +icon('video')(class='o-lightbox__thumbnail-icon') | 43 | button(class=thumbnailClasses) |
44 | +icon('volume-2')(class='o-thumbnail__icon') | ||
45 | button(class=thumbnailClasses) | ||
46 | +icon('video')(class='o-thumbnail__icon') | ||