diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-12-21 08:01:53 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-12-21 08:01:53 +0800 |
commit | abdf91c691b924b75d71db49fba296da9c8ddcac (patch) | |
tree | 78e62a107f1de7f3b16dd63bdbc039ab26b561a3 /packages/website/ts/@next/components/text.tsx | |
parent | 9b540fd8e52e7578d3749e6d9ef9cd97d602ffb3 (diff) | |
download | dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar.gz dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar.bz2 dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar.lz dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar.xz dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.tar.zst dexon-sol-tools-abdf91c691b924b75d71db49fba296da9c8ddcac.zip |
feat: move all @next files to non @next directory
Diffstat (limited to 'packages/website/ts/@next/components/text.tsx')
-rw-r--r-- | packages/website/ts/@next/components/text.tsx | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/packages/website/ts/@next/components/text.tsx b/packages/website/ts/@next/components/text.tsx deleted file mode 100644 index 9f6ed9e7a..000000000 --- a/packages/website/ts/@next/components/text.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import * as React from 'react'; -import styled from 'styled-components'; -import { getCSSPadding, PaddingInterface } from 'ts/@next/constants/utilities'; - -interface BaseTextInterface extends PaddingInterface { - size?: 'default' | 'medium' | 'large' | 'small' | number; - isCentered?: boolean; - textAlign?: string; -} - -interface HeadingProps extends BaseTextInterface { - asElement?: 'h1' | 'h2' | 'h3' | 'h4'; - maxWidth?: string; - fontWeight?: string; - isCentered?: boolean; - isFlex?: boolean; - isNoMargin?: boolean; - isMuted?: boolean | number; - marginBottom?: string; - color?: string; -} - -interface ParagraphProps extends BaseTextInterface { - isNoMargin?: boolean; - marginBottom?: string; // maybe we should remove isNoMargin - isMuted?: boolean | number; - fontWeight?: string | number; -} - -const StyledHeading = - styled.h1 < - HeadingProps > - ` - max-width: ${props => props.maxWidth}; - color: ${props => props.color || props.theme.textColor}; - display: ${props => props.isFlex && `inline-flex`}; - align-items: center; - justify-content: ${props => props.isFlex && `space-between`}; - font-size: ${props => - typeof props.size === 'string' ? `var(--${props.size || 'default'}Heading)` : `${props.size}px`}; - line-height: ${props => `var(--${props.size || 'default'}HeadingHeight)`}; - text-align: ${props => props.isCentered && 'center'}; - padding: ${props => props.padding && getCSSPadding(props.padding)}; - margin-left: ${props => props.isCentered && 'auto'}; - margin-right: ${props => props.isCentered && 'auto'}; - margin-bottom: ${props => !props.isNoMargin && (props.marginBottom || '30px')}; - opacity: ${props => (typeof props.isMuted === 'boolean' ? 0.75 : props.isMuted)}; - font-weight: ${props => (props.fontWeight ? props.fontWeight : ['h4'].includes(props.asElement) ? 400 : 300)}; - width: ${props => props.isFlex && `100%`}; -`; - -export const Heading: React.StatelessComponent<HeadingProps> = props => { - const { asElement = 'h1', children } = props; - const Component = StyledHeading.withComponent(asElement); - - return <Component {...props}>{children}</Component>; -}; - -Heading.defaultProps = { - size: 'default', -}; - -// No need to declare it twice as Styled then rewrap as a stateless comp -// Note: this would be useful to be implemented the same way was "Heading" -// and be more generic. e.g. <Text /> with a props asElement so we can use it -// for literally anything = -export const Paragraph = - styled.p < - ParagraphProps > - ` - font-size: ${props => `var(--${props.size || 'default'}Paragraph)`}; - font-weight: ${props => props.fontWeight || 300}; - margin-bottom: ${props => !props.isNoMargin && (props.marginBottom || '30px')}; - padding: ${props => props.padding && getCSSPadding(props.padding)}; - color: ${props => props.color || props.theme.paragraphColor}; - opacity: ${props => (typeof props.isMuted === 'boolean' ? 0.75 : props.isMuted)}; - text-align: ${props => (props.textAlign ? props.textAlign : props.isCentered && 'center')}; - line-height: 1.4; -`; - -Paragraph.defaultProps = { - isMuted: true, -}; |