@use "sass:math";

@use "../variables";
@use "strip-unit" as *;
@use "to-px" as *;
@use "rem" as *;

@function fluid(
  $min-size,
  $max-size,
  $min-container-width: variables.$min-site-width,
  $max-container-width: variables.$max-site-width,
  $base-font-size: variables.$base-font-size,
  $scale-unit: "vw"
) {
  $min-size: strip-unit(to-px($min-size, $base-font-size));
  $max-size: strip-unit(to-px($max-size, $base-font-size));
  $min-container-width: strip-unit($min-container-width);
  $max-container-width: strip-unit($max-container-width);

  $slope: math.div(
    $max-size - $min-size,
    $max-container-width - $min-container-width
  );

  $intersect: $min-size - $slope * $min-container-width;

  @return clamp(
    #{rem($min-size)},
    #{$slope * 100}#{$scale-unit} + #{rem($intersect)},
    #{rem($max-size)}
  );
}
