Class: BetterUi::Breadcrumb::BreadcrumbComponent
- Inherits:
-
ApplicationComponent
- Object
- ViewComponent::Base
- ApplicationComponent
- BetterUi::Breadcrumb::BreadcrumbComponent
- Defined in:
- app/components/better_ui/breadcrumb/breadcrumb_component.rb
Overview
A breadcrumb navigation component that renders an ordered list of items with configurable separators and sizes.
This is a compound component that uses ItemComponent for individual breadcrumb items. The last item (without href) is typically rendered as the current page indicator.
Constant Summary collapse
- SEPARATORS =
Allowed separator types
i[slash chevron dot].freeze
- SIZES =
Allowed size options
i[sm md lg].freeze
Constants inherited from ApplicationComponent
ApplicationComponent::SHADOWS, ApplicationComponent::VARIANTS, ApplicationComponent::VARIANT_BODY_DIVIDE, ApplicationComponent::VARIANT_DIVIDE, ApplicationComponent::VARIANT_HEADER_BG, ApplicationComponent::VARIANT_HEADER_TEXT, ApplicationComponent::VARIANT_HIGHLIGHTED, ApplicationComponent::VARIANT_HOVERABLE, ApplicationComponent::VARIANT_RING, ApplicationComponent::VARIANT_SORT_ICON, ApplicationComponent::VARIANT_STRIPED
Instance Method Summary collapse
-
#initialize(separator: :slash, size: :md, container_classes: nil, **options) ⇒ BreadcrumbComponent
constructor
Initializes a new breadcrumb component.
-
#with_item {|item| ... } ⇒ Object
Slot for rendering breadcrumb items.
Constructor Details
#initialize(separator: :slash, size: :md, container_classes: nil, **options) ⇒ BreadcrumbComponent
Initializes a new breadcrumb component.
47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/components/better_ui/breadcrumb/breadcrumb_component.rb', line 47 def initialize( separator: :slash, size: :md, container_classes: nil, ** ) @separator = validate_separator(separator) @size = validate_size(size) @container_classes = container_classes = end |
Instance Method Details
#with_item {|item| ... } ⇒ Object
Slot for rendering breadcrumb items.
30 |
# File 'app/components/better_ui/breadcrumb/breadcrumb_component.rb', line 30 renders_many :items, BetterUi::Breadcrumb::ItemComponent |