MicroClub Switch
mcoli-ui-registry/mc-switchFreeComponent
A switch component for MicroClub UI
Live preview
live · rendered by the registry
Rendered by mcoli-ui-registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://mcoli-ui.microclub.info/r/mc-switch.jsonSource
1'use client';23import { Switch as SwitchPrimitive } from '@base-ui/react/switch';4import { cn } from '@/lib/utils';56function McSwitch({7 className,8 size = 'default',9 ...props10}: SwitchPrimitive.Root.Props & {11 size?: 'sm' | 'default';12}) {13 return (14 <SwitchPrimitive.Root15 data-slot="switch"16 data-size={size}17 className={cn(18 'peer group/switch relative inline-flex shrink-0 items-center bg-input ring-1 ring-inset ring-border',19 'transition-[background-color,ring-color,box-shadow] duration-300 ease-out outline-none',20 'focus-visible:ring-ring focus-visible:ring-offset-2',21 'aria-invalid:ring-destructive aria-invalid:ring-offset-2',22 'dark:aria-invalid:ring-destructive/40',23 'data-disabled:bg-input/70 data-disabled:opacity-50',24 'data-checked:bg-primary data-checked:ring-transparent',25 'data-unchecked:bg-input data-unchecked:ring-border',26 'data-[size=default]:h-7 data-[size=default]:w-12 data-[size=default]:rounded-full data-[size=default]:p-1',27 'data-[size=sm]:h-4 data-[size=sm]:w-7 data-[size=sm]:rounded-full data-[size=sm]:p-[2px]',28 className29 )}30 {...props}31 >32 <SwitchPrimitive.Thumb33 data-slot="switch-thumb"34 className={cn(35 'pointer-events-none block rounded-full bg-background ring-1 ring-inset ring-border transition-transform duration-300 ease-out',36 'dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground',37 'group-data-[size=default]/switch:size-5',38 'group-data-[size=default]/switch:data-unchecked:translate-x-0',39 'group-data-[size=default]/switch:data-checked:translate-x-5',40 'group-data-[size=sm]/switch:size-3',41 'group-data-[size=sm]/switch:data-unchecked:translate-x-0',42 'group-data-[size=sm]/switch:data-checked:translate-x-3'43 )}44 />45 </SwitchPrimitive.Root>46 );47}4849export { McSwitch };
What it pulls in
npm packages
Files it writes
More from mcoli-ui-registry
All 42 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| MicroClub Accordionmc-accordion | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Alertmc-alert | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Alert Dialogmc-alert-dialog | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Avatarmc-avatar | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Badgemc-badge | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Breadcrumbmc-breadcrumb | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Buttonmc-button | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Calendarmc-calendar | mcoli-ui-registry | Components | Free | 3 deps |
