import{store as S,getElement as u,getContext as w}from"@wordpress/interactivity";function z(t,e){let o=t.scrollHeight>t.clientHeight,i=0,s=2400,d=i,l=window.getComputedStyle(t),a=parseFloat(l.paddingLeft)||0,f=parseFloat(l.paddingRight)||0,c=document.createRange();for(c.selectNodeContents(t);i<=s;){let n=Math.floor((i+s)/2);e(n);let g=c.getBoundingClientRect().width,h=t.scrollWidth<=t.clientWidth&&g<=t.clientWidth-a-f,p=o||t.scrollHeight<=t.clientHeight;h&&p?(d=n,i=n+1):s=n-1}return c.detach(),d}function r(t,e){if(!t)return;e(0);let o=z(t,e);return e(o),o}S("core/fit-text",{callbacks:{init(){let t=w(),{ref:e}=u(),o=i=>{i===0?e.style.fontSize="":e.style.fontSize=`${i}px`};if(t.fontSize=r(e,o),window.ResizeObserver&&e.parentElement){let i=new window.ResizeObserver(()=>{t.fontSize=r(e,o)});return i.observe(e.parentElement),i.observe(e),()=>{i&&i.disconnect()}}}}});