vui-design
Version:
A high quality UI Toolkit based on Vue.js
256 lines (215 loc) • 7.94 kB
text/less
@vui-form: ~"@{vui}-form";
@keyframes vuiFormItemControlMessageFadeIn {
0% { opacity:0; }
100% { opacity:1; }
}
@keyframes vuiFormItemControlMessageFadeOut {
0% { opacity:1; }
100% { opacity:0; }
}
.@{vui-form} {
display:block;
box-sizing:border-box;
color:@form-font-color;
font-size:@form-font-size;
line-height:@form-line-height;
&-group {
position:relative;
border:1px solid @form-group-border-color;
border-radius:@form-group-border-radius;
padding:@form-group-padding;
&-title {
position:absolute;
top:0;
left:@margin-xl;
padding:0 @form-group-title-padding-horizontal;
color:@form-group-title-font-color;
font-size:@form-group-title-font-size;
transform:translateY(-50%);
}
& + & {
margin-top:@form-group-margin-top;
}
}
&-item {
&-label {
display:flex;
align-items:center;
box-sizing:border-box;
overflow:hidden;
color:@form-item-label-font-color;
&-left {
justify-content:flex-start;
}
&-right {
justify-content:flex-end;
}
&-required {
flex:0 0 auto;
display:block;
box-sizing:border-box;
margin-right:@form-item-label-required-mark-margin-right;
color:@form-item-label-required-mark-font-color;
font-family:SimSun, sans-serif;
}
&-optional {
flex:0 0 auto;
display:block;
box-sizing:border-box;
margin-left:@form-item-label-optional-mark-margin-left;
color:@form-item-label-optional-mark-font-color;
}
&-content {
flex:0 1 auto;
display:block;
.writeEllipsis;
}
&-description {
color:@form-item-label-description-font-color;
}
&-tooltip {
flex:0 0 auto;
display:flex;
justify-content:center;
align-items:center;
box-sizing:border-box;
margin-left:@form-item-label-tooltip-margin-left;
color:@form-item-label-tooltip-font-color;
.@{vui}-icon {
display:block;
}
}
&-colon {
flex:0 0 auto;
display:block;
box-sizing:border-box;
margin-left:@form-item-label-colon-margin-left;
}
}
&-control {
position:relative;
display:block;
box-sizing:border-box;
&-extra {
margin-top:@form-item-control-extra-margin-top;
color:@form-item-control-extra-font-color;
}
&-message {
position:absolute;
top:100%;
left:0;
width:100%;
padding:(@form-horizontal-item-margin-bottom - floor(@form-font-size * @form-line-height)) / 2 0;
color:@form-item-control-message-font-color;
&-fade-enter-active {
animation:vuiFormItemControlMessageFadeIn @animation-in-duration @animation-in-timing-function both;
}
&-fade-leave-active {
animation:vuiFormItemControlMessageFadeOut @animation-out-duration @animation-out-timing-function both;
}
}
}
}
&-horizontal {
}
&-horizontal &-item {
display:flex;
justify-content:flex-start;
align-items:stretch;
box-sizing:border-box;
margin-bottom:@form-horizontal-item-margin-bottom;
&:last-child {
margin-bottom:0;
}
&-label {
max-height:@form-horizontal-item-label-max-height;
padding-right:@form-horizontal-item-label-padding-right;
}
&-control {
flex:1;
width:0;
}
}
&-vertical {
}
&-vertical &-item {
display:block;
box-sizing:border-box;
margin-bottom:@form-vertical-item-margin-bottom;
&:last-child {
margin-bottom:0;
}
&-label {
margin-bottom:@form-vertical-item-label-margin-bottom;
}
}
&-inline {
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
align-items:flex-start;
box-sizing:border-box;
}
&-inline &-item {
display:flex;
justify-content:flex-start;
align-items:stretch;
box-sizing:border-box;
min-height:@form-inline-item-min-height;
margin-right:@form-inline-item-margin-left;
&:last-child {
margin-right:0;
}
&-label {
max-height:@form-inline-item-label-max-height;
padding-right:@form-inline-item-label-padding-right;
}
}
&-item-error {
.vui-input .vui-input-input input { border-color:@error-color; }
.vui-input-hovered .vui-input-input input { border-color:@error-color; }
.vui-input-focused .vui-input-input input { border-color:@error-color; }
.vui-input-disabled .vui-input-input input { border-color:@error-color; }
.vui-input-number { border-color:@error-color; }
.vui-input-number-hovered { border-color:@error-color; }
.vui-input-number-focused { border-color:@error-color; }
.vui-input-number-disabled { border-color:@error-color; }
.vui-textarea .vui-textarea-input { border-color:@error-color; }
.vui-textarea-hovered .vui-textarea-input { border-color:@error-color; }
.vui-textarea-focused .vui-textarea-input { border-color:@error-color; }
.vui-textarea-disabled .vui-textarea-input { border-color:@error-color; }
.vui-select .vui-select-selection { border-color:@error-color; }
.vui-select .vui-select-selection-arrow { color:@error-color; }
.vui-select-hovered .vui-select-selection { border-color:@error-color; }
.vui-select-hovered .vui-select-selection-arrow { color:@error-color; }
.vui-select-focused .vui-select-selection { border-color:@error-color; }
.vui-select-focused .vui-select-selection-arrow { color:@error-color; }
.vui-select-actived .vui-select-selection { border-color:@error-color; }
.vui-select-actived .vui-select-selection-arrow { color:@error-color; }
.vui-select-disabled .vui-select-selection { border-color:@error-color; }
.vui-select-disabled .vui-select-selection-arrow { color:@error-color; }
.vui-cascader .vui-cascader-selection { border-color:@error-color; }
.vui-cascader .vui-cascader-selection-arrow { color:@error-color; }
.vui-cascader-hovered .vui-cascader-selection { border-color:@error-color; }
.vui-cascader-hovered .vui-cascader-selection-arrow { color:@error-color; }
.vui-cascader-focused .vui-cascader-selection { border-color:@error-color; }
.vui-cascader-focused .vui-cascader-selection-arrow { color:@error-color; }
.vui-cascader-actived .vui-cascader-selection { border-color:@error-color; }
.vui-cascader-actived .vui-cascader-selection-arrow { color:@error-color; }
.vui-cascader-disabled .vui-cascader-selection { border-color:@error-color; }
.vui-cascader-disabled .vui-cascader-selection-arrow { color:@error-color; }
.vui-cascade-selector .vui-cascade-selector-source-list .vui-cascade-selector-source { border-color:@error-color; }
.vui-cascade-selector .vui-cascade-selector-target { border-color:@error-color; }
.vui-cascade-selector-disabled .vui-cascade-selector-source-list .vui-cascade-selector-source { border-color:@error-color; }
.vui-cascade-selector-disabled .vui-cascade-selector-target { border-color:@error-color; }
.vui-transfer .vui-transfer-panel { border-color:@error-color; }
.vui-transfer .vui-transfer-panel .vui-transfer-panel-search .vui-input .vui-input-input input { border-color:@default-color; }
.vui-transfer-disabled .vui-transfer-panel { border-color:@error-color; }
.vui-transfer-disabled .vui-transfer-panel .vui-transfer-panel-search .vui-input .vui-input-input input { border-color:@default-color; }
.mx-datepicker-input { border-color:@error-color; }
.mx-datepicker-input:hover { border-color:@error-color; }
.mx-datepicker-input:focus { border-color:@error-color; }
.mx-datepicker-input.disabled { border-color:@error-color; }
.mx-datepicker-input:disabled { border-color:@error-color; }
}
}