<commit_before>//
// Base Splitbutton
// --------------------------------------------------

.splitbtn {
    position: relative;
    display: inline-block;
    vertical-align: middle;

    .btn {
        position: relative;
        float: left;

        // Prevent double border between buttons
        + .btn { margin-left: -1px; }

        // Make sure the hovered element is always on
        // top so overlap from .btn + btn. invisible
        &:hover,
        &:focus,
        &:active,
        &.active {
          z-index: 2;
        }
    }

    // Flatten out the right side
    .btn:first-child {
      margin-left: 0;
      &:not(:last-child):not(.dropdown-toggle) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }

    // Flatten out the left side
    .dropdown-toggle {
        padding-left: 12px;
        padding-right: 12px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;

        &.btn-sm {
            padding-left: 10px;
            padding-right: 10px;
        }
        &.btn-lg {
            padding-left: 16px;
            padding-right: 16px;
        }


        // This is the additional dropdown arrow, to the right of the button.
        .options {
            text-align: center;
            color: #fff;

            @include icon($i-chevron-down, 9px) {
                margin-top: -3px;
                transition: margin-top 0.3s ease;
                /* Transition of transform properties are split out due to a
                    defect in the vendor prefixing of transform transitions.
                    See: http://github.com/thoughtbot/bourbon/pull/86 */
                transition-property: transform;
                transition-duration: 0.3;
                transition-timing-function: ease;
            }

        }

        // Keep the arrow spun when the associated menu is open
        &.active .options:before {
            transform: rotate(-360deg);
        }

        &.up.active .options:before {
            margin-top:-4px;
            transform: rotate(540deg);
        }

        // Spin the arrow on hover and while menu is open
        &:hover .options:before,
        &:focus .options:before {
            will-change: transform;
            transform: rotate(-360deg);
        }

        // If it has a class of "up" spin it an extra 180degress to point up
        &.up:hover .options:before,
        &.up:focus .options:before {
            margin-top:-4px;
            transform: rotate(540deg);
            transition-property: transform;
            transition-duration: 0.6;
            transition-timing-function: ease;
        }

    }

}

%splitbtn {
    display: inline-block;
    position: relative;
    font-size: 0; // hack to stop space after button
    white-space: nowrap;

    button {
        font-size: 11px; // hack to restore font size
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;<commit_msg>Fix chevron animation in publish button<commit_after>//
// Base Splitbutton
// --------------------------------------------------

.splitbtn {
    position: relative;
    display: inline-block;
    vertical-align: middle;

    .btn {
        position: relative;
        float: left;

        // Prevent double border between buttons
        + .btn { margin-left: -1px; }

        // Make sure the hovered element is always on
        // top so overlap from .btn + btn. invisible
        &:hover,
        &:focus,
        &:active,
        &.active {
          z-index: 2;
        }
    }

    // Flatten out the right side
    .btn:first-child {
      margin-left: 0;
      &:not(:last-child):not(.dropdown-toggle) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }

    // Flatten out the left side
    .dropdown-toggle {
        padding-left: 12px;
        padding-right: 12px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;

        &.btn-sm {
            padding-left: 10px;
            padding-right: 10px;
        }
        &.btn-lg {
            padding-left: 16px;
            padding-right: 16px;
        }


        // This is the additional dropdown arrow, to the right of the button.
        .options {
            text-align: center;
            color: #fff;

            @include icon($i-chevron-down, 9px) {
                top: 0;
                display: inline-block;
                position: relative;
            }

        }

        &.up .options:before {
            transform: rotate(-360deg);
            transition: transform 0.6s ease, top 0.6s ease;
        }
        &.up:hover .options:before,
        &.up.open .options:before {
            transform: rotate(540deg);
            top: -1px;
            transition: transform 0.3s ease, top 0.3s ease;
        }

    }

}

%splitbtn {
    display: inline-block;
    position: relative;
    font-size: 0; // hack to stop space after button
    white-space: nowrap;

    button {
        font-size: 11px; // hack to restore font size
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
{'fraction_non_alphanumeric': 0.1261226083561109, 'fraction_numerical': 0.017961733697774308, 'mean_word_length': 1.3838994881340159, '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': '3866238', 'n_tokens_mistral': 1555, 'n_tokens_neox': 1423, 'n_words': 389}