@use "sass:math";

@function unitless($number) {
  @if math.is-unitless($number) {
    @return $number;
  }
  @return math.div($number, $number * 0 + 1);
}

@function encode-color($string) {
  @if type-of($string) == "color" {
    $hex: str-slice(ie-hex-str($string), 4);
    $string: unquote("#{$hex}");
  }
  @return "%23" + $string;
}

// Power
/// @param {Number} $x
/// @param {Number} $n
/// @return {Number}
///
@function pow($x, $n) {
  $ret: 1;

  @if $n >= 0 {
    @for $i from 1 through $n {
      $ret: $ret * $x;
    }
  } @else {
    @for $i from $n to 0 {
      $ret: $ret / $x;
    }
  }

  @return $ret;
}

/// toFixed()
/// @author Kitty Giraudel
/// @param {Number} $float - Number to format
/// @param {Number} $digits [2] - Number of digits to leave
/// @return {Number}
///
@function to-fixed($float, $digits: 2) {
  $pow: pow(10, $digits);
  @return calc(round($float * $pow) / $pow);
}
