Skip to content

Commit af67dba

Browse files
committed
refactor(dropdowns.legacy): use transent props where appropriate
1 parent d212286 commit af67dba

23 files changed

+109
-106
lines changed

packages/dropdowns.legacy/src/elements/Menu/Items/AddItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const AddItemComponent = React.forwardRef<HTMLLIElement, IItemProps>(
2020

2121
return (
2222
<StyledAddItem ref={ref} disabled={disabled} {...props}>
23-
<StyledItemIcon isCompact={isCompact} isVisible isDisabled={disabled}>
23+
<StyledItemIcon $isCompact={isCompact} $isVisible $isDisabled={disabled}>
2424
<AddSvg />
2525
</StyledItemIcon>
2626
{children}

packages/dropdowns.legacy/src/elements/Menu/Items/HeaderItem.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ import useMenuContext from '../../../utils/useMenuContext';
1313
/**
1414
* @extends LiHTMLAttributes<HTMLLIElement>
1515
*/
16-
export const HeaderItem = React.forwardRef<HTMLLIElement, IHeaderItemProps>((props, ref) => {
17-
const { isCompact } = useMenuContext();
16+
export const HeaderItem = React.forwardRef<HTMLLIElement, IHeaderItemProps>(
17+
({ hasIcon, ...other }, ref) => {
18+
const { isCompact } = useMenuContext();
1819

19-
return <StyledHeaderItem ref={ref} isCompact={isCompact} {...props} />;
20-
});
20+
return <StyledHeaderItem ref={ref} $isCompact={isCompact} $hasIcon={hasIcon} {...other} />;
21+
}
22+
);
2123

2224
HeaderItem.displayName = 'HeaderItem';

packages/dropdowns.legacy/src/elements/Menu/Items/Item.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { ItemContext } from '../../../utils/useItemContext';
2020
*/
2121
export const Item = React.forwardRef<HTMLLIElement, IItemProps>(
2222
(
23-
{ value, disabled, isDanger, component = StyledItem, hasIcon, children, ...props },
23+
{ value, disabled, isDanger, component = StyledItem, hasIcon, children, ...other },
2424
forwardRef
2525
) => {
2626
const {
@@ -87,12 +87,12 @@ export const Item = React.forwardRef<HTMLLIElement, IItemProps>(
8787
<Component
8888
ref={ref}
8989
disabled={disabled}
90-
isDanger={isDanger}
91-
isCompact={isCompact}
92-
{...props}
90+
$isDanger={isDanger}
91+
$isCompact={isCompact}
92+
{...other}
9393
>
9494
{!!isSelected && !hasIcon && (
95-
<StyledItemIcon isCompact={isCompact} isVisible={isSelected} isDisabled={disabled}>
95+
<StyledItemIcon $isCompact={isCompact} $isVisible={isSelected} $isDisabled={disabled}>
9696
<SelectedSvg />
9797
</StyledItemIcon>
9898
)}
@@ -110,21 +110,21 @@ export const Item = React.forwardRef<HTMLLIElement, IItemProps>(
110110
<Component
111111
data-test-is-focused={isFocused}
112112
data-test-is-selected={isSelected}
113+
$isCompact={isCompact}
114+
$isDanger={isDanger}
115+
$isFocused={isFocused}
113116
{...getItemProps({
114117
item: value,
115-
isFocused,
116118
ref,
117-
isCompact,
118-
isDanger,
119119
...(hasMenuRef.current && {
120120
role: 'menuitem',
121121
'aria-selected': null
122122
}),
123-
...props
123+
...other
124124
} as any)}
125125
>
126126
{!!isSelected && !hasIcon && (
127-
<StyledItemIcon isCompact={isCompact} isVisible={isSelected} data-test-id="item-icon">
127+
<StyledItemIcon $isCompact={isCompact} $isVisible={isSelected} data-test-id="item-icon">
128128
<SelectedSvg />
129129
</StyledItemIcon>
130130
)}

packages/dropdowns.legacy/src/elements/Menu/Items/ItemMeta.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const ItemMeta = React.forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpa
1818
const { isCompact } = useMenuContext();
1919
const { isDisabled } = useItemContext();
2020

21-
return <StyledItemMeta ref={ref} isCompact={isCompact} isDisabled={isDisabled} {...props} />;
21+
return <StyledItemMeta ref={ref} $isCompact={isCompact} $isDisabled={isDisabled} {...props} />;
2222
}
2323
);
2424

packages/dropdowns.legacy/src/elements/Menu/Items/MediaBody.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const MediaBody = React.forwardRef<HTMLDivElement, HTMLAttributes<HTMLDiv
1616
(props, ref) => {
1717
const { isCompact } = useMenuContext();
1818

19-
return <StyledMediaBody ref={ref} isCompact={isCompact} {...props} />;
19+
return <StyledMediaBody ref={ref} $isCompact={isCompact} {...props} />;
2020
}
2121
);
2222

packages/dropdowns.legacy/src/elements/Menu/Items/MediaFigure.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ import useMenuContext from '../../../utils/useMenuContext';
1515
export const MediaFigure = (props: HTMLAttributes<Element>) => {
1616
const { isCompact } = useMenuContext();
1717

18-
return <StyledMediaFigure isCompact={isCompact} {...props} />;
18+
return <StyledMediaFigure $isCompact={isCompact} {...props} />;
1919
};

packages/dropdowns.legacy/src/elements/Menu/Items/NextItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const NextItemComponent = React.forwardRef<HTMLLIElement, IItemProps>(
2121

2222
return (
2323
<StyledNextItem ref={ref} disabled={disabled} {...props}>
24-
<StyledItemIcon isCompact={isCompact} isDisabled={disabled} isVisible>
25-
<StyledNextIcon isDisabled={disabled} />
24+
<StyledItemIcon $isCompact={isCompact} $isDisabled={disabled} $isVisible>
25+
<StyledNextIcon $isDisabled={disabled} />
2626
</StyledItemIcon>
2727
{children}
2828
</StyledNextItem>

packages/dropdowns.legacy/src/elements/Menu/Items/PreviousItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const PreviousItemComponent = React.forwardRef<HTMLLIElement, IItemProps>(
2121

2222
return (
2323
<StyledPreviousItem ref={ref} disabled={disabled} {...props}>
24-
<StyledItemIcon isCompact={isCompact} isDisabled={disabled} isVisible>
25-
<StyledPreviousIcon isDisabled={disabled} />
24+
<StyledItemIcon $isCompact={isCompact} $isDisabled={disabled} $isVisible>
25+
<StyledPreviousIcon $isDisabled={disabled} />
2626
</StyledItemIcon>
2727
{children}
2828
</StyledPreviousItem>

packages/dropdowns.legacy/src/elements/Menu/Menu.tsx

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { createPortal } from 'react-dom';
1010
import PropTypes from 'prop-types';
1111
import { ThemeContext } from 'styled-components';
1212
import { Popper } from 'react-popper';
13-
import { IMenuProps, PLACEMENT } from '../../types';
13+
import { IMenuProps, PLACEMENT, PopperPlacement } from '../../types';
1414
import { StyledMenu, StyledMenuWrapper } from '../../styled/index';
1515
import useDropdownContext from '../../utils/useDropdownContext';
1616
import { getPopperPlacement, getRtlPopperPlacement } from '../../utils/garden-placements';
@@ -23,17 +23,18 @@ import { MenuContext } from '../../utils/useMenuContext';
2323
*/
2424
export const Menu = forwardRef<HTMLUListElement, IMenuProps>((props, menuRef) => {
2525
const {
26-
placement,
27-
popperModifiers,
26+
appendToNode,
27+
children,
2828
eventsEnabled,
29+
hasArrow,
2930
isAnimated,
31+
isCompact,
3032
maxHeight,
33+
placement,
34+
popperModifiers,
3135
style: menuStyle,
3236
zIndex,
33-
isCompact,
34-
children,
35-
appendToNode,
36-
...otherProps
37+
...other
3738
} = props;
3839
const {
3940
hasMenuRef,
@@ -114,28 +115,26 @@ export const Menu = forwardRef<HTMLUListElement, IMenuProps>((props, menuRef) =>
114115

115116
const menuProps = getMenuProps({
116117
role: hasMenuRef.current ? 'menu' : 'listbox',
117-
placement: currentPlacement,
118-
isAnimated: isAnimated && (isOpen || isVisible),
119-
...otherProps
120-
} as any);
118+
...other
119+
});
120+
121+
const sharedProps = {
122+
$hasArrow: hasArrow,
123+
$isAnimated: isAnimated ? isOpen || isVisible : false,
124+
$isCompact: isCompact,
125+
$maxHeight: maxHeight,
126+
$placement: currentPlacement as PopperPlacement
127+
};
121128

122129
const menu = (
123130
<StyledMenuWrapper
124131
ref={isOpen ? ref : undefined}
125-
hasArrow={menuProps.hasArrow}
126-
placement={menuProps.placement}
132+
$isHidden={!isOpen}
133+
$zIndex={zIndex}
127134
style={style}
128-
isHidden={!isOpen}
129-
isAnimated={menuProps.isAnimated}
130-
zIndex={zIndex}
135+
{...sharedProps}
131136
>
132-
<StyledMenu
133-
ref={menuRef}
134-
isCompact={isCompact}
135-
maxHeight={maxHeight}
136-
style={computedStyle}
137-
{...menuProps}
138-
>
137+
<StyledMenu ref={menuRef} style={computedStyle} {...sharedProps} {...menuProps}>
139138
{!!(isOpen || isVisible) && children}
140139
</StyledMenu>
141140
</StyledMenuWrapper>

packages/dropdowns.legacy/src/elements/Multiselect/Multiselect.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,8 @@ export const Multiselect = React.forwardRef<HTMLDivElement, IMultiselectProps>(
269269
<StyledMultiselectItemWrapper key="more-anchor">
270270
<StyledMultiselectMoreAnchor
271271
data-test-id="show-more"
272-
isCompact={props.isCompact}
273-
isDisabled={props.disabled}
272+
$isCompact={props.isCompact}
273+
$isDisabled={props.disabled}
274274
>
275275
{renderShowMore
276276
? renderShowMore(itemValues.length - x)
@@ -333,7 +333,7 @@ export const Multiselect = React.forwardRef<HTMLDivElement, IMultiselectProps>(
333333
{start}
334334
</StyledFauxInput.StartIcon>
335335
)}
336-
<StyledMultiselectItemsContainer isBare={props.isBare} isCompact={props.isCompact}>
336+
<StyledMultiselectItemsContainer $isBare={props.isBare} $isCompact={props.isCompact}>
337337
{items}
338338
<StyledMultiselectInput
339339
{...(getInputProps({

0 commit comments

Comments
 (0)