{"version":3,"file":"FormSuccessTransition.RLSYSrGk.mjs","names":["forwardRef","useState","useRef","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/9MFAjIgEAq1moHCflQ8H/FamakcSnCT8fo3MOnSqD/FormSuccessTransition.js"],"sourcesContent":["// User request: Create a Framer code override export named FormSuccessTransition for existing canvas forms; preserve native Framer submission behavior; transition only on genuine successful submit; fade existing content out with slight upward movement; show centered accessible thank-you state in-place; avoid navigation/reload interference; expose controls for heading, body, fade duration, and minimum confirmation height; support reduced motion and responsive layout.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";import{motion,useInView,useReducedMotion}from\"framer-motion\";export function FormSuccessTransition(Component){const Wrapped=/*#__PURE__*/forwardRef(function FormSuccessTransitionOverride(props,ref){const{confirmationHeading=\"Thank you\",confirmationBody=\"Your message was received beautifully. We’ll be in touch soon.\",fadeDuration=.45,minConfirmationHeight=180,confirmationDelayMs=700,style,...restProps}=props;const[isSuccess,setIsSuccess]=useState(false);const staticRenderer=useIsStaticRenderer();const reduceMotion=useReducedMotion();const wrapperRef=useRef(null);const timeoutRef=useRef(null);const isInView=useInView(wrapperRef,{amount:.2});const markSuccess=useCallback(()=>{startTransition(()=>{setIsSuccess(true);});},[]);useEffect(()=>{if(typeof window===\"undefined\")return;const node=wrapperRef.current;if(!node)return;const resolvedForm=node.closest(\"form\")??node.querySelector(\"form\");if(!resolvedForm)return;const clearTimer=()=>{if(timeoutRef.current===null)return;window.clearTimeout(timeoutRef.current);timeoutRef.current=null;};const onSubmitCapture=()=>{if(isSuccess)return;if(!resolvedForm.checkValidity())return;clearTimer();const safeDelay=Math.min(3e3,Math.max(0,confirmationDelayMs));timeoutRef.current=window.setTimeout(()=>{markSuccess();timeoutRef.current=null;},safeDelay);};resolvedForm.addEventListener(\"submit\",onSubmitCapture,true);return()=>{clearTimer();resolvedForm.removeEventListener(\"submit\",onSubmitCapture,true);};},[confirmationDelayMs,isSuccess,markSuccess]);const duration=useMemo(()=>reduceMotion?.01:Math.max(.1,fadeDuration),[fadeDuration,reduceMotion]);const allowMotion=!staticRenderer&&isInView&&!reduceMotion;return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:minConfirmationHeight,background:\"transparent\"},children:[/*#__PURE__*/_jsx(Component,{ref:ref,...restProps,style:{...style,opacity:isSuccess?0:1,transform:isSuccess?\"translateY(-4px)\":\"translateY(0px)\",transition:allowMotion?`opacity ${duration}s ease, transform ${duration}s ease`:\"none\",pointerEvents:isSuccess?\"none\":style?.pointerEvents}}),/*#__PURE__*/_jsx(motion.div,{role:\"status\",\"aria-live\":\"polite\",\"aria-atomic\":\"true\",initial:false,animate:{opacity:isSuccess?1:0,y:isSuccess?0:4},transition:{duration,ease:\"easeOut\"},style:{position:\"absolute\",inset:0,minHeight:minConfirmationHeight,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\",padding:\"20px\",pointerEvents:\"none\",background:\"transparent\",color:\"#4B2E22\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:520,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,marginBottom:\"10px\",fontFamily:'\"Bodoni Moda\", \"Cormorant Garamond\", \"Times New Roman\", serif',fontWeight:500,fontSize:\"clamp(26px, 4vw, 34px)\",lineHeight:1.1,letterSpacing:\"-0.01em\"},children:confirmationHeading}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:'\"Iowan Old Style\", \"Garamond\", \"Georgia\", \"Times New Roman\", serif',fontSize:\"16px\",lineHeight:1.45},children:confirmationBody})]})})]});});return Wrapped;}addPropertyControls(FormSuccessTransition,{confirmationHeading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Thank you\"},confirmationBody:{type:ControlType.String,title:\"Body\",defaultValue:\"Your message was received beautifully. We’ll be in touch soon.\",displayTextArea:true},fadeDuration:{type:ControlType.Number,title:\"Fade\",defaultValue:.45,min:.1,max:1.6,step:.05},minConfirmationHeight:{type:ControlType.Number,title:\"Min Height\",defaultValue:180,min:80,max:600,step:2,unit:\"px\"},confirmationDelayMs:{type:ControlType.Number,title:\"Delay\",defaultValue:700,min:300,max:2e3,step:50,unit:\"ms\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"FormSuccessTransition\":{\"type\":\"reactHoc\",\"name\":\"FormSuccessTransition\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormSuccessTransition.map"],"mappings":"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"}