Converts node layout properties to Tailwind CSS v4 classes.
Layout properties on frame nodes (:layout, :gap, :padding, etc.)
are translated to their Tailwind equivalents. Non-standard values use
arbitrary value syntax (e.g., gap-[13px]).
Summary
Functions
Check if a node has any layout properties set.
List of layout field names
Convert a node's layout properties to a Tailwind class string.
Functions
Check if a node has any layout properties set.
@spec layout_fields() :: [atom()]
List of layout field names
Convert a node's layout properties to a Tailwind class string.
Accepts a Node struct or a map with layout keys.
Returns an empty string if no layout properties are set.
Examples
iex> Layout.to_classes(%{layout: :vertical, gap: 16})
"flex flex-col gap-4"
iex> Layout.to_classes(%{layout: :horizontal, padding: [8, 16, 8, 16]})
"flex flex-row pt-2 pr-4 pb-2 pl-4"
iex> Layout.to_classes(%{width: :fill, height: :hug})
"w-full h-fit"