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 initTokenConnection(); 337 }; 338 339 const initTokenConnection = function() { 340 341 if (elementorFrontendConfig.instagramToken == ''){ 342 return; 343 } 344 345 var tagsToReplace = { 346 '&': '&', 347 '<': '<', 348 '"': '"', 349 '': '"', 350 '>': '>' 351 }; 352 353 function replaceTag(tag) { 354 return tagsToReplace[tag] || tag; 355 } 356 357 function safe_tags_replace(str) { 358 return str.replace(/[&<>"']/g, replaceTag); 359 } 360 361 362 let html = "<div class='swiper-slide il-item "+ options.class + "'><div class='il-item-inner'>"; 363 html += '<a href="{{link}}" class="instagram-{{type}}" rel="noopener" target="_blank" title="{{caption}}">'; 364 html += '<img loading="lazy" src="{{image}}" alt="{{caption}}" class="il-photo__img" width="" height="" />'; 365 html += '</a>'; 366 html += "</div></div>"; 367 368 const optionsPlugin = { 369 'target': $instagramWrapper[0], 370 'accessToken': elementorFrontendConfig.instagramToken, 371 'template': html, 372 /* 373 'transform': function(item) { 374 item.model.image = item.link + 'media/?size=' + options.image_size_token; 375 return item; 376 }, 377 */ 378 'limit': parseInt(options.limit_token), 379 'success': function(response) { 380 response.data.forEach(function(i){ 381 var cleanCaption = safe_tags_replace(i.caption); 382 i.caption = cleanCaption 383 }); 384 }, 385 'after': function(){ 386 if ( ! $carousel.length ) { 387 return; 388 } 389 initSwiper(); 390 } 391 }; 392 393 const feed = new Instafeed(optionsPlugin); 394 feed.run(); 395 396 }; 397 398 const initSwiper = function() { 399 const savedOptions = $carousel.data( 'slider_options' ), 400 swiperOptions = { 401 touchEventsTarget: 'container', 402 loop: savedOptions.loop, 403 watchOverflow: true, 404 watchSlidesProgress: true, 405 watchSlidesVisibility: true, 406 slidesPerView: savedOptions.slidesToShowMobile, 407 slidesPerGroup: savedOptions.slidesToShowMobile, 408 breakpoints: { 409 768: { 410 slidesPerView: savedOptions.slidesToShowTablet, 411 slidesPerGroup: savedOptions.slidesToShowTablet, 412 }, 413 992: { 414 slidesPerView: savedOptions.slidesToShow, 415 slidesPerGroup: savedOptions.slidesToShow, 416 } 417 } 418 }; 419 420 if(savedOptions.autoplay){ 421 swiperOptions.autoplay = { 422 delay: savedOptions.autoplaySpeed, 423 disableOnInteraction: savedOptions.disableOnInteraction, 424 }; 425 } 426 if(savedOptions.dots){ 427 swiperOptions.pagination = { 428 el: '.swiper-pagination', 429 clickable: true, 430 }; 431 } 432 if(savedOptions.arrows){ 433 swiperOptions.navigation = { 434 nextEl: $self.find('.elementor-swiper-button-next').first()[0], 435 prevEl: $self.find('.elementor-swiper-button-prev').first()[0], 436 }; 437 } 438 439 var swiperInstance = new Swiper($carousel[0], swiperOptions); 440 441 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 442 $carousel.mouseenter(function() { 443 swiperInstance.autoplay.stop(); 444 }); 445 $carousel.mouseleave(function() { 446 swiperInstance.autoplay.start(); 447 }); 448 } 449 }; 450 451 init(); 452 453}; 454 455},{}],9:[function(require,module,exports){ 456module.exports = function( $ ) { 457 458 var $lottiePlayer = $( this ).find( '.lottie-animation' ); 459 var offset = $lottiePlayer.data('offset') / 100; 460 var container = null; 461 462 if ($lottiePlayer.data('container') == 'body'){ 463 container = 'body'; 464 } 465 466 if (elementorFrontendConfig.isEditMode) { 467 if($lottiePlayer.data('play') == 'scroll'){ 468 window.frames[0].frameElement.contentWindow.lottieInteractivyBackofficeRun(offset, $lottiePlayer[0], container); 469 } 470 } else{ 471 if($lottiePlayer.data('play') == 'scroll'){ 472 document.addEventListener("lottieLoaded", function(e) { 473 474 LottieInteractivity.create({ 475 mode:'scroll', 476 player: $lottiePlayer[0], 477 container: container, 478 actions: [ 479 { 480 visibility:[offset,1], 481 type: 'seek', 482 frames: [0, '100%'] 483 } 484 ] 485 }); 486 487 }); 488 } 489 } 490}; 491 492 493 494 495},{}],10:[function(require,module,exports){ 496module.exports = function( $ ) { 497 var $carousel = $( this ).find( '.elementor-blog-carousel' ); 498 if ( ! $carousel.length ) { 499 return; 500 } 501 502 var savedOptions = $carousel.data('slider_options'), 503 swiperOptions = { 504 touchEventsTarget: 'container', 505 watchOverflow: true, 506 watchSlidesProgress: true, 507 watchSlidesVisibility: true, 508 lazy : { 509 loadPrevNext: true, 510 checkInView: true, 511 }, 512 slidesPerView: savedOptions.slidesToShowMobile, 513 slidesPerGroup: savedOptions.slidesToShowMobile, 514 breakpoints: { 515 768: { 516 slidesPerView: savedOptions.slidesToShowTablet, 517 slidesPerGroup: savedOptions.slidesToShowTablet, 518 }, 519 992: { 520 slidesPerView: savedOptions.slidesToShow, 521 slidesPerGroup: savedOptions.slidesToShow, 522 } 523 } 524 }; 525 526 if(savedOptions.autoplay){ 527 swiperOptions.autoplay = { 528 delay: savedOptions.autoplaySpeed, 529 disableOnInteraction: savedOptions.disableOnInteraction, 530 }; 531 } 532 if(savedOptions.dots){ 533 swiperOptions.pagination = { 534 el: '.swiper-pagination', 535 clickable: true, 536 }; 537 } 538 if(savedOptions.arrows){ 539 swiperOptions.navigation = { 540 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 541 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 542 }; 543 } 544 545 var swiperInstance = new Swiper($carousel[0], swiperOptions); 546 547 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 548 $carousel.mouseenter(function() { 549 swiperInstance.autoplay.stop(); 550 }); 551 $carousel.mouseleave(function() { 552 swiperInstance.autoplay.start(); 553 }); 554 } 555}; 556 557},{}],11:[function(require,module,exports){ 558module.exports = function ($) { 559 var $carousel = $(this).find('.elementor-brands-carousel'); 560 if (!$carousel.length) { 561 return; 562 } 563 564 var savedOptions = $carousel.data('slider_options'), 565 swiperOptions = { 566 touchEventsTarget: 'container', 567 watchOverflow: true, 568 watchSlidesProgress: true, 569 watchSlidesVisibility: true, 570 lazy : { 571 loadPrevNext: true, 572 checkInView: true, 573 }, 574 slidesPerView: savedOptions.slidesToShowMobile, 575 slidesPerGroup: savedOptions.slidesToShowMobile, 576 slidesPerColumn: savedOptions.itemsPerColumn, 577 578 breakpoints: { 579 768: { 580 slidesPerView: savedOptions.slidesToShowTablet, 581 slidesPerGroup: savedOptions.slidesToShowTablet, 582 slidesPerColumn: savedOptions.itemsPerColumn, 583 }, 584 992: { 585 slidesPerView: savedOptions.slidesToShow, 586 slidesPerGroup: savedOptions.slidesToShow, 587 slidesPerColumn: savedOptions.itemsPerColumn, 588 } 589 } 590 }; 591 592 if(savedOptions.autoplay){ 593 swiperOptions.autoplay = { 594 delay: 4500 595 }; 596 } 597 if(savedOptions.itemsPerColumn > 1){ 598 swiperOptions.slidesPerColumnFill = 'row'; 599 } 600 if(savedOptions.dots){ 601 swiperOptions.pagination = { 602 el: '.swiper-pagination', 603 clickable: true, 604 }; 605 } 606 if(savedOptions.arrows){ 607 swiperOptions.navigation = { 608 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 609 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 610 }; 611 } 612 613 var swiperInstance = new Swiper($carousel[0], swiperOptions); 614 615 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 616 $carousel.mouseenter(function() { 617 swiperInstance.autoplay.stop(); 618 }); 619 $carousel.mouseleave(function() { 620 swiperInstance.autoplay.start(); 621 }); 622 } 623}; 624 625},{}],12:[function(require,module,exports){ 626module.exports = function ($) { 627 var $this = $(this); 628 var $contactFormWrapper = $this.find('.elementor-contactform-wrapper'); 629 630 if (!$contactFormWrapper.length) { 631 return; 632 } 633 634 $.ajax({ 635 url: elementorFrontendConfig.ajax_csfr_token_url, 636 processData: false, 637 contentType: false, 638 type: 'POST', 639 success: function(resp){ 640 $contactFormWrapper.find('.js-csfr-token').replaceWith($(resp.preview)); 641 } 642 }); 643 644 $contactFormWrapper.on("submit", ".js-elementor-contact-form", function (e) { 645 e.preventDefault(); 646 var formData = new FormData($(this)[0]); 647 $.ajax({ 648 url: $(this).attr('action'), 649 data: formData, 650 processData: false, 651 contentType: false, 652 type: 'POST', 653 success: function(resp){ 654 $contactFormWrapper.find('.js-elementor-contact-norifcation-wrapper').replaceWith($(resp.preview).find('.js-elementor-contact-norifcation-wrapper')); 655 } 656 }); 657 }); 658}; 659 660},{}],13:[function(require,module,exports){ 661module.exports = function ($) { 662 var $carousel = $(this).find('.elementor-products-carousel'); 663 if (elementorFrontendConfig.isEditMode) { 664 $(this).find('img[data-src]').each(function() { 665 $(this).attr('src', $(this).data('src')); 666 }); 667 } 668 if (!$carousel.length) { 669 return; 670 } 671 672 var savedOptions = $carousel.data('slider_options'), 673 swiperOptions = { 674 touchEventsTarget: 'container', 675 watchOverflow: true, 676 watchSlidesProgress: true, 677 watchSlidesVisibility: true, 678 lazy : { 679 checkInView: true, 680 loadedClass: 'loaded' 681 }, 682 slidesPerView: savedOptions.slidesToShowMobile, 683 slidesPerGroup: savedOptions.slidesToShowMobile, 684 slidesPerColumn: savedOptions.itemsPerColumn, 685 breakpoints: { 686 768: { 687 slidesPerView: savedOptions.slidesToShowTablet, 688 slidesPerGroup: savedOptions.slidesToShowTablet, 689 slidesPerColumn: savedOptions.itemsPerColumn, 690 }, 691 992: { 692 slidesPerView: savedOptions.slidesToShow, 693 slidesPerGroup: savedOptions.slidesToShow, 694 slidesPerColumn: savedOptions.itemsPer
694Column, 695 } 696 } 697 }; 698 699 if(savedOptions.autoplay){ 700 swiperOptions.autoplay = { 701 delay: 4500, 702 disableOnInteraction: true, 703 }; 704 } 705 if(savedOptions.itemsPerColumn > 1){ 706 swiperOptions.slidesPerColumnFill = 'row'; 707 } 708 if(savedOptions.dots){ 709 swiperOptions.pagination = { 710 el: '.swiper-pagination', 711 clickable: true, 712 }; 713 } 714 if(savedOptions.arrows){ 715 swiperOptions.navigation = { 716 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 717 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 718 }; 719 } 720 721 var swiperInstance = new Swiper($carousel[0], swiperOptions); 722 723 if(savedOptions.autoplay){ 724 $carousel.mouseenter(function() { 725 swiperInstance.autoplay.stop(); 726 }); 727 $carousel.mouseleave(function() { 728 swiperInstance.autoplay.start(); 729 }); 730 } 731 732}; 733 734},{}],14:[function(require,module,exports){ 735module.exports = function ($) { 736 var $carousels = $(this).find('.elementor-products-carousel'); 737 if (elementorFrontendConfig.isEditMode) { 738 $(this).find('img[data-src]').each(function() { 739 $(this).attr('src', $(this).data('src')); 740 }); 741 } 742 if (!$carousels.length) { 743 return; 744 } 745 746 747 748 $carousels.each(function() { 749 let $carousel = $(this); 750 751 var savedOptions = $carousel.data('slider_options'), 752 swiperOptions = { 753 touchEventsTarget: 'container', 754 watchOverflow: true, 755 watchSlidesProgress: true, 756 watchSlidesVisibility: true, 757 lazy : { 758 checkInView: true, 759 loadedClass: 'loaded' 760 }, 761 slidesPerView: savedOptions.slidesToShowMobile, 762 slidesPerGroup: savedOptions.slidesToShowMobile, 763 slidesPerColumn: savedOptions.itemsPerColumn, 764 breakpoints: { 765 768: { 766 slidesPerView: savedOptions.slidesToShowTablet, 767 slidesPerGroup: savedOptions.slidesToShowTablet, 768 slidesPerColumn: savedOptions.itemsPerColumn, 769 }, 770 992: { 771 slidesPerView: savedOptions.slidesToShow, 772 slidesPerGroup: savedOptions.slidesToShow, 773 slidesPerColumn: savedOptions.itemsPerColumn, 774 } 775 } 776 }; 777 778 if(savedOptions.autoplay){ 779 swiperOptions.autoplay = { 780 delay: 4500, 781 disableOnInteraction: true, 782 }; 783 } 784 if(savedOptions.itemsPerColumn > 1){ 785 swiperOptions.slidesPerColumnFill = 'row'; 786 } 787 if(savedOptions.dots){ 788 swiperOptions.pagination = { 789 el: '.swiper-pagination', 790 clickable: true, 791 }; 792 } 793 if(savedOptions.arrows){ 794 swiperOptions.navigation = { 795 nextEl: $carousel.parent().find('.elementor-swiper-button-next').first()[0], 796 prevEl: $carousel.parent().find('.elementor-swiper-button-prev').first()[0], 797 }; 798 } 799 800 var swiperInstance = new Swiper($carousel[0], swiperOptions); 801 802 if(savedOptions.autoplay){ 803 $carousel.mouseenter(function() { 804 swiperInstance.autoplay.stop(); 805 }); 806 $carousel.mouseleave(function() { 807 swiperInstance.autoplay.start(); 808 }); 809 } 810 811 }); 812 813 814 815 816 817 818}; 819 820},{}],15:[function(require,module,exports){ 821module.exports = function( $ ) { 822 var $searchWidget = $( this ).find( '.search-widget-autocomplete' ); 823 if ( ! $searchWidget.length ) { 824 return; 825 } 826 827 if (elementorFrontendConfig.isEditMode) { 828 return; 829 } 830 831 let $searchBox = $searchWidget.find('input[type=text]'); 832 let searchURL = $searchWidget.attr('data-search-controller-url'); 833 var initAutocomplete = prestashop.blocksearch.initAutocomplete || function ($searchWidget, $searchBox, searchURL) {}; 834 835 initAutocomplete($searchWidget, $searchBox, searchURL); 836 837}; 838 839},{}],16:[function(require,module,exports){ 840module.exports = function( $ ) { 841 var $progressbar = $( this ).find( '.elementor-progress-bar' ); 842 843 $progressbar.waypoint( function() { 844 $progressbar.css( 'width', $progressbar.data( 'max' ) + '%' ) 845 }, { offset: '90%' } ); 846}; 847 848},{}],17:[function(require,module,exports){
849var BackgroundVideo = function ($, $backgroundVideoContainer) { 850 var player, 851 elements = {}, 852 isYTVideo = false; 853 854 var calcVideosSize = function () { 855 var containerWidth = $backgroundVideoContainer.outerWidth(), 856 containerHeight = $backgroundVideoContainer.outerHeight(), 857 aspectRatioSetting = '16:9', //TEMP 858 aspectRatioArray = aspectRatioSetting.split(':'), 859 aspectRatio = aspectRatioArray[0] / aspectRatioArray[1], 860 ratioWidth = containerWidth / aspectRatio, 861 ratioHeight = containerHeight * aspectRatio, 862 isWidthFixed = containerWidth / containerHeight > aspectRatio; 863 864 return { 865 width: isWidthFixed ? containerWidth : ratioHeight, 866 height: isWidthFixed ? ratioWidth : containerHeight 867 }; 868 }; 869 870 var changeVideoSize = function () { 871 var $video = isYTVideo ? $(player.getIframe()) : elements.$backgroundVideo, 872 size = calcVideosSize(); 873 874 $video.width(size.width).height(size.height); 875 }; 876 877 var prepareYTVideo = function (YT, videoID) { 878 player = new YT.Player(elements.$backgroundVideo[0], { 879 videoId: videoID, 880 events: { 881 onReady: function () { 882 player.mute(); 883 884 changeVideoSize(); 885 886 player.playVideo(); 887 }, 888 onStateChange: function (event) { 889 if (event.data === YT.PlayerState.ENDED) { 890 player.seekTo(0); 891 } 892 } 893 }, 894 playerVars: { 895 controls: 0, 896 autoplay: 1, 897 mute: 1, 898 showinfo: 0 899 } 900 }); 901 902 $(elementorFrontend.getScopeWindow()).on('resize', changeVideoSize); 903 }; 904 905 var initElements = function () { 906 elements.$backgroundVideo = $backgroundVideoContainer.children('.elementor-background-video'); 907 }; 908 909 var run = function () { 910 var videoID = elements.$backgroundVideo.data('video-id'); 911 912 if (videoID) { 913 isYTVideo = true; 914 915 elementorFrontend.utils.onYoutubeApiReady(function (YT) { 916 setTimeout(function () { 917 prepareYTVideo(YT, videoID); 918 }, 1); 919 }); 920 } else { 921 elements.$backgroundVideo.one('canplay', changeVideoSize); 922 } 923 }; 924 925 var init = function () { 926 initElements(); 927 run(); 928 }; 929 930 init(); 931}; 932 933 934 935 936 937var SliderSection = function ($, $sliderSectionContainer) { 938 939 var run = function () { 940 941 942 var savedOptions = $sliderSectionContainer.data('slider_options'), 943 swiperOptions = { 944 touchEventsTarget: 'container', 945 speed: 500, 946 slidesPerView: 1, 947 slidesPerGroup: 1, 948 }; 949 950 if (savedOptions.autoplay) { 951 swiperOptions.autoplay = { 952 delay: savedOptions.autoplaySpeed, 953 disableOnInteraction: savedOptions.disableOnInteraction, 954 }; 955 } 956 957 if (savedOptions.fade) { 958 swiperOptions.effect = 'fade'; 959 swiperOptions.fadeEffect = { 960 crossFade: true 961 }; 962 } 963 if (savedOptions.dots) { 964 swiperOptions.pagination = { 965 el: '.swiper-pagination', 966 clickable: true, 967 }; 968 } 969 if (savedOptions.arrows) { 970 swiperOptions.navigation = { 971 nextEl: '.swiper-button-next', 972 prevEl: '.swiper-button-prev', 973 }; 974 } 975 976 var swiperInstance = new Swiper($sliderSectionContainer[0], swiperOptions); 977 978 if (savedOptions.autoplay && savedOptions.disableOnInteraction) { 979 $sliderSectionContainer.mouseenter(function () { 980 swiperInstance.autoplay.stop(); 981 }); 982 $sliderSectionContainer.mouseleave(function () { 983 swiperInstance.autoplay.start(); 984 }); 985 } 986 987 }; 988 989 var init = function () { 990 run(); 991 }; 992 993 init(); 994}; 995 996 997module.exports = function ($) { 998 //new StretchedSection( $, this ); 999 1000 var $backgroundVideoContainer = this.find('.elementor-background-video-container'); 1001 1002 if ($backgroundVideoContainer) { 1003 new BackgroundVideo($, $backgroundVideoContainer); 1004 } 1005 1006 1007 var $sliderSectionContainer = this.find('.elementor-swiper-section'); 1008 1009 if ($sliderSectionContainer.length) { 1010 new SliderSection($, $sliderSectionContainer); 1011 } 1012}; 1013 1014},{}],18:[function(require,module,exports){ 1015module.exports = function( $ ) { 1016 var $this = $( this ), 1017 defaultActiveTab = $this.find( '.elementor-tabs' ).data( 'active-tab' ), 1018 $tabsTitles = $this.find( '.elementor-tab-title' ), 1019 $tabs = $this.find( '.elementor-tab-content' ), 1020 $active, 1021 $content; 1022 1023 if ( ! defaultActiveTab ) { 1024 defaultActiveTab = 1; 1025 } 1026 1027 var activateTab = function( tabIndex ) { 1028 if ( $active ) { 1029 $active.removeClass( 'active' ); 1030 1031 $content.removeClass( 'active' ); 1032 } 1033 1034 $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' ); 1035 $active.addClass( 'active' ); 1036 $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' ); 1037 $content.addClass( 'active' ); 1038 }; 1039 1040 activateTab( defaultActiveTab ); 1041 1042 $tabsTitles.on( 'click', function() { 1043 activateTab( this.dataset.tab ); 1044 } ); 1045}; 1046 1047},{}],19:[function(require,module,exports){ 1048module.exports = function( $ ) { 1049 var $carousel = $( this ).find( '.elementor-testimonial-carousel' ); 1050 if ( ! $carousel.length ) { 1051 return; 1052 } 1053 var savedOptions = $carousel.data( 'slider_options' ), 1054 tabletSlides = 1 === savedOptions.slidesToShow ? 1 : 2, 1055 swiperOptions = { 1056 touchEventsTarget: 'container', 1057 loop: savedOptions.loop, 1058 speed: savedOptions.speed, 1059 watchOverflow: true, 1060 watchSlidesProgress: true, 1061 watchSlidesVisibility: true, 1062 slidesPerView: 1, 1063 slidesPerGroup: 1, 1064 breakpoints: { 1065 768: { 1066 slidesPerView: tabletSlides, 1067 slidesPerGroup: tabletSlides, 1068 }, 1069 992: { 1070 slidesPerView: savedOptions.slidesToShow, 1071 slidesPerGroup: savedOptions.slidesToShow, 1072 } 1073 } 1074 }; 1075 1076 if(savedOptions.autoplay){ 1077 swiperOptions.autoplay = { 1078 delay: savedOptions.autoplaySpeed, 1079 disableOnInteraction: savedOptions.disableOnInteraction, 1080 }; 1081 } 1082 if(savedOptions.fade){ 1083 swiperOptions.effect = 'fade'; 1084 swiperOptions.fadeEffect = { 1085 crossFade: true 1086 }; 1087 } 1088 if(savedOptions.dots){ 1089 swiperOptions.pagination = { 1090 el: '.swiper-pagination', 1091 clickable: true, 1092 }; 1093 } 1094 if(savedOptions.arrows){ 1095 swiperOptions.navigation = { 1096 nextEl: $( this ).find('.elementor-swiper-button-next').first()[0], 1097 prevEl: $( this ).find('.elementor-swiper-button-prev').first()[0], 1098 }; 1099 } 1100 1101 var swiperInstance = new Swiper($carousel[0], swiperOptions); 1102 1103 if(savedOptions.autoplay && savedOptions.disableOnInteraction){ 1104 $carousel.mouseenter(function() { 1105 swiperInstance.autoplay.stop(); 1106 }); 1107 $carousel.mouseleave(function() { 1108 swiperInstance.autoplay.start(); 1109 }); 1110 } 1111}; 1112 1113},{}],20:[function(require,module,exports){ 1114module.exports = function( $ ) { 1115 var $toggleTitles = $( this ).find( '.elementor-toggle-title' ); 1116 1117 $toggleTitles.on( 'click', function() { 1118 var $active = $( this ), 1119 $content = $active.next(); 1120 1121 if ( $active.hasClass( 'active' ) ) { 1122 $active.removeClass( 'active' ); 1123 $content.slideUp(); 1124 } else { 1125 $active.addClass( 'active' ); 1126 $content.slideDown(); 1127 } 1128 } ); 1129}; 1130 1131},{}],21:[function(require,module,exports){ 1132module.exports = function( $ ) { 1133 var $this = $( this ), 1134 $imageOverlay = $this.find( '.elementor-custom-embed-image-overlay' ), 1135 $videoModalBtn = $this.find( '.elementor-video-open-modal' ).first(), 1136 $videoModal = $this.find( '.elementor-video-modal' ).first(), 1137 $video = $this.find( '.elementor-video' ).first(), 1138 $videoFrame = $this.find( 'iframe' ); 1139 1140 1141 1142 if ( $imageOverlay.length ) { 1143 1144 $imageOverlay.on( 'click', function() { 1145 $imageOverlay.remove(); 1146 1147 if ( $video.length ) { 1148 $video[ 0 ].play(); 1149 1150 return; 1151 } 1152 1153 1154 var newSourceUrl = $videoFrame[0].src; 1155 // Remove old autoplay if exists
1156 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 1157 $videoFrame[0].src = newSourceUrl; 1158 } ); 1159 } 1160 1161 if ( ! $videoModalBtn.length ) { 1162 return; 1163 } 1164 1165 1166 $videoModalBtn.on( 'click', function() { 1167 1168 if ( $video.length ) { 1169 $video[ 0 ].play(); 1170 1171 return; 1172 } 1173 1174 1175 var newSourceUrl = $videoFrame[0].src; 1176 // Remove old autoplay if exists 1177 newSourceUrl = newSourceUrl.replace( 'autoplay=0', 'autoplay=1' ); 1178 $videoFrame[0].src = newSourceUrl; 1179 } ); 1180 1181 1182 $videoModal.on('hide.bs.modal', function () { 1183 1184 if ( $video.length ) { 1185 $video[ 0 ].pause(); 1186 1187 return; 1188 } 1189 1190 var newSourceUrl = $videoFrame[0].src; 1191 // Remove old autoplay if exists 1192 newSourceUrl = newSourceUrl.replace( 'autoplay=1', 'autoplay=0' ); 1193 $videoFrame[0].src = newSourceUrl; 1194 }); 1195 1196 1197}; 1198 1199},{}],22:[function(require,module,exports){ 1200var Utils; 1201 1202Utils = function( $ ) { 1203 var self = this; 1204 var isYTInserted = false; 1205 1206 this.onYoutubeApiReady = function( callback ) { 1207 1208 if ( ! isYTInserted ) { 1209 insertYTApi(); 1210 } 1211 1212 if ( window.YT && YT.loaded ) { 1213 callback( YT ); 1214 } else { 1215 // If not ready check again by timeout.. 1216 setTimeout( function() { 1217 self.onYoutubeApiReady( callback ); 1218 }, 350 ); 1219 } 1220 }; 1221 1222 1223 1224 var insertYTApi = function() { 1225 isYTInserted = true; 1226 1227 $( 'script:first' ).before( $( '<script>', { src: 'https://www.youtube.com/iframe_api' } ) ); 1228 }; 1229}; 1230 1231module.exports = Utils; 1232 1233},{}]},{},[2]) 1234//# 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.