{"version":3,"file":"PodcastDuration.DQ-RnFnu.mjs","names":["useState","useMemo"],"sources":["https:/framerusercontent.com/modules/phi4EJSOVOIrEfXaFcUg/EpST20X2I1HNSxO0yDVy/PodcastDuration.js"],"sourcesContent":["// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{useState,useEffect,useMemo}from\"react\";import{intervalToDuration}from\"date-fns\";export default function PodcastDuration(props){const{fileUrl,textStyles}=props;const[duration,setDuration]=useState(0);const durationText=useMemo(()=>{return formatTime(duration);},[duration]);useEffect(()=>{if(!window||!fileUrl)return;const audio=new Audio(fileUrl);const handleLoadedMeta=()=>{setDuration(audio.duration);};audio.addEventListener(\"loadedmetadata\",handleLoadedMeta);return()=>{audio.removeEventListener(\"loadedmetadata\",handleLoadedMeta);};},[]);return /*#__PURE__*/_jsx(motion.div,{style:{...textStyles,...textStyles.font},children:durationText});}const FontControl={type:ControlType.Font};const FontSizeControl={type:ControlType.Number,defaultValue:12,min:0,unit:\"pt\",displayStepper:true};const LineHeightControl={type:ControlType.Number,defaultValue:1,unit:\"rem\",displayStepper:true};const LetterSpacingControl={type:ControlType.Number,defaultValue:0,unit:\"px\",displayStepper:true};const ColorControl={type:ControlType.Color,defaultValue:\"#000\"};const TextStyleControl={type:ControlType.Object,controls:{font:FontControl,fontSize:FontSizeControl,lineHeight:LineHeightControl,letterSpacing:LetterSpacingControl,color:ColorControl}};addPropertyControls(PodcastDuration,{fileUrl:{type:ControlType.String,defaultValue:\"\"},textStyles:TextStyleControl});function formatTime(seconds){const duration=intervalToDuration({start:0,end:seconds*1e3});const{hours=0,minutes=0,seconds:secs=0}=duration;// If hours > 0 → show H:MM:SS\n// If hours = 0 → show M:SS\nif(hours>0){return`${hours}:${String(minutes).padStart(2,\"0\")}:${String(secs).padStart(2,\"0\")}`;}else{return`${minutes}:${String(secs).padStart(2,\"0\")}`;}}function getAudioMimeType(filename){if(typeof filename!==\"string\")return null;const extension=filename.split(\".\").pop().toLowerCase();const mimeTypes={mp3:\"audio/mpeg\",wav:\"audio/wav\",ogg:\"audio/ogg\",m4a:\"audio/mp4\",aac:\"audio/aac\",flac:\"audio/flac\",webm:\"audio/webm\"};return mimeTypes[extension]||\"application/octet-stream\";}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PodcastDuration\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PodcastDuration.map"],"mappings":"iSACwN,SAAwB,EAAgB,EAAM,CAAC,GAAK,CAAC,UAAQ,cAAY,EAAW,CAAC,EAAS,GAAaA,EAAS,EAAE,CAAO,EAAaC,MAAoB,EAAW,EAAS,CAAG,CAAC,EAAS,CAAC,CAA+Q,OAA9Q,MAAc,CAAC,GAAG,CAAC,GAAQ,CAAC,EAAQ,OAAO,IAAM,EAAM,IAAI,MAAM,EAAQ,CAAO,MAAqB,CAAC,EAAY,EAAM,SAAS,EAA6D,OAA1D,EAAM,iBAAiB,iBAAiB,EAAiB,KAAW,CAAC,EAAM,oBAAoB,iBAAiB,EAAiB,GAAK,EAAE,CAAC,CAAqB,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAW,GAAG,EAAW,KAAK,CAAC,SAAS,EAAa,CAAC,CAAgsB,SAAS,EAAW,EAAQ,CAA8D,GAAK,CAAC,QAAM,EAAE,UAAQ,EAAE,QAAQ,EAAK,GAAnF,EAAmB,CAAC,MAAM,EAAE,IAAI,EAAQ,IAAI,CAAC,CAE/7C,OAAnG,EAAM,EAAS,GAAG,EAAM,GAAG,OAAO,EAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,OAAO,EAAK,CAAC,SAAS,EAAE,IAAI,GAAe,GAAG,EAAQ,GAAG,OAAO,EAAK,CAAC,SAAS,EAAE,IAAI,oCAF3G,IAAoD,IAAkC,IAA8C,IAAyC,CAA4jB,EAAY,CAAC,KAAK,EAAY,KAAK,CAAO,EAAgB,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,KAAK,KAAK,eAAe,GAAK,CAAO,EAAkB,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,KAAK,MAAM,eAAe,GAAK,CAAO,EAAqB,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,KAAK,KAAK,eAAe,GAAK,CAAO,EAAa,CAAC,KAAK,EAAY,MAAM,aAAa,OAAO,CAAO,EAAiB,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,KAAK,EAAY,SAAS,EAAgB,WAAW,EAAkB,cAAc,EAAqB,MAAM,EAAa,CAAC,CAAC,EAAoB,EAAgB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,CAAC,WAAW,EAAiB,CAAC"}