UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Microsoft 365.

144 lines 5.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var Styling_1 = require("../../../Styling"); var PersonaConsts_1 = require("../PersonaConsts"); var GlobalClassNames = { coin: 'ms-Persona-coin', imageArea: 'ms-Persona-imageArea', image: 'ms-Persona-image', initials: 'ms-Persona-initials', size8: 'ms-Persona--size8', size10: 'ms-Persona--size10', size16: 'ms-Persona--size16', size24: 'ms-Persona--size24', size28: 'ms-Persona--size28', size32: 'ms-Persona--size32', size40: 'ms-Persona--size40', size48: 'ms-Persona--size48', size56: 'ms-Persona--size56', size72: 'ms-Persona--size72', size100: 'ms-Persona--size100', size120: 'ms-Persona--size120', }; exports.getStyles = function (props) { var _a; var className = props.className, theme = props.theme, coinSize = props.coinSize; var palette = theme.palette, fonts = theme.fonts; var size = PersonaConsts_1.sizeBoolean(props.size); var classNames = Styling_1.getGlobalClassNames(GlobalClassNames, theme); // Static colors used when displaying 'unknown persona' coin var unknownPersonaBackgroundColor = 'rgb(234, 234, 234)'; var unknownPersonaFontColor = 'rgb(168, 0, 0)'; var dimension = coinSize || (props.size && PersonaConsts_1.sizeToPixels[props.size]) || 48; return { coin: [ classNames.coin, fonts.medium, size.isSize8 && classNames.size8, size.isSize10 && classNames.size10, size.isSize16 && classNames.size16, size.isSize24 && classNames.size24, size.isSize28 && classNames.size28, size.isSize32 && classNames.size32, size.isSize40 && classNames.size40, size.isSize48 && classNames.size48, size.isSize56 && classNames.size56, size.isSize72 && classNames.size72, size.isSize100 && classNames.size100, size.isSize120 && classNames.size120, className, ], size10WithoutPresenceIcon: { fontSize: fonts.xSmall.fontSize, position: 'absolute', top: '5px', right: 'auto', left: 0, }, imageArea: [ classNames.imageArea, { position: 'relative', textAlign: 'center', flex: '0 0 auto', height: dimension, width: dimension, }, dimension <= 10 && { overflow: 'visible', background: 'transparent', height: 0, width: 0, }, ], image: [ classNames.image, { marginRight: '10px', position: 'absolute', top: 0, left: 0, width: '100%', height: '100%', border: 0, borderRadius: '50%', perspective: '1px', }, dimension <= 10 && { overflow: 'visible', background: 'transparent', height: 0, width: 0, }, dimension > 10 && { height: dimension, width: dimension, }, ], initials: [ classNames.initials, { borderRadius: '50%', color: props.showUnknownPersonaCoin ? unknownPersonaFontColor : palette.white, fontSize: fonts.large.fontSize, fontWeight: Styling_1.FontWeights.semibold, // copying the logic for the dimensions; defaulted to 46 for size48 lineHeight: dimension === 48 ? 46 : dimension, height: dimension, selectors: (_a = {}, _a[Styling_1.HighContrastSelector] = tslib_1.__assign(tslib_1.__assign({ border: '1px solid WindowText' }, Styling_1.getHighContrastNoAdjustStyle()), { color: 'WindowText', boxSizing: 'border-box', backgroundColor: 'Window !important' }), _a.i = { fontWeight: Styling_1.FontWeights.semibold, }, _a), }, props.showUnknownPersonaCoin && { backgroundColor: unknownPersonaBackgroundColor, }, dimension < 32 && { fontSize: fonts.xSmall.fontSize, }, dimension >= 32 && dimension < 40 && { fontSize: fonts.medium.fontSize, }, dimension >= 40 && dimension < 56 && { fontSize: fonts.mediumPlus.fontSize, }, dimension >= 56 && dimension < 72 && { fontSize: fonts.xLarge.fontSize, }, dimension >= 72 && dimension < 100 && { fontSize: fonts.xxLarge.fontSize, }, dimension >= 100 && { fontSize: fonts.superLarge.fontSize, }, ], }; }; //# sourceMappingURL=PersonaCoin.styles.js.map