tag.scss 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. //@import '../theme/variables.scss';
  2. @import "./variables.scss";
  3. @import "./mixin.scss";
  4. $module: #{$prefix}-tag;
  5. $colors: "amber", "blue", "cyan", "green", "grey", "indigo", "light-blue", "light-green", "lime", "orange", "pink",
  6. "purple", "red", "teal", "violet", "yellow";
  7. $types: "ghost", "solid", "light";
  8. .#{$module} {
  9. box-sizing: border-box;
  10. display: inline-block;
  11. border-radius: $radius-tag;
  12. background-color: transparent;
  13. position: relative;
  14. user-select: none;
  15. // hidden avatar tag image
  16. overflow: hidden;
  17. white-space: nowrap;
  18. vertical-align: bottom;
  19. &-default,
  20. &-small {
  21. @include font-size-small;
  22. height: $height-tag_small;
  23. padding: $spacing-tag_small-paddingY $spacing-tag_small-paddingX;
  24. }
  25. &-large {
  26. @include font-size-small;
  27. padding: $spacing-tag_large-paddingY $spacing-tag_large-paddingX;
  28. height: $height-tag_large;
  29. }
  30. &-invisible {
  31. display: none;
  32. }
  33. &-content {
  34. display: flex;
  35. @include all-center;
  36. height: 100%;
  37. }
  38. &-close {
  39. @include all-center;
  40. color: $color-tag_close-icon-default;
  41. padding-left: $spacing-tag_close-paddingLeft;
  42. cursor: pointer;
  43. }
  44. &-closable {
  45. padding: $spacing-tag_closable-paddingTop $spacing-tag_closable-paddingRight $spacing-tag_closable-paddingBottom $spacing-tag_closable-paddingLeft;
  46. }
  47. &-avatar-square,
  48. &-avatar-circle {
  49. .#{$prefix}-avatar {
  50. margin-right: $spacing-tag_avatar-marginRight;
  51. }
  52. }
  53. &-avatar-square {
  54. padding: $spacing-tag_avatar_square-paddingTop $spacing-tag_avatar_square-paddingRight $spacing-tag_avatar_square-paddingBottom $spacing-tag_avatar_square-paddingLeft;
  55. .#{$prefix}-avatar {
  56. & > img {
  57. background-color: $color-tag_avatar_square_img-bg-default;
  58. }
  59. }
  60. }
  61. &-avatar-circle {
  62. padding: $spacing-tag_avatar_circle-paddingTop $spacing-tag_avatar_circle-paddingRight $spacing-tag_avatar_circle-paddingBottom $spacing-tag_avatar_circle-paddingLeft;
  63. }
  64. &-avatar-square.#{$module}-default, &-avatar-square.#{$module}-small {
  65. .#{$prefix}-avatar {
  66. width: $height-tag_small;
  67. height: $height-tag_small;
  68. }
  69. }
  70. &-avatar-square.#{$module}-large {
  71. .#{$prefix}-avatar {
  72. width: $height-tag_large;
  73. height: $height-tag_large;
  74. }
  75. }
  76. &-avatar-circle.#{$module}-small,
  77. &-avatar-circle.#{$module}-default {
  78. // when avatarShape=circle change tag border radius
  79. border-radius: $height-tag_small / 2 + 1;
  80. .#{$prefix}-avatar {
  81. width: $width-tag_avatar_circle_small;
  82. height: $width-tag_avatar_circle_small;
  83. }
  84. }
  85. &-avatar-circle.#{$module}-large {
  86. border-radius: $height-tag_large / 2 + 1;
  87. .#{$prefix}-avatar {
  88. width: $width-tag_avatar_circle_large;
  89. height: $width-tag_avatar_circle_large;
  90. }
  91. }
  92. }
  93. .#{$module}-group {
  94. display: block;
  95. .#{$module} {
  96. margin-bottom: $spacing-tag_group-marginBottom;
  97. margin-right: $spacing-tag_group-marginRight;
  98. }
  99. height: auto;
  100. &-max.#{$module}-group-small {
  101. height: ($height-tag_small + 2);
  102. }
  103. &-max.#{$module}-group-large {
  104. height: ($height-tag_large + 2);
  105. }
  106. // &-small {
  107. // height: ($height-tag_small + 2);
  108. // }
  109. // &-large {
  110. // height: ($height-tag_large + 2);
  111. // }
  112. }
  113. .#{$module}-rest-group-popover {
  114. .#{$module} {
  115. margin-right: $spacing-tag_group-marginRight;
  116. margin-bottom: $spacing-tag_group-marginBottom;
  117. &:last-of-type {
  118. margin-right: 0;
  119. }
  120. }
  121. }
  122. @each $c in $colors {
  123. @each $t in $types {
  124. .#{$module}-#{$c}-#{$t} {
  125. @include tag-style($c, $t);
  126. }
  127. }
  128. }
  129. @each $t in $types {
  130. .#{$module}-white-#{$t} {
  131. background-color: $color-tag_white-bg-default;
  132. border: $width-tag-border solid $color-tag_white-border-default;
  133. color: $color-tag_white-text-default;
  134. // .#{$module}-close {
  135. // color: $tag-color-white-default-icon;
  136. // }
  137. }
  138. }
  139. .#{$module}-white-ghost,
  140. .#{$module}-white-light,
  141. .#{$module}-white-solid {
  142. .#{$module}-close {
  143. color: $color-tag_white-icon-default;
  144. }
  145. }
  146. .#{$module}-avatar-square,
  147. .#{$module}-avatar-circle {
  148. background-color: $color-tag_avatar-bg-default;
  149. border: $width-tag_avatar-border solid $color-tag_avatar-border-default;
  150. color: $color-tag_avatar-text-default;
  151. }
  152. .#{$module}-solid {
  153. .#{$module}-close {
  154. color: $color-tag_close-icon_deep-default;
  155. }
  156. }
  157. @import "./rtl.scss";