Clerri UI Buttons
CButton is an extension to standard input element with icons and theming.
Button Severities
Clerri UI provides several button severities to indicate different actions or states.
The available severities are:
primarysecondarytertiaryneutralcontrastsuccesserrorwarning
You specify the severity using the severity prop on the <CButton> component:
vue
<CButton
severity="danger"
label="Delete User"
/>TIP
primary is the default severity, it will be applied if no severity is specified.
Outline Buttons
You can create outline buttons by setting the outlined prop.
vue
<CButton
severity="primary"
label="Primary Outlined"
outlined
/>Rounded Buttons
You can create rounded buttons by setting the rounded prop.
vue
<CButton
severity="primary"
label="Primary Rounded"
rounded
/>TIP
You can combine outlined and rounded props to create outlined rounded buttons.
Disabled Buttons
You can create disabled buttons by setting the disabled prop.
vue
<CButton
severity="primary"
label="Primary"
disabled
/>Text Buttons
You can create text buttons by setting the text prop.
vue
<CButton
severity="primary"
label="Primary Text"
text
/>TIP
You can combine text and rounded props to create text rounded buttons.
Icon Buttons
You can create icon buttons by using the icon prop to specify a Prime Vue Icon. Please refer to the Prime Vue Icons documentation for a list of available icons.
You would normally use the PrimeIcons constant to specify the icons.
vue
<template>
<CButton
severity="primary"
:icon="PrimeIcons.CHECK"
label="Save"
/>
</template>
<script lang="ts" setup>
import { PrimeIcons } from '@primevue/core/api'
</script>Icon Position
You can specify the position of the icon using the icon-pos prop. The available positions are left (default) and right.
vue
<template>
<CButton
severity="primary"
:icon="PrimeIcons.STAR"
icon-pos="right"
label="Favorites"
/>
</template>Icon Only
You can create an icon-only button by setting the icon prop without a label.
vue
<template>
<CButton
severity="primary"
:icon="PrimeIcons.HEART"
/>
</template>TIP
You can combine icon with other props like outlined, rounded, and text to create different styles of icon buttons.
Raised Buttons
You can create raised buttons by setting the raised prop.
vue
<CButton
severity="success"
label="Success Raised"
raised
/>Button Groups
You can group multiple buttons together using the <CButtonGroup> component.
vue
<template>
<CButtonGroup>
<CButton label="Button 1" severity="success" />
<CButton label="Button 2" severity="warning" />
<CButton label="Button 3" severity="error" />
</CButtonGroup>
</template>Split Button
You can create a split button by using a Button Group with a normal button and a Popup Menu.
vue
<template>
<CButtonGroup>
<CButton label="Commit" outlined />
<CButton
:icon="PrimeIcons.CHEVRON_DOWN"
outlined
@click="popupMenu?.toggle"
/>
</CButtonGroup>
<CMenu
:model="items"
popup
ref="popupMenu"
/>
</template>
<script lang="ts" setup>
import { PrimeIcons } from '@primevue/core/api';
import { ref } from 'vue';
const popupMenu = ref<InstanceType<typeof CMenu>>();
const items = [
{ label: 'Commit and Push', icon: PrimeIcons.UPLOAD },
{ label: 'Force Push', icon: PrimeIcons.EXCLAMATION_TRIANGLE }
];
</script>Sizes
Button provides small and large sizes as alternatives to the base. You can set the size using the size prop.
vue
<template>
<CButton
label="Small"
icon="pi pi-check"
size="small"
/>
<CButton
label="Normal"
icon="pi pi-check"
/>
<CButton
label="Large"
icon="pi pi-check"
size="large"
/>
</template>