{"version":3,"file":"CountdownTimer.CVZrFc2O.mjs","names":["useState","useRef","useCallback","useMemo","startTransition","__esmMin","pe","te","init_npm_react_18_3_1","_e","de","ne","p","c","init_jsx_runtime","ce","init_framer_DPhDUVVB","addPropertyControls","ControlType","CountdownTimer","props","adjustedPrimaryColor","isDarkMode","primaryColor","lightModeNumberColor","adjustedAccentColor","accentColor","lightModeAccentColor","adjustedUnitBackgroundColor","unitBackgroundColor","lightModeUnitBackgroundColor","adjustedBorderColor","borderColor","lightModeBorderColor","timeLeft","setTimeLeft","previousTimeLeft","setPreviousTimeLeft","animatingUnits","setAnimatingUnits","hoveredUnit","setHoveredUnit","intervalRef","calculateTimeLeft","difference","targetDate","updateTimer","newTimeLeft","prevTime","animationType","changedUnits","timeUnits","units","showDays","showHours","showMinutes","showSeconds","containerStyle","getLayoutStyles","timeUnitStyle","borderWidth","getTimeUnitStyle","unitKey","getNumberStyle","numberFont","numberFontSize","labelStyle","labelFont","labelFontSize","numberToLabelPadding","renderNumber","unit","prevValue","showCompletedMessage","completedMessage","showLabels","init_CountdownTimer"],"sources":["https:/framerusercontent.com/modules/wPNdwXU9R3hEpuvlvMzc/PjBbK4K9dtfJfauCvf23/CountdownTimer.js"],"sourcesContent":["// Sophisticated countdown timer in dark mode with comprehensive controls\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useCallback,useMemo,startTransition,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Sophisticated countdown timer in dark mode with comprehensive controls\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */function CountdownTimer(props){const{targetDate=\"\",showDays=true,showHours=true,showMinutes=true,showSeconds=true,isDarkMode=true,primaryColor=\"#FFFFFF\",accentColor=\"#00D4FF\",lightModeNumberColor=\"#000000\",lightModeAccentColor=\"#0066CC\",numberFont,labelFont,numberFontSize=48,labelFontSize=12,padding=24,gap=16,numberToLabelPadding=4,showLabels=true,unitBackgroundColor=\"#1A1A1A\",lightModeUnitBackgroundColor=\"#F5F5F5\",completedMessage=\"Time's Up!\",showCompletedMessage=true,animationType=\"fade\",borderWidth=0,borderColor=\"#333333\",lightModeBorderColor=\"#CCCCCC\"}=props;// Auto-adjust colors based on mode\nconst adjustedPrimaryColor=isDarkMode?primaryColor:lightModeNumberColor;const adjustedAccentColor=isDarkMode?accentColor:lightModeAccentColor;const adjustedUnitBackgroundColor=isDarkMode?unitBackgroundColor:lightModeUnitBackgroundColor;const adjustedBorderColor=isDarkMode?borderColor:lightModeBorderColor;const[timeLeft,setTimeLeft]=useState({days:0,hours:0,minutes:0,seconds:0,isCompleted:false});const[previousTimeLeft,setPreviousTimeLeft]=useState({days:0,hours:0,minutes:0,seconds:0});const[animatingUnits,setAnimatingUnits]=useState(new Set);const[hoveredUnit,setHoveredUnit]=useState(null);const intervalRef=useRef(null);const calculateTimeLeft=useCallback(()=>{const target=new Date(targetDate).getTime();const now=new Date().getTime();const difference=target-now;if(difference<=0){return{days:0,hours:0,minutes:0,seconds:0,isCompleted:true};}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);return{days,hours,minutes,seconds,isCompleted:false};},[targetDate]);useEffect(()=>{// Clear any existing interval\nif(intervalRef.current){clearInterval(intervalRef.current);intervalRef.current=null;}const updateTimer=()=>{const newTimeLeft=calculateTimeLeft();startTransition(()=>{setTimeLeft(prevTime=>{// Only update if values actually changed\nif(prevTime.days!==newTimeLeft.days||prevTime.hours!==newTimeLeft.hours||prevTime.minutes!==newTimeLeft.minutes||prevTime.seconds!==newTimeLeft.seconds||prevTime.isCompleted!==newTimeLeft.isCompleted){// Check which units changed for animation\nif(animationType!==\"none\"){const changedUnits=new Set;if(prevTime.days!==newTimeLeft.days)changedUnits.add(\"days\");if(prevTime.hours!==newTimeLeft.hours)changedUnits.add(\"hours\");if(prevTime.minutes!==newTimeLeft.minutes)changedUnits.add(\"minutes\");if(prevTime.seconds!==newTimeLeft.seconds)changedUnits.add(\"seconds\");if(changedUnits.size>0){setPreviousTimeLeft({days:prevTime.days,hours:prevTime.hours,minutes:prevTime.minutes,seconds:prevTime.seconds});setAnimatingUnits(changedUnits);// Clear animation after duration\nsetTimeout(()=>{setAnimatingUnits(new Set);},600);}}return newTimeLeft;}return prevTime;});});};// Initial update\nupdateTimer();// Set up interval\nintervalRef.current=setInterval(updateTimer,1e3);return()=>{if(intervalRef.current){clearInterval(intervalRef.current);intervalRef.current=null;}};},[calculateTimeLeft,animationType]);const timeUnits=useMemo(()=>{const units=[];if(showDays){units.push({value:timeLeft.days,label:timeLeft.days===1?\"Day\":\"Days\",key:\"days\"});}if(showHours){units.push({value:timeLeft.hours,label:timeLeft.hours===1?\"Hour\":\"Hours\",key:\"hours\"});}if(showMinutes){units.push({value:timeLeft.minutes,label:timeLeft.minutes===1?\"Minute\":\"Minutes\",key:\"minutes\"});}if(showSeconds){units.push({value:timeLeft.seconds,label:timeLeft.seconds===1?\"Second\":\"Seconds\",key:\"seconds\"});}return units;},[timeLeft,showDays,showHours,showMinutes,showSeconds]);const containerStyle={...props.style,position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor:\"transparent\",padding,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\"};const getLayoutStyles=()=>{return{display:\"grid\",gridTemplateColumns:`repeat(${timeUnits.length}, 1fr)`,gap,width:\"100%\"};};const timeUnitStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",width:`${props.unitFrameSize}px`,height:`${props.unitFrameSize}px`,backgroundColor:adjustedUnitBackgroundColor,borderRadius:12,padding:\"16px 12px\",position:\"relative\",overflow:\"hidden\",flex:\"0 0 auto\",transition:\"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\",cursor:\"pointer\",border:borderWidth>0?`${borderWidth}px solid ${adjustedBorderColor}`:\"none\"};const getTimeUnitStyle=unitKey=>({...timeUnitStyle,transform:hoveredUnit===unitKey?\"translateY(-2px) scale(1.02)\":\"translateY(0) scale(1)\"});const getNumberStyle=unitKey=>({...numberFont,fontSize:`${numberFontSize}px`,color:adjustedPrimaryColor,fontVariantNumeric:\"tabular-nums\",lineHeight:1,position:\"relative\"});const labelStyle={...labelFont,fontSize:`${labelFontSize}px`,color:adjustedAccentColor,marginTop:numberToLabelPadding,textTransform:\"uppercase\"};const renderNumber=unit=>{const isAnimating=animationType!==\"none\"&&animatingUnits.has(unit.key);if(isAnimating){const prevValue=previousTimeLeft[unit.key];if(animationType===\"fade\"){return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",height:`${numberFontSize}px`},children:[/*#__PURE__*/_jsx(\"div\",{style:{...getNumberStyle(unit.key),position:\"absolute\",top:0,left:\"50%\",transform:\"translateX(-50%)\",opacity:0,animation:\"fadeIn 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards\"},children:unit.value.toString().padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"div\",{style:{...getNumberStyle(unit.key),position:\"absolute\",top:0,left:\"50%\",transform:\"translateX(-50%)\",animation:\"fadeOut 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards\"},children:prevValue.toString().padStart(2,\"0\")})]});}else if(animationType===\"flip\"){return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",height:`${numberFontSize}px`},children:[/*#__PURE__*/_jsx(\"div\",{style:{...getNumberStyle(unit.key),position:\"absolute\",top:0,left:\"50%\",animation:\"flipInX 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards\"},children:unit.value.toString().padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"div\",{style:{...getNumberStyle(unit.key),position:\"absolute\",top:0,left:\"50%\",animation:\"flipOutX 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards\"},children:prevValue.toString().padStart(2,\"0\")})]});}}return /*#__PURE__*/_jsx(\"div\",{style:getNumberStyle(unit.key),children:unit.value.toString().padStart(2,\"0\")});};if(timeLeft.isCompleted){return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        @keyframes analogClockRotate {\n                            0% { transform: rotateY(0deg); }\n                            50% { transform: rotateY(90deg); }\n                            100% { transform: rotateY(0deg); }\n                        }\n                        \n                        @keyframes analogFadeIn {\n                            0% { \n                                opacity: 0; \n                                transform: translateX(-50%) rotateY(90deg) scale(0.8);\n                            }\n                            100% { \n                                opacity: 1; \n                                transform: translateX(-50%) rotateY(0deg) scale(1);\n                            }\n                        }\n                        \n                        @keyframes analogFadeOut {\n                            0% { \n                                opacity: 1; \n                                transform: translateX(-50%) rotateY(0deg) scale(1);\n                            }\n                            100% { \n                                opacity: 0; \n                                transform: translateX(-50%) rotateY(-90deg) scale(0.8);\n                            }\n                        }\n                        @keyframes flipUp {\n                            0% { \n                                transform: translateX(-50%) translateY(0%);\n                                opacity: 1;\n                            }\n                            100% { \n                                transform: translateX(-50%) translateY(-100%);\n                                opacity: 0;\n                            }\n                        }\n                        \n                        @keyframes flipDown {\n                            0% { \n                                transform: translateX(-50%) translateY(100%);\n                                opacity: 0;\n                            }\n                            100% { \n                                transform: translateX(-50%) translateY(0%);\n                                opacity: 1;\n                            }\n                        }\n                    `}),showCompletedMessage?/*#__PURE__*/_jsx(\"div\",{style:{...numberFont,fontSize:`${numberFontSize}px`,color:adjustedAccentColor,textAlign:\"center\"},children:completedMessage}):/*#__PURE__*/_jsx(\"div\",{style:getLayoutStyles(),children:timeUnits.map(unit=>/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsxs(\"div\",{style:getTimeUnitStyle(unit.key),onMouseEnter:()=>startTransition(()=>setHoveredUnit(unit.key)),onMouseLeave:()=>startTransition(()=>setHoveredUnit(null)),children:[/*#__PURE__*/_jsx(\"div\",{style:getNumberStyle(unit.key),children:\"00\"}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:labelStyle,children:unit.label})]})},unit.key))})]});}return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    @keyframes analogClockRotate {\n                        0% { transform: rotateY(0deg); }\n                        50% { transform: rotateY(90deg); }\n                        100% { transform: rotateY(0deg); }\n                    }\n                    \n                    @keyframes analogFadeIn {\n                        0% { \n                            opacity: 0; \n                            transform: translateX(-50%) rotateY(90deg) scale(0.8);\n                        }\n                        100% { \n                            opacity: 1; \n                            transform: translateX(-50%) rotateY(0deg) scale(1);\n                        }\n                    }\n                    \n                    @keyframes analogFadeOut {\n                        0% { \n                            opacity: 1; \n                            transform: translateX(-50%) rotateY(0deg) scale(1);\n                        }\n                        100% { \n                            opacity: 0; \n                            transform: translateX(-50%) rotateY(-90deg) scale(0.8);\n                        }\n                    }\n                    @keyframes flipUp {\n                        0% { \n                            transform: translateX(-50%) translateY(0%);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(-100%);\n                            opacity: 0;\n                        }\n                    }\n                    \n                    @keyframes flipDown {\n                        0% { \n                            transform: translateX(-50%) translateY(100%);\n                            opacity: 0;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(0%);\n                            opacity: 1;\n                        }\n                    }\n                    @keyframes fadeIn {\n                        0% { \n                            opacity: 0; \n                            transform: translateX(-50%) scale(0.95) rotateY(15deg);\n                            filter: blur(1px);\n                        }\n                        50% {\n                            opacity: 0.7;\n                            transform: translateX(-50%) scale(1.02) rotateY(0deg);\n                            filter: blur(0.5px);\n                        }\n                        100% { \n                            opacity: 1; \n                            transform: translateX(-50%) scale(1) rotateY(0deg);\n                            filter: blur(0px);\n                        }\n                    }\n                    \n                    @keyframes fadeOut {\n                        0% { \n                            opacity: 1; \n                            transform: translateX(-50%) scale(1) rotateY(0deg);\n                            filter: blur(0px);\n                        }\n                        50% {\n                            opacity: 0.3;\n                            transform: translateX(-50%) scale(0.98) rotateY(-15deg);\n                            filter: blur(0.5px);\n                        }\n                        100% { \n                            opacity: 0; \n                            transform: translateX(-50%) scale(0.95) rotateY(-30deg);\n                            filter: blur(1px);\n                        }\n                    }\n                    \n                    @keyframes slideUp {\n                        0% { \n                            transform: translateX(-50%) translateY(100%);\n                            opacity: 0;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(0%);\n                            opacity: 1;\n                        }\n                    }\n                    \n                    @keyframes slideDown {\n                        0% { \n                            transform: translateX(-50%) translateY(0%);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(-100%);\n                            opacity: 0;\n                        }\n                    }\n                    \n                    @keyframes flipInX {\n                        0% { \n                            transform: translateX(-50%) rotateX(90deg) scale(0.8);\n                            opacity: 0;\n                            transform-origin: center bottom;\n                        }\n                        25% {\n                            transform: translateX(-50%) rotateX(45deg) scale(0.9);\n                            opacity: 0.3;\n                        }\n                        75% {\n                            transform: translateX(-50%) rotateX(-5deg) scale(1.05);\n                            opacity: 0.9;\n                        }\n                        100% { \n                            transform: translateX(-50%) rotateX(0deg) scale(1);\n                            opacity: 1;\n                            transform-origin: center center;\n                        }\n                    }\n                    \n                    @keyframes flipOutX {\n                        0% { \n                            transform: translateX(-50%) rotateX(0deg) scale(1);\n                            opacity: 1;\n                            transform-origin: center center;\n                        }\n                        25% {\n                            transform: translateX(-50%) rotateX(-15deg) scale(1.05);\n                            opacity: 0.9;\n                        }\n                        75% {\n                            transform: translateX(-50%) rotateX(-75deg) scale(0.9);\n                            opacity: 0.3;\n                        }\n                        100% { \n                            transform: translateX(-50%) rotateX(-90deg) scale(0.8);\n                            opacity: 0;\n                            transform-origin: center top;\n                        }\n                    }\n                    \n                    @keyframes bounceIn {\n                        0% { \n                            transform: translateX(-50%) translateY(50px) scale(0.8);\n                            opacity: 0;\n                        }\n                        50% { \n                            transform: translateX(-50%) translateY(-10px) scale(1.1);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(0px) scale(1);\n                            opacity: 1;\n                        }\n                    }\n                    \n                    @keyframes bounceOut {\n                        0% { \n                            transform: translateX(-50%) translateY(0px) scale(1);\n                            opacity: 1;\n                        }\n                        50% { \n                            transform: translateX(-50%) translateY(-10px) scale(1.1);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-50%) translateY(50px) scale(0.8);\n                            opacity: 0;\n                        }\n                    }\n                    \n                    @keyframes zoomIn {\n                        0% { \n                            transform: translateX(-50%) scale(0);\n                            opacity: 0;\n                        }\n                        100% { \n                            transform: translateX(-50%) scale(1);\n                            opacity: 1;\n                        }\n                    }\n                    \n                    @keyframes zoomOut {\n                        0% { \n                            transform: translateX(-50%) scale(1);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-50%) scale(0);\n                            opacity: 0;\n                        }\n                    }\n                    \n                    @keyframes moveInFromRight {\n                        0% { \n                            transform: translateX(50%);\n                            opacity: 0;\n                        }\n                        100% { \n                            transform: translateX(-50%);\n                            opacity: 1;\n                        }\n                    }\n                    \n                    @keyframes moveOutToLeft {\n                        0% { \n                            transform: translateX(-50%);\n                            opacity: 1;\n                        }\n                        100% { \n                            transform: translateX(-150%);\n                            opacity: 0;\n                        }\n                    }\n                `}),/*#__PURE__*/_jsx(\"div\",{style:getLayoutStyles(),children:timeUnits.map(unit=>/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsxs(\"div\",{style:getTimeUnitStyle(unit.key),onMouseEnter:()=>startTransition(()=>setHoveredUnit(unit.key)),onMouseLeave:()=>startTransition(()=>setHoveredUnit(null)),children:[renderNumber(unit),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:labelStyle,children:unit.label})]})},unit.key))})]});}addPropertyControls(CountdownTimer,{targetDate:{type:ControlType.Date,title:\"Target Date\",displayTime:true,defaultValue:new Date(Date.now()+7*24*60*60*1e3).toISOString()},isDarkMode:{type:ControlType.Boolean,title:\"Dark Mode\",defaultValue:true,enabledTitle:\"Dark\",disabledTitle:\"Light\"},primaryColor:{type:ControlType.Color,title:\"Numbers Color (Dark)\",defaultValue:\"#FFFFFF\",hidden:({isDarkMode})=>!isDarkMode},accentColor:{type:ControlType.Color,title:\"Text Color (Dark)\",defaultValue:\"#00D4FF\",hidden:({isDarkMode})=>!isDarkMode},unitBackgroundColor:{type:ControlType.Color,title:\"Unit Background\",defaultValue:\"#1A1A1A\",hidden:({isDarkMode})=>!isDarkMode},lightModeNumberColor:{type:ControlType.Color,title:\"Numbers Color (Light)\",defaultValue:\"#000000\",hidden:({isDarkMode})=>isDarkMode},lightModeAccentColor:{type:ControlType.Color,title:\"Text Color (Light)\",defaultValue:\"#0066CC\",hidden:({isDarkMode})=>isDarkMode},lightModeUnitBackgroundColor:{type:ControlType.Color,title:\"Unit Background\",defaultValue:\"#F5F5F5\",hidden:({isDarkMode})=>isDarkMode},animationType:{type:ControlType.Enum,title:\"Animation Type\",defaultValue:\"fade\",options:[\"none\",\"fade\",\"flip\"],optionTitles:[\"None\",\"Fade\",\"Flip\"]},showDays:{type:ControlType.Boolean,title:\"Show Days\",defaultValue:true},showHours:{type:ControlType.Boolean,title:\"Show Hours\",defaultValue:true},showMinutes:{type:ControlType.Boolean,title:\"Show Minutes\",defaultValue:true},showSeconds:{type:ControlType.Boolean,title:\"Show Seconds\",defaultValue:true},numberFont:{type:ControlType.Font,title:\"Numbers Font\",defaultValue:{variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},numberFontSize:{type:ControlType.Number,title:\"Numbers Font Size\",defaultValue:48,min:12,max:120,unit:\"px\"},labelFont:{type:ControlType.Font,title:\"Labels Font\",defaultValue:{variant:\"Medium\",letterSpacing:\"0.1em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},labelFontSize:{type:ControlType.Number,title:\"Labels Font Size\",defaultValue:12,min:8,max:32,unit:\"px\"},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:24,min:0,max:100,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:16,min:0,max:50,unit:\"px\"},numberToLabelPadding:{type:ControlType.Number,title:\"Number to Label Padding\",defaultValue:4,min:0,max:20,unit:\"px\"},showCompletedMessage:{type:ControlType.Boolean,title:\"Show Completed Message\",defaultValue:true},completedMessage:{type:ControlType.String,title:\"Completed Message\",defaultValue:\"Time's Up!\",hidden:({showCompletedMessage})=>!showCompletedMessage},unitFrameSize:{type:ControlType.Number,title:\"Unit Frame Size\",defaultValue:120,min:60,max:200,unit:\"px\"},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:0,min:0,max:10,unit:\"px\"},borderColor:{type:ControlType.Color,title:\"Border Color (Dark)\",defaultValue:\"#333333\",hidden:({isDarkMode})=>!isDarkMode},lightModeBorderColor:{type:ControlType.Color,title:\"Border Color (Light)\",defaultValue:\"#CCCCCC\",hidden:({isDarkMode})=>isDarkMode}});export default CountdownTimer;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountdownTimer\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountdownTimer.map"],"mappings":"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"}