UNPKG

rsuite

Version:

A suite of react components

214 lines (177 loc) 4.62 kB
@import '../../styles/common'; .@{ns}form-control-wrapper .@{ns}error-message { position: absolute; padding: @error-message-padding-vertical @error-message-padding-horizontal; background-color: @error-message-background-color; border: 1px solid @error-message-border-color; border-radius: @border-radius-base; filter: ~'drop-shadow(0 0 6px rgba(0,0,0,.1))'; z-index: @zindex-error-message; color: @error-message-font-color; font-size: @error-message-font-size; display: none; white-space: nowrap; // Used to provide relation for error message &-wrapper { position: absolute; } &-show { display: block; animation-duration: 0.3s; animation-timing-function: ease-out; } &-arrow { &::before, &::after { content: ''; position: absolute; border-color: transparent; border-style: solid; } } // Placement // == Bottom Left && Bottom Right && Top Left && Top Right &-placement-bottom-start, &-placement-bottom-end { bottom: -1px; // Error message width form-control has 1px gap .@{ns}error-message { top: 0; &-show { animation-name: errorMessageSlideDownIn; } } .@{ns}error-message-arrow { &::before, &::after { border-width: 0 @error-message-triangle-width @error-message-triangle-width; border-bottom-color: @error-message-border-color; top: -1 * @error-message-triangle-width; } &::after { top: -1 * (@error-message-triangle-width - 1); border-bottom-color: @error-message-background-color; } } } &-placement-top-start, &-placement-top-end { top: -1px; // Error message width form-control has 1px gap .@{ns}error-message { bottom: 0; &-show { animation-name: errorMessageSlideUpIn; } } .@{ns}error-message-arrow { &::before, &::after { border-width: @error-message-triangle-width @error-message-triangle-width 0; border-top-color: @error-message-border-color; bottom: -1 * @error-message-triangle-width; } &::after { bottom: -1 * (@error-message-triangle-width - 1); border-top-color: @error-message-background-color; } } } &-placement-bottom-start, &-placement-top-start { left: 0; .@{ns}error-message { left: 0; } .@{ns}error-message-arrow { &::before, &::after { left: @error-message-triangle-gap; } } } &-placement-bottom-end, &-placement-top-end { right: 0; .@{ns}error-message { right: 0; } .@{ns}error-message-arrow { &::before, &::after { right: @error-message-triangle-gap; } } } // == Left Top && Left Bottom Right && Top && Right Bottom &-placement-left-start, &-placement-left-end { left: -1px; .@{ns}error-message { right: 0; &-show { animation-name: errorMessageSlideRightIn; } } .@{ns}error-message-arrow { &::before, &::after { border-width: @error-message-triangle-width 0 @error-message-triangle-width @error-message-triangle-width; border-left-color: @error-message-border-color; right: -1 * @error-message-triangle-width; } &::after { right: -1 * (@error-message-triangle-width - 1); border-left-color: @error-message-background-color; } } } &-placement-right-start, &-placement-right-end { right: -1px; .@{ns}error-message { left: 0; &-show { animation-name: errorMessageSlideLeftIn; } } .@{ns}error-message-arrow { &::before, &::after { border-width: @error-message-triangle-width @error-message-triangle-width @error-message-triangle-width 0; border-right-color: @error-message-border-color; left: -1 * @error-message-triangle-width; } &::after { left: -1 * (@error-message-triangle-width - 1); border-right-color: @error-message-background-color; } } } &-placement-left-start, &-placement-right-start { top: 0; .@{ns}error-message { top: 0; } .@{ns}error-message-arrow { &::before, &::after { top: @error-message-triangle-vertical; } } } &-placement-left-end, &-placement-right-end { bottom: 0; .@{ns}error-message { bottom: 0; } .@{ns}error-message-arrow { &::before, &::after { bottom: @error-message-triangle-vertical; } } } }