import React, { useState, useRef } from 'react'; import classnames from 'classnames'; import propTypes from 'prop-types'; import Icons from '../icons'; import styles from './styles.module.scss'; import colors from '../../variables/colors.json'; // Classes to merge in, depending on context const CONTEXT_CLASSES = { 'COMPACT_GRAY': styles.contextCompactGray, 'TIME_PICKER': styles.contextTimePicker, 'LIST_VIEW': styles.contextListView, 'NAVBAR_INLINE': styles.contextNavbarInline, 'ANALYTICS_CONTROL_BAR': styles.contextAnalyticsControlBar, 'SPACE_DETAIL_CARD': styles.contextSpaceDetailCard, 'OPEN_AREA_APP_BAR': styles.contextOpenAreaAppBar, }; export const ANCHOR_RIGHT = 'ANCHOR_RIGHT', ANCHOR_LEFT = 'ANCHOR_LEFT'; export const InputBoxContext = React.createContext(null); const InputBoxRaw: React.FC = ({leftIcon, rightIcon, forwardedRef, invalid, ...props}) => { const [focused, setFocus] = useState(false); const defaultInputRef = useRef(); const input = forwardedRef || defaultInputRef; switch (props.type) { case 'select': return ; case 'textarea': return