>((props, ref) => {
const [inputId, messageId, errorId] = useIds("select", [
"select",
"message",
"error",
]);
const {
children,
onChange,
size = "medium",
label,
error,
message,
isDisabled = false,
isRequired = false,
isInvalid = false,
className,
id = inputId,
...selectProps
} = props;
const renderProps = useRenderProps({
componentClassName: "aje-input__select",
...props,
selectors: {
"data-disabled": isDisabled,
"data-required": isRequired,
"data-invalid": isInvalid,
},
});
return (
{label && }
{message && {message}}
) =>
onChange?.(e.target.value)
}
ref={ref}
{...selectProps}
>
{renderProps.children}
{isInvalid && error && {error}}
);
});
export default Select;