PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 4.10.78
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v4.10.78
4.11.82 4.11.80 4.11.81 4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / assets / frontend / js / premium-carousel-widget.js
premium-addons-for-elementor / assets / frontend / js Last commit date
TweenMax.js 1 year ago anime.js 1 year ago flipster.js 1 year ago headroom.js 1 year ago iscroll.js 1 year ago isotope.js 1 year ago jquery-countdown.js 1 year ago jquery-mousewheel.js 1 year ago jquery-slimscroll.js 1 year ago lottie.js 1 year ago luxon.js 1 year ago markerclusterer.js 1 year ago modal.js 1 year ago motionpath.js 1 year ago pa-gsap.js 1 year ago pa-scrolldir.js 1 year ago premium-addons.js 1 year ago premium-banner.js 1 year ago premium-blog.js 1 year ago premium-button.js 1 year ago premium-carousel-widget.js 1 year ago premium-contact-form.js 1 year ago premium-countdown-timer.js 1 year ago premium-counter.js 1 year ago premium-dis-conditions.js 1 year ago premium-dual-header.js 1 year ago premium-eq-height.js 1 year ago premium-fancy-text.js 1 year ago premium-floating-effects.js 1 year ago premium-global-tooltips.js 1 year ago premium-icon-list.js 1 year ago premium-image-button.js 1 year ago premium-image-scroll.js 1 year ago premium-img-gallery.js 1 year ago premium-maps.js 1 year ago premium-media-wheel.js 1 year ago premium-mini-cart.js 1 year ago premium-mobile-menu.js 1 year ago premium-modal-box.js 1 year ago premium-nav-menu.js 1 year ago premium-notifications.js 1 year ago premium-person.js 1 year ago premium-pinterest-feed.js 1 year ago premium-post-ticker.js 1 year ago premium-progressbar.js 1 year ago premium-search-form.js 1 year ago premium-shape-divider.js 1 year ago premium-svg-drawer.js 1 year ago premium-tcloud.js 1 year ago premium-testimonials.js 1 year ago premium-textual-showcase.js 1 year ago premium-tiktok-feed.js 1 year ago premium-title.js 1 year ago premium-video-box.js 1 year ago premium-vscroll.js 1 year ago premium-weather.js 1 year ago premium-woo-categories.js 1 year ago premium-woo-cta.js 1 year ago premium-woo-products.js 1 year ago premium-world-clock.js 1 year ago premium-wrapper-link.js 1 year ago prettyPhoto.js 1 year ago scrollTrigger.js 1 year ago slick.js 1 year ago tooltipster.js 1 year ago typed.js 1 year ago universal-tilt.js 1 year ago vticker.js 1 year ago
premium-carousel-widget.js
312 lines
1 (function ($) {
2
3 var PremiumCarouselHandler = function ($scope, $) {
4
5 var $carouselElem = $scope.find(".premium-carousel-wrapper"),
6 settings = $($carouselElem).data("settings"),
7 computedStyle = getComputedStyle($scope[0]),
8 widgetID = $scope.data('id'),
9 currentSlides = 0;
10
11 //Fix conflict with Stretch Section option
12 $carouselElem.find('.elementor-section-stretched').removeClass('elementor-section-stretched');
13
14 var $progressbar = $carouselElem.find(".premium-carousel-nav-progress-fill");
15
16
17 if ($carouselElem.find(".item-wrapper").length < 1)
18 return;
19
20 function slideToShow(slick) {
21
22 var slidesToShow = slick.options.slidesToShow,
23 windowWidth = $(window).width();
24 if (windowWidth > settings.tabletBreak) {
25 slidesToShow = settings.slidesDesk;
26 }
27 if (windowWidth <= settings.tabletBreak) {
28 slidesToShow = settings.slidesTab;
29 }
30 if (windowWidth <= settings.mobileBreak) {
31 slidesToShow = settings.slidesMob;
32 }
33 return slidesToShow;
34
35 }
36
37 $carouselElem.on("init", function (event) {
38
39 event.preventDefault();
40
41 setTimeout(function () {
42 window.carouselTrigger = true;
43 $scope.trigger("paCarouselLoaded");
44 resetAnimations("init");
45 }, 500);
46
47 $(this).find("item-wrapper.slick-active").each(function () {
48 var $this = $(this);
49 $this.addClass($this.data("animation"));
50 });
51
52 $(".slick-track").addClass("translate");
53
54 });
55
56 $carouselElem.find(".premium-carousel-inner").slick({
57 vertical: settings.vertical,
58 slidesToScroll: settings.slidesToScroll,
59 slidesToShow: settings.slidesToShow,
60 responsive: [{
61 breakpoint: settings.tabletBreak,
62 settings: {
63 slidesToShow: settings.slidesTab,
64 slidesToScroll: settings.slidesTab,
65 swipe: settings.touchMove,
66 }
67 },
68 {
69 breakpoint: settings.mobileBreak,
70 settings: {
71 slidesToShow: settings.slidesMob,
72 slidesToScroll: settings.slidesMob,
73 swipe: settings.touchMove,
74 }
75 }
76 ],
77 useTransform: true,
78 fade: settings.fade,
79 infinite: settings.infinite,
80 speed: settings.speed,
81 autoplay: settings.autoplay,
82 autoplaySpeed: settings.autoplaySpeed,
83 rows: 0,
84 draggable: settings.draggable,
85 rtl: elementorFrontend.config.is_rtl,
86 adaptiveHeight: settings.adaptiveHeight,
87 pauseOnHover: settings.pauseOnHover,
88 centerMode: settings.centerMode,
89 centerPadding: computedStyle.getPropertyValue('--pa-carousel-center-padding') + 'px',
90 arrows: settings.arrows,
91 prevArrow: $carouselElem.find(".premium-carousel-nav-arrow-prev").html(),
92 nextArrow: $carouselElem.find(".premium-carousel-nav-arrow-next").html(),
93 dots: settings.dots,
94 variableWidth: settings.variableWidth,
95 cssEase: settings.cssEase,
96 customPaging: function () {
97 var customDot = $carouselElem.find(".premium-carousel-nav-dot").html();
98 return customDot;
99 },
100 carouselNavigation: settings.carouselNavigation,
101 templatesNumber: settings.templatesNumber,
102 });
103
104 function runProgress() {
105 $progressbar.animate({ 'width': "+=100%" }, settings.autoplaySpeed, runProgress);
106 }
107
108 if (settings.carouselNavigation === "progressbar") {
109 var progress = (currentSlides + 1) / settings.templatesNumber;
110 $carouselElem.find(".premium-carousel-nav-progressbar-fill").css("transform", "translate3d(0px, 0px, 0px) scaleX(" + progress + ") scaleY(1)");
111 }
112
113 if (settings.carouselNavigation === "progress") {
114 runProgress();
115 }
116
117
118 $scope.find(".premium-carousel-hidden").removeClass("premium-carousel-hidden");
119 $carouselElem.find(".premium-carousel-nav-arrow-prev").remove();
120 $carouselElem.find(".premium-carousel-nav-arrow-next").remove();
121 // $carouselElem.find(".premium-carousel-nav-dot").remove();
122
123 if (settings.variableWidth) {
124 $carouselElem.find(".elementor-container").css("flex-wrap", "nowrap");
125 }
126
127 function resetAnimations(event) {
128
129 var $slides = $carouselElem.find(".slick-slide");
130 $progressbar.stop(true).animate({ "width": 0 }, 0);
131
132 if ("init" === event)
133 $slides = $slides.not(".slick-current");
134
135 $slides.find(".animated").each(function (index, elem) {
136
137 var settings = $(elem).data("settings");
138
139 if (!settings)
140 return;
141
142 if (!settings._animation && !settings.animation)
143 return;
144
145 var animation = settings._animation || settings.animation;
146
147 $(elem).removeClass("animated " + animation).addClass("elementor-invisible");
148 });
149
150 if (settings.carouselNavigation === "progress") {
151 runProgress();
152 }
153 };
154
155 function triggerAnimation() {
156
157 $carouselElem.find(".slick-active .elementor-invisible").each(function (index, elem) {
158
159 var settings = $(elem).data("settings");
160
161 if (!settings)
162 return;
163
164 if (!settings._animation && !settings.animation)
165 return;
166
167 var delay = settings._animation_delay ? settings._animation_delay : 0,
168 animation = settings._animation || settings.animation;
169
170 setTimeout(function () {
171 $(elem).removeClass("elementor-invisible").addClass(animation +
172 ' animated');
173 }, delay);
174 });
175 }
176
177 $carouselElem.on("afterChange", function (event, slick, currentSlide) {
178
179 var slidesScrolled = slick.options.slidesToScroll,
180 slidesToShow = slideToShow(slick),
181 centerMode = slick.options.centerMode,
182 slideToAnimate = currentSlide + slidesToShow - 1;
183
184 //Trigger Aniamtions for the current slide
185 triggerAnimation();
186
187 if (slidesScrolled === 1) {
188 if (!centerMode === true) {
189 var $inViewPort = $(this).find("[data-slick-index='" + slideToAnimate +
190 "']");
191 if ("null" != settings.animation) {
192 $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
193 .addClass(settings.animation).removeClass(
194 "premium-carousel-content-hidden");
195 }
196 }
197 } else {
198 for (var i = slidesScrolled + currentSlide; i >= 0; i--) {
199 $inViewPort = $(this).find("[data-slick-index='" + i + "']");
200 if ("null" != settings.animation) {
201 $inViewPort.find("p, h1, h2, h3, h4, h5, h6, span, a, img, i, button")
202 .addClass(settings.animation).removeClass(
203 "premium-carousel-content-hidden");
204 }
205 }
206 }
207
208 //Fix carousel continues to work after last slide if autoplay is true and infinite is false.
209 if (slick.$slides.length - 1 == currentSlide && !settings.infinite) {
210 $carouselElem.find(".premium-carousel-inner").slick('slickSetOption', 'autoplay', false, false);
211 }
212
213 if (slick.options.carouselNavigation === "fraction") {
214 $carouselElem.find("#currentSlide").text((currentSlide || 0) + 1);
215 }
216
217 if (slick.options.carouselNavigation === "progressbar") {
218 var progress = (currentSlide + 1) / slick.options.templatesNumber;
219 $carouselElem.find(".premium-carousel-nav-progressbar-fill").css("transform", "translate3d(0px, 0px, 0px) scaleX(" + progress + ") scaleY(1)");
220 }
221
222 });
223
224 $carouselElem.on("beforeChange", function (event, slick, currentSlide) {
225
226 //Reset Aniamtions for the other slides
227 resetAnimations();
228
229 var $inViewPort = $(this).find("[data-slick-index='" + currentSlide + "']");
230
231 if ("null" != settings.animation) {
232 $inViewPort.siblings().find(
233 "p, h1, h2, h3, h4, h5, h6, span, a, img, i, button").removeClass(
234 settings.animation).addClass(
235 "premium-carousel-content-hidden");
236 }
237 });
238
239 if (settings.vertical) {
240
241 var maxHeight = -1;
242
243 elementorFrontend.elements.$window.on('load', function () {
244 $carouselElem.find(".slick-slide").each(function () {
245 if ($(this).height() > maxHeight) {
246 maxHeight = $(this).height();
247 }
248 });
249 $carouselElem.find(".slick-slide").each(function () {
250 if ($(this).height() < maxHeight) {
251 $(this).css("margin", Math.ceil(
252 (maxHeight - $(this).height()) / 2) + "px 0");
253 }
254 });
255 });
256 }
257 var marginFix = {
258 element: $("a.ver-carousel-arrow"),
259 getWidth: function () {
260 var width = this.element.outerWidth();
261 return width / 2;
262 },
263 setWidth: function (type) {
264 type = type || "vertical";
265 if (type == "vertical") {
266 this.element.css("margin-left", "-" + this.getWidth() + "px");
267 } else {
268 this.element.css("margin-top", "-" + this.getWidth() + "px");
269 }
270 }
271 };
272 marginFix.setWidth();
273 marginFix.element = $("a.carousel-arrow");
274 marginFix.setWidth("horizontal");
275
276 $(document).ready(function () {
277
278 settings.navigation.map(function (item, index) {
279
280 if (item) {
281
282 $(item).on("click", function () {
283
284 var currentActive = $carouselElem.find(".premium-carousel-inner").slick("slickCurrentSlide");
285
286 if (index !== currentActive) {
287 $carouselElem.find(".premium-carousel-inner").slick("slickGoTo", index)
288 }
289
290 })
291 }
292
293 });
294
295 $('.carousel-next-' + widgetID).on('click', function () {
296 $carouselElem.find(".premium-carousel-inner").slick("slickNext");
297 });
298
299 $('.carousel-prev-' + widgetID).on('click', function () {
300 $carouselElem.find(".premium-carousel-inner").slick("slickPrev");
301 });
302
303 })
304
305 };
306
307 $(window).on('elementor/frontend/init', function () {
308 elementorFrontend.hooks.addAction('frontend/element_ready/premium-carousel-widget.default', PremiumCarouselHandler);
309 });
310 })(jQuery);
311
312