(function(root){'use strict'; var config=root.FI_AGE_CONFIG||{},all=config.all||(config.lang==='en'?'All ages':'Все возраста'); function format(lo,hi,compact){lo=Number(lo)||0;hi=Number(hi)||999;if(lo===0&&hi>=999)return compact?'∞':all;return lo===0?(compact?'U'+hi:(config.under||(config.lang==='en'?'Under':'До'))+' '+hi):hi>=999?(compact?'O'+lo:(config.over||(config.lang==='en'?'Over':'Старше'))+' '+lo):lo+'–'+hi;} function text(value,compact){var s=String(value==null?'':value).replace(/ |\u00a0/g,' ').replace(/&(?:mdash|ndash);/g,'–').trim(),m; if(/^(?:all\s+ages|все\s+возраст[аы]|∞)$/i.test(s))return format(0,999,compact); if((m=s.match(/^(\d+)\s*[-–—_]\s*(\d+)$/)))return format(m[1],m[2],compact); if((m=s.match(/^(?:U\s*|Under\s*|До\s*|<\s*)(\d+)$/i)))return format(0,m[1],compact); if((m=s.match(/^(?:O\s*|Over\s*|Старше\s*)(\d+)$/i)))return format(m[1],999,compact); if((m=s.match(/^(\d+)\s*\+$/)))return format(m[1],999,compact);return s; } function fit(node){var original=node.dataset.fiAgeFull;if(!original)return;var full=text(original),short=text(full,true);node.textContent=full;node.title=full;node.setAttribute('aria-label',full);if(node.clientWidth>0&&node.scrollWidth>node.clientWidth+1)node.textContent=short;} var queued=new Set(),pending=false,observer=typeof ResizeObserver!=='undefined'?new ResizeObserver(function(entries){entries.forEach(function(entry){entry.target.querySelectorAll('[data-fi-age-full]').forEach(queue);});}):null; function queue(node){queued.add(node);if(pending)return;pending=true;requestAnimationFrame(function(){pending=false;queued.forEach(function(n){if(n.isConnected)fit(n);});queued.clear();});} function label(lo,hi){var node=document.createElement('span');node.className='fi-age-label';node.dataset.fiAgeFull=format(lo,hi);node.textContent=node.dataset.fiAgeFull;node.title=node.dataset.fiAgeFull;return node;} function scan(parent){if(!parent.querySelectorAll)return;var nodes=[];if(parent.matches&&parent.matches('[data-fi-age-full]'))nodes.push(parent);nodes=nodes.concat(Array.from(parent.querySelectorAll('[data-fi-age-full]')));nodes.forEach(function(node){queue(node);if(observer&&node.parentElement)observer.observe(node.parentElement);});} root.FI_Age={format:format,text:text,element:label,scan:scan}; if(typeof document!=='undefined'){ var start=function(){scan(document);new MutationObserver(function(changes){changes.forEach(function(c){c.addedNodes.forEach(scan);});}).observe(document.body,{childList:true,subtree:true});}; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',start,{once:true});else start(); } if(typeof module!=='undefined'&&module.exports)module.exports=root.FI_Age; })(typeof window!=='undefined'?window:globalThis);