badge.scss 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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. }
  67. .badge-tag-content-btn {
  68. @include reset-button;
  69. padding-left: var(--bs-badge-padding-x);
  70. padding-right: var(--bs-badge-padding-x);
  71. }
  72. .badge-tag-circle {
  73. display: block;
  74. margin: var(--spacing-02);
  75. width: var(--spacing-04);
  76. height: var(--spacing-04);
  77. border-radius: 50%;
  78. }
  79. .badge-premium {
  80. background-color: var(--neutral-20);
  81. color: var(--neutral-90);
  82. vertical-align: middle;
  83. margin-left: 5px;
  84. font-weight: var(--badge-font-weight);
  85. }
  86. .badge-link {
  87. display: inline-block;
  88. &.badge-link-light:hover .badge {
  89. background-color: var(--neutral-30) !important;
  90. }
  91. &.badge-link-no-max-width {
  92. .badge {
  93. max-width: none;
  94. }
  95. }
  96. .badge {
  97. @include body-sm;
  98. padding: 0 var(--bs-badge-padding-x);
  99. transition: background-color 0.15s ease-in-out;
  100. &:hover {
  101. transition: background-color 0.15s ease-in-out;
  102. }
  103. }
  104. }
  105. .badge-link-list {
  106. display: flex;
  107. gap: var(--spacing-05);
  108. flex-wrap: wrap;
  109. list-style: none;
  110. margin: 0;
  111. padding: 0;
  112. align-content: flex-start;
  113. .badge {
  114. max-width: 200px;
  115. }
  116. }