{"version":3,"file":"ProtectedDownloadButton.Bt6lrQbe.mjs","names":["useState","useRef","_Fragment","startTransition"],"sources":["https:/framerusercontent.com/modules/IqCkqh0KKI9DlInvZDUM/Pl5YO88Eytntieqo3jkv/ProtectedDownloadButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,startTransition,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createPortal}from\"react-dom\";const DEFAULT_MAX_ATTEMPTS=5;const DEFAULT_LOCKOUT_DURATION=30// seconds\n;const STORAGE_KEY=\"pdl_lock\";// PREMIUM HAPTICS\nconst triggerHaptics=type=>{if(typeof navigator===\"undefined\"||typeof window===\"undefined\"){return;}// @ts-ignore\nconst canVibrate=typeof navigator.vibrate===\"function\";if(!canVibrate)return;let pattern;switch(type){case\"success\":pattern=18;break;case\"error\":pattern=[14,45,14];break;case\"lock\":pattern=[22,70,22,70,22];break;case\"cancel\":pattern=[12,40,12];break;default:pattern=18;}try{// @ts-ignore\nnavigator.vibrate(pattern);}catch{// Ignore errors silently\n}};const secureCompare=(a,b)=>{if(a.length!==b.length){return false;}let result=0;for(let i=0;i<a.length;i++){result|=a.charCodeAt(i)^b.charCodeAt(i);}return result===0;};const sanitizeFilename=filename=>{return filename.replace(/[^a-zA-Z0-9._-]/g,\"_\").substring(0,255);};export default function ProtectedDownloadButton(props){const{label,uploadedFile=\"\",password,buttonColor,buttonTextColor,buttonFont,modalButtonFont,borderRadius,incorrectPasswordMessage,messageColor,modalTitle,modalDescription,modalTitleFont,modalDescriptionFont,textTransform,buttonShadow,buttonShadowType,buttonShadowColor,buttonShadowX,buttonShadowY,buttonShadowBlur,textShadow,textShadowColor,textShadowX,textShadowY,textShadowBlur,showPasswordToggle,errorMessageFont,errorMessageShadow,errorMessageShadowColor,errorMessageShadowX,errorMessageShadowY,errorMessageShadowBlur,errorMessageTransform,inputFont,inputPlaceholder,maxAttempts=DEFAULT_MAX_ATTEMPTS,lockoutDuration=DEFAULT_LOCKOUT_DURATION}=props;const[showModal,setShowModal]=useState(false);const[enteredPassword,setEnteredPassword]=useState(\"\");const[errorMessage,setErrorMessage]=useState(\"\");const[isHovered,setIsHovered]=useState(false);const[isDownloading,setIsDownloading]=useState(false);const[attempts,setAttempts]=useState(0);const[isLocked,setIsLocked]=useState(false);const[showPassword,setShowPassword]=useState(false);const[lockTimeRemaining,setLockTimeRemaining]=useState(0);const[isInputFocused,setIsInputFocused]=useState(false);const[shouldAutoReopen,setShouldAutoReopen]=useState(false);const[hasError,setHasError]=useState(false);const[modalAnimationActive,setModalAnimationActive]=useState(false);const inputRef=useRef(null);const timeoutRef=useRef(null);const lockTimeoutRef=useRef(null);const countdownIntervalRef=useRef(null);const autoReopenTimeoutRef=useRef(null);const isMountedRef=useRef(true);const autoCloseTimeoutRef=useRef(null);const scrollLockRef=useRef(null);const scrollYRef=useRef(0);const preventTouchMoveRef=useRef(null);const LOCK_TIME_MS=lockoutDuration*1e3;const AUTO_CLOSE_DELAY=1e4// 10 seconds\n;// Load lock state from sessionStorage on mount\nuseEffect(()=>{if(typeof window===\"undefined\")return;isMountedRef.current=true;try{const lockData=sessionStorage.getItem(STORAGE_KEY);if(lockData){const{lockedUntil,attemptCount}=JSON.parse(lockData);const now=Date.now();if(lockedUntil>now){setIsLocked(true);setAttempts(attemptCount);setShowModal(false);setLockTimeRemaining(Math.ceil((lockedUntil-now)/1e3));const remainingTime=lockedUntil-now;countdownIntervalRef.current=window.setInterval(()=>{const timeLeft=Math.ceil((lockedUntil-Date.now())/1e3);if(timeLeft>0){setLockTimeRemaining(timeLeft);}else{if(countdownIntervalRef.current){window.clearInterval(countdownIntervalRef.current);countdownIntervalRef.current=null;}}},1e3);lockTimeoutRef.current=window.setTimeout(()=>{if(isMountedRef.current){setAttempts(0);setIsLocked(false);setLockTimeRemaining(0);if(shouldAutoReopen){setShowModal(true);setShouldAutoReopen(false);}sessionStorage.removeItem(STORAGE_KEY);if(countdownIntervalRef.current){window.clearInterval(countdownIntervalRef.current);countdownIntervalRef.current=null;}}},remainingTime);}else{sessionStorage.removeItem(STORAGE_KEY);}}}catch(e){console.error(e);}return()=>{isMountedRef.current=false;if(timeoutRef.current){clearTimeout(timeoutRef.current);timeoutRef.current=null;}if(lockTimeoutRef.current){clearTimeout(lockTimeoutRef.current);lockTimeoutRef.current=null;}if(countdownIntervalRef.current){window.clearInterval(countdownIntervalRef.current);countdownIntervalRef.current=null;}if(autoReopenTimeoutRef.current){clearTimeout(autoReopenTimeoutRef.current);autoReopenTimeoutRef.current=null;}if(autoCloseTimeoutRef.current){clearTimeout(autoCloseTimeoutRef.current);autoCloseTimeoutRef.current=null;}};},[shouldAutoReopen,lockoutDuration]);// Handle scroll lock and modal animation\nuseEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const html=document.documentElement;const body=document.body;const unlockScroll=()=>{if(!scrollLockRef.current)return;const prev=scrollLockRef.current;body.style.overflow=prev.bodyOverflow;body.style.position=prev.bodyPosition;body.style.top=prev.bodyTop;body.style.width=prev.bodyWidth;body.style.touchAction=prev.bodyTouchAction;html.style.overflow=prev.htmlOverflow;// @ts-ignore\nhtml.style.overscrollBehavior=prev.htmlOverscrollBehavior;if(preventTouchMoveRef.current){window.removeEventListener(\"touchmove\",preventTouchMoveRef.current);preventTouchMoveRef.current=null;}scrollLockRef.current=null;window.scrollTo(0,scrollYRef.current);};if(showModal){// Trigger animation after a microtask\nsetTimeout(()=>{if(isMountedRef.current){setModalAnimationActive(true);}},10);// Start auto-close timer\nautoCloseTimeoutRef.current=window.setTimeout(()=>{if(isMountedRef.current&&!enteredPassword.trim()){triggerHaptics(\"cancel\");startTransition(()=>{setShowModal(false);setEnteredPassword(\"\");setErrorMessage(\"\");setShowPassword(false);setHasError(false);});}},AUTO_CLOSE_DELAY);if(!scrollLockRef.current){scrollYRef.current=window.scrollY||0;scrollLockRef.current={bodyOverflow:body.style.overflow,bodyPosition:body.style.position,bodyTop:body.style.top,bodyWidth:body.style.width,htmlOverflow:html.style.overflow,// @ts-ignore\nhtmlOverscrollBehavior:html.style.overscrollBehavior,bodyTouchAction:body.style.touchAction};html.style.overflow=\"hidden\";// @ts-ignore\nhtml.style.overscrollBehavior=\"none\";body.style.overflow=\"hidden\";body.style.position=\"fixed\";body.style.top=`-${scrollYRef.current}px`;body.style.width=\"100%\";body.style.touchAction=\"none\";preventTouchMoveRef.current=e=>{if(e.cancelable)e.preventDefault();};window.addEventListener(\"touchmove\",preventTouchMoveRef.current,{passive:false});}const focusTimeout=setTimeout(()=>{if(inputRef.current&&!isLocked){inputRef.current.focus();startTransition(()=>setIsInputFocused(true));}},200);return()=>{clearTimeout(focusTimeout);unlockScroll();if(autoCloseTimeoutRef.current){clearTimeout(autoCloseTimeoutRef.current);autoCloseTimeoutRef.current=null;}};}// showModal === false\nsetModalAnimationActive(false);unlockScroll();startTransition(()=>{setIsInputFocused(false);setHasError(false);});},[showModal,isLocked,enteredPassword]);const showError=(message,hapticType=\"error\")=>{if(!isMountedRef.current)return;triggerHaptics(hapticType);startTransition(()=>{setErrorMessage(message);setHasError(true);});if(timeoutRef.current){clearTimeout(timeoutRef.current);}timeoutRef.current=window.setTimeout(()=>{if(isMountedRef.current){startTransition(()=>{setErrorMessage(\"\");setHasError(false);});}},3200);};const handleOpen=()=>{if(!uploadedFile){showError(\"No file uploaded\",\"error\");return;}if(isLocked){const remaining=Math.ceil(lockTimeRemaining);showError(`Locked. Try again in ${remaining}s`,\"lock\");return;}triggerHaptics(\"success\");startTransition(()=>{setShowModal(true);setEnteredPassword(\"\");setErrorMessage(\"\");setShowPassword(false);setHasError(false);});};const handleDownload=async e=>{e.preventDefault();if(isLocked){const remaining=Math.ceil(lockTimeRemaining);showError(`Locked. Try again in ${remaining}s`,\"lock\");return;}if(!enteredPassword.trim()){showError(\"Enter password\",\"error\");return;}if(!secureCompare(enteredPassword,password)){const newAttempts=attempts+1;startTransition(()=>setAttempts(newAttempts));if(newAttempts>=maxAttempts){triggerHaptics(\"lock\");startTransition(()=>{setIsLocked(true);setShowModal(false);setShouldAutoReopen(true);});const lockedUntil=Date.now()+LOCK_TIME_MS;sessionStorage.setItem(STORAGE_KEY,JSON.stringify({lockedUntil,attemptCount:newAttempts}));startTransition(()=>setLockTimeRemaining(lockoutDuration));countdownIntervalRef.current=window.setInterval(()=>{const timeLeft=Math.ceil((lockedUntil-Date.now())/1e3);if(timeLeft>0){startTransition(()=>setLockTimeRemaining(timeLeft));}else{if(countdownIntervalRef.current){window.clearInterval(countdownIntervalRef.current);countdownIntervalRef.current=null;}}},1e3);lockTimeoutRef.current=window.setTimeout(()=>{if(isMountedRef.current){startTransition(()=>{setAttempts(0);setIsLocked(false);setLockTimeRemaining(0);if(shouldAutoReopen){setShowModal(true);setShouldAutoReopen(false);}});sessionStorage.removeItem(STORAGE_KEY);if(countdownIntervalRef.current){window.clearInterval(countdownIntervalRef.current);countdownIntervalRef.current=null;}}},LOCK_TIME_MS);startTransition(()=>setEnteredPassword(\"\"));return;}showError(`${incorrectPasswordMessage} (${newAttempts}/${maxAttempts})`,\"error\");startTransition(()=>setEnteredPassword(\"\"));return;}// Success - trigger haptic feedback\ntriggerHaptics(\"success\");startTransition(()=>setIsDownloading(true));try{const response=await fetch(uploadedFile,{method:\"GET\",credentials:\"same-origin\",cache:\"no-store\"});if(!response.ok){throw new Error(\"Download failed\");}const blob=await response.blob();const fileName=uploadedFile.split(\"/\").pop()?.split(\"?\")[0]||\"download\";const safeFileName=sanitizeFilename(fileName);const blobUrl=URL.createObjectURL(blob);const link=document.createElement(\"a\");link.href=blobUrl;link.download=safeFileName;link.rel=\"noopener noreferrer\";document.body.appendChild(link);link.click();setTimeout(()=>{URL.revokeObjectURL(blobUrl);if(document.body.contains(link)){document.body.removeChild(link);}},100);sessionStorage.removeItem(STORAGE_KEY);// Auto-close modal immediately after successful download\nsetTimeout(()=>{if(isMountedRef.current){startTransition(()=>{setShowModal(false);setEnteredPassword(\"\");setAttempts(0);setIsLocked(false);setLockTimeRemaining(0);setShouldAutoReopen(false);setHasError(false);setIsDownloading(false);});}},150);}catch(err){console.error(err);showError(\"Download failed\",\"error\");}finally{if(isMountedRef.current){startTransition(()=>setIsDownloading(false));}}};const closeModal=()=>{triggerHaptics(\"cancel\");startTransition(()=>{setShowModal(false);setEnteredPassword(\"\");setErrorMessage(\"\");setShowPassword(false);setHasError(false);});};const handlePasswordChange=e=>{const value=e.target.value;if(value.length<=256){startTransition(()=>setEnteredPassword(value));}// Reset auto-close timer when user types\nif(autoCloseTimeoutRef.current){clearTimeout(autoCloseTimeoutRef.current);autoCloseTimeoutRef.current=null;}if(hasError&&value.length>0){startTransition(()=>{setHasError(false);setErrorMessage(\"\");});if(timeoutRef.current){clearTimeout(timeoutRef.current);timeoutRef.current=null;}}};// Button tap scale animation style\nconst tapScaleStyle={transition:\"transform 0.1s cubic-bezier(0.2, 0.9, 0.4, 1.1)\",transform:\"scale(1)\",activeTransform:\"scale(0.96)\"};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{...props.style,position:\"relative\",borderRadius},children:/*#__PURE__*/_jsx(\"button\",{onClick:handleOpen,onMouseEnter:()=>startTransition(()=>setIsHovered(true)),onMouseLeave:()=>startTransition(()=>setIsHovered(false)),disabled:!uploadedFile||isLocked,\"aria-label\":label,style:{width:\"100%\",height:\"100%\",border:\"1px solid rgba(255,255,255,0.08)\",borderRadius,background:buttonColor,color:buttonTextColor,cursor:uploadedFile&&!isLocked?\"pointer\":\"not-allowed\",transition:\"all 0.3s cubic-bezier(0.16, 1, 0.3, 1)\",opacity:uploadedFile&&!isLocked?1:.5,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",boxShadow:buttonShadow?`${buttonShadowType===\"inner\"?\"inset \":\"\"}${buttonShadowX}px ${buttonShadowY}px ${buttonShadowBlur}px ${buttonShadowColor}`:\"none\",padding:\"14px 22px\",textTransform,textShadow:textShadow?`${textShadowX}px ${textShadowY}px ${textShadowBlur}px ${textShadowColor}`:\"none\",WebkitTapHighlightColor:\"transparent\",...buttonFont},children:isLocked?`Locked (${lockTimeRemaining}s)`:label})}),showModal&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{onClick:closeModal,role:\"dialog\",\"aria-modal\":\"true\",style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100dvh\",background:\"rgba(0,0,0,0.72)\",backdropFilter:\"blur(16px)\",WebkitBackdropFilter:\"blur(16px)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:2147483647,padding:\"16px\",opacity:modalAnimationActive?1:0,transition:\"opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), backdrop-filter 0.35s ease\"},children:/*#__PURE__*/_jsx(\"div\",{onClick:e=>e.stopPropagation(),style:{width:\"100%\",maxWidth:\"420px\",borderRadius:Math.min(borderRadius+4,20),background:\"rgba(15,15,15,0.98)\",border:\"1px solid rgba(255,255,255,0.1)\",padding:\"28px\",boxShadow:\"0 24px 100px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.05)\",backdropFilter:\"blur(32px)\",WebkitBackdropFilter:\"blur(32px)\",transform:modalAnimationActive?\"scale(1) translateY(0)\":\"scale(0.94) translateY(24px)\",opacity:modalAnimationActive?1:0,transition:\"transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease\"},children:/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleDownload,style:{display:\"flex\",flexDirection:\"column\",gap:\"18px\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"8px\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#FFFFFF\",textTransform,...modalTitleFont},children:modalTitle}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"rgba(255,255,255,0.6)\",textTransform,...modalDescriptionFont},children:modalDescription})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:showPassword?\"text\":\"password\",value:enteredPassword,onChange:handlePasswordChange,onFocus:()=>setIsInputFocused(true),onBlur:()=>setIsInputFocused(false),disabled:isDownloading||isLocked,placeholder:inputPlaceholder,autoComplete:\"off\",spellCheck:false,style:{width:\"100%\",height:\"54px\",borderRadius:\"16px\",border:hasError?`2px solid ${messageColor}`:isInputFocused?`2px solid ${buttonColor}`:\"1px solid rgba(255,255,255,0.1)\",background:hasError?\"rgba(255, 90, 122, 0.1)\":isInputFocused?\"rgba(255,255,255,0.06)\":\"rgba(255,255,255,0.04)\",color:\"#FFFFFF\",padding:showPasswordToggle?\"0 52px 0 18px\":\"0 18px\",outline:\"none\",textAlign:\"left\",WebkitAppearance:\"none\",boxShadow:hasError?`0 0 0 4px ${messageColor}25, 0 4px 12px ${messageColor}20`:isInputFocused?`0 0 0 4px ${buttonColor}18, 0 8px 24px ${buttonColor}30`:\"0 2px 8px rgba(0,0,0,0.1)\",transition:\"all 0.35s cubic-bezier(0.16, 1, 0.3, 1)\",opacity:isLocked?.5:1,...inputFont}}),showPasswordToggle&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>startTransition(()=>setShowPassword(!showPassword)),disabled:isDownloading||isLocked,\"aria-label\":showPassword?\"Hide password\":\"Show password\",style:{position:\"absolute\",right:\"14px\",top:\"50%\",transform:\"translateY(-50%)\",width:\"36px\",height:\"36px\",border:\"none\",background:\"rgba(255,255,255,0.05)\",color:\"rgba(255,255,255,0.5)\",cursor:isLocked?\"not-allowed\":\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"8px\",transition:\"all 0.25s cubic-bezier(0.16, 1, 0.3, 1)\",padding:0,opacity:isLocked?.4:1},onMouseEnter:e=>{if(!isLocked){e.currentTarget.style.background=\"rgba(255,255,255,0.12)\";e.currentTarget.style.color=\"rgba(255,255,255,0.95)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1.05)\";}},onMouseLeave:e=>{e.currentTarget.style.background=\"rgba(255,255,255,0.05)\";e.currentTarget.style.color=\"rgba(255,255,255,0.5)\";e.currentTarget.style.transform=\"translateY(-50%) scale(1)\";},onMouseDown:e=>{if(!isLocked){e.currentTarget.style.transform=\"translateY(-50%) scale(0.95)\";}},onMouseUp:e=>{if(!isLocked){e.currentTarget.style.transform=\"translateY(-50%) scale(1.05)\";}},children:showPassword?/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"1\",y1:\"1\",x2:\"23\",y2:\"23\"})]}):/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"3\"})]})})]}),errorMessage&&/*#__PURE__*/_jsxs(\"div\",{role:\"alert\",style:{color:messageColor,padding:\"10px 14px\",borderRadius:\"12px\",background:`${messageColor}15`,border:`1px solid ${messageColor}30`,animation:\"slideInShake 0.4s cubic-bezier(0.16, 1, 0.3, 1)\",textTransform:errorMessageTransform,textShadow:errorMessageShadow?`${errorMessageShadowX}px ${errorMessageShadowY}px ${errorMessageShadowBlur}px ${errorMessageShadowColor}`:\"none\",...errorMessageFont},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                                                @keyframes slideInShake {\n                                                    0% {\n                                                        opacity: 0;\n                                                        transform: translateY(-8px);\n                                                    }\n                                                    50% {\n                                                        opacity: 1;\n                                                        transform: translateY(0);\n                                                    }\n                                                    60% {\n                                                        transform: translateX(-4px);\n                                                    }\n                                                    70% {\n                                                        transform: translateX(4px);\n                                                    }\n                                                    80% {\n                                                        transform: translateX(-2px);\n                                                    }\n                                                    90% {\n                                                        transform: translateX(2px);\n                                                    }\n                                                    100% {\n                                                        transform: translateX(0);\n                                                    }\n                                                }\n                                            `}),errorMessage]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"12px\",marginTop:\"8px\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:closeModal,disabled:isLocked,style:{flex:1,height:\"52px\",borderRadius:\"16px\",border:\"1px solid rgba(255,255,255,0.1)\",background:\"rgba(255,255,255,0.04)\",color:\"rgba(255,255,255,0.85)\",cursor:isLocked?\"not-allowed\":\"pointer\",textTransform,opacity:isLocked?.5:1,transition:\"all 0.25s cubic-bezier(0.16, 1, 0.3, 1)\",...modalButtonFont},onMouseEnter:e=>{if(!isLocked){e.currentTarget.style.background=\"rgba(255,255,255,0.08)\";e.currentTarget.style.borderColor=\"rgba(255,255,255,0.15)\";}},onMouseLeave:e=>{e.currentTarget.style.background=\"rgba(255,255,255,0.04)\";e.currentTarget.style.borderColor=\"rgba(255,255,255,0.1)\";e.currentTarget.style.transform=\"scale(1)\";},onMouseDown:e=>{if(!isLocked){e.currentTarget.style.transform=\"scale(0.97)\";}},onMouseUp:e=>{e.currentTarget.style.transform=\"scale(1)\";},onTouchStart:e=>{if(!isLocked){e.currentTarget.style.transform=\"scale(0.97)\";}},onTouchEnd:e=>{e.currentTarget.style.transform=\"scale(1)\";},children:\"Cancel\"}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:isDownloading||isLocked,style:{flex:1,height:\"52px\",border:\"none\",borderRadius:\"16px\",background:isDownloading||isLocked?\"rgba(255,255,255,0.1)\":buttonColor,color:buttonTextColor,cursor:isDownloading||isLocked?\"not-allowed\":\"pointer\",opacity:isDownloading||isLocked?.6:1,transition:\"all 0.25s cubic-bezier(0.16, 1, 0.3, 1)\",textTransform,boxShadow:isDownloading||isLocked?\"none\":`0 4px 16px ${buttonColor}40`,...modalButtonFont},onMouseEnter:e=>{if(!isDownloading&&!isLocked){e.currentTarget.style.opacity=\"0.9\";e.currentTarget.style.boxShadow=`0 6px 20px ${buttonColor}50`;}},onMouseLeave:e=>{e.currentTarget.style.opacity=\"1\";e.currentTarget.style.boxShadow=`0 4px 16px ${buttonColor}40`;e.currentTarget.style.transform=\"scale(1)\";},onMouseDown:e=>{if(!isDownloading&&!isLocked){e.currentTarget.style.transform=\"scale(0.97)\";}},onMouseUp:e=>{e.currentTarget.style.transform=\"scale(1)\";},onTouchStart:e=>{if(!isDownloading&&!isLocked){e.currentTarget.style.transform=\"scale(0.97)\";}},onTouchEnd:e=>{e.currentTarget.style.transform=\"scale(1)\";},children:isDownloading?\"Downloading...\":isLocked?`Locked (${lockTimeRemaining}s)`:\"Download\"})]})]})})}),document.body)]});}addPropertyControls(ProtectedDownloadButton,{label:{type:ControlType.String,title:\"Button Label\",defaultValue:\"Download File\"},uploadedFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"*\"]},password:{type:ControlType.String,title:\"Password\",defaultValue:\"secure123\",obscured:true},showPasswordToggle:{type:ControlType.Boolean,title:\"Show/Hide Toggle\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#0099FF\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#FFFFFF\"},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},modalButtonFont:{type:ControlType.Font,title:\"Modal Buttons Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:50,step:1,unit:\"px\"},textTransform:{type:ControlType.Enum,title:\"Text Transform\",options:[\"none\",\"uppercase\",\"capitalize\"],optionTitles:[\"None\",\"Uppercase\",\"Capitalize\"],defaultValue:\"none\",displaySegmentedControl:true},buttonShadow:{type:ControlType.Boolean,title:\"Button Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},buttonShadowType:{type:ControlType.Enum,title:\"Shadow Type\",options:[\"outer\",\"inner\"],optionTitles:[\"Outer\",\"Inner\"],defaultValue:\"outer\",displaySegmentedControl:true,hidden:({buttonShadow})=>!buttonShadow},buttonShadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"rgba(0, 0, 0, 0.2)\",hidden:({buttonShadow})=>!buttonShadow},buttonShadowX:{type:ControlType.Number,title:\"Shadow X\",defaultValue:0,min:-50,max:50,step:1,unit:\"px\",hidden:({buttonShadow})=>!buttonShadow},buttonShadowY:{type:ControlType.Number,title:\"Shadow Y\",defaultValue:4,min:-50,max:50,step:1,unit:\"px\",hidden:({buttonShadow})=>!buttonShadow},buttonShadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",defaultValue:10,min:0,max:100,step:1,unit:\"px\",hidden:({buttonShadow})=>!buttonShadow},textShadow:{type:ControlType.Boolean,title:\"Text Shadow\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},textShadowColor:{type:ControlType.Color,title:\"Text Shadow Color\",defaultValue:\"rgba(0, 0, 0, 0.3)\",hidden:({textShadow})=>!textShadow},textShadowX:{type:ControlType.Number,title:\"Text Shadow X\",defaultValue:0,min:-20,max:20,step:1,unit:\"px\",hidden:({textShadow})=>!textShadow},textShadowY:{type:ControlType.Number,title:\"Text Shadow Y\",defaultValue:2,min:-20,max:20,step:1,unit:\"px\",hidden:({textShadow})=>!textShadow},textShadowBlur:{type:ControlType.Number,title:\"Text Shadow Blur\",defaultValue:4,min:0,max:50,step:1,unit:\"px\",hidden:({textShadow})=>!textShadow},modalTitle:{type:ControlType.String,title:\"Modal Title\",defaultValue:\"Enter Password\"},modalDescription:{type:ControlType.String,title:\"Modal Description\",defaultValue:\"Please enter the password to download this file\",displayTextArea:true},modalTitleFont:{type:ControlType.Font,title:\"Modal Title Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"22px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},modalDescriptionFont:{type:ControlType.Font,title:\"Modal Description Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},inputFont:{type:ControlType.Font,title:\"Input Field Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"16px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"}},inputPlaceholder:{type:ControlType.String,title:\"Input Placeholder\",defaultValue:\"Enter password\"},incorrectPasswordMessage:{type:ControlType.String,title:\"Error Message\",defaultValue:\"Incorrect password\"},messageColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#FF5588\"},errorMessageFont:{type:ControlType.Font,title:\"Error Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"13px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"}},errorMessageTransform:{type:ControlType.Enum,title:\"Error Transform\",options:[\"none\",\"uppercase\",\"capitalize\"],optionTitles:[\"None\",\"Uppercase\",\"Capitalize\"],defaultValue:\"none\",displaySegmentedControl:true},errorMessageShadow:{type:ControlType.Boolean,title:\"Error Shadow\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},errorMessageShadowColor:{type:ControlType.Color,title:\"Error Shadow Color\",defaultValue:\"rgba(0, 0, 0, 0.3)\",hidden:({errorMessageShadow})=>!errorMessageShadow},errorMessageShadowX:{type:ControlType.Number,title:\"Error Shadow X\",defaultValue:0,min:-20,max:20,step:1,unit:\"px\",hidden:({errorMessageShadow})=>!errorMessageShadow},errorMessageShadowY:{type:ControlType.Number,title:\"Error Shadow Y\",defaultValue:1,min:-20,max:20,step:1,unit:\"px\",hidden:({errorMessageShadow})=>!errorMessageShadow},errorMessageShadowBlur:{type:ControlType.Number,title:\"Error Shadow Blur\",defaultValue:2,min:0,max:50,step:1,unit:\"px\",hidden:({errorMessageShadow})=>!errorMessageShadow},maxAttempts:{type:ControlType.Number,title:\"Max Attempts\",defaultValue:5,min:1,max:10,step:1},lockoutDuration:{type:ControlType.Number,title:\"Lockout Duration\",defaultValue:30,min:10,max:300,step:5,unit:\"sec\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProtectedDownloadButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProtectedDownloadButton.map"],"mappings":"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"}