Class: UI::ButtonGroupSeparator

Inherits:
Separator
  • Object
show all
Includes:
SeparatorBehavior
Defined in:
app/components/ui/button_group_separator.rb

Overview

Separator - Phlex implementation

Visually divides buttons within a button group. Extends UI::Separator with button group specific styling.

Based on shadcn/ui ButtonGroup: ui.shadcn.com/docs/components/button-group

Examples:

Basic separator

render UI::ButtonGroup.new do
  render UI::Button.new(variant: :secondary) { "Copy" }
  render UI::Separator.new
  render UI::Button.new(variant: :secondary) { "Paste" }
end

Instance Method Summary collapse

Methods included from SeparatorBehavior

#separator_classes, #separator_html_attributes

Constructor Details

#initialize(orientation: :vertical, decorative: true, classes: "", **attributes) ⇒ ButtonGroupSeparator

Returns a new instance of ButtonGroupSeparator.

Parameters:

  • orientation (Symbol, String) (defaults to: :vertical)

    Direction of the separator (:horizontal, :vertical)

  • classes (String) (defaults to: "")

    Additional CSS classes to merge

  • attributes (Hash)

    Additional HTML attributes



22
23
24
25
26
27
# File 'app/components/ui/button_group_separator.rb', line 22

def initialize(orientation: :vertical, decorative: true, classes: "", **attributes)
  @orientation = orientation
  @decorative = decorative
  @classes = classes
  @attributes = attributes
end

Instance Method Details

#view_templateObject



29
30
31
# File 'app/components/ui/button_group_separator.rb', line 29

def view_template
  div(**separator_html_attributes.deep_merge(@attributes))
end