HEX
Server: Apache
System: Linux webm013.cluster123.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: lesanew (165608)
PHP: 8.3.31
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/lesanew/www/wp-content/plugins/neobeat-core/inc/shortcodes/icon/assets/js/parts/icon.js
(function ($) {
    "use strict";
	
	qodefCore.shortcodes.neobeat_core_icon = {};
 
	$(document).ready(function () {
        qodefIcon.init();
    });

    var qodefIcon = {
        init: function () {
            this.icons = $('.qodef-icon-holder');

            if (this.icons.length) {
                this.icons.each(function () {
                    var $thisIcon = $(this);
	
	                qodefIcon.iconStroke($thisIcon);
                    qodefIcon.iconHoverColor($thisIcon);
                    qodefIcon.iconHoverBgColor($thisIcon);
                    qodefIcon.iconHoverBorderColor($thisIcon);
                });
            }
        },
	    iconStroke: function ($iconHolder) {
		    if ( $iconHolder.hasClass('qodef-has--circle-hover')) {
			    var spanHolder = $iconHolder.find('span');
			    var originalColor = spanHolder.css('color');
			    var hoverColor = $iconHolder.data('hover-color');
			    var svgHolder = $iconHolder.find('svg');
			    var radius = svgHolder.css('width').replace(/[^-\d\.]/g, '');//without px
			    var offset = Math.ceil(radius * 3.15);//round num of 2r*pi
			
			    qodefIcon.changeStroke(svgHolder, offset);
			    setTimeout(function(){
				                qodefIcon.changeColor(svgHolder, 'opacity' , .5);
                            }, 500);
                
			    if (typeof $iconHolder.data('hover-color') !== 'undefined') {
				    $iconHolder.on('mouseenter', function () {
					    qodefIcon.changeColor(svgHolder, 'color', hoverColor);
				    });
				    $iconHolder.on('mouseleave', function () {
					    qodefIcon.changeColor(svgHolder, 'color', originalColor);
				    });
			    }
		    }
	    },
        iconHoverColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-color') !== 'undefined') {
                var spanHolder = $iconHolder.find('span');
                var originalColor = spanHolder.css('color');
                var hoverColor = $iconHolder.data('hover-color');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor(spanHolder, 'color', hoverColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor(spanHolder, 'color', originalColor);
                });
            }
        },
        iconHoverBgColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-background-color') !== 'undefined') {
                var hoverBackgroundColor = $iconHolder.data('hover-background-color');
                var originalBackgroundColor = $iconHolder.css('background-color');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor($iconHolder, 'background-color', hoverBackgroundColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor($iconHolder, 'background-color', originalBackgroundColor);
                });
            }
        },
        iconHoverBorderColor: function ($iconHolder) {
            if (typeof $iconHolder.data('hover-border-color') !== 'undefined') {
                var hoverBorderColor = $iconHolder.data('hover-border-color');
                var originalBorderColor = $iconHolder.css('borderTopColor');

                $iconHolder.on('mouseenter', function () {
                    qodefIcon.changeColor($iconHolder, 'border-color', hoverBorderColor);
                });
                $iconHolder.on('mouseleave', function () {
                    qodefIcon.changeColor($iconHolder, 'border-color', originalBorderColor);
                });
            }
        },
        changeColor: function (iconElement, cssProperty, color) {
            iconElement.css(cssProperty, color);
        },
	    changeStroke: function (iconElement, offset) {
		    iconElement.css({
			    'stroke-dashoffset' : offset,
			    'stroke-dasharray': offset
            });
	    },
    };
	
	qodefCore.shortcodes.neobeat_core_icon.qodefIcon = qodefIcon;
 
})(jQuery);