vuesax
Version:
Framework Components for Vue js
189 lines (178 loc) • 4.18 kB
text/stylus
.placeholderx-enter, .placeholderx-leave-to {
opacity: 0;
transform: translate(15px) !important
}
.icon-validate-enter, .icon-validate-leave-to {
opacity: 0;
transform: scale(.5) !important
}
.vs-con-input-label
position relative
transition: all .3s ease
width: 200px
&.is-label-placeholder
margin-top: 17px
.vs-con-input
display flex
align-items flex-start
flex-direction column
position relative
justify-content: center
.vs-input--icon
position absolute
left 5px;
z-index 100
font-size: 1.1rem
border-right: 1px solid rgba(0,0,0,.1)
padding-right: 3px;
color rgba(0,0,0,.4)
cursor default
user-select none
top: 8px
&.small
top: 4px
font-size: 1rem
&.large
top: 14px
&.icon-after
left auto
right 5px;
border-left: 1px solid rgba(0,0,0,.1)
border-right: 0px
padding-left: 3px;
padding-right: 0px;
&.icon-no-border
border: 0;
.vs-input--placeholder
transition: all .2s ease
position: absolute
border-radius 5px
left 0px
padding: .4 rem
padding-left: .55 rem
width: 100%
box-sizing: border-box
overflow: hidden
font-size: .85rem
color: rgba(0,0,0,.4)
white-space: nowrap
cursor text
user-select none
top: 2px
pointer-events: none
&.small
padding: 0.2rem
padding-left: .55rem
&.large
padding-top: 0.8rem
padding: 0.7rem
.vs-input--label
padding-left 5px;
font-size: .85rem
color rgba(0,0,0,.7)
.vs-input--text-validation
position: relative
font-size: .65rem
overflow: hidden
transition: all .2s ease;
.vs-input--text-validation-span
padding: 2px 4px;
padding-bottom: 4px
display: block
.vs-input--icon-validate
position: absolute
top: 0px
right: 0px
font-size: 1.1rem
height: 100%
display: flex
align-items: center
padding: 0px 4px
border-radius 0px 5px 5px 0px
transition: all .2s ease
&.icon-before
position absolute
left 0rem
right: auto
z-index 100
font-size: 1.1rem
padding-right: 0.2rem
cursor default
user-select none
top: 0px
border-right: 1px
.vs-input--input
color: inherit
position relative
padding: 0.4 rem
border-radius 5px
border 1px solid rgba(0, 0, 0,.2)
box-sizing: border-box
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.150);
transition: all .3s ease
width: 100%
&.small
padding: 0.2rem
padding-left: .55rem
+ .vs-placeholder-label-small
padding: 0rem 0.4rem
&.normal
padding: 0.4rem
&.large
padding: 0.8rem
+ .vs-placeholder-label-large
padding: 0.6rem
&:focus
box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.150);
&:focus,&.hasValue
+ .vs-placeholder-label
transform: translate(-3px,-90%) !important
font-size: .7rem
padding-left: .5rem !important
+ .vs-placeholder-label-small
transform: translate(-3px,-120%) !important
font-size: .7rem
padding-left: .5rem !important
&:focus
+ .vs-input--placeholder
transform: translate(5px)
&.hasIcon
padding-left: 32px;
+ .vs-input--placeholder
padding-left: 32px;
&.icon-after-input
padding-right: 1.75rem
+ .vs-input--placeholder
padding-right: 1.75rem
&.hasIcon.icon-after-input
padding-left: .85em;
+ .vs-input--placeholder
padding-left: .85em;
&:disabled
opacity: $vs-disabled-opacity;
cursor: default;
pointer-events: none;
+ .vs-input--placeholder
opacity: $vs-disabled-opacity;
cursor: default;
pointer-events: none;
for colorx, i in $vs-colors
.vs-input-{colorx}
.vs-input--input
&:focus
border: 1px solid getColor(colorx) !important
~ .vs-placeholder-label, ~ .icon-inputx
color getColor(colorx)
&.isFocus
.vs-input--label
color: getColor(colorx)
&.span-text-validation-{colorx}
color: getColor(colorx) !important
&.input-icon-validate-{colorx}
.vs-input--input
border: 1px solid getColor(colorx) !important
&:focus
border: 1px solid getColor(colorx) !important
.input-icon-validate
background: getColor(colorx, .2)
color getColor(colorx)