<commit_before>//
//  Buttons
//  _____________________________________________

@mixin lib-button(
    $_button-font-family                : $button__font-family,
    $_button-font-size                  : $font-size__base,
    $_button-font-weight                : $font-weight__bold,
    $_button-line-height                : $font-size__base + 2,

    $_button-cursor                     : pointer,
    $_button-display                    : inline-block,
    $_button-disabled-opacity           : 0.5,
    $_button-width                      : auto,
    $_button-margin                     : 0,
    $_button-padding                    : $button__padding,
    $_button-color                      : $button__color,
    $_button-background                 : $button__background,
    $_button-border                     : $button__border,
    $_button-border-radius              : $button__border-radius,

    $_button-color-hover                : $button__hover__color,
    $_button-background-hover           : $button__hover__background,
    $_button-border-hover               : $_button-border,

    $_button-color-active               : $_button-color,
    $_button-background-active          : $_button-background-hover,
    $_button-border-active              : $_button-border,

    $_button-gradient                   : inherit,
    $_button-gradient-direction         : inherit,
    $_button-gradient-color-start       : inherit,
    $_button-gradient-color-end         : inherit,
    $_button-gradient-color-start-hover : inherit,
    $_button-gradient-color-end-hover   : inherit,
    $_button-gradient-color-start-active: inherit,
    $_button-gradient-color-end-active  : inherit,

    $_button-icon-use                   : false,
    $_button-font-content               : $icon-settings,
    $_button-icon-font                  : $button-icon__font,
    $_button-icon-font-size             : 22px,
    $_button-icon-font-line-height      : $_button-icon-font-size,
    $_button-icon-font-color            : inherit,
    $_button-icon-font-color-hover      : inherit,
    $_button-icon-font-color-active     : inherit,
    $_button-icon-font-margin           : 0,
    $_button-icon-font-vertical-align   : top,
    $_button-icon-font-position         : $icon__position,
    $_button-icon-font-text-hide        : inherit
) {
    background-image: none; // Reset unusual Firefox-on-Android default style
    background: $_button-background;
    @include lib-background-gradient(
        $_button-gradient-color-start,
        $_button-gradient-color-end,
        $_button-gradient-direction,
        $_button-gradient
    );
    border: $_button-border;
    border-radius: $_button-border-radius;
    color: $_button-color;
    cursor: $_button-cursor;
    display: $_button-display;
    font-family: $_button-font-family;
    font-weight: $_button-font-weight;
    margin: $_button-margin;
    padding: $_button-padding;
    width: $_button-width;
    font-size: $_button-font-size;
    @include lib-line-height($_button-line-height);
    box-sizing: border-box;
    vertical-align: middle;

    @include _lib-button-icon (
        $_button-icon-use         : $_button-icon-use,
        $_icon-font-content       : $_button-font-content,
        $_icon-font               : $_button-icon-font,
        $_icon-font-size          : $_button-icon-font-size,
        $_icon-font-line-height   : $_button-icon-font-line-height,
        $_icon-font-color         : $_button-icon-font-color,
        $_icon-font-color-hover   : $_button-icon-font-color-hover,
        $_icon-font-color-active  : $_button-icon-font-color-active,
        $_icon-font-margin        : $_button-icon-font-margin,
        $_icon-font-vertical-align: $_button-icon-font-vertical-align,
        $_icon-font-position      : $_button-icon-font-position,
        $_icon-font-text-hide     : $_button-icon-font-text-hide
    );

    &:focus,
    &:active {
        background: $_button-background-active;
        @include lib-background-gradient(
            $_button-gradient-color-start-active,
            $_button-gradient-color-end-active,
            $_button-gradient-direction,
            $_button-gradient
        );
        border: $_button-border-active;
        color: $_button-color-active;
    }

    &:hover {
        background: $_button-background-hover;
        @include lib-background-gradient(
            $_button-gradient-color-start-hover,
            $_button-gradient-color-end-hover,
            $_button-gradient-direction,
            $_button-gradient
        );
        border: $_button-border-hover;
        color: $_button-color-hover;
    }

    &.disabled,
    &[disabled],
    fieldset[disabled] & {
        opacity: $_button-disabled-opacity;
        cursor: default;
        pointer-events: none; // Disabling of clicks
    }
}

//
//  Button size
//  ---------------------------------------------

@mixin lib-button-size(
    $_button-line-height: $button__line-height,
    $_button-padding    : $button__padding
) {
    @include lib-line-height($_button-line-height);
    padding: $_button-padding;
}

//
//  Large buttons
//  ---------------------------------------------

@mixin lib-button-l(
    $_button-l-font-size: $font-size__l,
    $_button-l-height   : $font-size__l + 4,
    $_button-l-padding  : 14px 17px
) {
    @include lib-button-size(
        $_button-line-height: $_button-l-height,
        $_button-padding: $_button-l-padding
    );
    font-size: $_button-l-font-size;
}

//
//  Small buttons
//  ---------------------------------------------

@mixin lib-button-s(
    $_button-s-font-size: 11px,
    $_button-s-height   : $button__font-size__s + 1,
    $_button-s-padding  : $indent__xs 8px
) {
    @include lib-button-size(
        $_button-line-height: $_button-s-height,
        $_button-padding    : $_button-s-padding
    );
    font-size: $_button-s-font-size;
}

//
//  Link as button
//  ---------------------------------------------

