UNPKG

@arco-design/web-react

Version:

Arco Design React UI Library.

178 lines (143 loc) 4.13 kB
@import './token.less'; @import '../../style/mixin.less'; @tag-prefix-cls: ~'@{prefix}-tag'; @colors: red, orangered, orange, gold, lime, green, cyan, blue, arcoblue, purple, pinkpurple, magenta, gray; .@{tag-prefix-cls} { display: inline-flex; align-items: center; box-sizing: border-box; height: @tag-size-default; padding: @tag-padding-vertical @tag-padding-horizontal; border: @tag-border-width @tag-border-type transparent; border-radius: @tag-border-radius; font-size: @tag-size-default-font-size; font-weight: @tag-text-font-weight; line-height: @tag-size-default - @tag-border-width * 2 - @tag-padding-vertical * 2; color: @tag-default-color-text; .icon-hover( @tag-prefix-cls, 12px, 16px ); .icon-hover-bg(@tag-prefix-cls, @tag-default-color-bg_hover); &-content { flex: 1; .text-ellipsis(); } &-checkable { cursor: pointer; transition: all @transition-duration-1 @transition-timing-function-linear; } &-checkable:hover { background-color: @tag-color-bg-not-checked_hover; } &-checked { border-color: @tag-default-color-border; background-color: @tag-default-color-bg; } &-checkable&-checked:hover { background-color: @tag-default-color-bg_hover; border-color: @tag-default-color-border_hover; } &-bordered, &-checkable&-checked&-bordered:hover { border-color: @tag-default-bordered-color-border; } // Size &-size-small { height: @tag-size-small; line-height: @tag-size-small - @tag-border-width * 2; font-size: @tag-size-small-font-size; } &-size-medium { height: @tag-size-medium; line-height: @tag-size-medium - @tag-border-width * 2; font-size: @tag-size-medium-font-size; } &-size-large { height: @tag-size-large; line-height: @tag-size-large - @tag-border-width * 2; font-size: @tag-size-large-font-size; } &-hide { display: none; } &-loading { opacity: 0.8; cursor: default; } &-icon { margin-right: @tag-icon-margin-right; color: @tag-default-color-icon; } each(@colors, { &-checked&-@{value} { color: ~'@{tag-@{value}-color-text}'; background-color: ~'@{tag-@{value}-color-bg}'; border: @tag-border-width @tag-border-type ~'@{tag-@{value}-color-border}'; .icon-hover-bg(@tag-prefix-cls, ~'@{tag-@{value}-color-icon-bg_hover}'); } &-checkable&-checked&-@{value}:hover { background-color: ~'@{tag-@{value}-color-bg_hover}'; border-color: ~'@{tag-@{value}-color-border_hover}'; } &-checked&-@{value}&-bordered, &-checked&-@{value}&-bordered:hover { border-color: ~'@{tag-@{value}-bordered-color-border}'; } &-checked&-@{value} &-icon, &-checked&-@{value} &-close-icon, &-checked&-@{value} &-loading-icon { color: ~'@{tag-@{value}-color-icon}'; } }); &-custom-color { color: @tag-custom-color-text; .icon-hover-bg(@tag-prefix-cls, @tag-custom-color-icon-bg_hover); } & &-close-btn { font-size: 12px; margin-left: 4px; &:focus-visible::before { box-shadow: inset 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-primary-light-3'); } > svg { position: relative; } } &-loading-icon { font-size: 12px; margin-left: 4px; } } @{arco-theme-tag} { &[arco-theme='dark'] { .@{tag-prefix-cls}-checked { color: rgba(255, 255, 255, 90%); } each(@colors, { .@{tag-prefix-cls}-checked.@{tag-prefix-cls}-@{value} { background-color: ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.2)'; .icon-hover-bg(@tag-prefix-cls, ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.35)'); } .@{tag-prefix-cls}-checkable.@{tag-prefix-cls}-checked.@{tag-prefix-cls}-@{value}:hover { background-color: ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.35)'; } }); } } .@{tag-prefix-cls}-rtl { direction: rtl; .@{tag-prefix-cls} { &-icon { margin-left: @tag-icon-margin-right; margin-right: 0; } &-close-btn, &-loading-icon { margin-left: 0; margin-right: 4px; } } }