canonrs-server 0.1.0

CanonRS server-side rendering support
/* ═══════════════════════════════════════════════════════════════
   ICON — Family F Data tokens compliant
   ═══════════════════════════════════════════════════════════════ */

[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;
}