Packages

Graph-based orchestration engine for AI agent pipelines in Elixir. Three-phase node lifecycle (prep → exec → post), composable middleware, checkpointing with resume/rewind, batch flows, OTP supervision, and adapters for Phoenix LiveView and Datastar SSE.

Current section

Files

Jump to
phlox priv static phlox-spinner.css
Raw

priv/static/phlox-spinner.css

.phlox-spinner {
--phlox-spinner-size: 24px;
--phlox-ring-outer: #00e676;
--phlox-ring-middle: #00c853;
--phlox-ring-inner: #00a844;
--phlox-ring-track: rgba(255, 255, 255, 0.15);
position: relative;
display: inline-block;
width: var(--phlox-spinner-size);
height: var(--phlox-spinner-size);
}
.phlox-ring {
position: absolute;
border-radius: 50%;
border-style: solid;
border-color: var(--phlox-ring-track);
box-sizing: border-box;
}
.phlox-ring-outer {
inset: 0;
border-width: 2.5px;
border-top-color: var(--phlox-ring-outer);
transform: rotate(0deg);
}
.phlox-ring-middle {
inset: 17%;
border-width: 2px;
border-top-color: var(--phlox-ring-middle);
transform: rotate(30deg);
}
.phlox-ring-inner {
inset: 29%;
border-width: 2px;
border-top-color: var(--phlox-ring-inner);
transform: rotate(60deg);
}
/* --- Spin animations --- */
@keyframes phlox-spin {
to {
transform: rotate(360deg);
}
}
@keyframes phlox-spin-reverse {
from {
transform: rotate(30deg);
}
to {
transform: rotate(-330deg);
}
}
@keyframes phlox-spin-offset {
from {
transform: rotate(60deg);
}
to {
transform: rotate(420deg);
}
}
.phlox-spinner.spinning .phlox-ring-outer {
animation: phlox-spin 0.7s linear infinite;
}
.phlox-spinner.spinning .phlox-ring-middle {
animation: phlox-spin-reverse 0.875s linear infinite;
}
.phlox-spinner.spinning .phlox-ring-inner {
animation: phlox-spin-offset 1.05s linear infinite;
}
/* --- Collapse & bloom transition --- */
@keyframes phlox-collapse-bloom {
0% {
transform: scale(1);
opacity: 1;
animation-timing-function: cubic-bezier(0.55, 0, 0.67, 0.02);
}
30% {
transform: scale(0);
opacity: 0;
animation-timing-function: linear;
}
55% {
transform: scale(0);
opacity: 0;
animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}
100% {
transform: scale(1);
opacity: 1;
}
}
.phlox-spinner.collapsing {
animation: phlox-collapse-bloom 0.8s forwards;
}