hikari-components 0.2.1

Core UI components (40+) for the Hikari design system
// Icon component styles
//
// These styles enable icons to inherit theme colors and support
// custom color overrides.

// ============================================
// Base Icon Styles
// ============================================

.hikari-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  // Default: inherit text color from theme
  color: var(--hi-color-text-primary);

  // SVG inherits color; fill/stroke controlled by each icon's inline attributes
  svg {
    width: 100%;
    height: 100%;
    // MDI fill-based icons set fill="currentColor" in their SVG data
    // Lucide/Feather stroke-based icons set stroke="currentColor" + fill="none"
    // We must NOT override these here
  }
}

// ============================================
// Icon Size Variants
// ============================================

.hikari-icon-16 {
  width: 1rem;
  height: 1rem;
}

.hikari-icon-20 {
  width: 1.25rem;
  height: 1.25rem;
}

.hikari-icon-24 {
  width: 1.5rem;
  height: 1.5rem;
}

.hikari-icon-32 {
  width: 2rem;
  height: 2rem;
}

.hikari-icon-40 {
  width: 2.5rem;
  height: 2.5rem;
}

.hikari-icon-48 {
  width: 3rem;
  height: 3rem;
}

.hikari-icon-64 {
  width: 4rem;
  height: 4rem;
}

// ============================================
// Icon Color Variants
// ============================================

// Use theme primary color
.hikari-icon-primary {
  color: var(--hi-color-primary);
}

// Use theme secondary color
.hikari-icon-secondary {
  color: var(--hi-color-secondary);
}

// Use theme accent color
.hikari-icon-accent {
  color: var(--hi-color-accent);
}

// Use theme success color
.hikari-icon-success {
  color: var(--hi-color-success);
}

// Use theme warning color
.hikari-icon-warning {
  color: var(--hi-color-warning);
}

// Use theme danger color
.hikari-icon-danger {
  color: var(--hi-color-danger);
}

// Use secondary text color
.hikari-icon-muted {
  color: var(--hi-color-text-secondary);
}

// ============================================
// Transitions
// ============================================

.hikari-icon-transition {
  transition: color 150ms ease-in-out;
  
  svg path,
  svg circle,
  svg rect,
  svg ellipse,
  svg polygon,
  svg polyline,
  svg line {
    transition: fill 150ms ease-in-out, stroke 150ms ease-in-out;
  }
}