orbital-core-components 0.1.1

Themed Orbital UI components for Leptos applications
Documentation
pub fn floating_button_styles() -> &'static str {
    r#".orbital-floating-button {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-sizing: border-box;
    font-family: var(--orb-type-family-sans);
    font-weight: var(--orb-type-weight-semibold);
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--orb-elev-raised-md);
    background-color: var(--orb-color-brand-bg);
    color: var(--orb-color-text-on-brand);
    padding: 0;
}

.orbital-floating-button:hover,
.orbital-floating-button:active {
    box-shadow: var(--orb-elev-floating);
}

.orbital-floating-button--primary {
    background-color: var(--orb-color-brand-bg);
    color: var(--orb-color-text-on-brand);
}

.orbital-floating-button--primary:hover,
.orbital-floating-button--primary:active {
    background-color: var(--orb-color-brand-bg-hover);
}

.orbital-floating-button--secondary {
    background-color: var(--orb-color-surface-canvas);
    color: var(--orb-color-text-primary);
}

.orbital-floating-button--secondary:hover,
.orbital-floating-button--secondary:active {
    background-color: var(--orb-color-surface-canvas-hover);
}

.orbital-floating-button--rounded {
    border-radius: var(--orb-radius-floating);
}

.orbital-floating-button--circular {
    border-radius: var(--orb-radius-circular);
}

.orbital-floating-button--extended {
    border-radius: var(--orb-radius-floating);
    padding: 0 var(--orb-space-inline-lg);
    gap: var(--orb-space-inline-snudge);
}

.orbital-floating-button--small:not(.orbital-floating-button--extended) {
    width: 40px;
    height: 40px;
    min-width: 40px;
}

.orbital-floating-button--medium:not(.orbital-floating-button--extended) {
    width: 48px;
    height: 48px;
    min-width: 48px;
}

.orbital-floating-button--large:not(.orbital-floating-button--extended) {
    width: 56px;
    height: 56px;
    min-width: 56px;
}

.orbital-floating-button--small.orbital-floating-button--extended {
    min-height: 40px;
    font-size: var(--orb-type-size-xs);
}

.orbital-floating-button--medium.orbital-floating-button--extended {
    min-height: 48px;
    font-size: var(--orb-type-size-sm);
}

.orbital-floating-button--large.orbital-floating-button--extended {
    min-height: 56px;
    font-size: var(--orb-type-size-sm);
}

.orbital-floating-button--fixed {
    position: fixed;
    z-index: 1000;
}

.orbital-floating-button--disabled,
.orbital-floating-button--disabled:hover,
.orbital-floating-button--disabled:active {
    cursor: not-allowed;
    color: var(--orb-color-text-disabled);
    background-color: var(--orb-color-surface-disabled);
    box-shadow: none;
}

.orbital-floating-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    pointer-events: none;
}

.orbital-floating-button__icon svg {
    pointer-events: none;
}

.orbital-floating-button svg {
    pointer-events: none;
}

.orbital-floating-button--small .orbital-floating-button__icon {
    font-size: 20px;
}

.orbital-floating-button--large .orbital-floating-button__icon {
    font-size: 28px;
}

.orbital-floating-button--extended .orbital-floating-button__icon {
    margin-inline-end: var(--orb-space-inline-xs);
}

.orbital-back-to-top.fade-in-scale-up-transition-leave-active {
    transform-origin: inherit;
    transition: opacity 0.2s cubic-bezier(0.4, 0, 1, 1),
        transform 0.2s cubic-bezier(0.4, 0, 1, 1);
}

.orbital-back-to-top.fade-in-scale-up-transition-enter-active {
    transform-origin: inherit;
    transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1),
        transform 0.2s cubic-bezier(0, 0, 0.2, 1);
}

.orbital-back-to-top.fade-in-scale-up-transition-enter-from,
.orbital-back-to-top.fade-in-scale-up-transition-leave-to {
    opacity: 0;
    transform: scale(0.9);
}

.orbital-back-to-top.fade-in-scale-up-transition-leave-from,
.orbital-back-to-top.fade-in-scale-up-transition-enter-to {
    opacity: 1;
    transform: scale(1);
}
"#
}