axonyx-ui 0.0.36

Foundry CSS, JavaScript helpers, and Axonyx-native .ax components for Axonyx UI.
Documentation
.ax-status-lamp {
    --ax-status-lamp-color: var(--ax-text-muted);

    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    min-height: 2.15rem;
    padding: 0.4rem 0.62rem;
    border: 1px solid color-mix(in srgb, var(--ax-status-lamp-color) 34%, var(--ax-border));
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent),
        color-mix(in srgb, var(--ax-surface) 76%, transparent);
    color: var(--ax-text);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 0 0 1px color-mix(in srgb, var(--ax-status-lamp-color) 10%, transparent);
}

.ax-status-lamp[data-tone='online'] {
    --ax-status-lamp-color: var(--ax-success);
}

.ax-status-lamp[data-tone='warning'] {
    --ax-status-lamp-color: var(--ax-warning);
}

.ax-status-lamp[data-tone='danger'] {
    --ax-status-lamp-color: var(--ax-danger);
}

.ax-status-lamp[data-tone='idle'] {
    --ax-status-lamp-color: var(--ax-cyan);
}

.ax-status-lamp__light {
    position: relative;
    flex: none;
    width: 0.72rem;
    height: 0.72rem;
    border: 1px solid color-mix(in srgb, var(--ax-status-lamp-color) 64%, black);
    border-radius: 999px;
    background:
        radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.95), transparent 18%),
        radial-gradient(circle at center, var(--ax-status-lamp-color), color-mix(in srgb, var(--ax-status-lamp-color) 54%, black));
    box-shadow:
        0 0 14px color-mix(in srgb, var(--ax-status-lamp-color) 48%, transparent),
        inset 0 -1px 3px rgba(0, 0, 0, 0.44);
}

.ax-status-lamp[data-tone='neutral'] .ax-status-lamp__light {
    opacity: 0.58;
}

.ax-status-lamp[data-pulse='true'] .ax-status-lamp__light::after {
    content: '';
    position: absolute;
    inset: -0.36rem;
    border: 1px solid var(--ax-status-lamp-color);
    border-radius: inherit;
    opacity: 0;
    animation: ax-status-lamp-pulse 1.7s ease-out infinite;
}

.ax-status-lamp__body {
    display: grid;
    gap: 0.04rem;
    min-width: 0;
}

.ax-status-lamp__label {
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: -0.01em;
    line-height: 1.15;
}

.ax-status-lamp__description {
    color: var(--ax-text-muted);
    font-size: 0.68rem;
    font-weight: 650;
    line-height: 1.2;
}

@keyframes ax-status-lamp-pulse {
    0% {
        transform: scale(0.74);
        opacity: 0.55;
    }

    100% {
        transform: scale(1.45);
        opacity: 0;
    }
}