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