Im trying to style fluentui/react ContextualMenu component. So far i've been able to achieve the look I want by recursively modifying IContextualMenuProps items prop - define styles for each IContextualMenuItem and repeating process for each submenu item.
import { ContextualMenu, IContextualMenuProps, IContextualMenuItem } from '@fluentui/react';
export class StyledContextualMenu<IContextualMenuProps, {}>{
setItemStyle = (items: IContextualMenuItem[])=> {
return items.map(item => {
item.itemProps.styles = {...};
if (item.subMenuProps && item.subMenuProps.items)
item.subMenuProps.items = this.setItemStyle(item.subMenuProps.items)
return item;
})
}
render() {
const { items, ...rest } = this.props;
return <ContextualMenu {...rest} items={this.setItemsStyle(items)}} />
}
}
Is there a way to define styles for and it subcomponents at once instead of mutating items prop by adding a styles to each item?