{{ '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' %}>
    {%- if section.settings.heading_title != blank -%}
      <xo-animate xo-cascade>
        {% render 'heading', title: section.settings.heading_title, align: section.settings.align %}
      </xo-animate>
    {%- endif -%}
    <xo-tabs>
      <xo-animate xo-cascade>
        {% case section.settings.heading_align %}
          {% when 'left' %}
            {% assign justify = 'flex-start' %}
          {% when 'center' %}
            {% assign justify = 'center' %}
          {% else %}
            {% assign justify = 'flex-end' %}
        {% endcase %}
        <div class='product-v3__tab' style='--justify:{{justify}}'>
          {% for block in section.blocks %}
            {%- assign index = forloop.index0 -%}
            <xo-tabs-trigger
              xo-name='tab-{{ index }}'
              {% if index == 0 %}
                xo-active
              {% endif %}
              class='product-v3__tab-trigger'
            >
              {{- block.settings.tab_title -}}
            </xo-tabs-trigger>
          {% endfor %}
        </div>
      </xo-animate>
      <xo-tabs-content>
        {% for block in section.blocks %}
          {%- assign index = forloop.index0 -%}
          <xo-tabs-pane
            xo-name='tab-{{ index }}'
            {% if index == 0 %}
              xo-active
            {% endif %}
          >
            <xo-grid style='--xs:1;--sm:2;--xl:{{section.settings.columns_size}}'>
              {% for product in block.settings.tab_collection.products limit: block.settings.tab_limit %}
                {%- assign placeholder_image_index = forloop.index0 | modulo: 4 | plus: 1 -%}
                {%- assign placeholder_image = 'product-apparel-' | append: placeholder_image_index -%}
                {% 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 %}
                {% case settings.product_card_style_layout %}
                  {% when 'style9' %}
                    {% render 'product-card-style9',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style8' %}
                    {% render 'product-card-style8',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style7' %}
                    {% render 'product-card-style7',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style6' %}
                    {% render 'product-card-style6',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style5' %}
                    {% render 'product-card-style5',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style4' %}
                    {% render 'product-card-style4',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style3' %}
                    {% render 'product-card-style3',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style2' %}
                    {% render 'product-card-style2',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}

                  {% when 'style1' %}
                    {% render 'product-card-style1',
                      product: product,
                      show_image: settings.product_card_show_image,
                      show_secondary_image: settings.product_card_show_secondary_image,
                      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_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
                    %}
                {% endcase %}
              {% endfor %}
            </xo-grid>
          </xo-tabs-pane>
        {% endfor %}
      </xo-tabs-content>
    </xo-tabs>
    <xo-animate xo-cascade class='product-v3__nav-button'>
      {% render 'button',
        text: section.settings.button_text,
        link: section.settings.button_link,
        style: section.settings.button_style,
        size: section.settings.button_size,
        radius: section.settings.button_radius,
        padding: section.settings.button_padding,
        type: section.settings.button_type,
        loading_type: section.settings.buttons_loading
      %}
    </xo-animate>
  </xo-container>
</div>

{% schema %}
{
  "name": "t:sections.product_v3.name",
  "tag": "section",
  "class": "section",
  "settings": [
    {
      "type": "header",
      "content": "Setting layout"
    },
    {
      "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": "header",
      "content": "Setting product"
    },
    {
      "type": "text",
      "id": "heading_title",
      "label": "t:sections.all.title.label",
      "default": "Section title"
    },
    {
      "type": "select",
      "id": "heading_align",
      "label": "t:sections.all.heading_align.label",
      "default": "center",
      "options": [
        {
          "value": "left",
          "label": "t:sections.all.heading_align.option__1.label"
        },
        {
          "value": "center",
          "label": "t:sections.all.heading_align.option__2.label"
        },
        {
          "value": "right",
          "label": "t:sections.all.heading_align.option__3.label"
        }
      ]
    },
    {
      "type": "range",
      "id": "columns_size",
      "min": 2,
      "max": 6,
      "step": 1,
      "label": "t:sections.product_v3.settings.columns.label",
      "default": 4
    },
    {
      "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.button_heading.content"
    },
    {
      "type": "text",
      "id": "button_text",
      "label": "t:sections.product_v3.settings.button_text.label",
      "default": "ALL PRODUCTS"
    },
    {
      "type": "url",
      "id": "button_link",
      "label": "t:sections.product_v3.settings.button_link.label",
      "default": "/collections/all"
    },
    {
      "type": "select",
      "id": "button_style",
      "label": "t:sections.product_v3.settings.button_style.label",
      "options": [
        {
          "value": "primary",
          "label": "t:sections.product_v3.settings.button_style.option__1.label"
        },
        {
          "value": "secondary",
          "label": "t:sections.product_v3.settings.button_style.option__2.label"
        },
        {
          "value": "link",
          "label": "t:sections.product_v3.settings.button_style.option__3.label"
        }
      ],
      "default": "primary"
    },
    {
      "type": "select",
      "id": "button_size",
      "label": "t:sections.product_v3.settings.button_size.label",
      "options": [
        {
          "value": "xs",
          "label": "t:sections.product_v3.settings.button_size.option__0.label"
        },
        {
          "value": "sm",
          "label": "t:sections.product_v3.settings.button_size.option__1.label"
        },
        {
          "value": "md",
          "label": "t:sections.product_v3.settings.button_size.option__2.label"
        },
        {
          "value": "lg",
          "label": "t:sections.product_v3.settings.button_size.option__3.label"
        }
      ],
      "default": "sm"
    },
    {
      "type": "range",
      "id": "button_radius",
      "label": "t:sections.product_v3.settings.button_radius.label",
      "max": 49,
      "min": 0,
      "step": 1,
      "unit": "rem",
      "default": 0
    },
    {
      "type": "range",
      "id": "button_padding",
      "label": "t:sections.product_v3.settings.button_padding.label",
      "max": 10,
      "min": 1,
      "step": 0.2,
      "unit": "rem",
      "default": 1.4
    },
    {
      "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": "tab",
      "name": "t:sections.product_v3.settings.blocks.name",
      "settings": [
        {
          "type": "text",
          "id": "tab_title",
          "label": "t:sections.product_v3.settings.blocks.title.label",
          "default": "TAB TITLE"
        },
        {
          "type": "collection",
          "id": "tab_collection",
          "label": "t:sections.product_v3.settings.blocks.collection.label"
        },
        {
          "type": "range",
          "id": "tab_limit",
          "min": 2,
          "max": 50,
          "step": 1,
          "label": "t:sections.product_v3.settings.blocks.products.label",
          "default": 8
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.product_v3.presets.name"
    }
  ]
}
{% endschema %}
