tdesign-mobile-vue
Version:
tdesign-mobile-vue
97 lines (83 loc) • 1.95 kB
text/less
@import '../../base.less';
@import './_var.less';
.@{prefix}-textarea {
display: flex;
box-sizing: border-box;
padding: @textarea-padding;
background-color: @textarea-background-color;
&--layout-vertical {
flex-direction: column;
}
&__label:not(:empty) {
font: @textarea-label-font;
color: @textarea-label-color;
flex-shrink: 0;
margin-right: @spacer-2;
width: @textarea-label-width;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
.@{prefix}-textarea--layout-vertical & {
font: @font-body-medium;
padding-bottom: @spacer;
}
}
&__wrapper {
display: flex;
flex-direction: column;
width: 100%;
flex: 1 1 auto;
overflow: hidden;
&-inner {
flex: 1 1 auto;
box-sizing: border-box;
width: inherit;
min-width: 0;
height: 100%;
min-height: 20px;
margin: 0;
padding: 0;
text-align: left;
background-color: transparent;
border: 0;
outline: none;
resize: none;
font: @textarea-text-font;
color: @textarea-text-color;
}
}
&__placeholder {
&::placeholder {
color: @textarea-placeholder-color;
font: @textarea-placeholder-font;
}
}
&__indicator:not(:empty) {
color: @textarea-indicator-text-color;
font: @textarea-indicator-text-font;
text-align: @textarea-indicator-text-align;
padding-top: @textarea-indicator-text-padding-top;
}
&--border {
border-radius: @textarea-border-radius;
position: relative;
&::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border: @textarea-border-width solid @textarea-border-color;
border-radius: inherit;
pointer-events: none;
}
}
&--disabled {
color: @textarea-disabled-text-color;
cursor: not-allowed;
}
&--readonly {
cursor: pointer;
}
}