chore(history): import initial web product snapshot

This commit is contained in:
wmq
2026-07-25 00:30:00 +08:00
commit cf0eed46c3
131 changed files with 15693 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
import { cn } from '@/utils/cn'
export function Switch({
checked,
onCheckedChange,
disabled,
className,
}: {
checked: boolean
onCheckedChange?: (v: boolean) => void
disabled?: boolean
className?: string
}) {
return (
<button
type="button"
role="switch"
aria-checked={checked}
disabled={disabled}
onClick={() => onCheckedChange?.(!checked)}
className={cn(
'relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',
checked ? 'bg-primary' : 'bg-input',
className,
)}
>
<span
className={cn(
'inline-block h-4 w-4 transform rounded-full bg-white shadow transition-transform',
checked ? 'translate-x-[18px] rtl:-translate-x-[18px]' : 'translate-x-[2px] rtl:-translate-x-[2px]',
)}
/>
</button>
)
}