@use '../../base' as *;
@use 'sass:string';

/// @access private
/// @author <a href="https://github.com/simeonoff" target="_blank">Simeon Simeonoff</a>
@mixin component {
    @include b(igx-badge) {
        $this: bem--selector-to-string(&);
        @include register-component(
            $name: string.slice($this, 2, -1),
            $deps: (
                igx-icon,
            )
        );

        @extend %igx-badge-display !optional;

        @include e(value) {
            @extend %igx-badge-value !optional;
        }

        @include m(info) {
            @extend %igx-badge--info !optional;
        }

        @include m(success) {
            @extend %igx-badge--success !optional;
        }

        @include m(warning) {
            @extend %igx-badge--warn !optional;
        }

        @include m(error) {
            @extend %igx-badge--error !optional;
        }

        @include m(dot) {
            @extend %igx-badge--dot !optional;
        }

        @include m(outlined) {
            @extend %igx-badge--outlined !optional;
        }

        @include m(square) {
            @extend %igx-badge--square !optional;
        }

        @include m(hidden) {
            @extend %igx-badge--hidden !optional;
        }
    }
}
