PromucFlow_constructor/app/client/src/pages/UserAuth/StyledComponents.tsx

142 lines
3.6 KiB
TypeScript
Raw Normal View History

import styled from "styled-components";
2019-12-16 08:49:10 +00:00
import { Link } from "react-router-dom";
import Form from "components/editorComponents/Form";
import { Card } from "@blueprintjs/core";
import { getTypographyByKey } from "constants/DefaultTheme";
import { Classes } from "@blueprintjs/core";
2019-12-16 08:49:10 +00:00
export const AuthContainer = styled.section`
2020-01-28 11:46:04 +00:00
position: absolute;
width: 100%;
height: ${(props) => `calc(100vh - ${props.theme.headerHeight})`};
background-color: ${(props) => props.theme.colors.auth.background};
display: flex;
flex-direction: column;
align-items: center;
overflow: auto;
& .${Classes.FORM_GROUP} {
margin: 0 0 ${(props) => props.theme.spaces[2]}px;
}
`;
export const AuthCardContainer = styled.div`
display: flex;
flex-grow: 1;
flex-direction: column;
justify-content: center;
padding: ${(props) => props.theme.authCard.padding}px 0;
2019-12-16 08:49:10 +00:00
`;
export const AuthCard = styled(Card)`
display: flex;
flex-direction: column;
background-color: ${(props) => props.theme.colors.auth.cardBackground};
padding: ${(props) => props.theme.spaces[15]}px 64px;
width: ${(props) => props.theme.authCard.width}px;
border: none;
h1 {
text-align: center;
padding: 0;
margin: 0;
2021-03-08 08:24:12 +00:00
${(props) => getTypographyByKey(props, "cardHeader")}
color: ${(props) => props.theme.colors.auth.headingText};
}
& .form-message-container {
width: ${(props) => props.theme.authCard.formMessageWidth}px;
align-self: center;
text-align: center;
}
.form-message-container ~ .form-message-container {
margin-top: ${(props) => props.theme.spaces[4]}px;
}
& > div {
margin-bottom: ${(props) => props.theme.spaces[14]}px;
}
& > div:last-child,
& > div:empty {
margin-bottom: 0;
2019-12-16 08:49:10 +00:00
}
`;
export const AuthCardHeader = styled.header`
& {
h1 {
2020-12-24 04:32:25 +00:00
font-size: ${(props) => props.theme.fontSizes[6]}px;
white-space: nowrap;
2019-12-16 08:49:10 +00:00
}
h5 {
2020-12-24 04:32:25 +00:00
font-size: ${(props) => props.theme.fontSizes[4]}px;
2019-12-16 08:49:10 +00:00
}
2020-12-24 04:32:25 +00:00
margin-bottom: ${(props) => props.theme.authCard.dividerSpacing}px;
2019-12-16 08:49:10 +00:00
}
`;
export const AuthCardNavLink = styled(Link)`
border-bottom: 1px solid transparent;
&:hover {
border-bottom: 1px solid ${(props) => props.theme.colors.auth.link};
text-decoration: none;
}
`;
2019-12-16 08:49:10 +00:00
export const AuthCardFooter = styled.footer`
display: flex;
width: 100%;
justify-content: space-evenly;
align-items: baseline;
2020-12-24 04:32:25 +00:00
margin-top: ${(props) => props.theme.authCard.dividerSpacing}px;
2019-12-16 08:49:10 +00:00
`;
export const AuthCardBody = styled.div`
& a {
2020-12-24 04:32:25 +00:00
margin-top: ${(props) => props.theme.spaces[8]}px;
font-size: ${(props) => props.theme.fontSizes[2]}px;
2019-12-16 08:49:10 +00:00
}
`;
export const SpacedForm = styled(Form)``;
2019-12-16 08:49:10 +00:00
export const SpacedSubmitForm = styled.form`
2020-02-24 09:35:11 +00:00
& a {
2020-12-24 04:32:25 +00:00
font-size: ${(props) => props.theme.fontSizes[3]}px;
2020-02-24 09:35:11 +00:00
}
&:only-child {
margin-right: 0;
}
2019-12-16 08:49:10 +00:00
`;
export const FormActions = styled.div`
display: flex;
2020-02-24 09:35:11 +00:00
& button {
flex: 1;
}
2019-12-16 08:49:10 +00:00
justify-content: space-between;
align-items: baseline;
margin-top: ${(props) => props.theme.spaces[5]}px;
2019-12-16 08:49:10 +00:00
& > label {
2020-12-24 04:32:25 +00:00
margin-right: ${(props) => props.theme.spaces[11]}px;
2019-12-16 08:49:10 +00:00
}
`;
export const SignUpLinkSection = styled.div`
2021-03-08 08:24:12 +00:00
${(props) => getTypographyByKey(props, "cardSubheader")}
color: ${(props) => props.theme.colors.auth.text};
text-align: center;
`;
export const ForgotPasswordLink = styled.div`
2021-03-08 08:24:12 +00:00
${(props) => getTypographyByKey(props, "cardSubheader")}
color: ${(props) => props.theme.colors.auth.text};
text-align: center;
margin-top: ${(props) => props.theme.spaces[11]}px;
& a {
color: ${(props) => props.theme.colors.auth.text};
}
`;
export const FormMessagesContainer = styled.div`
display: flex;
flex-direction: column;
`;