{"version":3,"file":"MissedCallTextBack.BmcRuRYT.mjs","names":["useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/VTuyRQngMFnkDWAW7SJo/VjXZAQbGLpeSXs3a8iDK/MissedCallTextBack.js"],"sourcesContent":["// MissedCallTextBackScene: two scenes that loop.\n// Scene 1: an iPhone, dead center, gets a call. It vibrates, nobody answers, it shows a missed call.\n// Scene 2: the conversation from the reference art. The customer's bubble comes in,\n// the automatic text back types in, and a check mark shows it was sent.\n// Colors: black (#000000) at different strengths, plus red and green call buttons.\n// Same frame as the review card: 431 x 445, art edge to edge, no padding.\n// The height follows the width (set Height to Fit in Framer). See-through background.\n// Hover to play: set \"Playing\" off in your card's default variant and on in its\n// Hover variant. Off hover it rests on the phone with an incoming call, and every\n// hover starts the call from there. Phones and tablets just play.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// ---------- Colors ----------\nconst INK=\"#000000\";const PAGE=\"#FEFEFE\";const WHITE=\"#FFFFFF\";const black=a=>`rgba(0, 0, 0, ${a})`;// Surfaces are a light see-through tint (like the review card), so your card color shows through\nconst SURFACE=black(.02);const TEXT=black(.35)// grey text lines + check\n;const SOFT=black(.2)// lighter text lines\n;const RING=black(.29)// avatar ring\n;const AVATAR_BG=black(.03);const AVATAR_FG=black(.34);// Phone handset glyph (24x24)\nconst PHONE_PATH=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\";// ---------- Geometry (from the 1448 x 1086 reference) ----------\nconst MID={x:750,y:527};// Crop: the exact same shape as the review card (702 x 724), art edge to edge.\n// Left/right: the tails of the two chat bubbles. Top/bottom: the phone in scene 1.\nconst VB={x:395,y:161.4,w:709,h:731.2};const PHONE_SCALE=1.64// phone is drawn at this size so it fills the card top to bottom\n;const BUBBLE_SPREAD=55// scene 2: customer bubble moves up, text back moves down, to use the height\n;// Scene 1: iPhone\nconst PHONE={x:MID.x-112,y:MID.y-222,w:224,h:444,r:40};const P_AVATAR={x:MID.x,y:412,r:38};const DECLINE={x:MID.x-56,y:668,r:26};const ACCEPT={x:MID.x+56,y:668,r:26};const MISSED_ICON={x:MID.x,y:640};// Scene 2: the conversation\nconst IN_PATH=\"M451.5 306 H831.5 A28 28 0 0 1 859.5 334 V427 A28 28 0 0 1 831.5 455 H446 Q435 455 429.5 443 L400 441.5 Q394.5 441 398.5 436.5 L423.5 410.5 V334 A28 28 0 0 1 451.5 306 Z\";const IN_TIP={x:397,y:440};const IN_LINES=[{x:576,y:357.5,w:217},{x:576,y:395.5,w:148}];const C_AVATAR={x:497.5,y:381,r:42};const OUT_PATH=\"M544 503.5 H1043 A30 30 0 0 1 1073 533.5 V681 L1100.5 709.5 Q1105 715 1099 715.5 H1075 Q1069 735 1045 741.5 H544 A30 30 0 0 1 514 711.5 V533.5 A30 30 0 0 1 544 503.5 Z\";const OUT_TIP={x:1104,y:714};const OUT_LINES=[{x:573.5,y:571.5,w:403},{x:574,y:619.5,w:307},{x:573.5,y:672,w:186}];const CHECK_PATH=\"M977 680.5 L991.5 695.5 L1021.5 665.5\";// ---------- Timeline (seconds) ----------\nconst S2=4.6// scene 2 starts\n;const T={// Scene 1\nphoneIn:.1,pAvatar:.35,pName:.45,buttons:.6,ringFrom:1.1,ringTo:2.95,missed:2.95,phoneOut:4,// Scene 2\ninBubble:S2,cAvatar:S2+.2,inLines:S2+.45,outBubble:S2+1.2,outLines:S2+1.55,check:S2+2.5,settled:S2+3.1};// The resting frame: the phone with an incoming call, right before it starts ringing.\n// This is what shows before you hover, and where every hover starts from.\nconst REST=T.ringFrom-.001;const clamp01=v=>Math.max(0,Math.min(1,v));const seg=(t,a,b)=>clamp01((t-a)/(b-a));const easeOutCubic=x=>1-Math.pow(1-x,3);const easeInCubic=x=>x*x*x;const easeOutBack=x=>{const c1=1.70158;const c3=c1+1;return 1+c3*Math.pow(x-1,3)+c1*Math.pow(x-1,2);};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 431\n * @framerIntrinsicHeight 445\n */export default function MissedCallTextBackScene(props){const{speed=1,hold=2.5,loop=true,playing=true,touchPlays=true,style}=props;const isStatic=useIsStaticRenderer();// Canvas preview and the resting frame both show the phone (scene 1)\nconst built=isStatic;const done=false;const rootRef=useRef(null);const sceneRef=useRef(null);const phoneOutRef=useRef(null);const shakeRef=useRef(null);const buttonsRef=useRef(null);const pAvatarDimRef=useRef(null);const acceptRipples=useRef([]);const avatarRipples=useRef([]);const nodes=useRef([]);// Hover to play (see \"Playing\" in the settings)\nconst playingRef=useRef(playing);playingRef.current=playing;const touchPlaysRef=useRef(touchPlays);touchPlaysRef.current=touchPlays;const elapsedRef=useRef(0)// animation time in seconds, restarts on every hover\n;const anim=[];const reg=a=>{const i=anim.length;anim.push(a);return el=>{nodes.current[i]=el;};};const draw=(a,dur)=>({ref:reg({kind:\"draw\",a,dur}),pathLength:1,strokeDasharray:\"1 1\",strokeDashoffset:built&&a<REST?0:1,opacity:built&&a<REST?1:0});const pop=(a,dur,ox,oy)=>({ref:reg({kind:\"pop\",a,dur,ox,oy}),opacity:built&&a<REST?1:0});useEffect(()=>{if(isStatic)return;const root=rootRef.current;if(!root)return;const holdEnd=T.settled+hold;const fadeEnd=holdEnd+.5;const cycle=fadeEnd+.4;const render=t=>{// Whole scene fades out at the end of each loop\nconst keep=1-(loop?seg(t,holdEnd,fadeEnd):0);sceneRef.current?.setAttribute(\"opacity\",keep.toFixed(3));anim.forEach((a,i)=>{const node=nodes.current[i];if(!node)return;const p=seg(t,a.a,a.a+a.dur);if(a.kind===\"draw\"){node.setAttribute(\"stroke-dashoffset\",(1-easeOutCubic(p)).toFixed(4));node.setAttribute(\"opacity\",p>0?\"1\":\"0\");}else{const sc=p>0?.4+.6*easeOutBack(p):.4;node.setAttribute(\"transform\",`translate(${a.ox} ${a.oy}) scale(${sc.toFixed(3)}) translate(${-a.ox} ${-a.oy})`);node.setAttribute(\"opacity\",easeOutCubic(p).toFixed(3));}});// ----- Scene 1: the phone -----\n// Phone shrinks and fades away in place (stays dead center) before the conversation starts\nconst out=easeInCubic(seg(t,T.phoneOut,T.phoneOut+.45));const sc=1-.12*out;phoneOutRef.current?.setAttribute(\"opacity\",(1-out).toFixed(3));phoneOutRef.current?.setAttribute(\"transform\",`translate(${MID.x} ${MID.y}) scale(${sc.toFixed(3)}) translate(${-MID.x} ${-MID.y})`);// Vibrates in short bursts while ringing\nconst ringing=t>=T.ringFrom&&t<T.ringTo;const burst=ringing?Math.max(0,Math.sin((t-T.ringFrom)*Math.PI*2*.9)):0;const rot=Math.sin(t*Math.PI*2*14)*2.2*Math.min(1,burst*3);shakeRef.current?.setAttribute(\"transform\",`rotate(${rot.toFixed(2)} ${MID.x} ${MID.y})`);const ringFade=1-seg(t,T.ringTo-.3,T.ringTo);const ripple=(list,r,grow)=>list.forEach((c,j)=>{const phase=((t-T.ringFrom)*1.4+j*.5)%1;c.setAttribute(\"r\",(r*(1+grow*Math.max(0,phase))).toFixed(2));c.setAttribute(\"opacity\",ringing?((1-phase)*.8*ringFade).toFixed(3):\"0\");});ripple(acceptRipples.current,ACCEPT.r,.7);ripple(avatarRipples.current,P_AVATAR.r,.45);// Missed: buttons fade out, avatar dims\nconst miss=easeOutCubic(seg(t,T.missed,T.missed+.3));buttonsRef.current?.setAttribute(\"opacity\",(1-miss).toFixed(3));pAvatarDimRef.current?.setAttribute(\"opacity\",(1-.45*miss).toFixed(3));};const reduced=typeof window!==\"undefined\"&&window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;// Hover to play: while Playing is on, the animation runs from the start.\n// While it's off, the card rests on the phone.\n// Phones and tablets have no hover, so they just play (Phones Play).\nconst touch=typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(hover: none)\").matches;let visible=false;let started=false;const io=new IntersectionObserver(entries=>{visible=!!entries[0]?.isIntersecting;if(visible)started=true;});io.observe(root);let raf=0;let last=performance.now();let drawn=-1;let wasPlaying=false;const tick=now=>{raf=requestAnimationFrame(tick);const dt=Math.min(.1,Math.max(0,(now-last)/1e3));last=now;const playing=playingRef.current||touch&&touchPlaysRef.current;// Every new hover starts the animation from the top\nif(playing&&!wasPlaying)elapsedRef.current=REST;wasPlaying=playing;if(playing&&started)elapsedRef.current+=dt*speed;if(!visible)return;// Not hovered: rest on the phone\nlet t=REST;if(!reduced&&playing){const e=elapsedRef.current;t=loop?e%cycle:Math.min(e,T.settled);}if(t===drawn)return;// nothing changed, skip the redraw\ndrawn=t;render(t);};raf=requestAnimationFrame(tick);return()=>{io.disconnect();cancelAnimationFrame(raf);};},[isStatic,hold,loop,speed]);const line={stroke:INK,strokeLinecap:\"round\",strokeLinejoin:\"round\"};const textLine=(l,a,color=TEXT,weight=9.5,dur=.4)=>/*#__PURE__*/_jsx(\"line\",{x1:l.x,y1:l.y,x2:l.x+l.w,y2:l.y,stroke:color,strokeWidth:weight,strokeLinecap:\"round\",fill:\"none\",...draw(a,dur)});// Grey person avatar (same look in both scenes)\nconst avatar=(a,id)=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:id,children:/*#__PURE__*/_jsx(\"circle\",{cx:a.x,cy:a.y,r:a.r-1.5})})}),/*#__PURE__*/_jsx(\"circle\",{cx:a.x,cy:a.y,r:a.r,fill:AVATAR_BG,stroke:RING,strokeWidth:2.5}),/*#__PURE__*/_jsxs(\"g\",{clipPath:`url(#${id})`,children:[/*#__PURE__*/_jsx(\"circle\",{cx:a.x,cy:a.y-a.r*.3,r:a.r*.345,fill:AVATAR_FG}),/*#__PURE__*/_jsx(\"circle\",{cx:a.x,cy:a.y+a.r*1.05,r:a.r*.81,fill:AVATAR_FG})]})]});const glyph=(cx,cy,size,color,rotate=0)=>/*#__PURE__*/_jsx(\"g\",{transform:`rotate(${rotate} ${cx} ${cy}) translate(${cx-size/2} ${cy-size/2}) scale(${size/24})`,children:/*#__PURE__*/_jsx(\"path\",{d:PHONE_PATH,fill:color,stroke:color,strokeWidth:1,strokeLinejoin:\"round\"})});const sl=20// slash half-length on the missed-call icon\n;return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,role:\"img\",\"aria-label\":\"A phone call gets missed, then an automatic text goes out and the customer replies\",// Height follows the width, so the frame is always the exact shape of the art\nstyle:{width:\"100%\",aspectRatio:`${VB.w} / ${VB.h}`,...style},children:/*#__PURE__*/_jsx(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`${VB.x} ${VB.y} ${VB.w} ${VB.h}`,preserveAspectRatio:\"xMidYMid meet\",style:{display:\"block\",overflow:\"visible\"},children:/*#__PURE__*/_jsxs(\"g\",{ref:sceneRef,children:[/*#__PURE__*/_jsx(\"g\",{transform:`translate(${MID.x} ${MID.y}) scale(${PHONE_SCALE}) translate(${-MID.x} ${-MID.y})`,children:/*#__PURE__*/_jsx(\"g\",{ref:phoneOutRef,opacity:done?0:1,children:/*#__PURE__*/_jsx(\"g\",{...pop(T.phoneIn,.5,MID.x,MID.y),children:/*#__PURE__*/_jsxs(\"g\",{ref:shakeRef,children:[/*#__PURE__*/_jsx(\"rect\",{x:PHONE.x,y:PHONE.y,width:PHONE.w,height:PHONE.h,rx:PHONE.r,fill:SURFACE,strokeWidth:1.7,...line}),/*#__PURE__*/_jsx(\"rect\",{x:MID.x-32,y:PHONE.y+16,width:64,height:18,rx:9,fill:INK}),[0,1].map(j=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{if(el)avatarRipples.current[j]=el;},cx:P_AVATAR.x,cy:P_AVATAR.y,r:P_AVATAR.r,fill:\"none\",stroke:RING,strokeWidth:2.5,opacity:0},j)),/*#__PURE__*/_jsx(\"g\",{ref:pAvatarDimRef,children:/*#__PURE__*/_jsx(\"g\",{...pop(T.pAvatar,.4,P_AVATAR.x,P_AVATAR.y),children:avatar(P_AVATAR,\"mctb-pav\")})}),textLine({x:MID.x-60,y:482,w:120},T.pName,TEXT,7),textLine({x:MID.x-36,y:508,w:72},T.pName+.1,SOFT,5),/*#__PURE__*/_jsxs(\"g\",{ref:buttonsRef,children:[[0,1].map(j=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{if(el)acceptRipples.current[j]=el;},cx:ACCEPT.x,cy:ACCEPT.y,r:ACCEPT.r,fill:\"none\",stroke:RING,strokeWidth:2.5,opacity:0},j)),/*#__PURE__*/_jsxs(\"g\",{...pop(T.buttons,.4,DECLINE.x,DECLINE.y),children:[/*#__PURE__*/_jsx(\"circle\",{cx:DECLINE.x,cy:DECLINE.y,r:DECLINE.r,fill:SURFACE,stroke:INK,strokeWidth:2}),glyph(DECLINE.x,DECLINE.y+2,26,INK,135)]}),/*#__PURE__*/_jsxs(\"g\",{...pop(T.buttons+.08,.4,ACCEPT.x,ACCEPT.y),children:[/*#__PURE__*/_jsx(\"circle\",{cx:ACCEPT.x,cy:ACCEPT.y,r:ACCEPT.r,fill:INK,stroke:INK,strokeWidth:2}),glyph(ACCEPT.x,ACCEPT.y,24,WHITE)]})]}),/*#__PURE__*/_jsxs(\"g\",{...pop(T.missed+.15,.45,MISSED_ICON.x,MISSED_ICON.y),children:[/*#__PURE__*/_jsxs(\"mask\",{id:\"mctb-slashgap\",maskUnits:\"userSpaceOnUse\",x:MISSED_ICON.x-30,y:MISSED_ICON.y-30,width:60,height:60,children:[/*#__PURE__*/_jsx(\"rect\",{x:MISSED_ICON.x-30,y:MISSED_ICON.y-30,width:60,height:60,fill:\"#FFFFFF\"}),/*#__PURE__*/_jsx(\"line\",{x1:MISSED_ICON.x-sl,y1:MISSED_ICON.y+sl,x2:MISSED_ICON.x+sl,y2:MISSED_ICON.y-sl,stroke:\"#000000\",strokeWidth:11,strokeLinecap:\"round\"})]}),/*#__PURE__*/_jsx(\"g\",{mask:\"url(#mctb-slashgap)\",children:glyph(MISSED_ICON.x,MISSED_ICON.y,38,TEXT)}),/*#__PURE__*/_jsx(\"line\",{x1:MISSED_ICON.x-sl,y1:MISSED_ICON.y+sl,x2:MISSED_ICON.x+sl,y2:MISSED_ICON.y-sl,stroke:TEXT,strokeWidth:5,strokeLinecap:\"round\"})]}),textLine({x:MID.x-44,y:690,w:88},T.missed+.3,TEXT,6)]})})})}),/*#__PURE__*/_jsxs(\"g\",{transform:`translate(0 ${-BUBBLE_SPREAD})`,children:[/*#__PURE__*/_jsx(\"g\",{...pop(T.inBubble,.45,IN_TIP.x,IN_TIP.y),children:/*#__PURE__*/_jsx(\"path\",{d:IN_PATH,fill:SURFACE,strokeWidth:2.75,...line})}),/*#__PURE__*/_jsx(\"g\",{...pop(T.cAvatar,.4,C_AVATAR.x,C_AVATAR.y),children:avatar(C_AVATAR,\"mctb-cav\")}),IN_LINES.map((l,i)=>/*#__PURE__*/_jsx(\"g\",{children:textLine(l,T.inLines+i*.2)},i))]}),/*#__PURE__*/_jsxs(\"g\",{transform:`translate(0 ${BUBBLE_SPREAD})`,children:[/*#__PURE__*/_jsx(\"g\",{...pop(T.outBubble,.45,OUT_TIP.x,OUT_TIP.y),children:/*#__PURE__*/_jsx(\"path\",{d:OUT_PATH,fill:SURFACE,strokeWidth:2.75,...line})}),OUT_LINES.map((l,i)=>/*#__PURE__*/_jsx(\"g\",{children:textLine(l,T.outLines+i*.3,TEXT,9.5,.45)},i)),/*#__PURE__*/_jsx(\"path\",{d:CHECK_PATH,fill:\"none\",stroke:TEXT,strokeWidth:5,strokeLinecap:\"round\",strokeLinejoin:\"round\",...draw(T.check,.35)})]})]})})});}addPropertyControls(MissedCallTextBackScene,{playing:{type:ControlType.Boolean,title:\"Playing\",defaultValue:true,description:\"Hover to play: turn this off in your card's default variant and on in its Hover variant.\"},touchPlays:{type:ControlType.Boolean,title:\"Phones Play\",defaultValue:true,description:\"Phones and tablets have no hover, so the animation just plays there.\"},speed:{type:ControlType.Number,title:\"Speed\",description:\"1 is normal. 2 is twice as fast.\",defaultValue:1,min:.5,max:2,step:.1},loop:{type:ControlType.Boolean,title:\"Loop\",description:\"Off: plays once and stays on the conversation\",defaultValue:true},hold:{type:ControlType.Number,title:\"Hold (s)\",description:\"How long the conversation stays before it starts over\",defaultValue:2.5,min:.5,max:8,step:.1,hidden:p=>!p.loop}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MissedCallTextBackScene\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"445\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"431\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MissedCallTextBack.map"],"mappings":"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"}