feat(foundry): close the operational map data loop
This commit is contained in:
@@ -85,6 +85,24 @@
|
||||
padding: var(--nodedc-space-6);
|
||||
}
|
||||
|
||||
.nodedc-map-glass,
|
||||
.nodedc-glass.nodedc-map-glass {
|
||||
border: 0;
|
||||
background: var(--nodedc-map-glass-bg);
|
||||
color: var(--nodedc-map-glass-text);
|
||||
box-shadow: var(--nodedc-glass-dropdown-shadow);
|
||||
backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
-webkit-backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
}
|
||||
|
||||
.nodedc-dropdown-surface.nodedc-map-glass {
|
||||
background: var(--nodedc-map-glass-bg);
|
||||
color: var(--nodedc-map-glass-text);
|
||||
box-shadow: var(--nodedc-glass-dropdown-shadow);
|
||||
backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
-webkit-backdrop-filter: blur(var(--nodedc-blur-control));
|
||||
}
|
||||
|
||||
.nodedc-button {
|
||||
--nodedc-button-bg: var(--nodedc-glass-control-bg);
|
||||
--nodedc-button-color: var(--nodedc-text-primary);
|
||||
@@ -2112,6 +2130,83 @@ textarea.nodedc-field__control {
|
||||
animation: nodedc-window-in var(--nodedc-duration-normal) var(--nodedc-ease-standard);
|
||||
}
|
||||
|
||||
.nodedc-toast-viewport {
|
||||
position: fixed;
|
||||
z-index: 1600;
|
||||
right: max(1rem, env(safe-area-inset-right));
|
||||
bottom: max(1rem, env(safe-area-inset-bottom));
|
||||
display: grid;
|
||||
width: min(24rem, calc(100vw - 2rem));
|
||||
gap: 0.55rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.nodedc-toast {
|
||||
position: relative;
|
||||
isolation: isolate;
|
||||
display: grid;
|
||||
min-height: 4.4rem;
|
||||
grid-template-columns: 2.45rem minmax(0, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 0.72rem;
|
||||
overflow: hidden;
|
||||
border-radius: var(--nodedc-radius-control);
|
||||
padding: 0.72rem;
|
||||
pointer-events: auto;
|
||||
animation: nodedc-window-in var(--nodedc-duration-normal) var(--nodedc-ease-standard);
|
||||
}
|
||||
|
||||
.nodedc-toast__icon {
|
||||
display: grid;
|
||||
width: 2.45rem;
|
||||
height: 2.45rem;
|
||||
place-items: center;
|
||||
border-radius: 50%;
|
||||
background: var(--nodedc-glass-control-bg);
|
||||
color: var(--nodedc-text-secondary);
|
||||
box-shadow: var(--nodedc-glass-control-shadow);
|
||||
}
|
||||
|
||||
.nodedc-toast[data-tone="success"] .nodedc-toast__icon { color: rgb(var(--nodedc-success-rgb)); }
|
||||
.nodedc-toast[data-tone="error"] .nodedc-toast__icon { color: rgb(var(--nodedc-danger-rgb)); }
|
||||
.nodedc-toast[data-tone="warning"] .nodedc-toast__icon { color: rgb(var(--nodedc-warning-rgb)); }
|
||||
.nodedc-toast[data-tone="info"] .nodedc-toast__icon { color: var(--nodedc-accent); }
|
||||
.nodedc-toast[data-tone="loading"] .nodedc-toast__icon svg { animation: nodedc-toast-spin 900ms linear infinite; }
|
||||
|
||||
.nodedc-toast__copy {
|
||||
display: grid;
|
||||
min-width: 0;
|
||||
gap: 0.18rem;
|
||||
}
|
||||
|
||||
.nodedc-toast__copy strong {
|
||||
color: var(--nodedc-text-primary);
|
||||
font-size: var(--nodedc-font-size-sm);
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
.nodedc-toast__copy small {
|
||||
color: var(--nodedc-text-muted);
|
||||
font-size: var(--nodedc-font-size-xs);
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.nodedc-toast__dismiss {
|
||||
display: grid;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
place-items: center;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
background: transparent;
|
||||
color: var(--nodedc-text-muted);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nodedc-toast__dismiss:hover { background: var(--nodedc-glass-control-hover); color: var(--nodedc-text-primary); }
|
||||
|
||||
@keyframes nodedc-toast-spin { to { transform: rotate(360deg); } }
|
||||
|
||||
.nodedc-window[data-size="sm"] {
|
||||
width: min(28rem, calc(100vw - 2rem));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user