{"version":3,"file":"CountdownTimer_1.CedQmIQj.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/UzI4450nTakJ5p56U1Ra/R0lBjfNk1oXwRpPJrhBs/CountdownTimer_1.js"],"sourcesContent":["// Countdown timer with date and time functionality based on current timezone\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CountdownTimer(props){const{targetDate,title,showTitle,showDays,showHours,showMinutes,showSeconds,backgroundColor,titleColor,numberColor,labelColor,titleFont,numberFont,labelFont,borderRadius,padding,gap,finishedText,finishedTextColor,finishedTextFont}=props;const[timeLeft,setTimeLeft]=useState({days:0,hours:0,minutes:0,seconds:0,total:0});useEffect(()=>{const calculateTimeLeft=()=>{const now=new Date().getTime();// Parse the ISO string and treat it as local time\nconst dateObj=new Date(targetDate);const target=new Date(dateObj.getUTCFullYear(),dateObj.getUTCMonth(),dateObj.getUTCDate(),dateObj.getUTCHours(),dateObj.getUTCMinutes(),dateObj.getUTCSeconds()).getTime();const difference=target-now;if(difference>0){const days=Math.floor(difference/(1e3*60*60*24));const hours=Math.floor(difference%(1e3*60*60*24)/(1e3*60*60));const minutes=Math.floor(difference%(1e3*60*60)/(1e3*60));const seconds=Math.floor(difference%(1e3*60)/1e3);startTransition(()=>{setTimeLeft({days,hours,minutes,seconds,total:difference});});}else{startTransition(()=>{setTimeLeft({days:0,hours:0,minutes:0,seconds:0,total:0});});}};calculateTimeLeft();const interval=setInterval(calculateTimeLeft,1e3);return()=>clearInterval(interval);},[targetDate]);const formatNumber=num=>{return num.toString().padStart(2,\"0\");};const isFixedWidth=props?.style&&props.style.width===\"100%\";const timeUnits=[{value:timeLeft.days,label:\"D\",show:showDays},{value:timeLeft.hours,label:\"H\",show:showHours},{value:timeLeft.minutes,label:\"M\",show:showMinutes},{value:timeLeft.seconds,label:\"S\",show:showSeconds}].filter(unit=>unit.show);const isFinished=timeLeft.total<=0;return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,position:\"relative\",...isFixedWidth?{...props?.style}:{minWidth:\"max-content\"},display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:20,padding:padding,backgroundColor:backgroundColor,borderRadius:borderRadius},children:[showTitle&&/*#__PURE__*/_jsx(\"div\",{style:{...titleFont,color:titleColor,minWidth:\"max-content\"},children:title}),isFinished?/*#__PURE__*/_jsx(\"div\",{style:{...finishedTextFont,color:finishedTextColor,minWidth:\"max-content\"},children:finishedText}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:gap},children:timeUnits.map((unit,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{...numberFont,color:numberColor,minWidth:\"max-content\"},children:formatNumber(unit.value)}),/*#__PURE__*/_jsx(\"span\",{style:{...labelFont,color:labelColor,minWidth:\"max-content\"},children:unit.label})]},unit.label))})]});}addPropertyControls(CountdownTimer,{targetDate:{type:ControlType.Date,title:\"Target Date\",displayTime:true},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Countdown\"},showTitle:{type:ControlType.Boolean,title:\"Show Title\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},finishedText:{type:ControlType.String,title:\"Finished Text\",defaultValue:\"Time's Up!\"},finishedTextColor:{type:ControlType.Color,title:\"Finished Text Color\",defaultValue:\"#ff4444\"},finishedTextFont:{type:ControlType.Font,title:\"Finished Text Font\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},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\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#1a1a1a\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#9b6bff\"},numberColor:{type:ControlType.Color,title:\"Number Color\",defaultValue:\"#ff4444\"},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#FFFFFF\"},titleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},numberFont:{type:ControlType.Font,title:\"Number Font\",defaultValue:{fontSize:\"80px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},labelFont:{type:ControlType.Font,title:\"Label Font\",defaultValue:{fontSize:\"80px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:32},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:40,min:0,max:100},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountdownTimer\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountdownTimer_1.map"],"mappings":"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"}