@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-paginator) {
        $this: bem--selector-to-string(&);
        @include register-component(
            $name: string.slice($this, 2, -1),
            $deps: (
                igx-button,
                igx-icon-button,
                igx-input-group,
            )
        );

        @extend %igx-paginator !optional;
        @extend %igx-paginator--sizable !optional;
    }

    @include b(igx-page-nav) {
        @extend %igx-page-nav !optional;

        @include e(text) {
            @extend %igx-page-nav__text !optional;
        }
    }

    @include b(igx-page-size) {
        @extend %igx-page-size !optional;

        @include e(label) {
            @extend %igx-page-size__label !optional;
        }

        @include e(select) {
            @extend %igx-page-size__select !optional;
        }
    }

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