UNPKG

vuetify

Version:

Vue.js 2 Semantic Component Framework

250 lines (197 loc) 4.89 kB
@import '../bootstrap' @import '../theme' textfield($material) &.input-group--text-field-box .input-group__input background: $material.buttons.focused-alt input::placeholder, textarea::placeholder color: $material.text.disabled &:not(.input-group--error) .input-group__counter color: $material.text.secondary theme(textfield, "input-group--text-field") /** Label */ .input-group--text-field label position: absolute top: $input-group-text-field-label-top left: 0 /** Input */ .input-group--text-field // TODO: Revisit in 1.1 refactor // Input was mis-aligned by 1px input padding-bottom: 1px input, textarea font-size: $input-font-size &::placeholder color: inherit transition: .3s $transition.swing .input-group--text-field input box-shadow: none flex: 1 height: $input-height margin: 0 min-width: 0 overflow: hidden text-overflow: ellipsis white-space: nowrap &:focus outline: none &:disabled pointer-events: none /** Textarea */ .input-group--text-field textarea flex: 1 1 &:focus outline: none .input-group--text-field.input-group--textarea label top: 13px .input-group__input border-radius: 2px transition: .4s $transition.fast-in-fast-out textarea font-size: $input-font-size transition: .3s $transition.swing &:not(.input-group--full-width) label top: 30px left: 15px .input-group__input padding: 30px 0 0 13px .input-group__details &:before, &:after opacity: 0 /** Counter */ .input-group--text-field .input-group__counter margin-left: auto &--error color: inherit /** Input States */ .input-group--text-field &.input-group--placeholder.input-group--dirty input::placeholder, textarea::placeholder opacity: 0 /** No Resize */ .input-group--text-field &.input-group--no-resize textarea resize: none /** Types */ .input-group--text-field // Icons &.input-group--prepend-icon .input-group__prepend-icon align-items: center display: flex justify-content: flex-start min-width: 40px .input-group__details margin-left: auto max-width: calc(100% - 40px) label left: 40px &:not(.input-group--single-line) &.input-group--focused, &.input-group--placeholder label opacity: 1 &:not(.input-group--textarea) label transform: translate(0, -18px) scale(.75) &:not(.input-group--full-width).input-group--textarea label transform: translate(0, -8px) scale(.75) &.input-group--text-field-box label transform: translate(0, -10px) scale(.75) &.input-group--dirty &.input-group--select, &:not(.input-group--textarea) label transform: translate(0, -18px) scale(.75) &:not(.input-group--full-width).input-group--textarea label transform: translate(0, -8px) scale(.75) // Multi Line &.input-group--multi-line textarea padding-top: 4px // Full Width &.input-group--full-width padding: 16px label margin-left: $grid-gutters.lg .input-group__details:before, .input-group__details:after display: none /** Prefix/Suffix */ .input-group--prefix &:not(.input-group--focused):not(.input-group--dirty) label left: 16px .input-group--prefix, .input-group--suffix .input-group--text-field__prefix, .input-group--text-field__suffix align-items: center display: inline-flex font-size: 16px margin-top: 1px .input-group--text-field__prefix margin-right: 3px .input-group--text-field__suffix margin-left: 3px /** Box */ .input-group--text-field-box input, textarea cursor: pointer label left: 16px .input-group__input align-items: flex-end border-radius: 4px 4px 0 0 cursor: pointer min-height: 56px user-select: none .input-group__details padding: 8px 16px 0 user-select: none &:before, &:after height: 2px border-bottom-left-radius: 4px border-bottom-right-radius: 4px &.input-group--multi-line textarea padding-left: 24px padding-right: 24px &:not(.input-group--textarea) &.input-group--multi-line .input-group__input padding-top: 26px label top: 26px &:not(.input-group--multi-line) .input-group__input padding-left: 16px padding-right: 16px label top: 32px &:not(.input-group--single-line) &.input-group--focused, &.input-group--dirty label transform: translate(0, -10px) scale(0.75) // Icons &.input-group--prepend-icon .input-group__details &:before, &:after margin-left: 56px max-width: calc(100% - 56px) label left: 56px