2.4.1 • Published 2 years ago

@sass-collective/breakpoint v2.4.1

Weekly downloads
1
License
MIT
Repository
github
Last release
2 years ago

Sass Breakpoint

Version Downloads License

Introduction

Easily manage your CSS breakpoint rules.

Installing

npm install @sass-collective/breakpoint

Usage

@use "@sass-collective/breakpoint";

Screen sizes

You can define the screen sizes variables:

@use "@sass-collective/breakpoint" with (
    $screens: (
        "lg": 1024px
    )
);

Options

VariableDefaultDescription
$screensSee Tokens section.Sets a list of breakpoint tokens.
$clean-sweepfalseErase the default $screens config for helping you on a fresh start with your own custom tokens.
DEPRECATED $stricttrueSubtract 1px on max-width value, 960px come 959px. Available only with the deprecated styles mixin.

Tokens

KeyValue
xs360px
sm480px
md768px
lg960px
xl1200px
2xl1400px

You can also define new size:

@use "@sass-collective/breakpoint" with (
    $screens: (
        "3xl": 1920px
    )
);

The new token named 3xl is now available like any others.

Declare your own tokens with $clean-sweep

The following Sass...

@use "@sass-collective/breakpoint" with (
    $clean-sweep: true,
    $screens: (
        "tablet": 768px,
        "desktop": 960px
    )
);

...will produce the following tokens...

KeyValue
tablet768px
desktop960px

Customization

Sass mixins

MixinDescription
up($value)Sets media rule for minimum with only.
down($value)Sets media rule for maximum with only.
only($value)Sets media rule for between minimum and maximum widths, but the maximum will be automatically set with next value of $value.
between($min, $max)Sets media rule for between minimum and maximum widths.
config($screens, $clean-sweep)Override top-level with configuration.
DEPRECATED styles($min-width, $max-width, $root-selector)Sets breakpoint rule.

Declare rule with breakpoint.up()

The following Sass...

@use "@sass-collective/breakpoint";

.foo {
    @include breakpoint.up(lg) {
        color: darkcyan;
    }
}

...will produce the following CSS...

@media (min-width: 960px) { 
    .foo {
        color: darkcyan;
    }
}

Declare rule with breakpoint.down()

The following Sass...

@use "@sass-collective/breakpoint";

.foo {
    @include breakpoint.down(lg) {
        color: darkcyan;
    }
}

...will produce the following CSS...

@media (max-width: 960px) {
    .foo {
        color: darkcyan;
    }
}

Declare rule with breakpoint.only()

The following Sass...

@use "@sass-collective/breakpoint";

.foo {
    @include breakpoint.only(lg) {
        color: darkcyan;
    }
}

...will produce the following CSS...

@media (min-width: 960px) and (max-width: 1199px) {
    .foo {
        color: darkcyan;
    }
}

Declare rule with breakpoint.between()

The following Sass...

@use "@sass-collective/breakpoint";

.foo {
    @include breakpoint.between(md, xl) {
        color: darkcyan;
    }
}

...will produce the following CSS...

@media (min-width: 768px) and (max-width: 1199px) {
    .foo {
        color: darkcyan;
    }
}

Declare config with breakpoint.config()

If variables are already configured on top-level, by another dependency for example, you can't use the @use ... with solution anymore, because the module can only be setup once, this is Sass restriction with Module System, but another solution exist for override the main configuration, with a mixin!

See official documentation about override configuration with mixins.

@include breakpoint.config((
    "3xl": 1980px
));

// or

@include breakpoint.config((
    "tablet": 768px,
    "desktop": 960px
), true);

Call breakpoint.config() before the first breakpoint.xxx() mixin call in your project or file.

Sass functions

FunctionDescription
get-value($token)Get value from the configured tokens list. Ex. @include breakpoint.get-value(lg); // 960px
2.4.1

2 years ago

2.3.0

2 years ago

2.4.0

2 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago