{"version":3,"file":"shared-lib.CDOp2cyz.mjs","names":["useRef","useState","startTransition","_Fragment","__esmMin","init_npm_react_18_3_1","init_ssg_sandbox_shims","window","te","l","_e","Ha","c","init_jsx_runtime","ce","de","init_framer_motion_DhsWWWsN","motion","init_framer_DymZktPS","useIsStaticRenderer","RenderTarget","ControlType","deviceForWidth","width","gutter","device","useDevice","ref","measured","setMeasured","el","setting","observer","entry","next","useViewportDevice","setDevice","onResize","imageProps","src","w","thumbnail","hasProject","p","tile","pad","n","vimeoEmbedUrl","url","match","hashParam","hash","params","youtubeEmbedUrl","cloudflareEmbedUrl","host","directVideoUrl","resolvePlayer","directVideo","project","projectControl","Logo","navStyles","SiteNav","open","setOpen","g","previousOverflow","onKey","bar","NAV_LINKS","link","active","PageHeader","label","title","subtitle","SiteFooter","footerText","right","WorkGrid","columns","sizes","padding","tiles","GridTile","onOpen","i","TileImage","eager","style","PlaceholderIcon","iconSize","useHoverClip","videoRef","clipPlaying","setClipPlaying","video","clip","hovered","playing","key","HoverClip","WatchBadge","modalStyles","openableProps","openable","setHovered","isStatic","touch","cursorStyle","interaction","showInfo","showClip","tilesFromProps","count","props","visibleTiles","GridPage","layout","openTile","setOpenTile","siteStyle","ProjectPlayer","ProjectModal","stillIndex","setStillIndex","phone","stills","onCloseRef","onClose","stepStill","dir","touchStartX","onTouchStart","onTouchEnd","dx","embedUrl","FONT","smallCaps","deviceControl","init_Shared","init_npm_react_dom_18_3_1","size"],"sources":["https:/framerusercontent.com/modules/nTDHRMHAbiimAzn4c30O/NSeW0B7I5YxQGwm1B4sP/Shared.js"],"sourcesContent":["// Jason Cowan — Shared site pieces\n// Nav, footer, project tiles, video player and helpers used by every page.\n// Edit here once and every page picks it up.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";import{useState,useEffect,useRef,startTransition}from\"react\";import{createPortal}from\"react-dom\";// ─── THEME ────────────────────────────────────────────────────────────────────\nexport const FONT=\"'Helvetica Neue', Helvetica, Arial, sans-serif\";export const smallCaps={fontSize:9,letterSpacing:\"0.22em\",textTransform:\"uppercase\"};export const siteStyle={background:\"#0a0a0a\",color:\"#f0f0f0\",fontFamily:FONT,fontWeight:300,WebkitFontSmoothing:\"antialiased\",minHeight:\"100vh\",width:\"100%\"};// Matches Framer's default breakpoints: Phone < 810, Tablet < 1200\nexport function deviceForWidth(width){if(width<810)return\"phone\";if(width<1200)return\"tablet\";return\"desktop\";}// Horizontal page margin per device\nexport function gutter(device){return device===\"phone\"?20:device===\"tablet\"?32:40;}// \"auto\" measures the component; a fixed setting (set per breakpoint) renders\n// the right layout immediately with no measuring.\nexport function useDevice(setting=\"auto\"){const ref=useRef(null);const[measured,setMeasured]=useState(\"desktop\");useEffect(()=>{const el=ref.current;if(setting!==\"auto\"||!el||typeof ResizeObserver===\"undefined\")return;const observer=new ResizeObserver(([entry])=>{const next=deviceForWidth(entry.contentRect.width);startTransition(()=>setMeasured(next));});observer.observe(el);return()=>observer.disconnect();},[setting]);return{ref,device:setting===\"auto\"?measured:setting};}function useViewportDevice(){const[device,setDevice]=useState(()=>typeof window===\"undefined\"?\"desktop\":deviceForWidth(window.innerWidth));useEffect(()=>{const onResize=()=>startTransition(()=>setDevice(deviceForWidth(window.innerWidth)));window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);return device;}export const deviceControl={type:ControlType.Enum,title:\"Layout\",options:[\"auto\",\"desktop\",\"tablet\",\"phone\"],optionTitles:[\"Auto\",\"Desktop\",\"Tablet\",\"Phone\"],defaultValue:\"auto\",description:\"Set per breakpoint. Auto sizes to the frame.\"};// ─── IMAGES ───────────────────────────────────────────────────────────────────\n// Framer-hosted images can be served smaller; let the browser pick a size.\nexport function imageProps(src,sizes){if(!src||!/framerusercontent\\.com\\/images\\//.test(src)||src.includes(\"?\"))return{src};return{src:`${src}?scale-down-to=2048`,srcSet:[512,1024,2048,4096].map(w=>`${src}?scale-down-to=${w} ${w}w`).join(\", \"),sizes};}export function thumbnail(src,width=512){if(!src||!/framerusercontent\\.com\\/images\\//.test(src)||src.includes(\"?\"))return src;return`${src}?scale-down-to=${width}`;}export function hasProject(tile){const p=tile.project;return!!(p&&(p.vimeo||p.youtube||p.videoUrl||p.video||p.stills&&p.stills.length));}export function pad(n){return String(n).padStart(2,\"0\");}// Accepts vimeo.com/123, vimeo.com/123/abc (unlisted), player.vimeo.com/video/123?h=abc\nfunction vimeoEmbedUrl(url){if(!url)return null;const match=url.match(/vimeo\\.com\\/(?:.*?\\/)?(?:video\\/)?(\\d+)(?:\\/([a-zA-Z0-9]+))?/);if(!match)return null;const hashParam=url.match(/[?&]h=([a-zA-Z0-9]+)/);const hash=hashParam?hashParam[1]:match[2];const params=new URLSearchParams({autoplay:\"1\",title:\"0\",byline:\"0\",portrait:\"0\",dnt:\"1\",color:\"f0f0f0\"});if(hash)params.set(\"h\",hash);return`https://player.vimeo.com/video/${match[1]}?${params.toString()}`;}// Accepts youtube.com/watch?v=ID, youtu.be/ID, youtube.com/shorts/ID, youtube.com/embed/ID\nfunction youtubeEmbedUrl(url){if(!url)return null;const match=url.match(/(?:youtube(?:-nocookie)?\\.com\\/(?:watch\\?(?:.*&)?v=|embed\\/|shorts\\/|live\\/|v\\/)|youtu\\.be\\/)([a-zA-Z0-9_-]{11})/);if(!match)return null;const params=new URLSearchParams({autoplay:\"1\",rel:\"0\",modestbranding:\"1\",playsinline:\"1\"});return`https://www.youtube-nocookie.com/embed/${match[1]}?${params.toString()}`;}// Cloudflare Stream: customer-xxx.cloudflarestream.com/ID/watch|iframe|manifest…, videodelivery.net/ID\nfunction cloudflareEmbedUrl(url){if(!url)return null;const match=url.match(/^https?:\\/\\/([^/]*(?:cloudflarestream\\.com|videodelivery\\.net))\\/([a-f0-9]{32})/i);if(!match)return null;const host=match[1].startsWith(\"customer-\")?match[1]:\"iframe.videodelivery.net\";const path=host===\"iframe.videodelivery.net\"?match[2]:`${match[2]}/iframe`;return`https://${host}/${path}?autoplay=true&preload=auto`;}// Any other video URL (Cloudflare R2, Stream MP4 downloads, etc.) plays in a <video> tag\nfunction directVideoUrl(url){if(!url)return null;if(/\\.(mp4|webm|mov|m4v)(\\?|#|$)/i.test(url))return url;if(cloudflareEmbedUrl(url))return null;return url;}// Player priority: uploaded file, Video URL, Vimeo, YouTube\nfunction resolvePlayer(project){const directVideo=project.video||directVideoUrl(project.videoUrl);const embedUrl=directVideo?null:cloudflareEmbedUrl(project.videoUrl)||vimeoEmbedUrl(project.vimeo)||youtubeEmbedUrl(project.youtube);return{directVideo,embedUrl};}export function projectControl(title){return{type:ControlType.Object,title,buttonTitle:\"Video & Stills\",controls:{vimeo:{type:ControlType.String,title:\"Vimeo Link\",placeholder:\"https://vimeo.com/…\"},youtube:{type:ControlType.String,title:\"YouTube Link\",placeholder:\"https://youtube.com/watch?v=…\",description:\"Used if no Vimeo link is set.\"},videoUrl:{type:ControlType.String,title:\"Video URL\",placeholder:\"https://…cloudflarestream.com/…\",description:\"Cloudflare or any direct video link. Used before Vimeo and YouTube.\"},video:{type:ControlType.File,title:\"Video File\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],description:\"Optional. Plays before any link if set.\"},clip:{type:ControlType.File,title:\"Hover Clip\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],description:\"5–10 sec, no audio, under ~5 MB. Desktop only.\"},stills:{type:ControlType.Array,title:\"Stills\",control:{type:ControlType.Image},maxCount:16},credits:{type:ControlType.String,title:\"Credits\",displayTextArea:true,placeholder:\"Director — Name\"}}};}const NAV_LINKS=[{key:\"work\",label:\"Selected Work\",href:\"/\"},{key:\"narrative\",label:\"Narrative\",href:\"/narrative\"},{key:\"commercial\",label:\"Commercial\",href:\"/commercial\"},{key:\"musicvideos\",label:\"Music Videos\",href:\"/musicvideos\"},{key:\"contact\",label:\"Contact\",href:\"/contact\"}];const navStyles={logoName:{display:\"block\",fontSize:12,letterSpacing:\"0.2em\",textTransform:\"uppercase\",color:\"#f0f0f0\",fontWeight:400,marginBottom:4,textDecoration:\"none\"},logoTitle:{display:\"block\",fontSize:9,letterSpacing:\"0.25em\",textTransform:\"uppercase\",color:\"#888888\"},links:{display:\"flex\",listStyle:\"none\",padding:0,margin:0},link:{...smallCaps,color:\"#888888\",textDecoration:\"none\",cursor:\"pointer\"},menuButton:{...smallCaps,background:\"none\",border:\"none\",color:\"#f0f0f0\",padding:\"10px 0 10px 16px\",cursor:\"pointer\",fontFamily:\"inherit\"},menu:{position:\"fixed\",inset:0,zIndex:9998,background:\"#0a0a0a\",display:\"flex\",flexDirection:\"column\",fontFamily:FONT,fontWeight:300},menuLink:{display:\"block\",fontSize:30,letterSpacing:\"0.02em\",textDecoration:\"none\",padding:\"14px 0\",borderBottom:\"0.5px solid #1e1e1e\"}};function Logo(){return /*#__PURE__*/_jsxs(\"a\",{href:\"/\",style:{textDecoration:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{style:navStyles.logoName,children:\"Jason Cowan\"}),/*#__PURE__*/_jsx(\"span\",{style:navStyles.logoTitle,children:\"Director of Photography\"})]});}export function SiteNav({active,device}){const[open,setOpen]=useState(false);const g=gutter(device);useEffect(()=>{if(!open)return;const previousOverflow=document.body.style.overflow;document.body.style.overflow=\"hidden\";const onKey=e=>e.key===\"Escape\"&&setOpen(false);window.addEventListener(\"keydown\",onKey);return()=>{document.body.style.overflow=previousOverflow;window.removeEventListener(\"keydown\",onKey);};},[open]);const bar={display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding:device===\"phone\"?`22px ${g}px`:`28px ${g}px`};if(device!==\"phone\"){return /*#__PURE__*/_jsxs(\"nav\",{style:bar,children:[/*#__PURE__*/_jsx(Logo,{}),/*#__PURE__*/_jsx(\"ul\",{style:{...navStyles.links,gap:device===\"tablet\"?24:36},children:NAV_LINKS.map(link=>/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:link.href,style:{...navStyles.link,color:link.key===active?\"#f0f0f0\":\"#888888\"},\"aria-current\":link.key===active?\"page\":undefined,children:link.label})},link.key))})]});}return /*#__PURE__*/_jsxs(\"nav\",{style:bar,children:[/*#__PURE__*/_jsx(Logo,{}),/*#__PURE__*/_jsx(\"button\",{style:navStyles.menuButton,onClick:()=>setOpen(true),\"aria-expanded\":open,\"aria-label\":\"Open menu\",children:\"Menu\"}),open&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(motion.div,{style:navStyles.menu,initial:{opacity:0},animate:{opacity:1},transition:{duration:.25,ease:\"easeOut\"},role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"Menu\",children:[/*#__PURE__*/_jsxs(\"div\",{style:bar,children:[/*#__PURE__*/_jsx(Logo,{}),/*#__PURE__*/_jsx(\"button\",{style:navStyles.menuButton,onClick:()=>setOpen(false),\"aria-label\":\"Close menu\",children:\"Close\"})]}),/*#__PURE__*/_jsx(\"ul\",{style:{listStyle:\"none\",margin:0,padding:`24px ${g}px`},children:NAV_LINKS.map(link=>/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:link.href,onClick:()=>setOpen(false),style:{...navStyles.menuLink,color:link.key===active?\"#f0f0f0\":\"#777777\"},\"aria-current\":link.key===active?\"page\":undefined,children:link.label})},link.key))})]}),document.body)]});}// ─── PAGE HEADER & FOOTER ─────────────────────────────────────────────────────\nexport function PageHeader({label,title,subtitle,device}){const g=gutter(device);return /*#__PURE__*/_jsxs(\"div\",{style:{padding:device===\"phone\"?`32px ${g}px 28px`:`48px ${g}px 40px`,borderBottom:\"0.5px solid #222222\",marginBottom:2},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:9,letterSpacing:\"0.25em\",textTransform:\"uppercase\",color:\"#444444\",margin:0,paddingBottom:12},children:label}),/*#__PURE__*/_jsx(\"h1\",{style:{fontSize:device===\"phone\"?30:36,fontWeight:300,color:\"#f0f0f0\",letterSpacing:\"0.04em\",margin:0},children:title}),subtitle&&/*#__PURE__*/_jsx(\"p\",{style:{fontSize:11,letterSpacing:\"0.1em\",color:\"#555555\",marginTop:12,marginBottom:0,maxWidth:480,lineHeight:1.7},children:subtitle})]});}const footerText={fontSize:9,letterSpacing:\"0.18em\",textTransform:\"uppercase\",color:\"#444444\",textDecoration:\"none\"};export function SiteFooter({device,right}){const g=gutter(device);return /*#__PURE__*/_jsxs(\"footer\",{style:{padding:`22px ${g}px`,borderTop:\"0.5px solid #222222\",display:\"flex\",flexDirection:device===\"phone\"?\"column\":\"row\",justifyContent:\"space-between\",alignItems:device===\"phone\"?\"flex-start\":\"center\",gap:device===\"phone\"?14:24},children:[/*#__PURE__*/_jsxs(\"span\",{style:footerText,children:[\"\\xa9 \",new Date().getFullYear(),\" Jason Cowan\"]}),right??/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:24},children:[/*#__PURE__*/_jsx(\"a\",{href:\"https://www.instagram.com/jason_cowan/\",target:\"_blank\",rel:\"noopener noreferrer\",style:footerText,children:\"Instagram\"}),/*#__PURE__*/_jsx(\"a\",{href:\"https://vimeo.com/user18465493\",target:\"_blank\",rel:\"noopener noreferrer\",style:footerText,children:\"Vimeo\"})]})]});}// ─── GRID OF PROJECT TILES ────────────────────────────────────────────────────\nexport function WorkGrid({tiles,device,onOpen,padding}){const g=gutter(device);const columns=device===\"phone\"?1:device===\"tablet\"?2:3;const sizes=device===\"phone\"?\"100vw\":device===\"tablet\"?\"50vw\":\"33vw\";return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${columns}, minmax(0, 1fr))`,gap:2,padding:padding??`24px ${g}px 48px`},children:tiles.map((tile,i)=>/*#__PURE__*/_jsx(GridTile,{tile:tile,device:device,sizes:sizes,onOpen:()=>onOpen(tile)},i))});}const PlaceholderIcon=({size=32})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size*.75,viewBox:\"0 0 80 60\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"8\",width:\"76\",height:\"44\",rx:\"2\",stroke:\"#fff\",strokeWidth:\"1.5\",opacity:\"0.15\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"40\",cy:\"30\",r:\"12\",stroke:\"#fff\",strokeWidth:\"1.5\",opacity:\"0.15\"})]});export function TileImage({src,alt,sizes,eager,style,iconSize}){if(!src)return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"#141414\",...style},children:/*#__PURE__*/_jsx(PlaceholderIcon,{size:iconSize})});return /*#__PURE__*/_jsx(\"img\",{...imageProps(src,sizes),alt:alt,loading:eager?\"eager\":\"lazy\",...eager?{fetchpriority:\"high\"}:{},decoding:\"async\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",...style}});}// Plays a muted clip while hovered (desktop only)\nexport function useHoverClip(clip,hovered,key){const videoRef=useRef(null);const[clipPlaying,setClipPlaying]=useState(false);useEffect(()=>{const video=videoRef.current;if(!video||!clip)return;if(hovered){video.currentTime=0;const playing=video.play();if(playing)playing.catch(()=>{});}else{video.pause();setClipPlaying(false);}},[hovered,clip,key]);return{videoRef,showClip:hovered&&clipPlaying,onPlaying:()=>setClipPlaying(true),reset:()=>setClipPlaying(false)};}export function HoverClip({clip,show,videoRef,onPlaying}){return /*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:clip,muted:true,loop:true,playsInline:true,preload:\"metadata\",onPlaying:onPlaying,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",opacity:show?1:0,transition:\"opacity 0.35s ease\",pointerEvents:\"none\"}});}export function WatchBadge({style}){return /*#__PURE__*/_jsxs(\"div\",{style:{...modalStyles.tileWatch,...style},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"6\",height:\"7\",viewBox:\"0 0 6 7\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 0L6 3.5L0 7V0Z\",fill:\"#f0f0f0\"})}),\"Watch\"]});}// Shared click / keyboard behaviour for anything that opens the player\nexport function openableProps(openable,onOpen,title){if(!openable)return{style:{cursor:\"default\"}};return{style:{cursor:\"pointer\"},onClick:onOpen,onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();onOpen();}},role:\"button\",tabIndex:0,\"aria-label\":`Watch ${title}`};}function GridTile({tile,device,sizes,onOpen}){const[hovered,setHovered]=useState(false);const isStatic=useIsStaticRenderer();const touch=device!==\"desktop\";const clip=touch?undefined:tile.project?.clip;const{videoRef,showClip,onPlaying}=useHoverClip(clip,hovered);const openable=hasProject(tile);const{style:cursorStyle,...interaction}=openableProps(openable,onOpen,tile.title);// Touch screens can't hover, so titles stay visible there\nconst showInfo=touch||hovered;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",overflow:\"hidden\",aspectRatio:\"16 / 9\",background:\"#141414\",...cursorStyle},onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),...interaction,children:[/*#__PURE__*/_jsx(TileImage,{src:tile.img,alt:tile.title,sizes:sizes}),clip&&!isStatic&&/*#__PURE__*/_jsx(HoverClip,{clip:clip,show:showClip,videoRef:videoRef,onPlaying:onPlaying}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-end\",padding:16,transition:\"opacity 0.3s ease, background 0.3s ease\",opacity:showInfo?1:0,background:touch?\"linear-gradient(to top, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0) 50%)\":hovered?clip?\"linear-gradient(to top, rgba(10,10,10,0.72) 0%, rgba(10,10,10,0) 55%)\":\"rgba(10,10,10,0.58)\":\"rgba(10,10,10,0)\"},children:[openable&&/*#__PURE__*/_jsx(WatchBadge,{}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:8,letterSpacing:\"0.22em\",textTransform:\"uppercase\",color:\"#888888\",marginBottom:5},children:tile.cat}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:touch?13:12,color:\"#f0f0f0\",fontWeight:400,letterSpacing:\"0.04em\"},children:tile.title})]})]});}// ─── TILES FROM PROPS ─────────────────────────────────────────────────────────\n// Reads tile1Image / tile1Cat / tile1Title / tile1Project … from a page's props\nexport function tilesFromProps(props,count){return Array.from({length:count},(_,i)=>({img:props[`tile${i+1}Image`],cat:props[`tile${i+1}Cat`],title:props[`tile${i+1}Title`],project:props[`tile${i+1}Project`]}));}// Empty tiles show a placeholder while editing in Framer but are hidden on the live site\nexport function visibleTiles(tiles){if(RenderTarget.current()===RenderTarget.canvas)return tiles;return tiles.filter(tile=>tile.img);}// A standard work page: nav, header, grid of tiles, footer, player\nexport function GridPage({active,label,title,subtitle,tiles,layout}){const{ref,device}=useDevice(layout);const[openTile,setOpenTile]=useState(null);return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:siteStyle,children:[/*#__PURE__*/_jsx(SiteNav,{active:active,device:device}),/*#__PURE__*/_jsx(PageHeader,{label:label,title:title,subtitle:subtitle,device:device}),/*#__PURE__*/_jsx(WorkGrid,{tiles:visibleTiles(tiles),device:device,onOpen:setOpenTile}),/*#__PURE__*/_jsx(SiteFooter,{device:device}),/*#__PURE__*/_jsx(ProjectPlayer,{tile:openTile,onClose:()=>setOpenTile(null)})]});}// ─── PROJECT PLAYER ───────────────────────────────────────────────────────────\nexport function ProjectPlayer({tile,onClose}){if(!tile||typeof document===\"undefined\")return null;return /*#__PURE__*/_jsx(ProjectModal,{tile:tile,onClose:onClose});}function ProjectModal({tile,onClose}){const[stillIndex,setStillIndex]=useState(null);const device=useViewportDevice();const phone=device===\"phone\";const g=gutter(device);const project=tile.project||{};const stills=(project.stills||[]).filter(Boolean);const{directVideo,embedUrl}=resolvePlayer(project);const onCloseRef=useRef(onClose);onCloseRef.current=onClose;const stepStill=dir=>startTransition(()=>setStillIndex(i=>i===null?i:(i+dir+stills.length)%stills.length));useEffect(()=>{const previousOverflow=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=previousOverflow;};},[]);useEffect(()=>{const onKey=e=>{if(e.key===\"Escape\"){if(stillIndex!==null)setStillIndex(null);else onCloseRef.current();}else if(stillIndex!==null&&e.key===\"ArrowRight\"){stepStill(1);}else if(stillIndex!==null&&e.key===\"ArrowLeft\"){stepStill(-1);}};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[stillIndex,stills.length]);// Swipe between stills on touch screens\nconst touchStartX=useRef(null);const onTouchStart=e=>{touchStartX.current=e.touches[0].clientX;};const onTouchEnd=e=>{if(touchStartX.current===null)return;const dx=e.changedTouches[0].clientX-touchStartX.current;touchStartX.current=null;if(Math.abs(dx)>40)stepStill(dx<0?1:-1);};return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(motion.div,{style:modalStyles.overlay,initial:{opacity:0},animate:{opacity:1},transition:{duration:.3,ease:\"easeOut\"},role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":tile.title,children:[/*#__PURE__*/_jsxs(\"div\",{style:{...modalStyles.topBar,padding:phone?`22px ${g}px`:`28px ${g}px`},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"span\",{style:modalStyles.brandName,children:\"Jason Cowan\"}),/*#__PURE__*/_jsx(\"span\",{style:modalStyles.brandTitle,children:\"Director of Photography\"})]}),/*#__PURE__*/_jsxs(\"button\",{style:modalStyles.closeButton,onClick:onClose,\"aria-label\":\"Close\",children:[\"Close\",/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"10\",viewBox:\"0 0 10 10\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L9 9M9 1L1 9\",stroke:\"currentColor\",strokeWidth:\"1\"})})]})]}),/*#__PURE__*/_jsxs(motion.div,{style:{...modalStyles.content,padding:phone?`0 0 48px`:`0 ${g}px 72px`},initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.45,ease:\"easeOut\",delay:.05},children:[/*#__PURE__*/_jsx(\"div\",{style:modalStyles.player,children:directVideo?/*#__PURE__*/_jsx(\"video\",{src:directVideo,controls:true,autoPlay:true,playsInline:true,style:modalStyles.playerMedia}):embedUrl?/*#__PURE__*/_jsx(\"iframe\",{src:embedUrl,title:tile.title,allow:\"autoplay; fullscreen; picture-in-picture\",allowFullScreen:true,style:{...modalStyles.playerMedia,border:0}}):stills.length?/*#__PURE__*/_jsx(\"img\",{...imageProps(stills[0],\"100vw\"),alt:tile.title,style:{...modalStyles.playerMedia,objectFit:\"cover\"}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:phone?`0 ${g}px`:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{...modalStyles.infoRow,flexDirection:phone?\"column\":\"row\",alignItems:phone?\"flex-start\":\"flex-end\",gap:phone?16:40,padding:phone?\"22px 0 24px\":\"28px 0 32px\"},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"p\",{style:modalStyles.infoCat,children:tile.cat}),/*#__PURE__*/_jsx(\"h2\",{style:{...modalStyles.infoTitle,fontSize:phone?22:28},children:tile.title})]}),project.credits&&/*#__PURE__*/_jsx(\"p\",{style:{...modalStyles.credits,textAlign:phone?\"left\":\"right\"},children:project.credits})]}),stills.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:modalStyles.stillsSection,children:[/*#__PURE__*/_jsxs(\"div\",{style:modalStyles.stillsHeader,children:[/*#__PURE__*/_jsx(\"span\",{children:\"Selected Frames\"}),/*#__PURE__*/_jsxs(\"span\",{children:[pad(stills.length),\" Frames\"]})]}),/*#__PURE__*/_jsx(\"div\",{style:modalStyles.filmstripScroller,children:/*#__PURE__*/_jsxs(\"div\",{style:modalStyles.filmstrip,children:[/*#__PURE__*/_jsx(\"div\",{style:modalStyles.sprockets}),/*#__PURE__*/_jsx(\"div\",{style:modalStyles.frames,children:stills.map((src,i)=>/*#__PURE__*/_jsxs(\"button\",{style:{...modalStyles.frame,width:phone?168:256},onClick:()=>setStillIndex(i),\"aria-label\":`View frame ${i+1}`,children:[/*#__PURE__*/_jsx(\"img\",{src:thumbnail(src),alt:\"\",loading:\"lazy\",decoding:\"async\",style:modalStyles.frameImg}),/*#__PURE__*/_jsx(\"span\",{style:modalStyles.frameNo,children:pad(i+1)})]},i))}),/*#__PURE__*/_jsx(\"div\",{style:modalStyles.sprockets})]})})]})]})]}),stillIndex!==null&&stills[stillIndex]&&/*#__PURE__*/_jsxs(motion.div,{style:modalStyles.viewer,initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},onClick:()=>setStillIndex(null),onTouchStart:onTouchStart,onTouchEnd:onTouchEnd,children:[/*#__PURE__*/_jsx(\"img\",{...imageProps(stills[stillIndex],\"100vw\"),alt:`${tile.title} — frame ${stillIndex+1}`,style:{...modalStyles.viewerImg,maxWidth:phone?\"100vw\":\"88vw\"},onClick:e=>e.stopPropagation()}),/*#__PURE__*/_jsxs(\"div\",{style:modalStyles.viewerCount,children:[pad(stillIndex+1),\" / \",pad(stills.length)]}),stills.length>1&&!phone&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{style:{...modalStyles.viewerNav,left:24},onClick:e=>{e.stopPropagation();stepStill(-1);},\"aria-label\":\"Previous frame\",children:\"‹\"}),/*#__PURE__*/_jsx(\"button\",{style:{...modalStyles.viewerNav,right:24},onClick:e=>{e.stopPropagation();stepStill(1);},\"aria-label\":\"Next frame\",children:\"›\"})]})]})]}),document.body);}export const modalStyles={tileWatch:{...smallCaps,position:\"absolute\",top:16,right:16,display:\"flex\",alignItems:\"center\",gap:7,fontSize:8,color:\"#f0f0f0\"},overlay:{position:\"fixed\",inset:0,zIndex:9999,background:\"rgba(8,8,8,0.97)\",color:\"#f0f0f0\",fontFamily:FONT,fontWeight:300,WebkitFontSmoothing:\"antialiased\",overflowY:\"auto\",overflowX:\"hidden\"},topBar:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},brandName:{display:\"block\",fontSize:12,letterSpacing:\"0.2em\",textTransform:\"uppercase\",fontWeight:400,marginBottom:4},brandTitle:{display:\"block\",fontSize:9,letterSpacing:\"0.25em\",textTransform:\"uppercase\",color:\"#888888\"},closeButton:{...smallCaps,display:\"flex\",alignItems:\"center\",gap:10,background:\"none\",border:\"none\",color:\"#888888\",cursor:\"pointer\",padding:\"8px 0\",fontFamily:\"inherit\"},content:{maxWidth:1120,margin:\"0 auto\"},player:{position:\"relative\",width:\"100%\",aspectRatio:\"16 / 9\",background:\"#000\",overflow:\"hidden\"},playerMedia:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",background:\"#000\"},infoRow:{display:\"flex\",justifyContent:\"space-between\",borderBottom:\"0.5px solid #222222\"},infoCat:{...smallCaps,letterSpacing:\"0.25em\",color:\"#888888\",margin:\"0 0 10px\"},infoTitle:{fontWeight:300,letterSpacing:\"0.03em\",margin:0},credits:{fontSize:10,letterSpacing:\"0.12em\",textTransform:\"uppercase\",lineHeight:2,color:\"#888888\",whiteSpace:\"pre-line\",margin:0},stillsSection:{paddingTop:28},stillsHeader:{...smallCaps,letterSpacing:\"0.25em\",display:\"flex\",justifyContent:\"space-between\",color:\"#444444\",marginBottom:16},filmstripScroller:{overflowX:\"auto\",overflowY:\"hidden\",background:\"#050505\",scrollbarWidth:\"thin\",scrollbarColor:\"#333 transparent\",WebkitOverflowScrolling:\"touch\"},filmstrip:{display:\"inline-flex\",flexDirection:\"column\",gap:8,padding:\"8px 8px\",minWidth:\"100%\",boxSizing:\"border-box\"},sprockets:{height:7,width:\"100%\",backgroundImage:\"repeating-linear-gradient(to right, transparent 0px, transparent 7px, #1e1e1e 7px, #1e1e1e 17px, transparent 17px, transparent 24px)\",borderRadius:1},frames:{display:\"flex\",gap:6},frame:{position:\"relative\",flex:\"0 0 auto\",aspectRatio:\"16 / 9\",padding:0,border:\"none\",background:\"#141414\",cursor:\"zoom-in\",overflow:\"hidden\"},frameImg:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"},frameNo:{position:\"absolute\",left:8,bottom:6,fontSize:8,letterSpacing:\"0.2em\",color:\"rgba(240,240,240,0.7)\",fontFamily:\"inherit\"},viewer:{position:\"fixed\",inset:0,zIndex:1e4,background:\"rgba(5,5,5,0.97)\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:20,cursor:\"zoom-out\"},viewerImg:{maxHeight:\"80vh\",objectFit:\"contain\",display:\"block\",cursor:\"default\"},viewerCount:{...smallCaps,color:\"#888888\"},viewerNav:{position:\"absolute\",top:\"50%\",transform:\"translateY(-50%)\",background:\"none\",border:\"none\",color:\"#888888\",fontSize:40,fontWeight:200,lineHeight:1,padding:16,cursor:\"pointer\",fontFamily:\"inherit\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"smallCaps\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Project\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Device\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"imageProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PageKey\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TileImage\":{\"type\":\"reactComponent\",\"name\":\"TileImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProjectPlayer\":{\"type\":\"reactComponent\",\"name\":\"ProjectPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"deviceControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"openableProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"tilesFromProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pad\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WatchBadge\":{\"type\":\"reactComponent\",\"name\":\"WatchBadge\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FONT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useDevice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deviceForWidth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"siteStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"thumbnail\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gutter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasProject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"projectControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SiteFooter\":{\"type\":\"reactComponent\",\"name\":\"SiteFooter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"modalStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useHoverClip\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Tile\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HoverClip\":{\"type\":\"reactComponent\",\"name\":\"HoverClip\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"visibleTiles\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SiteNav\":{\"type\":\"reactComponent\",\"name\":\"SiteNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GridPage\":{\"type\":\"reactComponent\",\"name\":\"GridPage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PageHeader\":{\"type\":\"reactComponent\",\"name\":\"PageHeader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"WorkGrid\":{\"type\":\"reactComponent\",\"name\":\"WorkGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DeviceSetting\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shared.map"],"mappings":"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"}