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