@mixin hy-stroked-btn {
    color: $hy-stroked-btn-color;
    border: 1px solid $hy-stroked-btn-stroke;
    background-color: $hy-stroked-btn-bg;
    &:hover {
        background-color: $hy-stroked-btn-hover;
    }
    &:active {
        background-color: $hy-stroked-btn-pressed;
    }
    &.mat-button-disabled.mat-button-disabled,
    &.mat-button-disabled,
    &.mat-disabled.mat-disabled,
    &.mat-disabled {
        background-color: $hy-stroked-btn-disabled-bg;
        border: 1px solid $hy-stroked-btn-disabled-stroke;
        color: $hy-text-disabled;
    }
}

@mixin hy-flat-btn {
    background-color: $hy-flat-btn-bg;
    border: none;
    color: $hy-text-white;
    &:hover {
        background-color: $hy-flat-btn-hover;
    }
    &:active {
        background-color: $hy-flat-btn-pressed;
    }
    &.mat-button-disabled.mat-button-disabled,
    &.mat-button-disabled,
    &.mat-disabled.mat-disabled,
    &.mat-disabled {
        background-color: $hy-flat-btn-disabled-bg;
        color: $hy-text-disabled;
    }
    .mat-icon {
        color: $hy-text-white;
    }
}

@mixin hy-text-btn {
    color: $hy-text-btn-color;
    &:hover {
        background-color: $hy-text-btn-hover;
    }
    &:active {
        background-color: $hy-text-btn-pressed;
    }
    &.mat-button-disabled.mat-button-disabled,
    &.mat-button-disabled,
    &.mat-disabled.mat-disabled,
    &.mat-disabled {
        color: $hy-text-btn-disabled-color;
    }
}

body {
    .studio-project-list-header-actions {
        .studio-upload-button {
            @include hy-stroked-btn;
        }
        .studio-create-button {
            @include hy-flat-btn;
        }
    }

    example-project-card {
        .mat-button,
        .mat-icon-button,
        .mat-stroked-button {
            @include hy-text-btn;
        }
    }

    ama-script-editor-simulator-form {
        .ama-script-simulator-button {
            button.mat-raised-button.mat-accent {
                @include hy-stroked-btn;
            }
        }
    }

    .ama-studio-project-header-action-validate.mat-flat-button {
        @include hy-stroked-btn;
    }

    .example-detail-container
        .example-detail-body
        .example-detail-body-specs
        .mat-flat-button,
    .ama-studio-project-header-action-release.mat-flat-button {
        @include hy-flat-btn;
    }

    .ama-cancel-button.mat-button {
        @include hy-stroked-btn;
    }

    .ama-submit-button.mat-raised-button {
        @include hy-flat-btn;
    }

    mat-dialog-actions {
        .mat-button {
            @include hy-stroked-btn;

            &.studio-save-btn,
            &.adf-dialog-action-button {
                @include hy-flat-btn;
            }
            &.mat-primary {
                @include hy-flat-btn;
            }
            &.ama-cancel-button {
                @include hy-text-btn;
                border:none;
            }
        }
    }
    .ama-projecteditor-add-collaborator-btn,
    .ama-connector-add-btn.mat-flat-button.mat-button-base.mat-primary {
        @include hy-flat-btn;
    }

    ama-file-editor-upload-file-content {
        .ama-upload-button {
            .mat-raised-button {
                @include hy-flat-btn;
            }
        }
    }

    .mat-button.cdk-program-focused {
        opacity: 1;
    }
    .mat-button-focus-overlay {
        background: none;
    }

    .ama-form-widget-icon {
        .mat-raised-button.mat-primary {
            @include hy-flat-btn;
        }
    }
    ama-connector-advanced-editor-feature-form {
        .mat-raised-button.mat-primary {
            @include hy-flat-btn;
        }
    }

    .mat-flat-button,
    .ama-expression-code-editor .ama-expression-code-editor-edit-button,
    .ama-modeling-action-selector .mat-mini-fab,
    .ama-add-modeling-action-btn,
    .ama-add-rule-btn,
    .ama-delete-btn,
    .ama-add-btn,
    .ama-add-feature-btn {
        @include hy-flat-btn;
    }
}
