Skip to content

@vibe-labs/design-spacing

Spacing tokens and padding, margin, and gap utilities for the Vibe Design System.

Installation

css
@import "@vibe-labs/design-spacing";

Tokens

Spacing scale defined in @layer vibe.tokens:

TokenValue
--space-00
--space-10.25rem (4px)
--space-20.5rem (8px)
--space-30.75rem (12px)
--space-41rem (16px)
--space-51.25rem (20px)
--space-61.5rem (24px)
--space-82rem (32px)
--space-102.5rem (40px)
--space-123rem (48px)
--space-164rem (64px)
--space-205rem (80px)
--space-246rem (96px)

Utilities / Generated Classes

All classes generated into @layer vibe.utilities. Scale steps: 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24.

Padding (padding.g.css)

  • .p-{n} — all sides
  • .px-{n} / .py-{n} — horizontal (inline) / vertical
  • .pt-{n} · .pr-{n} · .pb-{n} · .pl-{n} — individual sides

Margin (margin.g.css)

  • .m-{n} — all sides
  • .mx-{n} / .my-{n} — horizontal (inline) / vertical
  • .mt-{n} · .mr-{n} · .mb-{n} · .ml-{n} — individual sides

Gap (gap.g.css)

  • .gap-{n} — both axes
  • .gap-x-{n} — column gap
  • .gap-y-{n} — row gap

Horizontal utilities use inline-start/inline-end for RTL support.

Dist Structure

FileDescription
index.cssBarrel — imports all files below
spacing.cssToken definitions
padding.g.cssGenerated padding utilities
margin.g.cssGenerated margin utilities
gap.g.cssGenerated gap utilities

Dependencies

None — this package is self-contained.

Build

bash
npm run build

Usage Guide

Provides the spacing token scale and padding, margin, and gap utilities for consistent layout rhythm across the Vibe Design System.

Import

css
@import "@vibe-labs/design-spacing";

Common Patterns

1. Card padding with consistent internal spacing

html
<div class="p-6">
  <h2 class="mb-2">Card Title</h2>
  <p class="mb-4">Card body content goes here.</p>
  <button class="px-4 py-2">Action</button>
</div>

2. Vertical stack with uniform gap

html
<ul class="flex flex-col gap-4">
  <li>Item one</li>
  <li>Item two</li>
  <li>Item three</li>
</ul>

3. Grid with column and row gaps

html
<div class="grid grid-cols-3 gap-x-6 gap-y-8">
  <div>Col 1</div>
  <div>Col 2</div>
  <div>Col 3</div>
</div>

4. Horizontal centering with auto margins

css
/* Using the token directly */
.container {
  margin-inline: auto;
  padding-inline: var(--space-6);
}

5. Tight list with small gap

html
<nav class="flex flex-col gap-1">
  <a href="#">Dashboard</a>
  <a href="#">Settings</a>
  <a href="#">Profile</a>
</nav>

6. Section vertical rhythm

html
<section class="py-16">
  <div class="mb-8">
    <h2>Section Title</h2>
    <p>Section intro.</p>
  </div>
  <!-- content -->
</section>

Token Reference

TokenValuepx equiv
--space-000
--space-10.25rem4px
--space-20.5rem8px
--space-30.75rem12px
--space-41rem16px
--space-61.5rem24px
--space-82rem32px
--space-123rem48px
--space-164rem64px

Vibe