var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};
import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
import { shift } from '../../lib/styles/DimensionFunctions.js';
import { fontSize, lineHeight, paddingX, paddingY } from './helpers.js';
export var globalClasses = prefix('tab')({
    focus: 'focus',
});
export var getStyles = memoizeGetStyles(function (emotion) { return ({
    rootSmall: function (t) {
        return emotion.css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabRoot(t, 'small', emotion));
    },
    rootMedium: function (t) {
        return emotion.css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabRoot(t, 'medium', emotion));
    },
    rootLarge: function (t) {
        return emotion.css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabRoot(t, 'large', emotion));
    },
    verticalSmall: function (t) {
        return emotion.css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabVertical(t, 'small', emotion));
    },
    verticalMedium: function (t) {
        return emotion.css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabVertical(t, 'medium', emotion));
    },
    verticalLarge: function (t) {
        return emotion.css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabVertical(t, 'large', emotion));
    },
    focusSmall: function (t) {
        return emotion.css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabFocus(t, 'small', emotion));
    },
    focusMedium: function (t) {
        return emotion.css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabFocus(t, 'medium', emotion));
    },
    focusLarge: function (t) {
        return emotion.css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n        ", "\n      "], ["\n        ", "\n      "])), tabFocus(t, 'large', emotion));
    },
    disabled: function (t) {
        return emotion.css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n      color: color-mix(in srgb, ", ", transparent 50%);\n      cursor: default;\n    "], ["\n      color: color-mix(in srgb, ", ", transparent 50%);\n      cursor: default;\n    "])), t.tabTextColorDefault);
    },
    active: function () {
        return emotion.css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n        cursor: default;\n      "], ["\n        cursor: default;\n      "])));
    },
}); });
export var getHorizontalStyles = memoizeGetStyles(function (_a) {
    var css = _a.css;
    return ({
        active: function (t) {
            return css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n      &:hover {\n        border-bottom: ", " solid transparent;\n      }\n    "], ["\n      &:hover {\n        border-bottom: ", " solid transparent;\n      }\n    "])), t.tabBorderWidth);
        },
        disabled: function () {
            return css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n      &:hover {\n        border-bottom-color: transparent;\n      }\n    "], ["\n      &:hover {\n        border-bottom-color: transparent;\n      }\n    "])));
        },
        primary: function (t) {
            return css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "])), t.tabColorHoverPrimary);
        },
        success: function (t) {
            return css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "])), t.tabColorHoverSuccess);
        },
        warning: function (t) {
            return css(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "])), t.tabColorHoverWarning);
        },
        error: function (t) {
            return css(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-bottom-color: ", ";\n      }\n    "])), t.tabColorHoverError);
        },
    });
});
export var getVerticalStyles = memoizeGetStyles(function (_a) {
    var css = _a.css;
    return ({
        active: function (t) {
            return css(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n      &:hover {\n        border-left: ", " solid transparent;\n      }\n    "], ["\n      &:hover {\n        border-left: ", " solid transparent;\n      }\n    "])), t.tabBorderWidth);
        },
        disabled: function () {
            return css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n      &:hover {\n        border-left-color: transparent;\n      }\n    "], ["\n      &:hover {\n        border-left-color: transparent;\n      }\n    "])));
        },
        primary: function (t) {
            return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "])), t.tabColorHoverPrimary);
        },
        success: function (t) {
            return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "])), t.tabColorHoverSuccess);
        },
        warning: function (t) {
            return css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "])), t.tabColorHoverWarning);
        },
        error: function (t) {
            return css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "], ["\n      &:hover {\n        border-left-color: ", ";\n      }\n    "])), t.tabColorHoverError);
        },
    });
});
function tabRoot(t, size, _a) {
    var css = _a.css;
    return css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n    border-bottom: ", " solid transparent;\n    box-sizing: border-box;\n    color: ", ";\n    cursor: pointer;\n    display: inline-block;\n    font-size: ", ";\n    line-height: ", ";\n    margin-left: ", ";\n    margin-right: ", ";\n    padding-bottom: calc(", " - ", ");\n    padding-top: ", ";\n    position: relative;\n    text-decoration: inherit;\n    transition: border-bottom ", " ", ";\n\n    &:hover {\n      outline: inherit;\n      border-bottom: ", " solid ", ";\n    }\n\n    &:focus {\n      outline: inherit;\n    }\n  "], ["\n    border-bottom: ", " solid transparent;\n    box-sizing: border-box;\n    color: ", ";\n    cursor: pointer;\n    display: inline-block;\n    font-size: ", ";\n    line-height: ", ";\n    margin-left: ", ";\n    margin-right: ", ";\n    padding-bottom: calc(", " - ", ");\n    padding-top: ", ";\n    position: relative;\n    text-decoration: inherit;\n    transition: border-bottom ", " ", ";\n\n    &:hover {\n      outline: inherit;\n      border-bottom: ", " solid ", ";\n    }\n\n    &:focus {\n      outline: inherit;\n    }\n  "])), t.tabBorderWidth, t.tabTextColorDefault, fontSize(t, size), lineHeight(t, size), paddingX(t, size), paddingX(t, size), paddingY(t, size), t.tabBorderWidth, paddingY(t, size), t.transitionDuration, t.transitionTimingFunction, t.tabBorderWidth, t.tabColorHover);
}
function tabVertical(t, size, _a) {
    var css = _a.css;
    return css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n    border-bottom: none;\n    border-left: ", " solid transparent;\n    display: block;\n    margin-left: 0;\n    margin-right: 0;\n    padding-left: ", ";\n    padding-right: ", ";\n\n    &:hover {\n      border-bottom: none;\n      border-left: ", " solid ", ";\n    }\n\n    .", " {\n      bottom: 0;\n      left: -", ";\n      right: 0;\n    }\n  "], ["\n    border-bottom: none;\n    border-left: ", " solid transparent;\n    display: block;\n    margin-left: 0;\n    margin-right: 0;\n    padding-left: ", ";\n    padding-right: ", ";\n\n    &:hover {\n      border-bottom: none;\n      border-left: ", " solid ", ";\n    }\n\n    .", " {\n      bottom: 0;\n      left: -", ";\n      right: 0;\n    }\n  "])), t.tabBorderWidth, shift(paddingX(t, size), "-".concat(t.tabBorderWidth)), paddingX(t, size), t.tabBorderWidth, t.tabColorHover, globalClasses.focus, t.tabBorderWidth);
}
function tabFocus(t, size, _a) {
    var css = _a.css;
    return css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n    border: ", " solid ", ";\n    bottom: -", ";\n    left: -", ";\n    position: absolute;\n    right: -", ";\n    top: 0;\n  "], ["\n    border: ", " solid ", ";\n    bottom: -", ";\n    left: -", ";\n    position: absolute;\n    right: -", ";\n    top: 0;\n  "])), t.tabOutlineWidth, t.tabColorFocus, t.tabBorderWidth, paddingX(t, size), paddingX(t, size));
}
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26;
//# sourceMappingURL=Tab.styles.js.map