@mixin lib-link-as-button() {
    display: inline-block;
    text-decoration: none;

    &:hover,
    &:active,
    &:focus {
        text-decoration: none;
    }<commit_msg>Utilize button variables for small and large buttons<commit_after>//
//  Buttons
//  _____________________________________________

@mixin lib-button(
    $_button-font-family                : $button__font-family,
    $_button-font-size                  : $font-size__base,
    $_button-font-weight                : $font-weight__bold,
    $_button-line-height                : $font-size__base + 2,

    $_button-cursor                     : pointer,
    $_button-display                    : inline-block,
    $_button-disabled-opacity           : 0.5,
    $_button-width                      : auto,
    $_button-margin                     : 0,
    $_button-padding                    : $button__padding,
    $_button-color                      : $button__color,
    $_button-background                 : $button__background,
    $_button-border                     : $button__border,
    $_button-border-radius              : $button__border-radius,

    $_button-color-hover                : $button__hover__color,
    $_button-background-hover           : $button__hover__background,
    $_button-border-hover               : $_button-border,

    $_button-color-active               : $_button-color,
    $_button-background-active          : $_button-background-hover,
    $_button-border-active              : $_button-border,

    $_button-gradient                   : inherit,
    $_button-gradient-direction         : inherit,
    $_button-gradient-color-start       : inherit,
    $_button-gradient-color-end         : inherit,
    $_button-gradient-color-start-hover : inherit,
    $_button-gradient-color-end-hover   : inherit,
    $_button-gradient-color-start-active: inherit,
    $_button-gradient-color-end-active  : inherit,

    $_button-icon-use                   : false,
    $_button-font-content               : $icon-settings,
    $_button-icon-font                  : $button-icon__font,
    $_button-icon-font-size             : 22px,
    $_button-icon-font-line-height      : $_button-icon-font-size,
    $_button-icon-font-color            : inherit,
    $_button-icon-font-color-hover      : inherit,
    $_button-icon-font-color-active     : inherit,
    $_button-icon-font-margin           : 0,
    $_button-icon-font-vertical-align   : top,
    $_button-icon-font-position         : $icon__position,
    $_button-icon-font-text-hide        : inherit
) {
    background-image: none; // Reset unusual Firefox-on-Android default style
    background: $_button-background;
    @include lib-background-gradient(
        $_button-gradient-color-start,
        $_button-gradient-color-end,
        $_button-gradient-direction,
        $_button-gradient
    );
    border: $_button-border;
    border-radius: $_button-border-radius;
    color: $_button-color;
    cursor: $_button-cursor;
    display: $_button-display;
    font-family: $_button-font-family;
    font-weight: $_button-font-weight;
    margin: $_button-margin;
    padding: $_button-padding;
    width: $_button-width;
    font-size: $_button-font-size;
    @include lib-line-height($_button-line-height);
    box-sizing: border-box;
    vertical-align: middle;

    @include _lib-button-icon (
        $_button-icon-use         : $_button-icon-use,
        $_icon-font-content       : $_button-font-content,
        $_icon-font               : $_button-icon-font,
        $_icon-font-size          : $_button-icon-font-size,
        $_icon-font-line-height   : $_button-icon-font-line-height,
        $_icon-font-color         : $_button-icon-font-color,
        $_icon-font-color-hover   : $_button-icon-font-color-hover,
        $_icon-font-color-active  : $_button-icon-font-color-active,
        $_icon-font-margin        : $_button-icon-font-margin,
        $_icon-font-vertical-align: $_button-icon-font-vertical-align,
        $_icon-font-position      : $_button-icon-font-position,
        $_icon-font-text-hide     : $_button-icon-font-text-hide
    );

    &:focus,
    &:active {
        background: $_button-background-active;
        @include lib-background-gradient(
            $_button-gradient-color-start-active,
            $_button-gradient-color-end-active,
            $_button-gradient-direction,
            $_button-gradient
        );
        border: $_button-border-active;
        color: $_button-color-active;
    }

    &:hover {
        background: $_button-background-hover;
        @include lib-background-gradient(
            $_button-gradient-color-start-hover,
            $_button-gradient-color-end-hover,
            $_button-gradient-direction,
            $_button-gradient
        );
        border: $_button-border-hover;
        color: $_button-color-hover;
    }

    &.disabled,
    &[disabled],
    fieldset[disabled] & {
        opacity: $_button-disabled-opacity;
        cursor: default;
        pointer-events: none; // Disabling of clicks
    }
}

//
//  Button size
//  ---------------------------------------------

@mixin lib-button-size(
    $_button-line-height: $button__line-height,
    $_button-padding    : $button__padding
) {
    @include lib-line-height($_button-line-height);
    padding: $_button-padding;
}

//
//  Large buttons
//  ---------------------------------------------

@mixin lib-button-l(
    $_button-l-font-size: $button__font-size__l,
    $_button-l-height   : $button__line-height__l,
    $_button-l-padding  : $button__padding__l
) {
    @include lib-button-size(
        $_button-line-height: $_button-l-height,
        $_button-padding: $_button-l-padding
    );
    font-size: $_button-l-font-size;
}

//
//  Small buttons
//  ---------------------------------------------

@mixin lib-button-s(
    $_button-s-font-size: $button__font-size__s,
    $_button-s-height   : $button__line-height__s,
    $_button-s-padding  : $button__padding__s
) {
    @include lib-button-size(
        $_button-line-height: $_button-s-height,
        $_button-padding    : $_button-s-padding
    );
    font-size: $_button-s-font-size;
}

//
//  Link as button
//  ---------------------------------------------

@mixin lib-link-as-button() {
    display: inline-block;
    text-decoration: none;

    &:hover,
    &:active,
    &:focus {
        text-decoration: none;
    }
{'fraction_non_alphanumeric': 0.15612393093432306, 'fraction_numerical': 0.0018557366467645635, 'mean_word_length': 1.7897816790456897, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6068600', 'n_tokens_mistral': 3706, 'n_tokens_neox': 3579, 'n_words': 521}