Files
logseq/packages/ui/@/components/ui/input.tsx
2024-04-09 11:22:52 +08:00

32 lines
1016 B
TypeScript

import * as React from 'react'
// @ts-ignore
import { cn } from '@/lib/utils'
export interface InputProps
extends React.InputHTMLAttributes<HTMLInputElement> {}
const Input = React.forwardRef<HTMLInputElement, InputProps & any>(
({ className, type, small, ...props }, ref) => {
return (
<input
type={type}
className={cn(
'ui__input',
(small ? 'h-8 py-1 px-2' : 'h-10 px-3 py-2'),
'flex w-full rounded-md border border-input bg-background text-sm ring-offset-background ' +
'file:border-0 file:bg-transparent file:text-sm file:font-medium focus:border-input ' +
'placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ' +
'focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50',
className
)}
ref={ref}
{...props}
/>
)
}
)
Input.displayName = 'Input'
export { Input }