@randstad-design/orbit-multitheme
Version:
multitheme Front-end code based on Randstad Human Forward components
1 lines • 19.3 kB
Source Map (JSON)
{"version":3,"sources":["../scss/03_molecules/_selector-box.scss","00_helpers/variables/_sizing.scss","00_helpers/variables/_colors.scss","00_helpers/variables/_transitions.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/headers/_selector.scss","../scss/00_tools/cssVartoSass.scss","../scss/04_organisms/headers/_selector.scss"],"names":[],"mappings":"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","file":"selector.css","sourcesContent":[".selector-box {\n max-height: 0;\n opacity: 0;\n pointer-events: none;\n transform: translateY(-$baseline * 0.5);\n visibility: hidden;\n}\n\n.selector-box--active {\n background: currentColor;\n border-radius: $border-radius--l;\n border: 1px solid;\n color: $color--white;\n margin-top: $baseline * 1.5;\n max-height: $baseline * 18;\n opacity: 1;\n padding: 15px 0;\n pointer-events: auto;\n position: absolute;\n transform: translateY(0);\n transition: opacity $transition-duration--fast,\n visibility $transition-duration--fast, transform $transition-duration--fast;\n visibility: visible;\n width: 100%;\n z-index: 6;\n\n // Exceptions for the header\n &.selector-box--header {\n @include font-style(\n $header-selector-content-active-font-style,\n $header-selector-content-active-font-style--l\n );\n border: none;\n color: $header-selector-content-active-background-color;\n padding: 20px 0;\n width: 100%;\n\n .selector-box__pointer {\n border: none;\n\n &:after {\n content: none;\n }\n }\n\n @include viewport--l {\n margin-top: $baseline * 2.1;\n max-height: $baseline * 25;\n\n .selector-box__list {\n max-height: 190px;\n padding: 0 30px;\n }\n\n .selector-box__item {\n padding: 10px 0;\n }\n }\n }\n}\n\n.selector-box__pointer {\n background: currentColor;\n border-radius: $border-radius;\n border: 1px solid;\n display: block;\n height: 26px;\n position: absolute;\n top: $baseline * -0.6;\n transform: rotate(45deg);\n width: 26px;\n\n &:after {\n background-color: $color--white;\n content: '';\n height: 25px;\n left: -4px;\n position: absolute;\n top: 4px;\n transform: rotate(-45deg);\n width: 40px;\n }\n}\n\n.selector-box__list {\n -webkit-overflow-scrolling: touch;\n border-radius: $border-radius;\n max-height: 135px;\n overflow-y: scroll;\n padding: 0 20px;\n transition: max-height 0s ease;\n}\n\n.selector-box__item {\n padding: 5px 0;\n}\n\na.selector-box__option {\n text-decoration: none;\n transition: color $transition-duration--fast;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n.selector-box-trigger {\n .icon {\n transition: transform $transition-duration--fast;\n transform-origin: center;\n }\n}\n\n.selector__dropdown--active {\n .icon {\n transform: rotate(180deg);\n }\n}\n\n@include selector-color-mapping;\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","$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","$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","// @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","// @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","@mixin selector-color-mapping {\n .selector {\n // ! Deprecate\n &__content--active {\n .bg-brand--off-white & {\n color: $color-brand--white;\n }\n }\n\n &__option:hover {\n .bg-brand--dark-blue &,\n .bg-brand--blue &,\n .bg-brand--off-white & {\n color: $color-brand--one;\n }\n\n .bg-brand--red & {\n color: $color-brand--five;\n }\n\n .bg-brand--turquoise & {\n color: $color-brand--three;\n }\n\n .bg-brand--yellow & {\n color: $color-brand--six;\n }\n }\n }\n\n .bg-brand--yellow {\n .content-block .selector__option.selector__option {\n color: $color-brand--two;\n\n &:hover {\n color: $color-brand--six;\n }\n }\n\n .selector__dropdown--active.text-ellipsis {\n opacity: 1;\n }\n }\n\n .bg-brand--off-white .selector__dropdown--active.text-ellipsis {\n opacity: 1;\n }\n\n // ! //\n\n a.selector-box__option {\n color: returnColorCSSVar('brand-secondary-alpha-70');\n\n &:hover {\n color: returnColorCSSVar('brand-secondary');\n }\n }\n\n .selector-box--active {\n border-color: returnColorCSSVar('brand-tertiary-tint-80');\n }\n\n .selector-box__pointer {\n border-color: returnColorCSSVar('brand-tertiary-tint-80');\n }\n}\n","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n @return var(--color-#{$color-name});\n}\n",".header--selector {\n .header__content {\n z-index: initial;\n }\n\n .content-block__title {\n display: flex;\n flex-wrap: wrap;\n }\n\n .modal__overlay {\n z-index: 5;\n }\n}\n\n// selector\n.selector {\n &__title {\n margin-right: 10px;\n }\n\n &__dropdown {\n cursor: pointer;\n display: block;\n height: $baseline * 4;\n padding-right: 20px;\n z-index: 100;\n\n @include viewport--l {\n padding-right: 40px;\n }\n\n position: relative;\n\n .icon {\n color: currentColor;\n flex-shrink: 0;\n transition: transform $transition-duration--fast;\n transform-origin: center;\n position: absolute;\n top: calc(50% + 4px);\n @include viewport--l {\n top: calc(50% + 8px);\n }\n transform: translateY(-50%);\n right: 0;\n }\n\n &--active {\n z-index: 6;\n\n .icon {\n transform: rotate(180deg) translateY(50%);\n }\n }\n\n &--active.text-ellipsis {\n opacity: 0.7;\n }\n }\n\n &__dropdown svg {\n fill: currentColor;\n }\n\n &__text {\n @include font-style('title--m');\n padding-right: 10px;\n position: relative;\n }\n}\n\n// viewport l\n@include viewport--l {\n .header--selector {\n .content-block__description {\n margin-top: 15px;\n }\n\n .media-block:not(.media-block--full-width) img {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n // selector\n .selector {\n &__title {\n margin-right: 15px;\n }\n\n &__dropdown {\n height: $baseline * 6.5;\n }\n }\n}\n\n@include selector-color-mapping;\n"]}