fix: settings form select menu (#9179)
Closes: #8647 Closes: #8649 **Changes & Why** 1. Added a Search Input to `SettingsDataModelFieldAddressForm` & `SettingsDataModelFieldCurrencyForm` as `Select` component already accepts it as a prop. 2. Gave a fixed width to the dropdown of both the above components to ensure it doesn't shrink on search for the menu items with low word count. 3. Added countries Flag to `SettingsDataModelFieldAddressForm`. 4. Replaced `MenuItem` with `MenuItemSelect` to get the desired highlighted background for the selected item with `IconCheck` to differentiate the current selected item. This is useful across all the select components throughout the app. 5. I realized that in some components we might not need IconCheck and only need a highlighted background for the selected item. For ex: `SettingsDataModelFieldBooleanForm` . Therefore, I created a prop `needIconCheck` with default as true so it doesn't break the existing `MenuItemSelect` and we can pass that prop as false wherever needed. [Screencast from 2024-12-21 12-08-08.webm](https://github.com/user-attachments/assets/4f8070a8-f339-4556-a137-bbbad58b171c)
This commit is contained in:
@ -40,6 +40,7 @@ export const StyledMenuItemSelect = styled(StyledMenuItemBase)<{
|
||||
type MenuItemSelectProps = {
|
||||
LeftIcon?: IconComponent | null | undefined;
|
||||
selected: boolean;
|
||||
needIconCheck?: boolean;
|
||||
text: string;
|
||||
className?: string;
|
||||
onClick?: () => void;
|
||||
@ -52,6 +53,7 @@ export const MenuItemSelect = ({
|
||||
LeftIcon,
|
||||
text,
|
||||
selected,
|
||||
needIconCheck = true,
|
||||
className,
|
||||
onClick,
|
||||
disabled,
|
||||
@ -69,7 +71,7 @@ export const MenuItemSelect = ({
|
||||
hovered={hovered}
|
||||
>
|
||||
<MenuItemLeftContent LeftIcon={LeftIcon} text={text} />
|
||||
{selected && <IconCheck size={theme.icon.size.md} />}
|
||||
{selected && needIconCheck && <IconCheck size={theme.icon.size.md} />}
|
||||
{hasSubMenu && (
|
||||
<IconChevronRight
|
||||
size={theme.icon.size.sm}
|
||||
|
||||
Reference in New Issue
Block a user