minishouyin/node_modules/rc-segmented/assets/index.less
2025-11-12 11:35:57 +08:00

131 lines
2.4 KiB
Plaintext

@segmented-prefix-cls: rc-segmented;
@disabled-color: fade(#000, 25%);
@selected-bg-color: white;
@text-color: #262626;
@transition-duration: 0.3s;
@transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
.segmented-disabled-item() {
&,
&:hover,
&:focus {
color: @disabled-color;
cursor: not-allowed;
}
}
.segmented-item-selected() {
background-color: @selected-bg-color;
}
.@{segmented-prefix-cls} {
display: inline-block;
padding: 2px;
background-color: rgba(0, 0, 0, 0.04);
&-group {
position: relative;
display: flex;
flex-direction: row;
align-items: stretch;
justify-content: flex-start;
width: 100%;
border-radius: 2px;
}
&-item {
position: relative;
min-height: 28px;
padding: 4px 10px;
color: fade(#000, 85%);
text-align: center;
cursor: pointer;
&-selected {
.segmented-item-selected();
color: @text-color;
}
&:hover,
&:focus {
color: @text-color;
}
&-disabled {
.segmented-disabled-item();
}
&-label {
z-index: 2;
line-height: 24px;
}
&-input {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
opacity: 0;
pointer-events: none;
}
}
&-thumb {
.segmented-item-selected();
position: absolute;
width: 0;
height: 100%;
padding: 4px 0;
transition: transform @transition-duration @transition-timing-function,
width @transition-duration @transition-timing-function;
}
&-vertical &-group {
flex-direction: column;
}
&-vertical &-item {
width: 100%;
text-align: left;
}
&-vertical &-thumb {
width: 100%;
height: 0;
padding: 0 4px;
transition: transform @transition-duration @transition-timing-function,
height @transition-duration @transition-timing-function;
}
// disabled styles
&-disabled &-item,
&-disabled &-item:hover,
&-disabled &-item:focus {
.segmented-disabled-item();
}
&-thumb-motion-appear-active,
&-thumb-motion-enter-active {
transition: transform @transition-duration @transition-timing-function,
width @transition-duration @transition-timing-function;
will-change: transform, width;
}
&-rtl {
direction: rtl;
}
}
.rc-segmented-item {
&:focus {
outline: none;
}
&-focused {
border-radius: 2px;
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
}