Skip to content
Snippets Groups Projects
_mixins.uw.scss 8.02 KiB
Newer Older
wodby's avatar
wodby committed
$test-color-1: #b9f1c5;
$test-color-2: #eeaab0;
$test-color-3: #0036d9;
$test-color-4: #f5a4f4;
wodby's avatar
wodby committed
$test-color-5: #a753b6;
$test-color-6: #f61515;
wodby's avatar
wodby committed
$test-color-7: #257471;
$test-color-8: #68633f;
$test-color-9: rgb(0, 161, 255);
$test-color-10: #00ff58;
$test-color-11: #3e3d12;
$test-color-12: #f00;

@mixin uw-no-breakout {
  //-ms-hyphens: auto;
  //-moz-hyphens: auto;
  //-webkit-hyphens: auto;
  //hyphens: auto;
  overflow-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  word-wrap: break-word;
}
wodby's avatar
wodby committed

@mixin uw-contained-width($value:$max-width) {
  max-width:$value;
  padding: 0 gesso-spacing(sm);

  @include xl{
    padding-left:0;
    padding-right:0;
wodby's avatar
wodby committed

}
@mixin uw-full-width-padding {
  max-width: 100%;
  padding: 0 gesso-spacing(sm);
  width: 100%;
}
@mixin uw-full-width-margin {
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
  padding:0;
  position: relative;
  right: 50%;
  width: 100vw;
}
@mixin uw-full-width-reset {
  margin-left: -1rem;
  margin-right: -2rem;
  max-width: inherit;
  padding:inherit;
  position: relative;
@mixin uw-contained-width-reset() {
  margin-left:inherit;
  margin-right: inherit;
  max-width:inherit;
  padding: inherit;

  @include xl{
    padding-left:inherit;
    padding-right:inherit;

  }
}
wodby's avatar
wodby committed
// Flexbox display
@mixin flexbox {

  display: flex;
}

// Inline flex display
@mixin inline-flex {
  display: inline-flex;
}

// The 'flex' shorthand
// - applies to: flex items
// <positive-number>, initial, auto, or none
@mixin flex($fg: 1, $fs: 0, $fb: auto) {

  // Set a variable to be used by box-flex properties
  $fg-boxflex: $fg;

  // Box-Flex only supports a flex-grow value so lets grab the
  // first item in the list and just return that.
  @if type-of($fg) == 'list' {
    $fg-boxflex: nth($fg, 1);
  }

  -webkit-box: $fg-boxflex;
  -moz-box: $fg-boxflex;
  -webkit-flex: $fg $fs $fb;
  -ms-flex: $fg $fs $fb;
  flex: $fg $fs $fb;
}

// Flex Flow Direction
// - applies to: flex containers
// row (default) | row-reverse | column | column-reverse
@mixin flex-direction($direction: row) {
  @if $direction == row-reverse {
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
  } @else if $direction == column {
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
  } @else if $direction == column-reverse {
    -webkit-box-direction: reverse;
    -moz-box-direction: reverse;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
  } @else {
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
  }
  -ms-flex-direction: $direction;
  -webkit-flex-direction: $direction;
  flex-direction: $direction;
}

// Flex Line Wrapping
// - applies to: flex containers
// nowrap | wrap | wrap-reverse
@mixin flex-wrap($value: nowrap) {
  // No Webkit/FF Box fallback.
  -webkit-flex-wrap: $value;
  @if $value == nowrap {
    -ms-flex-wrap: none;
  } @else {
    -ms-flex-wrap: $value;
  }
  flex-wrap: $value;
}

// Flex Direction and Wrap
// - applies to: flex containers
// <flex-direction> || <flex-wrap>
@mixin flex-flow($values: (row nowrap)) {
  // No Webkit/FF Box fallback.
  -webkit-flex-flow: $values;
  -ms-flex-flow: $values;
  flex-flow: $values;
}

// Display Order
// - applies to: flex items
// <integer>
@mixin order($int: 0) {
  -webkit-box-ordinal-group: $int + 1;
  -moz-box-ordinal-group: $int + 1;
  -ms-flex-order: $int;
  -webkit-order: $int;

  order: $int;
}

// Flex grow factor
// - applies to: flex items
// <number>
@mixin flex-grow($int: 1) {
  -webkit-box-flex: $int;
  -moz-box-flex: $int;
  -ms-flex: $int;
  -webkit-flex-grow: $int;

  flex-grow: $int;
}

// Flex shrink
// - applies to: flex item shrink factor
// <number>
@mixin flex-shrink($int: 0) {

  -ms-flex: $int;
  -webkit-flex-shrink: $int;
  -moz-flex-shrink: $int;
  flex-shrink: $int;
}

// Flex basis
// - the initial main size of the flex item
// - applies to: flex itemsnitial main size of the flex item
// <width>
@mixin flex-basis($value: auto) {
  -webkit-flex-basis: $value;
  flex-basis: $value;
}

// Axis Alignment
// - applies to: flex containers
// flex-start | flex-end | center | space-between | space-around
@mixin justify-content($value: flex-start) {
  @if $value == flex-start {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
  } @else if $value == flex-end {
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
  } @else if $value == space-between {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
  } @else if $value == space-around {
    -ms-flex-pack: distribute;
  } @else {
    -webkit-box-pack: $value;
    -moz-box-pack: $value;
    -ms-flex-pack: $value;
  }
  -webkit-justify-content: $value;
  justify-content: $value;
}

// Packing Flex Lines
// - applies to: multi-line flex containers
// flex-start | flex-end | center | space-between | space-around | stretch
@mixin align-content($value: stretch) {
  // No Webkit Box Fallback.
  -webkit-align-content: $value;
  @if $value == flex-start {
    -ms-flex-line-pack: start;
  } @else if $value == flex-end {
    -ms-flex-line-pack: end;
  } @else {
    -ms-flex-line-pack: $value;
  }
  align-content: $value;
}

// Cross-axis Alignment
// - applies to: flex containers
// flex-start | flex-end | center | baseline | stretch
@mixin align-items($value: stretch) {
  @if $value == flex-start {
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-flex-align: start;
  } @else if $value == flex-end {
    -webkit-box-align: end;
    -moz-box-align: end;
    -ms-flex-align: end;
  } @else {
    -webkit-box-align: $value;
    -moz-box-align: $value;
    -ms-flex-align: $value;
  }
  -webkit-align-items: $value;
  align-items: $value;
}

// Cross-axis Alignment
// - applies to: flex items
// auto | flex-start | flex-end | center | baseline | stretch
@mixin align-self($value: auto) {
  // No Webkit Box Fallback.
  -webkit-align-self: $value;
  @if $value == flex-start {
    -ms-flex-item-align: start;
  } @else if $value == flex-end {
    -ms-flex-item-align: end;
  } @else {
    -ms-flex-item-align: $value;
  }
  align-self: $value;
}



// Display of elements in gridded style.
@mixin uw-flex-grid($value: flexbox){
  @if $value == inline-flex {
    @include inline-flex();
wodby's avatar
wodby committed
    @include flex-flow(row wrap);
    gap:$grid-gap;
wodby's avatar
wodby committed
  }@else if $value == term{
wodby's avatar
wodby committed
    @include flexbox();
wodby's avatar
wodby committed
    @include flex-wrap(wrap);
    gap:$grid-gap;
  }@else if $value == card{
    @include flexbox();
    @include flex-direction(column);
wodby's avatar
wodby committed
  }@else{
    @include flexbox();
    @include flex-flow(row wrap);
    gap:$grid-gap;
wodby's avatar
wodby committed
}
// Display of grid item.
@mixin uw-flex-grid-item(){
  @include flex();
  @include align-items(flex-start);
  width:100%;
  @include medium{
wodby's avatar
wodby committed
    @include flex(1 1 auto);
wodby's avatar
wodby committed
    @include flex-grow(1);
    width: 45%;
wodby's avatar
wodby committed
    .uw-contained-width--narrow &,
    .layout--uw-inverted-l-right &,
    .layout--uw-inverted-l-left &,
    .layout--uw-2-col &,
    .layout--uw-3-col &,
    .layout--uw-4-col &{
      width:100% !important;
    }
wodby's avatar
wodby committed
  }
  @include large{
    width: 30%;
wodby's avatar
wodby committed
    .uw-contained-width--wide &{
      width:45% !important;
    }
wodby's avatar
wodby committed
  }
}

wodby's avatar
wodby committed
// Display of list item.
@mixin uw-flex-term-item(){
  width:100%;
  @include medium{
wodby's avatar
wodby committed
    @include flex(1 1 auto);
    @include flex-grow(1);
    width: 45%;
  }
wodby's avatar
wodby committed
  @include large{
    //width: 30%;
wodby's avatar
wodby committed
  }

wodby's avatar
wodby committed

// Display of elements in list style.
@mixin uw-flex-list(){
wodby's avatar
wodby committed
//
wodby's avatar
wodby committed
}
// Display of list item.
@mixin uw-flex-list-item(){
wodby's avatar
wodby committed
//
wodby's avatar
wodby committed
}


// Display of elements in mosaic style.
@mixin uw-flex-mosaic(){
wodby's avatar
wodby committed
//
wodby's avatar
wodby committed
}
// Display of mosiac item.
@mixin uw-flex-mosaic-item(){
wodby's avatar
wodby committed
//
wodby's avatar
wodby committed
}


// Display of elements gallery style.
@mixin uw-flex-gallery(){

}
// Display of gallery item.
@mixin uw-flex-gallery-item(){

}