office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
211 lines • 7.59 kB
JavaScript
import * as tslib_1 from "tslib";
import { concatStyleSets, FontSizes, FontWeights, getFocusStyle, HighContrastSelector } from '../../Styling';
import { memoizeFunction } from '../../Utilities';
export var CONTEXTUAL_MENU_ITEM_HEIGHT = '32px';
var getItemHighContrastStyles = memoizeFunction(function () {
return {
selectors: (_a = {},
_a[HighContrastSelector] = {
backgroundColor: 'Highlight',
borderColor: 'Highlight',
color: 'HighlightText',
MsHighContrastAdjust: 'none'
},
_a)
};
var _a;
});
export var getMenuItemStyles = memoizeFunction(function (theme) {
var semanticColors = theme.semanticColors, fonts = theme.fonts;
var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;
var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundChecked;
var ContextualMenuItemDividerColor = semanticColors.bodyDivider;
var menuItemStyles = {
item: [
fonts.medium,
{
color: semanticColors.bodyText,
position: 'relative',
boxSizing: 'border-box'
}
],
divider: {
display: 'block',
height: '1px',
backgroundColor: ContextualMenuItemDividerColor,
position: 'relative'
},
root: [
getFocusStyle(theme),
fonts.medium,
{
color: semanticColors.bodyText,
backgroundColor: 'transparent',
border: 'none',
width: '100%',
height: CONTEXTUAL_MENU_ITEM_HEIGHT,
lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,
display: 'block',
cursor: 'pointer',
padding: '0px 6px',
textAlign: 'left'
}
],
rootDisabled: {
color: semanticColors.disabledBodyText,
cursor: 'default',
pointerEvents: 'none',
selectors: (_a = {},
_a[HighContrastSelector] = {
color: 'GrayText',
opacity: 1
},
_a)
},
rootHovered: tslib_1.__assign({ backgroundColor: ContextualMenuItemBackgroundHoverColor }, getItemHighContrastStyles()),
rootFocused: tslib_1.__assign({ backgroundColor: ContextualMenuItemBackgroundHoverColor }, getItemHighContrastStyles()),
rootChecked: tslib_1.__assign({}, getItemHighContrastStyles()),
rootPressed: tslib_1.__assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor }, getItemHighContrastStyles()),
rootExpanded: tslib_1.__assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, color: semanticColors.bodyTextChecked }, getItemHighContrastStyles()),
linkContent: {
whiteSpace: 'nowrap',
height: 'inherit',
display: 'flex',
alignItems: 'center',
maxWidth: '100%'
},
anchorLink: {
padding: '0px 6px',
textRendering: 'auto',
color: 'inherit',
letterSpacing: 'normal',
wordSpacing: 'normal',
textTransform: 'none',
textIndent: '0px',
textShadow: 'none',
textDecoration: 'none',
boxSizing: 'border-box'
},
label: {
margin: '0 4px',
verticalAlign: 'middle',
display: 'inline-block',
flexGrow: '1',
textOverflow: 'ellipsis',
overflow: 'hidden',
whiteSpace: 'nowrap'
},
secondaryText: {
color: theme.palette.neutralSecondary,
paddingLeft: '20px',
textAlign: 'right'
},
icon: {
display: 'inline-block',
minHeight: '1px',
maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,
width: '14px',
margin: '0 4px',
verticalAlign: 'middle',
flexShrink: '0'
},
iconColor: {
color: semanticColors.menuIcon,
selectors: (_b = {},
_b[HighContrastSelector] = {
color: 'inherit'
},
_b['$root:hover &'] = {
selectors: (_c = {},
_c[HighContrastSelector] = {
color: 'HighlightText'
},
_c)
},
_b['$root:focus &'] = {
selectors: (_d = {},
_d[HighContrastSelector] = {
color: 'HighlightText'
},
_d)
},
_b)
},
iconDisabled: {
color: semanticColors.disabledBodyText
},
checkmarkIcon: {
color: semanticColors.bodySubtext,
selectors: (_e = {},
_e[HighContrastSelector] = {
color: 'HighlightText'
},
_e)
},
subMenuIcon: {
height: CONTEXTUAL_MENU_ITEM_HEIGHT,
lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,
textAlign: 'center',
display: 'inline-block',
verticalAlign: 'middle',
flexShrink: '0',
fontSize: FontSizes.mini
},
splitButtonFlexContainer: [
getFocusStyle(theme),
{
display: 'flex',
height: CONTEXTUAL_MENU_ITEM_HEIGHT,
flexWrap: 'nowrap',
justifyContent: 'center',
alignItems: 'center'
}
]
};
return concatStyleSets(menuItemStyles);
var _a, _b, _c, _d, _e;
});
export var getStyles = memoizeFunction(function (theme) {
var semanticColors = theme.semanticColors, fonts = theme.fonts;
var ContextualMenuBackground = semanticColors.bodyBackground;
var ContextualMenuHeaderColor = semanticColors.menuHeader;
var styles = {
root: {
backgroundColor: ContextualMenuBackground,
minWidth: '180px'
},
container: {},
list: {
listStyleType: 'none',
margin: '0',
padding: '0',
lineHeight: '0'
},
title: {
fontSize: '16px',
paddingRight: '14px',
paddingLeft: '14px',
paddingBottom: '5px',
paddingTop: '5px',
backgroundColor: theme.palette.neutralLight
},
header: [
fonts.small,
{
fontWeight: FontWeights.semibold,
color: ContextualMenuHeaderColor,
background: 'none',
backgroundColor: 'transparent',
border: 'none',
height: CONTEXTUAL_MENU_ITEM_HEIGHT,
lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,
cursor: 'default',
padding: '0px 6px',
userSelect: 'none',
textAlign: 'left'
}
]
};
return concatStyleSets(styles);
});
//# sourceMappingURL=ContextualMenu.cnstyles.js.map