text: /**
   * Copyright Zendesk, Inc.
   *
   * Use of this source code is governed under the Apache License, Version 2.0
   * found at http://www.apache.org/licenses/LICENSE-2.0.
   */
  
  import PropTypes from 'prop-types';
  import styled from 'styled-components';
  import { retrieveTheme } from '@zendeskgarden/react-theming';
  import { FauxInput } from '@zendeskgarden/react-textfields';
  
  const COMPONENT_ID = 'select.select_view';
  const VALIDATION = {
    SUCCESS: 'success',
    WARNING: 'warning',
    ERROR: 'error',
    NONE: 'none'
  };
  
  const SelectView = styled(FauxInput).attrs({
    'data-garden-id': COMPONENT_ID,
    'data-garden-version': PACKAGE_VERSION,
    select: true
  })`
    cursor: default;
  
    ${props => retrieveTheme(COMPONENT_ID, props)};
  `;
  
  SelectView.propTypes = {
    inputRef: PropTypes.func,
    /** Allows flush spacing of Tab elements */
    tagLayout: PropTypes.bool,
    /** Applies flex layout to support MediaFigure components */
    mediaLayout: PropTypes.bool,
    small: PropTypes.bool,
    /** Removes all borders and styling */
    bare: PropTypes.bool,
    disabled: PropTypes.bool,
    focused: PropTypes.bool,
    /** Applies inset `box-shadow` styling on focus */
    focusInset: PropTypes.bool,
    hovered: PropTypes.bool,
    /** Displays select open state */
    open: PropTypes.bool,
    validation: PropTypes.oneOf([
      VALIDATION.SUCCESS,
      VALIDATION.WARNING,
      VALIDATION.ERROR,
      VALIDATION.NONE
    ])
  };
  
  /** @component */
  export default SelectView;
  