Class: Pajamas::AlertComponent
- Defined in:
- app/components/pajamas/alert_component.rb
Constant Summary collapse
- VARIANT_ICONS =
{ info: 'information-o', warning: 'warning', success: 'check-circle', danger: 'error', tip: 'bulb' }.freeze
Instance Method Summary collapse
- #base_class ⇒ Object
-
#initialize(title: nil, variant: :info, dismissible: true, show_icon: true, alert_options: {}, close_button_options: {}) ⇒ AlertComponent
constructor
A new instance of AlertComponent.
Constructor Details
#initialize(title: nil, variant: :info, dismissible: true, show_icon: true, alert_options: {}, close_button_options: {}) ⇒ AlertComponent
Returns a new instance of AlertComponent.
20 21 22 23 24 25 26 27 28 29 |
# File 'app/components/pajamas/alert_component.rb', line 20 def initialize( title: nil, variant: :info, dismissible: true, show_icon: true, alert_options: {}, close_button_options: {}) @title = title.presence @variant = filter_attribute(variant&.to_sym, VARIANT_ICONS.keys, default: :info) @dismissible = dismissible @show_icon = show_icon @alert_options = @close_button_options = end |
Instance Method Details
#base_class ⇒ Object
31 32 33 34 35 36 37 |
# File 'app/components/pajamas/alert_component.rb', line 31 def base_class classes = ["gl-alert-#{@variant}"] # rubocop:disable Tailwind/StringInterpolation -- Not a CSS utility class classes.push('gl-alert-not-dismissible') unless @dismissible classes.push('gl-alert-no-icon') unless @show_icon classes.push('gl-alert-has-title') if @title classes.join(' ') end |