hikari-components 0.1.8

Core UI components (40+) for the Hikari design system
// packages/components/src/styles/components/card-vars.scss
// Layer2 - Card Component Variables
// 
// This file defines component-level CSS variables for the Card component.
// These variables can be overridden at runtime via AnimationBuilder.

// ============================================
// Base Card Variables
// ============================================

.hi-card {
  // ============================================
  // 1. Color System
  // ============================================
  
  // Text Colors
  --hi-card-title-color: var(--hi-color-text-primary);
  --hi-card-subtitle-color: var(--hi-color-text-secondary);
  --hi-card-body-color: var(--hi-color-text-primary);
  
  // Background Colors
  --hi-card-bg: var(--hi-color-surface);
  --hi-card-bg-header: transparent;
  --hi-card-bg-body: transparent;
  --hi-card-bg-footer: transparent;
  
  // Border Colors
  --hi-card-border-color: var(--hi-color-border, var(--hi-border, #C4D8DA));
  --hi-card-border-color-hover: var(--hi-glow-primary-sm, rgba(255, 179, 167, 0.25));
  --hi-card-divider-color: var(--hi-color-border);
  
  // Shadow
  --hi-card-shadow: 0 1px 3px var(--hi-black-10, rgba(0, 0, 0, 0.08)), 0 0 0 1px rgba(241, 245, 249, 0.5) inset;
  --hi-card-shadow-hover: 0 4px 12px var(--hi-black-15, rgba(0, 0, 0, 0.12));
  --hi-card-glow: var(--hi-glow-color);
  
  // ============================================
  // 2. Border Radius System
  // ============================================
  
  --hi-card-radius: var(--hi-radius-lg);
  
  // ============================================
  // 3. Animation System
  // ============================================
  
  --hi-card-duration: var(--hi-duration-normal);
  --hi-card-easing: var(--hi-ease-default);
  --hi-card-transition: all var(--hi-card-duration) var(--hi-card-easing);
  
  // ============================================
  // 4. Spacing System
  // ============================================
  
  --hi-card-padding: 1.25rem;
  --hi-card-padding-header: 1rem 1.25rem;
  --hi-card-padding-body: 1.25rem;
  --hi-card-padding-footer: 1rem 1.25rem;
  --hi-card-gap: 0.75rem;
  
  // ============================================
  // 5. Border System
  // ============================================
  
  --hi-card-border-width: 1px;
  --hi-card-border-style: solid;
  
  // ============================================
  // 6. Typography System
  // ============================================
  
  --hi-card-title-font-size: var(--hi-font-size-lg);
  --hi-card-title-font-weight: 600;
  --hi-card-subtitle-font-size: var(--hi-font-size-sm);
  --hi-card-body-font-size: var(--hi-font-size-sm);
  --hi-card-body-line-height: 1.6;
  
  // ============================================
  // 7. Blur System
  // ============================================
  
  --hi-card-blur: blur(4px);
}

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

.hi-card-sm {
  --hi-card-radius: var(--hi-radius-sm);
  --hi-card-padding: 1rem;
  --hi-card-padding-header: 0.75rem 1rem;
  --hi-card-padding-body: 0.75rem 1rem;
  --hi-card-padding-footer: 0.75rem 1rem;
  --hi-card-title-font-size: var(--hi-font-size-base);
}

.hi-card-md {
  --hi-card-radius: var(--hi-radius-md);
  --hi-card-padding: 1.25rem;
  --hi-card-padding-header: 1rem 1.25rem;
  --hi-card-padding-body: 1rem 1.25rem;
  --hi-card-padding-footer: 1rem 1.25rem;
  --hi-card-title-font-size: var(--hi-font-size-lg);
}

.hi-card-lg {
  --hi-card-radius: var(--hi-radius-lg);
  --hi-card-padding: 1.75rem;
  --hi-card-padding-header: 1.5rem 1.75rem;
  --hi-card-padding-body: 1.5rem 1.75rem;
  --hi-card-padding-footer: 1.5rem 1.75rem;
  --hi-card-title-font-size: var(--hi-font-size-xl);
}

// ============================================
// Variant: Bordered
// ============================================

.hi-card-bordered {
  --hi-card-border-width: 2px;
  --hi-card-shadow: 0 2px 4px var(--hi-black-20, rgba(0, 0, 0, 0.15)), 0 0 0 1px var(--hi-white-8, rgba(255, 255, 255, 0.08)) inset;
}

// ============================================
// Variant: Flat
// ============================================

.hi-card-flat {
  --hi-card-shadow: none;
  --hi-card-border-color: var(--hi-color-border);
}

// ============================================
// Variant: Hoverable
// ============================================

.hi-card-hoverable {
  --hi-card-border-color-hover: var(--hi-glow-primary-sm, rgba(255, 179, 167, 0.25));
}