UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

280 lines (278 loc) • 11.6 kB
define(["require", "exports", "tslib", "../../Styling", "../../Utilities"], function (require, exports, tslib_1, Styling_1, Utilities_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var MS_HIGHCONTRAST_ACTIVE = '@media screen and (-ms-high-contrast: active)'; var ComboBoxHeight = '32px'; var ComboBoxLineHeight = '30px'; var ComboxBoxCaretDownWidth = '32px'; var ComboBoxOptionHeight = '36px'; var getDisabledStyles = Utilities_1.memoizeFunction(function (theme) { var semanticColors = theme.semanticColors, palette = theme.palette; return _a = { backgroundColor: semanticColors.disabledBackground, borderColor: semanticColors.disabledBackground, color: semanticColors.disabledText, cursor: 'default' }, _a[MS_HIGHCONTRAST_ACTIVE] = { borderColor: 'GrayText', color: 'GrayText' }, _a; var _a; }); var getListOptionHighContrastStyles = Utilities_1.memoizeFunction(function (theme) { var semanticColors = theme.semanticColors, palette = theme.palette; return _a = {}, _a[MS_HIGHCONTRAST_ACTIVE] = { backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText', }, _a; var _a; }); exports.getOptionStyles = Utilities_1.memoizeFunction(function (theme, customStylesForAllOptions, customOptionStylesForCurrentOption) { var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette; var ComboBoxOptionBackgroundSelected = semanticColors.menuItemBackgroundChecked; var ComboBoxOptionBackgroundHovered = semanticColors.menuItemBackgroundHovered; var ComboBoxOptionTextColorHovered = palette.black; var ComboBoxOptionTextColorSelected = palette.black; var ComboBoxOptionTextColorDisabled = semanticColors.disabledText; var ComboBoxOptionBackgroundDisabled = semanticColors.disabledBackground; var optionStyles = { root: [ (_a = { backgroundColor: 'transparent', boxSizing: 'border-box', cursor: 'pointer', display: 'block', width: '100%', height: 'auto', minHeight: ComboBoxOptionHeight, lineHeight: '20px', // padding: '5px 16px', paddingTop: '5px', paddingRight: '16px', paddingBottom: '5px', paddingLeft: '16px', position: 'relative', borderWidth: '1px', borderStyle: 'solid', borderColor: 'transparent', wordWrap: 'break-word', overflowWrap: 'break-word', textAlign: 'left' }, _a[MS_HIGHCONTRAST_ACTIVE] = { borderColor: 'Background' }, _a), Styling_1.getFocusStyle(theme), ], rootHovered: tslib_1.__assign({ backgroundColor: ComboBoxOptionBackgroundHovered, color: ComboBoxOptionTextColorHovered }, getListOptionHighContrastStyles(theme)), rootFocused: { backgroundColor: ComboBoxOptionBackgroundHovered }, rootPressed: { backgroundColor: ComboBoxOptionBackgroundHovered, color: ComboBoxOptionTextColorHovered }, rootChecked: [ { backgroundColor: ComboBoxOptionBackgroundSelected, color: ComboBoxOptionTextColorSelected }, Styling_1.getFocusStyle(theme), getListOptionHighContrastStyles(theme) ], rootCheckedHovered: { backgroundColor: ComboBoxOptionBackgroundSelected }, rootDisabled: { backgroundColor: ComboBoxOptionBackgroundDisabled, color: ComboBoxOptionTextColorDisabled, cursor: 'default', ' .ms-Button-flexContainer': { justifyContent: 'flex-start' } }, optionText: { overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis', minWidth: '0px', maxWidth: '100%', wordWrap: 'break-word', overflowWrap: 'break-word', // margin: '1px', marginTop: '1px', marginRight: '1px', marginBottom: '1px', marginLeft: '1px', }, }; return Styling_1.mergeStyleSets(optionStyles, customStylesForAllOptions, customOptionStylesForCurrentOption); var _a; }); exports.getCaretDownButtonStyles = Utilities_1.memoizeFunction(function (theme, customStyles) { var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette; var caretButtonTextColor = palette.neutralDark; var caretButtonBackgroundHovered = palette.neutralQuaternaryAlt; var caretButtonBackgroundActive = palette.neutralTertiaryAlt; var styles = { root: (_a = { color: caretButtonTextColor, fontSize: Styling_1.FontSizes.small, position: 'absolute', height: ComboBoxHeight, lineHeight: ComboBoxLineHeight, width: ComboxBoxCaretDownWidth, textAlign: 'center', cursor: 'default' }, _a[MS_HIGHCONTRAST_ACTIVE] = { backgroundColor: 'ButtonFace', borderColor: 'ButtonText', color: 'ButtonText', }, _a), rootHovered: { backgroundColor: caretButtonBackgroundHovered }, rootPressed: { backgroundColor: caretButtonBackgroundActive }, rootDisabled: getDisabledStyles(theme), }; return Styling_1.mergeStyleSets(styles, customStyles); var _a; }); exports.getStyles = Utilities_1.memoizeFunction(function (theme, customStyles) { var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette; var ComboBoxRootBackground = semanticColors.bodyBackground; var ComboBoxRootTextColor = semanticColors.bodyText; var ComboBoxRootBorderColor = palette.neutralTertiaryAlt; var ComboBoxRootBorderColorHovered = semanticColors.inputFocusBorderAlt; var ComboBoxRootColorErrored = semanticColors.errorText; var ComboBoxCalloutBorderColor = palette.neutralLight; var ComboBoxOptionHeaderTextColor = semanticColors.menuHeader; var ComboBoxOptionDividerBorderColor = semanticColors.bodyDivider; var styles = { container: {}, label: {}, root: [ fonts.medium, { boxShadow: 'none', // margin: '0 0 10px 0', marginTop: '0', marginRight: '0', marginBottom: '10px', marginLeft: '0', // padding: '0', paddingTop: '0', paddingRight: ComboxBoxCaretDownWidth, paddingBottom: '0', paddingLeft: '0', color: ComboBoxRootTextColor, position: 'relative', outline: '0', userSelect: 'none', backgroundColor: ComboBoxRootBackground, borderWidth: '1px', borderStyle: 'solid', borderColor: ComboBoxRootBorderColor, cursor: 'text', display: 'block', height: ComboBoxHeight, lineHeight: ComboBoxLineHeight, overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis', boxSizing: 'content-box', ' .ms-Label': { display: 'inline-block', marginBottom: '8px', } } ], rootHovered: (_a = { borderColor: ComboBoxRootBorderColorHovered }, _a[MS_HIGHCONTRAST_ACTIVE] = { color: 'HighlightText', borderColor: 'Highlight' }, _a), rootFocused: (_b = { borderColor: ComboBoxRootBorderColorHovered }, _b[MS_HIGHCONTRAST_ACTIVE] = { color: 'HighlightText', borderColor: 'Highlight' }, _b), rootDisabled: getDisabledStyles(theme), rootError: { borderColor: ComboBoxRootColorErrored }, rootDisallowFreeForm: {}, input: { boxSizing: 'border-box', width: '100%', height: '100%', borderStyle: 'none', outline: 'none', font: 'inherit', textOverflow: 'ellipsis', paddingLeft: '12px' }, inputDisabled: getDisabledStyles(theme), caretDownButtonStyles: null, errorMessage: { color: ComboBoxRootColorErrored, ':before': { content: '* ', } }, callout: { boxShadow: '0 0px 5px 0px rgba(0, 0, 0, 0.4)', borderWidth: '1px', borderStyle: 'solid', borderColor: ComboBoxCalloutBorderColor, }, optionsContainer: { display: 'block' }, header: [ fonts.medium, { fontWeight: Styling_1.FontWeights.semibold, color: ComboBoxOptionHeaderTextColor, backgroundColor: 'none', borderStyle: 'none', height: ComboBoxOptionHeight, lineHeight: ComboBoxOptionHeight, cursor: 'default', // padding: '0px 16px', paddingTop: '0', paddingRight: '16px', paddingBottom: '0', paddingLeft: '16px', userSelect: 'none', textAlign: 'left' } ], divider: { borderWidth: '1px', borderStyle: 'solid', borderColor: ComboBoxOptionDividerBorderColor }, optionDefaultStyles: null, }; return Styling_1.mergeStyleSets(styles, customStyles); var _a, _b; }); }); //# sourceMappingURL=ComboBox.styles.js.map