@use 'config' as *;
@forward 'config';

// .ep-button {}
@mixin b($block) {
    $B: $namespace + '-' + $block;

    .#{$B} {
        @content;
    }
}

// &__element => .ep-button__element {}
@mixin e($element) {
    @at-root {
        #{&+$element-separator + $element} {
            @content;
        }
    }
}

// &--modifier => .ep-button--modifier {}
@mixin m($modifier) {
    @at-root {
        #{&+$modifier-separator + $modifier} {
            @content;
        }
    }
}

// .ep-button.is-xxx {}
@mixin is($state) {
    @at-root {
        #{&+'.'+$state-separator + $state} {
            @content;
        }
    }
}