{"version":3,"file":"SmartModalPopup.YdjEcCDd.mjs","names":["React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/C6SOBBDvunmPdX6ypiXj/NGxF1SPP43YgdfPteqhS/SmartModalPopup.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";// Internal Icons\nconst XIcon=()=>/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"100%\",height:\"100%\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]});/**\n * SMART MODAL POPUP\n *\n * A high-fidelity popup component with grouped controls for better usability.\n *\n * Groups:\n * - Content: The frame to show\n * - Settings: Audience, Frequency, Behavior\n * - Triggers: Timer, Scroll, Exit\n * - Design: Appearance & Animation\n * - Close Button: Styles & Position\n */export function SmartPopup(props){// Destructure with defaults to ensure stability\nconst{content,timer={enabled:false,delay:5},scroll={enabled:true,threshold:30},exit={enabled:true},settings={audience:\"all\",frequency:\"always\",campaignId:\"promo_01\",overlay:true,blockScroll:false},design={theme:\"light\",position:\"center\",animation:\"bounce\",maxWidth:800},close={show:true,position:\"inside\",color:\"#888888\",size:32}}=props;const[isOpen,setIsOpen]=React.useState(false);const[hasTriggered,setHasTriggered]=React.useState(false);const[shouldRender,setShouldRender]=React.useState(true);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const storageKey=`framer_popup_${settings.campaignId}`;const visitorKey=\"framer_smart_popup_visitor_status\";// -- LOGIC: AUDIENCE & FREQUENCY --\nReact.useEffect(()=>{if(isCanvas)return;// 1. Check Visitor History (Global)\nconst hasVisited=localStorage.getItem(visitorKey);// Audience Targeting Logic\nif(settings.audience===\"new\"&&hasVisited){setShouldRender(false);setHasTriggered(true)// Disable triggers\n;}else if(settings.audience===\"returning\"&&!hasVisited){setShouldRender(false);setHasTriggered(true)// Disable triggers\n;}// Mark as visited for next time (if not already)\nif(!hasVisited){localStorage.setItem(visitorKey,\"true\");}// 2. Check Campaign Frequency (Specific to this popup ID)\nif(settings.frequency===\"once\"){const seen=localStorage.getItem(storageKey);if(seen){setShouldRender(false);setHasTriggered(true);}}},[settings.audience,settings.frequency,settings.campaignId]);// Wrap triggerPopup in useCallback to stabilize the function reference\nconst triggerPopup=React.useCallback(()=>{if(!shouldRender||isOpen||hasTriggered)return;setIsOpen(true);setHasTriggered(true);if(settings.frequency===\"once\"){localStorage.setItem(storageKey,\"true\");}},[shouldRender,isOpen,hasTriggered,settings.frequency,storageKey]);// -- LOGIC: TIMER --\nReact.useEffect(()=>{if(isCanvas||!timer.enabled||!shouldRender||hasTriggered)return;const t=setTimeout(()=>{triggerPopup();},timer.delay*1e3);return()=>clearTimeout(t);},[timer.enabled,timer.delay,shouldRender,triggerPopup,hasTriggered]);// -- LOGIC: SCROLL DEPTH --\nReact.useEffect(()=>{if(isCanvas||!scroll.enabled||!shouldRender||hasTriggered)return;const handleScroll=()=>{const scrollPercent=window.scrollY/(document.body.scrollHeight-window.innerHeight)*100;if(scrollPercent>scroll.threshold){triggerPopup();}};window.addEventListener(\"scroll\",handleScroll);return()=>window.removeEventListener(\"scroll\",handleScroll);},[scroll.enabled,scroll.threshold,shouldRender,triggerPopup,hasTriggered]);// -- LOGIC: EXIT INTENT --\nReact.useEffect(()=>{if(isCanvas||!exit.enabled||!shouldRender||hasTriggered)return;const handleExit=e=>{// Logic: Mouse leaves top (y <= 50)\n// We check if e.clientY is a valid number, and if it's within the top buffer zone.\nif(typeof e.clientY===\"number\"&&e.clientY<=50){triggerPopup();}};// Attach to document for broader coverage\ndocument.addEventListener(\"mouseleave\",handleExit);// Fallback: mouseout on window (sometimes needed for iframes)\nwindow.addEventListener(\"mouseout\",handleExit);return()=>{document.removeEventListener(\"mouseleave\",handleExit);window.removeEventListener(\"mouseout\",handleExit);};},[exit.enabled,shouldRender,triggerPopup,hasTriggered]);// -- LOGIC: SCROLL BLOCK --\nReact.useEffect(()=>{if(isOpen&&settings.blockScroll&&!isCanvas){document.body.style.overflow=\"hidden\";}else{document.body.style.overflow=\"\";}return()=>{document.body.style.overflow=\"\";};},[isOpen,settings.blockScroll]);const handleClose=()=>setIsOpen(false);// -- ANIMATION VARIANTS --\nconst getVariants=()=>{const type=design.animation;switch(type){case\"slide\":return{initial:{opacity:0,y:100},animate:{opacity:1,y:0},exit:{opacity:0,y:100}};case\"scale\":return{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8}};case\"bounce\":return{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1,transition:{type:\"spring\",bounce:.5}},exit:{opacity:0,scale:.8}};case\"fade\":default:return{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}};}};// -- RENDER CANVAS STATE --\nif(isCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:20,background:\"#f3f4f6\",color:\"#6b7280\",borderRadius:16,textAlign:\"center\",border:\"1px dashed #d1d5db\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",height:\"100%\",gap:8,fontSize:14},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Smart Modal Popup\"}),/*#__PURE__*/_jsx(\"span\",{style:{textAlign:\"center\"},children:content&&content.length>0?\"Content Connected\":\"Connect Frame via Content property\"})]});}const hasContent=content&&content.length>0;const variants=getVariants();// Helper for Theme Colors\nconst isDark=design.theme===\"dark\";const isGlass=design.theme===\"glass\";const bg=isDark?\"#0f172a\":isGlass?\"rgba(255,255,255,0.1)\":\"#ffffff\";const textColor=isDark||isGlass?\"#ffffff\":\"#0f172a\";const backdropBlur=isGlass?\"blur(16px)\":\"none\";const border=isGlass?\"1px solid rgba(255,255,255,0.2)\":\"1px solid rgba(0,0,0,0.05)\";// Close Button Component\nconst CloseBtn=({style})=>/*#__PURE__*/_jsx(\"div\",{style:{cursor:\"pointer\",zIndex:20,background:design.theme===\"light\"?\"rgba(0,0,0,0.05)\":\"rgba(255,255,255,0.1)\",borderRadius:\"50%\",width:close.size,height:close.size,padding:close.size*.25,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:close.color,...style},onClick:handleClose,children:/*#__PURE__*/_jsx(XIcon,{})});return /*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,display:\"flex\",alignItems:design.position===\"center\"?\"center\":\"flex-end\",justifyContent:design.position===\"center\"?\"center\":design.position===\"right\"?\"flex-end\":\"flex-start\",pointerEvents:\"none\",zIndex:9999,padding:32},children:[settings.overlay&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:handleClose,style:{position:\"absolute\",inset:0,background:\"rgba(0,0,0,0.4)\",pointerEvents:\"auto\",backdropFilter:\"blur(4px)\"}}),/*#__PURE__*/_jsxs(motion.div,{initial:variants.initial,animate:variants.animate,exit:variants.exit,style:{width:hasContent?\"auto\":\"100%\",maxWidth:design.maxWidth,position:\"relative\",pointerEvents:\"none\",display:\"flex\",flexDirection:\"column\",alignItems:\"stretch\"},children:[close.show&&close.position===\"outside\"&&/*#__PURE__*/_jsx(CloseBtn,{style:{position:\"absolute\",top:-(close.size+8),right:0,pointerEvents:\"auto\",background:design.theme===\"light\"?\"rgba(255,255,255,0.9)\":\"rgba(0,0,0,0.6)\",boxShadow:\"0 2px 10px rgba(0,0,0,0.1)\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{background:bg,color:textColor,borderRadius:24,overflow:\"hidden\",boxShadow:\"0 20px 40px rgba(0,0,0,0.2)\",pointerEvents:\"auto\",position:\"relative\",border:border,backdropFilter:backdropBlur,width:\"100%\"},children:[close.show&&close.position===\"inside\"&&/*#__PURE__*/_jsx(CloseBtn,{style:{position:\"absolute\",top:12,right:12}}),hasContent?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\"},children:content}):/*#__PURE__*/_jsxs(\"div\",{style:{padding:48,textAlign:\"center\",opacity:.6,fontFamily:\"sans-serif\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontWeight:600},children:\"No Content Connected\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"8px 0 0 0\",fontSize:14},children:\"Select a Frame in the property panel.\"})]})]})]})]})});}addPropertyControls(SmartPopup,{content:{type:ControlType.ComponentInstance,title:\"Content\",description:\"Connect your Frame here\"},settings:{type:ControlType.Object,title:\"Settings\",controls:{audience:{type:ControlType.Enum,title:\"Audience\",options:[\"all\",\"new\",\"returning\"],optionTitles:[\"All Visitors\",\"New Visitors Only\",\"Returning Only\"],defaultValue:\"all\",description:\"Target based on visit history\"},frequency:{type:ControlType.Enum,title:\"Frequency\",options:[\"always\",\"once\"],optionTitles:[\"Always\",\"Once per User\"],defaultValue:\"always\"},campaignId:{type:ControlType.String,title:\"ID\",defaultValue:\"promo_01\",hidden:value=>value.frequency!==\"once\",description:\"Unique ID to track if user has seen this\"},overlay:{type:ControlType.Boolean,title:\"Overlay\",defaultValue:true},blockScroll:{type:ControlType.Boolean,title:\"Block Scroll\",defaultValue:false}}},timer:{type:ControlType.Object,title:\"Timer Trigger\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:false},delay:{type:ControlType.Number,title:\"Delay (s)\",defaultValue:5,min:1,displayStepper:true}}},scroll:{type:ControlType.Object,title:\"Scroll Trigger\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true},threshold:{type:ControlType.Number,title:\"Depth %\",defaultValue:30,min:0,max:100,unit:\"%\"}}},exit:{type:ControlType.Object,title:\"Exit Trigger\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true}}},design:{type:ControlType.Object,title:\"Design\",controls:{theme:{type:ControlType.Enum,title:\"Theme\",options:[\"light\",\"dark\",\"glass\"],optionTitles:[\"Light\",\"Dark\",\"Glass\"],defaultValue:\"light\"},position:{type:ControlType.Enum,title:\"Position\",options:[\"center\",\"left\",\"right\"],optionTitles:[\"Center\",\"Left\",\"Right\"],defaultValue:\"center\"},animation:{type:ControlType.Enum,title:\"Animation\",options:[\"fade\",\"scale\",\"slide\",\"bounce\"],optionTitles:[\"Fade\",\"Scale\",\"Slide Up\",\"Bounce\"],defaultValue:\"bounce\"},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:800,min:200,max:2e3}}},close:{type:ControlType.Object,title:\"Close Button\",controls:{show:{type:ControlType.Boolean,title:\"Show\",defaultValue:true},position:{type:ControlType.Enum,title:\"Position\",options:[\"inside\",\"outside\"],optionTitles:[\"Inside\",\"Outside\"],defaultValue:\"inside\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#888888\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:32,min:20,max:60}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"SmartPopup\":{\"type\":\"reactComponent\",\"name\":\"SmartPopup\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmartModalPopup.map"],"mappings":"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"}