Class: StimulusPlumbers::Components::Button::Renderer
- Inherits:
-
Plumber::Base
- Object
- Plumber::Base
- StimulusPlumbers::Components::Button::Renderer
- Defined in:
- lib/stimulus_plumbers/components/button/renderer.rb
Instance Attribute Summary
Attributes inherited from Plumber::Base
Instance Method Summary collapse
- #button(content = nil, url: nil, external: false, variant: :primary, size: :md, **kwargs, &block) ⇒ Object
- #group(alignment: :left, direction: :row, **kwargs, &block) ⇒ Object
Methods inherited from Plumber::Base
Methods included from Plumber::HtmlOptions
#merge_html_options, #merge_string_option, #normalize_part
Constructor Details
This class inherits a constructor from StimulusPlumbers::Components::Plumber::Base
Instance Method Details
#button(content = nil, url: nil, external: false, variant: :primary, size: :md, **kwargs, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/stimulus_plumbers/components/button/renderer.rb', line 7 def (content = nil, url: nil, external: false, variant: :primary, size: :md, **kwargs, &block) content = template.capture(&block) if block_given? = ( { classes: theme.resolve(:button, variant: variant, size: size).fetch(:classes, "") }, kwargs ) if url [:target] = "_blank" if external template.content_tag(:a, content, href: url, **) else [:type] ||= "button" template.content_tag(:button, content, **) end end |
#group(alignment: :left, direction: :row, **kwargs, &block) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/stimulus_plumbers/components/button/renderer.rb', line 23 def group(alignment: :left, direction: :row, **kwargs, &block) = ( { classes: theme.resolve(:button_group, alignment: alignment, direction: direction).fetch(:classes, "") }, kwargs ) template.content_tag(:div, template.capture(&block), **) end |