@charset 'UTF-8';
// @import 'variables.css';

@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

// 1. Configuration and helpers
@import './src/core/style/abstracts/breakpoints', 
        './src/core/style/abstracts/functions', 
        './src/core/style/abstracts/variables', 
        './src/core/style/abstracts/mixins';

// 2. Vendors
@import './src/core/style/vendors/normalize';

// 3. Base stuff
@import './src/core/style/base/helpers', 
        './src/core/style/base/base', 
        './src/core/style/base/typography';

// 4. theme
@import '~@angular/material/theming';

// Override material font.
$pepperi-typography: mat-typography-config(
    $font-family: $font-family-body
);
@include mat-core($pepperi-typography);

/*************************************************************************************************************/
/* Here we add the system + component's themes (all the colors definitions that change by the theme) - Start */
/*************************************************************************************************************/
// @import '../app/shared/header/header.component.theme';

@import './src/core/style/components/general', 
        './src/core/style/components/button', 
        './src/core/style/components/checkbox', 
        './src/core/style/components/radio-button', 
        './src/core/style/components/datetime', 
        './src/core/style/components/file', 
        './src/core/style/components/input', 
        './src/core/style/components/select',
        './src/core/style/components/signature', 
        './src/core/style/components/splitter', 
        './src/core/style/components/textarea', 
        './src/core/style/components/quantity-selector';

@import './address/address.component.theme';
@import './attachment/attachment.component.theme';
@import './checkbox/checkbox.component.theme';
@import './color/color.component.theme';
@import './color/color-picker.component.theme';
@import './date/date.component.theme';
@import './dialog/dialog.component.theme';
@import './field-title/field-title.component.theme';
@import './files-uploader/files-uploader.component.theme';
@import './group-buttons/group-buttons.component.theme';
@import './image/image.component.theme';
@import './images-filmstrip/images-filmstrip.component.theme';
// @import './indicators/indicators.component.theme';
@import './internal-button/internal-button.component.theme';
// @import './internal-page/internal-page.component.theme';
@import './menu/menu.component.theme';
@import './quantity-selector/quantity-selector.component.theme';
@import './rich-html-textarea/rich-html-textarea.component.theme';
// @import './rich-text-editor/rich-text-editor.component.theme';
@import './select/select.component.theme';
@import './separator/separator.component.theme';
@import './signature/signature.component.theme';
@import './textarea/textarea.component.theme';
@import './textbox/textbox.component.theme';
@import './textbox-icon/textbox-icon.component.theme';

@import './form/form.component.theme';
@import './list/list.component.theme';

// @import '../app/account-details/account-details.component.theme';
// @import '../app/shared/expanded-footer/expanded-footer.component.theme';

// @import '../app/settings/settings-bar/settings-bar.component.theme';
// @import '../app/shared/top-bar/top-bar.component.theme';
// @import '../app/shared/side-bar/side-bar.component.theme';

// @import '../app/shared/list-menu/list-menu.component.theme';
// @import '../app/shared/list-actions/list-actions.component.theme';
// @import '../app/shared/list-chooser/list-chooser.component.theme';
// @import '../app/shared/sort-by/sort-by.component.theme';
// @import '../app/shared/search/search.component.theme';
// @import '../app/shared/workflow/workflow.component.theme';
// @import '../app/shared/list-total/list-total.component.theme';
// @import '../app/shared/list-totals-view/list-totals-view.component.theme';
// @import '../app/shared/json-date-filter/json-date-filter.component.theme';
// @import '../app/shared/bread-crumbs/bread-crumbs.component.theme';
// @import '../app/shared/rich-text-editor/rich-text-editor.component.theme';
// @import '../app/shared/global-dialog/global-dialog.component.theme';
// @import '../app/shared/downloads/downloads.component.theme';


// Use this import in a real project instead
@import '~@mat-datetimepicker/core/datetimepicker/datetimepicker-theme.scss';
@import './src/core/style/themes/default-theme.scss';
$material-theme-for-pepperi: $material-default-theme;

@mixin material-theme($material-theme) {

    @if ($material-theme == null) {
        $material-theme: $material-theme-for-pepperi;
    }

    // Add angular-material-theme.
    @include angular-material-theme($material-theme);

    // Add mat-datetimepicker-theme.
    @include mat-datetimepicker-theme($material-theme);

    // Remove background
    &:focus,
    &:hover,
    &:active {
        background: unset;
    }
}

