Spacings
New UI spacings.
Install
Install New UI Spacings from your terminal via npm.
npm i -D @new-ui/spacings
Usage
@use "@new-ui/spacings"; // Use `@import` for CSS
Spacing blocks
Baseline spacing primitives let you scale layouts consistently.
| Token | Size (px/rem) |
|---|---|
--spacing-00 |
0 / 0 |
--spacing-01 |
2 / 0.125 |
--spacing-02 |
4 / 0.25 |
--spacing-03 |
6 / 0.375 |
--spacing-04 |
8 / 0.5 |
--spacing-05 |
12 / 0.75 |
--spacing-06 |
16 / 1 |
--spacing-07 |
20 / 1.25 |
--spacing-08 |
24 / 1.5 |
--spacing-09 |
32 / 2 |
--spacing-10 |
40 / 2.5 |
--spacing-11 |
48 / 3 |
--spacing-12 |
56 / 3.5 |
--spacing-13 |
64 / 4 |
--spacing-14 |
72 / 4.5 |
--spacing-15 |
80 / 5 |
--spacing-16 |
96 / 6 |
--spacing-17 |
120 / 7.5 |
--spacing-18 |
160 / 10 |
Spacing tokens
| Token | Source | Size (px/rem) |
|---|---|---|
--spacing-zero |
--spacing-00 |
0 / 0 |
--spacing-xs |
--spacing-02 |
4 / 0.25 |
--spacing-s |
--spacing-04 |
8 / 0.5 |
--spacing-m |
--spacing-05 |
12 / 0.75 |
--spacing-l |
--spacing-06 |
16 / 1 |
--spacing-xl |
--spacing-08 |
24 / 1.5 |
--spacing-xxl |
--spacing-09 |
32 / 2 |
--spacing-xxxl |
--spacing-11 |
48 / 3 |
Sizing tokens
| Token | Source | Size (px/rem) |
|---|---|---|
--size-xs |
--spacing-06 |
16 / 1 |
--size-s |
--spacing-08 |
24 / 1.5 |
--size-m |
--spacing-09 |
32 / 2 |
--controls-size-default |
--spacing-09 |
32 / 2 |
--controls-size-small |
--spacing-08 |
24 / 1.5 |
Utility classes
Utility classes for margins, paddings, and spacers.
Naming convention
.nu-u-{property}{direction}-{size}
- Property:
m(margin),p(padding) - Direction:
t(top),b(bottom),s(start/left),e(end/right),x(horizontal),y(vertical), or omit for all sides - Size:
zero,xs,s,m,l,xl,xxl,xxxl
Margin utilities
.nu-u-m-{size} // all sides
.nu-u-mt-{size} // top
.nu-u-mb-{size} // bottom
.nu-u-ms-{size} // left
.nu-u-me-{size} // right
.nu-u-mx-{size} // horizontal
.nu-u-my-{size} // vertical
.nu-u-mx-auto // center horizontally
.nu-u-ms-auto // push right
.nu-u-me-auto // push left
Padding utilities
.nu-u-p-{size} // all sides
.nu-u-pt-{size} // top
.nu-u-pb-{size} // bottom
.nu-u-ps-{size} // left
.nu-u-pe-{size} // right
.nu-u-px-{size} // horizontal
.nu-u-py-{size} // vertical
Spacer components
.nu-c-spacer-{size} // creates vertical spacing block
Examples
<!-- Centered container -->
<div class="nu-u-mx-auto nu-u-px-l nu-u-py-xl">Content</div>
<!-- Card with spacing -->
<div class="nu-u-mb-m nu-u-p-m">Card</div>
<!-- Vertical spacing -->
<section>Section 1</section>
<div class="nu-c-spacer-xl"></div>
<section>Section 2</section>