File "carousel.298f1fc9c115422aad0e.bundle.js"
Full Path: /home/rrterraplen/public_html/wp-includes/wp-content/plugins/elementor-pro/assets/js/carousel.298f1fc9c115422aad0e.bundle.js
File size: 9.93 KB
MIME-type: text/plain
Charset: utf-8
/*! elementor-pro - v3.26.0 - 17-12-2024 */
"use strict";
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["carousel"],{
/***/ "../modules/carousel/assets/js/frontend/handlers/base.js":
/*!***************************************************************!*\
!*** ../modules/carousel/assets/js/frontend/handlers/base.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class CarouselBase extends elementorModules.frontend.handlers.SwiperBase {
getDefaultSettings() {
return {
selectors: {
swiperContainer: '.elementor-main-swiper',
swiperSlide: '.swiper-slide'
},
slidesPerView: {
widescreen: 3,
desktop: 3,
laptop: 3,
tablet_extra: 3,
tablet: 2,
mobile_extra: 2,
mobile: 1
}
};
}
getDefaultElements() {
const selectors = this.getSettings('selectors'),
elements = {
$swiperContainer: this.$element.find(selectors.swiperContainer)
};
elements.$slides = elements.$swiperContainer.find(selectors.swiperSlide);
return elements;
}
getEffect() {
return this.getElementSettings('effect');
}
getDeviceSlidesPerView(device) {
const slidesPerViewKey = 'slides_per_view' + ('desktop' === device ? '' : '_' + device);
return Math.min(this.getSlidesCount(), +this.getElementSettings(slidesPerViewKey) || this.getSettings('slidesPerView')[device]);
}
getSlidesPerView(device) {
if ('slide' === this.getEffect()) {
return this.getDeviceSlidesPerView(device);
}
return 1;
}
getDeviceSlidesToScroll(device) {
const slidesToScrollKey = 'slides_to_scroll' + ('desktop' === device ? '' : '_' + device);
return Math.min(this.getSlidesCount(), +this.getElementSettings(slidesToScrollKey) || 1);
}
getSlidesToScroll(device) {
if ('slide' === this.getEffect()) {
return this.getDeviceSlidesToScroll(device);
}
return 1;
}
getSpaceBetween(device) {
let propertyName = 'space_between';
if (device && 'desktop' !== device) {
propertyName += '_' + device;
}
return this.getElementSettings(propertyName).size || 0;
}
getSwiperOptions() {
const elementSettings = this.getElementSettings();
const swiperOptions = {
grabCursor: true,
initialSlide: this.getInitialSlide(),
slidesPerView: this.getSlidesPerView('desktop'),
slidesPerGroup: this.getSlidesToScroll('desktop'),
spaceBetween: this.getSpaceBetween(),
loop: 'yes' === elementSettings.loop,
speed: elementSettings.speed,
effect: this.getEffect(),
preventClicksPropagation: false,
slideToClickedSlide: true,
handleElementorBreakpoints: true
};
if ('yes' === elementSettings.lazyload) {
swiperOptions.lazy = {
loadPrevNext: true,
loadPrevNextAmount: 1
};
}
if (elementSettings.show_arrows) {
swiperOptions.navigation = {
prevEl: '.elementor-swiper-button-prev',
nextEl: '.elementor-swiper-button-next'
};
}
if (elementSettings.pagination) {
swiperOptions.pagination = {
el: '.swiper-pagination',
type: elementSettings.pagination,
clickable: true
};
}
if ('cube' !== this.getEffect()) {
const breakpointsSettings = {},
breakpoints = elementorFrontend.config.responsive.activeBreakpoints;
Object.keys(breakpoints).forEach(breakpointName => {
breakpointsSettings[breakpoints[breakpointName].value] = {
slidesPerView: this.getSlidesPerView(breakpointName),
slidesPerGroup: this.getSlidesToScroll(breakpointName),
spaceBetween: this.getSpaceBetween(breakpointName)
};
});
swiperOptions.breakpoints = breakpointsSettings;
}
if (!this.isEdit && elementSettings.autoplay) {
swiperOptions.autoplay = {
delay: elementSettings.autoplay_speed,
disableOnInteraction: !!elementSettings.pause_on_interaction
};
}
return swiperOptions;
}
getDeviceBreakpointValue(device) {
if (!this.breakpointsDictionary) {
const breakpoints = elementorFrontend.config.responsive.activeBreakpoints;
this.breakpointsDictionary = {};
Object.keys(breakpoints).forEach(breakpointName => {
this.breakpointsDictionary[breakpointName] = breakpoints[breakpointName].value;
});
}
return this.breakpointsDictionary[device];
}
updateSpaceBetween(propertyName) {
const deviceMatch = propertyName.match('space_between_(.*)'),
device = deviceMatch ? deviceMatch[1] : 'desktop',
newSpaceBetween = this.getSpaceBetween(device);
if ('desktop' !== device) {
this.swiper.params.breakpoints[this.getDeviceBreakpointValue(device)].spaceBetween = newSpaceBetween;
} else {
this.swiper.params.spaceBetween = newSpaceBetween;
}
this.swiper.params.spaceBetween = newSpaceBetween;
this.swiper.update();
}
async onInit() {
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
if (1 >= this.getSlidesCount()) {
return;
}
const Swiper = elementorFrontend.utils.swiper;
this.swiper = await new Swiper(this.elements.$swiperContainer, this.getSwiperOptions());
const elementSettings = this.getElementSettings();
if ('yes' === elementSettings.pause_on_hover) {
this.togglePauseOnHover(true);
}
// Expose the swiper instance in the frontend
this.elements.$swiperContainer.data('swiper', this.swiper);
}
getChangeableProperties() {
return {
autoplay: 'autoplay',
pause_on_hover: 'pauseOnHover',
pause_on_interaction: 'disableOnInteraction',
autoplay_speed: 'delay',
speed: 'speed',
width: 'width'
};
}
updateSwiperOption(propertyName) {
if (0 === propertyName.indexOf('width')) {
this.swiper.update();
return;
}
const elementSettings = this.getElementSettings(),
newSettingValue = elementSettings[propertyName],
changeableProperties = this.getChangeableProperties();
let 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':
if (newSettingValue) {
valueToUpdate = {
delay: elementSettings.autoplay_speed,
disableOnInteraction: 'yes' === elementSettings.pause_on_interaction
};
} else {
valueToUpdate = false;
}
break;
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();
}
onElementChange(propertyName) {
if (1 >= this.getSlidesCount()) {
return;
}
if (0 === propertyName.indexOf('width')) {
this.swiper.update();
// If there is another thumbs slider, like in the Media Carousel widget.
if (this.thumbsSwiper) {
this.thumbsSwiper.update();
}
return;
}
// This is for handling the responsive control 'space_between'.
// Responsive controls require a separate way of handling, and some currently don't work
// (Swiper bug, currently exists in v5.3.6) TODO: update Swiper when bug is fixed and handle responsive controls
if (0 === propertyName.indexOf('space_between')) {
this.updateSpaceBetween(propertyName);
return;
}
const changeableProperties = this.getChangeableProperties();
if (Object.prototype.hasOwnProperty.call(changeableProperties, propertyName)) {
this.updateSwiperOption(propertyName);
}
}
onEditSettingsChange(propertyName) {
if (1 >= this.getSlidesCount()) {
return;
}
if ('activeItemIndex' === propertyName) {
this.swiper.slideToLoop(this.getEditSettings('activeItemIndex') - 1);
}
}
}
exports["default"] = CarouselBase;
/***/ }),
/***/ "../modules/carousel/assets/js/frontend/handlers/testimonial-carousel.js":
/*!*******************************************************************************!*\
!*** ../modules/carousel/assets/js/frontend/handlers/testimonial-carousel.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/carousel/assets/js/frontend/handlers/base.js"));
class TestimonialCarousel extends _base.default {
getDefaultSettings() {
const defaultSettings = super.getDefaultSettings();
defaultSettings.slidesPerView = {
desktop: 1
};
Object.keys(elementorFrontend.config.responsive.activeBreakpoints).forEach(breakpointName => {
defaultSettings.slidesPerView[breakpointName] = 1;
});
if (defaultSettings.loop) {
defaultSettings.loopedSlides = this.getSlidesCount();
}
return defaultSettings;
}
getEffect() {
return 'slide';
}
}
exports["default"] = TestimonialCarousel;
/***/ })
}]);
//# sourceMappingURL=carousel.298f1fc9c115422aad0e.bundle.js.map