{"version":3,"file":"shared-lib.COmjYITT.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","useRef","useState","overlayElement","_Fragment"],"sources":["https:/framerusercontent.com/modules/cqXdpmVy1cQMqS13QFv4/HId40W0Wmet2Bw5EavV9/nEzOxG4M8.js","https:/framerusercontent.com/modules/d1dpbpF7eWnaDMhbXZFR/hsIceIG7b82ewTahN4HO/Smooth_Scroll.js","https:/framerusercontent.com/modules/jtDB8EdmEzlAdYJwzZUq/dUkZHhHcHsAc33ZjlWOt/siteMetadata.js"],"sourcesContent":["// Generated by Framer (cf4c6d7)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"z3Ibz34Y0\",\"BDjwc5NFZ\",\"WAreEdfiA\",\"Dr8x72Zq0\"];const serializationHash=\"framer-Rdfuc\";const variantClassNames={BDjwc5NFZ:\"framer-v-170e8bj\",Dr8x72Zq0:\"framer-v-fj5ufu\",WAreEdfiA:\"framer-v-18iwjj2\",z3Ibz34Y0:\"framer-v-o6bmdk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Dark Grey\":\"BDjwc5NFZ\",\"Light Grey\":\"z3Ibz34Y0\",Blue:\"WAreEdfiA\",White:\"Dr8x72Zq0\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"z3Ibz34Y0\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"z3Ibz34Y0\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-o6bmdk\",className,classNames),\"data-framer-name\":\"Light Grey\",layoutDependency:layoutDependency,layoutId:\"z3Ibz34Y0\",ref:refBinding,style:{backgroundColor:\"var(--token-fdd6c519-6847-4985-97c1-f9303c60ddd5, rgba(203, 213, 225, 0.4))\",opacity:1,...style},variants:{BDjwc5NFZ:{backgroundColor:\"var(--token-5333a0e7-a22e-451e-bd25-5250dcede0dc, rgb(101, 114, 133))\"},Dr8x72Zq0:{backgroundColor:\"var(--token-a240a63a-1297-4775-9ff8-9cc84a9f5462, rgb(255, 255, 255))\",opacity:.5},WAreEdfiA:{backgroundColor:\"var(--token-c3351972-be68-40c5-94fd-2249636faa8d, rgb(204, 0, 0))\",opacity:.5}},...addPropertyOverrides({BDjwc5NFZ:{\"data-framer-name\":\"Dark Grey\"},Dr8x72Zq0:{\"data-framer-name\":\"White\"},WAreEdfiA:{\"data-framer-name\":\"Blue\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Rdfuc.framer-i2gi2r, .framer-Rdfuc .framer-i2gi2r { display: block; }\",\".framer-Rdfuc.framer-o6bmdk { height: 714px; overflow: hidden; position: relative; width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 714\n * @framerIntrinsicWidth 1\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"BDjwc5NFZ\":{\"layout\":[\"fixed\",\"fixed\"]},\"WAreEdfiA\":{\"layout\":[\"fixed\",\"fixed\"]},\"Dr8x72Zq0\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramernEzOxG4M8=withCSS(Component,css,\"framer-Rdfuc\");export default FramernEzOxG4M8;FramernEzOxG4M8.displayName=\"Border\";FramernEzOxG4M8.defaultProps={height:714,width:1};addPropertyControls(FramernEzOxG4M8,{variant:{options:[\"z3Ibz34Y0\",\"BDjwc5NFZ\",\"WAreEdfiA\",\"Dr8x72Zq0\"],optionTitles:[\"Light Grey\",\"Dark Grey\",\"Blue\",\"White\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramernEzOxG4M8,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramernEzOxG4M8\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BDjwc5NFZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WAreEdfiA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Dr8x72Zq0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"714\",\"framerIntrinsicWidth\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./nEzOxG4M8.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * @framerDisableUnlink\n */export default function OptimizedSmoothScroll(props){// Destructure props at the top level\nconst{intensity=10,enabled=true,disableOnTouch=true}=props;// Component state\nconst lenisRef=useRef(null);const[isLenisLoaded,setIsLenisLoaded]=useState(false);const rafRef=useRef(null);const[isTouchDevice,setIsTouchDevice]=useState(false);const[isOverlayOpen,setIsOverlayOpen]=useState(false);const isInitialLoadRef=useRef(true);const lastScrollPosition=useRef(0);// Check if the device is a touch device - function defined outside hooks\nconst checkTouchDevice=()=>{if(typeof window!==\"undefined\"){return\"ontouchstart\"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;}return false;};// Set touch device state on first render\nuseEffect(()=>{setIsTouchDevice(checkTouchDevice());},[]);// Determine if smooth scroll should be active\n// Now it also considers if an overlay is open\nconst shouldActivate=enabled&&!(disableOnTouch&&isTouchDevice)&&!isOverlayOpen;// Priority load styles to ensure smooth scroll is active from the start\nuseEffect(()=>{const addInitialStyles=()=>{// Add initial styles to ensure smooth scrolling is active from the start\nconst styleEl=document.createElement(\"style\");styleEl.id=\"lenis-initial-styles\";styleEl.innerHTML=`\n                html.lenis {\n                    height: auto;\n                }\n                \n                .lenis.lenis-smooth {\n                    scroll-behavior: auto !important;\n                }\n                \n                .lenis.lenis-smooth [data-lenis-prevent] {\n                    overscroll-behavior: contain;\n                }\n                \n                .lenis.lenis-stopped {\n                    overflow: hidden;\n                }\n                \n                .lenis.lenis-scrolling iframe {\n                    pointer-events: none;\n                }\n            `;document.head.appendChild(styleEl);return()=>{const existingStyle=document.getElementById(\"lenis-initial-styles\");if(existingStyle){existingStyle.remove();}};};// If we should activate, add styles right away\nif(shouldActivate){return addInitialStyles();}},[shouldActivate]);// Dynamically load Lenis to avoid issues during initial rendering\nuseEffect(()=>{if(!shouldActivate)return;let isMounted=true;// Load Lenis dynamically\nconst loadLenis=async()=>{try{// Use dynamic import to load Lenis only when needed\nconst Lenis=(await import(\"@studio-freight/lenis\")).default;if(isMounted){// Initialize Lenis with smoother settings\nlenisRef.current=new Lenis({duration:intensity/10,smoothWheel:true,syncTouch:!disableOnTouch,touchMultiplier:2,wheelMultiplier:1.5,orientation:\"vertical\",gestureOrientation:\"vertical\",smoothTouch:!disableOnTouch,easing:t=>Math.min(1,1.001-Math.pow(2,-10*t)),immediate:false});// Start the lenis instance immediately\nlenisRef.current.start();// Make sure to set up RAF loop immediately\nconst raf=time=>{if(lenisRef.current){lenisRef.current.raf(time);}rafRef.current=requestAnimationFrame(raf);};rafRef.current=requestAnimationFrame(raf);setIsLenisLoaded(true);}}catch(error){console.warn(\"Failed to load Lenis:\",error);}};// Load Lenis with higher priority\nsetTimeout(loadLenis,0);return()=>{isMounted=false;// Proper cleanup\nif(lenisRef.current){lenisRef.current.destroy();lenisRef.current=null;}if(rafRef.current){cancelAnimationFrame(rafRef.current);rafRef.current=null;}setIsLenisLoaded(false);};},[shouldActivate,intensity,disableOnTouch]);// Set up animation loop only when Lenis is loaded - Now this is handled in the initialization\nuseEffect(()=>{// Only handle stopping the RAF loop here, starting is done in the init\nif(!isLenisLoaded||!shouldActivate)return;return()=>{if(rafRef.current){cancelAnimationFrame(rafRef.current);rafRef.current=null;}};},[isLenisLoaded,shouldActivate]);// Only reset scroll position on initial load, not when closing overlay\nuseEffect(()=>{if(lenisRef.current&&isLenisLoaded){if(isInitialLoadRef.current){lenisRef.current.scrollTo(0,{immediate:true});isInitialLoadRef.current=false;}}},[isLenisLoaded]);// Save scroll position periodically\nuseEffect(()=>{if(!shouldActivate)return;const saveScrollPosition=()=>{lastScrollPosition.current=window.scrollY;};// Save position every 300ms\nconst interval=setInterval(saveScrollPosition,300);// Also save on scroll\nwindow.addEventListener(\"scroll\",saveScrollPosition,{passive:true});return()=>{clearInterval(interval);window.removeEventListener(\"scroll\",saveScrollPosition);};},[shouldActivate]);// Handle overlays and modals - Enhanced version\nuseEffect(()=>{// Function to check if overlay is open\nconst checkOverlayState=()=>{const overlayElement=document.getElementById(\"overlay\");if(overlayElement){// Check if the overlay has children (which means it's active)\nconst hasChildren=overlayElement.children.length>0;// Only update if the state actually changed to prevent unnecessary effects\nif(hasChildren!==isOverlayOpen){setIsOverlayOpen(hasChildren);if(hasChildren){// If overlay is opened, save current position first\nlastScrollPosition.current=window.scrollY;// Then stop Lenis\nif(lenisRef.current){lenisRef.current.stop();}}else if(enabled&&!(disableOnTouch&&isTouchDevice)){// If overlay is closed and should be active, restart Lenis\nif(lenisRef.current){// Get saved position before restart\nconst savedPosition=lastScrollPosition.current;lenisRef.current.start();// After a small delay, restore position\nsetTimeout(()=>{window.scrollTo({top:savedPosition,behavior:\"auto\"});},10);}}}}};// Run the check immediately\ncheckOverlayState();// Observe changes to the overlay element\nconst overlayElement=document.getElementById(\"overlay\");if(overlayElement){const observer=new MutationObserver(()=>{checkOverlayState();});observer.observe(overlayElement,{childList:true});return()=>{observer.disconnect();};}// Also observe the HTML element for overflow changes\n// This catches modals that might not use the overlay element\nconst htmlElement=document.documentElement;const bodyObserver=new MutationObserver(()=>{const isOverflowHidden=window.getComputedStyle(htmlElement).overflow===\"hidden\";if(isOverflowHidden){// Save position before stopping\nlastScrollPosition.current=window.scrollY;if(lenisRef.current){lenisRef.current.stop();}}else if(enabled&&!(disableOnTouch&&isTouchDevice)&&!isOverlayOpen){if(lenisRef.current){// Get saved position\nconst savedPosition=lastScrollPosition.current;lenisRef.current.start();// Restore position\nsetTimeout(()=>{window.scrollTo({top:savedPosition,behavior:\"auto\"});},10);}}});bodyObserver.observe(htmlElement,{attributes:true,attributeFilter:[\"style\"]});return()=>{bodyObserver.disconnect();};},[isOverlayOpen,enabled,disableOnTouch,isTouchDevice]);// Debug info for development purposes\nconst debugInfo=process.env.NODE_ENV===\"development\"?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"none\"},children:[`Touch device: ${isTouchDevice?\"Yes\":\"No\"}`,`Smooth scroll active: ${shouldActivate?\"Yes\":\"No\"}`,`Overlay open: ${isOverlayOpen?\"Yes\":\"No\"}`,`Last scroll position: ${lastScrollPosition.current}`]}):null;return /*#__PURE__*/_jsxs(_Fragment,{children:[debugInfo,isLenisLoaded&&shouldActivate&&/*#__PURE__*/_jsx(\"style\",{children:`\n                    html.lenis {\n                        height: auto;\n                    }\n                    \n                    .lenis.lenis-smooth {\n                        scroll-behavior: auto !important;\n                    }\n                    \n                    .lenis.lenis-smooth [data-lenis-prevent] {\n                        overscroll-behavior: contain;\n                    }\n                    \n                    .lenis.lenis-stopped {\n                        overflow: hidden;\n                    }\n                    \n                    .lenis.lenis-scrolling iframe {\n                        pointer-events: none;\n                    }\n                    `})]});}OptimizedSmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(OptimizedSmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:1,max:20,step:1},enabled:{title:\"Enabled\",type:ControlType.Boolean,defaultValue:true},disableOnTouch:{title:\"Disable on touch devices\",type:ControlType.Boolean,defaultValue:true,description:\"Smooth Scroll v4 automatically disables smooth scrolling on phones and tablets and is now enhanced to disable automatically when overlays are open.\\n\\nBy [Andr\\xe9s Marciales](https://www.x.com/aamarciales)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OptimizedSmoothScroll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Smooth_Scroll.map","// Generated by Framer (9805f18)\nexport default function metadata(params,activeLocale){return{description:\"Pastor J.D. Howell is the Senior Pastor of First Baptist Church of Bridgeport. Explore sermons, teachings, and written devotionals from Pastor JD Howell—resources designed to inspire faith, deepen understanding, and draw hearts closer to Christ.\",favicon:\"https://framerusercontent.com/assets/B87tAlnpDmDattR5CbGnjVFN4Y.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/Ue2BQL2O1EfpljDXci1C0FWQzE0.jpg\",title:\"Pastor JD Howell\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}