{{ 'section-collection-v2.css' | asset_url | stylesheet_tag }}

{% capture breakpoints %}
  {% if section.settings.columns_limit >= 4 %}
    xo-breakpoints='
    {
      1200: {
        perView: {{ section.settings.columns_limit | minus: 1}},
      },
      992: {
        perView: {{ section.settings.columns_limit | minus: 2}},
      },
      768: {
        perView: 2,
      },
      576: {
        perView: 1,
      },
    }
    '
  {% else %}
    xo-breakpoints='
    {
      768: {
        perView: 2,
      },
      576: {
        perView: 1,
      },
    }
    '
  {% endif %}
{% endcapture %}

<section {% render 'section-attr' %}>
  {% render 'section-bg-image' %}
  <xo-container {% render 'section-layout' %}>
    <xo-carousel
      xo-per-view='{{ section.settings.columns_limit }}'
      xo-gap='{{section.settings.gap}}'
      xo-speed='400'
      {% if section.settings.auto_play %}
        xo-autoplay='5000'
      {% endif %}
      {{ breakpoints }}
      xo-render-bullet='<span></span>'
    >
      <xo-carousel-inner>
        <xo-carousel-list>
          {% for block in section.blocks %}
            {% if block.settings.image != blank %}
              {% assign image = block.settings.image %}
            {% else %}
              {% assign image = block.settings.collection.featured_image %}
            {% endif %}
            <xo-carousel-slide>
              <xo-animate xo-cascade>
                <a href='{{ block.settings.collection.url }}' class='{% render 'hover-style' %}'>
                  {% render 'image', image: image, media_aspect_ratio: section.settings.aspect_ratio %}
                </a>
                <a href='{{ block.settings.collection.url }}' class='collection-v29__item-label'>
                  <h3 class='collection-v29__item-title'>
                    {{ block.settings.collection.title }}
                  </h3>
                  <div class='collection-v29__item-description'>
                    {{ block.settings.collection.description }}
                  </div>
                </a>
              </xo-animate>
            </xo-carousel-slide>
          {% endfor %}
        </xo-carousel-list>
      </xo-carousel-inner>
    </xo-carousel>
  </xo-container>
</section>

