Skip to content
Snippets Groups Projects
vitamui-textarea.component.scss 1.8 KiB
Newer Older
vitam-prg's avatar
vitam-prg committed
@import '../../../../sass/variables/colors';
@import '../../../../sass/mixins/elevation';

$input-height: 90px;
$input-small-height: 34px;
$anim-timing: 150ms ease-out;

:host {
    display: inline-block;

    &.vitamui-focused .vitamui-textarea {
        border-color: #a6a6a6;
    }

    &.vitamui-focused .vitamui-textarea,
    &.vitamui-float .vitamui-textarea {
        label {
            transform: scale(0.7) translateY(-15px);
        }

        textarea {
            margin-top: 15px;
        }
    }

    &.ng-valid.ng-touched .vitamui-textarea {
        border-color: #43ea2a;
    }

    &.ng-invalid.ng-touched .vitamui-textarea {
        border-color: #ff0000;
    }
}

.vitamui-textarea {
    @include elevation-1;
    display: inline-flex;
    align-items: center;
    position: relative;
    width: 100%;
    border-radius: 25px;
    border: solid 1px #f0f0f0;
    background-color: #ffffff;
    padding: 8px 30px;
    transition: border-color $anim-timing;
    vertical-align: top;

    mat-spinner {
        position: absolute;
        top: 12px;
        right: 12px;
        display: none;
    }
}

.vitamui-textarea.disabled {
    opacity: 0.4;
}

:host.ng-pending {
    .vitamui-textarea mat-spinner {
        display: block;
    }
}

.vitamui-input-errors {
    min-height: 30px;
}

textarea {
    color: $charcoal-grey;
    font-size: 15px;
    font-weight: 500;
    font-family: 'Roboto';
    background: none;
    border: none;
    transition: margin $anim-timing;
    outline: none;
    width: 100%;
    resize: none;
}

label {
    color: $greyish-two;
    font-size: 15px;
    position: absolute;
    line-height: 48px;
    left: 30px;
    top: 5px;
    transform-origin: left;
    transition: transform $anim-timing;
    pointer-events: none;

    .required-marker {
        color: var(--vitamui-primary);
vitam-prg's avatar
vitam-prg committed
    }
}