// Theme functions
@use "sass:math";

@function strip-unit($number) {
  @if type-of($number) == "number" and not unitless($number) {
    @return math.div($number, $number * 0 + 1);
  }
  @return $number;
}

@function to-rem($value-in-px, $base-in-px: $font-size-root) {
  $value: strip-unit($value-in-px);
  $base: strip-unit($base-in-px);
  $result: math.div($value, $base) * 1rem;
  @return $result;
}

@function map-prev-key($map, $text) {
  $new-map: ();

  @each $key, $value in $map {
    $new-key: "#{$text}-#{$key}";
    $new-map: map-merge($new-map, ($new-key: $value));
  }

  @return $new-map;
}

@function map-get-key($map, $value) {
  @each $key, $val in $map {
    @if $val == $value {
      @return $key;
    }
  }
  @return null;
}

@function color-contrast-var($color) {
  $value: color-contrast($color);
  $key: map-get-key($grays, $value);

  @if $value == $white {
    @return var(--#{$prefix}white);
  }

  @if $value == $black {
    @return var(--#{$prefix}black);
  }

  @if $key != null {
    @return var(--#{$prefix}gray-#{$key});
  }

  @return null;
}
