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

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

        @extend %igx-expansion-panel !optional;

        @include e(title-wrapper) {
            @extend %igx-expansion-panel__title-wrapper !optional;
        }

        @include e(header-inner) {
            @extend %igx-expansion-panel__header-inner !optional;
        }

        @include e(header-title) {
            @extend %igx-expansion-panel__header-title !optional;
        }

        @include e(header-description) {
            @extend %igx-expansion-panel__header-description !optional;
        }

        @include e(header-icon, $m: start) {
            @extend %igx-expansion-panel__header-icon--start !optional;
        }

        @include e(header-icon, $m: end) {
            @extend %igx-expansion-panel__header-icon--end !optional;
        }

        @include e(header-icon, $m: none) {
            @extend %igx-expansion-panel__header-icon--none !optional;
        }

        @include e(body) {
            @extend %igx-expansion-panel__body !optional;
        }

        @include  m(disabled) {
            @extend %igx-expansion-panel--disabled !optional;
        }

        @include m(expanded) {
            @extend %igx-expansion-panel--expanded !optional;
        }
    }

    @include b(igx-accordion) {
        @extend %igx-accordion !optional;
    }
}
