feat(grid): optional vertical separator
This commit is contained in:
@@ -4,7 +4,7 @@ import { css } from "@emotion/react";
|
|||||||
|
|
||||||
const Container = styled.div`
|
const Container = styled.div`
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--spacing-y-sm) var(--spacing-x-md);
|
gap: var(--spacing-y-lg) var(--spacing-x-md);
|
||||||
${props =>
|
${props =>
|
||||||
props.columns &&
|
props.columns &&
|
||||||
props.columns.map((column, i) =>
|
props.columns.map((column, i) =>
|
||||||
@@ -18,16 +18,39 @@ const Container = styled.div`
|
|||||||
${
|
${
|
||||||
i === 1 &&
|
i === 1 &&
|
||||||
css`
|
css`
|
||||||
gap: var(--spacing-y-md) var(--spacing-x-lg);
|
gap: var(--spacing-y-lg) var(--spacing-x-lg);
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
${props =>
|
||||||
|
props.verticalSeparator &&
|
||||||
|
css`
|
||||||
|
@media (max-width: ${props.verticalSeparator}) {
|
||||||
|
> * {
|
||||||
|
padding-bottom: var(--spacing-y-lg);
|
||||||
|
}
|
||||||
|
|
||||||
|
> :not(:last-of-type) {
|
||||||
|
border-bottom: 1px solid var(--color-mid-grey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export default function Grid({ columns, breakpoints = ["30em"], children }) {
|
export default function Grid({
|
||||||
|
columns,
|
||||||
|
breakpoints = ["30em"],
|
||||||
|
verticalSeparator,
|
||||||
|
children
|
||||||
|
}) {
|
||||||
return (
|
return (
|
||||||
<Container columns={columns} breakpoints={breakpoints}>
|
<Container
|
||||||
|
columns={columns}
|
||||||
|
breakpoints={breakpoints}
|
||||||
|
verticalSeparator={verticalSeparator}
|
||||||
|
>
|
||||||
{children}
|
{children}
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user