github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/frontend/src/components/Select.tsx (about)

     1  import React from 'react';
     2  
     3  export type Option = {
     4    value: string;
     5    label: string;
     6  };
     7  
     8  type Props = {
     9    readonly name: string;
    10    readonly value: string;
    11    readonly className: string;
    12    readonly onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
    13    readonly options: Option[];
    14  };
    15  
    16  export const Select: React.FC<Props> = ({name, value, className, onChange, options}) => (
    17    <select
    18      name={name}
    19      value={value}
    20      className={className}
    21      style={{width: 'auto'}}
    22      data-testid={'select-' + name}
    23      onChange={onChange}
    24    >
    25      {options.map((o: Option) => (
    26        <option key={o.value} value={o.value}>
    27          {o.label}
    28        </option>
    29      ))}
    30    </select>
    31  );