PageSourceSearch

https://joinoriginhouse.com/assets/Polaroid-BjXY1Af6.js

js joinoriginhouse.com collected 2026-10-04 20:21:53 UTC 2,344 bytes, 1 lines download raw bytes

1import{r as l,a as p,j as e,m as b}from"./index-BuCKDUqr.js";import{P as m}from"./play-BXN_4Mp2.js";function v({children:a}){const r=l.useRef(null),t=p(),[s,u]=l.useState(!1);return l.useEffect(()=>{if(t)return;const i=r.current;if(!i||typeof IntersectionObserver>"u")return;const o=new IntersectionObserver(n=>{for(const c of n)u(c.isIntersecting)},{rootMargin:"-35% 0px -35% 0px",threshold:0});return o.observe(i),()=>o.disconnect()},[t]),t?e.jsx("span",{ref:r,children:a}):e.jsx("span",{ref:r,style:{color:s?"var(--accent)":"inherit",fontWeight:s?700:400,transition:"color 280ms ease, font-weight 280ms ease"},children:a})}function y({src:a,alt:r,caption:t,rotate:s=-3,className:u="",width:i=320,videoSrc:o}){const n=p(),[c,f]=l.useState(!1),d=l.useRef(null),x=()=>{f(!0),requestAnimationFrame(()=>{d.current?.play().catch(()=>{})})};return e.jsxs(b.figure,{initial:n?void 0:{opacity:0,y:24,rotate:0},whileInView:n?void 0:{opacity:1,y:0,rotate:s},viewport:{once:!0,margin:"-80px"},transition:{duration:.9,ease:[.22,1,.36,1]},whileHover:n||c?void 0:{rotate:s*.3,scale:1.02},style:{width:i,rotate:n?s:void 0},className:`relative inline-block bg-[#f7f2e8] p-3 pb-14 shadow-[0_30px_60px_-30px_rgba(0,0,0,0.35),0_8px_18px_-12px_rgba(0,0,0,0.25)] ${u}`,children:[e.jsx("div",{className:"relative block aspect-[4/5] w-full overflow-hidden bg-black",children:c&&o?e.jsx("video",{ref:d,src:o,poster:a,controls:!0,playsInline:!0,preload:"metadata",onEnded:()=>f(!1),className:"block h-full w-full object-cover"}):e.jsxs(e.Fragment,{children:[e.jsx("img",{src:a,alt:r,loading:"lazy",decoding:"async",className:"block h-full w-full object-cover"}),o&&e.jsx("button",{type:"button",onClick:x,"aria-label":"Play video",className:"group absolute inset-0 flex items-center justify-center bg-black/0 transition-colors hover:bg-black/25 focus:outline-none focus-visible:bg-black/25",children:e.jsx("span",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-white/90 text-black shadow-lg transition-transform group-hover:scale-110 group-focus-visible:scale-110",children:e.jsx(m,{className:"h-7 w-7 translate-x-[2px] fill-current"})})})]})}),t&&e.jsx("figcaption",{className:"absolute inset-x-3 bottom-3 text-center text-[1.05rem] text-[#1a1a1a]/85",style:{fontFamily:"Caveat, cursive",lineHeight:1.1},children:t})]})}export{y as P,v as S};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.