@use 'sass:map'; // Shared styling of article images shown as background @mixin image-as-background { background-color: var(--newtab-element-secondary-color); background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: var(--border-radius-small); box-shadow: $shadow-image-inset; } // Note: lineHeight and fontSize should be unitless but can be derived from pixel values // Bug 1550624 to clean up / remove this mixin to avoid duplicate styles @mixin limit-visible-lines($line-count, $line-height, $font-size) { font-size: $font-size; -webkit-line-clamp: $line-count; line-height: $line-height; } @mixin dark-theme-only { [lwt-newtab-brighttext] & { @content; } } @mixin ds-border-top { @content; @include dark-theme-only { border-top: 1px solid $grey-60; } border-top: 1px solid $grey-30; } @mixin ds-border-bottom { @content; @include dark-theme-only { border-bottom: 1px solid $grey-60; } border-bottom: 1px solid $grey-30; } @mixin ds-fade-in($halo-color: $blue-50-30) { box-shadow: 0 0 0 5px $halo-color; transition: box-shadow 150ms; border-radius: var(--border-radius-small); outline: none; } // Some wallpapers are light/dark, and may not match the user set contrast, // so some text, icons, etc that are displayed over the wallpaper need a contrast fix. @mixin wallpaper-contrast-fix { .lightWallpaper & { color-scheme: light; } .darkWallpaper & { color-scheme: dark; } } // Used to visualize the different breakpoints on an applied element // See variables.scss for $debug-breakpoints @mixin debug-breakpoints { @each $name, $value in $debug-breakpoints { $color: map.get($debug-breakpoint-colors, $name); @media (min-width: $value) { outline: 1px solid #{$color}; } } }