aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/@next/components/icon.tsx
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-12-21 08:01:53 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-12-21 08:01:53 +0800
commitabdf91c691b924b75d71db49fba296da9c8ddcac (patch)
tree78e62a107f1de7f3b16dd63bdbc039ab26b561a3 /packages/website/ts/@next/components/icon.tsx
parent9b540fd8e52e7578d3749e6d9ef9cd97d602ffb3 (diff)
downloaddexon-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/icon.tsx')
-rw-r--r--packages/website/ts/@next/components/icon.tsx72
1 files changed, 0 insertions, 72 deletions
diff --git a/packages/website/ts/@next/components/icon.tsx b/packages/website/ts/@next/components/icon.tsx
deleted file mode 100644
index fc9d488f9..000000000
--- a/packages/website/ts/@next/components/icon.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import * as React from 'react';
-import Loadable from 'react-loadable';
-import styled from 'styled-components';
-
-import { Paragraph } from 'ts/@next/components/text';
-import { getCSSPadding, PaddingInterface } from 'ts/@next/constants/utilities';
-
-interface IconProps extends PaddingInterface {
- name?: string;
- component?: React.ReactNode;
- size?: 'small' | 'medium' | 'large' | 'hero' | number;
-}
-
-export const Icon: React.FunctionComponent<IconProps> = (props: IconProps) => {
- if (props.name && !props.component) {
- const IconSVG = Loadable({
- loader: async () => import(/* webpackChunkName: "icon" */ `ts/@next/icons/illustrations/${props.name}.svg`),
- loading: () => <Paragraph>Loading</Paragraph>,
- });
-
- return (
- <StyledIcon {...props}>
- <IconSVG />
- </StyledIcon>
- );
- }
-
- if (props.component) {
- return <StyledIcon {...props}>{props.component}</StyledIcon>;
- }
-
- return null;
-};
-
-export const InlineIconWrap =
- styled.div <
- PaddingInterface >
- `
- margin: ${props => getCSSPadding(props.margin)};
- display: flex;
- align-items: center;
- justify-content: center;
-
- > figure {
- margin: 0 5px;
- }
-`;
-
-const _getSize = (size: string | number = 'small'): string => {
- if (typeof size === 'string') {
- return `var(--${size}Icon)`;
- }
-
- return `${size}px`;
-};
-
-const StyledIcon =
- styled.figure <
- IconProps >
- `
- width: ${props => _getSize(props.size)};
- height: ${props => _getSize(props.size)};
- margin: ${props => getCSSPadding(props.margin)};
- display: inline-block;
- flex-shrink: 0;
-
- svg {
- width: 100%;
- height: 100%;
- object-fit: cover;
- }
-`;