Sha256: 1a68fb706bddf389685f2d63975c397223ca941862bfd2ee727c1545860df536

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

// List helpers
// ============

// Return the sum of all items in a list.
@function list-sum(
  $list
) {
  $sum: 0;

  @each $item in $list {
    $sum: $sum + $item;
  }

  @return $sum;
}

// Return list of index locations where a query appears in a list,
// including unit queries.
@function query-list(
  $list,
  $query,
  $mode: none
) {
  $return: ();

  @for $i from 1 through length($list) {
    @if $mode == unit {
      @if unit(nth($list, $i)) == $query {
        $return: append($return, $i);
      }
    }
    @else {
      @if nth(nth($list, $i), 1) == $query {
        $return: append($return, $i);
      }
    }
  }

  @if $return == () {
    $return: false;
  }

  @return $return;
}

// Reverses direction of a list
@function reverse(
  $list
) {
  $length: length($list);
  $return: ();

  @for $i from 0 to $length {
    $return: append($return, nth($list, $length - $i), comma);
  }

  @return $return;
}

// Return a list with specific items removed
@function filter(
  $list,
  $target
) {
  $clean: compact();

  @if index($list, $target) {
    @each $item in $list {
      $clean: if($item == $target, $clean, append($clean, $item));
    }
  } @else {
    $clean: $list;
  }

  @return $clean;
}

@function nth-filter(
  $list,
  $index
) {
  $clean: compact();

  @each $item in $list {
    $clean: if(index($list, $item) == $index, $clean, append($clean, $item));
  }

  @return $clean;
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
susy-2.0.0.alpha.2 sass/susy/helpers/_sass-lists.scss