export default function FormSelect()

in src/components/form-select/form-select.tsx [17:61]


export default function FormSelect({
    value = '',
    onChange,
    label,
    placeholder,
    options,
    isCascader = false,
    displayRender = label => {
        return label.length > 0 ? label[0] : '';
    },
}: FormSelectProps) {
    return (
        <div className="group relative z-0 w-full form-select text-left">
            {isCascader ? (
                <Cascader
                    displayRender={displayRender}
                    suffixIcon={<ArrowDownIcon />}
                    allowClear={false}
                    value={value as string[]}
                    onChange={e => {
                        return onChange && onChange(e as string[]);
                    }}
                    options={options}
                    className={`peer block h-[3.5rem] w-full appearance-none rounded-lg  bg-transparent text-sm text-[#1D1D1D] focus:border-blue-600 focus:outline-none focus:ring-0 dark:border-gray-600 dark:text-white dark:focus:border-blue-500`}
                    popupClassName="form-cascader"
                />
            ) : (
                <Select
                    suffixIcon={<ArrowDownIcon />}
                    popupClassName="form-select-select"
                    value={value}
                    onChange={e => onChange && onChange(e || '')}
                    className={`peer block h-[3.5rem] w-full appearance-none rounded-lg  bg-transparent text-sm text-[#1D1D1D] focus:border-blue-600 focus:outline-none focus:ring-0 dark:border-gray-600 dark:text-white dark:focus:border-blue-500`}
                    options={options}
                />
            )}
            <label
                htmlFor={label}
                className="absolute left-2 top-5 z-10 origin-[0] -translate-y-7 scale-75 transform bg-[#fff]  px-1 text-sm text-[#8592A6] duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100  peer-hover:text-blue peer-focus:-translate-y-7 peer-focus:scale-75 peer-focus:font-medium peer-focus:text-blue-600 peer-[.ant-input-status-error]:text-[#ff4d4f] peer-[.ant-select-open]:text-blue-500  dark:text-gray-400"
            >
                {placeholder}
            </label>
        </div>
    );
}