@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, '#', '%23');
  $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;
}
