Class: Daisy::Layout::DividerComponent

Inherits:
LocoMotion::BaseComponent show all
Defined in:
app/components/daisy/layout/divider_component.rb

Overview

The DividerComponent creates a visual separator between content sections, either horizontally or vertically. It can include optional text or content in the center and supports various colors to match your theme.

Common use cases include:

  • Separating sections of a page.
  • Creating visual breaks between cards or content blocks.
  • Providing alternative options with "OR" text.
  • Organizing form sections.

Constant Summary

Constants inherited from LocoMotion::BaseComponent

LocoMotion::BaseComponent::EMPTY_PART_IGNORED_TAGS, LocoMotion::BaseComponent::SELF_CLOSING_TAGS

Instance Attribute Summary

Attributes inherited from LocoMotion::BaseComponent

#config, #loco_parent

Instance Method Summary collapse

Methods inherited from LocoMotion::BaseComponent

build, #component_ref, #config_option, #cssify, define_modifier, define_modifiers, define_part, define_parts, define_size, define_sizes, #empty_part_content, #inspect, #part, register_component_initializer, register_component_setup, #rendered_css, #rendered_data, #rendered_html, #rendered_stimulus_controllers, #rendered_tag_name, renders_many, renders_one, set_component_name, #set_loco_parent, #strip_spaces

Methods included from LocoMotion::Concerns::InspectableComponent

#build_inspect_string

Constructor Details

#initialize(title = nil, **kws, &block) ⇒ DividerComponent

Creates a new Divider component.

Parameters:

  • title (String) (defaults to: nil)

    Optional divider text to display, used as fallback content when no block is given. Also settable via the title: keyword (kws[:title]); the keyword wins if both are given.

  • kws (Hash)

    Keyword arguments for customizing the divider.

Options Hash (**kws):

  • css (String)

    Additional CSS classes for styling. Common options include:

    • Orientation: divider-horizontal for vertical divider
    • Colors: divider-neutral, divider-primary, divider-secondary, divider-accent, divider-info, divider-success, divider-warning, divider-error


63
64
65
66
67
# File 'app/components/daisy/layout/divider_component.rb', line 63

def initialize(title = nil, **kws, &block)
  super

  @simple_title = config_option(:title, title)
end

Instance Method Details

#before_renderObject

Sets up the component's CSS classes.



72
73
74
# File 'app/components/daisy/layout/divider_component.rb', line 72

def before_render
  add_css(:component, "divider")
end

#callObject

Renders the component and its content.



79
80
81
# File 'app/components/daisy/layout/divider_component.rb', line 79

def call
  part(:component) { content || @simple_title }
end