import React, { DetailedHTMLProps, OptionHTMLAttributes, SelectHTMLAttributes, } from "react"; import { CustomButtonProps, getButtonStyles } from "./Button"; import classNames from "./lib/classNames"; export interface CustomSelectProps extends Omit {} export interface SelectProps extends Omit< DetailedHTMLProps< SelectHTMLAttributes, HTMLSelectElement >, "size" >, CustomSelectProps {} export function getSelectStyles({ size = "default", ...rest }: CustomSelectProps) { const selectStyles = { size: { default: "!pr-9", large: "!pr-10", small: "!pr-8", }, }; return classNames( getButtonStyles({ size, ...rest }), selectStyles.size[size] ); } function Select({ className, children, variant, shape, block, size, ...rest }: SelectProps) { return ( ); } interface OptionProps extends DetailedHTMLProps< OptionHTMLAttributes, HTMLOptionElement > {} function Option({ children }: OptionProps) { return ; } Select.Option = Option; export default Select;