@kelvininc/ui-components
Version:
Kelvin UI Components
131 lines (129 loc) • 3.93 kB
CSS
/** HEADINGS **/
/** LABELS **/
/** SPANS **/
/** PARAGRAPHS **/
/** TODO: CODE/CONSOLE **/
@property --rotation {
syntax: "<angle>";
initial-value: 0deg;
inherits: false;
}
@keyframes rotate-border {
to {
--rotation: 360deg;
}
}
/**
* Design Tokens - Auto-generated by Style Dictionary
* Do not edit manually - run `pnpm tokens:build` to regenerate
*/
kv-dropdown-base:not(.hydrated) > [slot=list] {
display: none;
}
:host {
/**
* @prop --height-default: The height of the text area when is not focused.
* @prop --height-active: The height of the text are when is focused.
*/
--height-default: var(--text-area-height-default);
--height-active: 100px;
}
.text-area-container {
display: flex;
gap: var(--text-area-gap-default);
align-items: flex-start;
}
.text-area-container kv-icon {
--icon-color: var(--text-area-icon-color-default);
--icon-width: var(--text-area-icon-size-default);
--icon-height: var(--text-area-icon-size-default);
margin-top: var(--text-area-gap-default);
}
.text-area-container .text-area {
display: flex;
flex-direction: column;
flex: 1;
gap: var(--spacing-md);
}
.text-area-container .text-area::-webkit-scrollbar {
width: 15px;
height: 15px;
}
.text-area-container .text-area::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color: var(--scrollbar-thumb-default);
border: 4px solid transparent;
background-clip: content-box;
}
.text-area-container .text-area::-webkit-scrollbar-corner {
background-color: transparent;
}
.text-area-container .text-area .text-area-wrapper {
padding: var(--text-area-padding-y-default) var(--text-area-padding-x-default);
border: var(--text-area-border-thickness-default) solid var(--text-area-border-color-default);
border-radius: var(--text-area-radius-default);
height: var(--height-default);
overflow: auto;
transition: height 0.25s ease-in-out;
}
.text-area-container .text-area .text-area-wrapper .input {
font-family: Proxima Nova;
font-weight: 400;
font-size: 14px;
line-height: 20px;
letter-spacing: 0;
outline: none;
height: inherit;
color: var(--text-area-text-default);
overflow-wrap: anywhere;
}
.text-area-container .text-area .text-area-wrapper .input.placeholder::before {
content: attr(data-placeholder);
}
.text-area-container .text-area .text-area-wrapper.has-text {
height: var(--height-active);
border-color: var(--text-area-border-color-filled);
}
.text-area-container .text-area .text-area-wrapper.has-text .input {
color: var(--text-area-text-filled);
}
.text-area-container .text-area .text-area-wrapper:hover {
border-color: var(--text-area-border-color-hover);
}
.text-area-container .text-area .text-area-wrapper:hover .input {
color: var(--text-area-text-hover);
}
.text-area-container .text-area .text-area-wrapper:has(.input:focus) {
border-color: var(--text-area-border-color-selected);
}
.text-area-container .text-area .text-area-wrapper:has(.input:focus) .input {
color: var(--text-area-text-selected);
}
.text-area-container .text-area .text-area-wrapper:hover:not(:has(.input:focus)) {
cursor: pointer;
}
.text-area-container .text-area:has(.input:focus) .character-counter {
display: block;
}
.text-area-container .text-area .character-counter {
font-family: Proxima Nova;
font-weight: 400;
font-size: 12px;
line-height: 16px;
letter-spacing: 0;
color: var(--text-area-helper-text-default);
margin-left: var(--spacing-xl);
display: none;
}
.text-area-container.counter-always-visible .text-area .character-counter {
display: block;
}
.text-area-container.disabled .text-area .text-area-wrapper {
border-color: var(--border-interactive-input-disabled);
}
.text-area-container.disabled .text-area .text-area-wrapper .input {
color: var(--text-interactive-input-disabled);
}
.text-area-container.disabled .text-area .text-area-wrapper:hover:not(:has(.input:focus)) {
cursor: not-allowed;
}