@use "sass:string";

@function replace($string, $search, $replace: "") {
  $index: string.index($string, $search);

  @if $index {
    @return string.slice($string, 1, $index - 1) + $replace + replace(string.slice($string, $index + string.length($search)), $search, $replace);
  }

  @return $string;
}

@function escape($color) {
  $color: replace($color, "%", "%25");
  $color: replace($color, "#", "%23"); // stylelint-disable-line scss/no-duplicate-dollar-variables
  $color: replace($color, "$", "%24"); // stylelint-disable-line scss/no-duplicate-dollar-variables
  $color: replace($color, "(", "%28"); // stylelint-disable-line scss/no-duplicate-dollar-variables
  $color: replace($color, ")", "%29"); // stylelint-disable-line scss/no-duplicate-dollar-variables
  $color: replace($color, " ", "%20"); // stylelint-disable-line scss/no-duplicate-dollar-variables

  @return $color;
}
