Checkbox

The checkbox component is a lightweight extension of the standard HTML input type="checkbox" element, featuring: themes, sizes, etc.

API

Props

NameTypeDefaultDescription
themeString'solid'Defines the theme applied to the Checkbox. Possible values are: solid, outlined, text and text-solid
variantString'default'Defines the variant of the theme applied to the Checkbox. Possible values are: default, primary, secondary, danger, warning, success and info
sizeString'md'Defines the size of the Checkbox. Possible values are: sm, md, lg
labelString''Defines the text to show inside the Checkbox
disabledBooleanfalseDefines if the checkbox should be disabled or not
model-valueBooleanfalseDefines the status of the Checkbox (checked or unchecked)

Events

NameDescription
update:model-valueEvent emitted whenever the checkbox is checked or unchecked

Basic Checkbox

<template>
	<Checkbox v-model="value" variant="default" label="Default" />
</template>

Themes

Every checkbox can define a theme and a variant. The theme defines the design of the checkbox and the variant defines the colors applied to the theme.

Solid

Outlined

Switch

<template>
	<!-- Solid -->
	<Checkbox v-model="value" variant="default" label="Default" />
	<Checkbox v-model="value" variant="primary" label="Primary" />
	<Checkbox v-model="value" variant="secondary" label="Secondary" />
	<Checkbox v-model="value" variant="danger" label="Danger" />
	<Checkbox v-model="value" variant="warning" label="Warning" />
	<Checkbox v-model="value" variant="success" label="Success" />
	<Checkbox v-model="value" variant="info" label="Info" />

	<!-- Outlined -->
	<Checkbox v-model="value" theme="outlined" variant="default" label="Default" />
	<Checkbox v-model="value" theme="outlined" variant="primary" label="Primary" />
	<Checkbox v-model="value" theme="outlined" variant="secondary" label="Secondary" />
	<Checkbox v-model="value" theme="outlined" variant="danger" label="Danger" />
	<Checkbox v-model="value" theme="outlined" variant="warning" label="Warning" />
	<Checkbox v-model="value" theme="outlined" variant="success" label="Success" />
	<Checkbox v-model="value" theme="outlined" variant="info" label="Info" />

	<!-- Switch -->
	<Checkbox v-model="value" theme="switch" variant="default" label="Default" />
	<Checkbox v-model="value" theme="switch" variant="primary" label="Primary" />
	<Checkbox v-model="value" theme="switch" variant="secondary" label="Secondary" />
	<Checkbox v-model="value" theme="switch" variant="danger" label="Danger" />
	<Checkbox v-model="value" theme="switch" variant="warning" label="Warning" />
	<Checkbox v-model="value" theme="switch" variant="success" label="Success" />
	<Checkbox v-model="value" theme="switch" variant="info" label="Info" />
</template>

Sizes

Checkbox

Switch

<template>
	<!-- Solid -->
	<Checkbox v-model="value" size="sm" label="Small checkbox" />
	<Checkbox v-model="value" size="md" label="Medium checkbox" />
	<Checkbox v-model="value" size="lg" label="Large checkbox" />

	<!-- Switch -->
	<Checkbox v-model="value" theme="switch" size="sm" label="Small switch" />
	<Checkbox v-model="value" theme="switch" size="md" label="Medium switch" />
	<Checkbox v-model="value" theme="switch" size="lg" label="Large switch" />
</template>

States

Besides themes and sizes, every checkbox can define a set of props to control their visible states.

Disabled

<template>
	<!-- Solid -->
	<Checkbox v-model="value" variant="default" label="Default" disabled />
	<Checkbox v-model="value" variant="primary" label="Primary" disabled />
	<Checkbox v-model="value" variant="secondary" label="Secondary" disabled />
	<Checkbox v-model="value" variant="danger" label="Danger" disabled />
	<Checkbox v-model="value" variant="warning" label="Warning" disabled />
	<Checkbox v-model="value" variant="success" label="Success" disabled />
	<Checkbox v-model="value" variant="info" label="Info" disabled />

	<!-- Outlined -->
	<Checkbox v-model="value" theme="outlined" variant="default" label="Default" disabled />
	<Checkbox v-model="value" theme="outlined" variant="primary" label="Primary" disabled />
	<Checkbox v-model="value" theme="outlined" variant="secondary" label="Secondary" disabled />
	<Checkbox v-model="value" theme="outlined" variant="danger" label="Danger" disabled />
	<Checkbox v-model="value" theme="outlined" variant="warning" label="Warning" disabled />
	<Checkbox v-model="value" theme="outlined" variant="success" label="Success" disabled />
	<Checkbox v-model="value" theme="outlined" variant="info" label="Info" disabled />

	<!-- Switch -->
	<Checkbox v-model="value" theme="switch" variant="default" label="Default" disabled />
	<Checkbox v-model="value" theme="switch" variant="primary" label="Primary" disabled />
	<Checkbox v-model="value" theme="switch" variant="secondary" label="Secondary" disabled />
	<Checkbox v-model="value" theme="switch" variant="danger" label="Danger" disabled />
	<Checkbox v-model="value" theme="switch" variant="warning" label="Warning" disabled />
	<Checkbox v-model="value" theme="switch" variant="success" label="Success" disabled />
	<Checkbox v-model="value" theme="switch" variant="info" label="Info" disabled />
</template>
Last Updated:
Contributors: Carlos Pereira