Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/frontend/packages/swarm-ui/src/pages/notifications/NotificationsPage.css

274 lines
4.1 KiB
CSS

/* NotificationsPage — the flows drawn as indented trees. */
.notify-flows {
display: flex;
flex-direction: column;
gap: 0.75em;
}
.notify-flow-head {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 0.5em;
}
.notify-flow-name {
font-weight: 600;
}
.notify-flow-tree {
margin: 0.4em 0 0;
padding: 0;
list-style: none;
font-size: 0.9em;
}
.notify-node {
display: flex;
gap: 0.5em;
padding: 0.1em 0;
}
.notify-node-kind {
flex: none;
min-width: 3.5em;
color: var(--muted);
}
.notify-node-text {
overflow-wrap: anywhere;
}
.notify-off {
opacity: 0.6;
}
/* The flow list's new-flow row and each flow's actions. */
.notify-new {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
gap: 0.5em;
}
.notify-flow-head > * + * {
margin-left: 0.5em;
}
/* FlowEditorPage — the head row, the canvas and the inspector beside it. */
.notify-editor-head {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
gap: 0.75em;
margin-bottom: 0.5em;
}
.notify-editor-body {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: 1em;
}
.notify-canvas-wrap {
flex: 1 1 24em;
min-width: 0;
}
.notify-palette {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5em;
margin-bottom: 0.5em;
}
.notify-chip {
padding: 0.2em 0.7em;
border: 1.5px solid var(--border);
border-radius: 999px;
background: var(--bg-elev);
color: var(--fg);
font: inherit;
cursor: grab;
touch-action: none;
}
.notify-chip-match {
border-color: var(--purple);
}
.notify-chip-todo {
border-color: var(--green);
}
.notify-chip-request_reviewer {
border-color: var(--green);
}
.notify-ghost {
position: fixed;
z-index: 10;
padding: 0.2em 0.6em;
border: 1.5px solid var(--fg);
border-radius: 6px;
background: var(--bg-elev);
color: var(--fg);
pointer-events: none;
}
.notify-sr {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
.notify-canvas {
max-height: 70vh;
user-select: none;
overflow: auto;
border: 1px solid var(--border);
border-radius: 6px;
background: var(--bg);
}
.notify-edge {
fill: none;
stroke: var(--muted);
stroke-width: 1.5;
}
.notify-box {
cursor: grab;
touch-action: none;
}
.notify-box-source {
cursor: pointer;
}
.notify-box-carried {
opacity: 0.45;
}
.notify-box.notify-box-target rect {
stroke: var(--green);
stroke-width: 3;
}
.notify-box.notify-box-refused rect {
stroke: var(--red);
stroke-width: 3;
stroke-dasharray: 5 3;
}
.notify-box rect {
fill: var(--bg-elev);
stroke: var(--border);
stroke-width: 1.5;
}
.notify-box-source rect {
stroke: var(--blue);
}
.notify-box-match rect {
stroke: var(--purple);
}
.notify-box-todo rect,
.notify-box-request_reviewer rect {
stroke: var(--green);
}
.notify-box:focus {
outline: none;
}
.notify-box:focus rect,
.notify-box-selected rect {
stroke: var(--fg);
stroke-width: 2.5;
}
.notify-box text {
fill: var(--fg);
font-size: 12px;
pointer-events: none;
}
.notify-box .notify-box-kind {
fill: var(--muted);
font-size: 10px;
}
.notify-inspector {
flex: 0 1 22em;
min-width: 16em;
}
.notify-inspector fieldset {
margin: 0 0 0.75em;
}
.notify-condition {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
gap: 0.5em;
margin-bottom: 0.4em;
}
.notify-inspector-actions {
display: flex;
flex-wrap: wrap;
gap: 0.5em;
margin-bottom: 0.75em;
}
.notify-node-id,
.notify-hint {
color: var(--muted);
font-size: 0.85em;
}
.notify-stale,
.notify-notice {
margin-bottom: 0.5em;
padding: 0.4em 0.6em;
border: 1px solid var(--red);
border-radius: 6px;
}
.notify-name {
flex: 0 1 24em;
}
/* The dry run's counts beside each node, and the router's "not available". */
.notify-node-hits {
margin-left: auto;
flex: none;
color: var(--muted);
font-variant-numeric: tabular-nums;
}
.notify-dry-run {
margin: 0;
color: var(--muted);
font-size: 0.9em;
}
.notify-unavailable {
margin: 0;
color: var(--muted);
}
.notify-failed {
color: var(--red);
}