{"version":3,"file":"InteractiveInvoiceDemo.JasqppIf.mjs","names":["useRef","useState","startTransition","useCallback"],"sources":["https:/framerusercontent.com/modules/bDHkE1QVy7ZPcmE14ksD/uowQSx1lQVPrvbFJdtno/InteractiveInvoiceDemo.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,useCallback,startTransition}from\"react\";import{motion,AnimatePresence,useInView}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// FieldHive brand tokens (matched to the hero PhoneDemo)\nconst INK=\"#081E2B\";const AMBER=\"#F59E0B\";const GREEN=\"#2E802E\";const WHITE=\"#FFFFFF\";const FONT='Inter, \"Inter Placeholder\", sans-serif';// Real iPhone frame PNG — transparent body background AND transparent screen,\n// opaque dark-navy body with the Dynamic Island baked in. Uploaded once and\n// reused across every FieldHive phone component.\nconst FRAME_URL=\"https://framerusercontent.com/images/zrj2jxrWzF5UjAXwrO9odzPaXM.png\";// The frame's transparent screen rectangle, as a % of the frame box. The app\n// screen (and all on-screen overlays: ring, sheet, chips) live inside it.\nconst SCREEN_LEFT=\"5.33%\";const SCREEN_TOP=\"2.61%\";const SCREEN_W=\"89.11%\";const SCREEN_H=\"94.67%\";// The Create-Invoice modal (step index 2) behaves as a bottom sheet.\nconst isSheet=i=>i===2;function transitionMode(prev,cur){if(isSheet(cur)&&!isSheet(prev))return\"open\"// sheet slides up\n;if(isSheet(cur)&&isSheet(prev))return\"swap\"// sheet content swaps\n;if(!isSheet(cur)&&isSheet(prev))return\"close\"// sheet slides away\n;return\"slide\"// normal horizontal cross-fade\n;}/**\n * FieldHive Interactive Invoice Demo\n *\n * A realistic, fixed-ratio iPhone device (same titanium frame as the hero\n * PhoneDemo / InteractiveQuoteDemo) that runs a guided, TAP-ONLY walkthrough of\n * turning a FieldHive quote into an invoice across six real app screens. There\n * is NO auto-advance: it waits on each step until the viewer taps the pulsing\n * target. On the final step a tap flashes \"Sent ✓\" and loops back to step 1.\n *\n *   1. Quote actions       — \"Turn the quote into an invoice\" (highlight Create Invoice)\n *   2. Job detail          — \"Create the invoice\"             (highlight Create Invoice)\n *   3. Create Invoice modal— \"Deposit · Progress · Final\"     (sheet; highlight Create Invoice)\n *   4. Invoice detail       — \"Open Send Invoice\"             (highlight Send Invoice)\n *   5. Invoice preview      — \"View the invoice\"              (highlight Cancel)\n *   6. Send Invoice         — \"Send Now\"                      (highlight Send Invoice) → loop\n *\n * Step 3 slides up as a sheet; step 4 slides it away to reveal the created\n * invoice detail. Respects reduced motion and renders a populated first frame\n * (step 1) on the server / canvas; tap still advances under reduced motion.\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 700\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function InteractiveInvoiceDemo(props){const{screenActions={src:\"https://framerusercontent.com/images/mWaGqGJxss0YSZXannxim47u8g.png\",alt:\"Quote actions menu with Create Invoice in FieldHive\"},screenJobDetail={src:\"https://framerusercontent.com/images/VlKZkTjzoSZXnp2wwTW3Cuwj2QI.png\",alt:\"Job detail with the Invoices tab and Create Invoice in FieldHive\"},screenCreateModal={src:\"https://framerusercontent.com/images/fwN66cyhz4S87jAMWfZMpI0NK8.png\",alt:\"Create invoice modal with deposit, progress and final options in FieldHive\"},screenInvoiceCreated={src:\"https://framerusercontent.com/images/MOVcgI1iWycU05DbjNjrLLFMEco.png\",alt:\"Created invoice details ready to send in FieldHive\"},screenInvoicePdf={src:\"https://framerusercontent.com/images/4TipdgGMKWIjH0tECq9qhBhsMrs.png\",alt:\"Previewing the rendered invoice in FieldHive\"},screenSend={src:\"https://framerusercontent.com/images/zTv35n7ZXGhUtuUZlMI5aiZJnM.png\",alt:\"Sending the invoice to the customer in FieldHive\"},maxWidth=260}=props;const steps=[{img:screenActions,alt:screenActions?.alt??\"Quote actions\",caption:\"Turn the quote into an invoice\",objectPosition:\"50% 0%\",ring:{top:\"27%\",left:\"75%\"}},{img:screenJobDetail,alt:screenJobDetail?.alt??\"Job detail\",caption:\"Create the invoice\",// Top-aligned so the tabs + \"Create Invoice\" button show.\nobjectPosition:\"50% 0%\",ring:{top:\"34%\",left:\"78%\"}},{img:screenCreateModal,alt:screenCreateModal?.alt??\"Create invoice modal\",caption:\"Deposit \\xb7 Progress \\xb7 Final\",objectPosition:\"50% 50%\",ring:{top:\"70%\",left:\"72%\"},sheet:true},{img:screenInvoiceCreated,alt:screenInvoiceCreated?.alt??\"Invoice detail\",caption:\"Open Send Invoice\",objectPosition:\"50% 100%\",ring:{top:\"81%\",left:\"73%\"}},{img:screenInvoicePdf,alt:screenInvoicePdf?.alt??\"Invoice preview\",caption:\"View the invoice\",objectPosition:\"50% 50%\",// Ring over the \"Cancel\" (close) control at the bottom-left of the\n// rendered PDF preview — mirrors the quote demo's preview → Cancel.\nring:{top:\"80%\",left:\"26%\"}},{img:screenSend,alt:screenSend?.alt??\"Send invoice\",caption:\"Send Now\",objectPosition:\"50% 100%\",ring:{top:\"81%\",left:\"73%\"}}];const LAST=steps.length-1;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const deviceRef=useRef(null);const prevIndexRef=useRef(0);const indexRef=useRef(0);const lastTapRef=useRef(0);const sendTimerRef=useRef(0);const isInView=useInView(containerRef,{amount:.35});const[reducedMotion,setReducedMotion]=useState(false);const[index,setIndex]=useState(0);const[sending,setSending]=useState(false);const[deviceWidth,setDeviceWidth]=useState(maxWidth);// Detect prefers-reduced-motion (SSR-safe)\nuseEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const update=()=>startTransition(()=>setReducedMotion(mq.matches));update();if(mq.addEventListener)mq.addEventListener(\"change\",update);else if(mq.addListener)mq.addListener(update);return()=>{if(mq.removeEventListener)mq.removeEventListener(\"change\",update);else if(mq.removeListener)mq.removeListener(update);};},[]);// Measure the rendered device width for proportional geometry.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const el=deviceRef.current;if(!el)return;const measure=()=>{const width=el.getBoundingClientRect().width;if(width>0)startTransition(()=>setDeviceWidth(width));};measure();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[]);const animationsOn=!isStatic&&!reducedMotion&&isInView;// On the static renderer (canvas / SSR / export) always show step 1.\nuseEffect(()=>{if(isStatic&&index!==0)startTransition(()=>setIndex(0));},[isStatic,index]);useEffect(()=>{indexRef.current=index;},[index]);const mode=transitionMode(prevIndexRef.current,index);useEffect(()=>{prevIndexRef.current=index;},[index]);useEffect(()=>{return()=>{if(typeof window!==\"undefined\")window.clearTimeout(sendTimerRef.current);};},[]);// TAP-ONLY advance. No auto-advance anywhere.\nconst advance=useCallback(()=>{if(sending)return;const cur=indexRef.current;if(cur===LAST){startTransition(()=>setSending(true));if(typeof window!==\"undefined\"){window.clearTimeout(sendTimerRef.current);sendTimerRef.current=window.setTimeout(()=>{startTransition(()=>{setSending(false);setIndex(0);});},850);}else{startTransition(()=>{setSending(false);setIndex(0);});}}else{startTransition(()=>setIndex(cur+1));}},[LAST,sending]);const handleTap=useCallback(()=>{const now=Date.now();if(now-lastTapRef.current<350)return;lastTapRef.current=now;advance();},[advance]);const onPointerDown=useCallback(e=>{e.preventDefault();handleTap();},[handleTap]);const onClick=useCallback(_e=>{handleTap();},[handleTap]);const onKeyDown=useCallback(e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();handleTap();}},[handleTap]);const active=steps[index]??steps[0];const showRing=!!active.ring&&!sending;// Proportional geometry (px) from the measured device width. The frame PNG\n// now provides the bezel / Dynamic Island / home indicator, so only the\n// screen corner radius and the tap-ring size are derived here.\nconst w=deviceWidth||maxWidth;const screenRadius=Math.round(w*.1);const ringSize=Math.max(40,Math.round(w*.22));const imgVariants={enter:m=>{switch(m){case\"open\":return{y:\"100%\",opacity:.5,x:0,scale:1};case\"swap\":return{opacity:0,x:\"4%\",y:0,scale:1};case\"close\":return{opacity:0,x:0,y:0,scale:1.02};default:return{opacity:0,x:\"6%\",y:0,scale:1};}},center:{x:0,y:0,opacity:1,scale:1},exit:m=>{switch(m){case\"open\":return{opacity:0,x:0,y:0,scale:1};case\"swap\":return{opacity:0,x:\"-4%\",y:0,scale:1};case\"close\":return{y:\"100%\",opacity:.9,x:0,scale:1};default:return{opacity:0,x:\"-6%\",y:0,scale:1};}}};const rootStyle={position:\"relative\",width:\"100%\",maxWidth,margin:\"0 auto\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:14,boxSizing:\"border-box\",fontFamily:FONT,overflow:\"visible\",...props.style};const imgBaseStyle={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\"};const affordanceLabel=sending?\"Sent ✓\":index===LAST?\"Tap to send\":\"Tap to continue\";return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,role:isStatic?undefined:\"button\",tabIndex:isStatic?undefined:0,\"aria-label\":`FieldHive invoice demo, step ${index+1} of ${steps.length}: ${active.caption}. Tap to continue.`,onPointerDown:isStatic?undefined:onPointerDown,onClick:isStatic?undefined:onClick,onKeyDown:isStatic?undefined:onKeyDown,style:{...rootStyle,cursor:isStatic?undefined:\"pointer\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:deviceRef,style:{position:\"relative\",width:\"100%\",aspectRatio:\"450 / 920\",overflow:\"visible\",boxSizing:\"border-box\",cursor:isStatic?\"default\":\"pointer\",userSelect:\"none\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",filter:\"drop-shadow(0 2px 4px rgba(0,0,0,0.28)) drop-shadow(0 22px 45px rgba(0,0,0,0.45))\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:SCREEN_LEFT,top:SCREEN_TOP,width:SCREEN_W,height:SCREEN_H,borderRadius:screenRadius,overflow:\"hidden\",background:INK},children:[animationsOn?/*#__PURE__*/_jsx(AnimatePresence,{initial:false,custom:mode,mode:\"sync\",children:/*#__PURE__*/_jsx(motion.img,{custom:mode,variants:imgVariants,initial:\"enter\",animate:\"center\",exit:\"exit\",src:active.img?.src,srcSet:active.img?.srcSet,alt:active.alt,draggable:false,transition:{duration:.5,ease:[.4,0,.2,1]},style:{...imgBaseStyle,objectPosition:active.objectPosition,zIndex:isSheet(index)?3:1}},index)}):/*#__PURE__*/_jsx(\"img\",{src:active.img?.src,srcSet:active.img?.srcSet,alt:active.alt,draggable:false,style:{...imgBaseStyle,objectPosition:active.objectPosition}}),showRing&&active.ring&&/*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",top:active.ring.top,left:active.ring.left,width:ringSize,height:ringSize,transform:\"translate(-50%, -50%)\",zIndex:5,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{position:\"absolute\",inset:0,borderRadius:999,border:`2px solid ${AMBER}`,boxSizing:\"border-box\"},initial:false,animate:animationsOn?{scale:[1,1.6],opacity:[.75,0]}:{scale:1.25,opacity:.3},transition:animationsOn?{duration:1.6,ease:\"easeOut\",repeat:Infinity}:{duration:0}}),/*#__PURE__*/_jsx(motion.span,{style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:Math.round(ringSize*.42),height:Math.round(ringSize*.42),marginTop:-Math.round(ringSize*.21),marginLeft:-Math.round(ringSize*.21),borderRadius:999,background:AMBER,boxShadow:\"0 4px 12px -2px rgba(245,158,11,0.7)\"},initial:false,animate:animationsOn?{scale:[1,.82,1]}:{scale:1},transition:animationsOn?{duration:1.6,ease:\"easeInOut\",repeat:Infinity}:{duration:0}})]},`ring-${index}`),/*#__PURE__*/_jsx(AnimatePresence,{children:sending&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,scale:.7,y:8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.8},transition:{type:\"spring\",stiffness:480,damping:22},style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",display:\"flex\",alignItems:\"center\",gap:8,padding:\"10px 16px\",background:WHITE,color:INK,borderRadius:999,fontFamily:FONT,fontSize:14,fontWeight:700,lineHeight:1,whiteSpace:\"nowrap\",zIndex:7,pointerEvents:\"none\",boxShadow:\"0 12px 28px -8px rgba(8,30,43,0.45), 0 1px 2px rgba(8,30,43,0.18)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:9,height:9,borderRadius:999,background:GREEN,flexShrink:0}}),\"Sent ✓\"]},\"sent\")})]}),/*#__PURE__*/_jsx(\"img\",{src:FRAME_URL,alt:\"FieldHive app shown on an iPhone\",draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",zIndex:8}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:10,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",minHeight:22,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\"},children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,children:/*#__PURE__*/_jsxs(motion.span,{initial:animationsOn?{opacity:0,y:6}:{opacity:1,y:0},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.3},style:{display:\"inline-flex\",alignItems:\"center\",gap:8,color:INK,fontFamily:FONT,fontSize:15,fontWeight:600,letterSpacing:\"-0.01em\",lineHeight:1.2,textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{width:7,height:7,borderRadius:999,background:AMBER,flexShrink:0}}),active.caption]},`cap-${index}`)})}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:steps.map((_,i)=>/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{width:i===index?18:6,height:6,borderRadius:999,background:i===index?AMBER:\"rgba(8,30,43,0.18)\",transition:\"width 0.3s ease, background 0.3s ease\"}},i))}),/*#__PURE__*/_jsxs(motion.div,{\"aria-hidden\":true,animate:animationsOn?{opacity:[.55,1,.55]}:{opacity:.85},transition:animationsOn?{duration:1.8,ease:\"easeInOut\",repeat:Infinity}:{duration:0},style:{display:\"inline-flex\",alignItems:\"center\",gap:7,padding:\"5px 12px\",borderRadius:999,border:`1px solid ${sending?GREEN:\"rgba(245,158,11,0.55)\"}`,background:sending?\"rgba(46,128,46,0.08)\":\"rgba(245,158,11,0.08)\",color:sending?GREEN:\"#9A6300\",fontFamily:FONT,fontSize:12,fontWeight:600,lineHeight:1,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:8,height:8,borderRadius:999,background:sending?GREEN:AMBER,flexShrink:0}}),affordanceLabel]})]})]});}addPropertyControls(InteractiveInvoiceDemo,{screenActions:{type:ControlType.ResponsiveImage,title:\"1 \\xb7 Quote Actions\"},screenJobDetail:{type:ControlType.ResponsiveImage,title:\"2 \\xb7 Job Detail\"},screenCreateModal:{type:ControlType.ResponsiveImage,title:\"3 \\xb7 Create Modal\"},screenInvoiceCreated:{type:ControlType.ResponsiveImage,title:\"4 \\xb7 Invoice Detail\"},screenInvoicePdf:{type:ControlType.ResponsiveImage,title:\"5 \\xb7 Preview\"},screenSend:{type:ControlType.ResponsiveImage,title:\"6 \\xb7 Send\"},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:260,min:160,max:420,step:10,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InteractiveInvoiceDemo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"700\",\"framerIntrinsicWidth\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveInvoiceDemo.map"],"mappings":"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"}