_mixins.scss 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. @mixin subheader($include-color: true, $include-line-height: true) {
  2. font-size: $h6-font-size;
  3. font-weight: var(--#{$prefix}font-weight-bold);
  4. text-transform: uppercase;
  5. letter-spacing: .04em;
  6. @if $include-line-height {
  7. line-height: $h6-line-height;
  8. }
  9. @if ($include-color) {
  10. color: var(--#{$prefix}secondary);
  11. }
  12. }
  13. @mixin scrollbar($color: var(--#{$prefix}body-color-rgb)) {
  14. #{if(&, "&", "*")} {
  15. scrollbar-color: rgba(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color-rgb)), .16) transparent;
  16. }
  17. #{if(&, "&", "*")}::-webkit-scrollbar {
  18. width: 1rem;
  19. height: 1rem;
  20. @include transition(background $transition-time);
  21. }
  22. #{if(&, "&", "*")}::-webkit-scrollbar-thumb {
  23. border-radius: 1rem;
  24. border: 5px solid transparent;
  25. box-shadow: inset 0 0 0 1rem rgba(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color-rgb)), .16);
  26. }
  27. #{if(&, "&", "*")}::-webkit-scrollbar-track {
  28. background: transparent;
  29. }
  30. #{if(&, "&", "*")}:hover::-webkit-scrollbar-thumb {
  31. box-shadow: inset 0 0 0 1rem rgba(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color-rgb)), .32);
  32. }
  33. #{if(&, "&", "*")}::-webkit-scrollbar-corner {
  34. background: transparent;
  35. }
  36. }
  37. @mixin autodark-image {
  38. filter: brightness(0) invert(1);
  39. }
  40. //
  41. // Elements list
  42. //
  43. @mixin elements-list($gap: .5rem) {
  44. --#{$prefix}list-gap: #{$gap};
  45. display: flex;
  46. flex-wrap: wrap;
  47. gap: var(--#{$prefix}list-gap);
  48. }
  49. @mixin focus-ring($show-border: false) {
  50. outline: 0;
  51. box-shadow: 0 0 $focus-ring-blur $focus-ring-width rgba(var(--#{$prefix}primary-rgb), 0.25);
  52. @if($show-border) {
  53. border-color: rgba(var(--#{$prefix}primary-rgb), 0.25);
  54. }
  55. }