Spacing and surface
import { html, renderApp } from 'mates';
import { Text, registerLayoutElements } from 'mates-ui';
registerLayoutElements();
const App = () => () => html`
<x-box p="2" bgcolor="var(--md-color-primary-muted)" br="var(--md-radius-md)">
${Text("This box has p=2 (16 px padding), primary-muted background, and rounded corners.", { type: "body-sm" })}
</x-box>
`;
renderApp(App, document.getElementById('app'));
Constrained centered container
import { html, renderApp } from 'mates';
import { Text, registerLayoutElements } from 'mates-ui';
registerLayoutElements();
const App = () => () => html`
<x-box w="100%" maxw="400px" mx="auto" p="3"
bgcolor="var(--md-surface-card)" br="var(--md-radius-lg)" shadow="var(--md-shadow-sm)">
${Text("Centered card — maxw=400px, mx=auto, p=3 (24 px)", { type: "body-sm" })}
</x-box>
`;
renderApp(App, document.getElementById('app'));
Flex child control
import { html, renderApp } from 'mates';
import { Text, registerLayoutElements } from 'mates-ui';
registerLayoutElements();
const App = () => () => html`
<div style="display:flex;gap:8px;width:100%;max-width:32rem;">
<x-box p="1" bgcolor="var(--md-color-primary-muted)" br="var(--md-radius-sm)">
${Text("Fixed", { type: "label-sm" })}
</x-box>
<x-box p="1" grow="1" bgcolor="var(--md-color-secondary-muted)" br="var(--md-radius-sm)">
${Text("grow=1 — fills remaining space", { type: "label-sm" })}
</x-box>
<x-box p="1" bgcolor="var(--md-color-primary-muted)" br="var(--md-radius-sm)">
${Text("Fixed", { type: "label-sm" })}
</x-box>
</div>
`;
renderApp(App, document.getElementById('app'));