| Server IP : 178.63.100.251 / Your IP : 216.73.216.228 Web Server : LiteSpeed System : Linux dobby.thevpsserver.com 4.18.0-553.16.1.lve.el8.x86_64 #1 SMP Tue Aug 13 17:45:03 UTC 2024 x86_64 User : truewayi ( 1855) PHP Version : 7.4.33 Disable Function : show_source,system,shell_exec,passthru,exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/truewayi/public_html/wp-includes/js/ |
Upload File : |
/**
* @output wp-admin/js/wp-tooltip.js
*/
/**
* Add focus and hover support for the 'tooltip' type in `wp_tooltip()`.
* This script can be made obsolete when support is available for Interest Invokers.
*/
(() => {
const popovers = /** @type {NodeListOf<HTMLSpanElement>} */ ( document.querySelectorAll( '.wp-is-tooltip' ) );
/** @type {ReturnType<typeof setTimeout>} */
let openTimeout;
popovers.forEach( function( popover ) {
const trigger = /** @type {HTMLButtonElement|HTMLAnchorElement|null} */ ( popover.querySelector( '.wp-tooltip__toggle' ) );
const panel = /** @type {HTMLSpanElement|null} */ ( popover.querySelector( 'span.wp-tooltip__bubble' ) );
if ( ! trigger || ! panel ) {
return;
}
// Show Tooltip Function (with delay to prevent flickering).
const showTooltip = () => {
clearTimeout( openTimeout );
openTimeout = setTimeout( () => {
// Only show if it's not already open.
if ( ! panel.matches( ':popover-open' ) ) {
// pass the triggering element so implicit position anchors work.
panel.showPopover( { source: trigger } );
}
}, 300 );
};
// Hide Tooltip Function.
const hideTooltip = () => {
clearTimeout( openTimeout );
if ( panel.matches( ':popover-open' ) ) {
panel.hidePopover();
}
};
// Bind Hover and Focus Events.
trigger.addEventListener( 'mouseenter', showTooltip );
trigger.addEventListener( 'focus', showTooltip );
trigger.addEventListener( 'mouseleave', hideTooltip );
trigger.addEventListener( 'blur', hideTooltip );
});
})();