Class: UI::Item
- Inherits:
-
Phlex::HTML
- Object
- Phlex::HTML
- UI::Item
- Includes:
- ItemBehavior, SharedAsChildBehavior
- Defined in:
- app/components/ui/item.rb
Instance Method Summary collapse
-
#initialize(variant: "default", size: "default", as_child: false, classes: "", **attributes) ⇒ Item
constructor
A new instance of Item.
- #view_template(&block) ⇒ Object
Methods included from SharedAsChildBehavior
Methods included from ItemBehavior
#item_actions_html_attributes, #item_classes, #item_content_html_attributes, #item_content_text_html_attributes, #item_description_html_attributes, #item_html_attributes, #item_media_html_attributes
Constructor Details
#initialize(variant: "default", size: "default", as_child: false, classes: "", **attributes) ⇒ Item
Returns a new instance of Item.
7 8 9 10 11 12 13 |
# File 'app/components/ui/item.rb', line 7 def initialize(variant: "default", size: "default", as_child: false, classes: "", **attributes) @variant = variant @size = size @as_child = as_child @classes = classes @attributes = attributes end |
Instance Method Details
#view_template(&block) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/components/ui/item.rb', line 15 def view_template(&block) item_attrs = item_html_attributes.merge(@attributes) if @as_child # Yield attributes to block - child element will receive them yield(item_attrs) if block_given? else # Default: render as div div(**item_attrs, &block) end end |