{% schema %}
{
  "name": "t:sections.collection_v2.name",
  "tag": "section",
  "class": "section",
  "settings": [
    {
      "type": "select",
      "id": "width",
      "label": "t:sections.all.width.label",
      "default": "box",
      "options": [
        {
          "value": "box",
          "label": "t:sections.all.width.options__1.label"
        },
        {
          "value": "wide",
          "label": "t:sections.all.width.options__2.label"
        },
        {
          "value": "fullwidth",
          "label": "t:sections.all.width.options__3.label"
        }
      ]
    },
    {
      "type": "number",
      "id": "fullwidth_margin",
      "label": "t:sections.all.fullwidth_margin.label",
      "info": "t:sections.all.fullwidth_margin.info",
      "default": 0
    },
    {
      "type": "range",
      "id": "columns_limit",
      "min": 3,
      "max": 8,
      "step": 1,
      "label": "t:sections.collection_v2.settings.columns_limit.label",
      "default": 6
    },
    {
      "type": "range",
      "id": "gap",
      "min": 10,
      "max": 40,
      "step": 1,
      "unit": "px",
      "label": "t:sections.collection_v2.settings.gap.label",
      "default": 15
    },
    {
      "type": "checkbox",
      "id": "auto_play",
      "label": "t:sections.collection_v2.settings.auto_play.label",
      "default": false
    },
    {
      "type": "select",
      "id": "hover",
      "label": "t:sections.all.hover.label",
      "default": "scale_up",
      "options": [
        {
          "value": "scale_up",
          "label": "t:sections.all.hover.option__1.label"
        },
        {
          "value": "scale_down",
          "label": "t:sections.all.hover.option__2.label"
        },
        {
          "value": "rotate",
          "label": "t:sections.all.hover.option__3.label"
        },
        {
          "value": "slide_up",
          "label": "t:sections.all.hover.option__4.label"
        },
        {
          "value": "ripple",
          "label": "t:sections.all.hover.option__5.label"
        },
        {
          "value": "black_white",
          "label": "t:sections.all.hover.option__6.label"
        },
        {
          "value": "shake",
          "label": "t:sections.all.hover.option__7.label"
        }
      ]
    },
    {
      "type": "text",
      "id": "aspect_ratio",
      "label": "t:sections.collection_v2.settings.aspect_ratio.label",
      "default": "1/1"
    },
    {
      "type": "header",
      "content": "t:sections.all.heading.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.color_scheme.label"
    },
    {
      "type": "color",
      "id": "background_color",
      "label": "t:sections.all.bg_color.label"
    },
    {
      "type": "color_background",
      "id": "background_gradient",
      "label": "t:sections.all.bg_gradient.label"
    },
    {
      "type": "image_picker",
      "id": "background_image_desktop",
      "label": "t:sections.all.background_image_desktop.label"
    },
    {
      "type": "image_picker",
      "id": "background_image_mobile",
      "label": "t:sections.all.background_image_mobile.label"
    },
    {
      "type": "checkbox",
      "id": "use_parallax",
      "label": "t:sections.all.use_parallax.label",
      "default": true
    },
    {
      "type": "select",
      "id": "background_image_animation",
      "label": "t:sections.all.animation.label",
      "options": [
        {
          "value": "none",
          "label": "t:sections.all.animation.option__0.label"
        },
        {
          "value": "fade",
          "label": "t:sections.all.animation.option__1.label"
        },
        {
          "value": "fade-up",
          "label": "t:sections.all.animation.option__2.label"
        },
        {
          "value": "fade-down",
          "label": "t:sections.all.animation.option__3.label"
        },
        {
          "value": "fade-left",
          "label": "t:sections.all.animation.option__4.label"
        },
        {
          "value": "fade-right",
          "label": "t:sections.all.animation.option__5.label"
        },
        {
          "value": "zoom-in",
          "label": "t:sections.all.animation.option__6.label"
        },
        {
          "value": "zoom-out",
          "label": "t:sections.all.animation.option__7.label"
        },
        {
          "value": "rotate-left-up",
          "label": "t:sections.all.animation.option__8.label"
        },
        {
          "value": "rotate-right-up",
          "label": "t:sections.all.animation.option__9.label"
        },
        {
          "value": "snake-up",
          "label": "t:sections.all.animation.option__10.label"
        },
        {
          "value": "snake-down",
          "label": "t:sections.all.animation.option__11.label"
        },
        {
          "value": "snake-left",
          "label": "t:sections.all.animation.option__12.label"
        },
        {
          "value": "snake-right",
          "label": "t:sections.all.animation.option__13.label"
        },
        {
          "value": "3d-up",
          "label": "t:sections.all.animation.option__14.label"
        }
      ],
      "default": "zoom-out"
    },
    {
      "type": "textarea",
      "id": "background_video_url",
      "label": "t:sections.all.background_video_url.label"
    },
    {
      "type": "number",
      "id": "background_margin",
      "label": "t:sections.all.background_margin.label",
      "default": 0
    },
    {
      "type": "number",
      "id": "padding_top",
      "label": "t:sections.all.padding_top.label",
      "default": 50
    },
    {
      "type": "number",
      "id": "padding_bottom",
      "label": "t:sections.all.padding_bottom.label",
      "default": 50
    }
  ],
  "blocks": [
    {
      "type": "collection",
      "name": "t:sections.collection_v2.blocks.name",
      "settings": [
        {
          "type": "image_picker",
          "id": "image",
          "label": "t:sections.collection_v2.blocks.settings.image.label"
        },
        {
          "type": "collection",
          "id": "collection",
          "label": "t:sections.collection_v2.blocks.settings.collection.label"
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.collection_v2.presets.name"
    }
  ]
}
{% endschema %}
