BLOCKS / MEDIA
Video block
A plain HTML5 video element. No border or radius controls of its own — wrap it in a grid-item-block for those.
Autoplay, loop, hidden controls
autoplay plus hideControls plus loop, the classic silent background-loop pattern. autoplay always forces muted on the video element, since browsers require it.
Plays when scrolled into view
autoplayOnEnter true adds a data-autoplay-on-enter attribute view.js reads via IntersectionObserver, instead of playing immediately on page load. Combined with autoplay:true, the video still gets muted but waits for the scroll trigger rather than the native autoplay attribute.
Autoplay with visible controls
hideControls stays at its false default, so native controls remain even though the video starts muted and playing on load — visitors can pause, seek, or unmute right away.
Click-to-play, no autoplay
autoplay left false, so neither autoplay nor muted render at all — the browser shows native play button, and sound plays normally once clicked. This is the block's ordinary, respectful default.
