#pragma once

namespace Theme
{
	namespace Sys
	{
		namespace StateLayerOpacity
		{
			enum class State
			{
				Hover,
				Focus,
				Pressed,
				Dragged
			};
		}
	}
}

class OpacityTokens
{
public:
	static float getValue(Theme::Sys::StateLayerOpacity::State token)
	{
		switch (token)
		{
		case Theme::Sys::StateLayerOpacity::State::Hover:
			return 0.08f;
		case Theme::Sys::StateLayerOpacity::State::Focus:
			return 0.12f;
		case Theme::Sys::StateLayerOpacity::State::Pressed:
			return 0.12f;
		case Theme::Sys::StateLayerOpacity::State::Dragged:
			return 0.16f;
		default:
			return 0.0f;
		}
	}
};
