mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
4fa3b2673e
Allows the tree visualizer to display a sublabel for each node. Used by the injector tree to display provider count for each injector. PR Close #63632
144 lines
2.8 KiB
SCSS
144 lines
2.8 KiB
SCSS
@use '../../../styles/typography';
|
|
|
|
:host {
|
|
display: block;
|
|
height: 100%;
|
|
|
|
svg {
|
|
@extend %body-medium-01;
|
|
cursor: grab;
|
|
|
|
&.panning {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
::ng-deep {
|
|
.legend {
|
|
background: var(--primary-contrast);
|
|
}
|
|
|
|
.sub-label {
|
|
background-color: #fff;
|
|
padding: 1px 4px;
|
|
bottom: -8px;
|
|
right: -2px;
|
|
font-size: 14px;
|
|
position: absolute;
|
|
border-radius: 50px;
|
|
color: #000;
|
|
outline: 1px solid #000;
|
|
}
|
|
|
|
.arrow {
|
|
fill: var(--full-contrast);
|
|
}
|
|
|
|
.legend-router-tree {
|
|
fill: var(--full-contrast) !important;
|
|
}
|
|
|
|
.link {
|
|
stroke: var(--quaternary-contrast);
|
|
stroke-width: 3px;
|
|
fill: none;
|
|
|
|
&.highlighted {
|
|
stroke: var(--blue-02);
|
|
}
|
|
}
|
|
|
|
.node-wrapper {
|
|
overflow: visible;
|
|
}
|
|
|
|
.node {
|
|
cursor: pointer;
|
|
border: 1px solid var(--quaternary-contrast);
|
|
background: white;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
color: black;
|
|
font-size: 16px;
|
|
box-sizing: border-box;
|
|
border-radius: 2px;
|
|
border-style: solid;
|
|
border-width: 2px;
|
|
font-weight: 300;
|
|
|
|
&.node-environment {
|
|
border: 1px solid var(--red-05);
|
|
background: var(--red-06);
|
|
|
|
&:hover {
|
|
background: var(--red-05);
|
|
}
|
|
}
|
|
|
|
&.node-imported-module {
|
|
border-color: var(--purple-02);
|
|
background: var(--purple-03);
|
|
|
|
&:hover {
|
|
background: var(--purple-02);
|
|
}
|
|
}
|
|
|
|
&.node-lazy {
|
|
border-color: var(--blue-02);
|
|
background: var(--blue-03);
|
|
|
|
&:hover {
|
|
background: var(--blue-02);
|
|
}
|
|
}
|
|
|
|
&.node-element {
|
|
border-color: var(--green-02);
|
|
background: var(--green-03);
|
|
|
|
&:hover {
|
|
background: var(--green-02);
|
|
}
|
|
}
|
|
|
|
&.node-null {
|
|
border: 1px solid var(--quaternary-contrast);
|
|
background: white;
|
|
|
|
&:hover {
|
|
color: black;
|
|
}
|
|
}
|
|
|
|
&.node-search {
|
|
outline: 4px solid
|
|
color-mix(in srgb, var(--quaternary-contrast) 80%, var(--full-contrast) 20%);
|
|
}
|
|
|
|
&.node-faded {
|
|
opacity: 0.3;
|
|
}
|
|
|
|
&.highlighted,
|
|
&.highlighted:hover {
|
|
background: var(--blue-02);
|
|
border-color: white;
|
|
color: white;
|
|
}
|
|
|
|
&.selected,
|
|
&.selected:hover {
|
|
color: var(--blue-02);
|
|
background: white;
|
|
border-width: 3px;
|
|
border-color: var(--blue-02);
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|