office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
163 lines • 5.69 kB
JavaScript
import { memoizeFunction } from '../../Utilities';
import { mergeStyleSets } from '../../Styling';
import { getStyles as getContextualMenuStyles, getMenuItemStyles } from './ContextualMenu.styles';
import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';
export var getSplitButtonVerticalDividerClassNames = memoizeFunction(function (theme) {
var semanticColors = theme.semanticColors;
var ContextualMenuDividerColor = semanticColors.bodyDivider;
return mergeStyleSets(getDividerClassNames(theme), {
divider: {
height: 16,
width: 1,
}
});
});
export var getContextualMenuClassNames = memoizeFunction(function (theme, className) {
var styles = getContextualMenuStyles(theme);
return mergeStyleSets({
container: [
'ms-ContextualMenu-container',
styles.container,
className,
[{
selectors: {
':focus': { outline: 0 }
}
}]
],
root: [
'ms-ContextualMenu is-open',
styles.root
],
list: [
'ms-ContextualMenu-list is-open',
styles.list
],
header: [
'ms-ContextualMenu-header',
styles.header
],
title: styles.title
});
});
export var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName) {
var semanticColors = theme.semanticColors;
var ContextualMenuIconColor = semanticColors.menuIcon;
var styles = getMenuItemStyles(theme);
return mergeStyleSets({
item: [
'ms-ContextualMenu-item',
styles.item,
itemClassName,
],
divider: [
'ms-ContextualMenu-divider',
styles.divider,
dividerClassName,
],
root: [
'ms-ContextualMenu-link',
styles.root,
checked && [
'is-checked',
styles.rootChecked
],
isAnchorLink && styles.anchorLink,
expanded && [
'is-expanded',
styles.rootExpanded
],
disabled && [
'is-disabled',
styles.rootDisabled
],
!disabled && !expanded && [{
selectors: {
':hover': styles.rootHovered,
':active': styles.rootPressed,
'.ms-Fabric.is-focusVisible &:focus, .ms-Fabric.is-focusVisible &:focus:hover': styles.rootFocused,
'.ms-Fabric.is-focusVisible &:hover': { background: 'inherit;' }
}
}],
],
splitPrimary: [
styles.root,
checked && [
'is-checked',
styles.rootChecked
],
disabled && [
'is-disabled',
styles.rootDisabled
],
!disabled && !checked && [{
selectors: {
':hover': styles.rootHovered,
':active': styles.rootPressed,
'.ms-Fabric.is-focusVisible &:focus, .ms-Fabric.is-focusVisible &:focus:hover': styles.rootFocused,
'.ms-Fabric.is-focusVisible &:hover': { background: 'inherit;' }
}
}]
],
splitMenu: [
styles.root,
{
width: 32
},
expanded && [
'is-expanded',
styles.rootExpanded
],
disabled && [
'is-disabled',
styles.rootDisabled
],
!disabled && !expanded && [{
selectors: {
':hover': styles.rootHovered,
':active': styles.rootPressed,
'.ms-Fabric.is-focusVisible &:focus, .ms-Fabric.is-focusVisible &:focus:hover': styles.rootFocused,
'.ms-Fabric.is-focusVisible &:hover': { background: 'inherit;' }
}
}]
],
linkContent: [
'ms-ContextualMenu-linkContent',
styles.linkContent
],
linkContentMenu: [
'ms-ContextualMenu-linkContent',
styles.linkContent,
{
justifyContent: 'center',
}
],
icon: [
'ms-ContextualMenu-icon',
knownIcon && 'ms-ContextualMenu-iconColor ' && styles.iconColor,
styles.icon,
iconClassName,
disabled && [
'is-disabled',
styles.iconDisabled
]
],
checkmarkIcon: [
'ms-ContextualMenu-checkmarkIcon',
knownIcon && 'ms-ContextualMenu-checkmarkIcon ' && styles.checkmarkIcon,
styles.icon,
iconClassName,
],
subMenuIcon: [
'ms-ContextualMenu-submenuIcon',
styles.subMenuIcon,
subMenuClassName,
],
label: [
'ms-ContextualMenu-itemText',
styles.label
],
splitContainer: styles.splitButtonFlexContainer,
});
});
//# sourceMappingURL=ContextualMenu.classNames.js.map