Button
To create a button, use the Button component:
<script>
import Button from '@makigas/genshi-svelte';
</script>
<Button>Click me</Button> Links as buttons
Use the Link component instead. It accepts a prop called href with an URL. The button will be
rendered as an hyperlink. It is important to always understand the semantic distinction between a
link and a button. Only pass an href prop if you want the browser to point at a different address.
You shouldn’t use regular buttons with JavaScript events to change the browser URL if you can avoid
it. Also, you shouldn’t use a link to trigger some interactivity.
<script>
import Link from '@makigas/genshi-svelte';
</script>
<Link href="https://github.com/makigas/genshi-svelte">Star repo on GitHub</Link> Star repo on GitHub Buttons with icons
The button component is compatible with symbolic icons. You can provide two snippets called iconBefore and iconAfter. These snippets must emit SVG.
You can also omit the text altogether, but remember to use an aria-label in that case in the Button component.
Button sizes
Buttons come in a variety of sizes. If you don’t want to use the default medium size, change it via
the size parameter, which accepts one of the possible values in: xs sm md lg xl.
<Button size="xs">Extra small</Button>
<Button size="sm">Small</Button>
<Button size="md">Medium (default)</Button>
<Button size="lg">Large</Button>
<Button size="xl">Extra large</Button> Bold button
While this design system doesn’t use outlined buttons, and every button has a background, by default
the buttons will look like blended with the background. If you want to make the button stand out,
mark it as bold.
<Button bold>Back</Button> Color buttons
You can add some semantic accents to the colors. There are currently two variants:
Use the suggested color variant to convey that this is the primary button, or the button that may
complete a task.
<Button color="suggested">Save</Button>
<Button color="suggested" bold>Submit</Button> Use the destructive variant to convey that the button is dangerous, which is often used to mark
that pressing a button will have important consequences such as the destruction of records.
<Button color="destructive">Save</Button>
<Button color="destructive" bold>Submit</Button> Disabled buttons
To mark a button as disabled and non clickable, add the disabled prop.
<Button disabled>Can't touch this</Button> 