@randstad-design/orbit-multitheme
Version:
multitheme Front-end code based on Randstad Human Forward components
1 lines • 25.1 kB
Source Map (JSON)
{"version":3,"sources":["../scss/03_molecules/_distance-pin.scss","../scss/04_organisms/list-items/_list.scss","00_helpers/variables/_colors.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/grid/_grid-columns.scss","../scss/04_organisms/list-items/_list-item.scss","00_helpers/variables/_spacing.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/variables/_icons.scss","00_helpers/mixins/_word-break.scss","00_helpers/variables/_transitions.scss"],"names":[],"mappings":"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","file":"list-items.css","sourcesContent":[".distance-pin {\n align-items: center;\n display: flex;\n\n span + span {\n margin-left: 10px;\n }\n}\n",".list-items {\n overflow: hidden;\n position: relative;\n // render a 1px line at the bottom to hide border last item\n // this is needed for the 'closables' to work properly\n &::after {\n background: $color-brand--white;\n bottom: 0;\n content: '';\n display: block;\n height: 1px;\n position: absolute;\n width: 100%;\n }\n\n // viewport l\n @include viewport--l {\n margin-left: auto;\n width: grid-columns(8, 9);\n\n .block__content--s & {\n width: 100%;\n }\n }\n}\n\n// background mappings\n@include list-items-list-background-mapping;\n","$color-brand--black: #000000;\n$color-brand--white: #fff;\n\n$color-brand--one: #ff661a;\n$color-brand--two: #2e2e2e;\n$color-brand--three: #1f82db;\n$color-brand--four: #c4c4c4;\n$color-brand--five: #f8f8f8;\n$color-brand--six: #97999b;\n\n$color-brand--gradient-orange: linear-gradient(\n 56.45deg,\n #ff8200 0%,\n #ed1f24 100%\n);\n$color-brand--gradient-orange-50: linear-gradient(\n 56.45deg,\n #ff9b33 0%,\n #ed4e52 100%\n);\n$color-brand--gradient-blue: linear-gradient(45deg, #1f82db 0%, #1166b3 100%);\n$color-brand--gradient-purple: linear-gradient(\n 45deg,\n #595a9f 0%,\n #6152a3 50%,\n #292765 100%\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--black-80: #303030;\n\n$color--grey: #e2e2e2;\n$color--grey-10: #f8f8f8;\n\n$color--white: #fff;\n\n$color--one-10: #fff0e8;\n$color--one-80: #ff8548;\n$color--one-130: #e64c00;\n\n$color--two-50: #97999b;\n$color--two-80: #4d4d4d;\n$color--two-180: #000000;\n\n$color--three-5: #edf6ff;\n\n$color--four-80: #f9f7f3;\n$color--four-110: #dedcd8;\n\n$color--negative: #f13c23;\n$color--negative-5: #fef5f4;\n\n$color--positive: #11d15e;\n$color--positive-5: #f3fdf7;\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(255, 102, 26, 0.1);\n$color-alpha--one-30: rgba(255, 102, 26, 0.3);\n\n$color-alpha--two-10: rgba(0, 0, 0, 0.1);\n$color-alpha--two-30: rgba(0, 0, 0, 0.3);\n$color-alpha--two-70: rgba(0, 0, 0, 0.7);\n$color-alpha--two-80: rgba(0, 0, 0, 0.8);\n\n$color-alpha--four-30: rgba(255, 255, 255, 0.2);\n$color-alpha--four-50: rgba(255, 255, 255, 0.5);\n\n// set color values\n$color--disabled: $color--two-50;\n$color--text: $color-brand--two;\n$color--one-light: $color--one-10;\n\n// degree brand colors\n// used in the charts as extra color scheme\n$color-brand--one-65: #ffc8ad;\n$color-brand--one-45: #ffe7da;\n$color-brand--one-25: #f7beb9;\n$color-brand--two-65: #afaf;\n$color-brand--two-45: #dbdbdb;\n$color-brand--two-25: #fce8b5;\n$color-brand--three-65: #afd2f2;\n$color-brand--three-45: #dbebf9;\n$color-brand--five-25: #a6c8f0;\n$color-brand--six-65: #dadadb;\n$color-brand--six-45: #eeefef;\n$color-brand--six-25: #c4dbe1;\n\n// degree user interface colors\n// used in the charts as extra color scheme\n$color--positive-65: #aaefc5;\n$color--positive-45: #d9f8e5;\n\n// notice colors\n$color-notice--warning: #fff2f2;\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","// @grid-columns($columns, $columns-total, $grid-gutter)\n\n// grid for viewport S & M:\n// 6 columns / 28 units\n//\n// | | | | | | | | | | | |\n// | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |\n// | | | | | | | | | | | |\n//\n//\n// grid for vieport L:\n// 12 columns / 58 units\n//\n// | | | | | | | | | | | | | | | | | | | | | | | |\n// | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |\n// | | | | | | | | | | | | | | | | | | | | | | | |\n\n@function grid-columns($columns, $columns-total, $grid-gutter: null) {\n $column-gutter-diff: ($grid-column-units - $grid-gutter-units);\n\n $column-units: ($columns * $grid-column-units) + (($columns - $column-gutter-diff) * $grid-gutter-units);\n $columns-total: ($columns-total * $grid-column-units) + (($columns-total - $column-gutter-diff) * $grid-gutter-units);\n\n // if grid gutter is provided use it in calculation\n @if ($grid-gutter) {\n @return calc(((#{$column-units} + (#{$grid-gutter} * #{$grid-gutter-units})) /#{$columns-total}) * 100%);\n }\n // if grid-gutter is not provided return default calculation\n @else {\n @return calc((#{$column-units}/#{$columns-total}) * 100%);\n }\n}\n",".list-item {\n &:first-child {\n margin-top: -$spacing--m; // negative margin on first-child to hide top spacing\n }\n // header\n &__header {\n @include font-style(\n $list-item-header-font-style,\n $list-item-header-font-style--l\n );\n display: inline;\n }\n\n &__header--badge {\n display: flex;\n flex-wrap: wrap;\n\n .list-item__link {\n margin-right: 10px;\n }\n }\n\n &__header--favorise {\n margin-right: 10px;\n }\n // title\n &__title:not(.list-item__title--split) {\n .list-item__controls {\n position: absolute;\n }\n // viewport s - m\n @include viewport--l('inversed') {\n position: relative;\n }\n }\n\n &__title--split {\n display: flex;\n }\n\n .badge {\n margin-top: 3px;\n }\n\n &__link {\n position: relative;\n }\n\n &__info {\n margin: $spacing--m 0;\n }\n // progress bar\n .progress-bar {\n margin-top: $baseline * 6.5;\n }\n // controls\n &__controls {\n flex-shrink: 0;\n margin-left: auto;\n top: -$baseline * 0.2;\n right: -10px;\n\n button {\n cursor: pointer;\n height: $baseline * 4;\n width: 40px;\n }\n\n .icon {\n top: $baseline * 0.3;\n }\n }\n\n &__save {\n height: $icon-size;\n top: $baseline * 0.3;\n\n &:focus {\n outline: 0;\n }\n }\n // description\n &__description {\n margin-top: $spacing--m;\n }\n\n &__description-list {\n .list-item__title + & {\n margin-top: $spacing--m;\n }\n }\n // icon toggler\n .icon__toggler:hover svg {\n fill: $color-brand--five;\n }\n\n // meta\n &__meta {\n .list-item__title + &,\n .progress-bar + & {\n margin-top: $spacing--s;\n }\n\n li {\n @include word-break;\n }\n }\n // feedback\n &__feedback {\n align-items: baseline;\n display: flex;\n margin-top: $spacing--s;\n\n .icon {\n margin-right: 10px;\n position: relative;\n top: $baseline * 0.2;\n }\n }\n // disabled\n &--disabled {\n .list-item__link {\n pointer-events: none;\n }\n }\n // closable\n &.closable--closed {\n border-bottom: 0 solid transparent;\n transition: max-height $transition-duration--fast $transition-duration--fast,\n border $transition-duration--fast $transition-duration--fast;\n\n .button--m,\n .button--clean:not([data-rs-closable]),\n .badge,\n .list-item__description,\n .list-item__feedback,\n .list-item__header,\n .list-item__link,\n .list-item__meta,\n .list-item__save {\n opacity: 0;\n transition: opacity $transition-duration--fast;\n }\n }\n}\n\n// viewport s - m\n@include viewport--l('inversed') {\n .list-item {\n &:last-child {\n margin-bottom: -$baseline * 2.9; // remove addition white space at bottom of list\n }\n\n &__header + .distance-pin {\n margin-top: $spacing--xs;\n }\n\n &__controls {\n margin-top: -$baseline * 0.7;\n position: relative;\n top: $baseline * 0.3;\n }\n\n .list-item__info + .button {\n margin-bottom: $spacing--m;\n }\n\n &__title--control {\n padding-right: 30px;\n }\n\n &__description-list {\n dd + dt {\n margin-top: $spacing--s;\n }\n }\n\n &__logo {\n display: none;\n }\n }\n}\n// viewport l\n@include viewport--l {\n .list-item {\n display: flex;\n position: relative;\n\n &:last-child {\n margin-bottom: -$spacing--l; // remove addition white space at bottom of list\n }\n\n &--l .list-item__info {\n margin-top: $spacing--l;\n }\n\n &--l:first-child {\n margin-top: -$spacing--l;\n }\n\n &--l .list-item__controls {\n top: $spacing--l;\n }\n // header\n &__header--badge .list-item__link {\n margin-right: 20px;\n }\n\n .badge {\n margin-top: $baseline * 0.8;\n }\n // progress bar\n .progress-bar {\n margin-top: $spacing--l;\n order: 1;\n }\n // controls & logo\n &__controls,\n &__logo {\n top: $spacing--m;\n }\n // controls\n &__controls {\n margin-top: 0;\n position: absolute;\n }\n\n &__save {\n &,\n .icon,\n svg {\n height: $icon-size--l;\n width: $icon-size--l;\n }\n }\n // info\n &__info {\n display: flex;\n flex: 1;\n flex-direction: column;\n margin-bottom: $spacing--l;\n max-width: 100%;\n }\n\n &__info + .button {\n align-self: flex-end;\n bottom: $spacing--l;\n margin-left: auto;\n position: relative;\n }\n // when there is no button\n &__info + .list-item__logo {\n margin-left: auto;\n position: inherit;\n }\n // title\n &__title {\n order: 0;\n }\n // meta\n &__meta {\n order: 2;\n\n .list-item__title &,\n .progress-bar + & {\n margin-top: $spacing--m;\n }\n\n &--row li {\n display: inline-block;\n }\n\n &--row li:not(:last-child) {\n margin-right: 50px;\n }\n }\n // description list\n &__description-list {\n display: flex;\n flex-wrap: wrap;\n\n dd,\n dt {\n margin-top: $baseline * 0.5;\n }\n\n dt {\n width: grid-columns(3, 8);\n }\n\n dd {\n margin-left: auto;\n width: grid-columns(5, 8);\n }\n }\n // description\n &__description {\n margin-top: $spacing--m;\n order: 4;\n\n p:last-child {\n margin-bottom: 0;\n }\n }\n // logo\n &__logo {\n max-height: $baseline * 6;\n max-width: 100px;\n overflow: hidden;\n position: absolute;\n right: 0;\n\n img {\n width: 100%;\n }\n }\n // distance pin\n .distance-pin {\n position: absolute;\n right: 0;\n top: $baseline * 4;\n z-index: 1;\n }\n\n .list-item__header + .distance-pin {\n line-height: 0;\n margin-left: 30px;\n }\n // feedback\n &__feedback {\n order: 5;\n }\n }\n}\n\n// button\n// placed at bottom for cascading purposes\n.list-item--button {\n &.list-item--button {\n margin-bottom: 0;\n }\n\n .button {\n margin-top: $spacing--m;\n }\n}\n\n// background mappings\n@include list-item-background-mapping;\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","// @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-family: (map-get($type, font-family));\n font-size: (map-get($type, font-size));\n text-transform: (map-get($type, text-transform));\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 | 12 | body s | 12 | body s | 12 | |\n\n// font family\n$font-family-theme: Montserrat, arial, sans-serif;\n$font-family-theme-semibold: Montserrat-SemiBold, arial, sans-serif;\n$font-family-theme-extrabold: Montserrat-ExtraBold, arial, sans-serif;\n// assets path to font\n// this path is overwritten in component CSS\n\n// font mappings - font-size / line-height / letter-spacing\n$types: (\n 12: (\n font-size: 12px,\n line-height: 15px,\n text-transform: none,\n font-family: $font-family-theme\n ),\n 14: (\n font-size: 14px,\n line-height: 25px,\n text-transform: none,\n font-family: $font-family-theme\n ),\n 16: (\n font-size: 16px,\n line-height: 25px,\n text-transform: none,\n font-family: $font-family-theme\n ),\n 18: (\n font-size: 18px,\n line-height: 30px,\n text-transform: none,\n font-family: $font-family-theme\n ),\n 20: (\n font-size: 20px,\n line-height: 30px,\n text-transform: none,\n font-family: $font-family-theme-extrabold\n ),\n 20s: (\n font-size: 20px,\n line-height: 30px,\n text-transform: none,\n font-family: $font-family-theme-semibold\n ),\n 26: (\n font-size: 26px,\n line-height: 30px,\n text-transform: uppercase,\n font-family: $font-family-theme-extrabold\n ),\n 26s: (\n font-size: 26px,\n line-height: 30px,\n text-transform: none,\n font-family: $font-family-theme-semibold\n ),\n 32: (\n font-size: 32px,\n line-height: 40px,\n text-transform: uppercase,\n font-family: $font-family-theme-extrabold\n ),\n 32s: (\n font-size: 32px,\n line-height: 40px,\n text-transform: none,\n font-family: $font-family-theme-semibold\n ),\n 40: (\n font-size: 40px,\n line-height: 45px,\n text-transform: uppercase,\n font-family: $font-family-theme-extrabold\n ),\n 40s: (\n font-size: 40px,\n line-height: 45px,\n text-transform: none,\n font-family: $font-family-theme-semibold\n ),\n 60: (\n font-size: 60px,\n line-height: 60px,\n text-transform: uppercase,\n font-family: $font-family-theme-extrabold\n ),\n 80: (\n font-size: 80px,\n line-height: 80px,\n text-transform: uppercase,\n font-family: $font-family-theme-extrabold\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--l-slim: 40s,\n title--m: 32,\n title--m-slim: 32s,\n title--s: 26,\n title--s-slim: 26s,\n title--xs: 20,\n title--xs-slim: 20s,\n title--xxs: 18,\n body--l: 18,\n body--m: 16,\n body--s: 14,\n body--xs: 12\n);\n","// icons\n$icon-size: $baseline * 2;\n$icon-size--xs: $baseline * 0.8;\n$icon-size--s: $baseline * 1.6;\n$icon-size--l: $baseline * 3;\n$icon-size--xl: $baseline * 4;\n$icon-size--xxl: $baseline * 6;\n$icon-size--xxxl: $baseline * 12;\n","@mixin word-break {\n overflow-wrap: break-word;\n word-wrap: break-word;\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"]}