mirror of
https://github.com/RealKai42/qwerty-learner.git
synced 2026-04-04 22:09:04 +08:00
* feat: wrong words revision (#717) * fix: db error * feat: add shadon ui * feat: basic implement of review mode and new ui * feat: update default tab of dict detail * chore: add new line * chore: polish detail * feat: add dark mode --------- Co-authored-by: William Yu <52456186+WilliamYPY@users.noreply.github.com>
38 lines
1.6 KiB
TypeScript
38 lines
1.6 KiB
TypeScript
import { cn } from '@/utils/ui'
|
|
import * as TogglePrimitive from '@radix-ui/react-toggle'
|
|
import { type VariantProps, cva } from 'class-variance-authority'
|
|
import * as React from 'react'
|
|
|
|
const toggleVariants = cva(
|
|
'inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-white transition-colors hover:bg-slate-100 hover:text-slate-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-slate-100 data-[state=on]:text-slate-900 dark:ring-offset-slate-950 dark:hover:bg-slate-800 dark:hover:text-slate-400 dark:focus-visible:ring-slate-300 dark:data-[state=on]:bg-slate-800 dark:data-[state=on]:text-slate-50',
|
|
{
|
|
variants: {
|
|
variant: {
|
|
default: 'bg-transparent',
|
|
outline:
|
|
'border border-slate-200 bg-transparent hover:bg-slate-100 hover:text-slate-900 dark:border-slate-800 dark:hover:bg-slate-800 dark:hover:text-slate-50',
|
|
},
|
|
size: {
|
|
default: 'h-10 px-3',
|
|
sm: 'h-9 px-2.5',
|
|
lg: 'h-11 px-5',
|
|
},
|
|
},
|
|
defaultVariants: {
|
|
variant: 'default',
|
|
size: 'default',
|
|
},
|
|
},
|
|
)
|
|
|
|
const Toggle = React.forwardRef<
|
|
React.ElementRef<typeof TogglePrimitive.Root>,
|
|
React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>
|
|
>(({ className, variant, size, ...props }, ref) => (
|
|
<TogglePrimitive.Root ref={ref} className={cn(toggleVariants({ variant, size, className }))} {...props} />
|
|
))
|
|
|
|
Toggle.displayName = TogglePrimitive.Root.displayName
|
|
|
|
export { Toggle, toggleVariants }
|