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

{%- liquid
  assign section_id = '#section-' | append: section.id
  assign slider_id = '#slider-' | append: section.id
  assign controls_id = '#controls-' | append: section.id
  assign enable_slider =section.settings.enable_slider
  assign items_resp = section.settings.items_resp

  if section.settings.items_spacing
    assign items_spacing_slider = '30px'
  else
    assign items_spacing_slider = '0'
  endif

  if section.settings.items_spacing == false and enable_slider == false
    assign items_spacing_row = 'no-padding'
  endif

  assign heading_style_block = section.blocks | where: 'type' , 'heading-style' | first
-%}

{%- capture section_heading -%}
  {%- render 'snippet-heading', type:'render-html', config: section.settings -%}
{%- endcapture -%}

{%- capture grid_class -%}{%- render 'set-item-per-row', value: items_resp -%}{%- endcapture -%}

<div class="section-product-tab-v3" id="section-{{ section.id }}" data-section-id="{{ section.id }}"{% if enable_slider %} data-section-type="featured-collection"{% endif %}>
  <div class="{%- if template == 'index' or template contains 'page' -%}{{ section.settings.section_layout }}{%- endif -%}">
    <div class="section-wrapper {{ items_spacing_row }}">

      {%- if section_heading != blank -%}
        {%- capture heading_css -%}
          {%- render 'snippet-heading', type: 'render-css', config: heading_style_block.settings, classID: section_id -%}
        {%- endcapture -%}
        <div class="section-header">{{ section_heading }}</div>
      {%- endif -%}

      <div class="section-body">
        <ul class="tab-heading tab-heading-{{ section.settings.tab_title_style }} align-{{ section.settings.alignment_tab_title }}">
          {%- for block in section.blocks -%} 
            {%- if block.type == 'product' -%}
              {%- assign collection = collections[block.settings.collection] -%}
              <li>
                <a href="{{ collection.url }}"{% if forloop.first %} class="active"{% endif %}>
                  {%- if block.settings.heading != blank -%}{{ block.settings.heading }}{%- else -%}{{ collection.title }}{%- endif -%}
                </a>
              </li>
            {%- endif -%}
          {%- endfor -%}
        </ul>

        <slider-component>
          <div class="slider-container js-slider-container">
            <div class="slider-wrapper">

              {%- for block in section.blocks -%}
                {%- if block.type == 'product' -%}
                  {%- liquid
                    assign collection = collections[block.settings.collection]
                    if block.settings.collection != blank and section.settings.limit > collection.all_products_count
                      assign limit = collection.all_products_count
                    else
                      assign limit = section.settings.limit
                    endif
                  -%}

                    <div class="slider-list{% unless enable_slider %} row{% endunless %}" id="slider-{{ section.id }}">
                      {%- if block.settings.collection == blank or collection.all_products_count < 1 -%}
                        {%- for index in (1..limit) -%}
                          {%- if enable_slider and section.settings.style == '2' -%}
                            <div class="slider-item">
                              {%- capture mod -%}{{ forloop.index | modulo: 2 }}{%- endcapture -%}
                              {%- if mod == '1' -%}<div class="product-grid-item">{%- endif -%}
                              {%- render 'product-owl-item', index0: forloop.index0, product: product -%}
                              {%- if mod == '0' or forloop.last -%}</div>{%- endif -%}
                            </div>

                          {%- else -%}
                            <div class="slider-item{% unless enable_slider %} {{ grid_class }}{% endunless %}">
                              {%- render 'product-owl-item', index0: forloop.index0, product: product -%}
                            </div>
                          {%- endif -%}
                        {%- endfor -%}

                      {%- else -%}
                        {%- for product in collection.products limit: limit -%}
                          {%- if enable_slider and section.settings.style == '2' -%}
                            <div class="slider-item">
                              {%- capture mod -%}{{ forloop.index | modulo: 2 }}{%- endcapture -%}
                              {%- if mod == '1' -%}<div class="product-grid-item">{%- endif -%}
                              {%- render 'product-owl-item', product: product, collection: collection -%}
                              {%- if mod == '0' or forloop.last -%}</div>{%- endif -%}
                            </div>

                          {%- else -%}
                            <div class="slider-item{% unless enable_slider %} {{ grid_class }}{% endunless %}">
                              {%- render 'product-owl-item', product: product, collection: collection -%}
                            </div>
                          {%- endif -%} 
                        {%- endfor -%}
                      {%- endif -%} 
                    </div>
                  {%- break -%}

                {%- endif -%}
              {%- endfor -%}

              {%- if enable_slider -%}
                {%- render 'set-tns-config'
                  slider_id: slider_id,
                  classID: section_id,
                  loop: section.settings.loop,
                  dots: section.settings.dots,
                  controls: section.settings.controls,
                  controls_id: controls_id,
                  customControls: true,
                  autoplay: section.settings.autoplay,
                  autoplay_timeout: section.settings.autoplay_timeout,
                  padding: items_spacing_slider,
                  items_resp: items_resp,
                  total_item: limit
                -%}
              {%- endif -%}
            </div>
          </div>
        </slider-component>
      </div>
    </div>
  </div>
</div>

{%- if enable_slider -%}
  <script>
    window.theme = window.theme || {};
    if(!!window.theme.sectionRegister){
      !window.theme.sectionRegister.includes("featured-collection") && (window.theme.sectionRegister = [...window.theme.sectionRegister, "featured-collection"]);
    }else{
      window.theme.sectionRegister = ["featured-collection"];
    }
  </script>

  <script>
    window.theme = window.theme || {};
    if(!!window.theme.customElementsList){
      !window.theme.customElementsList.includes("slider-component") && (window.theme.customElementsList = [...window.theme.customElementsList, "slider-component"]);
    }else{
      window.theme.customElementsList = ["slider-component"];
    }
  </script>
{%- endif -%}

