---
title: Morphing Switch
description: Multi-level switch with fluid morphing sub-tier transitions. A switch that morphs its shape between states revealing nested controls.
---

<ComponentPreview name="morphing-switch-demo" />

## Premium Pro Component

This is a premium Pro component. To get access to its source code and advanced interactive configurations:
1. Visit the pricing page: [https://lightswind.com/pricing](https://lightswind.com/pricing)
2. Purchase a license to unlock this component.

If you have already purchased a license, you can install this component directly via our CLI:

```bash
npx lightswind@latest add morphing-switch
```

*(Note: Make sure you have configured your API key in your project to authenticate your Pro license).*

## Installation

<Tabs defaultValue="cli">

<TabsList>
  <TabsTrigger value="cli">CLI</TabsTrigger>
  <TabsTrigger value="manual">Manual</TabsTrigger>
</TabsList>
<TabsContent value="cli">

```bash
npx lightswind@latest add morphing-switch
```

</TabsContent>

<TabsContent value="manual">

> [!IMPORTANT]
> This is a premium component. Manual copy-paste source code is only available to Pro license holders.
> Please purchase a plan at [https://lightswind.com/pricing](https://lightswind.com/pricing) to unlock manual access, or use the authenticated CLI command:
> 
> ```bash
> npx lightswind@latest add morphing-switch
> ```

</TabsContent>

</Tabs>

## Usage

```tsx
import MorphingSwitch from "@/components/lightswind-pro/morphing-switch"
```

```tsx
import MorphingSwitch from "@/components/lightswind-pro/morphing-switch";

export function Demo() {
  return <MorphingSwitch options={options} onChange={(v) => console.log(v)} />;
}
```
