2021-06-18 09:22:27 +00:00
|
|
|
/*
|
|
|
|
record class is used for grid view header and rows
|
|
|
|
*/
|
2020-10-02 15:10:00 +00:00
|
|
|
.record {
|
|
|
|
display: -webkit-flex;
|
|
|
|
display: flex;
|
|
|
|
position: relative;
|
|
|
|
box-sizing: border-box;
|
|
|
|
-moz-box-sizing: border-box;
|
|
|
|
|
|
|
|
border-width: 0px;
|
|
|
|
border-style: none;
|
|
|
|
border-color: var(--grist-color-dark-grey);
|
|
|
|
border-left-style: solid; /* left border, against rownumbers div, always on */
|
|
|
|
border-bottom-width: 1px; /* style: none, set by record-hlines*/
|
2021-06-18 09:22:27 +00:00
|
|
|
/* Record background is white by default.
|
|
|
|
It gets overridden by the add row, zebra stripes.
|
|
|
|
It also gets overridden by selecting rows - but in that case background comes from
|
|
|
|
selected fields - this still remains white.
|
|
|
|
TODO: consider making this color the single source
|
|
|
|
*/
|
|
|
|
background: white;
|
2020-10-02 15:10:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.record.record-hlines { /* Overwrites style, width set on element */
|
|
|
|
border-bottom-style: solid;
|
|
|
|
}
|
|
|
|
|
|
|
|
.record.record-zebra.record-even {
|
|
|
|
background-color: #f8f8f8;
|
|
|
|
}
|
|
|
|
|
|
|
|
.record.record-add {
|
|
|
|
background-color: #f6f6ff !important; /* important to win over zebra stripes */
|
|
|
|
}
|
|
|
|
|
|
|
|
.field {
|
|
|
|
position: relative;
|
|
|
|
height: 100%;
|
|
|
|
-webkit-flex: none;
|
|
|
|
flex: none;
|
|
|
|
min-height: 22px;
|
|
|
|
white-space: pre;
|
|
|
|
/* make border exist always so content doesn't shift on v-gridline toggle */
|
|
|
|
border: 0px solid transparent; /* width set by js, border exists but is transparent */
|
|
|
|
}
|
|
|
|
|
|
|
|
.record-vlines > .field {
|
|
|
|
border-right-color: var(--grist-color-dark-grey); /* set border visibility */
|
|
|
|
}
|
|
|
|
|
|
|
|
.field.scissors {
|
|
|
|
outline: 2px dashed var(--grist-color-cursor);
|
|
|
|
}
|
|
|
|
|
|
|
|
.field.selected {
|
|
|
|
background-color: var(--grist-color-selection);
|
|
|
|
}
|
|
|
|
|
2021-05-17 14:05:49 +00:00
|
|
|
.field.draft {
|
|
|
|
padding-right: 18px;
|
|
|
|
}
|
|
|
|
|
2020-10-02 15:10:00 +00:00
|
|
|
.field_clip {
|
|
|
|
padding: 3px 3px 0px 3px;
|
|
|
|
font-family: var(--grist-font-family-data);
|
|
|
|
line-height: 18px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2021-02-09 10:12:53 +00:00
|
|
|
background-color: var(--grist-diff-background-color, var(--grist-cell-background-color, unset));
|
|
|
|
--grist-actual-cell-color: var(--grist-diff-color, var(--grist-cell-color));
|
2021-02-22 18:46:20 +00:00
|
|
|
color: var(--grist-actual-cell-color, black);
|
2020-10-02 15:10:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.field_clip.invalid {
|
|
|
|
background-color: #ffb6c1;
|
2021-02-22 22:07:05 +00:00
|
|
|
color: black;
|
2020-10-02 15:10:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.field_clip.invalid:empty {
|
|
|
|
background-color: unset;
|
|
|
|
}
|
|
|
|
|
|
|
|
.field_clip.field-error-P {
|
|
|
|
color: #B0B0B0;
|
|
|
|
background-color: unset;
|
|
|
|
}
|
|
|
|
|
2021-06-03 15:01:31 +00:00
|
|
|
.field_clip.invalid.field-error-C {
|
|
|
|
background-color: unset;
|
|
|
|
color: var(--grist-color-dark-grey);
|
|
|
|
padding-left: 18px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.field_clip.invalid.field-error-C::before {
|
|
|
|
/* based on standard icon styles */
|
|
|
|
content: "";
|
|
|
|
position: absolute;
|
|
|
|
top: 4px;
|
|
|
|
left: 2px;
|
|
|
|
width: 14px;
|
|
|
|
height: 14px;
|
|
|
|
background-color: var(--grist-color-dark-grey);
|
|
|
|
-webkit-mask-repeat: no-repeat;
|
|
|
|
-webkit-mask-position: center;
|
|
|
|
-webkit-mask-size: contain;
|
|
|
|
-webkit-mask-image: var(--icon-Lock);
|
|
|
|
}
|
|
|
|
|
2020-10-02 15:10:00 +00:00
|
|
|
.field_clip.field-error-U {
|
|
|
|
color: #6363a2;
|
|
|
|
background-color: unset;
|
|
|
|
}
|
|
|
|
|
2020-11-18 15:54:23 +00:00
|
|
|
.field_clip.field-error-S {
|
|
|
|
color: #aaa;
|
|
|
|
background-color: unset;
|
|
|
|
}
|
|
|
|
|
2020-10-02 15:10:00 +00:00
|
|
|
/* Insert a zero-width space into each cell, to size cells to at least one line of text. */
|
|
|
|
.field_clip:empty::before { content: '\200B'; }
|
|
|
|
|
|
|
|
@media not print {
|
|
|
|
.selected_cursor {
|
|
|
|
position: absolute;
|
|
|
|
left: 0px;
|
|
|
|
top: 0px;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
/* one pixel outline around the cell, and one inside the cell */
|
|
|
|
outline: 1px solid var(--grist-color-inactive-cursor);
|
|
|
|
box-shadow: inset 0 0 0 1px var(--grist-color-inactive-cursor);
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.active_cursor {
|
|
|
|
outline: 1px solid var(--grist-color-cursor);
|
|
|
|
box-shadow: inset 0 0 0 1px var(--grist-color-cursor);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* These classes are used to flash the cursor to indicate that editing in a cell is disabled. */
|
|
|
|
.cursor_read_only {
|
|
|
|
outline: 1px solid #ff9a00;
|
|
|
|
box-shadow: inset 0 0 0 1px #ff9a00;
|
|
|
|
}
|
|
|
|
|
|
|
|
.cursor_read_only_fade {
|
|
|
|
outline-color: var(--grist-color-cursor);
|
|
|
|
box-shadow: inset 0 0 0 1px var(--grist-color-cursor);
|
|
|
|
transition: outline-color 0.5s ease-in, box-shadow 0.5s ease-in;
|
|
|
|
}
|
|
|
|
|
|
|
|
.cursor_read_only_lock {
|
|
|
|
top: 0px;
|
|
|
|
height: 100%;
|
|
|
|
padding: 0 4px;
|
|
|
|
line-height: inherit;
|
|
|
|
background-color: #ff9a00;
|
|
|
|
color: white;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.cursor_read_only_fade > .cursor_read_only_lock {
|
|
|
|
opacity: 0;
|
|
|
|
transition: opacity 0.5s ease-in;
|
|
|
|
}
|
|
|
|
|
|
|
|
.column_name {
|
|
|
|
background-color: var(--grist-color-light-grey);
|
|
|
|
text-align: center;
|
|
|
|
cursor: pointer;
|
|
|
|
/* Column headers always show vertical gridlines, to make it clear how to resize them */
|
|
|
|
border-right-color: var(--grist-color-dark-grey);
|
|
|
|
}
|
|
|
|
|
|
|
|
.column_name.selected {
|
|
|
|
background-color: var(--grist-color-medium-grey-opaque);
|
|
|
|
}
|
|
|
|
|
|
|
|
.gridview_data_row_num.selected {
|
|
|
|
background-color: var(--grist-color-medium-grey-opaque);
|
|
|
|
}
|
|
|
|
|
|
|
|
.gridview_data_row_info.linked_dst::before {
|
|
|
|
position: absolute;
|
|
|
|
content: '\25B8';
|
|
|
|
text-align: left;
|
|
|
|
left: 7px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.text_wrapping {
|
|
|
|
word-break: break-word;
|
|
|
|
white-space: pre-wrap;
|
|
|
|
}
|
|
|
|
|
2020-11-11 20:25:37 +00:00
|
|
|
.diff-local, .diff-local-add {
|
2020-10-02 15:10:00 +00:00
|
|
|
background-color: #dfdfff;
|
2021-02-09 10:12:53 +00:00
|
|
|
--grist-diff-background-color: #dfdfff;
|
|
|
|
--grist-diff-color: black;
|
2020-10-02 15:10:00 +00:00
|
|
|
}
|
|
|
|
|
2020-11-11 20:25:37 +00:00
|
|
|
.diff-parent, .diff-remote-remove {
|
2020-10-02 15:10:00 +00:00
|
|
|
background-color: #ffdfdf;
|
2021-02-09 10:12:53 +00:00
|
|
|
--grist-diff-background-color: #ffdfdf;
|
|
|
|
--grist-diff-color: black;
|
2020-10-02 15:10:00 +00:00
|
|
|
text-decoration: line-through;
|
|
|
|
}
|
|
|
|
|
2020-11-11 20:25:37 +00:00
|
|
|
.diff-local-remove {
|
|
|
|
background-color: #dfdfdf;
|
2021-02-09 10:12:53 +00:00
|
|
|
--grist-diff-background-color: #dfdfdf;
|
|
|
|
--grist-diff-color: black;
|
2020-11-11 20:25:37 +00:00
|
|
|
text-decoration: line-through;
|
|
|
|
}
|
|
|
|
|
|
|
|
.diff-remote, .diff-remote-add {
|
2020-10-02 15:10:00 +00:00
|
|
|
background-color: #afffaf;
|
2021-02-09 10:12:53 +00:00
|
|
|
--grist-diff-background-color: #afffaf;
|
|
|
|
--grist-diff-color: black;
|
2020-10-02 15:10:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.diff-common {
|
|
|
|
color: #555;
|
|
|
|
}
|