{"version":3,"sources":["webpack:///./packages/mdc-layout-grid/mdc-layout-grid.scss","webpack:///./packages/mdc-layout-grid/_mixins.scss"],"names":[],"mappings":";;;;;;;AAyBA,MAEI,uCAIA,uCAIA,6CARA,sCAIA,sCAIA,4CARA,qCAIA,qCAIA,2CCiCA,yBDzBJ,iBC+DE,sBACA,cACA,YD9Da,CCgEb,qDA/CE,+CDpBJ,iBC+DE,sBACA,cACA,YD9Da,CCgEb,oDApDE,yBDfJ,iBC+DE,sBACA,cACA,YD9Da,CCgEb,mDA1CE,yBDfJ,wBCqEE,aACA,mBACA,oBACA,aAEA,kEAEA,yBD5EF,wBC6EI,aACA,SACA,aD3EW,CC6EX,qDACA,mDAxEA,+CDVJ,wBCqEE,aACA,mBACA,oBACA,YAEA,iEAEA,yBD5EF,wBC6EI,aACA,SACA,aD3EW,CC6EX,oDACA,kDA7EA,yBDLJ,wBCqEE,aACA,mBACA,oBACA,YAEA,gEAEA,yBD5EF,wBC6EI,aACA,SACA,aD3EW,CC6EX,mDACA,kDAnEA,yBDJJ,uBC0BE,kCAEA,yEAyDA,sBACA,YAEA,2DA1DA,yBD9BF,uBC+BI,WACA,wBA0DF,yBD1FF,uBC2FI,UD9Ea,sECaf,iCAEA,wEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,kCAEA,yEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,uBAEA,8DAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,kCAEA,yEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,kCAEA,yEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,uBAEA,8DAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,kCAEA,yEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,kCAEA,yEAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,uBAEA,8DAEA,yBDjBe,sECkBb,WACA,wBDnBa,wECaf,kCAEA,yEAEA,yBDjBe,wECkBb,WACA,yBDnBa,wECaf,kCAEA,yEAEA,yBDjBe,wECkBb,WACA,yBDnBa,wECaf,wBAEA,+DAEA,yBDjBe,wECkBb,WACA,0BAjCA,+CDCJ,uBC0BE,uBAEA,6DAyDA,sBACA,WAEA,0DA1DA,yBD9BF,uBC+BI,WACA,wBA0DF,yBD1FF,uBC2FI,UD9Ea,qECaf,yBAEA,+DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,uBAEA,6DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,yBAEA,+DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,uBAEA,6DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,yBAEA,+DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,uBAEA,6DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,yBAEA,+DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,wBAEA,8DAEA,yBDjBe,qECkBb,WACA,wBDnBa,qECaf,wBAEA,8DAEA,yBDjBe,qECkBb,WACA,wBDnBa,uECaf,wBAEA,8DAEA,yBDjBe,uECkBb,WACA,wBDnBa,uECaf,wBAEA,8DAEA,yBDjBe,uECkBb,WACA,wBDnBa,uECaf,wBAEA,8DAEA,yBDjBe,uECkBb,WACA,yBAtCA,yBDMJ,uBC0BE,wBAEA,6DAyDA,sBACA,WAEA,yDA1DA,yBD9BF,uBC+BI,WACA,wBA0DF,yBD1FF,uBC2FI,UD9Ea,oECaf,uBAEA,4DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,uBAEA,4DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,uBAEA,4DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,oECaf,wBAEA,6DAEA,yBDjBe,oECkBb,WACA,wBDnBa,sECaf,wBAEA,6DAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,wBAEA,6DAEA,yBDjBe,sECkBb,WACA,wBDnBa,sECaf,wBAEA,6DAEA,yBDjBe,sECkBb,WACA,yBDRA,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,gCCwEF,ODzEa,CACX,iCCwEF,QDzEa,CACX,iCCwEF,QDzEa,CACX,iCCwEF,QDzEa,CAOb,kCCuEE,sBAEA,yBDzEF,kCC0EI,kBDtEJ,qCC2EE,kBDvEF,qCC2EE,oBAEA,yBD7EF,qCC8EI,gBAhHF,yBDuCJ,qCC2FE,aAGA;;;;GAAA,EA1IE,+CD4CJ,qCC2FE,YAGA;;;;GAAA,EA/IE,yBDiDJ,qCC2FE,YAGA;;;;GAAA,ED7EF,6BACE,kBACA,cAGF,8BACE,eACA,iB","file":"mdc.layout-grid.min.css","sourcesContent":["// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use 'sass:list';\n@use 'sass:map';\n@use './variables';\n@use './mixins';\n\n:root {\n  @each $size in map.keys(variables.$columns) {\n    --mdc-layout-grid-margin-#{$size}: #{map.get(\n        variables.$default-margin,\n        $size\n      )};\n    --mdc-layout-grid-gutter-#{$size}: #{map.get(\n        variables.$default-gutter,\n        $size\n      )};\n    --mdc-layout-grid-column-width-#{$size}: #{map.get(\n        variables.$column-width,\n        $size\n      )};\n  }\n}\n\n// postcss-bem-linter: define layout-grid\n.mdc-layout-grid {\n  @each $size in map.keys(variables.$columns) {\n    @include mixins.media-query_($size) {\n      $margin: map.get(variables.$default-margin, $size);\n\n      @include mixins.layout-grid($size, $margin, variables.$max-width);\n    }\n  }\n}\n\n.mdc-layout-grid__inner {\n  @each $size in map.keys(variables.$columns) {\n    @include mixins.media-query_($size) {\n      $margin: map.get(variables.$default-margin, $size);\n      $gutter: map.get(variables.$default-gutter, $size);\n\n      @include mixins.inner($size, $margin, $gutter);\n    }\n  }\n}\n\n.mdc-layout-grid__cell {\n  // select the upper breakpoint\n  $upper-breakpoint: list.nth(map.keys(variables.$columns), 1);\n\n  @each $size in map.keys(variables.$columns) {\n    @include mixins.media-query_($size) {\n      $gutter: map.get(variables.$default-gutter, $size);\n\n      @include mixins.cell($size, variables.$default-column-span, $gutter);\n\n      @for $span from 1 through map.get(variables.$columns, $upper-breakpoint) {\n        // Span classes.\n        // stylelint-disable max-nesting-depth\n        @at-root .mdc-layout-grid__cell--span-#{$span},\n          .mdc-layout-grid__cell--span-#{$span}-#{$size} {\n          @include mixins.cell-span_($size, $span, $gutter);\n        }\n        // stylelint-enable max-nesting-depth\n      }\n    }\n  }\n\n  // Order override classes.\n  @for $i from 1 through map.get(variables.$columns, $upper-breakpoint) {\n    &--order-#{$i} {\n      @include mixins.cell-order($i);\n    }\n  }\n\n  // Alignment classes.\n  &--align-top {\n    @include mixins.cell-align(top);\n  }\n\n  &--align-middle {\n    @include mixins.cell-align(middle);\n  }\n\n  &--align-bottom {\n    @include mixins.cell-align(bottom);\n  }\n}\n\n.mdc-layout-grid--fixed-column-width {\n  @each $size in map.keys(variables.$columns) {\n    @include mixins.media-query_($size) {\n      $margin: map.get(variables.$default-margin, $size);\n      $gutter: map.get(variables.$default-gutter, $size);\n      $column-width: map.get(variables.$column-width, $size);\n\n      @include mixins.fixed-column-width(\n        $size,\n        $margin,\n        $gutter,\n        $column-width\n      );\n    }\n  }\n}\n\n.mdc-layout-grid--align-left {\n  margin-right: auto;\n  margin-left: 0;\n}\n\n.mdc-layout-grid--align-right {\n  margin-right: 0;\n  margin-left: auto;\n}\n// postcss-bem-linter: end\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use 'sass:list';\n@use 'sass:map';\n@use 'sass:math';\n@use './variables';\n\n// returns the lower grid boundary or null if the smallest grid is selected\n@function breakpoint-min($size) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n  $min: map.get(variables.$breakpoints, $size);\n\n  @return if($min > 0, $min, null);\n}\n\n// returns the upper grid boundary or null if the largest grid is selected\n@function breakpoint-max($size) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n  $names: map.keys(variables.$columns);\n  $n: list.index($names, $size);\n  $prev: if($n > 1, list.nth($names, $n - 1), null);\n\n  @return if($prev, (breakpoint-min($prev) - 1px), null);\n}\n\n// Private mixins, meant for internal use.\n@mixin media-query_($size) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  $min: breakpoint-min($size);\n  $max: breakpoint-max($size);\n\n  @if $min == null and $max != null {\n    // Phone\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else if $min != null and $max != null {\n    // Tablet\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $min != null and $max == null {\n    // Desktop\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    // Fallback - no breakpoints defined\n    @content;\n  }\n}\n\n@mixin cell-span_($size, $span, $gutter) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  $percent: math.percentage(\n    math.div($span, map.get(variables.$columns, $size))\n  );\n\n  @if $percent > 100% {\n    $percent: 100%;\n  }\n\n  width: calc(#{$percent} - #{$gutter});\n  // stylelint-disable-next-line declaration-block-no-duplicate-properties\n  width: calc(#{$percent} - var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}));\n\n  @supports (display: grid) {\n    width: auto;\n    grid-column-end: span math.min($span, map.get(variables.$columns, $size));\n  }\n}\n\n// Public mixins, meant for developer usage.\n@mixin layout-grid($size, $margin, $max-width: null) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  box-sizing: border-box;\n  margin: 0 auto;\n  padding: $margin;\n  // stylelint-disable-next-line declaration-block-no-duplicate-properties\n  padding: var(--mdc-layout-grid-margin-#{$size}, #{$margin});\n\n  @if $max-width {\n    max-width: $max-width;\n  }\n}\n\n@mixin inner($size, $margin, $gutter) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  display: flex;\n  flex-flow: row wrap;\n  align-items: stretch;\n  margin: math.div(-$gutter, 2);\n  // stylelint-disable-next-line declaration-block-no-duplicate-properties\n  margin: calc(var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) / 2 * -1);\n\n  @supports (display: grid) {\n    display: grid;\n    margin: 0;\n    grid-gap: $gutter;\n    // stylelint-disable-next-line declaration-block-no-duplicate-properties\n    grid-gap: var(--mdc-layout-grid-gutter-#{$size}, $gutter);\n    grid-template-columns: repeat(\n      map.get(variables.$columns, $size),\n      minmax(0, 1fr)\n    );\n  }\n}\n\n@mixin cell($size, $default-span, $gutter) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  @include cell-span_($size, $default-span, $gutter);\n\n  box-sizing: border-box;\n  margin: math.div($gutter, 2);\n  // stylelint-disable-next-line declaration-block-no-duplicate-properties\n  margin: calc(var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) / 2);\n\n  @supports (display: grid) {\n    margin: 0;\n  }\n}\n\n@mixin cell-order($order) {\n  order: $order;\n}\n\n@mixin cell-align($position) {\n  @if $position == 'top' {\n    align-self: flex-start;\n\n    @supports (display: grid) {\n      align-self: start;\n    }\n  }\n\n  @if $position == 'middle' {\n    align-self: center;\n  }\n\n  @if $position == 'bottom' {\n    align-self: flex-end;\n\n    @supports (display: grid) {\n      align-self: end;\n    }\n  }\n\n  @if $position == 'stretch' {\n    align-self: stretch;\n  }\n}\n\n@mixin fixed-column-width($size, $margin, $gutter, $column-width) {\n  @if not map.has-key(variables.$columns, $size) {\n    @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n  }\n\n  $columnCount: map.get(variables.$columns, $size);\n  $gutter-number: $columnCount - 1;\n  $margin-number: 2;\n\n  width: $column-width * $columnCount + $gutter * $gutter-number + $margin *\n    $margin-number;\n  // stylelint-disable-next-line declaration-block-no-duplicate-properties\n  width: calc(\n    var(--mdc-layout-grid-column-width-#{$size}, #{$column-width}) * #{$columnCount} +\n      var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) * #{$gutter-number} +\n      var(--mdc-layout-grid-margin-#{$size}, #{$margin}) * #{$margin-number}\n  );\n}\n"],"sourceRoot":""}