in libs/fabric/src/lib/components/button/base-button.component.ts [182:200]
private _transformContextualMenuItemOptionsToProps(itemOptions: IContextualMenuItemOptions): IContextualMenuItem {
const sharedProperties = omit(itemOptions, 'renderIcon', 'render');
// Legacy render mode is used for the icon because otherwise the icon is to the right of the text (instead of the usual left)
const iconRenderer = this.createInputJsxRenderer(itemOptions.renderIcon, { legacyRenderMode: true });
const renderer = this.createInputJsxRenderer(itemOptions.render);
return Object.assign(
{},
sharedProperties,
iconRenderer && {
onRenderIcon: (item: IContextualMenuItem) => iconRenderer({ contextualMenuItem: item }),
},
renderer &&
({
onRender: (item, dismissMenu) => renderer({ item, dismissMenu }),
} as Pick<IContextualMenuItem, 'onRender'>)
) as IContextualMenuItem;
}