From f0f84513f8efe533b6ee670a6f1a0c074387b2ec Mon Sep 17 00:00:00 2001 From: Volpeon Date: Wed, 13 Aug 2025 12:01:46 +0200 Subject: Make use of SASS modules --- src/bem/_state.scss | 84 ++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) (limited to 'src/bem/_state.scss') diff --git a/src/bem/_state.scss b/src/bem/_state.scss index 41bacee..bd0efb1 100644 --- a/src/bem/_state.scss +++ b/src/bem/_state.scss @@ -4,6 +4,8 @@ /// @access public //// +@use 'sass:list'; +@use 'sass:selector'; @use './validators'; @use './vars'; @use '../contexts'; @@ -56,22 +58,22 @@ /// } /// @mixin state($prefix, $state, $states...) { - $result: state($prefix, $state, $states...); - $selector: nth($result, 1); - $context: nth($result, 2); + $result: state($prefix, $state, $states...); + $selector: list.nth($result, 1); + $context: list.nth($result, 2); - @include validators.validate( - 'state', - (prefix: $prefix, state: $state, states: $states), - $selector, - $context - ); + @include validators.validate( + 'state', + (prefix: $prefix, state: $state, states: $states), + $selector, + $context + ); - @include contexts.push(vars.$context-id, $context...); - @at-root #{$selector} { - @content; - } - @include contexts.pop(vars.$context-id); + @include contexts.push(vars.$context-id, $context...); + @at-root #{$selector} { + @content; + } + @include contexts.pop(vars.$context-id); } /// @@ -82,29 +84,27 @@ /// @see {mixin} has /// @function state($prefix, $state, $states...) { - $selector: (); - $parts-data: (); + $selector: (); + $parts-data: (); - @each $state in join($state, $states) { - $sel: selector-parse('.#{$prefix}-#{$state}'); - @if & { - $sel: selector-append(&, $sel); - } - $selector: join($selector, $sel, comma); - $parts-data: append( - $parts-data, ( - 'name': $state, - 'selector': $sel - ) - ); - } + @each $state in list.join($state, $states) { + $sel: selector.parse('.#{$prefix}-#{$state}'); + @if & { + $sel: selector.append(&, $sel); + } + $selector: list.join($selector, $sel, comma); + $parts-data: list.append($parts-data, ( + 'name': $state, + 'selector': $sel + )); + } - $context: 'state', ( - 'parts': $parts-data, - 'selector': $selector - ); + $context: 'state', ( + 'parts': $parts-data, + 'selector': $selector + ); - @return $selector $context; + @return $selector $context; } /// @@ -113,9 +113,9 @@ /// It's a shorthand for state('is', $state, $states...). /// @mixin is($state, $states...) { - @include state('is', $state, $states...) { - @content; - } + @include state('is', $state, $states...) { + @content; + } } /// @@ -126,7 +126,7 @@ /// @see {mixin} is /// @function is($state, $states...) { - @return state('is', $state, $states...); + @return state('is', $state, $states...); } /// @@ -135,9 +135,9 @@ /// It's a shorthand for state('has', $state, $states...). /// @mixin has($state, $states...) { - @include state('has', $state, $states...) { - @content; - } + @include state('has', $state, $states...) { + @content; + } } /// @@ -148,5 +148,5 @@ /// @see {mixin} has /// @function has($state, $states...) { - @return state('has', $state, $states...); + @return state('has', $state, $states...); } -- cgit v1.2.3-70-g09d2