mirror of
https://github.com/outline/outline.git
synced 2025-12-20 10:09:43 -06:00
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
37 lines
799 B
TypeScript
37 lines
799 B
TypeScript
import styled from "styled-components";
|
|
|
|
type JustifyValues =
|
|
| "center"
|
|
| "space-around"
|
|
| "space-between"
|
|
| "flex-start"
|
|
| "flex-end";
|
|
|
|
type AlignValues =
|
|
| "stretch"
|
|
| "center"
|
|
| "baseline"
|
|
| "flex-start"
|
|
| "flex-end";
|
|
|
|
const Flex = styled.div<{
|
|
auto?: boolean;
|
|
column?: boolean;
|
|
align?: AlignValues;
|
|
justify?: JustifyValues;
|
|
shrink?: boolean;
|
|
gap?: number;
|
|
}>`
|
|
display: flex;
|
|
flex: ${({ auto }) => (auto ? "1 1 auto" : "initial")};
|
|
flex-direction: ${({ column }) => (column ? "column" : "row")};
|
|
align-items: ${({ align }) => align};
|
|
justify-content: ${({ justify }) => justify};
|
|
flex-shrink: ${({ shrink }) => (shrink ? 1 : "initial")};
|
|
gap: ${({ gap }) => (gap ? `${gap}px` : "initial")};
|
|
min-height: 0;
|
|
min-width: 0;
|
|
`;
|
|
|
|
export default Flex;
|