Стандартные отступы
Миксин applySpacing добавляет свойства для указания margin и padding.
Свойства используют сокращенный синтаксис, схожий со styled-system и Bootstrap.
Вся типографика Plasma поддерживает эти свойства по умолчанию.
margin
mmarginmtmargin-topmrmargin-rightmbmargin-bottommlmargin-leftmxmargin-left и margin-rightmymargin-top и margin-bottom
padding
ppaddingptpadding-topprpadding-rightpbpadding-bottomplpadding-leftpxpadding-left и padding-rightpypadding-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} />
</>
);