https://t.me/AnonymousX5
Server : Apache
System : Linux ls31.server.ly 3.10.0-962.3.2.lve1.5.68.el7.x86_64 #1 SMP Wed Apr 6 11:12:23 UTC 2022 x86_64
User : medchoco ( 2906)
PHP Version : 8.3.16
Disable Function : mail
Directory :  /home/medchoco/public_html/wp-content/themes/puca/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/medchoco/public_html/wp-content/themes/puca/js/custom-slick.js
'use strict';

class Carousel {
  CarouselSlickQuickView() {
    const wrap = jQuery('#yith-quick-view-content .woocommerce-product-gallery__wrapper');
    wrap.each(function () {
      const _this = jQuery(this);

      if (_this.children().length === 0 || _this.hasClass("slick-initialized")) return;
      const rtl = _this.parent('.woocommerce-product-gallery-quick-view').data('rtl') === 'yes';

      _this.slick({
        slidesToShow: 1,
        infinite: false,
        focusOnSelect: true,
        dots: true,
        arrows: true,
        adaptiveHeight: true,
        mobileFirst: true,
        vertical: false,
        cssEase: 'ease',
        prevArrow: '<button type="button" class="slick-prev"><i class="icon-arrow-left icons"></i></button>',
        nextArrow: '<button type="button" class="slick-next"><i class="icon-arrow-right icons"></i></button>',
        settings: "unslick",
        rtl
      });
    });
    jQuery(".variations_form").on("woocommerce_variation_select_change", function () {
      wrap.slick("slickGoTo", 0);
    });
  }

  CarouselSlick() {
    var _this = this;

    if (jQuery(".owl-carousel[data-carousel=owl]:visible").length === 0) return;
    jQuery('.owl-carousel[data-carousel=owl]:visible:not(.scroll-init)').each(function () {
      _this._initCarouselSlick(jQuery(this));
    });
    jQuery('.owl-carousel[data-carousel=owl]:visible.scroll-init').waypoint(function () {
      var $this = $($(this)[0].element);

      _this._initCarouselSlick($this);
    }, {
      offset: '100%'
    });
  }

  _initCarouselSlick(_this2) {
    var _this = this;

    var config = _this._getSlickConfigOption(_this2);

    if (_this2.hasClass("slick-initialized")) return;

    if (!jQuery.browser.mobile || $(window).width() > 767) {
      _this2.slick(config);
    } else {
      _this2.slick(config);
    }
  }

  _getSlickConfigOption($el) {
    var defaultItems = $el.data('items');
    var _config = {
      dots: $el.data('pagination'),
      arrows: $el.data('nav'),
      infinite: $el.data('loop'),
      speed: 500,
      autoplay: $el.data('auto'),
      autoplaySpeed: $el.data('autospeed') || 2000,
      cssEase: 'linear',
      slidesToShow: defaultItems,
      slidesToScroll: defaultItems,
      mobileFirst: true,
      vertical: false,
      prevArrow: '<button type="button" class="slick-prev"><i class="icon-arrow-left icons"></i></button>',
      nextArrow: '<button type="button" class="slick-next"><i class="icon-arrow-right icons"></i></button>',
      rtl: $('html').attr('dir') === 'rtl'
    };
    var isUnslick = $el.data('unslick');
    _config.responsive = [{
      breakpoint: 1500,
      settings: {
        slidesToShow: defaultItems,
        slidesToScroll: defaultItems
      }
    }, {
      breakpoint: 1200,
      settings: {
        slidesToShow: $el.data('large') || defaultItems,
        slidesToScroll: $el.data('large') || defaultItems
      }
    }, {
      breakpoint: 980,
      settings: {
        slidesToShow: $el.data('medium') || defaultItems,
        slidesToScroll: $el.data('medium') || defaultItems
      }
    }, {
      breakpoint: 767,
      settings: {
        slidesToShow: $el.data('smallmedium') || defaultItems,
        slidesToScroll: $el.data('smallmedium') || defaultItems,
        infinite: false
      }
    }, {
      breakpoint: 479,
      settings: isUnslick ? "unslick" : {
        slidesToShow: $el.data('extrasmall') || 2,
        slidesToScroll: $el.data('extrasmall') || 2,
        infinite: false
      }
    }, {
      breakpoint: 0,
      settings: isUnslick ? "unslick" : {
        slidesToShow: $el.data('verysmall') || 2,
        slidesToScroll: $el.data('verysmall') || 2,
        infinite: false
      }
    }];
    return _config;
  }

  getSlickTabs() {
    var $ = jQuery;
    $('.nav-tabs li a').on('shown.bs.tab', event => {
      let carouselItemTab = $(event.target.hash).find(".owl-carousel[data-carousel=owl]:visible");
      let carouselItemDestroy = $(event.relatedTarget.hash).find(".owl-carousel[data-carousel=owl]");

      if (!carouselItemTab.hasClass("slick-initialized")) {
        carouselItemTab.slick(this._getSlickConfigOption(carouselItemTab));
      }

      if (carouselItemDestroy.hasClass("slick-initialized")) {
        carouselItemDestroy.slick('unslick');
      }
    });
  }

}

