{"version":3,"file":"CountdownTimer_1.PRRfepUI.mjs","names":["useState","startTransition","useMemo"],"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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"}