_hsl-functions.scss 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. @use 'bootstrap/scss/functions' as bs;
  2. @function contrast($color, $darken-degrees: 0%, $alpha-degrees: 100%) {
  3. $color: bs.str-replace($color, 'var(');
  4. $color: bs.str-replace($color, ')');
  5. $color-hs: var(#{$color+'-hs'});
  6. $color-l: var(#{$color+'-l'});
  7. // @return hsl($color-hs, clamp(10%, calc((100% - $color-l - 51% ) * 1000), 95%));
  8. @return hsla($color-hs, clamp(10%, calc((100% - $color-l - $darken-degrees - 51% ) * 1000), 95%), $alpha-degrees);
  9. }
  10. @function lighten($color, $degrees) {
  11. $color: bs.str-replace($color, 'var(');
  12. $color: bs.str-replace($color, ')');
  13. $color-hs: var(#{$color+'-hs'});
  14. $color-l: var(#{$color+'-l'});
  15. @return hsl($color-hs, calc($color-l + $degrees));
  16. }
  17. @function darken($color, $degrees) {
  18. $color: bs.str-replace($color, 'var(');
  19. $color: bs.str-replace($color, ')');
  20. $color-hs: var(#{$color+'-hs'});
  21. $color-l: var(#{$color+'-l'});
  22. @return hsl($color-hs, calc($color-l - $degrees));
  23. }
  24. @function alpha($color, $degrees) {
  25. $color: bs.str-replace($color, 'var(');
  26. $color: bs.str-replace($color, ')');
  27. $color-hs: var(#{$color+'-hs'});
  28. $color-l: var(#{$color+'-l'});
  29. @return hsla($color-hs,$color-l,$degrees);
  30. }