summaryrefslogtreecommitdiffstats
path: root/src/styles/abstracts/functions/_str-replace.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/styles/abstracts/functions/_str-replace.scss')
-rw-r--r--src/styles/abstracts/functions/_str-replace.scss22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/styles/abstracts/functions/_str-replace.scss b/src/styles/abstracts/functions/_str-replace.scss
new file mode 100644
index 0000000..98cc4b0
--- /dev/null
+++ b/src/styles/abstracts/functions/_str-replace.scss
@@ -0,0 +1,22 @@
+@use "sass:string";
+
+/// Replace `$search` with `$replace` in `$string`
+/// @author Hugo Giraudel
+/// @param {String} $string - Initial string
+/// @param {String} $search - Substring to replace
+/// @param {String} $replace ('') - New value
+/// @return {String} - Updated string
+@function str-replace($string, $search, $replace: "") {
+ $index: string.index($string, $search);
+
+ @if $index {
+ @return string.slice($string, 1, $index - 1) + $replace +
+ str-replace(
+ string.slice($string, $index + string.length($search)),
+ $search,
+ $replace
+ );
+ }
+
+ @return $string;
+}