qwen-code/packages/web-shell/client/components/ui/input.tsx
ytahdn 2071508eaf
fix(web-shell): restore packaged dialog styles on React 18 (#6827)
* fix(web-shell): restore packaged dialog styles on React 18

* docs(web-shell): document UI component conventions

* test(web-shell): verify workspace input focus

* test(web-shell): verify button ref binding

---------

Co-authored-by: 钉萁 <dingqi.jww@alibaba-inc.com>
2026-07-13 15:57:23 +00:00

22 lines
1.1 KiB
TypeScript

import * as React from 'react';
import { cn } from '@/lib/utils';
const Input = React.forwardRef<HTMLInputElement, React.ComponentProps<'input'>>(
function Input({ className, type, ...props }, ref) {
return (
<input
ref={ref}
type={type}
data-slot="input"
className={cn(
'h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',
className,
)}
{...props}
/>
);
},
);
export { Input };