Base Switch Demo

PreviousNext

Demo showing an animated base switch.

Docs
animate-uiui

Preview

Loading preview…
registry/demo/primitives/base/switch/index.tsx
import { Switch, SwitchThumb } from '@/components/animate-ui/primitives/base/switch';
import { Label } from '@/components/ui/label';
import { cn } from '@/lib/utils';

export const BaseSwitchDemo = () => {
  return (
    <Label className="flex items-center gap-x-3">
      <Switch
        className={cn(
          'relative flex p-0.5 h-6 w-10 items-center justify-start rounded-full border transition-colors',
          'data-[checked]:bg-primary data-[checked]:justify-end',
        )}
        defaultChecked
      >
        <SwitchThumb
          className="rounded-full bg-accent h-full aspect-square"
          pressedAnimation={{ width: 22 }}
        />
      </Switch>
      Airplane mode
    </Label>
  );
};

Installation

npx shadcn@latest add @animate-ui/demo-primitives-base-switch

Usage

import { DemoPrimitivesBaseSwitch } from "@/components/ui/demo-primitives-base-switch"
<DemoPrimitivesBaseSwitch />