mixins.scss 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. // Typography mixins for consistent text styles
  2. :root {
  3. --ds-link-text-decoration-thickness: auto;
  4. }
  5. @mixin ds-body-sm-links() {
  6. --ds-link-text-decoration-thickness: 0.06em;
  7. }
  8. @mixin ds-body-xs-regular() {
  9. font-size: var(--ds-font-size-300);
  10. font-weight: var(--ds-font-weight-regular);
  11. line-height: var(--ds-font-line-height-500);
  12. }
  13. @mixin ds-body-xs-semibold() {
  14. font-size: var(--ds-font-size-300);
  15. font-weight: var(--ds-font-weight-semibold);
  16. line-height: var(--ds-font-line-height-500);
  17. }
  18. @mixin ds-body-sm-regular() {
  19. @include ds-body-sm-links;
  20. font-size: var(--ds-font-size-350);
  21. font-weight: var(--ds-font-weight-regular);
  22. line-height: var(--ds-font-line-height-500);
  23. }
  24. @mixin ds-body-sm-semibold() {
  25. @include ds-body-sm-links;
  26. font-size: var(--ds-font-size-350);
  27. font-weight: var(--ds-font-weight-semibold);
  28. line-height: var(--ds-font-line-height-500);
  29. }
  30. @mixin ds-body-md-regular() {
  31. font-size: var(--ds-font-size-400);
  32. font-weight: var(--ds-font-weight-regular);
  33. line-height: var(--ds-font-line-height-600);
  34. }
  35. @mixin ds-body-md-semibold() {
  36. font-size: var(--ds-font-size-400);
  37. font-weight: var(--ds-font-weight-semibold);
  38. line-height: var(--ds-font-line-height-600);
  39. }
  40. @mixin ds-body-lg-regular() {
  41. font-size: var(--ds-font-size-450);
  42. font-weight: var(--ds-font-weight-regular);
  43. line-height: var(--ds-font-line-height-700);
  44. }
  45. @mixin ds-body-lg-semibold() {
  46. font-size: var(--ds-font-size-450);
  47. font-weight: var(--ds-font-weight-semibold);
  48. line-height: var(--ds-font-line-height-700);
  49. }
  50. @mixin ds-heading-xs-regular() {
  51. font-size: var(--ds-font-size-450);
  52. font-weight: var(--ds-font-weight-regular);
  53. line-height: var(--ds-font-line-height-600);
  54. }
  55. @mixin ds-heading-xs-semibold() {
  56. font-size: var(--ds-font-size-450);
  57. font-weight: var(--ds-font-weight-semibold);
  58. line-height: var(--ds-font-line-height-600);
  59. }
  60. @mixin ds-heading-sm-regular() {
  61. font-size: var(--ds-font-size-500);
  62. font-weight: var(--ds-font-weight-regular);
  63. line-height: var(--ds-font-line-height-700);
  64. }
  65. @mixin ds-heading-sm-semibold() {
  66. font-size: var(--ds-font-size-500);
  67. font-weight: var(--ds-font-weight-semibold);
  68. line-height: var(--ds-font-line-height-700);
  69. }
  70. @mixin ds-heading-md-regular() {
  71. font-size: var(--ds-font-size-600);
  72. font-weight: var(--ds-font-weight-regular);
  73. line-height: var(--ds-font-line-height-800);
  74. }
  75. @mixin ds-heading-md-semibold() {
  76. font-size: var(--ds-font-size-600);
  77. font-weight: var(--ds-font-weight-semibold);
  78. line-height: var(--ds-font-line-height-800);
  79. }
  80. @mixin ds-heading-lg-regular() {
  81. font-size: var(--ds-font-size-800);
  82. font-weight: var(--ds-font-weight-regular);
  83. line-height: var(--ds-font-line-height-1000);
  84. }
  85. @mixin ds-heading-lg-semibold() {
  86. font-size: var(--ds-font-size-800);
  87. font-weight: var(--ds-font-weight-semibold);
  88. line-height: var(--ds-font-line-height-1000);
  89. }
  90. @mixin ds-heading-xl-regular() {
  91. font-size: var(--ds-font-size-1000);
  92. font-weight: var(--ds-font-weight-regular);
  93. line-height: var(--ds-font-line-height-1200);
  94. }
  95. @mixin ds-heading-xl-semibold() {
  96. font-size: var(--ds-font-size-1000);
  97. font-weight: var(--ds-font-weight-semibold);
  98. line-height: var(--ds-font-line-height-1200);
  99. }
  100. // Focus outline
  101. @mixin ds-focus-outline() {
  102. box-shadow: none;
  103. outline: 2px solid var(--ds-color-yellow-500);
  104. outline-offset: 2px;
  105. }