Skip to content

Switch

The switch component is a UI element that allows users to toggle between two states, typically "on" and "off". It is commonly used for settings, preferences, or any binary choice in an application, it provides a more intuitive and visually appealing way to represent a boolean option compared to a traditional checkbox.

Settings

The Switch component accepts the following props:

PropTypeDefaultDescription
variantTColoursprimaryThe visual style of the switch.
disabledbooleanfalseWhether the switch is disabled.
sizeTSizesmdThe size of the switch.
modelValuebooleanfalseThe current state of the switch (on/off).

Usage

The Switch component can be used as follows:

Status: Off

Show code
html
<LxFlex>
	<LxSwitch v-model="value" />
</LxFlex>

Variants

The Switch component supports the following variants (and their active state):

Primary

Secondary

Accent

Info

Success

Danger

White

Black

Show code
html
<LxFlex wrap>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="primary" />
		<LxSwitch variant="primary" :model-value="true" />
		<p class="lx-margin--none">Primary</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="secondary" />
		<LxSwitch variant="secondary" :model-value="true" />
		<p class="lx-margin--none">Secondary</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="accent" />
		<LxSwitch variant="accent" :model-value="true" />
		<p class="lx-margin--none">Accent</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="info" />
		<LxSwitch variant="info" :model-value="true" />
		<p class="lx-margin--none">Info</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="success" />
		<LxSwitch variant="success" :model-value="true" />
		<p class="lx-margin--none">Success</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="danger" />
		<LxSwitch variant="danger" :model-value="true" />
		<p class="lx-margin--none">Danger</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="white" />
		<LxSwitch variant="white" :model-value="true" />
		<p class="lx-margin--none">White</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch variant="black" />
		<LxSwitch variant="black" :model-value="true" />
		<p class="lx-margin--none">Black</p>
	</LxFlex>
</LxFlex>

Sizes

The Switch component supports the following sizes:

2XS

XS

SM

MD

LG

XL

2XL

3XL

Show code
html
<LxFlex wrap>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="2xs" />
		<p class="lx-margin--none">2XS</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="xs" />
		<p class="lx-margin--none">XS</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="sm" />
		<p class="lx-margin--none">SM</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="md" />
		<p class="lx-margin--none">MD</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="lg" />
		<p class="lx-margin--none">LG</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="xl" />
		<p class="lx-margin--none">XL</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="2xl" />
		<p class="lx-margin--none">2XL</p>
	</LxFlex>
	<LxFlex direction="column" gap="0">
		<LxSwitch size="3xl" />
		<p class="lx-margin--none">3XL</p>
	</LxFlex>
</LxFlex>

States

The Switch component can be in the following states:

State: Disabled

To disable the Switch component, apply the disabled prop:

Show code
html
<LxFlex>
	<LxSwitch disabled />
</LxFlex>