react-data-grid
Version:
Data grid for React
629 lines (576 loc) • 16.4 kB
text/less
@import './node_modules/react-select/less/select.less';
.react-grid-Container {
clear: both;
margin-top: 0;
padding: 0;
}
.react-grid-Toolbar {
background-color: #ffffff;
border-color: #e7eaec;
border-image: none;
border-style: solid solid none;
border-width: 4px 1px 1px 1px;
color: inherit;
margin-bottom: 0;
padding: 14px 15px 7px;
height: 48px;
}
.react-grid-Toolbar .btn{
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
color: inherit;
background: white;
border: 1px solid #e7eaec;
}
.react-grid-Toolbar .btn:hover {
color: inherit;
border: 1px solid #d2d2d2;
}
.react-grid-Toolbar .grouped-col-btn{
background-color: #428bca;
color: white;
}
.react-grid-Toolbar .grouped-col-btn:hover{
color: white;
}
.react-grid-Toolbar .tools {
display: inline-block;
float: right;
margin-top: 0;
position: relative;
padding: 0;
margin-top: -6px;
}
.react-grid-Main {
background-color: #ffffff;
color: inherit;
padding: 0px;
outline: 1px solid #e7eaec;
clear : both;
}
.react-grid-Grid {
background-color: #ffffff;
border: 1px solid #dddddd;
}
.react-grid-Canvas {
background-color: #ffffff;
}
.react-grid-Cell {
background-color: #ffffff;
padding-left: 8px;
padding-right: 8px;
border-right: 1px solid #eee;
border-bottom: 1px solid #dddddd;
}
.react-grid-Cell:not(.editing) .react-grid-Cell__value {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
position: relative;
top: 50%;
transform: translateY(-50%);
}
.react-grid-Canvas.opaque .react-grid-Cell:not(.editing) {
opacity: 0.4;
transition: opacity .25s ease-in-out;
-moz-transition: opacity .25s ease-in-out;
-webkit-transition: opacity .25s ease-in-out;
}
.react-grid-Cell__value ul {
margin-top: 0;
margin-bottom: 0;
display: inline-block;
}
.react-grid-Cell__value .btn-sm {
padding: 0;
}
.react-grid-Cell.copied {
background: rgba(0, 0, 255, 0.2) ;
-webkit-transition: 0.5s background;
}
.react-grid-Row:hover .react-grid-Cell,
.react-grid-Row.row-context-menu .react-grid-Cell {
background-color: #f2f2f2;
}
.react-grid-Row:hover .rdg-row-index {
display: none;
}
.rdg-row-index {
display: block;
text-align: center;
}
.rdg-row-actions-cell {
padding: 0px;
}
.rdg-actions-checkbox {
display: none;
text-align: center;
}
.rdg-actions-checkbox.selected {
display: block;
}
.react-grid-Row:hover .rdg-actions-checkbox {
display: block;
}
.react-grid-Row:hover .rdg-drag-row-handle {
cursor: move; /* fallback if grab cursor is unsupported */
cursor: grab;
cursor: -moz-grab;
cursor: -webkit-grab;
width: 12px;
height: 30px;
margin-left: 3px;
background-image: url("data:image/svg+xml;base64, PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjlweCIgaGVpZ2h0PSIyOXB4IiB2aWV3Qm94PSIwIDAgOSAyOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMzkgKDMxNjY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5kcmFnIGljb248L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iQWN0dWFsaXNhdGlvbi12MiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkRlc2t0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNS4wMDAwMDAsIC0yNjIuMDAwMDAwKSIgZmlsbD0iI0Q4RDhEOCI+CiAgICAgICAgICAgIDxnIGlkPSJJbnRlcmFjdGlvbnMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1LjAwMDAwMCwgMjU4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IlJvdy1Db250cm9scyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9ImRyYWctaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSIyIiBjeT0iMiIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSI3IiBjeT0iMiIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSIyIiBjeT0iNyIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSI3IiBjeT0iNyIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSIyIiBjeT0iMTIiIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTMwIiBjeD0iNyIgY3k9IjEyIiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC0zMCIgY3g9IjIiIGN5PSIxNyIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSI3IiBjeT0iMTciIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTMwIiBjeD0iMiIgY3k9IjIyIiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC0zMCIgY3g9IjciIGN5PSIyMiIgcj0iMiI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMzAiIGN4PSIyIiBjeT0iMjciIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTMwIiBjeD0iNyIgY3k9IjI3IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
background-repeat: no-repeat;
}
.rdg-dragging {
/*cursor: url(http://www.google.com/intl/en_ALL/mapfiles/closedhand.cur);*/
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
.rdg-dragged-row {
border-bottom: 1px solid black
}
@keyframes pulse {
0% {
background-color: #ff0;
}
50% {
background-color: #fff;
}
100% {
background-color: #ff0;
}
}
.react-grid-Cell.editing {
padding: 0;
overflow: visible ;
}
.react-grid-Cell.editing .has-error input {
border: 2px red solid ;
border-radius: 2px ;
}
.react-grid-Cell input.editor-main,
select.editor-main {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555555;
background-color: #ffffff;
background-image: none;
border: 1px solid #cccccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.react-grid-Cell input.editor-main:focus,
select.editor-main:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.react-grid-Cell input.editor-main::-moz-placeholder,
select.editor-main::-moz-placeholder {
color: #999999;
opacity: 1;
}
.react-grid-Cell input.editor-main:-ms-input-placeholder,
select.editor-main:-ms-input-placeholder {
color: #999999;
}
.react-grid-Cell input.editor-main::-webkit-input-placeholder,
select.editor-main::-webkit-input-placeholder {
color: #999999;
}
.react-grid-Cell input.editor-main[disabled],
select.editor-main[disabled],
.react-grid-Cell input.editor-main[readonly],
select.editor-main[readonly],
fieldset[disabled] .react-grid-Cell input.editor-main,
fieldset[disabled] select.editor-main {
cursor: not-allowed;
background-color: #eeeeee;
opacity: 1;
}
textarea.react-grid-Cell input.editor-main,
textareaselect.editor-main {
height: auto;
}
.react-grid-checkbox, .radio-custom {
opacity: 0;
position: absolute;
}
.react-grid-checkbox, .react-grid-checkbox-label, .radio-custom, .radio-custom-label {
display: inline-block;
vertical-align: middle;
margin: 10px;
cursor: pointer;
}
.react-grid-checkbox-label, .radio-custom-label {
position: relative;
}
.react-grid-checkbox + .react-grid-checkbox-label:before, .radio-custom + .radio-custom-label:before {
content: '';
background: #fff;
border: 2px solid #ddd;
display: inline-block;
vertical-align: middle;
width: 20px;
height: 20px;
text-align: center;
}
.react-grid-checkbox:checked + .react-grid-checkbox-label:before {
background: rebeccapurple;
box-shadow: inset 0px 0px 0px 4px #fff;
}
.radio-custom + .radio-custom-label:before {
border-radius: 50%;
}
.radio-custom:checked + .radio-custom-label:before {
background: #ccc;
box-shadow: inset 0px 0px 0px 4px #fff;
}
.react-grid-checkbox:focus + .react-grid-checkbox-label, .radio-custom:focus + .radio-custom-label {
outline: 1px solid #ddd; /* focus style */
}
.react-grid-HeaderCell input[type='checkbox'] {
z-index: 99999;
}
.react-grid-HeaderCell > .react-grid-checkbox-container {
padding: 0px 10px;
}
.react-grid-HeaderCell > .react-grid-checkbox-container > .react-grid-checkbox-label {
margin : 0;
}
.react-grid-Header {
box-shadow: 0px 0px 4px 0px #dddddd;
background: #f9f9f9;
}
.react-grid-Header--resizing {
cursor: ew-resize;
}
.react-grid-HeaderRow {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.react-grid-HeaderCell {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background: #f9f9f9;
padding: 8px;
font-weight: bold;
border-right: 1px solid #dddddd;
border-bottom: 1px solid #dddddd;
}
.react-grid-HeaderCell__value {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
position: relative;
top: 50%;
transform: translateY(-50%);
}
.react-grid-HeaderCell__resizeHandle:hover {
cursor: ew-resize;
background: #dddddd;
}
.react-grid-HeaderCell--locked:last-of-type {
box-shadow: none;
}
.react-grid-HeaderCell--resizing .react-grid-HeaderCell__resizeHandle {
background: #dddddd;
}
.react-grid-HeaderCell__draggable {
cursor: col-resize
}
.react-grid-ScrollShim {
z-index: 10002;
}
.react-grid-Cell.selected-draggable {
border: 1px solid #66afe9;
background: #eee;
}
.react-grid-cell .form-control-feedback {
color: #a94442;
position: absolute;
top: 0px;
right: 10px;
z-index: 1000000;
display: block;
width: 34px;
height: 34px;
}
.react-grid-Cell.was-dragged-over {
border-right: 1px dashed black;
border-left: 1px dashed black;
}
.react-grid-Cell.active-drag-cell {
overflow: visible ;
}
.react-grid-Cell.active-drag-cell .drag-handle {
position: absolute;
bottom: -5px;
right: -4px;
background: #66afe9;
width: 8px;
height: 8px;
border: 1px solid #fff;
border-right: 0px;
border-bottom: 0px;
z-index: 8;
cursor: crosshair;
cursor: -webkit-grab;
}
.react-grid-Cell.active-drag-cell:hover .drag-handle {
position: absolute;
bottom: -8px;
right: -7px;
background: white;
width: 16px;
height: 16px;
border: 1px solid #66afe9;
/* border-right: 0px; */
/* border-bottom: 0px; */
z-index: 8;
cursor: crosshair;
cursor: -webkit-grab;
}
.react-grid-Cell.active-drag-cell:hover .drag-handle .glyphicon-arrow-down {
display: 'block'
}
.react-grid-Cell.is-dragged-over-down {
border-right: 1px dashed black;
border-left: 1px dashed black;
border-bottom: 1px dashed black;
}
.react-grid-Cell.is-dragged-over-up {
border-right: 1px dashed black;
border-left: 1px dashed black;
border-top: 1px dashed black;
}
.react-grid-Cell.is-dragged-over-up .drag-handle {
top: -5px;
}
.react-grid-Cell:hover {
background: #eee;
}
.react-grid-Cell.selected {
border: 2px solid #66afe9;
background: #eee;
border-radius: 4px;
}
.react-grid-Cell:focus {
outline: none;
}
.react-grid-Row.row-selected .react-grid-Cell{
background-color: #DBECFA;
}
.react-grid-Row.row-selected{
background-color: #DBECFA;
}
.react-grid-Row .row-selected{
background-color: #DBECFA;
}
.react-grid-row-group .row-expand-icon:hover {
color: #777777;
}
.react-grid-row-index {
padding: 0 18px;
}
.react-grid-Cell--locked:last-of-type {
border-right: 1px solid #dddddd;
box-shadow: none;
}
.react-grid-image {
background: #efefef;
background-size: 100%;
display: inline-block;
height: 40px;
width: 40px;
}
.react-autocomplete-Autocomplete__search {
display: block;
width: 100%;
height: 36px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.6;
color: #555555;
background-color: white;
background-image: none;
border: 1px solid #cccccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.react-autocomplete-Autocomplete__search:focus {
border-color: #a21618;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(162, 22, 24, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(162, 22, 24, 0.6);
}
.react-autocomplete-Autocomplete__search::-moz-placeholder {
color: #777777;
opacity: 1;
}
.react-autocomplete-Autocomplete__search:-ms-input-placeholder {
color: #777777;
}
.react-autocomplete-Autocomplete__search::-webkit-input-placeholder {
color: #777777;
}
.react-autocomplete-Autocomplete__search[disabled],
.react-autocomplete-Autocomplete__search[readonly],
fieldset[disabled] .react-autocomplete-Autocomplete__search {
cursor: not-allowed;
background-color: #eeeeee;
opacity: 1;
}
textarea.react-autocomplete-Autocomplete__search {
height: auto;
}
.react-autocomplete-Autocomplete__results {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
text-align: left;
background-color: white;
border: 1px solid #cccccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
min-width: 250px;
width: 100%;
max-height: 200px;
overflow: auto;
}
.react-autocomplete-Autocomplete__results.pull-right {
right: 0;
left: auto;
}
.react-autocomplete-Autocomplete__results .divider {
height: 1px;
margin: 10px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.react-autocomplete-Autocomplete__results > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.6;
color: #333333;
white-space: nowrap;
}
.react-autocomplete-Autocomplete__results div.action-button {
display: block ;
padding: 4px;
}
.react-autocomplete-Result {
cursor: pointer;
}
.react-autocomplete-Result > a {
text-decoration: none;
}
.react-autocomplete-Result--active {
color: #262626;
background-color: whitesmoke;
}
.react-grid-Cell.readonly {
background-color : black;
}
.react-grid-Viewport {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
not supported by any browser */
}
.slideUp{
animation-name: slideUp;
-webkit-animation-name: slideUp;
animation-duration: 1s;
-webkit-animation-duration: 1s;
animation-timing-function: ease;
-webkit-animation-timing-function: ease;
visibility: visible ;
}
@keyframes slideUp {
0% {
transform: translateY(100%);
}
50%{
transform: translateY(-8%);
}
65%{
transform: translateY(4%);
}
80%{
transform: translateY(-4%);
}
95%{
transform: translateY(2%);
}
100% {
transform: translateY(0%);
}
}
@-webkit-keyframes slideUp {
0% {
-webkit-transform: translateY(100%);
}
50%{
-webkit-transform: translateY(-8%);
}
65%{
-webkit-transform: translateY(4%);
}
80%{
-webkit-transform: translateY(-4%);
}
95%{
-webkit-transform: translateY(2%);
}
100% {
-webkit-transform: translateY(0%);
}
}