{"version":3,"sources":["../scss/02_atoms/_avatar.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_tools/_background-variants.scss","00_helpers/mixins/_avatar.scss","../scss/00_tools/cssVartoSass.scss","02_atoms/_avatar.scss"],"names":[],"mappings":"AAAA;EACE,yBAAmB;EAAnB,2BAAmB;EAAnB,sBAAmB;EAAnB,mBAAmB;EACnB,kBAAkB;EAClB,sBAAsB;EACtB,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,wBAAuB;EAAvB,+BAAuB;EAAvB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB,EAAA;EAPpB;IAWI,kBAAkB,EAAA;EAXtB;IAeI,oBAAiB;IAAjB,iBAAiB;IACjB,UAAU,EAAA;;AAId;ECQE,eC4BiB;ED3BjB,oBC6BsB;ED5BtB,iBC2BmB;EFnCnB,aAAsB;EACtB,gBAAgB;EAChB,YAAY,EAAA;;AAGd;ECCE,eCuBiB;EDtBjB,oBCwBsB;EDvBtB,iBCsBmB;EFvBnB,aAAsB;EACtB,gBAAgB;EAChB,YAAY,EAAA;;AAGd;ECNE,eCkBiB;EDjBjB,oBCmBsB;EDlBtB,iBCiBmB;EFXnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;ECbE,eCQiB;EDPjB,iBCSmB;EDRnB,iBCOmB;EFMnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;ECpBE,eCGiB;EDFjB,iBCImB;EDHnB,iBCEmB;EFkBnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;EC3BE,eCPiB;EDQjB,iBCNmB;EDOnB,iBCRmB;EFmCnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;EACE,YAAuB;EACvB,eAAe;EACf,WAAW;EACX,oBAAoB,EAAA;EAJtB;IAOI,YAAY,EAAA;EAPhB;IClCE,eCPiB;IDQjB,iBCNmB;IDOnB,iBCRmB,EAAA;;ACgCP;EC/CR,oCCLuC;EDMvC,2CCNuC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,gCChBqC;IDiBrC,yBCjBqC,EAAA;IFkF/B;MC9DJ,gCCpBmC;MDqBnC,yBCrBmC,EAAA;EFkF/B;ICxDN,oCC1BqC;ID2BrC,yBC3BqC,EAAA;IFkF/B;MCpDJ,yBC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,yCChBqC;IDiBrC,kCCjBqC,EAAA;IFkF/B;MC9DJ,gCCpBmC;MDqBnC,yBCrBmC,EAAA;EFkF/B;ICxDN,6CC1BqC;ID2BrC,kCC3BqC,EAAA;IFkF/B;MCpDJ,yBC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,mDChBqC;IDiBrC,4CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,uDC1BqC;ID2BrC,4CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,kDChBqC;IDiBrC,2CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,sDC1BqC;ID2BrC,2CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,0CChBqC;IDiBrC,mCCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,8CC1BqC;ID2BrC,mCC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,0CChBqC;IDiBrC,mCCjBqC,EAAA;IFkF/B;MC9DJ,oDCpBmC;MDqBnC,6CCrBmC,EAAA;EFkF/B;ICxDN,8CC1BqC;ID2BrC,mCC3BqC,EAAA;IFkF/B;MCpDJ,6CC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,mDChBqC;IDiBrC,4CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,uDC1BqC;ID2BrC,4CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;ADqC3C;EACE,uCCtCyC;EDuCzC,2CCvCyC,EAAA;EDyCzC;;IAEE,8BC3CuC;ID4CvC,2CC5CuC,EAAA;;ADkDzC;;;;;EAEE,uBAAuB;EACvB,8CCrDuC;EDsDvC,mCCtDuC,EAAA;;AD2DzC;;EAEE,uBAAuB;EACvB,sDC9DuC;ED+DvC,yBC/DuC,EAAA;;ADoEzC;;EAEE,uBAAuB;EACvB,oCCvEuC;EDwEvC,yBCxEuC,EAAA;;ACF7C;EACE,6CDC2C;ECA3C,2CDA2C,EAAA;ECE3C;;IAEE,8BDJyC;ICKzC,2CDLyC,EAAA;;ACW3C;;;;;EAEE,uBAAuB;EACvB,8CDdyC;ECezC,mCDfyC,EAAA;;ACoB3C;;EAEE,uBAAuB;EACvB,sDDvByC;ECwBzC,yBDxByC,EAAA;;AC6B3C;;EAEE,uBAAuB;EACvB,oCDhCyC;ECiCzC,yBDjCyC,EAAA","file":"avatar.css","sourcesContent":[".avatar {\n  align-items: center;\n  border-radius: 50%;\n  box-sizing: border-box;\n  display: flex;\n  justify-content: center;\n  overflow: hidden;\n  position: relative;\n\n  // make image over initials possible (for slow loading/missing images)\n  span {\n    position: absolute;\n  }\n\n  img {\n    object-fit: cover;\n    z-index: 1;\n  }\n}\n\n.avatar--XXL {\n  @include font-style('title--l', 'title--l');\n  height: $baseline * 15;\n  min-width: 150px;\n  width: 150px;\n}\n\n.avatar--XL {\n  @include font-style('title--m', 'title--m');\n  height: $baseline * 10;\n  min-width: 100px;\n  width: 100px;\n}\n\n.avatar--L {\n  @include font-style('title--s', 'title--s');\n  height: $baseline * 8;\n  min-width: 80px;\n  width: 80px;\n}\n\n.avatar--M {\n  @include font-style('title--xxs', 'title--xxs');\n  height: $baseline * 5;\n  min-width: 50px;\n  width: 50px;\n}\n\n.avatar--S {\n  @include font-style('body--m', 'body--m');\n  height: $baseline * 4;\n  min-width: 40px;\n  width: 40px;\n}\n\n.avatar--XS {\n  @include font-style('body--xs', 'body--xs');\n  height: $baseline * 3;\n  min-width: 30px;\n  width: 30px;\n}\n\n.avatar--XXS {\n  height: $baseline * 2.5;\n  min-width: 25px;\n  width: 25px;\n  line-height: initial;\n\n  span {\n    font-size: 0;\n  }\n\n  span:first-letter {\n    @include font-style('body--xs', 'body--xs');\n  }\n}\n\n@include avatar-background-mapping;\n","// @font-style($font-style-small, $font-style-large)\n\n// $font-style-small - Desired type size for small/medium viewport.\n// $font-style-large - Desired type size for large viewport. This includes default fallback\n//                     for the S/M viewport.\n\n//\n// | viewport S       | viewport M       | viewport L      | default mapping |\n// |------------------|------------------|-----------------|-----------------|\n// | title l    | 40  | title l    | 40  | title xxl  | 80 | default         |\n// | title m    | 32  | title m    | 32  | title xl   | 60 | default         |\n// | title s    | 26  | title s    | 26  | title l    | 40 |                 |\n// | title s    | 26  | title s    | 26  | title m    | 32 | default         |\n// | title xs   | 20  | title xs   | 20  | title s    | 26 |                 |\n// | title xs   | 20  | title xs   | 20  | title xs   | 20 | default         |\n// | title xxs  | 18  | title xxs  | 18  | title xxs  | 18 |                 |\n// |            |     |            |     |            |    |                 |\n// | body l     | 18  | body l     | 18  | body l     | 18 |                 |\n// | body m     | 16  | body m     | 16  | body m     | 16 |                 |\n// | body s     | 12  | body s     | 12  | body s     | 12 |                 |\n\n// import variables needed for the mixins\n@import '../variables/__variables.scss';\n\n// mixin to get applicable properties for chosen type size\n@mixin typeset($type) {\n  $type: map-get($types, $type);\n\n  font-size: (map-get($type, font-size));\n  letter-spacing: (map-get($type, letter-spacing));\n  line-height: (map-get($type, line-height));\n}\n\n// get correct font characteristics based on font\n@mixin type-size($size) {\n  $size: map-get($type-sizes, $size);\n  @include typeset($size);\n}\n\n// mixin to get font-size\n@mixin font-style($font-style-small: 'body--l', $font-style-large: null) {\n  // if both arguments are added\n  @if ($font-style-large != null) {\n    // make sure $font-style-small & $font-style-large are not equal\n    @if ($font-style-small != $font-style-large) {\n      @include type-size($font-style-small);\n\n      @include viewport--l {\n        @include type-size($font-style-large);\n      }\n    } @else {\n      @include type-size($font-style-small);\n    }\n  } @else {\n    @include type-size($font-style-small);\n    // default font style mappings\n    @if ($font-style-small == 'title--l') {\n      @include viewport--l {\n        @include type-size('title--xxl');\n      }\n    } @else if ($font-style-small == 'title--m') {\n      @include viewport--l {\n        @include type-size('title--xl');\n      }\n    } @else if ($font-style-small == 'title--s') {\n      @include viewport--l {\n        @include type-size('title--m');\n      }\n    }\n  }\n}\n","// | viewport S       | viewport M       | viewport L      | default mapping |\n// |------------------|------------------|-----------------|-----------------|\n// | title l    | 40  | title l    | 40  | title xxl  | 80 | default         |\n// | title m    | 32  | title m    | 32  | title xl   | 60 | default         |\n// | title s    | 26  | title s    | 26  | title l    | 40 |                 |\n// | title s    | 26  | title s    | 26  | title m    | 32 | default         |\n// | title xs   | 20  | title xs   | 20  | title s    | 26 |                 |\n// | title xs   | 20  | title xs   | 20  | title xs   | 20 | default         |\n// | title xxs  | 18  | title xxs  | 18  | title xxs  | 18 |                 |\n// |            |     |            |     |            |    |                 |\n// | body l     | 18  | body l     | 18  | body l     | 18 |                 |\n// | body m     | 16  | body m     | 16  | body m     | 16 |                 |\n// | body s     | 14  | body s     | 14  | body s     | 14 |                 |\n// | body xs    | 12  | body xs    | 12  | body xs    | 12 |                 |\n\n// font family\n$font-family-theme: Graphik, Tahoma, 'sans-serif';\n\n// font mappings - font-size / line-height / letter-spacing\n$types: (\n  12: (\n    font-size: 12px,\n    line-height: 15px,\n    letter-spacing: 0\n  ),\n  14: (\n    font-size: 14px,\n    line-height: 25px,\n    letter-spacing: 0\n  ),\n  16: (\n    font-size: 16px,\n    line-height: 25px,\n    letter-spacing: 0\n  ),\n  18: (\n    font-size: 18px,\n    line-height: 30px,\n    letter-spacing: 0\n  ),\n  20: (\n    font-size: 20px,\n    line-height: 30px,\n    letter-spacing: 0\n  ),\n  26: (\n    font-size: 26px,\n    line-height: 30px,\n    letter-spacing: -1px\n  ),\n  32: (\n    font-size: 32px,\n    line-height: 40px,\n    letter-spacing: -1px\n  ),\n  40: (\n    font-size: 40px,\n    line-height: 45px,\n    letter-spacing: -2px\n  ),\n  60: (\n    font-size: 60px,\n    line-height: 60px,\n    letter-spacing: -3px\n  ),\n  80: (\n    font-size: 80px,\n    line-height: 80px,\n    letter-spacing: -4px\n  )\n);\n\n// type-sizes - links the type-size to correct font mapping\n$type-sizes: (\n  title--xxl: 80,\n  title--xl: 60,\n  title--l: 40,\n  title--m: 32,\n  title--s: 26,\n  title--xs: 20,\n  title--xxs: 18,\n  body--l: 18,\n  body--m: 16,\n  body--s: 14,\n  body--xs: 12\n);\n","@import '../00_settings/background-variants-color-map';\n// Creates the .bg-variant-#{$variant} classes with the right background-color property from the background-variants-color-map\n// Use only once to set up the utilities\n// e.g.\n//\n// @include bg-variant-classes();\n@mixin bg-variant-classes($backgroundmap: $backgrounds) {\n  @each $variant, $value in $backgroundmap {\n    $backgroundColor: map-get($value, 'background');\n    $defaultTextColor: map-get($value, 'bodyPrimary');\n\n    .bg-variant-#{$variant} {\n      background-color: returnColorCSSVar($backgroundColor);\n      color: returnColorCSSVar($defaultTextColor);\n    }\n  }\n}\n\n// Iterates over all backgrounds mapped in background-variants-color-map and outputs whatever is wrapped inside it with a .bg-variant-#{$variant} class selector before it\n// .bg-variant-#{$variant} &\n// Use together with varient-property function\n// Pass the $supportedBackgrounds as a list, if you only want to create classes for certain backgrounds\n// Set the $isChained to true, if you need to have a class that is chained to the parent e.g. .block.bg-variant-brand-primary\n// e.g.\n//\n// .divider {\n//   @include bg-variants(\n//     $supportedBackgrounds: (\n//       'brand-primary',\n//       'brand-senary'\n//     )\n//   ) {\n//     color: variant-property('divider');\n//   }\n// }\n//\n// .divider {\n//   @include bg-variants() {\n//     border-color: variant-property('divider');\n//   }\n// }\n@mixin bg-variants(\n  $backgroundmap: $backgrounds,\n  $supportedBackgrounds: null,\n  $isChained: false\n) {\n  @if ($supportedBackgrounds != null) {\n    @each $variant in $supportedBackgrounds {\n      $className: if(\n        $isChained==true,\n        '.bg-variant-#{$variant}#{&}',\n        '.bg-variant-#{$variant} &'\n      );\n\n      @at-root #{$className} {\n        $variant-map: () !global;\n\n        $supportedMap: if(\n          map-has-key($backgroundmap, $variant),\n          map-get($backgroundmap, $variant),\n          null\n        );\n\n        @each $key, $value in $supportedMap {\n          $variant-map: map-merge(\n            $variant-map,\n            (\n              $key: returnColorCSSVar($value)\n            )\n          ) !global;\n        }\n\n        @content;\n        $variant-map: null !global;\n      }\n    }\n  } @else {\n    @each $variant, $map in $backgroundmap {\n      $className: if(\n        $isChained==true,\n        '.bg-variant-#{$variant}#{&}',\n        '.bg-variant-#{$variant} &'\n      );\n\n      @at-root #{$className} {\n        // Makes a global map that can be accessed by the variant-property function\n        $variant-map: () !global;\n\n        @each $key, $submap in $map {\n          $value: map-get(map-get($backgroundmap, $variant), '#{$key}');\n          $variant-map: map-merge(\n            $variant-map,\n            (\n              $key: returnColorCSSVar($value)\n            )\n          ) !global;\n        }\n\n        @content;\n        $variant-map: null !global;\n      }\n    }\n  }\n}\n\n// function to use inside the wrapped content and access the\n// Use together with bg-varients mixin\n// e.g.\n//\n// .divider {\n//   @include bg-variants() {\n//     border-color: variant-property('divider');\n//   }\n// }\n@function variant-property($key) {\n  $value: map-get($variant-map, $key);\n\n  @if ($value != null) {\n    @return map-get($variant-map, $key);\n  } @else {\n    @return null;\n  }\n}\n","@mixin avatar-background-mapping {\n  .avatar {\n    @include bg-variants(\n      $supportedBackgrounds: (\n        'brand-tertiary'\n      )\n    ) {\n      background-color: variant-property('avatarBackground');\n      color: variant-property('avatarText');\n    }\n  }\n\n  .avatar__navigation.avatar__initials {\n    @include bg-variants() {\n      background: transparent;\n      border: 2px solid currentColor;\n\n      &.avatar--XS {\n        border-color: variant-property('navigationLinkIdle');\n        color: variant-property('navigationLinkIdle');\n\n        &:hover {\n          border-color: variant-property('navigationLinkHover');\n          color: variant-property('navigationLinkHover');\n        }\n      }\n\n      &.avatar--XXS {\n        border: 2px solid variant-property('navigationLinkIdle');\n        color: variant-property('navigationLinkIdle');\n\n        &:hover {\n          color: variant-property('navigationLinkHover');\n        }\n      }\n    }\n  }\n\n  // todo delete when color map is final\n  .avatar {\n    background: returnColorCSSVar('brand-tertiary');\n    color: returnColorCSSVar('brand-secondary-tint-60');\n\n    .bg-variant-brand-tertiary &,\n    .bg-brand--off-white & {\n      background: returnColorCSSVar('white');\n      color: returnColorCSSVar('brand-secondary-tint-60');\n    }\n  }\n\n  .avatar--XS.avatar__initials,\n  .avatar--XXS.avatar__initials {\n    .bg-brand--yellow &,\n    .bg-variant-brand-senary & {\n      background: transparent;\n      border: 2px solid returnColorCSSVar('brand-secondary');\n      color: returnColorCSSVar('brand-secondary');\n    }\n  }\n\n  .avatar--XS.avatar__initials {\n    .bg-brand--dark-blue &,\n    .bg-variant-brand-secondary & {\n      background: transparent;\n      border: 2px solid returnColorCSSVar('brand-secondary-tint-60');\n      color: returnColorCSSVar('white');\n    }\n  }\n\n  .avatar--XXS.avatar__initials {\n    .bg-brand--dark-blue &,\n    .bg-variant-brand-secondary & {\n      background: transparent;\n      border: 2px solid returnColorCSSVar('white');\n      color: returnColorCSSVar('white');\n    }\n  }\n}\n","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n  @return var(--color-#{$color-name});\n}\n",".avatar {\n  background-color: returnColorCSSVar('brand-tertiary');\n  color: returnColorCSSVar('brand-secondary-tint-80');\n\n  .bg-brand--off-white &,\n  .bg-brand-tertiary & {\n    background: returnColorCSSVar('white');\n    color: returnColorCSSVar('brand-secondary-tint-60');\n  }\n}\n\n.avatar--XS.avatar__initials,\n.avatar--XXS.avatar__initials {\n  .bg-brand--six &,\n  .bg-brand-senary & {\n    background: transparent;\n    border: 2px solid returnColorCSSVar('brand-secondary');\n    color: returnColorCSSVar('brand-secondary');\n  }\n}\n\n.avatar--XS.avatar__initials {\n  .bg-brand--two &,\n  .bg-brand-secondary & {\n    background: transparent;\n    border: 2px solid returnColorCSSVar('brand-secondary-tint-60');\n    color: returnColorCSSVar('white');\n  }\n}\n\n.avatar--XXS.avatar__initials {\n  .bg-brand--two &,\n  .bg-brand-secondary & {\n    background: transparent;\n    border: 2px solid returnColorCSSVar('white');\n    color: returnColorCSSVar('white');\n  }\n}\n\n"]}