nest-parrot
Version:
Parrot built on react
473 lines (466 loc) • 12.4 kB
text/less
div.n-checkbox {
height: @form-control-height;
position: relative;
white-space: nowrap;
div.check-container {
display: inline-block;
}
span.check-container {
vertical-align: middle;
position: relative;
cursor: @link-cursor;
top: 9px;
outline: 0;
display: inline-block;
&.disabled,
&.disabled.checked,
&.disabled span.check,
&.disabled.checked span.check,
&.disabled.checked span.check:before {
pointer-events: none;
cursor: @disabled-cursor;
color: @disabled-color;
user-select: none;
}
&.disabled:focus:before,
&.checked.disabled:focus:before {
-webkit-animation: none;
animation: none;
-o-animation: none;
}
&:focus:before {
display: block;
position: absolute;
content: "";
background-color: @color-primary;
border-radius: 100%;
z-index: 1;
opacity: 0;
outline: 0;
}
&:focus:before {
-webkit-animation: rippleOff 500ms linear forwards;
animation: rippleOff 500ms linear forwards;
-o-animation: rippleOff 500ms linear forwards;
}
&.checked {
&:focus:before {
-webkit-animation: rippleOn 500ms linear forwards;
animation: rippleOn 500ms linear forwards;
-o-animation: rippleOn 500ms linear forwards;
}
span.check {
color: @color-primary;
&:before {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
// -webkit-animation: checkbox-on .3s forwards;
// animation: checkbox-on .3s forwards;
// -o-animation: checkbox-on .3s forwards;
color: @color-primary;
}
}
&:focus span.check:before {
-webkit-animation: checkbox-on .3s forwards;
animation: checkbox-on .3s forwards;
-o-animation: checkbox-on .3s forwards;
}
}
span.check {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
border: 2px solid;
border-radius: 2px;
overflow: hidden;
z-index: 1;
&:before {
position: absolute;
content: "";
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
display: block;
margin-top: -4px;
margin-left: 6px;
width: 0;
height: 0;
box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
-o-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
-webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
// -webkit-animation: checkbox-off .3s forwards;
// animation: checkbox-off .3s forwards;
// -o-animation: checkbox-off .3s forwards;
}
}
&:focus span.check:before {
-webkit-animation: checkbox-off .3s forwards;
animation: checkbox-off .3s forwards;
-o-animation: checkbox-off .3s forwards;
}
}
span.check-label {
font-size: @font-size;
position: relative;
left: 5px;
top: 6px;
display: inline-block;
height: @form-control-height;
cursor: @link-cursor;
&.check-label-left {
left: 0;
margin-right: 5px;
}
&.disabled {
color: @disabled-color;
cursor: @disabled-cursor;
}
}
&.n-disabled {
div.check-container {
cursor: @disabled-cursor;
}
}
&.n-view-mode {
span.check-container {
pointer-events: none;
cursor: auto;
user-select: none;
&.checked,
span.check,
&.checked span.check,
&.checked span.check:before {
pointer-events: none;
cursor: auto;
color: @font-color;
user-select: none;
}
&:focus:before,
&.checked:focus:before {
display: none;
}
&:focus span.check:before {
-webkit-animation: none;
animation: none;
-o-animation: none;
}
}
span.check-label {
cursor: auto;
}
}
}
@keyframes checkbox-on {
0% {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
}
50% {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
}
100% {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
}
}
@keyframes checkbox-off {
0% {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
}
25% {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
}
50% {
transform: rotate(45deg);
margin-top: -4px;
margin-left: 6px;
width: 0;
height: 0;
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
}
51% {
transform: rotate(0deg);
margin-top: -2px;
margin-left: -2px;
width: 20px;
height: 20px;
box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 10px inset;
-o-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 10px inset;
-webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 10px inset;
}
100% {
transform: rotate(0deg);
margin-top: -2px;
margin-left: -2px;
width: 20px;
height: 20px;
box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 0px inset;
-o-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 0px inset;
-webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0px 0px 0 0px inset;
}
}
@keyframes rippleOn {
0% {
opacity: 0;
height: 20px;
width: 20px;
margin-top: 0;
margin-left: 0;
}
25% {
opacity: 0.2;
height: 26px;
width: 26px;
margin-top: -3px;
margin-left: -3px;
}
50% {
opacity: 0.5;
height: 32px;
width: 32px;
margin-top: -6px;
margin-left: -6px;
}
75% {
opacity: 0.3;
height: 38px;
width: 38px;
margin-top: -9px;
margin-left: -9px;
}
99% {
opacity: 0;
height: 44px;
width: 44px;
margin-top: -12px;
margin-left: -12px;
}
100% {
height: 0;
width: 0;
margin-top: 0;
margin-left: 0;
}
}
@keyframes rippleOff {
0% {
opacity: 0;
height: 20px;
width: 20px;
margin-top: 0;
margin-left: 0;
}
25% {
opacity: 0.2;
height: 26px;
width: 26px;
margin-top: -3px;
margin-left: -3px;
}
50% {
opacity: 0.5;
height: 32px;
width: 32px;
margin-top: -6px;
margin-left: -6px;
}
75% {
opacity: 0.3;
height: 38px;
width: 38px;
margin-top: -9px;
margin-left: -9px;
}
99% {
opacity: 0;
height: 44px;
width: 44px;
margin-top: -12px;
margin-left: -12px;
}
100% {
height: 0;
width: 0;
margin-top: 0;
margin-left: 0;
}
}
div.n-radio {
position: relative;
div.n-radio-option {
vertical-align: middle;
position: relative;
height: @form-control-height;
display: inline-block;
white-space: nowrap;
&:not(:first-child) {
padding-left: 10px;
}
}
&.vertical div.n-radio-option {
display: block;
padding-left: 0;
}
div.radio-container {
display: inline-block;
}
span.radio-container {
vertical-align: middle;
position: relative;
cursor: @link-cursor;
top: 6px;
outline: 0;
display: inline-block;
&.disabled,
&.checked.disabled,
&.disabled span.check,
&.checked.disabled span.check,
&.checked.disabled span.check:before {
pointer-events: none;
cursor: @disabled-cursor;
color: @disabled-color;
user-select: none;
}
&.disabled:focus:before,
&.checked.disabled:focus:before {
-webkit-animation: none;
animation: none;
-o-animation: none;
}
&:focus:before {
display: block;
position: absolute;
content: "";
background-color: @color-primary;
border-radius: 100%;
z-index: 1;
opacity: 0;
margin: 0;
outline: 0;
}
//&:before {
// -webkit-animation: rippleOff 500ms linear forwards;
// animation: rippleOff 500ms linear forwards;
// -o-animation: rippleOff 500ms linear forwards;
//}
&.checked {
&:before {
-webkit-animation: rippleOn 500ms linear forwards;
animation: rippleOn 500ms linear forwards;
-o-animation: rippleOn 500ms linear forwards;
}
span.check {
color: @color-primary;
&:before {
box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-o-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
-webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;;
// -webkit-animation: checkbox-on .3s forwards;
// animation: checkbox-on .3s forwards;
// -o-animation: checkbox-on .3s forwards;
color: @color-primary;
}
}
&:focus span.check:before {
-webkit-animation: checkbox-on .3s forwards;
animation: checkbox-on .3s forwards;
-o-animation: checkbox-on .3s forwards;
}
}
span.check {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
border: 2px solid;
border-radius: 100%;
overflow: hidden;
z-index: 1;
&:before {
position: absolute;
content: "";
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
display: block;
margin-top: -4px;
margin-left: 6px;
width: 0;
height: 0;
box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
-o-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
-webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
// -webkit-animation: checkbox-off .3s forwards;
// animation: checkbox-off .3s forwards;
// -o-animation: checkbox-off .3s forwards;
}
}
&:focus span.check:before {
-webkit-animation: checkbox-off .3s forwards;
animation: checkbox-off .3s forwards;
-o-animation: checkbox-off .3s forwards;
}
}
span.radio-label {
position: relative;
display: inline-block;
font-size: 13px;
left: 5px;
top: 5px;
height: @form-control-height;
cursor: @link-cursor;
&.radio-label-left {
left: 0;
margin-right: 5px;
}
&.disabled {
color: @disabled-color;
cursor: @disabled-cursor;
}
}
&.n-disabled {
div.radio-container {
cursor: @disabled-cursor;
}
}
&.n-view-mode {
span.radio-container {
pointer-events: none;
cursor: auto;
user-select: none;
&.checked,
span.check,
&.checked span.check,
&.checked span.check:before {
pointer-events: none;
cursor: auto;
color: @font-color;
user-select: none;
}
&:focus:before,
&.checked:focus:before {
display: none;
}
&:focus span.check:before {
-webkit-animation: none;
animation: none;
-o-animation: none;
}
}
span.radio-label {
cursor: auto;
}
}
}