hyparquet/demo/demo.css

276 lines
4.3 KiB
CSS
Raw Normal View History

2024-01-28 02:06:27 +00:00
* {
box-sizing: border-box;
2024-02-04 21:22:11 +00:00
font-family: 'Mulish', 'Helvetica Neue', Helvetica, Arial, sans-serif;
2024-01-28 02:06:27 +00:00
margin: 0;
padding: 0;
}
body {
display: flex;
font-family: sans-serif;
height: 100vh;
2024-05-05 17:35:23 +00:00
width: 100vw;
2024-01-28 02:06:27 +00:00
}
nav {
2024-05-05 17:35:23 +00:00
border-right: 1px solid #ddd;
min-width: 320px;
overflow-x: hidden;
2024-01-28 02:06:27 +00:00
overflow-y: auto;
2024-01-28 02:50:14 +00:00
padding: 10px;
2024-06-14 06:49:03 +00:00
min-width: 0;
max-width: 40%;
2024-05-05 17:35:23 +00:00
width: 320px;
2024-01-28 02:06:27 +00:00
}
h1 {
font-size: 20pt;
}
h2 {
font-size: 12pt;
}
p {
margin: 10px 0;
}
2024-05-05 17:35:23 +00:00
.error {
color: #c11;
font-family: monospace;
white-space: pre-wrap;
}
#overlay {
2024-01-28 02:06:27 +00:00
align-items: center;
2024-05-05 17:35:23 +00:00
font-size: 125%;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: rgba(240, 240, 240, 0.6);
backdrop-filter: blur(4px);
display: none;
padding: 12px;
z-index: 40;
2024-01-28 02:06:27 +00:00
}
2024-05-05 17:35:23 +00:00
2024-01-28 02:06:27 +00:00
#dropzone {
2024-05-05 17:35:23 +00:00
display: flex;
flex: 1;
max-width: 100vw;
}
#content {
display: flex;
flex-direction: column;
flex: 1;
min-width: 0;
overflow: auto;
}
#welcome {
2024-01-28 02:06:27 +00:00
border: 2px dashed #08e;
border-radius: 10px;
2024-01-28 02:50:14 +00:00
color: #444;
2024-01-28 02:06:27 +00:00
margin: 10px;
2024-01-28 02:50:14 +00:00
padding: 10px;
2024-05-05 17:35:23 +00:00
align-items: center;
cursor: pointer;
display: flex;
flex: 1;
font-size: 20px;
justify-content: center;
2024-01-28 02:50:14 +00:00
}
input[type="file"] {
display: none;
2024-01-28 02:06:27 +00:00
}
2024-05-05 17:35:23 +00:00
#overlay {
font-size: 125%;
justify-content: center;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: rgba(240, 240, 240, 0.6);
backdrop-filter: blur(4px);
display: none;
padding: 12px;
z-index: 40;
2024-01-28 02:06:27 +00:00
}
2024-05-05 17:35:23 +00:00
.over #overlay {
display: flex;
}
/* table */
2024-06-05 23:22:47 +00:00
.table-container {
display: flex;
flex-direction: column;
min-height: 0;
flex: 1;
position: relative;
}
.table-scroll {
flex: 1;
overflow: auto;
}
.table-scroll > div {
position: relative;
}
.table-scroll .table {
position: absolute;
}
2024-05-05 17:35:23 +00:00
table {
border-collapse: separate;
border-spacing: 0;
}
table:focus-visible {
outline: none;
}
th {
background-color: #f8f8f8;
border: 1px solid #ddd;
padding: 8px;
text-align: left;
background-color: #eaeaeb;
border: none;
border-top: 4px solid #706fb1;
border-bottom: 2px solid #c9c9c9;
box-sizing: content-box;
color: #444;
position: sticky;
top: -1px; /* fix 1px gap above thead */
user-select: none;
2024-01-28 02:06:27 +00:00
}
2024-05-05 17:35:23 +00:00
th, td {
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
height: 32px;
max-width: 1000px; /* prevent columns expanding */
padding: 4px 12px;
text-align: left;
text-overflow: ellipsis;
overflow: hidden;
white-space: pre-wrap;
}
2024-06-05 23:22:47 +00:00
/* column resize */
.table thead span {
position: absolute;
border-right: 1px solid #ddd;
top: 0;
right: 0;
bottom: 0;
width: 8px;
cursor: col-resize;
transition: background-color 0.2s ease;
}
.table thead span:hover {
background-color: #aab;
}
2024-06-14 06:49:03 +00:00
/* row numbers */
td:first-child {
background-color: #eaeaeb;
border-right: 1px solid #ddd;
color: #888;
font-size: 10px;
padding: 0 2px;
position: sticky;
left: 0;
text-align: center;
user-select: none;
min-width: 32px;
max-width: none;
width: 32px;
}
2024-05-05 17:35:23 +00:00
2024-06-05 23:22:47 +00:00
/* table corner */
.table-corner {
background-color: #e4e4e6;
border-right: 1px solid #ccc;
position: absolute;
height: 44px;
width: 32px;
top: 0;
left: 0;
z-index: 15;
box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}
/* mock row numbers */
.mock-row-label {
content: "";
position: absolute;
top: 0;
left: 0;
bottom: 0;
background: #eaeaeb;
z-index: -10;
}
2024-05-13 02:36:30 +00:00
#filename {
font-size: 10pt;
2024-01-28 02:06:27 +00:00
margin-top: 20px;
2024-05-13 02:36:30 +00:00
}
.sidebar {
2024-02-05 07:37:18 +00:00
word-break: break-all;
}
.sidebar a {
2024-02-05 07:37:18 +00:00
color: #445;
text-decoration: none;
}
.sidebar a:hover {
2024-02-05 07:37:18 +00:00
text-decoration: underline;
2024-01-28 02:06:27 +00:00
}
.layout,
2024-01-28 03:29:21 +00:00
.layout div {
2024-05-13 06:59:11 +00:00
background-color: rgba(100, 80, 180, 0.05);
2024-01-28 02:06:27 +00:00
border: 1px solid #ccc;
border-radius: 4px;
font-size: 12px;
margin-top: 4px;
padding: 4px;
word-break: break-all;
}
.cell {
display: flex;
}
.cell label {
2024-01-28 02:50:14 +00:00
flex: 1;
2024-01-28 02:06:27 +00:00
font-size: 12px;
font-weight: normal;
justify-content: flex-start;
}
2024-01-28 02:50:14 +00:00
nav ul,
2024-01-28 03:29:21 +00:00
.layout div ul {
2024-01-28 02:06:27 +00:00
list-style: none;
}
2024-01-28 03:29:21 +00:00
.layout div li {
2024-01-28 02:06:27 +00:00
font-size: 10px;
padding: 2px 4px;
text-align: right;
}
2024-01-28 02:55:34 +00:00
.collapsed > :not(:first-child) {
display: none;
}
2024-01-28 03:29:21 +00:00
.layout h2 {
2024-01-28 02:55:34 +00:00
cursor: pointer;
user-select: none;
}
2024-01-28 03:29:21 +00:00
.layout h2::before {
2024-01-28 02:55:34 +00:00
content: "▼";
display: inline-block;
font-size: 10px;
margin: 0 4px;
vertical-align: middle;
}
.layout.collapsed h2::before {
2024-01-28 02:55:34 +00:00
content: "▶";
}
2024-01-28 03:29:21 +00:00
.layout pre {
2024-01-28 03:29:21 +00:00
white-space: pre-wrap;
2024-05-05 17:35:23 +00:00
word-break: break-all;
2024-01-28 03:29:21 +00:00
}