re-frame-10x/resources/day8/re_frame/trace/main.less

561 lines
10 KiB
Plaintext

@background-blue: #e7f1ff;
@background-gray: #a8a8a8;
@background-gray-hint: #fafafa;
@dark-green: #008766;
@dark-gold: #A66900;
@dark-purple: #762cff;
@dark-blue: #284694;
@dark-gray: gray;
@dark-skyblue: #007CC2;
@medium-gray: #999;
@light-purple: #616cdb;
@light-blue: lightblue;
@light-gray: #efeef1;
@yellow: yellow;
@text-color: #222;
@text-color-muted: #8f8f8f;
#--re-frame-trace-- {
all: initial;
* {
all: unset;
}
/*! abridged from normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
line-height: 1.15;
font-size: 14px;
div,
nav {
display: block;
}
pre {
font-family: monospace, monospace;
font-size: 1em;
}
/* Text-level semantics
========================================================================== */
a, a:visited {
color: @text-color;
border-bottom: 1px #333 dotted;
}
a:hover, a:focus {
border-bottom: 1px #666666 solid;
}
code {
font-family: monospace, monospace;
font-size: 1em;
}
small {
font-size: 80%;
}
// Prevent `sub` and `sup` elements from affecting the line height
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
img {
border-style: none;
}
/* Forms
========================================================================== */
option {
display: block;
}
button,
input,
optgroup,
select,
textarea {
font-family: "courier new", monospace;
font-size: 100%;
// line-height: 1.15;
padding: 3px 3px 1px 3px;
border: 1px solid @medium-gray;
}
button, // Show the overflow in IE.
input { // Show the overflow in Edge.
overflow: visible;
}
button,
select {
&:focus {
outline: @medium-gray dotted 1px;
}
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
// Restore the focus styles unset by the previous rule.
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
textarea {
overflow: auto; // Remove the default vertical scrollbar in IE.
}
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; // IE 10-
}
// Correct the cursor style of increment and decrement buttons in Chrome.
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield; // Correct the odd appearance in Chrome and Safari.
outline-offset: -2px; // Correct the outline style in Safari.
}
::-webkit-file-upload-button {
-webkit-appearance: button; // Correct the inability to style clickable types in iOS and Safari.
}
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}
li {
display: block;
}
button {
overflow: visible;
border: 0;
-webkit-font-smoothing: inherit;
letter-spacing: inherit;
background: none;
cursor: pointer;
}
img {
max-width: 100%;
height: auto;
border: 0;
}
// tables
table,
thead,
tbody,
tfoot,
tr,
th,
td {
display: block;
width: auto;
height: auto;
margin: 0;
padding: 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
border-color: inherit;
vertical-align: inherit;
text-align: left;
font-weight: inherit;
-webkit-border-horizontal-spacing: 0;
-webkit-border-vertical-spacing: 0;
}
table {
display: table;
}
th, td {
display: table-cell;
padding: 0 5px;
}
tr {
display: table-row;
}
thead {
display: table-header-group;
}
tbody {
display: table-row-group;
}
th, td {
display: table-cell;
}
tr {
display: table-row;
}
/* re-frame-trace styles
========================================================================== */
background: white;
font-family: 'courier new', monospace;
color: @text-color;
/* mixins */
.label {
color: @text-color-muted;
background: @background-gray-hint;
border: 1px solid @light-gray;
font-size: 0.9em;
margin: 10px 5px;
color: @text-color;
}
table {
width: 100%;
font-size: 14px;
}
tbody {
color: @text-color;
}
thead {
font-weight: bold;
}
tr {
th, td {
padding: 6px;
}
th:first-child {
text-align: right;
}
&.trace--trace {
}
&:nth-child(even) {
background: @background-gray-hint;
}
&.trace--sub-create {
.trace--op{
color: @dark-green;
}
}
&.trace--sub-run {
.trace--op{
color: @dark-purple;
}
}
&.trace--event {
.trace--op{
color: @dark-gold;
}
}
&.trace--render {
.trace--op{
color: @dark-skyblue;
}
}
&.trace--fsm-trigger {
.trace--op{
color: @dark-blue;
}
}
&.trace--details {
color: @text-color-muted;
&:hover,
&:focus {
color: darken(@text-color-muted, 20);
.trace--details-icon:before {
color: @text-color;
cursor: pointer;
content: "🖶";
}
}
&:focus {
.trace--details-tags-text {
border-left: 1px dotted @medium-gray;
padding-left: 7px;
}
}
}
td {
&.trace--toggle {
color: @background-gray;
padding: 0;
text-align: right;
button:focus {
color: @text-color;
outline: none;
}
}
&.trace--op {
color: @text-color-muted;
padding-left: 0;
white-space: nowrap;
}
&.trace--op-string {
word-break: break-all;
}
&.trace--details-tags {
padding: 0;
cursor: pointer;
.trace--details-tags-text {
padding: 8px 5px;
padding-left: 8px;
margin-bottom: 5px;
}
}
&.trace--meta {
color: @text-color-muted;
white-space: nowrap;
text-align: right;
}
.op-string {
cursor: pointer;
padding: 1px;
&:hover {
border-bottom: 1px dotted @light-purple;
padding-bottom: 0;
}
}
}
&:hover {
.trace--toggle {
color: @text-color;
}
}
th, td {
&:first-child {
padding-left: 7px;
}
&:last-child {
padding-right: 7px;
}
}
}
.button {
padding: 5px 5px 3px;
margin: 5px;
border-radius: 2px;
cursor: pointer;
}
.text-button {
border-bottom: 1px dotted #888;
font-weight: normal;
&:focus {
outline: @medium-gray dotted 1px;
}
}
.icon-button {
font-size: 10px;
}
button.tab {
}
.tab {
background: transparent;
border-radius: 0;
text-transform: uppercase;
font-family: monospace;
letter-spacing: 2px;
margin-bottom: 0;
padding-bottom: 4px;
vertical-align: bottom;
}
.tab.active {
background: transparent;
border-bottom: 3px solid @dark-gray;
border-radius: 0;
padding-bottom: 1px;
}
ul.filter-items,
.subtrees {
list-style-type: none;
margin: 0 5px;
.filter-item,
.subtree-button {
.label;
display: inline-block;
.filter-item-string {
color: @text-color;
background: @yellow;
}
.subtree-button-string {
color: @text-color;
}
&:hover,
&:focus {
text-decoration: line-through;
}
}
}
.icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
}
.icon-remove {
margin-left: 10px;
}
.filter {
box-shadow: -7px 15px 6px -15px rgba(0, 0, 0, 0.3);
z-index: 1001;
.filter-control {
select {
border: none;
border-bottom: 1px solid @text-color-muted;
background: white;
display: inline-block;
font-family: 'courier new', monospace;
font-size: 1em;
padding: 2px 0 0 0;
-moz-appearance: menulist;
-webkit-appearance: menulist;
appearance: menulist;
}
.filter-control-input {
border-bottom: 1px solid @text-color-muted;
display: inline-block;
&:before {
display: inline-block;
color: @text-color-muted;
content: "⚲";
transform: rotate(-45deg);
}
input {
border: none;
}
}
}
}
.nav {
background: @light-gray;
color: @text-color;
}
.panel-content-top {
}
.panel-content-scrollable {
padding-top: 10px;
flex: 1 1 auto;
height: 100%;
overflow: auto;
padding-top: 10px;
z-index: 1000;
}
.tab-contents {
display: flex;
flex: 1 1 auto;
flex-direction: column;
}
.filter-control {
margin: 10px 0 0 10px;
}
.filter-items-count {
&.active {
background: @yellow;
&:hover {
text-decoration: line-through;
}
}
}
.filter-fields {
margin-top: 10px;
}
.filter-category {
display: inline-block;
background: #efeef1;
cursor: pointer;
padding: 5px;
margin: 5px;
opacity: 0.3;
}
.active {
opacity: 1;
}
/* app-state data viewer
========================================================================== */
.re-frame-trace--object {
.toggle {
color: @text-color-muted;
cursor: pointer;
}
& > span {
vertical-align: text-top;
}
}
.expansion-button {
font-family: sans-serif;
width: 16px;
}
}