/// Returns true when CSS values are worth anything.
///
/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-chunk
///
/// @param {UNIT} $val determine whether this value warrants being in CSS.
///
/// @returns {BOOL} `false` if the $val equates to anything like "none" or zero.
///
/// @example
/// $val: 0px;
/// label {
///   if not no_means_no($val) {
///     font-size: $val;
///   }
/// }
/// /// label {
/// /// }
///
/// @example
/// $val: 12px;
/// label {
///   if not no_means_no($val) {
///     font-size: $val;
///   }
/// }
/// /// label {
/// ///   font-size: 12px;
/// /// }
@function no_means_no($val) {
  @if not $val {
    @return true;
  }

  @if type-of($val) == number {
    @if strip_unit($val) == 0 {
      @return true;
    }
  }

  @if type-of($val) == string {
    @if quote(strip_unit($val)) == "0" {
      @return true;
    }

    @if to-lower-case(quote($val)) == "normal" {
      @return true;
    }

    @if to-lower-case(quote($val)) == "none" {
      @return true;
    }

    @if to-lower-case(quote($val)) == "false" {
      @return true;
    }

    @if to-lower-case(quote($val)) == "null" {
      @return true;
    }

    @if to-lower-case(quote($val)) == "no" {
      @return true;
    }
    @return quote($val) == "false";
  }

  @return false;
}
