@import "theme"; | |
$chevron-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' width='8'%3E%3Cline x1='2' y1='0' x2='6' y2='4' stroke='black'/%3E%3Cline x1='6' y1='4' x2='2' y2='8' stroke='black'/%3E%3C/svg%3E"); | |
.pf-tree { | |
font-family: $pf-font; | |
display: grid; | |
grid-template-columns: [left]auto [right]1fr; | |
row-gap: 5px; | |
.pf-tree-node { | |
display: contents; | |
&:hover { | |
background: $table-hover-color; | |
} | |
.pf-tree-left { | |
grid-column: left; | |
background: inherit; | |
min-width: max-content; | |
border-radius: $pf-border-radius 0 0 $pf-border-radius; | |
font-weight: bolder; | |
} | |
.pf-tree-right { | |
grid-column: right; | |
background: inherit; | |
padding: 0 0 0 15px; | |
border-radius: 0 $pf-border-radius $pf-border-radius 0; | |
word-break: break-all; | |
white-space: pre-wrap; | |
} | |
.pf-tree-gutter { | |
display: inline-flex; | |
position: relative; | |
width: 16px; | |
justify-content: center; | |
align-items: center; | |
} | |
&.pf-collapsed > .pf-tree-left > .pf-tree-gutter { | |
cursor: pointer; | |
&::after { | |
content: $chevron-svg; | |
} | |
} | |
&.pf-expanded > .pf-tree-left > .pf-tree-gutter { | |
cursor: pointer; | |
&::after { | |
content: $chevron-svg; | |
rotate: 90deg; | |
} | |
} | |
&.pf-loading > .pf-tree-left > .pf-tree-gutter { | |
&::after { | |
content: ""; | |
border: solid 1px lightgray; | |
border-top: solid 1px $pf-primary-background; | |
animation: pf-spinner-rotation 1s infinite linear; | |
width: 8px; | |
height: 8px; | |
border-radius: 50%; | |
} | |
} | |
.pf-tree-indent-gutter { | |
display: block; | |
position: relative; | |
} | |
&.pf-collapsed + .pf-tree-children { | |
display: none; | |
} | |
} | |
.pf-tree-children { | |
display: grid; | |
grid-column: 1 / span 2; | |
grid-template-columns: subgrid; | |
row-gap: 5px; | |
border-left: solid rgba(0, 0, 0, 0.2) 1px; | |
margin-left: 6px; | |
padding-left: 6px; | |
} | |
} |