input-icon
stackzero/input-iconFreeComponent
stackzero publishes no description for this item.
Install it
npx shadcn@latest add https://ui.stackzero.co/r/input-icon.jsonSource
1import { cn } from "@/lib/utils";2import { LucideIcon } from "lucide-react";3import * as React from "react";45export interface InputProps6 extends React.InputHTMLAttributes<HTMLInputElement> {7 startIcon?: LucideIcon;8 endIcon?: LucideIcon;9}1011const InputIcon = React.forwardRef<HTMLInputElement, InputProps>(12 ({ className, endIcon, startIcon, type, ...props }, ref) => {13 const StartIcon = startIcon;14 const EndIcon = endIcon;1516 return (17 <div className="relative w-full">18 {StartIcon && (19 <div className="absolute top-1/2 left-2 -translate-y-1/2 transform">20 <StartIcon size={18} className="text-muted-foreground" />21 </div>22 )}23 <input24 type={type}25 className={cn(26 "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",27 "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",28 "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",29 startIcon ? "pl-8" : "",30 endIcon ? "pr-8" : "",31 className32 )}33 ref={ref}34 {...props}35 />36 {EndIcon && (37 <div className="absolute top-1/2 right-2 -translate-y-1/2 transform">38 <EndIcon className="text-muted-foreground" size={18} />39 </div>40 )}41 </div>42 );43 }44);4546InputIcon.displayName = "InputIcon";4748export default InputIcon;
What it pulls in
npm packages
Other registry items
Files it writes
More from stackzero
All 112 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| face-rating-basicface-rating-basic | stackzero | Components | Free | 1 dep | |
| face-rating-gradientface-rating-gradient | stackzero | Components | Free | 2 deps | |
| image-carousel-basicimage-carousel-basic | stackzero | Components | Free | 5 deps | |
| image-viewer-basicimage-viewer-basic | stackzero | Components | Free | 3 deps | |
| image-viewer-basic-ex-01image-viewer-basic-ex-01 | stackzero | Components | Free | 1 dep | |
| image-viewer-basic-ex-02image-viewer-basic-ex-02 | stackzero | Components | Free | 1 dep | |
| image-viewer-motionimage-viewer-motion | stackzero | Components | Free | 4 deps | |
| image-viewer-motion-ex-01image-viewer-motion-ex-01 | stackzero | Components | Free | 1 dep |
