Files
cunningham/packages/react/src/docs/spacings.stories.mdx

63 lines
2.1 KiB
Plaintext
Raw Normal View History

import { Canvas, Meta, Story, Source, ArgsTable } from '@storybook/addon-docs';
import { tokens } from '../cunningham-tokens';
<Meta title="Getting Started/Spacings" />
# Spacings
Cunningham comes with an existing toolkit to deal with spacings. 📏
Here are the existing spacings:
<Canvas isColumn={true} withSource="none">
<div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
{Object.keys(tokens.theme.spacings).map(key => (
<div key={key} style={{ display: 'flex', alignItems: 'center', gap: '10px' }}>
<div className="fw-bold clr-secondary-text" style={{ width: '30px' }}>-{key}</div>
<div className="fw-medium fs-m clr-secondary-text" style={{ width: '100px' }}>{tokens.theme.spacings[key]}</div>
<div className={"bg-danger-100 pl-" + key} style={{ height: '48px', width: 0 }}></div>
</div>
))}
</div>
</Canvas>
Those can be used both with paddings and margins.
## Margins
You can use the following classes to add margins to your elements:
| Class | Equivalent |
|--------------|----------------------------|
| m-{spacing} | `margin: {spacing}` |
| mt-{spacing} | `margin-top: {spacing}` |
| mr-{spacing} | `margin-right: {spacing}` |
| mb-{spacing} | `margin-bottom: {spacing}` |
| ml-{spacing} | `margin-left: {spacing}` |
## Paddings
You can use the following classes to add paddings to your elements:
| Class | Equivalent |
|--------------|----------------------------|
| p-{spacing} | `padding: {spacing}` |
| pt-{spacing} | `padding-top: {spacing}` |
| pr-{spacing} | `padding-right: {spacing}` |
| pb-{spacing} | `padding-bottom: {spacing}` |
| pl-{spacing} | `padding-left: {spacing}` |
## Example
<Canvas isColumn={true} withSource="open">
<div className="bg-danger-100">
<div className="bg-primary-500 clr-primary-text fw-medium p-t mb-l">
Tiny padding + Large margin bottom
</div>
<div className="bg-secondary-500 clr-secondary-text fw-medium p-l ml-b">
Large padding + Base margin left
</div>
</div>
</Canvas>