--- title: Switch sidebar_label: Switch --- import { StoryWithControls } from '../../../src/components/StorybookWrapper'; # Switch A toggle switch for boolean on/off states. Supports loading indicators, sizing, and an HTML title attribute for accessibility tooltips. ## Live Example ## Try It Edit the code below to experiment with the component: ```tsx live function Demo() { const [checked, setChecked] = React.useState(true); return (
{checked ? 'On' : 'Off'} (hover the switch to see the title tooltip)
); } ``` ## Switch States ```tsx live function SwitchStates() { return (
Checked
Unchecked
Disabled (on)
Disabled (off)
Loading
); } ``` ## Sizes ```tsx live function SizesDemo() { return (
Small
Default
); } ``` ## Settings Panel ```tsx live function SettingsPanel() { const [notifications, setNotifications] = React.useState(true); const [darkMode, setDarkMode] = React.useState(false); const [autoRefresh, setAutoRefresh] = React.useState(true); return (

Dashboard Settings

{[ { label: 'Email notifications', checked: notifications, onChange: setNotifications, title: 'Toggle email notifications' }, { label: 'Dark mode', checked: darkMode, onChange: setDarkMode, title: 'Toggle dark mode' }, { label: 'Auto-refresh data', checked: autoRefresh, onChange: setAutoRefresh, title: 'Toggle auto-refresh' }, ].map(({ label, checked, onChange, title }) => (
{label}
))}
); } ``` ## Props | Prop | Type | Default | Description | |------|------|---------|-------------| | `disabled` | `boolean` | `false` | Whether the switch is disabled. | | `loading` | `boolean` | `false` | Whether to show a loading spinner inside the switch. | | `title` | `string` | `"Toggle feature"` | HTML title attribute shown as a browser tooltip on hover. Useful for accessibility. | ## Import ```tsx import { Switch } from '@superset/components'; ``` --- :::tip[Improve this page] This documentation is auto-generated from the component's Storybook story. Help improve it by [editing the story file](https://github.com/apache/superset/edit/master/superset-frontend/packages/superset-ui-core/src/components/Switch/Switch.stories.tsx). :::