4.1.6 • Published 3 years ago

spacing-helper v4.1.6

Weekly downloads
94
License
MIT
Repository
github
Last release
3 years ago

Spacing-helper

A tiny (117 bytes) and blazing fast standalone helper for creating consistent spacing between the elements of your UI.

import { createSpacing } from 'spacing-helper';
const spacing = createSpacing({ factor: 8 }); // 8 is default scaling factor
spacing(1,2,3,4); // '8px 16px 24px 32px'

Installation

npm i spacing-helper or yarn add spacing-helper

Motivation

Let's see some code

const HeaderStyled = styled.header`
    margin: 16px 24px;
    ...
`;

Make it consistent

const MODULE = 8;

const HeaderStyled = styled.header`
    margin: ${MODULE * 2}px ${MODULE * 3}px;
    ...
`;

Make it pretty

const HeaderStyled = styled.header`
    margin: ${spacing(2)} ${spacing(3)};
    ...
`;

And...

const HeaderStyled = styled.header`
    margin: ${spacing(2, 3)};
    ...
`;

More examples

const spacing = createSpacing({ factor: 8 });

expect(spacing()).toBe('8px');
expect(spacing(2)).toBe('16px');
expect(spacing(1, 2)).toBe('8px 16px');
expect(spacing(1, 2, 3)).toBe('8px 16px 24px');
expect(spacing(1, 2, 3, 4)).toBe('8px 16px 24px 32px');
const spacingFull = createSpacing({ factor: 8, units: 'rem', divisor: 100 });

expect(spacingFull(1, 2)).toBe('0.08rem 0.16rem');
expect(spacingFull(1, 2, 3)).toBe('0.08rem 0.16rem 0.24rem');
expect(spacingFull(1, 2, 3, 4)).toBe('0.08rem 0.16rem 0.24rem 0.32rem');

API

NameTypeDefaultDescription
divisornumber1divisor for multiplication result of spacing and factor
factornumber8scaling factor
precisionnumber2precision of divisions
unitsstring"px"units of transforms result (e.g. px, rem, em)

Benchmarks

Versionops/sec
v32,240,720
v4.x26,891,052
4.1.6-next.0

3 years ago

4.1.6-next.1

3 years ago

4.1.6

3 years ago

4.1.4

3 years ago

4.1.5

3 years ago

4.1.3

3 years ago

4.1.2

3 years ago

4.1.1

4 years ago

4.1.0

4 years ago

4.0.0

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.5

4 years ago

2.1.0

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.2.0

4 years ago

1.3.0-alpha.1.0

4 years ago

1.3.0-alpha.1.1

4 years ago

1.3.0

4 years ago

1.3.0-alpha.1.4

4 years ago

1.3.0-alpha.1.5

4 years ago

1.3.0-alpha.1.2

4 years ago

1.3.0-alpha.1.3

4 years ago

1.3.0-alpha.1.6

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.7-alpha.4.7

4 years ago

1.1.7-alpha.4.6

4 years ago

1.1.7-alpha.4.5

4 years ago

1.1.7-alpha.4.4

4 years ago

1.1.7-alpha.4.3

4 years ago

1.1.7-alpha.4.2

4 years ago

1.1.7-alpha.4.1

4 years ago

1.1.7-alpha.4.0

4 years ago

1.1.7-alpha.3.0

4 years ago

1.1.7-alpha.2.0

4 years ago

1.1.7-alpha.1.0

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago