Стандартные отступы
Миксин applySpacing
добавляет свойства для указания margin
и padding
.
Свойства используют сокращенный синтаксис, схожий со styled-system и Bootstrap.
Вся типографика Plasma поддерживает эти свойства по умолчанию.
margin
m
marginmt
margin-topmr
margin-rightmb
margin-bottomml
margin-leftmx
margin-left и margin-rightmy
margin-top и margin-bottom
padding
p
paddingpt
padding-toppr
padding-rightpb
padding-bottompl
padding-leftpx
padding-left и padding-rightpy
padding-top и padding-bottom
Значения пропсов
0 = '0x' = '0'
2 = '1x' = '0.125rem'
4 = '2x' = '0.25rem'
8 = '4x' = '0.5rem'
10 = '5x' = '0.625rem'
12 = '6x' = '0.75rem'
16 = '8x' = '1rem'
18 = '9x' = '1.125rem'
20 = '10x' = '1.25rem'
24 = '12x' = '1.5rem'
32 = '16x' = '2rem'
Встроенные отступы в типографике
Example1.tsx
export default function () => (
<>
<Headline3 my="16x">Heading</Headline3>
<Body1 px="10x">Some text</Body1>
<Body2 mx={4}>Some information</Body2>
<Footnote2 m="8x">Description</Footnote2>
<Caption m={10}>Hello</Caption>
</>
);
Использование в своем компоненте
Example2.tsx
const Box1 = styled.div<SpacingProps>`
${applySpacing}
width: 5rem;
height: 5rem;
background-color: rgba(255, 100, 100, 0.3);
`;
const Box2 = styled.div<SpacingProps>`
${applySpacing}
width: 5rem;
height: 5rem;
background-color: rgba(100, 100, 255, 0.3);
`;
export default function () => (
<>
<Box1 my={10} />
<Box2 mx={8} />
</>
);