40 lines
977 B
TypeScript
40 lines
977 B
TypeScript
import CatalogueChoiceSelect from './catalogue-choice-select';
|
|
export type Country = { code: string; name: string; name_en: string };
|
|
export default function CountrySelect({
|
|
countries,
|
|
value,
|
|
onChange,
|
|
id,
|
|
disabled = false,
|
|
label = 'País',
|
|
required = false,
|
|
error,
|
|
}: {
|
|
countries: Country[];
|
|
value: string;
|
|
onChange: (value: string) => void;
|
|
id?: string;
|
|
disabled?: boolean;
|
|
label?: string;
|
|
required?: boolean;
|
|
allowLegacyValue?: boolean;
|
|
error?: string;
|
|
}) {
|
|
return (
|
|
<CatalogueChoiceSelect
|
|
options={countries.map((c) => ({
|
|
value: c.code,
|
|
label: `${c.name} — ${c.code}`,
|
|
keywords: [c.name_en, c.code],
|
|
}))}
|
|
value={value}
|
|
onChange={onChange}
|
|
id={id}
|
|
label={label}
|
|
disabled={disabled}
|
|
required={required}
|
|
error={error}
|
|
/>
|
|
);
|
|
}
|