Buttons

Import a button component in the script tag.

<script>
	import { Button } from 'flowbite-svelte';
</script>

Types

The default `type` is set to `button`. You can chage it by using the `type` prop.

<Button type="submit">Submit</Button>

Sizes

<Button textSize="text-xs">Button text-xs</Button>
<Button textSize="text-sm">Button text-sm</Button>
<Button textSize="text-base">Button text-base</Button>
<Button textSize="text-lg">Button text-lg</Button>
<Button textSize="text-xl">Button text-xl</Button>
<Button textSize="text-2xl">Button text-2xl</Button>
<Button textSize="text-3xl">Button text-3xl</Button>
<Button textSize="text-4xl">Button text-4xl</Button>

Colors

<Button textSize="text-sm">Button</Button>
<Button textSize="text-sm" btnColor="dark">Button</Button>
<Button textSize="text-sm" btnColor="light">Button</Button>
<Button textSize="text-sm" btnColor="red">Button</Button>
<Button textSize="text-sm" btnColor="green">Button</Button>
<Button textSize="text-sm" btnColor="yellow">Button</Button>
<Button textSize="text-sm" btnColor="purple">Button</Button>

Handlers

You can use on:click or any standard on:* to listen to the event.

<script>
	import { Button } from 'flowbite-svelte';
	import { goto } from '$app/navigation';
	const btn1 = () => {
		alert('This redirects to the home page.');
		goto('/');
	};
	const btn2 = () => {
		alert('You clicked btn2.');
	};
</script>

<Button on:click={btn1} textSize="text-xs">Button text-xs</Button>
<Button on:click={btn2} textSize="text-xl">Button text-xl</Button>

Icons & Labels

Since all the buttons have a `slot` you can add an icon component to create an icon button.

<script>
	import { ArrowRightOutline, BellOutline, ShoppingCartOutline, ChevronRightOutline } from 'svelte-heros';
</script>

<Button>
    <ArrowRightOutline/>
</Button>
<Button>
  <BellOutline size="24" class="text-red-500 dark:text-purple-300" />
</Button>
<Button btnColor="red" >
  <BellOutline size="24" class="text-red-500 dark:text-purple-300" />
</Button>
<Button btnColor="green">
  <ShoppingCartOutline size="24"/> Buy Now
</Button>
<Button>
  Choose Plan <ChevronRightOutline size="24" class="text-gray-500 dark:text-gray-300" />
</Button>
<Button>
  Messages
  <span class="inline-flex items-center justify-center w-4 h-4 ml-2 text-xs font-semibold text-blue-800 bg-blue-200 rounded-full">
    2
  </span>
</Button>

Disabled

You can add any additional button attributes. The following example shows adding the `disabled` attribute.

<Button disabled>Button disabled</Button>

Props

The component has the following props, type, and default values. See type-list page for type information.

Name Type Default
rounded boolean false
textSize Textsize 'text-sm'
btnColor Buttontypes 'blue'
type ButtonType 'button'
disabled boolean false

Default Button

Colored Shadow Button

Gradient Duotone Button

Gradient Monochrome Button

Gradietn Outline Button

Outlined Button

Rounded Button

Button Loader

References

Flowbite Buttons