{"version":3,"file":"Download.C7AIY35B.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/hxEb9fzCoq15DWSYBImb/p5Rpqdf5G5oz2k5Zyn7f/FrameHoverReveal_Prod.js","https:/framerusercontent.com/modules/kBkaj3LmBqcSU2IkUsBC/kvFSr6fSU7VcYZyNyfaK/Download.js"],"sourcesContent":["// Interactive Frame with hover-reveal opacity effect\n// Behaves like a native Framer Frame, with fill, border, shadow, radius, and interactive opacity mask\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useState,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Global hover state\nlet globalHover={hovered:false,x:0,y:0,listeners:new Set};function notifyGlobalHover(){for(const fn of globalHover.listeners)typeof fn===\"function\"&&fn(globalHover);}function subscribeGlobalHover(fn){globalHover.listeners.add(fn);return()=>globalHover.listeners.delete(fn);}// Use a symbol to avoid polluting window with a string property\nconst FRAMER_FRAME_REVEAL_LISTENER=Symbol.for(\"__framerFrameRevealGlobalListener\");if(typeof window!==\"undefined\"&&!window[FRAMER_FRAME_REVEAL_LISTENER]){window[FRAMER_FRAME_REVEAL_LISTENER]=true;window.addEventListener(\"mousemove\",e=>{globalHover.hovered=true;globalHover.x=e.clientX;globalHover.y=e.clientY;notifyGlobalHover();});window.addEventListener(\"mouseout\",e=>{globalHover.hovered=false;notifyGlobalHover();});}/**\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n */function FrameReveal(props){const{fill,border,borderWidth,borderColor,borderStyle,shadow,borderRadius,baseOpacity,hoverOpacity,range,style,children}=props;const ref=useRef(null);const[localHover,setLocalHover]=useState({hovered:false,x:0,y:0});const isStatic=useIsStaticRenderer();// Subscribe to global hover\nuseEffect(()=>{if(isStatic)return;function update(global){if(!ref.current)return;const rect=ref.current.getBoundingClientRect();// Check if the global cursor is within the reveal range of this frame\nconst cx=global.x-rect.left;const cy=global.y-rect.top;const inside=global.x>=rect.left&&global.x<=rect.right&&global.y>=rect.top&&global.y<=rect.bottom;// If cursor is within the reveal range of this frame, set hovered true\n// But we want the mask to appear even if the cursor is NEAR the frame (within range)\nconst distX=Math.max(0,rect.left-global.x,global.x-rect.right);const distY=Math.max(0,rect.top-global.y,global.y-rect.bottom);const dist=Math.sqrt(distX*distX+distY*distY);const reveal=dist<=props.range;startTransition(()=>setLocalHover({hovered:global.hovered&&reveal,x:cx,y:cy}));}update(globalHover);const unsub=subscribeGlobalHover(update);return()=>{unsub();};},[props.range,isStatic]);// Compose border style\nconst borderStr=border?`${border.borderWidth}px ${border.borderStyle} ${border.borderColor}`:\"none\";const boxShadow=shadow?shadow:\"none\";const radius=borderRadius;// Mask for the top layer\nconst[showMask,setShowMask]=useState(false);const[topOpacity,setTopOpacity]=useState(0);// Animate opacity and mask removal\nuseEffect(()=>{if(isStatic)return;let timeout;if(localHover.hovered){setShowMask(true);startTransition(()=>setTopOpacity(hoverOpacity));}else{startTransition(()=>setTopOpacity(0));// Remove mask after transition\ntimeout=window.setTimeout(()=>{setShowMask(false);},250);}return()=>{if(timeout)clearTimeout(timeout);};},[localHover.hovered,hoverOpacity,isStatic]);const maskImage=!isStatic&&showMask?`radial-gradient(circle ${range}px at ${localHover.x}px ${localHover.y}px, black 0%, transparent 100%)`:undefined;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"visible\"},tabIndex:0,\"aria-label\":\"Interactive Frame\",children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,background:fill,border:borderStr,boxShadow,borderRadius:radius,opacity:baseOpacity,pointerEvents:\"none\",overflow:\"hidden\"},children:children}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,background:fill,border:borderStr,boxShadow,borderRadius:radius,WebkitMaskImage:maskImage,maskImage:maskImage,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskSize:\"100% 100%\",maskSize:\"100% 100%\",opacity:topOpacity,transition:\"opacity 0.25s cubic-bezier(0.4,0,0.2,1)\",pointerEvents:\"none\",overflow:\"hidden\"},children:children})]});}FrameReveal.displayName=\"Frame Hover Reveal\";addPropertyControls(FrameReveal,{fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#FFFFFF\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#EEEEEE\"},optional:true},shadow:{type:ControlType.BoxShadow,title:\"Shadow\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"4px\"},baseOpacity:{type:ControlType.Number,title:\"Base\",defaultValue:0,min:0,max:1,step:.01,unit:\"\"},hoverOpacity:{type:ControlType.Number,title:\"Hover\",defaultValue:1,min:0,max:1,step:.01,unit:\"\"},range:{type:ControlType.Number,title:\"Range\",defaultValue:80,min:1,max:2e3,step:1,unit:\"px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});export default FrameReveal;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameReveal\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"200\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FrameHoverReveal_Prod.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";var IconType;(function(IconType){IconType[\"Default\"]=\"Default\";IconType[\"Custom\"]=\"Custom\";})(IconType||(IconType={}));var SrcType;(function(SrcType){SrcType[\"Upload\"]=\"Upload\";SrcType[\"URL\"]=\"URL\";})(SrcType||(SrcType={}));// Check for the Search Index Meta Tag\n// Currently the only way to differenciate between Preview & Publish\nconst metaTagSelector='meta[name=\"framer-search-index\"]';// We can hopefully remove this check when new Preview ships\nfunction isPublishedSiteOrSSG(){if(typeof document===\"undefined\")return true;const metaTag=document.querySelector(metaTagSelector);return!!metaTag;}/**\n *\n * DOWNLOAD\n * By Hunter\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 100\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */ export default function Download(props){const{styleOptions,hoverOptions,iconOptions}=props;const{backgroundColor,color,borderRadius,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,gap}=styleOptions;const isInPublishedSiteOrSSG=isPublishedSiteOrSSG();let downloadURL=undefined;if(isInPublishedSiteOrSSG){if(props.srcType===SrcType.URL)downloadURL=props.srcURL;if(props.srcType===SrcType.Upload)downloadURL=props.srcFile;}const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;const getIcon=()=>{var ref,ref1;if(!iconOptions)return;const iconStyle={order:iconOptions.alignment===\"start\"?0:2,flexShrink:0};return iconOptions.type===IconType.Custom&&!!((ref=iconOptions.image)===null||ref===void 0?void 0:ref.src)?/*#__PURE__*/ _jsx(\"img\",{style:iconStyle,alt:((ref1=iconOptions.image)===null||ref1===void 0?void 0:ref1.alt)&&iconOptions.image.alt.length>0?iconOptions.image.alt:\"download icon\",src:iconOptions.image.src,width:iconOptions.size,height:iconOptions.size}):/*#__PURE__*/ _jsx(\"svg\",{style:iconStyle,xmlns:\"http://www.w3.org/2000/svg\",width:iconOptions.size,height:iconOptions.size,fill:iconOptions.color,viewBox:\"0 0 256 256\",children:/*#__PURE__*/ _jsx(\"path\",{d:\"M228 152v56a20 20 0 0 1-20 20H48a20 20 0 0 1-20-20v-56a12 12 0 0 1 24 0v52h152v-52a12 12 0 0 1 24 0Zm-108.49 8.49a12 12 0 0 0 17 0l40-40a12 12 0 0 0-17-17L140 123V40a12 12 0 0 0-24 0v83l-19.51-19.49a12 12 0 0 0-17 17Z\"})});};const getCursor=()=>{if(props.srcType===SrcType.URL&&props.srcURL)return\"pointer\";if(props.srcType===SrcType.Upload&&props.srcFile)return\"pointer\";return\"auto\";};const buttonTitle=isInPublishedSiteOrSSG?\"Download File\":\"Publish to Download\";return /*#__PURE__*/ _jsxs(motion.a,{target:\"_blank\",href:downloadURL,download:true,title:buttonTitle,style:{gap,fontSize:16,lineHeight:1,fontFamily:\"Inter\",fontWeight:500,width:\"max-content\",...props.style,...buttonStyles,...props.fontControl,padding:paddingValue,color:color,backgroundColor:backgroundColor,borderRadius:borderRadius,userSelect:\"none\",placeContent:flexAlignSwitch(props.fontControl),whiteSpace:\"nowrap\",cursor:getCursor()},whileHover:hoverOptions,transition:hoverOptions===null||hoverOptions===void 0?void 0:hoverOptions.transition,children:[getIcon(),props.text]});};Download.displayName=\"Download\";addPropertyControls(Download,{text:{title:\"Text\",type:ControlType.String,defaultValue:\"Download\"},srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Upload,SrcType.URL]},srcURL:{type:ControlType.String,title:\" \",placeholder:\"../example.pdf\",hidden:props=>props.srcType===SrcType.Upload},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[],hidden:props=>props.srcType===SrcType.URL},fontControl:{// @ts-ignore - Internal\ntype:ControlType.Font,title:\"Font\",controls:\"extended\"},iconOptions:{type:ControlType.Object,optional:true,title:\"Icon\",buttonTitle:\"Size, Color\",controls:{type:{title:\"Type\",type:ControlType.Enum,options:Object.values(IconType),optionTitles:Object.values(IconType),displaySegmentedControl:true},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.type===IconType.Custom},image:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.type===IconType.Default},size:{type:ControlType.Number,displayStepper:true,min:5,defaultValue:16,max:250},alignment:{title:\"Align\",type:ControlType.Enum,displaySegmentedControl:true,options:[\"start\",\"end\"],optionTitles:[\"Start\",\"End\"]}}},styleOptions:{type:ControlType.Object,title:\"Styles\",buttonTitle:\"Button, Font\",controls:{backgroundColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#111\"},color:{type:ControlType.Color,defaultValue:\"#FFF\"},borderRadius:{type:ControlType.Number,title:\"Radius\",displayStepper:true,defaultValue:50},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:10,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},gap:{title:\"Gap\",type:ControlType.Number,displayStepper:true,defaultValue:5}}},hoverOptions:{type:ControlType.Object,title:\"Hover\",buttonTitle:\"Effect\",optional:true,controls:{scale:{type:ControlType.Number,title:\"Scale\",min:0,max:10,displayStepper:true,step:.01,defaultValue:1.1},backgroundColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#333\",optional:true},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFF\",optional:true},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:400,damping:30}}}}});const buttonStyles={display:\"flex\",placeItems:\"center\",placeContent:\"center\",textDecoration:\"none\"};/* Match flex content alignment with text align */ const flexAlignSwitch=fontControlStyles=>{if(!(fontControlStyles===null||fontControlStyles===void 0?void 0:fontControlStyles.textAlign)){return\"left\";}if(fontControlStyles.textAlign===\"left\"){return\"flex-start\";}if(fontControlStyles.textAlign===\"right\"){return\"flex-end\";}return\"center\";};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Download\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Download.map"],"mappings":"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"}