{%- capture section_css -%}
  {{- heading_css -}}
  {%- render 'snippet-theme', type: 'section-style', preClassID: section_id, config: section.settings -%}
{%- endcapture -%}

{%- style -%}{{ section_css | strip | strip_newlines | remove: '  ' }}{%- endstyle -%}

{%- schema -%}
{
  "name": "t:sections.product-tabs-v3.name",
  "tag": "section",
  "disabled_on": {
    "groups": ["header", "footer"]
  },
  "settings": [
    {
      "type": "select",
      "id": "section_layout",
      "label": "t:settings_schema.global.settings.layout_mode.label",
      "default": "container",
      "options": [
        {
          "value": "container",
          "label": "t:settings_schema.global.settings.layout_mode.options__1.label"
        },
        {
          "value": "container-fluid",
          "label": "t:settings_schema.global.settings.layout_mode.options__2.label"
        }
      ]
    },
    {
      "type": "text",
      "id": "margin",
      "label": "t:sections.common.section_margin",
      "info": "t:sections.common.order_info"
    },
    {
      "type": "text",
      "id": "padding",
      "label": "t:sections.common.section_padding",
      "info": "t:sections.common.order_info"
    },
    {
      "type": "color",
      "id": "bg_color",
      "label": "t:sections.common.background_color"
    },
    {
      "type": "text",
      "id": "heading",
      "label": "t:sections.common.heading",
      "default": "Featured products"
    },
    {
      "type": "text",
      "id": "items_resp",
      "label": "t:sections.common.items_per_row",
      "default": "3,2,1"
    },
    {
      "type": "checkbox",
      "id": "items_spacing",
      "label": "t:sections.common.items_spacing",
      "default": false
    },
    {
      "type": "range",
      "id": "limit",
      "label": "t:sections.common.limit",
      "step": 1,
      "min": 1,
      "max": 20,
      "default": 10
    }, 
    {
      "type": "header",
      "content": "t:sections.common.tab_heading"
    },
    {
      "type": "select",
      "id": "alignment_tab_title",
      "label": "t:sections.common.alignment",
      "options": [
        { "value": "start", "label": "t:sections.common.left" },
        { "value": "center", "label": "t:sections.common.center" },
        { "value": "end", "label": "t:sections.common.right" }
      ],
      "default": "center"
    },
    {
      "type": "select",
      "id": "tab_title_style",
      "label": "Border style",
      "options": [
        { "value": "1", "label": "Style 01" },
        { "value": "2", "label": "Style 02" },
        { "value": "3", "label": "Style 03" }
      ],
      "default": "1"
    },
    {
      "type": "header",
      "content": "t:sections.common.slider_settings"
    },
    {
      "type": "checkbox",
      "id": "enable_slider",
      "label": "t:sections.common.enable_slider",
      "default": true
    },
    {
      "type": "checkbox",
      "id": "loop",
      "label": "t:sections.common.loop",
      "default": false
    },
    {
      "type": "checkbox",
      "id": "controls",
      "label": "t:sections.common.controls",
      "default": true
    },
    {
      "type": "checkbox",
      "id": "dots",
      "label": "t:sections.common.dots",
      "default": true
    },
    {
      "type": "checkbox",
      "id": "autoplay",
      "label": "t:sections.common.autoplay",
      "default": false
    },
    {
      "type": "range",
      "id": "autoplay_timeout",
      "label": "t:sections.common.autoplay_timeout",
      "step": 0.1,
      "min": 2,
      "max": 10,
      "unit": "s",
      "default": 4
    },
    {
      "type": "select",
      "id": "style",
      "label": "t:sections.common.style",
      "default": "1",
      "options": [
        {
          "value": "1",
          "label": "1 row"
        },
        {
          "value": "2",
          "label": "2 rows"
        }
      ]
    } 
  ],
  "blocks": [
    {
      "type": "heading-style",
      "limit": 1,
      "name": "t:sections.common.heading_style",
      "settings": [
        {
          "type": "select",
          "id": "section_heading_container_align",
          "label": "t:sections.common.alignment",
          "options": [
            {
              "value": "start",
              "label": "t:sections.common.left"
            },
            {
              "value": "center",
              "label": "t:sections.common.center"
            },
            {
              "value": "end",
              "label": "t:sections.common.right"
            }
          ]
        },
        {
          "type": "text",
          "id": "section_heading_margin",
          "label": "t:sections.common.margin",
          "info": "t:sections.common.order_info"
        },
        {
          "type": "color",
          "id": "section_heading_color",
          "label": "t:sections.common.text_color"
        },
        {
          "type": "text",
          "id": "section_heading_font_size",
          "label": "t:sections.common.font_size",
          "info": "t:sections.common.unit_px"
        },
        {
          "type": "range",
          "id": "section_heading_font_weight",
          "label": "t:sections.common.font_weight",
          "step": 100,
          "min": 100,
          "max": 900,
          "default": 600
        }
      ]
    },
    {
      "type": "product",
      "name": "t:sections.common.block_item",
      "settings": [
        {
          "type": "text",
          "id": "heading",
          "label": "t:sections.common.heading",
          "default": "Tab title"
        },
        {
          "type": "collection",
          "id": "collection",
          "label": "t:sections.common.collection"
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.product-tabs-v3.name",
      "blocks": [
        {
          "type": "product"
        },
        {
          "type": "product"
        },
        {
          "type": "product"
        }
      ]
    }
  ]
}
{%- endschema -%}