feat(foundry): close the operational map data loop
This commit is contained in:
+186
-137
@@ -603,126 +603,6 @@ textarea {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__grid {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
opacity: 0.32;
|
||||
background-image:
|
||||
radial-gradient(circle, color-mix(in srgb, var(--catalog-accent) 54%, transparent) 1px, transparent 1.4px),
|
||||
linear-gradient(color-mix(in srgb, var(--nodedc-text-muted) 18%, transparent) 1px, transparent 1px),
|
||||
linear-gradient(90deg, color-mix(in srgb, var(--nodedc-text-muted) 18%, transparent) 1px, transparent 1px);
|
||||
background-position: 0 0, center, center;
|
||||
background-size: 1.25rem 1.25rem, 5rem 5rem, 5rem 5rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__geometry {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__zone {
|
||||
fill: color-mix(in srgb, var(--catalog-accent) 18%, transparent);
|
||||
stroke: color-mix(in srgb, var(--catalog-accent) 70%, transparent);
|
||||
stroke-width: 0.45;
|
||||
vector-effect: non-scaling-stroke;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__track,
|
||||
.catalog-map-fixture__route,
|
||||
.catalog-map-fixture__trace {
|
||||
fill: none;
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
vector-effect: non-scaling-stroke;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__track { stroke: color-mix(in srgb, #8f72dc 74%, var(--nodedc-text-primary)); stroke-width: 2; }
|
||||
.catalog-map-fixture__route { stroke: var(--catalog-accent); stroke-width: 4; }
|
||||
.catalog-map-fixture__trace { stroke: color-mix(in srgb, var(--catalog-accent) 58%, transparent); stroke-width: 2; stroke-dasharray: 5 5; }
|
||||
|
||||
.catalog-map-fixture__place {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
translate: -50% -50%;
|
||||
color: color-mix(in srgb, var(--nodedc-text-primary) 72%, transparent);
|
||||
font-size: clamp(1.2rem, 2.4vw, 2.35rem);
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.16em;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__entity {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
min-width: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: var(--nodedc-text-primary);
|
||||
translate: -1.35rem -50%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__pin {
|
||||
display: grid;
|
||||
width: 2.35rem;
|
||||
height: 2.35rem;
|
||||
flex: 0 0 auto;
|
||||
place-items: center;
|
||||
border: 0.2rem solid color-mix(in srgb, var(--nodedc-text-primary) 84%, transparent);
|
||||
border-radius: 50%;
|
||||
background: var(--catalog-accent);
|
||||
color: var(--nodedc-text-on-accent);
|
||||
box-shadow: 0 0 0 0.45rem color-mix(in srgb, var(--catalog-accent) 18%, transparent);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__entity[data-kind="station"] .catalog-map-fixture__pin {
|
||||
background: color-mix(in srgb, #8f72dc 82%, var(--nodedc-panel-item-bg));
|
||||
}
|
||||
|
||||
.catalog-map-fixture__entity[data-active] .catalog-map-fixture__pin {
|
||||
box-shadow: 0 0 0 0.7rem color-mix(in srgb, var(--catalog-accent) 26%, transparent), 0 0 1.6rem color-mix(in srgb, var(--catalog-accent) 58%, transparent);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__label {
|
||||
max-width: 12rem;
|
||||
overflow: hidden;
|
||||
border-radius: var(--nodedc-radius-circle);
|
||||
background: var(--nodedc-panel-item-bg);
|
||||
padding: 0.5rem 0.72rem;
|
||||
box-shadow: var(--nodedc-glass-control-shadow);
|
||||
font-size: var(--nodedc-font-size-xs);
|
||||
font-weight: 700;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__status {
|
||||
position: absolute;
|
||||
z-index: 5;
|
||||
top: 1rem;
|
||||
left: 1rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
border-radius: var(--nodedc-radius-circle);
|
||||
background: var(--nodedc-panel-item-bg);
|
||||
padding: 0.5rem 0.8rem;
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: var(--nodedc-font-size-xs);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__status span {
|
||||
color: var(--nodedc-status-success);
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__actions {
|
||||
position: absolute;
|
||||
z-index: 8;
|
||||
@@ -734,15 +614,16 @@ textarea {
|
||||
|
||||
.catalog-map-fixture__actions .nodedc-icon-button,
|
||||
.catalog-map-fixture__toolbar .nodedc-icon-button {
|
||||
border: 1px solid var(--nodedc-glass-outline);
|
||||
background: color-mix(in srgb, var(--nodedc-glass-control-bg) 76%, transparent);
|
||||
border: 0;
|
||||
background: var(--nodedc-map-glass-bg);
|
||||
color: var(--nodedc-map-glass-text);
|
||||
box-shadow: var(--nodedc-glass-control-shadow);
|
||||
backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
}
|
||||
|
||||
.catalog-map-fixture__actions .nodedc-icon-button:hover,
|
||||
.catalog-map-fixture__toolbar .nodedc-icon-button:hover {
|
||||
background: var(--nodedc-glass-control-hover);
|
||||
background: var(--nodedc-map-glass-hover);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__actions .nodedc-icon-button[data-active],
|
||||
@@ -753,21 +634,46 @@ textarea {
|
||||
}
|
||||
|
||||
.catalog-map-fixture__layers {
|
||||
position: absolute;
|
||||
z-index: 8;
|
||||
top: 4.8rem;
|
||||
right: 1rem;
|
||||
display: grid;
|
||||
width: min(20rem, calc(100% - 2rem));
|
||||
gap: 0.55rem;
|
||||
box-shadow: var(--nodedc-glass-dropdown-shadow);
|
||||
--nodedc-radius-modal: 1.45rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__layers-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 0.75rem;
|
||||
.catalog-map-fixture__map-glass-window,
|
||||
.catalog-map-fixture__map-settings-window {
|
||||
--nodedc-canvas: #111216;
|
||||
--nodedc-text-primary: rgba(13, 14, 17, 0.96);
|
||||
--nodedc-text-secondary: rgba(13, 14, 17, 0.72);
|
||||
--nodedc-text-muted: rgba(13, 14, 17, 0.54);
|
||||
--nodedc-field-bg: rgba(255, 255, 255, 0.88);
|
||||
--nodedc-glass-control-bg: rgba(255, 255, 255, 0.78);
|
||||
--nodedc-glass-control-hover: rgba(255, 255, 255, 0.92);
|
||||
--nodedc-glass-control-active: rgba(255, 255, 255, 0.96);
|
||||
--nodedc-glass-control-active-text: rgba(8, 8, 10, 0.96);
|
||||
background: var(--nodedc-map-glass-bg);
|
||||
color: var(--nodedc-text-primary);
|
||||
box-shadow: var(--nodedc-glass-dropdown-shadow);
|
||||
backdrop-filter: blur(var(--nodedc-blur-modal)) saturate(128%);
|
||||
-webkit-backdrop-filter: blur(var(--nodedc-blur-modal)) saturate(128%);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__map-glass-window .nodedc-workspace-window__action,
|
||||
.catalog-map-fixture__map-settings-window .nodedc-window__close {
|
||||
background: rgba(255, 255, 255, 0.24);
|
||||
color: rgba(255, 255, 255, 0.94);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__map-glass-window .nodedc-workspace-window__action:hover,
|
||||
.catalog-map-fixture__map-settings-window .nodedc-window__close:hover {
|
||||
background: rgba(255, 255, 255, 0.42);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__layers-content {
|
||||
display: grid;
|
||||
gap: 0.55rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__layers .nodedc-workspace-window__body {
|
||||
padding-top: 0.35rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__layers .nodedc-checker {
|
||||
@@ -799,13 +705,140 @@ textarea {
|
||||
display: flex;
|
||||
gap: 0.35rem;
|
||||
border-radius: var(--nodedc-radius-circle);
|
||||
background: color-mix(in srgb, var(--nodedc-glass-control-bg) 76%, transparent);
|
||||
background: var(--nodedc-map-glass-bg);
|
||||
padding: 0.4rem;
|
||||
translate: -50% 0;
|
||||
backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
box-shadow: var(--nodedc-glass-dropdown-shadow);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu {
|
||||
display: grid;
|
||||
max-height: min(60vh, 28rem);
|
||||
overflow: auto;
|
||||
border-radius: 1rem;
|
||||
padding: 0.48rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-list,
|
||||
.catalog-map-fixture__objects-menu-head,
|
||||
.catalog-map-fixture__objects-menu-item {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-list {
|
||||
gap: 0.24rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-head {
|
||||
gap: 0.12rem;
|
||||
padding: 0.48rem 0.58rem 0.55rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-head small,
|
||||
.catalog-map-fixture__objects-menu-item small,
|
||||
.catalog-map-fixture__objects-menu-empty {
|
||||
color: var(--nodedc-map-glass-text-muted);
|
||||
font-size: var(--nodedc-font-size-xs);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-item {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
gap: 0.16rem;
|
||||
border: 0;
|
||||
border-radius: 0.78rem;
|
||||
background: transparent;
|
||||
padding: 0.64rem 0.7rem;
|
||||
color: var(--nodedc-map-glass-text);
|
||||
font: inherit;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-item:hover,
|
||||
.catalog-map-fixture__objects-menu-item:focus-visible,
|
||||
.catalog-map-fixture__objects-menu-item[data-open] {
|
||||
background: rgb(255 255 255 / 0.16);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-item > span {
|
||||
overflow: hidden;
|
||||
font-size: var(--nodedc-font-size-sm);
|
||||
font-weight: 760;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__objects-menu-empty {
|
||||
padding: 0.72rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__subject-window {
|
||||
--nodedc-radius-modal: 1.45rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__subject-window .nodedc-workspace-window__body {
|
||||
padding: 0.42rem 0.65rem 0.68rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filters,
|
||||
.catalog-map-fixture__target-filters section {
|
||||
display: grid;
|
||||
gap: 0.38rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filter-list {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
gap: 0.36rem;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filter-list button {
|
||||
display: inline-flex;
|
||||
width: 100%;
|
||||
min-height: 2.05rem;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 0.75rem;
|
||||
border: 0;
|
||||
border-radius: var(--nodedc-radius-circle);
|
||||
background: rgba(255, 255, 255, 0.72);
|
||||
padding: 0.42rem 0.72rem;
|
||||
color: rgba(8, 8, 10, 0.88);
|
||||
font: inherit;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filter-list button > span {
|
||||
margin-left: auto;
|
||||
color: rgba(8, 8, 10, 0.96);
|
||||
font-weight: 800;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filter-list button:hover,
|
||||
.catalog-map-fixture__target-filter-list button[data-active] {
|
||||
background: rgba(255, 255, 255, 0.96);
|
||||
color: rgba(8, 8, 10, 0.96);
|
||||
}
|
||||
|
||||
.catalog-map-fixture__target-filter-list button:disabled {
|
||||
cursor: default;
|
||||
opacity: 0.55;
|
||||
}
|
||||
|
||||
.catalog-map-inspector__style {
|
||||
display: grid;
|
||||
gap: 0.5rem;
|
||||
border-top: 1px solid color-mix(in srgb, var(--nodedc-glass-outline) 44%, transparent);
|
||||
padding-top: 0.65rem;
|
||||
}
|
||||
|
||||
.catalog-map-inspector__note {
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: var(--nodedc-font-size-xs);
|
||||
@@ -1192,6 +1225,22 @@ textarea {
|
||||
gap: 1.25rem;
|
||||
}
|
||||
|
||||
.catalog-status-library {
|
||||
display: grid;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.catalog-toast-library-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.7rem;
|
||||
}
|
||||
|
||||
.catalog-toast-library-grid .nodedc-toast {
|
||||
width: auto;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.catalog-modal-group {
|
||||
display: grid;
|
||||
gap: 0.65rem;
|
||||
|
||||
Reference in New Issue
Block a user