SU-SWS/decanter

View on GitHub

Showing 54 of 67 total issues

Class should be nested within its parent Class
Open

.su-button--big.su-link {

Force Element Nesting

Rule force-element-nesting will enforce the nesting of elements

Examples

When enabled, the following are disallowed:

div p {
  content: '';
}

.parent {
  &__child h1 {
    content: '';
  }
}

a[target="_blank"] span {
  content: '';
}

When enabled, the following are allowed:

div {
  p {
    content: '';
  }
}

.parent {
  &__child {
    h1 {
      content: '';
    }
  }
}

a[target="_blank"] {
  span {
    content: '';
  }
}

Statement must begin on a new line
Open

  } @else if ($position == 'left' or $position == 'right') {

Brace Style

Rule brace-style will enforce the use of the chosen brace style.

Options

Examples

style

When style: '1tbs' or style: 'stroustrup', the following are allowed. When style: 'allman' the following are disallowed:

.foo {
  content: 'foo';
}

.foo,
.bar {
  content: 'bar';
}

@function foo() {
  @return 'foo';
}

@mixin bar() {
  content: 'bar';
}

When style: 'allman', the following are allowed. When style: '1tbs' or style: 'stroustrup', the following are disallowed:

.foo
{
  content: 'foo';
}

.foo,
.bar
{
  content: 'bar';
}

@function foo()
{
  @return 'foo';
}

@mixin bar()
{
  content: 'bar';
}

Differences between 1tbs and stroustrup

When style: '1tbs', the following are allowed. When style: 'stroustrup' or style: 'allman', the following are disallowed:

@if ($foo) {
  $bar: 'bar';
} @else {
  $bar: false;
}

When style: 'stroustrup', the following are allowed. When style: '1tbs' or style: 'stroustrup', the following are disallowed:

@if ($foo) {
  $bar: 'bar';
}
@else {
  $bar: false;
}

allow-single-line

When allow-single-line: true, the following are allowed. When allow-single-line: false, the following are disallowed:

.foo { content: 'foo'; }
.foo, .bar { content: 'bar'; }

@if ($foo) { $bar: 'foo'; }

// Allowed with style: '1tbs', disallowed with style: 'stroustrup' or style: 'allman'
@if ($foo) { $bar: 'foo'; } @else { $bar: false; }

// Allowed with style: 'stroustrup' or style: 'allman', disallowed with style: '1tbs'
@if ($foo) { $bar: 'foo'; }
@else { $bar: false; }

Statement must begin on a new line
Open

    } @else if ($position == 'top') {

Brace Style

Rule brace-style will enforce the use of the chosen brace style.

Options

Examples

style

When style: '1tbs' or style: 'stroustrup', the following are allowed. When style: 'allman' the following are disallowed:

.foo {
  content: 'foo';
}

.foo,
.bar {
  content: 'bar';
}

@function foo() {
  @return 'foo';
}

@mixin bar() {
  content: 'bar';
}

When style: 'allman', the following are allowed. When style: '1tbs' or style: 'stroustrup', the following are disallowed:

.foo
{
  content: 'foo';
}

.foo,
.bar
{
  content: 'bar';
}

@function foo()
{
  @return 'foo';
}

@mixin bar()
{
  content: 'bar';
}

Differences between 1tbs and stroustrup

When style: '1tbs', the following are allowed. When style: 'stroustrup' or style: 'allman', the following are disallowed:

@if ($foo) {
  $bar: 'bar';
} @else {
  $bar: false;
}

When style: 'stroustrup', the following are allowed. When style: '1tbs' or style: 'stroustrup', the following are disallowed:

@if ($foo) {
  $bar: 'bar';
}
@else {
  $bar: false;
}

allow-single-line

When allow-single-line: true, the following are allowed. When allow-single-line: false, the following are disallowed:

.foo { content: 'foo'; }
.foo, .bar { content: 'bar'; }

@if ($foo) { $bar: 'foo'; }

// Allowed with style: '1tbs', disallowed with style: 'stroustrup' or style: 'allman'
@if ($foo) { $bar: 'foo'; } @else { $bar: false; }

// Allowed with style: 'stroustrup' or style: 'allman', disallowed with style: '1tbs'
@if ($foo) { $bar: 'foo'; }
@else { $bar: false; }

Class should be nested within its parent Class
Open

  .su-main-nav .su-main-nav__toggle[aria-expanded="true"] + .su-main-nav__menu-lv1 + .su-site-search {

Force Element Nesting

Rule force-element-nesting will enforce the nesting of elements

Examples

When enabled, the following are disallowed:

div p {
  content: '';
}

.parent {
  &__child h1 {
    content: '';
  }
}

a[target="_blank"] span {
  content: '';
}

When enabled, the following are allowed:

div {
  p {
    content: '';
  }
}

.parent {
  &__child {
    h1 {
      content: '';
    }
  }
}

a[target="_blank"] {
  span {
    content: '';
  }
}

Duplicate properties are not allowed within a block
Open

  src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),

No Duplicate Properties

Rule no-duplicate-properties will enforce that duplicate properties are not allowed within the same block.

Options

  • exclude: [array of property names to be excluded from this rule] (defaults to empty array [])

Examples

When enabled, the following are disallowed:

.foo {
  margin: 0 0 15px;
  margin: 0;
}

Exclude

When a property is added to the exclude array as shown below then you may place duplicate properties immediately after one another, this is to prevent accidental duplication of properties.

no-duplicate-properties:
  - 1
  -
    exclude:
      - display

When display is added to the exclude array the following would be allowed:

.display-block {
  display: flex;
  display: inline-block;
  float: right;
}

When display is added to the exclude array the following would still be disallowed as the duplicate properties are separated by another property:

.display-block {
  display: flex;
  float: right;
  display: inline-block;
}

Duplicate properties are not allowed within a block
Open

  src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),

No Duplicate Properties

Rule no-duplicate-properties will enforce that duplicate properties are not allowed within the same block.

Options

  • exclude: [array of property names to be excluded from this rule] (defaults to empty array [])

Examples

When enabled, the following are disallowed:

.foo {
  margin: 0 0 15px;
  margin: 0;
}

Exclude

When a property is added to the exclude array as shown below then you may place duplicate properties immediately after one another, this is to prevent accidental duplication of properties.

no-duplicate-properties:
  - 1
  -
    exclude:
      - display

When display is added to the exclude array the following would be allowed:

.display-block {
  display: flex;
  display: inline-block;
  float: right;
}

When display is added to the exclude array the following would still be disallowed as the duplicate properties are separated by another property:

.display-block {
  display: flex;
  float: right;
  display: inline-block;
}

todo found
Open

///  @param {} $size       - todo

todo found
Open

///  @param {} $direction  - todo

todo found
Open

///  @param {} $icon       - todo

todo found
Open

/// @todo add link to typography page on site

todo found
Open

/// @todo Needs to be documented. Should this be reworked for asset management purposes?

todo found
Open

///  @param {} $hover      - todo

todo found
Open

/// @todo this needs a description

todo found
Open

///  @param {} $margin     - todo
Severity
Category
Status
Source
Language