{{ 'section-product-v3.css' | asset_url | stylesheet_tag }}

<div {% render 'section-attr', style: 'z-index:98' %}>
  {% render 'section-bg-image' %}
  <xo-container {% render 'section-layout' %}>
    <xo-grid>
      {% if section.settings.distinct_color_scheme == true %}
        {% assign color_scheme_chosen = section.settings.product_card_color_scheme %}
      {% else %}
        {% assign color_scheme_chosen = settings.card_color_scheme %}
      {% endif %}
      <xo-animate xo-cascade style='--xs: 12; --xl: 6' class='product-v10'>
        <xo-carousel
          xo-per-view='2'
          xo-per-move='2'
          xo-gap='30'
          xo-speed='400'
          xo-breakpoints='
            {
              575: {
                perView: 1,
                perMove: 1
              },
            }
          '
        >
          <div class='product-v10__heading'>
            <h2 class='product-v10__title'>{{ section.settings.heading_title }}</h2>
            <div class='product-v10__arrows'>
              <xo-carousel-prev class='product-v10__arrow-btn'>
                <button>{% render 'icon', name: 'arrow-left', icon_size: '10' %}</button>
              </xo-carousel-prev>
              <xo-carousel-next class='product-v10__arrow-btn'>
                <button>{% render 'icon', name: 'arrow-right', icon_size: '10' %}</button>
              </xo-carousel-next>
            </div>
          </div>
          <xo-carousel-inner>
            <xo-carousel-list>
              {% for product in section.settings.collection.products limit: section.settings.limit %}
                {%- assign placeholder_image_index = forloop.index0 | modulo: 4 | plus: 1 -%}
                {%- assign placeholder_image = 'product-apparel-' | append: placeholder_image_index -%}
                <xo-carousel-slide>
                  {% render 'product-card-styles',
                    product_card_style: settings.product_card_style_layout,
                    product: product,
                    variant_modal_placement: settings.variant_modal_placement,
                    show_image: settings.product_card_show_image,
                    product_card_media_type: settings.product_card_media_type,
                    show_vendor: settings.product_card_show_vendor,
                    show_description: settings.product_card_show_description,
                    show_quick_add: settings.product_card_show_quick_add,
                    show_quick_view: settings.product_card_show_quick_view,
                    show_wishlist: settings.product_card_show_wishlist,
                    show_price: settings.product_card_show_price,
                    show_badge: settings.product_card_show_badge,
                    media_aspect_ratio: settings.product_card_aspect_ratio,
                    color_scheme: color_scheme_chosen,
                    placeholder_image: placeholder_image
                  %}
                </xo-carousel-slide>
              {% endfor %}
            </xo-carousel-list>
          </xo-carousel-inner>
        </xo-carousel>
      </xo-animate>
      <xo-animate
        xo-cascade
        class='product-v10__banner'
        style='
          --xs: 12; --xl: 6; {% if section.settings.reverse_layout %}
            --order-xl: 1 {% else %}
            --order-xl: -1
          {% endif %}
        '
      >
        {% case section.settings.banner_title_align %}
          {% when 'left' %}
            {% assign justify = 'flex-start' %}
          {% when 'center' %}
            {% assign justify = 'center' %}
          {% else %}
            {% assign justify = 'flex-end' %}
        {% endcase %}
        <div class='product-v10__banner-heading' style='--justify:{{justify}}'>
          <h3 class='product-v10__banner-title'>{{ section.settings.banner_title }}</h3>
        </div>
        {% capture breakpoints %}
          {% if section.blocks.size > 1 %}
            style='--xs: 1; --sm: 2'
          {% else %}
            style='--xs: 1'
          {% endif %}
        {% endcapture %}

        <xo-grid {{ breakpoints }}>
          {% for block in section.blocks %}
            {%- assign placeholder_image_index = forloop.index0 | modulo: 4 | plus: 1 -%}
            {%- assign placeholder_image = 'product-apparel-' | append: placeholder_image_index -%}
            {% assign product = block.settings.product %}
            <div>
              {% render 'product-card-styles',
                product_card_style: settings.product_card_style_layout,
                product: product,
                variant_modal_placement: settings.variant_modal_placement,
                show_image: settings.product_card_show_image,
                product_card_media_type: settings.product_card_media_type,
                show_vendor: settings.product_card_show_vendor,
                show_description: settings.product_card_show_description,
                show_quick_add: settings.product_card_show_quick_add,
                show_quick_view: settings.product_card_show_quick_view,
                show_wishlist: settings.product_card_show_wishlist,
                show_price: settings.product_card_show_price,
                show_badge: settings.product_card_show_badge,
                media_aspect_ratio: settings.product_card_aspect_ratio,
                color_scheme: color_scheme_chosen,
                placeholder_image: placeholder_image
              %}
              {% render 'countdown',
                title: block.settings.countdown_title,
                subtitle: block.settings.countdown_subtitle,
                time: block.settings.countdown_time,
                show_days: block.settings.show_days,
                show_hours: block.settings.show_hours,
                show_minutes: block.settings.show_minutes,
                show_seconds: block.settings.show_seconds
              %}
            </div>
          {% endfor %}
        </xo-grid>
      </xo-animate>
    </xo-grid>
  </xo-container>
</div>

{% schema %}
{
  "name": "t:sections.product_v3.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": "checkbox",
      "id": "reverse_layout",
      "label": "t:sections.product_v3.settings.reverse_layout.label",
      "default": false
    },
    {
      "type": "text",
      "id": "heading_title",
      "label": "t:sections.product_v3.settings.title.label",
      "default": "Section title"
    },
    {
      "type": "collection",
      "id": "collection",
      "label": "t:sections.product_v3.settings.collection.label"
    },
    {
      "type": "range",
      "id": "limit",
      "min": 2,
      "max": 20,
      "step": 1,
      "label": "t:sections.product_v3.settings.products.label",
      "default": 12
    },
    {
      "type": "header",
      "content": "t:sections.product_v3.settings.color_scheme_heading.content"
    },
    {
      "type": "checkbox",
      "id": "distinct_color_scheme",
      "label": "t:sections.product_v3.settings.distinct_color_scheme.label",
      "default": false
    },
    {
      "type": "color_scheme",
      "id": "product_card_color_scheme",
      "default": "scheme_1",
      "label": "t:sections.product_v3.settings.color_scheme.label"
    },
    {
      "type": "header",
      "content": "t:sections.product_v3.settings.banner_header.content"
    },
    {
      "type": "text",
      "id": "banner_title",
      "label": "t:sections.product_v3.settings.banner_title.label",
      "default": "Deals of the day"
    },
    {
      "type": "select",
      "id": "banner_title_align",
      "label": "t:sections.product_v3.settings.banner_title_align.label",
      "options": [
        {
          "value": "left",
          "label": "t:sections.product_v3.settings.banner_title_align.option_1.label"
        },
        {
          "value": "center",
          "label": "t:sections.product_v3.settings.banner_title_align.option_2.label"
        },
        {
          "value": "right",
          "label": "t:sections.product_v3.settings.banner_title_align.option_3.label"
        }
      ],
      "default": "center"
    },
    {
      "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": "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": "deal",
      "name": "t:sections.product_v3.settings.blocks.name",
      "settings": [
        {
          "type": "product",
          "id": "product",
          "label": "t:sections.product_v3.settings.blocks.product.label"
        },
        {
          "type": "header",
          "content": "t:sections.all.countdown_heading.content"
        },
        {
          "type": "text",
          "id": "countdown_title",
          "label": "t:sections.all.countdown_title.label",
          "default": "Countdown title"
        },
        {
          "type": "text",
          "id": "countdown_subtitle",
          "label": "t:sections.all.countdown_subtitle.label"
        },
        {
          "type": "text",
          "id": "countdown_description",
          "label": "t:sections.all.countdown_description.label",
          "info": "Enter <br> for a line break"
        },
        {
          "type": "text",
          "id": "countdown_time",
          "label": "t:sections.all.countdown_time.label",
          "default": "October 14, 2023"
        },
        {
          "type": "paragraph",
          "content": "t:sections.all.countdown_note.content"
        },
        {
          "type": "checkbox",
          "id": "show_days",
          "label": "t:sections.all.show_days.label",
          "default": true
        },
        {
          "type": "checkbox",
          "id": "show_hours",
          "label": "t:sections.all.show_hours.label",
          "default": true
        },
        {
          "type": "checkbox",
          "id": "show_minutes",
          "label": "t:sections.all.show_minutes.label",
          "default": true
        },
        {
          "type": "checkbox",
          "id": "show_seconds",
          "label": "t:sections.all.show_seconds.label",
          "default": true
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.product_v3.presets.name"
    }
  ]
}
{% endschema %}
