var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};
import { css } from 'styled-components';
import { ButtonStyle } from '@monstrosity/enums/button-style';
import { ButtonRoot } from './bar-button';
export var getColour = function (theme, buttonStyle) {
    switch (buttonStyle) {
        case ButtonStyle.Primary:
            return theme.style.colour.background;
        case ButtonStyle.Secondary:
            return theme.style.colour.base;
        case ButtonStyle.Text:
        default:
            return theme.style.colour.active;
    }
};
export var getHoverStyle = function (buttonStyle, isDisabled) {
    if (isDisabled)
        return css(templateObject_1 || (templateObject_1 = __makeTemplateObject([""], [""])));
    switch (buttonStyle) {
        case ButtonStyle.Primary:
            return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, function (_a) {
                var theme = _a.theme;
                return theme.style.colour.hover;
            });
        case ButtonStyle.Secondary:
            return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, function (_a) {
                var theme = _a.theme;
                return theme.style.colour.disabled.fill;
            });
        case ButtonStyle.Text:
        default:
            return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, function (_a) {
                var theme = _a.theme;
                return theme.style.colour.hover;
            });
    }
};
export var getFocusStyle = function (buttonStyle, isTabMode) {
    switch (buttonStyle) {
        case ButtonStyle.Primary:
            return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, function (_a) {
                var theme = _a.theme;
                return theme.style.colour.active;
            });
        case ButtonStyle.Secondary:
            return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\tbackground: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, function (_a) {
                var theme = _a.theme;
                return theme.style.colour.disabled.background;
            });
        case ButtonStyle.Text:
        default:
            return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n\t\t\t\t", " {\n\t\t\t\t\ttext-decoration: ", ";\n\t\t\t\t}\n\t\t\t"], ["\n\t\t\t\t", " {\n\t\t\t\t\ttext-decoration: ", ";\n\t\t\t\t}\n\t\t\t"])), ButtonRoot, isTabMode ? 'underline' : 'unset');
    }
};
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
