UNPKG

nest-parrot

Version:
473 lines (466 loc) 12.4 kB
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; } } }