Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat. collection updates #1295

Merged
merged 57 commits into from
Mar 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
13b2b2b
Feat. collection updates
ludoboludo Jan 31, 2022
e13619e
add uppercase option
ludoboludo Jan 31, 2022
2b9742e
updates to add slider option on desktop
ludoboludo Feb 1, 2022
7256df0
change data step to 1 for the time being
ludoboludo Feb 1, 2022
a5c1c1d
remove existing swipe settings
ludoboludo Feb 2, 2022
8cc4740
change setting order, limit the horizontal offset
ludoboludo Feb 3, 2022
55f9b3c
add period
ludoboludo Feb 3, 2022
43c969c
remove peek and scroll snap padding
ludoboludo Feb 3, 2022
a3e4559
move description chekbox around and adjust copy
ludoboludo Feb 4, 2022
46e1569
add checkboxes to enable carousel on desktop and mobile
ludoboludo Feb 4, 2022
aaefcb5
use a new slider--desktop class
ludoboludo Feb 7, 2022
a4589ab
Merge branch 'main' into feat-collection
ludoboludo Feb 7, 2022
f3b2ccf
remove heading class and add a11y attributes
ludoboludo Feb 7, 2022
b204e36
re add grid peek behaviour at all time on mobile
ludoboludo Feb 7, 2022
19e42e5
fix media query and remove unnecessary styling
ludoboludo Feb 8, 2022
de421ec
edit copy
ludoboludo Feb 8, 2022
8154155
start exploring grid peek on desktop
ludoboludo Feb 9, 2022
881dd6b
add grid peek by default on desktop
ludoboludo Feb 10, 2022
35015be
fix page width depending on scenarios and adjust slide width
ludoboludo Feb 10, 2022
7123217
fix slider disabled button on wide screens. Remove settings added in …
ludoboludo Feb 11, 2022
4d34092
Merge branch 'main' into feat-collection
ludoboludo Feb 11, 2022
1aac0bc
change the calculation for item width based on the number of items pe…
ludoboludo Feb 11, 2022
a6a3ea0
change total calculation for slide counter
ludoboludo Feb 15, 2022
8c94a58
add full width setting
ludoboludo Feb 16, 2022
88f5165
Merge branch 'main' into feat-collection
ludoboludo Feb 16, 2022
f4a4b0d
fix full width CSS styling specificity
ludoboludo Feb 16, 2022
d4f48c1
fix pages calculation to work on desktop
ludoboludo Feb 17, 2022
9cfbc2c
address some of the UX feedback
ludoboludo Feb 18, 2022
2b96ef8
add spacing for shadows
ludoboludo Feb 18, 2022
62ba6c2
address reviewer's comments
ludoboludo Feb 21, 2022
0f51041
Edit copy
ludoboludo Feb 22, 2022
39050ce
edit copy
ludoboludo Feb 23, 2022
9b6c6b5
Update 21 translation files
translation-platform[bot] Feb 23, 2022
f816e38
Update 1 translation file
translation-platform[bot] Feb 23, 2022
521f312
Update 13 translation files
translation-platform[bot] Feb 23, 2022
1cd72e1
Update 1 translation file
translation-platform[bot] Feb 24, 2022
221287e
Update 6 translation files
translation-platform[bot] Feb 24, 2022
e31b11f
Update 2 translation files
translation-platform[bot] Feb 24, 2022
11e5424
Update 19 translation files
translation-platform[bot] Feb 24, 2022
a1f2824
Merge branch 'main' into feat-collection
ludoboludo Feb 25, 2022
219ee7e
fix translation comma
ludoboludo Feb 25, 2022
98f1e41
Merge branch 'main' into feat-collection
ludoboludo Mar 1, 2022
e4c2a27
Merge branch 'main' into feat-collection
ludoboludo Mar 2, 2022
24ecfba
reuse assign to hide slider controls
ludoboludo Mar 2, 2022
50ba6ec
move styling to be more general
ludoboludo Mar 2, 2022
1e1b287
fix UX feedback
ludoboludo Mar 4, 2022
078276a
Address Lucas' feedback
ludoboludo Mar 7, 2022
32f6cd4
reorder setting
ludoboludo Mar 7, 2022
b54d81f
remove unused custom properties
ludoboludo Mar 7, 2022
2229142
fix class specificity
ludoboludo Mar 8, 2022
8a43e00
remove redundant page-width-mobile class
ludoboludo Mar 8, 2022
81c2759
address reviewer's comment
ludoboludo Mar 8, 2022
b72f770
apply reduced motion media query to all sliders
ludoboludo Mar 8, 2022
3808adc
remove some CSS
ludoboludo Mar 9, 2022
b044959
fix UX feedback
ludoboludo Mar 10, 2022
c083fa6
tweak title spacing
ludoboludo Mar 10, 2022
fcc3c6e
fix spacing
ludoboludo Mar 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 103 additions & 7 deletions assets/component-slider.css
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
slider-component {
--desktop-margin-left-first-item: max(5rem, calc((100vw - var(--page-width) + 10rem - var(--grid-desktop-horizontal-spacing)) / 2));
ludoboludo marked this conversation as resolved.
Show resolved Hide resolved
position: relative;
display: block;
}

