Skip to content
HomePagesHomePages template kit

video

A single video slot, resolved as a `VideoValue`.

A single video slot, resolved as a VideoValue. Unlike image, there is no crop — a video is selected, never re-edited. sources opts into which origins the value may come from ("upload", "link"); omitted means upload-only. playback and frame configure the renderer’s <Video>. fill takes a videoAssign — the alternative to source, never its companion.

Import from @homepages/template-kit.

function video<const HasSource extends SlotSource | ComputeBinding<unknown> | undefined = undefined>(opts: VideoOptions & { source?: HasSource; fill?: BuiltDecision<"video-assign">; } & WritebackOption<HasSource> & FillOption<HasSource, BuiltDecision<"video-assign">>): VideoSlotDef & SourceMark<HasSource> & FillMark<BuiltDecision<"video-assign">>
Name Type Required Description
opts `VideoOptions & { source?: HasSource; fill?: BuiltDecision<“video-assign”> } &
WritebackOption<HasSource> & FillOption<HasSource, BuiltDecision<"video-assign">>` | required | |

VideoSlotDef & SourceMark<HasSource> & FillMark<BuiltDecision<"video-assign">>

import { video } from "@homepages/template-kit";
video({ label: "Property video", playback: { controls: true }, sources: ["upload", "link"] });