UNPKG

@randstad-design/orbit-multitheme

Version:

multitheme Front-end code based on Randstad Human Forward components

1 lines 32.2 kB
{"version":3,"sources":["02_atoms/_divider.scss","../scss/00_tools/cssVartoSass.scss","00_tools/_background-variants.scss","00_helpers/mixins/_media-queries.scss","00_helpers/variables/_colors.scss","../scss/02_atoms/forms/_select-menu.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/mixins/_form.scss","00_helpers/variables/_spacing.scss","00_helpers/mixins/_scrollbar.scss","00_helpers/mixins/_transitions.scss","00_helpers/variables/_transitions.scss","00_helpers/variables/_sizing.scss","00_helpers/variables/_forms.scss","00_helpers/mixins/_colors.scss"],"names":[],"mappings":"AAAA;EACE,wBAAwB;EACxB,0BAA0B;EAC1B,kCCD2C,EAAA;ECkF/B;IF9EV,yCCJyC,EAAA;ECkF/B;IF9EV,yCCJyC,EAAA;ECkF/B;IF9EV,kCCJyC,EAAA;ECkF/B;IF9EV,kCCJyC,EAAA;ECkF/B;IF9EV,mDCJyC,EAAA;ECkF/B;IF9EV,mDCJyC,EAAA;ECkF/B;IF9EV,mDCJyC,EAAA;;AE4DzC;EHnDF;IACE,wBAAwB;IACxB,0BAA0B;IAC1B,kCCZyC,EAAA;ICkF/B;MFnER,yCCfuC,EAAA;ICkF/B;MFnER,yCCfuC,EAAA;ICkF/B;MFnER,kCCfuC,EAAA;ICkF/B;MFnER,kCCfuC,EAAA;ICkF/B;MFnER,mDCfuC,EAAA;ICkF/B;MFnER,mDCfuC,EAAA;ICkF/B;MFnER,mDCfuC,EAAA,ECkGtC;;AF9EP;EACE,gBAAgB;EAChB,qBAAqB;EACrB,uBAAuB,EAAA;;AAGzB;EACE,gCAAgC,EAAA;;AAO/B;EAIG,mCIUqC,EAAA;;AJNxC;EAGG,sCISyC,EAAA;;AJL5C;EAEG,qBI9Be,EAAA;;ACvBrB;EACE,yBDsBmB;ECrBnB,UAAU;EACV,kBAAkB,EAAA;;AAIpB;ECqBE,eCGiB;EDFjB,iBCImB;EDHnB,iBCEmB,EAAA;EJ8BjB;IEvDJ;MCqBE,eCQiB;MDPjB,iBCSmB;MDRnB,iBCOmB,EAAA,EF2DpB;EAzFD;IAII,gCDYiB;ICXjB,WAAW;IACX,UAAU;IACV,kBAAkB;IAClB,WAAW;IACX,SAAkB;IAClB,UAAU,EAAA;EAVd;IAgBI,mBAAmB,EAAA;IF2FrB;ME3GF;QAmBM,mBAAmB,EAAA,EAEtB;EArBH;IG2EE,wCPhF2C;IIiCvC,mBAAmB;IACnB,iBAAiB;IACjB,4BAA4B;IAC5B,6BAA6B;IAC7B,uBI3BoB,EAAA;IPwEZ;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;IEgH3C;ME3GF;QAmCQ,gBAA2B,EAAA,EAE9B;EArCL;IKCE,iCAAiC;IAM7B,gBAR0B;ICwD1B,qCC7D0B;ID2D1B,6BC3D0B;IJiF9B,wCPhF2C;IIiDzC,gBDzBe;IC0Bf,mBAAmB;IACnB,iBAAiB;IACjB,0BQlDe;IRmDf,aAAa;IACb,OAAO;IACP,iBSjD+C;ITkD/C,UAAU;IACV,QAAQ;IACR,SAAkB;IAClB,UAAU,EAAA;IKrCV;MACE,kBGpBgB;MHqBhB,UAAU,EAAA;IAGZ;MACE,mBNPe;MMQf,kBG1BgB,EAAA;IX+ER;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,wCPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;ICkF/B;MMCV,0CPnFyC,EAAA;EIK7C;IUNE,2CdC2C;IcA3C,0CdA2C;IIgEzC,eAAe;IACf,iBAAiB;IACjB,iBAAiB,EAAA;IA7DrB;MAgEM,gBAAgB;MAChB,cDvEoB,EAAA;ICM1B;MCqBE,eCGiB;MDFjB,iBCImB;MDHnB,iBCEmB;MF4Cf,YAAY;MACZ,uBIjEoB;MJkEpB,oBAAoB,EAAA;MFhBtB;QEvDJ;UCqBE,eCQiB;UDPjB,iBCSmB;UDRnB,iBCOmB,EAAA,EF0ChB;IAxEL;MA0EM,cDlEiB;MCmEjB,oBAAa;MAAb,qBAAa;MAAb,oBAAa;MAAb,aAAa;MACb,yBAAmB;MAAnB,2BAAmB;MAAnB,sBAAmB;MAAnB,mBAAmB,EAAA;MA5EzB;QA8EQ,aDtEe;QCuEf,UAAU;QACV,WAAW;QACX,mBAAmB,EAAA;EAjF3B;IAuFI,mBDhFkB,EAAA;;ACoFtB;;;;EG+DE,sCP/J2C;EOgK3C,sCPhK2C,EAAA;ECkF/B;;;;IMiFV,8BPnKyC;IOoKzC,0CPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,sCPnKyC;IOoKzC,qCPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,sCPnKyC;IOoKzC,sCPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,sCPnKyC;IOoKzC,sCPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,8BPnKyC;IOoKzC,0CPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,8BPnKyC;IOoKzC,oDPpKyC;IOqKzC,mCPrKyC,EAAA;ECkF/B;;;;IMiFV,8BPnKyC;IOoKzC,0CPpKyC;IOqKzC,mCPrKyC,EAAA;;AE4DzC;EEiDF;IAEI,UAAU;IACV,WAAW,EAAA;EAHf;IAUM,uBAAiD,EAAA;EAVvD;IAeI,iBSrH8C;ITsH9C,iBIpHqB,EAAA,EJqHtB","file":"autosuggest.css","sourcesContent":[".divider {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-color: returnColorCSSVar('gray-20');\n\n @include bg-variants() {\n border-color: variant-property('divider');\n }\n}\n\n@include viewport--l {\n .l\\:divider {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-color: returnColorCSSVar('gray-20');\n\n @include bg-variants() {\n border-color: variant-property('divider');\n }\n }\n}\n\n.divider--top {\n border-bottom: 0;\n border-top-width: 1px;\n border-top-style: solid;\n}\n\n.divider--is-hidden {\n border-bottom-color: transparent;\n}\n\n// background/color mappings\n// ! Deprecation warning, do not use anymore. Will be removed in a later release use bg-variants function instead.\n\n.bg-brand {\n &--yellow,\n &--turquoise,\n &--red {\n .divider {\n border-color: $color-alpha--two-30;\n }\n }\n\n &--blue,\n &--dark-blue {\n .divider {\n border-color: $color-alpha--four-50;\n }\n }\n\n &--off-white {\n .divider {\n border-color: $color--grey;\n }\n }\n}\n","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n @return var(--color-#{$color-name});\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","// @viewport--x($reversed)\n\n// viewport s\n@mixin viewport--s($type: null) {\n // inversed\n @if ($type == 'inversed') {\n @media (max-width: #{($breakpoint-viewport--s - 1)}) {\n @content;\n }\n }\n // range\n @else if ($type== 'range') {\n @media (min-width:0) and (max-width: #{($breakpoint-viewport--s - 1)}) {\n @content;\n }\n }\n // default\n @else {\n @media (min-width: #{$breakpoint-viewport--s}) {\n @content;\n }\n }\n}\n\n// viewport m\n@mixin viewport--m($type: null) {\n // inversed\n @if ($type == 'inversed') {\n @media (max-width: #{($breakpoint-viewport--m - 1)}) {\n @content;\n }\n }\n // range\n @else if ($type== 'range') {\n @media (min-width: $breakpoint-viewport--m) and (max-width: #{($breakpoint-viewport--l - 1)}) {\n @content;\n }\n }\n // default\n @else {\n @media (min-width: #{$breakpoint-viewport--m}) {\n @content;\n }\n }\n}\n\n// viewport l\n@mixin viewport--l($type: null) {\n // inversed\n @if ($type == 'inversed') {\n @media (max-width: #{($breakpoint-viewport--l - 1)}) {\n @content;\n }\n }\n // range\n @else if ($type== 'range') {\n @media (min-width: $breakpoint-viewport--l) and (max-width: #{($breakpoint-viewport--xl - 1)}) {\n @content;\n }\n }\n // default\n @else {\n @media (min-width: #{$breakpoint-viewport--l}) {\n @content;\n }\n }\n}\n\n// viewport xl\n@mixin viewport--xl($type: null) {\n @if ($type == 'inversed') {\n @media (max-width: #{($breakpoint-viewport--xl - 1)}) {\n @content;\n }\n }\n // range\n @else if ($type== 'range') {\n @media (min-width: $breakpoint-viewport--xl) and (max-width: #{($breakpoint-viewport--xxl - 1)}) {\n @content;\n }\n }\n // default\n @else {\n @media (min-width: #{$breakpoint-viewport--xl}) {\n @content;\n }\n }\n}\n\n// viewport xxl\n@mixin viewport--xxl($type: null) {\n // inversed\n @if ($type == 'inversed') {\n @media (max-width: #{($breakpoint-viewport--xxl - 1)}) {\n @content;\n }\n }\n // default\n @else {\n @media (min-width: #{$breakpoint-viewport--xxl}) {\n @content;\n }\n }\n}\n\n// viewport range\n@mixin viewport--range($viewport1, $viewport2) {\n @media (min-width: #{($viewport1)}) and (max-width: #{($viewport2 - 1)}) {\n @content;\n }\n}\n\n// Internet Explorer 10 + 11\n@mixin internet-explorer-10-11 {\n @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {\n @content;\n }\n}\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",".select-menu__list {\n border: 2px solid $color--grey;\n opacity: 0;\n position: absolute;\n}\n\n// select menu open\n.select-menu--open {\n @include font-style('body--m', 'body--l');\n // divider\n &::after {\n border-bottom: 1px solid $color--grey;\n content: '';\n left: 20px;\n position: absolute;\n right: 20px;\n top: $baseline * 6;\n z-index: 1;\n }\n // compensate for invisible border-bottom and additional padding on active\n // input. This is needed to prevent undesired border-bottom transition\n // when menu list closes\n &.form-group__input {\n margin-bottom: -3px;\n // IE 10/11 fix\n @include internet-explorer-10-11 {\n margin-bottom: -2px;\n }\n }\n // input\n input[type='text'] {\n &,\n &:active,\n &:focus {\n @include form-field--border-interaction-color;\n border-style: solid;\n border-width: 2px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding: ($baseline * 1.4) 18px $spacing--s;\n // IE 10/11 fix\n @include internet-explorer-10-11 {\n min-height: $baseline * 6.2;\n }\n }\n }\n // list\n .select-menu__list {\n @include scrollbar($direction: 'y', $size: 's');\n @include transition(border-color, $transition-duration--fast);\n @include form-field--border-interaction-color;\n background: $color--white;\n border-style: solid;\n border-width: 2px;\n border-radius: 0 0 $border-radius $border-radius;\n border-top: 0;\n left: 0;\n max-height: $select-menu-open-list-max-height;\n opacity: 1;\n right: 0;\n top: $baseline * 6;\n z-index: 1;\n }\n // select menu item\n .select-menu__item {\n @include color-dark-shade-main;\n cursor: pointer; \n line-height: 30px;\n padding: 7px 18px;\n\n mark {\n background: none;\n color: $color-brand--two;\n }\n &--no-result {\n @include font-style('body--m', 'body--l');\n cursor: none;\n padding: $spacing--xs 18px $spacing--s;\n pointer-events: none;\n }\n &.select-menu__item--action {\n color: $color--one-80;\n display: flex;\n align-items: center;\n & svg {\n fill: $color--one-80;\n width: 1em;\n height: 1em;\n margin-right: 0.5em;\n }\n }\n }\n // preselected item\n .select-menu__item--preselect {\n background: $color--one-light;\n }\n}\n// error\n.form-group--error .select-menu--open {\n input[type='text'],\n .select-menu__list {\n &,\n &:active,\n &:focus {\n @include form-field--invalid;\n }\n }\n}\n\n// viewport l\n@include viewport--l {\n .select-menu--open {\n &::after {\n left: 22px;\n right: 22px;\n }\n // input\n input[type='text'] {\n &,\n &:active,\n &:focus {\n padding: ($baseline * 1.2) 18px ($baseline * 1.7);\n }\n }\n // list\n .select-menu__list {\n max-height: $select-menu-open-list-max-height--l;\n padding-top: $spacing--xs;\n }\n }\n}\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","// @form-field--[] color schemes\n\n// - text colors\n// -- disabled colors\n// - field colors\n// -- radio & check colors\n// -- option group\n// - error colors\n\n//// text colors ////\n\n@mixin form-field--primary-text-color {\n color: returnColorCSSVar('brand-secondary');\n\n @include bg-variants() {\n color: variant-property('bodyPrimary');\n }\n}\n\n@mixin form-field--secondary-text-color {\n color: returnColorCSSVar('brand-secondary-tint-60');\n\n @include bg-variants() {\n color: variant-property('formTextSecondary');\n }\n\n a {\n color: returnColorCSSVar('brand-secondary-tint-60');\n\n @include bg-variants() {\n color: variant-property('formTextSecondary');\n }\n text-decoration: underline solid currentColor;\n &:hover {\n text-decoration: underline solid transparent;\n }\n }\n}\n\n@mixin form-field-border-color {\n border: 2px solid returnColorCSSVar(gray-20);\n}\n\n// disabled\n@mixin form-field--disabled-text-color {\n color: returnColorCSSVar('brand-secondary-tint-80');\n\n @include bg-variants() {\n color: variant-property('formTextSecondary');\n }\n}\n\n@mixin form-field--disabled-background-color {\n background-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-idle {\n border-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-checked {\n background: returnColorCSSVar('gray-20');\n border-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-indeterminate {\n background: returnColorCSSVar('gray-20');\n}\n\n@mixin radio-button--disabled {\n background: $color--grey-10;\n border-color: $color--grey;\n\n &::after {\n background: $color--grey;\n }\n}\n\n//// field colors ////\n\n// radio & check buttons\n@mixin form-field--border-interaction-color {\n border-color: returnColorCSSVar('brand-primary');\n\n @include bg-variants() {\n border-color: variant-property('formBorderSecondary');\n }\n}\n\n@mixin form-field--checked-field-color {\n background: returnColorCSSVar('brand-primary');\n border-color: returnColorCSSVar('brand-primary');\n\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n border-color: variant-property('formInputFillPrimary');\n }\n}\n\n@mixin form-field--checked-active-color {\n outline: 2px solid returnColorCSSVar('brand-primary');\n outline-offset: 1px;\n\n @include bg-variants() {\n outline: 2px solid variant-property('formBorderSecondary');\n }\n}\n\n@mixin form-field--checkmark-color {\n background: returnColorCSSVar('brand-primary');\n\n @include bg-variants() {\n background: variant-property('formInputFillPrimary');\n }\n}\n\n// option group\n@mixin form-field--option-group-color {\n border: 1px solid $color--grey;\n color: $color-brand--one;\n\n @include bg-variants() {\n border-color: variant-property('ghostBorderIdle');\n color: variant-property('ghostTextIdle');\n }\n}\n\n@mixin form-field--option-group-hover-color {\n background: $color--one-7;\n border-color: $color-brand--one;\n\n @include bg-variants() {\n background: variant-property('ghostBackgroundHover');\n border-color: variant-property('ghostBackgroundHover');\n color: variant-property('ghostTextHover');\n }\n}\n\n@mixin form-field--option-group-active-color {\n background: $color-brand--one;\n border-color: $color-brand--one;\n color: $color-brand--white;\n\n @include bg-variants() {\n background: variant-property('ghostBackgroundPressed');\n border-color: variant-property('ghostBackgroundPressed');\n color: variant-property('ghostTextPressed');\n }\n}\n\n//// error colors ////\n@mixin form-field--feedback-color {\n color: returnColorCSSVar('ui-negative');\n\n @include bg-variants() {\n color: variant-property('negative');\n }\n}\n\n// specificity important\n@mixin form-field--invalid {\n background: returnColorCSSVar('ui-negative-5');\n border-color: returnColorCSSVar('ui-negative');\n\n @include bg-variants() {\n background: variant-property('formErrorSecondary');\n border-color: variant-property('formErrorPrimary');\n color: variant-property('formErrorInputText');\n }\n}\n\n@mixin form-field--invalid-text-icon {\n color: returnColorCSSVar('brand-secondary');\n fill: returnColorCSSVar('brand-secondary');\n}\n\n@mixin form-field--invalid-label-color {\n color: $color--negative;\n\n .bg-brand--dark-blue &,\n .bg-brand--blue &,\n .bg-brand--turquoise &,\n .bg-brand--yellow & {\n color: $color-brand--two;\n }\n\n .bg-brand--red & {\n color: $color--two-180;\n }\n\n @include bg-variants() {\n color: variant-property('formErrorPrimary');\n }\n}\n\n@mixin form-field--currency-color {\n border: solid 1px $color--grey;\n\n .bg-brand--turquoise &,\n .bg-brand--yellow & {\n border: solid 1px $color-brand--two;\n }\n\n .bg-brand--red & {\n border: solid 1px $color--two-180;\n }\n\n @include bg-variants() {\n border: 1px solid variant-property('formBorderPrimary');\n }\n}\n\n@mixin form-field--focus {\n border-color: $color-brand--one;\n box-shadow: 0 0 0 1pt $color-brand--one;\n\n .bg-brand--turquoise &,\n .bg-brand--yellow & {\n border-color: $color-brand--two;\n box-shadow: 0 0 0 1pt $color-brand--two;\n }\n\n .bg-brand--red & {\n border-color: $color--two-180;\n box-shadow: 0 0 0 1pt $color--two-180;\n }\n}\n\n@mixin form-field--invalid-box-shadow {\n box-shadow: 0 0 0 1pt $color--negative;\n\n .bg-brand--dark-blue &,\n .bg-brand--blue &,\n .bg-brand--turquoise &,\n .bg-brand--yellow & {\n box-shadow: 0 0 0 1pt $color-brand--two;\n }\n\n .bg-brand--red & {\n box-shadow: 0 0 0 1pt $color--two-180;\n }\n}\n","// | variable | size | calculation |\n// |---------------|-------|-----------------|\n// | $spacing--xxs | 5px | $baseline * 0.5 |\n// | $spacing--xs | 10px | $baseline * 1 |\n// | $spacing--s | 20px | $baseline * 2 |\n// | $spacing--m | 30px | $baseline * 3 |\n// | $spacing--l | 50px | $baseline * 5 |\n// | $spacing--xl | 80px | $baseline * 8 |\n// | $spacing--xxl | 130px | $baseline * 13 |\n\n$spacing--xxs: $baseline * 0.5;\n$spacing--xs: $baseline * 1;\n$spacing--s: $baseline * 2;\n$spacing--m: $baseline * 3;\n$spacing--l: $baseline * 5;\n$spacing--xl: $baseline * 8;\n$spacing--xxl: $baseline * 13;\n\n// grid spacings\n$grid-margin--s: 25px;\n$grid-margin--m: 50px;\n$grid-margin--l: 100px;\n","// @scrollbar($overflow:auto;direction:null;size:null)\n\n// $overflow - sets overflow behavior\n// $direction - direction of the scroll 'both', 'x', 'y'\n// $size - 'm' = default / 's' = small\n\n@mixin scrollbar($overflow: auto, $direction: null, $size: null) {\n // enable smooth scroll on iOS devices\n -webkit-overflow-scrolling: touch;\n // set desired direction if provided\n @if ($direction) {\n @if ($direction == 'x') {\n overflow-x: $overflow;\n } @else if ($direction == 'y') {\n overflow-y: $overflow;\n }\n }\n // if direction is not set\n @else {\n overflow: $overflow;\n }\n // small scrollbar\n @if ($size == 's') {\n // webkit specific styling\n &::-webkit-scrollbar {\n border-radius: $border-radius--s;\n width: 6px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: $color--grey;\n border-radius: $border-radius--s;\n }\n }\n}\n","// @transition($property, $duration, $easing, $delay, $propertyprefix, $ms)\n\n// $property - space separated list of properties that need to animate\n// $duration - duration of the transition - Defaults to 1s\n// $easing - easing of the transition - Defaults to false (no easing)\n// $delay - the delay of the transition - Defaults to false (no delay)\n// $propertyprefix if the property needs to be prefixed - Defaults to false\n// $ms - if special IE support is needed - Defaults to true\n\n@mixin transition($property, $duration: 1s, $easing: false, $delay: false, $propertyprefix: false, $ms: true) {\n // $browsers: -webkit- -moz- -o-;\n $browsers: -webkit-;\n // add ms support\n @if $ms {\n $browsers: append($browsers, -ms-);\n }\n // add none prefixed\n $browsers: append($browsers, none);\n // add prefixes to the mix\n @each $browser in $browsers {\n $transition: ();\n\n @if $property == none {\n $transition: none;\n } @else {\n @for $i from 1 through length($property) {\n // property (prefixed or not)\n @if $browser == none {\n $transition: append($transition, nth($property, $i));\n } @else if length($propertyprefix) > 1 and nth($propertyprefix, $i) or $propertyprefix == true {\n $transition: append($transition, $browser + nth($property, $i));\n } @else {\n $transition: append($transition, nth($property, $i));\n }\n // duration\n @if length($duration) > 1 and nth($duration, $i) {\n $transition: append($transition, nth($duration, $i));\n } @else {\n $transition: append($transition, $duration);\n }\n // delay\n @if length($delay) > 1 and nth($delay, $i) {\n $transition: append($transition, nth($delay, $i));\n } @else if $delay {\n $transition: append($transition, $delay);\n }\n // easing\n @if length($easing) > 1 and nth($easing, $i) {\n $transition: append($transition, nth($easing, $i));\n } @else if $easing {\n $transition: append($transition, $easing);\n }\n\n @if length($property) > $i {\n $transition: #{$transition + ','};\n }\n }\n }\n // add prefixed transition\n @if $browser == none {\n transition: $transition;\n } @else {\n #{$browser + 'transition'}: $transition;\n }\n }\n}\n","$transition-duration--faster: 0.1s;\n$transition-duration--fast: 0.2s;\n$transition-duration: 0.3s;\n$transition-duration--slow: 0.5s;\n$transition-duration--slower: 0.7s;\n$transition-duration--slowest: 0.9s;\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","$form-group-action-link-max-width: 100px; // mobile\n$form-group-action-link-max-width--m-inversed: 180px; // password 'forgotten'\n\n$selection-control-input-top: $baseline * 0.2;\n$selection-control-input-top--l: $baseline * 0.3;\n$upload-list-link-color: returnColorCSSVar('brand-primary');\n\n// select menu\n$select-menu-open-list-max-height: $baseline * 16.5;\n$select-menu-open-list-max-height--l: $baseline * 24;\n\n// link text decoration\n$forms-link-text-decoration: underline;\n","@mixin color-dark-shade-main {\n color: returnColorCSSVar('brand-secondary-tint-60');\n fill: returnColorCSSVar('brand-secondary-tint-60');\n}\n\n@mixin color-dark-shade-alternative {\n color: returnColorCSSVar('brand-secondary-tint-80');\n fill: returnColorCSSVar('brand-secondary-tint-80');\n}\n\n"]}