{"version":3,"file":"CountdownTimer_1.DVQPyzbl.mjs","names":["useState","startTransition","useMemo","__esmMin","pe","init_npm_react_18_3_1","te","_e","p","ce","init_framer_BWFVvmND","addPropertyControls","ControlType","CountdownTimer","props","now","setNow","timer","diff","targetUTC","dateTime","nowDate","nowWithOffset","timeParts","majorParts","showDays","lowerCaseLabels","showHours","showMinutes","showSeconds","format","display","part","i","v","style","font","label","init_CountdownTimer_1","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/W7r1E2mzrCONTmFbmJoL/91xPllvBzttXPxakBHq3/CountdownTimer_1.js"],"sourcesContent":["// CountdownTimer Timer with Full Date & Time from CMS\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useMemo,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * CountdownTimer Timer (Full Date-Time)\n *\n * @framerIntrinsicWidth 320\n * @framerIntrinsicHeight 80\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight fixed\n */export default function CountdownTimer(props){const{dateTime,label,background,color,font,borderRadius,showDays,showHours,showMinutes,showSeconds,format,lowerCaseLabels,style}=props;const[now,setNow]=useState(Date.now());useEffect(()=>{const timer=setInterval(()=>startTransition(()=>setNow(Date.now())),1e3);return()=>clearInterval(timer);},[]);// Use UTC now for diff\nconst diff=useMemo(()=>{const targetUTC=Date.parse(dateTime);// Use now as UTC (no offset correction)\n// FIX: Use local time offset for correct diff\nconst nowDate=new Date(now);const nowWithOffset=now+nowDate.getTimezoneOffset()*60*1e3;return Math.max(0,Math.floor((targetUTC-nowWithOffset)/1e3));},[dateTime,now]);const timeParts=useMemo(()=>{const days=Math.floor(diff/86400);const hours=Math.floor(diff%86400/3600);const minutes=Math.floor(diff%3600/60);const seconds=diff%60;return{days,hours,minutes,seconds};},[diff]);// Determine display units: days/hours if >1d else hours/minutes\nlet majorParts;if(timeParts.days>0){// More than a day, show days and hours (hide 0d)\nmajorParts=[];if(showDays&&timeParts.days>0)majorParts.push({value:timeParts.days,label:lowerCaseLabels?\"d\":\"D\"});if(showHours)majorParts.push({value:timeParts.hours,label:lowerCaseLabels?\"h\":\"H\"});}else{// Less than a day, show hours and minutes\nmajorParts=[];if(showHours&&timeParts.hours>0)majorParts.push({value:timeParts.hours,label:lowerCaseLabels?\"h\":\"H\"});else if(showHours)majorParts.push({value:0,label:lowerCaseLabels?\"h\":\"H\"});if(showMinutes)majorParts.push({value:timeParts.minutes,label:lowerCaseLabels?\"m\":\"M\"});}// Optionally include seconds if enabled and not days format\nif(showSeconds&&format===\"labels\"&&timeParts.days===0){majorParts.push({value:timeParts.seconds,label:lowerCaseLabels?\"s\":\"S\"});}// Fallback to last available, e.g., at end\nif(majorParts.length===0){if(showSeconds)majorParts.push({value:timeParts.seconds,label:lowerCaseLabels?\"s\":\"S\"});else if(showMinutes)majorParts.push({value:timeParts.minutes,label:lowerCaseLabels?\"m\":\"M\"});else if(showHours)majorParts.push({value:timeParts.hours,label:lowerCaseLabels?\"h\":\"H\"});else if(showDays)majorParts.push({value:timeParts.days,label:lowerCaseLabels?\"d\":\"D\"});}let display;if(format===\"labels\"){display=majorParts.map((part,i)=>/*#__PURE__*/_jsxs(\"span\",{children:[String(part.value),part.label,i<majorParts.length-1?\" \":\"\"]},part.label));}else{// Colon format always shows all selected units so user can toggle on/off\nconst allValues=[showDays?String(timeParts.days).padStart(2,\"0\"):null,showHours?String(timeParts.hours).padStart(2,\"0\"):null,showMinutes?String(timeParts.minutes).padStart(2,\"0\"):null,showSeconds?String(timeParts.seconds).padStart(2,\"0\"):null].filter(v=>v!==null);display=allValues.join(\":\");}return /*#__PURE__*/_jsxs(\"div\",{style:{...style,color,display:\"flex\",alignItems:\"center\",gap:18,padding:0,minWidth:undefined,minHeight:undefined,background:undefined,borderRadius:undefined,width:\"max-content\",height:style&&style.height?style.height:\"100%\",justifyContent:\"flex-start\",...font},children:[/*#__PURE__*/_jsx(\"span\",{style:{margin:0,padding:0},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{fontVariantNumeric:\"tabular-nums\",margin:0,padding:0},children:display})]});}addPropertyControls(CountdownTimer,{dateTime:{type:ControlType.String,title:\"Date-Time (ISO)\",placeholder:\"2024-06-07T18:29:00Z\",defaultValue:new Date(Date.now()+864e5).toISOString(),displayTextArea:false},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Time left:\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"22px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:32,step:1},showDays:{type:ControlType.Boolean,title:\"Show Days\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showHours:{type:ControlType.Boolean,title:\"Show Hours\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showMinutes:{type:ControlType.Boolean,title:\"Show Minutes\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showSeconds:{type:ControlType.Boolean,title:\"Show Seconds\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},format:{type:ControlType.Enum,title:\"Format\",options:[\"colon\",\"labels\"],optionTitles:[\"00:00:00\",\"D H M S\"],defaultValue:\"colon\",displaySegmentedControl:true},lowerCaseLabels:{type:ControlType.Boolean,title:\"Lowercase D H M S\",defaultValue:false,enabledTitle:\"Lowercase\",disabledTitle:\"Uppercase\",hidden:({format})=>format!==\"labels\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountdownTimer\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"80\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"320\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountdownTimer_1.map"],"mappings":"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"}