/*! elementor-pro - v3.3.0 - 06-06-2021 */
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["slides"],{
/***/ "../modules/slides/assets/js/frontend/handlers/slides.js":
/*!***************************************************************!*\
!*** ../modules/slides/assets/js/frontend/handlers/slides.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
__webpack_require__(/*! regenerator-runtime/runtime */ "../node_modules/regenerator-runtime/runtime.js");
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/asyncToGenerator */ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js"));
__webpack_require__(/*! core-js/modules/es6.array.find */ "../node_modules/core-js/modules/es6.array.find.js");
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js"));
var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js"));
var SlidesHandler = /*#__PURE__*/function (_elementorModules$fro) {
(0, _inherits2.default)(SlidesHandler, _elementorModules$fro);
var _super = (0, _createSuper2.default)(SlidesHandler);
function SlidesHandler() {
(0, _classCallCheck2.default)(this, SlidesHandler);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(SlidesHandler, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
selectors: {
slider: '.elementor-slides-wrapper',
slide: '.swiper-slide',
slideInnerContents: '.swiper-slide-contents',
activeSlide: '.swiper-slide-active',
activeDuplicate: '.swiper-slide-duplicate-active'
},
classes: {
animated: 'animated',
kenBurnsActive: 'elementor-ken-burns--active',
slideBackground: 'swiper-slide-bg'
},
attributes: {
dataSliderOptions: 'slider_options',
dataAnimation: 'animation'
}
};
}
}, {
key: "getDefaultElements",
value: function getDefaultElements() {
var selectors = this.getSettings('selectors'),
elements = {
$swiperContainer: this.$element.find(selectors.slider)
};
elements.$slides = elements.$swiperContainer.find(selectors.slide);
return elements;
}
}, {
key: "getSwiperOptions",
value: function getSwiperOptions() {
var _this = this;
var elementSettings = this.getElementSettings(),
swiperOptions = {
autoplay: this.getAutoplayConfig(),
grabCursor: true,
initialSlide: this.getInitialSlide(),
slidesPerView: 1,
slidesPerGroup: 1,
loop: 'yes' === elementSettings.infinite,
speed: elementSettings.transition_speed,
effect: elementSettings.transition,
observeParents: true,
observer: true,
handleElementorBreakpoints: true,
on: {
slideChange: function slideChange() {
_this.handleKenBurns();
}
}
};
var showArrows = 'arrows' === elementSettings.navigation || 'both' === elementSettings.navigation,
pagination = 'dots' === elementSettings.navigation || 'both' === elementSettings.navigation;
if (showArrows) {
swiperOptions.navigation = {
prevEl: '.elementor-swiper-button-prev',
nextEl: '.elementor-swiper-button-next'
};
}
if (pagination) {
swiperOptions.pagination = {
el: '.swiper-pagination',
type: 'bullets',
clickable: true
};
}
if (true === swiperOptions.loop) {
swiperOptions.loopedSlides = this.getSlidesCount();
}
if ('fade' === swiperOptions.effect) {
swiperOptions.fadeEffect = {
crossFade: true
};
}
return swiperOptions;
}
}, {
key: "getAutoplayConfig",
value: function getAutoplayConfig() {
var elementSettings = this.getElementSettings();
if ('yes' !== elementSettings.autoplay) {
return false;
}
return {
stopOnLastSlide: true,
// Has no effect in infinite mode by default.
delay: elementSettings.autoplay_speed,
disableOnInteraction: 'yes' === elementSettings.pause_on_interaction
};
}
}, {
key: "initSingleSlideAnimations",
value: function initSingleSlideAnimations() {
var settings = this.getSettings(),
animation = this.elements.$swiperContainer.data(settings.attributes.dataAnimation);
this.elements.$swiperContainer.find('.' + settings.classes.slideBackground).addClass(settings.classes.kenBurnsActive); // If there is an animation, get the container of the slide's inner contents and add the animation classes to it
if (animation) {
this.elements.$swiperContainer.find(settings.selectors.slideInnerContents).addClass(settings.classes.animated + ' ' + animation);
}
}
}, {
key: "initSlider",
value: function () {
var _initSlider = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var $slider, settings, elementSettings, animation, Swiper;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
$slider = this.elements.$swiperContainer, settings = this.getSettings(), elementSettings = this.getElementSettings(), animation = $slider.data(settings.attributes.dataAnimation);
if ($slider.length) {
_context.next = 3;
break;
}
return _context.abrupt("return");
case 3:
if (!(1 >= this.getSlidesCount())) {
_context.next = 5;
break;
}
return _context.abrupt("return");
case 5:
Swiper = elementorFrontend.utils.swiper;
_context.next = 8;
return new Swiper($slider, this.getSwiperOptions());
case 8:
this.swiper = _context.sent;
// Expose the swiper instance in the frontend
$slider.data('swiper', this.swiper); // The Ken Burns effect will only apply on the specific slides that toggled the effect ON,
// since it depends on an additional class besides 'elementor-ken-burns--active'
this.handleKenBurns();
if (elementSettings.pause_on_hover) {
this.togglePauseOnHover(true);
}
if (animation) {
_context.next = 14;
break;
}
return _context.abrupt("return");
case 14:
this.swiper.on('slideChangeTransitionStart', function () {
var $sliderContent = $slider.find(settings.selectors.slideInnerContents);
$sliderContent.removeClass(settings.classes.animated + ' ' + animation).hide();
});
this.swiper.on('slideChangeTransitionEnd', function () {
var $currentSlide = $slider.find(settings.selectors.slideInnerContents);
$currentSlide.show().addClass(settings.classes.animated + ' ' + animation);
});
case 16:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function initSlider() {
return _initSlider.apply(this, arguments);
}
return initSlider;
}()
}, {
key: "onInit",
value: function onInit() {
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
if (2 > this.getSlidesCount()) {
this.initSingleSlideAnimations();
return;
}
this.initSlider();
}
}, {
key: "getChangeableProperties",
value: function getChangeableProperties() {
return {
pause_on_hover: 'pauseOnHover',
pause_on_interaction: 'disableOnInteraction',
autoplay_speed: 'delay',
transition_speed: 'speed'
};
}
}, {
key: "updateSwiperOption",
value: function updateSwiperOption(propertyName) {
if (0 === propertyName.indexOf('width')) {
this.swiper.update();
return;
}
var elementSettings = this.getElementSettings(),
newSettingValue = elementSettings[propertyName],
changeableProperties = this.getChangeableProperties();
var propertyToUpdate = changeableProperties[propertyName],
valueToUpdate = newSettingValue; // Handle special cases where the value to update is not the value that the Swiper library accepts
switch (propertyName) {
case 'autoplay_speed':
propertyToUpdate = 'autoplay';
valueToUpdate = {
delay: newSettingValue,
disableOnInteraction: 'yes' === elementSettings.pause_on_interaction
};
break;
case 'pause_on_hover':
this.togglePauseOnHover('yes' === newSettingValue);
break;
case 'pause_on_interaction':
valueToUpdate = 'yes' === newSettingValue;
break;
} // 'pause_on_hover' is implemented by the handler with event listeners, not the Swiper library
if ('pause_on_hover' !== propertyName) {
this.swiper.params[propertyToUpdate] = valueToUpdate;
}
this.swiper.update();
}
}, {
key: "onElementChange",
value: function onElementChange(propertyName) {
if (1 >= this.getSlidesCount()) {
return;
}
var changeableProperties = this.getChangeableProperties();
if (changeableProperties.hasOwnProperty(propertyName)) {
this.updateSwiperOption(propertyName);
}
}
}, {
key: "onEditSettingsChange",
value: function onEditSettingsChange(propertyName) {
if (1 >= this.getSlidesCount()) {
return;
}
if ('activeItemIndex' === propertyName) {
this.swiper.slideToLoop(this.getEditSettings('activeItemIndex') - 1);
}
}
}]);
return SlidesHandler;
}(elementorModules.frontend.handlers.SwiperBase);
exports.default = SlidesHandler;
/***/ })
}]);
//# sourceMappingURL=slides.a4197378419486376c60.bundle.js.map