PageSourceSearch

https://www.teknachemgroup.com/wp-content/plugins/xpro-elementor-addons/assets/js/xpro-widgets.js?ver=1.4.4

js teknachemgroup.com collected 2026-10-02 02:13:29 UTC 45,507 bytes, 810 lines download raw bytes

1!(function (e, t) {
2    "use strict";
3    let i = {
4        init: function () {
5            let t = {
6                widget: i.BackgroundOverlay,
7                "xpro-simple-gallery.default": i.SimpleGallery,
8                "xpro-simple-portfolio.default": i.SimplePortfolio,
9                "xpro-progress-bar.default": i.ProgressBar,
10                "xpro-pie-chart.default": i.PieChart,
11                "xpro-counter.default": i.Counter,
12                "xpro-horizontal-menu.default": i.HorizontalMenu,
13                "xpro-team.default": i.Team,
14                "xpro-before-after.default": i.BeforeAfter,
15                "xpro-content-toggle.default": i.ContentToggle,
16                "xpro-news-ticker.default": i.NewsTicker,
17                "xpro-table.default": i.Table,
18                "xpro-icon-box.default": i.IconBox,
19                "xpro-post-grid.default": i.PostGrid,
20                "xpro-hot-spot.default": i.HotSpot,
21                "xpro-image-scroller.default": i.ImageScroller,
22                "xpro-horizontal-timeline.default": i.HorizontalTimeline,
23                "xpro-contact-form.default": i.ContactForm,
24                "xpro-search.default": i.Search,
25                "xpro-course-grid.default": i.CourseGrid,
26                "xpro-woo-product-grid.default": i.ProductGrid,
27                "xpro-hero-slider.default": i.HeroSlider,
28            };
29            e.each(t, function (e, t) {
30                elementorFrontend.hooks.addAction("frontend/element_ready/" + e, t);
31            }),
32                e("body").on("click.onWrapperLink", "[data-xpro-element-link]", function () {
33                    var t,
34                        i,
35                        o = e(this),
36                        n = o.data("xpro-element-link"),
37                        r = o.data("id"),
38                        a = document.createElement("a");
39                    (a.id = "xpro-addons-wrapper-link-" + r),
40                        (a.href = n.url),
41                        (a.target = n.is_external ? "_blank" : "_self"),
42                        (a.rel = n.nofollow ? "nofollow noreferer" : ""),
43                        (a.style.display = "none"),
44                        document.body.appendChild(a),
45                        (t = document.getElementById(a.id)).click(),
46                        (i = setTimeout(function () {
47                            document.body.removeChild(t), clearTimeout(i);
48                        }));
49                }),
50                e("[data-xpro-equal-height]").each(function () {
51                    var t = e(this),
52                        i = e(this).data("xpro-equal-height");
53                    if ("widgets" === i) {
54                        let o = e(this).find(".elementor-widget > .elementor-widget-container"),
55                            n = 0;
56                        o.each(function () {
57                            n = Math.max(n, e(this).outerHeight());
58                        }),
59                            o.css({ minHeight: n + "px" });
60                    } else {
61                        let r = 0;
62                        setTimeout(function () {
63                            t.find(i).each(function () {
64                                r = Math.max(r, e(this).outerHeight());
65                            }),
66                                t.find(i).css({ minHeight: r + "px" });
67                        }, 100);
68                    }
69                });
70        },
71        BackgroundOverlay: function e(t) {
72            t.hasClass("elementor-element-edit-mode") && t.addClass("xpro-widget-bg-overlay");
73        },
74        getElementSettings: function (e, t) {
75            var o = {},
76                n = e.data("model-cid");
77            if (elementorFrontend.isEditMode() && n) {
78                var r = elementorFrontend.config.elements.data[n],
79                    a = r.attributes.widgetType || r.attributes.elType,
80                    l = elementorFrontend.config.elements.keys[a];
81                l ||
82                    ((l = elementorFrontend.config.elements.keys[a] = []),
83                    jQuery.each(r.controls, function (e, t) {
84                        t.frontend_available && l.push(e);
85                    })),
86                    jQuery.each(r.getActiveControls(), function (e) {
87                        -1 !== l.indexOf(e) && (o[e] = r.attributes[e]);
88                    });
89            } else o = e.data("settings") || {};
90            return i.getItems(o, t);
91        },
92        getItems: function (e, t) {
93            if (t) {
94                var i = t.split("."),
95                    o = i.splice(0, 1);
96                if (!i.length) return e[o];
97                if (!e[o]) return;
98                return this.getItems(e[o], i.join("."));
99            }
100            return e;
101        },
102        SimpleGallery: function (t) {
103            let o = i.getElementSettings(t),
104                n = t.find(".xpro-elementor-gallery-wrapper"),
105                r = t.find(".xpro-elementor-gallery-filter > ul"),
106                a = r.attr("data-default-filter");
107            setTimeout(function () {
108                n.cubeportfolio({
109                    filters: r,
110                    layoutMode: "grid",
111                    defaultFilter: a,
112                    animationType: o.filter_animation,
113                    gridAdjustment: "responsive",
114                    mediaQueries: [
115                        { width: elementorFrontend.config.breakpoints.lg, cols: o.item_per_row || 3, options: { gapHorizontal: o.margin.size || 0, gapVertical: o.margin.size || 0 } },
116                        { width: elementorFrontend.config.breakpoints.md, cols: o.item_per_row_tablet || 2, options: { gapHorizontal: o.margin_tablet.size || 0, gapVertical: o.margin_tablet.size || 0 } },
117                        { width: 0, cols: o.item_per_row_mobile || 1, options: { gapHorizontal: o.margin_mobile.size || 0, gapVertical: o.margin_mobile.size || 0 } },
118                    ],
119                    caption: o.hover_effect || "zoom",
120                    displayType: "sequentially",
121                    displayTypeSpeed: 80,
122                });
123            }, 500),
124                "none" !== o.popup &&
125                    n.lightGallery({
126                        pager: !0,
127                        addClass: "xpro-gallery-popup-style-" + o.popup,
128                        selector: "[data-xpro-lightbox]",
129                        thumbnail: "yes" === o.thumbnail,
130                        exThumbImage: "data-src",
131                        thumbWidth: 130,
132                        thumbMargin: 15,
133                        closable: !1,
134                        showThumbByDefault: "yes" === o.thumbnail_by_default,
135                        thumbContHeight: 150,
136                        subHtmlSelectorRelative: !0,
137                        hideBarsDelay: 99999999,
138                        share: "yes" === o.share,
139                        download: "yes" === o.download,
140                    });
141            let l = t.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"),
142                s = t.find('[data-filter="' + a + '"]'),
143                p = l.find("li.cbp-filter-item-active").text();
144            l.find(".xpro-select-content").text(p || s.text()),
145                l.on("click", function () {
146                    e(this).toggleClass("active");
147                }),
148                l.find(".cbp-l-filters-button > li").on("click", function () {
149                    l.find(".xpro-select-content").text(e(this).text());
150                });
151        },
152        SimplePortfolio: function (t) {
153            let o = i.getElementSettings(t),
154                n = t.find(".xpro-elementor-gallery-wrapper"),
155                r = t.find(".xpro-elementor-gallery-filter > ul"),
156                a = r.attr("data-default-filter");
157            u(),
158                setTimeout(function () {
159                    n.cubeportfolio({
160                        filters: r,
161                        layoutMode: "grid",
162                        defaultFilter: a,
163                        animationType: o.filter_animation,
164                        gridAdjustment: "responsive",
165                        lightboxGallery: !1,
166                        mediaQueries: [
167                            { width: elementorFrontend.config.breakpoints.lg, cols: o.item_per_row || 3, options: { gapHorizontal: o.margin.size || 0, gapVertical: o.margin.size || 0 } },
168                            { width: elementorFrontend.config.breakpoints.md, cols: o.item_per_row_tablet || 2, options: { gapHorizontal: o.margin_tablet.size || 0, gapVertical: o.margin_tablet.size || 0 } },
169                            { width: 0, cols: o.item_per_row_mobile || 1, options: { gapHorizontal: o.margin_mobile.size || 0, gapVertical: o.margin_mobile.size || 0 } },
170                        ],
171                        caption: o.hover_effect || "zoom",
172                        displayType: "sequentially",
173                        displayTypeSpeed: 80,
174                    });
175                }, 500);
176            let l = t.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"),
177                s = t.find('[data-filter="' + a + '"]'),
178                p = l.find("li.cbp-filter-item-active").text();
179            l.find(".xpro-select-content").text(p || s.text()),
180                l.on("click", function () {
181                    e(this).toggleClass("active");
182                }),
183                l.find(".cbp-l-filters-button > li").on("click", function () {
184                    l.find(".xpro-select-content").text(e(this).text());
185                });
186            var d = null;
187            let c = new TimelineLite();
188            function f(i, o) {
189                let n = e(i).data("title");
190                if ("false" !== (d = e(i).data("src-preview"))) {
191                    e(i).siblings().removeClass("xpro-preview-demo-item-open"),
192                        e(i).addClass("xpro-preview-demo-item-open"),
193                        t.find(".xpro-preview .xpro-preview-prev-demo,.xpro-preview .xpro-preview-next-demo").removeClass("xpro-preview-inactive");
194                    e(i).prev("[data-src-preview]").length <= 0 && t.find(".xpro-preview .xpro-preview-prev-demo").addClass("xpro-preview-inactive");
195                    e(i).next("[data-src-preview]").length <= 0 && t.find(".xpro-preview .xpro-preview-next-demo").addClass("xpro-preview-inactive"),
196                        t.find(".xpro-preview .xpro-preview-header-info").html(""),
197                        n && t.find(".xpro-preview .xpro-preview-header-info").append(`<div class="xpro-preview-demo-name">${n}</div>`),
198                        t.find(".xpro-preview .xpro-preview-iframe").attr("src", d),
199                        e("body").addClass("xpro-preview-active"),
200                        t.find(".xpro-preview").addClass("active");
201                }
202            }
203            function u() {
204                t.find(".xpro-preview-demo-item").removeClass("xpro-preview-demo-item-open"),
205                    t.find(".xpro-preview .xpro-preview-iframe").removeAttr("src"),
206                    e("body").removeClass("xpro-preview-active"),
207                    t.find(".xpro-preview").removeClass("active");
208            }
209            function m() {
210                "1" === o.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-1 li"), { duration: 0.4, scaleX: 1, transformOrigin: "bottom right" }),
211                    "2" === o.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-2 li"), { duration: 0.4, scaleX: 1, transformOrigin: "bottom left" }),
212                    setTimeout(function () {
213                        "1" === o.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-1 li"), { duration: 0.4, scaleX: 0, transformOrigin: "bottom left" }),
214                            "2" === o.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-2 li"), { duration: 0.4, scaleX: 0, transformOrigin: "bottom right" });
215                    }, 2500);
216            }
217            c.seek(0).clear(),
218                (c = new TimelineLite()),
219                t.find(".xpro-preview-iframe").on("load", function () {
220                    e(this).addClass("loaded"), e(this).contents().find("html").attr("id", "xpro-portfolio-html-main");
221                }),
222                t.on("click", ".xpro-preview-type-popup", function (t) {
223                    e(t.target).is(".xpro-preview-demo-import-open") || (m(), f(this, t));
224                }),
225                t.on("click", ".xpro-preview-type-link", function (t) {
226                    let i = "";
227                    return "" !== (i = e(this).data("src-preview")) && window.open(i, o.preview_target), !1;
228                }),
229                t.on("click", ".xpro-preview-type-none", function (e) {
230                    return !1;
231                }),
232                t.on("click", ".xpro-preview-prev-demo", function (e) {
233                    var i = t.find(".xpro-preview-demo-item-open").prev("[data-src-preview]");
234                    i.length > 0 && (m(), f(i, e)), e.preventDefault();
235                }),
236                t.on("click", ".xpro-preview-next-demo", function (e) {
237                    var i = t.find(".xpro-preview-demo-item-open").next("[data-src-preview]");
238                    i.length > 0 && (m(), f(i, e)), e.preventDefault();
239                }),
240                t.on("click", ".xpro-preview-close", function (e) {
241                    e.preventDefault(),
242                        e.stopPropagation(),
243                        m(),
244                        setTimeout(function () {
245                            u();
246                        }, 2e3);
247                });
248        },
249        ProgressBar: function (t) {
250            let o = i.getElementSettings(t),
251                n = t.find(".xpro-progress-count"),
252                r = t.find(".xpro-progress-track");
253            t.find(".xpro-progress-bar").elementorWaypoint(
254                function () {
255                    "yes" === o.show_count &&
256                        n.animate(
257                            { Counter: o.value },
258                            {
259                                duration: 1e3 * o.duration.size || 3e3,
260                                easing: "swing",
261                                step: function (t) {
262                                    e(this).text(Math.ceil(t)),
263                                        e(this)
264                                            .parents(".xpro-progress-counter")
265                                            .find(".xpro-progress-count-less")
266                                            .text(100 - Math.ceil(t));
267                                },
268                            }
269                        ),
270                        r.animate({ width: o.value + "%" }, 1e3 * o.duration.size || 3e3);
271                },
272                { offset: "100%" }
273            );
274        },
275        PieChart: function (t) {
276            let o = i.getElementSettings(t);
277            t.find(".xpro-pie-chart").easyPieChart({
278                scaleColor: "transparent",
279                lineWidth: o.chart_bar_size.size,
280                lineCap: o.layout,
281                barColor: function () {
282                    var e = this.renderer.getCtx(),
283                        t = this.renderer.getCanvas(),
284                        i = e.createLinearGradient(0, 0, t.width, 0);
285                    return i.addColorStop(0, o.bar_color_1 || "#6ec1e4"), i.addColorStop(1, o.bar_color_2 || "#6ec1e4"), i;
286                },
287                trackColor: o.track_color || "#f5f5f5",
288                size: o.chart_size.size,
289                rotate: 0,
290                animate: 1e3 * o.duration.size || 2e3,
291            }),
292                t.find(".xpro-pie-chart").elementorWaypoint(
293                    function () {
294                        t.find(".xpro-pie-chart-count").animate(
295                            { Counter: o.value },
296                            {
297                                duration: 1e3 * o.duration.size || 2e3,
298                                easing: "swing",
299                                step: function (t) {
300                                    e(this).text(Math.ceil(t) + "%");
301                                },
302                            }
303                        ),
304                            t.find(".xpro-pie-chart").data("easyPieChart").update(o.value);
305                    },
306                    { offset: "100%" }
307                );
308        },
309        Counter: function (t) {
310            let o = i.getElementSettings(t);
311            "yes" === o.animate_counter &&
312                t.find(".xpro-counter-wrapper").elementorWaypoint(
313                    function () {
314                        t.find(".xpro-counter-item > .value").animate(
315                            { Counter: o.value },
316                            {
317                                duration: 1e3 * o.duration.size || 2e3,
318                                easing: "swing",
319                                step: function (t) {
320                                    e(this).text(Math.ceil(t));
321                                },
322                            }
323                        );
324                    },
325                    { offset: "100%" }
326                );
327        },
328        HorizontalMenu: function (t) {
329            let o = i.getElementSettings(t),
330                n = t.find(".xpro-elementor-horizontal-menu-toggler"),
331                r = t.find(".xpro-elementor-horizontal-menu-close"),
332                a = t.find(".xpro-elementor-horizontal-menu-overlay"),
333                l = t.find(".dropdown > a > .xpro-dropdown-menu-toggle");
334            if (
335                (t.find(".dropdown li").each(function (t) {
336                    if (e("ul", this).length) {
337                        let i = e("ul:first", this),
338                            o = i.offset().left,
339                            n = i.width(),
340                            r;
341                        o + n <= e(window).width() ? e(this).removeClass("xpro-edge") : e(this).addClass("xpro-edge");
342                    }
343                }),
344                "yes" === o.one_page_navigation)
345            ) {
346                function s(i = !1) {
347                    var n = e(document).scrollTop(),
348                        r = o.scroll_offset.size || 100;
349                    t.find(".xpro-elementor-horizontal-navbar-nav li").each(function () {
350                        let o = e(this),
351                            a = o.find(".xpro-elementor-nav-link").attr("href"),
352                            l = a.indexOf("#");
353                        if (-1 !== l) {
354                            let s = e(a.substring(l));
355                            i && s.length && t.find(".xpro-elementor-horizontal-navbar-nav li:not(:first-child)").removeClass("current_page_item"),
356                                s.length && s.position().top - r <= n && s.position().top + s.height() > n && (t.find(".xpro-elementor-horizontal-navbar-nav li").removeClass("current_page_item"), o.addClass("current_page_item"));
357                        }
358                    });
359                }
360                e(".xpro-elementor-nav-link").on("click", function (t) {
361                    let i = e(this).attr("href"),
362                        n = i.indexOf("#");
363                    if (-1 !== n) {
364                        let r = e(i.substring(n));
365                        if (r.length) {
366                            var a = this.hash;
367                            t.stopPropagation(),
368                                e("html, body").animate({ scrollTop: e(r).offset().top - (o.scroll_offset.size || 100) + 20 }, 500, function () {
369                                    window.location.hash = a;
370                                });
371                        }
372                    }
373                }),
374                    s(!0),
375                    e(document).on("scroll", function () {
376                        s();
377                    });
378            }
379            if ("none" !== o.responsive_show) {
380                let p = "tablet" === o.responsive_show ? 1025 : 768;
381                n.on("click", function (e) {
382                    e.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").toggleClass("active"), t.find(".xpro-elementor-horizontal-menu-overlay").toggleClass("active");
383                }),
384                    r.on("click", function (e) {
385                        e.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), t.find(".xpro-elementor-horizontal-menu-overlay").removeClass("active");
386                    }),
387                    a.on("click", function (i) {
388                        i.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), e(this).removeClass("active");
389                    }),
390                    l.on("click", function (t) {
391                        e(window).width() < p && (t.preventDefault(), t.stopPropagation(), e(this).parent().toggleClass("active"), e(this).parent().next(".xpro-elementor-dropdown-menu").slideToggle());
392                    }),
393                    e(window).resize(function () {
394                        e(window).width() > p ? t.find(".xpro-elementor-dropdown-menu").show() : t.find(".xpro-elementor-dropdown-menu").hide(),
395                            t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"),
396                            t.find(".xpro-elementor-horizontal-menu
396-overlay").removeClass("active"),
397                            t.find(".dropdown > a").removeClass("active");
398                    });
399            }
400        },
401        Team: function (t) {
402            let o = i.getElementSettings(t);
403            if (
404                ("3" === o.layout &&
405                    t.find(".xpro-team-layout-3").hover(
406                        function () {
407                            e(this).find(".xpro-team-description").slideDown(200);
408                        },
409                        function () {
410                            e(this).find(".xpro-team-description").slideUp(200);
411                        }
412                    ),
413                "7" === o.layout &&
414                    t.find(".xpro-team-layout-7").hover(
415                        function () {
416                            e(this).find(".xpro-team-description").slideDown(200), e(this).find(".xpro-team-social-list").slideDown(250);
417                        },
418                        function () {
419                            e(this).find(".xpro-team-description").slideUp(200), e(this).find(".xpro-team-social-list").slideUp(250);
420                        }
421                    ),
422                "8" === o.layout &&
423                    t.find(".xpro-team-layout-8").hover(
424                        function () {
425                            e(this).find(".xpro-team-content").slideDown(200);
426                        },
427                        function () {
428                            e(this).find(".xpro-team-content").slideUp(200);
429                        }
430                    ),
431                "9" === o.layout)
432            ) {
433                let n = t.find(".xpro-team-image > img").height(),
434                    r = t.find(".xpro-team-inner-content").height();
435                t.find(".xpro-team-inner-content").width(n), t.find(".xpro-team-inner-content").css("left", r + "px");
436            }
437            "14" === o.layout &&
438                t.find(".xpro-team-layout-14").hover(
439                    function () {
440                        e(this).find(".xpro-team-description").slideDown(200), e(this).find(".xpro-team-social-list").slideDown(250);
441                    },
442                    function () {
443                        e(this).find(".xpro-team-description").slideUp(200), e(this).find(".xpro-team-social-list").slideUp(250);
444                    }
445                );
446        },
447        BeforeAfter: function (e) {
448            let t = i.getElementSettings(e);
449            e.find(".xpro-compare-item").XproCompare({
450                default_offset_pct: t.visible_ratio.size / 100 || 0.5,
451                orientation: t.orientation,
452                is_wiggle: "yes" === t.wiggle,
453                wiggle_timeout: t.wiggle ? 1e3 * t.wiggle_timeout.size : 1e3,
454                move_on_hover: "yes" === t.mouse_move,
455            });
456        },
457        ContentToggle: function (t) {
458            i.getElementSettings(t);
459            t.find(".xpro-content-toggle-button").on("click", function (t) {
460                t.preventDefault(), e(this).parents(".xpro-content-toggle-button-wrapper").toggleClass("active");
461            });
462        },
463        NewsTicker: function (t) {
464            let o = i.getElementSettings(t),
465                n = t.find(".xpro-news-ticker"),
466                r;
467            e(".e-route-panel-editor-content").length && (r = ".elementor-preview-responsive-wrapper"),
468                n.owlCarousel({
469                    items: 1,
470                    smartSpeed: 1e3,
471                    loop: !0,
472                    nav: !1,
473                    dots: !1,
474                    mouseDrag: !1,
475                    touchDrag: !1,
476                    rtl: "rtl" === o.direction,
477                    responsiveBaseElement: r,
478                    autoplay: "yes" === o.autoplay,
479                    autoplayTimeout: "yes" === o.autoplay ? 1e3 * o.autoplay_timeout.size : 3e3,
480                    animateOut: "fade" === o.effect && "fadeOut",
481                    animateIn: "fade" === o.effect && "fadeIn",
482                }),
483                t.find(".xpro-news-ticker-next").click(function () {
484                    n.trigger("next.owl.carousel", [1e3]),
485                        t.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"),
486                        t.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"),
487                        t.find(".xpro-news-ticker-pause").addClass("active"),
488                        n.trigger("stop.owl.autoplay");
489                }),
490                t.find(".xpro-news-ticker-prev").click(function () {
491                    n.trigger("prev.owl.carousel", [1e3]),
492                        t.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"),
493                        t.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"),
494                        t.find(".xpro-news-ticker-pause").addClass("active"),
495                        n.trigger("stop.owl.autoplay");
496                }),
497                t.find(".xpro-news-ticker-close").click(function () {
498                    t.find(".xpro-news-ticker-wrapper").fadeOut("slow");
499                });
500        },
501        Table: function (t) {
502            let i = t.find(".xpro-table-head-column-cell");
503            t.find(".xpro-table-body-row").each(function (t, o) {
504                e(o)
505                    .find(".xpro-table-body-row-cell")
506                    .each(function (t, o) {
507                        e(o).prev().prop("colspan") > 1 && 0 !== e(o).prop("colspan") && (t += e(o).prev().prop("colspan") - 1), e(o).prepend('<div class="xpro-table-head-column-cell">' + i.eq(t).html() + "</div>");
508                    });
509            });
510        },
511        IconBox: function (e) {
512            let t = i.getElementSettings(e),
513                o = e.find(".elementor-widget-container"),
514                n = e.find(".xpro-box-icon-item");
515            "" !== t.hover_animation &&
516                o.hover(
517                    function () {
518                        n.addClass("animated " + t.icon_hover_animation);
519                    },
520                    function () {
521                        n.removeClass("animated " + t.icon_hover_animation);
522                    }
523                );
524        },
525        PostGrid: function (e) {
526            let t = i.getElementSettings(e),
527                o = e.find(".xpro-post-grid-main");
528            e.find(".xpro-post-grid-item"),
529                o.cubeportfolio({
530                    layoutMode: "grid",
531                    gridAdjustment: "responsive",
532                    lightboxGallery: !1,
533                    mediaQueries: [
534                        { width: elementorFrontend.config.breakpoints.lg, cols: t.column_grid || 3, options: { gapHorizontal: t.space_between.size, gapVertical: t.space_between.size } },
535                        { width: elementorFrontend.config.breakpoints.md, cols: t.column_grid_tablet || 2, options: { gapHorizontal: t.space_between_tablet.size || 0, gapVertical: t.space_between_tablet.size || 0 } },
536                        { width: 0, cols: t.column_grid_mobile || 1, options: { gapHorizontal: t.space_between_mobile.size || 0, gapVertical: t.space_between_mobile.size || 0 } },
537                    ],
538                    displayType: "default",
539                    displayTypeSpeed: 0,
540                });
541        },
542        HotSpot: function (t) {
543            i.getElementSettings(t),
544                t.find(".xpro-post-grid-main"),
545                t.find(".xpro-hotspot-type-click").on("click", function (t) {
546                    t.preventDefault(), e(this).find(".xpro-hotspot-tooltip-text").toggleClass("active");
547                });
548        },
549        ImageScroller: function (e) {
550            let t = i.getElementSettings(e),
551                o = e.find(".xpro-scroll-image-inner"),
552                n = e.find(".xpro-image-scroll-img > img"),
553                r = 0;
554            "mouse-hover" === t.trigger_type &&
555                o.imagesLoaded(function () {
556                    (r = "vertical" === t.direction_type ? n.height() - o.height() : n.width() - o.width()),
557                        "yes" === t.reverse
558                            ? (n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)"),
559                              o.hover(
560                                  function () {
561                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "(0px)");
562                                  },
563                                  function () {
564                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)");
565                                  }
566                              ))
567                            : o.hover(
568                                  function () {
569                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)");
570                                  },
571                                  function () {
572                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "(0px)");
573                                  }
574                              );
575                });
576        },
577        HorizontalTimeline: function (t) {
578            let o = i.getElementSettings(t),
579                n = t.find(".xpro-horizontal-timeline"),
580                r,
581                a = 767;
582            function l() {
583                if ("yes" === o.reverse && e(window).width() >= a) {
584                    let i = t.find(".xpro-horiz-equal-height > div"),
585                        n = 0;
586                    i.each(function () {
587                        n = Math.max(n, e(this).outerHeight());
588                    }),
589                        i.parent().css({ minHeight: n + "px" });
590                } else {
591                    let r = t.find(".xpro-horizontal-timeline-content > div"),
592                        l = 0;
593                    r.each(function () {
594                        l = Math.max(l, e(this).outerHeight());
595                    }),
596                        r.parent().css({ minHeight: l + "px" });
597                    let s = t.find(".xpro-horizontal-timeline-date > div"),
598                        p = 0;
599                    s.each(function () {
600                        p = Math.max(p, e(this).outerHeight());
601                    }),
602                        s.parent().css({ minHeight: p + "px" });
603                }
604            }
605            e(".e-route-panel-editor-content").length && (r = ".elementor-preview-responsive-wrapper"),
606                e(".elementor-editor-active").length && (a = 750),
607                n.owlCarousel({
608                    loop: "yes" === o.loop,
609                    center: "yes" === o.center,
610                    nav: "yes" === o.nav,
611                    navText: ["", ""],
612                    dots: "yes" === o.dots,
613                    mouseDrag: "yes" === o.mouse_drag,
614                    rtl: "yes" === o.rtl,
615                    touchDrag: !0,
616                    autoHeight: !1,
617                    autoWidth: "yes" === o.custom_width,
618                    responsiveBaseElement: r,
619                    autoplay: "yes" === o.autoplay,
620                    autoplayTimeout: "yes" === o.autoplay ? 1e3 * o.autoplay_timeout.size : 3e3,
621                    autoplayHoverPause: !0,
622                    smartSpeed: 500,
623                    responsive: { 0: { items: o.item_per_row_mobile || 1 }, 768: { items: o.item_per_row_tablet || 1 }, 1024: { items: o.item_per_row || 2 } },
624                }),
625                setTimeout(function () {
626                    l();
627                }, 300),
628                e(window).on("resize", function () {
629                    setTimeout(function () {
630                        l();
631                    }, 500);
632                });
633        },
634        ContactForm: function (t) {
635            let o = i.getElementSettings(t),
636                n = t.find(".xpro-contact-form"),
637                r = (t.find(".xpro-contact-form-submit-button"), t.find(".xpro-contact-form-submit-button > i")),
638                a = !1,
639                l = n.attr("action");
640            n.on("submit", function (i) {
641                i.preventDefault(), r.show();
642                let s = n.serializeArray(),
643                    p = [],
644                    d = !0,
645                    c = null,
646                    f = "",
647                    u = 0;
648                if (
649                    (o.recaptcha && (a = t.find(".g-recaptcha-response").val()),
650                    e.each(s, function (e, i) {
651                        "" !== i.value && "g-recaptcha-response" !== i.name && ((p[u] = { name: t.find("label[for=" + i.name.replaceAll("[]", "") + "]").text() || "", value: i.value }), u++);
652                    }),
653                    p.length ? (f = p.map((e) => Object.entries(e).reduce((e, t, i) => `${e}${i > 0 ? "&&" : ""}${t[0]}=${t[1]}`, ""))) : (d = !1),
654                    t.find('.xpro-contact-form-require [required="required"]').each(function (t) {
655                        "" === e(this).val() && (d = !1);
656                    }),
657                    !d)
658                ) {
659                    (c = '<div class="xpro-alert xpro-alert-danger">' + o.required_field_message + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown(), r.hide();
660                    return;
661                }
662                if (o.recaptcha && !a) {
663                    (c = '<div class="xpro-alert xpro-alert-danger">' + o.captcha_message + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown(), r.hide();
664                    return;
665                }
666                t.find(".xpro-contact-form-message").slideUp(),
667                    e.ajax({ method: "POST", url: l, data: { postData: JSON.stringify(f), formName: o.form_name, formSubject: o.form_subject, captcha: a } }).done(function (e) {
668                        e.success
669                            ? ((c = '<div class="xpro-alert xpro-alert-success">' + o.success_message + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown())
670                            : ((c = '<div class="xpro-alert xpro-alert-danger">' + o.error_message + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown()),
671                            r.hide(),
672                            o.recaptcha && grecaptcha.reset();
673                    });
674            });
675        },
676        Search: function (e) {
677            let t = i.getElementSettings(e);
678            ("4" === t.layout || "5" === t.layout) &&
679                (e.find(".xpro-elementor-search-button").on("click", function (t) {
680                    t.preventDefault(), t.stopPropagation(), e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeIn(400), e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideDown(400);
681                }),
682                e.find(".xpro-elementor-search-button-close").on("click", function (t) {
683                    t.preventDefault(), t.stopPropagation(), e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeOut(400), e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideUp(400);
684                }));
685        },
686        CourseGrid: function (e) {
687            let t = i.getElementSettings(e),
688                o = e.find(".xpro-post-grid-main");
689            e.find(".xpro-post-grid-item"),
690                o.cubeportfolio({
691                    layoutMode: "grid",
692                    gridAdjustment: "responsive",
693                    mediaQueries: [
694                        { width: elementorFrontend.config.breakpoints.lg, cols: t.column_grid || 3, options: { gapHorizontal: t.space_between.size, gapVertical: t.space_between.size } },
695                        { width: elementorFrontend.config.breakpoints.md, cols: t.column_grid_tablet || 2, options: { gapHorizontal: t.space_between_tablet.size || 0, gapVertical: t.space_between_tablet.size || 0 } },
696                        { width: 0, cols: t.column_grid_mobile || 1, options: { gapHorizontal: t.space_between_mobile.size || 0, gapVertical: t.space_between_mobile.size || 0 } },
697                    ],
698                    displayType: "default",
699                    displayTypeSpeed: 0,
700                });
701        },
702        ProductGrid: function (t) {
703            let o = i.getElementSettings(t),
704                n = t.find(".xpro-woo-product-grid-main");
705            t.find(".xpro-woo-product-grid-item"),
706                t.find(".xpro-hv-qv-btn").click(function (i) {
707                    i.preventDefault();
708                    let o = e(this).attr("id"),
709                        n = { action: "load_quick_view_product_data", nonce: XproElementorAddons.nonce, id: o };
710                    e.ajax({
711                        url: XproElementorAddons.ajax_url,
712                        type: "post",
713                        data: n,
714                        dataType: "html",
715                        cache: !1,
716                        beforeSend: function () {
717                            t.find(".xpro-qv-loader-wrapper").css("display", "unset"), t.find(".xpro-qv-popup-wrapper").css("display", "none");
718                        },
719                        complete: function () {
720                            t.find(".xpro-qv-loader-wrapper").css("display", "none"), t.find(".xpro-qv-popup-wrapper").css("display", "unset"), t.find(".xpro-qv-popup-overlay").css({ opacity: "1", visibility: "visible" });
721                        },
722                        success: function (i) {
723                            t.find("#xpro_elementor_fetch_qv_data").html(i),
724                                e(".xpro-woo-qv-content-sec .variations_form").wc_variation_form().find(".variations select:eq(0)").trigger("change"),
725                                e(".xpro-woo-qv-content-sec .variations_form").trigger("wc_variation_form");
726                        },
727                    });
728                }),
729                t.on("click", ".xpro-woo-qv-cross", function (e) {
730                    e.preventDefault(), t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" });
731                }),
732                t.on("click", ".xpro-qv-popup-overlay", function (e) {
733                    e.preventDefault(), t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" });
734                }),
735                e(document).keyup(function (e) {
736                    27 === e.keyCode && (t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" }));
737                }),
738                t.on("click", "#xpro_elementor_fetch_qv_data .single_add_to_cart_button:not(.disabled)", function (i) {
739                    if ((i.preventDefault(), "" !== e(this).parents("form").attr("action"))) return (window.location.href = e(this).parents("form").attr("action")), !1;
740                    let o = e(this).closest("form");
741                    if (!o[0].checkValidity()) return o[0].reportValidity(), !1;
742                    let n = e(this),
743                        r = e(this).val();
744                    if ((e('input[name="variation_id"]').val(), e('input[name="quantity"]').val(), t.find(".woocommerce-grouped-product-list-item").length)) {
745                        let a = e("input.qty"),
746                            l = [];
747                        e.each(a, function (t, i) {
748                            let o = e(this).attr("name");
749                            (o = (o = o.replace("quantity[", "")).replace("]", "")), (o = parseInt(o)), e(this).val() && (l[o] = e(this).val());
750                        });
751                    }
752                    let s = o.serialize();
753                    n.is(".single_add_to_cart_button") &&
754                        (n.removeClass("added"),
755                        n.addClass("loading"),
756                        e.ajax({
757                            url: XproElementorAddons.ajax_url,
758                            type: "POST",
759                            data: "action=add_cart_single_product_ajax&product_id=" + r + "&nonce=" + XproElementorAddons.nonce + "&" + s,
760                            success: function (t) {
761                                e(document.body).trigger("wc_fragment_refresh"), n.removeClass("loading"), n.addClass("added");
762                            },
763                        }));
764                }),
765                n.cubeportfolio({
766                    layoutMode: "grid",
767                    gridAdjustment: "responsive",
768                    mediaQueries: [
769                        { width: elementorFrontend.config.breakpoints.lg, cols: o.column_grid || 3, options: { gapHorizontal: o.space_between.size, gapVertical: o.space_between.size } },
770                        { width: elementorFrontend.config.breakpoints.md, cols: o.column_grid_tablet || 2, options: { gapHorizontal: o.space_between_tablet.size || 0, gapVertical: o.space_between_tablet.size || 0 } },
771                        { width: 0, cols: o.column_grid_mobile || 1, options: { gapHorizontal: o.space_between_mobile.size || 0, gapVertical: o.space_between_mobile.size || 0 } },
772                    ],
773                    displayType: "default",
774                    displayTypeSpeed: 0,
775                });
776        },
777        HeroSlider: function (t) {
778            i.getElementSettings(t);
779            var o = t.find(".xpro-hero-slider").data("xpro-hero-slider-setting");
780            let n = new Swiper(t.find(".xpro-hero-slider")[0], {
781                parallax: !0,
782                speed: 100 * o.slide_speed,
783                spaceBetween: 0,
784                effect: o.slide_effect,
785                fadeEffect: { crossFade: !0 },
786                loop: o.loop,
787                autoplay: { enabled: o.autoplay, disableOnInteraction: !0, delay: o.autoplay_timeout ? 1e3 * o.autoplay_timeout : 3e3 },
788                pagination: { el: t.find(".swiper-pagination")[0], clickable: !0 },
789                navigation: { nextEl: t.find(".swiper-button-next")[0], prevEl: t.find(".swiper-button-prev")[0] },
790                allowTouchMove: o.mouse_drag,
791            });
792            n.on("slideChangeTransitionStart", function () {
793                var t,
794                    i = this;
795                e(i.slides[i.activeIndex])
796                    .find("[data-animation]")
797                    .each(function () {
798                        var t = e(this),
799                            o = "animated " + t.data("animation");
800                        t.addClass(o).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function () {
801                            t.removeClass(o);
802                        }),
803                            e(i.slides).removeClass("xpro-animation-init"),
804                            e(i.slides[i.activeIndex]).addClass("xpro-animation-init");
805                    });
806            });
807        },
808    };
809    e(window).on("elementor/frontend/init", i.init);
810})(jQuery, window.elementorFrontend);

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.