hikari-components 0.3.12

Core UI components (buttons, inputs, tables, modals) 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: rgba(226, 232, 240, 0.8);
  --hi-card-border-color-hover: rgba(59, 130, 246, 0.3);
  --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: rgba(59, 130, 246, 0.3);
}