Class: PhlexyUI::Drawer
- Defined in:
- lib/phlexy_ui/drawer.rb
Instance Method Summary collapse
- #button ⇒ Object
- #content(as: :div, **options) ⇒ Object
-
#initialize(id:, as: :section) ⇒ Drawer
constructor
A new instance of Drawer.
- #overlay(**options) ⇒ Object
- #side(as: :div, **options) ⇒ Object
- #toggle(**options) ⇒ Object
- #view_template ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(id:, as: :section) ⇒ Drawer
Returns a new instance of Drawer.
5 6 7 8 9 |
# File 'lib/phlexy_ui/drawer.rb', line 5 def initialize(*, id:, as: :section, **) super(*, **) @as = as @id = id end |
Instance Method Details
#button ⇒ Object
63 64 65 |
# File 'lib/phlexy_ui/drawer.rb', line 63 def (*, **, &) render Button.new(*, as: :label, for: id, **, &) end |
#content(as: :div, **options) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/phlexy_ui/drawer.rb', line 33 def content(as: :div, **, &) generate_classes!( # "drawer-content" component_html_class: :"drawer-content", options: ).then do |classes| public_send(as, class: classes, **, &) end end |
#overlay(**options) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/phlexy_ui/drawer.rb', line 53 def (**, &) generate_classes!( # "drawer-overlay" component_html_class: :"drawer-overlay", options: ).then do |classes| label(for: id, class: classes, **, &) end end |
#side(as: :div, **options) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/phlexy_ui/drawer.rb', line 43 def side(as: :div, **, &) generate_classes!( # "drawer-side" component_html_class: :"drawer-side", options: ).then do |classes| public_send(as, class: classes, **, &) end end |
#toggle(**options) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/phlexy_ui/drawer.rb', line 23 def toggle(**, &) generate_classes!( # "drawer-toggle" component_html_class: :"drawer-toggle", options: ).then do |classes| input(id:, type: :checkbox, class: classes, **, &) end end |
#view_template ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/phlexy_ui/drawer.rb', line 11 def view_template(&) generate_classes!( # "drawer" component_html_class: :drawer, modifiers_map: modifiers, base_modifiers:, options: ).then do |classes| public_send(as, class: classes, **, &) end end |