mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 16:01:52 +00:00

PR-URL: https://github.com/nodejs/node/pull/49639 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
510 lines
11 KiB
CSS
510 lines
11 KiB
CSS
/* CSS specific to the live ranges div associated with
|
|
the RangeView typescript class in src/range-view.ts. */
|
|
|
|
:root {
|
|
--range-y-axis-width: 18ch;
|
|
--range-position-width: 1.5ch;
|
|
--range-block-border: 6px;
|
|
--range-instr-border: 3px;
|
|
--range-position-border: 1px;
|
|
--range-flipped-position-height: 1em;
|
|
--range-axes-border-buffer: 6px;
|
|
}
|
|
|
|
.range-bold {
|
|
font-weight: bold;
|
|
color: black;
|
|
}
|
|
|
|
.selected.range-interval-position,
|
|
.selected.range-interval-wrapper {
|
|
background-color: rgb(255, 224, 51);
|
|
}
|
|
|
|
.selected.range-interval,
|
|
.selected.range-interval > .selected.range-interval-wrapper {
|
|
background-color: rgb(86, 235, 72);
|
|
}
|
|
|
|
.selected.range-instruction-id {
|
|
background-color: rgb(255, 133, 51);
|
|
}
|
|
|
|
#ranges {
|
|
font-family: monospace;
|
|
min-height: auto;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#resizer-ranges {
|
|
height: 10px;
|
|
}
|
|
|
|
.range-title-div {
|
|
box-sizing: border-box;
|
|
padding: 2ch 2ch 2ch 2ch;
|
|
white-space: nowrap;
|
|
overflow: auto;
|
|
}
|
|
|
|
.range-title {
|
|
text-decoration: underline;
|
|
font-weight: bold;
|
|
font-size: large;
|
|
display: inline-block;
|
|
}
|
|
|
|
.range-title-help {
|
|
margin-left: 2ch;
|
|
width: 1ch;
|
|
padding: 0 0.25ch;
|
|
border: 1px dotted black;
|
|
color: slategray;
|
|
display: inline-block;
|
|
}
|
|
|
|
label.range-toggle-setting {
|
|
text-align: right;
|
|
float: right;
|
|
}
|
|
|
|
input.range-toggle-show,
|
|
input.range-toggle-setting {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.range-toggle-form {
|
|
display: inline;
|
|
}
|
|
|
|
.range-header-label-x {
|
|
text-align: center;
|
|
margin-left: 13ch;
|
|
}
|
|
|
|
.range-header-label-y {
|
|
width: 11ch;
|
|
float: left;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
margin-left: 6ch;
|
|
margin-top: 4ch;
|
|
}
|
|
|
|
.range-y-axis {
|
|
display: inline-block;
|
|
width: var(--range-y-axis-width);
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.range-header {
|
|
display: flex;
|
|
overflow: hidden;
|
|
height: 8ch;
|
|
margin-left: var(--range-y-axis-width);
|
|
}
|
|
|
|
.range-position-labels,
|
|
.range-register-labels {
|
|
background-color: lightgray;
|
|
}
|
|
|
|
#ranges.not_flipped .range-register-labels,
|
|
#ranges.flipped .range-position-labels {
|
|
float: right;
|
|
border-bottom: var(--range-axes-border-buffer) solid white;
|
|
|
|
}
|
|
|
|
#ranges.not_flipped .range-position-labels,
|
|
#ranges.flipped .range-register-labels {
|
|
margin-top: auto;
|
|
border-right: var(--range-axes-border-buffer) solid white;
|
|
}
|
|
|
|
#ranges.flipped .range-register-labels {
|
|
border-right: 2px solid white;
|
|
}
|
|
|
|
#ranges.not_flipped .range-registers {
|
|
float: right;
|
|
overflow: hidden;
|
|
text-align: right;
|
|
}
|
|
|
|
#ranges.not_flipped .range-positions-header,
|
|
#ranges.not_flipped .range-instruction-ids,
|
|
#ranges.not_flipped .range-block-ids,
|
|
#ranges.flipped .range-registers,
|
|
#ranges.flipped .range-registers-type {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
#ranges .range-positions-header,
|
|
#ranges .range-instruction-ids,
|
|
#ranges .range-block-ids,
|
|
#ranges.flipped .range-registers,
|
|
#ranges.flipped .range-registers-type {
|
|
display: grid;
|
|
grid-gap: 0;
|
|
}
|
|
|
|
#ranges.not_flipped .range-registers-type {
|
|
width: 0ch;
|
|
}
|
|
|
|
.range-type-header {
|
|
display: inline-block;
|
|
text-align: center;
|
|
}
|
|
|
|
.range-type-header::after {
|
|
float: right;
|
|
}
|
|
|
|
#ranges.not_flipped .range-reg {
|
|
width: 13ch;
|
|
text-align: right;
|
|
}
|
|
|
|
#ranges.not_flipped .range-reg::after {
|
|
content: ":";
|
|
}
|
|
|
|
#ranges.flipped .range-reg {
|
|
display: inline-block;
|
|
text-align: center;
|
|
}
|
|
|
|
#ranges.flipped .range-registers .range-reg {
|
|
white-space: pre-line;
|
|
}
|
|
|
|
.range-grid {
|
|
overflow: auto;
|
|
display: inline-block;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.range-block-id {
|
|
display: inline-block;
|
|
text-align: center;
|
|
}
|
|
|
|
.range-instruction-id {
|
|
display: inline-block;
|
|
text-align: center;
|
|
}
|
|
|
|
.range-position {
|
|
display: inline-block;
|
|
text-align: center;
|
|
z-index: 1;
|
|
}
|
|
|
|
#ranges.not_flipped .range-position {
|
|
color: transparent;
|
|
}
|
|
|
|
.range-transparent,
|
|
.range-position.range-empty,
|
|
#ranges.flipped .range-position.range-empty {
|
|
color: transparent;
|
|
}
|
|
|
|
#ranges.flipped .range-interval-text {
|
|
writing-mode: horizontal-tb;
|
|
}
|
|
|
|
#ranges.flipped .range-interval-wrapper {
|
|
writing-mode: vertical-lr;
|
|
}
|
|
|
|
#ranges.flipped .range-registers,
|
|
#ranges.flipped .range-registers-type,
|
|
#ranges.flipped .range-grid,
|
|
#ranges.flipped .range-positions-group {
|
|
display: inline-grid;
|
|
grid-gap: 0;
|
|
}
|
|
|
|
#ranges.flipped .range-grid {
|
|
writing-mode: vertical-lr;
|
|
grid-template-rows: repeat(var(--range-num-registers, 0), calc(var(--range-position-width) + (2 * var(--range-position-border))));
|
|
}
|
|
|
|
#ranges.flipped .range-registers,
|
|
#ranges.flipped .range-registers-type {
|
|
grid-template-columns: repeat(var(--range-num-registers, 0), calc(var(--range-position-width) + (2 * var(--range-position-border))));
|
|
}
|
|
|
|
#ranges.flipped .range-position-labels {
|
|
display: grid;
|
|
grid-gap: 0;
|
|
writing-mode: vertical-lr;
|
|
grid-template-rows: repeat(3, calc(5.5ch + (2 * var(--range-position-border))));
|
|
border-bottom: 2px solid white;
|
|
}
|
|
|
|
#ranges.flipped .range-interval-wrapper,
|
|
#ranges.flipped .range-grid .range-positions {
|
|
grid-template-rows: calc(var(--range-position-width) + (2 * var(--range-position-border)));
|
|
}
|
|
|
|
.range-block-id:hover,
|
|
.range-instruction-id:hover,
|
|
.range-reg:hover,
|
|
.range-position:hover {
|
|
background-color: rgba(0, 0, 255, 0.10);
|
|
}
|
|
|
|
.range-block-id.selected:hover {
|
|
background-color: rgb(153, 229, 179);
|
|
}
|
|
|
|
.range-instruction-id.selected:hover {
|
|
background-color: rgb(229, 119, 72);
|
|
}
|
|
|
|
.range-reg.selected:hover,
|
|
.range-position.selected:hover {
|
|
background-color: rgb(229, 229, 72);
|
|
}
|
|
|
|
.range-interval-position.selected:hover {
|
|
background-color: rgb(229, 201, 71);
|
|
}
|
|
|
|
.selected.range-interval,
|
|
.selected.range-interval > .selected.range-interval-wrapper {
|
|
background-color: rgb(86, 235, 72);
|
|
}
|
|
|
|
.focused.range-block-id,
|
|
.focused.range-instruction-id,
|
|
.focused.range-reg,
|
|
.focused.range-position {
|
|
background-color: rgb(45, 126, 202);
|
|
}
|
|
|
|
.range-type-header,
|
|
.range-block-id,
|
|
.range-instruction-id,
|
|
.range-reg,
|
|
.range-position {
|
|
position: relative;
|
|
border: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
.range-interval {
|
|
position: relative;
|
|
}
|
|
|
|
#ranges.not_flipped .range-block-id,
|
|
#ranges.not_flipped .range-instruction-id,
|
|
#ranges.not_flipped .range-interval,
|
|
#ranges.not_flipped .range-position {
|
|
border-left: 0;
|
|
}
|
|
|
|
#ranges.flipped .range-block-id,
|
|
#ranges.flipped .range-instruction-id,
|
|
#ranges.flipped .range-interval,
|
|
#ranges.flipped .range-position {
|
|
border-top: 0;
|
|
}
|
|
|
|
#ranges.not_flipped .range-block-ids > .range-block-id:first-child,
|
|
#ranges.not_flipped .range-instruction-ids > .range-instruction-id:first-child,
|
|
#ranges.not_flipped .range-positions > .range-position:first-child {
|
|
border-left: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-block-ids > .range-block-id:first-child,
|
|
#ranges.flipped .range-instruction-ids > .range-instruction-id:first-child,
|
|
#ranges.flipped .range-positions > .range-position:first-child {
|
|
border-top: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
.range-position.range-interval-position {
|
|
border: none;
|
|
}
|
|
|
|
#ranges.not_flipped .range-position.range-interval-position {
|
|
border-top: var(--range-position-border) solid rgb(109, 107, 107);
|
|
border-bottom: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-position.range-interval-position {
|
|
border-left: var(--range-position-border) solid rgb(109, 107, 107);
|
|
border-right: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-interval-position:first-child {
|
|
padding-top: 0px;
|
|
}
|
|
|
|
#ranges.not_flipped .range-interval-position:last-child {
|
|
border-right: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-interval-position:last-child {
|
|
padding-bottom: 0px;
|
|
border-bottom: var(--range-position-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
.range-interval-text {
|
|
position: absolute;
|
|
padding-left: 0.5ch;
|
|
z-index: 2;
|
|
pointer-events: none
|
|
}
|
|
|
|
#ranges.flipped .range-interval-text {
|
|
width: 1ch;
|
|
overflow-wrap: break-word;
|
|
white-space: normal;
|
|
/* padding + 1ch + padding = width */
|
|
padding-left: calc((var(--range-position-width) - 1ch) / 2.0);
|
|
}
|
|
|
|
#ranges.flipped .range-interval-text-behind {
|
|
overflow-wrap: normal;
|
|
}
|
|
|
|
#ranges.not_flipped .range-position.range-use {
|
|
border-left: var(--range-instr-border) solid red;
|
|
}
|
|
|
|
#ranges.flipped .range-position.range-use {
|
|
border-top: var(--range-instr-border) solid red;
|
|
}
|
|
|
|
#ranges.not_flipped .range-block-border,
|
|
#ranges.not_flipped .range-block-border.range-position.range-interval-position:last-child {
|
|
border-right: var(--range-block-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-block-border,
|
|
#ranges.flipped .range-block-border.range-position.range-interval-position:last-child {
|
|
border-bottom: var(--range-block-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.not_flipped .range-block-border.range-position.range-interval-position {
|
|
border-right: none;
|
|
}
|
|
|
|
#ranges.flipped .range-block-border.range-position.range-interval-position {
|
|
border-bottom: none;
|
|
}
|
|
|
|
#ranges.not_flipped .range-instr-border,
|
|
#ranges.not_flipped .range-instr-border.range-position.range-interval-position:last-child {
|
|
border-right: var(--range-instr-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.flipped .range-instr-border,
|
|
#ranges.flipped .range-instr-border.range-position.range-interval-position:last-child {
|
|
border-bottom: var(--range-instr-border) solid rgb(109, 107, 107);
|
|
}
|
|
|
|
#ranges.not_flipped .range-instr-border.range-position.range-interval-position {
|
|
border-right: none;
|
|
}
|
|
|
|
#ranges.flipped .range-instr-border.range-position.range-interval-position {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.range-block-id.selected.focused:hover,
|
|
.range-instruction-id.selected.focused:hover,
|
|
.range-reg.selected.focused:hover,
|
|
.range-position.selected.focused:hover,
|
|
.focused:hover {
|
|
background-color: rgb(50, 158, 221);
|
|
}
|
|
|
|
.range,
|
|
.range-interval,
|
|
.range-interval-wrapper,
|
|
.range-positions {
|
|
white-space: nowrap;
|
|
display: inline-block;
|
|
}
|
|
|
|
.range-interval-wrapper,
|
|
.range-positions {
|
|
display: grid;
|
|
grid-gap: 0;
|
|
}
|
|
|
|
#ranges.not_flipped .range-instruction-ids,
|
|
#ranges.not_flipped .range-block-ids,
|
|
#ranges.not_flipped .range-positions {
|
|
grid-template-columns: repeat(var(--range-num-positions, 0), calc(var(--range-position-width) + var(--range-block-border)));
|
|
width: calc((var(--range-num-positions, 0) * (var(--range-position-width) + var(--range-block-border))) - var(--range-axes-border-buffer));
|
|
}
|
|
|
|
#ranges.flipped .range-instruction-ids,
|
|
#ranges.flipped .range-block-ids,
|
|
#ranges.flipped .range-positions {
|
|
writing-mode: vertical-lr;
|
|
grid-template-columns: repeat(var(--range-num-positions, 0), calc(var(--range-flipped-position-height) + var(--range-block-border)));
|
|
height: calc((var(--range-num-positions, 0) * (var(--range-flipped-position-height) + var(--range-block-border))) - var(--range-axes-border-buffer));
|
|
}
|
|
|
|
#ranges.flipped .range-instruction-id {
|
|
display: grid;
|
|
grid-gap: 0;
|
|
grid-template-rows: repeat(8, calc((var(--range-flipped-position-height) + var(--range-block-border)) / 2));
|
|
}
|
|
|
|
#ranges.flipped .range-instruction-id-number {
|
|
grid-row: 4 / 5;
|
|
height: 100%;
|
|
}
|
|
|
|
#ranges.flipped .range-block-id {
|
|
display: grid;
|
|
grid-gap: 0;
|
|
}
|
|
|
|
#ranges.flipped .range-block-id-number {
|
|
height: 100%;
|
|
}
|
|
|
|
#ranges.flipped .range-header-element {
|
|
writing-mode: horizontal-tb;
|
|
}
|
|
|
|
.range-interval {
|
|
background-color: rgb(153, 158, 168);
|
|
}
|
|
|
|
#ranges.flipped .range-interval {
|
|
display: block;
|
|
}
|
|
|
|
.range-hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
.range-positions-placeholder {
|
|
width: 100%;
|
|
border: var(--range-position-border) solid transparent;
|
|
color: transparent;
|
|
}
|
|
|
|
.range-background-canvas-div {
|
|
float: left;
|
|
position: absolute;
|
|
z-index: -1;
|
|
}
|
|
|
|
.range-background-div {
|
|
--range-position-border: 0px;
|
|
}
|