PageSourceSearch

https://vozativabsb.com.br/wp-content/plugins/pifoxen-addon/assets/js/pifoxen-addon.js?ver=1779073604

js vozativabsb.com.br collected 2026-10-06 04:47:32 UTC 17,908 bytes, 493 lines download raw bytes

1(function ($) {
2    "use strict";
3
4    var WidgetDefaultHandler = function ($scope) {
5        if ($scope.find(".wow").length) {
6            var wow = new WOW({
7                boxClass: "wow", // animated element css class (default is wow)
8                animateClass: "animated", // animation css class (default is animated)
9                mobile: true, // trigger animations on mobile devices (default is true)
10                live: true // act on asynchronously loaded content (default is true)
11            });
12            wow.init();
13        }
14
15        let mainSliderTwoImage = $scope.find(".main-slider-two__img");
16        if (mainSliderTwoImage.length) {
17            mainSliderTwoImage.tilt({
18                maxTilt: 5,
19                scale: 1,
20                perspective: 700,
21                speed: 1000
22            });
23        }
24
25        let tabsBox = $scope.find(".tabs-box");
26        if (tabsBox.length) {
27            tabsBox.find(".tab-buttons .tab-btn").on("click", function (e) {
28                e.preventDefault();
29                var target = $($(this).attr("data-tab"));
30
31                if ($(target).is(":visible")) {
32                    return false;
33                } else {
34                    target
35                        .parents(".tabs-box")
36                        .find(".tab-buttons")
37                        .find(".tab-btn")
38                        .removeClass("active-btn");
39                    $(this).addClass("active-btn");
40                    target
41                        .parents(".tabs-box")
42                        .find(".tabs-content")
43                        .find(".tab")
44                        .fadeOut(0);
45                    target
46                        .parents(".tabs-box")
47                        .find(".tabs-content")
48                        .find(".tab")
49                        .removeClass("active-tab");
50                    $(target).fadeIn(300);
51                    $(target).addClass("active-tab");
52                }
53            });
54        }
55
56        let thmSwiperSliders = $scope.find(".thm-swiper__slider");
57        if (thmSwiperSliders.length) {
58            thmSwiperSliders.each(function () {
59                let elm = $(this);
60                let options = elm.data("swiper-options");
61                let thmSwiperSlider = new Swiper(
62                    elm,
63                    "object" === typeof options ? options : JSON.parse(options)
64                );
65            });
66        }
67
68        let thmOwlCarousels = $scope.find(".thm-owl__carousel");
69        if (thmOwlCarousels.length) {
70            thmOwlCarousels.each(function () {
71                let elm = $(this);
72                let options = elm.data("owl-options");
73                let thmOwlCarousel = elm.owlCarousel(
74                    "object" === typeof options ? options : JSON.parse(options)
75                );
76            });
77        }
78
79        let thmOwlNavCarousels = $scope.find(".thm-owl__carousel--custom-nav");
80        if (thmOwlNavCarousels.length) {
81            thmOwlNavCarousels.each(function () {
82                let elm = $(this);
83                let owlNavPrev = elm.data("owl-nav-prev");
84                let owlNavNext = elm.data("owl-nav-next");
85                $(owlNavPrev).on("click", function (e) {
86                    elm.trigger("prev.owl.carousel");
87                    e.preventDefault();
88                });
89
90                $(owlNavNext).on("click", function (e) {
91                    elm.trigger("next.owl.carousel");
92                    e.preventDefault();
93                });
94            });
95        }
96
97        //Single Item Carousel
98        let singleItemCarousel = $scope.find(".single-item-carousel");
99        if (singleItemCarousel.length) {
100            singleItemCarousel.owlCarousel({
101                loop: true,
102                margin: 30,
103                nav: true,
104                smartSpeed: 500,
105                autoplay: 5000,
106                autoplayHoverPause: true,
107                autoplayTimeout: 5000,
108                navText: [
109                    '<span class="icon fa fa-angle-left"></span>',
110                    '<span class="icon fa fa-angle-right"></span>'
111                ],
112                responsive: {
113                    0: {
114                        items: 1
115                    },
116                    600: {
117                        items: 1
118                    },
119                    800: {
120                        items: 1
121                    },
122                    1024: {
123                        items: 1
124                    }
125                }
126            });
127        }
128
129        let circleProgress = $scope.find(".circle-progress");
130        if (circleProgress.length) {
131            circleProgress.appear(function () {
132                let circleProgressItem = $(".circle-progress");
133                circleProgressItem.each(function () {
134                    let progress = $(this);
135                    let progressOptions = progress.data("options");
136                    progress.circleProgress(progressOptions);
137                });
138            });
139        }
140
141        // News Two Carousel
142        var blogCarousel = $(".blog-two__carousel");
143
144        if (blogCarousel.length) {
145            var nextBtn = $(".blog-two__carousel__custom-nav .left-btn");
146            var prevBtn = $(".blog-two__carousel__custom-nav .right-btn");
147            blogCarousel.owlCarousel({
148                loop: true,
149                margin: 30,
150                nav: true,
151                smartSpeed: 500,
152                autoHeight: false,
153                autoplay: true,
154                dots: false,
155                autoplayTimeout: 10000,
156                navText: [
157                    '<span class="icon-left-arrow"></span>',
158                    '<span class="icon-right-arrow"></span>'
159                ],
160                responsive: {
161                    0: {
162                        items: 1
163                    },
164                    600: {
165                        items: 1
166                    },
167                    992: {
168                        items: 3
169                    },
170                    1024: {
171                        items: 3
172                    },
173                    1200: {
174                        items: 3
175                    }
176                }
177            });
178            nextBtn.on("click", function (e) {
179                e.preventDefault();
180                blogCarousel.trigger("next.owl.carousel", [500]);
181            });
182            prevBtn.on("click", function (e) {
183                e.preventDefault();
184                blogCarousel.trigger("prev.owl.carousel", [500]);
185            });
186        }
187
188        let videoPopup = $scope.find(".video-popup");
189        if (videoPopup.length) {
190            videoPopup.magnificPopup({
191                type: "iframe",
192                mainClass: "mfp-fade",
193                removalDelay: 160,
194                preloader: true,
195                fixedContentPos: false
196            });
197        }
198
199        let imgPopup = $scope.find(".img-popup");
200        if (imgPopup.length) {
201            var groups = {};
202            imgPopup.each(function () {
203                var id = parseInt($(this).attr("data-group"), 10);
204
205                if (!groups[id]) {
206                    groups[id] = [];
207                }
208
209                groups[id].push(this);
210            });
211
212            $.each(groups, function () {
213                $(this).magnificPopup({
214                    type: "image",
215                    closeOnContentClick: true,
216                    closeBtnInside: false,
217                    gallery: {
218                        enabled: true
219                    }
220                });
221            });
222        }
223
224        // Popular Causes Progress Bar
225        let countBar = $scope.find(".count-bar");
226        if (countBar.length) {
227            countBar.appear(
228                function () {
229                    var el = $(this);
230                    var percent = el.data("percent");
231                    $(el).css("width", percent).addClass("counted");
232                }, {
233                    accY: -50
234                }
235            );
236        }
237
238        //Fact Counter + Text Count
239        let countBox = $scope.find(".count-box");
240        if (countBox.length) {
241            countBox.appear(
242                function () {
243                    var $t = $(this),
244                        n = $t.find(".count-text").attr("data-stop"),
245                        r = parseInt($t.find(".count-text").attr("data-speed"), 10);
246
247                    if (!$t.hasClass("counted")) {
248                        $t.addClass("counted");
249                        $({
250                            countNum: $t.find(".count-text").text()
251                        }).animate({
252                            countNum: n
253                        }, {
254                            duration: r,
255                            easing: "linear",
256                            step: function () {
257                                $t.find(".count-text").text(Math.floor(this.countNum));
258                            },
259                            complete: function () {
260                                $t.find(".count-text").text(this.countNum);
261                            }
262                        });
263                    }
264                }, {
265                    accY: 0
266                }
267            );
268        }
269
270        //Jquery Knob animation
271        let dial = $scope.find(".dial");
272        if (dial.length) {
273            dial.appear(
274                function () {
275                    var elm = $(this);
276                    var color = elm.attr("data-fgColor");
277                    var perc = elm.attr("value");
278                    var thickness = elm.attr("data-thickness");
279
280                    elm.knob({
281                        value: 0,
282                        min: 0,
283                        max: 100,
284                        skin: "tron",
285                        readOnly: true,
286                        thickness: thickness,
287                        dynamicDraw: true,
288                        displayInput: false
289                    });
290
291                    $({
292                        value: 0
293                    }).animate({
294                        value: perc
295                    }, {
296                        duration: 2000,
297                        easing: "swing",
298                        progress: function () {
299                            elm.val(Math.ceil(this.value)).trigger("change");
300                        }
301                    });
302                }, {
303                    accY: 0
304                }
305            );
306        }
307
308        var odo = $scope.find(".odometer");
309        if (odo.length) {
310            odo.each(function () {
311                $(this).appear(function () {
312                    var countNumber = $(this).attr("data-count");
313                    $(this).html(countNumber);
314                });
315            });
316        }
317    };
318
319    var WidgetTestimonialHandler = function ($scope) {
320        if ($scope.find("#testimonials-one__thumb").length) {
321            let testimonialsThumb = new Swiper("#testimonials-one__thumb", {
322                slidesPerView: 3,
323                spaceBetween: 10,
324                speed: 1400,
325                watchSlidesVisibility: true,
326                watchSlidesProgress: true,
327                loop: true,
328                autoplay: {
329                    delay: 5000
330                }
331            });
332
333            let testimonialsCarousel = new Swiper("#testimonials-one__carousel", {
334                observer: true,
335                observeParents: true,
336                speed: 1400,
337                slidesPerView: 1,
338                autoplay: {
339                    delay: 5000
340                },
341                thumbs: {
342                    swiper: testimonialsThumb
343                },
344                pagination: {
345                    el: "#testimonials-one__carousel-pagination",
346                    type: "bullets",
347                    clickable: true
348                }
349            });
350        }
351    };
352
353    var WidgetFaqHandler = function ($scope) {
354        // Accrodion
355        if ($scope.find(".accrodion-grp").length) {
356            var accrodionGrp = $(".accrodion-grp");
357            accrodionGrp.each(function () {
358                var accrodionName = $(this).data("grp-name");
359                var Self = $(this);
360                var accordion = Self.find(".accrodion");
361                Self.addClass(accrodionName);
362                Self.find(".accrodion .accrodion-content").hide();
363                Self.find(".accrodion.active").find(".accrodion-content").show();
364                accordion.each(function () {
365                    $(this)
366                        .find(".accrodion-title")
367                        .on("click", function () {
368                            if ($(this).parent().hasClass("active") === false) {
369                                $(".accrodion-grp." + accrodionName)
370                                    .find(".accrodion")
371                                    .removeClass("active");
372                                $(".accrodion-grp." + accrodionName)
373                                    .find(".accrodion")
374                                    .find(".accrodion-content")
375                                    .slideUp();
376                                $(this).parent().addClass("active");
377                                $(this).parent().find(".accrodion-content").slideDown();
378                            }
379                        });
380                });
381            });
382        }
383    };
384
385    var WidgetPortfolioHandler = function ($scope) {
386        if ($scope.find(".post-filter").length) {
387            var postFilterList = $(".post-filter li");
388            // for first init
389            $(".filter-layout").isotope({
390                filter: ".filter-item",
391                animationOptions: {
392                    duration: 500,
393                    easing: "linear",
394                    queue: false
395                }
396            });
397            // on click filter links
398            postFilterList.on("click", function () {
399                var Self = $(this);
400                var selector = Self.attr("data-filter");
401                postFilterList.removeClass("active");
402                Self.addClass("active");
403
404                $(".filter-layout").isotope({
405                    filter: selector,
406                    animationOptions: {
407                        duration: 500,
408                        easing: "linear",
409                        queue: false
410                    }
411                });
412                return false;
413            });
414        }
415
416        if ($(".post-filter.has-dynamic-filter-counter").length) {
417            var activeFilterItem = $(".post-filter.has-dynamic-filter-counter").find(
418                "li"
419            );
420
421            activeFilterItem.each(function () {
422                var filterElement = $(this).data("filter");
423                var count = $(".filter-layout").find(filterElement).length;
424                $(this).append("<sup>[" + count + "]</sup>");
425            });
426        }
427    };
428
429    var WidgetFooterSubscribeHandler = function ($scope) {
430        // mailchimp form
431        if ($scope.find(".mc-forml").length) {
432            $(".mc-form").each(function () {
433                var Self = $(this);
434                var mcURL = Self.data("url");
435                var mcResp = Self.parent().find(".mc-form__response");
436
437                Self.ajaxChimp({
438                    url: mcURL,
439                    callback: function (resp) {
440                        // appending response
441                        mcResp.append(function () {
442                            return '<p class="mc-message">' + resp.msg + "</p>";
443                        });
444                        // making things based on response
445                        if (resp.result === "success") {
446                            // Do stuff
447                            Self.removeClass("errored").addClass("successed");
448                            mcResp.removeClass("errored").addClass("successed");
449                            Self.find("input").val("");
450
451                            mcResp.find("p").fadeOut(10000);
452                        }
453                        if (resp.result === "error") {
454                            Self.removeClass("successed").addClass("errored");
455                            mcResp.removeClass("successed").addClass("errored");
456                            Self.find("input").val("");
457
458                            mcResp.find("p").fadeOut(10000);
459                        }
460                    }
461                });
462            });
463        }
464    };
465
466    //elementor front start
467    $(window).on("elementor/frontend/init", function () {
468        elementorFrontend.hooks.addAction(
469            "frontend/element_ready/widget",
470            WidgetDefaultHandler
471        );
472
473        elementorFrontend.hooks.addAction(
474            "frontend/element_ready/pifoxen-testimonials.default",
475            WidgetTestimonialHandler
476        );
477
478        elementorFrontend.hooks.addAction(
479            "frontend/element_ready/pifoxen-faq.default",
480            WidgetFaqHandler
481        );
482
483        elementorFrontend.hooks.addAction(
484            "frontend/element_ready/pifoxen-portfolio.default",
485            WidgetPortfolioHandler
486        );
487
488        elementorFrontend.hooks.addAction(
489            "frontend/element_ready/footer-subscribe.default",
490            WidgetFooterSubscribeHandler
491        );
492    });
493})(jQuery);

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.