define(["require", "exports", "../../Styling", "../../Utilities"], function (require, exports, Styling_1, Utilities_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    function standardStyles(theme) {
        var _a, _b, _c, _d, _e;
        var s = theme.semanticColors, p = theme.palette;
        var buttonBackground = s.buttonBackground;
        var buttonBackgroundPressed = s.buttonBackgroundPressed;
        var buttonBackgroundHovered = s.buttonBackgroundHovered;
        var buttonText = s.buttonText;
        var buttonTextHovered = s.buttonTextHovered;
        var buttonTextChecked = s.buttonTextChecked;
        var buttonTextCheckedHovered = s.buttonTextCheckedHovered;
        return {
            root: {
                backgroundColor: buttonBackground,
                color: buttonText
            },
            rootHovered: {
                backgroundColor: buttonBackgroundHovered,
                color: buttonTextHovered,
                selectors: (_a = {},
                    _a[Styling_1.HighContrastSelector] = {
                        borderColor: 'Highlight',
                        color: 'Highlight'
                    },
                    _a)
            },
            rootPressed: {
                backgroundColor: buttonBackgroundPressed,
                color: buttonTextChecked
            },
            rootExpanded: {
                backgroundColor: buttonBackgroundPressed,
                color: buttonTextChecked
            },
            rootChecked: {
                backgroundColor: buttonBackgroundPressed,
                color: buttonTextChecked
            },
            rootCheckedHovered: {
                backgroundColor: buttonBackgroundPressed,
                color: buttonTextCheckedHovered
            },
            rootDisabled: {
                selectors: (_b = {},
                    _b[Styling_1.HighContrastSelector] = {
                        color: 'GrayText',
                        borderColor: 'GrayText',
                        backgroundColor: 'Window'
                    },
                    _b)
            },
            // Split button styles
            splitButtonContainer: {
                selectors: (_c = {},
                    _c[Styling_1.HighContrastSelector] = {
                        border: 'none'
                    },
                    _c)
            },
            splitButtonMenuButton: {
                color: p.white,
                backgroundColor: 'transparent',
                selectors: {
                    ':hover': {
                        backgroundColor: p.neutralLight,
                        selectors: (_d = {},
                            _d[Styling_1.HighContrastSelector] = {
                                color: 'Highlight'
                            },
                            _d)
                    }
                }
            },
            splitButtonMenuButtonDisabled: {
                backgroundColor: s.buttonBackgroundDisabled,
                selectors: {
                    ':hover': {
                        backgroundColor: s.buttonBackgroundDisabled
                    }
                }
            },
            splitButtonDivider: {
                backgroundColor: p.neutralTertiaryAlt,
                position: 'absolute',
                width: 1,
                right: 31,
                top: 8,
                bottom: 8,
                selectors: (_e = {},
                    _e[Styling_1.HighContrastSelector] = {
                        backgroundColor: 'WindowText'
                    },
                    _e)
            },
            splitButtonDividerDisabled: {
                backgroundColor: theme.palette.neutralTertiaryAlt
            },
            splitButtonMenuButtonChecked: {
                backgroundColor: p.neutralQuaternaryAlt,
                selectors: {
                    ':hover': {
                        backgroundColor: p.neutralQuaternaryAlt
                    }
                }
            },
            splitButtonMenuButtonExpanded: {
                backgroundColor: p.neutralQuaternaryAlt,
                selectors: {
                    ':hover': {
                        backgroundColor: p.neutralQuaternaryAlt
                    }
                }
            },
            splitButtonMenuIcon: {
                color: s.buttonText
            },
            splitButtonMenuIconDisabled: {
                color: s.buttonTextDisabled
            }
        };
    }
    exports.standardStyles = standardStyles;
    function primaryStyles(theme) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        var p = theme.palette, s = theme.semanticColors;
        return {
            root: {
                backgroundColor: s.primaryButtonBackground,
                color: s.primaryButtonText,
                border: 'none',
                selectors: (_a = {},
                    _a[Styling_1.HighContrastSelector] = {
                        color: 'Window',
                        backgroundColor: 'WindowText',
                        MsHighContrastAdjust: 'none'
                    },
                    _a["." + Utilities_1.IsFocusVisibleClassName + " &:focus"] = {
                        selectors: {
                            ':after': {
                                border: "none",
                                outlineColor: p.white
                            }
                        }
                    },
                    _a)
            },
            rootHovered: {
                backgroundColor: s.primaryButtonBackgroundHovered,
                color: s.primaryButtonTextHovered,
                selectors: (_b = {},
                    _b[Styling_1.HighContrastSelector] = {
                        color: 'Window',
                        backgroundColor: 'Highlight'
                    },
                    _b)
            },
            rootPressed: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                color: s.primaryButtonTextPressed,
                selectors: (_c = {},
                    _c[Styling_1.HighContrastSelector] = {
                        color: 'Window',
                        backgroundColor: 'WindowText',
                        MsHighContrastAdjust: 'none'
                    },
                    _c)
            },
            rootExpanded: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                color: s.primaryButtonTextPressed
            },
            rootChecked: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                color: s.primaryButtonTextPressed
            },
            rootCheckedHovered: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                color: s.primaryButtonTextPressed
            },
            rootDisabled: {
                selectors: (_d = {},
                    _d[Styling_1.HighContrastSelector] = {
                        color: 'GrayText',
                        borderColor: 'GrayText',
                        backgroundColor: 'Window'
                    },
                    _d)
            },
            // Split button styles
            splitButtonContainer: {
                selectors: (_e = {},
                    _e[Styling_1.HighContrastSelector] = {
                        border: 'none'
                    },
                    _e)
            },
            splitButtonDivider: {
                backgroundColor: p.neutralTertiaryAlt,
                position: 'absolute',
                width: 1,
                right: 31,
                top: 8,
                bottom: 8,
                selectors: (_f = {},
                    _f[Styling_1.HighContrastSelector] = {
                        backgroundColor: 'Window'
                    },
                    _f)
            },
            splitButtonMenuButton: {
                backgroundColor: s.primaryButtonBackground,
                color: s.primaryButtonText,
                selectors: (_g = {},
                    _g[Styling_1.HighContrastSelector] = {
                        backgroundColor: 'WindowText'
                    },
                    _g[':hover'] = {
                        backgroundColor: s.primaryButtonBackgroundHovered,
                        selectors: (_h = {},
                            _h[Styling_1.HighContrastSelector] = {
                                color: 'Highlight'
                            },
                            _h)
                    },
                    _g)
            },
            splitButtonMenuButtonDisabled: {
                backgroundColor: s.primaryButtonBackgroundDisabled,
                selectors: {
                    ':hover': {
                        backgroundColor: s.primaryButtonBackgroundDisabled
                    }
                }
            },
            splitButtonMenuButtonChecked: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                selectors: {
                    ':hover': {
                        backgroundColor: s.primaryButtonBackgroundPressed
                    }
                }
            },
            splitButtonMenuButtonExpanded: {
                backgroundColor: s.primaryButtonBackgroundPressed,
                selectors: {
                    ':hover': {
                        backgroundColor: s.primaryButtonBackgroundPressed
                    }
                }
            },
            splitButtonMenuIcon: {
                color: s.primaryButtonText
            },
            splitButtonMenuIconDisabled: {
                color: p.neutralTertiary,
                selectors: (_j = {},
                    _j[Styling_1.HighContrastSelector] = {
                        color: 'GrayText'
                    },
                    _j)
            }
        };
    }
    exports.primaryStyles = primaryStyles;
});
//# sourceMappingURL=ButtonThemes.js.map