{"version":3,"file":"ReadingTime.CodFaOHP.mjs","names":["React.useState","React.useMemo","React.useCallback"],"sources":["https:/framerusercontent.com/modules/nfHiejdsXoIIuYKnczoJ/ddxK0RZ5bMUxW8sNfFz5/ReadingTime.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function countWordsFromElement(element){const walker=document.createTreeWalker(element,NodeFilter.SHOW_TEXT);let wordCount=0;while(walker.nextNode()){const node=walker.currentNode;const parentTag=node.parentElement?.tagName?.toLowerCase();if(parentTag===\"script\"||parentTag===\"style\"||parentTag===\"noscript\"||parentTag===\"template\"){continue;}const text=node.textContent?.trim()??\"\";if(!text)continue;const words=text.split(/\\s+/).filter(Boolean);wordCount+=words.length;}return wordCount;}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function ReadingTime(props){const{targetId=\"article-content\",wordsPerMinute=220,suffix=\"min read\",textColor=\"currentColor\",fontSize=15,style}=props;const isStatic=useIsStaticRenderer();const[minutes,setMinutes]=React.useState(1);const safeWpm=React.useMemo(()=>Math.max(1,wordsPerMinute||220),[wordsPerMinute]);const calculateMinutes=React.useCallback(element=>{const words=countWordsFromElement(element);const nextMinutes=Math.max(1,Math.ceil(words/safeWpm));React.startTransition(()=>{setMinutes(nextMinutes);});},[safeWpm]);React.useEffect(()=>{if(isStatic)return;if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const target=document.getElementById(targetId);if(!target){React.startTransition(()=>{setMinutes(1);});return;}calculateMinutes(target);const observer=new MutationObserver(()=>{calculateMinutes(target);});observer.observe(target,{childList:true,subtree:true,characterData:true});return()=>{observer.disconnect();};},[targetId,calculateMinutes,isStatic]);const label=React.useMemo(()=>`${minutes} ${suffix}`.trim(),[minutes,suffix]);return /*#__PURE__*/_jsx(\"span\",{role:\"status\",\"aria-live\":\"polite\",style:{position:\"relative\",display:\"inline-block\",width:\"max-content\",whiteSpace:\"nowrap\",color:textColor,font:\"inherit\",fontSize:`${fontSize}px`,lineHeight:\"inherit\",letterSpacing:\"inherit\",...style},children:label});}addPropertyControls(ReadingTime,{targetId:{type:ControlType.String,title:\"Target ID\",defaultValue:\"article-content\"},wordsPerMinute:{type:ControlType.Number,title:\"WPM\",defaultValue:220,min:1,max:1e3,step:1},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"min read\"},textColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"currentColor\"},fontSize:{type:ControlType.Number,title:\"Size\",defaultValue:15,min:1,max:200,unit:\"px\",step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ReadingTime\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReadingTime.map"],"mappings":"uNAA+I,SAAS,EAAsB,EAAQ,CAAC,IAAM,EAAO,SAAS,iBAAiB,EAAQ,WAAW,SAAS,EAAM,EAAU,EAAE,KAAM,EAAO,SAAS,GAAE,CAAC,IAAM,EAAK,EAAO,YAAkB,EAAU,EAAK,eAAe,SAAS,YAAY,EAAE,GAAG,IAAY,UAAU,IAAY,SAAS,IAAY,YAAY,IAAY,WAAY,SAAU,IAAM,EAAK,EAAK,aAAa,KAAK,GAAG,GAAG,GAAG,CAAC,EAAK,SAAS,IAAM,EAAM,EAAK,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO,EAAE,GAAW,EAAM,MAAO,CAAC,OAAO,CAAU,CAGrnB,SAAwB,EAAY,EAAM,CAAC,GAAK,CAAC,WAAS,kBAAkB,iBAAe,IAAI,SAAO,WAAW,YAAU,eAAe,WAAS,GAAG,SAAO,EAAY,EAAS,EAAoB,EAAO,CAAC,EAAQ,GAAYA,EAAe,CAAC,EAAQ,EAAQC,MAAkB,KAAK,IAAI,EAAE,GAAgB,GAAG,EAAE,CAAC,CAAc,CAAC,EAAQ,EAAiBC,EAAkB,GAAS,CAAC,IAAM,EAAM,EAAsB,CAAO,EAAQ,EAAY,KAAK,IAAI,EAAE,KAAK,KAAK,EAAM,CAAO,CAAC,EAAE,MAA0B,CAAC,EAAW,CAAW,CAAE,CAAC,CAAE,EAAE,CAAC,CAAO,CAAC,EAAE,MAAoB,CAAoB,GAAhB,GAA0B,IAAS,QAAa,OAAO,SAAW,IAAY,OAAO,IAAM,EAAO,SAAS,eAAe,CAAQ,EAAE,GAAG,CAAC,EAAO,CAAC,MAA0B,CAAC,EAAW,CAAC,CAAE,CAAC,EAAE,MAAO,CAAC,EAAiB,CAAM,EAAE,IAAM,EAAS,IAAI,qBAAqB,CAAC,EAAiB,CAAM,CAAE,CAAC,EAA4E,OAA1E,EAAS,QAAQ,EAAO,CAAC,UAAU,GAAK,QAAQ,GAAK,cAAc,EAAI,CAAC,MAAY,CAAC,EAAS,WAAW,CAAE,CAAE,EAAE,CAAC,EAAS,EAAiB,CAAQ,CAAC,EAAE,IAAM,EAAMD,MAAkB,GAAG,EAAQ,GAAG,IAAS,KAAK,EAAE,CAAC,EAAQ,CAAM,CAAC,EAAE,OAAoB,EAAK,OAAO,CAAC,KAAK,SAAS,YAAY,SAAS,MAAM,CAAC,SAAS,WAAW,QAAQ,eAAe,MAAM,cAAc,WAAW,SAAS,MAAM,EAAU,KAAK,UAAU,SAAS,GAAG,EAAS,IAAI,WAAW,UAAU,cAAc,UAAU,GAAG,CAAK,EAAE,SAAS,CAAK,CAAC,CAAE,qBAHlzC,IAA4B,IAAwE,EAG+sC,EAAoB,EAAY,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,iBAAiB,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,UAAU,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,cAAc,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC"}