Class: Tramway::BadgeComponent
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- Tramway::BadgeComponent
show all
- Includes:
- ColorsMethods
- Defined in:
- app/components/tramway/badge_component.rb
Overview
Constant Summary
collapse
- DEFAULT_BADGE_CLASSES =
%w[
inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors
focus:outline-none focus:ring-2 focus:ring-zinc-400 focus:ring-offset-2 focus:ring-offset-zinc-950
].freeze
ColorsMethods::TYPE_COLOR_MAP
Instance Method Summary
collapse
#normalized_type, #resolved_color, #type_color
Instance Method Details
#accent_color_classes ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'app/components/tramway/badge_component.rb', line 49
def accent_color_classes
[
"border-#{resolved_color}-800",
"bg-#{resolved_color}-900/30",
"text-#{resolved_color}-400",
"hover:bg-#{resolved_color}-900"
]
end
|
#classes ⇒ Object
18
19
20
|
# File 'app/components/tramway/badge_component.rb', line 18
def classes
(DEFAULT_BADGE_CLASSES + color_classes).join(' ')
end
|
#color_classes ⇒ Object
22
23
24
25
26
|
# File 'app/components/tramway/badge_component.rb', line 22
def color_classes
return accent_color_classes if color.present?
mapped_color_classes || accent_color_classes
end
|
#default_color_classes ⇒ Object
37
38
39
|
# File 'app/components/tramway/badge_component.rb', line 37
def default_color_classes
%w[border-transparent bg-zinc-50 text-zinc-950 shadow hover:bg-zinc-200]
end
|
#inverse_color_classes ⇒ Object
45
46
47
|
# File 'app/components/tramway/badge_component.rb', line 45
def inverse_color_classes
%w[border-zinc-800 bg-zinc-950 text-zinc-50 shadow hover:bg-zinc-900]
end
|
#mapped_color_classes ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'app/components/tramway/badge_component.rb', line 28
def mapped_color_classes
{
default: default_color_classes,
life: default_color_classes,
secondary: secondary_color_classes,
inverse: inverse_color_classes
}[normalized_type]
end
|
#secondary_color_classes ⇒ Object
41
42
43
|
# File 'app/components/tramway/badge_component.rb', line 41
def secondary_color_classes
%w[border-transparent bg-zinc-800 text-zinc-50 shadow hover:bg-zinc-800/80]
end
|