UNPKG

metro4

Version:

The front-end framework for Build responsive, mobile-first projects on the web with the first front-end component library in Metro Style

270 lines (231 loc) 5.36 kB
@import (once) "include/vars"; @import (once) "include/mixins"; input[type=text], input[type=password], input[type=tel], input[type=datetime-local], input[type=email], input[type=file], input[type=month], input[type=number], input[type=search], input[type=time], input[type=url], input[type=week], input[type=file], select, textarea, .file, .input, .textarea, .select, .tag-input, .spinner { appearance: none; position: relative; border: 1px @inputBorder solid; color: @dark; width: 100%; display: block; padding: 0 .75rem; font-family: @fontName; font-size: 1rem; height: 36px; line-height: 36px; background: @white none; background-clip: padding-box; min-width: 0; &:focus { outline: none; } &:hover { border-color: darken(@inputBorder, 10%); } .input-clear-button, .input-reveal-button { visibility: hidden; &:active, &:focus, &:hover { visibility: visible; } } &:focus, &.focused { box-shadow: 0 0 0 3px rgba(red(@lightGray), green(@lightGray), blue(@lightGray), 0.45); } &:focus, &.focused, &:hover { .input-clear-button, .input-reveal-button { visibility: visible; } } &:disabled, &.disabled { pointer-events: none; border-color: darken(@light, 5%); background-color: @disabledBackground; } &.hide-cursor { input { color: transparent; text-shadow: 0 0 0 @dark; } } &::-ms-clear { display: none; } &::-ms-reveal { display: none; } &::-webkit-clear-button { display: none; } &::-webkit-inner-spin-button { height: 100%; } &.required { border: 1px @cyan dashed !important; &:focus, &.focused { box-shadow: 0 0 0 3px rgba(red(@cyan), green(@cyan), blue(@cyan), 0.45)!important; } } &.invalid { border: 1px @red solid !important; &:focus, &.focused { box-shadow: 0 0 0 3px rgba(red(@red), green(@red), blue(@red), 0.45)!important; } &::after { position: absolute; content: "!"; color: @red; left: -16px; top: 0; font-size: 1.625rem; font-weight: bold; } } &.valid { border: 1px @green solid !important; &:focus, &.focused { box-shadow: 0 0 0 3px rgba(red(@green), green(@green), blue(@green), 0.45)!important; } } } input[type=button], input[type=submit], input[type=reset] { width: auto; } label { margin-bottom: .5rem; } .form-group { display: block; position: relative; } .form-group + .form-group { margin-top: 1rem; } .file, .input, .select, .textarea, .tag-input, .spinner { .prepend, .append { padding: .5rem .75rem; background-color: @light; color: @dark; line-height: 1.25rem; white-space: nowrap; } } .hidden-input { width: 1px; height: 1px; position: absolute; top: 0; left: 0; opacity: 0; } .inline-form { display: flex; flex-flow: row wrap; align-items: center; justify-content: flex-start; input[type=text], input[type=password], input[type=tel], input[type=datetime-local], input[type=email], input[type=file], input[type=month], input[type=number], input[type=search], input[type=time], input[type=url], input[type=week], input[type=file], select, textarea, .file, .input, .textarea, .select, .tag-input, .spinner { width: auto; margin-left: .5rem; margin-right: .5rem; } .form-group { display: flex; flex-flow: row wrap; align-items: center; justify-content: flex-start; } } form, fieldset, .form-group { &:disabled, &.disabled { pointer-events: none; } } .file, .input, .textarea, .select, .tag-input, .spinner, .tag-input, .rating { &:disabled, &.disabled { input, textarea, select, .select-input, .caption, .stars li { background: transparent; color: @darkGray; } .button-group { display: none; } } } .invalid_feedback { font-size: .9em; color: @red; } .custom-validation { input[required], select[required], textarea[required] { &:valid { border-color: @green; } &:valid + .invalid_feedback { display: none; } &:invalid { border-color: @red; } &:invalid + .invalid_feedback { display: block; } } } .invalid_feedback { display: none; } .invalid + .invalid_feedback, .invalid > .invalid_feedback { display: block !important; } ::-webkit-search-cancel-button { -webkit-appearance: none; } ::-webkit-search-results-button { -webkit-appearance: none; } input[type=search] { -webkit-appearance: none; } input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 1000px white inset; background-color: @white!important; transition: background-color 5000s ease-in-out 0s; }