{"version":3,"file":"VideoBackground.Bm4oO2ob.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/cHlt4Iz6SEizWoxXJn8P/cRuGETGpTjgSff443QlU/VideoBackground.js"],"sourcesContent":["// Video background component with text overlay, large rounded corners, and customizable fonts\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState,startTransition}from\"react\";/**\n * @framerIntrinsicWidth 584\n * @framerIntrinsicHeight 671\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function VideoBackground(props){const{videoSource=\"upload\",videoFile=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",bunnyUrl=\"\",bunnyAspectRatio=.5625,headline=\"Risk-free guarantee\",bodyText=\"If a deliverable misses the mark, it gets redone. No charge. If you decide CreativCurrent isn't for you, cancel anytime in the first month, you get a full refund and keep the work completed.\",headlineFont,bodyFont,textColor=\"#FFFFFF\",borderRadius=80,overlayOpacity=.3,overlayColor=\"#000000\",paddingTop=60,paddingRight=40,paddingBottom=60,paddingLeft=40,enableResponsive=true,mobileBreakpoint=768,tabletBreakpoint=1024,responsiveLayout=\"center\",responsiveFontScale=.7,responsivePaddingScale=.5,responsiveBorderRadius=40,style}=props;const containerRef=useRef(null);const videoRef=useRef(null);const[screenSize,setScreenSize]=useState(\"desktop\");const[containerSize,setContainerSize]=useState({width:0,height:0});useEffect(()=>{if(typeof window===\"undefined\"||!enableResponsive)return;const updateScreenSize=()=>{const width=window.innerWidth;if(width<mobileBreakpoint){startTransition(()=>setScreenSize(\"mobile\"));}else if(width<tabletBreakpoint){startTransition(()=>setScreenSize(\"tablet\"));}else{startTransition(()=>setScreenSize(\"desktop\"));}};updateScreenSize();window.addEventListener(\"resize\",updateScreenSize);return()=>{window.removeEventListener(\"resize\",updateScreenSize);};},[enableResponsive,mobileBreakpoint,tabletBreakpoint]);// Measure the container so a Bunny iframe can be scaled to cover the box\n// (iframes can't use object-fit, so we size it manually to avoid letterboxing).\nuseEffect(()=>{if(typeof window===\"undefined\"||videoSource!==\"bunny\"||!containerRef.current)return;const el=containerRef.current;const measure=()=>{startTransition(()=>setContainerSize({width:el.clientWidth,height:el.clientHeight}));};measure();const observer=new ResizeObserver(measure);observer.observe(el);return()=>observer.disconnect();},[videoSource]);useEffect(()=>{if(typeof window===\"undefined\"||videoSource!==\"upload\"||!videoRef.current)return;const video=videoRef.current;const playVideo=async()=>{try{await video.play();}catch(error){console.error(\"Video autoplay failed:\",error);// On mobile, especially iOS, autoplay might fail\n// Add a touch event listener to play on first interaction\nconst playOnInteraction=async()=>{try{await video.play();document.removeEventListener(\"touchstart\",playOnInteraction);document.removeEventListener(\"click\",playOnInteraction);}catch(err){console.error(\"Play on interaction failed:\",err);}};document.addEventListener(\"touchstart\",playOnInteraction,{once:true});document.addEventListener(\"click\",playOnInteraction,{once:true});}};// Ensure video is loaded before playing\nif(video.readyState>=2){playVideo();}else{video.addEventListener(\"loadeddata\",playVideo,{once:true});}// Handle visibility change to restart video when tab becomes visible\nconst handleVisibilityChange=()=>{if(!document.hidden&&video.paused){playVideo();}};document.addEventListener(\"visibilitychange\",handleVisibilityChange);return()=>{document.removeEventListener(\"visibilitychange\",handleVisibilityChange);};},[videoFile,videoSource]);// Accepts bunny.net play, embed, or direct iframe URLs, e.g.\n//   https://player.mediadelivery.net/play/678884/87856a59-bc7d-4681-9541-d3b7d7893b2b\n//   https://iframe.mediadelivery.net/embed/678884/87856a59-bc7d-4681-9541-d3b7d7893b2b\n// and returns the numeric library id + video GUID.\nconst extractBunnyIds=url=>{const regExp=/mediadelivery\\.net\\/(?:play|embed)\\/(\\d+)\\/([a-f0-9-]{36})/i;const match=url.match(regExp);return match?{libraryId:match[1],videoId:match[2]}:null;};const getBunnyEmbedUrl=()=>{const ids=extractBunnyIds(bunnyUrl);if(!ids)return\"\";// Background playback: muted + autoplay + loop, with all Bunny chrome\n// (controls) suppressed. NOTE: we deliberately omit `responsive=true` —\n// it locks the player to its own aspect box and fights the manual\n// cover-sizing of the iframe below. Without it the player fills the\n// iframe, so when the iframe matches the video's aspect there are no bars.\nconst params=[\"autoplay=true\",\"loop=true\",\"muted=true\",\"preload=true\",\"controls=false\"].join(\"&\");return`https://iframe.mediadelivery.net/embed/${ids.libraryId}/${ids.videoId}?${params}`;};// Calculate responsive values\nconst isMobile=enableResponsive&&screenSize===\"mobile\";const isTablet=enableResponsive&&screenSize===\"tablet\";const currentBorderRadius=isMobile?responsiveBorderRadius:borderRadius;const currentPaddingTop=isMobile?paddingTop*responsivePaddingScale:paddingTop;const currentPaddingRight=isMobile?paddingRight*responsivePaddingScale:paddingRight;const currentPaddingBottom=isMobile?paddingBottom*responsivePaddingScale:paddingBottom;const currentPaddingLeft=isMobile?paddingLeft*responsivePaddingScale:paddingLeft;const headlineFontSize=headlineFont.fontSize||\"40px\";const bodyFontSize=bodyFont.fontSize||\"15px\";const currentHeadlineFontSize=isMobile?`calc(${headlineFontSize} * ${responsiveFontScale})`:headlineFontSize;const currentBodyFontSize=isMobile?`calc(${bodyFontSize} * ${responsiveFontScale})`:bodyFontSize;// Determine layout alignment\nlet justifyContent=\"center\";let alignItems=\"center\";if(isMobile&&responsiveLayout!==\"center\"){switch(responsiveLayout){case\"top\":justifyContent=\"flex-start\";break;case\"bottom\":justifyContent=\"flex-end\";break;case\"stack\":justifyContent=\"center\";break;}}const bunnyEmbedUrl=videoSource===\"bunny\"?getBunnyEmbedUrl():\"\";// Size the Bunny iframe to cover the container without distorting the video.\n// The iframe is given the video's own aspect ratio (so the player fills it\n// with no letterbox), then enlarged until it overflows the smaller axis.\nconst aspect=bunnyAspectRatio>0?bunnyAspectRatio:16/9;const{width:cw,height:ch}=containerSize;let iframeWidth=cw;let iframeHeight=ch;if(cw>0&&ch>0){if(cw/ch>aspect){// Container is wider than the video: match width, overflow height\niframeWidth=cw;iframeHeight=cw/aspect;}else{// Container is taller than the video: match height, overflow width\niframeHeight=ch;iframeWidth=ch*aspect;}}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:`${currentBorderRadius}px`,WebkitMaskImage:\"-webkit-radial-gradient(white, black)\",WebkitBackfaceVisibility:\"hidden\",MozBackfaceVisibility:\"hidden\",backfaceVisibility:\"hidden\"},children:[videoSource===\"upload\"?/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:videoFile,loop:true,muted:true,playsInline:true,autoPlay:true,\"webkit-playsinline\":\"true\",preload:\"auto\",style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",borderRadius:`${currentBorderRadius}px`}}):bunnyEmbedUrl&&/*#__PURE__*/_jsx(\"iframe\",{src:bunnyEmbedUrl,loading:\"lazy\",allow:\"autoplay; encrypted-media; picture-in-picture\",// Block pointer events so the (hidden) Bunny player can't be\n// interacted with — it stays a pure background.\nstyle:{position:\"absolute\",top:\"50%\",left:\"50%\",width:iframeWidth?`${iframeWidth}px`:\"100%\",height:iframeHeight?`${iframeHeight}px`:\"100%\",transform:\"translate(-50%, -50%)\",border:\"none\",pointerEvents:\"none\"},title:\"Background video\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:overlayColor,opacity:overlayOpacity,borderRadius:`${currentBorderRadius}px`}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent,alignItems,padding:`${currentPaddingTop}px ${currentPaddingRight}px ${currentPaddingBottom}px ${currentPaddingLeft}px`,textAlign:\"center\",color:textColor,zIndex:1,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,marginBottom:isMobile?\"16px\":\"24px\",...headlineFont,fontSize:currentHeadlineFontSize,color:textColor},children:headline}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,maxWidth:isMobile?\"100%\":\"400px\",...bodyFont,fontSize:currentBodyFontSize,color:textColor},children:bodyText})]})]});}addPropertyControls(VideoBackground,{videoSource:{type:ControlType.Enum,title:\"Video Source\",options:[\"upload\",\"bunny\"],optionTitles:[\"Upload\",\"Bunny\"],defaultValue:\"upload\",displaySegmentedControl:true},videoFile:{type:ControlType.File,title:\"Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:({videoSource})=>videoSource!==\"upload\"},bunnyUrl:{type:ControlType.String,title:\"Bunny URL\",placeholder:\"https://player.mediadelivery.net/play/...\",hidden:({videoSource})=>videoSource!==\"bunny\"},bunnyAspectRatio:{type:ControlType.Number,title:\"Bunny Aspect\",defaultValue:.5625,min:.1,max:4,step:.01,hidden:({videoSource})=>videoSource!==\"bunny\"},headline:{type:ControlType.String,title:\"Headline\",defaultValue:\"Risk-free guarantee\"},bodyText:{type:ControlType.String,title:\"Body Text\",defaultValue:\"If a deliverable misses the mark, it gets redone. No charge. If you decide CreativCurrent isn't for you, cancel anytime in the first month, you get a full refund and keep the work completed.\",displayTextArea:true},headlineFont:{type:ControlType.Font,title:\"Headline Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1.1em\"}},bodyFont:{type:ControlType.Font,title:\"Body Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.5em\"}},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},paddingTop:{type:ControlType.Number,title:\"Padding Top\",defaultValue:60,min:0,max:200,step:5,unit:\"px\"},paddingRight:{type:ControlType.Number,title:\"Padding Right\",defaultValue:40,min:0,max:200,step:5,unit:\"px\"},paddingBottom:{type:ControlType.Number,title:\"Padding Bottom\",defaultValue:60,min:0,max:200,step:5,unit:\"px\"},paddingLeft:{type:ControlType.Number,title:\"Padding Left\",defaultValue:40,min:0,max:200,step:5,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:80,min:0,max:200,step:1,unit:\"px\"},overlayColor:{type:ControlType.Color,title:\"Overlay Color\",defaultValue:\"#000000\"},overlayOpacity:{type:ControlType.Number,title:\"Overlay Opacity\",defaultValue:.3,min:0,max:1,step:.05},enableResponsive:{type:ControlType.Boolean,title:\"Responsive\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile Breakpoint\",defaultValue:768,min:320,max:1024,step:1,unit:\"px\",hidden:({enableResponsive})=>!enableResponsive},tabletBreakpoint:{type:ControlType.Number,title:\"Tablet Breakpoint\",defaultValue:1024,min:768,max:1440,step:1,unit:\"px\",hidden:({enableResponsive})=>!enableResponsive},responsiveLayout:{type:ControlType.Enum,title:\"Mobile Layout\",options:[\"center\",\"top\",\"bottom\",\"stack\"],optionTitles:[\"Center\",\"Top\",\"Bottom\",\"Stack\"],defaultValue:\"center\",displaySegmentedControl:false,hidden:({enableResponsive})=>!enableResponsive},responsiveFontScale:{type:ControlType.Number,title:\"Mobile Font Scale\",defaultValue:.7,min:.5,max:1,step:.05,hidden:({enableResponsive})=>!enableResponsive},responsivePaddingScale:{type:ControlType.Number,title:\"Mobile Padding Scale\",defaultValue:.5,min:.25,max:1,step:.05,hidden:({enableResponsive})=>!enableResponsive},responsiveBorderRadius:{type:ControlType.Number,title:\"Mobile Radius\",defaultValue:40,min:0,max:100,step:1,unit:\"px\",hidden:({enableResponsive})=>!enableResponsive}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VideoBackground\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"584\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"671\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VideoBackground.map"],"mappings":"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"}