Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
_button-group.scss164 linesDownload Raw Back to scss
1// stylelint-disable selector-no-qualifying-type2 3// Make the div behave like a button4.btn-group,5.btn-group-vertical {6  position: relative;7  display: inline-flex;8  vertical-align: middle; // match .btn alignment given font-size hack above9 10  > .btn {11    position: relative;12    flex: 1 1 auto;13 14    // Bring the hover, focused, and "active" buttons to the front to overlay15    // the borders properly16    @include hover() {17      z-index: 1;18    }19    &:focus,20    &:active,21    &.active {22      z-index: 1;23    }24  }25}26 27// Optional: Group multiple button groups together for a toolbar28.btn-toolbar {29  display: flex;30  flex-wrap: wrap;31  justify-content: flex-start;32 33  .input-group {34    width: auto;35  }36}37 38.btn-group {39  // Prevent double borders when buttons are next to each other40  > .btn:not(:first-child),41  > .btn-group:not(:first-child) {42    margin-left: -$btn-border-width;43  }44 45  // Reset rounded corners46  > .btn:not(:last-child):not(.dropdown-toggle),47  > .btn-group:not(:last-child) > .btn {48    @include border-right-radius(0);49  }50 51  > .btn:not(:first-child),52  > .btn-group:not(:first-child) > .btn {53    @include border-left-radius(0);54  }55}56 57// Sizing58//59// Remix the default button sizing classes into new ones for easier manipulation.60 61.btn-group-sm > .btn { @extend .btn-sm; }62.btn-group-lg > .btn { @extend .btn-lg; }63 64 65//66// Split button dropdowns67//68 69.dropdown-toggle-split {70  padding-right: $btn-padding-x * .75;71  padding-left: $btn-padding-x * .75;72 73  &::after,74  .dropup &::after,75  .dropright &::after {76    margin-left: 0;77  }78 79  .dropleft &::before {80    margin-right: 0;81  }82}83 84.btn-sm + .dropdown-toggle-split {85  padding-right: $btn-padding-x-sm * .75;86  padding-left: $btn-padding-x-sm * .75;87}88 89.btn-lg + .dropdown-toggle-split {90  padding-right: $btn-padding-x-lg * .75;91  padding-left: $btn-padding-x-lg * .75;92}93 94 95// The clickable button for toggling the menu96// Set the same inset shadow as the :active state97.btn-group.show .dropdown-toggle {98  @include box-shadow($btn-active-box-shadow);99 100  // Show no shadow for `.btn-link` since it has no other button styles.101  &.btn-link {102    @include box-shadow(none);103  }104}105 106 107//108// Vertical button groups109//110 111.btn-group-vertical {112  flex-direction: column;113  align-items: flex-start;114  justify-content: center;115 116  > .btn,117  > .btn-group {118    width: 100%;119  }120 121  > .btn:not(:first-child),122  > .btn-group:not(:first-child) {123    margin-top: -$btn-border-width;124  }125 126  // Reset rounded corners127  > .btn:not(:last-child):not(.dropdown-toggle),128  > .btn-group:not(:last-child) > .btn {129    @include border-bottom-radius(0);130  }131 132  > .btn:not(:first-child),133  > .btn-group:not(:first-child) > .btn {134    @include border-top-radius(0);135  }136}137 138 139// Checkbox and radio options140//141// In order to support the browser's form validation feedback, powered by the142// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use143// `display: none;` or `visibility: hidden;` as that also hides the popover.144// Simply visually hiding the inputs via `opacity` would leave them clickable in145// certain cases which is prevented by using `clip` and `pointer-events`.146// This way, we ensure a DOM element is visible to position the popover from.147//148// See https://github.com/twbs/bootstrap/pull/12794 and149// https://github.com/twbs/bootstrap/pull/14559 for more information.150 151.btn-group-toggle {152  > .btn,153  > .btn-group > .btn {154    margin-bottom: 0; // Override default `<label>` value155 156    input[type="radio"],157    input[type="checkbox"] {158      position: absolute;159      clip: rect(0, 0, 0, 0);160      pointer-events: none;161    }162  }163}164 
codekingpro/portable-devtools · Team Ai