badge.scss 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. $max-width: 160px;
  2. .badge {
  3. display: inline-flex;
  4. align-items: stretch;
  5. max-width: 100%;
  6. line-height: var(--line-height-01);
  7. padding: 0 var(--bs-badge-padding-x);
  8. &:not(.badge-tag) {
  9. max-width: $max-width;
  10. }
  11. &.bg-warning {
  12. --bs-badge-color: var(--content-warning);
  13. }
  14. }
  15. .badge-prepend {
  16. margin-right: var(--spacing-02);
  17. display: flex;
  18. align-items: center;
  19. .material-symbols {
  20. font-size: inherit;
  21. }
  22. }
  23. .badge-close {
  24. @include reset-button;
  25. display: flex;
  26. align-items: center;
  27. justify-content: center;
  28. flex-shrink: 0;
  29. padding: 0 var(--spacing-02);
  30. border-top-right-radius: inherit;
  31. border-bottom-right-radius: inherit;
  32. color: inherit;
  33. user-select: none;
  34. .badge-close-icon {
  35. font-size: $font-size-base;
  36. }
  37. }
  38. .badge-close,
  39. .badge-tag-content-btn {
  40. &:hover {
  41. background-color: var(--neutral-40);
  42. }
  43. }
  44. .badge-content {
  45. @include text-truncate;
  46. padding: var(--bs-badge-padding-y) 0;
  47. min-width: 1em;
  48. }
  49. .badge-tag {
  50. @include body-sm;
  51. padding: 0;
  52. color: $dark;
  53. &:hover {
  54. background-color: var(--neutral-30) !important;
  55. }
  56. }
  57. .badge-tag-content {
  58. display: flex;
  59. align-items: center;
  60. overflow: hidden;
  61. max-width: $max-width;
  62. padding-left: var(--bs-badge-padding-x);
  63. padding-right: var(--bs-badge-padding-x);
  64. border-top-left-radius: inherit;
  65. border-bottom-left-radius: inherit;
  66. &:last-child {
  67. border-top-right-radius: inherit;
  68. border-bottom-right-radius: inherit;
  69. }
  70. }
  71. .badge-tag-content-btn {
  72. @include reset-button;
  73. padding-left: var(--bs-badge-padding-x);
  74. padding-right: var(--bs-badge-padding-x);
  75. }
  76. .badge-tag-circle {
  77. display: block;
  78. margin: var(--spacing-02);
  79. width: var(--spacing-04);
  80. height: var(--spacing-04);
  81. border-radius: 50%;
  82. }
  83. .badge-premium {
  84. background-color: var(--neutral-20);
  85. color: var(--neutral-90);
  86. vertical-align: middle;
  87. margin-left: 5px;
  88. font-weight: var(--badge-font-weight);
  89. }
  90. .badge-premium-gradient {
  91. background: var(--premium-gradient);
  92. color: var(--content-primary-dark);
  93. vertical-align: middle;
  94. margin-left: 5px;
  95. font-weight: var(--badge-font-weight);
  96. }
  97. .badge-link {
  98. display: inline-block;
  99. &.badge-link-light:hover .badge {
  100. background-color: var(--neutral-30) !important;
  101. }
  102. &.badge-link-no-max-width {
  103. .badge {
  104. max-width: none;
  105. }
  106. }
  107. .badge {
  108. @include body-sm;
  109. padding: 0 var(--bs-badge-padding-x);
  110. transition: background-color 0.15s ease-in-out;
  111. &:hover {
  112. transition: background-color 0.15s ease-in-out;
  113. }
  114. }
  115. }
  116. .badge-link-list {
  117. display: flex;
  118. gap: var(--spacing-05);
  119. flex-wrap: wrap;
  120. list-style: none;
  121. margin: 0;
  122. padding: 0;
  123. align-content: flex-start;
  124. .badge {
  125. max-width: 200px;
  126. }
  127. }