This guide helps you go from installation to your first screen using Svelted.
npm install compose-svelte
or
pnpm add compose-svelte
Compose Svelted assumes a neutral CSS baseline.
You MUST include the following reset in your app:
*,
*::before,
*::after {
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
min-height: 100vh;
}
Wrap your app with ComposeTheme and AppRoot.
<script>
import {
ComposeTheme,
AppRoot,
Surface,
Text,
Modifier
} from "compose-svelte";
</script>
<ComposeTheme mode="system">
<AppRoot>
<Surface modifier={Modifier.fillMaxSize()}>
<Text>Hello Svelted</Text>
</Surface>
</AppRoot>
</ComposeTheme>
<Column modifier={Modifier.padding(16)}>
<Text textStyle="titleLarge">Title</Text>
<Text>Body text</Text>
</Column>
<Row horizontalArrangement={Arrangement.spacedBy(8)}>
<Text>Left</Text>
<Text>Right</Text>
</Row>
<Box modifier={Modifier.size(120)}>
<Text modifier={Modifier.align(Alignment.Center)}>
Centered
</Text>
</Box>
<TextField
label="Email"
placeholder="you@email.com"
value={email}
onValueChange={(v) => email = v}
/>
<OutlinedTextField
label="Email"
value={email}
onValueChange={(v) => email = v}
/>
Modifier
.padding(16)
.fillMaxWidth()
.clip(RoundedCornerShape(12))