1/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ 2(function(Drupal,Popper,once){const onceName='tooltip';const triggerSelector='[data-tooltip]';const tooltipSelector='[data-tooltip-id]';const tooltipHoverTimeout=250;Drupal.behaviors.tooltip={attach:function(context,settings){function createTooltipFromElement(element){let attr={};let content='';try{attr=JSON.parse(element.dataset.tooltip||'{}');content=attr.content||element.title;}catch(e){return;}if(!content.length)return;let displayArrow=Boolean(attr.arrow??true);let cryptoObj=window.crypto||window.msCrypto;let randomPart=(cryptoObj&&cryptoObj.getRandomValues)?String(cryptoObj.getRandomValues(new Uint8Array(1))[0]%100).padStart(2,'0'):String(Date.now()%100).padStart(2,'0');let uniqueId=Date.now()+'-'+randomPart;let tooltip=document.createElement('div');tooltip.classList.add('tooltip');tooltip.dataset.tooltipId=uniqueId;tooltip.innerHTML=content;if(displayArrow)tooltip.innerHTML+='<div data-popper-arrow></div>';document.body.appendChild(tooltip);attr.block=uniqueId;delete attr.block;element.dataset.tooltip=JSON.stringify(attr);delete element.title;return tooltip;};function instanciateTooltip(element,tooltip){let arrow=tooltip.querySelector('[data-popper-arrow]');if(arrow)tooltip.appendChild(arrow);let attr=JSON.parse(element.dataset.tooltip||'{}');element.dataset.popperPlacement=attr.placement??'top';let options={};options.placement=element.dataset.popperPlacement;options.modifiers=attr.modifiers||[];if(!options.modifiers.filter((_modifier)=>_modifier.name=='offset'))options.modifiers.push({name:'offset',options:{offset:[0,10]}});const popperInstance=Popper.createPopper(element,tooltip,options);tooltip.classList.add('visually-hidden');tooltip.querySelectorAll('.tooltip.visually-hidden').forEach(function(tooltipContent){tooltipContent.classList.remove('visually-hidden');});tooltip.addEventListener('mouseenter',function(){this.dataset.reading=true;});tooltip.addEventListener('mouseleave',function(){delete this.dataset.reading;this.classList.add('visually-hidden');});element.addEventListener('mouseenter',function(){tooltip.classList.remove('visually-hidden');popperInstance.update();});element.addEventListener('focus',function(){tooltip.classList.remove('visually-hidden');popperInstance.update();});element.addEventListener('mouseleave',function(){setTimeout(function(){if(!Boolean(tooltip.dataset.reading))tooltip.classList.add('visually-hidden');},tooltipHoverTimeout);});element.addEventListener('blur',function(){setTimeout(function(){if(!Boolean(tooltip.dataset.reading))tooltip.classList.add('visually-hidden');},tooltipHoverTimeout);});};once(onceName,triggerSelector,context).forEach(async function(element){let attr=JSON.parse(element.dataset.tooltip||'{}');let tooltipQuerySelector='[data-tooltip-id="'+attr.block+'"]';let tooltip=context.querySelector(tooltipQuerySelector);if(!tooltip&&Boolean(attr.block)){const ajaxObject=Drupal.ajax({url:Drupal.url(`tooltip/block/${attr.block}`)});ajaxObject.success=function(response,status){let attr=JSON.parse(element.dataset.tooltip||'{}');attr.content=response.content;element.dataset.tooltip=JSON.stringify(attr);tooltip=createTooltipFromElement(element);if(tooltip)instanciateTooltip(element,tooltip);else delete element.dataset.tooltip;};ajaxObject.execute();return;}if(!tooltip)tooltip=createTooltipFromElement(element);if(tooltip){if(tooltip.dataset.tooltipId){element.setAttribute('tabindex','0');element.setAttribute('aria-describedby',tooltip.dataset.tooltipId);tooltip.setAttribute('id',tooltip.dataset.tooltipId);tooltip.setAttribute('role','tooltip');}instanciateTooltip(element,tooltip);}else delete element.dataset.tooltip;});once(onceName,tooltipSelector,context).forEach(function(element){if(!element.classList.contains('visually-hidden')){}});},detach(context,settings,trigger){if(trigger==='unload'){once.remove(onceName,triggerSelector,context);once.remove(onceName,tooltipSelector,context);}}};})(Drupal,Popper,once);;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.