import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
import { resetButton } from "../../../lib/styles/Mixins";
import { iconSizeMixin, menuItemSizeMixin, withIconSizeMixin } from "../MenuItem.mixins";
export var getMenuItemPaddings = function getMenuItemPaddings(_ref) {
  var menuItemPaddingX = _ref.menuItemPaddingX,
    menuItemPaddingY = _ref.menuItemPaddingY;
  var paddingX = menuItemPaddingX;
  var paddingY = menuItemPaddingY;
  return {
    paddingX: paddingX,
    paddingY: paddingY
  };
};
export var styles = memoizeStyle({
  root: function root(t) {
    return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n      ", ";\n\n      cursor: pointer;\n      display: ", ";\n      position: relative;\n      text-decoration: none;\n      color: ", ";\n      border-radius: ", ";\n\n      button& {\n        min-width: 100%;\n      }\n\n      &:nth-last-of-type(n + 2) {\n        margin-bottom: ", ";\n      }\n    "])), resetButton(), t.menuItemDisplay, t.menuItemTextColor, t.menuItemBorderRadius, t.menuItemGap);
  },
  rootSmall: function rootSmall(t) {
    return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), menuItemSizeMixin(t.menuItemPaddingXSmall, t.menuItemPaddingYSmall, t.menuItemLineHeightSmall, t.menuItemFontSizeSmall));
  },
  rootMedium: function rootMedium(t) {
    return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), menuItemSizeMixin(t.menuItemPaddingXMedium, t.menuItemPaddingYMedium, t.menuItemLineHeightMedium, t.menuItemFontSizeMedium));
  },
  rootLarge: function rootLarge(t) {
    return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), menuItemSizeMixin(t.menuItemPaddingXLarge, t.menuItemPaddingYLarge, t.menuItemLineHeightLarge, t.menuItemFontSizeLarge));
  },
  rootMobile: function rootMobile(t) {
    return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n      font-size: ", ";\n      line-height: ", ";\n      padding: ", ";\n    "])), t.menuItemFontSizeMobile, t.menuItemLineHeightMobile, t.menuItemPaddingMobile);
  },
  hover: function hover(t) {
    // Color with !important in purpose to override `a:hover`
    return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n      background: ", " !important;\n      color: ", " !important;\n    "])), t.menuItemHoverBg, t.menuItemHoverColor);
  },
  selected: function selected(t) {
    return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n      background: ", " !important;\n    "])), t.menuItemSelectedBg);
  },
  disabled: function disabled(t) {
    return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n      background: ", ";\n      color: ", ";\n      cursor: default;\n    "])), t.menuItemDisabledBg, t.menuItemDisabledColor);
  },
  nonSelectable: function nonSelectable() {
    return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n      cursor: default;\n    "])));
  },
  link: function link(t) {
    return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n      color: ", ";\n    "])), t.menuItemLinkColor);
  },
  loose: function loose() {
    return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n      padding-left: 15px;\n    "])));
  },
  withIconSmall: function withIconSmall(t) {
    return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n      ", "\n    "])), withIconSizeMixin(t.menuItemPaddingForIconSmall));
  },
  withIconMedium: function withIconMedium(t) {
    return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n      ", "\n    "])), withIconSizeMixin(t.menuItemPaddingForIconMedium));
  },
  withIconLarge: function withIconLarge(t) {
    return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n      ", "\n    "])), withIconSizeMixin(t.menuItemPaddingForIconLarge));
  },
  comment: function comment(t) {
    return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n      color: ", ";\n      opacity: ", ";\n      white-space: normal;\n      padding-top: 4px;\n    "])), t.menuItemCommentColor, t.menuItemCommentOpacity);
  },
  commentHover: function commentHover(t) {
    return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n      color: ", ";\n      opacity: ", ";\n    "])), t.menuItemCommentColorHover, t.menuItemCommentOpacityHover);
  },
  icon: function icon() {
    return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n      display: inline-block;\n      position: absolute;\n      transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n    "])));
  },
  iconSmall: function iconSmall(t) {
    return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall));
  },
  iconMedium: function iconMedium(t) {
    return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium));
  },
  iconLarge: function iconLarge(t) {
    return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n      ", ";\n    "])), iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge));
  },
  mobileContentWithIcon: function mobileContentWithIcon() {
    return css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n      margin-left: 8px;\n    "])));
  }
});