{"version":3,"file":"wcf-addons-pro.js","names":["$","adminbar_height","height","fn","wcf_tilt","options","_this","settings","extend","maxTilt","perspective","easing","scale","speed","reset","css","transition","concat","each","index","item","mousemove","e","cx","window","innerWidth","cy","innerHeight","dx","clientX","dy","clientY","tiltx","tilty","transform","mouseleave","on","device_width","width","elementorBreakpoints","elementorFrontend","config","responsive","activeBreakpoints","Modules","elementorModules","frontend","handlers","Base","gsap","_typeof","gsap_mm","matchMedia","horizontal_scroll","bindEvents","run","isEdit","getElementSettings","sections","$element","children","element","hasClass","length","addClass","match_media_key","breakpoint","value","to","xPercent","ease","scrollTrigger","trigger","pin","scrub","add","hover_image","find","append","setTimeout","image","mouseenter","delay","duration","autoAlpha","contentBox","getBoundingClientRect","x","y","set","mouse_move_effect","move_area","move_effect","getTypedValue","isNaN","Number","moveX","moveY","customConfig","get_custom_config","windowWidth","windowHeight","xPosPercent","yPosPercent","defaults","Object","assign","_this2","custom","data","properties","split","map","el","replace","property","filter","f","l","hooks","addAction","$scope","elementsHandler","addHandler","cursor_hover_effect","widget_id","getID","text","cursor","prepend","getWidgetType","findElement","yPercent","setCursorX","quickTo","setCursorY","tl","timeline","paused","opacity","document","play","html","reverse","_i","_arr","$skin","scroll_elements","links","images","data_navigation","data_image","start","end","pinSpacing","markers","scrollTo","autoKill","removeClass","i","section","ScrollTrigger","create","onToggle","self","isActive","onStart","_targets","cursor_enable","getKitSettings","cursor_follower","hide","show","setCursorFollowerX","setCursorFollowerY","advance_portfolio","animationSettings","animate_portfolio_content_five","animate_portfolio_content_three","animate_portfolio_content_four","animate_portfolio_content_eight","section_title","portfolioline","portfolio","t1","position","rotateX","arguments","undefined","skewSetter","clamp","utils","smoother","ScrollSmoother","smooth","smoothTouch","normalizeScroll","ignoreMobileResize","onUpdate","getVelocity","onStop","slider","go","dir","playing","up","part","next","appendChild","_objectSpread","animOptions","then","remove","down","current","slide_item","p","parts","createElement","href","attr","className","innerHTML","Math","max","wheel","clearTimeout","scrollTimeout","deltaY","querySelector","style","display","cols","main","getElementById","col","setProperty","push","Power4","easeInOut","addEventListener","alls","querySelectorAll","classList","advance_portfolio_skin","applyFilters","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","advance_portfolio_nine","items","total","addFilter","new_slider","toggle_switcher","checked","toggle_pane","toggle_label","change","toggleClass","filter_gallery","mixitUp","mixitup","magnificPopup","type","wrapper_link","anchor","click","Tilt_Effect","table_of_content","getDefaultSettings","elementSettings","listWrapperTag","marker_view","selectors","widgetContainer","postContentContainer","expandButton","collapseButton","body","headerTitle","classes","listWrapper","listItem","listTextWrapper","firstLevelListItem","listItemText","activeItem","headingAnchor","collapsed","getDefaultElements","getSettings","$pageContainer","getContainer","$widgetContainer","$expandButton","$collapseButton","$tocBody","$listItems","container","jQuery","$documentWrapper","parents","getHeadings","tags","headings_by_tags","join","excludedSelectors","exclude_headings_by_selector","elements","not","heading","closest","handleNoHeadingsFound","noHeadingsText","getHeadingAnchorLink","headingID","$headings","id","wrapperID","anchorLink","setHeadingsData","_this3","headingsData","tag","nodeName","slice","textContent","addAnchorsBeforeHeadings","_this4","before","activateItem","$listItem","deactivateActiveItem","$activeItem","$activeList","parent","eq","stop","slideDown","$activeToBe","is","_this$getSettings","contains","slideUp","followAnchor","_this5","anchorSelector","hash","$anchor","decodeURIComponent","waypoint","direction","itemClicked","viewportItems","$listItemTexts","offset","triggerOnce","keys","followAnchors","_this6","populateTOC","listItemPointer","hierarchical_view","createNestedList","createFlatList","onListItemClick","bind","isEditMode","_this7","forEach","level","currentOrderedItem","getNestedLevel","icon","renderedIcon","experimentalFeatures","e_font_icon_svg","rendered_tag","currentItem","listItemTextClasses","liContent","nextItem","collapseBodyListener","_this8","minimize_box","expandBox","event","triggerClickOnEnterSpace","collapseBox","collapse_subitems","target","slideToggle","_this9","$clickedItem","$list","collapseNestedList","listIsActive","changeFocus","boxHeight","getCurrentDeviceSetting","size","unit","ENTER_KEY","SPACE_KEY","keyCode","currentTarget","stopPropagation","breakpoints","getActiveBreakpointsList","withDesktop","minimizedOn","currentDeviceMode","getCurrentDeviceMode","isCollapsed","indexOf","image_accordion","_this10","expand","accordionItems","openAccordion","single","Advanced_tooltip","onInit","content","animation","showArrow","tooltip","parseHTML","scrollToTop","progressPath","pathLength","getTotalLength","WebkitTransition","strokeDasharray","strokeDashoffset","updateProgress","scroll","scrollTop","progress","top","behavior","preloader","ready","scrollIndicator","handleScrollIndicator","maxHeight","scrollHeight","widthPercentage","scrollY","wcf_header_settings","header"],"sources":["wcf-addons-pro.js"],"sourcesContent":["/* global WCF_ADDONS_JS */\r\n(function ($) {\r\n /**\r\n * @param $scope The Widget wrapper element as a jQuery element\r\n * @param $ The jQuery alias\r\n */\r\n let adminbar_height = $('#wpadminbar').height();\r\n\r\n //tilt\r\n $.fn.wcf_tilt = function (options) {\r\n this.settings = $.extend({\r\n maxTilt: 20,\r\n perspective: 1000, // Transform perspective, the lower the more extreme the tilt gets.\r\n easing: \"cubic-bezier(.03,.98,.52,.99)\", // Easing on enter/exit.\r\n scale: 1, // 2 = 200%, 1.5 = 150%, etc..\r\n speed: 3000, // Speed of the enter/exit transition.\r\n reset: true, // If the tilt effect has to be reset on exit.\r\n }, options);\r\n\r\n $(this).css({ transition: `all ${this.settings.speed}ms ${this.settings.easing}` });\r\n\r\n $(this).each((index, item) => {\r\n\r\n $(item).mousemove((e) => {\r\n let cx = window.innerWidth / 2;\r\n let cy = window.innerHeight / 2;\r\n\r\n let dx = e.clientX - cx;\r\n let dy = e.clientY - cy;\r\n\r\n let tiltx = (dy / cy) * this.settings.maxTilt;\r\n let tilty = -(dx / cx) * this.settings.maxTilt;\r\n\r\n $(item).css({ transform: `perspective(${this.settings.perspective}px) rotateX(${tiltx}deg) rotateY(${tilty}deg) scale3d(${this.settings.scale},${this.settings.scale},${this.settings.scale})` })\r\n })\r\n\r\n if (this.settings.reset) {\r\n $(item).mouseleave((e) => {\r\n $(item).css({ transform: '' })\r\n })\r\n }\r\n })\r\n }\r\n\r\n // Make sure you run this code under Elementor.\r\n $(window).on('elementor/frontend/init', function () {\r\n const device_width = $(window).width();\r\n const elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints;\r\n const Modules = elementorModules.frontend.handlers.Base;\r\n\r\n\r\n //gsap related\r\n if ('object' === typeof gsap) {\r\n\r\n let gsap_mm = gsap.matchMedia();\r\n\r\n //horizontal scroll\r\n const horizontal_scroll = Modules.extend({\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n run: function run() {\r\n\r\n if (this.isEdit) {\r\n return;\r\n }\r\n\r\n if ('yes' !== this.getElementSettings('wcf_enable_horizontal_scroll')) {\r\n return;\r\n }\r\n\r\n let sections = this.$element.children();\r\n let element = this.$element;\r\n let width = this.getElementSettings('horizontal_scroll_width');\r\n width = width['size'] + width['unit'];\r\n\r\n if (this.$element.hasClass('e-con-boxed')) {\r\n element = this.$element.children();\r\n sections = this.$element.children('.e-con-inner').children();\r\n }\r\n if (!sections.length) {\r\n return\r\n }\r\n element.addClass('wcf-horizontal-scroll')\r\n\r\n let match_media_key = 'all';\r\n\r\n //if has min max key\r\n if (this.getElementSettings('horizontal_scroll_breakpoint')) {\r\n const breakpoint = elementorBreakpoints[this.getElementSettings('horizontal_scroll_breakpoint')].value + 1;\r\n match_media_key = 'min-width: ' + breakpoint + 'px';\r\n }\r\n\r\n if ('all' === match_media_key) {\r\n element.css({ 'width': width, 'max-width': width, 'transition': 'none', 'height': '100%' });\r\n sections.css({ 'transition': 'none', 'height': '100%' })\r\n gsap.to(sections, {\r\n xPercent: -100 * (sections.length - 1),\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: element,\r\n pin: true,\r\n scrub: 1,\r\n // // base vertical scrolling on how wide the container is so it feels more natural.\r\n // end: \"+=3500\", if height is not vh create an extra space\r\n }\r\n });\r\n return () => {\r\n // custom cleanup code here (runs when it STOPS matching)\r\n element.css({\r\n 'width': 'var(--width)',\r\n 'max-width': 'min(100%,var(--width))',\r\n 'height': 'auto'\r\n });\r\n };\r\n } else {\r\n gsap_mm.add(`(${match_media_key})`, () => {\r\n element.css({\r\n 'width': width,\r\n 'max-width': width,\r\n 'transition': 'none',\r\n 'height': '100%'\r\n });\r\n sections.css({ 'transition': 'none', 'height': '100%' })\r\n gsap.to(sections, {\r\n xPercent: -100 * (sections.length - 1),\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: element,\r\n pin: true,\r\n scrub: 1,\r\n // // base vertical scrolling on how wide the container is so it feels more natural.\r\n // end: \"+=3500\", if height is not vh create an extra space\r\n }\r\n });\r\n return () => {\r\n // custom cleanup code here (runs when it STOPS matching)\r\n element.css({\r\n 'width': 'var(--width)',\r\n 'max-width': 'min(100%,var(--width))',\r\n 'height': 'auto'\r\n });\r\n };\r\n });\r\n }\r\n },\r\n });\r\n\r\n //image hover effect\r\n const hover_image = Modules.extend({\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n run: function run() {\r\n if (this.getElementSettings('wcf_enable_hover_image')) {\r\n\r\n if (this.isEdit && !this.getElementSettings('wcf_enable_hover_image_editor')) {\r\n return;\r\n }\r\n\r\n const element = $(this.$element);\r\n\r\n if (0 === element.find('.wcf-image-hover').length) {\r\n element.append('
');\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n const image = $(element.find('.wcf-image-hover'));\r\n\r\n $(element).mouseenter(function (e) {\r\n gsap.to(image, { delay: 0, duration: 0, autoAlpha: 1 })\r\n });\r\n\r\n $(element).mouseleave(function (e) {\r\n gsap.to(image, { delay: 0, duration: 0, autoAlpha: 0 })\r\n });\r\n\r\n $(element).mousemove(function (e) {\r\n\r\n const contentBox = element[0].getBoundingClientRect();\r\n\r\n const dx = e.clientX - contentBox.x;\r\n const dy = e.clientY - contentBox.y;\r\n\r\n gsap.set(image, { delay: 0, duration: 0, x: dx, y: dy })\r\n });\r\n\r\n }, 100);\r\n\r\n }\r\n\r\n },\r\n });\r\n\r\n //mouse hover effect\r\n const mouse_move_effect = Modules.extend({\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n run: function run() {\r\n\r\n if (this.isEdit) {\r\n return;\r\n }\r\n\r\n if (!this.getElementSettings('wcf_enable_mouse_move_effect')) {\r\n return;\r\n }\r\n\r\n let move_area = this.$element;\r\n\r\n if ('custom' === this.getElementSettings('wcf_mouse_move_area_trigger')) {\r\n move_area = $(this.getElementSettings('wcf_custom_mouse_move_area'));\r\n }\r\n\r\n move_area.on('mousemove', this.move_effect)\r\n },\r\n\r\n getTypedValue: function (value) {\r\n\r\n if (!isNaN(Number(value)) && (value !== true && value !== false)) {\r\n return Number(value);\r\n } else {\r\n\r\n if (value == 'true') {\r\n return true\r\n } else if (value == 'false') {\r\n return false\r\n } else {\r\n return value\r\n }\r\n }\r\n },\r\n\r\n move_effect: function (e) {\r\n const moveX = this.getElementSettings('wcf_mouse_move_x');\r\n const moveY = this.getElementSettings('wcf_mouse_move_y');\r\n const duration = this.getElementSettings('wcf_mouse_move_duration');\r\n const customConfig = this.get_custom_config();\r\n\r\n // Get window width and height\r\n const windowWidth = window.innerWidth;\r\n const windowHeight = window.innerHeight;\r\n\r\n // Calculate the percentage of the cursor's position relative to the screen\r\n const xPosPercent = e.clientX / windowWidth - 0.5;\r\n const yPosPercent = e.clientY / windowHeight - 0.5;\r\n\r\n const defaults = {\r\n x: xPosPercent * moveX,\r\n y: yPosPercent * moveY,\r\n ease: \"power3.out\",\r\n duration: duration,\r\n }\r\n\r\n const config = Object.assign({}, customConfig, defaults);\r\n\r\n // GSAP animation to move the image\r\n gsap.to(this.$element, config);\r\n },\r\n\r\n get_custom_config: function () {\r\n const custom = this.getElementSettings('wcf_mouse_move_custom');\r\n let data = {};\r\n if (!custom) {\r\n return data\r\n }\r\n\r\n if (custom.length) {\r\n const properties = custom.split(\",\");\r\n properties.map((el) => {\r\n\r\n // console.log(el)\r\n\r\n if (0 === el.replace(/\\s/g, '').length) {\r\n return;\r\n }\r\n\r\n let property = el.split(\":\").filter((e) => 0 !== e.replace(/\\s/g, '').length)\r\n\r\n if (2 !== property.length) {\r\n return;\r\n }\r\n\r\n // First item of the array\r\n let f = property[0].replace(/\\s/g, '');\r\n\r\n // Last item of the array\r\n let l = property[property.length - 1].replace(/\\s/g, '');\r\n\r\n\r\n data[f] = this.getTypedValue(l);\r\n\r\n });\r\n }\r\n return data;\r\n }\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/widget', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(mouse_move_effect, {\r\n $element: $scope\r\n });\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/container', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(mouse_move_effect, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n //cursor hover effect\r\n const cursor_hover_effect = Modules.extend({\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n run: function run() {\r\n\r\n if (this.getElementSettings('wcf_enable_cursor_hover_effect')) {\r\n const widget_id = this.getID();\r\n const text = this.getElementSettings('wcf_enable_cursor_hover_effect_text');\r\n\r\n let cursor = $(`.wcf-hover-cursor-effect.active-${widget_id}`);\r\n\r\n if (this.isEdit && !this.getElementSettings('wcf_enable_cursor_hover_effect_editor')) {\r\n cursor.css({ 'display': 'none' })\r\n return;\r\n }\r\n\r\n cursor.css({ 'display': 'flex' })\r\n\r\n if (!$(`.wcf-hover-cursor-effect.active-${widget_id}`).length) {\r\n $('body').prepend(`
`);\r\n }\r\n\r\n cursor = $(`.wcf-hover-cursor-effect.active-${widget_id}`);\r\n\r\n let element = $(this.$element);\r\n\r\n if ('wcf--a-portfolio' === this.getWidgetType()) {\r\n element = $(this.findElement('article'))\r\n }\r\n\r\n gsap.set(cursor, {\r\n xPercent: -50,\r\n yPercent: -50,\r\n scale: 0\r\n });\r\n\r\n const setCursorX = gsap.quickTo(cursor, \"x\", {\r\n duration: 0.6,\r\n ease: \"expo\"\r\n });\r\n\r\n const setCursorY = gsap.quickTo(cursor, \"y\", {\r\n duration: 0.6,\r\n ease: \"expo\"\r\n });\r\n\r\n const tl = gsap.timeline({\r\n paused: true\r\n });\r\n\r\n tl.to(cursor, {\r\n scale: 1,\r\n opacity: 1,\r\n duration: 0.5,\r\n ease: \"expo.inOut\"\r\n });\r\n\r\n $(document).mousemove(function (e) {\r\n setCursorX(e.clientX);\r\n setCursorY(e.clientY);\r\n });\r\n\r\n $(element).mouseenter((e) => {\r\n tl.play();\r\n cursor.html(text);\r\n });\r\n\r\n $(element).mouseleave((e) => {\r\n tl.reverse();\r\n });\r\n }\r\n },\r\n\r\n });\r\n\r\n for (const $skin of [\r\n 'skin-portfolio-one',\r\n 'skin-portfolio-two',\r\n 'skin-portfolio-three',\r\n 'skin-portfolio-four',\r\n 'skin-portfolio-five',\r\n 'skin-portfolio-six',\r\n 'skin-portfolio-seven',\r\n 'skin-portfolio-eight',\r\n 'skin-portfolio-nine',\r\n ]) {\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--a-portfolio.${$skin}`, function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(cursor_hover_effect, {\r\n $element: $scope\r\n });\r\n });\r\n }\r\n elementorFrontend.hooks.addAction('frontend/element_ready/container', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(hover_image, {\r\n $element: $scope\r\n });\r\n elementorFrontend.elementsHandler.addHandler(cursor_hover_effect, {\r\n $element: $scope\r\n });\r\n elementorFrontend.elementsHandler.addHandler(horizontal_scroll, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n //scroll elements\r\n const scroll_elements = function ($scope) {\r\n const links = $(\".scroll-title\", $scope);\r\n const images = $(\".image-wrap img\", $scope);\r\n const sections = $(\".single-content\", $scope);\r\n const data_navigation = $('.wcf--scroll-elements', $scope).data('navigation')\r\n const data_image = $('.wcf--scroll-elements', $scope).data('image')\r\n\r\n if ('yes' === data_navigation) {\r\n gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $scope,\r\n start: \"top top\",\r\n end: \"bottom bottom\",\r\n pin: $('.scroll-nav-bar', $scope),\r\n pinSpacing: false,\r\n scrub: true,\r\n markers: false\r\n }\r\n });\r\n\r\n links.each((index, item) => {\r\n $(item).on('click', function (e) {\r\n gsap.to(window, {\r\n duration: 1,\r\n scrollTo: { y: sections[index], autoKill: true, ease: \"power2\" }\r\n });\r\n links.removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n })\r\n })\r\n }\r\n\r\n if ('yes' === data_image) {\r\n gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $scope,\r\n pin: $('.scroll-images', $scope),\r\n pinSpacing: false,\r\n start: \"top top\",\r\n end: \"bottom bottom\",\r\n markers: false\r\n }\r\n })\r\n }\r\n\r\n if ('yes' === data_navigation || 'yes' === data_image) {\r\n sections.each((i, section) => {\r\n ScrollTrigger.create({\r\n trigger: section,\r\n start: \"top center\",\r\n end: \"bottom center\",\r\n markers: false,\r\n onToggle: self => {\r\n if (self.isActive) {\r\n if ('yes' === data_navigation) {\r\n gsap.to(links[i], {\r\n scale: 1, //1.3\r\n onStart: function () {\r\n $(this._targets).addClass('active')\r\n }\r\n })\r\n }\r\n if ('yes' === data_image) {\r\n gsap.to(images[i], {\r\n opacity: 1,\r\n duration: 1,\r\n scale: 1,\r\n })\r\n }\r\n\r\n } else {\r\n if ('yes' === data_navigation) {\r\n gsap.to(links[i], {\r\n scale: 1,\r\n onStart: function () {\r\n $(this._targets).removeClass('active')\r\n }\r\n })\r\n }\r\n if ('yes' === data_image) {\r\n gsap.to(images[i], {\r\n opacity: 0,\r\n duration: 1,\r\n scale: 1.2,\r\n })\r\n }\r\n }\r\n }\r\n });\r\n })\r\n }\r\n }\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--scroll-elements.default`, scroll_elements);\r\n\r\n //wcf cursor\r\n const cursor = function () {\r\n\r\n const cursor_enable = elementorFrontend.getKitSettings('wcf_enable_cursor');\r\n\r\n if (!cursor_enable) {\r\n return;\r\n }\r\n\r\n const cursor = $('.wcf-cursor');\r\n const cursor_follower = $('.wcf-cursor-follower');\r\n\r\n const breakpoint = elementorBreakpoints[elementorFrontend.getKitSettings('wcf_cursor_breakpoint')].value;\r\n\r\n if ($(window).width() < breakpoint) {\r\n cursor.hide()\r\n cursor_follower.hide()\r\n return;\r\n }\r\n\r\n cursor.css('display', 'flex')\r\n cursor_follower.show()\r\n\r\n\r\n gsap.set(cursor, {\r\n xPercent: -50,\r\n yPercent: -50,\r\n scale: 0\r\n });\r\n\r\n gsap.set(cursor_follower, {\r\n xPercent: -50,\r\n yPercent: -50,\r\n scale: 0\r\n });\r\n\r\n const setCursorX = gsap.quickTo(cursor, \"x\", {\r\n duration: 0.6,\r\n ease: \"power4.out\"\r\n });\r\n\r\n const setCursorFollowerX = gsap.quickTo(cursor_follower, \"x\", {\r\n duration: 0.6,\r\n ease: \"power4.out\"\r\n });\r\n\r\n const setCursorY = gsap.quickTo(cursor, \"y\", {\r\n duration: 0.6,\r\n ease: \"power4.out\"\r\n });\r\n\r\n const setCursorFollowerY = gsap.quickTo(cursor_follower, \"y\", {\r\n duration: 0.6,\r\n ease: \"power4.out\"\r\n });\r\n\r\n const tl = gsap.timeline({\r\n paused: true\r\n });\r\n\r\n tl.to(cursor, {\r\n scale: 1,\r\n opacity: 1,\r\n duration: 0.5,\r\n ease: \"power4.out\"\r\n });\r\n\r\n tl.to(cursor_follower, {\r\n scale: 1,\r\n opacity: 1,\r\n duration: 0.5,\r\n ease: \"power4.out\"\r\n });\r\n\r\n $(document).mousemove(function (e) {\r\n tl.play();\r\n setCursorX(e.clientX);\r\n setCursorY(e.clientY);\r\n setCursorFollowerX(e.clientX);\r\n setCursorFollowerY(e.clientY);\r\n });\r\n }\r\n\r\n cursor();\r\n\r\n //advance portfolio\r\n const advance_portfolio = function ($scope) {\r\n\r\n const animationSettings = $('.wcf--advance-portfolio', $scope).data('animation-settings');\r\n\r\n if ('yes' === animationSettings['enable']) {\r\n\r\n if ('skin-portfolio-five' === animationSettings['skin']) {\r\n animate_portfolio_content_five($scope);\r\n }\r\n\r\n if ($scope.hasClass('elementor-element-edit-mode') && '' === animationSettings['enable_editor']) {\r\n return;\r\n }\r\n\r\n if (animationSettings['breakpoint']) {\r\n const breakpoint = elementorBreakpoints[animationSettings['breakpoint']].value;\r\n gsap_mm.add(`(${'min-width: ' + breakpoint + 'px'})`, () => {\r\n\r\n if ('skin-portfolio-three' === animationSettings['skin']) {\r\n animate_portfolio_content_three($scope, animationSettings);\r\n }\r\n\r\n if ('skin-portfolio-four' === animationSettings['skin']) {\r\n animate_portfolio_content_four($scope, animationSettings);\r\n }\r\n });\r\n\r\n } else {\r\n if ('skin-portfolio-three' === animationSettings['skin']) {\r\n animate_portfolio_content_three($scope, animationSettings);\r\n }\r\n\r\n if ('skin-portfolio-four' === animationSettings['skin']) {\r\n animate_portfolio_content_four($scope, animationSettings);\r\n }\r\n }\r\n }\r\n\r\n if ('skin-portfolio-eight' === animationSettings['skin']) {\r\n animate_portfolio_content_eight($scope, animationSettings);\r\n }\r\n\r\n };\r\n const animate_portfolio_content_three = function ($scope, animationSettings) {\r\n\r\n const section_title = $('.section-title', $scope)\r\n\r\n //add the pre styles\r\n $('.item', $scope).css({\r\n 'scale': 0.5,\r\n 'opacity': 0,\r\n '-webkit-transform': 'perspective(4000px) rotateX(90deg)',\r\n 'transform': 'perspective(4000px) rotateX(90deg)',\r\n })\r\n\r\n let portfolioline = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $scope,\r\n start: animationSettings['pin_area_start'],\r\n pin: section_title,\r\n end: animationSettings['pin_area_end'],\r\n markers: false,\r\n pinSpacing: false,\r\n scrub: 1,\r\n }\r\n })\r\n\r\n portfolioline.to(section_title, {\r\n scale: 3,\r\n duration: 1\r\n })\r\n\r\n portfolioline.to(section_title, {\r\n scale: 1,\r\n duration: 1\r\n }, \"+=2\")\r\n\r\n\r\n $('.item', $scope).each((index, portfolio) => {\r\n\r\n gsap.set(portfolio, { opacity: 0.7 })\r\n let t1 = gsap.timeline()\r\n\r\n t1.set(portfolio, {\r\n position: \"relative\",\r\n })\r\n t1.to(portfolio, {\r\n scrollTrigger: {\r\n trigger: portfolio,\r\n scrub: 2,\r\n duration: 1.5,\r\n start: \"top bottom+=100\",\r\n end: \"bottom center\",\r\n markers: false\r\n },\r\n scale: 1,\r\n opacity: 1,\r\n rotateX: 0,\r\n })\r\n });\r\n };\r\n const animate_portfolio_content_four = function ($scope, animationSettings = []) {\r\n\r\n let skewSetter = gsap.quickTo($('.wcf--advance-portfolio.skin-portfolio-four img'), \"skewY\"),\r\n clamp = gsap.utils.clamp(-15, 15);\r\n\r\n const smoother = ScrollSmoother.create({\r\n smooth: 1.35,\r\n smoothTouch: false,\r\n normalizeScroll: false,\r\n ignoreMobileResize: true,\r\n onUpdate: self => skewSetter(clamp(self.getVelocity() / -80)),\r\n onStop: () => skewSetter(0)\r\n });\r\n\r\n };\r\n const animate_portfolio_content_five = function ($scope) {\r\n $('.item', $scope).wcf_tilt();\r\n };\r\n const animate_portfolio_content_eight = function ($scope, animationSettings) {\r\n\r\n let slider = $(\".slider_items\", $scope);\r\n\r\n if (slider) {\r\n document.querySelector(\".slider_items\").style.display = 'none';\r\n let cols = 1;\r\n if ($(window).width() > 767) {\r\n cols = 3;\r\n }\r\n //not working properly\r\n // console.log(device_width)\r\n\r\n const main = document.getElementById(\"main-\" + animationSettings['skin']);\r\n let parts = [];\r\n\r\n var slide_item = $('.slide_item', $scope)\r\n\r\n let current = 0;\r\n let playing = false;\r\n\r\n for (let col = 0; col < cols; col++) {\r\n let part = document.createElement(\"div\");\r\n part.className = \"part\";\r\n let el = document.createElement(\"a\");\r\n el.className = \"section\";\r\n el.href = $(slide_item[current]).find('a').attr('href');\r\n\r\n el.innerHTML = slide_item[current].innerHTML;\r\n\r\n part.style.setProperty(\"--x\", -100 * col + \"%\");\r\n part.style.setProperty(\"--image-width\", $(main).width() + 'px');\r\n part.appendChild(el);\r\n main.appendChild(part);\r\n parts.push(part);\r\n }\r\n\r\n\r\n // Rollover UP & Down Mouse Wheel Navigation\r\n let animOptions = {\r\n duration: 2.3,\r\n ease: Power4.easeInOut\r\n };\r\n\r\n function go(dir) {\r\n if (!playing) {\r\n playing = true;\r\n if (current + dir < 0) current = slide_item.length - 1;\r\n else if (current + dir >= slide_item.length) current = 0;\r\n else current += dir;\r\n\r\n function up(part, next) {\r\n part.appendChild(next);\r\n gsap\r\n .to(part, { ...animOptions, y: -window.innerHeight })\r\n .then(function () {\r\n part.children[0].remove();\r\n gsap.to(part, { duration: 0, y: 0 });\r\n });\r\n }\r\n\r\n function down(part, next) {\r\n part.prepend(next);\r\n gsap.to(part, { duration: 0, y: -window.innerHeight });\r\n gsap.to(part, { ...animOptions, y: 0 }).then(function () {\r\n part.children[1].remove();\r\n playing = false;\r\n });\r\n }\r\n\r\n for (let p in parts) {\r\n let part = parts[p];\r\n\r\n let next = document.createElement(\"a\");\r\n next.href = $(slide_item[current]).find('a').attr('href');\r\n next.className = \"section\";\r\n\r\n next.innerHTML = slide_item[current].innerHTML;\r\n\r\n if ((p - Math.max(0, dir)) % 2) {\r\n down(part, next);\r\n } else {\r\n up(part, next);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Mouse Wheel Scroll Transition\r\n let scrollTimeout;\r\n\r\n function wheel(e) {\r\n clearTimeout(scrollTimeout);\r\n setTimeout(function () {\r\n if (e.deltaY < -40) {\r\n go(-1);\r\n } else if (e.deltaY >= 40) {\r\n go(1);\r\n }\r\n });\r\n }\r\n\r\n window.addEventListener(\"mousewheel\", wheel, false);\r\n window.addEventListener(\"wheel\", wheel, false);\r\n\r\n let alls = document.querySelectorAll(`#main-${animationSettings['skin']} .part`);\r\n alls[0].classList.add('showed');\r\n }\r\n\r\n };\r\n\r\n const advance_portfolio_skin = elementorFrontend.hooks.applyFilters('wcf/widgets/a-portfolio', [\r\n 'skin-portfolio-three',\r\n 'skin-portfolio-four',\r\n 'skin-portfolio-five',\r\n 'skin-portfolio-eight',\r\n ]);\r\n for (const $skin of advance_portfolio_skin) {\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--a-portfolio.${$skin}`, advance_portfolio);\r\n }\r\n\r\n const advance_portfolio_nine = function ($scope) {\r\n let items = $('.item', $scope);\r\n\r\n let total = items.length\r\n if (total < 10) {\r\n total = '0' + total\r\n }\r\n $('.total', $scope).html(total)\r\n\r\n gsap.timeline({\r\n scrollTrigger: {\r\n trigger: $scope,\r\n start: \"top top\",\r\n end: \"bottom bottom\",\r\n pin: $('.widget_header', $scope),\r\n pinSpacing: false,\r\n scrub: true,\r\n markers: false\r\n }\r\n });\r\n\r\n items.each((i, item) => {\r\n ScrollTrigger.create({\r\n trigger: item,\r\n start: \"top center\",\r\n end: \"bottom center\",\r\n markers: false,\r\n onToggle: self => {\r\n if (self.isActive) {\r\n $('.current', $scope).html(i + 1);\r\n }\r\n }\r\n });\r\n })\r\n };\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--a-portfolio.skin-portfolio-nine`, advance_portfolio_nine);\r\n }\r\n\r\n //slider\r\n elementorFrontend.hooks.addFilter('wcf/widgets/slider', function (el) {\r\n const new_slider = {\r\n 'a-portfolio': [\r\n \"skin-portfolio-one\",\r\n \"skin-portfolio-two\",\r\n \"skin-portfolio-six\",\r\n \"skin-portfolio-seven\"\r\n ]\r\n }\r\n return Object.assign({}, el, new_slider);\r\n })\r\n\r\n //Toggle Switcher\r\n const toggle_switcher = function ($scope) {\r\n const checked = $(\"input\", $scope);\r\n const toggle_pane = $(\".toggle-pane\", $scope);\r\n const toggle_label = $(\".before_label, .after_label\", $scope);\r\n\r\n checked.change(function () {\r\n toggle_pane.toggleClass('show');\r\n toggle_label.toggleClass('active');\r\n })\r\n }\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--toggle-switch.default`, toggle_switcher);\r\n\r\n //filterable Gallery\r\n const filter_gallery = function ($scope) {\r\n const mixitUp = $('.gallery-wrapper', $scope)\r\n if (mixitUp.length) {\r\n mixitup(mixitUp);\r\n }\r\n\r\n //popup\r\n $('.gallery-item', $scope).magnificPopup({\r\n type: 'iframe'\r\n });\r\n }\r\n elementorFrontend.hooks.addAction(`frontend/element_ready/wcf--filterable-gallery.default`, filter_gallery);\r\n\r\n //wrapper Link\r\n const wrapper_link = function ($scope) {\r\n const attr = $scope.data('wcf-wrapper-link');\r\n\r\n if (undefined === attr) {\r\n return\r\n }\r\n\r\n $scope.on('click', function () {\r\n let anchor = document.createElement('a')\r\n $(anchor).attr(attr);\r\n anchor.click();\r\n });\r\n };\r\n elementorFrontend.hooks.addAction('frontend/element_ready/container', wrapper_link);\r\n\r\n //Tilt Effect\r\n const Tilt_Effect = Modules.extend({\r\n run: function run() {\r\n\r\n if ('yes' !== this.getElementSettings('wcf_enable_tilt')) {\r\n return;\r\n }\r\n\r\n if (this.isEdit && !this.getElementSettings('wcf_enable_tilt_editor')) {\r\n return;\r\n }\r\n\r\n\r\n let settings = {}\r\n\r\n let maxTilt = this.getElementSettings('wcf_max_tilt');\r\n let perspective = this.getElementSettings('wcf_tilt_perspective');\r\n let scale = this.getElementSettings('wcf_tilt_scale');\r\n let speed = this.getElementSettings('wcf_tilt_speed');\r\n\r\n if (maxTilt) {\r\n settings.maxTilt = maxTilt;\r\n }\r\n\r\n if (maxTilt) {\r\n settings.perspective = perspective;\r\n }\r\n\r\n if (maxTilt) {\r\n settings.scale = scale;\r\n }\r\n\r\n if (maxTilt) {\r\n settings.speed = speed;\r\n }\r\n\r\n this.$element.wcf_tilt(settings);\r\n },\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n });\r\n\r\n elementorFrontend.hooks.addAction('frontend/element_ready/widget', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(Tilt_Effect, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n elementorFrontend.hooks.addAction('frontend/element_ready/container', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(Tilt_Effect, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n //table of content\r\n const table_of_content = Modules.extend({\r\n getDefaultSettings: function getDefaultSettings() {\r\n const elementSettings = this.getElementSettings(),\r\n listWrapperTag = 'numbers' === elementSettings.marker_view ? 'ol' : 'ul';\r\n return {\r\n selectors: {\r\n widgetContainer: '.elementor-widget-container',\r\n postContentContainer: '.elementor:not([data-elementor-type=\"header\"]):not([data-elementor-type=\"footer\"]):not([data-elementor-type=\"popup\"])',\r\n expandButton: '.toc__toggle-button--expand',\r\n collapseButton: '.toc__toggle-button--collapse',\r\n body: '.toc__body',\r\n headerTitle: '.toc__header-title'\r\n },\r\n classes: {\r\n anchor: 'elementor-menu-anchor',\r\n listWrapper: 'toc__list-wrapper',\r\n listItem: 'toc__list-item',\r\n listTextWrapper: 'toc__list-item-text-wrapper',\r\n firstLevelListItem: 'toc__top-level',\r\n listItemText: 'toc__list-item-text',\r\n activeItem: 'elementor-item-active',\r\n headingAnchor: 'toc__heading-anchor',\r\n collapsed: 'toc--collapsed'\r\n },\r\n listWrapperTag\r\n };\r\n },\r\n getDefaultElements: function getDefaultElements() {\r\n const settings = this.getSettings();\r\n return {\r\n $pageContainer: this.getContainer(),\r\n $widgetContainer: this.$element.find(settings.selectors.widgetContainer),\r\n $expandButton: this.$element.find(settings.selectors.expandButton),\r\n $collapseButton: this.$element.find(settings.selectors.collapseButton),\r\n $tocBody: this.$element.find(settings.selectors.body),\r\n $listItems: this.$element.find('.' + settings.classes.listItem)\r\n };\r\n },\r\n getContainer: function getContainer() {\r\n const elementSettings = this.getElementSettings();\r\n\r\n // If there is a custom container defined by the user, use it as the headings-scan container\r\n if (elementSettings.container) {\r\n return jQuery(elementSettings.container);\r\n }\r\n\r\n // Get the document wrapper element in which the TOC is located\r\n const $documentWrapper = this.$element.parents('.elementor');\r\n\r\n // If the TOC container is a popup, only scan the popup for headings\r\n if ('popup' === $documentWrapper.attr('data-elementor-type')) {\r\n return $documentWrapper;\r\n }\r\n\r\n // If the TOC container is anything other than a popup, scan only the post/page content for headings\r\n const settings = this.getSettings();\r\n return jQuery(settings.selectors.postContentContainer);\r\n },\r\n getHeadings: function () {\r\n // Get all headings from document by user-selected tags\r\n const elementSettings = this.getElementSettings(),\r\n tags = elementSettings.headings_by_tags.join(','),\r\n selectors = this.getSettings('selectors'),\r\n excludedSelectors = elementSettings.exclude_headings_by_selector;\r\n return this.elements.$pageContainer.find(tags).not(selectors.headerTitle).filter((index, heading) => {\r\n return !jQuery(heading).closest(excludedSelectors).length; // Handle excluded selectors if there are any\r\n });\r\n },\r\n handleNoHeadingsFound: function () {\r\n const noHeadingsText = 'No headings were found on this page.';\r\n return this.elements.$tocBody.html(noHeadingsText);\r\n },\r\n getHeadingAnchorLink: function (index, classes) {\r\n const headingID = this.elements.$headings[index].id,\r\n wrapperID = this.elements.$headings[index].closest('.elementor-widget').id;\r\n let anchorLink = '';\r\n if (headingID) {\r\n anchorLink = headingID;\r\n } else if (wrapperID) {\r\n // If the heading itself has an ID, we don't want to overwrite it\r\n anchorLink = wrapperID;\r\n }\r\n\r\n // If there is no existing ID, use the heading text to create a semantic ID\r\n if (headingID || wrapperID) {\r\n jQuery(this.elements.$headings[index]).data('hasOwnID', true);\r\n } else {\r\n anchorLink = `${classes.headingAnchor}-${index}`;\r\n }\r\n return anchorLink;\r\n },\r\n setHeadingsData: function () {\r\n this.headingsData = [];\r\n const classes = this.getSettings('classes');\r\n\r\n // Create an array for simplifying TOC list creation\r\n this.elements.$headings.each((index, element) => {\r\n const anchorLink = this.getHeadingAnchorLink(index, classes);\r\n this.headingsData.push({\r\n tag: +element.nodeName.slice(1),\r\n text: element.textContent,\r\n anchorLink\r\n });\r\n });\r\n },\r\n addAnchorsBeforeHeadings: function () {\r\n const classes = this.getSettings('classes');\r\n\r\n // Add an anchor element right before each TOC heading to create anchors for TOC links\r\n this.elements.$headings.before(index => {\r\n // Check if the heading element itself has an ID, or if it is a widget which includes a main heading element, whether the widget wrapper has an ID\r\n if (jQuery(this.elements.$headings[index]).data('hasOwnID')) {\r\n return;\r\n }\r\n return ``;\r\n });\r\n },\r\n activateItem: function ($listItem) {\r\n const classes = this.getSettings('classes');\r\n this.deactivateActiveItem($listItem);\r\n $listItem.addClass(classes.activeItem);\r\n this.$activeItem = $listItem;\r\n if (!this.getElementSettings('collapse_subitems')) {\r\n return;\r\n }\r\n let $activeList;\r\n if ($listItem.hasClass(classes.firstLevelListItem)) {\r\n $activeList = $listItem.parent().next();\r\n } else {\r\n $activeList = $listItem.parents('.' + classes.listWrapper).eq(-2);\r\n }\r\n if (!$activeList.length) {\r\n delete this.$activeList;\r\n return;\r\n }\r\n this.$activeList = $activeList;\r\n this.$activeList.stop().slideDown();\r\n },\r\n deactivateActiveItem: function ($activeToBe) {\r\n if (!this.$activeItem || this.$activeItem.is($activeToBe)) {\r\n return;\r\n }\r\n const {\r\n classes\r\n } = this.getSettings();\r\n this.$activeItem.removeClass(classes.activeItem);\r\n if (this.$activeList && (!$activeToBe || !this.$activeList[0].contains($activeToBe[0]))) {\r\n this.$activeList.slideUp();\r\n }\r\n },\r\n followAnchor: function ($element, index) {\r\n const anchorSelector = $element[0].hash;\r\n let $anchor;\r\n try {\r\n // `decodeURIComponent` for UTF8 characters in the hash.\r\n $anchor = jQuery(decodeURIComponent(anchorSelector));\r\n } catch (e) {\r\n return;\r\n }\r\n\r\n elementorFrontend.waypoint($anchor, direction => {\r\n if (this.itemClicked) {\r\n return;\r\n }\r\n const id = $anchor.attr('id');\r\n if ('down' === direction) {\r\n this.viewportItems[id] = true;\r\n this.activateItem($element);\r\n } else {\r\n delete this.viewportItems[id];\r\n this.activateItem(this.$listItemTexts.eq(index - 1));\r\n }\r\n }, {\r\n offset: 'bottom-in-view',\r\n triggerOnce: false\r\n });\r\n elementorFrontend.waypoint($anchor, direction => {\r\n if (this.itemClicked) {\r\n return;\r\n }\r\n const id = $anchor.attr('id');\r\n if ('down' === direction) {\r\n delete this.viewportItems[id];\r\n if (Object.keys(this.viewportItems).length) {\r\n this.activateItem(this.$listItemTexts.eq(index + 1));\r\n }\r\n } else {\r\n this.viewportItems[id] = true;\r\n this.activateItem($element);\r\n }\r\n }, {\r\n offset: 0,\r\n triggerOnce: false\r\n });\r\n },\r\n followAnchors: function () {\r\n this.$listItemTexts.each((index, element) => this.followAnchor(jQuery(element), index));\r\n },\r\n populateTOC: function () {\r\n this.listItemPointer = 0;\r\n const elementSettings = this.getElementSettings();\r\n if (elementSettings.hierarchical_view) {\r\n this.createNestedList();\r\n } else {\r\n this.createFlatList();\r\n }\r\n this.$listItemTexts = this.$element.find('.toc__list-item-text');\r\n this.$listItemTexts.on('click', this.onListItemClick.bind(this));\r\n if (!elementorFrontend.isEditMode()) {\r\n this.followAnchors();\r\n }\r\n },\r\n createNestedList: function () {\r\n this.headingsData.forEach((heading, index) => {\r\n heading.level = 0;\r\n for (let i = index - 1; i >= 0; i--) {\r\n const currentOrderedItem = this.headingsData[i];\r\n if (currentOrderedItem.tag <= heading.tag) {\r\n heading.level = currentOrderedItem.level;\r\n if (currentOrderedItem.tag < heading.tag) {\r\n heading.level++;\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n this.elements.$tocBody.html(this.getNestedLevel(0));\r\n },\r\n createFlatList: function () {\r\n this.elements.$tocBody.html(this.getNestedLevel());\r\n },\r\n getNestedLevel: function (level) {\r\n const settings = this.getSettings(),\r\n elementSettings = this.getElementSettings(),\r\n icon = this.getElementSettings('icon');\r\n let renderedIcon;\r\n if (icon) {\r\n // We generate the icon markup in PHP and make it available via get_frontend_settings(). As a result, the\r\n // rendered icon is not available in the editor, so in the editor we use the regular tag.\r\n if (elementorFrontend.config.experimentalFeatures.e_font_icon_svg && !elementorFrontend.isEditMode()) {\r\n renderedIcon = icon.rendered_tag;\r\n } else {\r\n renderedIcon = ``;\r\n }\r\n }\r\n\r\n // Open new list/nested list\r\n let html = `<${settings.listWrapperTag} class=\"${settings.classes.listWrapper}\">`;\r\n\r\n // For each list item, build its markup.\r\n while (this.listItemPointer < this.headingsData.length) {\r\n const currentItem = this.headingsData[this.listItemPointer];\r\n let listItemTextClasses = settings.classes.listItemText;\r\n if (0 === currentItem.level) {\r\n // If the current list item is a top level item, give it the first level class\r\n listItemTextClasses += ' ' + settings.classes.firstLevelListItem;\r\n }\r\n if (level > currentItem.level) {\r\n break;\r\n }\r\n if (level === currentItem.level) {\r\n html += `
  • `;\r\n html += `
    `;\r\n let liContent = `${currentItem.text}`;\r\n\r\n // If list type is bullets, add the bullet icon as an tag\r\n if ('bullets' === elementSettings.marker_view && icon) {\r\n liContent = `${renderedIcon}${liContent}`;\r\n }\r\n html += liContent;\r\n html += '
    ';\r\n this.listItemPointer++;\r\n const nextItem = this.headingsData[this.listItemPointer];\r\n if (nextItem && level < nextItem.level) {\r\n // If a new nested list has to be created under the current item,\r\n // this entire method is called recursively (outside the while loop, a list wrapper is created)\r\n html += this.getNestedLevel(nextItem.level);\r\n }\r\n html += '
  • ';\r\n }\r\n }\r\n html += ``;\r\n return html;\r\n },\r\n run: function run() {\r\n this.elements.$headings = this.getHeadings();\r\n if (!this.elements.$headings.length) {\r\n return this.handleNoHeadingsFound();\r\n }\r\n this.setHeadingsData();\r\n if (!elementorFrontend.isEditMode()) {\r\n this.addAnchorsBeforeHeadings();\r\n }\r\n this.populateTOC();\r\n\r\n if (this.getElementSettings('minimize_box')) {\r\n this.collapseBodyListener();\r\n }\r\n },\r\n bindEvents: function bindEvents() {\r\n this.viewportItems = [];\r\n this.run();\r\n\r\n const elementSettings = this.getElementSettings();\r\n if (elementSettings.minimize_box) {\r\n this.elements.$expandButton.on('click', () => this.expandBox()).on('keyup', event => this.triggerClickOnEnterSpace(event));\r\n this.elements.$collapseButton.on('click', () => this.collapseBox()).on('keyup', event => this.triggerClickOnEnterSpace(event));\r\n }\r\n if (elementSettings.collapse_subitems) {\r\n this.elements.$listItems.on('hover', event => jQuery(event.target).slideToggle());\r\n }\r\n },\r\n onListItemClick: function (event) {\r\n this.itemClicked = true;\r\n setTimeout(() => this.itemClicked = false, 2000);\r\n const $clickedItem = jQuery(event.target),\r\n $list = $clickedItem.parent().next(),\r\n collapseNestedList = this.getElementSettings('collapse_subitems');\r\n let listIsActive;\r\n if (collapseNestedList && $clickedItem.hasClass(this.getSettings('classes.firstLevelListItem'))) {\r\n if ($list.is(':visible')) {\r\n listIsActive = true;\r\n }\r\n }\r\n this.activateItem($clickedItem);\r\n if (collapseNestedList && listIsActive) {\r\n $list.slideUp();\r\n }\r\n },\r\n expandBox: function () {\r\n let changeFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\r\n const boxHeight = this.getCurrentDeviceSetting('min_height');\r\n this.$element.removeClass(this.getSettings('classes.collapsed'));\r\n this.elements.$tocBody.attr('aria-expanded', 'true').slideDown();\r\n\r\n // Return container to the full height in case a min-height is defined by the user\r\n this.elements.$widgetContainer.css('min-height', boxHeight.size + boxHeight.unit);\r\n if (changeFocus) {\r\n this.elements.$collapseButton.trigger('focus');\r\n }\r\n },\r\n collapseBox: function () {\r\n let changeFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\r\n this.$element.addClass(this.getSettings('classes.collapsed'));\r\n this.elements.$tocBody.attr('aria-expanded', 'false').slideUp();\r\n\r\n // Close container in case a min-height is defined by the user\r\n this.elements.$widgetContainer.css('min-height', '0px');\r\n if (changeFocus) {\r\n this.elements.$expandButton.trigger('focus');\r\n }\r\n },\r\n triggerClickOnEnterSpace: function (event) {\r\n const ENTER_KEY = 13,\r\n SPACE_KEY = 32;\r\n if (ENTER_KEY === event.keyCode || SPACE_KEY === event.keyCode) {\r\n event.currentTarget.click();\r\n event.stopPropagation();\r\n }\r\n },\r\n collapseBodyListener: function () {\r\n const activeBreakpoints = elementorFrontend.breakpoints.getActiveBreakpointsList({\r\n withDesktop: true\r\n });\r\n const minimizedOn = this.getElementSettings('minimized_on'),\r\n currentDeviceMode = elementorFrontend.getCurrentDeviceMode(),\r\n isCollapsed = this.$element.hasClass(this.getSettings('classes.collapsed'));\r\n\r\n // If minimizedOn value is set to desktop, it applies for widescreen as well.\r\n if ('desktop' === minimizedOn || activeBreakpoints.indexOf(minimizedOn) >= activeBreakpoints.indexOf(currentDeviceMode)) {\r\n if (!isCollapsed) {\r\n this.collapseBox(false);\r\n }\r\n } else if (isCollapsed) {\r\n this.expandBox(false);\r\n }\r\n },\r\n\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/wcf--table-of-contents.default', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(table_of_content, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n //image accordion\r\n const image_accordion = Modules.extend({\r\n run: function run() {\r\n let expand = this.getElementSettings('expand_style');\r\n let accordionItems = this.findElement('.accordion-item');\r\n\r\n accordionItems.each((index, item) => {\r\n if ('click' === expand) {\r\n item.addEventListener('click', () => {\r\n this.openAccordion(index, item, accordionItems)\r\n });\r\n } else {\r\n //hover\r\n $(item).mouseenter(() => {\r\n this.openAccordion(index, item, accordionItems)\r\n });\r\n\r\n $(item).mouseleave(() => {\r\n item.classList.remove('accordion-hover-active')\r\n });\r\n }\r\n })\r\n },\r\n bindEvents: function bindEvents() {\r\n this.run();\r\n },\r\n\r\n openAccordion: function (index, item, accordionItems) {\r\n accordionItems.each((i, single) => {\r\n if (single === item) {\r\n single.classList.add('accordion-hover-active')\r\n } else {\r\n single.classList.remove('accordion-hover-active')\r\n }\r\n });\r\n }\r\n\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/wcf--imag-accordion.default', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(image_accordion, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n //advanced tooltip\r\n const Advanced_tooltip = Modules.extend({\r\n\r\n onInit: function onInit() {\r\n if ('enable' !== this.getElementSettings('wcf_advanced_tooltip_enable')) {\r\n return;\r\n }\r\n this.$element.append(\"\");\r\n this.run();\r\n },\r\n\r\n run: function run() {\r\n let trigger = this.getElementSettings('wcf_advanced_tooltip_trigger'),\r\n content = this.getElementSettings('wcf_advanced_tooltip_content'),\r\n animation = this.getElementSettings('wcf_advanced_tooltip_animation'),\r\n duration = this.getElementSettings('wcf_advanced_tooltip_duration') || 500,\r\n showArrow = this.getElementSettings('wcf_advanced_tooltip_arrow') || false,\r\n tooltip = this.$element.find('.wcf-advanced-tooltip');\r\n\r\n tooltip.html($.parseHTML(content));\r\n tooltip.css('animation-duration', duration + 'ms');\r\n\r\n if (!showArrow) {\r\n tooltip.addClass('no-arrow');\r\n }\r\n\r\n if (trigger === 'click') {\r\n this.$element.on('click', function () {\r\n if (tooltip.hasClass('show')) {\r\n tooltip.removeClass('show');\r\n tooltip.removeClass(animation);\r\n } else {\r\n tooltip.addClass('show');\r\n tooltip.addClass(animation);\r\n }\r\n });\r\n } else if (trigger === 'hover') {\r\n this.$element.on('mouseenter', function () {\r\n tooltip.addClass('show');\r\n tooltip.addClass(animation);\r\n });\r\n this.$element.on('mouseleave', function () {\r\n tooltip.removeClass('show');\r\n tooltip.removeClass(animation);\r\n });\r\n }\r\n },\r\n\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/widget', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(Advanced_tooltip, {\r\n $element: $scope\r\n });\r\n });\r\n elementorFrontend.hooks.addAction('frontend/element_ready/container', function ($scope) {\r\n elementorFrontend.elementsHandler.addHandler(Advanced_tooltip, {\r\n $element: $scope\r\n });\r\n });\r\n\r\n });\r\n\r\n //need to run all the page not depending on elementorFrontend\r\n //scroll to Top\r\n const scrollToTop = function () {\r\n const cursor = $('.wcf-scroll-to-top');\r\n\r\n if (cursor.length) {\r\n if (cursor.hasClass('scroll-to-circle')) {\r\n let progressPath = document.querySelector('.wcf-scroll-to-top .progress-circle path');\r\n let pathLength = progressPath.getTotalLength();\r\n progressPath.style.transition = progressPath.style.WebkitTransition = 'none';\r\n progressPath.style.strokeDasharray = pathLength + ' ' + pathLength;\r\n progressPath.style.strokeDashoffset = pathLength;\r\n progressPath.getBoundingClientRect();\r\n progressPath.style.transition = progressPath.style.WebkitTransition = 'stroke-dashoffset 10ms linear';\r\n let updateProgress = function () {\r\n let scroll = $(window).scrollTop();\r\n let height = $(document).height() - $(window).height();\r\n let progress = pathLength - (scroll * pathLength / height);\r\n progressPath.style.strokeDashoffset = progress;\r\n }\r\n updateProgress();\r\n $(window).scroll(updateProgress);\r\n }\r\n\r\n $(window).scroll(function () {\r\n if ($(this).scrollTop() > 100) {\r\n cursor.addClass('show-scroll-to-top');\r\n } else {\r\n cursor.removeClass('show-scroll-to-top');\r\n }\r\n });\r\n\r\n cursor.on('click', function () {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\"\r\n });\r\n })\r\n }\r\n }\r\n scrollToTop();\r\n\r\n //preloader\r\n const preloader = function () {\r\n const preloader = $('.wcf-preloader');\r\n if (!preloader.length) {\r\n return;\r\n }\r\n $(document).ready(function () {\r\n setTimeout(() => {\r\n $('body.wcf-preloader-active').removeClass('wcf-preloader-active');\r\n preloader.remove();\r\n }, 500)\r\n });\r\n }\r\n preloader();\r\n\r\n //scroll indicator\r\n const scrollIndicator = function () {\r\n if (!$('.wcf-scroll-indicator').length) {\r\n return;\r\n }\r\n const handleScrollIndicator = () => {\r\n const scrollIndicator = document.querySelector(\".wcf-scroll-indicator .indicator-bar\");\r\n const maxHeight = document.body.scrollHeight - window.innerHeight;\r\n\r\n const widthPercentage = (window.scrollY / maxHeight) * 100;\r\n scrollIndicator.style.width = `${widthPercentage}%`;\r\n };\r\n window.addEventListener(\"scroll\", handleScrollIndicator);\r\n $('.scroll-indicator-top').css('top', adminbar_height)\r\n }\r\n scrollIndicator();\r\n\r\n //Sticky Header\r\n if ('function' === typeof ScrollSmoother && 'object' === typeof gsap && window.wcf_header_settings) {\r\n let settings = wcf_header_settings;\r\n let header = $(`.elementor-${settings.id}`);\r\n ScrollTrigger.create({\r\n trigger: \"body\",\r\n pin: header,\r\n pinSpacing: false,\r\n start: \"top top\",\r\n end: \"bottom bottom\",\r\n });\r\n }\r\n\r\n})(jQuery);\r\n"],"mappings":"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","ignoreList":[]}