Files
WebStackPage.github.io/assets/less/xenon-less/forms.less
2017-12-20 13:23:22 +08:00

200 lines
3.8 KiB
Plaintext

.form-horizontal {
.control-label {
text-align: right;
}
> .form-group:last-child {
margin-bottom: 0;
}
.form-group {
.select2-container {
//padding-top: (@padding-base-vertical + 1);
}
}
}
// Form Control
.form-control {
input& {
@focus-fade-opacity: 60%;
&.form-focus-primary { .form-control-focus(fade(@brand-primary, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-warning { .form-control-focus(fade(@brand-warning, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-danger { .form-control-focus(fade(@brand-danger, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-success { .form-control-focus(fade(@brand-success, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-info { .form-control-focus(fade(@brand-info, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-purple { .form-control-focus(fade(@xe-purple, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-red { .form-control-focus(fade(@xe-red, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-blue { .form-control-focus(fade(@xe-blue, @focus-fade-opacity)); &:focus { .box-shadow(none); } }
&.form-focus-gray { .form-control-focus(fade(darken(@xe-gray, 15%), @focus-fade-opacity)); &:focus { .box-shadow(none); } }
}
}
// Inside Form
form {
.help-block {
color: @main-text-color;
}
.form-block {
padding-top: (@padding-base-vertical + 1);
}
.form-group {
// Feedback states
&.has-success {
.xenon-has-status-state(@brand-success; @brand-success);
}
&.has-warning {
.xenon-has-status-state(@brand-warning; @brand-warning; 60%);
}
&.has-error {
.xenon-has-status-state(@brand-danger; @brand-danger);
}
&.has-info {
.xenon-has-status-state(@brand-info; @brand-info);
}
// Validation
&.validate-has-error {
.xenon-validation-state(@brand-danger; @brand-danger);
}
}
&.form-inline {
.form-group + .form-group {
margin-left: @base-padding/2;
}
}
// Form Groups with border
.form-group-separator {
height: 1px;
background: @table-border-color;
margin-bottom: @default-padding/2;
}
}
.xenon-has-status-state(@text-color; @border-color; @border-opacity: 40%)
{
.help-block,
.control-label,
.radio,
.checkbox,
.radio-inline,
.checkbox-inline {
color: @text-color;
}
.form-control {
border-color: fade(@border-color, @border-opacity);
.box-shadow(none);
&:focus {
border-color: @border-color;
}
}
.input-group-addon {
color: @text-color;
border-color: fade(@border-color, @border-opacity);
}
.form-control-feedback {
color: @text-color;
}
}
.xenon-validation-state(@text-color; @border-color)
{
.form-control {
border-color: @border-color;
color: @text-color;
.placeholder(@text-color);
+ span {
display: block;
padding-top: @base-padding/2;
font-size: @font-size-small;
color: @text-color;
}
}
}
// Labels
label {
&[for] {
.user-select(none);
}
&.checkbox-inline {
input[type="checkbox"] {
margin-top: 2px;
}
}
&.radio-inline {
input[type="radio"] {
margin-top: 2px;
}
}
}
// Radio Buttons (Block level)
.radio input[type="radio"], .checkbox input[type="checkbox"] {
margin-top: 2px;
}
// Input group
.input-group {
.btn {
margin-bottom: 0;
}
&.input-group-minimal {
> .form-control:first-child {
border-right: 0;
padding-right: 0;
}
.input-group-addon {
background: none;
.transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
+ .form-control {
border-left: 0;
padding-left: 0;
&.no-right-border {
padding-right: 0;
}
}
}
&.focused {
.input-group-addon {
border-color: @input-border-focus;
}
}
}
}