////
/// @group components
/// @author <a href="https://github.com/desig9stein" target="_blank">Marin Popov</a>
/// @requires {mixin} bem-block
/// @requires {mixin} bem-elem
/// @requires {mixin} bem-mod
////

/// @access private
@mixin _igx-dd-wrapper{
    @include b(igx-drop-down-wrapper) {
        @extend %igx-drop-down-wrapper !optional;

        @include e(header) {
            @extend %igx-drop-down-wrapper__header !optional;
        }

        @include e(footer) {
            @extend %igx-drop-down-wrapper__footer !optional;
        }
    }
}

/// @access public
@include b(igx-drop-down) {
    $this: bem--selector-to-string(&);
    @include register-component(str-slice($this, 2, -1));

    @include _igx-dd-wrapper();

    @extend %igx-drop-down !optional;

    @include e(list) {
        @extend %igx-drop-down__list !optional;
    }

    @include e(list, $m: select) {
        @extend %igx-drop-down__list !optional;
        @extend %igx-drop-down__list--select !optional;
    }

    @include e(item) {
        @extend %igx-drop-down__item !optional;
    }

    @include e(item, $m: cosy) {
        @extend %igx-drop-down__item--cosy !optional;
    }

    @include e(item, $m: compact) {
        @extend %igx-drop-down__item--compact !optional;
    }

    @include e(item, $m: focused) {
        @extend %igx-drop-down__item--focused !optional;
    }

    @include e(item, $m: selected) {
        @extend %igx-drop-down__item--selected !optional;
    }

    @include e(item, $mods: (selected, focused)) {
        @extend %igx-drop-down__item--selected--focused !optional;
    }

    @include e(item, $m: disabled) {
        @extend %igx-drop-down__item--disabled !optional;
    }

    @include e(header) {
        @extend %igx-drop-down__header !optional;
    }

    @include e(header, $m: cosy) {
        @extend %igx-drop-down__header--cosy !optional;
    }

    @include e(header, $m: compact) {
        @extend %igx-drop-down__header--compact !optional;
    }

    @include e(group) {
        @extend %igx-drop-down__group !optional;
    }

    @include e(group, $m: disabled) {
        @extend %igx-drop-down__item--disabled !optional;
    }
}
