[data-rs-icon] {
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--icon-color, currentColor);
vertical-align: var(--icon-vertical-align);
}
[data-rs-icon][data-rs-size="sm"] {
width: var(--icon-size-sm);
height: var(--icon-size-sm);
}
[data-rs-icon][data-rs-size="md"] {
width: var(--icon-size-md);
height: var(--icon-size-md);
}
[data-rs-icon][data-rs-size="lg"] {
width: var(--icon-size-lg);
height: var(--icon-size-lg);
}
[data-rs-icon][data-rs-variant="default"] { color: var(--icon-color); }
[data-rs-icon][data-rs-variant="muted"] { color: var(--icon-color-muted); }
[data-rs-icon][data-rs-variant="primary"] { color: var(--icon-color-primary); }
[data-rs-icon][data-rs-variant="destructive"] { color: var(--icon-color-destructive); }
[data-rs-icon][data-rs-variant="success"] { color: var(--icon-color-success); }
[data-rs-icon][data-rs-variant="warning"] { color: var(--icon-color-warning); }
[data-rs-icon-inner] {
display: flex;
width: 100%;
height: 100%;
}
[data-rs-icon-inner] svg {
width: 100%;
height: 100%;
stroke-width: var(--icon-stroke-width);
}
@keyframes icon-spin {
to { transform: rotate(360deg); }
}
[data-rs-icon][data-rs-spin] [data-rs-icon-inner] {
animation: icon-spin var(--motion-duration-slow) linear infinite;
}
[data-rs-icon][data-rs-state~="disabled"] {
color: var(--icon-color-disabled);
pointer-events: none;
}