@use './reset';
@use './css-variable';
@use './base';
@use './typography';
@use './modules';
@use './blocks';
@use './settings';

@mixin roolith-base() {
    @include css-variable.roolith-css-variable();
    @include reset.roolith-reset();
    @include base.roolith-base();
    @include typography.roolith-typography();
}

@mixin roolith-modules() {
    @if (settings.$grid-layout == css-grid) {
        @include modules.roolith-css-grid();
    } @else if(settings.$grid-layout == traditional) {
        @include modules.roolith-grid();
    }

    @include modules.roolith-animation();
    @include modules.roolith-button();
    @include modules.roolith-nav();
    @include modules.roolith-form();
    @include modules.roolith-table();
    @include modules.roolith-img();
    @include modules.roolith-message();
    @include modules.roolith-badge();
    @include modules.roolith-breadcrumb();
    @include modules.roolith-card();
    @include modules.roolith-dropdown();
    @include modules.roolith-modal();
    @include modules.roolith-stat();
    @include modules.roolith-accordion();
    @include modules.roolith-tab();
    @include modules.roolith-box();
    @include modules.roolith-article();
    @include modules.roolith-progress-bar();
    @include modules.roolith-collage();
    @include modules.roolith-avatar();
    @include modules.roolith-tag();
    @include modules.roolith-page();
    @include modules.roolith-color();
    @include modules.roolith-comment();
    @include modules.roolith-toast-notification();
    @include modules.roolith-icon();
    @include modules.roolith-state();
}

@mixin roolith-extended-modules() {
    @include modules.roolith-layout();
    @include modules.roolith-sidebar-nav();
    @include modules.roolith-tooltip();
    @include modules.roolith-popover();
    @include modules.roolith-drawer();
    @include modules.roolith-form-extended();
    @include modules.roolith-combo-box();
    @include modules.roolith-action-menu();
    @include modules.roolith-pagination();
    @include modules.roolith-spacer();
    @include modules.roolith-indicator();
    @include modules.roolith-quick-menu();
    @include modules.roolith-datepicker();
}

@mixin roolith-blocks() {
    @include blocks.roolith-block-header();
    @include blocks.roolith-block-inline();
    @include blocks.roolith-block-repeater();
    @include blocks.roolith-block-box();
    @include blocks.roolith-block-banner();
    @include blocks.roolith-block-auth();
    @include blocks.roolith-block-form();
    @include blocks.roolith-block-grid();
    @include blocks.roolith-block-list();
    @include blocks.roolith-block-enable();
    @include blocks.roolith-block-stat();
    @include blocks.roolith-block-stat-table();
    @include blocks.roolith-block-analytics();
}

@mixin roolith-everything() {
    @include roolith-base();
    @include roolith-modules();
    @include roolith-extended-modules();
    @include roolith-blocks();
}
