Layout

XML v2 uses Stack, Grid, Card, and FormLayout for composition. The old Columns, Flex, and Hero elements are removed. Tabs and dialogs now use one flat owner component instead of compound trigger, header, and content tags.

Stack

Stack arranges children vertically by default. Set direction="horizontal" for row layout. It replaces Flex as well as simple list-like visual groups.

  • justify: start, center, end, between, around, or evenly.
  • align: start, center, end, or stretch.
  • gap and padding attributes use the Astryx spacing scale: 0, 0.5, 1, 1.5, 2, 3, 4, 5, 6, 8, or 10.

Grid

Grid replaces Columns. Use a fixed numeric columns value or create a responsive grid with minColumnWidth, optional maxColumns, and repeat set to fill or fit.

Card

Card groups related content on an Astryx surface. Variants include default, transparent, muted, and named color surfaces. Width and height attributes accept CSS strings or numeric expressions.

FormLayout

FormLayout provides consistent spacing for controls that own their labels and descriptions. Direction can be vertical, horizontal, or horizontal-labels.

Page Introductions

Hero and its slot tags are removed. Compose an introduction from Heading, Text, Stack, and optional actions so its semantics stay explicit.

TabList

TabList replaces Tabs. It requires one or more direct Tab children and an accessible literal label. Each Tab requires a stable value and a label or i18n key. A writable value binding stores the selected tab.

Dialog

Dialog owns its header, open state, optional trigger, and content. It requires a title or i18n key. Set triggerLabel for an adapter-owned trigger, or bind isOpen to state when another flow controls the dialog.

  • purpose: required, form, or info.
  • variant: standard or fullscreen.
  • triggerVariant and triggerSize: configure the optional trigger button.