quasar-framework
Version:
Simultaneously build desktop/mobile SPA websites & phone/tablet apps with VueJS
87 lines (77 loc) • 2.28 kB
text/stylus
$textfield-border-size ?= 2px
$textfield-border-style ?= solid
$textfield-border-color ?= $form-lighter-color
$textfield-focus-border-color ?= transparent
$textfield-focus-background ?= $form-lighter-color
$textfield-font-size ?= .9rem
$label-font-size ?= $textfield-font-size
$textfield-padding-horizontal ?= .5rem
$textfield-padding-vertical ?= .5rem
$caret-color ?= $grey-6
input, textarea, .textfield
&:not(.no-style)
background none
font-size $textfield-font-size
max-width 100%
margin-bottom 2px
padding $textfield-padding-vertical $textfield-padding-horizontal
outline 0
transition all .3s
border $textfield-border-size $textfield-border-style $textfield-border-color
border-radius $generic-border-radius
&:focus, &:hover
background $textfield-focus-background
border-color $textfield-focus-border-color
&[disabled], &.disabled
border-color darken($form-darker-color, 20%)
border-style dotted
textarea:not(.no-style)
height 11em
label
font-size $label-font-size
input, .textfield
&.caret
position relative
padding-right 17px
white-space nowrap
overflow hidden
> div
overflow hidden
&:after
position absolute
top 50%
right 0
transform translateY(-50%) scaleY(.45) scaleX(.85)
content '\25BC'
.stacked-label, .floating-label
position relative
display inline-block
width 100%
label
position absolute
pointer-events none
top $textfield-padding-vertical
left $textfield-padding-horizontal
transform-origin left top
color rgba(0, 0, 0, .54)
.stacked-label
label
display block
transform scale(.8)
input
padding-top 1.4rem
textarea
margin-top 1.4rem
input:focus + label, textarea:focus + label
color $form-active-color
.floating-label
label
transition transform .15s ease-in-out, color .3s
bottom $textfield-padding-vertical
input + label, textarea + label
transform translateY(1.7rem) scale(1)
input, textarea
margin-top 1.45rem
input:focus ~ label, input:valid ~ label, textarea:focus ~ label, textarea:valid ~ label
color $form-active-color
transform translateY(0) scale(.8)