slider-component.slider-component-full-width {
--desktop-margin-left-first-item: 1.5rem;
}

@media screen and (max-width: 749px) {
slider-component.page-width {
padding: 0 1.5rem;
}
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed in Safari the sliding is not as smooth as Chrome. Is that expected? https://screenshot.click/11-28-h89n1-7p1xb.mp4

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah safari doesn't yet support smooth scrolling 😬

@media screen and (min-width: 749px) and (max-width: 990px) {
slider-component.page-width {
padding: 0 5rem;
}
}

@media screen and (max-width: 989px) {
.no-js slider-component .slider {
padding-bottom: 3rem;
Expand Down Expand Up @@ -98,17 +115,90 @@ slider-component {
margin-bottom: 1rem;
}

@media (prefers-reduced-motion) {
.slider--everywhere {
scroll-behavior: auto;
}
}

.slider.slider--everywhere .slider__slide {
margin-bottom: 0;
scroll-snap-align: center;
}

@media screen and (min-width: 990px) {
.slider-component-desktop.page-width {
max-width: none;
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had to make this a desktop only thing when the slider is enabled.


.slider--desktop {
position: relative;
flex-wrap: inherit;
overflow-x: auto;
scroll-snap-type: x mandatory;
ludoboludo marked this conversation as resolved.
Show resolved Hide resolved
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
margin-bottom: 1rem;
scroll-padding-left: var(--desktop-margin-left-first-item);
}

.slider.slider--desktop .slider__slide {
margin-bottom: 0;
padding-top: max(var(--focus-outline-padding), var(--shadow-padding-top));
padding-bottom: max(var(--focus-outline-padding), var(--shadow-padding-bottom));
}

.slider--desktop .slider__slide:first-child {
margin-left: var(--desktop-margin-left-first-item);
scroll-margin-left: var(--desktop-margin-left-first-item);
}

.slider.slider--desktop .slider__slide:last-child {
margin-right: 5rem;
}

.slider-component-full-width .slider--desktop {
scroll-padding-left: 1.5rem;
}

.slider-component-full-width .slider--desktop .slider__slide:first-child {
margin-left: 1.5rem;
scroll-margin-left: 1.5rem;
}

.slider-component-full-width .slider--desktop .slider__slide:last-child {
margin-right: 1.5rem;
}

.slider--desktop.grid--5-col-desktop .grid__item {
width: calc( (100% - var(--desktop-margin-left-first-item)) / 5 - var(--grid-desktop-horizontal-spacing) * 2);
}

.slider--desktop.grid--4-col-desktop .grid__item {
width: calc( (100% - var(--desktop-margin-left-first-item)) / 4 - var(--grid-desktop-horizontal-spacing) * 3);
}

.slider--desktop.grid--3-col-desktop .grid__item {
width: calc( (100% - var(--desktop-margin-left-first-item)) / 3 - var(--grid-desktop-horizontal-spacing) * 4);
}

.slider--desktop.grid--2-col-desktop .grid__item {
width: calc( (100% - var(--desktop-margin-left-first-item)) / 2 - var(--grid-desktop-horizontal-spacing) * 5);
}

.slider--desktop.grid--1-col-desktop .grid__item {
width: calc( (100% - var(--desktop-margin-left-first-item)) - var(--grid-desktop-horizontal-spacing) * 9);
}

.slider.slider--desktop.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
ludoboludo marked this conversation as resolved.
Show resolved Hide resolved
padding-bottom: var(--focus-outline-padding);
}

.slider.slider--desktop.contains-content-container .slider__slide {
--focus-outline-padding: 0rem;
}
}

@media (prefers-reduced-motion) {
.slider {
scroll-behavior: auto;
}
}

/* Scrollbar */

.slider {
Expand Down Expand Up @@ -220,7 +310,13 @@ slider-component {
}

@media screen and (min-width: 990px) {
.slider:not(.slider--everywhere) + .slider-buttons {
.slider:not(.slider--everywhere):not(.slider--desktop) + .slider-buttons {
display: none;
}
}

@media screen and (max-width: 989px) {
.slider--desktop:not(.slider--tablet) + .slider-buttons {
display: none;
}
}
Expand Down
4 changes: 2 additions & 2 deletions assets/global.js
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ class SliderComponent extends HTMLElement {
this.sliderItemsToShow = Array.from(this.sliderItems).filter(element => element.clientWidth > 0);
if (this.sliderItemsToShow.length < 2) return;
this.sliderItemOffset = this.sliderItemsToShow[1].offsetLeft - this.sliderItemsToShow[0].offsetLeft;
this.slidesPerPage = Math.floor(this.slider.clientWidth / this.sliderItemOffset);
this.slidesPerPage = Math.floor((this.slider.clientWidth - this.sliderItemsToShow[0].offsetLeft) / this.sliderItemOffset);
ludoboludo marked this conversation as resolved.
Show resolved Hide resolved
this.totalPages = this.sliderItemsToShow.length - this.slidesPerPage + 1;
this.update();
}
Expand Down Expand Up @@ -565,7 +565,7 @@ class SliderComponent extends HTMLElement {

if (this.enableSliderLooping) return;

if (this.isSlideVisible(this.sliderItemsToShow[0])) {
if (this.isSlideVisible(this.sliderItemsToShow[0]) && this.slider.scrollLeft === 0) {
this.prevButton.setAttribute('disabled', 'disabled');
} else {
this.prevButton.removeAttribute('disabled');
Expand Down
40 changes: 38 additions & 2 deletions assets/template-collection.css
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,42 @@
margin-bottom: 15rem;
}

.collection__view-all {
margin-top: 2rem;
@media screen and (max-width: 989px) {
.collection .slider--tablet.product-grid {
scroll-padding-left: 1.5rem;
}
}

.collection__description > * {
margin: 0;
}

.collection__title.title-wrapper {
margin-bottom: 2.5rem;
}

.collection__title .title:not(:only-child) {
margin-bottom: 1rem;
}

@media screen and (min-width: 990px) {
.collection__title--desktop-slider .title {
margin-bottom: 2.5rem;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this so that it accounts for the .5rem top padding applied on the slider__slide and keep the space between the heading and slides at 3rem.

}

.collection__title.title-wrapper--self-padded-tablet-down {
padding: 0 5rem;
}

.collection slider-component:not(.page-width-desktop) {
padding: 0;
}

.collection--full-width slider-component:not(.slider-component-desktop) {
padding: 0 1.5rem;
}
}

.collection__view-all a:not(.link) {
margin-top: 1rem;
}
3 changes: 2 additions & 1 deletion locales/bg-BG.json
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,8 @@
},
"featured_collection": {
"view_all": "Покажи всички",
"view_all_label": "Покажи всички продукти в колекция {{ collection_name }}"
"view_all_label": "Покажи всички продукти в колекция {{ collection_name }}",
"slider": "Плъзгач"
},
"collection_list": {
"view_all": "Покажи всички"
Expand Down
3 changes: 2 additions & 1 deletion locales/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@
},
"featured_collection": {
"view_all": "Zobrazit vše",
"view_all_label": "Zobrazit všechny produkty v kolekci {{ collection_name }}"
"view_all_label": "Zobrazit všechny produkty v kolekci {{ collection_name }}",
"slider": "Posuvník"
},
"collection_list": {
"view_all": "Zobrazit vše"
Expand Down
44 changes: 40 additions & 4 deletions locales/cs.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -604,10 +604,7 @@
"label": "Maximální počet zobrazovaných produktů"
},
"show_view_all": {
"label": "Povolit tlačítko Zobrazit vše v případě, že kolekce obsahuje více produktů, než kolik se zobrazuje"
},
"swipe_on_mobile": {
"label": "Povolit potažení prstem na mobilním zařízení"
"label": "Povolit možnost Zobrazit vše v případě, že kolekce obsahuje více produktů, než kolik se jich zobrazuje"
},
"header": {
"content": "Karta produktu"
Expand Down Expand Up @@ -637,6 +634,42 @@
"columns_desktop": {
"label": "Počet sloupců na počítači"
},
"description": {
"label": "Popis"
},
"show_description": {
"label": "Zobrazit popis kolekce z administrátorského rozhraní"
},
"description_style": {
"label": "Styl popisu",
"options__1": {
"label": "Hlavní část"
},
"options__2": {
"label": "Podtitul"
},
"options__3": {
"label": "Velká písmena"
}
},
"view_all_style": {
"label": "Zobrazit vše – styl",
"options__1": {
"label": "Odkaz"
},
"options__2": {
"label": "Tlačítko s obrysem"
},
"options__3": {
"label": "Tlačítko v jednolité barvě"
}
},
"enable_desktop_slider": {
"label": "Povolit karusel na desktopovém zařízení"
},
"full_width": {
"label": "Nastavit plnou šířku produktů"
},
"header_mobile": {
"content": "Mobilní rozvržení"
},
Expand All @@ -648,6 +681,9 @@
"options__2": {
"label": "2 sloupce"
}
},
"enable_mobile_slider": {
"label": "Povolit potažení prstem na mobilním zařízení"
}
},
"presets": {
Expand Down
3 changes: 2 additions & 1 deletion locales/da.json
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,8 @@
},
"featured_collection": {
"view_all": "Se alle",
"view_all_label": "Se alle produkter i kollektionen {{ collection_name }}"
"view_all_label": "Se alle produkter i kollektionen {{ collection_name }}",
"slider": "Diasshow"
},
"collection_list": {
"view_all": "Se alle"
Expand Down
44 changes: 40 additions & 4 deletions locales/da.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -604,10 +604,7 @@
"label": "Maksimalt antal produkter, der skal vises"
},
"show_view_all": {
"label": "Aktivér knappen \"Se alle\", hvis kollektionen indeholder flere produkter, end der vises"
},
"swipe_on_mobile": {
"label": "Aktivér swipe på mobilen"
"label": "Aktivér “Se alle”, hvis kollektionen indeholder flere produkter, end der vises"
},
"header": {
"content": "Produktkort"
Expand Down Expand Up @@ -637,6 +634,42 @@
"columns_desktop": {
"label": "Antallet af kolonner på computer"
},
"description": {
"label": "Beskrivelse"
},
"show_description": {
"label": "Vis kollektionsbeskrivelse fra administratoren"
},
"description_style": {
"label": "Beskrivelsesstil",
"options__1": {
"label": "Brødtekst"
},
"options__2": {
"label": "Underoverskrift"
},
"options__3": {
"label": "Store bogstaver"
}
},
"view_all_style": {
"options__1": {
"label": "Link"
},
"options__2": {
"label": "Rammeknap"
},
"options__3": {
"label": "Udfyldt knap"
},
"label": "Stilarten “Se alle”"
},
"enable_desktop_slider": {
"label": "Aktivér karrusel på computer"
},
"full_width": {
"label": "Gør produkter til fuld bredde"
},
"header_mobile": {
"content": "Mobillayout"
},
Expand All @@ -648,6 +681,9 @@
"options__2": {
"label": "2 kolonner"
}
},
"enable_mobile_slider": {
"label": "Aktivér swipe på mobilen"
}
},
"presets": {
Expand Down
3 changes: 2 additions & 1 deletion locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,8 @@
},
"featured_collection": {
"view_all": "Alle anzeigen",
"view_all_label": "Alle Produkte in der Kategorie {{ collection_name }} anzeigen"
"view_all_label": "Alle Produkte in der Kategorie {{ collection_name }} anzeigen",
"slider": "Slider"
},
"collection_list": {
"view_all": "Alle anzeigen"
Expand Down
Loading