Implement new auto-size text area.

Add bars + header + sidebar to channels.
This commit is contained in:
Paul
2021-06-21 21:11:53 +01:00
parent d965b20ee2
commit 602cca1047
27 changed files with 1140 additions and 242 deletions

View File

@@ -7,23 +7,39 @@ import styled, { css } from "styled-components";
export interface TextAreaProps {
code?: boolean;
padding?: number;
lineHeight?: number;
hideBorder?: boolean;
}
export const TEXT_AREA_BORDER_WIDTH = 2;
export const DEFAULT_TEXT_AREA_PADDING = 16;
export const DEFAULT_LINE_HEIGHT = 20;
export default styled.textarea<TextAreaProps>`
width: 100%;
resize: none;
display: block;
border-radius: 4px;
padding: ${ props => props.padding ?? 16 }px;
color: var(--foreground);
border: 2px solid transparent;
background: var(--secondary-background);
transition: border-color .2s ease-in-out;
padding: ${ props => props.padding ?? DEFAULT_TEXT_AREA_PADDING }px;
line-height: ${ props => props.lineHeight ?? DEFAULT_LINE_HEIGHT }px;
${ props => props.hideBorder && css`
border: none;
` }
${ props => !props.hideBorder && css`
border-radius: 4px;
transition: border-color .2s ease-in-out;
border: ${TEXT_AREA_BORDER_WIDTH}px solid transparent;
` }
&:focus {
outline: none;
border: 2px solid var(--accent);
${ props => !props.hideBorder && css`
border: ${TEXT_AREA_BORDER_WIDTH}px solid var(--accent);
` }
}
${ props => props.code ? css`