{"version":3,"file":"StudioHeroMotion.BeP6SRe6.mjs","names":["React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/n2MliF3foSCp0u29TYkm/opxf2qgA2NiUCUDhqbOa/StudioHeroMotion.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{useIsStaticRenderer}from\"framer\";const BLUE=\"var(--token-1756daa2-c3a8-4f68-94af-4b98a6371e5c, #007AFF)\";const WHITE=\"var(--token-8c47652b-dea5-4767-a9f2-5d952dcce49a, #fff)\";const EASE=\"cubic-bezier(.22,1,.36,1)\";// Fast out, soft landing. The light overshoot lives in the keyframe, not the curve,\n// so the settle reads as weight rather than as a second animation.\nconst SETTLE=\"cubic-bezier(.32,.72,0,1)\";const css=`\n@keyframes studioCanvasIn { from { opacity:0; transform:scale(1.015) } to { opacity:1; transform:scale(1) } }\n@keyframes studioLayerIn { from { opacity:0; translate:0 12px } to { opacity:1; translate:0 0 } }\n@keyframes studioTitleSet {\n  0% { opacity:0; transform:scale(.94) }\n  62% { opacity:1; transform:scale(1.012) }\n  100% { opacity:1; transform:scale(1) }\n}\n@keyframes studioFrameIn { from { opacity:0; scale:.98 } to { opacity:1; scale:1 } }\n@keyframes studioPointerGesture {\n  0% { opacity:0; transform:translate(38px,26px) }\n  18% { opacity:1; transform:translate(0,0) }\n  76% { opacity:1; transform:translate(0,0) }\n  100% { opacity:0; transform:translate(18px,12px) }\n}\n@media (prefers-reduced-motion:reduce) {\n [data-studio-hero], [data-studio-hero=\"title\"] [data-studio-intro] { animation:none !important; translate:none !important; }\n [data-studio-hero=\"title\"] [data-studio-cursor] { display:none !important; }\n}\n`;// Keep styles outside Framer's hydrated layout and preserve CSS as raw text.\nfunction useHeroStyles(){React.useEffect(()=>{if(document.getElementById(\"mm-studio-hero-styles\"))return;const sheet=document.createElement(\"style\");sheet.id=\"mm-studio-hero-styles\";sheet.textContent=css;document.head.appendChild(sheet);},[]);}/** Decorative introduction only. The original native text and its styles stay intact. */function studioTitle(Component,align){return /*#__PURE__*/React.forwardRef(function StudioTitle(props,forwardedRef){const{style,...rest}=props;useHeroStyles();const isStatic=useIsStaticRenderer();const wrapper=React.useRef(null);// The hero plays on load. A section title further down the page waits\n// until it scrolls into view, or the motion would be over unseen.\nconst[inView,setInView]=React.useState(align===\"center\");React.useEffect(()=>{if(isStatic||inView||!wrapper.current||typeof IntersectionObserver===\"undefined\"){if(!inView&&typeof IntersectionObserver===\"undefined\")setInView(true);return;}const observer=new IntersectionObserver(entries=>{if(entries.some(entry=>entry.isIntersecting)){setInView(true);observer.disconnect();}},{threshold:.4});observer.observe(wrapper.current);return()=>observer.disconnect();},[isStatic,inView]);const animate=!isStatic&&inView;// Before it plays, a start-aligned title is held invisible so the\n// entrance does not reveal an already visible title a second time.\nconst waiting=!isStatic&&!inView;return /*#__PURE__*/_jsx(\"div\",{ref:wrapper,\"data-studio-hero\":\"title\",style:{...style,overflow:\"visible\",position:\"relative\"},children:/*#__PURE__*/_jsxs(\"div\",{\"data-studio-intro\":\"scale\",style:{position:\"relative\",width:\"max-content\",maxWidth:\"100%\",marginInline:align===\"center\"?\"auto\":undefined,boxSizing:\"border-box\",padding:align===\"center\"?\"10px 14px\":\"2px 8px\",margin:align===\"start\"?\"-2px 0 -2px -8px\":undefined,transformOrigin:align===\"center\"?\"center\":\"left center\",opacity:waiting?0:undefined,animation:animate?align===\"center\"?`studioTitleSet 780ms ${SETTLE} 420ms backwards`:`studioLayerIn 600ms ${EASE} 0ms backwards`:undefined},children:[/*#__PURE__*/_jsx(\"div\",{\"data-studio-intro\":\"ink\",children:/*#__PURE__*/_jsx(Component,{...rest,ref:forwardedRef})}),/*#__PURE__*/_jsx(\"div\",{\"data-studio-intro\":\"frame\",\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,border:`1px solid ${BLUE}`,pointerEvents:\"none\",animation:animate?`studioFrameIn 420ms ${EASE} 60ms backwards`:undefined}}),[[0,0],[1,0],[0,1],[1,1]].map(([x,y])=>/*#__PURE__*/_jsx(\"div\",{\"data-studio-intro\":\"handle\",\"aria-hidden\":\"true\",style:{position:\"absolute\",left:x?undefined:-5,right:x?-5:undefined,top:y?undefined:-5,bottom:y?-5:undefined,width:10,height:10,borderRadius:\"50%\",border:`1px solid ${BLUE}`,background:WHITE,animation:animate?`studioFrameIn 420ms ${EASE} 60ms backwards`:undefined,pointerEvents:\"none\",boxSizing:\"border-box\"}},`${x}${y}`)),animate&&align===\"center\"&&/*#__PURE__*/_jsx(\"svg\",{\"data-studio-cursor\":\"\",\"aria-hidden\":\"true\",width:\"22\",height:\"26\",viewBox:\"0 0 22 26\",style:{position:\"absolute\",right:-17,bottom:-23,overflow:\"visible\",pointerEvents:\"none\",opacity:0,animation:`studioPointerGesture 1200ms ${EASE} 300ms backwards`},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 1 19 16 11 17 7 24Z\",fill:\"var(--token-33722da1-56ef-4815-82ed-442105eb06b1, #111)\",stroke:WHITE,strokeWidth:\"1.5\",strokeLinejoin:\"round\"})})]})});});}export function withStudioTitle(Component){return studioTitle(Component,\"center\");}/** Quieter version for a left-aligned section title: the same frame and round\n * handles, a plain fade-up instead of the scale and cursor, and the padding\n * cancelled out so the text lines up with every other section title. */export function withStudioTitleStart(Component){return studioTitle(Component,\"start\");}function entrance(Component,role,delay,duration=600){return /*#__PURE__*/React.forwardRef(function StudioEntrance(props,ref){useHeroStyles();const isStatic=useIsStaticRenderer();return /*#__PURE__*/_jsx(Component,{...props,ref:ref,\"data-studio-hero\":role,style:{...props.style,animation:isStatic?undefined:`${role===\"canvas\"?\"studioCanvasIn\":\"studioLayerIn\"} ${duration}ms ${EASE} ${delay}ms backwards`}});});}export function withHeroCanvas(Component){return entrance(Component,\"canvas\",0,750);}export function withHeroEyebrow(Component){return entrance(Component,\"eyebrow\",580,500);}export function withHeroBody(Component){return entrance(Component,\"body\",720);}export function withHeroAction(Component){return entrance(Component,\"action\",840);}export function withHeroPrompt(Component){return entrance(Component,\"prompt\",960,700);}export function withHeroProducts(Component){return entrance(Component,\"products\",1100,750);}\nexport const __FramerMetadata__ = {\"exports\":{\"withStudioTitleStart\":{\"type\":\"reactHoc\",\"name\":\"withStudioTitleStart\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroEyebrow\":{\"type\":\"reactHoc\",\"name\":\"withHeroEyebrow\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroProducts\":{\"type\":\"reactHoc\",\"name\":\"withHeroProducts\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroPrompt\":{\"type\":\"reactHoc\",\"name\":\"withHeroPrompt\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroBody\":{\"type\":\"reactHoc\",\"name\":\"withHeroBody\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroAction\":{\"type\":\"reactHoc\",\"name\":\"withHeroAction\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroCanvas\":{\"type\":\"reactHoc\",\"name\":\"withHeroCanvas\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStudioTitle\":{\"type\":\"reactHoc\",\"name\":\"withStudioTitle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StudioHeroMotion.map"],"mappings":"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"}