Skip to content

Usage

Default

Use the label prop to set the text of the component.

vue

Colors

Use the color prop to customize the component's color.

vue

Variants

Use the variant prop to customize the component's appearance.

vue

Icons

Use the icon prop to position an icon before the label.

vue
<script setup lang="ts">
import { CLPill, CLColors, CLColorVariants, CLIconNames } from '@codeandfunction/callaloo'
</script>

<template>
  <CLPill :color="CLColors.Primary" :icon="CLIconNames.Tag" :variant="CLColorVariants.Soft" label="Tag" />
  <CLPill :color="CLColors.Success" :icon="CLIconNames.Check" :variant="CLColorVariants.Soft" label="Verified" />
  <CLPill :color="CLColors.Info" :icon="CLIconNames.InfoCircle" :variant="CLColorVariants.Soft" label="Info" />
</template>

Count

Use the count prop to display a count value alongside the label.

vue

Rounded

Use the rounded prop to control the border radius. By default, pills are rounded.

vue
<script setup lang="ts">
import { CLPill, CLColors } from '@codeandfunction/callaloo'
</script>

<template>
  <CLPill :color="CLColors.Primary" label="Rounded" rounded />
  <CLPill :color="CLColors.Primary" :rounded="false" label="Not Rounded" />
</template>

Elevated

Use the elevated prop to add a drop shadow.

vue

Clickable

Use the onClick prop to make the pill interactive. When a click handler is provided, the pill becomes clickable.

vue
<script setup lang="ts">
import { CLPill, CLColors, CLColorVariants } from '@codeandfunction/callaloo'

const handleClick = () => {
  console.log('Pill clicked!')
}
</script>

<template>
  <CLPill :color="CLColors.Primary" :variant="CLColorVariants.Soft" label="Click me" :onClick="handleClick" />
</template>

Props

Released under the MIT License.