Sha256: d9709dc5e97881d40649d18f255a33ad2f72b81e7a168b440b62dab99d380872

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

class Alveole::SidebarComponent < ViewComponent::Base
  renders_one :heading, Alveole::Sidebar::HeadingComponent

  renders_many :items, types: {
    item: {
      renders: lambda { |**system_arguments, &block|
        Alveole::Sidebar::ItemComponent.new(
          **system_arguments,
          &block
        )
      },

      as: :item
    },

    divider: {
      renders: Alveole::Sidebar::DividerComponent,
      as: :divider
    },

    group: {
      renders: lambda { |**system_arguments, &block|
        Alveole::Sidebar::GroupComponent.new(
          **system_arguments,
          &block
        )
      },

      as: :group
    }
  }


  def initialize(logo: nil, logo_url: nil)
    @logo = logo
    @logo_url = logo_url
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alveole-1.0.0.pre.alpha.1 app/components/alveole/sidebar_component.rb