<commit_before>/* ------------------------------------ *\
   Buttons
\* ------------------------------------ */

@import '@bolt/core';

@import './button.settings';
@import './button.mixins';




/** Base Button Styles **/
bolt-button {
  display: inline-block; // Fallback
  display: inline-flex; // So equal height works
  -webkit-appearance: none; // override default [type=submit] button styles coming from Normalize
}

.c-bolt-button {
  @include bolt-button;
}



/** Button Style Variations **/
.c-bolt-button--primary {
  @include bolt-button-style(primary);
}

.c-bolt-button--secondary {
  @include bolt-button-style(secondary);
}

.c-bolt-button--text {
  @include bolt-button-style(text);
}

.c-bolt-button[disabled],
.c-bolt-button--disabled {
  @include bolt-button-style(disabled);
}



/** Button Text Transform Variations **/
.c-bolt-button--uppercase {
  text-transform: uppercase;
}

.c-bolt-button--lowercase {
  text-transform: lowercase;
}

.c-bolt-button--capitalize {
  text-transform: capitalize;
}



/** Button Size Variations **/
.c-bolt-button--medium {
  @include bolt-padding(medium, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(medium);
  }
}

.c-bolt-button--xxsmall {
  @include bolt-padding(xxsmall, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(xxsmall);
  }
}

.c-bolt-button--xsmall {
  @include bolt-padding(xsmall, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(xsmall);
  }
}

.c-bolt-button--small {
  @include bolt-padding(small, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(small);
  }
}

.c-bolt-button--large {
  @include bolt-padding(medium, squished);
  @include bolt-font-size(medium);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(medium);
  }
}

.c-bolt-button--xlarge {
  @include bolt-padding(large, squished);
  @include bolt-font-size(large);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(large);
  }
}




/** Button Width Variations **/
bolt-button[width='full'],
.c-bolt-button--full {
  width: 100%;
}

bolt-button[width='full@small'],
.c-bolt-button--full\@small {
  @media screen and (max-width: map-get($bolt-breakpoints, small)) {
    width: 100%;
  }
}




@each $radius-name, $radius-value in $bolt-button-border-radii {
  .c-bolt-button--border-radius-#{$radius_name} {
    &,
    &:before {
      border-radius: $radius-value;
    }
  }
}



/** Button Alignments **/

.c-bolt-button--center {
  justify-content: center;<commit_msg>styles: full width slotted button<commit_after>/* ------------------------------------ *\
   Buttons
\* ------------------------------------ */

@import '@bolt/core';

@import './button.settings';
@import './button.mixins';




/** Base Button Styles **/
bolt-button {
  display: inline-block; // Fallback
  display: inline-flex; // So equal height works
  -webkit-appearance: none; // override default [type=submit] button styles coming from Normalize
}

.c-bolt-button {
  @include bolt-button;
}



/** Button Style Variations **/
.c-bolt-button--primary {
  @include bolt-button-style(primary);
}

.c-bolt-button--secondary {
  @include bolt-button-style(secondary);
}

.c-bolt-button--text {
  @include bolt-button-style(text);
}

.c-bolt-button[disabled],
.c-bolt-button--disabled {
  @include bolt-button-style(disabled);
}



/** Button Text Transform Variations **/
.c-bolt-button--uppercase {
  text-transform: uppercase;
}

.c-bolt-button--lowercase {
  text-transform: lowercase;
}

.c-bolt-button--capitalize {
  text-transform: capitalize;
}



/** Button Size Variations **/
.c-bolt-button--medium {
  @include bolt-padding(medium, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(medium);
  }
}

.c-bolt-button--xxsmall {
  @include bolt-padding(xxsmall, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(xxsmall);
  }
}

.c-bolt-button--xsmall {
  @include bolt-padding(xsmall, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(xsmall);
  }
}

.c-bolt-button--small {
  @include bolt-padding(small, squished);
  @include bolt-font-size(xsmall);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(small);
  }
}

.c-bolt-button--large {
  @include bolt-padding(medium, squished);
  @include bolt-font-size(medium);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(medium);
  }
}

.c-bolt-button--xlarge {
  @include bolt-padding(large, squished);
  @include bolt-font-size(large);

  &.c-bolt-button--icon-only {
    padding: bolt-spacing(large);
  }
}




// full width variations
bolt-button[width='full'],
.c-bolt-button--full {
  width: 100%;
}

// :host selector for correctly styling the <bolt-button> element inside other components
// writing this out in a separate selector due to unsupporting browsers throwing out the :host selector
:host([width='full']) {
  width: 100%;
}


// full@small width variations
bolt-button[width='full@small'],
.c-bolt-button--full\@small {
  @include bolt-mq($from: small) {
    width: 100%;
  }
}

// :host selector for correctly styling the <bolt-button> element inside other components
// writing this out in a separate selector due to unsupporting browsers throwing out the :host selector
:host([width='full@small']) {
  @include bolt-mq($from: small) {
    width: 100%;
  }
}




@each $radius-name, $radius-value in $bolt-button-border-radii {
  .c-bolt-button--border-radius-#{$radius_name} {
    &,
    &:before {
      border-radius: $radius-value;
    }
  }
}



/** Button Alignments **/

.c-bolt-button--center {
  justify-content: center;
{'fraction_non_alphanumeric': 0.19650804519000342, 'fraction_numerical': 0.0030811365970558027, 'mean_word_length': 2.9586720867208673, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '4319', 'n_tokens_mistral': 2148, 'n_tokens_neox': 1991, 'n_words': 368}