-- zAddonFramework/zAF_Style.lua
-- Visual style constants for the zAddonFramework library.
-- Neutral defaults — override by writing into the ZAF table after this file loads.

-- ── Colors ───────────────────────────────────────────────────────────────────
-- Main panel background (the content / right-hand area).
ZAF.COLOR_PANEL_BG    = { 0, 0, 0, 0.10 }

-- WoW class colors
ZAF.CLASS_DEATHKNIGHT = { 0.77, 0.12, 0.23 }
ZAF.CLASS_DEMONHUNTER = { 0.64, 0.19, 0.79 }
ZAF.CLASS_DRUID  = { 1.0,  0.49, 0.04 }
ZAF.CLASS_EVOKER = { 0.20, 0.58, 0.50 }
ZAF.CLASS_HUNTER = { 0.67, 0.83, 0.45 }
ZAF.CLASS_MAGE   = { 0.25, 0.78, 0.92 }
ZAF.CLASS_MONK   = { 0.0,  1.0,  0.60 }
ZAF.CLASS_PALADIN= { 0.96, 0.55, 0.73 }
ZAF.CLASS_PRIEST = { 1.0,  1.0,  1.0  }
ZAF.CLASS_ROGUE  = { 1.0,  0.96, 0.41 }
ZAF.CLASS_SHAMAN = { 0.0,  0.44, 0.87 }
ZAF.CLASS_WARLOCK= { 0.53, 0.53, 0.93 }
ZAF.CLASS_WARRIOR= { 0.78, 0.61, 0.43 }

-- Default theme accent colors used when no caller-supplied theme is provided.
ZAF.DEFAULT_PRIMARY   = ZAF.CLASS_EVOKER
ZAF.DEFAULT_SECONDARY = ZAF.CLASS_PALADIN

-- Sidebar, title bar, tab strip, and status bar overlay.
ZAF.COLOR_SIDEBAR_BG  = { 0, 0, 0, 0.45 }

-- Row hover highlight.
ZAF.COLOR_ROW_HOVER   = { 1.0,  0.90, 0.65, 0.12 }

-- Outer frame border and widget edges.
ZAF.COLOR_BORDER      = { 0.35, 0.35, 0.35, 0.65 }

-- Primary label text.
ZAF.COLOR_LABEL       = { 0.90, 0.90, 0.90, 1.0  }

-- Secondary description / sub-label text.
ZAF.COLOR_DESC        = { 0.58, 0.58, 0.58, 1.0  }

-- Section header text.
ZAF.COLOR_HEADER_TEXT = { 0.85, 0.75, 0.30, 1.0  }

-- Disabled control text and icons.
ZAF.COLOR_DISABLED    = { 0.38, 0.38, 0.38, 1.0  }

-- Row frame alpha when disableWhen is active.
ZAF.DISABLED_ALPHA    = 0.40

-- Active / selected sidebar tab / nav item highlight.
ZAF.COLOR_TAB_ACTIVE  = { 0, 0, 0, 0.35 }

-- Thin horizontal separator lines inside the content area.
ZAF.COLOR_SEPARATOR   = { 0.22, 0.22, 0.22, 1.0  }

-- Alternating row stripe backgrounds.
ZAF.COLOR_ROW_STRIPE_ODD  = { 0.1, 0.1, 0.1, 0.25 }
ZAF.COLOR_ROW_STRIPE_EVEN = { 0.01, 0.01, 0.01, 0.5 }

-- 1px vertical divider between packed columns in a multi-column row.
ZAF.COLOR_COL_DIVIDER     = { 1, 1, 1, 0.04 }

-- 1px border drawn around each section block.
ZAF.COLOR_SECTION_BORDER  = { 1, 1, 1, 0.04 }

-- ── Easing functions ─────────────────────────────────────────────────────────
-- All take t in [0,1] and return an eased value in [0,1].
ZAF.EASE_LINEAR    = function(t) return t end
ZAF.EASE_QUAD_IN   = function(t) return t * t end
ZAF.EASE_QUAD_OUT  = function(t) local u = 1 - t; return 1 - u * u end
ZAF.EASE_CUBIC_IN  = function(t) return t * t * t end
ZAF.EASE_CUBIC_OUT = function(t) local u = 1 - t; return 1 - u * u * u end
ZAF.EASE_SINE_OUT  = function(t) return math.sin(t * math.pi * 0.5) end
ZAF.EASE_SINE_IN   = function(t) return 1 - math.sin((1 - t) * math.pi * 0.5) end
