@use 'sass:math';

@function pixel-to-em($px, $context: $font-size) {
  @if (unitless($number: $px)) {
    $px: $px * 1px;
  }

  @if (unitless($number: $context)) {
    $context: $context * 1px;
  }

  @return math.div($px, $context) * 1em;
}

@function pixel-to-rem($px, $context: $font-size) {
  @if (unitless($number: $px)) {
    $px: $px * 1px;
  }

  @if (unitless($number: $context)) {
    $context: $context * 1px;
  }

  @return math.div($px, $context) * 1rem;
}

@function get-spacer($sp) {
  @if $sp == 0 {
    @return 0;
  }

  @return math.div(ceil((0.4375 - (0.1577381 * $sp) + (0.07440476 * $sp * $sp)) * 10), 10);
}

@function get-em-spacer($sp: 1) {
  @return get-spacer($sp) * 1em;
}

@function get-rem-spacer($sp: 1) {
  @return get-spacer($sp) * 1rem;
}

/// Remove the unit of a length
/// @param {Number} $number - Number to remove unit from
/// @return {Number} - Unitless number
@function strip-unit($number) {
  @if type-of($number) == 'number' and not unitless($number) {
    @return math.div($number, ($number * 0 + 1));
  }

  @return $number;
}
