1(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ 2var ElementsHandler; 3 4ElementsHandler = function( $ ) { 5 var registeredHandlers = {}, 6 registeredGlobalHandlers = []; 7 8 var runGlobalHandlers = function( $scope ) { 9 $.each( registeredGlobalHandlers, function() { 10 this.call( $scope, $ ); 11 } ); 12 }; 13 14 this.addHandler = function( widgetType, callback ) { 15 registeredHandlers[ widgetType ] = callback; 16 }; 17 18 this.addGlobalHandler = function( callback ) { 19 registeredGlobalHandlers.push( callback ); 20 }; 21 22 this.runReadyTrigger = function( $scope ) { 23 var elementType = $scope.data( 'element_type' ); 24 25 if ( ! elementType ) { 26 return; 27 } 28 29 runGlobalHandlers( $scope ); 30 31 if ( ! registeredHandlers[ elementType ] ) { 32 return; 33 } 34 35 registeredHandlers[ elementType ].call( $scope, $ ); 36 }; 37}; 38 39module.exports = ElementsHandler; 40 41},{}],2:[function(require,module,exports){ 42/* global elementorFrontendConfig */ 43( function( $ ) { 44 var ElementsHandler = require( 'elementor-frontend/elements-handler' ), 45 Utils = require( 'elementor-frontend/utils' ); 46 47 var ElementorFrontend = function() { 48 var self = this, 49 scopeWindow = window; 50 51 var elementsDefaultHandlers = { 52 accordion: require( 'elementor-frontend/handlers/accordion' ), 53 alert: require( 'elementor-frontend/handlers/alert' ), 54 counter: require( 'elementor-frontend/handlers/counter' ), 55 //'image-hotspots': require( 'elementor-frontend/handlers/image-hotspots' ), 56 'image-carousel': require( 'elementor-frontend/handlers/image-carousel' ), 57 instagram: require( 'elementor-frontend/handlers/instagram' ), 58 testimonial: require( 'elementor-frontend/handlers/testimonial' ), 59 progress: require( 'elementor-frontend/handlers/progress' ), 60 section: require( 'elementor-frontend/handlers/section' ), 61 tabs: require( 'elementor-frontend/handlers/tabs' ), 62 lottie: require( 'elementor-frontend/handlers/lottie' ), 63 'prestashop-widget-Blog': require( 'elementor-frontend/handlers/prestashop-blog' ), 64 'prestashop-widget-ProductsList': require( 'elementor-frontend/handlers/prestashop-productlist' ), 65 'prestashop-widget-ProductsListTabs': require( 'elementor-frontend/handlers/prestashop-productlisttabs' ), 66 'prestashop-widget-Brands': require( 'elementor-frontend/handlers/prestashop-brands' ), 67 'prestashop-widget-Search': require( 'elementor-frontend/handlers/prestashop-search' ), 68 'prestashop-widget-ContactForm': require( 'elementor-frontend/handlers/prestashop-contactform' ), 69 //'prestashop-widget-RevolutionSlider': require( 'elementor-frontend/handlers/prestashop-revolutionslider' ), 70 toggle: require( 'elementor-frontend/handlers/toggle' ), 71 video: require( 'elementor-frontend/handlers/video' ) 72 }; 73 74 var addGlobalHandlers = function() { 75 self.elementsHandler.addGlobalHandler( require( 'elementor-frontend/handlers/global' ) ); 76 }; 77 78 var addElementsHandlers = function() { 79 $.each( elementsDefaultHandlers, function( elementName ) { 80 self.elementsHandler.addHandler( elementName, this ); 81 } ); 82 }; 83 84 var runElementsHandlers = function() { 85 $( '.elementor-element' ).each( function() { 86 self.elementsHandler.runReadyTrigger( $( this ) ); 87 } ); 88 }; 89 90 this.config = elementorFrontendConfig; 91 92 this.getScopeWindow = function() { 93 return scopeWindow; 94 }; 95 96 this.setScopeWindow = function( window ) { 97 scopeWindow = window; 98 }; 99 100 this.isEditMode = function() { 101 return self.config.isEditMode; 102 }; 103 104 this.elementsHandler = new ElementsHandler( $ ); 105 106 this.utils = new Utils( $ ); 107 108 this.init = function() { 109 addGlobalHandlers(); 110 111 addElementsHandlers(); 112 113 114 runElementsHandlers(); 115 }; 116 117 // Based on underscore function 118 this.throttle = function( func, wait ) { 119 var timeout, 120 context, 121 args, 122 result, 123 previous = 0; 124 125 var later = function() { 126 previous = Date.now(); 127 timeout = null; 128 result = func.apply( context, args ); 129 130 if ( ! timeout ) { 131 context = args = null; 132 } 133 }; 134 135 return function() { 136 var now = Date.now(), 137 remaining = wait - ( now - previous ); 138 139 context = this; 140 args = arguments; 141 142 if ( remaining <= 0 || remaining > wait ) { 143 if ( timeout ) { 144 clearTimeout( timeout ); 145 timeout = null; 146 } 147 148 previous = now; 149 result = func.apply( context, args ); 150 151 if ( ! timeout ) { 152 context = args = null; 153 } 154 } else if ( ! timeout ) { 155 timeout = setTimeout( later, remaining ); 156 } 157 158 return result; 159 }; 160 }; 161 }; 162 163 window.elementorFrontend = new ElementorFrontend(); 164} )( jQuery ); 165 166jQuery( function() { 167 if ( ! elementorFrontend.isEditMode() ) { 168 elementorFrontend.init(); 169 } 170} ); 171 172},{"elementor-frontend/elements-handler":1,"elementor-frontend/handlers/accordion":3,"elementor-frontend/handlers/alert":4,"elementor-frontend/handlers/counter"
172:5,"elementor-frontend/handlers/global":6,"elementor-frontend/handlers/image-carousel":7,"elementor-frontend/handlers/instagram":8,"elementor-frontend/handlers/lottie":9,"elementor-frontend/handlers/prestashop-blog":10,"elementor-frontend/handlers/prestashop-brands":11,"elementor-frontend/handlers/prestashop-contactform":12,"elementor-frontend/handlers/prestashop-productlist":13,"elementor-frontend/handlers/prestashop-productlisttabs":14,"elementor-frontend/handlers/prestashop-search":15,"elementor-frontend/handlers/progress":16,"elementor-frontend/handlers/section":17,"elementor-frontend/handlers/tabs":18,"elementor-frontend/handlers/testimonial":19,"elementor-frontend/handlers/toggle":20,"elementor-frontend/handlers/video":21,"elementor-frontend/utils":22}],3:[function(require,module,exports){ 173var activateSection = function( sectionIndex, $accordionTitles ) { 174 var $activeTitle = $accordionTitles.filter( '.active' ), 175 $requestedTitle = $accordionTitles.filter( '[data-section="' + sectionIndex + '"]' ), 176 isRequestedActive = $requestedTitle.hasClass( 'active' ); 177 178 $activeTitle 179 .removeClass( 'active' ) 180 .next() 181 .slideUp(); 182 183 if ( ! isRequestedActive ) { 184 $requestedTitle 185 .addClass( 'active' ) 186 .next() 187 .slideDown(); 188 } 189}; 190 191module.exports = function( $ ) { 192 var $this = $( this ), 193 $accordionDiv = $this.find( '.elementor-accordion' ), 194 defaultActiveSection = $accordionDiv.data( 'active-section' ), 195 activeFirst = $accordionDiv.data( 'active-first' ), 196 $accordionTitles = $this.find( '.elementor-accordion-title' ); 197 198 if ( ! defaultActiveSection ) { 199 defaultActiveSection = 1; 200 } 201 202 if(activeFirst){ 203 activateSection( defaultActiveSection, $accordionTitles ); 204 } 205 206 207 $accordionTitles.on( 'click', function() { 208 activateSection( this.dataset.section, $accordionTitles ); 209 } ); 210}; 211 212},{}],4:[function(require,module,exports){ 213module.exports = function( $ ) { 214 $( this ).find( '.elementor-alert-dismiss' ).on( 'click', function() { 215 $( this ).parent().fadeOut(); 216 } ); 217}; 218 219},{}],5:[function(require,module,exports){ 220module.exports = function( $ ) { 221 222 var $number = $( this ).find( '.elementor-counter-number' ); 223 224 $number.waypoint( function() { 225 $number.numerator( { 226 duration: $number.data( 'duration' ) 227 } ); 228 }, { offset: '90%' } ); 229}; 230 231},{}],6:[function(require,module,exports){ 232module.exports = function() { 233 if ( elementorFrontend.isEditMode() ) { 234 return; 235 } 236 237 var $element = this, 238 animation = $element.data( 'animation' ); 239 240 if ( ! animation ) { 241 return; 242 } 243 244 $element.addClass( 'elementor-invisible' ).removeClass( animation ); 245 246 $element.waypoint( function() { 247 $element.removeClass( 'elementor-invisible' ).addClass( animation ); 248 }, { offset: '90%' } ); 249 250}; 251 252},{}],7:[function(require,module,exports){ 253module.exports = function( $ ) { 254 var $carousel = $( this ).find( '.elementor-image-carousel' ); 255 if ( ! $carousel.length ) { 256 return; 257 } 258 var savedOptions = $carousel.data( 'slider_options' ), 259 swiperOptions = { 260 touchEventsTarget: 'container', 261 loop: savedOptions.loop, 262 speed: savedOptions.speed, 263 watchOverflow: true, 264 watchSlidesProgress: true, 265 watchSlidesVisibility: true, 266 slidesPerView: savedOptions.slidesToShowMobile, 267 slidesPerGroup: savedOptions.slidesToShowMobile, 268 breakpoints: { 269 768: { 270 slidesPerView: savedOptions.slidesToShowTablet, 271 slidesPerGroup: savedOptions.slidesToShowTablet, 272 }, 273 992: { 274 slidesPerView: savedOptions.slidesToShow, 275 slidesPerGroup: savedOptions.slidesToShow, 276 } 277 } 278 }; 279 280 if(savedOptions.autoplay){ 281 swiperOptions.autoplay = { 282 delay: savedOptions.autoplaySpeed, 283 disableOnInteraction: savedOptions.disableOnInteraction, 284 }; 285 } 286 if(savedOptions.lazy){ 287 swiperOptions.lazy = { 288 loadPrevNext: true, 289 } 290 } 291 if(savedOptions.fade){ 292 swiperOptions.effect = 'fade'; 293 swiperOptions.fadeEffect = { 294 crossFade: true 295 }; 296 } 297 if(savedOptions.dots){ 298 swiperOptions.pagination = { 299 el: '.swiper-pagination', 300 clickable: true, 301 }; 302 } 303 if(savedOptions.arrows){ 304 swiperOptions.navigation = { 305 nextEl: '.swiper-button-next', 306 prevEl: '.swiper-button-prev', 307 }; 308 } 309 310 var swiperInstance = new Swiper($carousel[0], swiperOptions); 311 312 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 313 $carousel.mouseenter(function() { 314 swiperInstance.autoplay.stop(); 315 }); 316 $carousel.mouseleave(function() { 317 swiperInstance.autoplay.start(); 318 }); 319 } 320}; 321 322},{}],8:[function(require,module,exports){ 323module.exports = function( $ ) { 324 325 const $self = $( this ); 326 const $instagramWrapper = $self.find( '.elementor-instagram' ); 327 const $carousel = $self.find( '.elementor-instagram-carousel' ); 328 329 if ( ! $instagramWrapper.length ) { 330 return; 331 } 332 333 const options = $instagramWrapper.data( 'options' ); 334 335 const init = function() { 336 if(options.api_type == 'token'){ 337 initTokenConnection(); 338 } else{ 339 initNoTokenConnection(); 340 } 341 }; 342 343 const initTokenConnection = function() { 344 345 if (elementorFrontendConfig.instagramToken == ''){ 346 return; 347 } 348 349 let html = "<div class='swiper-slide il-item "+ options.class + "'><div class='il-item-inner'>"; 350 html += '<a href="{{link}}" class="instagram-{{type}}" rel="noopener" target="_blank">'; 351 html += '<img loading="lazy" src="{{image}}" alt="{{caption}}" class="il-photo__img" width="" height="" />'; 352 html += '</a>'; 353 html += "</div></div>"; 354 355 const optionsPlugin = { 356 'target': $instagramWrapper[0], 357 'accessToken': elementorFrontendConfig.instagramToken, 358 'template': html, 359 /* 360 'transform': function(item) { 361 item.model.image = item.link + 'media/?size=' + options.image_size_token; 362 return item; 363 }, 364 */ 365 'limit': parseInt(options.limit_token), 366 'after': function(){ 367 if ( ! $carousel.length ) { 368 return; 369 } 370 initSwiper(); 371 } 372 }; 373 374 const feed = new Instafeed(optionsPlugin); 375 feed.run(); 376 377 }; 378 379 const initNoTokenConnection = function() { 380 381 let limit = 12; 382 let username; 383 let tag; 384 385 if(options.feed_type == 'user'){ 386 if (options.user == '' ) { 387 return; 388 } 389 limit = options.limit_user; 390 username = options.user; 391 } else{ 392 if (options.tag == '' ) { 393 return; 394 } 395 limit = options.limit_tag; 396 tag = options.tag; 397 } 398 399 const optionsPlugin = { 400 'username': username, 401 'host': "https://www.instagram.com/", 402 'tag': tag, 403 'display_profile': false, 404 'display_biography': false, 405 'container': $instagramWrapper, 406 'cache_time': 380, 407 'image_class': options.class, 408 'styling': true, 409 'items': limit, 410 'image_size': options.image_size, 411 'callback': function(data){ 412 if ( ! $carousel.length ) { 413 return; 414 } 415 initSwiper(); 416 } 417 }; 418 419 $.instagramFeed(optionsPlugin); 420 421 }; 422 423 const initSwiper = function() { 424 const savedOptions = $carousel.data( 'slider_options' ), 425 swiperOptions = { 426 touchEventsTarget: 'container', 427 loop: savedOptions.loop, 428 watchOverflow: true, 429 watchSlidesProgress: true, 430 watchSlidesVisibility: true, 431 slidesPerView: savedOptions.slidesToShowMobile, 432 slidesPerGroup: savedOptions.slidesToShowMobile, 433 breakpoints: { 434 768: { 435 slidesPerView: savedOptions.slidesToShowTablet, 436 slidesPerGroup: savedOptions.slidesToShowTablet, 437 }, 438 992: { 439 slidesPerView: savedOptions.slidesToShow, 440 slidesPerGroup: savedOptions.slidesToShow, 441 } 442 } 443 }; 444 445 if(savedOptions.autoplay){ 446 swiperOptions.autoplay = { 447 delay: savedOptions.autoplaySpeed, 448 disableOnInteraction: savedOptions.disableOnInteraction, 449 }; 450 } 451 if(savedOptions.dots){ 452 swiperOptions.pagination = { 453 el: '.swiper-pagination', 454 clickable: true, 455 }; 456 } 457 if(savedOptions.arrows){ 458 swiperOptions.navigation = { 459 nextEl: $self.find('.elementor-swiper-button-next').first()[0], 460 prevEl: $self.find('.elementor-swiper-button-prev').first()[0], 461 }; 462 } 463 464 var swiperInstance = new Swiper($carousel[0], swiperOptions); 465 466 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 467 $carousel.mouseenter(function() { 468 swiperInstance.autoplay.stop(); 469 }); 470 $carousel.mouseleave(function() { 471 swiperInstance.autoplay.start(); 472 }); 473 } 474 }; 475 476 init(); 477 478}; 479 480},{}],9:[function(require,module,exports){ 481module.exports = function( $ ) { 482 483 var $lottiePlayer = $( this ).find( '.lottie-animation' ); 484 var offset = $lottiePlayer.data('offset') / 100; 485 var container = null; 486 487 if ($lottiePlayer.data('container') == 'body'){ 488 container = 'body'; 489 } 490 491 if (elementorFrontendConfig.isEditMode) { 492 if($lottiePlayer.data('play') == 'scroll'){ 493 window.frames[0].frameElement.contentWindow.lottieInteractivyBackofficeRun(offset, $lottiePlayer[0], container); 494 } 495 } else{ 496 if($lottiePlayer.data('play') == 'scroll'){ 497 document.addEventListener("lottieLoaded", function(e) { 498 LottieInteractivity.create({ 499 mode:'scroll', 500 player: $lottiePlayer[0], 501 container: container, 502 actions: [ 503 { 504 visibility:[offset,1], 505 type: 'seek', 506 frames: [0, '100%'] 507 } 508 ] 509 }); 510 511 }); 512 } 513 } 514}; 515 516 517 518 519},{}],10:[function(require,module,exports){ 520module.exports = function( $ ) { 521 var $carousel = $( this ).find( '.elementor-blog-carousel' ); 522 if ( ! $carousel.length ) { 523 return; 524 } 525 526 var savedOptions = $carousel.data('slider_options'), 527 swiperOptions = { 528 touchEventsTarget: 'container', 529 watchOverflow: true, 530 watchSlidesProgress: true, 531 watchSlidesVisibility: true, 532 lazy : { 533 loadPrevNext: true, 534 checkInView: true, 535 }, 536 slidesPerView: savedOptions.slidesToShowMobile, 537 slidesPerGroup: savedOptions.slidesToShowMobile, 538 breakpoints: { 539 768: { 540 slidesPerView: savedOptions.slidesToShowTablet, 541 slidesPerGroup: savedOptions.slidesToShowTablet, 542 }, 543 992: { 544 slidesPerView: savedOptions.slidesToShow, 545 slidesPerGroup: savedOptions.slidesToShow, 546 } 547 } 548 }; 549 550 if(savedOptions.autoplay){ 551 swiperOptions.autoplay = { 552 delay: savedOptions.autoplaySpeed, 553 disableOnInteraction: savedOptions.disableOnInteraction, 554 }; 555 } 556 if(savedOptions.dots){ 557 swiperOptions.pagination = { 558 el: '.swiper-pagination', 559 clickable: true, 560 }; 561 } 562 if(savedOptions.arrows){ 563 swiperOptions.navigation = { 564 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 565 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 566 }; 567 } 568 569 var swiperInstance = new Swiper($carousel[0], swiperOptions); 570 571 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 572 $carousel.mouseenter(function() { 573 swiperInstance.autoplay.stop(); 574 }); 575 $carousel.mouseleave(function() { 576 swiperInstance.autoplay.start(); 577 }); 578 } 579}; 580 581},{}],11:[function(require,module,exports){ 582module.exports = function ($) { 583 var $carousel = $(this).find('.elementor-brands-carousel'); 584 if (!$carousel.length) { 585 return; 586 } 587 588 var savedOptions = $carousel.data('slider_options'), 589 swiperOptions = { 590 touchEventsTarget: 'container', 591 watchOverflow: true, 592 watchSlidesProgress: true, 593 watchSlidesVisibility: true, 594 lazy : { 595 loadPrevNext: true, 596 checkInView: true, 597 }, 598 slidesPerView: savedOptions.slidesToShowMobile, 599 slidesPerGroup: savedOptions.slidesToShowMobile, 600 slidesPerColumn: savedOptions.itemsPerColumn, 601 602 breakpoints: { 603 768: { 604 slidesPerView: savedOptions.slidesToShowTablet, 605 slidesPerGroup: savedOptions.slidesToShowTablet, 606 slidesPerColumn: savedOptions.itemsPerColumn, 607 }, 608 992: { 609 slidesPerView: savedOptions.slidesToShow, 610 slidesPerGroup: savedOptions.slidesToShow, 611 slidesPerColumn: savedOptions.itemsPerColumn, 612 } 613 } 614 }; 615 616 if(savedOptions.autoplay){ 617 swiperOptions.autoplay = { 618 delay: 4500 619 }; 620 } 621 if(savedOptions.itemsPerColumn > 1){ 622 swiperOptions.slidesPerColumnFill = 'row'; 623 } 624 if(savedOptions.dots){ 625 swiperOptions.pagination = { 626 el: '.swiper-pagination', 627 clickable: true, 628 }; 629 } 630 if(savedOptions.arrows){ 631 swiperOptions.navigation = { 632 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 633 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 634 }; 635 } 636 637 var swiperInstance = new Swiper($carousel[0], swiperOptions); 638 639 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 640 $carousel.mouseenter(function() { 641 swiperInstance.autoplay.stop(); 642 }); 643 $carousel.mouseleave(function() { 644 swiperInstance.autoplay.start(); 645 }); 646 } 647}; 648 649},{}],12:[function(require,module,exports){ 650module.exports = function ($) { 651 var $this = $(this); 652 var $contactFormWrapper = $this.find('.elementor-contactform-wrapper'); 653 654 if (!$contactFormWrapper.length) { 655 return; 656 } 657 $contactFormWrapper.on("submit", ".js-lementor-contact-form", function (e) { 658 e.preventDefault(); 659 var formData = new FormData($(this)[0]); 660 $.ajax({ 661 url: $(this).attr('action'), 662 data: formData, 663 processData: false, 664 contentType: false, 665 type: 'POST', 666 success: function(resp){ 667 $contactFormWrapper.find('.js-elementor-contact-norifcation-wrapper').replaceWith($(resp.preview).find('.js-elementor-contact-norifcation-wrapper')); 668 } 669 }); 670 }); 671}; 672 673},{}],13:[function(require,module,exports){ 674module.exports = function ($) { 675 var $carousel = $(this).find('.elementor-products-carousel'); 676 if (elementorFrontendConfig.isEditMode) { 677 $(this).find('img[data-src]').each(function() { 678 $(this).attr('src', $(this).data('src')); 679 }); 680 } 681 if (!$carousel.length) { 682 return; 683 } 684 685 var savedOptions = $carousel.data('slider_options'), 686 swiperOptions = { 687 touchEventsTarget: 'container', 688 watchOverflow: true, 689 watchSlidesProgress: true, 690 watchSlidesVisibility: true, 691 lazy : { 692 checkInView: true, 693 loadedClass: 'loaded' 694 }, 695 slidesPerView: savedOptions.slidesToShowMobile, 696 slidesPerGroup: savedOptions.slidesToShowMobile, 697 slidesPerColumn: savedOptions.itemsPerColumn, 698 breakpoints: { 699 768: { 700 slidesPerView: savedOptions.slidesTo
700ShowTablet, 701 slidesPerGroup: savedOptions.slidesToShowTablet, 702 slidesPerColumn: savedOptions.itemsPerColumn, 703 }, 704 992: { 705 slidesPerView: savedOptions.slidesToShow, 706 slidesPerGroup: savedOptions.slidesToShow, 707 slidesPerColumn: savedOptions.itemsPerColumn, 708 } 709 } 710 }; 711 712 if(savedOptions.autoplay){ 713 swiperOptions.autoplay = { 714 delay: 4500, 715 disableOnInteraction: true, 716 }; 717 } 718 if(savedOptions.itemsPerColumn > 1){ 719 swiperOptions.slidesPerColumnFill = 'row'; 720 } 721 if(savedOptions.dots){ 722 swiperOptions.pagination = { 723 el: '.swiper-pagination', 724 clickable: true, 725 }; 726 } 727 if(savedOptions.arrows){ 728 swiperOptions.navigation = { 729 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 730 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 731 }; 732 } 733 734 var swiperInstance = new Swiper($carousel[0], swiperOptions); 735 736 737 738}; 739 740},{}],14:[function(require,module,exports){ 741module.exports = function ($) { 742 var $carousels = $(this).find('.elementor-products-carousel'); 743 if (elementorFrontendConfig.isEditMode) { 744 $(this).find('img[data-src]').each(function() { 745 $(this).attr('src', $(this).data('src')); 746 }); 747 } 748 if (!$carousels.length) { 749 return; 750 } 751 752 753 754 $carousels.each(function() { 755 let $carousel = $(this); 756 757 var savedOptions = $carousel.data('slider_options'), 758 swiperOptions = { 759 touchEventsTarget: 'container', 760 watchOverflow: true, 761 watchSlidesProgress: true, 762 watchSlidesVisibility: true, 763 lazy : { 764 checkInView: true, 765 loadedClass: 'loaded' 766 }, 767 slidesPerView: savedOptions.slidesToShowMobile, 768 slidesPerGroup: savedOptions.slidesToShowMobile, 769 slidesPerColumn: savedOptions.itemsPerColumn, 770 breakpoints: { 771 768: { 772 slidesPerView: savedOptions.slidesToShowTablet, 773 slidesPerGroup: savedOptions.slidesToShowTablet, 774 slidesPerColumn: savedOptions.itemsPerColumn, 775 }, 776 992: { 777 slidesPerView: savedOptions.slidesToShow, 778 slidesPerGroup: savedOptions.slidesToShow, 779 slidesPerColumn: savedOptions.itemsPerColumn, 780 } 781 } 782 }; 783 784 if(savedOptions.autoplay){ 785 swiperOptions.autoplay = { 786 delay: 4500, 787 disableOnInteraction: true, 788 }; 789 } 790 if(savedOptions.itemsPerColumn > 1){ 791 swiperOptions.slidesPerColumnFill = 'row'; 792 } 793 if(savedOptions.dots){ 794 swiperOptions.pagination = { 795 el: '.swiper-pagination', 796 clickable: true, 797 }; 798 } 799 if(savedOptions.arrows){ 800 swiperOptions.navigation = { 801 nextEl: $carousel.parent().find('.elementor-swiper-button-next').first()[0], 802 prevEl: $carousel.parent().find('.elementor-swiper-button-prev').first()[0], 803 }; 804 } 805 806 var swiperInstance = new Swiper($carousel[0], swiperOptions); 807 808 }); 809 810 811 812 813 814 815}; 816 817},{}],15:[function(require,module,exports){ 818module.exports = function( $ ) { 819 var $searchWidget = $( this ).find( '.search-widget-autocomplete' ); 820 if ( ! $searchWidget.length ) { 821 return; 822 } 823 824 if (elementorFrontendConfig.isEditMode) { 825 return; 826 } 827 828 let $searchBox = $searchWidget.find('input[type=text]'); 829 let searchURL = $searchWidget.attr('data-search-controller-url'); 830 var initAutocomplete = prestashop.blocksearch.initAutocomplete || function ($searchWidget, $searchBox, searchURL) {}; 831 832 initAutocomplete($searchWidget, $searchBox, searchURL); 833 834}; 835 836},{}],16:[function(require,module,exports){ 837module.exports = function( $ ) { 838 var $progressbar = $( this ).find( '.elementor-progress-bar' ); 839 840 $progressbar.waypoint( function() { 841 $progressbar.css( 'width', $progressbar.data( 'max' ) + '%' ) 842 }, { offset: '90%' } ); 843}; 844 845},{}],17:[function(require,module,exports){
846var BackgroundVideo = function( $, $backgroundVideoContainer ) { 847 var player, 848 elements = {}, 849 isYTVideo = false; 850 851 var calcVideosSize = function() { 852 var containerWidth = $backgroundVideoContainer.outerWidth(), 853 containerHeight = $backgroundVideoContainer.outerHeight(), 854 aspectRatioSetting = '16:9', //TEMP 855 aspectRatioArray = aspectRatioSetting.split( ':' ), 856 aspectRatio = aspectRatioArray[ 0 ] / aspectRatioArray[ 1 ], 857 ratioWidth = containerWidth / aspectRatio, 858 ratioHeight = containerHeight * aspectRatio, 859 isWidthFixed = containerWidth / containerHeight > aspectRatio; 860 861 return { 862 width: isWidthFixed ? containerWidth : ratioHeight, 863 height: isWidthFixed ? ratioWidth : containerHeight 864 }; 865 }; 866 867 var changeVideoSize = function() { 868 var $video = isYTVideo ? $( player.getIframe() ) : elements.$backgroundVideo, 869 size = calcVideosSize(); 870 871 $video.width( size.width ).height( size.height ); 872 }; 873 874 var prepareYTVideo = function( YT, videoID ) { 875 player = new YT.Player( elements.$backgroundVideo[ 0 ], { 876 videoId: videoID, 877 events: { 878 onReady: function() { 879 player.mute(); 880 881 changeVideoSize(); 882 883 player.playVideo(); 884 }, 885 onStateChange: function( event ) { 886 if ( event.data === YT.PlayerState.ENDED ) { 887 player.seekTo( 0 ); 888 } 889 } 890 }, 891 playerVars: { 892 controls: 0, 893 mute: 1, 894 showinfo: 0 895 } 896 } ); 897 898 $( elementorFrontend.getScopeWindow() ).on( 'resize', changeVideoSize ); 899 }; 900 901 var initElements = function() { 902 elements.$backgroundVideo = $backgroundVideoContainer.children( '.elementor-background-video' ); 903 }; 904 905 var run = function() { 906 var videoID = elements.$backgroundVideo.data( 'video-id' ); 907 908 if ( videoID ) { 909 isYTVideo = true; 910 911 elementorFrontend.utils.onYoutubeApiReady( function( YT ) { 912 setTimeout( function() { 913 prepareYTVideo( YT, videoID ); 914 }, 1 ); 915 } ); 916 } else { 917 elements.$backgroundVideo.one( 'canplay', changeVideoSize ); 918 } 919 }; 920 921 var init = function() { 922 initElements(); 923 run(); 924 }; 925 926 init(); 927}; 928 929 930 931module.exports = function( $ ) { 932 //new StretchedSection( $, this ); 933 934 var $backgroundVideoContainer = this.find( '.elementor-background-video-container' ); 935 936 if ( $backgroundVideoContainer ) { 937 new BackgroundVideo( $, $backgroundVideoContainer ); 938 } 939}; 940 941},{}],18:[function(require,module,exports){ 942module.exports = function( $ ) { 943 var $this = $( this ), 944 defaultActiveTab = $this.find( '.elementor-tabs' ).data( 'active-tab' ), 945 $tabsTitles = $this.find( '.elementor-tab-title' ), 946 $tabs = $this.find( '.elementor-tab-content' ), 947 $active, 948 $content; 949 950 if ( ! defaultActiveTab ) { 951 defaultActiveTab = 1; 952 } 953 954 var activateTab = function( tabIndex ) { 955 if ( $active ) { 956 $active.removeClass( 'active' ); 957 958 $content.removeClass( 'active' ); 959 } 960 961 $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' ); 962 $active.addClass( 'active' ); 963 $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' ); 964 $content.addClass( 'active' ); 965 }; 966 967 activateTab( defaultActiveTab ); 968 969 $tabsTitles.on( 'click', function() { 970 activateTab( this.dataset.tab ); 971 } ); 972}; 973 974},{}],19:[function(require,module,exports){ 975module.exports = function( $ ) { 976 var $carousel = $( this ).find( '.elementor-testimonial-carousel' ); 977 if ( ! $carousel.length ) { 978 return; 979 } 980 var savedOptions = $carousel.data( 'slider_options' ), 981 tabletSlides = 1 === savedOptions.slidesToShow ? 1 : 2, 982 swiperOptions = { 983 touchEventsTarget: 'container', 984 loop: savedOptions.loop, 985 speed: savedOptions.speed, 986 watchOverflow: true, 987 watchSlidesProgress: true, 988 watchSlidesVisibility: true, 989 slidesPerView: 1, 990 slidesPerGroup: 1, 991 breakpoints: { 992 768: { 993 slidesPerView: tabletSlides, 994 slidesPerGroup: tabletSlides, 995 }, 996 992: { 997 slidesPerView: savedOptions.slidesToShow, 998 slidesPerGroup: savedOptions.slidesToShow, 999 } 1000 } 1001 }; 1002 1003 if(savedOptions.autoplay){ 1004 swiperOptions.autoplay = { 1005 delay: savedOptions.autoplaySpeed, 1006 disableOnInteraction: savedOptions.disableOnInteraction, 1007 }; 1008 } 1009 if(savedOptions.fade){ 1010 swiperOptions.effect = 'fade'; 1011 swiperOptions.fadeEffect = { 1012 crossFade: true 1013 }; 1014 } 1015 if(savedOptions.dots){ 1016 swiperOptions.pagination = { 1017 el: '.swiper-pagination', 1018 clickable: true, 1019 }; 1020 } 1021 if(savedOptions.arrows){ 1022 swiperOptions.navigation = { 1023 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 1024 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 1025 }; 1026 } 1027 1028 var swiperInstance = new Swiper($carousel[0], swiperOptions); 1029 1030 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 1031 $carousel.mouseenter(function() { 1032 swiperInstance.autoplay.stop(); 1033 }); 1034 $carousel.mouseleave(function() { 1035 swiperInstance.autoplay.start(); 1036 }); 1037 } 1038}; 1039 1040},{}],20:[function(require,module,exports){ 1041module.exports = function( $ ) { 1042 var $toggleTitles = $( this ).find( '.elementor-toggle-title' ); 1043 1044 $toggleTitles.on( 'click', function() { 1045 var $active = $( this ), 1046 $content = $active.next(); 1047 1048 if ( $active.hasClass( 'active' ) ) { 1049 $active.removeClass( 'active' ); 1050 $content.slideUp(); 1051 } else { 1052 $active.addClass( 'active' ); 1053 $content.slideDown(); 1054 } 1055 } ); 1056}; 1057 1058},{}],21:[function(require,module,exports){ 1059module.exports = function( $ ) { 1060 var $this = $( this ), 1061 $imageOverlay = $this.find( '.elementor-custom-embed-image-overlay' ), 1062 $videoModalBtn = $this.find( '.elementor-video-open-modal' ).first(), 1063 $videoModal = $this.find( '.elementor-video-modal' ).first(), 1064 $video = $this.find( '.elementor-video' ).first(), 1065 $videoFrame = $this.find( 'iframe' ); 1066 1067 1068 1069 if ( $imageOverlay.length ) { 1070 1071 $imageOverlay.on( 'click', function() { 1072 $imageOverlay.remove(); 1073 1074 if ( $video.length ) { 1075 $video[ 0 ].play(); 1076 1077 return; 1078 } 1079 1080 1081 var newSourceUrl = $videoFrame[0].src; 1082 // Remove old autoplay if exists
1083 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 1084 $videoFrame[0].src = newSourceUrl; 1085 } ); 1086 } 1087 1088 if ( ! $videoModalBtn.length ) { 1089 return; 1090 } 1091 1092 1093 $videoModalBtn.on( 'click', function() { 1094 1095 if ( $video.length ) { 1096 $video[ 0 ].play(); 1097 1098 return; 1099 } 1100 1101 1102 var newSourceUrl = $videoFrame[0].src; 1103 // Remove old autoplay if exists 1104 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 1105 $videoFrame[0].src = newSourceUrl; 1106 } ); 1107 1108 1109 $videoModal.on('hide.bs.modal', function () { 1110 1111 if ( $video.length ) { 1112 $video[ 0 ].pause(); 1113 1114 return; 1115 } 1116 1117 var newSourceUrl = $videoFrame[0].src; 1118 // Remove old autoplay if exists 1119 newSourceUrl = newSourceUrl.replace( 'autoplay=1', 'autoplay=0' ); 1120 $videoFrame[0].src = newSourceUrl; 1121 }); 1122 1123 1124}; 1125 1126},{}],22:[function(require,module,exports){ 1127var Utils; 1128 1129Utils = function( $ ) { 1130 var self = this; 1131 var isYTInserted = false; 1132 1133 this.onYoutubeApiReady = function( callback ) { 1134 1135 if ( ! isYTInserted ) { 1136 insertYTApi(); 1137 } 1138 1139 if ( window.YT && YT.loaded ) { 1140 callback( YT ); 1141 } else { 1142 // If not ready check again by timeout.. 1143 setTimeout( function() { 1144 self.onYoutubeApiReady( callback ); 1145 }, 350 ); 1146 } 1147 }; 1148 1149 1150 1151 var insertYTApi = function() { 1152 isYTInserted = true; 1153 1154 $( 'script:first' ).before( $( '<script>', { src: 'https://www.youtube.com/iframe_api' } ) ); 1155 }; 1156}; 1157 1158module.exports = Utils; 1159 1160},{}]},{},[2]) 1161//# sourceMappingURL=frontend.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.