class Slider {
  tbaySlickSlider() {
    jQuery('.flex-control-thumbs').each((i, el) => {
      if (!el.children.length) return;
      const parent = jQuery(el).parent('.woocommerce-product-gallery');
      const {
        layout,
        columns,
        rtl
      } = parent.data();
      const _config = {
        vertical: layout === 'vertical',
        slidesToShow: columns,
        infinite: false,
        focusOnSelect: true,
        settings: "unslick",
        prevArrow: '<span class="owl-prev"></span>',
        nextArrow: '<span class="owl-next"></span>',
        rtl: rtl === 'yes' && layout !== 'vertical',
        responsive: [{
          breakpoint: 1200,
          settings: {
            vertical: false,
            slidesToShow: 4
          }
        }]
      };
      jQuery(el).slick(_config);
    });
  }

}

class Layout {
  tbaySlickLayoutSlide() {
    const sliderFor = $('.tbay-slider-for');

    if (sliderFor.length) {
      const configFor = {};
      const configNav = {};
      configFor.rtl = $('body').hasClass('rtl');
      configFor.slidesToShow = sliderFor.data('number') || 1;
      configFor.arrows = true;
      configFor.infinite = true;
      configFor.slidesToScroll = 1;
      configFor.prevArrow = '<span class="owl-prev"></span>';
      configFor.nextArrow = '<span class="owl-next"></span>';
      configFor.asNavFor = '.tbay-slider-nav';
      configFor.responsive = [{
        breakpoint: 1025,
        settings: {
          vertical: false,
          slidesToShow: configFor.slidesToShow > 1 ? configFor.slidesToShow - 1 : 1
        }
      }, {
        breakpoint: 480,
        settings: {
          vertical: false,
          slidesToShow: 1
        }
      }];
      configNav.dots = false;
      configNav.arrows = true;
      configNav.centerMode = false;
      configNav.focusOnSelect = true;
      configNav.infinite = false;
      configNav.slidesToShow = 4;
      configNav.slidesToScroll = 1;
      configNav.prevArrow = '<span class="owl-prev"></span>';
      configNav.nextArrow = '<span class="owl-next"></span>';
      configNav.asNavFor = '.tbay-slider-for';
      $('.tbay-slider-for').slick(configFor);
      $('.tbay-slider-nav').slick(configNav);

      if ($('.single-product .tbay-slider-for .slick-slide').length) {
        jQuery('.single-product .tbay-slider-for .slick-slide').zoom();
        $('.single-product .tbay-slider-for .slick-track').addClass('woocommerce-product-gallery__image single-product-main-image');
      }
    }
  }

}

(function ($, sr) {
  var debounce = function (func, threshold, execAsap) {
    var timeout;
    return function debounced() {
      var obj = this,
          args = arguments;

      function delayed() {
        if (!execAsap) func.apply(obj, args);
        timeout = null;
      }
      if (timeout) clearTimeout(timeout);else if (execAsap) func.apply(obj, args);
      timeout = setTimeout(delayed, threshold || 100);
    };
  };

  jQuery.fn[sr] = function (fn) {
    return fn ? this.on('resize', debounce(fn)) : this.trigger(sr);
  };
})(jQuery, 'smartresize');

jQuery(document).ready(() => {
  const carousel = new Carousel();
  const slider = new Slider();
  const layout = new Layout();
  carousel.CarouselSlick();
  carousel.getSlickTabs();

  if (puca_settings.single_product) {
    slider.tbaySlickSlider();

    if (puca_settings.is_layoutslide) {
      layout.tbaySlickLayoutSlide();
    }
  }

  $(window).smartresize(() => {
    if ($(window).width() >= 767) {
      try {
        carousel.CarouselSlick();

        if (puca_settings.single_product) {
          slider.tbaySlickSlider();

          if (puca_settings.is_layoutslide) {
            layout.tbaySlickLayoutSlide();
          }
        }
      } catch {}
    }
  });
});
setTimeout(() => {
  jQuery(window).on('qv_loader_stop', () => {
    const carousel = new Carousel();
    carousel.CarouselSlickQuickView();
  });
  jQuery(document.body).on('tbay_carousel_slick', () => {
    const carousel = new Carousel();
    carousel.CarouselSlick();
  });
}, 2000);

var CustomSlickHandler = function ($scope, $) {
  var carousel = new Carousel();
  carousel.CarouselSlick();
};

jQuery(window).on('elementor/frontend/init', function () {
  if (typeof puca_settings !== "undefined" && Array.isArray(puca_settings.elements_ready.slick)) {
    $.each(puca_settings.elements_ready.slick, function (index, value) {
      elementorFrontend.hooks.addAction('frontend/element_ready/tbay-' + value + '.default', CustomSlickHandler);
    });
  }
});

https://t.me/AnonymousX5 - 2025