@mixin pepperi-theme($material-theme: null) {
    .pepperi-theme {
        // Add material theme.
        @include material-theme($material-theme);

        // Declare the system globals.
        $pepperi-theme: get-pepperi-theme();

        @include declare-system-base-theme($pepperi-theme);
        @include declare-system-typography-theme($pepperi-theme);

        // Add global layout.
        // @include pepperi-header-theme($pepperi-theme);

        // Add global components themes (from ./src/core/style).
        @include pepperi-general-theme($pepperi-theme);
        @include pepperi-button-theme($pepperi-theme);
        @include pepperi-checkbox-theme($pepperi-theme);
        @include pepperi-radio-button-theme($pepperi-theme);
        @include pepperi-datetime-theme($pepperi-theme);
        @include pepperi-file-theme($pepperi-theme);
        @include pepperi-input-theme($pepperi-theme);
        @include pepperi-select-theme($pepperi-theme);
        @include pepperi-signature-theme($pepperi-theme);
        @include pepperi-splitter-theme($pepperi-theme);
        @include pepperi-textarea-theme($pepperi-theme);
        
        // Add components themes (from lib).
        @include pepperi-address-component-theme($pepperi-theme);
        @include pepperi-attachment-component-theme($pepperi-theme);
        @include pepperi-checkbox-component-theme($pepperi-theme);
        @include pepperi-color-component-theme($pepperi-theme);
        @include pepperi-color-picker-component-theme($pepperi-theme);
        @include pepperi-date-component-theme($pepperi-theme);
        @include pepperi-dialog-component-theme($pepperi-theme);
        @include pepperi-field-title-theme($pepperi-theme);
        @include pepperi-files-uploader-theme($pepperi-theme);
        @include pepperi-group-buttons-theme($pepperi-theme);
        @include pepperi-image-component-theme($pepperi-theme);
        @include pepperi-images-filmstrip-component-theme($pepperi-theme);
        // @include pepperi-indicators-component-theme($pepperi-theme);
        @include pepperi-internal-button-component-theme($pepperi-theme);
        // @include pepperi-internal-page-component-theme($pepperi-theme);
        @include pepperi-menu-component-theme($pepperi-theme);
        @include pepperi-quantity-selector-component-theme($pepperi-theme);
        @include pepperi-rich-html-textarea-component-theme($pepperi-theme);
        // @include pepperi-rich-text-editor-component-theme($pepperi-theme);
        @include pepperi-select-component-theme($pepperi-theme);
        @include pepperi-separator-component-theme($pepperi-theme);
        @include pepperi-signature-component-theme($pepperi-theme);
        @include pepperi-textarea-component-theme($pepperi-theme);
        @include pepperi-textbox-component-theme($pepperi-theme);
        @include pepperi-textbox-icon-component-theme($pepperi-theme);

        @include pepperi-form-component-theme($pepperi-theme);
        @include pepperi-list-component-theme($pepperi-theme);

        // @include pepperi-expanded-footer-component-theme($pepperi-theme);
        // @include pepperi-account-details-component-theme($pepperi-theme);

        // @include pepperi-settings-bar-component-theme($pepperi-theme);
        // @include pepperi-top-bar-component-theme($pepperi-theme);
        // @include pepperi-side-bar-component-theme($pepperi-theme);
        // @include pepperi-list-menu-component-theme($pepperi-theme);
        // @include pepperi-list-actions-component-theme($pepperi-theme);
        // @include pepperi-list-chooser-component-theme($pepperi-theme);
        // @include pepperi-sort-by-component-theme($pepperi-theme);
        // @include pepperi-search-component-theme($pepperi-theme);
        // @include pepperi-workflow-component-theme($pepperi-theme);
        // @include pepperi-list-total-component-theme($pepperi-theme);
        // @include pepperi-list-totals-view-component-theme($pepperi-theme);
        // @include pepperi-json-date-filter-component-theme($pepperi-theme);
        // @include pepperi-bread-crumbs-component-theme($pepperi-theme);
        // @include pepperi-rich-text-editor-component-theme($pepperi-theme);
        // @include pepperi-global-dialog-component-theme($pepperi-theme);
        // @include pepperi-downloads-component-theme($pepperi-theme);
    }
}

/*************************************************************************************************************/
/* Here we add the system + component's themes (all the colors definitions that change by the theme) - End   */
/*************************************************************************************************************/

// @import './src/core/style/themes/default-theme.scss';
// .default-theme {
//     $material-theme: $material-default-theme;
//     @include pepperi-theme($material-theme);

//     &:focus,
//     &:hover,
//     &:active {
//         background: unset;
//     }
// }

// @import './src/core/style/themes/light-theme.scss';
// .light-theme {
//     $material-theme: $material-light-theme;
//     @include pepperi-theme($material-theme);// , $user-light-theme-color);
// }

// @import './src/core/style/themes/black-theme.scss';
// .black-theme {
//     $material-theme: $material-black-theme;
//     @include pepperi-theme($material-theme);// , $user-black-theme-color);
// }

// @import './src/core/style/themes/nature-theme.scss';
// .nature-theme {
//     $material-theme: $material-nature-theme;
//     @include pepperi-theme($material-theme);// , $user-nature-theme-color);
// }
