Class: PhlexyUI::Modal
Instance Method Summary collapse
- #action(as: :div, **options) ⇒ Object
- #backdrop(**options) ⇒ Object
- #body(as: :div, **options) ⇒ Object
- #close_button ⇒ Object
-
#initialize(id:) ⇒ Modal
constructor
A new instance of Modal.
- #view_template ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(id:) ⇒ Modal
Returns a new instance of Modal.
5 6 7 8 |
# File 'lib/phlexy_ui/modal.rb', line 5 def initialize(*, id:, **) super(*, **) @id = id end |
Instance Method Details
#action(as: :div, **options) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/phlexy_ui/modal.rb', line 37 def action(*, as: :div, **, &) generate_classes!( # "modal-action" component_html_class: :"modal-action", options: ).then do |classes| public_send(as, class: classes, **, &) end end |
#backdrop(**options) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/phlexy_ui/modal.rb', line 47 def backdrop(*, **, &) generate_classes!( # "modal-backdrop" component_html_class: :"modal-backdrop", options: ).then do |classes| form method: :dialog, class: classes, ** do end end end |
#body(as: :div, **options) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/phlexy_ui/modal.rb', line 22 def body(*, as: :div, **, &) generate_classes!( # "modal-box" component_html_class: :"modal-box", options: ).then do |classes| if base_modifiers.include?(:tap_outside_to_close) public_send(as, class: classes, **, &) backdrop else public_send(as, class: classes, **, &) end end end |
#close_button ⇒ Object
59 60 61 62 63 |
# File 'lib/phlexy_ui/modal.rb', line 59 def (*, **, &) form method: :dialog do render PhlexyUI::Button.new(*, **, &) end end |
#view_template ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/phlexy_ui/modal.rb', line 10 def view_template(&) generate_classes!( # "modal" component_html_class: :modal, modifiers_map: modifiers, base_modifiers:, options: ).then do |classes| dialog(id:, class: classes, **, &) end end |