"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Styling_1 = require("../../Styling");
var index_1 = require("../../utilities/styling/index");
var GlobalClassNames = {
    root: 'ms-Link'
};
exports.getStyles = function (props) {
    var className = props.className, isButton = props.isButton, isDisabled = props.isDisabled, theme = props.theme;
    var semanticColors = theme.semanticColors;
    var classNames = Styling_1.getGlobalClassNames(GlobalClassNames, theme);
    return {
        root: [
            classNames.root,
            Styling_1.getFocusStyle(theme),
            {
                color: semanticColors.link,
            },
            isButton && {
                background: 'none',
                backgroundColor: 'transparent',
                border: 'none',
                cursor: 'pointer',
                display: 'inline',
                fontSize: 'inherit',
                margin: 0,
                overflow: 'inherit',
                padding: 0,
                textAlign: 'left',
                textOverflow: 'inherit',
                userSelect: 'text',
                borderBottom: '1px solid transparent',
                selectors: (_a = {},
                    _a[index_1.HighContrastSelector] = {
                        color: 'LinkText',
                        forcedColorAdjust: 'none'
                    },
                    _a)
            },
            !isButton && {
                textDecoration: 'none'
            },
            isDisabled && [
                'is-disabled',
                {
                    color: semanticColors.disabledText,
                    cursor: 'default'
                },
                {
                    selectors: {
                        '&:link, &:visited': {
                            pointerEvents: 'none'
                        }
                    }
                },
            ],
            !isDisabled && {
                selectors: {
                    '&:active, &:hover, &:active:hover': {
                        color: semanticColors.linkHovered,
                        selectors: (_b = {},
                            _b[index_1.HighContrastSelector] = {
                                textDecoration: 'underline',
                                color: 'LinkText'
                            },
                            _b)
                    },
                    '&:focus': {
                        color: semanticColors.link,
                        selectors: (_c = {},
                            _c[index_1.HighContrastSelector] = {
                                color: 'LinkText'
                            },
                            _c)
                    }
                }
            },
            classNames.root,
            className
        ]
    };
    var _a, _b, _c;
};
//# sourceMappingURL=Link.styles.js.map