Seed Spacing Utilities

0.4.3 · maintenance · verified Sun Apr 19

Seed Spacing is a Sass (SCSS) utility pack that provides a comprehensive set of classes and a helper function for managing consistent margins and padding within projects built with the Seed CSS framework. It offers granular control over spacing values, directions, and responsive breakpoints. Currently at version 0.4.3, its release cadence is tied to updates in its core dependencies, particularly `seed-breakpoints`, making releases somewhat infrequent but purposeful. A key differentiator is its modular design, allowing developers to configure namespaces and define their own spacing scales via Sass variables, reducing unnecessary CSS output. It emphasizes functional CSS principles and integrates seamlessly into Sass build pipelines, generating utility classes and a `spacing($size)` function for use in custom SCSS. This approach ensures design consistency and optimizes stylesheet size.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to integrate `seed-spacing` into a Gulp build pipeline using `gulp-sass`, showing both JavaScript configuration and illustrative SCSS usage of utility classes, the `spacing()` function, and responsive modifiers.

const gulp = require('gulp');
const sass = require('gulp-sass')(require('sass')); // Using dart-sass for modern Node.js
const seedSpacingPack = require('seed-spacing');

gulp.task('compile-sass', function () {
  return gulp.src('./sass/**/*.scss')
    .pipe(sass({
      includePaths: seedSpacingPack // Provides the path to seed-spacing's SCSS files
    }))
    .pipe(gulp.dest('./css'));
});

// --- In your main.scss file (e.g., './sass/main.scss'): ---
// Packs
@import "pack/seed-spacing/_index";

// Example usage of generated utility classes:
.my-component {
  @extend .u-mrg--a-3; // Applies margin-all: 12px; (based on default config)
  padding-bottom: spacing(5); // Applies padding-bottom: 20px; (using the Sass function)
}

.responsive-element {
  @extend .u-pad--v-2; // Vertical padding 8px
  @extend .u-pad--v@md-4; // Vertical padding 16px at medium breakpoint
  margin-left: spacing(auto); // Horizontal auto margin for centering
}

// Customizing variables (optional, typically in a config file before import):
$seed-spacing-sizes: (
  sm: 4px,
  md: 8px,
  lg: 16px
) !default;

view raw JSON →