Introdução
O Slider Layout, como o Flex Layout, é uma forma flexível de criar um novo bloco a partir de outros blocos usando children. Ele permite que sejam criados sliders de outros blocos, como info-cards e até mesmo flex-layouts por exemplo.
Com o Slider Layout é possível criar um carrossel não só de imagens, como de qualquer conteúdo que se queira. Para este exemplo, vamos utilizar o Slider Layout para tornar um conjunto de info-cards em um slider.
Slider Layout
Analisando a documentação, vemos que você pode utilizar qualquer array de blocos como children, assim como no Flex Layout.
Abaixo, segue um exemplo de implementação de um slider-layout com dois info-card:
_30_30 "slider-layout#home": {_30 "children": ["info-card#1", "info-card#2"],_30 "props": {_30 "autoplay": {_30 "timeout": 5000,_30 "stopOnHover": false_30 }_30 }_30 },_30_30 "info-card#1": {_30 "props": {_30 "imageUrl": "https://images.unsplash.com/photo-1524185962737-ea7c028a12cd?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80",_30 "isFullModeStyle": true,_30 "headline": "Black Friday",_30 "callToActionText": "Subscribe",_30 "textPosition": "center"_30 }_30 },_30_30 "info-card#2": {_30 "props": {_30 "imageUrl": "https://images.unsplash.com/photo-1524185962737-ea7c028a12cd?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80",_30 "isFullModeStyle": true,_30 "headline": "Black Friday",_30 "callToActionText": "Subscribe",_30 "textPosition": "center"_30 }_30 }
Atividade
Nesta atividade, vamos criar um slider de marcas para o nosso site:

-
No arquivo
home.jsonc, declare o blocoslider-layout#homeao templatestore.home. -
Crie um arquivo chamado
slider-layout.jsoncdentro da pasta/store/blocks; -
Neste arquivo, baseando-se no código acima, substitua os
info-carddeclarados como children deslider-layout#homee adicione 6 componentes de imagemimagecomo children. Utilize o formatoimage#brand1,image#brand2(...)image#brand6para declarar os componentes; -
Declare uma prop
srcespecífica para cadaimage#branddefinido. Utilize as URLs abaixo para cada uma delas:https://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square1.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square2.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square3.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square4.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square5.pnghttps://appliancetheme.vteximg.com.br/arquivos/flatflat-brand-logo-square6.png
-
Por fim, você deve utilizar a propriedade de
autoplayno blocoslider-layout#home. Faça com que o slide aconteça automaticamente a cada 7 segundos e que ele pare quando o usuário passar o mouse em cima do slide.