Class: Maglev::Uikit::BadgeComponent
- Inherits:
-
BaseComponent
- Object
- ViewComponent::Base
- BaseComponent
- Maglev::Uikit::BadgeComponent
- Defined in:
- app/components/maglev/uikit/badge_component.rb
Instance Attribute Summary collapse
-
#class_names ⇒ Object
readonly
Returns the value of attribute class_names.
-
#color ⇒ Object
readonly
Returns the value of attribute color.
-
#disappear_after ⇒ Object
readonly
Returns the value of attribute disappear_after.
-
#icon_name ⇒ Object
readonly
Returns the value of attribute icon_name.
Instance Method Summary collapse
- #badge_classes(**args) ⇒ Object
-
#initialize(color:, icon_name: nil, disappear_after: nil, class_names: nil) ⇒ BadgeComponent
constructor
A new instance of BadgeComponent.
Methods inherited from BaseComponent
Constructor Details
#initialize(color:, icon_name: nil, disappear_after: nil, class_names: nil) ⇒ BadgeComponent
Returns a new instance of BadgeComponent.
19 20 21 22 23 24 |
# File 'app/components/maglev/uikit/badge_component.rb', line 19 def initialize(color:, icon_name: nil, disappear_after: nil, class_names: nil) @color = color @icon_name = icon_name @disappear_after = disappear_after.to_f @class_names = class_names end |
Instance Attribute Details
#class_names ⇒ Object (readonly)
Returns the value of attribute class_names.
17 18 19 |
# File 'app/components/maglev/uikit/badge_component.rb', line 17 def class_names @class_names end |
#color ⇒ Object (readonly)
Returns the value of attribute color.
17 18 19 |
# File 'app/components/maglev/uikit/badge_component.rb', line 17 def color @color end |
#disappear_after ⇒ Object (readonly)
Returns the value of attribute disappear_after.
17 18 19 |
# File 'app/components/maglev/uikit/badge_component.rb', line 17 def disappear_after @disappear_after end |
#icon_name ⇒ Object (readonly)
Returns the value of attribute icon_name.
17 18 19 |
# File 'app/components/maglev/uikit/badge_component.rb', line 17 def icon_name @icon_name end |
Instance Method Details
#badge_classes(**args) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/components/maglev/uikit/badge_component.rb', line 26 def badge_classes(**args) class_variants( base: 'inline-flex items-center rounded-full px-1.5 py-0.5 text-xs font-medium gap-1', variants: { color: { green: 'bg-green-100 text-green-700', red: 'bg-red-100 text-red-700', gray: 'bg-gray-100 text-gray-700' } } ).render(**args, class: class_names) end |