Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Commit

Permalink
feat(lsg): margins for layout pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
Lasse Küchler committed Dec 11, 2017
1 parent 9635852 commit 45029ac
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
7 changes: 6 additions & 1 deletion src/lsg/patterns/layout/demo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const StyledTestDiv = styled.div`

const LayoutDemo: React.StatelessComponent<void> = (): JSX.Element => (
<div>
<Layout directionVertical={true}>
<Layout directionVertical>
<StyledTestDiv>Vertical</StyledTestDiv>
<StyledTestDiv>Vertical</StyledTestDiv>
<StyledTestDiv>Vertical</StyledTestDiv>
Expand All @@ -25,6 +25,11 @@ const LayoutDemo: React.StatelessComponent<void> = (): JSX.Element => (
<StyledTestDiv>Horizontal</StyledTestDiv>
<StyledTestDiv>Horizontal</StyledTestDiv>
</Layout>
<Layout directionVertical hasMargins>
<StyledTestDiv>Vertical with margins</StyledTestDiv>
<StyledTestDiv>Vertical with margins</StyledTestDiv>
<StyledTestDiv>Vertical with margins</StyledTestDiv>
</Layout>
</div>
);

Expand Down
14 changes: 9 additions & 5 deletions src/lsg/patterns/layout/index.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
import { getSpace, Size } from '../space/index';
import * as React from 'react';
import styled from 'styled-components';

export interface LayoutProps {
className?: string;
directionVertical?: boolean;
hasMargins?: boolean;
}

const StyledLayout = styled.div`
display: flex;
justify-content: space-between;
${(props: LayoutProps) => props.directionVertical
? 'flex-direction: column;'
: ''
}
${(props: LayoutProps) => (props.directionVertical ? 'flex-direction: column;' : '')};
${(props: LayoutProps) => (props.hasMargins ? `margin: 0 ${getSpace(Size.L)}px` : '')};
`;

const Layout: React.StatelessComponent<LayoutProps> = props => (
<StyledLayout className={props.className} directionVertical={props.directionVertical}>
<StyledLayout
className={props.className}
directionVertical={props.directionVertical}
hasMargins={props.hasMargins}
>
{props.children}
</StyledLayout>
);
Expand Down

0 comments on commit 45029ac

Please sign in to comment.