@scania/tegel
Version:
Tegel Design System
227 lines (214 loc) • 6.01 kB
CSS
.textarea-container {
border-radius: 4px 4px 0 0;
position: relative;
box-sizing: border-box;
height: auto;
width: 100%;
min-width: 208px;
display: inline-flex;
background-color: transparent;
flex-flow: row wrap;
border-bottom: 0;
}
.textarea-container.no-min-width {
min-width: unset;
}
.textarea-container .textarea-wrapper {
position: relative;
width: unset;
min-width: 100%;
}
.textarea-input {
border-radius: 4px 4px 0 0;
width: 100%;
box-sizing: border-box;
margin: 0;
border: none;
outline: none;
height: 100%;
color: var(--tds-textarea-color);
background-color: var(--tds-textarea-background);
font: var(--tds-detail-02);
letter-spacing: var(--tds-detail-02-ls);
padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
display: block;
resize: vertical;
border-bottom: 1px solid var(--tds-textarea-border-bottom);
transition: border-bottom-color 200ms ease;
}
.textarea-input:read-only {
background-color: var(--tds-textarea-read-only-background);
}
.textarea-input::placeholder {
opacity: 1;
color: var(--tds-textarea-placeholder);
transition: color 200ms ease;
}
.textarea-input:disabled {
background-color: var(--tds-textarea-disabled-background);
color: var(--tds-textarea-disabled-color);
cursor: not-allowed;
}
.textarea-input:disabled::placeholder {
color: var(--tds-textarea-disabled-placeholder);
}
.textarea-input::-webkit-resizer {
display: none;
}
.textarea-input:hover {
border-bottom-color: var(--tds-textarea-border-bottom-hover);
}
.textarea-input:hover::placeholder {
color: var(--tds-textarea-placeholder-hover);
}
.textarea-input:focus {
outline: 2px solid var(--tds-focus-outline-color);
box-shadow: 0 0 0 1px var(--tds-white);
outline-offset: 1px;
z-index: 1;
border-radius: 0;
border-bottom: 1px solid transparent;
}
.textarea-resizer-icon {
color: var(--tds-textarea-resize-icon);
position: absolute;
display: block;
bottom: 2px;
right: 1px;
padding-bottom: 2px;
padding-right: 2px;
pointer-events: none;
background-color: var(--tds-textarea-background);
}
.textarea-resizer-icon svg {
display: block;
}
.textarea-label {
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
display: block;
z-index: 1;
margin-bottom: var(--tds-spacing-element-8);
color: var(--tds-textarea-label-color);
}
.textarea-container.textarea-label-inside .textarea-label {
font: var(--tds-detail-02);
letter-spacing: var(--tds-detail-02-ls);
transition: 0.1s ease all;
color: var(--tds-textarea-label-inside-color);
position: absolute;
top: var(--tds-spacing-element-20);
left: var(--tds-spacing-element-16);
}
.textarea-container.textarea-label-inside.textarea-disabled .textarea-label {
color: var(--tds-textarea-disabled-label);
}
.textarea-container.textarea-label-inside .textarea-input::placeholder {
color: transparent;
}
.textarea-container.textarea-label-inside .textarea-input ::placeholder {
color: transparent;
}
.textarea-container.textarea-label-inside .textarea-input:focus::placeholder {
transition: color 0.35s ease;
color: var(--tds-textarea-placeholder);
}
.textarea-container.textarea-focus.textarea-label-inside .textarea-label {
font: var(--tds-detail-07);
letter-spacing: var(--tds-detail-07-ls);
top: var(--tds-spacing-element-8);
}
.textarea-container.textarea-data.textarea-label-inside .textarea-label {
font: var(--tds-detail-07);
letter-spacing: var(--tds-detail-07-ls);
top: var(--tds-spacing-element-8);
}
.textarea-textcounter {
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
color: var(--tds-textarea-textcounter);
float: right;
flex-basis: 100%;
text-align: right;
padding-top: var(--tds-spacing-element-4);
}
.textarea-textcounter .textfield-textcounter-divider {
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
color: var(--tds-textarea-textcounter-divider);
}
.textarea-helper {
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
display: flex;
gap: 8px;
align-items: center;
padding-top: var(--tds-spacing-element-4);
color: var(--tds-textarea-helper);
flex-grow: 2;
flex-basis: auto;
}
.textarea-helper ~ .textarea-textcounter {
flex-basis: auto;
}
.textarea-success .textarea-input {
border-bottom-color: var(--tds-textarea-border-bottom-success);
}
.textarea-error .textarea-input {
border-bottom-color: var(--tds-textarea-border-bottom-error);
}
.textarea-error .textarea-helper {
color: var(--tds-textarea-helper-error);
}
.textarea-disabled {
cursor: not-allowed;
}
.textarea-disabled .textarea-input {
border-bottom-color: transparent;
pointer-events: none;
user-select: none;
}
.textarea-disabled .textarea-label {
color: var(--tds-textarea-disabled-label);
}
.textarea-disabled .textarea-helper {
color: var(--tds-textarea-helper-disabled);
}
.textarea-disabled .textarea-textcounter {
color: var(--tds-textarea-textcounter-disabled);
}
.textarea-disabled .textarea-textcounter .textfield-textcounter-divider {
color: var(--tds-textarea-textcounter-disabled);
}
.textarea-icon__readonly {
display: none;
position: absolute;
right: 18px;
top: 18px;
color: var(--tds-textarea-icon-read-only-color);
}
.textarea-icon__readonly-label {
display: none;
position: absolute;
right: 18px;
top: 48px;
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
padding: 8px;
color: var(--tds-textarea-icon-read-only-label-color);
background-color: var(--tds-textarea-icon-read-only-label-background);
white-space: nowrap;
border-radius: 4px 0 4px 4px;
}
.textarea-readonly .textarea-icon__readonly {
display: block;
}
.textarea-readonly .textarea-input {
border-bottom-color: var(--tds-textarea-border-bottom-read-only-color);
}
.textarea-readonly .textfield-container {
background-color: transparent;
}
.textarea-readonly:has(.textarea-icon__readonly) .textarea-input {
padding-right: 54px;
}