| Server IP : 104.129.129.72 / Your IP : 216.73.216.229 Web Server : LiteSpeed System : Linux 123answers 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64 User : answe8064 ( 1002) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/123answers.ca/public_html/saskatoon/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 );
});
})();