From dd5f3c463fab336d694f426dcad11a1783590fc9 Mon Sep 17 00:00:00 2001 From: Volpeon Date: Sat, 5 Feb 2022 07:52:13 +0100 Subject: Ported from import syntax to modules --- src/bem/_theme.scss | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'src/bem/_theme.scss') diff --git a/src/bem/_theme.scss b/src/bem/_theme.scss index a49981c..ff1ba49 100644 --- a/src/bem/_theme.scss +++ b/src/bem/_theme.scss @@ -4,6 +4,11 @@ /// @access public //// +@use './functions'; +@use './validators'; +@use './vars'; +@use '../contexts'; + /// /// Declare new rules for the current block for when this theme is active. /// @@ -12,23 +17,23 @@ /// /// @content /// -@mixin iro-bem-at-theme($name, $names...) { - $result: iro-bem-at-theme($name, $names...); +@mixin at-theme($name, $names...) { + $result: at-theme($name, $names...); $selector: nth($result, 1); $context: nth($result, 2); - @include iro-bem-validate( + @include validators.validate( 'at-theme', (name: $name, names: $names), $selector, $context ); - @include iro-context-push($iro-bem-context-id, $context...); + @include contexts.push(vars.$context-id, $context...); @at-root #{$selector} { @content; } - @include iro-context-pop($iro-bem-context-id); + @include contexts.pop(vars.$context-id); } /// @@ -37,19 +42,19 @@ /// /// @return {list} A list with two items: 1. selector, 2. context or `null` /// -/// @see {mixin} iro-bem-at-theme +/// @see {mixin} at-theme /// -@function iro-bem-at-theme($name, $names...) { - $noop: iro-context-assert-stack-must-contain($iro-bem-context-id, 'block'); +@function at-theme($name, $names...) { + $noop: contexts.assert-stack-must-contain(vars.$context-id, 'block'); - $parent-context: iro-context-get($iro-bem-context-id, 'block'); + $parent-context: contexts.get(vars.$context-id, 'block'); $parent-selector: map-get(nth($parent-context, 2), 'selector'); - //@if not iro-selector-suffix-match(&, $parent-selector) { + //@if not functions.selector-suffix-match(&, $parent-selector) { // @error 'An at-theme rule must be an immediate child of a block'; //} - $selector: iro-bem-theme-selector($name, $names...); + $selector: functions.theme-selector($name, $names...); $selector: selector-nest($selector, &); $context: 'at-theme', ( -- cgit v1.2.3-54-g00ecf