Class: Ui::Toast::Component
- Inherits:
-
BaseComponent
- Object
- BaseComponent
- Ui::Toast::Component
- Defined in:
- lib/uikit_rails/templates/components/toast/component.rb
Overview
Brief notification with optional title, description, dismiss control, auto-dismiss, and optional fixed viewport wrapper (six screen positions).
Constant Summary collapse
- VARIANTS =
i[default success destructive warning].freeze
- POSITIONS =
i[ top_left top_center top_right bottom_left bottom_center bottom_right ].freeze
Instance Attribute Summary collapse
-
#dismissible ⇒ Object
readonly
Returns the value of attribute dismissible.
-
#duration_ms ⇒ Object
readonly
Returns the value of attribute duration_ms.
-
#html_attrs ⇒ Object
readonly
Returns the value of attribute html_attrs.
-
#position ⇒ Object
readonly
Returns the value of attribute position.
-
#variant ⇒ Object
readonly
Returns the value of attribute variant.
-
#viewport_html_attrs ⇒ Object
readonly
Returns the value of attribute viewport_html_attrs.
Instance Method Summary collapse
- #duration_ms_positive? ⇒ Boolean
-
#initialize(variant: :default, dismissible: true, duration_ms: nil, position: nil, viewport_html_attrs: {}, **html_attrs) ⇒ Component
constructor
rubocop:disable Metrics/ParameterLists -- explicit keywords match ViewComponent / ERB call style.
- #needs_stimulus? ⇒ Boolean
-
#show_icon? ⇒ Boolean
rubocop:enable Metrics/ParameterLists.
- #wrap_in_viewport? ⇒ Boolean
Constructor Details
#initialize(variant: :default, dismissible: true, duration_ms: nil, position: nil, viewport_html_attrs: {}, **html_attrs) ⇒ Component
rubocop:disable Metrics/ParameterLists -- explicit keywords match ViewComponent / ERB call style
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 25 def initialize( variant: :default, dismissible: true, duration_ms: nil, position: nil, viewport_html_attrs: {}, **html_attrs ) @variant = variant.to_sym @dismissible = dismissible @duration_ms = duration_ms&.to_i @position = position.nil? ? nil : normalize_position(position) = @html_attrs = html_attrs super() end |
Instance Attribute Details
#dismissible ⇒ Object (readonly)
Returns the value of attribute dismissible.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def dismissible @dismissible end |
#duration_ms ⇒ Object (readonly)
Returns the value of attribute duration_ms.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def duration_ms @duration_ms end |
#html_attrs ⇒ Object (readonly)
Returns the value of attribute html_attrs.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def html_attrs @html_attrs end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def position @position end |
#variant ⇒ Object (readonly)
Returns the value of attribute variant.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def variant @variant end |
#viewport_html_attrs ⇒ Object (readonly)
Returns the value of attribute viewport_html_attrs.
22 23 24 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 22 def end |
Instance Method Details
#duration_ms_positive? ⇒ Boolean
55 56 57 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 55 def duration_ms_positive? !duration_ms.nil? && duration_ms.positive? end |
#needs_stimulus? ⇒ Boolean
51 52 53 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 51 def needs_stimulus? dismissible || duration_ms_positive? end |
#show_icon? ⇒ Boolean
rubocop:enable Metrics/ParameterLists
43 44 45 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 43 def show_icon? variant != :default end |
#wrap_in_viewport? ⇒ Boolean
47 48 49 |
# File 'lib/uikit_rails/templates/components/toast/component.rb', line 47 def !position.nil? end |