react-spreadsheet
Version:
Simple, customizable yet performant spreadsheet for React
102 lines (86 loc) • 1.7 kB
CSS
.Spreadsheet {
position: relative;
overflow: visible;
background: white;
color: black;
display: inline-block;
}
.Spreadsheet__active-cell {
padding: 4px;
position: absolute;
border: 2px solid #4285f4;
box-sizing: border-box;
}
.Spreadsheet__active-cell--edit {
background: white;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}
.Spreadsheet__table {
border-collapse: collapse;
table-layout: fixed;
}
.Spreadsheet__cell,
.Spreadsheet__active-cell {
cursor: cell;
}
.Spreadsheet__cell,
.Spreadsheet__cell input {
outline: none;
}
.Spreadsheet__cell--readonly {
color: #999;
}
.Spreadsheet__cell,
.Spreadsheet__header {
min-width: 6em;
min-height: 1.9em;
height: 1.9em;
max-height: 1.9em;
padding: 4px;
border: 1px solid rgb(231, 231, 231);
overflow: hidden;
word-break: keep-all;
white-space: nowrap;
text-align: left;
box-sizing: border-box;
user-select: none;
}
.Spreadsheet__header {
background: #f5f5f5;
color: #999;
text-align: center;
font: inherit;
}
.Spreadsheet__data-editor,
.Spreadsheet__data-editor input {
width: 98%;
height: 98%;
}
.Spreadsheet__data-editor input {
font: inherit;
background: none;
border: none;
outline: none;
margin: 0;
}
.Spreadsheet__data-viewer--boolean {
text-align: center;
}
.Spreadsheet__floating-rect {
position: absolute;
pointer-events: none;
box-sizing: border-box;
}
.Spreadsheet__floating-rect--hidden {
display: none;
}
.Spreadsheet__floating-rect--selected {
background: rgba(160, 195, 255, 0.2);
border: 2px #4285f4 solid;
}
.Spreadsheet__floating-rect--dragging {
border: none;
}
.Spreadsheet__floating-rect--copied {
border: 2px #4285f4 dashed;
}