HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/refonte2023/wordpress/wp-content/plugins/give/src/Views/Components/Select/index.js
import PropTypes from 'prop-types';
import classNames from 'classnames';

import style from './style.module.scss';

const Select = ({options, onChange, defaultValue, className, ...rest}) => {
    const optionElements = options.map((option) => (
        <option key={option.value} value={option.value}>
            {option.label}
        </option>
    ));
    return (
        <div key={defaultValue} className={classNames(style.select, className)}>
            <select onChange={onChange} defaultValue={defaultValue} {...rest}>
                {optionElements}
            </select>
        </div>
    );
};

Select.propTypes = {
    // Array of objects with labels and values defining select options (ex: {label: Option A, value: option-a})
    options: PropTypes.array.isRequired,
    // Fired on select change event
    onChange: PropTypes.func,
    // Default value of select element
    defaultValue: PropTypes.string.isRequired,
    // Additional class
    className: PropTypes.string,
};
export default Select;