UNPKG

@randstad-design/orbit-multitheme

Version:

multitheme Front-end code based on Randstad Human Forward components

1 lines 21.8 kB
{"version":3,"sources":["../scss/02_atoms/forms/_slider.scss","00_helpers/variables/_slider.scss","00_helpers/variables/_colors.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/variables/_sizing.scss","00_helpers/mixins/_slider.scss","00_tools/_background-variants.scss","../scss/00_tools/cssVartoSass.scss"],"names":[],"mappings":"AAAA;EACE,uBAAuB;EACvB,gBCA0C,EAAA;EDE1C;IAGE,gBEDqB,EAAA;EFIvB;IGkBA,eCGiB;IDFjB,iBCImB;IDHnB,iBCEmB;IJpBjB,yBEWiB;IFVjB,kBKTe;ILUf,cEbsB;IFctB,qBAAqB;IACrB,iBAA+B;IAC/B,kBAAkB;IAClB,kBAAkB;IAClB,UAAU,EAAA;EAGZ;IACE,yBEAiB;IFCjB,yBAAyB;IACzB,kBKpBkB;ILqBlB,YAAgC;IAChC,YCtBsB;IDuBtB,OAAO;IACP,cAAc;IACd,kBAAkB;IAClB,QAAQ;IACR,gCAAwB;IAAxB,wBAAwB;IACxB,gCAAwB;IAAxB,wBAAwB;IACxB,WC7BsB;ID8BtB,UAAU,EAAA;IAbX;MAgBG,WAAW;MACX,cAAc;MACd,YAAsC;MACtC,oBAAyC;MACzC,gCAAwB;MAAxB,wBAAwB;MACxB,UAAU,EAAA;EAId;IACE,wBAAgB;IAAhB,qBAAgB;IAAhB,gBAAgB;IAChB,uBAAuB;IACvB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,WAAW,EAAA;IAVZ;MAaG,aAAa,EAAA;EAKjB;IACE,mBE3CiB;IF4CjB,WC1D2B;ID2D3B,WAAW,EAAA;EAGb;IMpEA,mBJHwB;IIIxB,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;INiEhC,wBAAgB;IAAhB,gBAAgB;IAChB,wrTM3D0E;IN4D1E,kBAAyC;IACzC,kBAAkB;IAClB,QAAQ,EAAA;EAIV;IACE,mBElFsB;IFmFtB,WC1E2B;ID2E3B,WAAW,EAAA;EAGb;IACE,mBEjEiB,EAAA;EFoEnB;IMxFA,mBJHwB;IIIxB,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,uCAAkC;IAAlC,kCAAkC;INqFhC,qBAAgB;IAAhB,gBAAgB;IAChB,SAAS,EAAA;EAIX;IACE,uBAAuB;IACvB,SAAS;IACT,kBAAkB;IAClB,WC7F2B;ID8F3B,WAAW,EAAA;EAGb;IACE,mBEpFiB,EAAA;EFuFnB;IACE,mBE/GsB,EAAA;EFkHxB;IM/GA,mBJHwB;IIIxB,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,sCAAkC;IAAlC,kCAAkC;IN4GhC,gBAAgB;IAChB,SAAS;IACT,MAAM,EAAA;EAGR;IACE,aAAa,EAAA;EAGf;IGjGA,eCGiB;IDFjB,iBCImB;IDHnB,iBCEmB;IJ+FjB,oBAAa;IAAb,qBAAa;IAAb,oBAAa;IAAb,aAAa;IACb,yBAA8B;IAA9B,sCAA8B;IAA9B,sBAA8B;IAA9B,8BAA8B;IAC9B,WAAW,EAAA;EAGb;IACE,gBAAgB,EAAA;EOjDN;IDrDN,wCE7BqC,EAAA;EDkF/B;IDrDN,sCE7BqC,EAAA;EDkF/B;IDrDN,sCE7BqC,EAAA;EDkF/B;IDrDN,sCE7BqC,EAAA;EDkF/B;IDrDN,wCE7BqC,EAAA;EDkF/B;IDrDN,wCE7BqC,EAAA;EDkF/B;IDrDN,wCE7BqC,EAAA;EDkF/B;IDjFZ,wCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,6kjBAvBsE,EAAA;ECqEhE;IDjFZ,sCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,20hBAvBsE,EAAA;ECqEhE;IDjFZ,sCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,20hBAvBsE,EAAA;ECqEhE;IDjFZ,sCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,20hBAvBsE,EAAA;ECqEhE;IDjFZ,wCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,6kjBAvBsE,EAAA;ECqEhE;IDjFZ,wCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,6kjBAvBsE,EAAA;ECqEhE;IDjFZ,wCED2C;IFE3C,mBAAmB;IACnB,SAAS;IACT,YLM4B;IKL5B,WLK4B;IKJ5B,0CAAkC;IAAlC,kCAAkC;IA8B5B,6kjBAvBsE,EAAA;ECqEhE;IDrCN,+CAA2D;IAC3D,4CE9CqC,EAAA;EDkF/B;IDrCN,6CAA2D;IAC3D,8CE9CqC,EAAA;EDkF/B;IDrCN,6CAA2D;IAC3D,6CE9CqC,EAAA;EDkF/B;IDrCN,6CAA2D;IAC3D,oCE9CqC,EAAA;EDkF/B;IDrCN,+CAA2D;IAC3D,+CE9CqC,EAAA;EDkF/B;IDrCN,+CAA2D;IAC3D,4CE9CqC,EAAA;EDkF/B;IDrCN,+CAA2D;IAC3D,2CE9CqC,EAAA;EDkF/B;ID7BN,wCErDqC,EAAA;EDkF/B;ID7BN,sCErDqC,EAAA;EDkF/B;ID7BN,sCErDqC,EAAA;EDkF/B;ID7BN,sCErDqC,EAAA;EDkF/B;ID7BN,wCErDqC,EAAA;EDkF/B;ID7BN,wCErDqC,EAAA;EDkF/B;ID7BN,wCErDqC,EAAA;EDkF/B;IDvBN,wCE3DqC,EAAA;EDkF/B;IDvBN,sCE3DqC,EAAA;EDkF/B;IDvBN,sCE3DqC,EAAA;EDkF/B;IDvBN,sCE3DqC,EAAA;EDkF/B;IDvBN,wCE3DqC,EAAA;EDkF/B;IDvBN,wCE3DqC,EAAA;EDkF/B;IDvBN,wCE3DqC,EAAA;EDkF/B;IDjBN,+CAA2D;IAC3D,4CElEqC,EAAA;EDkF/B;IDjBN,6CAA2D;IAC3D,8CElEqC,EAAA;EDkF/B;IDjBN,6CAA2D;IAC3D,6CElEqC,EAAA;EDkF/B;IDjBN,6CAA2D;IAC3D,oCElEqC,EAAA;EDkF/B;IDjBN,+CAA2D;IAC3D,+CElEqC,EAAA;EDkF/B;IDjBN,+CAA2D;IAC3D,4CElEqC,EAAA;EDkF/B;IDjBN,+CAA2D;IAC3D,2CElEqC,EAAA;EDkF/B;IDTN,wCEzEqC,EAAA;EDkF/B;IDTN,sCEzEqC,EAAA;EDkF/B;IDTN,sCEzEqC,EAAA;EDkF/B;IDTN,sCEzEqC,EAAA;EDkF/B;IDTN,wCEzEqC,EAAA;EDkF/B;IDTN,wCEzEqC,EAAA;EDkF/B;IDTN,wCEzEqC,EAAA;EDkF/B;IDHN,wCE/EqC,EAAA;EDkF/B;IDHN,sCE/EqC,EAAA;EDkF/B;IDHN,sCE/EqC,EAAA;EDkF/B;IDHN,sCE/EqC,EAAA;EDkF/B;IDHN,wCE/EqC,EAAA;EDkF/B;IDHN,wCE/EqC,EAAA;EDkF/B;IDHN,wCE/EqC,EAAA;EDkF/B;IDGN,+CAA2D;IAC3D,4CEtFqC,EAAA;EDkF/B;IDGN,6CAA2D;IAC3D,8CEtFqC,EAAA;EDkF/B;IDGN,6CAA2D;IAC3D,6CEtFqC,EAAA;EDkF/B;IDGN,6CAA2D;IAC3D,oCEtFqC,EAAA;EDkF/B;IDGN,+CAA2D;IAC3D,+CEtFqC,EAAA;EDkF/B;IDGN,+CAA2D;IAC3D,4CEtFqC,EAAA;EDkF/B;IDGN,+CAA2D;IAC3D,2CEtFqC,EAAA","file":"slider.css","sourcesContent":[".slider {\n box-sizing: content-box;\n max-width: $slider-max-width-px;\n\n &__label,\n &__tooltip,\n &__tooltip::before {\n background: $color-brand--white;\n }\n\n &__label {\n @include font-style('body--m');\n border: 1px solid $color--grey;\n border-radius: $border-radius;\n color: $color-brand--two;\n display: inline-block;\n padding: ($baseline * 0.5) 10px;\n position: relative;\n text-align: center;\n z-index: 1;\n }\n\n &__tooltip {\n border: 1px solid $color--grey;\n border-width: 0 1px 1px 0;\n border-radius: $border-radius--s;\n bottom: -($slider-tooltip-size/2);\n height: $slider-tooltip-size;\n left: 0;\n margin: 0 auto;\n position: absolute;\n right: 0;\n transform: rotate(45deg);\n transform-origin: center;\n width: $slider-tooltip-size;\n z-index: 2;\n\n &::before {\n content: '';\n display: block;\n height: ($slider-tooltip-size * 2 - 1);\n margin: -($slider-tooltip-size/2) 0 0 2px;\n transform: rotate(45deg);\n width: 5px;\n }\n }\n\n &__range {\n appearance: none;\n background: transparent;\n cursor: pointer;\n display: block;\n height: 100%; //IE 11 fix\n min-height: 30px;\n margin: 0;\n padding: 0;\n overflow: hidden;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n }\n\n // Webkit\n &__range::-webkit-slider-runnable-track {\n background: $slider-range-track-color;\n height: $slider-range-track-height;\n width: 100%;\n }\n\n &__range::-webkit-slider-thumb {\n @include range-slider-thumb($slider-range-thumb-color);\n appearance: none;\n box-shadow: webkit-slider-thumb-shadow($slider-range-thumb-color, 1);\n margin-top: (-$slider-range-thumb-size/2);\n position: relative;\n top: 50%;\n }\n\n // Firefox\n &__range::-moz-range-track {\n background: $slider-range-thumb-color;\n height: $slider-range-track-height;\n width: 100%;\n }\n\n &__range::-moz-range-progress {\n background: $slider-range-track-color;\n }\n\n &__range::-moz-range-thumb {\n @include range-slider-thumb($slider-range-thumb-color);\n appearance: none;\n margin: 0;\n }\n\n // Internet Explorer\n &__range::-ms-track {\n background: transparent; // color needed to hide track marks\n border: 0;\n color: transparent; // color needed to hide track marks\n height: $slider-range-track-height;\n width: 100%;\n }\n\n &__range::-ms-fill-lower {\n background: $slider-range-track-color;\n }\n\n &__range::-ms-fill-upper {\n background: $slider-range-thumb-color;\n }\n\n &__range::-ms-thumb {\n @include range-slider-thumb($slider-range-thumb-color);\n box-shadow: none;\n margin: 0;\n top: 0;\n }\n\n &__range[data-rs-slider-range-line]::-ms-tooltip {\n display: none;\n }\n\n &__values {\n @include font-style('body--m');\n display: flex;\n justify-content: space-between;\n width: 100%;\n }\n\n &__value > span {\n margin-left: 5px;\n }\n\n // background mapping\n @include slider-background-mapping;\n}\n","// general\n$slider-max-width: 385; // value is used in mixin for webkit fallback\n$slider-max-width-px: $slider-max-width + px;\n\n// tooltip\n$slider-tooltip-size: 12px;\n\n// slider range\n$slider-range-track-color: $color--grey;\n$slider-range-track-height: 2px;\n\n$slider-range-thumb-color: $color-brand--one;\n$slider-range-thumb-size: 13px;\n","$color-brand--one: #2175d9;\n$color-brand--two: #0f1941;\n$color-brand--three: #6ba5b4;\n$color-brand--four: #f7f5f0;\n$color-brand--five: #e74536;\n$color-brand--six: #ffb511;\n$color-brand--white: #fff;\n\n// user interface colors\n//\n// additional colors, such as surface, background and error colors, typically don't\n// represent the brand but can be applied sparingly to accent select parts of your UI.\n//\n\n$color--one-7: #ecf3fc;\n$color--one-80: #4d91e1;\n$color--one-130: #175197;\n\n$color--two-50: #878ca0;\n$color--two-60: #6c738d;\n$color--two-80: #3c4464;\n$color--two-180: #03050d;\n\n$color--grey: #d7d7d7;\n$color--grey-10: #f7f7f7;\n\n$color--white: #fff;\n\n$color--four-80: #f9f7f3;\n$color--four-110: #dedcd8;\n\n$color--negative: #e00f0f;\n$color--negative-5: #fdf3f3;\n\n$color--positive: #257f56;\n$color--positive-5: #f4f8f6;\n\n$color--warning: #e9a204;\n$color--warning-10: #fcf5e5;\n\n// user interface opacities\n//\n// opacity colors are only used on modal backgrounds. HEX colors would not be\n// used due to the colors' alpha layers.\n//\n\n$color-alpha--one-10: rgba(33, 117, 217, 0.1);\n$color-alpha--one-30: rgba(33, 117, 217, 0.3);\n\n$color-alpha--two-10: rgba(15, 25, 65, 0.1);\n$color-alpha--two-30: rgba(15, 25, 65, 0.3);\n$color-alpha--two-70: rgba(15, 25, 65, 0.7);\n$color-alpha--two-80: rgba(15, 25, 65, 0.8);\n\n// ! This needs to be changed to the new white colors in story (DF909-751)\n$color-alpha--four-30: rgba(247, 245, 240, 0.3);\n$color-alpha--four-50: rgba(247, 245, 240, 0.5);\n\n// set color values\n$color--disabled: $color--two-60;\n$color--text: $color-brand--two;\n$color--one-light: $color--one-7;\n\n// degree brand colors\n// used in the charts as extra color scheme\n\n$color-brand--one-65: #7aace8;\n$color-brand--one-45: #a6c8f0;\n$color-brand--one-25: #bbd4f1;\n$color-brand--two-65: #636983;\n$color-brand--two-45: #999aa8;\n$color-brand--two-25: #8a8caf;\n$color-brand--three-65: #020202;\n$color-brand--three-45: #c4dbe1;\n$color-brand--five-65: #f18f86;\n$color-brand--five-45: #f5b5af;\n$color-brand--five-25: #f7beb9;\n$color-brand--six-65: #ffd370;\n$color-brand--six-45: #ffe1a0;\n$color-brand--six-25: #fce8b5;\n \n\n// notice colors\n$color-notice--warning: #fff2f2;\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","// baseline size, used for every calculation\n$baseline: 10px;\n\n// border radius\n$border-radius: 4px;\n$border-radius--s: 3px;\n$border-radius--xs: 2px;\n$border-radius--m: 5px;\n$border-radius--m-l: 6px;\n$border-radius--l: 8px;\n$border-radius--max: 30px;\n","// @range-slider-thumb\n\n@mixin range-slider-thumb($thumb-color) {\n background: $thumb-color;\n border-radius: 100%;\n border: 0;\n height: $slider-range-thumb-size;\n width: $slider-range-thumb-size;\n transition: background-color 150ms;\n}\n\n// @webkit-slider-thumb-shadow($i)\n//\n// Webkit cannot style progress so fake it with a long shadow on the thumb element\n@function webkit-slider-thumb-shadow($thumb-color: $color-brand--one, $i: 1) {\n $val: #{$i}px 0 0 -#{($slider-range-thumb-size - 2px) / 2} #{$thumb-color};\n\n @if $i == 1 {\n @for $k from 2 through $slider-max-width {\n $val: #{$val}, webkit-slider-thumb-shadow($thumb-color, $k);\n }\n }\n\n @return $val;\n}\n\n@mixin slider-background-mapping {\n .slider {\n // Webkit\n &__range::-webkit-slider-runnable-track {\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n }\n\n &__range::-webkit-slider-thumb {\n @include bg-variants() {\n @include range-slider-thumb(variant-property('formInputFillPrimary'));\n box-shadow: webkit-slider-thumb-shadow(\n variant-property('formInputFillPrimary'),\n 1\n );\n }\n }\n\n &__range:focus::-webkit-slider-thumb {\n @include bg-variants() {\n outline: variant-property('formInputFillPrimary') solid 2px;\n border: 2px solid variant-property('background');\n }\n }\n\n // Firefox\n &__range::-moz-range-track {\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n }\n\n &__range::-moz-range-thumb {\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n }\n\n &__range:focus::-moz-range-thumb {\n @include bg-variants() {\n outline: variant-property('formInputFillPrimary') solid 2px;\n border: 2px solid variant-property('background');\n }\n }\n\n // Internet Explorer\n &__range::-ms-fill-upper {\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n }\n\n &__range::-ms-thumb {\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n }\n\n &__range:focus::-ms-thumb {\n @include bg-variants() {\n outline: variant-property('formInputFillPrimary') solid 2px;\n border: 2px solid variant-property('background');\n }\n }\n }\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","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n @return var(--color-#{$color-name});\n}\n"]}