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

Constructor Details

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

Creates a new Divider component.

Parameters:

  • args (Array)

    Positional arguments passed to the parent class.

  • 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`



54
55
56
57
58
# File 'app/components/daisy/layout/divider_component.rb', line 54

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.



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

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

#callObject

Renders the component and its content.



70
71
72
# File 'app/components/daisy/layout/divider_component.rb', line 70

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