define(["require", "exports", "@uifabric/styling", "@uifabric/utilities"], function (require, exports, styling_1, utilities_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var noOutline = {
        outline: 0
    };
    /**
     * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`
     * helper, it should have values for all class names in the interface. This let `mergeRules` optimize
     * mixing class names together.
     */
    exports.getStyles = utilities_1.memoize(function (theme, focusInset, focusColor) {
        var iconStyle = styling_1.mergeStyles({
            margin: '0 4px',
            height: '16px',
            lineHeight: '16px',
            textAlign: 'center',
            verticalAlign: 'middle'
        });
        return {
            root: styling_1.mergeStyles(styling_1.getFocusStyle(theme, focusInset, focusColor), theme.fonts.medium, {
                // this transparent border converts to the correct colors in HC mode
                boxSizing: 'border-box',
                border: '1px solid transparent',
                userSelect: 'none',
                display: 'inline-block',
                textDecoration: 'none',
                textAlign: 'center',
                cursor: 'pointer',
                verticalAlign: 'top',
                padding: '0 16px'
            }),
            rootEnabled: undefined,
            rootDisabled: styling_1.mergeStyles({
                backgroundColor: theme.palette.neutralLighter,
                color: theme.palette.neutralTertiary,
                cursor: 'default',
                pointerEvents: 'none',
                ':hover': noOutline,
                ':focus': noOutline
            }),
            flexContainer: styling_1.mergeStyles({
                display: 'flex',
                height: '100%',
                flexWrap: 'nowrap',
                justifyContent: 'center',
                alignItems: 'center'
            }),
            icon: iconStyle,
            iconEnabled: undefined,
            iconDisabled: undefined,
            menuIcon: iconStyle,
            menuIconEnabled: undefined,
            menuIconDisabled: undefined,
            label: styling_1.mergeStyles({
                margin: '0 4px',
                lineHeight: '100%'
            }),
            labelEnabled: undefined,
            labelDisabled: undefined,
            description: undefined,
            descriptionEnabled: undefined,
            descriptionDisabled: undefined,
            screenReaderText: styling_1.mergeStyles({
                position: 'absolute',
                width: '1px',
                height: '1px',
                margin: '-1px',
                padding: 0,
                overflow: 'hidden',
                clip: 'rect(0,0,0,0)',
                border: 0
            })
        };
    });
});

//# sourceMappingURL=BaseButton.styles.js.map
