From 6639588c2d1269714d59c35aeaa70f0b65a50e21 Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Fri, 14 Apr 2023 03:15:18 +0530 Subject: [PATCH] fix: selectfield bug and min height (#8253) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: selectfield bug and min height Signed-off-by: Udit Takkar * fix: remove overflow Signed-off-by: Udit Takkar --------- Signed-off-by: Udit Takkar Co-authored-by: Omar López --- .../features/form-builder/FormBuilder.tsx | 5 ++- packages/ui/components/form/select/Select.tsx | 36 +++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/packages/features/form-builder/FormBuilder.tsx b/packages/features/form-builder/FormBuilder.tsx index a35da6e082..eeca8b63e0 100644 --- a/packages/features/form-builder/FormBuilder.tsx +++ b/packages/features/form-builder/FormBuilder.tsx @@ -419,7 +419,7 @@ export const FormBuilder = function FormBuilder({ fieldIndex: -1, }) }> - +
!f.systemOnly)} label={t("input_type")} + classNames={{ + menuList: () => "min-h-[27.25rem]", + }} /> ) => { + const { classNames, ...restProps } = props; const reactSelectProps = React.useMemo(() => { return getReactSelectProps({ components: components || {}, @@ -38,19 +39,18 @@ export const Select = < classNames("text-emphasis", props.classNames?.input), + input: () => cx("text-emphasis", props.classNames?.input), option: (state) => - classNames( + cx( "bg-default flex cursor-pointer justify-between py-2.5 px-3 rounded-none text-default ", state.isFocused && "bg-subtle", state.isSelected && "bg-emphasis text-default", props.classNames?.option ), - placeholder: (state) => - classNames("text-muted", state.isFocused && variant !== "checkbox" && "hidden"), + placeholder: (state) => cx("text-muted", state.isFocused && variant !== "checkbox" && "hidden"), dropdownIndicator: () => "text-default", control: (state) => - classNames( + cx( "bg-default border-default !min-h-9 text-sm leading-4 placeholder:text-sm placeholder:font-normal focus-within:ring-2 focus-within:ring-emphasis hover:border-emphasis rounded-md border ", state.isMulti ? variant === "checkbox" @@ -62,23 +62,23 @@ export const Select = < props.isDisabled && "bg-gray-100", props.classNames?.control ), - singleValue: () => classNames("text-emphasis placeholder:text-muted", props.classNames?.singleValue), + singleValue: () => cx("text-emphasis placeholder:text-muted", props.classNames?.singleValue), valueContainer: () => - classNames("text-emphasis placeholder:text-muted flex gap-1", props.classNames?.valueContainer), + cx("text-emphasis placeholder:text-muted flex gap-1", props.classNames?.valueContainer), multiValue: () => - classNames( + cx( "bg-subtle text-default rounded-md py-1.5 px-2 flex items-center text-sm leading-none", props.classNames?.multiValue ), menu: () => - classNames( + cx( "rounded-md bg-default text-sm leading-4 text-default mt-1 border border-subtle", props.classNames?.menu ), groupHeading: () => "leading-none text-xs uppercase text-default pl-2.5 pt-4 pb-2", - menuList: () => classNames("scroll-bar scrollbar-track-w-20 rounded-md", props.classNames?.menuList), + menuList: () => cx("scroll-bar scrollbar-track-w-20 rounded-md", props.classNames?.menuList), indicatorsContainer: (state) => - classNames( + cx( state.selectProps.menuIsOpen ? state.isMulti ? "[&>*:last-child]:rotate-180 [&>*:last-child]:transition-transform" @@ -86,9 +86,9 @@ export const Select = < : "text-default" // Woo it adds another SVG here on multi for some reason ), multiValueRemove: () => "text-default py-auto ml-2", - ...props.classNames, + ...classNames, }} - {...props} + {...restProps} /> ); }; @@ -112,10 +112,10 @@ export const SelectField = function SelectField< const { label = t(props.name || ""), containerClassName, labelProps, className, ...passThrough } = props; const id = useId(); return ( -
-
+
+
{!!label && ( -