mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:41:34 +08:00
56 lines
1.7 KiB
SCSS
56 lines
1.7 KiB
SCSS
ueb-link {
|
|
--ueb-from-input-coefficient: calc(2 * var(--ueb-from-input) - 1);
|
|
/* when from-y > to-y */
|
|
--ueb-y-opposite: clamp(0, var(--ueb-from-y) - var(--ueb-to-y) - 1, 1);
|
|
display: block;
|
|
min-width: calc(var(--ueb-link-min-width) * 1px);
|
|
/*
|
|
* This makes the element transparent to the hover events so that multiple path elements can stand nearby and have
|
|
* their hover behavior correctly firing.
|
|
*/
|
|
visibility: hidden;
|
|
}
|
|
|
|
ueb-link svg {
|
|
--ueb-y-opposite-coefficient: calc(2* var(--ueb-y-opposite) - 1);
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 1px;
|
|
transform: scaleY(calc(var(--ueb-y-opposite-coefficient) * var(--ueb-from-input-coefficient)));
|
|
}
|
|
|
|
ueb-link svg path {
|
|
visibility: visible;
|
|
stroke: var(--ueb-pin-color);
|
|
stroke-width: 1;
|
|
}
|
|
|
|
ueb-link.ueb-link-dragging svg path,
|
|
ueb-link svg g:hover path {
|
|
stroke-width: 5;
|
|
transition: stroke-width 0.8s;
|
|
}
|
|
|
|
ueb-link-message {
|
|
display: block;
|
|
visibility: visible;
|
|
position: absolute;
|
|
top: calc(100% * (1 - var(--ueb-y-opposite)) + 22px);
|
|
left: calc(
|
|
/* If originates from an output pin, start with 100% */
|
|
(1 - var(--ueb-from-input)) * 100%
|
|
/* If originates from an input pin, then sum, otherwise subtract */
|
|
+ (var(--ueb-from-input-coefficient)) * var(--ueb-start-percentage)
|
|
/* Fixed offset */
|
|
+ 15px);
|
|
border: 1px solid #000;
|
|
padding: 4px 8px;
|
|
border-radius: 2px;
|
|
background: linear-gradient(to bottom, #2a2a2a 0, #151515 50%, #2a2a2a 100%);
|
|
color: var(--ueb-pin-dim-color);
|
|
white-space: nowrap;
|
|
z-index: 1000000;
|
|
} |