hikari-components 0.2.0

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

// ============================================
// Base Input Variables
// ============================================

.hi-input {
  // ============================================
  // 1. Color System
  // ============================================
  
  // Text Colors
  --hi-input-text-color: var(--hi-color-text-primary);
  --hi-input-text-color-disabled: var(--hi-color-text-disabled);
  
  // Placeholder Colors
  --hi-input-placeholder-color: var(--hi-color-text-secondary);
  --hi-input-placeholder-opacity: 0.6;
  
  // Background Colors
  --hi-input-bg: transparent;
  --hi-input-bg-disabled: rgba(255, 255, 255, 0.5);
  
  // Border Colors
  --hi-input-border-color: var(--hi-color-border);
  --hi-input-border-color-focus: var(--hi-color-primary);
  --hi-input-border-color-disabled: var(--hi-border-color-disabled);
  --hi-input-border-color-error: var(--hi-color-danger);
  --hi-input-border-color-success: var(--hi-color-success);
  
  // Shadow & Glow
  --hi-input-shadow-focus: 0 0 0 2px var(--hi-color-primary), 0 0 8px var(--hi-glow-color);
  --hi-input-shadow-active: 0 0 0 2px var(--hi-color-primary), 0 0 12px var(--hi-glow-color);
  --hi-input-glow: var(--hi-glow-color);
  
  // ============================================
  // 2. Border Radius System
  // ============================================
  
  --hi-input-radius: 4px;
  
  // ============================================
  // 3. Animation System
  // ============================================
  
  // Duration
  --hi-input-duration: var(--hi-duration-fast);
  
  // Easing
  --hi-input-easing: var(--hi-ease-default);
  
  // Transition
  --hi-input-transition: all var(--hi-input-duration) var(--hi-input-easing);
  
  // ============================================
  // 4. Spacing System
  // ============================================
  
  --hi-input-padding-x: 0.75rem;
  --hi-input-padding-y: 0.5rem;
  
  // ============================================
  // 5. Border System
  // ============================================
  
  --hi-input-border-width: 1px;
  --hi-input-border-style: solid;
  
  // ============================================
  // 6. Typography System
  // ============================================
  
  --hi-input-font-size: var(--hi-font-size-sm);
  --hi-input-line-height: 1.5;
}

// ============================================
// Input Wrapper Variables
// ============================================

.hi-input-wrapper {
  // Colors
  --hi-input-wrapper-bg: transparent;
  --hi-input-wrapper-bg-focus: transparent;
  --hi-input-wrapper-border-color: var(--hi-color-border);
  --hi-input-wrapper-border-color-focus: var(--hi-color-primary);
  
  // Shadow
  --hi-input-wrapper-shadow-focus: 0 0 0 2px var(--hi-color-primary), 0 0 8px var(--hi-glow-color);
  --hi-input-wrapper-shadow-active: 0 0 0 2px var(--hi-color-primary), 0 0 12px var(--hi-glow-color);
  
  // Radius
  --hi-input-wrapper-radius: 4px;
  
  // Blur
  --hi-input-wrapper-blur: blur(4px);
}

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

.hi-input-sm,
.hi-input-wrapper-sm {
  --hi-input-font-size: var(--hi-font-size-xs);
  --hi-input-padding-x: 0.5rem;
  --hi-input-padding-y: 0.25rem;
  --hi-input-radius: 4px;
}

.hi-input-md,
.hi-input-wrapper-md {
  --hi-input-font-size: var(--hi-font-size-sm);
  --hi-input-padding-x: 0.75rem;
  --hi-input-padding-y: 0.375rem;
  --hi-input-radius: 4px;
}

.hi-input-lg,
.hi-input-wrapper-lg {
  --hi-input-font-size: var(--hi-font-size-base);
  --hi-input-padding-x: 1rem;
  --hi-input-padding-y: 0.5rem;
  --hi-input-radius: 4px;
}

// ============================================
// State Variants
// ============================================

.hi-input-error {
  --hi-input-border-color: var(--hi-color-danger);
  --hi-input-shadow-focus: 0 0 0 1px var(--hi-color-danger), 0 0 12px var(--hi-glow-color);
}

.hi-input-success {
  --hi-input-border-color: var(--hi-color-success);
  --hi-input-shadow-focus: 0 0 0 1px var(--hi-color-success), 0 0 12px var(--hi-glow-color);
}

// ============================================
// Prefix/Suffix Variables
// ============================================

.hi-input-prefix,
.hi-input-suffix {
  --hi-input-affix-color: var(--hi-color-text-secondary);
  --hi-input-affix-padding: 0 0.5rem;
  --hi-input-affix-font-size: var(--hi-font-size-sm);
  --hi-input-affix-border-color: var(--hi-color-border);
}