Files
2024-02-15 17:01:50 +00:00

26 lines
718 B
TypeScript

import styled from '@emotion/styled';
/**
* Use grid to create columns that we can place child nodes into.
* Leveraging grid for alignment means we don't need to calculate percent offset
* nor use position:absolute to lay out items.
*
* <Columns>
* <Col>...</Col>
* <Col>...</Col>
* </Columns>
*/
export const Columns = styled('ul')<{remainder: number; totalColumns: number}>`
/* Reset defaults for <ul> */
list-style: none;
margin: 0;
padding: 0;
/* Layout of the lines */
display: grid;
grid-template-columns: repeat(${p => p.totalColumns}, 1fr) ${p => p.remainder}fr;
`;
// Export an empty component which so that callsites can correctly nest nodes:
export const Col = styled('li')``;