import React from 'react';
import styled from 'styled-components';
import { Icon, Status } from '@looker/components';
import { Beaker } from '@looker/icons';
import { VisibilityOff } from '@styled-icons/material/VisibilityOff';
export var pickStatus = status => {
  var title = "".concat(status.toLowerCase(), " item");

  switch (status.toLowerCase()) {
    case 'beta':
      return React.createElement(StatusBeta, {
        "aria-label": title
      }, "\u03B2");

    case 'experimental':
      {
        return React.createElement(Icon, {
          title: title,
          "aria-label": title,
          icon: React.createElement(Beaker, null)
        });
      }

    case 'alpha':
      {
        return React.createElement(Icon, {
          title: title,
          "aria-label": title,
          icon: React.createElement(Beaker, null)
        });
      }

    case 'undocumented':
      {
        return React.createElement(Icon, {
          title: title,
          "aria-label": title,
          icon: React.createElement(VisibilityOff, null)
        });
      }

    case 'deprecated':
      return React.createElement(Status, {
        "aria-label": title,
        intent: "critical",
        size: "small"
      });

    case 'stable':
      return React.createElement(Status, {
        "aria-label": title,
        intent: "positive",
        size: "small"
      });

    default:
      return React.createElement(Status, {
        "aria-label": "unknown status endpoint",
        intent: "neutral",
        size: "small"
      });
  }
};
export var pickTooltipContent = status => {
  switch (status.toLowerCase()) {
    case 'beta':
      return 'This beta item is under development and subject to change.';

    case 'experimental':
      return 'This experimental item is not fully developed and may be significantly changed or completely removed in future releases.';

    case 'deprecated':
      return 'This item has been deprecated and will be removed in the future.';

    case 'stable':
      return 'This item is considered stable for this API version.';

    case 'undocumented':
      return 'This is an internal-only item.';

    default:
      return 'This item has no status associated with it.';
  }
};
var StatusBeta = styled.div.withConfig({
  displayName: "utils__StatusBeta",
  componentId: "ugxyok-0"
})(["display:flex;align-items:center;justify-content:center;font-size:", ";color:", ";width:1.125rem;height:1.125rem;"], _ref => {
  var {
    theme
  } = _ref;
  return theme.fontSizes.xxsmall;
}, _ref2 => {
  var {
    theme
  } = _ref2;
  return theme.colors.neutral;
});
//# sourceMappingURL=utils.js.map