office-ui-fabric-react
Version: 
Reusable React components for building experiences for Office 365.
37 lines • 2.35 kB
JavaScript
define(["require", "exports", "../../Utilities", "../../Styling"], function (require, exports, Utilities_1, Styling_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.getClassNames = Utilities_1.memoizeFunction(function (styles, className, variantClassName, iconClassName, disabled, checked, expanded) {
        return {
            root: Styling_1.mergeStyles(className, 'ms-Button', variantClassName, styles.root, checked && [
                'is-checked',
                styles.rootChecked
            ], expanded && [
                'is-expanded',
                styles.rootExpanded
            ], disabled && [
                'is-disabled',
                styles.rootDisabled
            ], !disabled && !expanded && {
                ':hover': styles.rootHovered,
                ':hover .ms-Button-icon': styles.iconHovered,
                ':hover .ms-Button-description': styles.descriptionHovered,
                ':focus': styles.rootFocused,
                ':active': styles.rootPressed,
                ':active .ms-Button-description': styles.descriptionPressed
            }, disabled && checked && [
                styles.rootCheckedDisabled
            ], !disabled && checked && {
                ':hover': styles.rootCheckedHovered,
                ':active': styles.rootCheckedPressed
            }),
            flexContainer: Styling_1.mergeStyles('ms-Button-flexContainer', styles.flexContainer),
            icon: Styling_1.mergeStyles('ms-Button-icon', iconClassName, styles.icon, expanded && styles.iconExpanded, checked && styles.iconChecked, disabled && styles.iconDisabled),
            label: Styling_1.mergeStyles('ms-Button-label', styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled),
            menuIcon: Styling_1.mergeStyles('ms-Button-menuIcon', styles.menuIcon, checked && styles.menuIconChecked, disabled && styles.menuIconDisabled),
            description: Styling_1.mergeStyles('ms-Button-description', styles.description, checked && styles.descriptionChecked, disabled && styles.descriptionDisabled),
            screenReaderText: Styling_1.mergeStyles('ms-Button-screenReaderText', styles.screenReaderText)
        };
    });
});
//# sourceMappingURL=BaseButton.classNames.js.map