Files
delivery-tracker/frontend/src/components/ui/Select.tsx
T
Egor Pozharov 4e0899d3ce chore: restructure project into backend and frontend folders
- Move all frontend code to frontend/ directory
- Add backend/ with Go project structure (cmd, internal, pkg)
- Add docker-compose.yml for orchestration
2026-04-14 13:14:28 +06:00

38 lines
1.0 KiB
TypeScript

import type { SelectHTMLAttributes } from 'react';
interface SelectOption {
value: string;
label: string;
}
interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
label?: string;
options: SelectOption[];
error?: string;
}
export const Select = ({ label, options, error, className = '', ...props }: SelectProps) => {
return (
<div className="w-full">
{label && (
<label className="block text-sm font-medium text-[#1b1b1d] mb-1">
{label}
</label>
)}
<select
className={`w-full px-3 py-2 bg-[#f5f3f5] border border-[#c5c6cd] rounded-md text-[#1b1b1d] focus:outline-none focus:ring-2 focus:ring-[#1B263B] focus:border-transparent transition-colors ${className}`}
{...props}
>
{options.map((option) => (
<option key={option.value} value={option.value}>
{option.label}
</option>
))}
</select>
{error && (
<p className="mt-1 text-sm text-red-600">{error}</p>
)}
</div>
);
};