lustre/ui/layout/cluster
Functions
pub fn align_centre() -> Attribute(a)
pub fn align_start() -> Attribute(a)
pub fn cluster(
attributes: List(Attribute(a)),
children: List(Element(a)),
) -> Element(a)
A cluster is a group of non-uniformly sized elements arranged along the inline axis. Where a cluster’s children are too wide or too many, the elements overflow in the same way that text typically does.
Clusters are useful for grouping things like tags or controls.
pub fn from_start() -> Attribute(a)
pub fn loose() -> Attribute(a)
A loose cluster has a large gap between each child element.
pub fn of(
element: fn(List(Attribute(a)), List(Element(a))) -> Element(a),
attributes: List(Attribute(a)),
children: List(Element(a)),
) -> Element(a)
By default the cluster uses a <div />
as the underlying container. You can
use this function to use a different element, like a <ul />
instead.
pub fn relaxed() -> Attribute(a)
A relaxed cluster has a medium-sized gap between each child element. This is the default gap but is provided as an attribute because nested clusters will inherit the gap from their parent cluster unless explicitly told otherwise.
pub fn space(gap: String) -> Attribute(a)
Use this function to set a custom gap between each child element. You’ll need
to use this function if you want a larger gap than loose
or a smaller one
than tight
.
You can pass any valid CSS length value to this function such as 1rem
or
10px
, or you can use CSS variables such as var(--space-xs)
to use the
space scale from the theme.