<commit_before>////
///  Project mixins
///
///  @group utilities
////

///  Shorthand border creation mixin.
///  Allows for single line, variable border width,
///
///  @parameter {string} $border-width - Accepts 1-4 unit values dictating border-widths.
///  @parameter {string} $border-style [solid] - Set border style.
///  @parameter {string} $border-color [$color-border-base] - Set border color.
///
///  @example scss
///  .well {
///    @include border(2px 1px 5px, dashed, #666);
///  }
///  @example css
///  .well {
///    border-style: dashed;
///    border-color: #666;
///    border-width: 2px 1px 5px;
///  }
///
///  @todo Allow multiple border style and color declarations.
@mixin border($border-width, $border-style: solid, $border-color: $color-border-base) {
  // If more than 4 widths submitted, display error
  @if (length($border-width) > 4) {
    @error "Border-width accepts a maximum of 4 width parameters;  #{length($border-width)} found.";
  }

  // New border width list
  $new-width: ();

  // Populate it
  @for $i from 1 through length($border-width) {

    // If border is unitless, append unit
    @if unitless(nth($border-width, $i)) {
      $new-width: append($new-width, nth($border-width, $i) * 1px);
    } @else {
      $new-width: append($new-width, nth($border-width, $i));
    }
  }

  border-style: $border-style;
  border-color: $border-color;
  border-width: $new-width;
}


///  Shorthand centering of elements.
///  If width and height are undefined, centering will be done via `translate`.
///  If width and height are defined, centering will be done via `margin`.
///  If width is defined and height is undefined, centering will be done via `margin-left` and `translateY`.
///  If width is undefined and height is defined, centering will be done via `translateX` and `margin-top`.
///
///  Centering via flexbox is included as a separate mixin.
///  @see {center-children}
///<commit_msg>Fix @see tag for centering mixin (for SassDocs)<commit_after>////
///  Project mixins
///
///  @group utilities
////

///  Shorthand border creation mixin.
///  Allows for single line, variable border width,
///
///  @parameter {string} $border-width - Accepts 1-4 unit values dictating border-widths.
///  @parameter {string} $border-style [solid] - Set border style.
///  @parameter {string} $border-color [$color-border-base] - Set border color.
///
///  @example scss
///  .well {
///    @include border(2px 1px 5px, dashed, #666);
///  }
///  @example css
///  .well {
///    border-style: dashed;
///    border-color: #666;
///    border-width: 2px 1px 5px;
///  }
///
///  @todo Allow multiple border style and color declarations.
@mixin border($border-width, $border-style: solid, $border-color: $color-border-base) {
  // If more than 4 widths submitted, display error
  @if (length($border-width) > 4) {
    @error "Border-width accepts a maximum of 4 width parameters;  #{length($border-width)} found.";
  }

  // New border width list
  $new-width: ();

  // Populate it
  @for $i from 1 through length($border-width) {

    // If border is unitless, append unit
    @if unitless(nth($border-width, $i)) {
      $new-width: append($new-width, nth($border-width, $i) * 1px);
    } @else {
      $new-width: append($new-width, nth($border-width, $i));
    }
  }

  border-style: $border-style;
  border-color: $border-color;
  border-width: $new-width;
}


///  Shorthand centering of elements.
///  If width and height are undefined, centering will be done via `translate`.
///  If width and height are defined, centering will be done via `margin`.
///  If width is defined and height is undefined, centering will be done via `margin-left` and `translateY`.
///  If width is undefined and height is defined, centering will be done via `translateX` and `margin-top`.
///
///  Centering via flexbox is included as a separate mixin.
///  @see {mixin} center-children
///
{'fraction_non_alphanumeric': 0.16368743615934628, 'fraction_numerical': 0.009703779366700716, 'mean_word_length': 2.7627281460134485, 'pattern_counts': {'":': 0, '<': 3, '<?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': '411924', 'n_tokens_mistral': 1288, 'n_tokens_neox': 1244, 'n_words': 416}