Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
listItemClasses.put(className);
}
if (isExpanded) {
listItemClasses.put(classes.expanded);
}
const noIcons = props['noIcons'];
if (noIcons) {
listItemClasses.put(classes.noIcons);
}
const childCount = Children.count(children);
const validChildren = Children.toArray(children).filter(Boolean);
const isOpenStateExpanded = props['openState'] === SideNavigationOpenState.Expanded;
useEffect(() => {
if (validChildren.length) {
const selectedElement = validChildren.find((child: any) => child.props.id === props['selectedId']);
if (selectedElement) {
setExpanded(isOpenStateExpanded);
}
}
}, [props['selectedId'], id, children, setExpanded, isOpenStateExpanded]);
const isSelfSelected = props['selectedId'] === id;
const hasSelectedChild =
!isOpenStateExpanded &&
childCount > 0 &&
!!validChildren.find((child: any) => child.props.id === props['selectedId']);
export const defaultStory = () => (
,
]}
>
key: index,
selectedId: internalSelectedId,
noIcons,
onListItemSelected
})
)}
)}
);
});
SideNavigation.displayName = 'SideNavigation';
SideNavigation.defaultProps = {
openState: SideNavigationOpenState.Expanded,
footerItems: [],
selectedId: null,
onItemClick: () => {},
onItemSelect: () => {}
};
export { SideNavigation };
className,
tooltip
} = props;
const classes = useStyles();
const [internalSelectedId, setInternalSelectedId] = useState(selectedId);
useEffect(() => {
setInternalSelectedId(selectedId);
}, [selectedId, setInternalSelectedId]);
const sideNavigationClasses = StyleClassHelper.of(classes.sideNavigation);
switch (openState) {
case SideNavigationOpenState.Expanded: {
sideNavigationClasses.put(classes.expanded);
break;
}
case SideNavigationOpenState.Condensed: {
sideNavigationClasses.put(classes.condensed);
break;
}
case SideNavigationOpenState.Collapsed: {
sideNavigationClasses.put(classes.collapsed);
break;
}
}
if (className) {
sideNavigationClasses.put(className);
}