fills field accepts an array of Fill objects rendered bottom-to-top as CSS background layers — the same stacking model as Figma. Each builder function produces one valid Fill. Import the builders you need directly from @abloatai/decks.
Fill builders
solidFill(color, opacity?)
A flat solid color fill.
Any CSS color value: hex (
'#3B82F6'), rgb(), hsl(), a named color, or a theme CSS variable ('var(--slide-brand)').Fill opacity from
0 (fully transparent) to 1 (fully opaque).linearGradient(stops, opts?)
A linear gradient compiled to a linear-gradient() CSS string.
Color stops along the gradient axis. Each stop has a
color and an optional at position (0–1, where 0 = 0% and 1 = 100%). Stops without at are distributed automatically by CSS.Gradient direction in degrees.
0 = bottom to top, 90 = left to right, 180 (default) = top to bottom, 135 = diagonal top-left to bottom-right.Overall fill opacity.
radialGradient(stops, opts?)
A radial gradient compiled to a radial-gradient() CSS string.
Color stops — same shape as
linearGradient stops.Center of the radial gradient as
[x, y] in 0–1 coordinates relative to the box. Default is the box center ([0.5, 0.5]).Overall fill opacity.
meshGradient(points, opts?)
A mesh gradient — multiple stacked radial blobs that blend together into a soft, organic gradient. Each point is a colored glow positioned on the box in 0–1 coordinates.
The gradient blobs. Each point has a color, a 2D position, and an optional radius.
A base color or gradient string rendered behind all the blobs. If omitted, the mesh is transparent where no blobs overlap.
Overall fill opacity.
imageFill(url, opts?)
An image fill applied to a shape box. Use ablo.images.upload() to get a CDN URL for local files.
A hosted image URL. External URLs are rehosted to the Ablo CDN at commit time. Use
ablo.images.upload() for local files.How the image fills the shape box.
'cover' crops to fill; 'contain' letterboxes; 'fill' stretches.Overall fill opacity. Combine with a
solidFill tint above it in the stack for a color wash effect.shaderFill(input, opacity?)
An animated WebGL shader gradient. Runs in the browser via @shadergradient — renders as a static snapshot in exported images.
The shader algorithm preset. See ShaderPreset values below.
The three colors the shader mixes. All three are required. Accepts any CSS color value.
Animation speed multiplier.
0 = frozen, 1 = fast.Wave / noise density. Higher values produce finer detail.
When
false, the shader renders as a static frame — useful for exported images.Overall fill opacity.
Types
Fill
The output of every builder function — one entry in a layer’s fills stack.
Fill kind:
'solid' | 'gradient' | 'image' | 'shader'.Whether this fill layer renders. Always
true from builders; toggle it to temporarily hide a fill.Fill opacity from
0 to 1.Present on
solid fills.Present on
gradient fills — the compiled CSS linear-gradient() or radial-gradient() string.Present on
image fills — { url, objectFit?, width?, height? }.Present on
shader fills — { version, preset, colors, uSpeed, uDensity, animate }.